From 714da0355baee78fb28e97aed95db68a63c43424 Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Mon, 17 Jul 2017 09:21:43 +0500 Subject: Implement Geofences column for Devices with filtering --- web/app/view/edit/Devices.js | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'web/app/view/edit') diff --git a/web/app/view/edit/Devices.js b/web/app/view/edit/Devices.js index 97cbba2..d601800 100644 --- a/web/app/view/edit/Devices.js +++ b/web/app/view/edit/Devices.js @@ -22,7 +22,8 @@ Ext.define('Traccar.view.edit.Devices', { requires: [ 'Ext.grid.filters.Filters', 'Traccar.AttributeFormatter', - 'Traccar.view.edit.DevicesController' + 'Traccar.view.edit.DevicesController', + 'Traccar.view.ArrayListFilter' ], controller: 'devices', @@ -148,6 +149,24 @@ Ext.define('Traccar.view.edit.Devices', { store: 'Groups' }, renderer: Traccar.AttributeFormatter.getFormatter('groupId') + }, { + text: Strings.sharedGeofences, + dataIndex: 'geofenceIds', + hidden: true, + filter: { + type: 'arraylist', + idField: 'id', + labelField: 'name', + store: 'Geofences' + }, + renderer: function (value) { + var i, result = ''; + for (i = 0; i < value.length; i++) { + result += Traccar.AttributeFormatter.geofenceIdFormatter(value[i]); + result += (i < value.length - 1) ? ', ' : ''; + } + return result; + } }, { text: Strings.deviceStatus, dataIndex: 'status', @@ -156,7 +175,7 @@ Ext.define('Traccar.view.edit.Devices', { labelField: 'name', store: 'DeviceStatuses' }, - renderer: function (value, metaData) { + renderer: function (value) { var status; if (value) { status = Ext.getStore('DeviceStatuses').getById(value); -- cgit v1.2.3