aboutsummaryrefslogtreecommitdiffstats
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
parent525bbf313ef31964489faf90cda1be6077fc9d6e (diff)
downloadplyr-7a43649c13e54b15244f5e7ddaeee8d676a3d5e3.tar.lz
plyr-7a43649c13e54b15244f5e7ddaeee8d676a3d5e3.tar.xz
plyr-7a43649c13e54b15244f5e7ddaeee8d676a3d5e3.zip
Fix play/pause button state
-rw-r--r--changelog.md4
-rw-r--r--src/js/controls.js28
2 files changed, 22 insertions, 10 deletions
diff --git a/changelog.md b/changelog.md
index a4fc46b3..3dade1e1 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,7 @@
+# v3.4.2
+
+- Fix play/pause button state
+
# v3.4.1
- Bug fix for custom controls (fixes #1161)
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);
+ }
});
}