Files
cms-core/Documentation/Changelog/8.6/Feature-79196-AllowReloadOfTopbar.rst

54 lines
1.4 KiB
ReStructuredText

.. include:: /Includes.rst.txt
.. _feature-79196:
========================================
Feature: #79196 - Allow reload of topbar
========================================
See :issue:`79196`
Description
===========
A new JavaScript API to reload the backend's topbar has been introduced to the TYPO3 Core.
Impact
======
The toolbar reloading may be triggered on JavaScript and PHP code-level. To enforce the reloading on PHP side,
call :php:`\TYPO3\CMS\Backend\Utility\BackendUtility::setUpdateSignal('updateTopbar')`.
Reloading the topbar via JavaScript requires the following code:
.. code-block:: javascript
// Either: RequireJS style
define(['TYPO3/CMS/Backend/Viewport'], function(Viewport) {
Viewport.Topbar.refresh();
});
// Or: old-fashioned JavaScript
if (top && top.TYPO3.Backend && top.TYPO3.Backend.Topbar) {
top.TYPO3.Backend.Topbar.refresh();
};
In case a toolbar item registers to the `load` event of the page, the registration must be changed. Reason is that the
event information gets lost, as the whole toolbar is rendered from scratch after a reload.
Example:
.. code-block:: javascript
define(['jquery', 'TYPO3/CMS/Backend/Viewport'], function($, Viewport) {
// old registration
$(MyAwesomeItem.doStuff);
// new registration
Viewport.Topbar.Toolbar.registerEvent(MyAwesomeItem.doStuff);
});
.. index:: Backend, JavaScript, PHP-API