wolfree-dockerfile/docusaurus/static/ajax/libs/wolfree/23.7.8/js/PostProcessor.js

64 lines
2.0 KiB
JavaScript

/**
* @license
* SPDX-License-Identifier: AGPL-3.0-or-later
* This file is part of Wolfree.
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
*/
// @ts-check
import Placeholder from "./Placeholder.js";
import Entrypoint from "./Entrypoint.js";
export default class PostProcessor {
process = ({ input = String(), i2d = Boolean() } = {}) => {
try {
new Placeholder().remove();
try {
document
.querySelectorAll(
"html > body > div#__next > div > main > main > div.wolfree-pods > div > div > section > section > div > div > div > details > div"
)
.forEach((element = new HTMLElement()) =>
element.setAttribute("contenteditable", "")
);
} catch (error) {
console.error(
"Fail to make the plaintext in details tags easy to copy.",
error
);
}
try {
document
.querySelectorAll(
"html > body > div#__next > div > main > main > div.wolfree-pods > div > div > section > section > div:is(:first-child) > select"
)
.forEach((element = new HTMLSelectElement()) =>
element.addEventListener(
"change",
async (event = new Event(String())) =>
Entrypoint({
input,
i2d,
extraPodstates: [
event.target instanceof HTMLSelectElement
? event.target.value
: (console.error({ event }), String()),
],
})
)
);
} catch (error) {
console.error(
"Fail to set up the drop-down menu for problem-solving strategies.",
error
);
}
} catch (error) {
console.error({ error });
}
};
}