Skip to content

Commit bb80b18

Browse files
committed
cleanup referencedScripts/referencedStyles to shared references
1 parent 9f90c11 commit bb80b18

File tree

1 file changed

+32
-45
lines changed

1 file changed

+32
-45
lines changed

src/Aardvark.UI/resources/aardvark.js

Lines changed: 32 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -97,17 +97,12 @@ if (!aardvark.channels) {
9797
aardvark.channels = {};
9898
}
9999

100-
if (!aardvark.referencedScripts) {
101-
console.debug("[Aardvark] creating aardvark-script-references");
102-
aardvark.referencedScripts = {};
100+
if (!aardvark.references) {
101+
console.debug("[Aardvark] creating aardvark-references");
102+
aardvark.references = {};
103103
}
104104

105-
if (!aardvark.referencedStyles) {
106-
console.debug("[Aardvark] creating aardvark-stylesheet-references");
107-
aardvark.referencedStyles = {};
108-
}
109-
110-
aardvark.referencedScripts["jquery"] = true;
105+
aardvark.references["jquery-script"] = true;
111106

112107
if (!aardvark.processEvent) {
113108
console.debug("[Aardvark] creating aardvark-event-processor");
@@ -879,48 +874,40 @@ if (!aardvark.addReferences) {
879874
const name = ref.name;
880875
const url = ref.url;
881876

882-
const key = `${name}-${kind}`; // allow using identical names for stylesheet and scripts
877+
const key = `${name}-${kind}`; // allow using identical names for stylesheet and scripts tracked in single dictionary
883878

884-
if (aardvark.referencedScripts[key]) {
879+
if (aardvark.references[key]) {
885880
return resolve();
886881
}
887882

888-
aardvark.referencedScripts[key] = true;
883+
aardvark.references[key] = true;
889884

890-
if (kind === "script" || kind === "module") {
891-
892-
const script = document.createElement("script");
893-
const cc = function (evt) {
894-
console.debug(`[Aardvark] referenced ${kind} "${name}" (${url})`);
895-
resolve();
896-
};
897-
const err = function (evt) {
898-
console.warn(`[Aardvark] failed to referenced ${kind} "${name}" (${url})`);
899-
resolve();
900-
};
901-
script.src = url;
902-
script.async = true;
903-
if (kind === "module") script.type = "module";
904-
script.addEventListener("load", cc);
905-
script.addEventListener("error", err);
906-
document.getElementsByTagName("script")[0].parentNode.appendChild(script);
885+
const isScript = kind === "script" || kind === "module";
886+
const refElem = document.createElement(isScript ? "script" : "link");
887+
const cc = function (evt) {
888+
console.debug(`[Aardvark] referenced ${kind} "${name}" (${url})`);
889+
resolve();
890+
};
891+
const err = function (evt) {
892+
console.warn(`[Aardvark] failed to reference ${kind} "${name}" (${url})`);
893+
resolve();
894+
};
895+
896+
refElem.addEventListener("load", cc);
897+
refElem.addEventListener("error", err);
898+
899+
if (isScript) {
900+
if (kind === "module") {
901+
refElem.type = "module";
902+
}
903+
refElem.src = url;
904+
refElem.async = true;
905+
document.getElementsByTagName("script")[0].parentNode.appendChild(refElem);
907906
}
908-
else {
909-
910-
const script = document.createElement("link");
911-
const cc = function (evt) {
912-
console.debug("[Aardvark] referenced stylesheet \"" + name + "\" (" + url + ")");
913-
resolve();
914-
};
915-
const err = function (evt) {
916-
console.warn("[Aardvark] failed to reference stylesheet \"" + name + "\" (" + url + ")");
917-
resolve();
918-
};
919-
script.addEventListener("load", cc);
920-
script.addEventListener("error", err);
921-
script.setAttribute("rel", "stylesheet");
922-
script.setAttribute("href", url);
923-
document.head.appendChild(script);
907+
else {
908+
refElem.setAttribute("rel", "stylesheet");
909+
refElem.setAttribute("href", url);
910+
document.head.appendChild(refElem);
924911
}
925912
});
926913
}

0 commit comments

Comments
 (0)