From 5aabda4b37c84bf092b8bb28575a1ddcc8c836ae Mon Sep 17 00:00:00 2001 From: Vanessa Date: Sun, 31 Mar 2024 20:27:29 +0800 Subject: [PATCH] :recycle: b3-menu__checked --- app/src/menus/Menu.ts | 3 +++ app/src/protyle/render/av/col.ts | 2 +- app/src/protyle/render/av/select.ts | 8 ++++---- app/src/types/index.d.ts | 1 + 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/app/src/menus/Menu.ts b/app/src/menus/Menu.ts index ba8318b66..6184569c8 100644 --- a/app/src/menus/Menu.ts +++ b/app/src/menus/Menu.ts @@ -224,6 +224,9 @@ export class MenuItem { if (options.action) { html += ``; } + if (options.checked) { + html += '' + } this.element.innerHTML = html; } diff --git a/app/src/protyle/render/av/col.ts b/app/src/protyle/render/av/col.ts index 7273ded8a..4ba4bd57b 100644 --- a/app/src/protyle/render/av/col.ts +++ b/app/src/protyle/render/av/col.ts @@ -854,7 +854,7 @@ const genUpdateColItem = (type: TAVCol, oldType: TAVCol, name: string) => { return ``; }; diff --git a/app/src/protyle/render/av/select.ts b/app/src/protyle/render/av/select.ts index d8c92133e..873f29d11 100644 --- a/app/src/protyle/render/av/select.ts +++ b/app/src/protyle/render/av/select.ts @@ -301,15 +301,15 @@ export const setColOption = (protyle: IProtyle, data: IAV, target: HTMLElement, menu.addSeparator(); Array.from(Array(13).keys()).forEach(index => { menu.addItem({ - accelerator: parseInt(color) === index + 1 ? '' : undefined, + checked: parseInt(color) === index + 1, iconHTML: "", label: `A`, click(element) { - if (element.lastElementChild.classList.contains("b3-menu__accelerator")) { + if (element.lastElementChild.classList.contains("b3-menu__checked")) { return; } - element.parentElement.querySelector(".b3-menu__accelerator")?.remove(); - element.insertAdjacentHTML("beforeend", ''); + element.parentElement.querySelector(".b3-menu__checked")?.remove(); + element.insertAdjacentHTML("beforeend", ''); transaction(protyle, [{ action: "updateAttrViewColOption", id: colId, diff --git a/app/src/types/index.d.ts b/app/src/types/index.d.ts index 090aaa31d..c18a87edc 100644 --- a/app/src/types/index.d.ts +++ b/app/src/types/index.d.ts @@ -708,6 +708,7 @@ interface IModels { } interface IMenu { + checked?: boolean, iconClass?: string, label?: string, click?: (element: HTMLElement, event: MouseEvent) => boolean | void | Promise