@manuscripts/article-editor 4.9.16 → 4.9.18
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/dist/cjs/EditorApp.js +7 -1
- package/dist/cjs/EditorApp.js.map +1 -1
- package/dist/cjs/api/buildData.js +4 -1
- package/dist/cjs/api/buildData.js.map +1 -1
- package/dist/cjs/store/StoreContext.js +6 -3
- package/dist/cjs/store/StoreContext.js.map +1 -1
- package/dist/cjs/store/buildStateFromSources.js +8 -2
- package/dist/cjs/store/buildStateFromSources.js.map +1 -1
- package/dist/es/EditorApp.js +8 -2
- package/dist/es/EditorApp.js.map +1 -1
- package/dist/es/api/buildData.js +4 -1
- package/dist/es/api/buildData.js.map +1 -1
- package/dist/es/store/StoreContext.js +6 -3
- package/dist/es/store/StoreContext.js.map +1 -1
- package/dist/es/store/buildStateFromSources.js +8 -2
- package/dist/es/store/buildStateFromSources.js.map +1 -1
- package/dist/types/api/buildData.d.ts +71 -1
- package/dist/types/store/buildStateFromSources.d.ts +1 -1
- package/package.json +2 -2
package/dist/cjs/EditorApp.js
CHANGED
|
@@ -59,6 +59,12 @@ const PlaceholderWrapper = styled_components_1.default.div `
|
|
|
59
59
|
`;
|
|
60
60
|
const EditorApp = ({ manuscriptID, projectID, permittedActions, fileManagement, files, getAuthToken, observer, pluginInspectorTab, isReadOnly, }) => {
|
|
61
61
|
const [store, setStore] = (0, react_1.useState)();
|
|
62
|
+
const [, setError] = (0, react_1.useState)();
|
|
63
|
+
const throwToErrorBoundary = (0, react_1.useCallback)((error) => {
|
|
64
|
+
setError(() => {
|
|
65
|
+
throw error;
|
|
66
|
+
});
|
|
67
|
+
}, []);
|
|
62
68
|
const loadedRef = (0, react_1.useRef)(false);
|
|
63
69
|
const observerSubscribed = (0, react_1.useRef)(false);
|
|
64
70
|
const api = (0, react_1.useMemo)(() => new Api_1.Api(getAuthToken), [getAuthToken]);
|
|
@@ -83,7 +89,7 @@ const EditorApp = ({ manuscriptID, projectID, permittedActions, fileManagement,
|
|
|
83
89
|
setStore(s);
|
|
84
90
|
})
|
|
85
91
|
.catch((e) => {
|
|
86
|
-
|
|
92
|
+
throwToErrorBoundary(e);
|
|
87
93
|
});
|
|
88
94
|
return () => {
|
|
89
95
|
store?.unmount();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorApp.js","sourceRoot":"","sources":["../../src/EditorApp.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,+
|
|
1
|
+
{"version":3,"file":"EditorApp.js","sourceRoot":"","sources":["../../src/EditorApp.tsx"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ const convertNodeNamesToTypes = (nodeNames) => {
|
|
|
18
18
|
const getDocumentData = async (projectID, manuscriptID, api) => {
|
|
19
19
|
const response = await api.getDocument(projectID, manuscriptID);
|
|
20
20
|
if (!response) {
|
|
21
|
-
|
|
21
|
+
return null;
|
|
22
22
|
}
|
|
23
23
|
return {
|
|
24
24
|
doc: transform_1.schema.nodeFromJSON(response.doc),
|
|
@@ -71,6 +71,9 @@ const buildData = async (projectID, manuscriptID, api) => {
|
|
|
71
71
|
return {};
|
|
72
72
|
}
|
|
73
73
|
const doc = await getDocumentData(projectID, manuscriptID, api);
|
|
74
|
+
if (!doc) {
|
|
75
|
+
return { user };
|
|
76
|
+
}
|
|
74
77
|
const state = await getManuscriptData(doc.doc.attrs.prototype, api);
|
|
75
78
|
const project = await api.getProject(projectID);
|
|
76
79
|
const role = project ? (0, roles_1.getUserRole)(project, user.userID) : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildData.js","sourceRoot":"","sources":["../../../src/api/buildData.ts"],"names":[],"mappings":";;;AAYA,sDAA+C;AAE/C,wCAA0C;AAI1C,MAAM,uBAAuB,GAAG,CAAC,SAAmB,EAAE,EAAE;IACtD,OAAO,SAAS;SACb,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChB,MAAM,QAAQ,GAAG,kBAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAA;YAC9C,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,KAAK,EAC3B,SAAiB,EACjB,YAAoB,EACpB,GAAQ,EACR,EAAE;IACF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC/D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,
|
|
1
|
+
{"version":3,"file":"buildData.js","sourceRoot":"","sources":["../../../src/api/buildData.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,10 +55,13 @@ const createStore = async (sources) => {
|
|
|
55
55
|
};
|
|
56
56
|
exports.createStore = createStore;
|
|
57
57
|
const GenericStoreProvider = ({ children, store }) => {
|
|
58
|
-
if (store) {
|
|
59
|
-
return
|
|
58
|
+
if (!store) {
|
|
59
|
+
return null;
|
|
60
60
|
}
|
|
61
|
-
|
|
61
|
+
if (!store.state?.doc) {
|
|
62
|
+
throw new Error('Document not found');
|
|
63
|
+
}
|
|
64
|
+
return (react_1.default.createElement(GenericStoreContext.Provider, { value: store }, children));
|
|
62
65
|
};
|
|
63
66
|
exports.GenericStoreProvider = GenericStoreProvider;
|
|
64
67
|
const useGenericStore = () => (0, react_1.useContext)(GenericStoreContext);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreContext.js","sourceRoot":"","sources":["../../../src/store/StoreContext.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;GAUG;AACH,+CAAwD;AAExD,wBAAyD;AAEzD,MAAM,mBAAmB,GAAG,IAAA,qBAAa,EAAe,IAAI,eAAY,EAAE,CAAC,CAAA;AAEpE,MAAM,WAAW,GAAG,KAAK,EAAE,OAAkC,EAAE,EAAE;IACtE,MAAM,KAAK,GAAG,IAAI,eAAY,EAAE,CAAA;IAChC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACzB,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAJY,QAAA,WAAW,eAIvB;AAOM,MAAM,oBAAoB,GAAoB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;IAC3E,IAAI,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"StoreContext.js","sourceRoot":"","sources":["../../../src/store/StoreContext.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;GAUG;AACH,+CAAwD;AAExD,wBAAyD;AAEzD,MAAM,mBAAmB,GAAG,IAAA,qBAAa,EAAe,IAAI,eAAY,EAAE,CAAC,CAAA;AAEpE,MAAM,WAAW,GAAG,KAAK,EAAE,OAAkC,EAAE,EAAE;IACtE,MAAM,KAAK,GAAG,IAAI,eAAY,EAAE,CAAA;IAChC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACzB,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAJY,QAAA,WAAW,eAIvB;AAOM,MAAM,oBAAoB,GAAoB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;IAC3E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;IACvC,CAAC;IACD,OAAO,CACL,8BAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IACvC,QAAQ,CACoB,CAChC,CAAA;AACH,CAAC,CAAA;AAZY,QAAA,oBAAoB,wBAYhC;AAEM,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,IAAA,kBAAU,EAAC,mBAAmB,CAAC,CAAA;AAAvD,QAAA,eAAe,mBAAwC"}
|
|
@@ -5,19 +5,25 @@ function buildStateFromSources(builders, setState) {
|
|
|
5
5
|
return new Promise((resolve, reject) => {
|
|
6
6
|
let futureState = {};
|
|
7
7
|
let i = 0;
|
|
8
|
+
const runBuilder = (builder) => {
|
|
9
|
+
const result = builder.build(futureState, next, setState);
|
|
10
|
+
if (result) {
|
|
11
|
+
result.catch(reject);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
8
14
|
const next = (resultState) => {
|
|
9
15
|
if (resultState) {
|
|
10
16
|
futureState = { ...futureState, ...resultState };
|
|
11
17
|
}
|
|
12
18
|
if (builders[++i]) {
|
|
13
|
-
builders[i]
|
|
19
|
+
runBuilder(builders[i]);
|
|
14
20
|
}
|
|
15
21
|
else {
|
|
16
22
|
resolve(futureState);
|
|
17
23
|
}
|
|
18
24
|
};
|
|
19
25
|
try {
|
|
20
|
-
builders[i]
|
|
26
|
+
runBuilder(builders[i]);
|
|
21
27
|
}
|
|
22
28
|
catch (e) {
|
|
23
29
|
reject(e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildStateFromSources.js","sourceRoot":"","sources":["../../../src/store/buildStateFromSources.ts"],"names":[],"mappings":";;AAoBA,
|
|
1
|
+
{"version":3,"file":"buildStateFromSources.js","sourceRoot":"","sources":["../../../src/store/buildStateFromSources.ts"],"names":[],"mappings":";;AAoBA,sDAgCC;AAhCD,SAAgB,qBAAqB,CACnC,QAAmC,EACnC,QAAqB;IAErB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,WAAW,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,GAAG,CAAC,CAAA;QAET,MAAM,UAAU,GAAG,CAAC,OAAgC,EAAE,EAAE;YACtD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YACzD,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACtB,CAAC;QACH,CAAC,CAAA;QAED,MAAM,IAAI,GAAG,CAAC,WAA2B,EAAE,EAAE;YAC3C,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,WAAW,EAAE,CAAA;YAClD,CAAC;YACD,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClB,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YACzB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,WAAW,CAAC,CAAA;YACtB,CAAC;QACH,CAAC,CAAA;QAED,IAAI,CAAC;YACH,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACzB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC,CAAC,CAAA;QACX,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/es/EditorApp.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
1
|
+
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
2
2
|
import styled from 'styled-components';
|
|
3
3
|
import { Api, ApiContext } from './api/Api';
|
|
4
4
|
import { ApiSource } from './api/ApiSource';
|
|
@@ -21,6 +21,12 @@ const PlaceholderWrapper = styled.div `
|
|
|
21
21
|
`;
|
|
22
22
|
const EditorApp = ({ manuscriptID, projectID, permittedActions, fileManagement, files, getAuthToken, observer, pluginInspectorTab, isReadOnly, }) => {
|
|
23
23
|
const [store, setStore] = useState();
|
|
24
|
+
const [, setError] = useState();
|
|
25
|
+
const throwToErrorBoundary = useCallback((error) => {
|
|
26
|
+
setError(() => {
|
|
27
|
+
throw error;
|
|
28
|
+
});
|
|
29
|
+
}, []);
|
|
24
30
|
const loadedRef = useRef(false);
|
|
25
31
|
const observerSubscribed = useRef(false);
|
|
26
32
|
const api = useMemo(() => new Api(getAuthToken), [getAuthToken]);
|
|
@@ -45,7 +51,7 @@ const EditorApp = ({ manuscriptID, projectID, permittedActions, fileManagement,
|
|
|
45
51
|
setStore(s);
|
|
46
52
|
})
|
|
47
53
|
.catch((e) => {
|
|
48
|
-
|
|
54
|
+
throwToErrorBoundary(e);
|
|
49
55
|
});
|
|
50
56
|
return () => {
|
|
51
57
|
store?.unmount();
|
package/dist/es/EditorApp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorApp.js","sourceRoot":"","sources":["../../src/EditorApp.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"EditorApp.js","sourceRoot":"","sources":["../../src/EditorApp.tsx"],"names":[],"mappings":"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"}
|
package/dist/es/api/buildData.js
CHANGED
|
@@ -15,7 +15,7 @@ const convertNodeNamesToTypes = (nodeNames) => {
|
|
|
15
15
|
const getDocumentData = async (projectID, manuscriptID, api) => {
|
|
16
16
|
const response = await api.getDocument(projectID, manuscriptID);
|
|
17
17
|
if (!response) {
|
|
18
|
-
|
|
18
|
+
return null;
|
|
19
19
|
}
|
|
20
20
|
return {
|
|
21
21
|
doc: schema.nodeFromJSON(response.doc),
|
|
@@ -68,6 +68,9 @@ export const buildData = async (projectID, manuscriptID, api) => {
|
|
|
68
68
|
return {};
|
|
69
69
|
}
|
|
70
70
|
const doc = await getDocumentData(projectID, manuscriptID, api);
|
|
71
|
+
if (!doc) {
|
|
72
|
+
return { user };
|
|
73
|
+
}
|
|
71
74
|
const state = await getManuscriptData(doc.doc.attrs.prototype, api);
|
|
72
75
|
const project = await api.getProject(projectID);
|
|
73
76
|
const role = project ? getUserRole(project, user.userID) : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildData.js","sourceRoot":"","sources":["../../../src/api/buildData.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAI1C,MAAM,uBAAuB,GAAG,CAAC,SAAmB,EAAE,EAAE;IACtD,OAAO,SAAS;SACb,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAA;YAC9C,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,KAAK,EAC3B,SAAiB,EACjB,YAAoB,EACpB,GAAQ,EACR,EAAE;IACF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC/D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,
|
|
1
|
+
{"version":3,"file":"buildData.js","sourceRoot":"","sources":["../../../src/api/buildData.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,10 +18,13 @@ export const createStore = async (sources) => {
|
|
|
18
18
|
return store;
|
|
19
19
|
};
|
|
20
20
|
export const GenericStoreProvider = ({ children, store }) => {
|
|
21
|
-
if (store) {
|
|
22
|
-
return
|
|
21
|
+
if (!store) {
|
|
22
|
+
return null;
|
|
23
23
|
}
|
|
24
|
-
|
|
24
|
+
if (!store.state?.doc) {
|
|
25
|
+
throw new Error('Document not found');
|
|
26
|
+
}
|
|
27
|
+
return (React.createElement(GenericStoreContext.Provider, { value: store }, children));
|
|
25
28
|
};
|
|
26
29
|
export const useGenericStore = () => useContext(GenericStoreContext);
|
|
27
30
|
//# sourceMappingURL=StoreContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreContext.js","sourceRoot":"","sources":["../../../src/store/StoreContext.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAExD,OAAO,EAAE,YAAY,EAA2B,MAAM,GAAG,CAAA;AAEzD,MAAM,mBAAmB,GAAG,aAAa,CAAe,IAAI,YAAY,EAAE,CAAC,CAAA;AAE3E,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,OAAkC,EAAE,EAAE;IACtE,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAA;IAChC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACzB,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAOD,MAAM,CAAC,MAAM,oBAAoB,GAAoB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;IAC3E,IAAI,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"StoreContext.js","sourceRoot":"","sources":["../../../src/store/StoreContext.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAExD,OAAO,EAAE,YAAY,EAA2B,MAAM,GAAG,CAAA;AAEzD,MAAM,mBAAmB,GAAG,aAAa,CAAe,IAAI,YAAY,EAAE,CAAC,CAAA;AAE3E,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,OAAkC,EAAE,EAAE;IACtE,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAA;IAChC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACzB,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAOD,MAAM,CAAC,MAAM,oBAAoB,GAAoB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;IAC3E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;IACvC,CAAC;IACD,OAAO,CACL,oBAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IACvC,QAAQ,CACoB,CAChC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAA"}
|
|
@@ -2,19 +2,25 @@ export function buildStateFromSources(builders, setState) {
|
|
|
2
2
|
return new Promise((resolve, reject) => {
|
|
3
3
|
let futureState = {};
|
|
4
4
|
let i = 0;
|
|
5
|
+
const runBuilder = (builder) => {
|
|
6
|
+
const result = builder.build(futureState, next, setState);
|
|
7
|
+
if (result) {
|
|
8
|
+
result.catch(reject);
|
|
9
|
+
}
|
|
10
|
+
};
|
|
5
11
|
const next = (resultState) => {
|
|
6
12
|
if (resultState) {
|
|
7
13
|
futureState = { ...futureState, ...resultState };
|
|
8
14
|
}
|
|
9
15
|
if (builders[++i]) {
|
|
10
|
-
builders[i]
|
|
16
|
+
runBuilder(builders[i]);
|
|
11
17
|
}
|
|
12
18
|
else {
|
|
13
19
|
resolve(futureState);
|
|
14
20
|
}
|
|
15
21
|
};
|
|
16
22
|
try {
|
|
17
|
-
builders[i]
|
|
23
|
+
runBuilder(builders[i]);
|
|
18
24
|
}
|
|
19
25
|
catch (e) {
|
|
20
26
|
reject(e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildStateFromSources.js","sourceRoot":"","sources":["../../../src/store/buildStateFromSources.ts"],"names":[],"mappings":"AAoBA,MAAM,UAAU,qBAAqB,CACnC,QAAmC,EACnC,QAAqB;IAErB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,WAAW,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"buildStateFromSources.js","sourceRoot":"","sources":["../../../src/store/buildStateFromSources.ts"],"names":[],"mappings":"AAoBA,MAAM,UAAU,qBAAqB,CACnC,QAAmC,EACnC,QAAqB;IAErB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,WAAW,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,GAAG,CAAC,CAAA;QAET,MAAM,UAAU,GAAG,CAAC,OAAgC,EAAE,EAAE;YACtD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YACzD,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACtB,CAAC;QACH,CAAC,CAAA;QAED,MAAM,IAAI,GAAG,CAAC,WAA2B,EAAE,EAAE;YAC3C,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,WAAW,EAAE,CAAA;YAClD,CAAC;YACD,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClB,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YACzB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,WAAW,CAAC,CAAA;YACtB,CAAC;QACH,CAAC,CAAA;QAED,IAAI,CAAC;YACH,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACzB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC,CAAC,CAAA;QACX,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1,2 +1,72 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* The contents of this file are subject to the Common Public Attribution License Version 1.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://mpapp-public.gitlab.io/manuscripts-frontend/LICENSE. The License is based on the Mozilla Public License Version 1.1 but Sections 14 and 15 have been added to cover use of software over a computer network and provide for limited attribution for the Original Developer. In addition, Exhibit A has been modified to be consistent with Exhibit B.
|
|
3
|
+
*
|
|
4
|
+
* Software distributed under the License is distributed on an “AS IS” basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
|
|
5
|
+
*
|
|
6
|
+
* The Original Code is manuscripts-frontend.
|
|
7
|
+
*
|
|
8
|
+
* The Original Developer is the Initial Developer. The Initial Developer of the Original Code is Atypon Systems LLC.
|
|
9
|
+
*
|
|
10
|
+
* All portions of the code written by Atypon Systems LLC are Copyright (c) 2019 Atypon Systems LLC. All Rights Reserved.
|
|
11
|
+
*/
|
|
12
|
+
import { UserProfile } from '@manuscripts/json-schema';
|
|
1
13
|
import { Api } from './Api';
|
|
2
|
-
export declare const buildData: (projectID: string, manuscriptID: string, api: Api) => Promise<{
|
|
14
|
+
export declare const buildData: (projectID: string, manuscriptID: string, api: Api) => Promise<{
|
|
15
|
+
user?: undefined;
|
|
16
|
+
} | {
|
|
17
|
+
user: UserProfile;
|
|
18
|
+
} | {
|
|
19
|
+
project: import("@manuscripts/json-schema").Project | undefined;
|
|
20
|
+
doc: import("prosemirror-model").Node;
|
|
21
|
+
initialDocVersion: number;
|
|
22
|
+
snapshots: import("../lib/doc").SnapshotLabel[];
|
|
23
|
+
manuscriptID?: string | undefined;
|
|
24
|
+
projectID?: string | undefined;
|
|
25
|
+
userID?: string | undefined;
|
|
26
|
+
refreshProject?: (() => Promise<void>) | undefined;
|
|
27
|
+
user: UserProfile;
|
|
28
|
+
editor?: {
|
|
29
|
+
state: import("prosemirror-state").EditorState;
|
|
30
|
+
onRender: (el: HTMLDivElement | null) => void;
|
|
31
|
+
isCommandValid: (command: import("prosemirror-state").Command) => boolean;
|
|
32
|
+
doCommand: (command: import("prosemirror-state").Command) => boolean;
|
|
33
|
+
replaceState: (state: import("prosemirror-state").EditorState) => void;
|
|
34
|
+
view: import("prosemirror-view").EditorView | undefined;
|
|
35
|
+
dispatch: (tr: import("prosemirror-state").Transaction) => import("prosemirror-state").EditorState;
|
|
36
|
+
} | undefined;
|
|
37
|
+
trackState?: import("@manuscripts/track-changes-plugin").TrackChangesState | undefined;
|
|
38
|
+
isViewingMode?: boolean | undefined;
|
|
39
|
+
isReadOnly?: boolean | undefined;
|
|
40
|
+
isComparingMode?: boolean | undefined;
|
|
41
|
+
isTrackingChangesVisible?: boolean | undefined;
|
|
42
|
+
view?: import("@manuscripts/transform").ManuscriptEditorView | undefined;
|
|
43
|
+
titleText?: string | undefined;
|
|
44
|
+
fileManagement?: import("@manuscripts/body-editor").FileManagement | undefined;
|
|
45
|
+
files?: import("@manuscripts/body-editor").FileAttachment[] | undefined;
|
|
46
|
+
collaborators?: Map<string, UserProfile> | undefined;
|
|
47
|
+
collaboratorsById: Map<any, any>;
|
|
48
|
+
getSnapshot?: ((id: string) => Promise<import("../lib/doc").ManuscriptSnapshot | undefined>) | undefined;
|
|
49
|
+
permittedActions?: string[] | undefined;
|
|
50
|
+
selectedCommentKey?: import("@manuscripts/body-editor").CommentKey | undefined;
|
|
51
|
+
newCommentID?: string | undefined;
|
|
52
|
+
selectedSuggestionID?: string | undefined;
|
|
53
|
+
selectedAttrsChange?: string | undefined;
|
|
54
|
+
savingProcess?: "saved" | "saving" | "offline" | "failed" | undefined;
|
|
55
|
+
preventUnload?: boolean | undefined;
|
|
56
|
+
beforeUnload?: (() => void) | undefined;
|
|
57
|
+
userRole: import("../lib/roles").ProjectRole | null;
|
|
58
|
+
cslLocale?: string | undefined;
|
|
59
|
+
cslStyle?: string | undefined;
|
|
60
|
+
languages?: import("./types").Language[] | undefined;
|
|
61
|
+
hasPendingSuggestions?: boolean | undefined;
|
|
62
|
+
inconsistencies?: import("@manuscripts/body-editor").Inconsistency[] | undefined;
|
|
63
|
+
sectionCategories?: Map<string, import("@manuscripts/transform").SectionCategory> | undefined;
|
|
64
|
+
originalPmDoc?: JSON | undefined;
|
|
65
|
+
inspectorOpenTabs?: {
|
|
66
|
+
primaryTab: number | null;
|
|
67
|
+
secondaryTab: number | null;
|
|
68
|
+
} | undefined;
|
|
69
|
+
doInspectorTab?: ((action: import("..").InspectorAction) => void) | undefined;
|
|
70
|
+
hiddenNodeTypes?: import("@manuscripts/transform").ManuscriptNodeType[] | undefined;
|
|
71
|
+
pluginInspectorTab?: import("../components/projects/Inspector").PluginInspectorTab | undefined;
|
|
72
|
+
}>;
|
|
@@ -11,5 +11,5 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { state, StoreDataSourceStrategy } from '.';
|
|
13
13
|
import { stateSetter } from './DataSourceStrategy';
|
|
14
|
-
export type builderFn = (boundState: Partial<state>, next: (resultState: Partial<state>) => void, setState: stateSetter) => void
|
|
14
|
+
export type builderFn = (boundState: Partial<state>, next: (resultState: Partial<state>) => void, setState: stateSetter) => void | Promise<void>;
|
|
15
15
|
export declare function buildStateFromSources(builders: StoreDataSourceStrategy[], setState: stateSetter): Promise<Partial<state>>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@manuscripts/article-editor",
|
|
3
|
-
"version": "4.9.
|
|
3
|
+
"version": "4.9.18",
|
|
4
4
|
"license": "CPAL-1.0",
|
|
5
5
|
"description": "React components for editing and viewing manuscripts",
|
|
6
6
|
"repository": "github:Atypon-OpenSource/manuscripts-article-editor",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"@fontsource/pt-sans": "5.2.5",
|
|
33
33
|
"@fontsource/pt-serif": "5.2.5",
|
|
34
34
|
"@headlessui/react": "2.2.3",
|
|
35
|
-
"@manuscripts/body-editor": "3.9.
|
|
35
|
+
"@manuscripts/body-editor": "3.9.16",
|
|
36
36
|
"@manuscripts/json-schema": "2.2.12",
|
|
37
37
|
"@manuscripts/style-guide": "3.4.7",
|
|
38
38
|
"@manuscripts/track-changes-plugin": "2.2.10",
|