From b77ed6b174c58dd8c341b92d87c1c6446b95271b Mon Sep 17 00:00:00 2001 From: cTn Date: Tue, 12 Aug 2014 15:51:31 +0200 Subject: [PATCH] another refactor for global variables, bugfixes for logging tab initialization in strict mode --- js/gui.js | 2 +- js/serial_backend.js | 4 ++-- main.js | 22 +++++++++++----------- tabs/auxiliary_configuration.js | 8 ++++---- tabs/cli.js | 18 +++++++++--------- tabs/default.js | 8 ++++---- tabs/firmware_flasher.js | 8 ++++---- tabs/gps.js | 6 +++--- tabs/initial_setup.js | 8 ++++---- tabs/logging.js | 12 ++++++------ tabs/motor_outputs.js | 6 +++--- tabs/pid_tuning.js | 10 +++++----- tabs/receiver.js | 6 +++--- tabs/sensors.js | 10 +++------- tabs/servos.js | 8 ++++---- 15 files changed, 66 insertions(+), 70 deletions(-) diff --git a/js/gui.js b/js/gui.js index 95e7137ac4..788534fd1d 100644 --- a/js/gui.js +++ b/js/gui.js @@ -1,6 +1,6 @@ 'use strict'; -var tabs = {}; // filled by individual tab js file +var TABS = {}; // filled by individual tab js file var GUI_control = function () { this.auto_connect = false; diff --git a/js/serial_backend.js b/js/serial_backend.js index 4e66a76452..bb3bd090a2 100644 --- a/js/serial_backend.js +++ b/js/serial_backend.js @@ -51,7 +51,7 @@ $(document).ready(function() { $('#content').empty(); // load default html - tabs.default.initialize(); + TABS.default.initialize(); } $(this).data("clicks", !clicks); @@ -185,7 +185,7 @@ function read_serial(info) { if (!CONFIGURATOR.cliActive && !CONFIGURATOR.mspPassThrough) { MSP.read(info); } else if (CONFIGURATOR.cliActive) { - tabs.cli.read(info); + TABS.cli.read(info); } else if (CONFIGURATOR.mspPassThrough) { MSP.read(info); } diff --git a/main.js b/main.js index adafd3bad8..590e997165 100644 --- a/main.js +++ b/main.js @@ -77,41 +77,41 @@ $(document).ready(function () { switch (tab) { case 'tab_initial_setup': - tabs.initial_setup.initialize(content_ready); + TABS.initial_setup.initialize(content_ready); break; case 'tab_pid_tuning': - tabs.pid_tuning.initialize(content_ready); + TABS.pid_tuning.initialize(content_ready); break; case 'tab_receiver': - tabs.receiver.initialize(content_ready); + TABS.receiver.initialize(content_ready); break; case 'tab_auxiliary_configuration': - tabs.auxiliary_configuration.initialize(content_ready); + TABS.auxiliary_configuration.initialize(content_ready); break; case 'tab_servos': - tabs.servos.initialize(content_ready); + TABS.servos.initialize(content_ready); break; case 'tab_gps': - tabs.gps.initialize(content_ready); + TABS.gps.initialize(content_ready); break; case 'tab_motor_outputs': - tabs.motor_outputs.initialize(content_ready); + TABS.motor_outputs.initialize(content_ready); break; case 'tab_sensors': - tabs.sensors.initialize(content_ready); + TABS.sensors.initialize(content_ready); break; case 'tab_cli': - tabs.cli.initialize(content_ready); + TABS.cli.initialize(content_ready); break; case 'tab_logging': - tabs.logging.initialize(content_ready); + TABS.logging.initialize(content_ready); break; } }); } }); - tabs.default.initialize(); + TABS.default.initialize(); // options $('a#options').click(function () { diff --git a/tabs/auxiliary_configuration.js b/tabs/auxiliary_configuration.js index eeea8f2dfb..26fbc0d1da 100755 --- a/tabs/auxiliary_configuration.js +++ b/tabs/auxiliary_configuration.js @@ -1,8 +1,8 @@ 'use strict'; // TODO: rework box_highlight & update_ui to accept flexible amount of aux channels -tabs.auxiliary_configuration = {}; -tabs.auxiliary_configuration.initialize = function(callback) { +TABS.auxiliary_configuration = {}; +TABS.auxiliary_configuration.initialize = function(callback) { GUI.active_tab_ref = this; GUI.active_tab = 'auxiliary_configuration'; googleAnalytics.sendAppView('Auxiliary Configuration'); @@ -183,6 +183,6 @@ tabs.auxiliary_configuration.initialize = function(callback) { } }; -tabs.auxiliary_configuration.cleanup = function(callback) { +TABS.auxiliary_configuration.cleanup = function(callback) { if (callback) callback(); -}; +}; \ No newline at end of file diff --git a/tabs/cli.js b/tabs/cli.js index 2db1aef997..ebaa5d1a55 100644 --- a/tabs/cli.js +++ b/tabs/cli.js @@ -1,11 +1,11 @@ 'use strict'; -tabs.cli = { +TABS.cli = { 'validateText': "", 'sequenceElements': 0 }; -tabs.cli.initialize = function(callback) { +TABS.cli.initialize = function(callback) { var self = this; GUI.active_tab_ref = this; GUI.active_tab = 'cli'; @@ -61,25 +61,25 @@ tabs.cli.initialize = function(callback) { }); }; -tabs.cli.history = { +TABS.cli.history = { history: [], index: 0 }; -tabs.cli.history.add = function (str) { +TABS.cli.history.add = function (str) { this.history.push(str); this.index = this.history.length; }; -tabs.cli.history.prev = function () { +TABS.cli.history.prev = function () { if (this.index > 0) this.index -= 1; return this.history[this.index]; }; -tabs.cli.history.next = function () { +TABS.cli.history.next = function () { if (this.index < this.history.length) this.index += 1; return this.history[this.index - 1]; }; -tabs.cli.sendSlowly = function (out_arr, i, timeout_needle) { +TABS.cli.sendSlowly = function (out_arr, i, timeout_needle) { GUI.timeout_add('CLI_send_slowly', function () { var bufferOut = new ArrayBuffer(out_arr[i].length + 1); var bufView = new Uint8Array(bufferOut); @@ -94,7 +94,7 @@ tabs.cli.sendSlowly = function (out_arr, i, timeout_needle) { }, timeout_needle * 5); }; -tabs.cli.read = function (readInfo) { +TABS.cli.read = function (readInfo) { /* Some info about handling line feeds and carriage return line feed = LF = \n = 0x0A = 10 @@ -160,7 +160,7 @@ tabs.cli.read = function (readInfo) { $('.tab-cli .window .wrapper').css('webkitTransform', 'scale(1)'); }; -tabs.cli.cleanup = function(callback) { +TABS.cli.cleanup = function(callback) { var bufferOut = new ArrayBuffer(5); var bufView = new Uint8Array(bufferOut); diff --git a/tabs/default.js b/tabs/default.js index 125ebd1cb0..0d8b6ed7ab 100644 --- a/tabs/default.js +++ b/tabs/default.js @@ -1,7 +1,7 @@ 'use strict'; -tabs.default = {}; -tabs.default.initialize = function(callback) { +TABS.default = {}; +TABS.default.initialize = function(callback) { GUI.active_tab_ref = this; GUI.active_tab = 'default'; @@ -16,7 +16,7 @@ tabs.default.initialize = function(callback) { // UI Hooks $('a.firmware_flasher').click(function() { - tabs.firmware_flasher.initialize(); + TABS.firmware_flasher.initialize(); }); $('div.welcome a, div.sponsors a').click(function() { @@ -27,6 +27,6 @@ tabs.default.initialize = function(callback) { }); }; -tabs.default.cleanup = function(callback) { +TABS.default.cleanup = function(callback) { if (callback) callback(); }; \ No newline at end of file diff --git a/tabs/firmware_flasher.js b/tabs/firmware_flasher.js index 1acc9c5a65..2f49f738df 100644 --- a/tabs/firmware_flasher.js +++ b/tabs/firmware_flasher.js @@ -1,7 +1,7 @@ 'use strict'; -tabs.firmware_flasher = {}; -tabs.firmware_flasher.initialize = function (callback) { +TABS.firmware_flasher = {}; +TABS.firmware_flasher.initialize = function (callback) { GUI.active_tab_ref = this; GUI.active_tab = 'firmware_flasher'; googleAnalytics.sendAppView('Firmware Flasher'); @@ -258,7 +258,7 @@ tabs.firmware_flasher.initialize = function (callback) { $('a.back').click(function () { if (!GUI.connect_lock) { // button disabled while flashing is in progress GUI.tab_switch_cleanup(function () { - tabs.default.initialize(); + TABS.default.initialize(); }); } else { GUI.log(chrome.i18n.getMessage('firmwareFlasherWaitForFinish')); @@ -269,7 +269,7 @@ tabs.firmware_flasher.initialize = function (callback) { }); }; -tabs.firmware_flasher.cleanup = function (callback) { +TABS.firmware_flasher.cleanup = function (callback) { PortHandler.flush_callbacks(); // unbind "global" events diff --git a/tabs/gps.js b/tabs/gps.js index 777d357939..75440945e5 100644 --- a/tabs/gps.js +++ b/tabs/gps.js @@ -1,7 +1,7 @@ 'use strict'; -tabs.gps = {}; -tabs.gps.initialize = function(callback) { +TABS.gps = {}; +TABS.gps.initialize = function(callback) { GUI.active_tab_ref = this; GUI.active_tab = 'gps'; googleAnalytics.sendAppView('GPS Page'); @@ -61,6 +61,6 @@ tabs.gps.initialize = function(callback) { } }; -tabs.gps.cleanup = function(callback) { +TABS.gps.cleanup = function(callback) { if (callback) callback(); }; \ No newline at end of file diff --git a/tabs/initial_setup.js b/tabs/initial_setup.js index 2ef932f36c..5e2f3db178 100644 --- a/tabs/initial_setup.js +++ b/tabs/initial_setup.js @@ -1,9 +1,9 @@ 'use strict'; -tabs.initial_setup = { +TABS.initial_setup = { yaw_fix: 0.0 }; -tabs.initial_setup.initialize = function(callback) { +TABS.initial_setup.initialize = function(callback) { var self = this; GUI.active_tab_ref = this; GUI.active_tab = 'initial_setup'; @@ -206,7 +206,7 @@ tabs.initial_setup.initialize = function(callback) { GUI.log(chrome.i18n.getMessage('initialSetupSettingsRestored')); GUI.tab_switch_cleanup(function() { - tabs.initial_setup.initialize(); + TABS.initial_setup.initialize(); }); }); }); @@ -324,6 +324,6 @@ tabs.initial_setup.initialize = function(callback) { } }; -tabs.initial_setup.cleanup = function(callback) { +TABS.initial_setup.cleanup = function(callback) { if (callback) callback(); }; \ No newline at end of file diff --git a/tabs/logging.js b/tabs/logging.js index c458e27528..56f00ea807 100644 --- a/tabs/logging.js +++ b/tabs/logging.js @@ -1,7 +1,7 @@ 'use strict'; -tabs.logging = {}; -tabs.logging.initialize = function(callback) { +TABS.logging = {}; +TABS.logging.initialize = function(callback) { GUI.active_tab_ref = this; GUI.active_tab = 'logging'; googleAnalytics.sendAppView('Logging'); @@ -9,8 +9,6 @@ tabs.logging.initialize = function(callback) { var requested_properties = []; if (CONFIGURATOR.connectionValid) { - MSP.send_message(MSP_codes.MSP_RC, false, false, get_motor_data); - var get_motor_data = function () { MSP.send_message(MSP_codes.MSP_MOTOR, false, false, load_html); } @@ -18,6 +16,8 @@ tabs.logging.initialize = function(callback) { var load_html = function () { $('#content').load("./tabs/logging.html", process_html); } + + MSP.send_message(MSP_codes.MSP_RC, false, false, get_motor_data); } else { CONFIGURATOR.mspPassThrough = true; @@ -121,7 +121,7 @@ tabs.logging.initialize = function(callback) { GUI.tab_switch_cleanup(function() { CONFIGURATOR.mspPassThrough = false; $('#tabs > ul li').removeClass('active'); - tabs.default.initialize(); + TABS.default.initialize(); }); } }); @@ -337,6 +337,6 @@ tabs.logging.initialize = function(callback) { } }; -tabs.logging.cleanup = function(callback) { +TABS.logging.cleanup = function(callback) { if (callback) callback(); }; \ No newline at end of file diff --git a/tabs/motor_outputs.js b/tabs/motor_outputs.js index 37af7738d5..b1f5790a63 100644 --- a/tabs/motor_outputs.js +++ b/tabs/motor_outputs.js @@ -1,7 +1,7 @@ 'use strict'; -tabs.motor_outputs = {}; -tabs.motor_outputs.initialize = function(callback) { +TABS.motor_outputs = {}; +TABS.motor_outputs.initialize = function(callback) { GUI.active_tab_ref = this; GUI.active_tab = 'motor_outputs'; googleAnalytics.sendAppView('Motor Outputs Page'); @@ -373,6 +373,6 @@ tabs.motor_outputs.initialize = function(callback) { } }; -tabs.motor_outputs.cleanup = function(callback) { +TABS.motor_outputs.cleanup = function(callback) { if (callback) callback(); }; \ No newline at end of file diff --git a/tabs/pid_tuning.js b/tabs/pid_tuning.js index d641d13450..e1b04d8fa6 100644 --- a/tabs/pid_tuning.js +++ b/tabs/pid_tuning.js @@ -1,7 +1,7 @@ 'use strict'; -tabs.pid_tuning = {}; -tabs.pid_tuning.initialize = function(callback) { +TABS.pid_tuning = {}; +TABS.pid_tuning.initialize = function(callback) { GUI.active_tab_ref = this; GUI.active_tab = 'pid_tuning'; googleAnalytics.sendAppView('PID Tuning'); @@ -188,7 +188,7 @@ tabs.pid_tuning.initialize = function(callback) { GUI.log(chrome.i18n.getMessage('pidTuningLoadedProfile', [profile])); GUI.tab_switch_cleanup(function() { - tabs.pid_tuning.initialize(); + TABS.pid_tuning.initialize(); }); }); }); @@ -197,7 +197,7 @@ tabs.pid_tuning.initialize = function(callback) { GUI.tab_switch_cleanup(function() { GUI.log(chrome.i18n.getMessage('pidTuningDataRefreshed')); - tabs.pid_tuning.initialize(); + TABS.pid_tuning.initialize(); }); }); @@ -319,6 +319,6 @@ tabs.pid_tuning.initialize = function(callback) { } }; -tabs.pid_tuning.cleanup = function(callback) { +TABS.pid_tuning.cleanup = function(callback) { if (callback) callback(); } \ No newline at end of file diff --git a/tabs/receiver.js b/tabs/receiver.js index 9bfa854102..151363d963 100644 --- a/tabs/receiver.js +++ b/tabs/receiver.js @@ -1,7 +1,7 @@ 'use strict'; -tabs.receiver = {}; -tabs.receiver.initialize = function(callback) { +TABS.receiver = {}; +TABS.receiver.initialize = function(callback) { GUI.active_tab_ref = this; GUI.active_tab = 'receiver'; googleAnalytics.sendAppView('Receiver Page'); @@ -275,6 +275,6 @@ tabs.receiver.initialize = function(callback) { } }; -tabs.receiver.cleanup = function(callback) { +TABS.receiver.cleanup = function(callback) { if (callback) callback(); }; diff --git a/tabs/sensors.js b/tabs/sensors.js index 3f4e526bf5..23319553cb 100644 --- a/tabs/sensors.js +++ b/tabs/sensors.js @@ -1,7 +1,7 @@ 'use strict'; -tabs.sensors = {}; -tabs.sensors.initialize = function(callback) { +TABS.sensors = {}; +TABS.sensors.initialize = function(callback) { GUI.active_tab_ref = this; GUI.active_tab = 'sensors'; googleAnalytics.sendAppView('Sensor Page'); @@ -414,12 +414,8 @@ tabs.sensors.initialize = function(callback) { }); }; -tabs.sensors.cleanup = function(callback) { +TABS.sensors.cleanup = function(callback) { serial.empty_output_buffer(); - // sensor data tab uses scrollbars, emptying the content before loading another tab - // prevents scrollbar exposure to any of the tabs while new content is loaded in - $('#content').empty(); - if (callback) callback(); }; diff --git a/tabs/servos.js b/tabs/servos.js index d794459fd4..ac15932556 100644 --- a/tabs/servos.js +++ b/tabs/servos.js @@ -6,8 +6,8 @@ */ 'use strict'; -tabs.servos = {}; -tabs.servos.initialize = function(callback) { +TABS.servos = {}; +TABS.servos.initialize = function(callback) { GUI.active_tab_ref = this; GUI.active_tab = 'servos'; googleAnalytics.sendAppView('Servos'); @@ -310,6 +310,6 @@ tabs.servos.initialize = function(callback) { } }; -tabs.servos.cleanup = function(callback) { +TABS.servos.cleanup = function(callback) { if (callback) callback(); -}; +}; \ No newline at end of file