From 7549a78f785edf092099b42a015e4e556bb480b9 Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Fri, 30 Dec 2016 13:51:02 +0500 Subject: Add option to not show report markers --- web/app/view/MapMarkerController.js | 20 +++++++++++--------- web/app/view/ReportConfigController.js | 3 ++- web/app/view/ReportConfigDialog.js | 7 +++++++ web/app/view/ReportController.js | 6 ++++++ 4 files changed, 26 insertions(+), 10 deletions(-) (limited to 'web/app') diff --git a/web/app/view/MapMarkerController.js b/web/app/view/MapMarkerController.js index 907451b6..2b447600 100644 --- a/web/app/view/MapMarkerController.js +++ b/web/app/view/MapMarkerController.js @@ -240,15 +240,17 @@ Ext.define('Traccar.view.MapMarkerController', { maxx = Math.max(point[0], maxx); maxy = Math.max(point[1], maxy); } - geometry = new ol.geom.Point(point); - marker = new ol.Feature(geometry); - marker.set('record', position); - style = this.getReportMarker(position.get('deviceId'), position.get('course')); - /*style.getText().setText( - Ext.Date.format(position.get('fixTime'), Traccar.Style.dateTimeFormat24));*/ - marker.setStyle(style); - this.reportMarkers[position.get('id')] = marker; - this.getView().getMarkersSource().addFeature(marker); + if (store.showMarkers !== false) { + geometry = new ol.geom.Point(point); + marker = new ol.Feature(geometry); + marker.set('record', position); + style = this.getReportMarker(position.get('deviceId'), position.get('course')); + /*style.getText().setText( + Ext.Date.format(position.get('fixTime'), Traccar.Style.dateTimeFormat24));*/ + marker.setStyle(style); + this.reportMarkers[position.get('id')] = marker; + this.getView().getMarkersSource().addFeature(marker); + } } if (minx !== maxx || miny !== maxy) { this.getView().getMapView().fit([minx, miny, maxx, maxy], this.getView().getMap().getSize()); diff --git a/web/app/view/ReportConfigController.js b/web/app/view/ReportConfigController.js index f76a0820..955b2e96 100644 --- a/web/app/view/ReportConfigController.js +++ b/web/app/view/ReportConfigController.js @@ -57,8 +57,9 @@ Ext.define('Traccar.view.ReportConfigController', { } else if (eventType.length === this.lookupReference('eventTypeField').getStore().getCount() - 1) { eventType = [Traccar.store.ReportEventTypes.allEvents]; } - this.getView().callingPanel.chartType = this.lookupReference('chartTypeField').getValue(); this.getView().callingPanel.eventType = eventType; + this.getView().callingPanel.chartType = this.lookupReference('chartTypeField').getValue(); + this.getView().callingPanel.showMarkers = this.lookupReference('showMarkersField').getValue(); this.getView().callingPanel.fromDate = this.lookupReference('fromDateField').getValue(); this.getView().callingPanel.fromTime = this.lookupReference('fromTimeField').getValue(); this.getView().callingPanel.toDate = this.lookupReference('toDateField').getValue(); diff --git a/web/app/view/ReportConfigDialog.js b/web/app/view/ReportConfigDialog.js index d9cf8471..8d42334b 100644 --- a/web/app/view/ReportConfigDialog.js +++ b/web/app/view/ReportConfigDialog.js @@ -66,6 +66,13 @@ Ext.define('Traccar.view.ReportConfigDialog', { valueField: 'key', displayField: 'name', queryMode: 'local' + }, { + fieldLabel: Strings.reportShowMarkers, + xtype: 'checkbox', + reference: 'showMarkersField', + inputValue: true, + uncheckedValue: false, + value: true }, { xtype: 'fieldcontainer', layout: 'hbox', diff --git a/web/app/view/ReportController.js b/web/app/view/ReportController.js index 0064c5b8..d53abed7 100644 --- a/web/app/view/ReportController.js +++ b/web/app/view/ReportController.js @@ -79,6 +79,9 @@ Ext.define('Traccar.view.ReportController', { if (this.chartType !== undefined) { dialog.lookupReference('chartTypeField').setValue(this.chartType); } + if (this.showMarkers !== undefined) { + dialog.lookupReference('showMarkersField').setValue(this.showMarkers); + } if (this.fromDate !== undefined) { dialog.lookupReference('fromDateField').setValue(this.fromDate); } @@ -125,6 +128,7 @@ Ext.define('Traccar.view.ReportController', { } else { store = this.getGrid().getStore(); } + store.showMarkers = this.showMarkers; store.load({ params: { deviceId: this.deviceId, @@ -207,6 +211,7 @@ Ext.define('Traccar.view.ReportController', { from = new Date(trip.get('startTime')); to = new Date(trip.get('endTime')); Ext.getStore('ReportRoute').removeAll(); + Ext.getStore('ReportRoute').showMarkers = this.showMarkers; Ext.getStore('ReportRoute').load({ params: { deviceId: trip.get('deviceId'), @@ -243,6 +248,7 @@ Ext.define('Traccar.view.ReportController', { scope: this, callback: function (records, operation, success) { if (success) { + Ext.getStore('ReportRoute').showMarkers = this.showMarkers; Ext.getStore('ReportRoute').add(records); if (records.length === 1) { this.fireEvent('selectreport', records[0], false); -- cgit v1.2.3