From 9829184c5f941fd32d9d6c351dbdd113f00d352d Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Mon, 29 Aug 2016 17:16:22 +0500 Subject: Implemented "Configure" dialog for reports --- web/app/view/Report.js | 41 ++--------------------------------------- 1 file changed, 2 insertions(+), 39 deletions(-) (limited to 'web/app/view/Report.js') diff --git a/web/app/view/Report.js b/web/app/view/Report.js index 2ce9137ee..161ac4c64 100644 --- a/web/app/view/Report.js +++ b/web/app/view/Report.js @@ -41,45 +41,8 @@ Ext.define('Traccar.view.Report', { change: 'onTypeChange' } }, '-', { - xtype: 'tbtext', - html: Strings.reportDevice - }, { - xtype: 'tagfield', - maxWidth: Traccar.Style.maxTagfieldWidth, - growMax: Traccar.Style.maxTagfieldGrow, - reference: 'deviceField', - store: 'Devices', - valueField: 'id', - displayField: 'name', - queryMode: 'local' - }, '-', { - xtype: 'tbtext', - html: Strings.reportFrom - }, { - xtype: 'datefield', - reference: 'fromDateField', - startDay: Traccar.Style.weekStartDay, - format: Traccar.Style.dateFormat, - value: new Date(new Date().getTime() - 30 * 60 * 1000) - }, { - xtype: 'customTimeField', - reference: 'fromTimeField', - maxWidth: Traccar.Style.reportTime, - value: new Date(new Date().getTime() - 30 * 60 * 1000) - }, '-', { - xtype: 'tbtext', - html: Strings.reportTo - }, { - xtype: 'datefield', - reference: 'toDateField', - startDay: Traccar.Style.weekStartDay, - format: Traccar.Style.dateFormat, - value: new Date() - }, { - xtype: 'customTimeField', - reference: 'toTimeField', - maxWidth: Traccar.Style.reportTime, - value: new Date() + text: Strings.reportConfigure, + handler: 'onConfigureClick' }, '-', { text: Strings.reportShow, reference: 'showButton', -- cgit v1.2.3 From a09d2276f093504f8ab07bfadf0fbb3854ce5292 Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Tue, 30 Aug 2016 09:02:21 +0500 Subject: Disable buttons if report not configured --- web/app/view/Report.js | 2 ++ web/app/view/ReportConfigController.js | 1 + web/app/view/ReportController.js | 11 +++++++++++ 3 files changed, 14 insertions(+) (limited to 'web/app/view/Report.js') diff --git a/web/app/view/Report.js b/web/app/view/Report.js index 161ac4c64..02513c05f 100644 --- a/web/app/view/Report.js +++ b/web/app/view/Report.js @@ -46,10 +46,12 @@ Ext.define('Traccar.view.Report', { }, '-', { text: Strings.reportShow, reference: 'showButton', + disabled: true, handler: 'onReportClick' }, { text: Strings.reportCsv, reference: 'csvButton', + disabled: true, handler: 'onReportClick' }, { text: Strings.reportClear, diff --git a/web/app/view/ReportConfigController.js b/web/app/view/ReportConfigController.js index 2ee68ea9f..d98690e95 100644 --- a/web/app/view/ReportConfigController.js +++ b/web/app/view/ReportConfigController.js @@ -54,6 +54,7 @@ Ext.define('Traccar.view.ReportConfigController', { this.getView().callingPanel.fromTime = this.lookupReference('fromTimeField').getValue(); this.getView().callingPanel.toDate = this.lookupReference('toDateField').getValue(); this.getView().callingPanel.toTime = this.lookupReference('toTimeField').getValue(); + this.getView().callingPanel.updateButtons(); button.up('window').close(); } }); diff --git a/web/app/view/ReportController.js b/web/app/view/ReportController.js index 0247c96a9..6f998396c 100644 --- a/web/app/view/ReportController.js +++ b/web/app/view/ReportController.js @@ -60,6 +60,15 @@ Ext.define('Traccar.view.ReportController', { dialog.show(); }, + updateButtons: function () { + var reportType, disabled, devices; + reportType = this.lookupReference('reportTypeField').getValue(); + devices = this.deviceId && this.deviceId.length !== 0 || this.groupId && this.groupId.length !== 0; + disabled = !reportType || !devices; + this.lookupReference('showButton').setDisabled(disabled); + this.lookupReference('csvButton').setDisabled(disabled); + }, + onReportClick: function (button) { var reportType, from, to, store, url; @@ -324,6 +333,8 @@ Ext.define('Traccar.view.ReportController', { } else if (newValue === 'trips') { this.getView().reconfigure('ReportTrips', tripsColumns); } + + this.updateButtons(); } }); -- cgit v1.2.3 From 85a30079e6ef125376e9e661f6749a000ed6103b Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Tue, 30 Aug 2016 15:36:02 +0500 Subject: Fix missed import --- web/app/view/Report.js | 3 +-- web/app/view/ReportConfigDialog.js | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'web/app/view/Report.js') diff --git a/web/app/view/Report.js b/web/app/view/Report.js index 02513c05f..7e77ef4f4 100644 --- a/web/app/view/Report.js +++ b/web/app/view/Report.js @@ -19,8 +19,7 @@ Ext.define('Traccar.view.Report', { xtype: 'reportView', requires: [ - 'Traccar.view.ReportController', - 'Traccar.view.CustomTimeField' + 'Traccar.view.ReportController' ], controller: 'report', diff --git a/web/app/view/ReportConfigDialog.js b/web/app/view/ReportConfigDialog.js index 70effdaa0..547bd2975 100644 --- a/web/app/view/ReportConfigDialog.js +++ b/web/app/view/ReportConfigDialog.js @@ -19,7 +19,8 @@ Ext.define('Traccar.view.ReportConfigDialog', { extend: 'Traccar.view.BaseDialog', requires: [ - 'Traccar.view.ReportConfigController' + 'Traccar.view.ReportConfigController', + 'Traccar.view.CustomTimeField' ], controller: 'reportConfigDialog', -- cgit v1.2.3