@lemoncat7/dsh-knowledge 2.9.5 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -2
- package/docs/architecture.md +6 -0
- package/docs/document-groups.md +22 -0
- package/docs/releases/2.10.0.md +17 -0
- package/docs/releases/2.9.6.md +12 -0
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +36 -1
- package/lib/api.js.map +1 -1
- package/lib/client.js +34 -11
- package/lib/client.js.map +3 -3
- package/lib/document-group-tools.d.ts +6 -0
- package/lib/document-group-tools.d.ts.map +1 -0
- package/lib/document-group-tools.js +96 -0
- package/lib/document-group-tools.js.map +1 -0
- package/lib/document-groups.d.ts +8 -0
- package/lib/document-groups.d.ts.map +1 -0
- package/lib/document-groups.js +18 -0
- package/lib/document-groups.js.map +1 -0
- package/lib/documents/markdown.d.ts +1 -0
- package/lib/documents/markdown.d.ts.map +1 -1
- package/lib/documents/markdown.js +2 -0
- package/lib/documents/markdown.js.map +1 -1
- package/lib/domain.d.ts +6 -0
- package/lib/domain.d.ts.map +1 -1
- package/lib/domain.js +2 -0
- package/lib/domain.js.map +1 -1
- package/lib/extraction.d.ts.map +1 -1
- package/lib/extraction.js +16 -4
- package/lib/extraction.js.map +1 -1
- package/lib/knowledge-activity-panel.d.ts.map +1 -1
- package/lib/knowledge-activity-panel.js +23 -1
- package/lib/knowledge-activity-panel.js.map +1 -1
- package/lib/local-provider.d.ts +9 -0
- package/lib/local-provider.d.ts.map +1 -1
- package/lib/local-provider.js +143 -18
- package/lib/local-provider.js.map +1 -1
- package/lib/note-excerpt.d.ts +13 -0
- package/lib/note-excerpt.d.ts.map +1 -0
- package/lib/note-excerpt.js +9 -0
- package/lib/note-excerpt.js.map +1 -0
- package/lib/provider.d.ts +3 -0
- package/lib/provider.d.ts.map +1 -1
- package/lib/remote-provider.d.ts +2 -0
- package/lib/remote-provider.d.ts.map +1 -1
- package/lib/remote-provider.js +6 -0
- package/lib/remote-provider.js.map +1 -1
- package/lib/retrieval.d.ts +1 -0
- package/lib/retrieval.d.ts.map +1 -1
- package/lib/retrieval.js +2 -1
- package/lib/retrieval.js.map +1 -1
- package/lib/storage/migrations.d.ts.map +1 -1
- package/lib/storage/migrations.js +18 -1
- package/lib/storage/migrations.js.map +1 -1
- package/lib/tools.d.ts.map +1 -1
- package/lib/tools.js +3 -0
- package/lib/tools.js.map +1 -1
- package/lib/tracking.d.ts.map +1 -1
- package/lib/tracking.js +5 -0
- package/lib/tracking.js.map +1 -1
- package/lib/web-note-editor-chrome.d.ts +1 -0
- package/lib/web-note-editor-chrome.d.ts.map +1 -1
- package/lib/web-note-editor-chrome.js +1 -0
- package/lib/web-note-editor-chrome.js.map +1 -1
- package/lib/web-note-editor-selection.d.ts +1 -0
- package/lib/web-note-editor-selection.d.ts.map +1 -1
- package/lib/web-note-editor-selection.js +21 -1
- package/lib/web-note-editor-selection.js.map +1 -1
- package/lib/web-note-editor.d.ts +2 -0
- package/lib/web-note-editor.d.ts.map +1 -1
- package/lib/web-note-editor.js +12 -0
- package/lib/web-note-editor.js.map +1 -1
- package/lib/web.d.ts.map +1 -1
- package/lib/web.js +2 -1
- package/lib/web.js.map +1 -1
- package/package.json +1 -1
- package/web/app.js +101 -12
- package/web/document-groups.js +99 -0
- package/web/note-editor.js +57 -56
- package/web/note-excerpt.js +128 -0
- package/web/styles.css +30 -0
|
@@ -69,6 +69,18 @@ export function createNoteSelectionMenu(options) {
|
|
|
69
69
|
void navigator.clipboard?.writeText(text).catch(() => { });
|
|
70
70
|
});
|
|
71
71
|
primary.append(blockToggle, ...markButtons, linkToggle, copyButton);
|
|
72
|
+
if (options.onExcerpt) {
|
|
73
|
+
const excerpt = control('摘录到知识库', '摘录所选文字到知识库', () => {
|
|
74
|
+
const { from, to } = editor.state.selection;
|
|
75
|
+
const text = editor.state.doc.textBetween(from, to, '\n');
|
|
76
|
+
if (text.trim()) {
|
|
77
|
+
hide();
|
|
78
|
+
options.onExcerpt?.(text);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
excerpt.classList.add('notes-selection-excerpt');
|
|
82
|
+
primary.append(excerpt);
|
|
83
|
+
}
|
|
72
84
|
const blockMenu = document.createElement('div');
|
|
73
85
|
blockMenu.className = 'notes-selection-block-menu';
|
|
74
86
|
blockMenu.setAttribute('role', 'menu');
|
|
@@ -127,6 +139,7 @@ export function createNoteSelectionMenu(options) {
|
|
|
127
139
|
let activeSelectionPointerId;
|
|
128
140
|
let gestureCancelled = false;
|
|
129
141
|
let destroyed = false;
|
|
142
|
+
let lastState;
|
|
130
143
|
function currentBlockLabel() {
|
|
131
144
|
if (editor.isActive('heading', { level: 1 }))
|
|
132
145
|
return '标题 1';
|
|
@@ -171,6 +184,8 @@ export function createNoteSelectionMenu(options) {
|
|
|
171
184
|
const { from, to, empty } = editor.state.selection;
|
|
172
185
|
if (empty || !editor.isFocused)
|
|
173
186
|
return false;
|
|
187
|
+
if (lastState === editor.state)
|
|
188
|
+
return true;
|
|
174
189
|
return Boolean(editor.state.doc.textBetween(from, to, ' ').trim());
|
|
175
190
|
}
|
|
176
191
|
function positionMenu() {
|
|
@@ -220,7 +235,12 @@ export function createNoteSelectionMenu(options) {
|
|
|
220
235
|
return;
|
|
221
236
|
}
|
|
222
237
|
menu.hidden = false;
|
|
223
|
-
|
|
238
|
+
// selectionUpdate and transaction can fire for the same state. Avoid
|
|
239
|
+
// repeatedly traversing a large selection for every formatting control.
|
|
240
|
+
if (lastState !== editor.state) {
|
|
241
|
+
refreshActiveStates();
|
|
242
|
+
lastState = editor.state;
|
|
243
|
+
}
|
|
224
244
|
schedulePosition();
|
|
225
245
|
}
|
|
226
246
|
function hide() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-note-editor-selection.js","sourceRoot":"","sources":["../src/web-note-editor-selection.ts"],"names":[],"mappings":"AAqBA,SAAS,OAAO,CAAC,KAAa,EAAE,SAAiB,EAAE,OAAmB;IACpE,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAA;IACtB,MAAM,CAAC,SAAS,GAAG,yBAAyB,CAAA;IAC5C,MAAM,CAAC,WAAW,GAAG,KAAK,CAAA;IAC1B,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IAC5C,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAA;IACvE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IACzB,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IACpB,IAAI,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAC1D,IAAI,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,WAAW,IAAI,EAAE,CAAA;IAC5E,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAiC;IACvE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,CAAC,SAAS,GAAG,sBAAsB,CAAA;IACvC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACpC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IACzC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;IAElB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC7C,OAAO,CAAC,SAAS,GAAG,yBAAyB,CAAA;IAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE;QAC/C,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM,CAAA;QACrE,WAAW,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC3D,SAAS,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAA;QAC5B,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAA;QACtB,YAAY,EAAE,CAAA;IAChB,CAAC,CAAC,CAAA;IACF,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;IACzD,WAAW,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;IACjD,WAAW,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;IAElD,MAAM,WAAW,GAAmB;QAClC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC,EAAE;QAC/G,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC,EAAE;QACnH,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC,EAAE;QACzH,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC,EAAE;QACnH,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC,EAAE;KAClH,CAAA;IACD,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IACrD,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACpD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE;YAC3E,MAAM,CAAC,GAAG,EAAE,CAAA;YACZ,mBAAmB,EAAE,CAAA;QACvB,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QAC5C,OAAO,MAAM,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE;QAC/C,SAAS,CAAC,MAAM,GAAG,IAAI,CAAA;QACvB,WAAW,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;QAClD,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAA;QACvB,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAA;QAC9C,SAAS,CAAC,KAAK,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;QACtD,SAAS,CAAC,WAAW,GAAG,EAAE,CAAA;QAC1B,YAAY,EAAE,CAAA;QACd,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAA,CAAC,CAAC,CAAC,CAAA;IAC/E,CAAC,CAAC,CAAA;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE;QAC9C,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAA;QAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QACxD,KAAK,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;IACF,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;IAEnE,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC/C,SAAS,CAAC,SAAS,GAAG,4BAA4B,CAAA;IAClD,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,YAAY,GAAmB;QACnC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC,EAAE;QACvH,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC,EAAE;QAClJ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC,EAAE;QAClJ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC,EAAE;QAClJ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC,EAAE;QAC9H,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC,EAAE;QAChI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC,EAAE;QAC5H,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC,EAAE;KAC5H,CAAA;IACD,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE;YACtD,MAAM,CAAC,GAAG,EAAE,CAAA;YACZ,SAAS,CAAC,MAAM,GAAG,IAAI,CAAA;YACvB,WAAW,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;YAClD,mBAAmB,EAAE,CAAA;YACrB,gBAAgB,EAAE,CAAA;QACpB,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;QAC5C,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACxB,OAAO,MAAM,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAC/C,QAAQ,CAAC,SAAS,GAAG,2BAA2B,CAAA;IAChD,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAA;IACtB,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IACjD,SAAS,CAAC,IAAI,GAAG,MAAM,CAAA;IACvB,SAAS,CAAC,SAAS,GAAG,KAAK,CAAA;IAC3B,SAAS,CAAC,SAAS,GAAG,4BAA4B,CAAA;IAClD,SAAS,CAAC,WAAW,GAAG,qBAAqB,CAAA;IAC7C,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;IAC5C,SAAS,CAAC,YAAY,GAAG,KAAK,CAAA;IAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAA;IAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAA;QAChE,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAA;QACtB,mBAAmB,EAAE,CAAA;IACvB,CAAC,CAAC,CAAA;IACF,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAChD,SAAS,CAAC,SAAS,GAAG,4BAA4B,CAAA;IAClD,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;IAC5D,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;QAC1C,KAAK,CAAC,cAAc,EAAE,CAAA;QACtB,UAAU,EAAE,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;IACzC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAElB,IAAI,aAAiC,CAAA;IACrC,IAAI,WAA+B,CAAA;IACnC,IAAI,cAAkC,CAAA;IACtC,IAAI,wBAA4C,CAAA;IAChD,IAAI,gBAAgB,GAAG,KAAK,CAAA;IAC5B,IAAI,SAAS,GAAG,KAAK,CAAA;IAErB,SAAS,iBAAiB;QACxB,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAAE,OAAO,MAAM,CAAA;QAC3D,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAAE,OAAO,MAAM,CAAA;QAC3D,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAAE,OAAO,MAAM,CAAA;QAC3D,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,OAAO,MAAM,CAAA;QAChD,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE,OAAO,MAAM,CAAA;QACjD,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,OAAO,IAAI,CAAA;QAC9C,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,KAAK,CAAA;QAC9C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,mBAAmB;QAC1B,WAAW,CAAC,WAAW,GAAG,iBAAiB,EAAE,CAAA;QAC7C,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;QAC1H,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;QAC5H,UAAU,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC1E,CAAC;IAED,SAAS,UAAU;QACjB,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,SAAS,CAAC,WAAW,GAAG,gBAAgB,CAAA;YACxC,SAAS,CAAC,KAAK,EAAE,CAAA;YACjB,OAAM;QACR,CAAC;QACD,IAAI,IAAI;YAAE,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;;YAC3E,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAA;QACrE,SAAS,CAAC,WAAW,GAAG,EAAE,CAAA;QAC1B,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAA;QACtB,mBAAmB,EAAE,CAAA;IACvB,CAAC;IAED,SAAS,UAAU;QACjB,IAAI,SAAS,IAAI,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE;YAAE,OAAO,KAAK,CAAA;QACzE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAA;QAClD,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS;YAAE,OAAO,KAAK,CAAA;QAC5C,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,SAAS,YAAY;QACnB,aAAa,GAAG,SAAS,CAAA;QACzB,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW;YAAE,OAAM;QAC1D,IAAI,MAAM,CAAC,UAAU,CAAC,kFAAkF,CAAC,CAAC,OAAO,EAAE,CAAC;YAClH,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAA;YACjC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,qCAAqC,CAAA;YACvD,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,sCAAsC,CAAA;YACzD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,uCAAuC,CAAA;YAC3D,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAA;YACvB,OAAM;QACR,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAA;QACrB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAA;QACtB,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAA;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;QACzC,MAAM,MAAM,GAAG,CAAC,CAAA;QAChB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;QACtF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;QACzG,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QACxD,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAA;QAC9B,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC;YACjB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC5C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAA;QACnC,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;QACzC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAA;IACzC,CAAC;IAED,SAAS,gBAAgB;QACvB,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM;YAAE,OAAM;QACpC,IAAI,aAAa,KAAK,SAAS;YAAE,MAAM,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAA;QAC3E,aAAa,GAAG,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAA;IAC5D,CAAC;IAED,SAAS,OAAO;QACd,IAAI,SAAS,IAAI,gBAAgB,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;YAC5E,IAAI,EAAE,CAAA;YACN,OAAM;QACR,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YAClB,IAAI,EAAE,CAAA;YACN,OAAM;QACR,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,mBAAmB,EAAE,CAAA;QACrB,gBAAgB,EAAE,CAAA;IACpB,CAAC;IAED,SAAS,IAAI;QACX,IAAI,aAAa,KAAK,SAAS;YAAE,MAAM,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAA;QAC3E,IAAI,cAAc,KAAK,SAAS;YAAE,MAAM,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAA;QAC7E,IAAI,WAAW,KAAK,SAAS;YAAE,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;QAC/D,aAAa,GAAG,cAAc,GAAG,WAAW,GAAG,SAAS,CAAA;QACxD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,SAAS,CAAC,MAAM,GAAG,IAAI,CAAA;QACvB,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAA;QACtB,WAAW,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;QAClD,SAAS,CAAC,WAAW,GAAG,EAAE,CAAA;IAC5B,CAAC;IAED,SAAS,QAAQ;QACf,IAAI,EAAE,CAAA;QACN,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAC9C,CAAC;IAED,SAAS,gBAAgB,CAAC,KAAmB;QAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC;YAAE,aAAa,EAAE,CAAA;IAC9G,CAAC;IAED,SAAS,mBAAmB,CAAC,KAAmB;QAC9C,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;YAAE,OAAM;QACrF,gBAAgB,GAAG,KAAK,CAAA;QACxB,wBAAwB,GAAG,KAAK,CAAC,SAAS,CAAA;QAC1C,IAAI,EAAE,CAAA;IACR,CAAC;IAED,SAAS,qBAAqB,CAAC,KAAmB;QAChD,IAAI,wBAAwB,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,wBAAwB;YAAE,OAAM;QAClG,wBAAwB,GAAG,SAAS,CAAA;QACpC,cAAc,GAAG,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;YACjD,cAAc,GAAG,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;gBACjD,cAAc,GAAG,SAAS,CAAA;gBAC1B,OAAO,EAAE,CAAA;YACX,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,SAAS,aAAa;QACpB,wBAAwB,GAAG,SAAS,CAAA;QACpC,gBAAgB,GAAG,IAAI,CAAA;QACvB,IAAI,EAAE,CAAA;IACR,CAAC;IAED,SAAS,wBAAwB,CAAC,KAAmB;QACnD,IAAI,KAAK,CAAC,SAAS,KAAK,wBAAwB;YAAE,aAAa,EAAE,CAAA;IACnE,CAAC;IAED,SAAS,eAAe,CAAC,KAAoB;QAC3C,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ;YAAE,aAAa,EAAE,CAAA;;YACtC,gBAAgB,GAAG,KAAK,CAAA;IAC/B,CAAC;IAED,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;IACrC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IACjC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAClE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,aAAa,EAAE,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IACvF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;IAC5D,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,CAAC,CAAA;IAClE,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC9C,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IACtE,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,qBAAqB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9E,MAAM,CAAC,gBAAgB,CAAC,eAAe,EAAE,wBAAwB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IACrF,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAA;IAE1D,OAAO;QACL,OAAO;QACP,IAAI;QACJ,OAAO,EAAE,GAAG,EAAE;YACZ,SAAS,GAAG,IAAI,CAAA;YAChB,IAAI,EAAE,CAAA;YACN,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;YACtC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;YAClC,UAAU,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAClD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAA;YACvE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;YAC/D,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,CAAC,CAAA;YACrE,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;YACjD,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAA;YACtD,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAA;YAC9D,MAAM,CAAC,mBAAmB,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAA;YACrE,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAA;YAC7D,IAAI,CAAC,MAAM,EAAE,CAAA;QACf,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"web-note-editor-selection.js","sourceRoot":"","sources":["../src/web-note-editor-selection.ts"],"names":[],"mappings":"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"}
|
package/lib/web-note-editor.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-note-editor.d.ts","sourceRoot":"","sources":["../src/web-note-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+C,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AA0B5F,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,WAAW,CAAA;IACjB,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,UAAU,CAAC,EAAE,WAAW,CAAA;IACxB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,UAAU,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACrC,aAAa,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACxC,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,MAAM,IAAI,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"web-note-editor.d.ts","sourceRoot":"","sources":["../src/web-note-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+C,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AA0B5F,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,WAAW,CAAA;IACjB,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,UAAU,CAAC,EAAE,WAAW,CAAA;IACxB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,UAAU,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACrC,aAAa,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACxC,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,MAAM,IAAI,IAAI,CAAA;IACd,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,UAAU,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,IAAI,MAAM,CAAA;IACrB,KAAK,IAAI,IAAI,CAAA;IACb,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,QAAQ,IAAI,IAAI,CAAA;IAChB,aAAa,IAAI,IAAI,CAAA;IACrB,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,WAAW,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,MAAM,IAAI,IAAI,CAAA;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,IAAI,IAAI,CAAA;IACb,OAAO,IAAI,IAAI,CAAA;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CAuFzF;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,qBAAqB,CAiC5F;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAQ7D;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAInE"}
|
package/lib/web-note-editor.js
CHANGED
|
@@ -41,6 +41,8 @@ export function createMarkdownEditor(options) {
|
|
|
41
41
|
link: {
|
|
42
42
|
autolink: true,
|
|
43
43
|
openOnClick: false,
|
|
44
|
+
protocols: ['note'],
|
|
45
|
+
isAllowedUri: (url, context) => /^note:\/\/note_[a-f0-9]{32}$/.test(url) || (!/^note:/i.test(url) && context.defaultValidate(url)),
|
|
44
46
|
HTMLAttributes: { rel: 'noopener noreferrer' },
|
|
45
47
|
},
|
|
46
48
|
}),
|
|
@@ -53,6 +55,15 @@ export function createMarkdownEditor(options) {
|
|
|
53
55
|
TaskItem.configure({ nested: true }),
|
|
54
56
|
],
|
|
55
57
|
editorProps: {
|
|
58
|
+
handleClick: (_view, _pos, event) => {
|
|
59
|
+
const link = event.target instanceof Element ? event.target.closest('a[href]') : null;
|
|
60
|
+
const id = /^note:\/\/(note_[a-f0-9]{32})$/.exec(link?.getAttribute('href') ?? '')?.[1];
|
|
61
|
+
if (!id || !options.onOpenNote)
|
|
62
|
+
return false;
|
|
63
|
+
event.preventDefault();
|
|
64
|
+
options.onOpenNote(id);
|
|
65
|
+
return true;
|
|
66
|
+
},
|
|
56
67
|
handleDOMEvents: bodyEditorEvents,
|
|
57
68
|
attributes: {
|
|
58
69
|
class: 'notes-live-editor-surface',
|
|
@@ -86,6 +97,7 @@ export function createMarkdownEditor(options) {
|
|
|
86
97
|
frame: options.frame,
|
|
87
98
|
scrollHost: options.scrollHost,
|
|
88
99
|
outlineHost: options.outlineHost,
|
|
100
|
+
...(options.onExcerpt ? { onExcerpt: options.onExcerpt } : {}),
|
|
89
101
|
...(options.findButton !== undefined ? { findButton: options.findButton } : {}),
|
|
90
102
|
...(options.outlineButton !== undefined ? { outlineButton: options.outlineButton } : {}),
|
|
91
103
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-note-editor.js","sourceRoot":"","sources":["../src/web-note-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAwC,MAAM,cAAc,CAAA;AAC5F,OAAO,QAAQ,MAAM,4BAA4B,CAAA;AACjD,OAAO,KAAK,MAAM,yBAAyB,CAAA;AAC3C,OAAO,SAAS,MAAM,6BAA6B,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,QAAQ,MAAM,6BAA6B,CAAA;AAClD,OAAO,QAAQ,MAAM,6BAA6B,CAAA;AAClD,OAAO,IAAI,MAAM,wBAAwB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,UAAU,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,sBAAsB,EAAyB,MAAM,6BAA6B,CAAA;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAExD;;;GAGG;AACH,MAAM,gBAAgB,GAAiE;IACrF,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACzB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAAE,OAAO,KAAK,CAAA;QACrF,KAAK,CAAC,cAAc,EAAE,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;
|
|
1
|
+
{"version":3,"file":"web-note-editor.js","sourceRoot":"","sources":["../src/web-note-editor.ts"],"names":[],"mappings":"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"}
|
package/lib/web.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AA0BtD,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,QAAQ,GAAG,aAAwB,EAC7C,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,IAAI,CAeZ"}
|
package/lib/web.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { readFileSync } from 'node:fs';
|
|
2
2
|
import { createHash, timingSafeEqual } from 'node:crypto';
|
|
3
3
|
const STATIC_ASSETS = new Map([
|
|
4
|
-
...['model-catalog', 'dialogs', 'select-control', 'document-actions', 'document-sync', 'document-sync-ui', 'writeback-workspace', 'writeback-live', 'base-groups'].map(name => [
|
|
4
|
+
...['model-catalog', 'dialogs', 'select-control', 'document-actions', 'document-sync', 'document-sync-ui', 'writeback-workspace', 'writeback-live', 'base-groups', 'document-groups'].map(name => [
|
|
5
5
|
`${name}.js`, loadAsset(`../web/${name}.js`, 'text/javascript; charset=utf-8'),
|
|
6
6
|
]),
|
|
7
7
|
['app.js', loadAsset('../web/app.js', 'text/javascript; charset=utf-8')],
|
|
@@ -11,6 +11,7 @@ const STATIC_ASSETS = new Map([
|
|
|
11
11
|
['markdown-preview.js', loadAsset('../web/markdown-preview.js', 'text/javascript; charset=utf-8')],
|
|
12
12
|
['note-editor.js', loadAsset('../web/note-editor.js', 'text/javascript; charset=utf-8')],
|
|
13
13
|
['note-history.js', loadAsset('../web/note-history.js', 'text/javascript; charset=utf-8')],
|
|
14
|
+
['note-excerpt.js', loadAsset('../web/note-excerpt.js', 'text/javascript; charset=utf-8')],
|
|
14
15
|
['ui-primitives.js', loadAsset('../web/ui-primitives.js', 'text/javascript; charset=utf-8')],
|
|
15
16
|
['design-tokens.css', loadAsset('../web/design-tokens.css', 'text/css; charset=utf-8')],
|
|
16
17
|
['styles.css', loadAsset('../web/styles.css', 'text/css; charset=utf-8')],
|
package/lib/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AASzD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAgB;IAC3C,GAAG,CAAC,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AASzD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAgB;IAC3C,GAAG,CAAC,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAChM,GAAG,IAAI,KAAK,EAAE,SAAS,CAAC,UAAU,IAAI,KAAK,EAAE,gCAAgC,CAAC;KAC5D,CAAC;IACrB,CAAC,QAAQ,EAAE,SAAS,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAC;IACxE,CAAC,eAAe,EAAE,SAAS,CAAC,sBAAsB,EAAE,gCAAgC,CAAC,CAAC;IACtF,CAAC,kBAAkB,EAAE,SAAS,CAAC,yBAAyB,EAAE,gCAAgC,CAAC,CAAC;IAC5F,CAAC,eAAe,EAAE,SAAS,CAAC,sBAAsB,EAAE,gCAAgC,CAAC,CAAC;IACtF,CAAC,qBAAqB,EAAE,SAAS,CAAC,4BAA4B,EAAE,gCAAgC,CAAC,CAAC;IAClG,CAAC,gBAAgB,EAAE,SAAS,CAAC,uBAAuB,EAAE,gCAAgC,CAAC,CAAC;IACxF,CAAC,iBAAiB,EAAE,SAAS,CAAC,wBAAwB,EAAE,gCAAgC,CAAC,CAAC;IAC1F,CAAC,iBAAiB,EAAE,SAAS,CAAC,wBAAwB,EAAE,gCAAgC,CAAC,CAAC;IAC1F,CAAC,kBAAkB,EAAE,SAAS,CAAC,yBAAyB,EAAE,gCAAgC,CAAC,CAAC;IAC5F,CAAC,mBAAmB,EAAE,SAAS,CAAC,0BAA0B,EAAE,yBAAyB,CAAC,CAAC;IACvF,CAAC,YAAY,EAAE,SAAS,CAAC,mBAAmB,EAAE,yBAAyB,CAAC,CAAC;CAC1E,CAAC,CAAA;AACF,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAA;AAC1D,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;AAE1F,MAAM,UAAU,oBAAoB,CAClC,GAAuB,EACvB,OAAe,EACf,SAAiB,EACjB,WAAqC,QAAQ,EAC7C,UAAmB;IAEnB,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW,CAAoC,CAAA;IAC1F,IAAI,SAAS,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IAC5F,MAAM,aAAa,GAAG,cAAc;SACjC,UAAU,CAAC,8BAA8B,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;SAC1E,UAAU,CAAC,6BAA6B,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;SACxE,UAAU,CAAC,4BAA4B,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;SACtE,UAAU,CAAC,iCAAiC,EAAE,aAAa,CAAC,CAAA;IAC/D,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,8BAA8B,EAAE,YAAY,CAAC,CAAC,CAAA;IAC3G,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,8BAA8B,EAAE,UAAU,CAAC,CAAC,CAAA;IACvG,OAAO,SAAS,CAAC,QAAQ,CAAC;QACxB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,CAAC;KAC/F,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,QAAQ,CACf,GAAoB,EACpB,GAAmB,EACnB,OAAe,EACf,eAAuB,EACvB,aAAqB,EACrB,UAAmB;IAEnB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,CAAA;IAClC,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,EAAE,CAAC,CAAA;QAChE,GAAG,CAAC,GAAG,EAAE,CAAA;QACT,OAAM;IACR,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,wBAAwB,CAAC,CAAC,QAAQ,CAAA;IAC3E,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;IACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,UAAU,KAAK,SAAS,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;QACpF,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,EAAE,WAAW,EAAE,0BAA0B,EAAE,EAAE,QAAQ,CAAC,CAAA;QAC/H,OAAM;IACR,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACzC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,CAAC,CAAA;QACrC,GAAG,CAAC,GAAG,EAAE,CAAA;QACT,OAAM;IACR,CAAC;IACD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;AAC/B,CAAC;AAED,SAAS,SAAS,CAAC,GAAmB,EAAE,MAAc,EAAE,KAAY,EAAE,QAAQ,GAAG,KAAK;IACpF,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,GAAG,eAAe,CAAC,QAAQ,CAAC;QAC5B,cAAc,EAAE,KAAK,CAAC,WAAW;QACjC,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;QACvC,eAAe,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,qCAAqC;KAChH,CAAC,CAAA;IACF,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AACrD,CAAC;AAED,SAAS,eAAe,CAAC,QAAQ,GAAG,KAAK;IACvC,0EAA0E;IAC1E,qEAAqE;IACrE,uEAAuE;IACvE,MAAM,MAAM,GAAG,yRAAyR,CAAA;IACxS,OAAO;QACL,yBAAyB,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,0BAA0B;QAClF,iBAAiB,EAAE,aAAa;QAChC,wBAAwB,EAAE,SAAS;QACnC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,YAAY,EAAE;QACtD,4BAA4B,EAAE,aAAa;KAC5C,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA0B,EAAE,QAAgB;IACtE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,wBAAwB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC3F,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IACnC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC3C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC3C,OAAO,aAAa,CAAC,UAAU,KAAK,aAAa,CAAC,UAAU,IAAI,eAAe,CAAC,aAAa,EAAE,aAAa,CAAC,CAAA;AAC/G,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,WAAmB;IAClD,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,CAAA;AAC5E,CAAC;AAED,SAAS,YAAY,CAAC,MAAuB;IAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IACjC,KAAK,MAAM,KAAK,IAAI,MAAM;QAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACnD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACxC,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AACjH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lemoncat7/dsh-knowledge",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.10.0",
|
|
4
4
|
"description": "Local and remote knowledge bases for DeepSeek Harness, with scoped recall, controlled write-back, and a Web management console",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"deepseek-harness",
|
package/web/app.js
CHANGED
|
@@ -3,6 +3,7 @@ const AUTH_MODE = document.querySelector('meta[name="dsh-knowledge-auth-mode"]')
|
|
|
3
3
|
const WEB_PATH = document.querySelector('meta[name="dsh-knowledge-web"]')?.content || '/knowledge'
|
|
4
4
|
const ASSET_VERSION = document.querySelector('meta[name="dsh-knowledge-asset-version"]')?.content || ''
|
|
5
5
|
const moduleUrl = name => `./${name}.js${ASSET_VERSION ? `?v=${encodeURIComponent(ASSET_VERSION)}` : ''}`
|
|
6
|
+
const { createDocumentGroupField, renderDocumentGroups, openDocumentGroupOrganizer } = await import(moduleUrl('document-groups'))
|
|
6
7
|
const [apiModule, themeModule, uiModule, modelCatalogModule, dialogModule, selectModule, documentActionsModule] = await Promise.all([
|
|
7
8
|
import(moduleUrl('api-client')),
|
|
8
9
|
import(moduleUrl('host-theme')),
|
|
@@ -19,6 +20,7 @@ const { renderMenu: renderDocumentMenu, closeMenus: closeDocumentMenus } = docum
|
|
|
19
20
|
const readModelCatalog = modelCatalogModule.createModelCatalogLoader()
|
|
20
21
|
const { createWritebackWorkspace } = await import(moduleUrl('writeback-workspace'))
|
|
21
22
|
const { createDocumentSync } = await import(moduleUrl('document-sync'))
|
|
23
|
+
const { openNoteExcerpt } = await import(moduleUrl('note-excerpt'))
|
|
22
24
|
const { createBaseGroups, knowledgeBasePathLabel, sortKnowledgeBasesByGroup } = await import(moduleUrl('base-groups'))
|
|
23
25
|
let baseGroups
|
|
24
26
|
let writebackWorkspace
|
|
@@ -54,6 +56,7 @@ function createDocumentViewState(overrides = {}) {
|
|
|
54
56
|
return {
|
|
55
57
|
knowledgeBaseId: '', documentId: '', query: '', mode: 'preview', treeOpen: false,
|
|
56
58
|
expandedBases: new Set(), documentPages: new Map(),
|
|
59
|
+
collapsedGroups: new Set(),
|
|
57
60
|
searchResults: [], searchNextCursor: '', searchTotal: 0, searchLoading: false, searchError: '', searchRequest: 0,
|
|
58
61
|
editor: null, editorLoading: false, loadingDocumentId: '', ...overrides,
|
|
59
62
|
}
|
|
@@ -735,7 +738,7 @@ async function loadDocumentEditor(workspace, id, signal) {
|
|
|
735
738
|
return true
|
|
736
739
|
}
|
|
737
740
|
|
|
738
|
-
function createBlankDocument(workspace, baseId) {
|
|
741
|
+
function createBlankDocument(workspace, baseId, group) {
|
|
739
742
|
const base = state.knowledgeBases.find(item => item.id === baseId && item.status === 'active')
|
|
740
743
|
if (!base) return showToast('请先选择一个可用知识库。', 'error')
|
|
741
744
|
const view = workspace.view
|
|
@@ -746,17 +749,28 @@ function createBlankDocument(workspace, baseId) {
|
|
|
746
749
|
view.expandedBases.add(base.id)
|
|
747
750
|
view.editor = {
|
|
748
751
|
id: '', knowledgeBaseId: base.id, title: '', body: '', type: 'fact', tags: [], tagsText: '',
|
|
752
|
+
group,
|
|
749
753
|
scope: { kind: 'global' }, confidence: .8, noteReferences: [], dirty: true, isNew: true, saveState: '新文档',
|
|
750
754
|
}
|
|
751
755
|
renderShell()
|
|
752
756
|
document.querySelector('.note-title-input')?.focus()
|
|
753
757
|
}
|
|
754
758
|
|
|
755
|
-
async function startBlankDocument(workspace, baseId) {
|
|
759
|
+
async function startBlankDocument(workspace, baseId, group) {
|
|
756
760
|
const editor = workspace.view.editor
|
|
757
761
|
const emptyDraft = editor?.isNew && !editor.title.trim() && !editor.body.trim()
|
|
758
762
|
if (editor?.dirty && !emptyDraft && !await saveDocumentEditor(workspace)) return
|
|
759
|
-
|
|
763
|
+
if (!baseId) return showToast('请先选择知识库。', 'error')
|
|
764
|
+
if (group) return createBlankDocument(workspace, baseId, group)
|
|
765
|
+
const field = createDocumentGroupField({ element, api, baseId, required: true })
|
|
766
|
+
openSheet({ title: '新建知识文档', description: '先选择文档分组,优先复用已有分组。', body: field.wrapper, primaryLabel: '开始编写', onPrimary: async () => {
|
|
767
|
+
await field.ready
|
|
768
|
+
let name
|
|
769
|
+
try { name = field.validate() } catch { return false }
|
|
770
|
+
if (!name || name === '未分组') throw new Error('请选择已有分组,或填写新分组名称。')
|
|
771
|
+
createBlankDocument(workspace, baseId, name)
|
|
772
|
+
return true
|
|
773
|
+
} })
|
|
760
774
|
}
|
|
761
775
|
|
|
762
776
|
async function selectDocument(workspace, id) {
|
|
@@ -785,6 +799,7 @@ async function selectDocument(workspace, id) {
|
|
|
785
799
|
function editorDraft(editor) {
|
|
786
800
|
return {
|
|
787
801
|
knowledgeBaseId: editor.knowledgeBaseId,
|
|
802
|
+
...(editor.group === undefined ? {} : { group: editor.group }),
|
|
788
803
|
title: editor.title.trim(),
|
|
789
804
|
body: editor.body.trim(),
|
|
790
805
|
type: editor.type,
|
|
@@ -808,6 +823,10 @@ async function saveDocumentEditor(workspace = activeDocumentWorkspace()) {
|
|
|
808
823
|
showToast('标题和正文填写完整后才能保存。', 'error')
|
|
809
824
|
return false
|
|
810
825
|
}
|
|
826
|
+
if (editor.isNew && (!editor.group?.trim() || editor.group === '未分组')) {
|
|
827
|
+
showToast('新建知识文档必须指定分组。', 'error')
|
|
828
|
+
return false
|
|
829
|
+
}
|
|
811
830
|
editor.saveState = '正在保存…'
|
|
812
831
|
editor.saving = true
|
|
813
832
|
updateEditorSaveState(editor.saveState)
|
|
@@ -1634,13 +1653,45 @@ function renderEntries() {
|
|
|
1634
1653
|
return renderDocumentWorkspace(sessionDocumentWorkspace(), { heading: '知识目录' })
|
|
1635
1654
|
}
|
|
1636
1655
|
|
|
1656
|
+
async function applyDocumentGroup(workspace, baseId, ids, group) {
|
|
1657
|
+
if (workspace.view.editor?.dirty && !await saveDocumentEditor(workspace)) throw new Error('请先保存当前文档,再调整分组。')
|
|
1658
|
+
await api('document-groups', { method: 'POST', body: { knowledgeBaseId: baseId, ids, group } })
|
|
1659
|
+
await reloadDocumentWorkspace(workspace)
|
|
1660
|
+
if (workspace.view.documentId) await loadDocumentEditor(workspace, workspace.view.documentId)
|
|
1661
|
+
workspace.view.collapsedGroups.delete(JSON.stringify([baseId, group]))
|
|
1662
|
+
renderShell()
|
|
1663
|
+
showToast('文档分组已更新。')
|
|
1664
|
+
}
|
|
1665
|
+
|
|
1666
|
+
async function dropDocumentIntoGroup(event, workspace, baseId, group) {
|
|
1667
|
+
event.preventDefault()
|
|
1668
|
+
const drag = knowledgeDocumentDrag
|
|
1669
|
+
clearKnowledgeDocumentDragState()
|
|
1670
|
+
if (!drag || drag.sourceBaseId !== baseId) return showToast('分组内拖动仅用于同一知识库;跨库请拖到知识库名称。', 'error')
|
|
1671
|
+
try { await applyDocumentGroup(workspace, baseId, [drag.documentId], group) }
|
|
1672
|
+
catch (error) { showToast(friendlyError(error), 'error') }
|
|
1673
|
+
}
|
|
1674
|
+
|
|
1675
|
+
function openDocumentGroupEditor(workspace, editor) {
|
|
1676
|
+
const field = createDocumentGroupField({ element, api, baseId: editor.knowledgeBaseId, value: editor.group || '', required: editor.isNew })
|
|
1677
|
+
openSheet({ title: '文档分组', description: '修改分组不会移动文件或更改文档引用。', body: field.wrapper, primaryLabel: '保存分组', onPrimary: async () => {
|
|
1678
|
+
await field.ready
|
|
1679
|
+
field.validate()
|
|
1680
|
+
if (editor.isNew) {
|
|
1681
|
+
if (!field.value() || field.value() === '未分组') throw new Error('新文档必须选择有效分组。')
|
|
1682
|
+
editor.group = field.value(); editor.dirty = true; renderShell()
|
|
1683
|
+
} else await applyDocumentGroup(workspace, editor.knowledgeBaseId, [editor.id], field.value())
|
|
1684
|
+
return true
|
|
1685
|
+
} })
|
|
1686
|
+
}
|
|
1687
|
+
|
|
1637
1688
|
function renderDocumentWorkspace(workspace, options = {}) {
|
|
1638
1689
|
const view = workspace.view
|
|
1639
1690
|
const query = view.query.trim().toLocaleLowerCase()
|
|
1640
1691
|
const activeBases = documentWorkspaceBases(workspace)
|
|
1641
1692
|
const workspaceDocuments = documentWorkspaceDocuments(workspace)
|
|
1642
1693
|
const readOnly = documentWorkspaceReadOnly(workspace)
|
|
1643
|
-
const canOrganize = !readOnly
|
|
1694
|
+
const canOrganize = !readOnly
|
|
1644
1695
|
const selectedBase = activeBases.find(base => base.id === view.knowledgeBaseId)
|
|
1645
1696
|
const search = element('input', {
|
|
1646
1697
|
class: 'note-tree-search', type: 'search', value: view.query, placeholder: '搜索文档', 'aria-label': '搜索知识库文档',
|
|
@@ -1686,11 +1737,11 @@ function renderDocumentWorkspace(workspace, options = {}) {
|
|
|
1686
1737
|
!query && page.error ? element('div', { class: 'note-tree-status is-error' },
|
|
1687
1738
|
element('span', {}, page.error),
|
|
1688
1739
|
actionButton('重试', () => { void loadDocumentPage(workspace, base.id, { reset: true }).then(renderShell) }, 'ghost small')) : null,
|
|
1689
|
-
documents.
|
|
1740
|
+
renderDocumentGroups({ element, documents, baseId: base.id, collapsed: view.collapsedGroups, searching: Boolean(query), onNew: readOnly ? undefined : group => { void startBlankDocument(workspace, base.id, group) }, onDrop: readOnly ? undefined : (event, group) => { void dropDocumentIntoGroup(event, workspace, base.id, group) }, renderRow: document => element('button', {
|
|
1690
1741
|
type: 'button', class: 'note-tree-document', 'aria-current': document.id === view.documentId ? 'page' : undefined,
|
|
1691
1742
|
draggable: canOrganize && movingDocumentId !== document.id ? 'true' : undefined,
|
|
1692
1743
|
'aria-busy': movingDocumentId === document.id ? 'true' : undefined,
|
|
1693
|
-
title: canOrganize ? `${document.title} ·
|
|
1744
|
+
title: canOrganize ? `${document.title} · 可拖到分组或其他知识库` : document.title,
|
|
1694
1745
|
'data-document-id': document.id,
|
|
1695
1746
|
onDragStart: event => {
|
|
1696
1747
|
knowledgeDocumentDrag = { documentId: document.id, sourceBaseId: base.id, workspaceKind: workspace.kind }
|
|
@@ -1702,7 +1753,7 @@ function renderDocumentWorkspace(workspace, options = {}) {
|
|
|
1702
1753
|
onClick: () => { view.knowledgeBaseId = base.id; void selectDocument(workspace, document.id) },
|
|
1703
1754
|
}, element('span', { class: 'tree-document-icon', 'aria-hidden': 'true' }), element('span', { class: 'tree-document-copy' },
|
|
1704
1755
|
element('strong', { title: document.title }, document.title), element('small', { title: document.relPath }, document.relPath)),
|
|
1705
|
-
document.documentState !== 'open' ? badge(DOCUMENT_STATE_LABELS[document.documentState] || '已结束', 'success') : null)),
|
|
1756
|
+
document.documentState !== 'open' ? badge(DOCUMENT_STATE_LABELS[document.documentState] || '已结束', 'success') : null) }),
|
|
1706
1757
|
!query && page.nextCursor ? element('button', {
|
|
1707
1758
|
type: 'button', class: 'note-tree-more', disabled: page.loading,
|
|
1708
1759
|
onClick: () => { void loadDocumentPage(workspace, base.id, { append: true }).then(renderShell) },
|
|
@@ -1734,7 +1785,8 @@ function renderDocumentWorkspace(workspace, options = {}) {
|
|
|
1734
1785
|
element('div', {}, element('h2', { id: `${workspace.kind}-documents-heading` }, options.heading || '知识目录'), element('span', {}, query ? `${view.searchTotal} 条搜索结果` : `${workspaceDocuments.length} 篇已加载`)),
|
|
1735
1786
|
!readOnly ? actionButton('+', () => { void startBlankDocument(workspace, view.knowledgeBaseId || activeBases[0]?.id) }, 'ghost note-add-button', { 'aria-label': '新建文档', title: '新建文档' }) : null,
|
|
1736
1787
|
),
|
|
1737
|
-
element('div', { class: 'note-tree-search-wrap' }, interfaceIcon('search', 'search-symbol'), search),
|
|
1788
|
+
element('div', {}, element('div', { class: 'note-tree-search-wrap' }, interfaceIcon('search', 'search-symbol'), search),
|
|
1789
|
+
!readOnly && view.knowledgeBaseId ? actionButton('整理分组', () => { const baseId = view.knowledgeBaseId; void openDocumentGroupOrganizer({ element, api, openSheet, baseId, onApply: (ids, group) => applyDocumentGroup(workspace, baseId, ids, group) }) }, 'ghost small document-groups-manage') : null),
|
|
1738
1790
|
element('nav', { class: 'note-tree', 'data-scroll-key': `${workspace.kind}-note-tree` }, treeContent),
|
|
1739
1791
|
workspace.kind === 'session' ? element('footer', { class: 'note-tree-footer' }, actionButton('新建知识库', () => openKnowledgeBaseEditor(), 'ghost small')) : null,
|
|
1740
1792
|
),
|
|
@@ -1825,6 +1877,7 @@ function renderNoteEditor(workspace, editor, base) {
|
|
|
1825
1877
|
),
|
|
1826
1878
|
renderDocumentReferenceBar(workspace, editor, editable),
|
|
1827
1879
|
element('footer', { class: 'note-inspector' },
|
|
1880
|
+
readOnly ? element('span', { class: 'note-format-hint' }, `分组:${editor.group || '未分组'}`) : actionButton(`分组:${editor.group || '未分组'}`, () => openDocumentGroupEditor(workspace, editor), 'ghost small document-group-control', { title: editor.group || '未分组', 'aria-label': '调整文档分组' }),
|
|
1828
1881
|
finalized || readOnly ? element('span', { class: 'note-format-hint' }, readOnly ? '知识库已归档 · 只读' : '只读封存 · 重新打开后才能编辑') : element('label', {}, element('span', {}, '类型'), element('select', {
|
|
1829
1882
|
class: 'note-meta-select', onChange: event => update('type', event.target.value),
|
|
1830
1883
|
}, TYPES.map(type => element('option', { value: type, selected: type === editor.type }, TYPE_LABELS[type])))),
|
|
@@ -2622,6 +2675,7 @@ function mountMarkdownNoteEditor(host, node, frame, scrollHost, outlineHost) {
|
|
|
2622
2675
|
isCurrent: () => state.notes.selectedNode?.id === node.id,
|
|
2623
2676
|
onChange: updateNoteDraft,
|
|
2624
2677
|
onSave: () => { void saveNoteDocument() },
|
|
2678
|
+
onExcerpt: text => { void excerptSelectedNote(node, text) },
|
|
2625
2679
|
})
|
|
2626
2680
|
}
|
|
2627
2681
|
|
|
@@ -2673,6 +2727,8 @@ function mountMarkdownEditor(host, options) {
|
|
|
2673
2727
|
label: options.label,
|
|
2674
2728
|
onChange: options.onChange,
|
|
2675
2729
|
onSave: options.onSave,
|
|
2730
|
+
onExcerpt: options.onExcerpt,
|
|
2731
|
+
onOpenNote: id => { void openNoteReference(id) },
|
|
2676
2732
|
})
|
|
2677
2733
|
} catch (error) {
|
|
2678
2734
|
if (!host.isConnected || request !== markdownEditorMountRequest) return
|
|
@@ -2684,6 +2740,15 @@ function mountMarkdownEditor(host, options) {
|
|
|
2684
2740
|
})
|
|
2685
2741
|
}
|
|
2686
2742
|
|
|
2743
|
+
async function excerptSelectedNote(node, text) {
|
|
2744
|
+
try {
|
|
2745
|
+
if (state.notes.selectedNode?.id !== node.id) return
|
|
2746
|
+
if (!await saveNoteDocument()) return
|
|
2747
|
+
if (state.notes.selectedNode?.id !== node.id) return
|
|
2748
|
+
await openNoteExcerpt({ node, text, api, element, openSheet, showToast, friendlyError, formField, selectField, knowledgeBasePathLabel })
|
|
2749
|
+
} catch (error) { showToast(friendlyError(error), 'error') }
|
|
2750
|
+
}
|
|
2751
|
+
|
|
2687
2752
|
function loadMarkdownNoteEditor() {
|
|
2688
2753
|
if (window.DshKnowledgeNoteEditor?.createMarkdownEditor) return Promise.resolve(window.DshKnowledgeNoteEditor)
|
|
2689
2754
|
if (noteEditorLoader) return noteEditorLoader
|
|
@@ -3664,8 +3729,9 @@ function renderCandidates() {
|
|
|
3664
3729
|
function renderCandidateCard(candidate) {
|
|
3665
3730
|
const pending = candidate.status === 'pending'
|
|
3666
3731
|
const target = candidate.targetId ? state.candidateTargets.get(candidate.targetId) : null
|
|
3667
|
-
const targetAvailable = candidate.action === 'create' || Boolean(target && (candidate.change?.kind
|
|
3668
|
-
|
|
3732
|
+
const targetAvailable = candidate.action === 'create' || Boolean(target && (candidate.change?.kind === 'group'
|
|
3733
|
+
? target.version === candidate.change.baseVersion
|
|
3734
|
+
: candidate.change?.kind !== 'finalize' || target.documentState === 'open' && target.version === candidate.change.baseVersion))
|
|
3669
3735
|
const action = candidatePrimaryAction(candidate)
|
|
3670
3736
|
return element('article', { class: 'candidate' },
|
|
3671
3737
|
element('div', { class: 'candidate-header' },
|
|
@@ -3687,7 +3753,7 @@ function renderCandidateCard(candidate) {
|
|
|
3687
3753
|
element('strong', {}, '写入位置'),
|
|
3688
3754
|
element('span', { class: 'candidate-target' }, candidate.action === 'create'
|
|
3689
3755
|
? `创建“${candidate.draft.title}”`
|
|
3690
|
-
: target ? `${candidate.change?.kind === 'finalize' ? '结束整篇' : candidate.change?.kind === 'revise' ? '修订' : '补充到'}“${target.title}”` : `目标 ${candidate.targetId || '不可用'}`),
|
|
3756
|
+
: target ? `${candidate.change?.kind === 'group' ? '调整分组:' : candidate.change?.kind === 'finalize' ? '结束整篇' : candidate.change?.kind === 'revise' ? '修订' : '补充到'}“${target.title}”` : `目标 ${candidate.targetId || '不可用'}`),
|
|
3691
3757
|
),
|
|
3692
3758
|
renderCandidateMetadataChanges(candidate, target),
|
|
3693
3759
|
element('section', {},
|
|
@@ -3704,7 +3770,7 @@ function renderCandidateCard(candidate) {
|
|
|
3704
3770
|
element('small', {}, `${scopeLabel(candidate.draft.scope)} · 置信度 ${Math.round(candidate.draft.confidence * 100)}%${candidate.targetId ? ` · 目标 ${candidate.targetId}` : ''} · ${formatDate(candidate.createdAt)}`),
|
|
3705
3771
|
pending ? element('div', { class: 'candidate-actions' },
|
|
3706
3772
|
actionButton('拒绝', () => reviewCandidate(candidate, 'reject'), 'danger small'),
|
|
3707
|
-
candidate.change?.kind
|
|
3773
|
+
['finalize', 'group'].includes(candidate.change?.kind) ? null : actionButton(action.editLabel, () => openEntryEditor(undefined, candidate), 'small', {
|
|
3708
3774
|
disabled: !targetAvailable,
|
|
3709
3775
|
title: targetAvailable ? action.editLabel : '目标文档不可用,无法安全编辑合并结果',
|
|
3710
3776
|
}),
|
|
@@ -3718,6 +3784,14 @@ function renderCandidateCard(candidate) {
|
|
|
3718
3784
|
}
|
|
3719
3785
|
|
|
3720
3786
|
function renderCandidateDiff(candidate, target) {
|
|
3787
|
+
if (candidate.change?.kind === 'group') {
|
|
3788
|
+
return element('section', { class: 'candidate-change' },
|
|
3789
|
+
element('strong', {}, '调整文档分组'),
|
|
3790
|
+
element('p', {}, `${target?.group || '未分组'} → ${candidate.change.group}`),
|
|
3791
|
+
element('p', {}, '只修改分组,正文、标签、路径和完成状态保持不变。'),
|
|
3792
|
+
target && target.version !== candidate.change.baseVersion ? element('p', { role: 'alert' }, '文档版本已变化,请拒绝后重新提交分组调整。') : null,
|
|
3793
|
+
)
|
|
3794
|
+
}
|
|
3721
3795
|
if (candidate.change?.kind === 'finalize') {
|
|
3722
3796
|
return element('section', { class: 'candidate-change', 'aria-label': '文档结束预览' },
|
|
3723
3797
|
element('strong', {}, `${target?.title || candidate.draft.title} · ${candidate.change.state === 'resolved' ? '标记已解决' : '标记收集完成'}`),
|
|
@@ -3805,6 +3879,7 @@ function renderCandidateMetadataChanges(candidate, target) {
|
|
|
3805
3879
|
}
|
|
3806
3880
|
|
|
3807
3881
|
function candidatePrimaryAction(candidate) {
|
|
3882
|
+
if (candidate.change?.kind === 'group') return { label: '确认调整分组', manualOnly: candidate.action === 'conflict' }
|
|
3808
3883
|
if (candidate.change?.kind === 'finalize') return { label: candidate.change.state === 'resolved' ? '确认标记已解决' : '确认收集完成', manualOnly: candidate.action === 'conflict' }
|
|
3809
3884
|
if (candidate.action === 'create') return { label: '写入新文档', editLabel: '编辑后写入' }
|
|
3810
3885
|
if (candidate.action === 'conflict' && candidate.change?.kind !== 'revise') {
|
|
@@ -4203,6 +4278,13 @@ function openEntryEditor(entry, candidate) {
|
|
|
4203
4278
|
const activeBases = state.knowledgeBases.filter(base => base.status === 'active')
|
|
4204
4279
|
const selectedBaseId = source.knowledgeBaseId || activeBases[0]?.id || 'default'
|
|
4205
4280
|
const knowledgeBase = selectField('所属知识库', activeBases.map(base => ({ value: base.id, label: base.name })), selectedBaseId)
|
|
4281
|
+
const requiresGroup = !entry && (!candidate || candidate.action === 'create')
|
|
4282
|
+
let groupField = createDocumentGroupField({ element, api, baseId: selectedBaseId, value: candidateTarget?.group ?? source.group ?? '', required: requiresGroup })
|
|
4283
|
+
const groupSlot = element('div', { class: 'span-2' }, groupField.wrapper)
|
|
4284
|
+
knowledgeBase.input.addEventListener('change', () => {
|
|
4285
|
+
groupField = createDocumentGroupField({ element, api, baseId: knowledgeBase.input.value, value: groupField.value(), required: requiresGroup })
|
|
4286
|
+
groupSlot.replaceChildren(groupField.wrapper)
|
|
4287
|
+
})
|
|
4206
4288
|
const scope = selectField('范围', [{ value: 'global', label: '全局' }, { value: 'project', label: '项目' }], source.scope.kind)
|
|
4207
4289
|
const project = formField('项目 ID / 路径', 'input', source.scope.kind === 'project' ? source.scope.id : '', { placeholder: '/workspace/project' })
|
|
4208
4290
|
const tags = formField('标签', 'input', source.tags.join(', '), { placeholder: 'docker, deployment' })
|
|
@@ -4217,6 +4299,7 @@ function openEntryEditor(entry, candidate) {
|
|
|
4217
4299
|
title.wrapper,
|
|
4218
4300
|
type.wrapper,
|
|
4219
4301
|
knowledgeBase.wrapper,
|
|
4302
|
+
groupSlot,
|
|
4220
4303
|
scope.wrapper,
|
|
4221
4304
|
scopeProjectField,
|
|
4222
4305
|
element('div', { class: 'field span-2' }, element('label', {}, '置信度'), element('div', { class: 'range-row' }, confidenceInput, confidenceValue)),
|
|
@@ -4236,8 +4319,12 @@ function openEntryEditor(entry, candidate) {
|
|
|
4236
4319
|
: '保存文档'
|
|
4237
4320
|
const modal = openSheet({ title: modeTitle, description: candidate ? candidateDescription : '文档保存后会立即参与后续召回。', body: form, primaryLabel, onPrimary: async () => {
|
|
4238
4321
|
if (!form.reportValidity()) return false
|
|
4322
|
+
await groupField.ready
|
|
4323
|
+
groupField.validate()
|
|
4324
|
+
if (requiresGroup && (!groupField.value() || groupField.value() === '未分组')) throw new Error('新文档必须选择分组。')
|
|
4239
4325
|
const draft = {
|
|
4240
4326
|
knowledgeBaseId: knowledgeBase.input.value,
|
|
4327
|
+
group: groupField.value(),
|
|
4241
4328
|
title: title.input.value.trim(), body: body.input.value.trim(), type: type.input.value,
|
|
4242
4329
|
tags: parseTags(tags.input.value),
|
|
4243
4330
|
scope: scope.input.value === 'global' ? { kind: 'global' } : { kind: 'project', id: project.input.value.trim() },
|
|
@@ -4309,6 +4396,8 @@ async function reviewCandidate(candidate, decision, resolution) {
|
|
|
4309
4396
|
const title = approve ? `${action.label}?` : '拒绝这条候选?'
|
|
4310
4397
|
const message = !approve
|
|
4311
4398
|
? '拒绝后会保留审核记录,但不会进入知识库。'
|
|
4399
|
+
: candidate.change?.kind === 'group'
|
|
4400
|
+
? `确认后仅将文档归入“${candidate.change.group}”,不修改正文或完成状态。`
|
|
4312
4401
|
: candidate.change?.kind === 'finalize'
|
|
4313
4402
|
? '确认后整篇文档将结束并停止回写,正文保持不变。如需继续补充,可在文档中重新打开;版本变化时本次确认不会生效。'
|
|
4314
4403
|
: candidate.action === 'create'
|