diff --git a/app/assets/javascripts/gl_dropdown.js.coffee b/app/assets/javascripts/gl_dropdown.js.coffee index 3d4c8f7726c..a4a7bacfda2 100644 --- a/app/assets/javascripts/gl_dropdown.js.coffee +++ b/app/assets/javascripts/gl_dropdown.js.coffee @@ -270,7 +270,6 @@ class GitLabDropdown rowClicked: (el) -> fieldName = @options.fieldName - field = @dropdown.parent().find("input[name='#{fieldName}']") selectedIndex = el.parent().index() if @renderedData selectedObject = @renderedData[selectedIndex] @@ -278,10 +277,6 @@ class GitLabDropdown field = @dropdown.parent().find("input[name='#{fieldName}'][value='#{value}']") if el.hasClass(ACTIVE_CLASS) - console.log 'has ACTIVE_CLASS' - # if @options.multiSelect - # console.log field.val(), value - # else field.remove() else fieldName = @options.fieldName @@ -296,6 +291,7 @@ class GitLabDropdown if not @options.multiSelect @dropdown.find(".#{ACTIVE_CLASS}").removeClass ACTIVE_CLASS + @dropdown.parent().find("input[name='#{fieldName}']").remove() # Toggle active class for the tick mark el.toggleClass "is-active" @@ -308,8 +304,6 @@ class GitLabDropdown # Create hidden input for form input = "" @dropdown.before input - else - console.log 'has field???' selectFirstRow: -> selector = '.dropdown-content li:first-child a' diff --git a/app/assets/javascripts/labels_select.js.coffee b/app/assets/javascripts/labels_select.js.coffee index 4e1718c32e4..c05daca4afb 100644 --- a/app/assets/javascripts/labels_select.js.coffee +++ b/app/assets/javascripts/labels_select.js.coffee @@ -191,11 +191,13 @@ class @LabelsSelect else selected = $dropdown .closest('.selectbox') - .find('input[type="hidden"]') - .val() + .find("input[name='#{$dropdown.data('field-name')}']") + .map(-> + @value + ).get() # need inline-block here instead of show, # which will default to the element's style in this case inline. - selected = if selected? then selected.split(',') else [''] + selected = if selected.length then selected else [''] $loading .fadeIn() $.ajax( diff --git a/app/views/shared/issuable/_sidebar.html.haml b/app/views/shared/issuable/_sidebar.html.haml index daee1cdccf5..0f488614cf9 100644 --- a/app/views/shared/issuable/_sidebar.html.haml +++ b/app/views/shared/issuable/_sidebar.html.haml @@ -87,9 +87,9 @@ .light None .selectbox.hide-collapsed - issuable.labels.each do |label| - = f.hidden_field 'label_name', value: label.id, id: nil + = hidden_field_tag 'issue[label_names][]', label.id, id: nil .dropdown - %button.dropdown-menu-toggle.js-label-select.js-multiselect{type: "button", data: {toggle: "dropdown", field_name: "issue[label_name]", show_no: "true", show_any: "true", selected: issuable.label_names.join(","), project_id: (@project.id if @project), issue_update: namespace_project_issue_path(@project.namespace, @project, issuable.id, :json), labels: (namespace_project_labels_path(@project.namespace, @project, :json) if @project)}} + %button.dropdown-menu-toggle.js-label-select.js-multiselect{type: "button", data: {toggle: "dropdown", field_name: "issue[label_names][]", show_no: "true", show_any: "true", selected: issuable.label_names.join(","), project_id: (@project.id if @project), issue_update: namespace_project_issue_path(@project.namespace, @project, issuable.id, :json), labels: (namespace_project_labels_path(@project.namespace, @project, :json) if @project)}} %span.dropdown-toggle-text Label = icon('chevron-down')