From 7ae587d430e793bbd9afd5607f7d266816af127a Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Sun, 3 Jul 2016 13:00:03 +1200 Subject: Add dialog for geofence area selection --- web/app/view/BaseMap.js | 1 - web/app/view/GeofenceDialog.js | 22 +++++++++++++++++---- web/app/view/GeofenceDialogController.js | 33 ++++++++++++++++++++++++++++++++ web/app/view/Map.js | 2 ++ web/l10n/en.json | 1 + 5 files changed, 54 insertions(+), 5 deletions(-) create mode 100644 web/app/view/GeofenceDialogController.js (limited to 'web') diff --git a/web/app/view/BaseMap.js b/web/app/view/BaseMap.js index c2a889188..7f508cbe8 100644 --- a/web/app/view/BaseMap.js +++ b/web/app/view/BaseMap.js @@ -18,7 +18,6 @@ Ext.define('Traccar.view.BaseMap', { extend: 'Ext.form.Panel', xtype: 'baseMapView', - title: Strings.mapTitle, layout: 'fit', getMap: function () { diff --git a/web/app/view/GeofenceDialog.js b/web/app/view/GeofenceDialog.js index a3100a797..fa3bbe87f 100644 --- a/web/app/view/GeofenceDialog.js +++ b/web/app/view/GeofenceDialog.js @@ -15,13 +15,13 @@ */ Ext.define('Traccar.view.GeofenceDialog', { - extend: 'Traccar.view.BaseEditDialog', + extend: 'Traccar.view.BaseDialog', requires: [ - 'Traccar.view.BaseEditDialogController' + 'Traccar.view.GeofenceDialogController' ], - controller: 'baseEditDialog', + controller: 'geofenceDialog', title: Strings.sharedGeofence, items: { @@ -35,5 +35,19 @@ Ext.define('Traccar.view.GeofenceDialog', { name: 'description', fieldLabel: Strings.sharedDescription }] - } + }, + + buttons: [{ + text: Strings.sharedArea, + glyph: 'xf21d@FontAwesome', + handler: 'onAreaClick' + }, { + xtype: 'tbfill' + }, { + text: Strings.sharedSave, + handler: 'onSaveClick' + }, { + text: Strings.sharedCancel, + handler: 'closeView' + }] }); diff --git a/web/app/view/GeofenceDialogController.js b/web/app/view/GeofenceDialogController.js new file mode 100644 index 000000000..96be0d3a5 --- /dev/null +++ b/web/app/view/GeofenceDialogController.js @@ -0,0 +1,33 @@ +/* + * Copyright 2016 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.GeofenceDialogController', { + extend: 'Traccar.view.BaseEditDialogController', + alias: 'controller.geofenceDialog', + + requires: [ + 'Traccar.view.BaseMap' + ], + + onAreaClick: function (button) { + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedArea, + items: { + xtype: 'baseMapView' + } + }).show(); + } +}); diff --git a/web/app/view/Map.js b/web/app/view/Map.js index d06630e38..8ff57c06a 100644 --- a/web/app/view/Map.js +++ b/web/app/view/Map.js @@ -24,6 +24,8 @@ Ext.define('Traccar.view.Map', { controller: 'map', + title: Strings.mapTitle, + getLatestSource: function () { return this.latestSource; }, diff --git a/web/l10n/en.json b/web/l10n/en.json index 97cee819d..56dfbe8ba 100644 --- a/web/l10n/en.json +++ b/web/l10n/en.json @@ -22,6 +22,7 @@ "sharedNotifications": "Notifications", "sharedAttributes": "Attributes", "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "Error", "errorUnknown": "Unknown error", "errorConnection": "Connection error", -- cgit v1.2.3