added reverse button to tables, by default on now (to see latest entries

first)
This commit is contained in:
orbiter 2014-11-02 20:30:49 +01:00
parent fceac5d2d4
commit a2b5cfb3cf
2 changed files with 15 additions and 18 deletions

View File

@ -43,30 +43,24 @@ document.write("<div id=\"api\"><a href=\"/Tables_p.xml" + window.location.searc
<form action="Tables_p.html" method="get" accept-charset="UTF-8">
<fieldset><legend>Table Selection</legend>
<dl>
<dt class="TableCellDark">Select Table:
<select name="table" onchange='this.form.submit()'>
<dt class="TableCellDark">Select Table:</dt>
<dd><select name="table" onchange='this.form.submit()'>
#{tables}#
<option value="#[name]#" #(selected)#::selected="selected"#(/selected)#>#[name]#</option>
#{/tables}#
</select>
</dt>
<dd>&nbsp;</dd>
<dt>
show max.
<select name="count" onchange='this.form.submit()'>
</dd>
<dt>show max. </dt>
<dd><select name="count" onchange='this.form.submit()'>
<option value="10">10</option>
<option value="100" selected="selected">100</option>
<option value="1000">1000</option>
<option value="all">all</option>
</select>
entries,
</dt>
<dd>&nbsp;</dd>
<dt>
search rows for
<input type="text" name="search" value="#[pattern]#" />
</dt>
<dd><input type="submit" name="edittable" value="Search" /></dd>
</select>entries,</dd>
<dt>reverse:</dt>
<dd><input type="checkbox" name="reverse" #(reverse)#::checked="check"#(/reverse)# onchange='this.form.submit()'</dd>
<dt>search rows for</dt>
<dd><input type="text" name="search" value="#[pattern]#" /><input type="submit" name="edittable" value="Search" /></dd>
</dl>
</fieldset>
</form>

View File

@ -41,7 +41,7 @@ public class Tables_p {
final serverObjects prop = new serverObjects();
final String ext = header.get("EXT", "");
final boolean json = ext.equals("json");
//final boolean json = ext.equals("json");
final boolean xml = ext.equals("xml");
prop.put("showtable", 0);
@ -64,11 +64,14 @@ public class Tables_p {
}
prop.put("showselection_tables", count);
prop.put("showselection_pattern", "");
prop.put("showselection_reverse", 1);
if (post == null) return prop; // return rewrite properties
final String counts = post.get("count", null);
int maxcount = (counts == null || counts.equals("all")) ? Integer.MAX_VALUE : post.getInt("count", 10);
final boolean reverse = post.containsKey("reverse") ? post.getBoolean("reverse") : false;
prop.put("showselection_reverse", reverse ? 1 : 0);
final String pattern = post.get("search", "");
final Pattern matcher = (pattern.isEmpty() || pattern.equals(".*")) ? null : Pattern.compile(".*" + pattern + ".*");
prop.put("pattern", pattern);
@ -164,7 +167,7 @@ public class Tables_p {
count = 0;
try {
final Iterator<Tables.Row> plainIterator = sb.tables.iterator(table, matcher);
final Iterator<Tables.Row> mapIterator = Tables.orderByPK(plainIterator, maxcount, false).iterator();
final Iterator<Tables.Row> mapIterator = Tables.orderByPK(plainIterator, maxcount, reverse).iterator();
Tables.Row row;
boolean dark = true;
byte[] cell;