Extract partial to render flag actions
The main obstacle to extract this partial was probably the paths for the flag and unflag actions. Now that we use Rails 5.1 `resolve` method to handle nested resources, we can use `polymorphic_path`. Also note the code is a bit ugly because comments render a divider. We should probably use a CSS border instead. Co-Authored-By: taitus <sebastia.roig@gmail.com>
This commit is contained in:
@@ -21,8 +21,8 @@
|
|||||||
<%= link_to t("debates.show.comments", count: @debate.comments_count), "#comments" %>
|
<%= link_to t("debates.show.comments", count: @debate.comments_count), "#comments" %>
|
||||||
<span class="bullet"> • </span>
|
<span class="bullet"> • </span>
|
||||||
<span class="js-flag-actions">
|
<span class="js-flag-actions">
|
||||||
<%= render "debates/flag_actions", debate: @debate %>
|
<%= render "shared/flag_actions", flaggable: @debate %>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<%= auto_link_already_sanitized_html wysiwyg(@debate.description) %>
|
<%= auto_link_already_sanitized_html wysiwyg(@debate.description) %>
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
<span class="flag-content">
|
|
||||||
<% if show_flag_action? investment %>
|
|
||||||
<a data-toggle="flag-drop-investment-<%= investment.id %>" title="<%= t("shared.flag") %>">
|
|
||||||
<span class="icon-flag flag-disable"></span>
|
|
||||||
</a>
|
|
||||||
<span class="dropdown-pane" id="flag-drop-investment-<%= investment.id %>" data-dropdown data-auto-focus="true">
|
|
||||||
<%= link_to t("shared.flag"), flag_budget_investment_path(investment.budget, investment.id),
|
|
||||||
method: :put,
|
|
||||||
remote: true %>
|
|
||||||
</span>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<% if show_unflag_action? investment %>
|
|
||||||
<a data-toggle="unflag-drop-investment-<%= investment.id %>" title="<%= t("shared.unflag") %>">
|
|
||||||
<span class="icon-flag flag-active"></span>
|
|
||||||
</a>
|
|
||||||
<span class="dropdown-pane" id="unflag-drop-investment-<%= investment.id %>" data-dropdown data-auto-focus="true">
|
|
||||||
<%= link_to t("shared.unflag"), unflag_budget_investment_path(investment.budget, investment.id),
|
|
||||||
method: :put,
|
|
||||||
remote: true %>
|
|
||||||
</span>
|
|
||||||
<% end %>
|
|
||||||
</span>
|
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
<span class="bullet"> • </span>
|
<span class="bullet"> • </span>
|
||||||
<% if local_assigns[:preview].nil? %>
|
<% if local_assigns[:preview].nil? %>
|
||||||
<span class="js-flag-actions">
|
<span class="js-flag-actions">
|
||||||
<%= render "budgets/investments/flag_actions", investment: investment %>
|
<%= render "shared/flag_actions", flaggable: investment %>
|
||||||
</span>
|
</span>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
App.Flaggable.update("<%= dom_id(@investment) %>", "<%= j render("budgets/investments/flag_actions", investment: @investment) %>")
|
App.Flaggable.update("<%= dom_id(@investment) %>", "<%= j render("shared/flag_actions", flaggable: @investment) %>")
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<span class="js-flag-actions">
|
<span class="js-flag-actions">
|
||||||
<%= render "comments/flag_actions", comment: comment %>
|
<%= render "shared/flag_actions", flaggable: comment, divider: true %>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="js-moderation-actions">
|
<span class="js-moderation-actions">
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
<span class="flag-content">
|
|
||||||
<% if show_flag_action? comment %>
|
|
||||||
<span class="divider"> | </span>
|
|
||||||
<a data-toggle="flag-drop-comment-<%= comment.id %>" title="<%= t("shared.flag") %>">
|
|
||||||
<span class="icon-flag flag-disable"></span>
|
|
||||||
</a>
|
|
||||||
<span id="flag-drop-comment-<%= comment.id %>"
|
|
||||||
class="dropdown-pane"
|
|
||||||
data-dropdown
|
|
||||||
data-auto-focus="true">
|
|
||||||
<%= link_to t("shared.flag"), flag_comment_path(comment), method: :put,
|
|
||||||
remote: true %>
|
|
||||||
</span>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<% if show_unflag_action? comment %>
|
|
||||||
<span class="divider"> | </span>
|
|
||||||
<a data-toggle="unflag-drop-comment-<%= comment.id %>" title="<%= t("shared.unflag") %>">
|
|
||||||
<span class="icon-flag flag-active"></span>
|
|
||||||
</a>
|
|
||||||
<span class="dropdown-pane" id="unflag-drop-comment-<%= comment.id %>" data-dropdown data-auto-focus="true">
|
|
||||||
<%= link_to t("shared.unflag"), unflag_comment_path(comment), method: :put,
|
|
||||||
remote: true %>
|
|
||||||
</span>
|
|
||||||
<% end %>
|
|
||||||
</span>
|
|
||||||
@@ -1 +1 @@
|
|||||||
App.Flaggable.update("<%= dom_id(@comment) %>", "<%= j render("comments/flag_actions", comment: @comment) %>");
|
App.Flaggable.update("<%= dom_id(@comment) %>", "<%= j render("shared/flag_actions", flaggable: @comment, divider: true) %>");
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
<span class="flag-content">
|
|
||||||
<% if show_flag_action? debate %>
|
|
||||||
<a data-toggle="flag-drop-debate-<%= debate.id %>" title="<%= t("shared.flag") %>">
|
|
||||||
<span class="icon-flag flag-disable"></span>
|
|
||||||
</a>
|
|
||||||
<span class="dropdown-pane" id="flag-drop-debate-<%= debate.id %>" data-dropdown data-auto-focus="true">
|
|
||||||
<%= link_to t("shared.flag"), flag_debate_path(debate), method: :put, remote: true %>
|
|
||||||
</span>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<% if show_unflag_action? debate %>
|
|
||||||
<a data-toggle="unflag-drop-debate-<%= debate.id %>" title="<%= t("shared.unflag") %>">
|
|
||||||
<span class="icon-flag flag-active"></span>
|
|
||||||
</a>
|
|
||||||
<span class="dropdown-pane" id="unflag-drop-debate-<%= debate.id %>" data-dropdown data-auto-focus="true">
|
|
||||||
<%= link_to t("shared.unflag"), unflag_debate_path(debate), method: :put, remote: true %>
|
|
||||||
</span>
|
|
||||||
<% end %>
|
|
||||||
</span>
|
|
||||||
@@ -1 +1 @@
|
|||||||
App.Flaggable.update("<%= dom_id(@debate) %>", "<%= j render("debates/flag_actions", debate: @debate) %>");
|
App.Flaggable.update("<%= dom_id(@debate) %>", "<%= j render("shared/flag_actions", flaggable: @debate) %>");
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
<%= link_to t("debates.show.comments", count: @debate.comments_count), "#comments" %>
|
<%= link_to t("debates.show.comments", count: @debate.comments_count), "#comments" %>
|
||||||
<span class="bullet"> • </span>
|
<span class="bullet"> • </span>
|
||||||
<span class="js-flag-actions">
|
<span class="js-flag-actions">
|
||||||
<%= render "debates/flag_actions", debate: @debate %>
|
<%= render "shared/flag_actions", flaggable: @debate %>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
<span class="flag-content">
|
|
||||||
<% if show_flag_action? proposal %>
|
|
||||||
<a data-toggle="flag-drop-proposal-<%= proposal.id %>" title="<%= t("shared.flag") %>">
|
|
||||||
<span class="icon-flag flag-disable"></span>
|
|
||||||
</a>
|
|
||||||
<span class="dropdown-pane" id="flag-drop-proposal-<%= proposal.id %>" data-dropdown data-auto-focus="true">
|
|
||||||
<%= link_to t("shared.flag"), flag_legislation_process_proposal_path(proposal.process, proposal), method: :put, remote: true %>
|
|
||||||
</span>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<% if show_unflag_action? proposal %>
|
|
||||||
<a data-toggle="unflag-drop-proposal-<%= proposal.id %>" title="<%= t("shared.unflag") %>">
|
|
||||||
<span class="icon-flag flag-active"></span>
|
|
||||||
</a>
|
|
||||||
<span class="dropdown-pane" id="unflag-drop-proposal-<%= proposal.id %>" data-dropdown data-auto-focus="true">
|
|
||||||
<%= link_to t("shared.unflag"), unflag_legislation_process_proposal_path(proposal.process, proposal), method: :put, remote: true %>
|
|
||||||
</span>
|
|
||||||
<% end %>
|
|
||||||
</span>
|
|
||||||
@@ -1 +1 @@
|
|||||||
App.Flaggable.update("<%= dom_id(@proposal) %>", "<%= j render("legislation/proposals/flag_actions", proposal: @proposal) %>");
|
App.Flaggable.update("<%= dom_id(@proposal) %>", "<%= j render("shared/flag_actions", flaggable: @proposal) %>");
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
<% if current_user %>
|
<% if current_user %>
|
||||||
<span class="bullet"> • </span>
|
<span class="bullet"> • </span>
|
||||||
<span class="js-flag-actions">
|
<span class="js-flag-actions">
|
||||||
<%= render "legislation/proposals/flag_actions", proposal: @proposal %>
|
<%= render "shared/flag_actions", flaggable: @proposal %>
|
||||||
</span>
|
</span>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
<span class="flag-content">
|
|
||||||
<% if show_flag_action? proposal %>
|
|
||||||
<a data-toggle="flag-drop-proposal-<%= proposal.id %>" title="<%= t("shared.flag") %>">
|
|
||||||
<span class="icon-flag flag-disable"></span>
|
|
||||||
</a>
|
|
||||||
<span class="dropdown-pane" id="flag-drop-proposal-<%= proposal.id %>" data-dropdown data-auto-focus="true">
|
|
||||||
<%= link_to t("shared.flag"), flag_proposal_path(proposal), method: :put, remote: true %>
|
|
||||||
</span>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<% if show_unflag_action? proposal %>
|
|
||||||
<a data-toggle="unflag-drop-proposal-<%= proposal.id %>" title="<%= t("shared.unflag") %>">
|
|
||||||
<span class="icon-flag flag-active"></span>
|
|
||||||
</a>
|
|
||||||
<span class="dropdown-pane" id="unflag-drop-proposal-<%= proposal.id %>" data-dropdown data-auto-focus="true">
|
|
||||||
<%= link_to t("shared.unflag"), unflag_proposal_path(proposal), method: :put, remote: true %>
|
|
||||||
</span>
|
|
||||||
<% end %>
|
|
||||||
</span>
|
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
<% if current_user %>
|
<% if current_user %>
|
||||||
<span class="bullet"> • </span>
|
<span class="bullet"> • </span>
|
||||||
<span class="js-flag-actions">
|
<span class="js-flag-actions">
|
||||||
<%= render "proposals/flag_actions", proposal: @proposal %>
|
<%= render "shared/flag_actions", flaggable: @proposal %>
|
||||||
</span>
|
</span>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
|||||||
@@ -1,2 +1 @@
|
|||||||
App.Flaggable.update("<%= dom_id(@proposal) %>",
|
App.Flaggable.update("<%= dom_id(@proposal) %>", "<%= j render("shared/flag_actions", flaggable: @proposal) %>")
|
||||||
"<%= j render("proposals/flag_actions", proposal: @proposal) %>")
|
|
||||||
|
|||||||
27
app/views/shared/_flag_actions.html.erb
Normal file
27
app/views/shared/_flag_actions.html.erb
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
<span class="flag-content">
|
||||||
|
<% if show_flag_action?(flaggable) %>
|
||||||
|
<% if local_assigns[:divider] %>
|
||||||
|
<span class="divider"> | </span>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<a data-toggle="flag-drop-<%= dom_id(flaggable) %>" title="<%= t("shared.flag") %>">
|
||||||
|
<span class="icon-flag flag-disable"></span>
|
||||||
|
</a>
|
||||||
|
<span class="dropdown-pane" id="flag-drop-<%= dom_id(flaggable) %>" data-dropdown data-auto-focus="true">
|
||||||
|
<%= link_to t("shared.flag"), polymorphic_path(flaggable, action: :flag), method: :put, remote: true %>
|
||||||
|
</span>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<% if show_unflag_action?(flaggable) %>
|
||||||
|
<% if local_assigns[:divider] %>
|
||||||
|
<span class="divider"> | </span>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<a data-toggle="unflag-drop-<%= dom_id(flaggable) %>" title="<%= t("shared.unflag") %>">
|
||||||
|
<span class="icon-flag flag-active"></span>
|
||||||
|
</a>
|
||||||
|
<span class="dropdown-pane" id="unflag-drop-<%= dom_id(flaggable) %>" data-dropdown data-auto-focus="true">
|
||||||
|
<%= link_to t("shared.unflag"), polymorphic_path(flaggable, action: :unflag), method: :put, remote: true %>
|
||||||
|
</span>
|
||||||
|
<% end %>
|
||||||
|
</span>
|
||||||
Reference in New Issue
Block a user