diff options
author | Max Kanat-Alexander <mkanat@bugzilla.org> | 2011-01-04 03:09:42 +0100 |
---|---|---|
committer | Max Kanat-Alexander <mkanat@bugzilla.org> | 2011-01-04 03:09:42 +0100 |
commit | b6d1cc32f75d47437e382caccfccc5b2d98af765 (patch) | |
tree | 2ceff059de13f820287c0a84f248d55ef5630aff /template/en | |
parent | a1fa8d5f9f196d8611c64c1625e8269c9df52214 (diff) | |
download | bugzilla-b6d1cc32f75d47437e382caccfccc5b2d98af765.tar.gz bugzilla-b6d1cc32f75d47437e382caccfccc5b2d98af765.tar.xz |
Bug 595410: Make it faster to display a bug that has a lot of dependencies.
r=LpSolit, a=LpSolit
Diffstat (limited to 'template/en')
-rw-r--r-- | template/en/default/bug/edit.html.tmpl | 50 | ||||
-rw-r--r-- | template/en/default/bug/link.html.tmpl | 61 | ||||
-rw-r--r-- | template/en/default/filterexceptions.pl | 4 | ||||
-rw-r--r-- | template/en/default/global/field-descs.none.tmpl | 42 |
4 files changed, 101 insertions, 56 deletions
diff --git a/template/en/default/bug/edit.html.tmpl b/template/en/default/bug/edit.html.tmpl index 2a9a0776e..744afeb2d 100644 --- a/template/en/default/bug/edit.html.tmpl +++ b/template/en/default/bug/edit.html.tmpl @@ -620,13 +620,13 @@ [%############################################################################%] [% BLOCK section_dependson_blocks %] <tr> - [% PROCESS dependencies - dep = { title => "Depends on", fieldname => "dependson" } %] + [% INCLUDE dependencies + field = bug_fields.dependson deps = bug.depends_on_obj %] </tr> <tr> - [% PROCESS dependencies accesskey = "b" - dep = { title => "<u>B</u>locks", fieldname => "blocked" } %] + [% INCLUDE dependencies + field = bug_fields.blocked deps = bug.blocks_obj %] <tr> <th> </th> @@ -936,38 +936,36 @@ [% BLOCK dependencies %] - <th class="field_label"> - <label for="[% dep.fieldname %]"[% " accesskey=\"$accesskey\"" IF accesskey %]> - [% dep.title %]</label>: - </th> - <td> - <span id="[% dep.fieldname %]_input_area"> - [% IF bug.check_can_change_field(dep.fieldname, 0, 1) %] - <input name="[% dep.fieldname %]" id="[% dep.fieldname %]" - class="text_input" - value="[% bug.${dep.fieldname}.join(', ') %]"> + [% INCLUDE "bug/field-label.html.tmpl" %] + + <td> + <span id="[% field.name FILTER html %]_input_area"> + [% IF bug.check_can_change_field(field.name, 0, 1) %] + <input name="[% field.name FILTER html %]" + id="[% field.name FILTER html %]" class="text_input" + value="[% bug.${field.name}.join(', ') FILTER html %]"> [% END %] </span> - [% FOREACH depbug = bug.${dep.fieldname} %] - [% depbug FILTER bug_link(depbug, use_alias => 1) FILTER none %][% " " %] + [% FOREACH dep_bug = deps %] + [% dep_bug.id FILTER bug_link(dep_bug, use_alias => 1) + FILTER none %][% " " %] [% END %] - [% IF bug.check_can_change_field(dep.fieldname, 0, 1) %] - <span id="[% dep.fieldname %]_edit_container" class="edit_me bz_default_hidden" > - (<a href="#" id="[% dep.fieldname %]_edit_action">edit</a>) + [% IF bug.check_can_change_field(field.name, 0, 1) %] + <span id="[% field.name FILTER html %]_edit_container" + class="edit_me bz_default_hidden"> + (<a href="#" id="[% field.name FILTER html %]_edit_action">edit</a>) </span> <script type="text/javascript"> - hideEditableField('[% dep.fieldname %]_edit_container', - '[% dep.fieldname %]_input_area', - '[% dep.fieldname %]_edit_action', - '[% dep.fieldname %]', - "[% bug.${dep.fieldname}.join(', ') %]"); + hideEditableField('[% field.name FILTER js %]_edit_container', + '[% field.name FILTER js %]_input_area', + '[% field.name FILTER js %]_edit_action', + '[% field.name FILTER js %]', + '[% bug.${field.name}.join(', ') FILTER js %]'); </script> [% END %] </td> - [% accesskey = undef %] - [% END %] [%############################################################################%] diff --git a/template/en/default/bug/link.html.tmpl b/template/en/default/bug/link.html.tmpl new file mode 100644 index 000000000..b13866850 --- /dev/null +++ b/template/en/default/bug/link.html.tmpl @@ -0,0 +1,61 @@ +[%# 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 Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 the + # Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[%# INTERFACE: + # bug: a Bugzilla::Bug object + # link_text: the text that we're highlighting. + # use_alias: boolean; If true, we display the bug's alias as the link + # text instead of link_text. + # comment_num: If defined, make this a link to that comment on the bug. + # full_url: boolean; If true, generate links that include the full + # urlbase. (This is for emails, mostly.) + #%] + +[% IF !bug %] + <missing> + [% RETURN %] +[% END %] + +[%# We use "FILTER none" here because link_title is filtered down below. %] +[% link_title = BLOCK %] + [% display_value('bug_status', bug.bug_status) FILTER none %] + [%+ display_value('resolution', bug.resolution) FILTER none %] +[% END %] + +[% IF user.can_see_bug(bug) %] + [% link_title = link_title _ ' - ' _ bug.short_desc %] + + [% IF use_alias && bug.alias %] + [% link_text = bug.alias %] + [% END %] +[% END %] + +[% SET anchor = '' %] +[% IF comment_num.defined %] + [% anchor = "#c$comment_num" %] +[% END %] + +<a class="bz_bug_link + bz_status_[% bug.bug_status FILTER css_class_quote %] + [% ' bz_closed' IF !bug.isopened %]" + title="[% link_title FILTER collapse FILTER html %]" + href="[% urlbase FILTER html IF full_url %]show_bug.cgi?id= + [%~ bug.id FILTER uri %][% anchor FILTER html %]"> + [%~ link_text FILTER html %]</a> diff --git a/template/en/default/filterexceptions.pl b/template/en/default/filterexceptions.pl index b85bb7acd..abc57008c 100644 --- a/template/en/default/filterexceptions.pl +++ b/template/en/default/filterexceptions.pl @@ -258,11 +258,7 @@ 'bug.delta_ts', 'bug.bug_id', 'group.bit', - 'dep.title', - 'dep.fieldname', - 'bug.${dep.fieldname}.join(\', \')', 'selname', - '" accesskey=\"$accesskey\"" IF accesskey', 'inputname', '" colspan=\"$colspan\"" IF colspan', '" size=\"$size\"" IF size', diff --git a/template/en/default/global/field-descs.none.tmpl b/template/en/default/global/field-descs.none.tmpl index efcce6c64..ff6033783 100644 --- a/template/en/default/global/field-descs.none.tmpl +++ b/template/en/default/global/field-descs.none.tmpl @@ -61,35 +61,25 @@ ${constants.FIELD_TYPE_BUG_ID} => "$terms.Bug ID", } %] -[%# You can use this hash to localize (translate) the values displayed - # for drop-down and multiple-select fields. Lines starting with "#" - # are comments. - #%] -[% value_descs = { - "bug_status" => { - # "UNCONFIRMED" => "UNCO", - # "CONFIRMED" => "ITSABUG", - }, +[% IF in_template_var %] - "resolution" => { - "" => "---", - # "FIXED" => "NO LONGER AN ISSUE", - # "WORKSFORME" => "NOTMYPROBLEM!", - }, -} %] + [%# You can use this hash to localize (translate) the values displayed + # for drop-down and multiple-select fields. Lines starting with "#" + # are comments. + #%] + [% value_descs = { + "bug_status" => { + # "UNCONFIRMED" => "UNCO", + # "CONFIRMED" => "ITSABUG", + }, -[%# We use "FILTER none" here because only the caller can know how to - # filter the result appropriately. - #%] -[% MACRO display_value(field_name, value_name) BLOCK %][% FILTER trim %] - [% IF value_descs.${field_name}.${value_name}.defined %] - [% value_descs.${field_name}.${value_name} FILTER none %] - [% ELSE %] - [% value_name FILTER none %] - [% END %] -[% END %][% END %] + "resolution" => { + "" => "---", + # "FIXED" => "NO LONGER AN ISSUE", + # "WORKSFORME" => "NOTMYPROBLEM!", + }, + } %] -[% IF in_template_var %] [% vars.terms = terms %] [%# field_descs is loaded as a global template variable and cached |