diff options
Diffstat (limited to 'web/app/view/AttributesController.js')
-rw-r--r-- | web/app/view/AttributesController.js | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/web/app/view/AttributesController.js b/web/app/view/AttributesController.js index 3959c5a5c..2a9e71849 100644 --- a/web/app/view/AttributesController.js +++ b/web/app/view/AttributesController.js @@ -24,23 +24,26 @@ Ext.define('Traccar.view.AttributesController', { ], init: function () { - var store, propertyName, i = 0; + var store, propertyName, i = 0, attributes; store = Ext.create('Traccar.store.Attributes'); store.setProxy(Ext.create('Ext.data.proxy.Memory')); - for (propertyName in this.getView().record.get('attributes')) { - store.add(Ext.create('Traccar.model.Attribute', { - priority: i++, - name: propertyName, - value:this.getView().record.get('attributes')[propertyName] - })); + attributes = this.getView().record.get('attributes'); + for (propertyName in attributes) { + if (attributes.hasOwnProperty(propertyName)) { + store.add(Ext.create('Traccar.model.Attribute', { + priority: i++, + name: propertyName, + value: this.getView().record.get('attributes')[propertyName] + })); + } } - store.addListener('add', function (store , records , index , eOpts) { - for (var i = 0; i < records.length; i++) { + store.addListener('add', function (store, records, index, eOpts) { + for (i = 0; i < records.length; i++) { this.getView().record.get('attributes')[records[i].get('name')] = records[i].get('value'); } this.getView().record.dirty = true; }, this); - store.addListener('update', function (store, record, operation , modifiedFieldNames , details , eOpts) { + store.addListener('update', function (store, record, operation, modifiedFieldNames, details, eOpts) { if (operation === Ext.data.Model.EDIT) { if (record.modified.name !== record.get('name')) { delete this.getView().record.get('attributes')[record.modified.name]; @@ -49,7 +52,7 @@ Ext.define('Traccar.view.AttributesController', { this.getView().record.dirty = true; } }, this); - store.addListener('remove', function (store , records , index , isMove , eOpts) { + store.addListener('remove', function (store, records, index, isMove, eOpts) { for (var i = 0; i < records.length; i++) { delete this.getView().record.get('attributes')[records[i].get('name')]; } |