mirror of
https://github.com/iNavFlight/inav-configurator.git
synced 2025-07-25 17:25:14 +03:00
possibility to delete mixer rules
This commit is contained in:
parent
a7b387a2dc
commit
14a74e76dc
2 changed files with 46 additions and 18 deletions
20
js/model.js
20
js/model.js
|
@ -555,7 +555,15 @@ helper.mixer = (function (mixerList) {
|
|||
|
||||
for (const i in mixer.servoMixer) {
|
||||
if (mixer.servoMixer.hasOwnProperty(i)) {
|
||||
SERVO_RULES.put(mixer.servoMixer[i]);
|
||||
const r = mixer.servoMixer[i];
|
||||
SERVO_RULES.put(
|
||||
new ServoMixRule(
|
||||
r.getTarget(),
|
||||
r.getInput(),
|
||||
r.getRate(),
|
||||
r.getSpeed()
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -565,7 +573,15 @@ helper.mixer = (function (mixerList) {
|
|||
|
||||
for (const i in mixer.motorMixer) {
|
||||
if (mixer.motorMixer.hasOwnProperty(i)) {
|
||||
MOTOR_RULES.put(mixer.motorMixer[i]);
|
||||
const r = mixer.motorMixer[i];
|
||||
MOTOR_RULES.put(
|
||||
new MotorMixRule(
|
||||
r.getThrottle(),
|
||||
r.getRoll(),
|
||||
r.getPitch(),
|
||||
r.getYaw()
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,11 @@ TABS.mixer.initialize = function (callback, scrollPosition) {
|
|||
let loadChainer = new MSPChainerClass(),
|
||||
saveChainer = new MSPChainerClass(),
|
||||
currentPlatform,
|
||||
currentMixerPreset;
|
||||
currentMixerPreset,
|
||||
$servoMixTable,
|
||||
$servoMixTableBody,
|
||||
$motorMixTable,
|
||||
$motorMixTableBody;
|
||||
|
||||
if (GUI.active_tab != 'mixer') {
|
||||
GUI.active_tab = 'mixer';
|
||||
|
@ -40,10 +44,6 @@ TABS.mixer.initialize = function (callback, scrollPosition) {
|
|||
}
|
||||
|
||||
function renderServoMixRules() {
|
||||
|
||||
var $servoMixTable = $('#servo-mix-table'),
|
||||
$servoMixTableBody = $servoMixTable.find('tbody');
|
||||
|
||||
/*
|
||||
* Process servo mix table UI
|
||||
*/
|
||||
|
@ -59,7 +59,7 @@ TABS.mixer.initialize = function (callback, scrollPosition) {
|
|||
<td><select class="mix-rule-input"></select></td>\
|
||||
<td><input type="number" class="mix-rule-rate" step="1" min="-100" max="100" /></td>\
|
||||
<td><input type="number" class="mix-rule-speed" step="1" min="0" max="255" /></td>\
|
||||
<td><span class="btn default_btn narrow red"><a href="#" data-role="role-delete" data-i18n="servoMixerDelete"></a></span></td>\
|
||||
<td><span class="btn default_btn narrow red"><a href="#" data-role="role-servo-delete" data-i18n="servoMixerDelete"></a></span></td>\
|
||||
</tr>\
|
||||
');
|
||||
|
||||
|
@ -83,7 +83,7 @@ TABS.mixer.initialize = function (callback, scrollPosition) {
|
|||
servoRule.setSpeed($(this).val());
|
||||
});
|
||||
|
||||
$row.find("[data-role='role-delete']").attr("data-index", servoRuleIndex);
|
||||
$row.find("[data-role='role-servo-delete']").attr("data-index", servoRuleIndex);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -92,39 +92,36 @@ TABS.mixer.initialize = function (callback, scrollPosition) {
|
|||
|
||||
function renderMotorMixRules() {
|
||||
|
||||
var $table = $('#motor-mix-table'),
|
||||
$tableBody = $table.find('tbody');
|
||||
|
||||
/*
|
||||
* Process servo mix table UI
|
||||
* Process motor mix table UI
|
||||
*/
|
||||
var rules = MOTOR_RULES.get();
|
||||
$tableBody.find("*").remove();
|
||||
$motorMixTableBody.find("*").remove();
|
||||
let index = 0;
|
||||
for (const i in rules) {
|
||||
if (rules.hasOwnProperty(i)) {
|
||||
const rule = rules[i];
|
||||
index++;
|
||||
|
||||
$tableBody.append('\
|
||||
$motorMixTableBody.append('\
|
||||
<tr>\
|
||||
<td><span class="mix-rule-motor"></span></td>\
|
||||
<td><input type="number" class="mix-rule-throttle" step="0.001" min="0" max="1" /></td>\
|
||||
<td><input type="number" class="mix-rule-roll" step="0.001" min="-1" max="1" /></td>\
|
||||
<td><input type="number" class="mix-rule-pitch" step="0.001" min="-1" max="1" /></td>\
|
||||
<td><input type="number" class="mix-rule-yaw" step="0.001" min="-1" max="1" /></td>\
|
||||
<td><span class="btn default_btn narrow red"><a href="#" data-role="role-delete" data-i18n="servoMixerDelete"></a></span></td>\
|
||||
<td><span class="btn default_btn narrow red"><a href="#" data-role="role-motor-delete" data-i18n="servoMixerDelete"></a></span></td>\
|
||||
</tr>\
|
||||
');
|
||||
|
||||
const $row = $tableBody.find('tr:last');
|
||||
const $row = $motorMixTableBody.find('tr:last');
|
||||
|
||||
$row.find('.mix-rule-motor').html(index);
|
||||
$row.find('.mix-rule-throttle').val(rule.getThrottle());
|
||||
$row.find('.mix-rule-roll').val(rule.getRoll());
|
||||
$row.find('.mix-rule-pitch').val(rule.getPitch());
|
||||
$row.find('.mix-rule-yaw').val(rule.getYaw());
|
||||
$row.find("[data-role='role-delete']").attr("data-index", i);
|
||||
$row.find("[data-role='role-motor-delete']").attr("data-index", i);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -133,6 +130,11 @@ TABS.mixer.initialize = function (callback, scrollPosition) {
|
|||
|
||||
function processHtml() {
|
||||
|
||||
$servoMixTable = $('#servo-mix-table');
|
||||
$servoMixTableBody = $servoMixTable.find('tbody');
|
||||
$motorMixTable = $('#motor-mix-table');
|
||||
$motorMixTableBody = $motorMixTable.find('tbody');
|
||||
|
||||
function fillMixerPreset() {
|
||||
let mixers = helper.mixer.getByPlatform(MIXER_CONFIG.platformType);
|
||||
|
||||
|
@ -208,6 +210,16 @@ TABS.mixer.initialize = function (callback, scrollPosition) {
|
|||
renderMotorMixRules();
|
||||
});
|
||||
|
||||
$servoMixTableBody.on('click', "[data-role='role-servo-delete']", function (event) {
|
||||
SERVO_RULES.drop($(event.currentTarget).attr("data-index"));
|
||||
renderServoMixRules();
|
||||
});
|
||||
|
||||
$motorMixTableBody.on('click', "[data-role='role-motor-delete']", function (event) {
|
||||
MOTOR_RULES.drop($(event.currentTarget).attr("data-index"));
|
||||
renderMotorMixRules();
|
||||
});
|
||||
|
||||
localize();
|
||||
GUI.content_ready(callback);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue