1
0
Fork 0
mirror of https://github.com/iNavFlight/inav-configurator.git synced 2025-07-16 12:55:13 +03:00

handle all sorts of edge cases that would otherwise break UI or functionality

This commit is contained in:
cTn 2014-11-11 11:59:12 +01:00
parent 97e37347d6
commit 7a0d3a1199
3 changed files with 23 additions and 8 deletions

View file

@ -141,6 +141,9 @@ STM32_protocol.prototype.initialize = function () {
self.progress_bar_e.val(0); self.progress_bar_e.val(0);
self.progress_bar_e.removeClass('valid invalid'); self.progress_bar_e.removeClass('valid invalid');
// lock some UI elements TODO needs rework
$('select[name="release"]').prop('disabled', true);
serial.onReceive.addListener(function (info) { serial.onReceive.addListener(function (info) {
self.read(info); self.read(info);
}); });
@ -671,6 +674,9 @@ STM32_protocol.prototype.upload_procedure = function (step) {
// unlocking connect button // unlocking connect button
GUI.connect_lock = false; GUI.connect_lock = false;
// unlock some UI elements TODO needs rework
$('select[name="release"]').prop('disabled', false);
// handle timing // handle timing
var timeSpent = new Date().getTime() - self.upload_time_start; var timeSpent = new Date().getTime() - self.upload_time_start;

View file

@ -6,7 +6,7 @@
<div class="options"> <div class="options">
<div class="option releases"> <div class="option releases">
<select name="release"> <select name="release">
<option value="0">Offline</option> <option value="0">Loading ...</option>
</select> </select>
<span class="description" i18n="firmwareFlasherOnlineReleasesDescription"></span> <span class="description" i18n="firmwareFlasherOnlineReleasesDescription"></span>
</div> </div>

View file

@ -68,11 +68,15 @@ TABS.firmware_flasher.initialize = function (callback) {
// bind events // bind events
$('select[name="release"]').change(function() { $('select[name="release"]').change(function() {
// hide github info (if it exists) if (!GUI.connect_lock) {
$('div.git_info').slideUp(); $('.progress').val(0).removeClass('valid invalid');
$('span.progressLabel').text(chrome.i18n.getMessage('firmwareFlasherLoadFirmwareFile'));
$('div.git_info').slideUp();
$('a.flash_firmware').addClass('locked');
}
}); });
}).fail(function () { }).fail(function () {
// Failed to load release list, offline? $('select[name="release"]').empty().append('<option value="0">Offline</option>')
}); });
// UI Hooks // UI Hooks
@ -155,7 +159,7 @@ TABS.firmware_flasher.initialize = function (callback) {
$('div.git_info .committer').text(data.commit.author.name); $('div.git_info .committer').text(data.commit.author.name);
$('div.git_info .date').text(date); $('div.git_info .date').text(date);
$('div.git_info .hash').text(data.sha.slice(-7)).prop('href', 'https://github.com/multiwii/baseflight/commit/' + data.sha); $('div.git_info .hash').text(data.sha.slice(0, 7)).prop('href', 'https://github.com/multiwii/baseflight/commit/' + data.sha);
$('div.git_info .message').text(data.commit.message); $('div.git_info .message').text(data.commit.message);
$('div.git_info').slideDown(); $('div.git_info').slideDown();
@ -172,9 +176,14 @@ TABS.firmware_flasher.initialize = function (callback) {
} }
var obj = $('select[name="release"] option:selected').data('obj'); var obj = $('select[name="release"] option:selected').data('obj');
$.get('http://firmware.baseflight.net/' + obj.file, function (data) {
process_hex(data, obj); if (obj) { // undefined while list is loading or while running offline
}).fail(failed_to_load); $.get('http://firmware.baseflight.net/' + obj.file, function (data) {
process_hex(data, obj);
}).fail(failed_to_load);
} else {
$('span.progressLabel').text(chrome.i18n.getMessage('firmwareFlasherFailedToLoadOnlineFirmware'));
}
}); });
$('a.flash_firmware').click(function () { $('a.flash_firmware').click(function () {