@manuscripts/article-editor 3.1.3 → 3.1.6-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 +3 -3
- 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
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*!
|
|
3
|
-
* 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.
|
|
4
|
-
*
|
|
5
|
-
* 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.
|
|
6
|
-
*
|
|
7
|
-
* The Original Code is manuscripts-frontend.
|
|
8
|
-
*
|
|
9
|
-
* The Original Developer is the Initial Developer. The Initial Developer of the Original Code is Atypon Systems LLC.
|
|
10
|
-
*
|
|
11
|
-
* All portions of the code written by Atypon Systems LLC are Copyright (c) 2019 Atypon Systems LLC. All Rights Reserved.
|
|
12
|
-
*/
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.adaptTrackedData = exports.filterNodesWithTrackingData = void 0;
|
|
15
|
-
const track_changes_plugin_1 = require("@manuscripts/track-changes-plugin");
|
|
16
|
-
const hasTrackingData = (node) => {
|
|
17
|
-
return !!node?.attrs?.dataTracked;
|
|
18
|
-
};
|
|
19
|
-
const filterNodesWithTrackingData = (node) => {
|
|
20
|
-
const cleanDoc = Object.assign({}, node);
|
|
21
|
-
const cleanNode = (parent) => {
|
|
22
|
-
if (parent.content) {
|
|
23
|
-
parent.content = parent.content.filter((child) => !hasTrackingData(child));
|
|
24
|
-
parent.content.forEach((child) => cleanNode(child));
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
cleanNode(cleanDoc);
|
|
28
|
-
return cleanDoc;
|
|
29
|
-
};
|
|
30
|
-
exports.filterNodesWithTrackingData = filterNodesWithTrackingData;
|
|
31
|
-
const getLastChange = (changes) => {
|
|
32
|
-
return [...changes].sort((a, b) => b.updatedAt - a.updatedAt)[0];
|
|
33
|
-
};
|
|
34
|
-
const adaptTrackedData = (docJSONed) => {
|
|
35
|
-
const cleanDoc = Object.assign({}, docJSONed);
|
|
36
|
-
function deepCloneAttrs(object) {
|
|
37
|
-
if (typeof object !== 'object' || object === null) {
|
|
38
|
-
return object;
|
|
39
|
-
}
|
|
40
|
-
const copy = Array.isArray(object) ? [] : {};
|
|
41
|
-
for (const at in object) {
|
|
42
|
-
const deeperClone = deepCloneAttrs(object[at]);
|
|
43
|
-
if (Array.isArray(object)) {
|
|
44
|
-
// @ts-ignore
|
|
45
|
-
copy.push(deeperClone);
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
// @ts-ignore
|
|
49
|
-
copy[at] = deeperClone;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
return copy;
|
|
53
|
-
}
|
|
54
|
-
const cleanNode = (parent) => {
|
|
55
|
-
parent.attrs = deepCloneAttrs(parent.attrs);
|
|
56
|
-
// Prosemirror's Node.toJSON() references attributes so they have to be cloned to avoid disaster.
|
|
57
|
-
// It must be done before content check for the nodes like figures
|
|
58
|
-
if (parent.content) {
|
|
59
|
-
parent.content = parent.content.filter((child) => {
|
|
60
|
-
// the type is wrong. we get JSON and not the doc
|
|
61
|
-
// pass through all the nodes with no track changes at all
|
|
62
|
-
if (!child?.attrs?.dataTracked) {
|
|
63
|
-
return true;
|
|
64
|
-
}
|
|
65
|
-
// consider this for future implementation: text changes are in general not to be regarded => meaning always to pass through
|
|
66
|
-
const lastChange = getLastChange(child.attrs.dataTracked);
|
|
67
|
-
// for the cases when we change attributes we need to pick oldAttributes if the last change is reject.
|
|
68
|
-
// The oldAttributes are the last attributes before the rejected change
|
|
69
|
-
// so they represent current real values
|
|
70
|
-
if (lastChange.status == track_changes_plugin_1.CHANGE_STATUS.rejected &&
|
|
71
|
-
lastChange.operation == track_changes_plugin_1.CHANGE_OPERATION.set_node_attributes) {
|
|
72
|
-
// please notate that since we work on a copy of a document that is not active it is fine to assign readonly attributes
|
|
73
|
-
// @ts-ignore
|
|
74
|
-
child.attrs = deepCloneAttrs(lastChange.oldAttrs);
|
|
75
|
-
return true;
|
|
76
|
-
}
|
|
77
|
-
// removing all the deleted nodes
|
|
78
|
-
if (lastChange.operation == track_changes_plugin_1.CHANGE_OPERATION.delete &&
|
|
79
|
-
lastChange.status !== track_changes_plugin_1.CHANGE_STATUS.rejected) {
|
|
80
|
-
return false;
|
|
81
|
-
}
|
|
82
|
-
// removing supplement nodes in case insert rejected,
|
|
83
|
-
// not sure if we will need to do it for other nodes
|
|
84
|
-
if (child.type === 'supplement' &&
|
|
85
|
-
lastChange.operation == track_changes_plugin_1.CHANGE_OPERATION.insert &&
|
|
86
|
-
lastChange.status === track_changes_plugin_1.CHANGE_STATUS.rejected) {
|
|
87
|
-
return false;
|
|
88
|
-
}
|
|
89
|
-
// @ts-ignore
|
|
90
|
-
child.attrs = deepCloneAttrs(child.attrs) || {}; // @TODO: needs refactoring, in case when there is a dataTracked attribute, we deep copy attributes 2 times.
|
|
91
|
-
return true;
|
|
92
|
-
});
|
|
93
|
-
parent.content.forEach((child) => cleanNode(child));
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
cleanNode(cleanDoc);
|
|
97
|
-
return cleanDoc;
|
|
98
|
-
};
|
|
99
|
-
exports.adaptTrackedData = adaptTrackedData;
|
|
100
|
-
//# sourceMappingURL=adapt-tracked-data.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adapt-tracked-data.js","sourceRoot":"","sources":["../../../src/tracked-models/adapt-tracked-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*!
|
|
3
|
-
* 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.
|
|
4
|
-
*
|
|
5
|
-
* 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.
|
|
6
|
-
*
|
|
7
|
-
* The Original Code is manuscripts-frontend.
|
|
8
|
-
*
|
|
9
|
-
* The Original Developer is the Initial Developer. The Initial Developer of the Original Code is Atypon Systems LLC.
|
|
10
|
-
*
|
|
11
|
-
* All portions of the code written by Atypon Systems LLC are Copyright (c) 2019 Atypon Systems LLC. All Rights Reserved.
|
|
12
|
-
*/
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.deleteSupplementNode = exports.createSupplementNode = exports.deleteComment = exports.saveComment = exports.createAffiliationNode = exports.createContributorNode = void 0;
|
|
15
|
-
const body_editor_1 = require("@manuscripts/body-editor");
|
|
16
|
-
const track_changes_plugin_1 = require("@manuscripts/track-changes-plugin");
|
|
17
|
-
const transform_1 = require("@manuscripts/transform");
|
|
18
|
-
const createContributorNode = (model, view, doc, state) => {
|
|
19
|
-
const { tr } = state;
|
|
20
|
-
doc.descendants((node, pos) => {
|
|
21
|
-
if (node.type === transform_1.schema.nodes.contributors) {
|
|
22
|
-
tr.insert(pos + 1, transform_1.schema.nodes.contributor.create({
|
|
23
|
-
...model,
|
|
24
|
-
id: model._id,
|
|
25
|
-
}, transform_1.schema.text('_')
|
|
26
|
-
/*
|
|
27
|
-
quarterback as it is now works incorrectly with empty nodes and updating attributes on them is misinterpreted as deletion.
|
|
28
|
-
We either need to update quarterback to work correctly with empty nodes attributes or provide some content for these nodes or
|
|
29
|
-
implement a mechanism that would detect attributes updates on empty nodes and setMeta as we do for metaNodes
|
|
30
|
-
*/
|
|
31
|
-
));
|
|
32
|
-
view.dispatch(tr);
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
};
|
|
37
|
-
exports.createContributorNode = createContributorNode;
|
|
38
|
-
const createAffiliationNode = (model, view, doc, state) => {
|
|
39
|
-
const { tr } = state;
|
|
40
|
-
doc.descendants((node, pos) => {
|
|
41
|
-
if (node.type === transform_1.schema.nodes.affiliations) {
|
|
42
|
-
tr.insert(pos + node.nodeSize - 1, transform_1.schema.nodes.affiliation.create({
|
|
43
|
-
...model,
|
|
44
|
-
id: model._id,
|
|
45
|
-
}, transform_1.schema.text('_')));
|
|
46
|
-
view.dispatch(tr);
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
};
|
|
51
|
-
exports.createAffiliationNode = createAffiliationNode;
|
|
52
|
-
const saveComment = (comment, view, doc, state, modelMap) => {
|
|
53
|
-
const documentComment = {
|
|
54
|
-
id: comment._id,
|
|
55
|
-
contents: comment.contents,
|
|
56
|
-
target: comment.target,
|
|
57
|
-
selector: comment.selector,
|
|
58
|
-
contributions: comment.contributions,
|
|
59
|
-
resolved: comment.resolved,
|
|
60
|
-
originalText: comment.originalText,
|
|
61
|
-
};
|
|
62
|
-
const isNewComment = !modelMap.has(comment._id);
|
|
63
|
-
const { tr } = state;
|
|
64
|
-
doc.descendants((node, pos) => {
|
|
65
|
-
if (isNewComment) {
|
|
66
|
-
/** for new comments will add comment node to the comment list node
|
|
67
|
-
* */
|
|
68
|
-
if (node.type === transform_1.schema.nodes.comments) {
|
|
69
|
-
(0, track_changes_plugin_1.skipTracking)(tr.replaceWith(pos, pos + node.nodeSize, node.content.addToEnd(transform_1.schema.nodes.comment.create(documentComment))));
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
if (node.attrs.id === comment._id && node.type === transform_1.schema.nodes.comment) {
|
|
75
|
-
(0, track_changes_plugin_1.skipTracking)(tr.setNodeMarkup(pos, undefined, {
|
|
76
|
-
...documentComment,
|
|
77
|
-
}));
|
|
78
|
-
return false;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
(0, body_editor_1.clearCommentSelection)(tr);
|
|
83
|
-
view.dispatch(tr);
|
|
84
|
-
return Promise.resolve(comment);
|
|
85
|
-
};
|
|
86
|
-
exports.saveComment = saveComment;
|
|
87
|
-
const deleteComment = (comment, view, doc, state) => {
|
|
88
|
-
const { tr } = state;
|
|
89
|
-
doc.descendants((node, pos) => {
|
|
90
|
-
if (node.attrs.id === comment._id && node.type === transform_1.schema.nodes.comment) {
|
|
91
|
-
tr.delete(pos, pos + node.nodeSize);
|
|
92
|
-
tr.setMeta('track-changes-skip-tracking', true);
|
|
93
|
-
(0, body_editor_1.clearCommentSelection)(tr);
|
|
94
|
-
view.dispatch(tr);
|
|
95
|
-
return false;
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
return Promise.resolve(comment._id);
|
|
99
|
-
};
|
|
100
|
-
exports.deleteComment = deleteComment;
|
|
101
|
-
const createSupplementNode = (view, supplement) => {
|
|
102
|
-
view.state.doc.descendants((node, pos) => {
|
|
103
|
-
if (node.type === transform_1.schema.nodes.supplements) {
|
|
104
|
-
view.dispatch(view.state.tr.insert(pos + node.nodeSize - 1, transform_1.schema.nodes.supplement.create({
|
|
105
|
-
id: supplement._id,
|
|
106
|
-
href: supplement.href,
|
|
107
|
-
mimeType: supplement.MIME?.split('/')[0],
|
|
108
|
-
mimeSubType: supplement.MIME?.split('/')[1],
|
|
109
|
-
title: supplement.title,
|
|
110
|
-
})));
|
|
111
|
-
return false;
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
return Promise.resolve(supplement);
|
|
115
|
-
};
|
|
116
|
-
exports.createSupplementNode = createSupplementNode;
|
|
117
|
-
const deleteSupplementNode = (view, supplement) => {
|
|
118
|
-
const tr = view.state.tr;
|
|
119
|
-
tr.doc.descendants((node, pos) => {
|
|
120
|
-
if (node.type === transform_1.schema.nodes.supplement &&
|
|
121
|
-
supplement._id === node.attrs.id) {
|
|
122
|
-
tr.delete(pos, pos + node.nodeSize);
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
|
-
view.dispatch(tr);
|
|
126
|
-
return Promise.resolve(supplement);
|
|
127
|
-
};
|
|
128
|
-
exports.deleteSupplementNode = deleteSupplementNode;
|
|
129
|
-
//# sourceMappingURL=creators.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"creators.js","sourceRoot":"","sources":["../../../src/tracked-models/creators.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*!
|
|
3
|
-
* 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.
|
|
4
|
-
*
|
|
5
|
-
* 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.
|
|
6
|
-
*
|
|
7
|
-
* The Original Code is manuscripts-frontend.
|
|
8
|
-
*
|
|
9
|
-
* The Original Developer is the Initial Developer. The Initial Developer of the Original Code is Atypon Systems LLC.
|
|
10
|
-
*
|
|
11
|
-
* All portions of the code written by Atypon Systems LLC are Copyright (c) 2019 Atypon Systems LLC. All Rights Reserved.
|
|
12
|
-
*/
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
const json_schema_1 = require("@manuscripts/json-schema");
|
|
15
|
-
const transform_1 = require("@manuscripts/transform");
|
|
16
|
-
const react_1 = require("react");
|
|
17
|
-
const node_attrs_1 = require("../lib/node-attrs");
|
|
18
|
-
const store_1 = require("../store");
|
|
19
|
-
const adapt_tracked_data_1 = require("./adapt-tracked-data");
|
|
20
|
-
const creators_1 = require("./creators");
|
|
21
|
-
const useTrackedModelManagement = (doc, view, state, dispatch, saveModel, deleteModel, finalModelMap) => {
|
|
22
|
-
const modelMap = (0, react_1.useMemo)(() => {
|
|
23
|
-
const adaptedDoc = (0, adapt_tracked_data_1.adaptTrackedData)(doc.toJSON());
|
|
24
|
-
return (0, transform_1.encode)(transform_1.schema.nodeFromJSON(adaptedDoc));
|
|
25
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
26
|
-
}, [doc, finalModelMap]);
|
|
27
|
-
const [, dispatchStore] = (0, store_1.useStore)();
|
|
28
|
-
const saveCommentNode = (0, react_1.useCallback)((comment, view) => (0, creators_1.saveComment)(comment, view, doc, state, modelMap), [doc, modelMap, state]);
|
|
29
|
-
const deleteCommentNode = (0, react_1.useCallback)((comment, view) => (0, creators_1.deleteComment)(comment, view, doc, state), [doc, state]);
|
|
30
|
-
const saveTrackModel = (0, react_1.useCallback)((model) => {
|
|
31
|
-
if (!view) {
|
|
32
|
-
throw Error('View not available');
|
|
33
|
-
}
|
|
34
|
-
if (model.objectType === json_schema_1.ObjectTypes.CommentAnnotation) {
|
|
35
|
-
return saveCommentNode(model, view);
|
|
36
|
-
}
|
|
37
|
-
if (model.objectType === json_schema_1.ObjectTypes.Supplement) {
|
|
38
|
-
return (0, creators_1.createSupplementNode)(view, model);
|
|
39
|
-
}
|
|
40
|
-
if (model._id) {
|
|
41
|
-
const currentModel = modelMap.get(model._id);
|
|
42
|
-
if (currentModel) {
|
|
43
|
-
modelMap.set(model._id, { ...currentModel, ...model });
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
modelMap.set(model._id, model);
|
|
47
|
-
}
|
|
48
|
-
let foundInDoc = false;
|
|
49
|
-
if (view) {
|
|
50
|
-
doc.descendants((node, pos) => {
|
|
51
|
-
if (node.attrs.id === model._id) {
|
|
52
|
-
const decoder = new transform_1.Decoder(modelMap, true); // as node ids are unique it will always occur just once (or never) so it's safe to keep in the loop
|
|
53
|
-
const newDoc = decoder.createArticleNode();
|
|
54
|
-
newDoc.descendants((newNode, pos) => {
|
|
55
|
-
if (newNode.attrs.id === node.attrs.id) {
|
|
56
|
-
(0, node_attrs_1.setNodeAttrs)(view.state, view.dispatch, node.attrs.id, {
|
|
57
|
-
...newNode.attrs,
|
|
58
|
-
id: node.attrs.id,
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
foundInDoc = true;
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
if (!foundInDoc) {
|
|
67
|
-
if (model.objectType === json_schema_1.ObjectTypes.Contributor) {
|
|
68
|
-
(0, creators_1.createContributorNode)(model, view, doc, state);
|
|
69
|
-
}
|
|
70
|
-
else if (model.objectType === json_schema_1.ObjectTypes.Affiliation) {
|
|
71
|
-
(0, creators_1.createAffiliationNode)(model, view, doc, state);
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
// ...that is if there is no node in the prosemirror doc for that id,
|
|
75
|
-
// that update final model.
|
|
76
|
-
// This is needed until we move all the data into prosemirror
|
|
77
|
-
saveModel(model);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return Promise.resolve(model);
|
|
82
|
-
},
|
|
83
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
84
|
-
[modelMap, saveModel, doc, view]);
|
|
85
|
-
const deleteTrackModel = (0, react_1.useCallback)((id) => {
|
|
86
|
-
if (!view) {
|
|
87
|
-
throw Error('View not available');
|
|
88
|
-
}
|
|
89
|
-
if (modelMap.get(id)?.objectType === json_schema_1.ObjectTypes.CommentAnnotation) {
|
|
90
|
-
return deleteCommentNode(modelMap.get(id), view);
|
|
91
|
-
}
|
|
92
|
-
if (modelMap.get(id)?.objectType === json_schema_1.ObjectTypes.Supplement) {
|
|
93
|
-
return (0, creators_1.deleteSupplementNode)(view, modelMap.get(id));
|
|
94
|
-
}
|
|
95
|
-
if (modelMap.has(id)) {
|
|
96
|
-
doc.descendants((node, pos) => {
|
|
97
|
-
if (node.attrs.id === id) {
|
|
98
|
-
const { tr } = state;
|
|
99
|
-
tr.delete(pos, pos + node.nodeSize);
|
|
100
|
-
dispatch(tr);
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
deleteModel(id);
|
|
106
|
-
}
|
|
107
|
-
return Promise.resolve(id);
|
|
108
|
-
},
|
|
109
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
110
|
-
[
|
|
111
|
-
modelMap,
|
|
112
|
-
deleteCommentNode,
|
|
113
|
-
doc,
|
|
114
|
-
view,
|
|
115
|
-
state,
|
|
116
|
-
dispatch,
|
|
117
|
-
dispatchStore,
|
|
118
|
-
deleteModel,
|
|
119
|
-
]);
|
|
120
|
-
const getTrackModel = (0, react_1.useCallback)((id) => modelMap.get(id), [modelMap]);
|
|
121
|
-
return {
|
|
122
|
-
saveTrackModel,
|
|
123
|
-
deleteTrackModel,
|
|
124
|
-
trackModelMap: modelMap,
|
|
125
|
-
getTrackModel,
|
|
126
|
-
};
|
|
127
|
-
};
|
|
128
|
-
exports.default = useTrackedModelManagement;
|
|
129
|
-
//# sourceMappingURL=use-tracked-model-management.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-tracked-model-management.js","sourceRoot":"","sources":["../../../src/tracked-models/use-tracked-model-management.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
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
|
-
// TODO: use nullish coalescing instead
|
|
13
|
-
export const valueOrDefault = (value, defaultValue) => (value === undefined ? defaultValue : value);
|
|
14
|
-
//# sourceMappingURL=StyleFields.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StyleFields.js","sourceRoot":"","sources":["../../../../src/components/inspector/StyleFields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,uCAAuC;AACvC,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAoB,EACpB,YAAe,EACZ,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA"}
|
package/dist/es/lib/sort.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
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
|
-
export const ascendingPriority = (a, b) => Number(a.priority) - Number(b.priority);
|
|
13
|
-
//# sourceMappingURL=sort.js.map
|
package/dist/es/lib/sort.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../src/lib/sort.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,CAAoB,EACpB,CAAoB,EACZ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export default class QuarterbackDataSource {
|
|
2
|
-
constructor(loadDoc) {
|
|
3
|
-
this.build = async (state, next) => {
|
|
4
|
-
if (state.projectID && state.manuscriptID) {
|
|
5
|
-
const res = await this.loadDoc(state.manuscriptID, state.projectID, state.doc);
|
|
6
|
-
if (res?.doc && res.version >= 0) {
|
|
7
|
-
next({
|
|
8
|
-
...state,
|
|
9
|
-
doc: res.doc,
|
|
10
|
-
initialDocVersion: res.version,
|
|
11
|
-
snapshots: res.snapshots,
|
|
12
|
-
snapshotsMap: new Map(),
|
|
13
|
-
});
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
next({
|
|
18
|
-
...state,
|
|
19
|
-
snapshots: [],
|
|
20
|
-
snapshotsMap: new Map(),
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
this.loadDoc = loadDoc;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=QuarterBackDataSource.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QuarterBackDataSource.js","sourceRoot":"","sources":["../../../src/quarterback/QuarterBackDataSource.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,OAAO,OAAO,qBAAqB;IAaxC,YAAY,OAAyC;QAGrD,UAAK,GAAc,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACvC,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,YAAY,EAAE;gBACzC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAC5B,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,GAAG,CACV,CAAA;gBACD,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,EAAE;oBAChC,IAAI,CAAC;wBACH,GAAG,KAAK;wBACR,GAAG,EAAE,GAAG,CAAC,GAAG;wBACZ,iBAAiB,EAAE,GAAG,CAAC,OAAO;wBAC9B,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,YAAY,EAAE,IAAI,GAAG,EAA8B;qBACpD,CAAC,CAAA;oBACF,OAAM;iBACP;aACF;YACD,IAAI,CAAC;gBACH,GAAG,KAAK;gBACR,SAAS,EAAE,EAAE;gBACb,YAAY,EAAE,IAAI,GAAG,EAA8B;aACpD,CAAC,CAAA;QACJ,CAAC,CAAA;QAzBC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;CAyBF"}
|
|
@@ -1,95 +0,0 @@
|
|
|
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 { CHANGE_OPERATION, CHANGE_STATUS, } from '@manuscripts/track-changes-plugin';
|
|
13
|
-
const hasTrackingData = (node) => {
|
|
14
|
-
return !!node?.attrs?.dataTracked;
|
|
15
|
-
};
|
|
16
|
-
export const filterNodesWithTrackingData = (node) => {
|
|
17
|
-
const cleanDoc = Object.assign({}, node);
|
|
18
|
-
const cleanNode = (parent) => {
|
|
19
|
-
if (parent.content) {
|
|
20
|
-
parent.content = parent.content.filter((child) => !hasTrackingData(child));
|
|
21
|
-
parent.content.forEach((child) => cleanNode(child));
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
cleanNode(cleanDoc);
|
|
25
|
-
return cleanDoc;
|
|
26
|
-
};
|
|
27
|
-
const getLastChange = (changes) => {
|
|
28
|
-
return [...changes].sort((a, b) => b.updatedAt - a.updatedAt)[0];
|
|
29
|
-
};
|
|
30
|
-
export const adaptTrackedData = (docJSONed) => {
|
|
31
|
-
const cleanDoc = Object.assign({}, docJSONed);
|
|
32
|
-
function deepCloneAttrs(object) {
|
|
33
|
-
if (typeof object !== 'object' || object === null) {
|
|
34
|
-
return object;
|
|
35
|
-
}
|
|
36
|
-
const copy = Array.isArray(object) ? [] : {};
|
|
37
|
-
for (const at in object) {
|
|
38
|
-
const deeperClone = deepCloneAttrs(object[at]);
|
|
39
|
-
if (Array.isArray(object)) {
|
|
40
|
-
// @ts-ignore
|
|
41
|
-
copy.push(deeperClone);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
// @ts-ignore
|
|
45
|
-
copy[at] = deeperClone;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return copy;
|
|
49
|
-
}
|
|
50
|
-
const cleanNode = (parent) => {
|
|
51
|
-
parent.attrs = deepCloneAttrs(parent.attrs);
|
|
52
|
-
// Prosemirror's Node.toJSON() references attributes so they have to be cloned to avoid disaster.
|
|
53
|
-
// It must be done before content check for the nodes like figures
|
|
54
|
-
if (parent.content) {
|
|
55
|
-
parent.content = parent.content.filter((child) => {
|
|
56
|
-
// the type is wrong. we get JSON and not the doc
|
|
57
|
-
// pass through all the nodes with no track changes at all
|
|
58
|
-
if (!child?.attrs?.dataTracked) {
|
|
59
|
-
return true;
|
|
60
|
-
}
|
|
61
|
-
// consider this for future implementation: text changes are in general not to be regarded => meaning always to pass through
|
|
62
|
-
const lastChange = getLastChange(child.attrs.dataTracked);
|
|
63
|
-
// for the cases when we change attributes we need to pick oldAttributes if the last change is reject.
|
|
64
|
-
// The oldAttributes are the last attributes before the rejected change
|
|
65
|
-
// so they represent current real values
|
|
66
|
-
if (lastChange.status == CHANGE_STATUS.rejected &&
|
|
67
|
-
lastChange.operation == CHANGE_OPERATION.set_node_attributes) {
|
|
68
|
-
// please notate that since we work on a copy of a document that is not active it is fine to assign readonly attributes
|
|
69
|
-
// @ts-ignore
|
|
70
|
-
child.attrs = deepCloneAttrs(lastChange.oldAttrs);
|
|
71
|
-
return true;
|
|
72
|
-
}
|
|
73
|
-
// removing all the deleted nodes
|
|
74
|
-
if (lastChange.operation == CHANGE_OPERATION.delete &&
|
|
75
|
-
lastChange.status !== CHANGE_STATUS.rejected) {
|
|
76
|
-
return false;
|
|
77
|
-
}
|
|
78
|
-
// removing supplement nodes in case insert rejected,
|
|
79
|
-
// not sure if we will need to do it for other nodes
|
|
80
|
-
if (child.type === 'supplement' &&
|
|
81
|
-
lastChange.operation == CHANGE_OPERATION.insert &&
|
|
82
|
-
lastChange.status === CHANGE_STATUS.rejected) {
|
|
83
|
-
return false;
|
|
84
|
-
}
|
|
85
|
-
// @ts-ignore
|
|
86
|
-
child.attrs = deepCloneAttrs(child.attrs) || {}; // @TODO: needs refactoring, in case when there is a dataTracked attribute, we deep copy attributes 2 times.
|
|
87
|
-
return true;
|
|
88
|
-
});
|
|
89
|
-
parent.content.forEach((child) => cleanNode(child));
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
cleanNode(cleanDoc);
|
|
93
|
-
return cleanDoc;
|
|
94
|
-
};
|
|
95
|
-
//# sourceMappingURL=adapt-tracked-data.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adapt-tracked-data.js","sourceRoot":"","sources":["../../../src/tracked-models/adapt-tracked-data.ts"],"names":[],"mappings":"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"}
|