Update elementsManager.js
This commit is contained in:
parent
c058e483f8
commit
b23587b7d5
|
|
@ -296,7 +296,7 @@ if (enabledMods.includes("mods/betterMenuScreens.js")) {
|
||||||
|
|
||||||
const applyChange = (property, value) => {
|
const applyChange = (property, value) => {
|
||||||
const element = Storage.get("currentElement");
|
const element = Storage.get("currentElement");
|
||||||
if (elements[element])
|
if (element && elements[element])
|
||||||
elements[element][property] = value;
|
elements[element][property] = value;
|
||||||
let changes = Storage.get("changes", []);
|
let changes = Storage.get("changes", []);
|
||||||
let a;
|
let a;
|
||||||
|
|
@ -320,6 +320,7 @@ if (enabledMods.includes("mods/betterMenuScreens.js")) {
|
||||||
let customElements = Storage.get("elements", []);
|
let customElements = Storage.get("elements", []);
|
||||||
let deletedElements = Storage.get("deletedElements", []);
|
let deletedElements = Storage.get("deletedElements", []);
|
||||||
let lastFreeRemoval = Storage.get("settings", {allowFreeRemoval: false, clearElements: false}, true).allowFreeRemoval;
|
let lastFreeRemoval = Storage.get("settings", {allowFreeRemoval: false, clearElements: false}, true).allowFreeRemoval;
|
||||||
|
Storage.set("lastFreeRemoval", lastFreeRemoval);
|
||||||
for (const key of Object.keys(elements).concat(customElements.map(e => e.name)).sort((a, b) => a.localeCompare(b, undefined, {caseFirst: "false"}))) {
|
for (const key of Object.keys(elements).concat(customElements.map(e => e.name)).sort((a, b) => a.localeCompare(b, undefined, {caseFirst: "false"}))) {
|
||||||
const element = document.createElement("li");
|
const element = document.createElement("li");
|
||||||
const text = span(key); // only the text should be clickable
|
const text = span(key); // only the text should be clickable
|
||||||
|
|
@ -376,7 +377,7 @@ if (enabledMods.includes("mods/betterMenuScreens.js")) {
|
||||||
filterInput.placeholder = "Search elements...";
|
filterInput.placeholder = "Search elements...";
|
||||||
filterInput.onkeyup = (ev) => {
|
filterInput.onkeyup = (ev) => {
|
||||||
const val = ev.target.value;
|
const val = ev.target.value;
|
||||||
const deleted = Storage.get("deletedElements");
|
const deleted = Storage.get("deletedElements", []);
|
||||||
for (const c of document.getElementById("elementsList").children) {
|
for (const c of document.getElementById("elementsList").children) {
|
||||||
const span_ = c.querySelector("span");
|
const span_ = c.querySelector("span");
|
||||||
if (!span_.innerText.toLowerCase().includes(val.toLowerCase()) || deleted.includes(span_.innerText)) {
|
if (!span_.innerText.toLowerCase().includes(val.toLowerCase()) || deleted.includes(span_.innerText)) {
|
||||||
|
|
@ -646,7 +647,7 @@ if (enabledMods.includes("mods/betterMenuScreens.js")) {
|
||||||
const createButton = span("Create Element");
|
const createButton = span("Create Element");
|
||||||
createButton.className = "createButton";
|
createButton.className = "createButton";
|
||||||
createButton.onclick = () => {
|
createButton.onclick = () => {
|
||||||
const elementData = Storage.get("newElement");
|
const elementData = Storage.get("newElement", {});
|
||||||
if (!elementData["name"]) {
|
if (!elementData["name"]) {
|
||||||
document.getElementById("elementsManager/creator/meta/name/required").style.display = "";
|
document.getElementById("elementsManager/creator/meta/name/required").style.display = "";
|
||||||
}
|
}
|
||||||
|
|
@ -759,10 +760,10 @@ if (enabledMods.includes("mods/betterMenuScreens.js")) {
|
||||||
clearElementsButton.type = "button";
|
clearElementsButton.type = "button";
|
||||||
if (settings && settings.clearElements) {
|
if (settings && settings.clearElements) {
|
||||||
clearElementsButton.value = "ON";
|
clearElementsButton.value = "ON";
|
||||||
clearElementsButton.state = "1";
|
clearElementsButton.setAttribute("state", "1");
|
||||||
} else {
|
} else {
|
||||||
clearElementsButton.value = "OFF";
|
clearElementsButton.value = "OFF";
|
||||||
clearElementsButton.state = "0";
|
clearElementsButton.setAttribute("state", "0");
|
||||||
}
|
}
|
||||||
clearElementsButton.onclick = (ev) => {
|
clearElementsButton.onclick = (ev) => {
|
||||||
toggleSetting("clearElements", ev.target)
|
toggleSetting("clearElements", ev.target)
|
||||||
|
|
@ -776,13 +777,13 @@ if (enabledMods.includes("mods/betterMenuScreens.js")) {
|
||||||
allowRemovalButton.type = "button";
|
allowRemovalButton.type = "button";
|
||||||
if (settings && settings.allowFreeRemoval) {
|
if (settings && settings.allowFreeRemoval) {
|
||||||
allowRemovalButton.value = "ON";
|
allowRemovalButton.value = "ON";
|
||||||
allowRemovalButton.state = "1";
|
allowRemovalButton.setAttribute("state", "1");
|
||||||
} else {
|
} else {
|
||||||
allowRemovalButton.value = "OFF";
|
allowRemovalButton.value = "OFF";
|
||||||
allowRemovalButton.state = "0";
|
allowRemovalButton.setAttribute("state", "0");
|
||||||
}
|
}
|
||||||
allowRemovalButton.onclick = (ev) => {
|
allowRemovalButton.onclick = (ev) => {
|
||||||
toggleSetting("allowFreeRemoval", ev.target)
|
toggleSetting("allowFreeRemoval", ev.target);
|
||||||
}
|
}
|
||||||
allowRemovalDiv.appendChild(allowRemovalButton);
|
allowRemovalDiv.appendChild(allowRemovalButton);
|
||||||
general.appendChild(allowRemovalDiv);
|
general.appendChild(allowRemovalDiv);
|
||||||
|
|
@ -885,8 +886,9 @@ if (enabledMods.includes("mods/betterMenuScreens.js")) {
|
||||||
loader: elementManagerLoader,
|
loader: elementManagerLoader,
|
||||||
preOpen: () => {
|
preOpen: () => {
|
||||||
const currentElement = Storage.get("currentElement");
|
const currentElement = Storage.get("currentElement");
|
||||||
|
if (!currentElement) return closeMenu();
|
||||||
const element = elements[currentElement];
|
const element = elements[currentElement];
|
||||||
if (!element) closeMenu();
|
if (!element) return closeMenu();
|
||||||
for (const key of Object.keys(properties)) {
|
for (const key of Object.keys(properties)) {
|
||||||
for (const prop of properties[key]) {
|
for (const prop of properties[key]) {
|
||||||
const id = "elementsManager/" + key + "/" + prop.name;
|
const id = "elementsManager/" + key + "/" + prop.name;
|
||||||
|
|
@ -1080,6 +1082,7 @@ if (enabledMods.includes("mods/betterMenuScreens.js")) {
|
||||||
onClose: () => {
|
onClose: () => {
|
||||||
const settings = Storage.get("settings", {allowFreeRemoval: false, clearElements: false}, true);
|
const settings = Storage.get("settings", {allowFreeRemoval: false, clearElements: false}, true);
|
||||||
const elements_ = Storage.get("elements", []).map(e => e.name);
|
const elements_ = Storage.get("elements", []).map(e => e.name);
|
||||||
|
const lastFreeRemoval = Storage.get("lastFreeRemoval", false);
|
||||||
if (settings.allowFreeRemoval && !lastFreeRemoval) {
|
if (settings.allowFreeRemoval && !lastFreeRemoval) {
|
||||||
for (const li of document.getElementById("elementsList").children) {
|
for (const li of document.getElementById("elementsList").children) {
|
||||||
const name = li.querySelector("span").innerText
|
const name = li.querySelector("span").innerText
|
||||||
|
|
@ -1115,7 +1118,7 @@ if (enabledMods.includes("mods/betterMenuScreens.js")) {
|
||||||
li.querySelectorAll(".elementRemoveButton").forEach(e => e.remove());
|
li.querySelectorAll(".elementRemoveButton").forEach(e => e.remove());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
lastFreeRemoval = settings.allowFreeRemoval;
|
Storage.set("lastFreeRemoval", settings.allowFreeRemoval);
|
||||||
openMenu("elementsManager", true);
|
openMenu("elementsManager", true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue