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
|
# File 'app/components/spark/ui/checklist/container_component.rb', line 21
def render
button_attrs = root_attr.new(data: { toggle_class: %(collapsed; #{selector(:data, :checklist_id)}) })
add_class('collapsed') if can_collapse?
add_class('completed') if complete?
tag.div(tag_attrs) {
if complete?
concat complete_content unless complete_content.blank?
else
items.each_with_index { |item, index|
concat tag.div(class: can_collapse? && collapse_after - 1 < index ? 'collapse-item' : '') {
concat item
}
}
if can_collapse?
concat tag.div(class: 'item-collapser') {
concat tag.button('View full list', button_attrs.merge(class: 'view-list'))
concat tag.button('Collapse list', button_attrs.merge(class: 'collapse-list'))
}
end
end
}
end
|