Togglable filter links (#4021)
* Togglable filter links * Rename is_selected to selected?
This commit is contained in:
parent
185b41beb4
commit
2d6128672f
|
@ -6,15 +6,21 @@ module Admin::FilterHelper
|
|||
|
||||
FILTERS = ACCOUNT_FILTERS + REPORT_FILTERS
|
||||
|
||||
def filter_link_to(text, more_params)
|
||||
new_url = filtered_url_for(more_params)
|
||||
link_to text, new_url, class: filter_link_class(new_url)
|
||||
def filter_link_to(text, link_to_params, link_class_params = link_to_params)
|
||||
new_url = filtered_url_for(link_to_params)
|
||||
new_class = filtered_url_for(link_class_params)
|
||||
link_to text, new_url, class: filter_link_class(new_class)
|
||||
end
|
||||
|
||||
def table_link_to(icon, text, path, options = {})
|
||||
link_to safe_join([fa_icon(icon), text]), path, options.merge(class: 'table-action-link')
|
||||
end
|
||||
|
||||
def selected?(more_params)
|
||||
new_url = filtered_url_for(more_params)
|
||||
filter_link_class(new_url) == 'selected' ? true : false
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def filter_params(more_params)
|
||||
|
|
|
@ -6,14 +6,30 @@
|
|||
%strong= t('admin.accounts.location.title')
|
||||
%ul
|
||||
%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= filter_link_to t('admin.accounts.location.remote'), remote: '1', local: nil
|
||||
%li
|
||||
- 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
|
||||
%strong= t('admin.accounts.moderation.title')
|
||||
%ul
|
||||
%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= filter_link_to t('admin.accounts.moderation.suspended'), suspended: '1'
|
||||
%li
|
||||
- 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
|
||||
%strong= t('admin.accounts.order.title')
|
||||
%ul
|
||||
|
|
Reference in a new issue