From 7a43649c13e54b15244f5e7ddaeee8d676a3d5e3 Mon Sep 17 00:00:00 2001 From: Sam Potts Date: Tue, 14 Aug 2018 11:17:27 +1000 Subject: Fix play/pause button state --- src/js/controls.js | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'src/js/controls.js') 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); + } }); } -- cgit v1.2.3