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
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();
|
|
});
|
|
}
|
|
}); |