aboutsummaryrefslogtreecommitdiff
path: root/web/app/view
diff options
context:
space:
mode:
Diffstat (limited to 'web/app/view')
-rw-r--r--web/app/view/MapMarkerController.js11
-rw-r--r--web/app/view/ReportController.js55
2 files changed, 34 insertions, 32 deletions
diff --git a/web/app/view/MapMarkerController.js b/web/app/view/MapMarkerController.js
index 71a1583..596cffb 100644
--- a/web/app/view/MapMarkerController.js
+++ b/web/app/view/MapMarkerController.js
@@ -31,7 +31,8 @@ Ext.define('Traccar.view.MapMarkerController', {
controller: {
'*': {
selectdevice: 'selectDevice',
- selectreport: 'selectReport'
+ selectreport: 'selectReport',
+ showsingleevent: 'showSingleEvent'
}
},
store: {
@@ -65,6 +66,10 @@ Ext.define('Traccar.view.MapMarkerController', {
this.liveRouteLength = Traccar.app.getAttributePreference('web.liveRouteLength', 10);
},
+ showSingleEvent: function () {
+ this.singleEvent = true;
+ },
+
getDeviceColor: function (device) {
switch (device.get('status')) {
case 'online':
@@ -248,9 +253,9 @@ Ext.define('Traccar.view.MapMarkerController', {
} else if (geometry) {
this.getView().getMapView().fit(geometry, this.getView().getMap().getSize());
}
- if (Traccar.app.hasEventId) {
+ if (this.singleEvent) {
+ this.singleEvent = false;
this.fireEvent('selectreport', data[0], false);
- Traccar.app.hasEventId = false;
}
},
diff --git a/web/app/view/ReportController.js b/web/app/view/ReportController.js
index 32a44df..e1a64e6 100644
--- a/web/app/view/ReportController.js
+++ b/web/app/view/ReportController.js
@@ -32,7 +32,8 @@ Ext.define('Traccar.view.ReportController', {
listen: {
controller: {
'*': {
- selectdevice: 'selectDevice'
+ selectdevice: 'selectDevice',
+ showsingleevent: 'showSingleEvent'
},
'map': {
selectreport: 'selectReport'
@@ -47,25 +48,6 @@ Ext.define('Traccar.view.ReportController', {
}
},
- init: function () {
- var eventId = Ext.Object.fromQueryString(window.location.search).eventId;
- if (eventId) {
- this.lookupReference('reportTypeField').setValue('events');
- Ext.getStore('Events').load({
- params: {
- id: eventId
- },
- callback: function (records, operation, success) {
- if (success) {
- Ext.getStore('ReportEvents').add(records);
- }
- }
- });
- Traccar.app.hasEventId = true;
- Traccar.app.removeUrlParameter('eventId');
- }
- },
-
hideReports: function () {
Traccar.app.showReports(false);
},
@@ -234,18 +216,33 @@ Ext.define('Traccar.view.ReportController', {
}
}
});
- } else if (Traccar.app.hasEventId && data.length > 0) {
- this.getView().getSelectionModel().select([data[0]], false, true);
- this.getView().getView().focusRow(data[0]);
- if (Traccar.app.isMobile()) {
- Traccar.app.showReports(true);
- } else {
- this.getView().expand();
- }
- Traccar.app.hasEventId = false;
}
},
+ showSingleEvent: function (eventId) {
+ this.lookupReference('reportTypeField').setValue('events');
+ Ext.getStore('Events').load({
+ id: eventId,
+ scope: this,
+ callback: function (records, operation, success) {
+ if (success) {
+ Ext.getStore('ReportEvents').add(records);
+ if (records.length > 0) {
+ if (!records[0].get('positionId')) {
+ if (Traccar.app.isMobile()) {
+ Traccar.app.showReports(true);
+ } else {
+ this.getView().expand();
+ }
+ }
+ this.getView().getSelectionModel().select([records[0]], false, true);
+ this.getView().getView().focusRow(records[0]);
+ }
+ }
+ }
+ });
+ },
+
downloadFile: function (requestUrl, requestParams) {
Ext.Ajax.request({
url: requestUrl,