-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathSelect.coffee
33 lines (28 loc) · 855 Bytes
/
Select.coffee
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
goog.provide 'wzk.ui.form.Select'
goog.require 'wzk.ui.form.Field'
goog.require 'wzk.ui.form.SelectRenderer'
goog.require 'goog.object'
class wzk.ui.form.Select extends wzk.ui.form.Field
###*
@constructor
@extends {wzk.ui.form.Field}
@param {Object} params
multiple: boolean
###
constructor: (params = {}) ->
params.renderer = wzk.ui.form.SelectRenderer.getInstance() unless params?.renderer?
params.size ?= 1
super params
{@multiple, @options} = params
@multiple ?= false
@options ?= {}
@setOptions @options
###*
@override
###
setValue: (val) ->
# a value must be a string, otherwise {@link goog.dom.forms.setValue} won't match an option
super String(val) if val isnt undefined
setOptions: (opts) ->
@setValue goog.object.getAnyKey(opts) unless @value?
@options = opts