Ext.namespace("audit"); audit.application = { init: function () { var loadMaskAudit = new Ext.LoadMask(Ext.getBody(), {msg: _("ID_LOADING_GRID")}); auditLogAjax = function (option) { var p; switch (option) { case "EMPTY": p = { "option": option }; break; } Ext.Ajax.request({ url: "auditLogAjax", method: "POST", params: p, success: function (response, opts) { var dataResponse = eval("(" + response.responseText + ")"); //json switch (option) { case "EMPTY": if (dataResponse.status && dataResponse.status == "OK") { pagingAudit.moveFirst(); } break; } } }); } logView = function () { var record = grdpnlMain.getSelectionModel().getSelected(); if (typeof record != "undefined") { var strData = "" + _("ID_DATE_LABEL") + "
" + record.get("DATE") + "
"; strData = strData + "" + _("ID_USER") + "
" + record.get("WORKSPACE") + "
"; strData = strData + "" + _("ID_IP") + "
" + record.get("IP") + "
"; strData = strData + "" + _("ID_ACTION") + "
" + record.get("ACTION") + "
"; strData = strData + "" + _("ID_DESCRIPTION") + "
" + record.get("DESCRIPTION") + "
"; var formItems = Ext.getCmp("frmLogView").form.items; formItems.items[0].setValue(strData); } } var pageSize = parseInt(CONFIG.pageSize); var storeAudit = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({ url: "auditLogAjax", method: "POST" }), reader: new Ext.data.JsonReader({ root: "resultRoot", totalProperty: "resultTotal", fields: [ {name: "DATE"}, {name: "USER"}, {name: "IP"}, {name: "ACTION"}, {name: "DESCRIPTION"} ] }), listeners: { beforeload: function (store) { loadMaskAudit.show(); this.baseParams = { "option": "LST", "pageSize": pageSize, "description": Ext.getCmp("fldDescription").getValue(), "dateFrom": Ext.getCmp("dateFrom").getValue(), "dateTo": Ext.getCmp("dateTo").getValue() }; }, load: function (store, record, opt) { loadMaskAudit.hide(); } } }); var storePageSize = new Ext.data.SimpleStore({ fields: ["size"], data: [["20"], ["30"], ["40"], ["50"], ["100"]], autoLoad: true }); var dateFrom = new Ext.form.DateField({ id: "dateFrom", format: "Y-m-d", editable: false, width: 90, value: "" }); var dateTo = new Ext.form.DateField({ id: "dateTo", format: "Y-m-d", editable: false, width: 90, value: "" }); var fldDescription = new Ext.form.TextField({ id: "fldDescription", valueField: "id", displayField: "value", emptyText: _('ID_ENTER_SEARCH_TERM'), value: "", triggerAction: "all", mode: "local", editable: false, width: 150 }); var cboPageSize = new Ext.form.ComboBox({ id: "cboPageSize", mode: "local", triggerAction: "all", store: storePageSize, valueField: "size", displayField: "size", width: 50, editable: false, listeners: { select: function (combo, record, index) { pageSize = parseInt(record.data["size"]); pagingAudit.pageSize = pageSize; pagingAudit.moveFirst(); } } }); var pagingAudit = new Ext.PagingToolbar({ id: "pagingAudit", pageSize: pageSize, store: storeAudit, displayInfo: true, displayMsg: _("ID_CRON_GRID_PAGE_DISPLAYING_MESSAGE"), emptyMsg: _("ID_NO_RECORDS_FOUND"), items: ["-", _("ID_PAGE_SIZE") + " ", cboPageSize] }); var cmodel = new Ext.grid.ColumnModel({ defaults: { width: 50, sortable: true }, columns: [ {id: "ID", dataIndex: "DATE", hidden: true, hideable: false}, {header: _("ID_DATE_LABEL"), dataIndex: "DATE", width: 15}, {header: _("ID_USER"), dataIndex: "USER", width: 15}, {header: _("ID_IP"), dataIndex: "IP", width: 10}, {header: _("ID_ACTION"), dataIndex: "ACTION", width: 15}, {header: _("ID_DESCRIPTION"), dataIndex: "DESCRIPTION"} ] }); var smodel = new Ext.grid.RowSelectionModel({ singleSelect: true, listeners: { rowselect: function (sm) { }, rowdeselect: function (sm) { } } }); var grdpnlMain = new Ext.grid.GridPanel({ id: "grdpnlMain", store: storeAudit, colModel: cmodel, selModel: smodel, columnLines: true, viewConfig: {forceFit: true}, enableColumnResize: true, enableHdMenu: false, tbar: [ "->", {xtype: "tbtext", text: _("ID_DESCRIPTION") + " "}, fldDescription, "-", {xtype: "tbtext", text: _("ID_FROM") + " "}, dateFrom, {xtype: "tbtext", text: _("ID_TO") + " "}, dateTo, { xtype: "button", text: _("ID_RESET_FILTERS"), handler: function () { Ext.getCmp("dateFrom").reset(), Ext.getCmp("dateTo").reset(), Ext.getCmp("fldDescription").reset() } }, "-", { xtype: "button", text: _("ID_SEARCH"), handler: function () { pagingAudit.moveFirst(); } } ], bbar: pagingAudit, border: false, title: _("ID_AUDIT_LOG_ACTIONS"), listeners: { rowdblclick: function () { logView(); } } }); storeAudit.load(); cboPageSize.setValue(pageSize); var viewport = new Ext.Viewport({ layout: "fit", autoScroll: false, items: [grdpnlMain] }); } } Ext.onReady(audit.application.init, audit.application);