aboutsummaryrefslogtreecommitdiffstats
path: root/src/js/controls.js
diff options
context:
space:
mode:
authorSam Potts <sam@potts.es>2018-08-14 11:17:27 +1000
committerSam Potts <sam@potts.es>2018-08-14 11:17:27 +1000
commit7a43649c13e54b15244f5e7ddaeee8d676a3d5e3 (patch)
treeb3a86821ffdbd38a4e5d1be6cd3d4d6ed89b9def /src/js/controls.js
parent525bbf313ef31964489faf90cda1be6077fc9d6e (diff)
downloadplyr-7a43649c13e54b15244f5e7ddaeee8d676a3d5e3.tar.lz
plyr-7a43649c13e54b15244f5e7ddaeee8d676a3d5e3.tar.xz
plyr-7a43649c13e54b15244f5e7ddaeee8d676a3d5e3.zip
Fix play/pause button state
Diffstat (limited to 'src/js/controls.js')
-rw-r--r--src/js/controls.js28
1 files changed, 18 insertions, 10 deletions
diff --git a/src/js/controls.js b/src/js/controls.js
index c04ba783..35eba971 100644
--- a/src/js/controls.js
+++ b/src/js/controls.js
@@ -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);
+ }
});
}