aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/org/traccar/BaseProtocol.java1
-rw-r--r--web/app/view/CommandDialog.js7
-rw-r--r--web/app/view/CommandDialogController.js9
-rw-r--r--web/l10n/en.json3
-rw-r--r--web/l10n/ru.json3
5 files changed, 21 insertions, 2 deletions
diff --git a/src/org/traccar/BaseProtocol.java b/src/org/traccar/BaseProtocol.java
index 446f57d65..d1791d673 100644
--- a/src/org/traccar/BaseProtocol.java
+++ b/src/org/traccar/BaseProtocol.java
@@ -42,6 +42,7 @@ public abstract class BaseProtocol implements Protocol {
public void setSupportedCommands(String... commands) {
supportedCommands.addAll(Arrays.asList(commands));
+ supportedCommands.add(Command.TYPE_CUSTOM);
}
@Override
diff --git a/web/app/view/CommandDialog.js b/web/app/view/CommandDialog.js
index d23b50d4c..031815273 100644
--- a/web/app/view/CommandDialog.js
+++ b/web/app/view/CommandDialog.js
@@ -54,6 +54,13 @@ Ext.define('Traccar.view.CommandDialog', {
displayField: 'name',
valueField: 'factor'
}]
+ }, {
+ xtype: 'textfield',
+ reference: 'paramCustom',
+ fieldLabel: Strings.commandCustom,
+ name: 'customCommand',
+ hidden: true,
+ allowBlank: false
}]
},
diff --git a/web/app/view/CommandDialogController.js b/web/app/view/CommandDialogController.js
index 93109a2d6..1b5ca0ce0 100644
--- a/web/app/view/CommandDialogController.js
+++ b/web/app/view/CommandDialogController.js
@@ -21,6 +21,8 @@ Ext.define('Traccar.view.CommandDialogController', {
onSelect: function (selected) {
this.lookupReference('paramPositionPeriodic').setHidden(
selected.getValue() !== 'positionPeriodic');
+ this.lookupReference('paramCustom').setHidden(
+ selected.getValue() !== 'custom');
},
onSendClick: function (button) {
@@ -40,6 +42,13 @@ Ext.define('Traccar.view.CommandDialogController', {
});
}
+ if (record.get('type') === 'custom') {
+ value = this.lookupReference('paramCustom').getValue();
+ record.set('attributes', {
+ data: value
+ });
+ }
+
Ext.Ajax.request({
scope: this,
url: '/api/commands',
diff --git a/web/l10n/en.json b/web/l10n/en.json
index 1c8cc2bd0..8ce017b52 100644
--- a/web/l10n/en.json
+++ b/web/l10n/en.json
@@ -85,5 +85,6 @@
"commandEngineStop": "Engine Stop",
"commandEngineResume": "Engine Resume",
"commandFrequency": "Frequency",
- "commandUnit": "Unit"
+ "commandUnit": "Unit",
+ "commandCustom": "Custom command"
} \ No newline at end of file
diff --git a/web/l10n/ru.json b/web/l10n/ru.json
index 4ec4a606c..52279a9e2 100644
--- a/web/l10n/ru.json
+++ b/web/l10n/ru.json
@@ -85,5 +85,6 @@
"commandEngineStop": "Заблокировать Двигатель",
"commandEngineResume": "Разблокировать Двигатель",
"commandFrequency": "Частота",
- "commandUnit": "Единицы"
+ "commandUnit": "Единицы",
+ "commandCustom": "Пользовательская команда"
} \ No newline at end of file