summaryrefslogtreecommitdiffstats
path: root/docusaurus/static/ajax/libs/wolfree/23.7.8/js/Placeholder.js
diff options
context:
space:
mode:
Diffstat (limited to 'docusaurus/static/ajax/libs/wolfree/23.7.8/js/Placeholder.js')
-rw-r--r--docusaurus/static/ajax/libs/wolfree/23.7.8/js/Placeholder.js69
1 files changed, 69 insertions, 0 deletions
diff --git a/docusaurus/static/ajax/libs/wolfree/23.7.8/js/Placeholder.js b/docusaurus/static/ajax/libs/wolfree/23.7.8/js/Placeholder.js
new file mode 100644
index 0000000..d5b45a6
--- /dev/null
+++ b/docusaurus/static/ajax/libs/wolfree/23.7.8/js/Placeholder.js
@@ -0,0 +1,69 @@
+/**
+ * @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
+
+export default class Placeholder {
+ className = "wolfree-placeholder";
+
+ placeholderHTML = `
+ <div class="${this.className}">
+ <div>
+ <div>
+ <div><div></div></div>
+ <div><div></div></div>
+ <div><div></div></div>
+ </div>
+ </div>
+ </div>
+ `;
+
+ insert = ({
+ container = document.querySelector(
+ "html > body > #__next > div > main > main > div:nth-of-type(1)"
+ ),
+ } = {}) => {
+ try {
+ return (
+ container instanceof HTMLDivElement
+ ? container.insertAdjacentHTML("afterend", this.placeholderHTML)
+ : console.error({ container }),
+ { container }
+ );
+ } catch (error) {
+ return (
+ console.error(
+ { error },
+ "Fail to insert the skeleton placeholder components."
+ ),
+ { error }
+ );
+ }
+ };
+
+ remove = ({
+ allPlaceholders = document.querySelectorAll(
+ `html > body > #__next > div > main > main > div.${this.className}`
+ ),
+ } = {}) => {
+ try {
+ return (
+ console.assert(allPlaceholders.length === 1),
+ allPlaceholders.forEach((placeholder) => placeholder.remove()),
+ { allPlaceholders }
+ );
+ } catch (error) {
+ return (
+ console.error(
+ { error },
+ "Fail to remove the skeleton placeholder components."
+ ),
+ { error }
+ );
+ }
+ };
+}