aboutsummaryrefslogtreecommitdiff
path: root/web/app/store
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2017-09-05 21:41:29 +1200
committerGitHub <noreply@github.com>2017-09-05 21:41:29 +1200
commit6a87e86cee0cdbcc196166f3f1b330903364931b (patch)
treebf86c8ddb2b5d0edca73175be5e1ec2b69f33633 /web/app/store
parentca6b408cc068c1e21641d1464350beb1daef872e (diff)
parentb86c09cd3266b2bac9a7a8dbf848ed14fff1e6d7 (diff)
downloadetbsa-traccar-web-6a87e86cee0cdbcc196166f3f1b330903364931b.tar.gz
etbsa-traccar-web-6a87e86cee0cdbcc196166f3f1b330903364931b.tar.bz2
etbsa-traccar-web-6a87e86cee0cdbcc196166f3f1b330903364931b.zip
Merge pull request #571 from Abyss777/improve_commands
Improve commands
Diffstat (limited to 'web/app/store')
-rw-r--r--web/app/store/CommandTypes.js19
-rw-r--r--web/app/store/KnownCommands.js234
-rw-r--r--web/app/store/TimeUnits.js24
3 files changed, 253 insertions, 24 deletions
diff --git a/web/app/store/CommandTypes.js b/web/app/store/CommandTypes.js
index a14dd58..f14cb59 100644
--- a/web/app/store/CommandTypes.js
+++ b/web/app/store/CommandTypes.js
@@ -18,28 +18,11 @@
Ext.define('Traccar.store.CommandTypes', {
extend: 'Ext.data.Store',
- fields: ['type', 'name'],
+ model: 'Traccar.model.KnownCommand',
proxy: {
type: 'rest',
url: 'api/commandtypes',
- reader: {
- type: 'json',
- getData: function (data) {
- Ext.each(data, function (entry) {
- var nameKey, name;
- entry.name = entry.type;
- if (typeof entry.type !== 'undefined') {
- nameKey = 'command' + entry.type.charAt(0).toUpperCase() + entry.type.slice(1);
- name = Strings[nameKey];
- if (typeof name !== 'undefined') {
- entry.name = name;
- }
- }
- });
- return data;
- }
- },
listeners: {
'exception': function (proxy, response) {
Traccar.app.showError(response);
diff --git a/web/app/store/KnownCommands.js b/web/app/store/KnownCommands.js
new file mode 100644
index 0000000..8bf2e24
--- /dev/null
+++ b/web/app/store/KnownCommands.js
@@ -0,0 +1,234 @@
+/*
+ * 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.store.KnownCommands', {
+ extend: 'Ext.data.Store',
+ model: 'Traccar.model.KnownCommand',
+
+ data: [{
+ type: 'custom',
+ parameters: [{
+ key: 'data',
+ name: Strings.commandData,
+ valueType: 'string'
+ }]
+ }, {
+ type: 'positionPeriodic',
+ parameters: [{
+ key: 'frequency',
+ name: Strings.commandFrequency,
+ valueType: 'number',
+ allowDecimals: false,
+ minValue: 0,
+ dataType: 'frequency'
+ }]
+ }, {
+ type: 'setTimezone',
+ parameters: [{
+ key: 'timezoneName',
+ name: Strings.commandTimezone,
+ valueType: 'string',
+ dataType: 'timezone'
+ }]
+ }, {
+ type: 'sendSms',
+ parameters: [{
+ key: 'phone',
+ name: Strings.commandPhone,
+ valueType: 'string'
+ }, {
+ key: 'message',
+ name: Strings.commandMessage,
+ valueType: 'string'
+ }]
+ }, {
+ type: 'sendUssd',
+ parameters: [{
+ key: 'phone',
+ name: Strings.commandPhone,
+ valueType: 'string'
+ }]
+ }, {
+ type: 'sosNumber',
+ parameters: [{
+ key: 'index',
+ name: Strings.commandIndex,
+ valueType: 'number',
+ allowDecimals: false,
+ minValue: 0
+ }, {
+ key: 'phone',
+ name: Strings.commandPhone,
+ valueType: 'string'
+ }]
+ }, {
+ type: 'silenceTime',
+ parameters: [{
+ key: 'data',
+ name: Strings.commandData,
+ valueType: 'string'
+ }]
+ }, {
+ type: 'setPhonebook',
+ parameters: [{
+ key: 'data',
+ name: Strings.commandData,
+ valueType: 'string'
+ }]
+ }, {
+ type: 'voiceMessage',
+ parameters: [{
+ key: 'data',
+ name: Strings.commandData,
+ valueType: 'string'
+ }]
+ }, {
+ type: 'outputControl',
+ parameters: [{
+ key: 'index',
+ name: Strings.commandIndex,
+ valueType: 'number',
+ allowDecimals: false,
+ minValue: 0
+ }, {
+ key: 'data',
+ name: Strings.commandData,
+ valueType: 'string'
+ }]
+ }, {
+ type: 'voiceMonitoring',
+ parameters: [{
+ key: 'enable',
+ name: Strings.commandEnable,
+ valueType: 'boolean'
+ }]
+ }, {
+ type: 'setAgps',
+ parameters: [{
+ key: 'enable',
+ name: Strings.commandEnable,
+ valueType: 'boolean'
+ }]
+ }, {
+ type: 'setIndicator',
+ parameters: [{
+ key: 'data',
+ name: Strings.commandData,
+ valueType: 'string'
+ }]
+ }, {
+ type: 'configuration',
+ parameters: [{
+ key: 'data',
+ name: Strings.commandData,
+ valueType: 'string'
+ }]
+ }, {
+ type: 'setConnection',
+ parameters: [{
+ key: 'server',
+ name: Strings.commandServer,
+ valueType: 'string'
+ }, {
+ key: 'port',
+ name: Strings.commandPort,
+ valueType: 'number',
+ allowDecimals: false,
+ minValue: 1,
+ maxValue: 65535
+ }]
+ }, {
+ type: 'setOdometer',
+ parameters: [{
+ key: 'data',
+ name: Strings.commandData,
+ valueType: 'string'
+ }]
+ }, {
+ type: 'modePowerSaving',
+ parameters: [{
+ key: 'enable',
+ name: Strings.commandEnable,
+ valueType: 'boolean'
+ }]
+ }, {
+ type: 'modeDeepSleep',
+ parameters: [{
+ key: 'enable',
+ name: Strings.commandEnable,
+ valueType: 'boolean'
+ }]
+ }, {
+ type: 'movementAlarm',
+ parameters: [{
+ key: 'radius',
+ name: Strings.commandRadius,
+ valueType: 'number',
+ allowDecimals: false,
+ minValue: 0
+ }]
+ }, {
+ type: 'alarmBattery',
+ parameters: [{
+ key: 'enable',
+ name: Strings.commandEnable,
+ valueType: 'boolean'
+ }]
+ }, {
+ type: 'alarmSos',
+ parameters: [{
+ key: 'enable',
+ name: Strings.commandEnable,
+ valueType: 'boolean'
+ }]
+ }, {
+ type: 'alarmRemove',
+ parameters: [{
+ key: 'enable',
+ name: Strings.commandEnable,
+ valueType: 'boolean'
+ }]
+ }, {
+ type: 'alarmClock',
+ parameters: [{
+ key: 'data',
+ name: Strings.commandData,
+ valueType: 'string'
+ }]
+ }, {
+ type: 'alarmSpeed',
+ parameters: [{
+ key: 'data',
+ name: Strings.commandData,
+ valueType: 'string'
+ }]
+ }, {
+ type: 'alarmFall',
+ parameters: [{
+ key: 'enable',
+ name: Strings.commandEnable,
+ valueType: 'boolean'
+ }]
+ }, {
+ type: 'alarmVibration',
+ parameters: [{
+ key: 'data',
+ name: Strings.commandData,
+ valueType: 'string'
+ }]
+ }]
+});
diff --git a/web/app/store/TimeUnits.js b/web/app/store/TimeUnits.js
index efcf1d6..0d16c4b 100644
--- a/web/app/store/TimeUnits.js
+++ b/web/app/store/TimeUnits.js
@@ -1,5 +1,5 @@
/*
- * Copyright 2015 Anton Tananaev (anton@traccar.org)
+ * Copyright 2015 - 2017 Anton Tananaev (anton@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
@@ -17,16 +17,28 @@
Ext.define('Traccar.store.TimeUnits', {
extend: 'Ext.data.Store',
- fields: ['name', 'factor'],
+ fields: ['key', 'name', 'factor'],
data: [{
- name: Strings.sharedSecond,
+ key: 's',
+ name: Strings.sharedSecondAbbreviation,
factor: 1
}, {
- name: Strings.sharedMinute,
+ key: 'm',
+ name: Strings.sharedMinuteAbbreviation,
factor: 60
}, {
- name: Strings.sharedHour,
+ key: 'h',
+ name: Strings.sharedHourAbbreviation,
factor: 3600
- }]
+ }],
+
+ convertValue: function (value, unit, back) {
+ var model;
+ if (!unit) {
+ unit = 'kn';
+ }
+ model = this.findRecord('key', unit);
+ return back ? value * model.get('factor') : value / model.get('factor');
+ }
});