[%# The contents of this file are subject to the Mozilla Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # implied. See the License for the specific language governing # rights and limitations under the License. # # The Original Code is the Bugzilla Bug Tracking System. # # The Initial Developer of the Original Code is Netscape Communications # Corporation. Portions created by Netscape are # Copyright (C) 1998 Netscape Communications Corporation. All # Rights Reserved. # # Contributor(s): John Keiser #%] [%# This line is really long for a reason: to get rid of any possible textnodes # between the elements. This is necessary because DOM parent-child-sibling # relations can change and screw up the javascript for restoring, collapsing # and expanding. Do not change without testing all three of those. # Also, the first empty row is required because 'table-layout: fixed' only # considers the first row to determine column widths. If a colspan is found, # it then share the width equally among all columns, which we don't want. #%] [% section_num = 0 %] [% FOREACH section = sections %] [% section_num = section_num + 1 %] [% current_line_old = section.old_start %] [% current_line_new = section.new_start %] [% FOREACH group = section.groups %] [% IF group.context %] [% FOREACH line = group.context %] [% current_line_old = current_line_old + 1 %] [% current_line_new = current_line_new + 1 %] [% END %] [% END %] [% IF group.plus.size %] [% IF group.minus.size %] [% i = 0 %] [%# We need to store them in external variables. %] [% curr_new = current_line_new %] [% curr_old = current_line_old %] [% WHILE (i < group.plus.size || i < group.minus.size) %] [% currentloop = 0 %] [% WHILE currentloop < 500 && (i < group.plus.size || i < group.minus.size) %] [% currentloop = currentloop + 1 %] [% i = i + 1 %] [% IF i < group.minus.size %] [% curr_old = curr_old + 1 %] [% ELSE %] [% curr_old = "" %] [% END %] [% IF i < group.plus.size %] [% curr_new = curr_new + 1 %] [% ELSE %] [% curr_new = "" %] [% END %] [% END %] [% END %] [% current_line_old = current_line_old + group.minus.size %] [% current_line_new = current_line_new + group.plus.size %] [% ELSE %] [% FOREACH line = group.plus %] [% IF file.is_add %] [% ELSE %] [% END %] [% current_line_new = current_line_new + 1 %] [% END %] [% END %] [% ELSE %] [% IF group.minus.size %] [% FOREACH line = group.minus %] [% IF file.is_remove %] [% ELSE %] [% END %] [% current_line_old = current_line_old + 1 %] [% END %] [% END %] [% END %] [% END %] [% END %]
[% collapsed ? '(+)' : '(-)' %] [% IF lxr_prefix && !file.is_add %] [% file.filename FILTER html %] [% ELSE %] [% file.filename FILTER html %] [% END %] [% IF file.plus_lines %] [% IF file.minus_lines %] (-[% file.minus_lines %] / +[% file.plus_lines %] lines) [% ELSE %] (+[% file.plus_lines %] lines) [% END %] [% ELSE %] [% IF file.minus_lines %] (-[% file.minus_lines %] lines) [% END %] [% END %]