From 0bce3eaeb11db3e0205baac162861ab49373a886 Mon Sep 17 00:00:00 2001 From: Richard Haeser <richard@maxserv.com> Date: Sat, 18 Apr 2020 14:49:01 +0200 Subject: [PATCH] [BUGFIX] Fix paths to AJAX urls of Dashboard Corrected way of accessing the AJAX urls by using the dot notation. Resolves: #91113 Releases: master Change-Id: I6c3fd48707f3d45c5432ac1e11f77b0c33d577ec Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64232 Tested-by: Oliver Bartsch <bo@cedev.de> Tested-by: TYPO3com <noreply@typo3.com> Tested-by: Oliver Hader <oliver.hader@typo3.org> Reviewed-by: Oliver Bartsch <bo@cedev.de> Reviewed-by: Oliver Hader <oliver.hader@typo3.org> --- .../TypeScript/dashboard/Resources/Public/TypeScript/Grid.ts | 2 +- .../Resources/Public/TypeScript/WidgetContentCollector.ts | 2 +- typo3/sysext/dashboard/Resources/Public/JavaScript/Grid.js | 2 +- .../Resources/Public/JavaScript/WidgetContentCollector.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Build/Sources/TypeScript/dashboard/Resources/Public/TypeScript/Grid.ts b/Build/Sources/TypeScript/dashboard/Resources/Public/TypeScript/Grid.ts index 2aa1f8c647c7..6c46547801c0 100644 --- a/Build/Sources/TypeScript/dashboard/Resources/Public/TypeScript/Grid.ts +++ b/Build/Sources/TypeScript/dashboard/Resources/Public/TypeScript/Grid.ts @@ -83,7 +83,7 @@ class Grid { ]; }); - (new AjaxRequest(TYPO3.settings.ajaxUrls['dashboard_save_widget_positions'])).post({ + (new AjaxRequest(TYPO3.settings.ajaxUrls.dashboard_save_widget_positions)).post({ widgets: widgets }).then(async (response: AjaxResponse): Promise<any> => { await response.resolve(); diff --git a/Build/Sources/TypeScript/dashboard/Resources/Public/TypeScript/WidgetContentCollector.ts b/Build/Sources/TypeScript/dashboard/Resources/Public/TypeScript/WidgetContentCollector.ts index f30c8bc77ff1..c339f0e67135 100644 --- a/Build/Sources/TypeScript/dashboard/Resources/Public/TypeScript/WidgetContentCollector.ts +++ b/Build/Sources/TypeScript/dashboard/Resources/Public/TypeScript/WidgetContentCollector.ts @@ -29,7 +29,7 @@ class WidgetContentCollector { const widgetContentElement = triggerElement.querySelector('.widget-content'); const widgetErrorElement = triggerElement.querySelector('.widget-error'); - const sentRequest = (new AjaxRequest(TYPO3.settings.ajaxUrls['dashboard_get_widget_content'])) + const sentRequest = (new AjaxRequest(TYPO3.settings.ajaxUrls.dashboard_get_widget_content)) .withQueryArguments({ widget: triggerElement.dataset.widgetKey, }) diff --git a/typo3/sysext/dashboard/Resources/Public/JavaScript/Grid.js b/typo3/sysext/dashboard/Resources/Public/JavaScript/Grid.js index 7f6f59588dc2..092628a16417 100644 --- a/typo3/sysext/dashboard/Resources/Public/JavaScript/Grid.js +++ b/typo3/sysext/dashboard/Resources/Public/JavaScript/Grid.js @@ -10,4 +10,4 @@ * * The TYPO3 project - inspiring people to share! */ -define(["require","exports","muuri","TYPO3/CMS/Core/Ajax/AjaxRequest","TYPO3/CMS/Core/Event/RegularEvent"],(function(e,t,a,r,s){"use strict";return new class{constructor(){this.selector=".dashboard-grid",this.initialize()}initialize(){const e={dragEnabled:!0,dragSortHeuristics:{sortInterval:50,minDragDistance:10,minBounceBackAngle:1},layoutDuration:400,layoutEasing:"ease",dragPlaceholder:{enabled:!0,duration:400,createElement:e=>e.getElement().cloneNode(!0)},dragSortPredicate:{action:"move",threshold:30},dragStartPredicate:{handle:".js-dashboard-move-widget"},dragReleaseDuration:400,dragReleaseEasing:"ease",layout:{fillGaps:!1,rounding:!1}};if(null!==document.querySelector(this.selector)){const t=new a(this.selector,e);t.on("dragStart",()=>{document.querySelectorAll(".dashboard-item").forEach(e=>{e.classList.remove("dashboard-item--enableSelect")})}),t.on("dragReleaseEnd",()=>{document.querySelectorAll(".dashboard-item").forEach(e=>{e.classList.add("dashboard-item--enableSelect")}),this.saveItems(t)}),new s("widgetContentRendered",()=>{t.refreshItems().layout()}).delegateTo(document,".dashboard-item")}}saveItems(e){let t=e.getItems().map((function(e){return[e.getElement().getAttribute("data-widget-key"),e.getElement().getAttribute("data-widget-hash")]}));new r(TYPO3.settings.ajaxUrls["dashboard_save_widget_positions"]).post({widgets:t}).then(async e=>{await e.resolve()})}}})); +define(["require","exports","muuri","TYPO3/CMS/Core/Ajax/AjaxRequest","TYPO3/CMS/Core/Event/RegularEvent"],(function(e,t,a,r,s){"use strict";return new class{constructor(){this.selector=".dashboard-grid",this.initialize()}initialize(){const e={dragEnabled:!0,dragSortHeuristics:{sortInterval:50,minDragDistance:10,minBounceBackAngle:1},layoutDuration:400,layoutEasing:"ease",dragPlaceholder:{enabled:!0,duration:400,createElement:e=>e.getElement().cloneNode(!0)},dragSortPredicate:{action:"move",threshold:30},dragStartPredicate:{handle:".js-dashboard-move-widget"},dragReleaseDuration:400,dragReleaseEasing:"ease",layout:{fillGaps:!1,rounding:!1}};if(null!==document.querySelector(this.selector)){const t=new a(this.selector,e);t.on("dragStart",()=>{document.querySelectorAll(".dashboard-item").forEach(e=>{e.classList.remove("dashboard-item--enableSelect")})}),t.on("dragReleaseEnd",()=>{document.querySelectorAll(".dashboard-item").forEach(e=>{e.classList.add("dashboard-item--enableSelect")}),this.saveItems(t)}),new s("widgetContentRendered",()=>{t.refreshItems().layout()}).delegateTo(document,".dashboard-item")}}saveItems(e){let t=e.getItems().map((function(e){return[e.getElement().getAttribute("data-widget-key"),e.getElement().getAttribute("data-widget-hash")]}));new r(TYPO3.settings.ajaxUrls.dashboard_save_widget_positions).post({widgets:t}).then(async e=>{await e.resolve()})}}})); \ No newline at end of file diff --git a/typo3/sysext/dashboard/Resources/Public/JavaScript/WidgetContentCollector.js b/typo3/sysext/dashboard/Resources/Public/JavaScript/WidgetContentCollector.js index edd702aa284e..3d1af99b8070 100644 --- a/typo3/sysext/dashboard/Resources/Public/JavaScript/WidgetContentCollector.js +++ b/typo3/sysext/dashboard/Resources/Public/JavaScript/WidgetContentCollector.js @@ -10,4 +10,4 @@ * * The TYPO3 project - inspiring people to share! */ -define(["require","exports","TYPO3/CMS/Core/Ajax/AjaxRequest"],(function(e,t,n){"use strict";return new class{constructor(){this.selector=".dashboard-item",this.initialize()}initialize(){document.querySelectorAll(this.selector).forEach(e=>{const t=e.querySelector(".widget-waiting"),s=e.querySelector(".widget-content"),i=e.querySelector(".widget-error");new n(TYPO3.settings.ajaxUrls["dashboard_get_widget_content"]).withQueryArguments({widget:e.dataset.widgetKey}).get().then(async n=>{const i=await n.resolve();let r;null!==s&&(s.innerHTML=i.content,s.classList.remove("hide")),null!==t&&t.classList.add("hide");const a={bubbles:!0};r=Object.keys(i.eventdata).length>0?new CustomEvent("widgetContentRendered",Object.assign(Object.assign({},a),{detail:i.eventdata})):new Event("widgetContentRendered",a),e.dispatchEvent(r)}).catch(n=>{null!==i&&i.classList.remove("hide"),null!==t&&t.classList.add("hide"),console.warn(`Error while retrieving widget [${e.dataset.widgetKey}] content: ${n.message}`)})})}}})); +define(["require","exports","TYPO3/CMS/Core/Ajax/AjaxRequest"],(function(e,t,n){"use strict";return new class{constructor(){this.selector=".dashboard-item",this.initialize()}initialize(){document.querySelectorAll(this.selector).forEach(e=>{const t=e.querySelector(".widget-waiting"),s=e.querySelector(".widget-content"),i=e.querySelector(".widget-error");new n(TYPO3.settings.ajaxUrls.dashboard_get_widget_content).withQueryArguments({widget:e.dataset.widgetKey}).get().then(async n=>{const i=await n.resolve();let r;null!==s&&(s.innerHTML=i.content,s.classList.remove("hide")),null!==t&&t.classList.add("hide");const a={bubbles:!0};r=Object.keys(i.eventdata).length>0?new CustomEvent("widgetContentRendered",Object.assign(Object.assign({},a),{detail:i.eventdata})):new Event("widgetContentRendered",a),e.dispatchEvent(r)}).catch(n=>{null!==i&&i.classList.remove("hide"),null!==t&&t.classList.add("hide"),console.warn(`Error while retrieving widget [${e.dataset.widgetKey}] content: ${n.message}`)})})}}})); \ No newline at end of file -- GitLab