BE JS in 9.4
Once the extension is activated, a Page view results in this JS error:
TypeError: AjaxDataHandler.identifier is undefined
resulting e.g. in the small contextmenu of each content element not opening anymore.
There are several other issues caused by massive changes in the JS modules provided by the core.
The problem is, that JS is now generated using TypeScript and the result then is minified before creating the JS files.
So the variables of AjaxDataHandler, DragDrop and other modules are not available with their former name and at their former position anymore.
This is why we have to rewrite the Gridelements JS modules to match the new core module code style.
#2 Updated by Markus Timtner 8 months ago
Since the content element wizard in v9 is handled via modal by default, is the drag&drop wizard still needed at all?
IMHO the drag&drop wizard could be dropped completely in favor of a working modal wizard -
that would also simplify the codebase. What do you think?
#3 Updated by Jo Hasenau 8 months ago
Will check that against the current state of CMS 9 LTS tomorrow.
Actually the modal wizard in the core was just meant to be the first step on the way to an official Drag In Wizard.
So Gridelements could still provide a kind of prototype for that feature, which it already did regarding other features from the very beginning.
i.e. the Page Module Drag & Drop, Copy & Paste as Reference Modals, Press CTRL to Copy and other features were provided by Gridelements before they were implemented in the core.
Still the first step could be to just remove the old Drag In Wizard to get rid of the JS error.
#4 Updated by Markus Timtner 8 months ago
- % Done changed from 0 to 90
- Complexity set to easy
The solution to this is really easy - one just need to add
AjaxDataHandler.identifier = ;
It seems that the AjaxDataHandler Object changed in T3v9.
will try to commit this now.
#5 Updated by Markus Timtner 8 months ago
- File 0001-85665-fixed-BE-JS-error.patch added
- Has patch set to Yes
So, attached you will find my patch file, thank you @fjacobi!
JS functionality is restored with this.
Unfortunately, this leads to some other bugs, which are related to GridElementsDragDrop.js
Will file them seperately now.
#13 Updated by Coders.Care Extension Team 7 months ago
The fix is not resolving all the JS related problems, but the actual problem is the same.
So that's why the "fix" actually does not fix the problem, but just creates a workaround.
The actual problem is, that the original JS modules of the core have been rewritten in TypeScript and then minified.
So any of the existing variables is not available in the former place anymore.
Since this ticket is more generic than #86764, we kept it open and closed the other.
#16 Updated by Coders.Care Extension Team 7 months ago
Because we have to tackle the JS related issues within one go, since they are NOT just related to a specific topic but caused by a complete change of core variables.
So the topic "BE JS in 9.4" is the one that will stay to tackle BE JS related issues later on.
Don't worry, the CSH menu issue will be solved then as well, but the ticket is closed as a duplicate, since the cause for each ticket is the same.