/* * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ Ext.define('Traccar.view.dialog.Device', { extend: 'Traccar.view.dialog.BaseEdit', requires: [ 'Traccar.view.ClearableComboBox', 'Traccar.view.dialog.DeviceController', 'Traccar.view.UnescapedTextField' ], controller: 'device', title: Strings.sharedDevice, items: { xtype: 'form', items: [{ xtype: 'fieldset', title: Strings.sharedRequired, items: [{ xtype: 'unescapedTextField', name: 'name', fieldLabel: Strings.sharedName, allowBlank: false }, { xtype: 'unescapedTextField', name: 'uniqueId', fieldLabel: Strings.deviceIdentifier, allowBlank: false }] }, { xtype: 'fieldset', title: Strings.sharedExtra, collapsible: true, collapsed: true, items: [{ xtype: 'clearableComboBox', name: 'groupId', fieldLabel: Strings.groupParent, store: 'Groups', queryMode: 'local', displayField: 'name', valueField: 'id' }, { xtype: 'unescapedTextField', name: 'phone', fieldLabel: Strings.sharedPhone }, { xtype: 'unescapedTextField', name: 'model', fieldLabel: Strings.deviceModel }, { xtype: 'unescapedTextField', name: 'contact', fieldLabel: Strings.deviceContact }, { xtype: 'combobox', name: 'category', fieldLabel: Strings.deviceCategory, store: 'DeviceImages', queryMode: 'local', displayField: 'name', valueField: 'key', editable: false, listConfig: { getInnerTpl: function () { return '' + '
' + '{[new XMLSerializer().serializeToString(Traccar.DeviceImages.getImageSvg(' + 'Traccar.Style.mapColorOnline, false, 0, values.key))]}
{name}
'; } } }, { xtype: 'checkboxfield', inputValue: true, uncheckedValue: false, name: 'disabled', fieldLabel: Strings.sharedDisabled, hidden: true, reference: 'disabledField' }] }] } });