TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
/*
|
||||
* This file is part of the TYPO3 CMS project.
|
||||
*
|
||||
* It is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License, either version 2
|
||||
* of the License, or any later version.
|
||||
*
|
||||
* For the full copyright and license information, please read the
|
||||
* LICENSE.txt file that was distributed with this source code.
|
||||
*
|
||||
* The TYPO3 project - inspiring people to share!
|
||||
*/
|
||||
import{ScaffoldIdentifierEnum as m}from"@typo3/backend/enum/viewport/scaffold-identifier.js";import d from"@typo3/core/document-service.js";import u from"@typo3/core/event/regular-event.js";import{ModuleUtility as l,ModuleSelector as a}from"@typo3/backend/module.js";import{selector as c}from"@typo3/core/literals.js";import s from"@typo3/backend/module-menu.js";class n{static{this.toolbarSelector=".t3js-scaffold-toolbar"}constructor(){d.ready().then(()=>{this.initializeEvents()})}registerEvent(t){d.ready().then(()=>{t()}),new u("t3-topbar-update",t).bindTo(document.querySelector(m.header))}initializeEvents(){const t=document.querySelector(n.toolbarSelector);if(t===null)return;new u("click",(r,e)=>{r.preventDefault();const i=l.getRouteFromElement(e);s.App.showModule(i.identifier,i.params,r)}).delegateTo(t,a.link);const o=r=>{const e=r.detail.module;!e||!l.getFromName(e).link||this.highlightModule(e)};document.addEventListener("typo3-module-load",o),document.addEventListener("typo3-module-loaded",o)}highlightModule(t){const o=document.querySelector(n.toolbarSelector);if(o===null)return;o.querySelectorAll(a.link+".dropdown-item").forEach(e=>{e.classList.remove("active"),e.removeAttribute("aria-current")});const r=l.getFromName(t);this.highlightModuleItem(o,r,!0)}highlightModuleItem(t,o,r){const e=t.querySelectorAll(a.link+c`[data-moduleroute-identifier="${o.name}"].dropdown-item`);return e.forEach(i=>{i.classList.add("active"),r&&i.setAttribute("aria-current","location")}),e.length>0&&(r=!1),o.parent!==""&&this.highlightModuleItem(t,l.getFromName(o.parent),r),e.length>0}}export{n as default};
|
||||
Reference in New Issue
Block a user