Ext.namespace("cron"); cron.application = { init: function () { var loadMaskCron = new Ext.LoadMask(Ext.getBody(), {msg: _("ID_LOADING_GRID")}); cronProcessAjax = function (option) { var p; switch (option) { case "EMPTY": p = { "option": option }; break; } Ext.Ajax.request({ url: "cronAjax", method: "POST", params: p, success: function (response, opts) { var dataResponse = eval("(" + response.responseText + ")"); //json switch (option) { case "EMPTY": if (dataResponse.status && dataResponse.status == "OK") { pagingCron.moveFirst(); } break; } }, failure: function (response, opts) { // } }); } infoView = function () { var strData = "" + _("ID_CRON_INFO") + "
"; strData = strData + "" + _("ID_STATUS") + ": " + CRON.status + "
"; strData = strData + "" + _("ID_EVENT_LAST_EXECUTION_DATE") + ": " + CRON.lastExecution + "

"; strData = strData + "" + _("ID_LOG_INFO") + " (" + CRON.fileLogName + ")
"; strData = strData + "" + _("ID_FILENAME") + ": " + CRON.fileLogName + "
"; strData = strData + "" + _("ID_SIZE") + ": " + CRON.fileLogSize + " MB
"; strData = strData + "" + _("ID_PATH") + ": " + CRON.fileLogPath + "
"; var formItems = Ext.getCmp("frmInfoView").form.items; formItems.items[0].setValue(strData); winInfo.show(); } logView = function () { var record = grdpnlMain.getSelectionModel().getSelected(); if (typeof record != "undefined") { var strData = "" + _("ID_DATE_LABEL") + "
" + record.get("DATE") + "
"; strData = strData + "" + _("ID_ACTION") + "
" + record.get("ACTION") + "
"; strData = strData + "" + _("ID_STATUS") + "
" + record.get("STATUS") + "
"; strData = strData + "" + _("ID_DESCRIPTION") + "
" + record.get("DESCRIPTION") + "
"; var formItems = Ext.getCmp("frmLogView").form.items; formItems.items[0].setValue(strData); winLog.show(); } } //Variables var pageSize = parseInt(CONFIG.pageSize); var expander = new Ext.ux.grid.RowExpander({ tpl: new Ext.Template( "" + _("ID_DESCRIPTION") + "
{DESCRIPTION}" ) }); //Stores var storeCron = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({ url: "cronAjax", method: "POST" }), reader: new Ext.data.JsonReader({ root: "resultRoot", totalProperty: "resultTotal", fields: [ {name: "DATE"}, {name: "ACTION"}, {name: "STATUS"}, {name: "DESCRIPTION"} ] }), //autoLoad: true, //First call listeners: { beforeload: function (store) { loadMaskCron.show(); this.baseParams = { "option": "LST", "pageSize": pageSize, "status": Ext.getCmp("cboStatus").getValue(), "dateFrom": Ext.getCmp("dateFrom").getValue(), "dateTo": Ext.getCmp("dateTo").getValue() }; //btnView.setDisabled(true); }, load: function (store, record, opt) { loadMaskCron.hide(); } } }); var storeStatus = new Ext.data.ArrayStore({ idIndex: 0, fields: ["id", "value"], data: STATUS }); var storePageSize = new Ext.data.SimpleStore({ fields: ["size"], data: [["20"], ["30"], ["40"], ["50"], ["100"]], autoLoad: true }); //Components 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 cboStatus = new Ext.form.ComboBox({ id: "cboStatus", valueField: "id", displayField: "value", value: "ALL", store: storeStatus, triggerAction: "all", mode: "local", editable: false, width: 90, listeners: { select: function (combo, record, index) { pagingCron.moveFirst(); } } }); 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"]); pagingCron.pageSize = pageSize; pagingCron.moveFirst(); } } }); var btnInfoView = new Ext.Action({ id: "btnInfoView", text: _("ID_CRON_INFO"), iconCls: "button_menu_ext ss_sprite ss_zoom", handler: function () { infoView(); } }); var btnLogClear = new Ext.Action({ id: "btnLogClear", text: _("ID_CLEAR_LOG"), iconCls: "button_menu_ext ss_sprite ss_bin_empty", handler: function () { Ext.MessageBox.confirm( _("ID_CONFIRM"), _("ID_CRON_LOG_CLEAR"), function (btn, text) { if (btn == "yes") { cronProcessAjax("EMPTY"); } } ); } }); /* var btnView = new Ext.Action({ id: "btnView", text: _("ID_VIEW"), iconCls: "button_menu_ext ss_sprite ss_zoom", disabled: true, handler: function () { logView(); } }); */ var pagingCron = new Ext.PagingToolbar({ id: "pagingCron", pageSize: pageSize, store: storeCron, displayInfo: true, displayMsg: _("ID_CRON_GRID_PAGE_DISPLAYING_MESSAGE"), emptyMsg: _("ID_NO_RECORDS_FOUND"), items: ["-", _("ID_PAGE_SIZE") + " ", cboPageSize] }); var renderStatus = function(val) { if (/^(action|timereventcron)$/i.test(val)) { return _('ID_COMPLETED'); } else { return _('ID_FAILED'); } }; var cmodel = new Ext.grid.ColumnModel({ defaults: { width: 50, sortable: true }, columns: [ expander, {id: "ID", dataIndex: "DATE", hidden: true, hideable: false}, {header: _("ID_DATE_LABEL"), dataIndex: "DATE", width: 10, align: "center"}, {header: _("ID_ACTION"), dataIndex: "ACTION", width: 10}, {header: _("ID_STATUS"), dataIndex: "STATUS", width: 7, align: "center", renderer: renderStatus}, {header: _("ID_DESCRIPTION"), dataIndex: "DESCRIPTION"} ] }); var smodel = new Ext.grid.RowSelectionModel({ singleSelect: true, listeners: { rowselect: function (sm) { //btnView.setDisabled(false); }, rowdeselect: function (sm) { //btnView.setDisabled(true); } } }); var winInfo = new Ext.Window({ layout: "fit", width: 500, height: 250, title: _("ID_CRON_INFO"), modal: true, closeAction: "hide", items: [ new Ext.FormPanel({ id: "frmInfoView", frame: true, labelAlign: "right", labelWidth: 1, autoWidth: true, //height: 395, autoScroll: true, items: [ { xtype: "displayfield", fieldLabel: "" } ] }) ] }); var winLog = new Ext.Window({ layout: "fit", width: 500, height: 250, title: "", modal: true, closeAction: "hide", items: [ new Ext.FormPanel({ id: "frmLogView", frame: true, labelAlign: "right", labelWidth: 1, autoWidth: true, //height: 395, autoScroll: true, items: [ { xtype: "displayfield", fieldLabel: "" } ] }) ] }); var grdpnlMain = new Ext.grid.GridPanel({ id: "grdpnlMain", store: storeCron, colModel: cmodel, selModel: smodel, columnLines: true, viewConfig: {forceFit: true}, enableColumnResize: true, enableHdMenu: false, plugins: expander, tbar: [ {xtype: "tbtext", text: _("ID_CRON_STATUS") + ": "}, {xtype: "tbtext", html: "" + CRON.status + ""}, "-", btnInfoView, btnLogClear, //"-", //btnView, "->", "-", {xtype: "tbtext", text: _("ID_STATUS") + " "}, cboStatus, "-", {xtype: "tbtext", text: _("ID_FROM") + " "}, dateFrom, " ", {xtype: "tbtext", text: _("ID_TO") + " "}, dateTo, " ", { xtype: "button", text: _("ID_FILTER"), handler: function () { pagingCron.moveFirst(); } }, " ", { xtype: "button", text: _("ID_RESET_DATES"), handler: function () { Ext.getCmp("dateFrom").reset(), Ext.getCmp("dateTo").reset() } } ], bbar: pagingCron, border: false, title: _("ID_CRON_ACTIONS_LOG"), listeners: { rowdblclick: function () { logView(); } } }); //Initialize events storeCron.load(); cboPageSize.setValue(pageSize); //Load all panels var viewport = new Ext.Viewport({ layout: "fit", autoScroll: false, items: [grdpnlMain] }); } } Ext.onReady(cron.application.init, cron.application);