aboutsummaryrefslogtreecommitdiffstats
path: root/src/js
diff options
context:
space:
mode:
authorSam Potts <sam@potts.es>2018-08-13 23:52:10 +1000
committerSam Potts <sam@potts.es>2018-08-13 23:52:10 +1000
commit286d0d1794d4c9d4c4db151897b102b95c5799c0 (patch)
tree2fa59398370f35c865387ece890654d1c2f0aa03 /src/js
parent95f6fa2731bc251a1a1dd52aa0abfd55c2fd3b5e (diff)
downloadplyr-286d0d1794d4c9d4c4db151897b102b95c5799c0.tar.lz
plyr-286d0d1794d4c9d4c4db151897b102b95c5799c0.tar.xz
plyr-286d0d1794d4c9d4c4db151897b102b95c5799c0.zip
Fix for pressed property missing with custom controls (Fixes #1062)
Diffstat (limited to 'src/js')
-rw-r--r--src/js/controls.js29
1 files changed, 17 insertions, 12 deletions
diff --git a/src/js/controls.js b/src/js/controls.js
index 9152f338..d8de2632 100644
--- a/src/js/controls.js
+++ b/src/js/controls.js
@@ -275,18 +275,6 @@ const controls = {
this.elements.buttons[type] = button;
}
- // Toggle classname when pressed property is set
- const className = this.config.classNames.controlPressed;
- Object.defineProperty(button, 'pressed', {
- enumerable: true,
- get() {
- return hasClass(button, className);
- },
- set(pressed = false) {
- toggleClass(button, className, pressed);
- },
- });
-
return button;
},
@@ -1620,6 +1608,23 @@ const controls = {
controls.findElements.call(this);
}
+ // 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);
+ },
+ });
+ });
+ }
+
// Edge sometimes doesn't finish the paint so force a redraw
if (window.navigator.userAgent.includes('Edge')) {
repaint(target);