Skip to content

Commit 21b9869

Browse files
committed
[bugfix] Fixed issue where document id was not being updated when loading annotations
1 parent 9cd1d9c commit 21b9869

File tree

4 files changed

+14
-15
lines changed

4 files changed

+14
-15
lines changed

src/apis/saveAnnotations.js

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,16 @@
11
import core from 'core';
2-
import selectors from 'selectors';
3-
import { documentTypes } from 'constants/types';
42

53
export default store => () => {
64
const state = store.getState();
7-
const serverUrl = state.advanced.serverUrl || '/annotations';
8-
const serverUrlHeaders = state.advanced.serverUrlHeaders;
9-
const docId = state.document.id;
5+
const { id: docId } = state.document;
6+
const { serverUrl, serverUrlHeaders } = state.advanced;
107
const docIdQuery = docId ? { did: docId } : {};
118

12-
if (selectors.getDocumentType(state) === documentTypes.BLACKBOX) {
13-
console.warn('Cannot save annotations from WebViewer demo server.');
9+
if (!serverUrl) {
10+
console.warn('serverUrl option is not defined. Please pass this option in WebViewer constructor to save/load annotations. See https://www.pdftron.com/documentation/web/guides/annotations/saving-loading-annotations for details.');
1411
return;
1512
}
1613

17-
if (serverUrl === '/annotations') {
18-
console.warn('serverUrl option is not defined. Falling back to `/annotations`, which handles requests in /samples/server.js');
19-
}
20-
2114
$.ajax({
2215
type: 'POST',
2316
url: serverUrl,
@@ -27,7 +20,7 @@ export default store => () => {
2720
'data': core.exportAnnotations()
2821
},
2922
success: () => {
30-
alert(`Annotations saved to /annotations/${docId ? docId : 'default'}.xfdf`);
23+
alert(`Annotations saved to ${serverUrl}/${docId ? docId : 'default'}.xfdf`);
3124
}
3225
});
3326
};

src/helpers/setupLoadAnnotationsFromServer.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
11
import core from 'core';
22

3-
export default (documentId, serverUrl, serverUrlHeaders) => {
3+
export default (store) => {
4+
const state = store.getState();
5+
const { serverUrl, serverUrlHeaders } = state.advanced;
6+
47
if (!serverUrl) {
58
return;
69
}
710

811
const getAnnotsFromServer = (originalData, callback) => {
12+
const state = store.getState();
13+
const { id: documentId } = state.document;
14+
915
if (window.readerControl.serverFailed) {
1016
callback(originalData);
1117
} else if (window.readerControl.loadedFromServer) {

src/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ if (window.CanvasRenderingContext2D) {
108108
setUserPermission(state);
109109
addEventHandlers(),
110110
setDefaultDisabledElements(store),
111-
setupLoadAnnotationsFromServer(state.document.id, state.advanced.serverUrl, state.advanced.serverUrlHeaders);
111+
setupLoadAnnotationsFromServer(store);
112112

113113
ReactDOM.render(
114114
<Provider store={store}>

src/redux/initialState.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ export default {
202202
fullAPI: getHashParams('pdfnet', false),
203203
pdftronServer: getHashParams('pdftronServer', ''),
204204
preloadWorker: getHashParams('preloadWorker', false),
205-
serverUrl: getHashParams('server_url', process.env.NODE_ENV === 'development' ? '/annotations' : ''),
205+
serverUrl: getHashParams('server_url', ''),
206206
serverUrlHeaders: JSON.parse(getHashParams('serverUrlHeaders', '{}')),
207207
streaming: getHashParams('streaming', false),
208208
subzero: getHashParams('subzero', false),

0 commit comments

Comments
 (0)