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

Add settings framework

This commit is contained in:
Pawel Spychalski (DzikuVx) 2022-05-30 13:42:27 +02:00
parent e0ef5b0261
commit cf57493fdb
5 changed files with 763 additions and 705 deletions

View file

@ -43,46 +43,60 @@ helper.defaultsDialog = (function (data) {
privateScope.wizard(selectedDefaultPreset, wizardStep + 1);
};
privateScope.wizard = function (selectedDefaultPreset, wizardStep) {
privateScope.handleTabLoadReceiver = function ($content) {
console.log('ready to handle receiver');
const steps = selectedDefaultPreset.wizardPages;
const stepsCount = selectedDefaultPreset.wizardPages.length;
const stepName = steps[wizardStep];
console.log(steps[wizardStep], wizardStep, stepsCount);
if (wizardStep >= stepsCount - 1) {
//This is the last step, time to finalize
$container.hide();
privateScope.saveAndReboot();
} else {
const $content = $container.find('.defaults-dialog__wizard');
},
$.get("./wizard/" + stepName + ".html", function(data) {
$content.html(data);
});
privateScope.wizard = function (selectedDefaultPreset, wizardStep) {
$.get("./wizard/buttons.html", function(data) {
$(data).appendTo($content);
});
const steps = selectedDefaultPreset.wizardPages;
const stepsCount = selectedDefaultPreset.wizardPages.length;
const stepName = steps[wizardStep];
$container.on('click', '#wizard-next', function () {
privateScope.saveWizardStep(selectedDefaultPreset, wizardStep);
});
console.log(steps[wizardStep], wizardStep, stepsCount);
$container.on('click', '#wizard-skip', function () {
privateScope.wizard(selectedDefaultPreset, wizardStep + 1);
});
if (wizardStep >= stepsCount - 1) {
//This is the last step, time to finalize
$container.hide();
privateScope.saveAndReboot();
} else {
const $content = $container.find('.defaults-dialog__wizard');
$container.find('.defaults-dialog__content').hide();
$container.find('.defaults-dialog__wizard').show();
savingDefaultsModal.close();
$container.show();
$.get("./wizard/" + stepName + ".html", function (data) {
$(data).appendTo($content);
}
$.get("./wizard/buttons.html", function (data) {
$(data).appendTo($content);
};
$container.on('click', '#wizard-next', function () {
privateScope.saveWizardStep(selectedDefaultPreset, wizardStep);
});
$container.on('click', '#wizard-skip', function () {
privateScope.wizard(selectedDefaultPreset, wizardStep + 1);
});
if (stepName == "receiver") {
privateScope.handleTabLoadReceiver($container);
}
Settings.configureInputs().then(
function () {
console.log('configure done');
$container.find('.defaults-dialog__content').hide();
$container.find('.defaults-dialog__wizard').show();
savingDefaultsModal.close();
$container.show();
}
);
});
});
}
};
privateScope.saveAndReboot = function () {
GUI.tab_switch_cleanup(function () {
@ -166,14 +180,14 @@ helper.defaultsDialog = (function (data) {
if (selectedDefaultPreset.id == 0) {
// Close applying preset dialog if keeping current settings.
savingDefaultsModal.close();
savingDefaultsModal.close();
}
mspHelper.loadFeatures(function () {
privateScope.setFeaturesBits(selectedDefaultPreset)
});
} else {
savingDefaultsModal.close();
savingDefaultsModal.close();
}
};