[ Index ] |
|
Code source de Symfony 1.0.0 |
1 function sfWebDebugGetElementsByClassName(strClass, strTag, objContElm) 2 { 3 // http://muffinresearch.co.uk/archives/2006/04/29/getelementsbyclassname-deluxe-edition/ 4 strTag = strTag || "*"; 5 objContElm = objContElm || document; 6 var objColl = (strTag == '*' && document.all) ? document.all : objContElm.getElementsByTagName(strTag); 7 var arr = new Array(); 8 var delim = strClass.indexOf('|') != -1 ? '|' : ' '; 9 var arrClass = strClass.split(delim); 10 var j = objColl.length; 11 for (var i = 0; i < j; i++) { 12 if(objColl[i].className == undefined) continue; 13 var arrObjClass = objColl[i].className.split(' '); 14 if (delim == ' ' && arrClass.length > arrObjClass.length) continue; 15 var c = 0; 16 comparisonLoop: 17 { 18 var l = arrObjClass.length; 19 for (var k = 0; k < l; k++) { 20 var n = arrClass.length; 21 for (var m = 0; m < n; m++) { 22 if (arrClass[m] == arrObjClass[k]) c++; 23 if (( delim == '|' && c == 1) || (delim == ' ' && c == arrClass.length)) { 24 arr.push(objColl[i]); 25 break comparisonLoop; 26 } 27 } 28 } 29 } 30 } 31 return arr; 32 } 33 34 function sfWebDebugToggleMenu() 35 { 36 var element = document.getElementById('sfWebDebugDetails'); 37 38 var cacheElements = sfWebDebugGetElementsByClassName('sfWebDebugCache'); 39 var mainCacheElements = sfWebDebugGetElementsByClassName('sfWebDebugActionCache'); 40 41 if (element.style.display != 'none') 42 { 43 document.getElementById('sfWebDebugLog').style.display = 'none'; 44 document.getElementById('sfWebDebugConfig').style.display = 'none'; 45 document.getElementById('sfWebDebugDatabaseDetails').style.display = 'none'; 46 document.getElementById('sfWebDebugTimeDetails').style.display = 'none'; 47 48 // hide all cache information 49 for (var i = 0; i < cacheElements.length; ++i) 50 { 51 cacheElements[i].style.display = 'none'; 52 } 53 for (var i = 0; i < mainCacheElements.length; ++i) 54 { 55 mainCacheElements[i].style.border = 'none'; 56 } 57 } 58 else 59 { 60 for (var i = 0; i < cacheElements.length; ++i) 61 { 62 cacheElements[i].style.display = ''; 63 } 64 for (var i = 0; i < mainCacheElements.length; ++i) 65 { 66 mainCacheElements[i].style.border = '1px solid #f00'; 67 } 68 } 69 70 sfWebDebugToggle('sfWebDebugDetails'); 71 sfWebDebugToggle('sfWebDebugShowMenu'); 72 sfWebDebugToggle('sfWebDebugHideMenu'); 73 } 74 75 function sfWebDebugShowDetailsFor(element) 76 { 77 if (element != 'sfWebDebugLog') document.getElementById('sfWebDebugLog').style.display='none'; 78 if (element != 'sfWebDebugConfig') document.getElementById('sfWebDebugConfig').style.display='none'; 79 if (element != 'sfWebDebugDatabaseDetails') document.getElementById('sfWebDebugDatabaseDetails').style.display='none'; 80 if (element != 'sfWebDebugTimeDetails') document.getElementById('sfWebDebugTimeDetails').style.display='none'; 81 82 sfWebDebugToggle(element); 83 } 84 85 function sfWebDebugToggle(element) 86 { 87 if (typeof element == 'string') 88 element = document.getElementById(element); 89 90 if (element) 91 element.style.display = element.style.display == 'none' ? '' : 'none'; 92 } 93 94 function sfWebDebugToggleMessages(klass) 95 { 96 var elements = sfWebDebugGetElementsByClassName(klass); 97 98 var x = elements.length; 99 for (var i = 0; i < x; ++i) 100 { 101 sfWebDebugToggle(elements[i]); 102 } 103 } 104 105 function sfWebDebugToggleAllLogLines(show, klass) 106 { 107 var elements = sfWebDebugGetElementsByClassName(klass); 108 var x = elements.length; 109 for (var i = 0; i < x; ++i) 110 { 111 elements[i].style.display = show ? '' : 'none'; 112 } 113 } 114 115 function sfWebDebugShowOnlyLogLines(type) 116 { 117 var types = new Array(); 118 types[0] = 'info'; 119 types[1] = 'warning'; 120 types[2] = 'error'; 121 for (klass in types) 122 { 123 var elements = sfWebDebugGetElementsByClassName('sfWebDebug' + types[klass].substring(0, 1).toUpperCase() + types[klass].substring(1, types[klass].length)); 124 var x = elements.length; 125 for (var i = 0; i < x; ++i) 126 { 127 elements[i].style.display = (type == types[klass]) ? '' : 'none'; 128 } 129 } 130 }
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Fri Mar 16 22:42:14 2007 | par Balluche grâce à PHPXref 0.7 |