From a76ee508fbf203c3708277d1d09e91d5a7b5adfa Mon Sep 17 00:00:00 2001 From: Jacob Schatz Date: Sat, 12 Mar 2016 06:52:50 -0500 Subject: [PATCH] Ajax call to milestones via new dropdowns --- .../javascripts/issuable_context.js.coffee | 5 ++++- .../javascripts/milestone_select.js.coffee | 19 +++++++++++++++++-- app/assets/stylesheets/pages/issuable.scss | 8 ++++++++ app/controllers/projects/issues_controller.rb | 2 +- 4 files changed, 30 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/issuable_context.js.coffee b/app/assets/javascripts/issuable_context.js.coffee index d6d09b36d8d..ddc7de602e4 100644 --- a/app/assets/javascripts/issuable_context.js.coffee +++ b/app/assets/javascripts/issuable_context.js.coffee @@ -14,7 +14,10 @@ class @IssuableContext block = $(@).parents('.block') block.find('.selectbox').show() block.find('.value').hide() - block.find('.js-select2').select2("open") + setTimeout (-> + block.find('.dropdown-menu-toggle').trigger 'click' + ), 0 + $(".right-sidebar").niceScroll() diff --git a/app/assets/javascripts/milestone_select.js.coffee b/app/assets/javascripts/milestone_select.js.coffee index 3a791ae5153..f67e12f9ad1 100644 --- a/app/assets/javascripts/milestone_select.js.coffee +++ b/app/assets/javascripts/milestone_select.js.coffee @@ -11,6 +11,9 @@ class @MilestoneSelect useId = $dropdown.data('use-id') defaultLabel = $dropdown.data('default-label') issuableId = $dropdown.data('issuable-id') + $selectbox = $dropdown.closest('.selectbox') + $block = $selectbox.closest('.block') + $value = $block.find('.value') $dropdown.glDropdown( data: (term, callback) -> @@ -64,7 +67,7 @@ class @MilestoneSelect .closest('.selectbox') .find('input[type="hidden"]') .val() - + console.log 'gonna ajax it with', url: issueUpdateURL, data: issue: milestone_id: selected $.ajax( type: 'PUT' url: issueUpdateURL @@ -72,5 +75,17 @@ class @MilestoneSelect issue: milestone_id: selected ).done (data) -> - console.log 'databack', data + $selectbox.hide() + href = $value + .show() + .find('.milestone-title') + .text(data.milestone.title) + .end() + .find('a') + .attr('href') + splitHref = href.split('/') + splitHref[splitHref.length - 1] = data.id + $value + .find('a') + .attr('href',splitHref.join('/')) ) \ No newline at end of file diff --git a/app/assets/stylesheets/pages/issuable.scss b/app/assets/stylesheets/pages/issuable.scss index 5300bb52a1b..b2cd0a41b78 100644 --- a/app/assets/stylesheets/pages/issuable.scss +++ b/app/assets/stylesheets/pages/issuable.scss @@ -252,6 +252,14 @@ text-decoration: none; } } + + .dropdown-menu-toggle { + width: 100%; + } + + .open .dropdown-menu { + width: 100%; + } } .btn-default.gutter-toggle { diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb index 7a15f299cb5..2280ad54cd7 100644 --- a/app/controllers/projects/issues_controller.rb +++ b/app/controllers/projects/issues_controller.rb @@ -108,7 +108,7 @@ class Projects::IssuesController < Projects::ApplicationController end end format.json do - render json: @issue + render json: @issue.to_json(include: :milestone ) end end end