Fix issue with label select not correctly showing selected values
This commit is contained in:
parent
7f0ccbac34
commit
82ef4f1ef7
|
@ -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')
|
||||
|
|
Loading…
Reference in New Issue