/* * 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 . */ Ext.define('Traccar.view.EventsController', { extend: 'Ext.app.ViewController', alias: 'controller.events', config: { listen: { store: { '#Events': { add: 'onAddEvent' } } } }, init: function () { var self = this; setInterval(function () { self.getView().getView().refresh(); }, Traccar.Style.refreshPeriod); if (Traccar.app.isMobile()) { this.lookupReference('hideEvents').setHidden(false); } }, onClearClick: function (button) { Ext.getStore('Events').removeAll(); }, onAddEvent: function (store, data) { if (this.lookupReference('scrollToLast').pressed) { this.getView().scrollBy(0, Number.POSITIVE_INFINITY, true); } }, onScrollToLastClick: function (button, pressed) { if (pressed) { this.onAddEvent(); } }, onHideEvents: function () { Traccar.app.showEvents(false); } });