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
|
# v3.4.1
|
||||||
|
|
||||||
- Bug fix for custom controls (fixes #1161)
|
- 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
|
// Add pressed property to buttons
|
||||||
if (!is.empty(this.elements.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
|
// Toggle classname when pressed property is set
|
||||||
Object.values(this.elements.buttons)
|
Object.values(this.elements.buttons)
|
||||||
.filter(Boolean)
|
.filter(Boolean)
|
||||||
.forEach(button => {
|
.forEach(button => {
|
||||||
const className = this.config.classNames.controlPressed;
|
if (is.array(button)) {
|
||||||
Object.defineProperty(button, 'pressed', {
|
button.filter(Boolean).forEach(addProperty);
|
||||||
enumerable: true,
|
} else {
|
||||||
get() {
|
addProperty(button);
|
||||||
return hasClass(button, className);
|
}
|
||||||
},
|
|
||||||
set(pressed = false) {
|
|
||||||
toggleClass(button, className, pressed);
|
|
||||||
},
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user