diff options
Diffstat (limited to 'docusaurus/static/ajax/libs/wolfree/23.7.8/js/PostProcessor.js')
-rw-r--r-- | docusaurus/static/ajax/libs/wolfree/23.7.8/js/PostProcessor.js | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/docusaurus/static/ajax/libs/wolfree/23.7.8/js/PostProcessor.js b/docusaurus/static/ajax/libs/wolfree/23.7.8/js/PostProcessor.js new file mode 100644 index 0000000..1061d8a --- /dev/null +++ b/docusaurus/static/ajax/libs/wolfree/23.7.8/js/PostProcessor.js @@ -0,0 +1,63 @@ +/** + * @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 }); + } + }; +} |