Breaking: #33805 - ClickMenu Rewrite

See forge#33805

Description

The ClickMenu has seen some major changes under the hood. This implies some refactoring within JavaScript where existing functionality is replaced by an AMD Module based on jQuery. The following JS methods are now replaced by respective methods:

  • showClickmenu_raw()

  • Clickmenu.show()

  • Clickmenu.populateData()

The new functionality is available via a global JavaScript object called TYPO3.ClickMenu which has equal functions.

Additionally the ClickMenu is now used via AJAX completely, all non-AJAX calls are not supported anymore.

Impact

All third-party extensions using alt_clickmenu.php directly in the backend, or using the above JavaScript calls directly.

Affected installations

Any installation using extensions having Backend modules using JavaScript functions for the ClickMenu inline and installations using extensions using alt_clickmenu.php directly.

Migration

Any use of "Clickmenu.show()" etc should be avoided and channelled through the according DocumentTemplate methods.

  • BackendUtility::wrapClickMenuOnIcon()

  • DocumentTemplate->getContextMenuCode()

If a backend module without a DocumentTemplate (with e.g. Extbase/Fluid) is used, this is done with a separate class and related data attribute:

<a href="#" class="t3-js-clickmenutrigger" data-table="be_users" data-uid="{record.uid}" data-listframe="1">