Feature #2024 » 0003-Identify-the-subject-and-taskbar-line.patch
| app/views/gantts/change_duration.js.erb | ||
|---|---|---|
| 53 | 53 |
subject_content = subject_content.css(css_subject).to_s.tr("\n",'').gsub(/'/, "\\\\'")
|
| 54 | 54 |
-%> |
| 55 | 55 |
if($('<%= elm_subject %>').length){
|
| 56 |
$('<%= elm_todo %>').parent().html('<%= raw(todo_content) %>');
|
|
| 56 |
$('<%= elm_todo %>').each(function(_, task) {
|
|
| 57 |
var el_parent = $(task).parent(); |
|
| 58 |
el_parent.html('<%= raw(todo_content) %>');
|
|
| 59 |
var number_of_rows = el_parent.attr('data-number-of-rows');
|
|
| 60 |
if(number_of_rows){
|
|
| 61 |
el_parent.find('div[data-number-of-rows]').attr('data-number-of-rows', number_of_rows);
|
|
| 62 |
} |
|
| 63 |
}); |
|
| 57 | 64 |
$('<%= elm_subject %>').replaceWith('<%= raw(subject_content) %>');
|
| 58 | 65 |
<% |
| 59 | 66 |
case obj |
| lib/redmine/helpers/gantt.rb | ||
|---|---|---|
| 347 | 347 |
if options[:format] == :html |
| 348 | 348 |
data_options = {}
|
| 349 | 349 |
data_options[:collapse_expand] = "issue-#{issue.id}"
|
| 350 |
data_options[:number_of_rows] = number_of_rows |
|
| 350 | 351 |
style = "position: absolute;top: #{options[:top]}px; font-size: 0.8em;"
|
| 351 | 352 |
content = |
| 352 | 353 |
view.content_tag( |
| ... | ... | |
| 781 | 782 |
:top_increment => params[:top_increment], |
| 782 | 783 |
:obj_id => "#{object.class}-#{object.id}".downcase,
|
| 783 | 784 |
}, |
| 785 |
:number_of_rows => number_of_rows, |
|
| 784 | 786 |
} |
| 785 | 787 |
end |
| 786 | 788 |
if has_children |
| ... | ... | |
| 836 | 838 |
def html_task(params, coords, markers, label, object) |
| 837 | 839 |
output = +'' |
| 838 | 840 |
data_options = {}
|
| 839 |
data_options[:collapse_expand] = "#{object.class}-#{object.id}".downcase if object
|
|
| 841 |
if object |
|
| 842 |
data_options[:collapse_expand] = "#{object.class}-#{object.id}".downcase
|
|
| 843 |
data_options[:number_of_rows] = number_of_rows |
|
| 844 |
end |
|
| 840 | 845 |
css = "task " + |
| 841 | 846 |
case object |
| 842 | 847 |
when Project |
| public/javascripts/gantt.js | ||
|---|---|---|
| 255 | 255 |
subject.nextAll('div').each(function(_, element){
|
| 256 | 256 |
var el = $(element); |
| 257 | 257 |
var json = el.data('collapse-expand');
|
| 258 |
var number_of_rows = el.data('number-of-rows');
|
|
| 259 |
var el_task_bars = '#gantt_area form > div[data-collapse-expand="' + json.obj_id + '"][data-number-of-rows="' + number_of_rows + '"]'; |
|
| 260 |
var el_selected_columns = 'td.gantt_selected_column div[data-collapse-expand="' + json.obj_id + '"][data-number-of-rows="' + number_of_rows + '"]'; |
|
| 258 | 261 |
if(out_of_hierarchy || parseInt(el.css('left')) <= subject_left){
|
| 259 | 262 |
out_of_hierarchy = true; |
| 260 | 263 |
if(target_shown == null) return false; |
| 261 | 264 | |
| 262 | 265 |
var new_top_val = parseInt(el.css('top')) + total_height * (target_shown ? -1 : 1);
|
| 263 | 266 |
el.css('top', new_top_val);
|
| 264 |
$('#gantt_area form > div[data-collapse-expand="' + json.obj_id + '"], td.gantt_selected_column div[data-collapse-expand="' + json.obj_id + '"]').each(function(_, el){
|
|
| 267 |
$([el_task_bars, el_selected_columns].join()).each(function(_, el){
|
|
| 265 | 268 |
$(el).css('top', new_top_val);
|
| 266 | 269 |
}); |
| 267 | 270 |
return true; |
| ... | ... | |
| 274 | 277 |
total_height = 0; |
| 275 | 278 |
} |
| 276 | 279 |
if(is_shown == target_shown){
|
| 277 |
$('#gantt_area form > div[data-collapse-expand="' + json.obj_id + '"]').each(function(_, task) {
|
|
| 280 |
$(el_task_bars).each(function(_, task) {
|
|
| 278 | 281 |
var el_task = $(task); |
| 279 | 282 |
if(!is_shown) |
| 280 | 283 |
el_task.css('top', target_top + total_height);
|
| 281 | 284 |
if(!el_task.hasClass('tooltip'))
|
| 282 | 285 |
el_task.toggle(!is_shown); |
| 283 | 286 |
}); |
| 284 |
$('td.gantt_selected_column div[data-collapse-expand="' + json.obj_id + '"]'
|
|
| 285 |
).each(function (_, attr) {
|
|
| 287 |
$(el_selected_columns).each(function (_, attr) {
|
|
| 286 | 288 |
var el_attr = $(attr); |
| 287 | 289 |
if (!is_shown) |
| 288 | 290 |
el_attr.css('top', target_top + total_height);
|