Togglable filter links (#4021)

* Togglable filter links

* Rename is_selected to selected?
This commit is contained in:
のら 2017-07-07 07:48:09 +09:00 committed by Eugen Rochko
parent 185b41beb4
commit 2d6128672f
2 changed files with 29 additions and 7 deletions

View file

@ -6,15 +6,21 @@ module Admin::FilterHelper
FILTERS = ACCOUNT_FILTERS + REPORT_FILTERS FILTERS = ACCOUNT_FILTERS + REPORT_FILTERS
def filter_link_to(text, more_params) def filter_link_to(text, link_to_params, link_class_params = link_to_params)
new_url = filtered_url_for(more_params) new_url = filtered_url_for(link_to_params)
link_to text, new_url, class: filter_link_class(new_url) new_class = filtered_url_for(link_class_params)
link_to text, new_url, class: filter_link_class(new_class)
end end
def table_link_to(icon, text, path, options = {}) def table_link_to(icon, text, path, options = {})
link_to safe_join([fa_icon(icon), text]), path, options.merge(class: 'table-action-link') link_to safe_join([fa_icon(icon), text]), path, options.merge(class: 'table-action-link')
end end
def selected?(more_params)
new_url = filtered_url_for(more_params)
filter_link_class(new_url) == 'selected' ? true : false
end
private private
def filter_params(more_params) def filter_params(more_params)

View file

@ -6,14 +6,30 @@
%strong= t('admin.accounts.location.title') %strong= t('admin.accounts.location.title')
%ul %ul
%li= filter_link_to t('admin.accounts.location.all'), local: nil, remote: nil %li= filter_link_to t('admin.accounts.location.all'), local: nil, remote: nil
%li= filter_link_to t('admin.accounts.location.local'), local: '1', remote: nil %li
%li= filter_link_to t('admin.accounts.location.remote'), remote: '1', local: nil - if selected? local: '1', remote: nil
= filter_link_to t('admin.accounts.location.local'), {local: nil, remote: nil}, {local: '1', remote: nil}
- else
= filter_link_to t('admin.accounts.location.local'), local: '1', remote: nil
%li
- if selected? remote: '1', local: nil
= filter_link_to t('admin.accounts.location.remote'), {remote: nil, local: nil}, {remote: '1', local: nil}
- else
= filter_link_to t('admin.accounts.location.remote'), remote: '1', local: nil
.filter-subset .filter-subset
%strong= t('admin.accounts.moderation.title') %strong= t('admin.accounts.moderation.title')
%ul %ul
%li= filter_link_to t('admin.accounts.moderation.all'), silenced: nil, suspended: nil %li= filter_link_to t('admin.accounts.moderation.all'), silenced: nil, suspended: nil
%li= filter_link_to t('admin.accounts.moderation.silenced'), silenced: '1' %li
%li= filter_link_to t('admin.accounts.moderation.suspended'), suspended: '1' - if selected? silenced: '1'
= filter_link_to t('admin.accounts.moderation.silenced'), {silenced: nil}, {silenced: '1'}
- else
= filter_link_to t('admin.accounts.moderation.silenced'), silenced: '1'
%li
- if selected? suspended: '1'
= filter_link_to t('admin.accounts.moderation.suspended'), {suspended: nil}, {suspended: '1'}
- else
= filter_link_to t('admin.accounts.moderation.suspended'), suspended: '1'
.filter-subset .filter-subset
%strong= t('admin.accounts.order.title') %strong= t('admin.accounts.order.title')
%ul %ul