diff options
Diffstat (limited to 'src/main/kotlin/pl/treksoft/kvision/html/Link.kt')
-rw-r--r-- | src/main/kotlin/pl/treksoft/kvision/html/Link.kt | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/main/kotlin/pl/treksoft/kvision/html/Link.kt b/src/main/kotlin/pl/treksoft/kvision/html/Link.kt index e201da48..4f333482 100644 --- a/src/main/kotlin/pl/treksoft/kvision/html/Link.kt +++ b/src/main/kotlin/pl/treksoft/kvision/html/Link.kt @@ -2,9 +2,11 @@ package pl.treksoft.kvision.html import com.github.snabbdom.VNode import pl.treksoft.kvision.core.Container +import pl.treksoft.kvision.core.ResString import pl.treksoft.kvision.snabbdom.StringPair -open class Link(label: String, url: String, classes: Set<String> = setOf()) : Container(classes) { +open class Link(label: String, url: String, icon: String? = null, image: ResString? = null, + classes: Set<String> = setOf()) : Container(classes) { var label = label set(value) { field = value @@ -15,9 +17,20 @@ open class Link(label: String, url: String, classes: Set<String> = setOf()) : Co field = value refresh() } + var icon = icon + set(value) { + field = value + refresh() + } + var image = image + set(value) { + field = value + refresh() + } override fun render(): VNode { - return kvh("a", arrayOf(label) + childrenVNodes()) + val t = createLabelWithIcon(label, icon, image) + return kvh("a", t + childrenVNodes()) } override fun getSnAttrs(): List<StringPair> { |