def append_to_response( response, context )
take_bool(:default)
take_bool(:expanded)
take_value(:open_label)
take_value(:close_label)
take_value(:open_image)
take_value(:close_image)
take_value(:label_tag)
take_value(:label_class)
take_value(:expand_tag)
take_value(:expand_class)
take_value(:package)
label_open_tag = label_close_tag = nil
label_close_tag = "</#{@values[:label_tag]}>"
expand_close_tag = "</#{@values[:expand_tag]}>"
if klass = @values[:label_class] then
label_open_tag = "<#{@values[:label_tag]} class=\"#{klass}\">"
else
label_open_tag = "<#{@values[:label_tag]}>"
end
if klass = @values[:expand_class] then
expand_open_tag = "<#{@values[:expand_tag]} class=\"#{klass}\">"
else
expand_open_tag = "<#{@values[:expand_tag]}>"
end
expanded = @values[:expanded] || @values[:default]
context.session
url = context.component_action_url
if expanded then
response.content << label_open_tag
if image = image_url(@values[:open_image], context.request) then
response.content << "<a href=\"#{url}\"><image src=\"#{image}\"></a> "
end
response.content << "<a href=\"#{url}\">#{@values[:open_label]}</a>"
response.content << label_close_tag
response.content << expand_open_tag
@node.append_to_response(response, context)
response.content << expand_close_tag
else
response.content << label_open_tag
if image = image_url(@values[:close_image], context.request) then
response.content << "<a href=\"#{url}\"><image src=\"#{image}\"></a> "
end
response.content << "<a href=\"#{url}\">#{@values[:close_label]}</a>"
response.content << label_close_tag
end
end