package pl.treksoft.kvision.html import com.github.snabbdom.VNode import pl.treksoft.kvision.core.ResString import pl.treksoft.kvision.panel.SimplePanel import pl.treksoft.kvision.snabbdom.StringPair open class Link( label: String, url: String, icon: String? = null, image: ResString? = null, classes: Set = setOf() ) : SimplePanel(classes) { private var label = label set(value) { field = value refresh() } private var url = url set(value) { field = value refresh() } private var icon = icon set(value) { field = value refresh() } private var image = image set(value) { field = value refresh() } override fun render(): VNode { val t = createLabelWithIcon(label, icon, image) return kvh("a", t + childrenVNodes()) } override fun getSnAttrs(): List { return super.getSnAttrs() + ("href" to url) } }