Skip to content
Snippets Groups Projects
Commit b3854907 authored by lowercasedonkey's avatar lowercasedonkey
Browse files

allow filtering actors for validity

parent 9210ddb3
No related branches found
No related tags found
1 merge request!9579Manual event select tweaks
...@@ -5,6 +5,7 @@ App.Events.debugEvent = function(eventName) { ...@@ -5,6 +5,7 @@ App.Events.debugEvent = function(eventName) {
const frag = document.createDocumentFragment(); const frag = document.createDocumentFragment();
/** @type {App.Events.BaseEvent} */ /** @type {App.Events.BaseEvent} */
const event = eval(`new ${eventName}`); const event = eval(`new ${eventName}`);
let displayOnlyValid = false;
function makeCastList() { function makeCastList() {
const cast = document.createDocumentFragment(); const cast = document.createDocumentFragment();
...@@ -26,6 +27,24 @@ App.Events.debugEvent = function(eventName) { ...@@ -26,6 +27,24 @@ App.Events.debugEvent = function(eventName) {
function makeActorList() { function makeActorList() {
const actors = document.createDocumentFragment(); const actors = document.createDocumentFragment();
const actorReqs = event.actorPrerequisites(); const actorReqs = event.actorPrerequisites();
if (!displayOnlyValid) {
App.UI.DOM.appendNewElement("div", actors, App.UI.DOM.link(
"Show only valid slaves",
() => {
displayOnlyValid = true;
$('#actorList').empty().append(makeActorList());
}
));
} else {
App.UI.DOM.appendNewElement("div", actors, App.UI.DOM.link(
"Show all slaves",
() => {
displayOnlyValid = false;
$('#actorList').empty().append(makeActorList());
}
));
}
if (actorReqs.length === 1) { if (actorReqs.length === 1) {
actors.append(singleActorList(0)); actors.append(singleActorList(0));
} else { } else {
...@@ -41,7 +60,7 @@ App.Events.debugEvent = function(eventName) { ...@@ -41,7 +60,7 @@ App.Events.debugEvent = function(eventName) {
function singleActorList(i) { function singleActorList(i) {
let tab = App.UI.DOM.makeElement("div"); let tab = App.UI.DOM.makeElement("div");
for (const slave of V.slaves) { for (const slave of V.slaves) {
let slaveDiv = App.UI.DOM.appendNewElement("div", tab, App.UI.DOM.makeElement("span", SlaveFullName(slave), "slave-name")); let slaveDiv = App.UI.DOM.makeElement("div", App.UI.DOM.makeElement("span", SlaveFullName(slave), "slave-name"));
let slaveFails = false; let slaveFails = false;
for (const p of actorReqs[i]) { for (const p of actorReqs[i]) {
let passed = testPredicate(slaveDiv, p, slave); let passed = testPredicate(slaveDiv, p, slave);
...@@ -50,8 +69,11 @@ App.Events.debugEvent = function(eventName) { ...@@ -50,8 +69,11 @@ App.Events.debugEvent = function(eventName) {
} }
if (!slaveFails) { if (!slaveFails) {
App.UI.DOM.appendNewElement("div", slaveDiv, App.UI.DOM.link("Choose this slave", castSlave, [slave, i]), "indent"); App.UI.DOM.appendNewElement("div", slaveDiv, App.UI.DOM.link("Choose this slave", castSlave, [slave, i]), "indent");
} else if (displayOnlyValid) {
continue;
} }
App.UI.DOM.appendNewElement("hr", tab); App.UI.DOM.appendNewElement("hr", tab);
tab.append(slaveDiv);
} }
return tab; return tab;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment