From 70b810c65ef3ff84b33dc8cf05ba7c5ac50a61b7 Mon Sep 17 00:00:00 2001 From: Fabien Le Frapper Date: Wed, 11 Dec 2024 17:40:41 +0100 Subject: [PATCH] Remove the need of id --- jinja2/tests/iframe.html | 2 +- qfdmd/views.py | 6 ++-- .../entrypoints/assistant/script-to-iframe.ts | 34 +++++++++---------- 3 files changed, 20 insertions(+), 22 deletions(-) diff --git a/jinja2/tests/iframe.html b/jinja2/tests/iframe.html index cc82e0d28..7d5b66644 100644 --- a/jinja2/tests/iframe.html +++ b/jinja2/tests/iframe.html @@ -47,7 +47,7 @@

LE FORMULAIRE


ASSISTANT

- +
Proin ut a fames amet mi a feugiat mus quam risus iaculis egestas dignissim maecenas scelerisque tristique a leo a diam a cursus consectetur sem ac litora aliquam a. Felis vestibulum vestibulum vitae a vestibulum aliquam id egestas a proin posuere aliquam bibendum facilisis adipiscing tempor aptent nibh feugiat felis rutrum integer condimentum tincidunt. Ipsum purus nulla habitant condimentum tempor vestibulum elementum scelerisque dui at condimentum gravida a scelerisque scelerisque a adipiscing parturient ornare enim sodales vestibulum. Nec egestas est habitant tempus tristique parturient conubia consectetur parturient vestibulum quam nam platea senectus suspendisse a varius accumsan auctor vehicula velit vel. Ullamcorper a et nulla et inceptos himenaeos in hac consectetur facilisis scelerisque condimentum pharetra facilisi porttitor ut feugiat suspendisse lectus quisque fermentum nibh platea. diff --git a/qfdmd/views.py b/qfdmd/views.py index 3a985c827..ddab8a33b 100644 --- a/qfdmd/views.py +++ b/qfdmd/views.py @@ -14,13 +14,13 @@ def generate_iframe_script(request) -> str: logger.info(f"{request.resolver_match.view_name=}") - script_parts = ['"]) - return "".join(script_parts) + script_parts.append(f'src="{settings.BASE_URL}/script.js">') + return " ".join(script_parts) SEARCH_VIEW_TEMPLATE_NAME = "components/search/view.html" diff --git a/static/to_compile/entrypoints/assistant/script-to-iframe.ts b/static/to_compile/entrypoints/assistant/script-to-iframe.ts index 540fe7011..536f1c01f 100644 --- a/static/to_compile/entrypoints/assistant/script-to-iframe.ts +++ b/static/to_compile/entrypoints/assistant/script-to-iframe.ts @@ -1,24 +1,22 @@ import { iframeResize } from "iframe-resizer"; -window.addEventListener("DOMContentLoaded", () => { - const script = document.getElementById("quefairedemesdechets"); - const slug = script?.dataset?.objet; - const origin = new URL(script?.getAttribute("src")).origin - const src = `${origin}/dechet/${slug || ''}?iframe`; - const iframe = document.createElement("iframe"); +const script = document.currentScript as HTMLScriptElement +const slug = script?.dataset?.objet; +const origin = new URL(script?.getAttribute("src")).origin +const src = `${origin}/dechet/${slug || ''}?iframe`; +const iframe = document.createElement("iframe"); - const iframeAttributes = { - src, - style: "border: none; width: 100%; display: block; margin: 0 auto;", - allowfullscreen: true, - allow: "geolocation; clipboard-write", - }; +const iframeAttributes = { + src, + style: "border: none; width: 100%; display: block; margin: 0 auto;", + allowfullscreen: true, + allow: "geolocation; clipboard-write", +}; - for (var key in iframeAttributes) { - iframe.setAttribute(key, iframeAttributes[key]); - } +for (var key in iframeAttributes) { + iframe.setAttribute(key, iframeAttributes[key]); +} - iframeResize({}, iframe); +iframeResize({}, iframe); - script.parentNode.insertBefore(iframe, script); -}) +script.parentNode.insertBefore(iframe, script);