Class: Domkey::View::OptionSelectableGroup
Overview
OptionsSelectable CheckboxGroup, RadioGroup
Instance Attribute Summary
#container, #package
Instance Method Summary
collapse
#options, #set, #value
#[]
#element, #initialize
Instance Method Details
#before_set ⇒ Object
12
13
14
|
# File 'lib/domkey/view/option_selectable_group.rb', line 12
def before_set
validate_scope
end
|
#each {|PageObject| ... } ⇒ Object
94
95
96
97
|
# File 'lib/domkey/view/option_selectable_group.rb', line 94
def each(&blk)
validate_scope
super(&blk)
end
|
#options_by(opts) ⇒ Object
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
# File 'lib/domkey/view/option_selectable_group.rb', line 66
def options_by opts
validate_scope
result = []
each_with_index do |e, i|
v = opts.map do |o|
case o
when :index
[o, i]
when :label, :text
[o, LabelMapper.find(e).element.text]
else
[o, e.send(o)]
end
end
result << Hash[v]
end
result
end
|
#options_by_default ⇒ Object
61
62
63
64
|
# File 'lib/domkey/view/option_selectable_group.rb', line 61
def options_by_default
validate_scope
map { |e| e.value }
end
|
#set_by_index(value) ⇒ Object
16
17
18
|
# File 'lib/domkey/view/option_selectable_group.rb', line 16
def set_by_index value
[*value].each { |i| self[i.to_i].set(true) }
end
|
#set_by_label(value) ⇒ Object
20
21
22
|
# File 'lib/domkey/view/option_selectable_group.rb', line 20
def set_by_label value
to_labeled.__send__(:set_strategy, value)
end
|
#set_by_value(value) ⇒ Object
24
25
26
27
28
29
30
31
32
|
# File 'lib/domkey/view/option_selectable_group.rb', line 24
def set_by_value value
o = case value
when String
find { |o| o.value == value }
when Regexp
find { |o| o.value.match(value) }
end
o ? o.element.set : fail(Exception::NotFoundError, "Element not found with value: #{value.inspect}")
end
|
100
101
102
103
|
# File 'lib/domkey/view/option_selectable_group.rb', line 100
def to_a
validate_scope
super
end
|
#to_labeled ⇒ Object
convert to LabeledGroup settable by corresponding label text
88
89
90
|
# File 'lib/domkey/view/option_selectable_group.rb', line 88
def to_labeled
LabeledGroup.new(self)
end
|
#value_by_default ⇒ Object
34
35
36
37
|
# File 'lib/domkey/view/option_selectable_group.rb', line 34
def value_by_default
validate_scope
find_all { |e| e.element.set? }.map { |e| e.value }
end
|
#value_by_options(opts) ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/domkey/view/option_selectable_group.rb', line 39
def value_by_options opts
validate_scope
result = []
each_with_index do |e, i|
if e.element.set?
v = opts.map do |o|
case o
when :index
[o, i]
when :label, :text
[o, LabelMapper.find(e).element.text]
else
[o, e.send(o)]
end
end
result << Hash[v]
end
end
result
end
|