diff options
author | Bryce <bryce@gitlab.com> | 2016-08-24 13:46:07 +0200 |
---|---|---|
committer | Bryce Johnson <bryce@gitlab.com> | 2016-09-02 20:30:34 +0200 |
commit | 1750fe321052c96fb896bad3e51c1bbee74d6600 (patch) | |
tree | 40fcf266bd924c113240d53b9dd29322dbfdf1cf /app | |
parent | fda07a25240135273761abe1331fd0e320dd290b (diff) | |
download | gitlab-ce-1750fe321052c96fb896bad3e51c1bbee74d6600.tar.gz |
Add issues filters reset btn (ES6-ified).
(Also refactored checkChanged slightly.)
Diffstat (limited to 'app')
-rw-r--r-- | app/assets/javascripts/issuable.js.es6 (renamed from app/assets/javascripts/issuable.js) | 35 | ||||
-rw-r--r-- | app/assets/stylesheets/framework/filters.scss | 4 | ||||
-rw-r--r-- | app/views/shared/issuable/_filter.html.haml | 3 |
3 files changed, 32 insertions, 10 deletions
diff --git a/app/assets/javascripts/issuable.js b/app/assets/javascripts/issuable.js.es6 index d0305c6c6a1..4006ac740b2 100644 --- a/app/assets/javascripts/issuable.js +++ b/app/assets/javascripts/issuable.js.es6 @@ -8,6 +8,7 @@ Issuable.initTemplates(); Issuable.initSearch(); Issuable.initChecks(); + Issuable.initResetFilters(); return Issuable.initLabelFilterRemove(); }, initTemplates: function() { @@ -55,6 +56,17 @@ return Turbolinks.visit(issuesUrl); }; })(this), + initResetFilters: function() { + $('.reset-filters').on('click', function(e) { + e.preventDefault(); + const target = e.target; + const $form = $(target).parents('.js-filter-form'); + const baseIssuesUrl = target.href; + + $form.attr('action', baseIssuesUrl); + Turbolinks.visit(baseIssuesUrl); + }); + }, initChecks: function() { this.issuableBulkActions = $('.bulk-update').data('bulkActions'); $('.check_all_issues').off('click').on('click', function() { @@ -64,19 +76,22 @@ return $('.selected_issue').off('change').on('change', Issuable.checkChanged.bind(this)); }, checkChanged: function() { - var checked_issues, ids; - checked_issues = $('.selected_issue:checked'); - if (checked_issues.length > 0) { - ids = $.map(checked_issues, function(value) { + const $checkedIssues = $('.selected_issue:checked'); + const $updateIssuesIds = $('#update_issues_ids'); + const $issuesOtherFilters = $('.issues-other-filters'); + const $issuesBulkUpdate = $('.issues_bulk_update'); + + if ($checkedIssues.length > 0) { + let ids = $.map($checkedIssues, function(value) { return $(value).data('id'); }); - $('#update_issues_ids').val(ids); - $('.issues-other-filters').hide(); - $('.issues_bulk_update').show(); + $updateIssuesIds.val(ids); + $issuesOtherFilters.hide(); + $issuesBulkUpdate.show(); } else { - $('#update_issues_ids').val([]); - $('.issues_bulk_update').hide(); - $('.issues-other-filters').show(); + $updateIssuesIds.val([]); + $issuesBulkUpdate.hide(); + $issuesOtherFilters.show(); this.issuableBulkActions.willUpdateLabels = false; } return true; diff --git a/app/assets/stylesheets/framework/filters.scss b/app/assets/stylesheets/framework/filters.scss index 9209347f9bc..19827943385 100644 --- a/app/assets/stylesheets/framework/filters.scss +++ b/app/assets/stylesheets/framework/filters.scss @@ -1,6 +1,10 @@ .filter-item { margin-right: 6px; vertical-align: top; + + &.reset-filters { + padding: 7px; + } } @media (min-width: $screen-sm-min) { diff --git a/app/views/shared/issuable/_filter.html.haml b/app/views/shared/issuable/_filter.html.haml index 0f4f744a71f..fabf6d74392 100644 --- a/app/views/shared/issuable/_filter.html.haml +++ b/app/views/shared/issuable/_filter.html.haml @@ -26,6 +26,9 @@ .filter-item.inline.labels-filter = render "shared/issuable/label_dropdown" + .filter-item.inline.reset-filters + %a{href: page_filter_path(without: [:assignee_id, :author_id, :milestone_title, :label_name, :issue_search])} Reset filters + .pull-right - if controller.controller_name == 'boards' #js-boards-seach.issue-boards-search |