@manuscripts/article-editor 3.1.1 → 3.1.2-JSR
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 +4 -7
- package/dist/cjs/EditorApp.js.map +1 -1
- package/dist/cjs/components/Page.js +1 -2
- package/dist/cjs/components/Page.js.map +1 -1
- package/dist/cjs/components/inspector/SectionInspector.js +43 -18
- package/dist/cjs/components/inspector/SectionInspector.js.map +1 -1
- package/dist/cjs/components/projects/CategoryInput.js +1 -1
- package/dist/cjs/components/projects/CategoryInput.js.map +1 -1
- package/dist/cjs/components/projects/ContentTab.js +35 -16
- package/dist/cjs/components/projects/ContentTab.js.map +1 -1
- package/dist/cjs/components/projects/EditorElement.js +5 -3
- package/dist/cjs/components/projects/EditorElement.js.map +1 -1
- package/dist/cjs/components/projects/Inspector.js +2 -8
- package/dist/cjs/components/projects/Inspector.js.map +1 -1
- package/dist/cjs/components/projects/ManuscriptMenus.js +9 -2
- package/dist/cjs/components/projects/ManuscriptMenus.js.map +1 -1
- package/dist/cjs/components/projects/ManuscriptPageContainer.js +22 -118
- package/dist/cjs/components/projects/ManuscriptPageContainer.js.map +1 -1
- package/dist/cjs/components/projects/ManuscriptSidebar.js +8 -2
- package/dist/cjs/components/projects/ManuscriptSidebar.js.map +1 -1
- package/dist/cjs/components/projects/ManuscriptToolbar.js +9 -1
- package/dist/cjs/components/projects/ManuscriptToolbar.js.map +1 -1
- package/dist/cjs/components/track-changes/TrackChangesPanel.js +27 -41
- package/dist/cjs/components/track-changes/TrackChangesPanel.js.map +1 -1
- package/dist/cjs/components/track-changes/TrackModal.js +20 -8
- package/dist/cjs/components/track-changes/TrackModal.js.map +1 -1
- package/dist/cjs/components/track-changes/suggestion-list/Suggestion.js +3 -1
- package/dist/cjs/components/track-changes/suggestion-list/Suggestion.js.map +1 -1
- package/dist/cjs/components/track-changes/suggestion-list/SuggestionList.js +1 -1
- package/dist/cjs/components/track-changes/suggestion-list/SuggestionList.js.map +1 -1
- package/dist/cjs/components/track-changes/utils.js +28 -5
- package/dist/cjs/components/track-changes/utils.js.map +1 -1
- package/dist/cjs/hooks/use-connect-editor.js +74 -0
- package/dist/cjs/hooks/use-connect-editor.js.map +1 -0
- package/dist/cjs/hooks/use-create-editor.js +7 -4
- package/dist/cjs/hooks/use-create-editor.js.map +1 -1
- package/dist/cjs/hooks/use-exec-cmd.js +6 -4
- package/dist/cjs/hooks/use-exec-cmd.js.map +1 -1
- package/dist/cjs/lib/attrs-change-filter.js +7 -7
- package/dist/cjs/lib/attrs-change-filter.js.map +1 -1
- package/dist/cjs/lib/deeper-equal.js +19 -17
- package/dist/cjs/lib/deeper-equal.js.map +1 -1
- package/dist/cjs/lib/section-categories.js +9 -9
- package/dist/cjs/lib/section-categories.js.map +1 -1
- package/dist/cjs/postgres-data/PsSource.js +19 -2
- package/dist/cjs/postgres-data/PsSource.js.map +1 -1
- package/dist/cjs/postgres-data/buildData.js +11 -27
- package/dist/cjs/postgres-data/buildData.js.map +1 -1
- package/dist/cjs/postgres-data/buildUtilities.js +0 -53
- package/dist/cjs/postgres-data/buildUtilities.js.map +1 -1
- package/dist/cjs/quarterback/api/loadDoc.js +108 -0
- package/dist/cjs/quarterback/api/loadDoc.js.map +1 -0
- package/dist/cjs/store/Store.js.map +1 -1
- package/dist/cjs/store/StoreContext.js +1 -1
- package/dist/cjs/store/StoreContext.js.map +1 -1
- package/dist/cjs/store/useStore.js +7 -1
- package/dist/cjs/store/useStore.js.map +1 -1
- package/dist/es/EditorApp.js +4 -7
- package/dist/es/EditorApp.js.map +1 -1
- package/dist/es/components/Page.js +1 -2
- package/dist/es/components/Page.js.map +1 -1
- package/dist/es/components/inspector/SectionInspector.js +43 -18
- package/dist/es/components/inspector/SectionInspector.js.map +1 -1
- package/dist/es/components/projects/CategoryInput.js +2 -2
- package/dist/es/components/projects/CategoryInput.js.map +1 -1
- package/dist/es/components/projects/ContentTab.js +13 -14
- package/dist/es/components/projects/ContentTab.js.map +1 -1
- package/dist/es/components/projects/EditorElement.js +5 -3
- package/dist/es/components/projects/EditorElement.js.map +1 -1
- package/dist/es/components/projects/Inspector.js +2 -8
- package/dist/es/components/projects/Inspector.js.map +1 -1
- package/dist/es/components/projects/ManuscriptMenus.js +9 -2
- package/dist/es/components/projects/ManuscriptMenus.js.map +1 -1
- package/dist/es/components/projects/ManuscriptPageContainer.js +22 -95
- package/dist/es/components/projects/ManuscriptPageContainer.js.map +1 -1
- package/dist/es/components/projects/ManuscriptSidebar.js +8 -2
- package/dist/es/components/projects/ManuscriptSidebar.js.map +1 -1
- package/dist/es/components/projects/ManuscriptToolbar.js +9 -1
- package/dist/es/components/projects/ManuscriptToolbar.js.map +1 -1
- package/dist/es/components/track-changes/TrackChangesPanel.js +28 -42
- package/dist/es/components/track-changes/TrackChangesPanel.js.map +1 -1
- package/dist/es/components/track-changes/TrackModal.js +21 -9
- package/dist/es/components/track-changes/TrackModal.js.map +1 -1
- package/dist/es/components/track-changes/suggestion-list/Suggestion.js +3 -1
- package/dist/es/components/track-changes/suggestion-list/Suggestion.js.map +1 -1
- package/dist/es/components/track-changes/suggestion-list/SuggestionList.js +1 -1
- package/dist/es/components/track-changes/suggestion-list/SuggestionList.js.map +1 -1
- package/dist/es/components/track-changes/utils.js +25 -3
- package/dist/es/components/track-changes/utils.js.map +1 -1
- package/dist/es/hooks/use-connect-editor.js +70 -0
- package/dist/es/hooks/use-connect-editor.js.map +1 -0
- package/dist/es/hooks/use-create-editor.js +7 -4
- package/dist/es/hooks/use-create-editor.js.map +1 -1
- package/dist/es/hooks/use-exec-cmd.js +7 -5
- package/dist/es/hooks/use-exec-cmd.js.map +1 -1
- package/dist/es/lib/attrs-change-filter.js +7 -7
- package/dist/es/lib/attrs-change-filter.js.map +1 -1
- package/dist/es/lib/deeper-equal.js +19 -17
- package/dist/es/lib/deeper-equal.js.map +1 -1
- package/dist/es/lib/section-categories.js +7 -7
- package/dist/es/lib/section-categories.js.map +1 -1
- package/dist/es/postgres-data/PsSource.js +19 -2
- package/dist/es/postgres-data/PsSource.js.map +1 -1
- package/dist/es/postgres-data/buildData.js +12 -28
- package/dist/es/postgres-data/buildData.js.map +1 -1
- package/dist/es/postgres-data/buildUtilities.js +1 -54
- package/dist/es/postgres-data/buildUtilities.js.map +1 -1
- package/dist/es/quarterback/api/loadDoc.js +81 -0
- package/dist/es/quarterback/api/loadDoc.js.map +1 -0
- package/dist/es/store/Store.js.map +1 -1
- package/dist/es/store/StoreContext.js +1 -1
- package/dist/es/store/StoreContext.js.map +1 -1
- package/dist/es/store/useStore.js +5 -0
- package/dist/es/store/useStore.js.map +1 -1
- package/dist/types/components/Page.d.ts +1 -3
- package/dist/types/components/inspector/SectionInspector.d.ts +1 -15
- package/dist/types/components/projects/ContentTab.d.ts +1 -5
- package/dist/types/components/projects/EditorElement.d.ts +1 -16
- package/dist/types/components/projects/Inspector.d.ts +1 -5
- package/dist/types/components/projects/ManuscriptMenus.d.ts +1 -6
- package/dist/types/components/projects/ManuscriptPageContainer.d.ts +1 -1
- package/dist/types/components/projects/ManuscriptSidebar.d.ts +1 -9
- package/dist/types/components/projects/ManuscriptToolbar.d.ts +1 -7
- package/dist/types/components/track-changes/suggestion-list/SuggestionList.d.ts +1 -1
- package/dist/types/components/track-changes/utils.d.ts +6 -2
- package/dist/types/hooks/use-connect-editor.d.ts +9 -0
- package/dist/types/lib/attrs-change-filter.d.ts +2 -3
- package/dist/types/lib/deeper-equal.d.ts +1 -1
- package/dist/types/lib/section-categories.d.ts +4 -4
- package/dist/types/postgres-data/buildData.d.ts +2 -1
- package/dist/{cjs/components/inspector/StyleFields.js → types/quarterback/api/loadDoc.d.ts} +8 -8
- package/dist/types/store/Store.d.ts +6 -14
- package/dist/types/store/useStore.d.ts +1 -0
- package/package.json +5 -5
- package/dist/cjs/components/inspector/StyleFields.js.map +0 -1
- package/dist/cjs/lib/sort.js +0 -17
- package/dist/cjs/lib/sort.js.map +0 -1
- package/dist/cjs/quarterback/QuarterBackDataSource.js +0 -29
- package/dist/cjs/quarterback/QuarterBackDataSource.js.map +0 -1
- package/dist/cjs/tracked-models/adapt-tracked-data.js +0 -100
- package/dist/cjs/tracked-models/adapt-tracked-data.js.map +0 -1
- package/dist/cjs/tracked-models/creators.js +0 -129
- package/dist/cjs/tracked-models/creators.js.map +0 -1
- package/dist/cjs/tracked-models/use-tracked-model-management.js +0 -129
- package/dist/cjs/tracked-models/use-tracked-model-management.js.map +0 -1
- package/dist/es/components/inspector/StyleFields.js +0 -14
- package/dist/es/components/inspector/StyleFields.js.map +0 -1
- package/dist/es/lib/sort.js +0 -13
- package/dist/es/lib/sort.js.map +0 -1
- package/dist/es/quarterback/QuarterBackDataSource.js +0 -26
- package/dist/es/quarterback/QuarterBackDataSource.js.map +0 -1
- package/dist/es/tracked-models/adapt-tracked-data.js +0 -95
- package/dist/es/tracked-models/adapt-tracked-data.js.map +0 -1
- package/dist/es/tracked-models/creators.js +0 -120
- package/dist/es/tracked-models/creators.js.map +0 -1
- package/dist/es/tracked-models/use-tracked-model-management.js +0 -127
- package/dist/es/tracked-models/use-tracked-model-management.js.map +0 -1
- package/dist/types/components/inspector/StyleFields.d.ts +0 -14
- package/dist/types/lib/sort.d.ts +0 -17
- package/dist/types/quarterback/QuarterBackDataSource.d.ts +0 -23
- package/dist/types/tracked-models/adapt-tracked-data.d.ts +0 -13
- package/dist/types/tracked-models/creators.d.ts +0 -21
- package/dist/types/tracked-models/use-tracked-model-management.d.ts +0 -21
|
@@ -0,0 +1,70 @@
|
|
|
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 { commentsKey, selectedSuggestionKey } from '@manuscripts/body-editor';
|
|
13
|
+
import { trackChangesPluginKey } from '@manuscripts/track-changes-plugin';
|
|
14
|
+
import { useEffect, useLayoutEffect, useMemo } from 'react';
|
|
15
|
+
import { useDoWithThrottle } from '../postgres-data/savingUtilities';
|
|
16
|
+
import { useStore } from '../store';
|
|
17
|
+
import { useCreateEditor } from './use-create-editor';
|
|
18
|
+
import { useHandleSnapshot } from './use-handle-snapshot';
|
|
19
|
+
export const useConnectEditor = () => {
|
|
20
|
+
const [_, storeDispatch] = useStore((store) => store.manuscriptID);
|
|
21
|
+
const editor = useCreateEditor();
|
|
22
|
+
const { state, view } = editor;
|
|
23
|
+
const handleSnapshot = useHandleSnapshot(view);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
storeDispatch({ handleSnapshot });
|
|
26
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
27
|
+
}, [view?.state]);
|
|
28
|
+
useLayoutEffect(() => {
|
|
29
|
+
const trackState = trackChangesPluginKey.getState(state);
|
|
30
|
+
if (trackState) {
|
|
31
|
+
// set init tracking state
|
|
32
|
+
storeDispatch({ trackState });
|
|
33
|
+
}
|
|
34
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
35
|
+
}, []);
|
|
36
|
+
const selection = useMemo(() => {
|
|
37
|
+
const suggestion = selectedSuggestionKey.getState(state)?.suggestion;
|
|
38
|
+
const selection = commentsKey.getState(state)?.selection;
|
|
39
|
+
return {
|
|
40
|
+
selectedSuggestionID: suggestion?.id,
|
|
41
|
+
selectedCommentKey: selection?.key,
|
|
42
|
+
newCommentID: selection?.isNew ? selection?.id : undefined,
|
|
43
|
+
};
|
|
44
|
+
}, [state]);
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
storeDispatch(selection);
|
|
47
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
48
|
+
}, [storeDispatch, ...Object.values(selection)]);
|
|
49
|
+
const hasPendingSuggestions = useMemo(() => {
|
|
50
|
+
const { changeSet } = trackChangesPluginKey.getState(state) || {};
|
|
51
|
+
return changeSet && changeSet.pending.length > 0;
|
|
52
|
+
}, [state]);
|
|
53
|
+
useEffect(() => {
|
|
54
|
+
storeDispatch({ hasPendingSuggestions });
|
|
55
|
+
}, [storeDispatch, hasPendingSuggestions]);
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
storeDispatch({ editor });
|
|
58
|
+
}, [storeDispatch, view]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
59
|
+
const doWithThrottle = useDoWithThrottle();
|
|
60
|
+
useEffect(() => {
|
|
61
|
+
const trackState = trackChangesPluginKey.getState(state);
|
|
62
|
+
doWithThrottle(() => {
|
|
63
|
+
// @TODO - test throttling
|
|
64
|
+
storeDispatch({ doc: state.doc, trackState, view, editor });
|
|
65
|
+
}, 200);
|
|
66
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
67
|
+
}, [state]);
|
|
68
|
+
return editor;
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=use-connect-editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-connect-editor.js","sourceRoot":"","sources":["../../../src/hooks/use-connect-editor.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,10 +17,12 @@ import { stepsExchanger } from '../quarterback/QuarterbackStepsExchanger';
|
|
|
17
17
|
import { useStore } from '../store';
|
|
18
18
|
import { theme } from '../theme/theme';
|
|
19
19
|
export const useCreateEditor = () => {
|
|
20
|
-
const [{ doc, manuscript,
|
|
20
|
+
const [{ doc, manuscript, manuscriptID, projectID, user, fileManagement, initialDocVersion, style, locale, authToken, }, dispatch, getState,] = useStore((store) => ({
|
|
21
21
|
doc: store.doc,
|
|
22
|
+
manuscriptID: store.manuscriptID,
|
|
22
23
|
manuscript: store.manuscript,
|
|
23
24
|
project: store.project,
|
|
25
|
+
projectID: store.projectID,
|
|
24
26
|
user: store.user,
|
|
25
27
|
fileManagement: store.fileManagement,
|
|
26
28
|
initialDocVersion: store.initialDocVersion,
|
|
@@ -39,13 +41,14 @@ export const useCreateEditor = () => {
|
|
|
39
41
|
doc,
|
|
40
42
|
userID: user._id,
|
|
41
43
|
debug: config.environment === 'development',
|
|
42
|
-
|
|
44
|
+
// @TODO - move primaryLanguageCode to be an attribute on ManuscriptNode
|
|
45
|
+
locale: 'en-GB',
|
|
43
46
|
cslProps: {
|
|
44
47
|
style,
|
|
45
48
|
locale,
|
|
46
49
|
},
|
|
47
50
|
theme,
|
|
48
|
-
projectID:
|
|
51
|
+
projectID: projectID,
|
|
49
52
|
getManuscript: () => manuscript,
|
|
50
53
|
getCurrentUser: () => user,
|
|
51
54
|
getCapabilities: () => {
|
|
@@ -56,7 +59,7 @@ export const useCreateEditor = () => {
|
|
|
56
59
|
return getState().files;
|
|
57
60
|
},
|
|
58
61
|
fileManagement: fileManagement,
|
|
59
|
-
collabProvider: stepsExchanger(
|
|
62
|
+
collabProvider: stepsExchanger(manuscriptID, projectID, initialDocVersion, authToken, (preventUnload, beforeUnload) => {
|
|
60
63
|
if (beforeUnload !== undefined) {
|
|
61
64
|
dispatch({ preventUnload, beforeUnload });
|
|
62
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-create-editor.js","sourceRoot":"","sources":["../../../src/hooks/use-create-editor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,eAAe,IAAI,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,OAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAEtC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,MAAM,CACJ,EACE,GAAG,EACH,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"use-create-editor.js","sourceRoot":"","sources":["../../../src/hooks/use-create-editor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useGetState } from '../store';
|
|
2
2
|
const useExecCmd = () => {
|
|
3
|
-
const
|
|
4
|
-
state: store.editor?.state,
|
|
5
|
-
dispatch: store.editor?.dispatch,
|
|
6
|
-
});
|
|
3
|
+
const getState = useGetState();
|
|
7
4
|
return (cmd, hookView) => {
|
|
5
|
+
const store = getState();
|
|
6
|
+
const storeView = store.view || {
|
|
7
|
+
state: store.editor?.state,
|
|
8
|
+
dispatch: store.editor?.dispatch,
|
|
9
|
+
};
|
|
8
10
|
const view = storeView || hookView;
|
|
9
11
|
cmd(view.state, view.dispatch);
|
|
10
12
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-exec-cmd.js","sourceRoot":"","sources":["../../../src/hooks/use-exec-cmd.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"use-exec-cmd.js","sourceRoot":"","sources":["../../../src/hooks/use-exec-cmd.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEtC,MAAM,UAAU,GAAG,GAAG,EAAE;IACtB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAE9B,OAAO,CAAC,GAAY,EAAE,QAAqB,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;QACxB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI;YAC9B,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK;YAC1B,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ;SACjC,CAAA;QACD,MAAM,IAAI,GAAG,SAAS,IAAI,QAAQ,CAAA;QAClC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC,CAAA;AACH,CAAC,CAAA;AAED,eAAe,UAAU,CAAA"}
|
|
@@ -62,9 +62,9 @@ const createAttrsDisplay = (modelOfChange, attrs, files, affiliations, reference
|
|
|
62
62
|
label: 'Footnote',
|
|
63
63
|
value: footnotes.reduce((acc, fn) => {
|
|
64
64
|
const rids = value;
|
|
65
|
-
if (rids.includes(fn.
|
|
66
|
-
const fnText = fn.
|
|
67
|
-
(fn.
|
|
65
|
+
if (rids.includes(fn.attrs.id)) {
|
|
66
|
+
const fnText = fn.text?.substring(0, limit) +
|
|
67
|
+
(fn.text && fn.text.length > limit ? '...' : '');
|
|
68
68
|
return acc ? acc + ', ' + fnText : fnText;
|
|
69
69
|
}
|
|
70
70
|
return acc;
|
|
@@ -76,8 +76,8 @@ const createAttrsDisplay = (modelOfChange, attrs, files, affiliations, reference
|
|
|
76
76
|
label: 'Reference',
|
|
77
77
|
value: references.reduce((acc, ref) => {
|
|
78
78
|
const rids = value;
|
|
79
|
-
if (rids.includes(ref.
|
|
80
|
-
const refText = ref.title || ref.
|
|
79
|
+
if (rids.includes(ref.attrs.id)) {
|
|
80
|
+
const refText = ref.attrs.title || ref.attrs.doi || '';
|
|
81
81
|
return acc ? acc + ', \n' + refText : refText;
|
|
82
82
|
}
|
|
83
83
|
return acc;
|
|
@@ -90,8 +90,8 @@ const createAttrsDisplay = (modelOfChange, attrs, files, affiliations, reference
|
|
|
90
90
|
label: getLabel(key),
|
|
91
91
|
value: value
|
|
92
92
|
?.map((id) => {
|
|
93
|
-
const affiliation = affiliations.find((aff) => aff.
|
|
94
|
-
return affiliation?.institution || 'Unknown';
|
|
93
|
+
const affiliation = affiliations.find((aff) => aff.attrs.id === id);
|
|
94
|
+
return affiliation?.attrs.institution || 'Unknown';
|
|
95
95
|
})
|
|
96
96
|
.join(', '),
|
|
97
97
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attrs-change-filter.js","sourceRoot":"","sources":["../../../src/lib/attrs-change-filter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"attrs-change-filter.js","sourceRoot":"","sources":["../../../src/lib/attrs-change-filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,28 +9,30 @@
|
|
|
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
|
-
const deeperEqual = (
|
|
12
|
+
const deeperEqual = (next, prev) => {
|
|
13
13
|
// checking only one level deeper is enough to provide render relevenat equality
|
|
14
|
-
if (!
|
|
14
|
+
if (!next) {
|
|
15
15
|
return false;
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
if (typeof prev == 'undefined' && typeof next !== 'undefined') {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
switch (next.constructor.name) {
|
|
18
21
|
case 'Object':
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (next[i] !== prev[i]) {
|
|
22
|
+
return !Object.keys(next).find((i) => {
|
|
23
|
+
if (prev[i] !== next[i]) {
|
|
22
24
|
return true;
|
|
23
25
|
}
|
|
24
26
|
return false;
|
|
25
27
|
});
|
|
26
|
-
case 'Map':
|
|
27
|
-
if (
|
|
28
|
+
case 'Map':
|
|
29
|
+
if (next == prev) {
|
|
28
30
|
return true;
|
|
29
31
|
}
|
|
30
|
-
if (
|
|
31
|
-
for (const [key, value] of
|
|
32
|
-
const
|
|
33
|
-
if (!
|
|
32
|
+
if (next.size == prev.size) {
|
|
33
|
+
for (const [key, value] of next) {
|
|
34
|
+
const prevPeer = prev.get(key);
|
|
35
|
+
if (!prevPeer || prevPeer !== value) {
|
|
34
36
|
return false;
|
|
35
37
|
}
|
|
36
38
|
}
|
|
@@ -38,12 +40,12 @@ const deeperEqual = (prev, next) => {
|
|
|
38
40
|
}
|
|
39
41
|
return false;
|
|
40
42
|
case 'Array':
|
|
41
|
-
if (Array.isArray(
|
|
42
|
-
if (
|
|
43
|
+
if (Array.isArray(prev)) {
|
|
44
|
+
if (next.length !== prev.length) {
|
|
43
45
|
return false;
|
|
44
46
|
}
|
|
45
|
-
for (let i = 0; i <
|
|
46
|
-
if (
|
|
47
|
+
for (let i = 0; i < next.length; i++) {
|
|
48
|
+
if (next[i] !== prev[i]) {
|
|
47
49
|
return false;
|
|
48
50
|
}
|
|
49
51
|
}
|
|
@@ -51,7 +53,7 @@ const deeperEqual = (prev, next) => {
|
|
|
51
53
|
}
|
|
52
54
|
return false;
|
|
53
55
|
default:
|
|
54
|
-
return
|
|
56
|
+
return next === prev;
|
|
55
57
|
}
|
|
56
58
|
};
|
|
57
59
|
export default deeperEqual;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deeper-equal.js","sourceRoot":"","sources":["../../../src/lib/deeper-equal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,GAAG,CAAC,IAAS,EAAE,IAAS,EAAE,EAAE;IAC3C,gFAAgF;IAChF,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,KAAK,CAAA;KACb;IACD,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;QAC7B,KAAK,QAAQ;YACX,
|
|
1
|
+
{"version":3,"file":"deeper-equal.js","sourceRoot":"","sources":["../../../src/lib/deeper-equal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,GAAG,CAAC,IAAS,EAAE,IAAS,EAAE,EAAE;IAC3C,gFAAgF;IAChF,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,KAAK,CAAA;KACb;IACD,IAAI,OAAO,IAAI,IAAI,WAAW,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;QAC7D,OAAO,KAAK,CAAA;KACb;IACD,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;QAC7B,KAAK,QAAQ;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBACnC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE;oBACvB,OAAO,IAAI,CAAA;iBACZ;gBACD,OAAO,KAAK,CAAA;YACd,CAAC,CAAC,CAAA;QAEJ,KAAK,KAAK;YACR,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,OAAO,IAAI,CAAA;aACZ;YACD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;gBAC1B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;oBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAC9B,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,KAAK,EAAE;wBACnC,OAAO,KAAK,CAAA;qBACb;iBACF;gBACD,OAAO,IAAI,CAAA;aACZ;YACD,OAAO,KAAK,CAAA;QACd,KAAK,OAAO;YACV,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACvB,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;oBAC/B,OAAO,KAAK,CAAA;iBACb;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACpC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE;wBACvB,OAAO,KAAK,CAAA;qBACb;iBACF;gBAED,OAAO,IAAI,CAAA;aACZ;YACD,OAAO,KAAK,CAAA;QACd;YACE,OAAO,IAAI,KAAK,IAAI,CAAA;KACvB;AACH,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -23,13 +23,13 @@ export const uniqueSectionCategories = [
|
|
|
23
23
|
export const isEditableSectionCategoryID = (id) => !uneditableSectionCategories.includes(id);
|
|
24
24
|
export const isEditableSectionCategory = (sectionCategory) => isEditableSectionCategoryID(sectionCategory._id);
|
|
25
25
|
export const sortSectionCategories = (sectionCategories) => sectionCategories.sort((a, b) => a.priority - b.priority);
|
|
26
|
-
export const chooseSectionCategory = (section) => {
|
|
27
|
-
if (section.category) {
|
|
28
|
-
return section.category;
|
|
26
|
+
export const chooseSectionCategory = (section, isSubSection) => {
|
|
27
|
+
if (section.attrs.category) {
|
|
28
|
+
return section.attrs.category;
|
|
29
29
|
}
|
|
30
|
-
return
|
|
31
|
-
? 'MPSectionCategory:
|
|
32
|
-
: 'MPSectionCategory:
|
|
30
|
+
return isSubSection
|
|
31
|
+
? 'MPSectionCategory:subsection'
|
|
32
|
+
: 'MPSectionCategory:section';
|
|
33
33
|
};
|
|
34
34
|
export const isUnique = (categoryId) => {
|
|
35
35
|
return uniqueSectionCategories.includes(categoryId);
|
|
@@ -43,7 +43,7 @@ export const isUniquePresent = (cat, existingCats) => {
|
|
|
43
43
|
export const isBackMatterSection = (groupId) => {
|
|
44
44
|
return groupId === 'MPSectionCategory:backmatter';
|
|
45
45
|
};
|
|
46
|
-
export const
|
|
46
|
+
export const backMatterSectionCategoryExist = (parent, category) => {
|
|
47
47
|
let found = false;
|
|
48
48
|
parent.descendants((node) => {
|
|
49
49
|
if (node.attrs.category === category) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"section-categories.js","sourceRoot":"","sources":["../../../src/lib/section-categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,MAAM,CAAC,MAAM,2BAA2B,GAAa;IACnD,gCAAgC;IAChC,4BAA4B;IAC5B,mCAAmC;IACnC,kCAAkC;IAClC,uBAAuB;CACxB,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAa;IAC/C,sCAAsC;IACtC,4BAA4B;CAC7B,CAAA;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAAU,EAAE,EAAE,CACxD,CAAC,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;AAE3C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,eAAgC,EAAE,EAAE,CAC5E,2BAA2B,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;AAElD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,iBAAoC,EAAE,EAAE,CAC5E,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAA;AAE3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,
|
|
1
|
+
{"version":3,"file":"section-categories.js","sourceRoot":"","sources":["../../../src/lib/section-categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,MAAM,CAAC,MAAM,2BAA2B,GAAa;IACnD,gCAAgC;IAChC,4BAA4B;IAC5B,mCAAmC;IACnC,kCAAkC;IAClC,uBAAuB;CACxB,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAa;IAC/C,sCAAsC;IACtC,4BAA4B;CAC7B,CAAA;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAAU,EAAE,EAAE,CACxD,CAAC,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;AAE3C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,eAAgC,EAAE,EAAE,CAC5E,2BAA2B,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;AAElD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,iBAAoC,EAAE,EAAE,CAC5E,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAA;AAE3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,OAAoB,EACpB,YAAsB,EACd,EAAE;IACV,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC1B,OAAO,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAA;KAC9B;IAED,OAAO,YAAY;QACjB,CAAC,CAAC,8BAA8B;QAChC,CAAC,CAAC,2BAA2B,CAAA;AACjC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,UAAkB,EAAE,EAAE;IAC7C,OAAO,uBAAuB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;AACrD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,UAAkB,EAClB,iBAAyB,EACzB,EAAE;IACF,OAAO,UAAU,KAAK,iBAAiB,CAAA;AACzC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,GAAoB,EACpB,YAAuC,EACvC,EAAE;IACF,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACzE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAE,EAAE;IACrD,OAAO,OAAO,KAAK,8BAA8B,CAAA;AACnD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,MAAsB,EACtB,QAAgB,EAChB,EAAE;IACF,IAAI,KAAK,GAAG,KAAK,CAAA;IACjB,MAAM,CAAC,WAAW,CAAC,CAAC,IAAoB,EAAE,EAAE;QAC1C,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACpC,KAAK,GAAG,IAAI,CAAA;YACZ,OAAO,KAAK,CAAA;SACb;QACD,IAAI,KAAK,EAAE;YACT,OAAO,KAAK,CAAA;SACb;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;IACF,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|
|
@@ -9,6 +9,7 @@
|
|
|
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 { loadDoc } from '../quarterback/api/loadDoc';
|
|
12
13
|
import Api from './Api';
|
|
13
14
|
import { buildData } from './buildData';
|
|
14
15
|
import { buildUtilities } from './buildUtilities';
|
|
@@ -23,8 +24,24 @@ export default class PsSource {
|
|
|
23
24
|
}
|
|
24
25
|
const projectID = state.projectID;
|
|
25
26
|
const manuscriptID = state.manuscriptID;
|
|
26
|
-
if (manuscriptID &&
|
|
27
|
-
|
|
27
|
+
if (state.projectID && state.manuscriptID && state.authToken) {
|
|
28
|
+
const res = await loadDoc(state.manuscriptID, state.projectID, state.authToken, state.doc);
|
|
29
|
+
if (res?.doc && res.version >= 0) {
|
|
30
|
+
this.data = {
|
|
31
|
+
...this.data,
|
|
32
|
+
doc: res.doc,
|
|
33
|
+
initialDocVersion: res.version,
|
|
34
|
+
snapshots: res.snapshots,
|
|
35
|
+
snapshotsMap: new Map(),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
if (manuscriptID && projectID && this.data.doc) {
|
|
40
|
+
const data = await buildData(projectID, manuscriptID, this.data.doc, this.api);
|
|
41
|
+
this.data = {
|
|
42
|
+
...this.data,
|
|
43
|
+
...data,
|
|
44
|
+
};
|
|
28
45
|
this.utilities = buildUtilities(projectID, manuscriptID, () => this.data, setState, this.api);
|
|
29
46
|
}
|
|
30
47
|
next({ ...state, ...this.data, ...this.utilities });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PsSource.js","sourceRoot":"","sources":["../../../src/postgres-data/PsSource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"PsSource.js","sourceRoot":"","sources":["../../../src/postgres-data/PsSource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAIpD,OAAO,GAAG,MAAM,OAAO,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,CAAC,OAAO,OAAO,QAAQ;IAM3B,YAAY,KAAuB;QASnC,gBAAW,GAAG,CAAC,KAAqB,EAAE,EAAE;YACtC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC,CAAA;QACzD,CAAC,CAAA;QAED,UAAK,GAAc,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACjD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE;gBACnC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;aACnC;YACD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;YACjC,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAA;YAEvC,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,SAAS,EAAE;gBAC5D,MAAM,GAAG,GAAG,MAAM,OAAO,CACvB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,GAAG,CACV,CAAA;gBACD,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,EAAE;oBAChC,IAAI,CAAC,IAAI,GAAG;wBACV,GAAG,IAAI,CAAC,IAAI;wBACZ,GAAG,EAAE,GAAG,CAAC,GAAG;wBACZ,iBAAiB,EAAE,GAAG,CAAC,OAAO;wBAC9B,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,YAAY,EAAE,IAAI,GAAG,EAA8B;qBACpD,CAAA;iBACF;aACF;YAED,IAAI,YAAY,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC9C,MAAM,IAAI,GAAG,MAAM,SAAS,CAC1B,SAAS,EACT,YAAY,EACZ,IAAI,CAAC,IAAI,CAAC,GAAG,EACb,IAAI,CAAC,GAAG,CACT,CAAA;gBACD,IAAI,CAAC,IAAI,GAAG;oBACV,GAAG,IAAI,CAAC,IAAI;oBACZ,GAAG,IAAI;iBACR,CAAA;gBACD,IAAI,CAAC,SAAS,GAAG,cAAc,CAC7B,SAAS,EACT,YAAY,EACZ,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EACf,QAAQ,EACR,IAAI,CAAC,GAAG,CACT,CAAA;aACF;YACD,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;QACrD,CAAC,CAAA;QACD,gBAAW,GAAG,CAAC,KAAY,EAAE,EAAE;YAC7B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA,CAAC,uCAAuC;QAC3D,CAAC,CAAA;QACD,gBAAW,GAAG,CAAC,QAAqB,EAAE,EAAE;YACtC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAA;QAC7B,CAAC,CAAA;QA/DC,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,aAAa;QACb,4BAA4B;QAC5B,oGAAoG;QACpG,yBAAyB;IAC3B,CAAC;CA0DF"}
|
|
@@ -9,30 +9,27 @@
|
|
|
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 { Decoder, isManuscript } from '@manuscripts/transform';
|
|
12
|
+
import { ObjectTypes } from '@manuscripts/json-schema';
|
|
14
13
|
import { getUserRole } from '../lib/roles';
|
|
15
14
|
import { TokenData } from '../store/TokenData';
|
|
16
|
-
const
|
|
15
|
+
const getProject = async (api, projectID, manuscriptID) => {
|
|
17
16
|
const models = await api.getManuscript(projectID, manuscriptID);
|
|
18
17
|
if (!models) {
|
|
19
18
|
throw new Error('Models are wrong.');
|
|
20
19
|
}
|
|
21
|
-
const data = {};
|
|
22
20
|
for (const model of models) {
|
|
23
21
|
if (model.objectType === ObjectTypes.Project) {
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
else if (isManuscript(model)) {
|
|
27
|
-
data.manuscript = model;
|
|
22
|
+
return model;
|
|
28
23
|
}
|
|
29
24
|
}
|
|
30
|
-
|
|
25
|
+
};
|
|
26
|
+
const getManuscriptData = async (api, prototype) => {
|
|
27
|
+
const data = {};
|
|
31
28
|
const [sectionCategories, cslLocale, template] = await Promise.all([
|
|
32
29
|
api.getSectionCategories(),
|
|
33
30
|
// TODO:: config this!
|
|
34
31
|
api.getCSLLocale('en-US'),
|
|
35
|
-
api.getTemplate(
|
|
32
|
+
api.getTemplate(prototype),
|
|
36
33
|
]);
|
|
37
34
|
const bundle = await api.getBundle(template);
|
|
38
35
|
data.sectionCategories = sectionCategories || [];
|
|
@@ -55,35 +52,22 @@ const getUserData = async (projectID, user, api) => {
|
|
|
55
52
|
collaboratorsById: profilesById,
|
|
56
53
|
};
|
|
57
54
|
};
|
|
58
|
-
const
|
|
59
|
-
try {
|
|
60
|
-
const decoder = new Decoder(modelMap, true);
|
|
61
|
-
return decoder.createArticleNode();
|
|
62
|
-
}
|
|
63
|
-
catch (e) {
|
|
64
|
-
console.warn('Unable to produce a document from the json models with error: ' + e);
|
|
65
|
-
return null;
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
export const buildData = async (projectID, manuscriptID, api) => {
|
|
55
|
+
export const buildData = async (projectID, manuscriptID, doc, api) => {
|
|
69
56
|
const user = await api.getUser();
|
|
70
57
|
if (!user) {
|
|
71
58
|
return {};
|
|
72
59
|
}
|
|
73
|
-
const
|
|
74
|
-
const
|
|
75
|
-
const project =
|
|
60
|
+
const manuscript = doc;
|
|
61
|
+
const state = await getManuscriptData(api, manuscript.attrs.prototype);
|
|
62
|
+
const project = await getProject(api, projectID, manuscriptID);
|
|
76
63
|
const role = project ? getUserRole(project, user.userID) : null;
|
|
77
64
|
const users = await getUserData(projectID, user, api);
|
|
78
|
-
const doc = state.modelMap ? createDoc(state.modelMap) : null;
|
|
79
65
|
return {
|
|
80
66
|
user,
|
|
81
|
-
manuscriptID: manuscript?._id,
|
|
82
|
-
projectID: project?._id,
|
|
83
67
|
userRole: role,
|
|
84
68
|
...users,
|
|
85
69
|
...state,
|
|
86
|
-
|
|
70
|
+
project,
|
|
87
71
|
tokenData: new TokenData(),
|
|
88
72
|
};
|
|
89
73
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildData.js","sourceRoot":"","sources":["../../../src/postgres-data/buildData.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"buildData.js","sourceRoot":"","sources":["../../../src/postgres-data/buildData.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,9 +9,8 @@
|
|
|
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 { manuscriptIDTypes, ObjectTypes
|
|
12
|
+
import { manuscriptIDTypes, ObjectTypes } from '@manuscripts/json-schema';
|
|
13
13
|
import { encode } from '@manuscripts/transform';
|
|
14
|
-
import { getUserRole } from '../lib/roles';
|
|
15
14
|
export const buildUtilities = (projectID, manuscriptID, getState, updateState, api) => {
|
|
16
15
|
const nonPMModelsTypes = new Set([
|
|
17
16
|
ObjectTypes.Manuscript,
|
|
@@ -42,13 +41,6 @@ export const buildUtilities = (projectID, manuscriptID, getState, updateState, a
|
|
|
42
41
|
return false;
|
|
43
42
|
}
|
|
44
43
|
};
|
|
45
|
-
const getModel = (id) => {
|
|
46
|
-
const state = getState();
|
|
47
|
-
if (!state.modelMap) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
return state.modelMap.get(id);
|
|
51
|
-
};
|
|
52
44
|
const saveModels = async (models, excludeIDs) => {
|
|
53
45
|
const state = getState();
|
|
54
46
|
if (!state.modelMap) {
|
|
@@ -78,26 +70,6 @@ export const buildUtilities = (projectID, manuscriptID, getState, updateState, a
|
|
|
78
70
|
preventUnload: false,
|
|
79
71
|
});
|
|
80
72
|
};
|
|
81
|
-
const saveModel = async (model) => {
|
|
82
|
-
await saveModels([model]);
|
|
83
|
-
//is this actually needed?
|
|
84
|
-
return model;
|
|
85
|
-
};
|
|
86
|
-
const deleteModel = async (id) => {
|
|
87
|
-
await saveModels([], new Set([id]));
|
|
88
|
-
return id;
|
|
89
|
-
};
|
|
90
|
-
const saveManuscript = async (manuscript) => {
|
|
91
|
-
const state = getState();
|
|
92
|
-
if (!state.modelMap) {
|
|
93
|
-
throw new Error('Unable to save manuscript due to incomplete data');
|
|
94
|
-
}
|
|
95
|
-
const previous = state.modelMap.get(manuscriptID);
|
|
96
|
-
await saveModel({
|
|
97
|
-
...previous,
|
|
98
|
-
...manuscript,
|
|
99
|
-
});
|
|
100
|
-
};
|
|
101
73
|
const saveDoc = async (doc) => {
|
|
102
74
|
const models = encode(doc);
|
|
103
75
|
await saveModels([...models.values()]);
|
|
@@ -116,34 +88,9 @@ export const buildUtilities = (projectID, manuscriptID, getState, updateState, a
|
|
|
116
88
|
snapshotsMap: snapshotsMap.set(label.id, data.snapshot),
|
|
117
89
|
});
|
|
118
90
|
};
|
|
119
|
-
const refreshProject = async () => {
|
|
120
|
-
const state = getState();
|
|
121
|
-
const userID = state.userID;
|
|
122
|
-
if (!userID) {
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
const models = await api.getManuscript(projectID, manuscriptID);
|
|
126
|
-
if (!models) {
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
const project = models.filter((m) => m.objectType === ObjectTypes.Project)[0];
|
|
130
|
-
if (!project) {
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
updateState({
|
|
134
|
-
project,
|
|
135
|
-
userRole: getUserRole(project, userID),
|
|
136
|
-
});
|
|
137
|
-
};
|
|
138
91
|
return {
|
|
139
|
-
saveModel,
|
|
140
|
-
deleteModel,
|
|
141
|
-
saveManuscript,
|
|
142
|
-
getModel,
|
|
143
|
-
saveModels,
|
|
144
92
|
saveDoc,
|
|
145
93
|
createSnapshot,
|
|
146
|
-
refreshProject,
|
|
147
94
|
};
|
|
148
95
|
};
|
|
149
96
|
//# sourceMappingURL=buildUtilities.js.map
|
|
@@ -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":"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"}
|