[BUGFIX] Fix PageTS config example of CKEditor RTE
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Documentation / Changelog / 8.6 / Feature-79196-AllowReloadOfTopbar.rst
1 .. include:: ../../Includes.txt
2
3 ========================================
4 Feature: #79196 - Allow reload of topbar
5 ========================================
6
7 See :issue:`79196`
8
9 Description
10 ===========
11
12 A new JavaScript API to reload the backend's topbar has been introduced to the TYPO3 Core.
13
14
15 Impact
16 ======
17
18 The toolbar reloading may be triggered on JavaScript and PHP code-level. To enforce the reloading on PHP side,
19 call :php:`\TYPO3\CMS\Backend\Utility\BackendUtility::setUpdateSignal('updateTopbar')`.
20
21 Reloading the topbar via JavaScript requires the following code:
22
23 .. code-block:: javascript
24
25         // Either: RequireJS style
26         define(['TYPO3/CMS/Backend/Viewport'], function(Viewport) {
27                 Viewport.Topbar.refresh();
28         });
29
30         // Or: old-fashioned JavaScript
31         if (top && top.TYPO3.Backend && top.TYPO3.Backend.Topbar) {
32                 top.TYPO3.Backend.Topbar.refresh();
33         }';
34
35
36 In case a toolbar item registers to the `load` event of the page, the registration must be changed. Reason is that the
37 event information gets lost, as the whole toolbar is rendered from scratch after a reload.
38
39 Example:
40
41 .. code-block:: javascript
42
43         define(['jquery', 'TYPO3/CMS/Backend/Viewport'], function($, Viewport) {
44                 // old registration
45                 $(MyAwesomeItem.doStuff)
46
47                 // new registration
48                 Viewport.Topbar.Toolbar.registerEvent(MyAwesomeItem.doStuff);
49         });
50
51 .. index:: Backend, JavaScript, PHP-API