diff --git a/app/src/protyle/breadcrumb/index.ts b/app/src/protyle/breadcrumb/index.ts index 1b55165c5..86e732a40 100644 --- a/app/src/protyle/breadcrumb/index.ts +++ b/app/src/protyle/breadcrumb/index.ts @@ -58,7 +58,7 @@ export class Breadcrumb { ${padHTML} - + `; diff --git a/app/src/protyle/util/onGet.ts b/app/src/protyle/util/onGet.ts index dc2bd8805..e23ba496e 100644 --- a/app/src/protyle/util/onGet.ts +++ b/app/src/protyle/util/onGet.ts @@ -368,8 +368,10 @@ export const disabledProtyle = (protyle: IProtyle) => { item.setAttribute("draggable", "false"); }); if (protyle.breadcrumb) { - protyle.breadcrumb.element.parentElement.querySelector('[data-type="readonly"] use').setAttribute("xlink:href", "#iconLock"); - protyle.breadcrumb.element.parentElement.querySelector('[data-type="readonly"]').setAttribute("aria-label", window.siyuan.config.editor.readOnly ? window.siyuan.languages.tempUnlock : window.siyuan.languages.unlockEdit); + const readonlyButton = protyle.breadcrumb.element.parentElement.querySelector('[data-type="readonly"]'); + readonlyButton.querySelector("use").setAttribute("xlink:href", "#iconLock"); + readonlyButton.setAttribute("aria-label", window.siyuan.config.editor.readOnly ? window.siyuan.languages.tempUnlock : window.siyuan.languages.unlockEdit); + readonlyButton.setAttribute("data-subtype", "lock"); const undoElement = protyle.breadcrumb.element.parentElement.querySelector('[data-type="undo"]'); if (undoElement && !undoElement.classList.contains("fn__none")) { undoElement.classList.add("fn__none"); @@ -426,8 +428,10 @@ export const enableProtyle = (protyle: IProtyle) => { } }); if (protyle.breadcrumb) { - protyle.breadcrumb.element.parentElement.querySelector('[data-type="readonly"] use').setAttribute("xlink:href", "#iconUnlock"); - protyle.breadcrumb.element.parentElement.querySelector('[data-type="readonly"]').setAttribute("aria-label", window.siyuan.config.editor.readOnly ? window.siyuan.languages.cancelTempUnlock : window.siyuan.languages.lockEdit); + const readonlyButton = protyle.breadcrumb.element.parentElement.querySelector('[data-type="readonly"]'); + readonlyButton.querySelector("use").setAttribute("xlink:href", "#iconUnlock"); + readonlyButton.setAttribute("aria-label", window.siyuan.config.editor.readOnly ? window.siyuan.languages.cancelTempUnlock : window.siyuan.languages.lockEdit); + readonlyButton.setAttribute("data-subtype", "unlock"); const undoElement = protyle.breadcrumb.element.parentElement.querySelector('[data-type="undo"]'); if (undoElement && undoElement.classList.contains("fn__none")) { undoElement.classList.remove("fn__none");