diff --git a/src/common/element.js b/src/common/element.js index c5171280..0af56571 100644 --- a/src/common/element.js +++ b/src/common/element.js @@ -509,6 +509,7 @@ export function component(elementModule, id) { */ export function defineElement(name, constructor) { if (!customElements.get(name)) customElements.define(name, constructor); + else console.warn(`The '${name}' element was asked to be defined again, this should be avoided. The code may have been executed multiple times.`) } /** diff --git a/src/components/orchestrator/sources/constants.js b/src/components/orchestrator/sources/constants.js new file mode 100644 index 00000000..fb098de2 --- /dev/null +++ b/src/components/orchestrator/sources/constants.js @@ -0,0 +1 @@ +export const DISABLED_KEY = "sh.diffuse.input.disabled.uris"; diff --git a/src/components/orchestrator/sources/element.js b/src/components/orchestrator/sources/element.js index c139b8e4..286c73f8 100644 --- a/src/components/orchestrator/sources/element.js +++ b/src/components/orchestrator/sources/element.js @@ -5,6 +5,8 @@ import { BroadcastableDiffuseElement, defineElement, query } from "~/common/elem import { groupTracksPerScheme } from "~/common/utils.js"; import { signal } from "~/common/signal.js"; +import { DISABLED_KEY } from "./constants.js"; + /** * @import {InputElement, Source} from "~/components/input/types.d.ts" * @import {OutputElement} from "~/components/output/types.d.ts" @@ -16,7 +18,6 @@ import { signal } from "~/common/signal.js"; class Sources extends BroadcastableDiffuseElement { static NAME = "diffuse/orchestrator/sources"; - static DISABLED_KEY = "sh.diffuse.input.disabled.uris"; // SIGNALS @@ -44,7 +45,7 @@ class Sources extends BroadcastableDiffuseElement { } const settings = await Output.data(output.settings); - const existing = settings.find((s) => s.key === Sources.DISABLED_KEY); + const existing = settings.find((s) => s.key === DISABLED_KEY); /** @type {string[]} */ let disabled = []; @@ -66,7 +67,7 @@ class Sources extends BroadcastableDiffuseElement { const value = JSON.stringify(disabled); const updated = existing ? settings.map((s) => - s.key === Sources.DISABLED_KEY ? { ...s, value } : s + s.key === DISABLED_KEY ? { ...s, value } : s ) : [ ...settings, @@ -75,7 +76,7 @@ class Sources extends BroadcastableDiffuseElement { "sh.diffuse.output.setting" ), id: crypto.randomUUID(), - key: Sources.DISABLED_KEY, + key: DISABLED_KEY, value, }, ]; diff --git a/src/facets/data/sources/index.inline.js b/src/facets/data/sources/index.inline.js index 919c015c..f1f50f0f 100644 --- a/src/facets/data/sources/index.inline.js +++ b/src/facets/data/sources/index.inline.js @@ -4,7 +4,7 @@ import * as Output from "~/common/output.js"; import foundation from "~/common/foundation.js"; import { computed, effect } from "~/common/signal.js"; -import { CLASS as Sources } from "~/components/orchestrator/sources/element.js"; +import { DISABLED_KEY as DISABLED_SOURCES_KEY } from "~/components/orchestrator/sources/constants.js"; import { SCHEME as SCHEME_EPHEMERAL_CACHE } from "~/components/input/ephemeral-cache/constants.js"; import { SCHEME as SCHEME_HTTPS } from "~/components/input/https/constants.js"; @@ -46,7 +46,7 @@ const disabledSources = computed(() => { const col = outputOrchestrator.settings.collection(); if (col.state !== "loaded") return /** @type {string[]} */ ([]); - const setting = col.data.find((s) => s.key === Sources.DISABLED_KEY); + const setting = col.data.find((s) => s.key === DISABLED_SOURCES_KEY); if (!setting) return /** @type {string[]} */ ([]); try {