From eeb55ae6800aa5f051a182760d3564523ff03d85 Mon Sep 17 00:00:00 2001 From: tsmgeek Date: Wed, 16 Aug 2017 00:19:51 +0100 Subject: - switch to using switch statements instead of ifthenelse - optimize excess getView() calls --- web/app/view/dialog/CommandController.js | 117 ++++++++++++-------------- web/app/view/dialog/ReportConfigController.js | 21 ++--- 2 files changed, 67 insertions(+), 71 deletions(-) (limited to 'web') diff --git a/web/app/view/dialog/CommandController.js b/web/app/view/dialog/CommandController.js index 8c566da..6790a9c 100644 --- a/web/app/view/dialog/CommandController.js +++ b/web/app/view/dialog/CommandController.js @@ -42,67 +42,62 @@ Ext.define('Traccar.view.dialog.CommandController', { form = button.up('window').down('form'); form.updateRecord(); record = form.getRecord(); - - if (record.get('type') === 'positionPeriodic') { - attributes = this.lookupReference('paramPositionPeriodic'); - value = attributes.down('numberfield[name="frequency"]').getValue(); - value *= attributes.down('combobox[name="unit"]').getValue(); - - record.set('attributes', { - frequency: value - }); - } - - if (record.get('type') === 'outputControl') { - attributes = this.lookupReference('paramOutputControl'); - index = attributes.down('numberfield[name="index"]').getValue(); - value = attributes.down('textfield[name="data"]').getValue(); - - record.set('attributes', { - index: index, - data: value - }); - } - - if (record.get('type') === 'sendUssd') { - attributes = this.lookupReference('paramSendSmsUssd'); - phone = attributes.down('textfield[name="phone"]').getValue(); - record.set('attributes', { - phone: phone - }); - } - - if (record.get('type') === 'sendSms') { - attributes = this.lookupReference('paramSendSmsUssd'); - phone = attributes.down('textfield[name="phone"]').getValue(); - value = attributes.down('textfield[name="message"]').getValue(); - record.set('attributes', { - phone: phone, - message: value - }); - } - - if (record.get('type') === 'setTimezone') { - attributes = this.lookupReference('paramSetTimezone'); - value = attributes.down('numberfield[name="timezone"]').getValue(); - record.set('attributes', { - timezone: value * 3600 - }); - } - - if (record.get('type') === 'setIndicator') { - attributes = this.lookupReference('paramSetIndicator'); - value = attributes.down('numberfield[name="data"]').getValue(); - record.set('attributes', { - data: value - }); - } - - if (record.get('type') === 'custom') { - value = this.lookupReference('paramCustom').getValue(); - record.set('attributes', { - data: value - }); + + + switch(record.get('type')){ + case 'positionPeriodic': + attributes = this.lookupReference('paramPositionPeriodic'); + value = attributes.down('numberfield[name="frequency"]').getValue(); + value *= attributes.down('combobox[name="unit"]').getValue(); + record.set('attributes', { + frequency: value + }); + break; + case 'outputControl': + attributes = this.lookupReference('paramOutputControl'); + index = attributes.down('numberfield[name="index"]').getValue(); + value = attributes.down('textfield[name="data"]').getValue(); + record.set('attributes', { + index: index, + data: value + }); + break; + case 'sendUssd': + attributes = this.lookupReference('paramSendSmsUssd'); + phone = attributes.down('textfield[name="phone"]').getValue(); + record.set('attributes', { + phone: phone + }); + break; + case 'sendSms': + attributes = this.lookupReference('paramSendSmsUssd'); + phone = attributes.down('textfield[name="phone"]').getValue(); + value = attributes.down('textfield[name="message"]').getValue(); + record.set('attributes', { + phone: phone, + message: value + }); + break; + case 'setTimezone': + attributes = this.lookupReference('paramSetTimezone'); + value = attributes.down('numberfield[name="timezone"]').getValue(); + record.set('attributes', { + timezone: value * 3600 + }); + break; + case 'setIndicator': + attributes = this.lookupReference('paramSetIndicator'); + value = attributes.down('numberfield[name="data"]').getValue(); + record.set('attributes', { + data: value + }); + break; + case 'custom': + value = this.lookupReference('paramCustom').getValue(); + record.set('attributes', { + data: value + }); + break; } Ext.Ajax.request({ diff --git a/web/app/view/dialog/ReportConfigController.js b/web/app/view/dialog/ReportConfigController.js index 7233562..2634b45 100644 --- a/web/app/view/dialog/ReportConfigController.js +++ b/web/app/view/dialog/ReportConfigController.js @@ -27,22 +27,23 @@ Ext.define('Traccar.view.dialog.ReportConfigController', { onSaveClick: function (button) { var eventType; - this.getView().callingPanel.deviceId = this.lookupReference('deviceField').getValue(); - this.getView().callingPanel.groupId = this.lookupReference('groupField').getValue(); + var callingPanel = this.getView().callingPanel; + callingPanel.deviceId = this.lookupReference('deviceField').getValue(); + callingPanel.groupId = this.lookupReference('groupField').getValue(); eventType = this.lookupReference('eventTypeField').getValue(); if (eventType.indexOf(Traccar.store.ReportEventTypes.allEvents) > -1) { eventType = [Traccar.store.ReportEventTypes.allEvents]; } else if (eventType.length === this.lookupReference('eventTypeField').getStore().getCount() - 1) { eventType = [Traccar.store.ReportEventTypes.allEvents]; } - this.getView().callingPanel.eventType = eventType; - this.getView().callingPanel.chartType = this.lookupReference('chartTypeField').getValue(); - this.getView().callingPanel.showMarkers = this.lookupReference('showMarkersField').getValue(); - this.getView().callingPanel.fromDate = this.lookupReference('fromDateField').getValue(); - this.getView().callingPanel.fromTime = this.lookupReference('fromTimeField').getValue(); - this.getView().callingPanel.toDate = this.lookupReference('toDateField').getValue(); - this.getView().callingPanel.toTime = this.lookupReference('toTimeField').getValue(); - this.getView().callingPanel.updateButtons(); + callingPanel.eventType = eventType; + callingPanel.chartType = this.lookupReference('chartTypeField').getValue(); + callingPanel.showMarkers = this.lookupReference('showMarkersField').getValue(); + callingPanel.fromDate = this.lookupReference('fromDateField').getValue(); + callingPanel.fromTime = this.lookupReference('fromTimeField').getValue(); + callingPanel.toDate = this.lookupReference('toDateField').getValue(); + callingPanel.toTime = this.lookupReference('toTimeField').getValue(); + callingPanel.updateButtons(); button.up('window').close(); } }); -- cgit v1.2.3 From 5b3ac701e24f5b4e0a27b837fa570e9286de6368 Mon Sep 17 00:00:00 2001 From: tsmgeek Date: Thu, 17 Aug 2017 00:46:46 +0100 Subject: Fix formatting --- web/app/view/dialog/CommandController.js | 3 +-- web/app/view/dialog/ReportConfigController.js | 5 +++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'web') diff --git a/web/app/view/dialog/CommandController.js b/web/app/view/dialog/CommandController.js index 6790a9c..485d994 100644 --- a/web/app/view/dialog/CommandController.js +++ b/web/app/view/dialog/CommandController.js @@ -42,9 +42,8 @@ Ext.define('Traccar.view.dialog.CommandController', { form = button.up('window').down('form'); form.updateRecord(); record = form.getRecord(); - - switch(record.get('type')){ + switch (record.get('type')) { case 'positionPeriodic': attributes = this.lookupReference('paramPositionPeriodic'); value = attributes.down('numberfield[name="frequency"]').getValue(); diff --git a/web/app/view/dialog/ReportConfigController.js b/web/app/view/dialog/ReportConfigController.js index 2634b45..a6da8b2 100644 --- a/web/app/view/dialog/ReportConfigController.js +++ b/web/app/view/dialog/ReportConfigController.js @@ -26,8 +26,9 @@ Ext.define('Traccar.view.dialog.ReportConfigController', { ], onSaveClick: function (button) { - var eventType; - var callingPanel = this.getView().callingPanel; + var eventType,callingPanel; + callingPanel = this.getView().callingPanel; + callingPanel.deviceId = this.lookupReference('deviceField').getValue(); callingPanel.groupId = this.lookupReference('groupField').getValue(); eventType = this.lookupReference('eventTypeField').getValue(); -- cgit v1.2.3 From 5d6fb73d838399b94cfca61e67bcde7cf6e3c813 Mon Sep 17 00:00:00 2001 From: tsmgeek Date: Thu, 17 Aug 2017 01:17:54 +0100 Subject: Fix formatting --- web/.jscsrc | 3 ++- web/app/view/dialog/ReportConfigController.js | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'web') diff --git a/web/.jscsrc b/web/.jscsrc index 546e6a5..c20bcf0 100644 --- a/web/.jscsrc +++ b/web/.jscsrc @@ -2,5 +2,6 @@ "preset": "crockford", "maxErrors": 100, "excludeFiles": ["simple/app.js"], - "requireDotNotation": false + "requireDotNotation": false, + "requireSpaceAfterComma": true } diff --git a/web/app/view/dialog/ReportConfigController.js b/web/app/view/dialog/ReportConfigController.js index a6da8b2..ce66371 100644 --- a/web/app/view/dialog/ReportConfigController.js +++ b/web/app/view/dialog/ReportConfigController.js @@ -26,7 +26,7 @@ Ext.define('Traccar.view.dialog.ReportConfigController', { ], onSaveClick: function (button) { - var eventType,callingPanel; + var eventType, callingPanel; callingPanel = this.getView().callingPanel; callingPanel.deviceId = this.lookupReference('deviceField').getValue(); -- cgit v1.2.3 From 78f3189865656123e30b2087775339163782e4f3 Mon Sep 17 00:00:00 2001 From: tsmgeek Date: Thu, 17 Aug 2017 01:53:37 +0100 Subject: Add eslint config to match jscs --- web/.eslintignore | 1 + web/.eslintrc | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 web/.eslintignore create mode 100644 web/.eslintrc (limited to 'web') diff --git a/web/.eslintignore b/web/.eslintignore new file mode 100644 index 0000000..3e0fc5c --- /dev/null +++ b/web/.eslintignore @@ -0,0 +1 @@ +simple/app.js \ No newline at end of file diff --git a/web/.eslintrc b/web/.eslintrc new file mode 100644 index 0000000..bacc506 --- /dev/null +++ b/web/.eslintrc @@ -0,0 +1,27 @@ +{ + "extends": "crockford", + + // Custom Globals + "globals" : { + "Ext" : false, + "ol" : false, + "Traccar" : false, + "Strings" : false, + "Locale" : false, + "proj4" : false + }, + + "rules": { + "indent": ["error", 4, + { + "SwitchCase":1 + } + ], + "dot-notation": 0, + "comma-spacing": [2, + { + "after": true + } + ] + } +} \ No newline at end of file -- cgit v1.2.3 From 75f731dc5d7787b0dccb63643a7388bf1dc6c268 Mon Sep 17 00:00:00 2001 From: tsmgeek Date: Thu, 17 Aug 2017 02:33:37 +0100 Subject: Add jshint config to eslint --- web/.eslintrc | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 65 insertions(+), 3 deletions(-) (limited to 'web') diff --git a/web/.eslintrc b/web/.eslintrc index bacc506..03de808 100644 --- a/web/.eslintrc +++ b/web/.eslintrc @@ -1,6 +1,10 @@ { "extends": "crockford", - + "env": { + "browser": true, + "node": true + }, + // Custom Globals "globals" : { "Ext" : false, @@ -17,11 +21,69 @@ "SwitchCase":1 } ], - "dot-notation": 0, "comma-spacing": [2, { "after": true } - ] + ], + "no-bitwise": 0, + "camelcase": 2, + "curly": 2, + "eqeqeq": 2, + "guard-for-in": 2, + "no-extend-native": 2, + "wrap-iife": [ + 2, + "any" + ], + "no-use-before-define": [ + 2, + { + "functions": false + } + ], + "new-cap": 2, + "no-caller": 2, + "no-empty": 2, + "no-irregular-whitespace": 2, + "no-new": 2, + "no-plusplus": 0, + "quotes": [ + 2, + "single" + ], + "no-undef": 2, + "no-unused-vars": 2, + "strict": 0, + "max-params": 0, + "max-depth": 0, + "max-statements": 0, + "complexity": 0, + "max-len": 0, + "no-var": 0, + "semi": 0, + "no-cond-assign": 0, + "no-debugger": 0, + "no-eq-null": 0, + "no-eval": 0, + "no-unused-expressions": 0, + "block-scoped-var": 0, + "no-iterator": 0, + "linebreak-style": 0, + "comma-style": [ + 2, + "last" + ], + "no-loop-func": 0, + "no-multi-str": 0, + "require-yield": 0, + "valid-typeof": 0, + "no-proto": 0, + "no-script-url": 0, + "no-shadow": 2, + "dot-notation": 0, + "no-new-func": 0, + "no-new-wrappers": 0, + "no-invalid-this": 0 } } \ No newline at end of file -- cgit v1.2.3 From f8b4b7da1b5c1e394707b8ba11ec9879ffe20398 Mon Sep 17 00:00:00 2001 From: tsmgeek Date: Thu, 17 Aug 2017 21:44:03 +0100 Subject: rename elintrc --- web/.eslintrc | 89 ------------------------------------------------------ web/.eslintrc.json | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+), 89 deletions(-) delete mode 100644 web/.eslintrc create mode 100644 web/.eslintrc.json (limited to 'web') diff --git a/web/.eslintrc b/web/.eslintrc deleted file mode 100644 index 03de808..0000000 --- a/web/.eslintrc +++ /dev/null @@ -1,89 +0,0 @@ -{ - "extends": "crockford", - "env": { - "browser": true, - "node": true - }, - - // Custom Globals - "globals" : { - "Ext" : false, - "ol" : false, - "Traccar" : false, - "Strings" : false, - "Locale" : false, - "proj4" : false - }, - - "rules": { - "indent": ["error", 4, - { - "SwitchCase":1 - } - ], - "comma-spacing": [2, - { - "after": true - } - ], - "no-bitwise": 0, - "camelcase": 2, - "curly": 2, - "eqeqeq": 2, - "guard-for-in": 2, - "no-extend-native": 2, - "wrap-iife": [ - 2, - "any" - ], - "no-use-before-define": [ - 2, - { - "functions": false - } - ], - "new-cap": 2, - "no-caller": 2, - "no-empty": 2, - "no-irregular-whitespace": 2, - "no-new": 2, - "no-plusplus": 0, - "quotes": [ - 2, - "single" - ], - "no-undef": 2, - "no-unused-vars": 2, - "strict": 0, - "max-params": 0, - "max-depth": 0, - "max-statements": 0, - "complexity": 0, - "max-len": 0, - "no-var": 0, - "semi": 0, - "no-cond-assign": 0, - "no-debugger": 0, - "no-eq-null": 0, - "no-eval": 0, - "no-unused-expressions": 0, - "block-scoped-var": 0, - "no-iterator": 0, - "linebreak-style": 0, - "comma-style": [ - 2, - "last" - ], - "no-loop-func": 0, - "no-multi-str": 0, - "require-yield": 0, - "valid-typeof": 0, - "no-proto": 0, - "no-script-url": 0, - "no-shadow": 2, - "dot-notation": 0, - "no-new-func": 0, - "no-new-wrappers": 0, - "no-invalid-this": 0 - } -} \ No newline at end of file diff --git a/web/.eslintrc.json b/web/.eslintrc.json new file mode 100644 index 0000000..03de808 --- /dev/null +++ b/web/.eslintrc.json @@ -0,0 +1,89 @@ +{ + "extends": "crockford", + "env": { + "browser": true, + "node": true + }, + + // Custom Globals + "globals" : { + "Ext" : false, + "ol" : false, + "Traccar" : false, + "Strings" : false, + "Locale" : false, + "proj4" : false + }, + + "rules": { + "indent": ["error", 4, + { + "SwitchCase":1 + } + ], + "comma-spacing": [2, + { + "after": true + } + ], + "no-bitwise": 0, + "camelcase": 2, + "curly": 2, + "eqeqeq": 2, + "guard-for-in": 2, + "no-extend-native": 2, + "wrap-iife": [ + 2, + "any" + ], + "no-use-before-define": [ + 2, + { + "functions": false + } + ], + "new-cap": 2, + "no-caller": 2, + "no-empty": 2, + "no-irregular-whitespace": 2, + "no-new": 2, + "no-plusplus": 0, + "quotes": [ + 2, + "single" + ], + "no-undef": 2, + "no-unused-vars": 2, + "strict": 0, + "max-params": 0, + "max-depth": 0, + "max-statements": 0, + "complexity": 0, + "max-len": 0, + "no-var": 0, + "semi": 0, + "no-cond-assign": 0, + "no-debugger": 0, + "no-eq-null": 0, + "no-eval": 0, + "no-unused-expressions": 0, + "block-scoped-var": 0, + "no-iterator": 0, + "linebreak-style": 0, + "comma-style": [ + 2, + "last" + ], + "no-loop-func": 0, + "no-multi-str": 0, + "require-yield": 0, + "valid-typeof": 0, + "no-proto": 0, + "no-script-url": 0, + "no-shadow": 2, + "dot-notation": 0, + "no-new-func": 0, + "no-new-wrappers": 0, + "no-invalid-this": 0 + } +} \ No newline at end of file -- cgit v1.2.3