diff options
Diffstat (limited to 'web/app/view/EventsController.js')
-rw-r--r-- | web/app/view/EventsController.js | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/web/app/view/EventsController.js b/web/app/view/EventsController.js new file mode 100644 index 00000000..5cd9fb8e --- /dev/null +++ b/web/app/view/EventsController.js @@ -0,0 +1,63 @@ +/* + * 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.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); + } +}); |