Merge pull request #4692 from Snuffleupagus/viewHistory-setMultiple
Add support for setting multiple values at once in ViewHistory
This commit is contained in:
commit
42ed9025ef
@ -86,30 +86,43 @@ var ViewHistory = (function ViewHistoryClosure() {
|
||||
this.database = database;
|
||||
},
|
||||
|
||||
set: function ViewHistory_set(name, val) {
|
||||
if (!this.isInitializedPromiseResolved) {
|
||||
return;
|
||||
}
|
||||
var file = this.file;
|
||||
file[name] = val;
|
||||
var database = JSON.stringify(this.database);
|
||||
_writeToStorage: function ViewHistory_writeToStorage() {
|
||||
var databaseStr = JSON.stringify(this.database);
|
||||
|
||||
//#if B2G
|
||||
// asyncStorage.setItem('database', database);
|
||||
// asyncStorage.setItem('database', databaseStr);
|
||||
//#endif
|
||||
|
||||
//#if FIREFOX || MOZCENTRAL
|
||||
// try {
|
||||
// // See comment in try-catch block above.
|
||||
// sessionStorage.setItem('pdfjsHistory', database);
|
||||
// sessionStorage.setItem('pdfjsHistory', databaseStr);
|
||||
// } catch (ex) {}
|
||||
//#endif
|
||||
|
||||
//#if !(FIREFOX || MOZCENTRAL || B2G)
|
||||
localStorage.setItem('database', database);
|
||||
localStorage.setItem('database', databaseStr);
|
||||
//#endif
|
||||
},
|
||||
|
||||
set: function ViewHistory_set(name, val) {
|
||||
if (!this.isInitializedPromiseResolved) {
|
||||
return;
|
||||
}
|
||||
this.file[name] = val;
|
||||
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;
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user