checkboxes.blade.php
69 lines
| 1 | @php /** @var \IAWP\Overview\Form_Field $form_field */ @endphp |
| 2 | @php /** @var string[] $selected_value */ @endphp |
| 3 | |
| 4 | @php |
| 5 | $selected_value = $selected_value ?? null; |
| 6 | $template_values = $form_field->template_values(); |
| 7 | $has_groups = !array_key_exists(0, $template_values); |
| 8 | @endphp |
| 9 | |
| 10 | <span>{{ sanitize_text_field($form_field->name()) }}</span> |
| 11 | |
| 12 | @if($has_groups) |
| 13 | <div id="{{ esc_attr($form_field->id()) }}"> |
| 14 | <div class="checkbox-group-container" data-controller="checkbox-group"> |
| 15 | <div class="tab-container"> |
| 16 | @foreach($template_values as $group_name => $values) |
| 17 | <button type="button" |
| 18 | class="checkbox-group-tab {{ $loop->first ? "selected" : "" }}" |
| 19 | data-group-name="{{ esc_attr($group_name) }}" |
| 20 | data-checkbox-group-target="groupTab" |
| 21 | data-action="checkbox-group#changeTab" |
| 22 | >{{ sanitize_text_field($group_name) }}</button> |
| 23 | @endforeach |
| 24 | </div> |
| 25 | @foreach($template_values as $group_name => $values) |
| 26 | @php $first_group = $loop->first @endphp |
| 27 | <div data-checkbox-group-target="group" |
| 28 | data-group-name="{{ esc_attr($group_name) }}" |
| 29 | class="checkbox-group {{ $loop->first ? "selected" : "" }}" |
| 30 | > |
| 31 | @foreach($values as $value) |
| 32 | <label> |
| 33 | <input type="checkbox" |
| 34 | name="{{ esc_attr($form_field->id()) }}" |
| 35 | value="{{ esc_attr($value->id()) }}" |
| 36 | @if(is_array($selected_value)) |
| 37 | {{ in_array($value->id(), $selected_value) ? 'checked' : '' }} |
| 38 | @else |
| 39 | {{ $first_group && $loop->first ? 'checked' : '' }} |
| 40 | @endif |
| 41 | /> |
| 42 | {{ sanitize_text_field($value->name()) }} |
| 43 | </label> |
| 44 | @endforeach |
| 45 | </div> |
| 46 | @endforeach |
| 47 | </div> |
| 48 | </div> |
| 49 | @else |
| 50 | <div id="{{ esc_attr($form_field->id()) }}"> |
| 51 | <div class="checkbox-group selected" data-controller="checkbox-group"> |
| 52 | @foreach($template_values as $value) |
| 53 | <label> |
| 54 | <input type="checkbox" |
| 55 | name="{{ esc_attr($form_field->id()) }}" |
| 56 | value="{{ esc_attr($value->id()) }}" |
| 57 | @if(is_array($selected_value)) |
| 58 | {{ in_array($value->id(), $selected_value) ? 'checked' : '' }} |
| 59 | @else |
| 60 | {{ $loop->first ? 'checked' : '' }} |
| 61 | @endif |
| 62 | /> |
| 63 | {{ sanitize_text_field($value->name()) }} |
| 64 | </label> |
| 65 | @endforeach |
| 66 | </div> |
| 67 | </div> |
| 68 | @endif |
| 69 |