possibility to delete mixer rules

pull/332/head
Pawel Spychalski (DzikuVx) 7 years ago
parent a7b387a2dc
commit 14a74e76dc

@ -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…
Cancel
Save