summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Schatz <jacobschatz@Jacobs-MBP.fios-router.home>2016-03-15 01:29:41 -0400
committerJacob Schatz <jacobschatz@Jacobs-MBP.fios-router.home>2016-03-25 08:07:57 -0400
commitd17b549935ad09581e5af4a81137a8f25c76bf16 (patch)
tree4d4d7658a6704dff7af991917d34b94f9823a446
parentc81b261374085051e6d70cb8b80cfe5fbcc27ce6 (diff)
downloadgitlab-ce-d17b549935ad09581e5af4a81137a8f25c76bf16.tar.gz
Make remove multi and remove single work.
Make add single and add multi work properly. Multiple inputs for multiselect
-rw-r--r--app/assets/javascripts/gl_dropdown.js.coffee8
-rw-r--r--app/assets/javascripts/labels_select.js.coffee8
-rw-r--r--app/views/shared/issuable/_sidebar.html.haml4
3 files changed, 8 insertions, 12 deletions
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 = "<input type='hidden' name='#{fieldName}' value='#{value}' />"
@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')