diff options
author | Abyss777 <abyss@fox5.ru> | 2017-11-08 15:04:43 +0500 |
---|---|---|
committer | Abyss777 <abyss@fox5.ru> | 2017-11-13 12:33:27 +0500 |
commit | d93e45e176fc2cbba6525f100ef084d904baa1c1 (patch) | |
tree | 4b704e487600bda6c1604e39c1c1719962808525 /web/app/view/ReportController.js | |
parent | b36bb685ff31b06c7f50e660aebd3a69db5de5d7 (diff) | |
download | trackermap-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.js | 34 |
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: [{ |