def take_values_from_request( request, context )
take_value(:list)
take_value(:selections)
take_value(:selected_values)
names = [:selections, :selected_values]
names.each do |name|
if @values[name].nil? then
@values[name] = []
set_value(name, @values[name])
end
end
options = values_from_request(request, context)
if !options.empty? and context.current_form?(request) then
if declared?(:selections) then
@values[:selections].clear
if declared?(:value) then
@values[:list].each do |item|
set_value(:item, item)
take_value(:value)
if options.include?(@values[:value].to_s) then
@values[:selections] << item
end
end
else
options.each do |option|
@values[:selections] << @values[:list][option.to_i]
end
end
elsif declared?(:selected_values) then
@values[:selected_values].replace(options)
end
end
end