Merge pull request #10152 from Snuffleupagus/classList-toggle
Add support for `classList.toggle` with the, optional, "force" parameter
This commit is contained in:
commit
e41c50c3c5
@ -90,6 +90,28 @@ const hasDOM = typeof window === 'object' && typeof document === 'object';
|
|||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
// Provides support for DOMTokenList.prototype.toggle, with the optional
|
||||||
|
// "force" parameter, in legacy browsers.
|
||||||
|
// Support: IE
|
||||||
|
(function checkDOMTokenListToggle() {
|
||||||
|
if (!hasDOM || isNodeJS()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const div = document.createElement('div');
|
||||||
|
if (div.classList.toggle('test', 0) === false) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const originalDOMTokenListToggle = DOMTokenList.prototype.toggle;
|
||||||
|
|
||||||
|
DOMTokenList.prototype.toggle = function(token) {
|
||||||
|
if (arguments.length > 1) {
|
||||||
|
const force = !!arguments[1];
|
||||||
|
return (this[force ? 'add' : 'remove'](token), force);
|
||||||
|
}
|
||||||
|
return originalDOMTokenListToggle(token);
|
||||||
|
};
|
||||||
|
})();
|
||||||
|
|
||||||
// Provides support for String.prototype.includes in legacy browsers.
|
// Provides support for String.prototype.includes in legacy browsers.
|
||||||
// Support: IE, Chrome<41
|
// Support: IE, Chrome<41
|
||||||
(function checkStringIncludes() {
|
(function checkStringIncludes() {
|
||||||
|
@ -1038,16 +1038,10 @@ class BaseViewer {
|
|||||||
_updateScrollMode(pageNumber = null) {
|
_updateScrollMode(pageNumber = null) {
|
||||||
const scrollMode = this._scrollMode, viewer = this.viewer;
|
const scrollMode = this._scrollMode, viewer = this.viewer;
|
||||||
|
|
||||||
if (scrollMode === ScrollMode.HORIZONTAL) {
|
viewer.classList.toggle('scrollHorizontal',
|
||||||
viewer.classList.add('scrollHorizontal');
|
scrollMode === ScrollMode.HORIZONTAL);
|
||||||
} else {
|
viewer.classList.toggle('scrollWrapped',
|
||||||
viewer.classList.remove('scrollHorizontal');
|
scrollMode === ScrollMode.WRAPPED);
|
||||||
}
|
|
||||||
if (scrollMode === ScrollMode.WRAPPED) {
|
|
||||||
viewer.classList.add('scrollWrapped');
|
|
||||||
} else {
|
|
||||||
viewer.classList.remove('scrollWrapped');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!this.pdfDocument || !pageNumber) {
|
if (!this.pdfDocument || !pageNumber) {
|
||||||
return;
|
return;
|
||||||
|
@ -132,13 +132,9 @@ class PDFFindBar {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (notFound) {
|
this.findField.classList.toggle('notFound', notFound);
|
||||||
this.findField.classList.add('notFound');
|
|
||||||
} else {
|
|
||||||
this.findField.classList.remove('notFound');
|
|
||||||
}
|
|
||||||
|
|
||||||
this.findField.setAttribute('data-status', status);
|
this.findField.setAttribute('data-status', status);
|
||||||
|
|
||||||
Promise.resolve(findMsg).then((msg) => {
|
Promise.resolve(findMsg).then((msg) => {
|
||||||
this.findMsg.textContent = msg;
|
this.findMsg.textContent = msg;
|
||||||
this._adjustWidth();
|
this._adjustWidth();
|
||||||
|
@ -123,11 +123,11 @@ class SecondaryToolbar {
|
|||||||
// current `BaseViewer` instance (in particular `PDFSinglePageViewer`).
|
// current `BaseViewer` instance (in particular `PDFSinglePageViewer`).
|
||||||
this.eventBus.on('baseviewerinit', (evt) => {
|
this.eventBus.on('baseviewerinit', (evt) => {
|
||||||
if (evt.source instanceof PDFSinglePageViewer) {
|
if (evt.source instanceof PDFSinglePageViewer) {
|
||||||
this.toolbarButtonContainer.classList.add('hiddenScrollModeButtons');
|
this.toolbarButtonContainer.classList.add('hiddenScrollModeButtons',
|
||||||
this.toolbarButtonContainer.classList.add('hiddenSpreadModeButtons');
|
'hiddenSpreadModeButtons');
|
||||||
} else {
|
} else {
|
||||||
this.toolbarButtonContainer.classList.remove('hiddenScrollModeButtons');
|
this.toolbarButtonContainer.classList.remove('hiddenScrollModeButtons',
|
||||||
this.toolbarButtonContainer.classList.remove('hiddenSpreadModeButtons');
|
'hiddenSpreadModeButtons');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -224,11 +224,7 @@ class Toolbar {
|
|||||||
updateLoadingIndicatorState(loading = false) {
|
updateLoadingIndicatorState(loading = false) {
|
||||||
let pageNumberInput = this.items.pageNumber;
|
let pageNumberInput = this.items.pageNumber;
|
||||||
|
|
||||||
if (loading) {
|
pageNumberInput.classList.toggle(PAGE_NUMBER_LOADING_INDICATOR, loading);
|
||||||
pageNumberInput.classList.add(PAGE_NUMBER_LOADING_INDICATOR);
|
|
||||||
} else {
|
|
||||||
pageNumberInput.classList.remove(PAGE_NUMBER_LOADING_INDICATOR);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_adjustScaleWidth() {
|
_adjustScaleWidth() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user