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