diff --git a/app/components/budgets/investments/my_ballot_component.rb b/app/components/budgets/investments/my_ballot_component.rb index cbbfa2413..6bc06273f 100644 --- a/app/components/budgets/investments/my_ballot_component.rb +++ b/app/components/budgets/investments/my_ballot_component.rb @@ -1,14 +1,18 @@ class Budgets::Investments::MyBallotComponent < ApplicationComponent attr_reader :ballot, :heading, :investment_ids, :assigned_heading - delegate :heading_link, to: :helpers + delegate :can?, :heading_link, to: :helpers - def initialize(ballot:, heading:, investment_ids:, assigned_heading:) + def initialize(ballot:, heading:, investment_ids:, assigned_heading: nil) @ballot = ballot @heading = heading @investment_ids = investment_ids @assigned_heading = assigned_heading end + def render? + heading && can?(:show, ballot) + end + private def budget diff --git a/app/controllers/budgets/ballot/lines_controller.rb b/app/controllers/budgets/ballot/lines_controller.rb index 684f14110..dc7e8cfe3 100644 --- a/app/controllers/budgets/ballot/lines_controller.rb +++ b/app/controllers/budgets/ballot/lines_controller.rb @@ -15,7 +15,6 @@ module Budgets def create load_investment load_heading - load_map @ballot.add_investment(@investment) end @@ -23,7 +22,6 @@ module Budgets def destroy @investment = @line.investment load_heading - load_map @line.destroy! load_investments @@ -69,12 +67,6 @@ module Budgets def load_categories @categories = Tag.category.order(:name) end - - def load_map - @investments ||= [] - @investments_map_coordinates = MapLocation.where(investment: @investments).map(&:json_data) - @map_location = MapLocation.load_from_heading(@heading) - end end end end diff --git a/app/views/budgets/ballot/lines/create.js.erb b/app/views/budgets/ballot/lines/create.js.erb index 48e56054f..d85a738bf 100644 --- a/app/views/budgets/ballot/lines/create.js.erb +++ b/app/views/budgets/ballot/lines/create.js.erb @@ -1,8 +1,12 @@ $("#progress_bar").html("<%= j render("/budgets/ballot/progress_bar", ballot: @ballot, heading: @heading) %>"); -$("#sidebar").html("<%= j render("/budgets/investments/sidebar") %>"); +$("#my_ballot").html("<%= j render( + Budgets::Investments::MyBallotComponent.new( + ballot: @ballot, + heading: @heading, + investment_ids: @investment_ids + ) +) %>"); <%= render "refresh_ballots", investment_ids: @investment_ids, ballot: @ballot %> - -App.Map.initialize(); diff --git a/app/views/budgets/ballot/lines/destroy.js.erb b/app/views/budgets/ballot/lines/destroy.js.erb index c93517414..75af79e09 100644 --- a/app/views/budgets/ballot/lines/destroy.js.erb +++ b/app/views/budgets/ballot/lines/destroy.js.erb @@ -1,9 +1,13 @@ $("#progress_bar").html("<%= j render("budgets/ballot/progress_bar", ballot: @ballot, heading: @heading) %>"); -$("#sidebar").html("<%= j render("budgets/investments/sidebar") %>"); +$("#my_ballot").html("<%= j render( + Budgets::Investments::MyBallotComponent.new( + ballot: @ballot, + heading: @heading, + investment_ids: @investment_ids + ) +) %>"); $("#ballot").html("<%= j render("budgets/ballot/ballot") %>") <%= render "refresh_ballots", investment_ids: @investment_ids, ballot: @ballot %> - -App.Map.initialize(); diff --git a/app/views/budgets/investments/_sidebar.html.erb b/app/views/budgets/investments/_sidebar.html.erb index 83126cef7..a45ea333f 100644 --- a/app/views/budgets/investments/_sidebar.html.erb +++ b/app/views/budgets/investments/_sidebar.html.erb @@ -12,14 +12,14 @@ <% end %> <% end %> -<% if @heading && can?(:show, @ballot) %> +