aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/pl/treksoft/kvision/html/Link.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/pl/treksoft/kvision/html/Link.kt')
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/html/Link.kt17
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> {