diff --git a/Build/Sources/TypeScript/backend/viewport/content-container.ts b/Build/Sources/TypeScript/backend/viewport/content-container.ts index d67a6a6b8538f60cdef032b361570a763c45895a..12839a52882df962611516f0bb8c501811c7f277 100644 --- a/Build/Sources/TypeScript/backend/viewport/content-container.ts +++ b/Build/Sources/TypeScript/backend/viewport/content-container.ts @@ -13,7 +13,6 @@ import { ScaffoldIdentifierEnum } from '../enum/viewport/scaffold-identifier'; import { AbstractContainer } from './abstract-container'; -import $ from 'jquery'; import ClientRequest from '../event/client-request'; import InteractionRequest from '../event/interaction-request'; import Loader from './loader'; @@ -21,7 +20,7 @@ import TriggerRequest from '../event/trigger-request'; class ContentContainer extends AbstractContainer { public get(): Window { - return (<HTMLIFrameElement>$(ScaffoldIdentifierEnum.contentModuleIframe)[0]).contentWindow; + return (document.querySelector(ScaffoldIdentifierEnum.contentModuleIframe) as HTMLIFrameElement).contentWindow; } public beforeSetUrl(interactionRequest: InteractionRequest): Promise<void> { @@ -81,12 +80,8 @@ class ContentContainer extends AbstractContainer { return 0; } - private resolveIFrameElement(): HTMLElement { - const $iFrame = $(ScaffoldIdentifierEnum.contentModuleIframe + ':first'); - if ($iFrame.length === 0) { - return null; - } - return $iFrame.get(0); + private resolveIFrameElement(): HTMLElement|null { + return document.querySelector(ScaffoldIdentifierEnum.contentModuleIframe); } private resolveRouterElement(): HTMLElement { diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/viewport/content-container.js b/typo3/sysext/backend/Resources/Public/JavaScript/viewport/content-container.js index a38660b374921f973ff0fd7d3066588856c2648c..4c1d1d71fe37e0aa0394d287ee18ed58683d1d5b 100644 --- a/typo3/sysext/backend/Resources/Public/JavaScript/viewport/content-container.js +++ b/typo3/sysext/backend/Resources/Public/JavaScript/viewport/content-container.js @@ -10,4 +10,4 @@ * * The TYPO3 project - inspiring people to share! */ -import{ScaffoldIdentifierEnum}from"@typo3/backend/enum/viewport/scaffold-identifier.js";import{AbstractContainer}from"@typo3/backend/viewport/abstract-container.js";import $ from"jquery";import ClientRequest from"@typo3/backend/event/client-request.js";import InteractionRequest from"@typo3/backend/event/interaction-request.js";import Loader from"@typo3/backend/viewport/loader.js";import TriggerRequest from"@typo3/backend/event/trigger-request.js";class ContentContainer extends AbstractContainer{get(){return $(ScaffoldIdentifierEnum.contentModuleIframe)[0].contentWindow}beforeSetUrl(e){return this.consumerScope.invoke(new TriggerRequest("typo3.beforeSetUrl",e))}setUrl(e,t,r){const n=this.resolveRouterElement();if(null===n)return Promise.reject();t instanceof InteractionRequest||(t=new ClientRequest("typo3.setUrl",null));const o=this.consumerScope.invoke(new TriggerRequest("typo3.setUrl",t));return o.then((()=>{Loader.start(),n.setAttribute("endpoint",e),n.setAttribute("module",r||null),n.parentElement.addEventListener("typo3-module-loaded",(()=>Loader.finish()),{once:!0})})),o}getUrl(){return this.resolveRouterElement().getAttribute("endpoint")}refresh(e){const t=this.resolveIFrameElement();if(null===t)return Promise.reject();const r=this.consumerScope.invoke(new TriggerRequest("typo3.refresh",e));return r.then((()=>{t.contentWindow.location.reload()})),r}getIdFromUrl(){if(this.getUrl()){const e=new URL(this.getUrl(),window.location.origin).searchParams.get("id")??"";return parseInt(e,10)}return 0}resolveIFrameElement(){const e=$(ScaffoldIdentifierEnum.contentModuleIframe+":first");return 0===e.length?null:e.get(0)}resolveRouterElement(){return document.querySelector(ScaffoldIdentifierEnum.contentModuleRouter)}}export default ContentContainer; \ No newline at end of file +import{ScaffoldIdentifierEnum}from"@typo3/backend/enum/viewport/scaffold-identifier.js";import{AbstractContainer}from"@typo3/backend/viewport/abstract-container.js";import ClientRequest from"@typo3/backend/event/client-request.js";import InteractionRequest from"@typo3/backend/event/interaction-request.js";import Loader from"@typo3/backend/viewport/loader.js";import TriggerRequest from"@typo3/backend/event/trigger-request.js";class ContentContainer extends AbstractContainer{get(){return document.querySelector(ScaffoldIdentifierEnum.contentModuleIframe).contentWindow}beforeSetUrl(e){return this.consumerScope.invoke(new TriggerRequest("typo3.beforeSetUrl",e))}setUrl(e,t,r){const n=this.resolveRouterElement();if(null===n)return Promise.reject();t instanceof InteractionRequest||(t=new ClientRequest("typo3.setUrl",null));const o=this.consumerScope.invoke(new TriggerRequest("typo3.setUrl",t));return o.then((()=>{Loader.start(),n.setAttribute("endpoint",e),n.setAttribute("module",r||null),n.parentElement.addEventListener("typo3-module-loaded",(()=>Loader.finish()),{once:!0})})),o}getUrl(){return this.resolveRouterElement().getAttribute("endpoint")}refresh(e){const t=this.resolveIFrameElement();if(null===t)return Promise.reject();const r=this.consumerScope.invoke(new TriggerRequest("typo3.refresh",e));return r.then((()=>{t.contentWindow.location.reload()})),r}getIdFromUrl(){if(this.getUrl()){const e=new URL(this.getUrl(),window.location.origin).searchParams.get("id")??"";return parseInt(e,10)}return 0}resolveIFrameElement(){return document.querySelector(ScaffoldIdentifierEnum.contentModuleIframe)}resolveRouterElement(){return document.querySelector(ScaffoldIdentifierEnum.contentModuleRouter)}}export default ContentContainer; \ No newline at end of file