diff --git a/js/src/common/Component.ts b/js/src/common/Component.ts index 1304d02c0a..19de882bc5 100644 --- a/js/src/common/Component.ts +++ b/js/src/common/Component.ts @@ -29,7 +29,9 @@ export interface ComponentAttrs extends Mithril.Attributes {} * * @see https://mithril.js.org/components.html */ -export default abstract class Component implements Mithril.ClassComponent { +export default abstract class Component + implements Mithril.ClassComponent +{ /** * The root DOM element for the component. */ @@ -40,48 +42,59 @@ export default abstract class Component): Mithril.Children; + abstract view(vnode: Mithril.Vnode): Mithril.Children; /** * @inheritdoc */ - oninit(vnode: Mithril.Vnode) { + oninit(vnode: Mithril.Vnode) { this.setAttrs(vnode.attrs); } /** * @inheritdoc */ - oncreate(vnode: Mithril.VnodeDOM) { + oncreate(vnode: Mithril.VnodeDOM) { this.element = vnode.dom; } /** * @inheritdoc */ - onbeforeupdate(vnode: Mithril.VnodeDOM) { + onbeforeupdate(vnode: Mithril.VnodeDOM) { this.setAttrs(vnode.attrs); } /** * @inheritdoc */ - onupdate(vnode: Mithril.VnodeDOM) {} + onupdate(vnode: Mithril.VnodeDOM) {} /** * @inheritdoc */ - onbeforeremove(vnode: Mithril.VnodeDOM) {} + onbeforeremove(vnode: Mithril.VnodeDOM) {} /** * @inheritdoc */ - onremove(vnode: Mithril.VnodeDOM) {} + onremove(vnode: Mithril.VnodeDOM) {} /** * Returns a jQuery object for this component's element. If you pass in a @@ -118,7 +131,7 @@ export default abstract class Component