@@ -1165,7 +1165,7 module ApplicationHelper | |||
|
1165 | 1165 | end |
|
1166 | 1166 | end |
|
1167 | 1167 | |
|
1168 |
def context_menu |
|
|
1168 | def context_menu | |
|
1169 | 1169 | unless @context_menu_included |
|
1170 | 1170 | content_for :header_tags do |
|
1171 | 1171 | javascript_include_tag('context_menu') + |
@@ -1178,7 +1178,7 module ApplicationHelper | |||
|
1178 | 1178 | end |
|
1179 | 1179 | @context_menu_included = true |
|
1180 | 1180 | end |
|
1181 | javascript_tag "contextMenuInit('#{ url_for(url) }')" | |
|
1181 | nil | |
|
1182 | 1182 | end |
|
1183 | 1183 | |
|
1184 | 1184 | def calendar_for(field_id) |
@@ -90,7 +90,7 module IssuesHelper | |||
|
90 | 90 | end |
|
91 | 91 | |
|
92 | 92 | def render_descendants_tree(issue) |
|
93 |
s = '< |
|
|
93 | s = '<table class="list issues">' | |
|
94 | 94 | issue_list(issue.descendants.visible.preload(:status, :priority, :tracker, :assigned_to).sort_by(&:lft)) do |child, level| |
|
95 | 95 | css = "issue issue-#{child.id} hascontextmenu #{child.css_classes}" |
|
96 | 96 | css << " idnt idnt-#{level}" if level > 0 |
@@ -102,7 +102,7 module IssuesHelper | |||
|
102 | 102 | content_tag('td', child.disabled_core_fields.include?('done_ratio') ? '' : progress_bar(child.done_ratio), :class=> 'done_ratio'), |
|
103 | 103 | :class => css) |
|
104 | 104 | end |
|
105 |
s << '</table> |
|
|
105 | s << '</table>' | |
|
106 | 106 | s.html_safe |
|
107 | 107 | end |
|
108 | 108 |
@@ -1,4 +1,4 | |||
|
1 | <%= form_tag({}) do -%> | |
|
1 | <%= form_tag({}, :data => {:cm_url => issues_context_menu_path}) do -%> | |
|
2 | 2 | <%= hidden_field_tag 'back_url', url_for(:params => request.query_parameters), :id => nil %> |
|
3 | 3 | <div class="autoscroll"> |
|
4 | 4 | <table class="list issues <%= sort_css_classes %>"> |
@@ -1,5 +1,5 | |||
|
1 | 1 | <% if issues && issues.any? %> |
|
2 | <%= form_tag({}) do %> | |
|
2 | <%= form_tag({}, :data => {:cm_url => issues_context_menu_path}) do %> | |
|
3 | 3 | <table class="list list-simple issues"> |
|
4 | 4 | <thead><tr> |
|
5 | 5 | <th class="id">#</th> |
@@ -7,7 +7,7 | |||
|
7 | 7 | <p><strong><%=l(:label_related_issues)%></strong></p> |
|
8 | 8 | |
|
9 | 9 | <% if @relations.present? %> |
|
10 | <form> | |
|
10 | <%= form_tag({}, :data => {:cm_url => issues_context_menu_path}) do %> | |
|
11 | 11 | <table class="list issues"> |
|
12 | 12 | <% @relations.each do |relation| %> |
|
13 | 13 | <% other_issue = relation.other_issue(@issue) -%> |
@@ -30,7 +30,7 | |||
|
30 | 30 | </tr> |
|
31 | 31 | <% end %> |
|
32 | 32 | </table> |
|
33 | </form> | |
|
33 | <% end %> | |
|
34 | 34 | <% end %> |
|
35 | 35 | |
|
36 | 36 | <%= form_for @relation, { |
@@ -69,4 +69,4 | |||
|
69 | 69 | :title => l(:label_changes_details)) %> |
|
70 | 70 | <% end %> |
|
71 | 71 | |
|
72 |
<%= context_menu |
|
|
72 | <%= context_menu %> |
@@ -96,7 +96,9 end %> | |||
|
96 | 96 | <%= link_to_new_subtask(@issue) if User.current.allowed_to?(:manage_subtasks, @project) %> |
|
97 | 97 | </div> |
|
98 | 98 | <p><strong><%=l(:label_subtask_plural)%></strong></p> |
|
99 | <%= form_tag({}, :data => {:cm_url => issues_context_menu_path}) do %> | |
|
99 | 100 | <%= render_descendants_tree(@issue) unless @issue.leaf? %> |
|
101 | <% end %> | |
|
100 | 102 | </div> |
|
101 | 103 | <% end %> |
|
102 | 104 | |
@@ -157,4 +159,4 end %> | |||
|
157 | 159 | <%= auto_discovery_link_tag(:atom, {:format => 'atom', :key => User.current.rss_key}, :title => "#{@issue.project} - #{@issue.tracker} ##{@issue.id}: #{@issue.subject}") %> |
|
158 | 160 | <% end %> |
|
159 | 161 | |
|
160 |
<%= context_menu |
|
|
162 | <%= context_menu %> |
@@ -16,6 +16,6 | |||
|
16 | 16 | <%= render_blocks(@blocks['right'], @user) %> |
|
17 | 17 | </div> |
|
18 | 18 | |
|
19 |
<%= context_menu |
|
|
19 | <%= context_menu %> | |
|
20 | 20 | |
|
21 | 21 | <% html_title(l(:label_my_page)) -%> |
@@ -1,4 +1,4 | |||
|
1 | <%= form_tag({}) do -%> | |
|
1 | <%= form_tag({}, :data => {:cm_url => time_entries_context_menu_path}) do -%> | |
|
2 | 2 | <%= hidden_field_tag 'back_url', url_for(:params => request.query_parameters), :id => nil %> |
|
3 | 3 | <div class="autoscroll"> |
|
4 | 4 | <table class="list time-entries"> |
@@ -60,4 +60,4 | |||
|
60 | 60 | </div> |
|
61 | 61 | <% end -%> |
|
62 | 62 | |
|
63 | <%= context_menu time_entries_context_menu_path %> | |
|
63 | <%= context_menu %> |
@@ -23,7 +23,7 | |||
|
23 | 23 | <%= render(:partial => "wiki/content", |
|
24 | 24 | :locals => {:content => version.wiki_page.content}) if version.wiki_page %> |
|
25 | 25 | <% if (issues = @issues_by_version[version]) && issues.size > 0 %> |
|
26 | <%= form_tag({}) do -%> | |
|
26 | <%= form_tag({}, :data => {:cm_url => issues_context_menu_path}) do -%> | |
|
27 | 27 | <table class="list related-issues"> |
|
28 | 28 | <caption><%= l(:label_related_issues) %></caption> |
|
29 | 29 | <% issues.each do |issue| -%> |
@@ -99,4 +99,4 | |||
|
99 | 99 | |
|
100 | 100 | <% html_title(l(:label_roadmap)) %> |
|
101 | 101 | |
|
102 |
<%= context_menu |
|
|
102 | <%= context_menu %> |
@@ -36,7 +36,7 | |||
|
36 | 36 | </div> |
|
37 | 37 | |
|
38 | 38 | <% if @issues.present? %> |
|
39 | <%= form_tag({}) do -%> | |
|
39 | <%= form_tag({}, :data => {:cm_url => issues_context_menu_path}) do -%> | |
|
40 | 40 | <table class="list related-issues"> |
|
41 | 41 | <caption><%= l(:label_related_issues) %></caption> |
|
42 | 42 | <%- @issues.each do |issue| -%> |
@@ -47,7 +47,7 | |||
|
47 | 47 | <% end %> |
|
48 | 48 | </table> |
|
49 | 49 | <% end %> |
|
50 |
<%= context_menu |
|
|
50 | <%= context_menu %> | |
|
51 | 51 | <% end %> |
|
52 | 52 | </div> |
|
53 | 53 |
@@ -2,7 +2,6 | |||
|
2 | 2 | Copyright (C) 2006-2016 Jean-Philippe Lang */ |
|
3 | 3 | |
|
4 | 4 | var contextMenuObserving; |
|
5 | var contextMenuUrl; | |
|
6 | 5 | |
|
7 | 6 | function contextMenuRightClick(event) { |
|
8 | 7 | var target = $(event.target); |
@@ -98,13 +97,16 function contextMenuShow(event) { | |||
|
98 | 97 | var window_height; |
|
99 | 98 | var max_width; |
|
100 | 99 | var max_height; |
|
100 | var url; | |
|
101 | 101 | |
|
102 | 102 | $('#context-menu').css('left', (render_x + 'px')); |
|
103 | 103 | $('#context-menu').css('top', (render_y + 'px')); |
|
104 | 104 | $('#context-menu').html(''); |
|
105 | 105 | |
|
106 | url = $(event.target).parents('form').first().data('cm-url'); | |
|
107 | ||
|
106 | 108 | $.ajax({ |
|
107 |
url: |
|
|
109 | url: url, | |
|
108 | 110 | data: $(event.target).parents('form').first().serialize(), |
|
109 | 111 | success: function(data, textStatus, jqXHR) { |
|
110 | 112 | $('#context-menu').html(data); |
@@ -208,8 +210,7 function contextMenuClearDocumentSelection() { | |||
|
208 | 210 | } |
|
209 | 211 | } |
|
210 | 212 | |
|
211 |
function contextMenuInit( |
|
|
212 | contextMenuUrl = url; | |
|
213 | function contextMenuInit() { | |
|
213 | 214 | contextMenuCreate(); |
|
214 | 215 | contextMenuUnselectAll(); |
|
215 | 216 | |
@@ -243,5 +244,6 function window_size() { | |||
|
243 | 244 | } |
|
244 | 245 | |
|
245 | 246 | $(document).ready(function(){ |
|
247 | contextMenuInit(); | |
|
246 | 248 | $('input[type=checkbox].toggle-selection').on('change', toggleIssuesSelection); |
|
247 | 249 | }); |
@@ -36,7 +36,7 class VersionsControllerTest < Redmine::ControllerTest | |||
|
36 | 36 | assert_select 'h3', :text => Version.find(1).name, :count => 0 |
|
37 | 37 | |
|
38 | 38 | # Context menu on issues |
|
39 | assert_select "script", :text => Regexp.new(Regexp.escape("contextMenuInit('/issues/context_menu')")) | |
|
39 | assert_select "form[data-cm-url=?]", '/issues/context_menu' | |
|
40 | 40 | assert_select "div#sidebar" do |
|
41 | 41 | # Links to versions anchors |
|
42 | 42 | assert_select 'a[href=?]', '#2.0' |
General Comments 0
You need to be logged in to leave comments.
Login now