@manuscripts/article-editor 3.2.13-LEAN-2165.0 → 3.2.13
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 +22 -11
- package/dist/cjs/EditorApp.js.map +1 -1
- package/dist/cjs/api/Api.js +168 -0
- package/dist/cjs/api/Api.js.map +1 -0
- package/dist/cjs/{postgres-data/PsSource.js → api/ApiSource.js} +17 -36
- package/dist/cjs/api/ApiSource.js.map +1 -0
- package/dist/cjs/api/StepsExchanger.js +99 -0
- package/dist/cjs/api/StepsExchanger.js.map +1 -0
- package/dist/cjs/api/buildData.js +66 -0
- package/dist/cjs/api/buildData.js.map +1 -0
- package/dist/cjs/{postgres-data → api}/buildUtilities.js +6 -12
- package/dist/cjs/api/buildUtilities.js.map +1 -0
- package/dist/cjs/api/savingUtilities.js.map +1 -0
- package/dist/{es/lib/api/index.js → cjs/api/types.js} +4 -3
- package/dist/cjs/api/types.js.map +1 -0
- package/dist/cjs/components/inspector/SnapshotsDropdown.js +54 -58
- package/dist/cjs/components/inspector/SnapshotsDropdown.js.map +1 -1
- package/dist/cjs/components/projects/ManuscriptPageContainer.js +0 -1
- package/dist/cjs/components/projects/ManuscriptPageContainer.js.map +1 -1
- package/dist/cjs/hooks/use-connect-editor.js +1 -1
- package/dist/cjs/hooks/use-connect-editor.js.map +1 -1
- package/dist/cjs/hooks/use-create-editor.js +19 -14
- package/dist/cjs/hooks/use-create-editor.js.map +1 -1
- package/dist/cjs/{quarterback/getDocWithoutTrackContent.js → lib/doc.js} +7 -8
- package/dist/cjs/lib/doc.js.map +1 -0
- package/dist/cjs/store/DataSourceStrategy.js +3 -11
- package/dist/cjs/store/DataSourceStrategy.js.map +1 -1
- package/dist/cjs/store/Store.js.map +1 -1
- package/dist/es/EditorApp.js +23 -12
- package/dist/es/EditorApp.js.map +1 -1
- package/dist/es/api/Api.js +160 -0
- package/dist/es/api/Api.js.map +1 -0
- package/dist/es/{postgres-data/PsSource.js → api/ApiSource.js} +15 -32
- package/dist/es/api/ApiSource.js.map +1 -0
- package/dist/es/api/StepsExchanger.js +94 -0
- package/dist/es/api/StepsExchanger.js.map +1 -0
- package/dist/es/api/buildData.js +62 -0
- package/dist/es/api/buildData.js.map +1 -0
- package/dist/es/{postgres-data → api}/buildUtilities.js +6 -12
- package/dist/es/api/buildUtilities.js.map +1 -0
- package/dist/es/api/savingUtilities.js.map +1 -0
- package/dist/{types/lib/api/index.d.ts → es/api/types.js} +3 -2
- package/dist/es/api/types.js.map +1 -0
- package/dist/es/components/inspector/SnapshotsDropdown.js +32 -59
- package/dist/es/components/inspector/SnapshotsDropdown.js.map +1 -1
- package/dist/es/components/projects/ManuscriptPageContainer.js +0 -1
- package/dist/es/components/projects/ManuscriptPageContainer.js.map +1 -1
- package/dist/es/hooks/use-connect-editor.js +1 -1
- package/dist/es/hooks/use-connect-editor.js.map +1 -1
- package/dist/es/hooks/use-create-editor.js +19 -14
- package/dist/es/hooks/use-create-editor.js.map +1 -1
- package/dist/es/{quarterback/getDocWithoutTrackContent.js → lib/doc.js} +6 -6
- package/dist/es/lib/doc.js.map +1 -0
- package/dist/es/store/DataSourceStrategy.js +3 -11
- package/dist/es/store/DataSourceStrategy.js.map +1 -1
- package/dist/es/store/Store.js.map +1 -1
- package/dist/types/{postgres-data → api}/Api.d.ts +17 -6
- package/dist/types/{postgres-data/PsSource.d.ts → api/ApiSource.d.ts} +4 -5
- package/dist/types/{quarterback/QuarterbackStepsExchanger.d.ts → api/StepsExchanger.d.ts} +19 -21
- package/dist/types/api/buildData.d.ts +2 -0
- package/dist/types/{postgres-data → api}/buildUtilities.d.ts +1 -1
- package/dist/types/{quarterback/api/loadDoc.d.ts → api/types.d.ts} +23 -6
- package/dist/types/lib/doc.d.ts +17 -0
- package/dist/types/store/DataSourceStrategy.d.ts +2 -5
- package/dist/types/store/Store.d.ts +5 -13
- package/package.json +2 -3
- package/dist/cjs/lib/api/collaboration.js +0 -25
- package/dist/cjs/lib/api/collaboration.js.map +0 -1
- package/dist/cjs/lib/api/index.js +0 -29
- package/dist/cjs/lib/api/index.js.map +0 -1
- package/dist/cjs/postgres-data/Api.js +0 -83
- package/dist/cjs/postgres-data/Api.js.map +0 -1
- package/dist/cjs/postgres-data/PsSource.js.map +0 -1
- package/dist/cjs/postgres-data/buildData.js +0 -85
- package/dist/cjs/postgres-data/buildData.js.map +0 -1
- package/dist/cjs/postgres-data/buildUtilities.js.map +0 -1
- package/dist/cjs/postgres-data/savingUtilities.js.map +0 -1
- package/dist/cjs/quarterback/QuarterbackStepsExchanger.js +0 -145
- package/dist/cjs/quarterback/QuarterbackStepsExchanger.js.map +0 -1
- package/dist/cjs/quarterback/api/document.js +0 -43
- package/dist/cjs/quarterback/api/document.js.map +0 -1
- package/dist/cjs/quarterback/api/loadDoc.js +0 -108
- package/dist/cjs/quarterback/api/loadDoc.js.map +0 -1
- package/dist/cjs/quarterback/api/methods.js +0 -147
- package/dist/cjs/quarterback/api/methods.js.map +0 -1
- package/dist/cjs/quarterback/getDocWithoutTrackContent.js.map +0 -1
- package/dist/cjs/quarterback/types.js +0 -3
- package/dist/cjs/quarterback/types.js.map +0 -1
- package/dist/es/lib/api/collaboration.js +0 -18
- package/dist/es/lib/api/collaboration.js.map +0 -1
- package/dist/es/lib/api/index.js.map +0 -1
- package/dist/es/postgres-data/Api.js +0 -77
- package/dist/es/postgres-data/Api.js.map +0 -1
- package/dist/es/postgres-data/PsSource.js.map +0 -1
- package/dist/es/postgres-data/buildData.js +0 -81
- package/dist/es/postgres-data/buildData.js.map +0 -1
- package/dist/es/postgres-data/buildUtilities.js.map +0 -1
- package/dist/es/postgres-data/savingUtilities.js.map +0 -1
- package/dist/es/quarterback/QuarterbackStepsExchanger.js +0 -118
- package/dist/es/quarterback/QuarterbackStepsExchanger.js.map +0 -1
- package/dist/es/quarterback/api/document.js +0 -32
- package/dist/es/quarterback/api/document.js.map +0 -1
- package/dist/es/quarterback/api/loadDoc.js +0 -81
- package/dist/es/quarterback/api/loadDoc.js.map +0 -1
- package/dist/es/quarterback/api/methods.js +0 -137
- package/dist/es/quarterback/api/methods.js.map +0 -1
- package/dist/es/quarterback/getDocWithoutTrackContent.js.map +0 -1
- package/dist/es/quarterback/types.js +0 -2
- package/dist/es/quarterback/types.js.map +0 -1
- package/dist/types/lib/api/collaboration.d.ts +0 -17
- package/dist/types/postgres-data/buildData.d.ts +0 -3
- package/dist/types/quarterback/api/document.d.ts +0 -20
- package/dist/types/quarterback/api/methods.d.ts +0 -38
- package/dist/types/quarterback/getDocWithoutTrackContent.d.ts +0 -3
- package/dist/types/quarterback/types.d.ts +0 -74
- /package/dist/cjs/{postgres-data → api}/savingUtilities.js +0 -0
- /package/dist/es/{postgres-data → api}/savingUtilities.js +0 -0
- /package/dist/types/{postgres-data → api}/savingUtilities.d.ts +0 -0
@@ -1,147 +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) 2022 Atypon Systems LLC. All Rights Reserved.
|
12
|
-
*/
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
14
|
-
exports.listen = exports.del = exports.put = exports.post = exports.get = exports.wrappedFetch = exports.getAuthHeader = exports.DEFAULT_HEADERS = void 0;
|
15
|
-
const config_1 = require("../../config");
|
16
|
-
exports.DEFAULT_HEADERS = {
|
17
|
-
Accept: 'application/json',
|
18
|
-
'Content-Type': 'application/json',
|
19
|
-
};
|
20
|
-
function getAuthHeader(authToken) {
|
21
|
-
return authToken && { Authorization: `Bearer ${authToken}` };
|
22
|
-
}
|
23
|
-
exports.getAuthHeader = getAuthHeader;
|
24
|
-
async function wrappedFetch(path, options, defaultError = 'Request failed') {
|
25
|
-
let resp;
|
26
|
-
const config = (0, config_1.getConfig)();
|
27
|
-
try {
|
28
|
-
resp = await fetch(`${config.api.url}/${path}`, options);
|
29
|
-
}
|
30
|
-
catch (err) {
|
31
|
-
// Must be a connection error (?)
|
32
|
-
console.error(err);
|
33
|
-
return { err: 'Connection error', code: 550 };
|
34
|
-
}
|
35
|
-
let data;
|
36
|
-
const contentType = resp.headers.get('Content-Type');
|
37
|
-
if (!contentType || contentType.includes('application/json')) {
|
38
|
-
data = await resp.json();
|
39
|
-
}
|
40
|
-
else if (contentType.includes('application/octet-stream')) {
|
41
|
-
data = await resp.arrayBuffer();
|
42
|
-
}
|
43
|
-
if (!resp.ok) {
|
44
|
-
console.error(data?.message || defaultError);
|
45
|
-
return {
|
46
|
-
err: data?.message || defaultError,
|
47
|
-
code: resp.status,
|
48
|
-
};
|
49
|
-
}
|
50
|
-
return { data };
|
51
|
-
}
|
52
|
-
exports.wrappedFetch = wrappedFetch;
|
53
|
-
function get(path, authToken, defaultError, headers = {
|
54
|
-
...exports.DEFAULT_HEADERS,
|
55
|
-
...getAuthHeader(authToken),
|
56
|
-
}) {
|
57
|
-
return wrappedFetch(path, {
|
58
|
-
method: 'GET',
|
59
|
-
headers,
|
60
|
-
}, defaultError);
|
61
|
-
}
|
62
|
-
exports.get = get;
|
63
|
-
function post(path, authToken, payload, defaultError, headers = {
|
64
|
-
...exports.DEFAULT_HEADERS,
|
65
|
-
...getAuthHeader(authToken),
|
66
|
-
}) {
|
67
|
-
return wrappedFetch(path, {
|
68
|
-
method: 'POST',
|
69
|
-
headers,
|
70
|
-
body: JSON.stringify(payload),
|
71
|
-
}, defaultError);
|
72
|
-
}
|
73
|
-
exports.post = post;
|
74
|
-
function put(path, authToken, payload, defaultError, headers = {
|
75
|
-
...exports.DEFAULT_HEADERS,
|
76
|
-
...getAuthHeader(authToken),
|
77
|
-
}) {
|
78
|
-
return wrappedFetch(path, {
|
79
|
-
method: 'PUT',
|
80
|
-
headers,
|
81
|
-
body: JSON.stringify(payload),
|
82
|
-
}, defaultError);
|
83
|
-
}
|
84
|
-
exports.put = put;
|
85
|
-
function del(path, authToken, defaultError, headers = {
|
86
|
-
...exports.DEFAULT_HEADERS,
|
87
|
-
...getAuthHeader(authToken),
|
88
|
-
}) {
|
89
|
-
return wrappedFetch(path, {
|
90
|
-
method: 'DELETE',
|
91
|
-
headers,
|
92
|
-
}, defaultError);
|
93
|
-
}
|
94
|
-
exports.del = del;
|
95
|
-
async function listen(path, listener) {
|
96
|
-
const config = (0, config_1.getConfig)();
|
97
|
-
let ws;
|
98
|
-
const reconnectDelay = 1500;
|
99
|
-
const onOpen = async () => {
|
100
|
-
console.log('WebSocket Connection Opened Ok');
|
101
|
-
};
|
102
|
-
const onClose = (event) => {
|
103
|
-
console.warn('WebSocket closed, reconnecting:', event.code, event.reason);
|
104
|
-
closeWebSocket();
|
105
|
-
rejoin();
|
106
|
-
};
|
107
|
-
const onError = (event) => {
|
108
|
-
console.error('WebSocket error, reconnecting:', event);
|
109
|
-
closeWebSocket();
|
110
|
-
rejoin();
|
111
|
-
};
|
112
|
-
const closeWebSocket = () => {
|
113
|
-
try {
|
114
|
-
ws.removeEventListener('open', onOpen);
|
115
|
-
ws.removeEventListener('message', listener);
|
116
|
-
ws.removeEventListener('close', onClose);
|
117
|
-
ws.removeEventListener('error', onError);
|
118
|
-
ws.close();
|
119
|
-
}
|
120
|
-
catch (error) {
|
121
|
-
console.error('Error closing websocket', error);
|
122
|
-
}
|
123
|
-
};
|
124
|
-
const rejoin = () => {
|
125
|
-
if (ws) {
|
126
|
-
closeWebSocket();
|
127
|
-
}
|
128
|
-
setTimeout(join, reconnectDelay);
|
129
|
-
};
|
130
|
-
const join = () => {
|
131
|
-
const wsUrl = `${config.api.url.replace('http', 'ws')}/${path}`;
|
132
|
-
try {
|
133
|
-
ws = new WebSocket(wsUrl);
|
134
|
-
ws.addEventListener('open', onOpen);
|
135
|
-
ws.addEventListener('message', listener);
|
136
|
-
ws.addEventListener('close', onClose);
|
137
|
-
ws.addEventListener('error', onError);
|
138
|
-
}
|
139
|
-
catch (error) {
|
140
|
-
rejoin();
|
141
|
-
}
|
142
|
-
};
|
143
|
-
window.addEventListener('beforeunload', closeWebSocket);
|
144
|
-
join();
|
145
|
-
}
|
146
|
-
exports.listen = listen;
|
147
|
-
//# sourceMappingURL=methods.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../../src/quarterback/api/methods.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"getDocWithoutTrackContent.js","sourceRoot":"","sources":["../../../src/quarterback/getDocWithoutTrackContent.ts"],"names":[],"mappings":";;;AAcA,SAAgB,sBAAsB,CAAC,IAAoB;IACzD,MAAM,CAAC,GAAqB,EAAE,CAAA;IAC9B,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;QACvB,MAAM,EAAE,GAAiC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAA;QACtE,IACE,KAAK,CAAC,MAAM;YACZ,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,KAAK,SAAS,EACvE;YACA,CAAC,CAAC,IAAI,CACJ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACpB,KAAK,CAAC,IAAI,IAAI,EAAE,EAChB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAC5D,CACF,CAAA;SACF;aAAM,IAAI,EAAE,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC3C,CAAC,CAAC,IAAI,CACJ,KAAK,CAAC,IAAI,CAAC,MAAM,CACf,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,EAC/B,sBAAsB,CAAC,KAAK,CAAC,EAC7B,KAAK,CAAC,KAAK,CACZ,CACF,CAAA;SACF;IACH,CAAC,CAAC,CAAA;IACF,OAAO,CAAC,CAAA;AACV,CAAC;AA1BD,wDA0BC;AAED,SAAgB,yBAAyB,CAAC,KAA4B;IACpE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAA;IACrB,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,sBAAsB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;AAC3E,CAAC;AAHD,8DAGC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/quarterback/types.ts"],"names":[],"mappings":""}
|
@@ -1,18 +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 client from '../client';
|
13
|
-
export const projectInvite = (projectID, invitedUsers, role, message = 'message') => client.post(`/invitation/${encodeURIComponent(projectID)}/invite`, {
|
14
|
-
invitedUsers,
|
15
|
-
role,
|
16
|
-
message,
|
17
|
-
});
|
18
|
-
//# sourceMappingURL=collaboration.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"collaboration.js","sourceRoot":"","sources":["../../../../src/lib/api/collaboration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,MAAM,MAAM,WAAW,CAAA;AAO9B,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,SAAiB,EACjB,YAA2B,EAC3B,IAAY,EACZ,OAAO,GAAG,SAAS,EACnB,EAAE,CACF,MAAM,CAAC,IAAI,CAAC,eAAe,kBAAkB,CAAC,SAAS,CAAC,SAAS,EAAE;IACjE,YAAY;IACZ,IAAI;IACJ,OAAO;CACR,CAAC,CAAA"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,cAAc,iBAAiB,CAAA"}
|
@@ -1,77 +0,0 @@
|
|
1
|
-
import axios from 'axios';
|
2
|
-
import { getConfig } from '../config';
|
3
|
-
export default class Api {
|
4
|
-
constructor() {
|
5
|
-
this.setToken = (token) => {
|
6
|
-
const config = getConfig();
|
7
|
-
this.instance = axios.create({
|
8
|
-
baseURL: config.api.url,
|
9
|
-
headers: { ...config.api.headers, Authorization: 'Bearer ' + token },
|
10
|
-
});
|
11
|
-
};
|
12
|
-
this.get = async (url) => {
|
13
|
-
try {
|
14
|
-
const result = await this.instance.get(url, {
|
15
|
-
headers: {
|
16
|
-
'Content-Type': 'application/json;charset=UTF-8',
|
17
|
-
},
|
18
|
-
});
|
19
|
-
return result.data;
|
20
|
-
}
|
21
|
-
catch (e) {
|
22
|
-
console.log(e);
|
23
|
-
return undefined;
|
24
|
-
}
|
25
|
-
};
|
26
|
-
this.post = async (path, data) => {
|
27
|
-
return this.instance
|
28
|
-
.post(path, data)
|
29
|
-
.then((result) => result.data)
|
30
|
-
.catch((e) => {
|
31
|
-
console.log(e);
|
32
|
-
throw e.data?.error?.message || 'Request failed';
|
33
|
-
});
|
34
|
-
};
|
35
|
-
this.delete = (url) => {
|
36
|
-
return this.instance.delete(url);
|
37
|
-
};
|
38
|
-
this.options = (url) => {
|
39
|
-
return this.instance.options(url);
|
40
|
-
};
|
41
|
-
this.put = (path, data) => {
|
42
|
-
return this.instance.put(path, data);
|
43
|
-
};
|
44
|
-
this.getUser = () => {
|
45
|
-
return this.get(`user`);
|
46
|
-
};
|
47
|
-
this.getManuscript = (containerID, manuscriptID) => this.get(`project/${containerID}/manuscript/${manuscriptID}`);
|
48
|
-
this.getSectionCategories = () => this.get('/config?id=section-categories');
|
49
|
-
this.getCSLLocale = (lang) => lang !== 'en-US' ? this.get(`/csl/locales?id=${lang}`) : undefined;
|
50
|
-
this.getTemplate = (id) => id ? this.get(`/templates?id=${id}`) : undefined;
|
51
|
-
this.getBundle = (template) => template?.bundle
|
52
|
-
? this.get(`/bundles?id=${template.bundle}`)
|
53
|
-
: undefined;
|
54
|
-
this.getCSLStyle = (bundle) => bundle?.csl?._id
|
55
|
-
? this.get(`/csl/styles?id=${bundle.csl._id}`)
|
56
|
-
: undefined;
|
57
|
-
this.getUserProfiles = (containerID) => this.get(`/project/${containerID}/userProfiles`);
|
58
|
-
this.saveProject = (projectId, models) => {
|
59
|
-
return this.put(`project/${projectId}`, { data: models });
|
60
|
-
};
|
61
|
-
this.createProject = (projectId, title) => {
|
62
|
-
return this.post(`project/${projectId}`, { title });
|
63
|
-
};
|
64
|
-
this.createSnapshot = (projectID, manuscriptID) => {
|
65
|
-
return this.post(`snapshot/${projectID}/manuscript/${manuscriptID}`, {
|
66
|
-
docID: manuscriptID,
|
67
|
-
name: new Date().toLocaleString('sv'),
|
68
|
-
});
|
69
|
-
};
|
70
|
-
const config = getConfig();
|
71
|
-
this.instance = axios.create({
|
72
|
-
baseURL: config.api.url,
|
73
|
-
headers: config.api.headers,
|
74
|
-
});
|
75
|
-
}
|
76
|
-
}
|
77
|
-
//# sourceMappingURL=Api.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"Api.js","sourceRoot":"","sources":["../../../src/postgres-data/Api.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
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,GAAgB,CAAC,KAAY,EAAE,EAAE;YAC1C,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"}
|
@@ -1,81 +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 { ObjectTypes, } from '@manuscripts/json-schema';
|
13
|
-
import { getUserRole } from '../lib/roles';
|
14
|
-
import { TokenData } from '../store/TokenData';
|
15
|
-
const getIdModels = async (api, projectID, manuscriptID) => {
|
16
|
-
const models = await api.getManuscript(projectID, manuscriptID);
|
17
|
-
let project;
|
18
|
-
let manuscript;
|
19
|
-
if (!models) {
|
20
|
-
throw new Error('Models are wrong.');
|
21
|
-
}
|
22
|
-
for (const model of models) {
|
23
|
-
if (model.objectType === ObjectTypes.Project) {
|
24
|
-
project = model;
|
25
|
-
}
|
26
|
-
if (model.objectType === ObjectTypes.Manuscript) {
|
27
|
-
manuscript = model;
|
28
|
-
}
|
29
|
-
}
|
30
|
-
return [project, manuscript];
|
31
|
-
};
|
32
|
-
const getManuscriptData = async (api, prototype) => {
|
33
|
-
const data = {};
|
34
|
-
const [sectionCategories, cslLocale, template] = await Promise.all([
|
35
|
-
api.getSectionCategories(),
|
36
|
-
// TODO:: config this!
|
37
|
-
api.getCSLLocale('en-US'),
|
38
|
-
api.getTemplate(prototype),
|
39
|
-
]);
|
40
|
-
const bundle = await api.getBundle(template);
|
41
|
-
data.sectionCategories = sectionCategories || [];
|
42
|
-
data.cslStyle = await api.getCSLStyle(bundle);
|
43
|
-
data.cslLocale = cslLocale;
|
44
|
-
return data;
|
45
|
-
};
|
46
|
-
const getUserData = async (projectID, user, api) => {
|
47
|
-
const profilesById = new Map();
|
48
|
-
profilesById.set(user._id, user);
|
49
|
-
const profiles = await api.getUserProfiles(projectID);
|
50
|
-
if (profiles) {
|
51
|
-
for (const profile of profiles) {
|
52
|
-
if (profile) {
|
53
|
-
profilesById.set(profile._id, profile);
|
54
|
-
}
|
55
|
-
}
|
56
|
-
}
|
57
|
-
return {
|
58
|
-
collaboratorsById: profilesById,
|
59
|
-
};
|
60
|
-
};
|
61
|
-
export const buildData = async (projectID, manuscriptID, doc, api) => {
|
62
|
-
const user = await api.getUser();
|
63
|
-
if (!user) {
|
64
|
-
return {};
|
65
|
-
}
|
66
|
-
const manuscriptNode = doc;
|
67
|
-
const state = await getManuscriptData(api, manuscriptNode.attrs.prototype);
|
68
|
-
const [project, manuscript] = await getIdModels(api, projectID, manuscriptID);
|
69
|
-
const role = project ? getUserRole(project, user.userID) : null;
|
70
|
-
const users = await getUserData(projectID, user, api);
|
71
|
-
return {
|
72
|
-
user,
|
73
|
-
userRole: role,
|
74
|
-
...users,
|
75
|
-
...state,
|
76
|
-
project,
|
77
|
-
manuscript,
|
78
|
-
tokenData: new TokenData(),
|
79
|
-
};
|
80
|
-
};
|
81
|
-
//# sourceMappingURL=buildData.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"buildData.js","sourceRoot":"","sources":["../../../src/postgres-data/buildData.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"buildUtilities.js","sourceRoot":"","sources":["../../../src/postgres-data/buildUtilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAW,MAAM,0BAA0B,CAAA;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAI1C,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,SAAiB,EACjB,YAAoB,EACpB,QAA8B,EAC9B,WAA4C,EAC5C,GAAQ,EACQ,EAAE;IAClB,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAChC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;QACxB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;QACjC,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAA;QACvC,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;SACpE;QACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QAC9D,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC5C,WAAW,CAAC;YACV,SAAS,EAAE,CAAC,GAAG,SAAS,EAAE,KAAK,CAAC;YAChC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC;SACxD,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAChC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,MAAM,EAAE;YACX,OAAM;SACP;QACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QAC/D,IAAI,CAAC,MAAM,EAAE;YACX,OAAM;SACP;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,WAAW,CAAC,OAAO,CAC5C,CAAC,CAAC,CAAY,CAAA;QACf,IAAI,CAAC,OAAO,EAAE;YACZ,OAAM;SACP;QACD,WAAW,CAAC;YACV,OAAO;YACP,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC;SACvC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,OAAO;QACL,cAAc;QACd,cAAc;KACf,CAAA;AACH,CAAC,CAAA"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"savingUtilities.js","sourceRoot":"","sources":["../../../src/postgres-data/savingUtilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAE9B,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,IAAI,OAAe,CAAA;IAEnB,OAAO,CACL,EAAa,EACb,QAAQ,GAAG,IAAI,EACf,KAAK,GAAG,KAAK,EACb,MAAmB,EACnB,EAAE;QACF,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,EAAE,EAAE,CAAA;YACJ,MAAM,IAAI,MAAM,EAAE,CAAA;QACpB,CAAC,CAAA;QACD,IAAI,KAAK,EAAE;YACT,MAAM,EAAE,CAAA;YACR,YAAY,CAAC,OAAO,CAAC,CAAA;YACrB,OAAM;SACP;QAED,YAAY,CAAC,OAAO,CAAC,CAAA;QACrB,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YAC/B,MAAM,EAAE,CAAA;QACV,CAAC,EAAE,QAAQ,CAAC,CAAA;QAEZ,OAAO,GAAG,EAAE;YACV,MAAM,EAAE,CAAA;YACR,YAAY,CAAC,OAAO,CAAC,CAAA;QACvB,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IACpC,MAAM,OAAO,GAAG,MAAM,EAAU,CAAA;IAEhC,OAAO,CAAC,EAAa,EAAE,QAAQ,GAAG,IAAI,EAAE,EAAE;QACxC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAA;QACtB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACpB,SAAS,CAAC,OAAO,EAAE,CAAA;YACnB,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;gBACvB,OAAO,IAAI,CAAA;YACb,CAAC,CAAA;YACD,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBACvC,SAAS,CAAC,OAAO,EAAE,CAAA;gBACnB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;gBACpC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAA;YACrB,CAAC,EAAE,QAAQ,CAAC,CAAA;SACb;IACH,CAAC,CAAA;AACH,CAAC,CAAA"}
|
@@ -1,118 +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) 2022 Atypon Systems LLC. All Rights Reserved.
|
11
|
-
*/
|
12
|
-
import { CollabProvider } from '@manuscripts/body-editor';
|
13
|
-
import { schema } from '@manuscripts/transform';
|
14
|
-
import { Step } from 'prosemirror-transform';
|
15
|
-
import { saveWithDebounce } from '../postgres-data/savingUtilities';
|
16
|
-
import * as docApi from './api/document';
|
17
|
-
class QuarterbackStepsExchanger extends CollabProvider {
|
18
|
-
constructor(docId, projectId, startingVersion, applySteps, getStepsSince, listenToSteps, authToken, throttlingControl) {
|
19
|
-
if (QuarterbackStepsExchanger._instance) {
|
20
|
-
return QuarterbackStepsExchanger._instance;
|
21
|
-
}
|
22
|
-
super();
|
23
|
-
this.reconcileAttempts = 0;
|
24
|
-
this.reconcileAttemptsMax = 20;
|
25
|
-
QuarterbackStepsExchanger._instance = this;
|
26
|
-
this.applySteps = applySteps;
|
27
|
-
this.docId = docId;
|
28
|
-
this.projectId = projectId;
|
29
|
-
this.throttlingControl = throttlingControl;
|
30
|
-
this.currentVersion = startingVersion;
|
31
|
-
this.debounce = saveWithDebounce();
|
32
|
-
this.getStepsSince = getStepsSince;
|
33
|
-
this.sendSteps = this.sendSteps.bind(this);
|
34
|
-
this.throttlingControl(false, this.flushOnExit.bind(this));
|
35
|
-
listenToSteps(projectId, docId, (version, jsonSteps, clientIDs) => {
|
36
|
-
if (!jsonSteps) {
|
37
|
-
return;
|
38
|
-
}
|
39
|
-
const steps = this.hydrateSteps(jsonSteps);
|
40
|
-
if (steps.length) {
|
41
|
-
this.newStepsListener();
|
42
|
-
}
|
43
|
-
});
|
44
|
-
}
|
45
|
-
destroy() {
|
46
|
-
QuarterbackStepsExchanger._instance = null;
|
47
|
-
}
|
48
|
-
hydrateSteps(jsonSteps) {
|
49
|
-
return jsonSteps.map((s) => Step.fromJSON(schema, s));
|
50
|
-
}
|
51
|
-
async sendSteps(version, steps, clientID, flush = false) {
|
52
|
-
// Apply and accumulate new steps
|
53
|
-
const stepsJSON = [];
|
54
|
-
steps.forEach((step) => {
|
55
|
-
stepsJSON.push(step.toJSON());
|
56
|
-
});
|
57
|
-
this.currentVersion = version;
|
58
|
-
this.flushImmediate = this.debounce(async () => {
|
59
|
-
const result = await this.applySteps(this.projectId, this.docId, {
|
60
|
-
steps: stepsJSON,
|
61
|
-
version,
|
62
|
-
clientID,
|
63
|
-
});
|
64
|
-
if (result &&
|
65
|
-
'err' in result &&
|
66
|
-
'code' in result &&
|
67
|
-
result.code === 409 &&
|
68
|
-
this.reconcileAttempts < this.reconcileAttemptsMax) {
|
69
|
-
// debugger
|
70
|
-
console.warn('Attempting Reconciliation');
|
71
|
-
this.newStepsListener();
|
72
|
-
this.reconcileAttempts++;
|
73
|
-
}
|
74
|
-
else {
|
75
|
-
this.reconcileAttempts = 0;
|
76
|
-
}
|
77
|
-
}, 1200, flush, () => {
|
78
|
-
this.throttlingControl(false);
|
79
|
-
});
|
80
|
-
if (!flush) {
|
81
|
-
this.throttlingControl(true);
|
82
|
-
}
|
83
|
-
return Promise.resolve();
|
84
|
-
}
|
85
|
-
flushOnExit() {
|
86
|
-
this.flushImmediate && this.flushImmediate();
|
87
|
-
}
|
88
|
-
onNewSteps(listener) {
|
89
|
-
this.newStepsListener = listener;
|
90
|
-
}
|
91
|
-
async stepsSince(version) {
|
92
|
-
// retrieve the steps since the number of version given
|
93
|
-
const res = await this.getStepsSince(this.projectId, this.docId, version);
|
94
|
-
if (res) {
|
95
|
-
return {
|
96
|
-
steps: this.hydrateSteps(res.steps),
|
97
|
-
clientIDs: res.clientIDs,
|
98
|
-
version: res.version,
|
99
|
-
};
|
100
|
-
}
|
101
|
-
return;
|
102
|
-
}
|
103
|
-
}
|
104
|
-
export const stepsExchanger = (docId, projectId, lastVersion, authToken, throttlingControl, isAuthed = true) => {
|
105
|
-
if (!isAuthed) {
|
106
|
-
return;
|
107
|
-
}
|
108
|
-
const applySteps = async (projectId, docId, payload) => docApi.applySteps(projectId, docId, authToken, payload);
|
109
|
-
const getStepsSince = async (projectId, docId, version) => {
|
110
|
-
const resp = await docApi.stepsSince(projectId, docId, version, authToken);
|
111
|
-
if ('data' in resp) {
|
112
|
-
return resp.data;
|
113
|
-
}
|
114
|
-
};
|
115
|
-
return new QuarterbackStepsExchanger(docId, projectId, lastVersion, applySteps, getStepsSince, docApi.listenStepUpdates, authToken, throttlingControl);
|
116
|
-
};
|
117
|
-
export default QuarterbackStepsExchanger;
|
118
|
-
//# sourceMappingURL=QuarterbackStepsExchanger.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"QuarterbackStepsExchanger.js","sourceRoot":"","sources":["../../../src/quarterback/QuarterbackStepsExchanger.ts"],"names":[],"mappings":"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"}
|
@@ -1,32 +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) 2022 Atypon Systems LLC. All Rights Reserved.
|
11
|
-
*/
|
12
|
-
import { del, get, listen, post, put } from './methods';
|
13
|
-
export const getDocument = (projectID, manuscriptID, authToken) => get(`doc/${projectID}/manuscript/${manuscriptID}`, authToken, 'Fetching document failed');
|
14
|
-
export const createDocument = (payload, authToken) => post(`doc/${payload.project_model_id}/manuscript/${payload.manuscript_model_id}`, authToken, payload, 'Creating document failed');
|
15
|
-
export const getTransformVersion = (authToken) => get('doc/version', authToken, 'Fetching transform version failed');
|
16
|
-
export const updateDocument = (projectID, manuscriptID, authToken, payload) => put(`doc/${projectID}/manuscript/${manuscriptID}`, authToken, payload, 'Updating document failed');
|
17
|
-
export const deleteDocument = (projectID, manuscriptID, authToken) => del(`doc/${projectID}/manuscript/${manuscriptID}`, authToken, 'Deleting document failed');
|
18
|
-
export const applySteps = (projectId, docId, authToken, payload) => post(`doc/${projectId}/manuscript/${docId}/steps`, authToken, payload, 'Creating document failed');
|
19
|
-
export const stepsSince = (projectId, docId, version, authToken) => get(`doc/${projectId}/manuscript/${docId}/version/${version}`, authToken, `Fetching steps since version ${version}`);
|
20
|
-
export const listenStepUpdates = (projectID, manuscriptID, dataListener) => {
|
21
|
-
const listener = (event) => {
|
22
|
-
const data = JSON.parse(event.data);
|
23
|
-
if (typeof data.version != 'undefined' &&
|
24
|
-
data.steps &&
|
25
|
-
Array.isArray(data.steps) &&
|
26
|
-
data.clientIDs) {
|
27
|
-
dataListener(data.version, data.steps, data.clientIDs);
|
28
|
-
}
|
29
|
-
};
|
30
|
-
listen(`doc/${projectID}/manuscript/${manuscriptID}/listen`, listener);
|
31
|
-
};
|
32
|
-
//# sourceMappingURL=document.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../src/quarterback/api/document.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAEvD,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,SAAiB,EACjB,YAAoB,EACpB,SAAiB,EACjB,EAAE,CACF,GAAG,CACD,OAAO,SAAS,eAAe,YAAY,EAAE,EAC7C,SAAS,EACT,0BAA0B,CAC3B,CAAA;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAA0B,EAAE,SAAiB,EAAE,EAAE,CAC9E,IAAI,CACF,OAAO,OAAO,CAAC,gBAAgB,eAAe,OAAO,CAAC,mBAAmB,EAAE,EAC3E,SAAS,EACT,OAAO,EACP,0BAA0B,CAC3B,CAAA;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAE,EAAE,CACvD,GAAG,CACD,aAAa,EACb,SAAS,EACT,mCAAmC,CACpC,CAAA;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,SAAiB,EACjB,YAAoB,EACpB,SAAiB,EACjB,OAA+B,EAC/B,EAAE,CACF,GAAG,CACD,OAAO,SAAS,eAAe,YAAY,EAAE,EAC7C,SAAS,EACT,OAAO,EACP,0BAA0B,CAC3B,CAAA;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,SAAiB,EACjB,YAAoB,EACpB,SAAiB,EACjB,EAAE,CACF,GAAG,CACD,OAAO,SAAS,eAAe,YAAY,EAAE,EAC7C,SAAS,EACT,0BAA0B,CAC3B,CAAA;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,SAAiB,EACjB,KAAa,EACb,SAAiB,EACjB,OAAqB,EACrB,EAAE,CACF,IAAI,CACF,OAAO,SAAS,eAAe,KAAK,QAAQ,EAC5C,SAAS,EACT,OAAO,EACP,0BAA0B,CAC3B,CAAA;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,SAAiB,EACjB,KAAa,EACb,OAAe,EACf,SAAiB,EACjB,EAAE,CACF,GAAG,CACD,OAAO,SAAS,eAAe,KAAK,YAAY,OAAO,EAAE,EACzD,SAAS,EACT,gCAAgC,OAAO,EAAE,CAC1C,CAAA;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,SAAiB,EACjB,YAAoB,EACpB,YAA8E,EAC9E,EAAE;IACF,MAAM,QAAQ,GAAG,CAAC,KAAmB,EAAE,EAAE;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACnC,IACE,OAAO,IAAI,CAAC,OAAO,IAAI,WAAW;YAClC,IAAI,CAAC,KAAK;YACV,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,SAAS,EACd;YACA,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;SACvD;IACH,CAAC,CAAA;IAED,MAAM,CAAC,OAAO,SAAS,eAAe,YAAY,SAAS,EAAE,QAAQ,CAAC,CAAA;AACxE,CAAC,CAAA"}
|
@@ -1,81 +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) 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 resp = await docApi.getTransformVersion(authToken);
|
17
|
-
if ('data' in resp && resp.data.transformVersion !== getVersion()) {
|
18
|
-
console.warn(`Warning! Manuscripts-transform (Frontend: ${getVersion()}) version is different on manuscripts-api (${resp.data.transformVersion})`);
|
19
|
-
}
|
20
|
-
const found = await docApi.getDocument(projectID, manuscriptID, authToken);
|
21
|
-
let doc;
|
22
|
-
let version = 0;
|
23
|
-
let snapshots = [];
|
24
|
-
if ('data' in found) {
|
25
|
-
let empty = true;
|
26
|
-
for (const _ in found.data.doc) {
|
27
|
-
empty = false;
|
28
|
-
break;
|
29
|
-
}
|
30
|
-
if (empty) {
|
31
|
-
if (!existingDoc) {
|
32
|
-
throw new Error('Unable to produce valid doc as neither model based verions nor history have a valid version');
|
33
|
-
}
|
34
|
-
await docApi.updateDocument(projectID, manuscriptID, authToken, {
|
35
|
-
doc: existingDoc.toJSON(),
|
36
|
-
schema_version: getVersion(),
|
37
|
-
});
|
38
|
-
}
|
39
|
-
snapshots = found.data.snapshots;
|
40
|
-
doc = found.data.doc;
|
41
|
-
version = found.data.version;
|
42
|
-
}
|
43
|
-
else if ('err' in found && found.code === 404) {
|
44
|
-
// Create an empty doc that will be replaced with whatever document is currently being edited
|
45
|
-
const res = await docApi.createDocument({
|
46
|
-
manuscript_model_id: manuscriptID,
|
47
|
-
project_model_id: projectID,
|
48
|
-
doc: {},
|
49
|
-
schema_version: getVersion(),
|
50
|
-
}, authToken);
|
51
|
-
if ('data' in res) {
|
52
|
-
doc = res.data.doc;
|
53
|
-
version = res.data.version;
|
54
|
-
snapshots = res.data.snapshots;
|
55
|
-
}
|
56
|
-
if ('err' in res) {
|
57
|
-
console.error('Unable to create new document: ' + res.err);
|
58
|
-
}
|
59
|
-
const update = await updateDocument(projectID, manuscriptID, authToken, {
|
60
|
-
doc: existingDoc?.toJSON(),
|
61
|
-
schema_version: getVersion(),
|
62
|
-
});
|
63
|
-
if ('err' in update) {
|
64
|
-
console.error('Unable to create new document: ' + update.err);
|
65
|
-
}
|
66
|
-
else {
|
67
|
-
const found = await docApi.getDocument(projectID, manuscriptID, authToken);
|
68
|
-
if ('data' in found && found.data.doc && found.data.version >= 0) {
|
69
|
-
doc = found.data.doc;
|
70
|
-
version = found.data.version;
|
71
|
-
}
|
72
|
-
}
|
73
|
-
}
|
74
|
-
if (doc !== null &&
|
75
|
-
typeof doc === 'object' &&
|
76
|
-
Object.keys(doc).length !== 0) {
|
77
|
-
return { doc: schema.nodeFromJSON(doc), version, snapshots };
|
78
|
-
}
|
79
|
-
return undefined;
|
80
|
-
}
|
81
|
-
//# sourceMappingURL=loadDoc.js.map
|