Add support for setting multiple values at once in ViewHistory

This commit is contained in:
Jonas Jenwald 2014-04-25 20:28:26 +02:00
parent 48399a3ec7
commit 69eafaa58f
2 changed files with 18 additions and 7 deletions

View File

@ -113,6 +113,16 @@ var ViewHistory = (function ViewHistoryClosure() {
this._writeToStorage();
},
setMultiple: function ViewHistory_setMultiple(properties) {
if (!this.isInitializedPromiseResolved) {
return;
}
for (var name in properties) {
this.file[name] = properties[name];
}
this._writeToStorage();
},
get: function ViewHistory_get(name, defaultValue) {
if (!this.isInitializedPromiseResolved) {
return defaultValue;

View File

@ -1970,13 +1970,14 @@ function updateViewarea() {
PDFView.currentPosition = { page: pageNumber, left: intLeft, top: intTop };
}
var store = PDFView.store;
store.initializedPromise.then(function() {
store.set('exists', true);
store.set('page', pageNumber);
store.set('zoom', normalizedScaleValue);
store.set('scrollLeft', intLeft);
store.set('scrollTop', intTop);
PDFView.store.initializedPromise.then(function() {
PDFView.store.setMultiple({
'exists': true,
'page': pageNumber,
'zoom': normalizedScaleValue,
'scrollLeft': intLeft,
'scrollTop': intTop
});
});
var href = PDFView.getAnchorUrl(pdfOpenParams);
document.getElementById('viewBookmark').href = href;