Add view mode for checkbox template component [SCI-5675]

This commit is contained in:
aignatov-bio 2021-05-03 13:44:27 +02:00
parent 117301f18e
commit 931c587af7
3 changed files with 29 additions and 14 deletions

View file

@ -1,7 +1,11 @@
<% if @editing %>
<div>
<div class="sci-checkbox-container">
<%= check_box_tag @name, true, (@value == 'true'), class: 'sci-checkbox', data: { type: 'CheckboxInputComponent' } %>
<%= check_box_tag @name, true, @value, class: 'sci-checkbox', data: { type: 'CheckboxInputComponent' } %>
<span class="sci-checkbox-label"></span>
</div>
<%= @label %>
</div>
<% else %>
<div class="template-checkbox <%= 'selected' if @value %>"></div>
<% end %>

View file

@ -1,14 +1,25 @@
<div>
<%= label_tag "#{@name}[]", @label %>
<% if @editing %>
<div>
<%= label_tag "#{@name}[]", @label %>
<ul>
<% @items.each do |key, value| %>
<li>
<div class="sci-checkbox-container">
<%= check_box_tag "#{@name}[]", key, (@value && @value[key.to_s]), class: 'sci-checkbox', data: { type: 'MultiCheckboxInputComponent' } %>
<span class="sci-checkbox-label"></span>
</div>
<%= value %>
</li>
<% end %>
</ul>
</div>
<% else %>
<ul>
<% @items.each do |key, value| %>
<li>
<div class="sci-checkbox-container">
<%= check_box_tag "#{@name}[]", key, (@value && @value[key.to_s] == 'true'), class: 'sci-checkbox', data: { type: 'MultiCheckboxInputComponent' } %>
<span class="sci-checkbox-label"></span>
</div>
<%= value %>
</li>
<% end %>
<% @items.each do |key, value| %>
<li>
<div class="template-checkbox <%= 'selected' if @value && @value[key.to_s] %>"></div>
<%= value %>
</li>
<% end %>
</ul>
</div>
<% end %>

View file

@ -2,7 +2,7 @@
module Reports
class MultiCheckboxInputComponent < TemplateValueComponent
def initialize(report:, name:, label:, placeholder: nil, editing: false, items: {})
def initialize(report:, name:, label:, placeholder: nil, editing: true, items: {})
super(report: report, name: name, label: label, placeholder: placeholder, editing: editing)
@items = items
end