diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-03-26 19:13:49 -0700 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-03-26 19:13:49 -0700 |
commit | d6c8eefb5d0298f0c733ac4880e1e64f2a37b24c (patch) | |
tree | e96e4db577868913283a6fcdbd254ca08a998b78 /app/helpers/selects_helper.rb | |
parent | 1c2711f7e38a7ca6adb8a0bca5166845405ad5fe (diff) | |
download | gitlab-ce-d6c8eefb5d0298f0c733ac4880e1e64f2a37b24c.tar.gz |
Big refactoring of issues filters
* Squash project users selectbox and users selectbox into one class
* Move from API autocomplete to GitLab internal one
* Smarter filter for project/group/all issues
* Use selectbox with searchbox for assignee/author/milestone/label
* Switch to ajax filter for issue author/assignee
Diffstat (limited to 'app/helpers/selects_helper.rb')
-rw-r--r-- | app/helpers/selects_helper.rb | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/app/helpers/selects_helper.rb b/app/helpers/selects_helper.rb index 796d805f219..457cd3fa46b 100644 --- a/app/helpers/selects_helper.rb +++ b/app/helpers/selects_helper.rb @@ -4,18 +4,27 @@ module SelectsHelper css_class << "multiselect " if opts[:multiple] css_class << (opts[:class] || '') value = opts[:selected] || '' + placeholder = opts[:placeholder] || 'Search for a user' - hidden_field_tag(id, value, class: css_class) - end + null_user = opts[:null_user] || false + any_user = opts[:any_user] || false - def project_users_select_tag(id, opts = {}) - css_class = "ajax-project-users-select " - css_class << "multiselect " if opts[:multiple] - css_class << (opts[:class] || '') - value = opts[:selected] || '' - placeholder = opts[:placeholder] || 'Select user' - project_id = opts[:project_id] || @project.id - hidden_field_tag(id, value, class: css_class, 'data-placeholder' => placeholder, 'data-project-id' => project_id) + html = { + class: css_class, + 'data-placeholder' => placeholder, + 'data-null-user' => null_user, + 'data-any-user' => any_user, + } + + unless opts[:scope] == :all + if @project + html['data-project-id'] = @project.id + elsif @group + html['data-group-id'] = @group.id + end + end + + hidden_field_tag(id, value, html) end def groups_select_tag(id, opts = {}) |