@manuscripts/article-editor 3.1.48-LEAN-3946.0 → 3.1.48-LEAN-3911.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/dist/cjs/hooks/use-handle-snapshot.js +1 -23
- package/dist/cjs/hooks/use-handle-snapshot.js.map +1 -1
- package/dist/cjs/postgres-data/buildUtilities.js +0 -56
- package/dist/cjs/postgres-data/buildUtilities.js.map +1 -1
- package/dist/cjs/store/Store.js.map +1 -1
- package/dist/es/hooks/use-handle-snapshot.js +1 -23
- package/dist/es/hooks/use-handle-snapshot.js.map +1 -1
- package/dist/es/postgres-data/buildUtilities.js +1 -57
- package/dist/es/postgres-data/buildUtilities.js.map +1 -1
- package/dist/es/store/Store.js.map +1 -1
- package/dist/types/store/Store.d.ts +0 -1
- package/package.json +4 -4
@@ -15,19 +15,14 @@ exports.useHandleSnapshot = void 0;
|
|
15
15
|
*
|
16
16
|
* All portions of the code written by Atypon Systems LLC are Copyright (c) 2019 Atypon Systems LLC. All Rights Reserved.
|
17
17
|
*/
|
18
|
-
const style_guide_1 = require("@manuscripts/style-guide");
|
19
18
|
const track_changes_plugin_1 = require("@manuscripts/track-changes-plugin");
|
20
|
-
const getDocWithoutTrackContent_1 = require("../quarterback/getDocWithoutTrackContent");
|
21
19
|
const store_1 = require("../store");
|
22
20
|
const use_exec_cmd_1 = __importDefault(require("./use-exec-cmd"));
|
23
21
|
const useHandleSnapshot = (view) => {
|
24
|
-
const [{
|
22
|
+
const [{ createSnapshot, beforeUnload }] = (0, store_1.useStore)((store) => ({
|
25
23
|
createSnapshot: store.createSnapshot,
|
26
|
-
saveDoc: store.saveDoc,
|
27
24
|
beforeUnload: store.beforeUnload,
|
28
25
|
}));
|
29
|
-
const can = (0, style_guide_1.usePermissions)();
|
30
|
-
const canApplySaveChanges = can.applySaveChanges;
|
31
26
|
const execCmd = (0, use_exec_cmd_1.default)();
|
32
27
|
return async () => {
|
33
28
|
if (!view) {
|
@@ -37,23 +32,6 @@ const useHandleSnapshot = (view) => {
|
|
37
32
|
beforeUnload && beforeUnload();
|
38
33
|
await createSnapshot();
|
39
34
|
execCmd(track_changes_plugin_1.trackCommands.applyAndRemoveChanges(), view);
|
40
|
-
return new Promise((resolve, reject) => {
|
41
|
-
setTimeout(() => {
|
42
|
-
const state = view.state;
|
43
|
-
if (!state) {
|
44
|
-
reject(new Error('State is not available'));
|
45
|
-
return;
|
46
|
-
}
|
47
|
-
if (!canApplySaveChanges) {
|
48
|
-
return resolve();
|
49
|
-
}
|
50
|
-
saveDoc((0, getDocWithoutTrackContent_1.getDocWithoutTrackContent)(state))
|
51
|
-
.then(() => {
|
52
|
-
resolve();
|
53
|
-
})
|
54
|
-
.catch(() => reject(new Error('Cannot save to api. Check connection.')));
|
55
|
-
}, 900); // to avoid potentially saving before the changes are applied
|
56
|
-
});
|
57
35
|
};
|
58
36
|
};
|
59
37
|
exports.useHandleSnapshot = useHandleSnapshot;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-handle-snapshot.js","sourceRoot":"","sources":["../../../src/hooks/use-handle-snapshot.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;GAUG;AACH,
|
1
|
+
{"version":3,"file":"use-handle-snapshot.js","sourceRoot":"","sources":["../../../src/hooks/use-handle-snapshot.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;GAUG;AACH,4EAAiE;AAGjE,oCAAmC;AACnC,kEAAuC;AAEhC,MAAM,iBAAiB,GAAG,CAAC,IAAiB,EAAE,EAAE;IACrD,MAAM,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9D,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,YAAY,EAAE,KAAK,CAAC,YAAY;KACjC,CAAC,CAAC,CAAA;IACH,MAAM,OAAO,GAAG,IAAA,sBAAU,GAAE,CAAA;IAE5B,OAAO,KAAK,IAAI,EAAE;QAChB,IAAI,CAAC,IAAI,EAAE;YACT,OAAM;SACP;QACD,iJAAiJ;QACjJ,YAAY,IAAI,YAAY,EAAE,CAAA;QAC9B,MAAM,cAAc,EAAE,CAAA;QACtB,OAAO,CAAC,oCAAa,CAAC,qBAAqB,EAAE,EAAE,IAAI,CAAC,CAAA;IACtD,CAAC,CAAA;AACH,CAAC,CAAA;AAhBY,QAAA,iBAAiB,qBAgB7B"}
|
@@ -13,63 +13,8 @@
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
14
14
|
exports.buildUtilities = void 0;
|
15
15
|
const json_schema_1 = require("@manuscripts/json-schema");
|
16
|
-
const transform_1 = require("@manuscripts/transform");
|
17
16
|
const roles_1 = require("../lib/roles");
|
18
17
|
const buildUtilities = (projectID, manuscriptID, getState, updateState, api) => {
|
19
|
-
const updateContainerIDs = (model) => {
|
20
|
-
const containerIDs = {
|
21
|
-
containerID: projectID,
|
22
|
-
};
|
23
|
-
if (!model._id) {
|
24
|
-
throw new Error('Model ID required');
|
25
|
-
}
|
26
|
-
if (json_schema_1.manuscriptIDTypes.has(model.objectType)) {
|
27
|
-
containerIDs.manuscriptID = manuscriptID;
|
28
|
-
}
|
29
|
-
return {
|
30
|
-
...model,
|
31
|
-
...containerIDs,
|
32
|
-
};
|
33
|
-
};
|
34
|
-
const saveProject = async (models) => {
|
35
|
-
try {
|
36
|
-
const filtered = models.filter((m) => m.objectType !== json_schema_1.ObjectTypes.Project);
|
37
|
-
await api.saveProject(projectID, filtered);
|
38
|
-
return true;
|
39
|
-
}
|
40
|
-
catch (e) {
|
41
|
-
return false;
|
42
|
-
}
|
43
|
-
};
|
44
|
-
const saveModels = async (models) => {
|
45
|
-
const state = getState();
|
46
|
-
if (!state.project || !state.manuscript) {
|
47
|
-
throw new Error('Unable to save due to incomplete data');
|
48
|
-
}
|
49
|
-
const modelMap = new Map();
|
50
|
-
for (const model of models) {
|
51
|
-
if (!model._id) {
|
52
|
-
throw new Error('Model ID required');
|
53
|
-
}
|
54
|
-
const updated = updateContainerIDs(model);
|
55
|
-
modelMap.set(model._id, updated);
|
56
|
-
}
|
57
|
-
modelMap.set(state.project._id, state.project);
|
58
|
-
modelMap.set(state.manuscript._id, state.manuscript);
|
59
|
-
updateState({
|
60
|
-
savingProcess: 'saving',
|
61
|
-
preventUnload: true,
|
62
|
-
});
|
63
|
-
const result = await saveProject([...modelMap.values()]);
|
64
|
-
updateState({
|
65
|
-
savingProcess: result ? 'saved' : 'failed',
|
66
|
-
preventUnload: false,
|
67
|
-
});
|
68
|
-
};
|
69
|
-
const saveDoc = async (doc) => {
|
70
|
-
const models = (0, transform_1.encode)(doc);
|
71
|
-
await saveModels([...models.values()]);
|
72
|
-
};
|
73
18
|
const createSnapshot = async () => {
|
74
19
|
const state = getState();
|
75
20
|
const snapshots = state.snapshots;
|
@@ -104,7 +49,6 @@ const buildUtilities = (projectID, manuscriptID, getState, updateState, api) =>
|
|
104
49
|
});
|
105
50
|
};
|
106
51
|
return {
|
107
|
-
saveDoc,
|
108
52
|
createSnapshot,
|
109
53
|
refreshProject,
|
110
54
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"buildUtilities.js","sourceRoot":"","sources":["../../../src/postgres-data/buildUtilities.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,
|
1
|
+
{"version":3,"file":"buildUtilities.js","sourceRoot":"","sources":["../../../src/postgres-data/buildUtilities.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,0DAA+D;AAE/D,wCAA0C;AAInC,MAAM,cAAc,GAAG,CAC5B,SAAiB,EACjB,YAAoB,EACpB,QAA8B,EAC9B,WAA4C,EAC5C,GAAQ,EACQ,EAAE;IAClB,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAChC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;QACxB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;QACjC,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAA;QACvC,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;SACpE;QACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QAC9D,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC5C,WAAW,CAAC;YACV,SAAS,EAAE,CAAC,GAAG,SAAS,EAAE,KAAK,CAAC;YAChC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC;SACxD,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAChC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,MAAM,EAAE;YACX,OAAM;SACP;QACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QAC/D,IAAI,CAAC,MAAM,EAAE;YACX,OAAM;SACP;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,yBAAW,CAAC,OAAO,CAC5C,CAAC,CAAC,CAAY,CAAA;QACf,IAAI,CAAC,OAAO,EAAE;YACZ,OAAM;SACP;QACD,WAAW,CAAC;YACV,OAAO;YACP,QAAQ,EAAE,IAAA,mBAAW,EAAC,OAAO,EAAE,MAAM,CAAC;SACvC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,OAAO;QACL,cAAc;QACd,cAAc;KACf,CAAA;AACH,CAAC,CAAA;AAhDY,QAAA,cAAc,kBAgD1B"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../src/store/Store.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAmBH,wBAAkE;
|
1
|
+
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../src/store/Store.ts"],"names":[],"mappings":"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"}
|
@@ -9,19 +9,14 @@
|
|
9
9
|
*
|
10
10
|
* All portions of the code written by Atypon Systems LLC are Copyright (c) 2019 Atypon Systems LLC. All Rights Reserved.
|
11
11
|
*/
|
12
|
-
import { usePermissions } from '@manuscripts/style-guide';
|
13
12
|
import { trackCommands } from '@manuscripts/track-changes-plugin';
|
14
|
-
import { getDocWithoutTrackContent } from '../quarterback/getDocWithoutTrackContent';
|
15
13
|
import { useStore } from '../store';
|
16
14
|
import useExecCmd from './use-exec-cmd';
|
17
15
|
export const useHandleSnapshot = (view) => {
|
18
|
-
const [{
|
16
|
+
const [{ createSnapshot, beforeUnload }] = useStore((store) => ({
|
19
17
|
createSnapshot: store.createSnapshot,
|
20
|
-
saveDoc: store.saveDoc,
|
21
18
|
beforeUnload: store.beforeUnload,
|
22
19
|
}));
|
23
|
-
const can = usePermissions();
|
24
|
-
const canApplySaveChanges = can.applySaveChanges;
|
25
20
|
const execCmd = useExecCmd();
|
26
21
|
return async () => {
|
27
22
|
if (!view) {
|
@@ -31,23 +26,6 @@ export const useHandleSnapshot = (view) => {
|
|
31
26
|
beforeUnload && beforeUnload();
|
32
27
|
await createSnapshot();
|
33
28
|
execCmd(trackCommands.applyAndRemoveChanges(), view);
|
34
|
-
return new Promise((resolve, reject) => {
|
35
|
-
setTimeout(() => {
|
36
|
-
const state = view.state;
|
37
|
-
if (!state) {
|
38
|
-
reject(new Error('State is not available'));
|
39
|
-
return;
|
40
|
-
}
|
41
|
-
if (!canApplySaveChanges) {
|
42
|
-
return resolve();
|
43
|
-
}
|
44
|
-
saveDoc(getDocWithoutTrackContent(state))
|
45
|
-
.then(() => {
|
46
|
-
resolve();
|
47
|
-
})
|
48
|
-
.catch(() => reject(new Error('Cannot save to api. Check connection.')));
|
49
|
-
}, 900); // to avoid potentially saving before the changes are applied
|
50
|
-
});
|
51
29
|
};
|
52
30
|
};
|
53
31
|
//# sourceMappingURL=use-handle-snapshot.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-handle-snapshot.js","sourceRoot":"","sources":["../../../src/hooks/use-handle-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"use-handle-snapshot.js","sourceRoot":"","sources":["../../../src/hooks/use-handle-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAGjE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,UAAU,MAAM,gBAAgB,CAAA;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAiB,EAAE,EAAE;IACrD,MAAM,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9D,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,YAAY,EAAE,KAAK,CAAC,YAAY;KACjC,CAAC,CAAC,CAAA;IACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAE5B,OAAO,KAAK,IAAI,EAAE;QAChB,IAAI,CAAC,IAAI,EAAE;YACT,OAAM;SACP;QACD,iJAAiJ;QACjJ,YAAY,IAAI,YAAY,EAAE,CAAA;QAC9B,MAAM,cAAc,EAAE,CAAA;QACtB,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE,EAAE,IAAI,CAAC,CAAA;IACtD,CAAC,CAAA;AACH,CAAC,CAAA"}
|
@@ -9,64 +9,9 @@
|
|
9
9
|
*
|
10
10
|
* All portions of the code written by Atypon Systems LLC are Copyright (c) 2019 Atypon Systems LLC. All Rights Reserved.
|
11
11
|
*/
|
12
|
-
import {
|
13
|
-
import { encode } from '@manuscripts/transform';
|
12
|
+
import { ObjectTypes } from '@manuscripts/json-schema';
|
14
13
|
import { getUserRole } from '../lib/roles';
|
15
14
|
export const buildUtilities = (projectID, manuscriptID, getState, updateState, api) => {
|
16
|
-
const updateContainerIDs = (model) => {
|
17
|
-
const containerIDs = {
|
18
|
-
containerID: projectID,
|
19
|
-
};
|
20
|
-
if (!model._id) {
|
21
|
-
throw new Error('Model ID required');
|
22
|
-
}
|
23
|
-
if (manuscriptIDTypes.has(model.objectType)) {
|
24
|
-
containerIDs.manuscriptID = manuscriptID;
|
25
|
-
}
|
26
|
-
return {
|
27
|
-
...model,
|
28
|
-
...containerIDs,
|
29
|
-
};
|
30
|
-
};
|
31
|
-
const saveProject = async (models) => {
|
32
|
-
try {
|
33
|
-
const filtered = models.filter((m) => m.objectType !== ObjectTypes.Project);
|
34
|
-
await api.saveProject(projectID, filtered);
|
35
|
-
return true;
|
36
|
-
}
|
37
|
-
catch (e) {
|
38
|
-
return false;
|
39
|
-
}
|
40
|
-
};
|
41
|
-
const saveModels = async (models) => {
|
42
|
-
const state = getState();
|
43
|
-
if (!state.project || !state.manuscript) {
|
44
|
-
throw new Error('Unable to save due to incomplete data');
|
45
|
-
}
|
46
|
-
const modelMap = new Map();
|
47
|
-
for (const model of models) {
|
48
|
-
if (!model._id) {
|
49
|
-
throw new Error('Model ID required');
|
50
|
-
}
|
51
|
-
const updated = updateContainerIDs(model);
|
52
|
-
modelMap.set(model._id, updated);
|
53
|
-
}
|
54
|
-
modelMap.set(state.project._id, state.project);
|
55
|
-
modelMap.set(state.manuscript._id, state.manuscript);
|
56
|
-
updateState({
|
57
|
-
savingProcess: 'saving',
|
58
|
-
preventUnload: true,
|
59
|
-
});
|
60
|
-
const result = await saveProject([...modelMap.values()]);
|
61
|
-
updateState({
|
62
|
-
savingProcess: result ? 'saved' : 'failed',
|
63
|
-
preventUnload: false,
|
64
|
-
});
|
65
|
-
};
|
66
|
-
const saveDoc = async (doc) => {
|
67
|
-
const models = encode(doc);
|
68
|
-
await saveModels([...models.values()]);
|
69
|
-
};
|
70
15
|
const createSnapshot = async () => {
|
71
16
|
const state = getState();
|
72
17
|
const snapshots = state.snapshots;
|
@@ -101,7 +46,6 @@ export const buildUtilities = (projectID, manuscriptID, getState, updateState, a
|
|
101
46
|
});
|
102
47
|
};
|
103
48
|
return {
|
104
|
-
saveDoc,
|
105
49
|
createSnapshot,
|
106
50
|
refreshProject,
|
107
51
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"buildUtilities.js","sourceRoot":"","sources":["../../../src/postgres-data/buildUtilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,
|
1
|
+
{"version":3,"file":"buildUtilities.js","sourceRoot":"","sources":["../../../src/postgres-data/buildUtilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAW,MAAM,0BAA0B,CAAA;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAI1C,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,SAAiB,EACjB,YAAoB,EACpB,QAA8B,EAC9B,WAA4C,EAC5C,GAAQ,EACQ,EAAE;IAClB,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAChC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;QACxB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;QACjC,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAA;QACvC,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;SACpE;QACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QAC9D,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC5C,WAAW,CAAC;YACV,SAAS,EAAE,CAAC,GAAG,SAAS,EAAE,KAAK,CAAC;YAChC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC;SACxD,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAChC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,MAAM,EAAE;YACX,OAAM;SACP;QACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QAC/D,IAAI,CAAC,MAAM,EAAE;YACX,OAAM;SACP;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,WAAW,CAAC,OAAO,CAC5C,CAAC,CAAC,CAAY,CAAA;QACf,IAAI,CAAC,OAAO,EAAE;YACZ,OAAM;SACP;QACD,WAAW,CAAC;YACV,OAAO;YACP,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC;SACvC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,OAAO;QACL,cAAc;QACd,cAAc;KACf,CAAA;AACH,CAAC,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../src/store/Store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmBH,OAAO,EAAE,qBAAqB,EAA2B,MAAM,GAAG,CAAA;
|
1
|
+
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../src/store/Store.ts"],"names":[],"mappings":"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"}
|
@@ -65,7 +65,6 @@ export type state = {
|
|
65
65
|
cslStyle?: string;
|
66
66
|
hasPendingSuggestions?: boolean;
|
67
67
|
sectionCategories: SectionCategory[];
|
68
|
-
saveDoc: (doc: ManuscriptNode) => Promise<void>;
|
69
68
|
originalPmDoc?: JSON;
|
70
69
|
};
|
71
70
|
export type reducer = (payload: any, store: state, action?: string) => state;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@manuscripts/article-editor",
|
3
|
-
"version": "3.1.48-LEAN-
|
3
|
+
"version": "3.1.48-LEAN-3911.0",
|
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",
|
@@ -35,12 +35,12 @@
|
|
35
35
|
"@fontsource/lato": "^4.5.10",
|
36
36
|
"@fontsource/pt-sans": "^4.5.11",
|
37
37
|
"@fontsource/pt-serif": "^4.5.11",
|
38
|
-
"@manuscripts/body-editor": "2.0.58-LEAN-
|
38
|
+
"@manuscripts/body-editor": "2.0.58-LEAN-3911.0",
|
39
39
|
"@manuscripts/json-schema": "2.2.11",
|
40
40
|
"@manuscripts/library": "1.3.11",
|
41
|
-
"@manuscripts/style-guide": "2.0.
|
41
|
+
"@manuscripts/style-guide": "2.0.19",
|
42
42
|
"@manuscripts/track-changes-plugin": "1.7.22",
|
43
|
-
"@manuscripts/transform": "2.3.
|
43
|
+
"@manuscripts/transform": "2.3.38-LEAN-3911.0",
|
44
44
|
"@popperjs/core": "^2.11.8",
|
45
45
|
"@reach/tabs": "^0.18.0",
|
46
46
|
"@types/use-sync-external-store": "^0.0.6",
|