private Map<String, Object> getASOMap() { Map<String, Object> result = (Map<String, Object>) request.getAttribute(ASO_MAP_ATTRIBUTE); if (result == null) { result = CollectionFactory.newMap(); request.setAttribute(ASO_MAP_ATTRIBUTE, result); } return result; }
void setupRender() { request.setAttribute(InternalConstants.SUPPRESS_CORE_STYLESHEETS, true); }
void beginRender(MarkupWriter writer) { String clientId = getClientId(); writer.element("table", "id", clientId); writer.end(); writer.element("div", "id", "pager" + clientId); writer.end(); JSONObject setup = new JSONObject(); setup.put("field", clientId); /*url:'server.php?q=2', datatype: "json",*/ JSONObject jqgridParams = new JSONObject(); jqgridParams.put("url", resources.createEventLink("data").toAbsoluteURI()); jqgridParams.put("datatype", "json"); // colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'], JSONArray colNames = new JSONArray(); List<String> names = getDataModel().getPropertyNames(); for (String name : names) colNames.put(name); jqgridParams.put("colNames", colNames); /*colModel:[ {name:'id',index:'id', width:55}, {name:'invdate',index:'invdate', width:90}, {name:'name',index:'name', width:100}, {name:'amount',index:'amount', width:80, align:"right"}, {name:'tax',index:'tax', width:80, align:"right"}, {name:'total',index:'total', width:80,align:"right"}, {name:'note',index:'note', width:150, sortable:false} ],*/ JSONArray colModel = new JSONArray(); for (String name : names) { JSONObject model = new JSONObject(); model.put("name", name); model.put("index", name); model.put("width", 100); colModel.put(model); // is this column sorted? if (sortAscending != null) { ColumnSort colSort = getSortModel().getColumnSort(name); if (colSort != ColumnSort.UNSORTED) { // sortname: 'id', jqgridParams.put("sortname", name); // sortorder: "desc", if (colSort == ColumnSort.ASCENDING) jqgridParams.put("sortorder", "asc"); else jqgridParams.put("sortorder", "dsc"); } } } jqgridParams.put("colModel", colModel); // rowNum:10, jqgridParams.put("rowNum", rowsPerPage); // rowList:[10,20,30], // pager: '#pager5', jqgridParams.put("pager", "#pager" + clientId); // viewrecords: true, // caption:"Simple data manipulation", jqgridParams.put("caption", "Simple data manipulation"); // editurl:"someurl.php" jqgridParams.put("editurl", resources.createEventLink("edit").toAbsoluteURI()); jqgridParams .put("sortable", true) .put("viewrecords", true) .put("rowList", new JSONLiteral("[5,10,15]")); JQueryUtils.merge(jqgridParams, additionalParams); setup.put("params", jqgridParams); if (request.getAttribute(LOCALIZATION_CONFIGURED_FLAG) == null) { JSONObject spec = new JSONObject(); request.setAttribute(LOCALIZATION_CONFIGURED_FLAG, true); } support.addInitializerCall("jqGrid", setup); }