diff options
| author | ivar <i@oiee.no> | 2025-12-07 22:42:14 +0100 |
|---|---|---|
| committer | ivar <i@oiee.no> | 2025-12-07 22:42:14 +0100 |
| commit | 13e0a6edb530a86acc56441980f6ed4d9fbf2022 (patch) | |
| tree | eead1100cb714341ef1527f3b3e7b8909dcfbe3b /code/api/wwwroot/scripts/components | |
| parent | 681192e93d96c34928d1d8a8b62bff3a0c860992 (diff) | |
| download | storage-master.tar.xz storage-master.zip | |
Diffstat (limited to 'code/api/wwwroot/scripts/components')
| -rw-r--r-- | code/api/wwwroot/scripts/components/dialog.js | 8 | ||||
| -rw-r--r-- | code/api/wwwroot/scripts/components/index.js | 3 | ||||
| -rw-r--r-- | code/api/wwwroot/scripts/components/profile-modal.js | 18 |
3 files changed, 25 insertions, 4 deletions
diff --git a/code/api/wwwroot/scripts/components/dialog.js b/code/api/wwwroot/scripts/components/dialog.js new file mode 100644 index 0000000..06fdfea --- /dev/null +++ b/code/api/wwwroot/scripts/components/dialog.js @@ -0,0 +1,8 @@ +class Dialog extends HTMLElement { + constructor() { + super(); + } +} + + +customElements.define("x-dialog", Dialog, {extends: "dialog"}); diff --git a/code/api/wwwroot/scripts/components/index.js b/code/api/wwwroot/scripts/components/index.js index ffae0e3..95b4084 100644 --- a/code/api/wwwroot/scripts/components/index.js +++ b/code/api/wwwroot/scripts/components/index.js @@ -1,4 +1,5 @@ function load_components() { + document.body.appendChild(script_tag("/scripts/components/dialog.js", 1)); document.body.appendChild(script_tag("/scripts/components/profile-modal.js", 1)); } @@ -16,4 +17,4 @@ function script_tag(scriptSrc, version) { }) } -document.addEventListener("DOMContentLoaded", load_components)
\ No newline at end of file +document.addEventListener("DOMContentLoaded", load_components) diff --git a/code/api/wwwroot/scripts/components/profile-modal.js b/code/api/wwwroot/scripts/components/profile-modal.js index acc666b..6d7ad27 100644 --- a/code/api/wwwroot/scripts/components/profile-modal.js +++ b/code/api/wwwroot/scripts/components/profile-modal.js @@ -1,16 +1,28 @@ class ProfileModal extends HTMLElement { + static observedAttributes = ["target-id"]; + #attributes = []; + constructor() { super(); + this.#attributes.push({name: "target-id", value: this.getAttribute("target-id")}); const _session = session.get_sync(); - const root = create_element("div", {}, [ + const root = create_element("template", {}, [ create_element("h4", {innerText: _session.username, style: {margin: 0}}), create_element("p", {innerText: _session.role}), create_element("button", {innerText: "Log out", classList: ["do-logout"]}), - create_element("pre", {innerText: Temporal.Now.instant().toString()}) ]); this.style.padding = "5px"; this.innerHTML = root.innerHTML; } + + attributeChangedCallback(name, oldValue, newValue) { + } } -customElements.define("profile-modal", ProfileModal); +customElements.define("profile-modal", ProfileModal, {extends: "dialog"}); + +class ElementBase extends HTMLElement { + constructor() { + super(); + } +} |
