You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

42 lines
977 B

const $ = selector => {
const elements = document.querySelectorAll(selector);
return elements.length === 1 ? elements[0] : elements;
};
const Services = {};
const SaveServices = () => {
const body = new FormData();
body.append("nonce", wpsi.nonce);
body.append("action", "wpsi-ajax");
body.append("services", JSON.stringify(Services));
fetch(wpsi.adminURL, {
method : "POST",
body
}).catch(error => console.error(error));
};
document.addEventListener("DOMContentLoaded", () => {
inputs = $(".wpsi-icon-selector");
for (const input of inputs) {
if (!(input instanceof HTMLElement))
continue;
const service = input.getAttribute("data-icon");
if (!service || service === "")
continue;
const value = input.value;
if (value && value !== "")
Services[service] = value;
if (value === "")
delete Services[service];
input.addEventListener("change", event => {
Services[service] = event.target.value;
SaveServices();
});
}
});