parent
25f734ecfd
commit
829522eacc
13
README.md
13
README.md
|
|
@ -10,16 +10,13 @@ https://user-images.githubusercontent.com/33902321/167992626-34adfd97-c2df-48b0-
|
|||
|
||||
## Features
|
||||
|
||||
- Note as you go;
|
||||
- Archive notes/annotations in one place with just a click;
|
||||
- Foward-link to sub-notes and back-link to PDF attachments;
|
||||
- `LaTex` view supported(v0.4.0). Click the `Tex` button in the toolbar or `Ctrl/⌘+'/'` to switch between editor view & LaTex view!;
|
||||

|
||||
- Archive notes/annotations in one place with just a click;
|
||||
- Foward-link to sub-notes and back-link to PDF attachments;
|
||||
- Export archived notes in MarkDown/rich-text format.
|
||||
- Export markdown with images is supported in v0.1.1
|
||||
- Use templates to customize your note! [Document](./Template.md)
|
||||
|
||||
## Test Features
|
||||
|
||||
- Note template(v0.3.0), doc & discussion [here](https://github.com/windingwind/zotero-better-notes/issues/23)
|
||||
- Use templates to customize your note! [Document](./Template.md). Discuss & contribute your template [here](https://github.com/windingwind/zotero-better-notes/issues/23)
|
||||
|
||||
# Quick Start Guide
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Binary file not shown.
|
After Width: | Height: | Size: 77 KiB |
|
|
@ -26,6 +26,7 @@
|
|||
"@syncfusion/ej2-navigations": "^20.1.51",
|
||||
"compressing": "^1.5.1",
|
||||
"esbuild": "^0.14.34",
|
||||
"katex": "^0.15.6",
|
||||
"replace-in-file": "^6.3.2",
|
||||
"tree-model": "^1.0.7"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import renderMathInElement from "katex/contrib/auto-render";
|
||||
import { AddonBase, EditorMessage } from "./base";
|
||||
|
||||
class AddonEvents extends AddonBase {
|
||||
|
|
@ -337,6 +338,36 @@ class AddonEvents extends AddonBase {
|
|||
});
|
||||
}
|
||||
|
||||
const switchTexButton: Element = await this._Addon.views.addEditorButton(
|
||||
message.content.editorInstance,
|
||||
"knowledge-switchTex",
|
||||
"switchTex",
|
||||
`LaTex View ${Zotero.isWin ? "Ctrl" : "⌘"}+/`,
|
||||
"switchTex",
|
||||
"middle",
|
||||
"builtin"
|
||||
);
|
||||
switchTexButton.addEventListener("click", (e) => {
|
||||
this.onEditorEvent(
|
||||
new EditorMessage("switchEditorTex", {
|
||||
editorInstance: message.content.editorInstance,
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
message.content.editorInstance._iframeWindow.document.addEventListener(
|
||||
"keyup",
|
||||
(e) => {
|
||||
if (e.ctrlKey && e.key === "/") {
|
||||
this.onEditorEvent(
|
||||
new EditorMessage("switchEditorTex", {
|
||||
editorInstance: message.content.editorInstance,
|
||||
})
|
||||
);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
await this._Addon.views.addEditorButton(
|
||||
message.content.editorInstance,
|
||||
"knowledge-end",
|
||||
|
|
@ -364,6 +395,15 @@ class AddonEvents extends AddonBase {
|
|||
h6 {text-indent: 50px}
|
||||
`;
|
||||
_window.document.body.append(style);
|
||||
|
||||
const texStyle = _window.document.createElement("link");
|
||||
texStyle.setAttribute("rel", "stylesheet");
|
||||
texStyle.setAttribute(
|
||||
"href",
|
||||
"chrome://Knowledge4Zotero/content/lib/css/katex.min.css"
|
||||
);
|
||||
_window.document.body.append(texStyle);
|
||||
|
||||
message.content.editorInstance._knowledgeUIInitialized = true;
|
||||
} else if (message.type === "enterWorkspace") {
|
||||
/*
|
||||
|
|
@ -439,6 +479,50 @@ class AddonEvents extends AddonBase {
|
|||
"closePreview"
|
||||
);
|
||||
}
|
||||
} else if (message.type === "switchEditorTex") {
|
||||
/*
|
||||
message.content = {
|
||||
editorInstance
|
||||
}
|
||||
*/
|
||||
const instance = message.content.editorInstance;
|
||||
if (!instance._viewTex) {
|
||||
const editorElement =
|
||||
instance._iframeWindow.document.getElementsByClassName(
|
||||
"primary-editor"
|
||||
)[0];
|
||||
if (!editorElement) {
|
||||
return;
|
||||
}
|
||||
const viewNode = editorElement.cloneNode(true) as HTMLElement;
|
||||
renderMathInElement(viewNode, {
|
||||
// customised options
|
||||
// • auto-render specific keys, e.g.:
|
||||
delimiters: [
|
||||
{ left: "$$", right: "$$", display: true },
|
||||
{ left: "$", right: "$", display: false },
|
||||
{ left: "\\(", right: "\\)", display: false },
|
||||
{ left: "\\[", right: "\\]", display: true },
|
||||
],
|
||||
// • rendering keys, e.g.:
|
||||
throwOnError: false,
|
||||
});
|
||||
instance._viewTex = true;
|
||||
this._Addon.views.switchEditorTexView(instance, true, viewNode);
|
||||
this._Addon.views.changeEditorButtonView(
|
||||
instance._iframeWindow.document.getElementById("knowledge-switchTex"),
|
||||
"switchEditor",
|
||||
`Editor View ${Zotero.isWin ? "Ctrl" : "⌘"}+/`
|
||||
);
|
||||
} else {
|
||||
instance._viewTex = false;
|
||||
this._Addon.views.switchEditorTexView(instance, false);
|
||||
this._Addon.views.changeEditorButtonView(
|
||||
instance._iframeWindow.document.getElementById("knowledge-switchTex"),
|
||||
"switchTex",
|
||||
`LaTex View ${Zotero.isWin ? "Ctrl" : "⌘"}+/`
|
||||
);
|
||||
}
|
||||
} else if (message.type === "addToKnowledge") {
|
||||
/*
|
||||
message.content = {
|
||||
|
|
|
|||
42
src/views.ts
42
src/views.ts
|
|
@ -20,6 +20,8 @@ class AddonViews extends AddonBase {
|
|||
isMainKnowledge: `<svg t="1651124352868" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1850" width="24" height="24"><path d="M877.44 388.053333L624.426667 121.813333C594.986667 90.666667 554.88 73.386667 512 73.386667s-82.986667 17.066667-112.426667 48.213333L146.56 388.053333a148.266667 148.266667 0 0 0-40.746667 102.4v302.08c0 85.76 69.76 155.52 155.52 155.52h501.546667c85.76 0 155.52-69.76 155.52-155.52V490.453333c0-38.4-14.506667-74.666667-40.96-102.4zM608 777.386667h-192c-23.466667 0-42.666667-19.2-42.666667-42.666667s19.2-42.666667 42.666667-42.666667h192c23.466667 0 42.666667 19.2 42.666667 42.666667s-19.2 42.666667-42.666667 42.666667z" p-id="1851" fill="currentColor"></path></svg>`,
|
||||
openAttachment: `<svg t="1651595553273" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7641" width="24" height="24"><path d="M950.857143 537.892571a293.924571 293.924571 0 0 0-73.142857-59.904V292.571429l-146.285715-146.285715H146.285714v731.428572h331.702857c15.945143 27.538286 36.205714 52.224 59.904 73.142857H146.285714a73.142857 73.142857 0 0 1-73.142857-73.142857V146.285714a73.142857 73.142857 0 0 1 73.142857-73.142857h621.714286l182.857143 182.857143v281.892571z m-93.549714 266.166858l82.505142 82.541714a37.668571 37.668571 0 0 1-53.211428 53.211428l-82.541714-82.505142a188.233143 188.233143 0 1 1 53.248-53.248z m-47.213715-101.449143a109.714286 109.714286 0 1 0-219.428571 0 109.714286 109.714286 0 0 0 219.428571 0zM202.605714 286.354286h49.371429v24.137143h0.731428c6.326857-10.24 14.372571-17.664 24.137143-22.308572s20.48-6.948571 32.182857-6.948571c14.884571 0 27.684571 2.816 38.4 8.411428 10.715429 5.595429 19.638857 13.056 26.697143 22.308572 7.058286 9.252571 12.324571 20.041143 15.725715 32.365714 3.401143 12.324571 5.12 25.161143 5.12 38.582857 0 12.690286-1.718857 24.868571-5.12 36.571429-3.401143 11.702857-8.594286 22.052571-15.542858 31.085714s-15.616 16.201143-25.965714 21.577143c-10.349714 5.376-22.491429 8.045714-36.388571 8.045714-11.702857 0-22.491429-2.377143-32.365715-7.131428a61.257143 61.257143 0 0 1-24.32-21.028572h-0.731428v89.6H202.605714V286.354286z m358.4 164.937143h-0.731428c-6.107429 10.24-14.08 17.627429-23.954286 22.125714s-21.028571 6.765714-33.462857 6.765714a80.822857 80.822857 0 0 1-37.302857-8.228571 74.898286 74.898286 0 0 1-26.514286-22.308572 101.229714 101.229714 0 0 1-15.725714-32.365714 135.862857 135.862857 0 0 1-5.302857-38.034286c0-12.690286 1.755429-24.941714 5.302857-36.754285 3.547429-11.812571 8.777143-22.235429 15.725714-31.268572s15.652571-16.274286 26.148571-21.76c10.496-5.485714 22.674286-8.228571 36.571429-8.228571 11.227429 0 21.869714 2.377143 32 7.131428s18.102857 11.776 23.954286 21.028572h0.731428v-95.085715h51.931429V475.428571h-49.371429v-24.137142z m99.84-130.194286h-31.085714v-34.742857h31.085714v-14.628572c0-16.822857 5.229714-30.610286 15.725715-41.325714 10.496-10.715429 26.331429-16.091429 47.542857-16.091429 4.644571 0 9.252571 0.182857 13.897143 0.548572 4.644571 0.365714 9.142857 0.658286 13.531428 0.914286v38.765714c-6.107429-0.731429-12.434286-1.097143-19.017143-1.097143-7.058286 0-12.141714 1.645714-15.177143 4.937143-3.035429 3.291429-4.571429 8.850286-4.571428 16.64v11.337143h35.84v34.742857h-35.84V475.428571h-51.931429V321.097143z m-362.788571 120.32c8.521143 0 15.652571-1.718857 21.394286-5.12 5.741714-3.401143 10.349714-7.862857 13.897142-13.348572 3.547429-5.485714 6.034286-11.885714 7.497143-19.2 1.462857-7.314286 2.194286-14.738286 2.194286-22.308571 0-7.570286-0.804571-14.994286-2.377143-22.308571a59.392 59.392 0 0 0-7.862857-19.565715 43.812571 43.812571 0 0 0-14.08-13.897143 39.314286 39.314286 0 0 0-21.028571-5.302857c-8.521143 0-15.652571 1.755429-21.394286 5.302857a42.678857 42.678857 0 0 0-13.897143 13.714286c-3.547429 5.595429-6.034286 12.068571-7.497143 19.382857-1.462857 7.314286-2.194286 14.884571-2.194286 22.674286 0 7.570286 0.804571 14.994286 2.377143 22.308571 1.572571 7.314286 4.132571 13.714286 7.68 19.2 3.547429 5.485714 8.228571 9.947429 14.08 13.348572 5.851429 3.401143 12.909714 5.12 21.211429 5.12z m262.217143-61.074286c0-7.789714-0.731429-15.286857-2.194286-22.491428a54.966857 54.966857 0 0 0-7.497143-19.017143 42.203429 42.203429 0 0 0-13.714286-13.348572 40.228571 40.228571 0 0 0-21.211428-5.12c-8.521143 0-15.725714 1.718857-21.577143 5.12-5.851429 3.401143-10.532571 7.936-14.08 13.531429a59.794286 59.794286 0 0 0-7.68 19.2 104.228571 104.228571 0 0 0-2.377143 22.491428c0 7.314286 0.841143 14.628571 2.56 21.942858 1.718857 7.314286 4.461714 13.824 8.228572 19.565714 3.766857 5.741714 8.521143 10.349714 14.262857 13.897143 5.741714 3.547429 12.617143 5.302857 20.662857 5.302857 8.521143 0 15.652571-1.718857 21.394286-5.12 5.741714-3.401143 10.313143-7.972571 13.714285-13.714286a61.44 61.44 0 0 0 7.314286-19.565714c1.462857-7.314286 2.194286-14.884571 2.194286-22.674286z" p-id="7642" fill="currentColor"></path></svg>`,
|
||||
addAnnotationNote: `<svg t="1651630304116" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14011" width="16" height="16"><path d="M791.30324 369.7c-5 5-6.2 12.7-2.8 18.9 17.5 31.9 27.4 68.5 27.4 107.4 0 56.2-20.7 107.6-54.9 147-4.5 5.1-5.1 12.6-1.8 18.4l39.2 67.9c3.3 5.7 9.6 8.7 16.1 7.8 6-0.8 12.1-1.2 18.3-1.2 70.1 0.5 128 59.7 127.1 129.7-0.9 69.7-57.4 125.9-127.1 126.4-70.9 0.5-128.9-57.1-128.9-128 0-38.1 16.7-72.3 43.1-95.8l-37-64c-4.2-7.3-13.3-10-20.9-6.4-29.3 14.2-62.3 22.2-97.2 22.2-26.7 0-52.3-4.7-76-13.2-7.3-2.6-15.4 0.3-19.3 7l-24.9 43.1c-3.1 5.4-2.8 12.1 0.8 17.2 15 21.2 23.7 47.1 23.5 75.1-0.7 69.5-57.5 126.2-127 126.8-71.6 0.6-129.8-57.7-129.1-129.4 0.8-69.7 58-126.5 127.8-126.6 12 0 23.7 1.6 34.8 4.7 7 2 14.5-1.1 18.2-7.4l21.7-37.6c3.7-6.4 2.5-14.6-2.9-19.6-33.6-31.2-57.5-72.6-67-119.2-1.5-7.5-8-12.9-15.7-12.9h-92c-6.9 0-13.1 4.5-15.2 11.1C232.80324 590.2 184.70324 627 128.00324 627 57.00324 627-0.49676 569.2 0.00324 498.1 0.40324 427.5 58.60324 370.3 129.20324 371c54.2 0.5 100.4 34.8 118.5 82.8C250.00324 460 256.00324 464 262.60324 464h94.1c7.6 0 14.2-5.3 15.7-12.7 11-54.2 41.5-101.3 84-133.6 6.4-4.9 8.2-13.8 4.2-20.8l-2.2-3.8c-3.5-6-10.3-9-17.1-7.7-8.8 1.8-18 2.7-27.4 2.5-69.5-1-126.9-60.1-126-129.6 0.9-70.3 58.4-126.9 129-126.3 69.3 0.6 126 57 127 126.2 0.4 31.6-10.6 60.7-29.3 83.2-4.3 5.2-5 12.5-1.6 18.3l6.6 11.4c3.6 6.2 10.8 9.3 17.7 7.5 17.5-4.4 35.8-6.7 54.6-6.7 52.3 0 100.4 17.9 138.6 48 6.4 5 15.5 4.5 21.2-1.2l24.2-24.2c4.7-4.7 6-11.8 3.3-17.8-7.3-16.1-11.3-34-11.3-52.8 0-70.7 57.3-128 128-128 70.6 0 128 57.4 128 128 0 70.7-57.3 128-128 128-20.7 0-40.2-4.9-57.5-13.6-6.2-3.1-13.7-2-18.7 2.9l-28.4 28.5z" p-id="14012" fill="#ffd400"></path></svg>`,
|
||||
switchTex: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:#404040;}</style></defs><rect class="cls-1" width="24" height="24"/><path class="cls-2" d="M9,7.1H2.33L2.14,9.56H2.4c.15-1.77.32-2.14,2-2.14a3.39,3.39,0,0,1,.59,0c.23,0,.23.16.23.41v5.77c0,.37,0,.53-1.15.53H3.61v.34c.45,0,1.56,0,2.06,0s1.64,0,2.09,0v-.34H7.32c-1.15,0-1.15-.16-1.15-.53V7.86c0-.22,0-.37.19-.41a3.9,3.9,0,0,1,.63,0c1.65,0,1.81.37,2,2.14h.27L9,7.1Z"/><path class="cls-2" d="M14.91,14.15h-.27c-.28,1.68-.53,2.48-2.41,2.48H10.78c-.52,0-.54-.08-.54-.44V13.27h1c1.06,0,1.19.35,1.19,1.28h.27v-2.9h-.27c0,.94-.13,1.28-1.19,1.28h-1V10.3c0-.36,0-.44.54-.44h1.41c1.68,0,2,.61,2.14,2.13h.27l-.3-2.46H8.14v.33H8.4c.84,0,.86.12.86.52v5.73c0,.4,0,.52-.86.52H8.14V17h6.31Z"/><path class="cls-2" d="M18.22,10.27l1.5-2.2a1.67,1.67,0,0,1,1.58-.71V7H18.69v.33c.44,0,.68.25.68.5a.37.37,0,0,1-.1.26L18,10,16.61,7.85a.46.46,0,0,1-.07-.16c0-.13.24-.32.7-.33V7c-.37,0-1.18,0-1.59,0s-1,0-1.43,0v.33h.21c.6,0,.81.08,1,.38l2,3-1.79,2.64a1.67,1.67,0,0,1-1.58.73v.34H16.7v-.34c-.5,0-.69-.31-.69-.51s0-.14.11-.26l1.55-2.3,1.73,2.62s.06.09.06.12-.24.32-.72.33v.34c.39,0,1.19,0,1.6,0s1,0,1.42,0v-.34h-.2c-.58,0-.81-.06-1-.4l-2.3-3.49Z"/></svg>`,
|
||||
switchEditor: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#404040;}.cls-2{fill:#fff;}</style></defs><rect class="cls-1" width="24" height="24"/><path class="cls-2" d="M9,7.1H2.33L2.14,9.56H2.4c.15-1.77.32-2.14,2-2.14a3.39,3.39,0,0,1,.59,0c.23,0,.23.16.23.41v5.77c0,.37,0,.53-1.15.53H3.61v.34c.45,0,1.56,0,2.06,0s1.64,0,2.09,0v-.34H7.32c-1.15,0-1.15-.16-1.15-.53V7.86c0-.22,0-.37.19-.41a3.9,3.9,0,0,1,.63,0c1.65,0,1.81.37,2,2.14h.27L9,7.1Z"/><path class="cls-2" d="M14.91,14.15h-.27c-.28,1.68-.53,2.48-2.41,2.48H10.78c-.52,0-.54-.08-.54-.44V13.27h1c1.06,0,1.19.35,1.19,1.28h.27v-2.9h-.27c0,.94-.13,1.28-1.19,1.28h-1V10.3c0-.36,0-.44.54-.44h1.41c1.68,0,2,.61,2.14,2.13h.27l-.3-2.46H8.14v.33H8.4c.84,0,.86.12.86.52v5.73c0,.4,0,.52-.86.52H8.14V17h6.31Z"/><path class="cls-2" d="M18.22,10.27l1.5-2.2a1.67,1.67,0,0,1,1.58-.71V7H18.69v.33c.44,0,.68.25.68.5a.37.37,0,0,1-.1.26L18,10,16.61,7.85a.46.46,0,0,1-.07-.16c0-.13.24-.32.7-.33V7c-.37,0-1.18,0-1.59,0s-1,0-1.43,0v.33h.21c.6,0,.81.08,1,.38l2,3-1.79,2.64a1.67,1.67,0,0,1-1.58.73v.34H16.7v-.34c-.5,0-.69-.31-.69-.51s0-.14.11-.26l1.55-2.3,1.73,2.62s.06.09.06.12-.24.32-.72.33v.34c.39,0,1.19,0,1.6,0s1,0,1.42,0v-.34h-.2c-.58,0-.81-.06-1-.4l-2.3-3.49Z"/></svg>`,
|
||||
export: `<svg t="1651322116327" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11894" width="24" height="24"><path d="M849.2 599v217H178.5V599c-0.7-23.7-20.1-42.7-44-42.7s-43.3 19-44 42.7v252.5c0 28.9 23.6 52.5 52.5 52.5h741.7c28.9 0 52.5-23.6 52.5-52.5V599c-0.7-23.7-20.1-42.7-44-42.7s-43.3 19-44 42.7z" fill="currentColor" p-id="11895"></path><path d="M482.7 135.4l-164 164c-17.1 17.1-17.1 45.1 0 62.2s45.1 17.1 62.2 0l85.7-85.7v314.8c0 26 21.3 47.2 47.2 47.2 26 0 47.2-21.3 47.2-47.2V276l85.7 85.7c17.1 17.1 45.1 17.1 62.2 0s17.1-45.1 0-62.2l-164-164c-17.1-17.2-45.1-17.2-62.2-0.1z" fill="currentColor" p-id="11896"></path></svg>`,
|
||||
close: `<svg t="1651331457107" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="12754" width="24" height="24"><path d="M557.311759 513.248864l265.280473-263.904314c12.54369-12.480043 12.607338-32.704421 0.127295-45.248112-12.512727-12.576374-32.704421-12.607338-45.248112-0.127295L512.127295 467.904421 249.088241 204.063755c-12.447359-12.480043-32.704421-12.54369-45.248112-0.063647-12.512727 12.480043-12.54369 32.735385-0.063647 45.280796l262.975407 263.775299-265.151458 263.744335c-12.54369 12.480043-12.607338 32.704421-0.127295 45.248112 6.239161 6.271845 14.463432 9.440452 22.687703 9.440452 8.160624 0 16.319527-3.103239 22.560409-9.311437l265.216826-263.807983 265.440452 266.240344c6.239161 6.271845 14.432469 9.407768 22.65674 9.407768 8.191587 0 16.352211-3.135923 22.591372-9.34412 12.512727-12.480043 12.54369-32.704421 0.063647-45.248112L557.311759 513.248864z" fill="currentColor" p-id="12755"></path></svg>`,
|
||||
openWorkspaceCollectionView: `<svg t="1651317033804" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2432" width="100%" height="100%"><path d="M874.9 459.4c-18.8 0-34 15.2-34 34v355.7c0 18.6-15.5 33.7-34.5 33.7H181.5c-19 0-34.5-15.1-34.5-33.7V232.3c0-18.6 15.5-33.7 34.5-33.7H541c18.8 0 34-15.2 34-34s-15.2-34-34-34H181.5C125 130.6 79 176.2 79 232.3v616.8c0 56 46 101.7 102.5 101.7h624.9c56.5 0 102.5-45.6 102.5-101.7V493.4c0-18.8-15.2-34-34-34z" fill="currentColor" p-id="2433"></path><path d="M885.5 82.7H657.1c-18.8 0-34 15.2-34 34s15.2 34 34 34h169.7L358.5 619.1c-13.3 13.3-13.3 34.8 0 48.1 6.6 6.6 15.3 10 24 10s17.4-3.3 24-10l470-470v169.7c0 18.8 15.2 34 34 34s34-15.2 34-34V141.5c0.1-32.4-26.4-58.8-59-58.8z" fill="currentColor" p-id="2434"></path></svg>`,
|
||||
|
|
@ -64,7 +66,8 @@ class AddonViews extends AddonBase {
|
|||
icon: string,
|
||||
title: string,
|
||||
eventType: string,
|
||||
position: "start" | "middle" | "end"
|
||||
position: "start" | "middle" | "end",
|
||||
target: "knowledge" | "buitin" = "knowledge"
|
||||
) {
|
||||
// Use Zotero.Notes._editorInstances to find current opened note editor
|
||||
await editorInstances._initPromise;
|
||||
|
|
@ -74,7 +77,15 @@ class AddonViews extends AddonBase {
|
|||
if (!knowledgeToolBar) {
|
||||
await this.addEditorKnowledgeToolBar(editorInstances);
|
||||
}
|
||||
const toolbar = _document.getElementById(`knowledge-tools-${position}`);
|
||||
let toolbar: HTMLElement;
|
||||
if (target === "knowledge") {
|
||||
toolbar = _document.getElementById(`knowledge-tools-${position}`);
|
||||
} else {
|
||||
toolbar = Array.prototype.find.call(
|
||||
_document.getElementsByClassName(position),
|
||||
(e) => e.getAttribute("id") !== `knowledge-tools-${position}`
|
||||
);
|
||||
}
|
||||
const dropdown = _document.createElement("div");
|
||||
dropdown.setAttribute("class", "dropdown more-dropdown");
|
||||
dropdown.setAttribute("id", id);
|
||||
|
|
@ -168,6 +179,33 @@ class AddonViews extends AddonBase {
|
|||
button.hidden = hidden;
|
||||
}
|
||||
|
||||
switchEditorTexView(
|
||||
instance: EditorInstance,
|
||||
showView: boolean,
|
||||
viewNode: HTMLElement = undefined
|
||||
) {
|
||||
const editorCore = instance._iframeWindow.document.getElementsByClassName(
|
||||
"editor-core"
|
||||
)[0] as HTMLElement;
|
||||
if (showView) {
|
||||
viewNode.setAttribute("id", "texView");
|
||||
viewNode.style.height = "100%";
|
||||
viewNode.style.padding = "20px 30px 20px 30px";
|
||||
viewNode.style.overflowY = "scroll";
|
||||
viewNode.removeAttribute("contentEditable");
|
||||
editorCore.after(viewNode);
|
||||
editorCore.style.visibility = "hidden";
|
||||
viewNode.scrollTop = editorCore.scrollTop;
|
||||
} else {
|
||||
const texView = instance._iframeWindow.document.getElementById("texView");
|
||||
if (texView) {
|
||||
editorCore.scrollTop = texView.scrollTop;
|
||||
texView.remove();
|
||||
}
|
||||
editorCore.style.visibility = "";
|
||||
}
|
||||
}
|
||||
|
||||
async scrollToLine(instance: EditorInstance, lineIndex: number) {
|
||||
await instance._initPromise;
|
||||
let editor = this.getEditor(instance._iframeWindow.document);
|
||||
|
|
|
|||
Loading…
Reference in New Issue