Make remove multi and remove single work.

Make add single and add multi work properly.
Multiple inputs for multiselect
This commit is contained in:
Jacob Schatz 2016-03-15 01:29:41 -04:00
parent c81b261374
commit d17b549935
3 changed files with 8 additions and 12 deletions

View file

@ -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 = "<input type='hidden' name='#{fieldName}' value='#{value}' />"
@dropdown.before input
else
console.log 'has field???'
selectFirstRow: ->
selector = '.dropdown-content li:first-child a'

View file

@ -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(

View file

@ -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')