blob: a8759208d11351be17ece66cbd33015463e8638a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
package pl.treksoft.kvision.form
import pl.treksoft.kvision.core.Widget
import pl.treksoft.kvision.panel.SimplePanel
import pl.treksoft.kvision.snabbdom.SnOn
import pl.treksoft.kvision.snabbdom.StringPair
open class Select(options: List<StringPair>? = null, value: String? = null,
multiple: Boolean = false, label: String? = null,
rich: Boolean = false) : SimplePanel(setOf("form-group")), StringFormField {
var options
get() = input.options
set(value) {
input.options = value
}
override var value
get() = input.value
set(value) {
input.value = value
}
var startValue
get() = input.startValue
set(value) {
input.startValue = value
}
var name
get() = input.name
set(value) {
input.name = value
}
var multiple
get() = input.multiple
set(value) {
input.multiple = value
}
var maxOptions
get() = input.maxOptions
set(value) {
input.maxOptions = value
}
var liveSearch
get() = input.liveSearch
set(value) {
input.liveSearch = value
}
var placeholder
get() = input.placeholder
set(value) {
input.placeholder = value
}
var style
get() = input.style
set(value) {
input.style = value
}
var selectWidth
get() = input.selectWidth
set(value) {
input.selectWidth = value
}
var selectWidthType
get() = input.selectWidthType
set(value) {
input.selectWidthType = value
}
var emptyOption
get() = input.emptyOption
set(value) {
input.emptyOption = value
}
override var disabled
get() = input.disabled
set(value) {
input.disabled = value
}
var label
get() = flabel.text
set(value) {
flabel.text = value
}
var rich
get() = flabel.rich
set(value) {
flabel.rich = value
}
override var size
get() = input.size
set(value) {
input.size = value
}
private val idc = "kv_form_select_" + counter
val input: SelectInput = SelectInput(options, value, multiple, setOf("form-control")).apply { id = idc }
val flabel: FieldLabel = FieldLabel(idc, label, rich)
init {
this.addInternal(flabel)
this.addInternal(input)
counter++
}
companion object {
var counter = 0
}
@Suppress("UNCHECKED_CAST")
override fun <T : Widget> setEventListener(block: SnOn<T>.() -> Unit): Widget {
input.setEventListener(block)
return this
}
override fun setEventListener(block: SnOn<Widget>.() -> Unit): Widget {
input.setEventListener(block)
return this
}
override fun removeEventListeners(): Widget {
input.removeEventListeners()
return this
}
override fun add(child: Widget): SimplePanel {
input.add(child)
return this
}
override fun addAll(children: List<Widget>): SimplePanel {
input.addAll(children)
return this
}
override fun remove(child: Widget): SimplePanel {
input.remove(child)
return this
}
override fun removeAll(): SimplePanel {
input.removeAll()
return this
}
override fun getChildren(): List<Widget> {
return input.getChildren()
}
}
|