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 ...@@ -486,7 +486,7 @@ class GitLabDropdown
# Toggle the dropdown label # Toggle the dropdown label
if @options.toggleLabel if @options.toggleLabel
@updateLabel(selectedObject, el, @) @updateLabel(selectedObject, el, @, false)
else else
selectedObject selectedObject
else if el.hasClass(INDETERMINATE_CLASS) else if el.hasClass(INDETERMINATE_CLASS)
...@@ -515,7 +515,7 @@ class GitLabDropdown ...@@ -515,7 +515,7 @@ class GitLabDropdown
# Toggle the dropdown label # Toggle the dropdown label
if @options.toggleLabel if @options.toggleLabel
@updateLabel(selectedObject, el, @) @updateLabel(selectedObject, el, @, true)
if value? if value?
if !field.length and fieldName if !field.length and fieldName
@addInput(fieldName, value) @addInput(fieldName, value)
...@@ -616,8 +616,8 @@ class GitLabDropdown ...@@ -616,8 +616,8 @@ class GitLabDropdown
# Scroll the dropdown content up # Scroll the dropdown content up
$dropdownContent.scrollTop(listItemTop - dropdownContentTop) $dropdownContent.scrollTop(listItemTop - dropdownContentTop)
updateLabel: (selected = null, el = null, instance = null) => updateLabel: (selected = null, el = null, instance = null, added = false) =>
$(@el).find(".dropdown-toggle-text").text @options.toggleLabel(selected, el, instance) $(@el).find(".dropdown-toggle-text").text @options.toggleLabel(selected, el, instance, added)
$.fn.glDropdown = (opts) -> $.fn.glDropdown = (opts) ->
return @.each -> return @.each ->
......
...@@ -24,6 +24,7 @@ class @LabelsSelect ...@@ -24,6 +24,7 @@ class @LabelsSelect
$newLabelError = $('.js-label-error') $newLabelError = $('.js-label-error')
$colorPreview = $('.js-dropdown-label-color-preview') $colorPreview = $('.js-dropdown-label-color-preview')
$newLabelCreateButton = $('.js-new-label-btn') $newLabelCreateButton = $('.js-new-label-btn')
selectedLabels = []
$newLabelError.hide() $newLabelError.hide()
$loading = $block.find('.block-loading').fadeOut() $loading = $block.find('.block-loading').fadeOut()
...@@ -272,19 +273,17 @@ class @LabelsSelect ...@@ -272,19 +273,17 @@ class @LabelsSelect
fields: ['title'] fields: ['title']
selectable: true selectable: true
filterable: true filterable: true
toggleLabel: (selected, el) -> toggleLabel: (selected, el, e, added) ->
selected_labels = $('.js-label-select').siblings('.dropdown-menu-labels').find('.is-active') if added
selectedLabels.push selected.title
if selected and selected.title?
if selected_labels.length > 1
"#{selected.title} +#{selected_labels.length - 1} more"
else else
selected.title index = selectedLabels.indexOf selected.title
else if not selected and selected_labels.length isnt 0 selectedLabels.splice index, 1
if selected_labels.length > 1
"#{$(selected_labels[0]).text()} +#{selected_labels.length - 1} more" if selectedLabels.length > 1
else if selected_labels.length is 1 "#{selectedLabels[0]} +#{selectedLabels.length - 1} more"
$(selected_labels).text() else if selectedLabels.length is 1
selectedLabels[0]
else else
defaultLabel defaultLabel
fieldName: $dropdown.data('field-name') 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