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