@fiduswriter/editor 0.1.21 → 0.1.22
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 +69 -14
- package/dist/types.d.ts +110 -17
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +124 -110
- package/src/types.ts +90 -17
package/README.md
CHANGED
|
@@ -1,22 +1,77 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="logo.svg" alt="@fiduswriter/editor" width="100" height="100">
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
<h1 align="center">@fiduswriter/editor</h1>
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
Writer, including real-time collaboration, comments, tracked changes,
|
|
7
|
-
footnotes, citations, dialogs, menus, and end-to-end encryption.
|
|
7
|
+
<p align="center">Browser-based ProseMirror editor for Fidus Writer</p>
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## What it does
|
|
12
|
+
|
|
13
|
+
The main browser-based collaborative editor for Fidus Writer. Built on
|
|
14
|
+
ProseMirror, it provides real-time collaboration, comments, tracked changes,
|
|
15
|
+
footnotes, citations, end-to-end encryption (E2EE), menus, dialogs, and
|
|
16
|
+
clipboard import/export.
|
|
17
|
+
|
|
18
|
+
### Key features
|
|
19
|
+
|
|
20
|
+
- **Real-time collaboration** — WebSocket-based collaborative editing with
|
|
21
|
+
participant carets, diffs, and versioning
|
|
22
|
+
- **Track changes** — Accept/reject individual changes with full change history
|
|
23
|
+
- **Comments** — Threaded commenting with annotation marks and resolution
|
|
24
|
+
- **Footnotes** — Inline footnote editing with proper layout
|
|
25
|
+
- **Citations** — Citeproc-js based citation rendering with bibliography
|
|
26
|
+
generation
|
|
27
|
+
- **E2EE** — End-to-end encryption with key management and passphrase support
|
|
28
|
+
- **Clipboard** — Paste from Word, LibreOffice, Google Docs with format
|
|
29
|
+
preservation
|
|
30
|
+
- **Tables** — Full table editing with column/row operations
|
|
31
|
+
- **Figures & equations** — Image and math formula editing with captions
|
|
32
|
+
- **Code blocks** — Syntax-highlighted code block editing
|
|
33
|
+
|
|
34
|
+
## Exports
|
|
35
|
+
|
|
36
|
+
| Export | Description |
|
|
37
|
+
|--------|-------------|
|
|
38
|
+
| `Editor` | Main editor class — orchestrates ProseMirror, collaboration, and all subsystems |
|
|
39
|
+
|
|
40
|
+
Additional modules are exported under subpaths:
|
|
41
|
+
- `./state_plugins` — ProseMirror state plugins
|
|
42
|
+
- `./state_plugins/*` — Individual plugins (inline math, references, links, etc.)
|
|
43
|
+
- `./menus` — Editor menus and toolbar
|
|
44
|
+
- `./dialogs` — Editor dialogs (figure, citation, link, table, etc.)
|
|
45
|
+
- `./keymap` — Keyboard shortcut bindings
|
|
46
|
+
|
|
47
|
+
## Installation
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npm install @fiduswriter/editor
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Usage
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
import {Editor} from "@fiduswriter/editor"
|
|
57
|
+
|
|
58
|
+
const editor = new Editor({
|
|
59
|
+
user: {id: 1, username: "author"},
|
|
60
|
+
documentId: 123,
|
|
61
|
+
websocketUrl: "wss://example.com/ws/"
|
|
62
|
+
})
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Development
|
|
10
66
|
|
|
11
67
|
```bash
|
|
12
|
-
npm install
|
|
13
|
-
npm run build
|
|
68
|
+
npm install # Install dependencies
|
|
69
|
+
npm run build # Compile TypeScript to dist/
|
|
70
|
+
npm run typecheck # Check types without emitting
|
|
71
|
+
npm run lint # Lint with ESLint
|
|
72
|
+
npm run format:check # Check formatting with Prettier
|
|
14
73
|
```
|
|
15
74
|
|
|
16
|
-
##
|
|
75
|
+
## License
|
|
17
76
|
|
|
18
|
-
|
|
19
|
-
still JavaScript and will be migrated to TypeScript over time. Some
|
|
20
|
-
functionality that was previously spread across Django apps (image editing,
|
|
21
|
-
contacts, access rights) has been copied into this package for the first pass
|
|
22
|
-
and may be reorganized later.
|
|
77
|
+
AGPL-3.0 — see [LICENSE](LICENSE) for details.
|
package/dist/types.d.ts
CHANGED
|
@@ -10,8 +10,8 @@ import type { Node, Schema } from "prosemirror-model";
|
|
|
10
10
|
import type { Plugin, Transaction } from "prosemirror-state";
|
|
11
11
|
import type { EditorView } from "prosemirror-view";
|
|
12
12
|
import type { App as CommonApp, User } from "@fiduswriter/common";
|
|
13
|
-
import type { BibDB, BibDBEntries, CommentData, ImageDB, ImageDBEntries } from "@fiduswriter/document";
|
|
14
|
-
export type { BibDB, BibDBEntries, CommentData, ImageDB, ImageDBEntries };
|
|
13
|
+
import type { BibDB, BibDBEntries, CommentData, CSL, ImageDB, ImageDBEntries } from "@fiduswriter/document";
|
|
14
|
+
export type { BibDB, BibDBEntries, CommentData, CSL, ImageDB, ImageDBEntries };
|
|
15
15
|
export type { User } from "@fiduswriter/common";
|
|
16
16
|
/** Image database interface used by the editor (document and user DBs). */
|
|
17
17
|
export interface EditorImageDB extends ImageDB {
|
|
@@ -21,7 +21,7 @@ export interface EditorImageDB extends ImageDB {
|
|
|
21
21
|
/** Extended app object used by the editor page. */
|
|
22
22
|
export interface App extends CommonApp {
|
|
23
23
|
isOffline(): boolean;
|
|
24
|
-
csl:
|
|
24
|
+
csl: CSL;
|
|
25
25
|
imageDB: EditorImageDB;
|
|
26
26
|
}
|
|
27
27
|
export type { App as EditorApp };
|
|
@@ -67,32 +67,113 @@ export interface DocInfo {
|
|
|
67
67
|
/** Aggregated editor module namespace (populated by individual modules). */
|
|
68
68
|
export interface EditorMod {
|
|
69
69
|
[key: string]: unknown;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
collab?: {
|
|
71
|
+
doc: {
|
|
72
|
+
sendToCollaborators(): void;
|
|
73
|
+
confirmVersion(n: number): void;
|
|
74
|
+
receiveDiff(data: unknown): void;
|
|
75
|
+
receiveSelectionChange(data: unknown): void;
|
|
76
|
+
checkVersion(offline?: boolean): void;
|
|
77
|
+
cancelCurrentlyCheckingVersion(): void;
|
|
78
|
+
confirmDiff(rid: number): void;
|
|
79
|
+
rejectDiff(rid: number): void;
|
|
80
|
+
awaitingDiffResponse: boolean;
|
|
81
|
+
footnoteRender: boolean;
|
|
82
|
+
};
|
|
83
|
+
participants: Array<{
|
|
84
|
+
id: number;
|
|
85
|
+
name?: string;
|
|
86
|
+
session_id?: string;
|
|
87
|
+
sessionIds?: string[];
|
|
88
|
+
}>;
|
|
89
|
+
pastParticipants: Array<{
|
|
90
|
+
id: number;
|
|
91
|
+
name?: string;
|
|
92
|
+
}>;
|
|
93
|
+
updateParticipantList(participants: unknown[]): void;
|
|
94
|
+
chat: {
|
|
95
|
+
newMessage(message: unknown): void;
|
|
96
|
+
showChat(participants: unknown[]): void;
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
marginboxes?: {
|
|
100
|
+
updateDOM(): void;
|
|
101
|
+
view(view: EditorView): void;
|
|
102
|
+
init(): void;
|
|
103
|
+
};
|
|
104
|
+
footnotes?: {
|
|
105
|
+
fnEditor: {
|
|
106
|
+
view: EditorView;
|
|
107
|
+
renderAllFootnotes(): void;
|
|
108
|
+
applyDiffs(diffs: unknown[], cid: unknown): void;
|
|
109
|
+
schema: {
|
|
110
|
+
cached: Record<string, unknown>;
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
init(): void;
|
|
114
|
+
layout?: {
|
|
115
|
+
updateDOM(): void;
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
comments?: {
|
|
119
|
+
store: {
|
|
120
|
+
reset(): void;
|
|
121
|
+
loadComments(comments: unknown): void;
|
|
122
|
+
unsentEvents(): unknown[];
|
|
123
|
+
eventsSent(events: unknown[]): void;
|
|
124
|
+
receive(events: unknown[]): void;
|
|
125
|
+
comments: Record<string, unknown>;
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
documentTemplate?: {
|
|
129
|
+
documentStyles: Array<{
|
|
130
|
+
slug: string;
|
|
131
|
+
}>;
|
|
132
|
+
getCitationStyles(): Promise<unknown>;
|
|
133
|
+
setStyles(styles: unknown): void;
|
|
134
|
+
addDocPartSettings(): void;
|
|
135
|
+
addCitationStylesMenuEntries(): void;
|
|
136
|
+
};
|
|
137
|
+
citations?: {
|
|
138
|
+
init(): void;
|
|
139
|
+
resetCitations(): void;
|
|
140
|
+
layoutCitations(): void;
|
|
141
|
+
};
|
|
142
|
+
navigator?: {
|
|
143
|
+
init(): void;
|
|
144
|
+
};
|
|
145
|
+
track?: unknown;
|
|
74
146
|
db?: {
|
|
75
147
|
bibDB: {
|
|
76
148
|
db: BibDBEntries;
|
|
77
149
|
unsent: unknown[];
|
|
78
150
|
setDB(value: BibDB): void;
|
|
151
|
+
unsentEvents(): unknown[];
|
|
152
|
+
eventsSent(events: unknown[]): void;
|
|
153
|
+
receive(events: unknown[]): void;
|
|
154
|
+
hasReference(ref: unknown): boolean;
|
|
155
|
+
addReference(ref: unknown, id: number): number;
|
|
79
156
|
};
|
|
80
157
|
imageDB: {
|
|
81
158
|
db: ImageDBEntries;
|
|
82
159
|
unsent: unknown[];
|
|
83
160
|
setDB(value: ImageDB): void;
|
|
84
161
|
unsentEvents(): unknown[];
|
|
162
|
+
eventsSent(events: unknown[]): void;
|
|
163
|
+
receive(events: unknown[]): void;
|
|
85
164
|
};
|
|
165
|
+
clean?(): void;
|
|
86
166
|
};
|
|
87
|
-
footnotes?: unknown;
|
|
88
|
-
marginboxes?: unknown;
|
|
89
|
-
navigator?: unknown;
|
|
90
|
-
track?: unknown;
|
|
91
167
|
}
|
|
92
168
|
/** End-to-end encryption state attached to an editor. */
|
|
93
169
|
export interface EditorE2EE {
|
|
94
170
|
key?: CryptoKey;
|
|
95
|
-
snapshotManager?:
|
|
171
|
+
snapshotManager?: {
|
|
172
|
+
setKey(key: CryptoKey): void;
|
|
173
|
+
sendInitialSnapshot(...args: unknown[]): void;
|
|
174
|
+
handleRequestSnapshot(data: unknown): void;
|
|
175
|
+
handleSnapshotReceived(data: unknown): void;
|
|
176
|
+
};
|
|
96
177
|
encrypted?: boolean;
|
|
97
178
|
encryptionSalt?: string;
|
|
98
179
|
encryptionIterations?: number;
|
|
@@ -102,7 +183,10 @@ export interface EditorE2EE {
|
|
|
102
183
|
/** Menu model registry created during editor construction. */
|
|
103
184
|
export interface EditorMenu {
|
|
104
185
|
headerbarModel: unknown;
|
|
105
|
-
headerView?:
|
|
186
|
+
headerView?: {
|
|
187
|
+
update(): void;
|
|
188
|
+
destroy(): void;
|
|
189
|
+
};
|
|
106
190
|
imageMenuModel: unknown;
|
|
107
191
|
navigatorFilterModel: unknown;
|
|
108
192
|
orderedListMenuModel: unknown;
|
|
@@ -111,9 +195,16 @@ export interface EditorMenu {
|
|
|
111
195
|
tableMenuModel: unknown;
|
|
112
196
|
figureMenuModel: unknown;
|
|
113
197
|
toolbarModel: unknown;
|
|
114
|
-
toolbarViews?:
|
|
198
|
+
toolbarViews?: Array<{
|
|
199
|
+
update(): void;
|
|
200
|
+
destroy(): void;
|
|
201
|
+
onResize?(): void;
|
|
202
|
+
}>;
|
|
115
203
|
figureWidthMenuModel: unknown;
|
|
116
204
|
codeBlockMenuModel: unknown;
|
|
205
|
+
selectionMenuViews?: Array<{
|
|
206
|
+
destroy(): void;
|
|
207
|
+
}>;
|
|
117
208
|
}
|
|
118
209
|
/** User object attached to the editor, extending the common user with an id. */
|
|
119
210
|
export interface EditorUser extends User {
|
|
@@ -134,12 +225,14 @@ export type EditorPluginTuple = [Plugin | ((...args: unknown[]) => Plugin)] | [
|
|
|
134
225
|
export interface Editor {
|
|
135
226
|
app: App;
|
|
136
227
|
user: EditorUser;
|
|
137
|
-
editorPlugins:
|
|
138
|
-
citationDialogPlugins:
|
|
228
|
+
editorPlugins: EditorPluginTuple[];
|
|
229
|
+
citationDialogPlugins: EditorPluginTuple[] | null;
|
|
139
230
|
mod: EditorMod;
|
|
140
231
|
waitingForDocument: boolean;
|
|
141
232
|
docInfo: DocInfo;
|
|
142
|
-
schema: Schema
|
|
233
|
+
schema: Schema & {
|
|
234
|
+
cached: Record<string, unknown>;
|
|
235
|
+
};
|
|
143
236
|
menu: EditorMenu;
|
|
144
237
|
client_id: number;
|
|
145
238
|
clientTimeAdjustment: number;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAChD,OAAO,KAAK,EAAC,GAAG,IAAI,SAAS,EAAE,IAAI,EAAC,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EACR,KAAK,EACL,YAAY,EACZ,WAAW,EACX,OAAO,EACP,cAAc,EACjB,MAAM,uBAAuB,CAAA;AAE9B,YAAY,EAAC,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA+CH,MAAM,CAAC,MAAM,kBAAkB,GAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;AAC1E,MAAM,CAAC,MAAM,eAAe,GAAmB,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;AAChF,MAAM,CAAC,MAAM,YAAY,GAAiB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAA;AACtE,MAAM,CAAC,MAAM,WAAW,GAAgB;IACpC,OAAO;IACP,eAAe;IACf,gBAAgB;CACnB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,117 +1,131 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
"name": "@fiduswriter/editor",
|
|
3
|
+
"version": "0.1.22",
|
|
4
|
+
"description": "Fidus Writer browser editor",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "ssh://git@codeberg.org/fiduswriter/fiduswriter-editor-js.git"
|
|
8
|
+
},
|
|
9
|
+
"license": "AGPL-3.0",
|
|
10
|
+
"author": "Johannes Wilm",
|
|
11
|
+
"type": "module",
|
|
12
|
+
"main": "./dist/index.js",
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"exports": {
|
|
15
|
+
".": {
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"default": "./dist/index.js"
|
|
8
18
|
},
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"main": "./dist/index.js",
|
|
13
|
-
"types": "./dist/index.d.ts",
|
|
14
|
-
"exports": {
|
|
15
|
-
".": {
|
|
16
|
-
"types": "./dist/index.d.ts",
|
|
17
|
-
"default": "./dist/index.js"
|
|
18
|
-
},
|
|
19
|
-
"./state_plugins": {
|
|
20
|
-
"types": "./dist/state_plugins/index.d.ts",
|
|
21
|
-
"default": "./dist/state_plugins/index.js"
|
|
22
|
-
},
|
|
23
|
-
"./state_plugins/*": {
|
|
24
|
-
"types": "./dist/state_plugins/*.d.ts",
|
|
25
|
-
"default": "./dist/state_plugins/*.js"
|
|
26
|
-
},
|
|
27
|
-
"./menus": {
|
|
28
|
-
"types": "./dist/menus/index.d.ts",
|
|
29
|
-
"default": "./dist/menus/index.js"
|
|
30
|
-
},
|
|
31
|
-
"./menus/*": {
|
|
32
|
-
"types": "./dist/menus/*.d.ts",
|
|
33
|
-
"default": "./dist/menus/*.js"
|
|
34
|
-
},
|
|
35
|
-
"./dialogs": {
|
|
36
|
-
"types": "./dist/dialogs/index.d.ts",
|
|
37
|
-
"default": "./dist/dialogs/index.js"
|
|
38
|
-
},
|
|
39
|
-
"./dialogs/*": {
|
|
40
|
-
"types": "./dist/dialogs/*.d.ts",
|
|
41
|
-
"default": "./dist/dialogs/*.js"
|
|
42
|
-
},
|
|
43
|
-
"./keymap": {
|
|
44
|
-
"types": "./dist/keymap.d.ts",
|
|
45
|
-
"default": "./dist/keymap.js"
|
|
46
|
-
},
|
|
47
|
-
"./*": {
|
|
48
|
-
"types": "./dist/*.d.ts",
|
|
49
|
-
"default": "./dist/*.js"
|
|
50
|
-
}
|
|
19
|
+
"./state_plugins": {
|
|
20
|
+
"types": "./dist/state_plugins/index.d.ts",
|
|
21
|
+
"default": "./dist/state_plugins/index.js"
|
|
51
22
|
},
|
|
52
|
-
"
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
"lint": "eslint src",
|
|
64
|
-
"lint:fix": "eslint src --fix",
|
|
65
|
-
"format": "prettier --write .",
|
|
66
|
-
"format:check": "prettier --check ."
|
|
23
|
+
"./state_plugins/*": {
|
|
24
|
+
"types": "./dist/state_plugins/*.d.ts",
|
|
25
|
+
"default": "./dist/state_plugins/*.js"
|
|
26
|
+
},
|
|
27
|
+
"./menus": {
|
|
28
|
+
"types": "./dist/menus/index.d.ts",
|
|
29
|
+
"default": "./dist/menus/index.js"
|
|
30
|
+
},
|
|
31
|
+
"./menus/*": {
|
|
32
|
+
"types": "./dist/menus/*.d.ts",
|
|
33
|
+
"default": "./dist/menus/*.js"
|
|
67
34
|
},
|
|
68
|
-
"
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
"@fiduswriter/document": "^0.2.20",
|
|
72
|
-
"@fiduswriter/image-manager": "^0.1.4",
|
|
73
|
-
"bibliojson": "^4.0.0",
|
|
74
|
-
"citeproc-plus": "^1.0.2",
|
|
75
|
-
"cropperjs": "^1.6.2",
|
|
76
|
-
"diff": "^5.0.0",
|
|
77
|
-
"diff-dom": "^5.2.1",
|
|
78
|
-
"fastdom": "^1.0.11",
|
|
79
|
-
"fast-deep-equal": "^3.1.3",
|
|
80
|
-
"fast-xml-parser": "^4.5.0",
|
|
81
|
-
"fix-utf8": "^2.0.1",
|
|
82
|
-
"fwtoolkit": "^0.1.9",
|
|
83
|
-
"jszip": "^3.10.1",
|
|
84
|
-
"mathml-to-latex": "^1.4.3",
|
|
85
|
-
"mathml2omml": "^0.5.0",
|
|
86
|
-
"orderedmap": "^2.1.1",
|
|
87
|
-
"pretty": "^2.0.0",
|
|
88
|
-
"prosemirror-changeset": "^2.2.1",
|
|
89
|
-
"prosemirror-collab": "^1.3.1",
|
|
90
|
-
"prosemirror-commands": "^1.7.0",
|
|
91
|
-
"prosemirror-dropcursor": "^1.8.1",
|
|
92
|
-
"prosemirror-example-setup": "^1.2.3",
|
|
93
|
-
"prosemirror-gapcursor": "^1.3.2",
|
|
94
|
-
"prosemirror-history": "^1.3.2",
|
|
95
|
-
"prosemirror-keymap": "^1.2.2",
|
|
96
|
-
"prosemirror-menu": "^1.2.4",
|
|
97
|
-
"prosemirror-model": "^1.25.0",
|
|
98
|
-
"prosemirror-schema-basic": "^1.2.4",
|
|
99
|
-
"prosemirror-schema-list": "^1.5.1",
|
|
100
|
-
"prosemirror-state": "^1.4.3",
|
|
101
|
-
"prosemirror-suggestions": "^0.2.0",
|
|
102
|
-
"prosemirror-tables": "^1.6.4",
|
|
103
|
-
"prosemirror-transform": "^1.10.3",
|
|
104
|
-
"prosemirror-view": "^1.38.1",
|
|
105
|
-
"rfc6902": "^5.0.1",
|
|
106
|
-
"sortablejs": "^1.15.0"
|
|
35
|
+
"./dialogs": {
|
|
36
|
+
"types": "./dist/dialogs/index.d.ts",
|
|
37
|
+
"default": "./dist/dialogs/index.js"
|
|
107
38
|
},
|
|
108
|
-
"
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
39
|
+
"./dialogs/*": {
|
|
40
|
+
"types": "./dist/dialogs/*.d.ts",
|
|
41
|
+
"default": "./dist/dialogs/*.js"
|
|
42
|
+
},
|
|
43
|
+
"./keymap": {
|
|
44
|
+
"types": "./dist/keymap.d.ts",
|
|
45
|
+
"default": "./dist/keymap.js"
|
|
46
|
+
},
|
|
47
|
+
"./*": {
|
|
48
|
+
"types": "./dist/*.d.ts",
|
|
49
|
+
"default": "./dist/*.js"
|
|
116
50
|
}
|
|
51
|
+
},
|
|
52
|
+
"files": [
|
|
53
|
+
"dist/",
|
|
54
|
+
"src/",
|
|
55
|
+
"README.md",
|
|
56
|
+
"LICENSE"
|
|
57
|
+
],
|
|
58
|
+
"scripts": {
|
|
59
|
+
"build": "tsc",
|
|
60
|
+
"prepare": "npm run build",
|
|
61
|
+
"prepublishOnly": "npm run build",
|
|
62
|
+
"typecheck": "tsc --noEmit",
|
|
63
|
+
"lint": "eslint src",
|
|
64
|
+
"lint:fix": "eslint src --fix",
|
|
65
|
+
"format": "prettier --write .",
|
|
66
|
+
"format:check": "prettier --check .",
|
|
67
|
+
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js --config jest.config.js"
|
|
68
|
+
},
|
|
69
|
+
"dependencies": {
|
|
70
|
+
"@fiduswriter/bibliography-manager": "^0.1.7",
|
|
71
|
+
"@fiduswriter/common": "^0.1.5",
|
|
72
|
+
"@fiduswriter/document": "^0.2.20",
|
|
73
|
+
"@fiduswriter/image-manager": "^0.1.4",
|
|
74
|
+
"bibliojson": "^4.0.0",
|
|
75
|
+
"citeproc-plus": "^1.0.2",
|
|
76
|
+
"cropperjs": "^1.6.2",
|
|
77
|
+
"diff": "^5.0.0",
|
|
78
|
+
"diff-dom": "^5.2.1",
|
|
79
|
+
"fast-deep-equal": "^3.1.3",
|
|
80
|
+
"fast-xml-parser": "^4.5.0",
|
|
81
|
+
"fastdom": "^1.0.11",
|
|
82
|
+
"fix-utf8": "^2.0.1",
|
|
83
|
+
"fwtoolkit": "^0.1.9",
|
|
84
|
+
"jszip": "^3.10.1",
|
|
85
|
+
"mathml-to-latex": "^1.4.3",
|
|
86
|
+
"mathml2omml": "^0.5.0",
|
|
87
|
+
"orderedmap": "^2.1.1",
|
|
88
|
+
"pretty": "^2.0.0",
|
|
89
|
+
"prosemirror-changeset": "^2.2.1",
|
|
90
|
+
"prosemirror-collab": "^1.3.1",
|
|
91
|
+
"prosemirror-commands": "^1.7.0",
|
|
92
|
+
"prosemirror-dropcursor": "^1.8.1",
|
|
93
|
+
"prosemirror-example-setup": "^1.2.3",
|
|
94
|
+
"prosemirror-gapcursor": "^1.3.2",
|
|
95
|
+
"prosemirror-history": "^1.3.2",
|
|
96
|
+
"prosemirror-keymap": "^1.2.2",
|
|
97
|
+
"prosemirror-menu": "^1.2.4",
|
|
98
|
+
"prosemirror-model": "^1.25.0",
|
|
99
|
+
"prosemirror-schema-basic": "^1.2.4",
|
|
100
|
+
"prosemirror-schema-list": "^1.5.1",
|
|
101
|
+
"prosemirror-state": "^1.4.3",
|
|
102
|
+
"prosemirror-suggestions": "^0.2.0",
|
|
103
|
+
"prosemirror-tables": "^1.6.4",
|
|
104
|
+
"prosemirror-transform": "^1.10.3",
|
|
105
|
+
"prosemirror-view": "^1.38.1",
|
|
106
|
+
"rfc6902": "^5.0.1",
|
|
107
|
+
"sortablejs": "^1.15.0"
|
|
108
|
+
},
|
|
109
|
+
"devDependencies": {
|
|
110
|
+
"@eslint/js": "^10.0.1",
|
|
111
|
+
"@types/jest": "^30.0.0",
|
|
112
|
+
"@types/node": "^26.0.1",
|
|
113
|
+
"eslint": "^10.6.0",
|
|
114
|
+
"globals": "^15.15.0",
|
|
115
|
+
"happy-dom": "^20.10.6",
|
|
116
|
+
"jest": "^30.4.2",
|
|
117
|
+
"prettier": "^3.5.3",
|
|
118
|
+
"ts-jest": "^29.4.11",
|
|
119
|
+
"ts-jest-resolver": "^2.0.1",
|
|
120
|
+
"typescript": "^6.0.3",
|
|
121
|
+
"typescript-eslint": "^8.62.0"
|
|
122
|
+
},
|
|
123
|
+
"lint-staged": {
|
|
124
|
+
"*.{ts,js,mjs,css,md,json,html}": [
|
|
125
|
+
"prettier --write"
|
|
126
|
+
],
|
|
127
|
+
"*.{ts,js,mjs}": [
|
|
128
|
+
"eslint --fix"
|
|
129
|
+
]
|
|
130
|
+
}
|
|
117
131
|
}
|
package/src/types.ts
CHANGED
|
@@ -15,11 +15,12 @@ import type {
|
|
|
15
15
|
BibDB,
|
|
16
16
|
BibDBEntries,
|
|
17
17
|
CommentData,
|
|
18
|
+
CSL,
|
|
18
19
|
ImageDB,
|
|
19
20
|
ImageDBEntries
|
|
20
21
|
} from "@fiduswriter/document"
|
|
21
22
|
|
|
22
|
-
export type {BibDB, BibDBEntries, CommentData, ImageDB, ImageDBEntries}
|
|
23
|
+
export type {BibDB, BibDBEntries, CommentData, CSL, ImageDB, ImageDBEntries}
|
|
23
24
|
export type {User} from "@fiduswriter/common"
|
|
24
25
|
|
|
25
26
|
/** Image database interface used by the editor (document and user DBs). */
|
|
@@ -31,7 +32,7 @@ export interface EditorImageDB extends ImageDB {
|
|
|
31
32
|
/** Extended app object used by the editor page. */
|
|
32
33
|
export interface App extends CommonApp {
|
|
33
34
|
isOffline(): boolean
|
|
34
|
-
csl:
|
|
35
|
+
csl: CSL
|
|
35
36
|
imageDB: EditorImageDB
|
|
36
37
|
}
|
|
37
38
|
|
|
@@ -88,29 +89,100 @@ export interface DocInfo {
|
|
|
88
89
|
/** Aggregated editor module namespace (populated by individual modules). */
|
|
89
90
|
export interface EditorMod {
|
|
90
91
|
[key: string]: unknown
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
92
|
+
collab?: {
|
|
93
|
+
doc: {
|
|
94
|
+
sendToCollaborators(): void
|
|
95
|
+
confirmVersion(n: number): void
|
|
96
|
+
receiveDiff(data: unknown): void
|
|
97
|
+
receiveSelectionChange(data: unknown): void
|
|
98
|
+
checkVersion(offline?: boolean): void
|
|
99
|
+
cancelCurrentlyCheckingVersion(): void
|
|
100
|
+
confirmDiff(rid: number): void
|
|
101
|
+
rejectDiff(rid: number): void
|
|
102
|
+
awaitingDiffResponse: boolean
|
|
103
|
+
footnoteRender: boolean
|
|
104
|
+
}
|
|
105
|
+
participants: Array<{id: number; name?: string; session_id?: string; sessionIds?: string[]}>
|
|
106
|
+
pastParticipants: Array<{id: number; name?: string}>
|
|
107
|
+
updateParticipantList(participants: unknown[]): void
|
|
108
|
+
chat: {
|
|
109
|
+
newMessage(message: unknown): void
|
|
110
|
+
showChat(participants: unknown[]): void
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
marginboxes?: {
|
|
114
|
+
updateDOM(): void
|
|
115
|
+
view(view: EditorView): void
|
|
116
|
+
init(): void
|
|
117
|
+
}
|
|
118
|
+
footnotes?: {
|
|
119
|
+
fnEditor: {
|
|
120
|
+
view: EditorView
|
|
121
|
+
renderAllFootnotes(): void
|
|
122
|
+
applyDiffs(diffs: unknown[], cid: unknown): void
|
|
123
|
+
schema: {cached: Record<string, unknown>}
|
|
124
|
+
}
|
|
125
|
+
init(): void
|
|
126
|
+
layout?: {updateDOM(): void}
|
|
127
|
+
}
|
|
128
|
+
comments?: {
|
|
129
|
+
store: {
|
|
130
|
+
reset(): void
|
|
131
|
+
loadComments(comments: unknown): void
|
|
132
|
+
unsentEvents(): unknown[]
|
|
133
|
+
eventsSent(events: unknown[]): void
|
|
134
|
+
receive(events: unknown[]): void
|
|
135
|
+
comments: Record<string, unknown>
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
documentTemplate?: {
|
|
139
|
+
documentStyles: Array<{slug: string}>
|
|
140
|
+
getCitationStyles(): Promise<unknown>
|
|
141
|
+
setStyles(styles: unknown): void
|
|
142
|
+
addDocPartSettings(): void
|
|
143
|
+
addCitationStylesMenuEntries(): void
|
|
144
|
+
}
|
|
145
|
+
citations?: {
|
|
146
|
+
init(): void
|
|
147
|
+
resetCitations(): void
|
|
148
|
+
layoutCitations(): void
|
|
149
|
+
}
|
|
150
|
+
navigator?: {
|
|
151
|
+
init(): void
|
|
152
|
+
}
|
|
153
|
+
track?: unknown
|
|
95
154
|
db?: {
|
|
96
|
-
bibDB: {
|
|
155
|
+
bibDB: {
|
|
156
|
+
db: BibDBEntries
|
|
157
|
+
unsent: unknown[]
|
|
158
|
+
setDB(value: BibDB): void
|
|
159
|
+
unsentEvents(): unknown[]
|
|
160
|
+
eventsSent(events: unknown[]): void
|
|
161
|
+
receive(events: unknown[]): void
|
|
162
|
+
hasReference(ref: unknown): boolean
|
|
163
|
+
addReference(ref: unknown, id: number): number
|
|
164
|
+
}
|
|
97
165
|
imageDB: {
|
|
98
166
|
db: ImageDBEntries
|
|
99
167
|
unsent: unknown[]
|
|
100
168
|
setDB(value: ImageDB): void
|
|
101
169
|
unsentEvents(): unknown[]
|
|
170
|
+
eventsSent(events: unknown[]): void
|
|
171
|
+
receive(events: unknown[]): void
|
|
102
172
|
}
|
|
173
|
+
clean?(): void
|
|
103
174
|
}
|
|
104
|
-
footnotes?: unknown
|
|
105
|
-
marginboxes?: unknown
|
|
106
|
-
navigator?: unknown
|
|
107
|
-
track?: unknown
|
|
108
175
|
}
|
|
109
176
|
|
|
110
177
|
/** End-to-end encryption state attached to an editor. */
|
|
111
178
|
export interface EditorE2EE {
|
|
112
179
|
key?: CryptoKey
|
|
113
|
-
snapshotManager?:
|
|
180
|
+
snapshotManager?: {
|
|
181
|
+
setKey(key: CryptoKey): void
|
|
182
|
+
sendInitialSnapshot(...args: unknown[]): void
|
|
183
|
+
handleRequestSnapshot(data: unknown): void
|
|
184
|
+
handleSnapshotReceived(data: unknown): void
|
|
185
|
+
}
|
|
114
186
|
encrypted?: boolean
|
|
115
187
|
encryptionSalt?: string
|
|
116
188
|
encryptionIterations?: number
|
|
@@ -121,7 +193,7 @@ export interface EditorE2EE {
|
|
|
121
193
|
/** Menu model registry created during editor construction. */
|
|
122
194
|
export interface EditorMenu {
|
|
123
195
|
headerbarModel: unknown
|
|
124
|
-
headerView?:
|
|
196
|
+
headerView?: {update(): void; destroy(): void}
|
|
125
197
|
imageMenuModel: unknown
|
|
126
198
|
navigatorFilterModel: unknown
|
|
127
199
|
orderedListMenuModel: unknown
|
|
@@ -130,9 +202,10 @@ export interface EditorMenu {
|
|
|
130
202
|
tableMenuModel: unknown
|
|
131
203
|
figureMenuModel: unknown
|
|
132
204
|
toolbarModel: unknown
|
|
133
|
-
toolbarViews?:
|
|
205
|
+
toolbarViews?: Array<{update(): void; destroy(): void; onResize?(): void}>
|
|
134
206
|
figureWidthMenuModel: unknown
|
|
135
207
|
codeBlockMenuModel: unknown
|
|
208
|
+
selectionMenuViews?: Array<{destroy(): void}>
|
|
136
209
|
}
|
|
137
210
|
|
|
138
211
|
/** User object attached to the editor, extending the common user with an id. */
|
|
@@ -159,12 +232,12 @@ export type EditorPluginTuple =
|
|
|
159
232
|
export interface Editor {
|
|
160
233
|
app: App
|
|
161
234
|
user: EditorUser
|
|
162
|
-
editorPlugins:
|
|
163
|
-
citationDialogPlugins:
|
|
235
|
+
editorPlugins: EditorPluginTuple[]
|
|
236
|
+
citationDialogPlugins: EditorPluginTuple[] | null
|
|
164
237
|
mod: EditorMod
|
|
165
238
|
waitingForDocument: boolean
|
|
166
239
|
docInfo: DocInfo
|
|
167
|
-
schema: Schema
|
|
240
|
+
schema: Schema & {cached: Record<string, unknown>}
|
|
168
241
|
menu: EditorMenu
|
|
169
242
|
client_id: number
|
|
170
243
|
clientTimeAdjustment: number
|