Fix play/pause button state
This commit is contained in:
parent
525bbf313e
commit
7a43649c13
@ -1,3 +1,7 @@
|
||||
# v3.4.2
|
||||
|
||||
- Fix play/pause button state
|
||||
|
||||
# v3.4.1
|
||||
|
||||
- Bug fix for custom controls (fixes #1161)
|
||||
|
28
src/js/controls.js
vendored
28
src/js/controls.js
vendored
@ -1610,20 +1610,28 @@ const controls = {
|
||||
|
||||
// Add pressed property to buttons
|
||||
if (!is.empty(this.elements.buttons)) {
|
||||
const addProperty = 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);
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
// Toggle classname when pressed property is set
|
||||
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);
|
||||
},
|
||||
});
|
||||
if (is.array(button)) {
|
||||
button.filter(Boolean).forEach(addProperty);
|
||||
} else {
|
||||
addProperty(button);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user