package pl.treksoft.kvision import pl.treksoft.kvision.basic.Label import pl.treksoft.kvision.core.Container import pl.treksoft.kvision.core.Img import pl.treksoft.kvision.core.KVManager import pl.treksoft.kvision.core.Root import pl.treksoft.kvision.dropdown.DropDown import pl.treksoft.kvision.html.* import pl.treksoft.kvision.html.TAG.H1 import pl.treksoft.kvision.routing.routing class Showcase : ApplicationBase() { override fun start(state: Map<String, Any>) { val root = Root("showcase") val container = Container(setOf("abc", "def")) val h1 = Tag(H1, "To jest <i>test pisania</i> tekstu", false, ALIGN.NONE, classes = setOf("test", "test2")) container.add(h1) val label = Label("KVLabel1") container.add(label) val label2 = Label("KVLabel2") container.add(label2) root.add(container) label.hide() label.show() val dd = DropDown("Dropdown", listOf("DAsdasd asdasdas das", "dasdasd asdasdas das"), "flag") root.add(dd) val p = Tag(TAG.P, "To jest prawo", align = ALIGN.RIGHT) p.title = "Tytuł" root.add(p) val del = InTag(INTAG.DEL, "To jest deleted") root.add(del) val list = ListTag(LIST.DL_HORIZ, listOf("abc", "de<b>fdasdasdasddasd</b>tdasdas", "Dasdsada", "dasdasdads"), true) root.add(list) val img = Image(Img("kotlin.png"), "Image", true, IMAGE_SHAPE.ROUNDED) root.add(img) val button = Button("To jest przycisk FA", "fa-flag", BUTTON_STYLE.DANGER) button.setEventListener<Button> { click = { _ -> println(self.text) } } root.add(button) val button2 = Button("To jest przycisk", "flag", BUTTON_STYLE.DANGER) button2.setEventListener { click = { e -> println("2" + e) button.setEventListener { click = null } } } root.add(button2) val button3 = Button("To jest przycisk IMG", image = Img("kotlin.png")) button3.setEventListener { click = { e -> println("3" + e) button.setEventListener<Button> { click = { _ -> println(self.text) } dblclick = { e -> println("111" + e) } } } } root.add(button3) println("init routing") routing.on({ -> println("root") }) .on("/abc", { -> println("abc") }) .on("/test", { -> println("test") }) .resolve() // routing.on(RegExp("/abc/def/(.*)/(.*)/(.*)"), { x,y,z,u,v -> println(x) }) // router.on("/test", { -> println("test") }) /* val vnode = h("div", snOpt { on = snEvents { click = { e -> println(e) } } }, arrayOf( h("span", snOpt { style = snStyle("fontWeight" to "bold", "fontStyle" to "italic") }, arrayOf("This is bold")), " and this is just normal text ", h("a", snOpt { props = snProps("href" to "/foo", "target" to "_blank") }, "I\'ll take you places!") )) val v = patch(container, vnode) val vnode2 = virtualize("<a href='/top' target='_top'>Test2</a>") patch(v, vnode2)*/ } override fun dispose(): Map<String, Any> { KVManager.shutdown() return mapOf<String, Any>() } }