[!!!][FEATURE] Refactor and streamline click menu / context menu
[Packages/TYPO3.CMS.git] / typo3 / sysext / backend / Configuration / Backend / AjaxRoutes.php
1 <?php
2 use TYPO3\CMS\Backend\Controller;
3
4 /**
5 * Definitions for routes provided by EXT:backend
6 * Contains all AJAX-based routes for entry points
7 *
8 * Currently the "access" property is only used so no token creation + validation is made
9 * but will be extended further.
10 */
11 return [
12
13 // Expand or toggle in legacy file tree
14 'sc_alt_file_navframe_expandtoggle' => [
15 'path' => '/folder/tree/expand',
16 'target' => Controller\FileSystemNavigationFrameController::class . '::ajaxExpandCollapse'
17 ],
18
19 // File processing
20 'file_process' => [
21 'path' => '/file/process',
22 'target' => Controller\File\FileController::class . '::processAjaxRequest'
23 ],
24
25 // Check if file exists
26 'file_exists' => [
27 'path' => '/file/exists',
28 'target' => Controller\File\FileController::class . '::fileExistsInFolderAction'
29 ],
30
31 // Get record details of a child record in IRRE
32 'record_inline_details' => [
33 'path' => '/record/inline/details',
34 'target' => Controller\FormInlineAjaxController::class . '::detailsAction'
35 ],
36
37 // Create new inline element
38 'record_inline_create' => [
39 'path' => '/record/inline/create',
40 'target' => Controller\FormInlineAjaxController::class . '::createAction'
41 ],
42
43 // Synchronize localization
44 'record_inline_synchronizelocalize' => [
45 'path' => '/record/inline/synchronizelocalize',
46 'target' => Controller\FormInlineAjaxController::class . '::synchronizeLocalizeAction'
47 ],
48
49 // Expand / Collapse inline record
50 'record_inline_expandcollapse' => [
51 'path' => '/record/inline/expandcollapse',
52 'target' => Controller\FormInlineAjaxController::class . '::expandOrCollapseAction'
53 ],
54
55 // Add a flex form section container
56 'record_flex_container_add' => [
57 'path' => '/record/flex/containeradd',
58 'target' => Controller\FormFlexAjaxController::class . '::containerAdd',
59 ],
60
61 // FormEngine suggest wizard result generator
62 'record_suggest' => [
63 'path' => '/wizard/suggest/search',
64 'target' => \TYPO3\CMS\Backend\Controller\Wizard\SuggestWizardController::class . '::searchAction'
65 ],
66
67 // Fetch the tree-structured data from a record for the tree selection
68 'record_tree_data' => [
69 'path' => '/record/tree/fetchData',
70 'target' => Controller\FormSelectTreeAjaxController::class . '::fetchDataAction'
71 ],
72
73 // Get shortcut edit form
74 'shortcut_editform' => [
75 'path' => '/shortcut/editform',
76 'target' => \TYPO3\CMS\Backend\Backend\ToolbarItems\ShortcutToolbarItem::class . '::editFormAction'
77 ],
78
79 // Save edited shortcut
80 'shortcut_saveform' => [
81 'path' => '/shortcut/saveform',
82 'target' => \TYPO3\CMS\Backend\Backend\ToolbarItems\ShortcutToolbarItem::class . '::saveFormAction'
83 ],
84
85 // Render shortcut toolbar item
86 'shortcut_list' => [
87 'path' => '/shortcut/list',
88 'target' => \TYPO3\CMS\Backend\Backend\ToolbarItems\ShortcutToolbarItem::class . '::menuAction'
89 ],
90
91 // Delete a shortcut
92 'shortcut_remove' => [
93 'path' => '/shortcut/remove',
94 'target' => \TYPO3\CMS\Backend\Backend\ToolbarItems\ShortcutToolbarItem::class . '::removeShortcutAction'
95 ],
96
97 // Create a new shortcut
98 'shortcut_create' => [
99 'path' => '/shortcut/create',
100 'target' => \TYPO3\CMS\Backend\Backend\ToolbarItems\ShortcutToolbarItem::class . '::createShortcutAction'
101 ],
102
103 // Render systeminformtion toolbar item
104 'systeminformation_render' => [
105 'path' => '/system-information/render',
106 'target' => \TYPO3\CMS\Backend\Backend\ToolbarItems\SystemInformationToolbarItem::class . '::renderMenuAction'
107 ],
108
109 // Reload the module menu
110 'modulemenu' => [
111 'path' => '/module-menu',
112 'target' => Controller\BackendController::class . '::getModuleMenu'
113 ],
114 'topbar' => [
115 'path' => '/topbar',
116 'target' => Controller\BackendController::class . '::getTopbar'
117 ],
118
119 // Log in into backend
120 'login' => [
121 'path' => '/login',
122 'target' => \TYPO3\CMS\Backend\AjaxLoginHandler::class . '::loginAction',
123 'access' => 'public'
124 ],
125
126 // Log out from backend
127 'logout' => [
128 'path' => '/logout',
129 'target' => \TYPO3\CMS\Backend\AjaxLoginHandler::class . '::logoutAction',
130 'access' => 'public'
131 ],
132
133 // Refresh login of backend
134 'login_refresh' => [
135 'path' => '/login/refresh',
136 'target' => \TYPO3\CMS\Backend\AjaxLoginHandler::class . '::refreshAction',
137 ],
138
139 // Check if backend session has timed out
140 'login_timedout' => [
141 'path' => '/login/timedout',
142 'target' => \TYPO3\CMS\Backend\AjaxLoginHandler::class . '::isTimedOutAction',
143 'access' => 'public'
144 ],
145
146 // ExtDirect routing
147 'ext_direct_route' => [
148 'path' => '/ext-direct/route',
149 'target' => \TYPO3\CMS\Core\ExtDirect\ExtDirectRouter::class . '::routeAction',
150 'access' => 'public'
151 ],
152
153 // ExtDirect API
154 'ext_direct_api' => [
155 'path' => '/ext-direct/api',
156 'target' => \TYPO3\CMS\Core\ExtDirect\ExtDirectApi::class . '::getAPI'
157 ],
158
159 // Render flash messages
160 'flashmessages_render' => [
161 'path' => '/flashmessages/render',
162 'target' => \TYPO3\CMS\Backend\Template\DocumentTemplate::class . '::renderQueuedFlashMessages'
163 ],
164
165 // Load context menu for
166 'contextmenu' => [
167 'path' => '/context-menu',
168 'target' => Controller\ContextMenuController::class . '::getContextMenuAction'
169 ],
170
171 // Load context menu for
172 'contextmenu_clipboard' => [
173 'path' => '/context-menu/clipboard',
174 'target' => Controller\ContextMenuController::class . '::clipboardAction'
175 ],
176
177 // Process data handler commands
178 'record_process' => [
179 'path' => '/record/process',
180 'target' => Controller\SimpleDataHandlerController::class . '::processAjaxRequest'
181 ],
182
183 // Process user settings
184 'usersettings_process' => [
185 'path' => '/usersettings/process',
186 'target' => Controller\UserSettingsController::class . '::processAjaxRequest'
187 ],
188
189 // Open the image manipulation wizard
190 'wizard_image_manipulation' => [
191 'path' => '/wizard/image-manipulation',
192 'target' => \TYPO3\CMS\Backend\Form\Wizard\ImageManipulationWizard::class . '::getWizardAction'
193 ],
194
195 // Save a newly added online media
196 'livesearch' => [
197 'path' => '/livesearch',
198 'target' => Controller\LiveSearchController::class . '::liveSearchAction'
199 ],
200
201 // Save a newly added online media
202 'online_media_create' => [
203 'path' => '/online-media/create',
204 'target' => Controller\OnlineMediaController::class . '::createAction'
205 ],
206
207 // Get icon from IconFactory
208 'icons' => [
209 'path' => '/icons',
210 'target' => \TYPO3\CMS\Core\Imaging\IconFactory::class . '::processAjaxRequest'
211 ],
212
213 // Encode typolink parts on demand
214 'link_browser_encodetypolink' => [
215 'path' => '/link-browser/encode-typolink',
216 'target' => \TYPO3\CMS\Backend\Controller\LinkBrowserController::class . '::encodeTypoLink',
217 ],
218
219 // Get languages in page and colPos
220 'languages_page_colpos' => [
221 'path' => '/records/localize/get-languages',
222 'target' => Controller\Page\LocalizationController::class . '::getUsedLanguagesInPageAndColumn'
223 ],
224
225 // Get summary of records to localize
226 'records_localize_summary' => [
227 'path' => '/records/localize/summary',
228 'target' => Controller\Page\LocalizationController::class . '::getRecordLocalizeSummary'
229 ],
230
231 // Localize the records
232 'records_localize' => [
233 'path' => '/records/localize',
234 'target' => Controller\Page\LocalizationController::class . '::localizeRecords'
235 ]
236 ];