mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-09-22 08:30:42 +02:00
🎨 Add data-id
attribute to the buttons (#15052)
斜杠菜单中插件添加的选项、顶栏的插件菜单、顶栏的外观模式菜单,修正块引用锚文本的右键菜单 fix https://github.com/siyuan-note/siyuan/issues/12518
This commit is contained in:
parent
963cbfe15f
commit
be3db79688
4 changed files with 13 additions and 2 deletions
|
@ -134,6 +134,7 @@ export const initBar = (app: App) => {
|
||||||
window.siyuan.menus.menu.remove();
|
window.siyuan.menus.menu.remove();
|
||||||
window.siyuan.menus.menu.element.setAttribute("data-name", "barmode");
|
window.siyuan.menus.menu.element.setAttribute("data-name", "barmode");
|
||||||
window.siyuan.menus.menu.append(new MenuItem({
|
window.siyuan.menus.menu.append(new MenuItem({
|
||||||
|
id: "themeLight",
|
||||||
label: window.siyuan.languages.themeLight,
|
label: window.siyuan.languages.themeLight,
|
||||||
icon: "iconLight",
|
icon: "iconLight",
|
||||||
current: window.siyuan.config.appearance.mode === 0 && !window.siyuan.config.appearance.modeOS,
|
current: window.siyuan.config.appearance.mode === 0 && !window.siyuan.config.appearance.modeOS,
|
||||||
|
@ -142,6 +143,7 @@ export const initBar = (app: App) => {
|
||||||
}
|
}
|
||||||
}).element);
|
}).element);
|
||||||
window.siyuan.menus.menu.append(new MenuItem({
|
window.siyuan.menus.menu.append(new MenuItem({
|
||||||
|
id: "themeDark",
|
||||||
label: window.siyuan.languages.themeDark,
|
label: window.siyuan.languages.themeDark,
|
||||||
current: window.siyuan.config.appearance.mode === 1 && !window.siyuan.config.appearance.modeOS,
|
current: window.siyuan.config.appearance.mode === 1 && !window.siyuan.config.appearance.modeOS,
|
||||||
icon: "iconDark",
|
icon: "iconDark",
|
||||||
|
@ -150,6 +152,7 @@ export const initBar = (app: App) => {
|
||||||
}
|
}
|
||||||
}).element);
|
}).element);
|
||||||
window.siyuan.menus.menu.append(new MenuItem({
|
window.siyuan.menus.menu.append(new MenuItem({
|
||||||
|
id: "themeOS",
|
||||||
label: window.siyuan.languages.themeOS,
|
label: window.siyuan.languages.themeOS,
|
||||||
current: window.siyuan.config.appearance.modeOS,
|
current: window.siyuan.config.appearance.modeOS,
|
||||||
icon: "iconMode",
|
icon: "iconMode",
|
||||||
|
|
|
@ -620,7 +620,7 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
window.siyuan.menus.menu.append(new MenuItem({
|
window.siyuan.menus.menu.append(new MenuItem({
|
||||||
id: "iconRefresh",
|
id: "turnInto",
|
||||||
label: window.siyuan.languages.turnInto,
|
label: window.siyuan.languages.turnInto,
|
||||||
icon: "iconRefresh",
|
icon: "iconRefresh",
|
||||||
submenu
|
submenu
|
||||||
|
|
|
@ -10,6 +10,7 @@ export const openTopBarMenu = (app: App, target?: Element) => {
|
||||||
const menu = new Menu("topBarPlugin");
|
const menu = new Menu("topBarPlugin");
|
||||||
/// #if !MOBILE
|
/// #if !MOBILE
|
||||||
menu.addItem({
|
menu.addItem({
|
||||||
|
id: "manage",
|
||||||
icon: "iconSettings",
|
icon: "iconSettings",
|
||||||
label: window.siyuan.languages.manage,
|
label: window.siyuan.languages.manage,
|
||||||
ignore: isHuawei() || window.siyuan.config.readonly,
|
ignore: isHuawei() || window.siyuan.config.readonly,
|
||||||
|
@ -17,7 +18,7 @@ export const openTopBarMenu = (app: App, target?: Element) => {
|
||||||
openSetting(app).element.querySelector('.b3-tab-bar [data-name="bazaar"]').dispatchEvent(new CustomEvent("click"));
|
openSetting(app).element.querySelector('.b3-tab-bar [data-name="bazaar"]').dispatchEvent(new CustomEvent("click"));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
menu.addSeparator(undefined, isHuawei() || window.siyuan.config.readonly);
|
menu.addSeparator({id: "separator_1"}, isHuawei() || window.siyuan.config.readonly);
|
||||||
/// #endif
|
/// #endif
|
||||||
let hasPlugin = false;
|
let hasPlugin = false;
|
||||||
app.plugins.forEach((plugin) => {
|
app.plugins.forEach((plugin) => {
|
||||||
|
@ -27,6 +28,7 @@ export const openTopBarMenu = (app: App, target?: Element) => {
|
||||||
plugin.topBarIcons.forEach(item => {
|
plugin.topBarIcons.forEach(item => {
|
||||||
const hasUnpin = window.siyuan.storage[Constants.LOCAL_PLUGINTOPUNPIN].includes(item.id);
|
const hasUnpin = window.siyuan.storage[Constants.LOCAL_PLUGINTOPUNPIN].includes(item.id);
|
||||||
const submenu = [{
|
const submenu = [{
|
||||||
|
id: hasUnpin ? "pin" : "unpin",
|
||||||
icon: hasUnpin ? "iconPin" : "iconUnpin",
|
icon: hasUnpin ? "iconPin" : "iconUnpin",
|
||||||
label: hasUnpin ? window.siyuan.languages.pin : window.siyuan.languages.unpin,
|
label: hasUnpin ? window.siyuan.languages.pin : window.siyuan.languages.unpin,
|
||||||
click() {
|
click() {
|
||||||
|
@ -43,6 +45,7 @@ export const openTopBarMenu = (app: App, target?: Element) => {
|
||||||
}];
|
}];
|
||||||
if (hasSetting) {
|
if (hasSetting) {
|
||||||
submenu.push({
|
submenu.push({
|
||||||
|
id: "config",
|
||||||
icon: "iconSettings",
|
icon: "iconSettings",
|
||||||
label: window.siyuan.languages.config,
|
label: window.siyuan.languages.config,
|
||||||
click() {
|
click() {
|
||||||
|
@ -53,6 +56,7 @@ export const openTopBarMenu = (app: App, target?: Element) => {
|
||||||
const itemLabel = target ? item.getAttribute("aria-label") : item.textContent.trim();
|
const itemLabel = target ? item.getAttribute("aria-label") : item.textContent.trim();
|
||||||
if (!target) {
|
if (!target) {
|
||||||
submenu.push({
|
submenu.push({
|
||||||
|
id: "play",
|
||||||
icon: "iconPlay",
|
icon: "iconPlay",
|
||||||
label: itemLabel,
|
label: itemLabel,
|
||||||
click() {
|
click() {
|
||||||
|
@ -62,6 +66,7 @@ export const openTopBarMenu = (app: App, target?: Element) => {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
const menuOption: IMenu = {
|
const menuOption: IMenu = {
|
||||||
|
id: item.id,
|
||||||
icon: "iconInfo",
|
icon: "iconInfo",
|
||||||
label: itemLabel,
|
label: itemLabel,
|
||||||
click: target ? () => {
|
click: target ? () => {
|
||||||
|
@ -84,6 +89,7 @@ export const openTopBarMenu = (app: App, target?: Element) => {
|
||||||
if (!hasTopBar && hasSetting) {
|
if (!hasTopBar && hasSetting) {
|
||||||
hasPlugin = true;
|
hasPlugin = true;
|
||||||
menu.addItem({
|
menu.addItem({
|
||||||
|
id: plugin.name,
|
||||||
icon: "iconSettings",
|
icon: "iconSettings",
|
||||||
label: plugin.displayName,
|
label: plugin.displayName,
|
||||||
click() {
|
click() {
|
||||||
|
@ -97,6 +103,7 @@ export const openTopBarMenu = (app: App, target?: Element) => {
|
||||||
window.siyuan.menus.menu.element.querySelector(".b3-menu__separator")?.remove();
|
window.siyuan.menus.menu.element.querySelector(".b3-menu__separator")?.remove();
|
||||||
} else {
|
} else {
|
||||||
menu.addItem({
|
menu.addItem({
|
||||||
|
id: "emptyContent",
|
||||||
iconHTML: "",
|
iconHTML: "",
|
||||||
type: "readonly",
|
type: "readonly",
|
||||||
label: window.siyuan.languages.emptyContent,
|
label: window.siyuan.languages.emptyContent,
|
||||||
|
|
|
@ -332,6 +332,7 @@ export const hintSlash = (key: string, protyle: IProtyle) => {
|
||||||
plugin.protyleSlash.forEach(slash => {
|
plugin.protyleSlash.forEach(slash => {
|
||||||
allList.push({
|
allList.push({
|
||||||
filter: slash.filter,
|
filter: slash.filter,
|
||||||
|
id: slash.id,
|
||||||
value: `plugin${Constants.ZWSP}${plugin.name}${Constants.ZWSP}${slash.id}`,
|
value: `plugin${Constants.ZWSP}${plugin.name}${Constants.ZWSP}${slash.id}`,
|
||||||
html: slash.html
|
html: slash.html
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue