package org.dcache.webadmin.view.pages.basepage;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.markup.head.OnLoadHeaderItem;
import org.apache.wicket.markup.html.form.Form;
import java.util.concurrent.TimeUnit;
public abstract class SortableBasePage extends BasePage {
public static final String FILTER_EVENT = "row-filter-change";
private static final long serialVersionUID = 4235195090469174433L;
/**
* Sortable mark-up depends on class (.) = sortable.
*/
@Override
protected void renderHeadInternal(IHeaderResponse response) {
super.renderHeadInternal(response);
response.render(JavaScriptHeaderItem.forUrl("js/picnet.table.filter.full.js"));
response.render(JavaScriptHeaderItem.forUrl("js/jquery.tablesorter.min.js"));
}
protected void addFilterSelectScript(String id, IHeaderResponse response) {
StringBuilder script = new StringBuilder();
script.append("picnet.ui.filter.GenericListFilterOptions.prototype['enableCookies']")
.append( " = false;\n")
.append("$('.sortable-" + id + "').tablesorter();\n")
.append("var options1 = {\n")
.append(" additionalFilterTriggers: [$('.quickfind-" + id + "')],\n")
.append(" clearFiltersControls: [$('.cleanfilters-" + id + "')],\n")
.append(" filteredRows: function() {\n")
.append(" $(document).trigger('row-filter-change');\n")
.append(" }\n")
.append("}\n")
.append("$('.sortable-" + id + "').tableFilter(options1);\n");
response.render(OnLoadHeaderItem.forScript(script.toString()));
}
@Override
protected void addAutoRefreshToForm(Form<?> form,
long refresh,
TimeUnit unit) {
_log.info("addAutoRefreshToForm not supported for SortableBasePage {}.",
this);
}
}