diff options
Diffstat (limited to 'src/js/utils')
-rw-r--r-- | src/js/utils/elements.js | 8 | ||||
-rw-r--r-- | src/js/utils/events.js | 6 |
2 files changed, 11 insertions, 3 deletions
diff --git a/src/js/utils/elements.js b/src/js/utils/elements.js index 39b944d2..2d314ed8 100644 --- a/src/js/utils/elements.js +++ b/src/js/utils/elements.js @@ -42,9 +42,11 @@ export function setAttributes(element, attributes) { return; } - Object.entries(attributes).forEach(([key, value]) => { - element.setAttribute(key, value); - }); + // Assume null and undefined attributes should be left out, + // Setting them would otherwise convert them to "null" and "undefined" + Object.entries(attributes) + .filter(([, value]) => !is.nullOrUndefined(value)) + .forEach(([key, value]) => element.setAttribute(key, value)); } // Create a DocumentFragment diff --git a/src/js/utils/events.js b/src/js/utils/events.js index 1e940c71..9009d1cc 100644 --- a/src/js/utils/events.js +++ b/src/js/utils/events.js @@ -111,3 +111,9 @@ export function unbindListeners() { this.eventListeners = []; } } + +// Run method when / if player is ready +export function ready () { + return new Promise(resolve => this.ready ? setTimeout(resolve, 0) : on.call(this, this.elements.container, 'ready', resolve)) + .then(() => {}); +} |