From 9a97d86ff91f371fc13cd7900f92d8d6486d7343 Mon Sep 17 00:00:00 2001 From: Joseph Garrone Date: Mon, 16 Sep 2024 14:30:27 +0200 Subject: [PATCH] #638 #631 Follow up --- .../generateFtl/kcContextDeclarationTemplate.ftl | 13 +++++++++++++ src/login/Template.useStylesAndScripts.ts | 9 +-------- src/tools/useInsertScriptTags.ts | 2 +- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/bin/keycloakify/generateFtl/kcContextDeclarationTemplate.ftl b/src/bin/keycloakify/generateFtl/kcContextDeclarationTemplate.ftl index 51881ee4..d61b6980 100644 --- a/src/bin/keycloakify/generateFtl/kcContextDeclarationTemplate.ftl +++ b/src/bin/keycloakify/generateFtl/kcContextDeclarationTemplate.ftl @@ -85,6 +85,19 @@ attributes_to_attributesByName: { }); } window.kcContext = kcContext; + +<#if xKeycloakify.themeType == "login" > + const script = document.createElement("script"); + script.type = "importmap"; + script.textContent = JSON.stringify({ + imports: { + "rfc4648": kcContext.url.resourcesCommonPath + "/node_modules/rfc4648/lib/rfc4648.js" + } + }, null, 2); + + document.head.appendChild(script); + + function decodeHtmlEntities(htmlStr){ var element = decodeHtmlEntities.element; if (!element) { diff --git a/src/login/Template.useStylesAndScripts.ts b/src/login/Template.useStylesAndScripts.ts index 72933100..5cf7b4a0 100644 --- a/src/login/Template.useStylesAndScripts.ts +++ b/src/login/Template.useStylesAndScripts.ts @@ -55,14 +55,7 @@ export function useStylesAndScripts(params: { const { insertScriptTags } = useInsertScriptTags({ componentOrHookName: "Template", scriptTags: [ - { - type: "importmap", - textContent: JSON.stringify({ - imports: { - rfc4648: `${url.resourcesCommonPath}/node_modules/rfc4648/lib/rfc4648.js` - } - }) - }, + // NOTE: The importmap is added in by the FTL script because it's too late to add it here. { type: "module", src: `${url.resourcesPath}/js/menu-button-links.js` diff --git a/src/tools/useInsertScriptTags.ts b/src/tools/useInsertScriptTags.ts index 5cc47752..0865ba55 100644 --- a/src/tools/useInsertScriptTags.ts +++ b/src/tools/useInsertScriptTags.ts @@ -6,7 +6,7 @@ export type ScriptTag = ScriptTag.TextContent | ScriptTag.Src; export namespace ScriptTag { type Common = { - type: "text/javascript" | "module" | "importmap"; + type: "text/javascript" | "module"; }; export type TextContent = Common & {