summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfredo Sumaran <alfredo@gitlab.com>2016-06-22 14:58:38 -0500
committerAlfredo Sumaran <alfredo@gitlab.com>2016-06-23 16:13:42 -0500
commit618cf373ca5610d82e51b196cea113b9b7d03cc6 (patch)
tree645a907d91d83d91c0b77fb404973f79f1e13811
parent1e96e7f6d2d77f7a6f18c4f1716e8dec62ac6c19 (diff)
downloadgitlab-ce-618cf373ca5610d82e51b196cea113b9b7d03cc6.tar.gz
Apply labels only if we picked a label from the dropdown
-rw-r--r--app/assets/javascripts/issues-bulk-assignment.js.coffee23
-rw-r--r--app/assets/javascripts/labels_select.js.coffee7
2 files changed, 26 insertions, 4 deletions
diff --git a/app/assets/javascripts/issues-bulk-assignment.js.coffee b/app/assets/javascripts/issues-bulk-assignment.js.coffee
index b454f9389dd..8ca7409f5b4 100644
--- a/app/assets/javascripts/issues-bulk-assignment.js.coffee
+++ b/app/assets/javascripts/issues-bulk-assignment.js.coffee
@@ -7,11 +7,25 @@ class @IssuableBulkActions
@issues = @getElement('.issues-list .issue')
} = opts
+ # Save instance
+ @form.data 'bulkActions', @
+
+ @disableWillUpdate()
+
@bindEvents()
# Fixes bulk-assign not working when navigating through pages
Issuable.initChecks();
+ enableWillUpdate: ->
+ @toggleWillUpdate(true)
+
+ disableWillUpdate: ->
+ @toggleWillUpdate(false)
+
+ toggleWillUpdate: (enable)->
+ @willUpdateLabels = if enable? then enable else not @willUpdateLabels
+
getElement: (selector) ->
@container.find selector
@@ -87,11 +101,12 @@ class @IssuableBulkActions
add_label_ids : []
remove_label_ids : []
- @getLabelsToApply().map (id) ->
- formData.update.add_label_ids.push id
+ if @willUpdateLabels
+ @getLabelsToApply().map (id) ->
+ formData.update.add_label_ids.push id
- @getLabelsToRemove().map (id) ->
- formData.update.remove_label_ids.push id
+ @getLabelsToRemove().map (id) ->
+ formData.update.remove_label_ids.push id
formData
diff --git a/app/assets/javascripts/labels_select.js.coffee b/app/assets/javascripts/labels_select.js.coffee
index 6a10db10eb1..0729d5d91ce 100644
--- a/app/assets/javascripts/labels_select.js.coffee
+++ b/app/assets/javascripts/labels_select.js.coffee
@@ -319,6 +319,8 @@ class @LabelsSelect
multiSelect: $dropdown.hasClass 'js-multiselect'
clicked: (label) ->
+ _this.enableBulkLabelDropdown()
+
if $dropdown.hasClass('js-filter-bulk-update')
return
@@ -377,3 +379,8 @@ class @LabelsSelect
label_ids.push $("#issue_#{issue_id}").data('labels')
_.intersection.apply _, label_ids
+
+ enableBulkLabelDropdown: ->
+ if $('.selected_issue:checked').length
+ issuableBulkActions = $('.bulk-update').data('bulkActions')
+ issuableBulkActions.enableWillUpdate()