//alert('event.type: ' + event.type + ' data: ' + data + ' remoteSyncCommand: ' + app.remoteSyncCommand)
// bypass external event caused by loadDocument
if (app.sync.synctype === 1) {
if (app.remoteSyncCommand && event.type != "zoomChanged")
return;
else if (app.remoteSyncCommand && event.type == "zoomChanged") {
app.remoteSyncCommand = false;
return;
}
}
else if (app.sync.synctype === 7 || app.sync.synctype === 8) {
// if toggle panel/notes don't reset remoteSyncCommand event yet, wait for sidePanelVisibilityChanged notesPanelVisibilityChanged handler
}
else {
if (app.remoteSyncCommand) {
app.remoteSyncCommand = false;
return;
}
}
app.last_sync = app.sync;
app.sync.invoker = app.username;
app.sync.ts = new Date();
if (app.sync.syncmap.length > 2)
app.sync.syncmap.splice(2, app.sync.syncmap.length - 2);
switch (event.type) {
case "displayModeChanged":
case "layoutModeChanged":
layoutMode = myWebViewer.getLayoutMode();
app.sync.synctype = 3;
app.sync.syncmap[2] = { Key: "layoutModeChanged", Value: layoutMode }
app.sendData("viewer", app.sync, "viewer")
break;
case "zoomChanged":
zoomLevel = myWebViewer.getZoomLevel();
break;
case "pageChanged":
pageNumber = myWebViewer.getCurrentPageNumber();
app.sync.synctype = 6;
app.sync.syncmap[2] = { Key: "pageChanged", Value: pageNumber }
app.sendData("viewer", app.sync, "viewer");
break;
case "toolModeChanged":
toolMode = myWebViewer.getToolMode();
break;
}
});
$(document).on('sidePanelVisibilityChanged notesPanelVisibilityChanged', function (event, data) {
//alert('event.type: ' + event.type + ' data: ' + data + ' remoteSyncCommand: ' + app.remoteSyncCommand)
if (app.remoteSyncCommand) {
app.remoteSyncCommand = false;
return;
}
app.last_sync = app.sync;
app.sync.invoker = app.username;
app.sync.ts = new Date();
if (app.sync.syncmap.length > 2)
app.sync.syncmap.splice(2, app.sync.syncmap.length - 2);
switch (event.type) {
case "sidePanelVisibilityChanged":
app.sync.synctype = 7;
app.sync.syncmap[2] = { Key: "sidePanelVisibilityChanged", Value: data }
app.sendData("viewer", app.sync, "viewer");
break;
case "notesPanelVisibilityChanged":
app.sync.synctype = 8;
app.sync.syncmap[2] = { Key: "notesPanelVisibilityChanged", Value: data }
app.sendData("viewer", app.sync, "viewer");
break;
}
});