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