refactor(ui): Switch statement, and handle other modes in group actions

This commit is contained in:
Michael Poutre 2023-08-29 00:24:31 -07:00
parent e30d546e38
commit 6944288aff
No known key found for this signature in database
GPG Key ID: ACEAC6CFD77EB15E

View File

@ -40,15 +40,18 @@ app.registerExtension({
// Modes // Modes
// 0: Always // 0: Always
// 1: On Event
// 2: Never // 2: Never
// 3: On Trigger
// 4: Bypass // 4: Bypass
// If all nodes are the same mode, add a menu option to change the mode // If all nodes are the same mode, add a menu option to change the mode
if (allNodesAreSameMode) { if (allNodesAreSameMode) {
const mode = nodesInGroup[0].mode; const mode = nodesInGroup[0].mode;
switch (mode) {
case 0:
// All nodes are always, option to disable, and bypass // All nodes are always, option to disable, and bypass
if (mode === 0) {
options.push({ options.push({
content: "Disable Group Nodes", content: "Set Group Nodes to Never",
callback: () => { callback: () => {
for (const node of nodesInGroup) { for (const node of nodesInGroup) {
setNodeMode(node, 2); setNodeMode(node, 2);
@ -62,12 +65,12 @@ app.registerExtension({
setNodeMode(node, 4); setNodeMode(node, 4);
} }
} }
}) });
} break;
case 2:
// All nodes are never, option to enable, and bypass // All nodes are never, option to enable, and bypass
if (mode === 2) {
options.push({ options.push({
content: "Enable Group Nodes", content: "Set Group Nodes to Always",
callback: () => { callback: () => {
for (const node of nodesInGroup) { for (const node of nodesInGroup) {
setNodeMode(node, 0); setNodeMode(node, 0);
@ -81,12 +84,12 @@ app.registerExtension({
setNodeMode(node, 4); setNodeMode(node, 4);
} }
} }
}) });
} break;
case 4:
// All nodes are bypass, option to enable, and disable // All nodes are bypass, option to enable, and disable
if (mode === 4) {
options.push({ options.push({
content: "Enable Group Nodes", content: "Set Group Nodes to Always",
callback: () => { callback: () => {
for (const node of nodesInGroup) { for (const node of nodesInGroup) {
setNodeMode(node, 0); setNodeMode(node, 0);
@ -94,18 +97,46 @@ app.registerExtension({
} }
}); });
options.push({ options.push({
content: "Disable Group Nodes", content: "Set Group Nodes to Never",
callback: () => { callback: () => {
for (const node of nodesInGroup) { for (const node of nodesInGroup) {
setNodeMode(node, 2); setNodeMode(node, 2);
} }
} }
}) });
break;
default:
// All nodes are On Trigger or On Event(Or other?), option to disable, set to always, or bypass
options.push({
content: "Set Group Nodes to Always",
callback: () => {
for (const node of nodesInGroup) {
setNodeMode(node, 0);
}
}
});
options.push({
content: "Set Group Nodes to Never",
callback: () => {
for (const node of nodesInGroup) {
setNodeMode(node, 2);
}
}
});
options.push({
content: "Bypass Group Nodes",
callback: () => {
for (const node of nodesInGroup) {
setNodeMode(node, 4);
}
}
});
break;
} }
} else { } else {
// Nodes are not all the same mode, add a menu option to change the mode to always, never, or bypass // Nodes are not all the same mode, add a menu option to change the mode to always, never, or bypass
options.push({ options.push({
content: "Enable Group Nodes", content: "Set Group Nodes to Always",
callback: () => { callback: () => {
for (const node of nodesInGroup) { for (const node of nodesInGroup) {
setNodeMode(node, 0); setNodeMode(node, 0);
@ -113,7 +144,7 @@ app.registerExtension({
} }
}); });
options.push({ options.push({
content: "Disable Group Nodes", content: "Set Group Nodes to Never",
callback: () => { callback: () => {
for (const node of nodesInGroup) { for (const node of nodesInGroup) {
setNodeMode(node, 2); setNodeMode(node, 2);