[Regression] Remove instances of Element.classList.toggle()
with *two* parameters, since browser support is limited
The Secondary Toolbar buttons for, not to mention the actual toggling of, Scroll/Spread modes are currently completely broken in older browsers (such as IE11). As a follow-up, it'd probably be a good idea to try and find a *feature complete* `classList` polyfill that could be used instead, but this patch at least addresses the immediate regression. Please refer to the compatibility information in https://developer.mozilla.org/en-US/docs/Web/API/Element/classList#Browser_compatibility
This commit is contained in:
parent
34594a5b02
commit
36111a1f40
@ -1035,9 +1035,18 @@ class BaseViewer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_updateScrollModeClasses() {
|
_updateScrollModeClasses() {
|
||||||
const mode = this.scrollMode, { classList, } = this.viewer;
|
const { scrollMode, viewer, } = this;
|
||||||
classList.toggle('scrollHorizontal', mode === ScrollMode.HORIZONTAL);
|
|
||||||
classList.toggle('scrollWrapped', mode === ScrollMode.WRAPPED);
|
if (scrollMode === ScrollMode.HORIZONTAL) {
|
||||||
|
viewer.classList.add('scrollHorizontal');
|
||||||
|
} else {
|
||||||
|
viewer.classList.remove('scrollHorizontal');
|
||||||
|
}
|
||||||
|
if (scrollMode === ScrollMode.WRAPPED) {
|
||||||
|
viewer.classList.add('scrollWrapped');
|
||||||
|
} else {
|
||||||
|
viewer.classList.remove('scrollWrapped');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setSpreadMode(mode) {
|
setSpreadMode(mode) {
|
||||||
|
@ -190,23 +190,41 @@ class SecondaryToolbar {
|
|||||||
|
|
||||||
_bindScrollModeListener(buttons) {
|
_bindScrollModeListener(buttons) {
|
||||||
this.eventBus.on('scrollmodechanged', function(evt) {
|
this.eventBus.on('scrollmodechanged', function(evt) {
|
||||||
buttons.scrollVerticalButton.classList.toggle('toggled',
|
buttons.scrollVerticalButton.classList.remove('toggled');
|
||||||
evt.mode === ScrollMode.VERTICAL);
|
buttons.scrollHorizontalButton.classList.remove('toggled');
|
||||||
buttons.scrollHorizontalButton.classList.toggle('toggled',
|
buttons.scrollWrappedButton.classList.remove('toggled');
|
||||||
evt.mode === ScrollMode.HORIZONTAL);
|
|
||||||
buttons.scrollWrappedButton.classList.toggle('toggled',
|
switch (evt.mode) {
|
||||||
evt.mode === ScrollMode.WRAPPED);
|
case ScrollMode.VERTICAL:
|
||||||
|
buttons.scrollVerticalButton.classList.add('toggled');
|
||||||
|
break;
|
||||||
|
case ScrollMode.HORIZONTAL:
|
||||||
|
buttons.scrollHorizontalButton.classList.add('toggled');
|
||||||
|
break;
|
||||||
|
case ScrollMode.WRAPPED:
|
||||||
|
buttons.scrollWrappedButton.classList.add('toggled');
|
||||||
|
break;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
_bindSpreadModeListener(buttons) {
|
_bindSpreadModeListener(buttons) {
|
||||||
this.eventBus.on('spreadmodechanged', function(evt) {
|
this.eventBus.on('spreadmodechanged', function(evt) {
|
||||||
buttons.spreadNoneButton.classList.toggle('toggled',
|
buttons.spreadNoneButton.classList.remove('toggled');
|
||||||
evt.mode === SpreadMode.NONE);
|
buttons.spreadOddButton.classList.remove('toggled');
|
||||||
buttons.spreadOddButton.classList.toggle('toggled',
|
buttons.spreadEvenButton.classList.remove('toggled');
|
||||||
evt.mode === SpreadMode.ODD);
|
|
||||||
buttons.spreadEvenButton.classList.toggle('toggled',
|
switch (evt.mode) {
|
||||||
evt.mode === SpreadMode.EVEN);
|
case SpreadMode.NONE:
|
||||||
|
buttons.spreadNoneButton.classList.add('toggled');
|
||||||
|
break;
|
||||||
|
case SpreadMode.ODD:
|
||||||
|
buttons.spreadOddButton.classList.add('toggled');
|
||||||
|
break;
|
||||||
|
case SpreadMode.EVEN:
|
||||||
|
buttons.spreadEvenButton.classList.add('toggled');
|
||||||
|
break;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user