From 06646f957177a30e4047a79f4a32effdaddd92e4 Mon Sep 17 00:00:00 2001 From: Eugen Neuber <eugen.neuber@tugraz.at> Date: Wed, 2 Jun 2021 14:26:24 +0200 Subject: [PATCH] Add "part" to side menu item in AppShell --- packages/app-shell/src/app-shell.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/app-shell/src/app-shell.js b/packages/app-shell/src/app-shell.js index f3df2fb2..e13fdef0 100644 --- a/packages/app-shell/src/app-shell.js +++ b/packages/app-shell/src/app-shell.js @@ -344,6 +344,10 @@ export class AppShell extends ScopedElementsMixin(AdapterLitElement) { // if not the current page was clicked we need to check if the page can be left if (!e.currentTarget.className.includes("selected")) { + this.shadowRoot.querySelectorAll('li > a').forEach( + (a) => a.setAttribute("part", "side-menu-item") + ); + e.currentTarget.setAttribute("part", "side-menu-item-selected"); // simulate a "beforeunload" event const event = new CustomEvent("beforeunload", { bubbles: true, @@ -864,7 +868,7 @@ export class AppShell extends ScopedElementsMixin(AdapterLitElement) { // build the menu let menuTemplates = []; for (let routingName of this.visibleRoutes) { - menuTemplates.push(html`<li><a @click="${(e) => this.onMenuItemClick(e)}" href="${this.router.getPathname({component: routingName})}" data-nav class="${getSelectClasses(routingName)}" title="${this.metaDataText(routingName, "description")}">${this.metaDataText(routingName, "short_name")}</a></li>`); + menuTemplates.push(html`<li><a @click="${(e) => this.onMenuItemClick(e)}" href="${this.router.getPathname({component: routingName})}" data-nav class="${getSelectClasses(routingName)}" title="${this.metaDataText(routingName, "description")}" part="side-menu-item${this.activeView === routingName ? '-selected' : ''}">${this.metaDataText(routingName, "short_name")}</a></li>`); } const imprintUrl = this.lang === "en" ? @@ -908,7 +912,7 @@ export class AppShell extends ScopedElementsMixin(AdapterLitElement) { </h2> <ul class="menu hidden"> ${menuTemplates} - <li class="close" @click="${this.hideMenu}"><dbp-icon name="close" style="color: red"></dbp-icon></li> + <li class="close" @click="${this.hideMenu}" part="side-menu-item"><dbp-icon name="close" style="color: red"></dbp-icon></li> </ul> </aside> -- GitLab