##// END OF EJS Templates
SCM browser:...
Jean-Philippe Lang -
r855:24ec30b10c2e
parent child
Show More
@@ -1,110 +1,120
1 function checkAll (id, checked) {
1 function checkAll (id, checked) {
2 var el = document.getElementById(id);
2 var el = document.getElementById(id);
3 for (var i = 0; i < el.elements.length; i++) {
3 for (var i = 0; i < el.elements.length; i++) {
4 if (el.elements[i].disabled==false) {
4 if (el.elements[i].disabled==false) {
5 el.elements[i].checked = checked;
5 el.elements[i].checked = checked;
6 }
6 }
7 }
7 }
8 }
8 }
9
9
10 function addFileField() {
10 function addFileField() {
11 var f = document.createElement("input");
11 var f = document.createElement("input");
12 f.type = "file";
12 f.type = "file";
13 f.name = "attachments[]";
13 f.name = "attachments[]";
14 f.size = 30;
14 f.size = 30;
15
15
16 p = document.getElementById("attachments_p");
16 p = document.getElementById("attachments_p");
17 p.appendChild(document.createElement("br"));
17 p.appendChild(document.createElement("br"));
18 p.appendChild(f);
18 p.appendChild(f);
19 }
19 }
20
20
21 function showTab(name) {
21 function showTab(name) {
22 var f = $$('div#content .tab-content');
22 var f = $$('div#content .tab-content');
23 for(var i=0; i<f.length; i++){
23 for(var i=0; i<f.length; i++){
24 Element.hide(f[i]);
24 Element.hide(f[i]);
25 }
25 }
26 var f = $$('div.tabs a');
26 var f = $$('div.tabs a');
27 for(var i=0; i<f.length; i++){
27 for(var i=0; i<f.length; i++){
28 Element.removeClassName(f[i], "selected");
28 Element.removeClassName(f[i], "selected");
29 }
29 }
30 Element.show('tab-content-' + name);
30 Element.show('tab-content-' + name);
31 Element.addClassName('tab-' + name, "selected");
31 Element.addClassName('tab-' + name, "selected");
32 return false;
32 return false;
33 }
33 }
34
34
35 function setPredecessorFieldsVisibility() {
35 function setPredecessorFieldsVisibility() {
36 relationType = $('relation_relation_type');
36 relationType = $('relation_relation_type');
37 if (relationType && relationType.value == "precedes") {
37 if (relationType && relationType.value == "precedes") {
38 Element.show('predecessor_fields');
38 Element.show('predecessor_fields');
39 } else {
39 } else {
40 Element.hide('predecessor_fields');
40 Element.hide('predecessor_fields');
41 }
41 }
42 }
42 }
43
43
44 function promptToRemote(text, param, url) {
44 function promptToRemote(text, param, url) {
45 value = prompt(text + ':');
45 value = prompt(text + ':');
46 if (value) {
46 if (value) {
47 new Ajax.Request(url + '?' + param + '=' + value, {asynchronous:true, evalScripts:true});
47 new Ajax.Request(url + '?' + param + '=' + value, {asynchronous:true, evalScripts:true});
48 return false;
48 return false;
49 }
49 }
50 }
50 }
51
51
52 /* checks that at least one checkbox is checked (used when submitting bulk edit form) */
52 /* checks that at least one checkbox is checked (used when submitting bulk edit form) */
53 function checkBulkEdit(form) {
53 function checkBulkEdit(form) {
54 for (var i = 0; i < form.elements.length; i++) {
54 for (var i = 0; i < form.elements.length; i++) {
55 if (form.elements[i].checked) {
55 if (form.elements[i].checked) {
56 return true;
56 return true;
57 }
57 }
58 }
58 }
59 return false;
59 return false;
60 }
60 }
61
61
62 function collapseScmEntry(id) {
62 function collapseScmEntry(id) {
63 var els = document.getElementsByClassName(id, 'browser');
63 var els = document.getElementsByClassName(id, 'browser');
64 for (var i = 0; i < els.length; i++) {
64 for (var i = 0; i < els.length; i++) {
65 if (els[i].hasClassName('open')) {
65 if (els[i].hasClassName('open')) {
66 collapseScmEntry(els[i].id);
66 collapseScmEntry(els[i].id);
67 }
67 }
68 Element.hide(els[i]);
68 Element.hide(els[i]);
69 }
69 }
70 $(id).removeClassName('open');
70 $(id).removeClassName('open');
71 }
71 }
72
72
73 function expandScmEntry(id) {
73 function expandScmEntry(id) {
74 var els = document.getElementsByClassName(id, 'browser');
74 var els = document.getElementsByClassName(id, 'browser');
75 for (var i = 0; i < els.length; i++) {
75 for (var i = 0; i < els.length; i++) {
76 Element.show(els[i]);
76 Element.show(els[i]);
77 if (els[i].hasClassName('loaded') && !els[i].hasClassName('collapsed')) {
78 expandScmEntry(els[i].id);
79 }
77 }
80 }
78 $(id).addClassName('open');
81 $(id).addClassName('open');
79 }
82 }
80
83
81 function scmEntryClick(id) {
84 function scmEntryClick(id) {
82 el = $(id);
85 el = $(id);
83 if (el.hasClassName('open')) {
86 if (el.hasClassName('open')) {
84 collapseScmEntry(id);
87 collapseScmEntry(id);
88 el.addClassName('collapsed');
85 return false;
89 return false;
86 } else if (el.hasClassName('loaded')) {
90 } else if (el.hasClassName('loaded')) {
87 expandScmEntry(id);
91 expandScmEntry(id);
92 el.removeClassName('collapsed');
88 return false;
93 return false;
89 }
94 }
95 if (el.hasClassName('loading')) {
96 return false;
97 }
98 el.addClassName('loading');
90 return true;
99 return true;
91 }
100 }
92
101
93 function scmEntryLoaded(id) {
102 function scmEntryLoaded(id) {
94 Element.addClassName(id, 'open');
103 Element.addClassName(id, 'open');
95 Element.addClassName(id, 'loaded');
104 Element.addClassName(id, 'loaded');
105 Element.removeClassName(id, 'loading');
96 }
106 }
97
107
98 /* shows and hides ajax indicator */
108 /* shows and hides ajax indicator */
99 Ajax.Responders.register({
109 Ajax.Responders.register({
100 onCreate: function(){
110 onCreate: function(){
101 if ($('ajax-indicator') && Ajax.activeRequestCount > 0) {
111 if ($('ajax-indicator') && Ajax.activeRequestCount > 0) {
102 Element.show('ajax-indicator');
112 Element.show('ajax-indicator');
103 }
113 }
104 },
114 },
105 onComplete: function(){
115 onComplete: function(){
106 if ($('ajax-indicator') && Ajax.activeRequestCount == 0) {
116 if ($('ajax-indicator') && Ajax.activeRequestCount == 0) {
107 Element.hide('ajax-indicator');
117 Element.hide('ajax-indicator');
108 }
118 }
109 }
119 }
110 });
120 });
General Comments 0
You need to be logged in to leave comments. Login now