@manuscripts/article-editor 3.0.0 → 3.0.1-JSR-2
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/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 +8 -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 +6 -6
- 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 +104 -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/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 +8 -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 +6 -6
- 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 +77 -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 +3 -2
- package/dist/types/postgres-data/buildData.d.ts +2 -1
- package/dist/types/quarterback/{useLoadDoc.d.ts → api/loadDoc.d.ts} +2 -2
- package/dist/types/store/Store.d.ts +4 -12
- package/dist/types/store/useStore.d.ts +1 -0
- package/package.json +5 -5
- package/dist/cjs/components/inspector/StyleFields.js +0 -18
- 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/quarterback/useLoadDoc.js +0 -106
- package/dist/cjs/quarterback/useLoadDoc.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/quarterback/useLoadDoc.js +0 -79
- package/dist/es/quarterback/useLoadDoc.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
|
@@ -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);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"section-categories.js","sourceRoot":"","sources":["../../../src/lib/section-categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
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"}
|
|
@@ -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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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
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) 2022 Atypon Systems LLC. All Rights Reserved.
|
|
11
|
+
*/
|
|
12
|
+
import { getVersion, schema } from '@manuscripts/transform';
|
|
13
|
+
import { updateDocument } from './document';
|
|
14
|
+
import * as docApi from './document';
|
|
15
|
+
export async function loadDoc(manuscriptID, projectID, authToken, existingDoc) {
|
|
16
|
+
const found = await docApi.getDocument(projectID, manuscriptID, authToken);
|
|
17
|
+
let doc;
|
|
18
|
+
let version = 0;
|
|
19
|
+
let snapshots = [];
|
|
20
|
+
if ('data' in found) {
|
|
21
|
+
let empty = true;
|
|
22
|
+
for (const _ in found.data.doc) {
|
|
23
|
+
empty = false;
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
if (empty) {
|
|
27
|
+
if (!existingDoc) {
|
|
28
|
+
throw new Error('Unable to produce valid doc as neither model based verions nor history have a valid version');
|
|
29
|
+
}
|
|
30
|
+
await updateDocument(projectID, manuscriptID, authToken, {
|
|
31
|
+
doc: existingDoc.toJSON(),
|
|
32
|
+
schema_version: getVersion(),
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
snapshots = found.data.snapshots;
|
|
36
|
+
doc = found.data.doc;
|
|
37
|
+
version = found.data.version;
|
|
38
|
+
}
|
|
39
|
+
else if ('err' in found && found.code === 404) {
|
|
40
|
+
// Create an empty doc that will be replaced with whatever document is currently being edited
|
|
41
|
+
const res = await docApi.createDocument({
|
|
42
|
+
manuscript_model_id: manuscriptID,
|
|
43
|
+
project_model_id: projectID,
|
|
44
|
+
doc: {},
|
|
45
|
+
schema_version: getVersion(),
|
|
46
|
+
}, authToken);
|
|
47
|
+
if ('data' in res) {
|
|
48
|
+
doc = res.data.doc;
|
|
49
|
+
version = res.data.version;
|
|
50
|
+
snapshots = res.data.snapshots;
|
|
51
|
+
}
|
|
52
|
+
if ('err' in res) {
|
|
53
|
+
console.error('Unable to create new document: ' + res.err);
|
|
54
|
+
}
|
|
55
|
+
const update = await updateDocument(projectID, manuscriptID, authToken, {
|
|
56
|
+
doc: existingDoc?.toJSON(),
|
|
57
|
+
schema_version: getVersion(),
|
|
58
|
+
});
|
|
59
|
+
if ('err' in update) {
|
|
60
|
+
console.error('Unable to create new document: ' + update.err);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
const found = await docApi.getDocument(projectID, manuscriptID, authToken);
|
|
64
|
+
if ('data' in found && found.data.doc && found.data.version >= 0) {
|
|
65
|
+
doc = found.data.doc;
|
|
66
|
+
version = found.data.version;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (doc !== null &&
|
|
71
|
+
typeof doc === 'object' &&
|
|
72
|
+
Object.keys(doc).length !== 0) {
|
|
73
|
+
return { doc: schema.nodeFromJSON(doc), version, snapshots };
|
|
74
|
+
}
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=loadDoc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadDoc.js","sourceRoot":"","sources":["../../../../src/quarterback/api/loadDoc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../src/store/Store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../src/store/Store.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ export const GenericStoreProvider = ({ children, store }) => {
|
|
|
22
22
|
return () => store.unmount();
|
|
23
23
|
}, [store]);
|
|
24
24
|
if (store) {
|
|
25
|
-
return (React.createElement(GenericStoreContext.Provider, { value: store }, store.state?.
|
|
25
|
+
return (React.createElement(GenericStoreContext.Provider, { value: store }, store.state?.doc ? children : React.createElement("p", null, "Project was not found")));
|
|
26
26
|
}
|
|
27
27
|
return null;
|
|
28
28
|
};
|
|
@@ -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,SAAS,EAAE,MAAM,OAAO,CAAA;AAEnE,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,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;IAC9B,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,IAAI,KAAK,EAAE;QACT,OAAO,CACL,oBAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IACvC,KAAK,CAAC,KAAK,EAAE,
|
|
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,SAAS,EAAE,MAAM,OAAO,CAAA;AAEnE,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,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;IAC9B,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,IAAI,KAAK,EAAE;QACT,OAAO,CACL,oBAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IACvC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,uDAA4B,CAC9B,CAChC,CAAA;KACF;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAA"}
|
|
@@ -18,4 +18,9 @@ export const useStore = (selector) => {
|
|
|
18
18
|
const state = useSyncExternalStoreWithSelector(store.subscribe, () => store.getState(), undefined, init, deeperEqual);
|
|
19
19
|
return [state, store.dispatchAction, store.getState, store.subscribe];
|
|
20
20
|
};
|
|
21
|
+
// Allows to get store's state on demand rather than subscribing to it
|
|
22
|
+
export const useGetState = () => {
|
|
23
|
+
const store = useGenericStore();
|
|
24
|
+
return store.getState;
|
|
25
|
+
};
|
|
21
26
|
//# sourceMappingURL=useStore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useStore.js","sourceRoot":"","sources":["../../../src/store/useStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAA;AAExF,OAAO,WAAW,MAAM,qBAAqB,CAAA;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAIhD,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,QAAsB,EACiC,EAAE;IACzD,MAAM,KAAK,GAAG,eAAe,EAAE,CAAA;IAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAA;IACxE,MAAM,KAAK,GAAG,gCAAgC,CAC5C,KAAK,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EACtB,SAAS,EACT,IAAI,EACJ,WAAW,CACZ,CAAA;IAED,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;AACvE,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"useStore.js","sourceRoot":"","sources":["../../../src/store/useStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAA;AAExF,OAAO,WAAW,MAAM,qBAAqB,CAAA;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAIhD,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,QAAsB,EACiC,EAAE;IACzD,MAAM,KAAK,GAAG,eAAe,EAAE,CAAA;IAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAA;IACxE,MAAM,KAAK,GAAG,gCAAgC,CAC5C,KAAK,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EACtB,SAAS,EACT,IAAI,EACJ,WAAW,CACZ,CAAA;IAED,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;AACvE,CAAC,CAAA;AAED,sEAAsE;AACtE,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,KAAK,GAAG,eAAe,EAAE,CAAA;IAC/B,OAAO,KAAK,CAAC,QAAQ,CAAA;AACvB,CAAC,CAAA"}
|
|
@@ -9,11 +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 { Project } from '@manuscripts/json-schema';
|
|
13
12
|
import React from 'react';
|
|
14
13
|
export declare const Main: import("styled-components").StyledComponent<"main", import("styled-components").DefaultTheme, {}, never>;
|
|
15
14
|
export declare const Centered: import("styled-components").StyledComponent<"main", import("styled-components").DefaultTheme, {}, never>;
|
|
16
|
-
export declare const Page: React.
|
|
15
|
+
export declare const Page: React.FC<{
|
|
17
16
|
children: React.ReactNode;
|
|
18
|
-
project?: Project;
|
|
19
17
|
}>;
|
|
@@ -1,22 +1,8 @@
|
|
|
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 { Section } from '@manuscripts/json-schema';
|
|
13
1
|
import { SectionNode } from '@manuscripts/transform';
|
|
14
2
|
import { EditorState, Transaction } from 'prosemirror-state';
|
|
15
3
|
import React from 'react';
|
|
16
4
|
export declare const SectionInspector: React.FC<{
|
|
17
5
|
dispatchNodeAttrs: (id: string, attrs: Record<string, unknown>, nodispatch?: boolean) => Transaction | undefined;
|
|
18
|
-
section:
|
|
19
|
-
sectionNode?: SectionNode;
|
|
6
|
+
section: SectionNode;
|
|
20
7
|
state: EditorState;
|
|
21
|
-
dispatch: (tr: Transaction) => EditorState | void;
|
|
22
8
|
}>;
|
|
@@ -1,18 +1,3 @@
|
|
|
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) 2021 Atypon Systems LLC. All Rights Reserved.
|
|
11
|
-
*/
|
|
12
|
-
import { useEditor } from '@manuscripts/body-editor';
|
|
13
1
|
import React from 'react';
|
|
14
|
-
|
|
15
|
-
editor: ReturnType<typeof useEditor>;
|
|
16
|
-
}
|
|
17
|
-
declare const EditorElement: React.FC<Props>;
|
|
2
|
+
declare const EditorElement: React.FC;
|
|
18
3
|
export default EditorElement;
|
|
@@ -10,9 +10,5 @@
|
|
|
10
10
|
* All portions of the code written by Atypon Systems LLC are Copyright (c) 2023 Atypon Systems LLC. All Rights Reserved.
|
|
11
11
|
*/
|
|
12
12
|
import React from 'react';
|
|
13
|
-
|
|
14
|
-
interface Props {
|
|
15
|
-
editor: ReturnType<typeof useCreateEditor>;
|
|
16
|
-
}
|
|
17
|
-
declare const Inspector: React.FC<Props>;
|
|
13
|
+
declare const Inspector: React.FC;
|
|
18
14
|
export default Inspector;
|
|
@@ -9,10 +9,5 @@
|
|
|
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 { useEditor } from '@manuscripts/body-editor';
|
|
13
12
|
import React from 'react';
|
|
14
|
-
|
|
15
|
-
editor: ReturnType<typeof useEditor>;
|
|
16
|
-
}
|
|
17
|
-
export declare const ManuscriptMenus: React.FC<ApplicationMenusProps>;
|
|
18
|
-
export {};
|
|
13
|
+
export declare const ManuscriptMenus: React.FC;
|
|
@@ -14,7 +14,7 @@ import '@manuscripts/body-editor/styles/AdvancedEditor.css';
|
|
|
14
14
|
import '@manuscripts/body-editor/styles/popper.css';
|
|
15
15
|
import '@reach/tabs/styles.css';
|
|
16
16
|
import React from 'react';
|
|
17
|
+
declare const ManuscriptPageContainer: React.FC;
|
|
17
18
|
export declare const ManuscriptMenusContainer: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
|
|
18
19
|
export declare const ManuscriptMenusContainerInner: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
|
|
19
|
-
declare const ManuscriptPageContainer: React.FC;
|
|
20
20
|
export default ManuscriptPageContainer;
|
|
@@ -9,14 +9,6 @@
|
|
|
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 { useEditor } from '@manuscripts/body-editor';
|
|
13
|
-
import { Manuscript } from '@manuscripts/json-schema';
|
|
14
|
-
import { ManuscriptEditorView } from '@manuscripts/transform';
|
|
15
12
|
import React from 'react';
|
|
16
|
-
|
|
17
|
-
state: ReturnType<typeof useEditor>['state'];
|
|
18
|
-
manuscript: Manuscript;
|
|
19
|
-
view?: ManuscriptEditorView;
|
|
20
|
-
}
|
|
21
|
-
declare const ManuscriptSidebar: React.FC<Props>;
|
|
13
|
+
declare const ManuscriptSidebar: React.FC;
|
|
22
14
|
export default ManuscriptSidebar;
|