[!!!][FEATURE] Refactor and streamline click menu / context menu 24/50124/73
authorTymoteusz Motylewski <t.motylewski@gmail.com>
Mon, 23 Jan 2017 13:49:26 +0000 (14:49 +0100)
committerBenni Mack <benni@typo3.org>
Tue, 7 Feb 2017 17:32:18 +0000 (18:32 +0100)
commit7b0c27c8e726e6d5bc205ee3c4b5e96f115d8218
treebb859132d5e1942681867e0747564eead5013908
parent42e986bf27009710da130a101ba6ceee77452b41
[!!!][FEATURE] Refactor and streamline click menu / context menu

This change unifies the ClickMenu functionality of the pagetree (ExtJS)
with the ClickMenu code given in other areas of the TYPO3 Backend.

The following changes are made:
* Unify the naming, it's "ContextMenu" not "ClickMenu" anymore
* Configuration for record types are unified, the clickmenu shows
  the same entries in the same order in any place.
* ExtJS-based ContextMenu is removed, all based on the new
  ContextMenu functionality.
* A new way for extending the items inside the ContextMenu
  is handled via ItemProviders, which can easily be extended.
* Configuring clickmenu items is not done based on PageTS (as it
  was handled with the ExtJS pagetree), however certain items can
  be disabled via PageTS.

Resolves: #78192
Releases: master
Change-Id: I380ac73ced10fdc7b1fdec7261e2d56da3d7d938
Reviewed-on: https://review.typo3.org/50124
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
91 files changed:
Build/Resources/Public/Less/TYPO3/_element_contextmenu.less
typo3/sysext/backend/Classes/ClickMenu/ClickMenu.php [deleted file]
typo3/sysext/backend/Classes/ContextMenu/ContextMenu.php [new file with mode: 0644]
typo3/sysext/backend/Classes/ContextMenu/ContextMenuAction.php [deleted file]
typo3/sysext/backend/Classes/ContextMenu/ContextMenuActionCollection.php [deleted file]
typo3/sysext/backend/Classes/ContextMenu/ItemProviders/AbstractProvider.php [new file with mode: 0644]
typo3/sysext/backend/Classes/ContextMenu/ItemProviders/PageProvider.php [new file with mode: 0644]
typo3/sysext/backend/Classes/ContextMenu/ItemProviders/ProviderInterface.php [new file with mode: 0644]
typo3/sysext/backend/Classes/ContextMenu/ItemProviders/RecordProvider.php [new file with mode: 0644]
typo3/sysext/backend/Classes/ContextMenu/Pagetree/ContextMenuDataProvider.php [deleted file]
typo3/sysext/backend/Classes/ContextMenu/Pagetree/Extdirect/ContextMenuConfiguration.php [deleted file]
typo3/sysext/backend/Classes/Controller/BackendController.php
typo3/sysext/backend/Classes/Controller/ClickMenuController.php [deleted file]
typo3/sysext/backend/Classes/Controller/ContentElement/NewContentElementController.php
typo3/sysext/backend/Classes/Controller/ContextMenuController.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Controller/EditDocumentController.php
typo3/sysext/backend/Classes/Controller/File/CreateFolderController.php
typo3/sysext/backend/Classes/Controller/File/FileUploadController.php
typo3/sysext/backend/Classes/Controller/File/RenameFileController.php
typo3/sysext/backend/Classes/Controller/File/ReplaceFileController.php
typo3/sysext/backend/Classes/Controller/FileSystemNavigationFrameController.php
typo3/sysext/backend/Classes/Controller/NewRecordController.php
typo3/sysext/backend/Classes/Controller/PageLayoutController.php
typo3/sysext/backend/Classes/Form/Container/OuterWrapContainer.php
typo3/sysext/backend/Classes/Template/Components/MetaInformation.php
typo3/sysext/backend/Classes/Template/DocumentTemplate.php
typo3/sysext/backend/Classes/Tree/View/FolderTreeView.php
typo3/sysext/backend/Classes/Utility/BackendUtility.php
typo3/sysext/backend/Classes/View/PageLayoutView.php
typo3/sysext/backend/Classes/View/PageTreeView.php
typo3/sysext/backend/Configuration/Backend/AjaxRoutes.php
typo3/sysext/backend/Resources/Public/Css/backend.css
typo3/sysext/backend/Resources/Public/JavaScript/ClickMenu.js [deleted file]
typo3/sysext/backend/Resources/Public/JavaScript/ContextMenu.js [new file with mode: 0644]
typo3/sysext/backend/Resources/Public/JavaScript/ContextMenuActions.js [new file with mode: 0644]
typo3/sysext/backend/Resources/Public/JavaScript/DragUploader.js
typo3/sysext/backend/Resources/Public/JavaScript/LegacyTree.js
typo3/sysext/backend/Resources/Public/JavaScript/extjs/components/pagetree/javascript/app.js
typo3/sysext/backend/Resources/Public/JavaScript/extjs/components/pagetree/javascript/contextmenu.js [deleted file]
typo3/sysext/backend/Resources/Public/JavaScript/extjs/components/pagetree/javascript/loadorder.txt
typo3/sysext/backend/Resources/Public/JavaScript/extjs/components/pagetree/javascript/nodeui.js
typo3/sysext/backend/Resources/Public/JavaScript/extjs/components/pagetree/javascript/tree.js
typo3/sysext/beuser/Classes/ContextMenu/ItemProvider.php [new file with mode: 0644]
typo3/sysext/beuser/Classes/Hook/BackendControllerHook.php [new file with mode: 0644]
typo3/sysext/beuser/Resources/Private/Layouts/Default.html
typo3/sysext/beuser/Resources/Private/Partials/BackendUser/IndexListRow.html
typo3/sysext/beuser/Resources/Private/Partials/BackendUser/OnlineListRow.html
typo3/sysext/beuser/Resources/Private/Partials/BackendUserGroup/IndexListRow.html
typo3/sysext/beuser/Resources/Private/Templates/BackendUser/Compare.html
typo3/sysext/beuser/Resources/Private/Templates/BackendUser/Index.html
typo3/sysext/beuser/Resources/Public/JavaScript/ContextMenuActions.js [new file with mode: 0644]
typo3/sysext/beuser/ext_localconf.php
typo3/sysext/beuser/ext_tables.php
typo3/sysext/core/Classes/Core/Bootstrap.php
typo3/sysext/core/Configuration/DefaultConfiguration.php
typo3/sysext/core/Documentation/Changelog/master/Breaking-78192-RefactorClickMenuContextMenu.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/master/Feature-78192-RefactorClickMenuContextMenu.rst [new file with mode: 0644]
typo3/sysext/core/Resources/Public/JavaScript/Contrib/extjs/ext-all-debug.js
typo3/sysext/core/Resources/Public/JavaScript/Contrib/extjs/ext-all.js
typo3/sysext/filelist/Classes/ContextMenu/ItemProviders/FileDragProvider.php [new file with mode: 0644]
typo3/sysext/filelist/Classes/ContextMenu/ItemProviders/FileProvider.php [new file with mode: 0644]
typo3/sysext/filelist/Classes/ContextMenu/ItemProviders/FileStorageProvider.php [new file with mode: 0644]
typo3/sysext/filelist/Classes/ContextMenu/ItemProviders/FilemountsProvider.php [new file with mode: 0644]
typo3/sysext/filelist/Classes/Controller/FileListController.php
typo3/sysext/filelist/Classes/FileList.php
typo3/sysext/filelist/Classes/Hook/BackendControllerHook.php [new file with mode: 0644]
typo3/sysext/filelist/Classes/ViewHelpers/Link/ClickMenuOnIconViewHelper.php
typo3/sysext/filelist/Resources/Public/JavaScript/ContextMenuActions.js [new file with mode: 0644]
typo3/sysext/filelist/ext_localconf.php [new file with mode: 0644]
typo3/sysext/filelist/ext_tables.php
typo3/sysext/fluid/Classes/ViewHelpers/Be/ContainerViewHelper.php
typo3/sysext/fluid/Classes/ViewHelpers/Be/PageInfoViewHelper.php
typo3/sysext/func/Classes/Controller/PageFunctionsController.php
typo3/sysext/impexp/Classes/Clickmenu.php [deleted file]
typo3/sysext/impexp/Classes/ContextMenu/ItemProvider.php [new file with mode: 0644]
typo3/sysext/impexp/Classes/Controller/ImportExportController.php
typo3/sysext/impexp/Classes/Hook/ContextMenuDisableItemsHook.php [deleted file]
typo3/sysext/impexp/Resources/Public/JavaScript/ContextMenuActions.js [new file with mode: 0644]
typo3/sysext/impexp/ext_tables.php
typo3/sysext/info/Classes/Controller/InfoModuleController.php
typo3/sysext/lang/Resources/Private/Language/locallang_misc.xlf
typo3/sysext/recordlist/Classes/RecordList.php
typo3/sysext/sys_action/Classes/ActionTask.php
typo3/sysext/sys_note/Resources/Private/Templates/Note/List.html
typo3/sysext/tstemplate/Classes/Controller/TypoScriptTemplateModuleController.php
typo3/sysext/tstemplate/Resources/Private/Templates/InformationModule.html
typo3/sysext/version/Classes/ClickMenu/VersionClickMenu.php [deleted file]
typo3/sysext/version/Classes/ContextMenu/ItemProvider.php [new file with mode: 0644]
typo3/sysext/version/Classes/Controller/VersionModuleController.php
typo3/sysext/version/Resources/Public/JavaScript/ContextMenuActions.js [new file with mode: 0644]
typo3/sysext/version/ext_tables.php