/* * Copyright 2015 Anton Tananaev (anton.tananaev@gmail.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ Ext.define('Traccar.view.Devices', { extend: 'Ext.grid.Panel', xtype: 'devicesView', requires: [ 'Traccar.view.DevicesController', 'Traccar.view.EditToolbar', 'Traccar.view.SettingsMenu' ], controller: 'devices', store: 'Devices', title: Strings.deviceTitle, selType: 'rowmodel', tbar: { xtype: 'editToolbar', items: [{ disabled: true, handler: 'onCommandClick', reference: 'deviceCommandButton', glyph: 'xf093@FontAwesome', tooltip: Strings.deviceCommand, tooltipType: 'title' }, { xtype: 'tbfill' }, { id: 'deviceFollowButton', glyph: 'xf05b@FontAwesome', tooltip: Strings.deviceFollow, tooltipType: 'title', enableToggle: true }, { xtype: 'settingsMenu' }] }, listeners: { selectionchange: 'onSelectionChange' }, columns: [{ text: Strings.deviceName, dataIndex: 'name', flex: 1 }, { text: Strings.deviceLastUpdate, dataIndex: 'lastUpdate', flex: 1, renderer: function (value, metaData, record) { var status = record.get('status'); switch (status) { case 'online': metaData.tdCls = 'status-color-online'; break; case 'offline': metaData.tdCls = 'status-color-offline'; break; default: metaData.tdCls = 'status-color-unknown'; break; } return Ext.Date.format(value, Traccar.Style.dateTimeFormat); } }] });