[PATCH 3/3] ui-stats.c: create a control panel for stat options
Lars Hjemli
hjemli at gmail.com
Mon Mar 7 00:00:24 CET 2011
Signed-off-by: Lars Hjemli <hjemli at gmail.com>
---
ui-stats.c | 51 +++++++++++++++++++++++++++------------------------
1 files changed, 27 insertions(+), 24 deletions(-)
diff --git a/ui-stats.c b/ui-stats.c
index 2a0c174..36e17d9 100644
--- a/ui-stats.c
+++ b/ui-stats.c
@@ -386,6 +386,33 @@ void cgit_show_stats(struct cgit_context *ctx)
top = ctx->qry.ofs;
if (!top)
top = 10;
+
+ html("<div class='cgit-panel'>");
+ html("<b>stat options</b>");
+ html("<form method='get' action=''>");
+ cgit_add_hidden_formfields(1, 0, "stats");
+ html("<table><tr><td colspan='2'/></tr>");
+ if (ctx->repo->max_stats > 1) {
+ html("<tr><td class='label'>Period:</td>");
+ html("<td class='ctrl'><select name='period' onchange='this.form.submit();'>");
+ for (i = 0; i < ctx->repo->max_stats; i++)
+ html_option(fmt("%c", periods[i].code),
+ periods[i].name, fmt("%c", period->code));
+ html("</select></td></tr>");
+ }
+ html("<tr><td class='label'>Authors:</td>");
+ html("<td class='ctrl'><select name='ofs' onchange='this.form.submit();'>");
+ html_intoption(10, "10", top);
+ html_intoption(25, "25", top);
+ html_intoption(50, "50", top);
+ html_intoption(100, "100", top);
+ html_intoption(-1, "all", top);
+ html("</select></td><tr>");
+ html("<tr><td/><td class='ctrl'>");
+ html("<noscript><input type='submit' value='Reload'/></noscript>");
+ html("</td></tr></table>");
+ html("</form>");
+ html("</div>");
htmlf("<h2>Commits per author per %s", period->name);
if (ctx->qry.path) {
html(" (path '");
@@ -393,30 +420,6 @@ void cgit_show_stats(struct cgit_context *ctx)
html("')");
}
html("</h2>");
-
- html("<form method='get' action='' style='float: right; text-align: right;'>");
- cgit_add_hidden_formfields(1, 0, "stats");
- if (ctx->repo->max_stats > 1) {
- html("Period: ");
- html("<select name='period' onchange='this.form.submit();'>");
- for (i = 0; i < ctx->repo->max_stats; i++)
- htmlf("<option value='%c'%s>%s</option>",
- periods[i].code,
- period == &periods[i] ? " selected" : "",
- periods[i].name);
- html("</select><br/><br/>");
- }
- html("Authors: ");
- html("");
- html("<select name='ofs' onchange='this.form.submit();'>");
- htmlf("<option value='10'%s>10</option>", top == 10 ? " selected" : "");
- htmlf("<option value='25'%s>25</option>", top == 25 ? " selected" : "");
- htmlf("<option value='50'%s>50</option>", top == 50 ? " selected" : "");
- htmlf("<option value='100'%s>100</option>", top == 100 ? " selected" : "");
- htmlf("<option value='-1'%s>All</option>", top == -1 ? " selected" : "");
- html("</select>");
- html("<noscript> <input type='submit' value='Reload'/></noscript>");
- html("</form>");
print_authors(&authors, top, period);
}
--
1.7.1
More information about the CGit
mailing list