aboutsummaryrefslogtreecommitdiff
path: root/web/app/view/ReportController.js
diff options
context:
space:
mode:
authorAbyss777 <abyss@fox5.ru>2017-11-08 15:04:43 +0500
committerAbyss777 <abyss@fox5.ru>2017-11-13 12:33:27 +0500
commitd93e45e176fc2cbba6525f100ef084d904baa1c1 (patch)
tree4b704e487600bda6c1604e39c1c1719962808525 /web/app/view/ReportController.js
parentb36bb685ff31b06c7f50e660aebd3a69db5de5d7 (diff)
downloadtrackermap-web-d93e45e176fc2cbba6525f100ef084d904baa1c1.tar.gz
trackermap-web-d93e45e176fc2cbba6525f100ef084d904baa1c1.tar.bz2
trackermap-web-d93e45e176fc2cbba6525f100ef084d904baa1c1.zip
Implement geocoding retry
Diffstat (limited to 'web/app/view/ReportController.js')
-rw-r--r--web/app/view/ReportController.js34
1 files changed, 33 insertions, 1 deletions
diff --git a/web/app/view/ReportController.js b/web/app/view/ReportController.js
index 80e56ba4..5d4d00c2 100644
--- a/web/app/view/ReportController.js
+++ b/web/app/view/ReportController.js
@@ -40,6 +40,9 @@ Ext.define('Traccar.view.ReportController', {
selectreport: 'selectReport'
}
},
+ global: {
+ routegeocode: 'onGeocode'
+ },
store: {
'#ReportEvents': {
add: 'loadRelatedPositions',
@@ -423,6 +426,28 @@ Ext.define('Traccar.view.ReportController', {
this.updateButtons();
},
+ onGeocode: function (positionId) {
+ var position = Ext.getStore('ReportRoute').getById(positionId);
+ if (position && !position.get('address')) {
+ Ext.Ajax.request({
+ scope: this,
+ method: 'GET',
+ url: 'api/server/geocode',
+ params: {
+ latitude: position.get('latitude'),
+ longitude: position.get('longitude')
+ },
+ success: function (response) {
+ position.set('address', response.responseText);
+ position.commit();
+ },
+ failure: function (response) {
+ Traccar.app.showError(response);
+ }
+ });
+ }
+ },
+
routeColumns: [{
text: Strings.reportDeviceName,
dataIndex: 'deviceId',
@@ -455,7 +480,14 @@ Ext.define('Traccar.view.ReportController', {
}, {
text: Strings.positionAddress,
dataIndex: 'address',
- renderer: Traccar.AttributeFormatter.getFormatter('address')
+ renderer: function (value, metaData, record) {
+ if (!value) {
+ return '<a href="#" onclick="Ext.fireEvent(\'routegeocode\', ' +
+ record.getId() + ')" >' +
+ Strings.stateShowAddress + '</a>';
+ }
+ return Traccar.AttributeFormatter.getFormatter('address')(value);
+ }
}],
eventsColumns: [{