summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--js/attachment.js99
-rw-r--r--template/en/default/attachment/diff-header.html.tmpl109
-rw-r--r--template/en/default/filterexceptions.pl1
3 files changed, 102 insertions, 107 deletions
diff --git a/js/attachment.js b/js/attachment.js
index eb42ba492..c05d1d3ea 100644
--- a/js/attachment.js
+++ b/js/attachment.js
@@ -104,3 +104,102 @@ function clearAttachmentFields() {
if ((element = document.getElementById('isprivate')))
element.checked = '';
}
+
+/* Functions used when viewing patches in Diff mode. */
+
+function collapse_all() {
+ var elem = document.checkboxform.firstChild;
+ while (elem != null) {
+ if (elem.firstChild != null) {
+ var tbody = elem.firstChild.nextSibling;
+ if (tbody.className == 'file') {
+ tbody.className = 'file_collapse';
+ twisty = get_twisty_from_tbody(tbody);
+ twisty.firstChild.nodeValue = '(+)';
+ twisty.nextSibling.checked = false;
+ }
+ }
+ elem = elem.nextSibling;
+ }
+ return false;
+}
+
+function expand_all() {
+ var elem = document.checkboxform.firstChild;
+ while (elem != null) {
+ if (elem.firstChild != null) {
+ var tbody = elem.firstChild.nextSibling;
+ if (tbody.className == 'file_collapse') {
+ tbody.className = 'file';
+ twisty = get_twisty_from_tbody(tbody);
+ twisty.firstChild.nodeValue = '(-)';
+ twisty.nextSibling.checked = true;
+ }
+ }
+ elem = elem.nextSibling;
+ }
+ return false;
+}
+
+var current_restore_elem;
+
+function restore_all() {
+ current_restore_elem = null;
+ incremental_restore();
+}
+
+function incremental_restore() {
+ if (!document.checkboxform.restore_indicator.checked) {
+ return;
+ }
+ var next_restore_elem;
+ if (current_restore_elem) {
+ next_restore_elem = current_restore_elem.nextSibling;
+ } else {
+ next_restore_elem = document.checkboxform.firstChild;
+ }
+ while (next_restore_elem != null) {
+ current_restore_elem = next_restore_elem;
+ if (current_restore_elem.firstChild != null) {
+ restore_elem(current_restore_elem.firstChild.nextSibling);
+ }
+ next_restore_elem = current_restore_elem.nextSibling;
+ }
+}
+
+function restore_elem(elem, alertme) {
+ if (elem.className == 'file_collapse') {
+ twisty = get_twisty_from_tbody(elem);
+ if (twisty.nextSibling.checked) {
+ elem.className = 'file';
+ twisty.firstChild.nodeValue = '(-)';
+ }
+ } else if (elem.className == 'file') {
+ twisty = get_twisty_from_tbody(elem);
+ if (!twisty.nextSibling.checked) {
+ elem.className = 'file_collapse';
+ twisty.firstChild.nodeValue = '(+)';
+ }
+ }
+}
+
+function twisty_click(twisty) {
+ tbody = get_tbody_from_twisty(twisty);
+ if (tbody.className == 'file') {
+ tbody.className = 'file_collapse';
+ twisty.firstChild.nodeValue = '(+)';
+ twisty.nextSibling.checked = false;
+ } else {
+ tbody.className = 'file';
+ twisty.firstChild.nodeValue = '(-)';
+ twisty.nextSibling.checked = true;
+ }
+ return false;
+}
+
+function get_tbody_from_twisty(twisty) {
+ return twisty.parentNode.parentNode.parentNode.nextSibling;
+}
+function get_twisty_from_tbody(tbody) {
+ return tbody.previousSibling.firstChild.nextSibling.firstChild.firstChild;
+}
diff --git a/template/en/default/attachment/diff-header.html.tmpl b/template/en/default/attachment/diff-header.html.tmpl
index c6b14d9a0..0bf88d3d9 100644
--- a/template/en/default/attachment/diff-header.html.tmpl
+++ b/template/en/default/attachment/diff-header.html.tmpl
@@ -100,106 +100,6 @@ tbody.file pre:empty {
}
[% END %]
-[%# SCRIPT FUNCTIONS %]
-[% javascript = BLOCK %]
- function collapse_all() {
- var elem = document.checkboxform.firstChild;
- while (elem != null) {
- if (elem.firstChild != null) {
- var tbody = elem.firstChild.nextSibling;
- if (tbody.className == 'file') {
- tbody.className = 'file_collapse';
- twisty = get_twisty_from_tbody(tbody);
- twisty.firstChild.nodeValue = '(+)';
- twisty.nextSibling.checked = false;
- }
- }
- elem = elem.nextSibling;
- }
- return false;
- }
-
- function expand_all() {
- var elem = document.checkboxform.firstChild;
- while (elem != null) {
- if (elem.firstChild != null) {
- var tbody = elem.firstChild.nextSibling;
- if (tbody.className == 'file_collapse') {
- tbody.className = 'file';
- twisty = get_twisty_from_tbody(tbody);
- twisty.firstChild.nodeValue = '(-)';
- twisty.nextSibling.checked = true;
- }
- }
- elem = elem.nextSibling;
- }
- return false;
- }
-
- var current_restore_elem;
-
- function restore_all() {
- current_restore_elem = null;
- incremental_restore();
- }
-
- function incremental_restore() {
- if (!document.checkboxform.restore_indicator.checked) {
- return;
- }
- var next_restore_elem;
- if (current_restore_elem) {
- next_restore_elem = current_restore_elem.nextSibling;
- } else {
- next_restore_elem = document.checkboxform.firstChild;
- }
- while (next_restore_elem != null) {
- current_restore_elem = next_restore_elem;
- if (current_restore_elem.firstChild != null) {
- restore_elem(current_restore_elem.firstChild.nextSibling);
- }
- next_restore_elem = current_restore_elem.nextSibling;
- }
- }
-
- function restore_elem(elem, alertme) {
- if (elem.className == 'file_collapse') {
- twisty = get_twisty_from_tbody(elem);
- if (twisty.nextSibling.checked) {
- elem.className = 'file';
- twisty.firstChild.nodeValue = '(-)';
- }
- } else if (elem.className == 'file') {
- twisty = get_twisty_from_tbody(elem);
- if (!twisty.nextSibling.checked) {
- elem.className = 'file_collapse';
- twisty.firstChild.nodeValue = '(+)';
- }
- }
- }
-
- function twisty_click(twisty) {
- tbody = get_tbody_from_twisty(twisty);
- if (tbody.className == 'file') {
- tbody.className = 'file_collapse';
- twisty.firstChild.nodeValue = '(+)';
- twisty.nextSibling.checked = false;
- } else {
- tbody.className = 'file';
- twisty.firstChild.nodeValue = '(-)';
- twisty.nextSibling.checked = true;
- }
- return false;
- }
-
- function get_tbody_from_twisty(twisty) {
- return twisty.parentNode.parentNode.parentNode.nextSibling;
- }
- function get_twisty_from_tbody(tbody) {
- return tbody.previousSibling.firstChild.nextSibling.firstChild.firstChild;
- }
-[% END %]
-
[% onload = 'restore_all(); document.checkboxform.restore_indicator.checked = true' %]
[% BLOCK viewurl %]attachment.cgi?id=[% id %][% END %]
@@ -221,18 +121,15 @@ tbody.file pre:empty {
[% subheader = BLOCK %]
[% bugsummary FILTER html %]
[% END %]
- [% PROCESS global/header.html.tmpl doc_section = "attachments.html#patchviewer" %]
+ [% PROCESS global/header.html.tmpl doc_section = "attachments.html#patchviewer"
+ javascript_urls = "js/attachment.js" %]
[% ELSE %]
<html>
<head>
<style type="text/css">
[% style %]
</style>
- <script type="text/javascript">
- <!--
- [% javascript %]
- -->
- </script>
+ <script src="js/attachment.js" type="text/javascript"></script>
</head>
<body onload="[% onload FILTER html %]">
[% END %]
diff --git a/template/en/default/filterexceptions.pl b/template/en/default/filterexceptions.pl
index 2509ff5c2..2929bbf22 100644
--- a/template/en/default/filterexceptions.pl
+++ b/template/en/default/filterexceptions.pl
@@ -423,7 +423,6 @@
'oldid',
'newid',
'style',
- 'javascript',
'patch.id',
],