andylamax
07/28/2020, 7:34 PMclass TestElement : HTMLElement() {
override val childElementCount: Int
get() = TODO("Not yet implemented")
override val children: HTMLCollection
get() = TODO("Not yet implemented")
override var contentEditable: String
get() = TODO("Not yet implemented")
set(value) {}
override val isContentEditable: Boolean
get() = TODO("Not yet implemented")
override val style: CSSStyleDeclaration
get() = TODO("Not yet implemented")
override fun after(vararg nodes: dynamic) {
TODO("Not yet implemented")
}
override fun append(vararg nodes: dynamic) {
TODO("Not yet implemented")
}
override fun before(vararg nodes: dynamic) {
TODO("Not yet implemented")
}
override fun convertPointFromNode(point: DOMPointInit, from: dynamic, options: ConvertCoordinateOptions): DOMPoint {
TODO("Not yet implemented")
}
override fun convertQuadFromNode(quad: dynamic, from: dynamic, options: ConvertCoordinateOptions): DOMQuad {
TODO("Not yet implemented")
}
override fun convertRectFromNode(rect: DOMRectReadOnly, from: dynamic, options: ConvertCoordinateOptions): DOMQuad {
TODO("Not yet implemented")
}
override fun getBoxQuads(options: BoxQuadOptions): Array<DOMQuad> {
TODO("Not yet implemented")
}
override fun prepend(vararg nodes: dynamic) {
TODO("Not yet implemented")
}
override fun querySelector(selectors: String): Element? {
TODO("Not yet implemented")
}
override fun querySelectorAll(selectors: String): NodeList {
TODO("Not yet implemented")
}
override fun remove() {
TODO("Not yet implemented")
}
override fun replaceWith(vararg nodes: dynamic) {
TODO("Not yet implemented")
}
}
Can't the HTMLElement class be declared to show that these methods are already implemented externally?Big Chungus
07/28/2020, 7:41 PMBig Chungus
07/28/2020, 7:42 PMopen val remove: ()->Unit = definedExternally
turansky
07/28/2020, 9:08 PMES6
class - requirement for web component
Kotlin/JS output - ES5 class 😞turansky
07/28/2020, 9:10 PMandylamax
07/29/2020, 1:08 AMandylamax
07/29/2020, 1:08 AMIlya Goncharov [JB]
07/29/2020, 9:40 AMabstract
and then register it via browser API window.customElements.define
and then create with usual document.createElement
But yes, the main problem, that for now it will not work because web-components requires ES2015 class signature
fun main() {
window.customElements.define("popup-info", MyElement::class.js.unsafeCast<() -> dynamic>())
document.createElement("popup-info").apply {
document.appendChild(this)
}
}
abstract class MyElement: HTMLElement()
andylamax
07/29/2020, 1:22 PM