Commit 82ef4f1e authored by Phil Hughes's avatar Phil Hughes

Fix issue with label select not correctly showing selected values

parent 7f0ccbac
......@@ -486,7 +486,7 @@ class GitLabDropdown
# Toggle the dropdown label
if @options.toggleLabel
@updateLabel(selectedObject, el, @)
@updateLabel(selectedObject, el, @, false)
else
selectedObject
else if el.hasClass(INDETERMINATE_CLASS)
......@@ -515,7 +515,7 @@ class GitLabDropdown
# Toggle the dropdown label
if @options.toggleLabel
@updateLabel(selectedObject, el, @)
@updateLabel(selectedObject, el, @, true)
if value?
if !field.length and fieldName
@addInput(fieldName, value)
......@@ -616,8 +616,8 @@ class GitLabDropdown
# Scroll the dropdown content up
$dropdownContent.scrollTop(listItemTop - dropdownContentTop)
updateLabel: (selected = null, el = null, instance = null) =>
$(@el).find(".dropdown-toggle-text").text @options.toggleLabel(selected, el, instance)
updateLabel: (selected = null, el = null, instance = null, added = false) =>
$(@el).find(".dropdown-toggle-text").text @options.toggleLabel(selected, el, instance, added)
$.fn.glDropdown = (opts) ->
return @.each ->
......
......@@ -24,6 +24,7 @@ class @LabelsSelect
$newLabelError = $('.js-label-error')
$colorPreview = $('.js-dropdown-label-color-preview')
$newLabelCreateButton = $('.js-new-label-btn')
selectedLabels = []
$newLabelError.hide()
$loading = $block.find('.block-loading').fadeOut()
......@@ -272,19 +273,17 @@ class @LabelsSelect
fields: ['title']
selectable: true
filterable: true
toggleLabel: (selected, el) ->
selected_labels = $('.js-label-select').siblings('.dropdown-menu-labels').find('.is-active')
if selected and selected.title?
if selected_labels.length > 1
"#{selected.title} +#{selected_labels.length - 1} more"
toggleLabel: (selected, el, e, added) ->
if added
selectedLabels.push selected.title
else
selected.title
else if not selected and selected_labels.length isnt 0
if selected_labels.length > 1
"#{$(selected_labels[0]).text()} +#{selected_labels.length - 1} more"
else if selected_labels.length is 1
$(selected_labels).text()
index = selectedLabels.indexOf selected.title
selectedLabels.splice index, 1
if selectedLabels.length > 1
"#{selectedLabels[0]} +#{selectedLabels.length - 1} more"
else if selectedLabels.length is 1
selectedLabels[0]
else
defaultLabel
fieldName: $dropdown.data('field-name')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment