Extract partials
This commit is contained in:
@@ -1,83 +1,9 @@
|
||||
<% filter = user_filtering.filter %>
|
||||
|
||||
<%= form_with url: events_path,
|
||||
method: :get, class: "flex-inline flex-wrap position-relative justify-center",
|
||||
data: { controller: "form", turbo_frame: "cards_container", turbo_action: "advance" } do |form| %>
|
||||
<%= tag.div class: "flex-inline flex-wrap position-relative quick-filter",
|
||||
data: {
|
||||
controller: "dialog filter multi-selection-combobox",
|
||||
action: "keydown.esc->dialog#close click@document->dialog#closeOnClickOutside turbo:morph@window->multi-selection-combobox#refresh dialog:close@document->filter#clearInput",
|
||||
filter_show: user_filtering.show_boards?,
|
||||
multi_selection_combobox_no_selection_label_value: user_filtering.selected_boards_label } do %>
|
||||
<button type="button" class="btn borderless btn--plain events__filter-select" data-action="click->dialog#toggle:stop">
|
||||
<span data-multi-selection-combobox-target="label">
|
||||
</span>
|
||||
</button>
|
||||
|
||||
<template data-multi-selection-combobox-target="hiddenFieldTemplate">
|
||||
<%= hidden_field_tag "board_ids[]", nil, data: { filter_settings_target: "field" } %>
|
||||
</template>
|
||||
|
||||
<%= filter_dialog "Board…" do %>
|
||||
<strong class="popup__title">Board…</strong>
|
||||
|
||||
<% if user_filtering.boards.many? %>
|
||||
<%= text_field_tag nil, nil, id: nil, placeholder: "Filter…", class: "input input--transparent txt-small font-weight-normal", autofocus: true,
|
||||
type: "search", autocorrect: "off", autocomplete: "off", data: { "1p-ignore": "true", filter_target: "input", action: "input->filter#filter" } %>
|
||||
<% end %>
|
||||
|
||||
<ul class="popup__list" data-filter-target="list" role="listbox">
|
||||
<% user_filtering.boards.each do |board| %>
|
||||
<%= tag.li class: "popup__item", data: {
|
||||
filter_target: "item", navigable_list_target: "item", multi_selection_combobox_target: "item", multi_selection_combobox_value: board.id, multi_selection_combobox_label: board.name },
|
||||
role: "checkbox", aria: { checked: filter.boards.include?(board) } do %>
|
||||
<button type="button" class="btn popup__btn" data-action="dialog#close multi-selection-combobox#change filter-settings#change form#submit">
|
||||
<span class="overflow-ellipsis flex-item-grow"><%= board.name %></span>
|
||||
<%= icon_tag "check", class: "checked flex-item-justify-end" %>
|
||||
</button>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</ul>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<%= render "events/index/filter/board", user_filtering: %>
|
||||
|
||||
<span> by </span>
|
||||
|
||||
<%= tag.div class: "flex-inline flex-wrap position-relative quick-filter",
|
||||
data: {
|
||||
controller: "dialog filter multi-selection-combobox",
|
||||
action: "keydown.esc->dialog#close click@document->dialog#closeOnClickOutside turbo:morph@window->multi-selection-combobox#refresh dialog:close@document->filter#clearInput",
|
||||
filter_show: user_filtering.show_creators?,
|
||||
multi_selection_combobox_no_selection_label_value: "everyone" } do %>
|
||||
<button type="button" class="btn borderless btn--plain events__filter-select" data-action="click->dialog#toggle:stop">
|
||||
<span data-multi-selection-combobox-target="label">
|
||||
</span>
|
||||
</button>
|
||||
|
||||
<template data-multi-selection-combobox-target="hiddenFieldTemplate">
|
||||
<%= hidden_field_tag "creator_ids[]", nil, data: { filter_settings_target: "field" } %>
|
||||
</template>
|
||||
|
||||
<%= filter_dialog "Person…" do %>
|
||||
<strong class="popup__title">Person…</strong>
|
||||
|
||||
<% if user_filtering.users.many? %>
|
||||
<%= text_field_tag nil, nil, id: nil, placeholder: "Filter…", class: "input input--transparent txt-small font-weight-normal", autofocus: true,
|
||||
type: "search", autocorrect: "off", autocomplete: "off", data: { "1p-ignore": "true", filter_target: "input", action: "input->filter#filter" } %>
|
||||
<% end %>
|
||||
|
||||
<ul class="popup__list" data-filter-target="list" role="listbox">
|
||||
<% user_filtering.users.each do |user| %>
|
||||
<%= tag.li class: "popup__item", data: {
|
||||
filter_target: "item", navigable_list_target: "item", multi_selection_combobox_target: "item", multi_selection_combobox_value: user.id, multi_selection_combobox_label: user.familiar_name },
|
||||
role: "checkbox", aria: { checked: filter.creators.include?(user) } do %>
|
||||
<button type="button" class="btn popup__btn" data-action="dialog#close multi-selection-combobox#change form#submit">
|
||||
<span class="overflow-ellipsis flex-item-grow"><%= user.name %></span>
|
||||
<%= icon_tag "check", class: "checked flex-item-justify-end" %>
|
||||
</button>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</ul>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<%= render "events/index/filter/user", user_filtering: %>
|
||||
<% end %>
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
<% filter = user_filtering.filter %>
|
||||
|
||||
<%= tag.div class: "flex-inline flex-wrap position-relative quick-filter",
|
||||
data: {
|
||||
controller: "dialog filter multi-selection-combobox",
|
||||
action: "keydown.esc->dialog#close click@document->dialog#closeOnClickOutside turbo:morph@window->multi-selection-combobox#refresh dialog:close@document->filter#clearInput",
|
||||
filter_show: user_filtering.show_boards?,
|
||||
multi_selection_combobox_no_selection_label_value: user_filtering.selected_boards_label } do %>
|
||||
<button type="button" class="btn borderless btn--plain events__filter-select" data-action="click->dialog#toggle:stop">
|
||||
<span data-multi-selection-combobox-target="label">
|
||||
</span>
|
||||
</button>
|
||||
|
||||
<template data-multi-selection-combobox-target="hiddenFieldTemplate">
|
||||
<%= hidden_field_tag "board_ids[]", nil, data: { filter_settings_target: "field" } %>
|
||||
</template>
|
||||
|
||||
<%= filter_dialog "Board…" do %>
|
||||
<strong class="popup__title">Board…</strong>
|
||||
|
||||
<% if user_filtering.boards.many? %>
|
||||
<%= text_field_tag nil, nil, id: nil, placeholder: "Filter…", class: "input input--transparent txt-small font-weight-normal", autofocus: true,
|
||||
type: "search", autocorrect: "off", autocomplete: "off", data: { "1p-ignore": "true", filter_target: "input", action: "input->filter#filter" } %>
|
||||
<% end %>
|
||||
|
||||
<ul class="popup__list" data-filter-target="list" role="listbox">
|
||||
<% user_filtering.boards.each do |board| %>
|
||||
<%= tag.li class: "popup__item", data: {
|
||||
filter_target: "item", navigable_list_target: "item", multi_selection_combobox_target: "item", multi_selection_combobox_value: board.id, multi_selection_combobox_label: board.name },
|
||||
role: "checkbox", aria: { checked: filter.boards.include?(board) } do %>
|
||||
<button type="button" class="btn popup__btn" data-action="dialog#close multi-selection-combobox#change filter-settings#change form#submit">
|
||||
<span class="overflow-ellipsis flex-item-grow"><%= board.name %></span>
|
||||
<%= icon_tag "check", class: "checked flex-item-justify-end" %>
|
||||
</button>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</ul>
|
||||
<% end %>
|
||||
<% end %>
|
||||
@@ -0,0 +1,39 @@
|
||||
<% filter = user_filtering.filter %>
|
||||
|
||||
<%= tag.div class: "flex-inline flex-wrap position-relative quick-filter",
|
||||
data: {
|
||||
controller: "dialog filter multi-selection-combobox",
|
||||
action: "keydown.esc->dialog#close click@document->dialog#closeOnClickOutside turbo:morph@window->multi-selection-combobox#refresh dialog:close@document->filter#clearInput",
|
||||
filter_show: user_filtering.show_creators?,
|
||||
multi_selection_combobox_no_selection_label_value: "everyone" } do %>
|
||||
<button type="button" class="btn borderless btn--plain events__filter-select" data-action="click->dialog#toggle:stop">
|
||||
<span data-multi-selection-combobox-target="label">
|
||||
</span>
|
||||
</button>
|
||||
|
||||
<template data-multi-selection-combobox-target="hiddenFieldTemplate">
|
||||
<%= hidden_field_tag "creator_ids[]", nil, data: { filter_settings_target: "field" } %>
|
||||
</template>
|
||||
|
||||
<%= filter_dialog "Person…" do %>
|
||||
<strong class="popup__title">Person…</strong>
|
||||
|
||||
<% if user_filtering.users.many? %>
|
||||
<%= text_field_tag nil, nil, id: nil, placeholder: "Filter…", class: "input input--transparent txt-small font-weight-normal", autofocus: true,
|
||||
type: "search", autocorrect: "off", autocomplete: "off", data: { "1p-ignore": "true", filter_target: "input", action: "input->filter#filter" } %>
|
||||
<% end %>
|
||||
|
||||
<ul class="popup__list" data-filter-target="list" role="listbox">
|
||||
<% user_filtering.users.each do |user| %>
|
||||
<%= tag.li class: "popup__item", data: {
|
||||
filter_target: "item", navigable_list_target: "item", multi_selection_combobox_target: "item", multi_selection_combobox_value: user.id, multi_selection_combobox_label: user.familiar_name },
|
||||
role: "checkbox", aria: { checked: filter.creators.include?(user) } do %>
|
||||
<button type="button" class="btn popup__btn" data-action="dialog#close multi-selection-combobox#change form#submit">
|
||||
<span class="overflow-ellipsis flex-item-grow"><%= user.name %></span>
|
||||
<%= icon_tag "check", class: "checked flex-item-justify-end" %>
|
||||
</button>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</ul>
|
||||
<% end %>
|
||||
<% end %>
|
||||
Reference in New Issue
Block a user