aboutsummaryrefslogtreecommitdiff
path: root/web/app/view/Events.js
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2017-06-01 16:50:47 +1200
committerGitHub <noreply@github.com>2017-06-01 16:50:47 +1200
commitfe99c894c581722ab6aa2b422ed768eb9da19cfb (patch)
tree21f5e7cc17e982e2c5b52682dfac29943e39199d /web/app/view/Events.js
parent0e598a6232e9cd7188916e06077862d6630a255b (diff)
parent35e8f4b4974515733737c5cc1dd439ca47860007 (diff)
downloadtrackermap-web-fe99c894c581722ab6aa2b422ed768eb9da19cfb.tar.gz
trackermap-web-fe99c894c581722ab6aa2b422ed768eb9da19cfb.tar.bz2
trackermap-web-fe99c894c581722ab6aa2b422ed768eb9da19cfb.zip
Merge pull request #498 from Abyss777/events_panel
Implement Events panel
Diffstat (limited to 'web/app/view/Events.js')
-rw-r--r--web/app/view/Events.js105
1 files changed, 105 insertions, 0 deletions
diff --git a/web/app/view/Events.js b/web/app/view/Events.js
new file mode 100644
index 00000000..19656903
--- /dev/null
+++ b/web/app/view/Events.js
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2017 Anton Tananaev (anton@traccar.org)
+ * Copyright 2017 Andrey Kunitsyn (andrey@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 <http://www.gnu.org/licenses/>.
+ */
+
+Ext.define('Traccar.view.Events', {
+ extend: 'Ext.grid.Panel',
+ xtype: 'eventsView',
+
+ requires: [
+ 'Traccar.view.EventsController'
+ ],
+
+ controller: 'events',
+
+ store: 'Events',
+
+ stateful: true,
+ stateId: 'events-grid',
+
+ title: Strings.reportEvents,
+
+ sortableColumns: false,
+
+ header: false,
+
+ tbar: {
+ componentCls: 'toolbar-header-style',
+ defaults: {
+ xtype: 'button',
+ tooltipType: 'title',
+ stateEvents: ['toggle'],
+ enableToggle: true,
+ stateful: {
+ pressed: true
+ }
+ },
+ items: [{
+ xtype: 'tbtext',
+ html: Strings.reportEvents,
+ baseCls: 'x-panel-header-title-default'
+ }, {
+ xtype: 'tbfill'
+ }, {
+ glyph: 'xf063@FontAwesome',
+ pressed: true,
+ toggleHandler: 'onScrollToLastClick',
+ stateId: 'events-scroll-to-last-button',
+ tooltip: Strings.eventsScrollToLast,
+ reference: 'scrollToLast'
+ }, {
+ id: 'soundButton',
+ glyph: 'xf0a2@FontAwesome',
+ tooltip: Strings.sharedSound,
+ stateId: 'sound-button'
+ }, {
+ glyph: 'xf014@FontAwesome',
+ tooltip: Strings.reportClear,
+ handler: 'onClearClick',
+ stateful: false,
+ enableToggle: false
+ }, {
+ glyph: 'xf00d@FontAwesome',
+ tooltip: Strings.sharedHide,
+ handler: 'onHideEvents',
+ reference: 'hideEvents',
+ hidden: true,
+ stateful: false,
+ enableToggle: false
+ }]
+ },
+
+ columns: {
+ defaults: {
+ flex: 1,
+ minWidth: Traccar.Style.columnWidthNormal
+ },
+ items: [{
+ text: Strings.reportDeviceName,
+ dataIndex: 'deviceId',
+ renderer: Traccar.AttributeFormatter.getFormatter('deviceId')
+ }, {
+ flex: 2,
+ text: Strings.positionEvent,
+ dataIndex: 'text'
+ }, {
+ text: Strings.positionFixTime,
+ dataIndex: 'serverTime',
+ renderer: Traccar.AttributeFormatter.getFormatter('lastUpdate')
+ }]
+ }
+});