default HTMLElement withChild(String tagName) { HTMLElement result = getOwnerDocument().createElement(tagName); appendChild(result); return this; }
default HTMLElement withText(String content) { clear().appendChild(getOwnerDocument().createTextNode(content)); return this; }
default HTMLElement withChild(Node node) { appendChild(node); return this; }
default HTMLElement createElement(String tagName, Consumer<HTMLElement> consumer) { HTMLElement result = createElement(tagName); consumer.accept(result); return result; }
default HTMLElement withAttr(String name, String value) { setAttribute(name, value); return this; }
default void addCurrentTime(double delta) { setCurrentTime(getCurrentTime() + delta); }
default void addPlaybackRate(double delta) { setPlaybackRate(getPlaybackRate() + delta); }
default HTMLElement clear() { Node node = getLastChild(); while (node != null) { Node prev = node.getPreviousSibling(); if (node.getNodeType() != ATTRIBUTE_NODE) { removeChild(node); } node = prev; } return this; }
@Override public void destroy() { if (bound) { bound = false; element.removeEventListener("change", nativeListener); } }
@Override public void render() { if (!bound) { bound = true; element.addEventListener(eventName, wrapperListener); } }
@Override public void render() { if (!bound) { bound = true; element.addEventListener("change", nativeListener); } }
@Override public void destroy() { if (bound) { bound = false; element.removeEventListener(eventName, wrapperListener); } }
@Override public void destroy() { element.removeAttribute(name); } }
default HTMLElement withChild(String tagName, Consumer<HTMLElement> consumer) { HTMLElement result = getOwnerDocument().createElement(tagName); appendChild(result); consumer.accept(result); return this; }
@Override public void destroy() { if (bound) { bound = false; element.removeEventListener("change", nativeListener); } }
@Override public void render() { if (!bound) { bound = true; element.addEventListener("change", nativeListener); } }
@Override public void destroy() { if (bound) { bound = false; element.removeEventListener(eventName, action); } } }
@Override public void destroy() { if (bound) { bound = false; element.removeEventListener("change", nativeListener); } }
@Override public void destroy() { if (bound) { bound = false; element.removeEventListener("change", nativeListener); } }