diff --git a/addon/chrome/content/bubbleMap.html b/addon/chrome/content/bubbleMap.html index 6f727c6..1f83ddd 100644 --- a/addon/chrome/content/bubbleMap.html +++ b/addon/chrome/content/bubbleMap.html @@ -157,7 +157,7 @@ const parent = node.parent.model.id === -1? 999:node.parent.model.id; nodeDataArray.push({ key: node.model.id, - text: `${node.model.rank===7?'🔗':''}${node.model.name.slice(0,15)}${node.model.name.length>=15?'...':''}`, + text: `${node.model.rank===7?'🔗':''}${node.model.name.slice(0,50)}${node.model.name.length>=50?'...':''}`, lineIndex: node.model.lineIndex, noteLink: node.model.rank===7?node.model.link:'', }); @@ -174,9 +174,9 @@ var oldnode = adorn.adornedPart; var olddata = oldnode.data; if(olddata.noteLink){ - window.parent.postMessage({type: "jumpNote", link: olddata.noteLink}, "*"); + window.parent.postMessage({type: "jumpNote", link: olddata.noteLink, id: olddata.key}, "*"); }else{ - window.parent.postMessage({type: "jumpNode", lineIndex: olddata.lineIndex}, "*"); + window.parent.postMessage({type: "jumpNode", lineIndex: olddata.lineIndex, id: olddata.key}, "*"); } } diff --git a/addon/chrome/content/mindMap.html b/addon/chrome/content/mindMap.html index e8472c6..3da14e9 100644 --- a/addon/chrome/content/mindMap.html +++ b/addon/chrome/content/mindMap.html @@ -248,7 +248,7 @@ const parent = node.parent.model.id === -1? 999:node.parent.model.id; data.nodeDataArray.push({ key: node.model.id, - text: `${node.model.rank===7?'🔗':''}${node.model.name.slice(0,10)}${node.model.name.length>=10?'...':''}`, + text: `${node.model.rank===7?'🔗':''}${node.model.name.slice(0,50)}${node.model.name.length>=50?'...':''}`, parent: parent, lineIndex: node.model.lineIndex, noteLink: node.model.rank===7?node.model.link:'', @@ -264,9 +264,9 @@ var oldnode = adorn.adornedPart; var olddata = oldnode.data; if(olddata.noteLink){ - window.parent.postMessage({type: "jumpNote", link: olddata.noteLink}, "*"); + window.parent.postMessage({type: "jumpNote", link: olddata.noteLink, id: olddata.key}, "*"); }else{ - window.parent.postMessage({type: "jumpNode", lineIndex: olddata.lineIndex}, "*"); + window.parent.postMessage({type: "jumpNode", lineIndex: olddata.lineIndex, id: olddata.key}, "*"); } } diff --git a/addon/chrome/content/treeView.html b/addon/chrome/content/treeView.html new file mode 100644 index 0000000..44eebc2 --- /dev/null +++ b/addon/chrome/content/treeView.html @@ -0,0 +1,327 @@ + + + + + + + +
+ +
+
+
+
+
+
+
+
+ + diff --git a/addon/chrome/content/workspace.xul b/addon/chrome/content/workspace.xul index 021d3a0..2b7f531 100644 --- a/addon/chrome/content/workspace.xul +++ b/addon/chrome/content/workspace.xul @@ -22,7 +22,6 @@ @@ -32,15 +31,6 @@ - -
-
-
-
-
-
-
-
diff --git a/addon/chrome/skin/default/Knowledge4Zotero/workspace.css b/addon/chrome/skin/default/Knowledge4Zotero/workspace.css index 5741d03..ad5406c 100644 --- a/addon/chrome/skin/default/Knowledge4Zotero/workspace.css +++ b/addon/chrome/skin/default/Knowledge4Zotero/workspace.css @@ -1,39 +1,3 @@ -.form { - display: flex; -} - -.form > div { - display: inline-block; - vertical-align: top; -} - -#treeview { - margin-top: 10px; -} - -.drive-header { - min-height: auto; - padding: 0; - cursor: default; -} - -.drive-panel { - padding: 20px 0px 20px 10px; - font-size: 115%; - font-weight: bold; - border-right: 1px solid rgba(165, 165, 165, 0.4); - height: 100%; -} - -.drive-panel:last-of-type { - border-right: none; -} - -ul, -li { - display: list-item; -} - .tooltip { position: relative; display: inline-block; @@ -81,4 +45,4 @@ li { .tool-button:active { background: #b3b3b3; text-decoration: none; -} \ No newline at end of file +} diff --git a/src/events.ts b/src/events.ts index a61cc4a..a5773ac 100644 --- a/src/events.ts +++ b/src/events.ts @@ -69,15 +69,19 @@ class AddonEvents extends AddonBase { } public addEditorInstanceListener() { - Zotero.Notes._registerEditorInstance = Zotero.Notes.registerEditorInstance; - Zotero.Notes.registerEditorInstance = (instance: EditorInstance) => { - Zotero.Notes._registerEditorInstance(instance); - this.onEditorEvent( - new EditorMessage("addNoteInstance", { - editorInstance: instance, - }) - ); - }; + if (!Zotero.Notes._knowledgeInit) { + Zotero.Notes._knowledgeInit = true; + Zotero.Notes._registerEditorInstance = + Zotero.Notes.registerEditorInstance; + Zotero.Notes.registerEditorInstance = (instance: EditorInstance) => { + Zotero.Notes._registerEditorInstance(instance); + this.onEditorEvent( + new EditorMessage("addNoteInstance", { + editorInstance: instance, + }) + ); + }; + } } public async addEditorEventListener( @@ -388,7 +392,6 @@ class AddonEvents extends AddonBase { type } */ - // if(message.content.) Zotero.debug("Knowledge4Zotero: addToKnowledgeLine"); Zotero.debug(message.content.event.target.id); const idSplit = message.content.event.target.id.split("-"); @@ -398,24 +401,22 @@ class AddonEvents extends AddonBase { lineIndex, message.content.editorInstance._item.id ); - } else if (message.type === "clickOutlineHeading") { + } else if (message.type === "jumpNode") { /* message.content = { - event: {itemData} + params: {id, lineIndex} } */ let editorInstance = await this._Addon.knowledge.getWorkspaceEditorInstance(); // Set node id - this._Addon.knowledge.currentNodeID = parseInt( - (message.content.event as any).itemData.id - ); + this._Addon.knowledge.currentNodeID = parseInt(message.content.params.id); this._Addon.views.scrollToLine( editorInstance, - // Scroll to 6 lines before the inserted line - (message.content.event as any).itemData.lineIndex - 5 + // Scroll to 1 lines before the inserted line + message.content.params.lineIndex - 1 ); - } else if (message.type === "moveOutlineHeading") { + } else if (message.type === "moveNode") { /* message.content = { params: { diff --git a/src/knowledge.ts b/src/knowledge.ts index fc3d274..436f8a5 100644 --- a/src/knowledge.ts +++ b/src/knowledge.ts @@ -37,16 +37,11 @@ class Knowledge extends AddonBase { ); this.workspaceWindow = win; await this.waitWorkspaceReady(); - win.addEventListener("resize", (e) => { - this._Addon.views.setTreeViewSize(); - }); - this._Addon.views.bindTreeViewResize(); this.setWorkspaceNote("main"); this.currentLine = -1; this._Addon.views.initKnowledgeWindow(win); this._Addon.views.switchView(OutlineType.treeView); this._Addon.views.buildOutline(); - // this._Addon.views.buildMindMap(); } } @@ -136,47 +131,69 @@ class Knowledge extends AddonBase { noteText.length - "".length ); } - let noteLines: string[] = noteText.split("\n"); + let noteLines = noteText.split("\n").filter((e) => e); - const cacheStart = [/
    /g, /