diff --git a/Build/Sources/TypeScript/dashboard/dashboard-modal.ts b/Build/Sources/TypeScript/dashboard/dashboard-modal.ts index 895a06ff30179aa55042a37c74b038e5efac8231..7e3ceb9b4ed49f6292a1cd9713be65003d369422 100644 --- a/Build/Sources/TypeScript/dashboard/dashboard-modal.ts +++ b/Build/Sources/TypeScript/dashboard/dashboard-modal.ts @@ -26,12 +26,16 @@ class DashboardModal { public initialize(): void { new RegularEvent('click', function (this: HTMLElement, e: Event): void { e.preventDefault(); + + const modalContent = new DocumentFragment(); + modalContent.append((document.getElementById(`dashboardModal-${this.dataset.modalIdentifier}`) as HTMLTemplateElement).content.cloneNode(true)); + const configuration = { type: Modal.types.default, title: this.dataset.modalTitle, size: Modal.sizes.medium, severity: SeverityEnum.notice, - content: (document.getElementById(`dashboardModal-${this.dataset.modalIdentifier}`) as HTMLTemplateElement).content.cloneNode(true), + content: modalContent, additionalCssClasses: ['dashboard-modal'], callback: (currentModal: any): void => { currentModal.on('submit', '.dashboardModal-form', (e: JQueryEventObject): void => { diff --git a/Build/Sources/TypeScript/dashboard/widget-selector.ts b/Build/Sources/TypeScript/dashboard/widget-selector.ts index 8828d83f615cb3449b9149bf8d19c0bdd6f2bd5e..d2d2efae4eda3dffdb9b0fbe89edd81d71b3a646 100644 --- a/Build/Sources/TypeScript/dashboard/widget-selector.ts +++ b/Build/Sources/TypeScript/dashboard/widget-selector.ts @@ -26,12 +26,16 @@ class WidgetSelector { public initialize(): void { new RegularEvent('click', function (this: HTMLElement, e: Event): void { e.preventDefault(); + + const modalContent = new DocumentFragment(); + modalContent.append((document.getElementById('widgetSelector') as HTMLTemplateElement).content.cloneNode(true)); + const configuration = { type: Modal.types.default, title: this.dataset.modalTitle, size: Modal.sizes.medium, severity: SeverityEnum.notice, - content: (document.getElementById('widgetSelector') as HTMLTemplateElement).content.cloneNode(true), + content: modalContent, additionalCssClasses: ['dashboard-modal'], callback: (currentModal: JQuery): void => { currentModal.on('click', 'a.dashboard-modal-item-block', (e: JQueryEventObject): void => { diff --git a/typo3/sysext/dashboard/Resources/Public/JavaScript/dashboard-modal.js b/typo3/sysext/dashboard/Resources/Public/JavaScript/dashboard-modal.js index 3ae63b28523077f106f15fa840589e1a5b1a7334..31081f59614cd5f0585b061c614d0dbfb9f8e4ed 100644 --- a/typo3/sysext/dashboard/Resources/Public/JavaScript/dashboard-modal.js +++ b/typo3/sysext/dashboard/Resources/Public/JavaScript/dashboard-modal.js @@ -10,4 +10,4 @@ * * The TYPO3 project - inspiring people to share! */ -import Modal from"@typo3/backend/modal.js";import{SeverityEnum}from"@typo3/backend/enum/severity.js";import RegularEvent from"@typo3/core/event/regular-event.js";class DashboardModal{constructor(){this.selector=".js-dashboard-modal",this.initialize()}initialize(){new RegularEvent("click",(function(t){t.preventDefault();const e={type:Modal.types.default,title:this.dataset.modalTitle,size:Modal.sizes.medium,severity:SeverityEnum.notice,content:document.getElementById("dashboardModal-"+this.dataset.modalIdentifier).content.cloneNode(!0),additionalCssClasses:["dashboard-modal"],callback:t=>{t.on("submit",".dashboardModal-form",e=>{t.trigger("modal-dismiss")}),t.on("button.clicked",e=>{if("save"===e.target.getAttribute("name")){t.find("form").trigger("submit")}else t.trigger("modal-dismiss")})},buttons:[{text:this.dataset.buttonCloseText,btnClass:"btn-default",name:"cancel"},{text:this.dataset.buttonOkText,active:!0,btnClass:"btn-info",name:"save"}]};Modal.advanced(e)})).delegateTo(document,this.selector)}}export default new DashboardModal; \ No newline at end of file +import Modal from"@typo3/backend/modal.js";import{SeverityEnum}from"@typo3/backend/enum/severity.js";import RegularEvent from"@typo3/core/event/regular-event.js";class DashboardModal{constructor(){this.selector=".js-dashboard-modal",this.initialize()}initialize(){new RegularEvent("click",(function(t){t.preventDefault();const e=new DocumentFragment;e.append(document.getElementById("dashboardModal-"+this.dataset.modalIdentifier).content.cloneNode(!0));const a={type:Modal.types.default,title:this.dataset.modalTitle,size:Modal.sizes.medium,severity:SeverityEnum.notice,content:e,additionalCssClasses:["dashboard-modal"],callback:t=>{t.on("submit",".dashboardModal-form",e=>{t.trigger("modal-dismiss")}),t.on("button.clicked",e=>{if("save"===e.target.getAttribute("name")){t.find("form").trigger("submit")}else t.trigger("modal-dismiss")})},buttons:[{text:this.dataset.buttonCloseText,btnClass:"btn-default",name:"cancel"},{text:this.dataset.buttonOkText,active:!0,btnClass:"btn-info",name:"save"}]};Modal.advanced(a)})).delegateTo(document,this.selector)}}export default new DashboardModal; \ No newline at end of file diff --git a/typo3/sysext/dashboard/Resources/Public/JavaScript/widget-selector.js b/typo3/sysext/dashboard/Resources/Public/JavaScript/widget-selector.js index 826b15d7ef67bb16cb0deb4977147b533f772f5e..2f71b884b86dcfb94f40620ac56bcd9222910a1d 100644 --- a/typo3/sysext/dashboard/Resources/Public/JavaScript/widget-selector.js +++ b/typo3/sysext/dashboard/Resources/Public/JavaScript/widget-selector.js @@ -10,4 +10,4 @@ * * The TYPO3 project - inspiring people to share! */ -import Modal from"@typo3/backend/modal.js";import{SeverityEnum}from"@typo3/backend/enum/severity.js";import RegularEvent from"@typo3/core/event/regular-event.js";class WidgetSelector{constructor(){this.selector=".js-dashboard-addWidget",this.initialize()}initialize(){new RegularEvent("click",(function(e){e.preventDefault();const t={type:Modal.types.default,title:this.dataset.modalTitle,size:Modal.sizes.medium,severity:SeverityEnum.notice,content:document.getElementById("widgetSelector").content.cloneNode(!0),additionalCssClasses:["dashboard-modal"],callback:e=>{e.on("click","a.dashboard-modal-item-block",t=>{e.trigger("modal-dismiss")})}};Modal.advanced(t)})).delegateTo(document,this.selector),document.querySelectorAll(this.selector).forEach(e=>{e.classList.remove("hide")})}}export default new WidgetSelector; \ No newline at end of file +import Modal from"@typo3/backend/modal.js";import{SeverityEnum}from"@typo3/backend/enum/severity.js";import RegularEvent from"@typo3/core/event/regular-event.js";class WidgetSelector{constructor(){this.selector=".js-dashboard-addWidget",this.initialize()}initialize(){new RegularEvent("click",(function(e){e.preventDefault();const t=new DocumentFragment;t.append(document.getElementById("widgetSelector").content.cloneNode(!0));const o={type:Modal.types.default,title:this.dataset.modalTitle,size:Modal.sizes.medium,severity:SeverityEnum.notice,content:t,additionalCssClasses:["dashboard-modal"],callback:e=>{e.on("click","a.dashboard-modal-item-block",t=>{e.trigger("modal-dismiss")})}};Modal.advanced(o)})).delegateTo(document,this.selector),document.querySelectorAll(this.selector).forEach(e=>{e.classList.remove("hide")})}}export default new WidgetSelector; \ No newline at end of file