@@ -2,19 +2,19 | |||
|
2 | 2 | Copyright (C) 2006-2008 Jean-Philippe Lang */ |
|
3 | 3 | |
|
4 | 4 | function checkAll (id, checked) { |
|
5 |
|
|
|
6 |
|
|
|
5 | var els = Element.descendants(id); | |
|
6 | for (var i = 0; i < els.length; i++) { | |
|
7 | 7 | if (els[i].disabled==false) { |
|
8 | 8 | els[i].checked = checked; |
|
9 | 9 | } |
|
10 | } | |
|
10 | } | |
|
11 | 11 | } |
|
12 | 12 | |
|
13 | 13 | function toggleCheckboxesBySelector(selector) { |
|
14 |
|
|
|
15 |
|
|
|
16 |
|
|
|
17 |
|
|
|
14 | boxes = $$(selector); | |
|
15 | var all_checked = true; | |
|
16 | for (i = 0; i < boxes.length; i++) { if (boxes[i].checked == false) { all_checked = false; } } | |
|
17 | for (i = 0; i < boxes.length; i++) { boxes[i].checked = !all_checked; } | |
|
18 | 18 | } |
|
19 | 19 | |
|
20 | 20 | function setCheckboxesBySelector(checked, selector) { |
@@ -25,19 +25,19 function setCheckboxesBySelector(checked, selector) { | |||
|
25 | 25 | } |
|
26 | 26 | |
|
27 | 27 | function showAndScrollTo(id, focus) { |
|
28 |
|
|
|
29 |
|
|
|
30 |
|
|
|
28 | Element.show(id); | |
|
29 | if (focus!=null) { Form.Element.focus(focus); } | |
|
30 | Element.scrollTo(id); | |
|
31 | 31 | } |
|
32 | 32 | |
|
33 | 33 | function toggleRowGroup(el) { |
|
34 |
|
|
|
35 |
|
|
|
36 |
|
|
|
37 |
|
|
|
38 |
|
|
|
39 |
|
|
|
40 | } | |
|
34 | var tr = Element.up(el, 'tr'); | |
|
35 | var n = Element.next(tr); | |
|
36 | tr.toggleClassName('open'); | |
|
37 | while (n != undefined && !n.hasClassName('group')) { | |
|
38 | Element.toggle(n); | |
|
39 | n = Element.next(n); | |
|
40 | } | |
|
41 | 41 | } |
|
42 | 42 | |
|
43 | 43 | function collapseAllRowGroups(el) { |
@@ -63,7 +63,7 function expandAllRowGroups(el) { | |||
|
63 | 63 | } |
|
64 | 64 | |
|
65 | 65 | function toggleAllRowGroups(el) { |
|
66 |
|
|
|
66 | var tr = Element.up(el, 'tr'); | |
|
67 | 67 | if (tr.hasClassName('open')) { |
|
68 | 68 | collapseAllRowGroups(el); |
|
69 | 69 | } else { |
@@ -72,15 +72,15 function toggleAllRowGroups(el) { | |||
|
72 | 72 | } |
|
73 | 73 | |
|
74 | 74 | function toggleFieldset(el) { |
|
75 |
|
|
|
76 |
|
|
|
77 |
|
|
|
75 | var fieldset = Element.up(el, 'fieldset'); | |
|
76 | fieldset.toggleClassName('collapsed'); | |
|
77 | Effect.toggle(fieldset.down('div'), 'slide', {duration:0.2}); | |
|
78 | 78 | } |
|
79 | 79 | |
|
80 | 80 | function hideFieldset(el) { |
|
81 |
|
|
|
82 |
|
|
|
83 |
|
|
|
81 | var fieldset = Element.up(el, 'fieldset'); | |
|
82 | fieldset.toggleClassName('collapsed'); | |
|
83 | fieldset.down('div').hide(); | |
|
84 | 84 | } |
|
85 | 85 | |
|
86 | 86 | function add_filter() { |
@@ -196,12 +196,12 function addFileField() { | |||
|
196 | 196 | |
|
197 | 197 | function removeFileField(el) { |
|
198 | 198 | var fields = $('attachments_fields'); |
|
199 |
|
|
|
200 |
|
|
|
201 |
|
|
|
202 |
|
|
|
203 |
|
|
|
204 | } | |
|
199 | var s = Element.up(el, 'span'); | |
|
200 | if (fields.childElements().length > 1) { | |
|
201 | s.remove(); | |
|
202 | } else { | |
|
203 | s.update(s.innerHTML); | |
|
204 | } | |
|
205 | 205 | } |
|
206 | 206 | |
|
207 | 207 | function checkFileSize(el, maxSize, message) { |
@@ -217,66 +217,66 function checkFileSize(el, maxSize, message) { | |||
|
217 | 217 | } |
|
218 | 218 | |
|
219 | 219 | function showTab(name) { |
|
220 |
|
|
|
221 |
|
|
|
222 |
|
|
|
223 | } | |
|
224 |
|
|
|
225 |
|
|
|
226 |
|
|
|
227 | } | |
|
228 |
|
|
|
229 |
|
|
|
230 |
|
|
|
220 | var f = $$('div#content .tab-content'); | |
|
221 | for(var i=0; i<f.length; i++){ | |
|
222 | Element.hide(f[i]); | |
|
223 | } | |
|
224 | var f = $$('div.tabs a'); | |
|
225 | for(var i=0; i<f.length; i++){ | |
|
226 | Element.removeClassName(f[i], "selected"); | |
|
227 | } | |
|
228 | Element.show('tab-content-' + name); | |
|
229 | Element.addClassName('tab-' + name, "selected"); | |
|
230 | return false; | |
|
231 | 231 | } |
|
232 | 232 | |
|
233 | 233 | function moveTabRight(el) { |
|
234 |
|
|
|
235 |
|
|
|
236 |
|
|
|
237 |
|
|
|
238 |
|
|
|
239 |
|
|
|
240 | } | |
|
241 | } | |
|
242 |
|
|
|
243 |
|
|
|
244 | } | |
|
245 |
|
|
|
246 |
|
|
|
247 | i++; | |
|
248 | } | |
|
249 |
|
|
|
234 | var lis = Element.up(el, 'div.tabs').down('ul').childElements(); | |
|
235 | var tabsWidth = 0; | |
|
236 | var i; | |
|
237 | for (i=0; i<lis.length; i++) { | |
|
238 | if (lis[i].visible()) { | |
|
239 | tabsWidth += lis[i].getWidth() + 6; | |
|
240 | } | |
|
241 | } | |
|
242 | if (tabsWidth < Element.up(el, 'div.tabs').getWidth() - 60) { | |
|
243 | return; | |
|
244 | } | |
|
245 | i=0; | |
|
246 | while (i<lis.length && !lis[i].visible()) { | |
|
247 | i++; | |
|
248 | } | |
|
249 | lis[i].hide(); | |
|
250 | 250 | } |
|
251 | 251 | |
|
252 | 252 | function moveTabLeft(el) { |
|
253 |
|
|
|
254 |
|
|
|
255 |
|
|
|
256 | i++; | |
|
257 | } | |
|
258 |
|
|
|
259 |
|
|
|
260 | } | |
|
253 | var lis = Element.up(el, 'div.tabs').down('ul').childElements(); | |
|
254 | var i = 0; | |
|
255 | while (i<lis.length && !lis[i].visible()) { | |
|
256 | i++; | |
|
257 | } | |
|
258 | if (i>0) { | |
|
259 | lis[i-1].show(); | |
|
260 | } | |
|
261 | 261 | } |
|
262 | 262 | |
|
263 | 263 | function displayTabsButtons() { |
|
264 |
|
|
|
265 |
|
|
|
266 |
|
|
|
267 |
|
|
|
268 |
|
|
|
269 |
|
|
|
270 |
|
|
|
271 |
|
|
|
272 | } | |
|
273 | } | |
|
274 |
|
|
|
275 |
|
|
|
276 |
|
|
|
277 |
|
|
|
278 | } | |
|
279 |
|
|
|
264 | var lis; | |
|
265 | var tabsWidth = 0; | |
|
266 | var i; | |
|
267 | $$('div.tabs').each(function(el) { | |
|
268 | lis = el.down('ul').childElements(); | |
|
269 | for (i=0; i<lis.length; i++) { | |
|
270 | if (lis[i].visible()) { | |
|
271 | tabsWidth += lis[i].getWidth() + 6; | |
|
272 | } | |
|
273 | } | |
|
274 | if ((tabsWidth < el.getWidth() - 60) && (lis[0].visible())) { | |
|
275 | el.down('div.tabs-buttons').hide(); | |
|
276 | } else { | |
|
277 | el.down('div.tabs-buttons').show(); | |
|
278 | } | |
|
279 | }); | |
|
280 | 280 | } |
|
281 | 281 | |
|
282 | 282 | function setPredecessorFieldsVisibility() { |
@@ -298,7 +298,7 function promptToRemote(text, param, url) { | |||
|
298 | 298 | |
|
299 | 299 | function showModal(id, width) { |
|
300 | 300 | el = $(id); |
|
301 |
|
|
|
301 | if (el == undefined || el.visible()) {return;} | |
|
302 | 302 | var h = $$('body')[0].getHeight(); |
|
303 | 303 | var d = document.createElement("div"); |
|
304 | 304 | d.id = 'modalbg'; |
@@ -307,44 +307,44 function showModal(id, width) { | |||
|
307 | 307 | $('modalbg').show(); |
|
308 | 308 | |
|
309 | 309 | var pageWidth = document.viewport.getWidth(); |
|
310 |
|
|
|
311 |
|
|
|
310 | if (width) { | |
|
311 | el.setStyle({'width': width}); | |
|
312 | 312 | } |
|
313 |
|
|
|
313 | el.setStyle({'left': (((pageWidth - el.getWidth())/2 *100) / pageWidth) + '%'}); | |
|
314 | 314 | el.addClassName('modal'); |
|
315 |
|
|
|
315 | el.show(); | |
|
316 | 316 | |
|
317 | 317 | var submit = el.down("input[type=submit]"); |
|
318 |
|
|
|
319 |
|
|
|
318 | if (submit) { | |
|
319 | submit.focus(); | |
|
320 | 320 | } |
|
321 | 321 | } |
|
322 | 322 | |
|
323 | 323 | function hideModal(el) { |
|
324 | 324 | var modal = Element.up(el, 'div.modal'); |
|
325 |
|
|
|
326 |
|
|
|
327 | } | |
|
328 |
|
|
|
329 |
|
|
|
330 |
|
|
|
325 | if (modal) { | |
|
326 | modal.hide(); | |
|
327 | } | |
|
328 | var bg = $('modalbg'); | |
|
329 | if (bg) { | |
|
330 | bg.remove(); | |
|
331 | 331 | } |
|
332 | 332 | } |
|
333 | 333 | |
|
334 | 334 | function collapseScmEntry(id) { |
|
335 |
|
|
|
336 |
|
|
|
337 |
|
|
|
338 |
|
|
|
339 |
|
|
|
340 |
|
|
|
341 |
|
|
|
342 |
|
|
|
335 | var els = document.getElementsByClassName(id, 'browser'); | |
|
336 | for (var i = 0; i < els.length; i++) { | |
|
337 | if (els[i].hasClassName('open')) { | |
|
338 | collapseScmEntry(els[i].id); | |
|
339 | } | |
|
340 | Element.hide(els[i]); | |
|
341 | } | |
|
342 | $(id).removeClassName('open'); | |
|
343 | 343 | } |
|
344 | 344 | |
|
345 | 345 | function expandScmEntry(id) { |
|
346 | 346 | var els = document.getElementsByClassName(id, 'browser'); |
|
347 |
|
|
|
347 | for (var i = 0; i < els.length; i++) { | |
|
348 | 348 | Element.show(els[i]); |
|
349 | 349 | if (els[i].hasClassName('loaded') && !els[i].hasClassName('collapsed')) { |
|
350 | 350 | expandScmEntry(els[i].id); |
@@ -378,12 +378,12 function scmEntryLoaded(id) { | |||
|
378 | 378 | } |
|
379 | 379 | |
|
380 | 380 | function randomKey(size) { |
|
381 |
|
|
|
382 |
|
|
|
383 |
|
|
|
384 |
|
|
|
385 | } | |
|
386 |
|
|
|
381 | var chars = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'); | |
|
382 | var key = ''; | |
|
383 | for (i = 0; i < size; i++) { | |
|
384 | key += chars[Math.floor(Math.random() * chars.length)]; | |
|
385 | } | |
|
386 | return key; | |
|
387 | 387 | } |
|
388 | 388 | |
|
389 | 389 | function observeParentIssueField(url) { |
@@ -437,43 +437,43 function observeProjectModules() { | |||
|
437 | 437 | */ |
|
438 | 438 | |
|
439 | 439 | var WarnLeavingUnsaved = Class.create({ |
|
440 |
|
|
|
441 |
|
|
|
442 |
|
|
|
443 |
|
|
|
444 | ||
|
445 |
|
|
|
446 |
|
|
|
447 |
|
|
|
448 |
|
|
|
449 | ||
|
450 |
|
|
|
451 |
|
|
|
452 | ||
|
453 |
|
|
|
454 | }, | |
|
455 | ||
|
456 |
|
|
|
457 |
|
|
|
458 |
|
|
|
440 | observedForms: false, | |
|
441 | observedElements: false, | |
|
442 | changedForms: false, | |
|
443 | message: null, | |
|
444 | ||
|
445 | initialize: function(message){ | |
|
446 | this.observedForms = $$('form'); | |
|
447 | this.observedElements = $$('textarea'); | |
|
448 | this.message = message; | |
|
449 | ||
|
450 | this.observedElements.each(this.observeChange.bind(this)); | |
|
451 | this.observedForms.each(this.submitAction.bind(this)); | |
|
452 | ||
|
453 | window.onbeforeunload = this.unload.bind(this); | |
|
454 | }, | |
|
455 | ||
|
456 | unload: function(){ | |
|
457 | this.observedElements.each(function(el) {el.blur();}) | |
|
458 | if(this.changedForms) | |
|
459 | 459 | return this.message; |
|
460 | }, | |
|
461 | ||
|
462 |
|
|
|
460 | }, | |
|
461 | ||
|
462 | setChanged: function(){ | |
|
463 | 463 | this.changedForms = true; |
|
464 | }, | |
|
465 | ||
|
466 |
|
|
|
464 | }, | |
|
465 | ||
|
466 | setUnchanged: function(){ | |
|
467 | 467 | this.changedForms = false; |
|
468 | }, | |
|
469 | ||
|
470 |
|
|
|
468 | }, | |
|
469 | ||
|
470 | observeChange: function(element){ | |
|
471 | 471 | element.observe('change',this.setChanged.bindAsEventListener(this)); |
|
472 | }, | |
|
473 | ||
|
474 |
|
|
|
472 | }, | |
|
473 | ||
|
474 | submitAction: function(element){ | |
|
475 | 475 | element.observe('submit',this.setUnchanged.bindAsEventListener(this)); |
|
476 | } | |
|
476 | } | |
|
477 | 477 | }); |
|
478 | 478 | |
|
479 | 479 | /* |
@@ -510,8 +510,8 Ajax.Responders.register({ | |||
|
510 | 510 | |
|
511 | 511 | function hideOnLoad() { |
|
512 | 512 | $$('.hol').each(function(el) { |
|
513 |
|
|
|
514 |
|
|
|
513 | el.hide(); | |
|
514 | }); | |
|
515 | 515 | } |
|
516 | 516 | |
|
517 | 517 | Event.observe(window, 'load', hideOnLoad); |
General Comments 0
You need to be logged in to leave comments.
Login now