Fix for controls missing (fixes #1161)

This commit is contained in:
Sam Potts 2018-08-14 09:17:58 +10:00
parent b57b7b2153
commit cfaebe9bf2
2 changed files with 17 additions and 11 deletions

View File

@ -1,3 +1,7 @@
# v3.4.1
- Bug fix for custom controls (fixes #1161)
# v3.4.0
- Accessibility improvements (see #905)

24
src/js/controls.js vendored
View File

@ -1611,18 +1611,20 @@ const controls = {
// Add pressed property to buttons
if (!is.empty(this.elements.buttons)) {
// Toggle classname when pressed property is set
Object.values(this.elements.buttons).forEach(button => {
const className = this.config.classNames.controlPressed;
Object.defineProperty(button, 'pressed', {
enumerable: true,
get() {
return hasClass(button, className);
},
set(pressed = false) {
toggleClass(button, className, pressed);
},
Object.values(this.elements.buttons)
.filter(Boolean)
.forEach(button => {
const className = this.config.classNames.controlPressed;
Object.defineProperty(button, 'pressed', {
enumerable: true,
get() {
return hasClass(button, className);
},
set(pressed = false) {
toggleClass(button, className, pressed);
},
});
});
});
}
// Edge sometimes doesn't finish the paint so force a redraw