Changeset 1383
- Timestamp:
- 05/24/08 18:17:56 (5 months ago)
- Files:
-
- mochikit/trunk/MochiKit/Style.js (modified) (1 diff)
- mochikit/trunk/MochiKit/Visual.js (modified) (19 diffs)
- mochikit/trunk/examples/effects/effects_combi.css (modified) (2 diffs)
- mochikit/trunk/examples/effects/index.html (modified) (6 diffs)
- mochikit/trunk/packed/MochiKit/MochiKit.js (modified) (66 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
mochikit/trunk/MochiKit/Style.js
r1382 r1383 137 137 138 138 return value == 'auto' ? null : value; 139 }, 140 141 /** @id MochiKit.Style.getElementWidth */ 142 getElementWidth: function (elem) { 143 var self = MochiKit.Style; 144 w = parseFloat(self.getStyle(elem, 'width')); 145 if (/Opera/.test(navigator.userAgent)) { 146 w -= (parseFloat(self.getStyle(elem, 'paddingLeft')) 147 + parseFloat(self.getStyle(elem, 'paddingRight')) 148 + parseFloat(self.getStyle(elem, 'borderLeft')) 149 + parseFloat(self.getStyle(elem, 'borderRight'))); 150 } 151 return w; 152 }, 153 154 /** @id MochiKit.Style.getElementHeight */ 155 getElementHeight: function (elem) { 156 var self = MochiKit.Style; 157 h = parseFloat(self.getStyle(elem, 'height')); 158 if (/Opera/.test(navigator.userAgent)) { 159 h -= (parseFloat(self.getStyle(elem, 'paddingTop')) 160 + parseFloat(self.getStyle(elem, 'paddingBottom')) 161 + parseFloat(self.getStyle(elem, 'borderTop')) 162 + parseFloat(self.getStyle(elem, 'borderBottom'))); 163 } 164 return h; 139 165 }, 140 166 mochikit/trunk/MochiKit/Visual.js
r1376 r1383 1400 1400 ***/ 1401 1401 var d = MochiKit.DOM; 1402 var s = MochiKit.Style; 1402 1403 element = d.getElement(element); 1403 1404 var elemClip = d.makeClipping(element); … … 1405 1406 scaleContent: false, 1406 1407 scaleX: false, 1408 scaleMode: {originalHeight: s.getElementHeight(element), 1409 originalWidth: s.getElementWidth(element)}, 1407 1410 restoreAfterFinish: true, 1408 1411 afterFinishInternal: function (effect) { … … 1411 1414 } 1412 1415 }, options); 1413 1414 1416 return new MochiKit.Visual.Scale(element, 0, options); 1415 1417 }; … … 1425 1427 var s = MochiKit.Style; 1426 1428 element = d.getElement(element); 1427 var elementDimensions = s.getElementDimensions(element);1428 1429 var elemClip; 1429 1430 options = MochiKit.Base.update({ … … 1431 1432 scaleX: false, 1432 1433 scaleFrom: 0, 1433 scaleMode: {originalHeight: elementDimensions.h,1434 originalWidth: elementDimensions.w},1434 scaleMode: {originalHeight: s.getElementHeight(element), 1435 originalWidth: s.getElementWidth(element)}, 1435 1436 restoreAfterFinish: true, 1436 1437 afterSetupInternal: function (effect) { … … 1454 1455 ***/ 1455 1456 var d = MochiKit.DOM; 1457 var s = MochiKit.Style; 1456 1458 element = d.getElement(element); 1457 1459 var oldOpacity = MochiKit.Style.getStyle(element, 'opacity'); … … 1479 1481 { sync: true, duration: 0.43 * options.duration, 1480 1482 scaleFromCenter: true, scaleX: false, 1483 scaleMode: {originalHeight: s.getElementHeight(element), 1484 originalWidth: s.getElementWidth(element)}, 1481 1485 scaleContent: false, restoreAfterFinish: true })], 1482 1486 options); … … 1574 1578 d.removeEmptyTextNodes(element); 1575 1579 var oldInnerBottom = s.getStyle(element.firstChild, 'bottom') || 0; 1576 var elementDimensions = s.getElementDimensions(element);1577 1580 var elemClip; 1578 1581 options = b.update({ … … 1580 1583 scaleX: false, 1581 1584 scaleFrom: 0, 1582 scaleMode: {originalHeight: elementDimensions.h,1583 originalWidth: elementDimensions.w},1585 scaleMode: {originalHeight: s.getElementHeight(element), 1586 originalWidth: s.getElementWidth(element)}, 1584 1587 restoreAfterFinish: true, 1585 1588 afterSetupInternal: function (effect) { … … 1595 1598 afterUpdateInternal: function (effect) { 1596 1599 s.setStyle(effect.element.firstChild, 1597 {bottom: (effect.dims[0] - effect.element.clientHeight) + 'px'});1600 {bottom: (effect.dims[0] - s.getElementHeight(effect.element)) + 'px'}); 1598 1601 }, 1599 1602 afterFinishInternal: function (effect) { … … 1607 1610 d.undoPositioned(effect.element); 1608 1611 } 1609 s.setStyle(effect.element.firstChild, 1610 {bottom: oldInnerBottom}); 1612 s.setStyle(effect.element.firstChild, {bottom: oldInnerBottom}); 1611 1613 } 1612 1614 }, options); … … 1637 1639 scaleContent: false, 1638 1640 scaleX: false, 1639 scaleMode: 'box', 1641 scaleMode: {originalHeight: s.getElementHeight(element), 1642 originalWidth: s.getElementWidth(element)}, 1640 1643 scaleFrom: 100, 1641 1644 restoreAfterFinish: true, … … 1651 1654 afterUpdateInternal: function (effect) { 1652 1655 s.setStyle(effect.element.firstChild, 1653 {bottom: (effect.dims[0] - effect.element.clientHeight) + 'px'});1656 {bottom: (effect.dims[0] - s.getElementHeight(effect.element)) + 'px'}); 1654 1657 }, 1655 1658 afterFinishInternal: function (effect) { … … 1675 1678 var d = MochiKit.DOM; 1676 1679 var b = MochiKit.Base; 1680 var s = MochiKit.Style; 1677 1681 var elemClip; 1678 1682 options = b.update({ 1679 1683 restoreAfterFinish: true, 1684 scaleMode: {originalHeight: s.getElementHeight(element), 1685 originalWidth: s.getElementWidth(element)}, 1680 1686 beforeSetupInternal: function (effect) { 1681 1687 elemClip = d.makeClipping(effect.element); … … 1717 1723 opacity: s.getStyle(element, 'opacity') 1718 1724 }; 1719 1720 var dims = s.getElementDimensions(element);1725 var dims = {h: s.getElementHeight(element), 1726 w: s.getElementWidth(element)}; 1721 1727 var initialMoveX, initialMoveY; 1722 1728 var moveX, moveY; … … 1782 1788 }), 1783 1789 new v.Scale(effect.element, 100, { 1784 scaleMode: {originalHeight: dims.h, 1785 originalWidth: dims.w}, 1790 scaleMode: {originalHeight: dims.h, originalWidth: dims.w}, 1786 1791 sync: true, 1787 1792 scaleFrom: /Opera/.test(navigator.userAgent) ? 1 : 0, … … 1824 1829 }; 1825 1830 1826 var dims = s.getElementDimensions(element); 1831 var dims = {h: s.getElementHeight(element), 1832 w: s.getElementWidth(element)}; 1827 1833 var moveX, moveY; 1828 1834 … … 1869 1875 }), 1870 1876 new v.Scale(element, /Opera/.test(navigator.userAgent) ? 1 : 0, { 1877 scaleMode: {originalHeight: dims.h, originalWidth: dims.w}, 1871 1878 sync: true, transition: options.scaleTransition, 1872 1879 scaleContent: options.scaleContent, … … 1927 1934 scaleContent: false, 1928 1935 scaleX: false, 1936 scaleMode: {originalHeight: s.getElementHeight(element), 1937 originalWidth: s.getElementWidth(element)}, 1929 1938 afterFinishInternal: function (effect) { 1930 1939 new v.Scale(element, 1, { 1931 1940 scaleContent: false, 1932 1941 scaleY: false, 1942 scaleMode: {originalHeight: s.getElementHeight(element), 1943 originalWidth: s.getElementWidth(element)}, 1933 1944 afterFinishInternal: function (effect) { 1934 1945 s.hideElement(effect.element); mochikit/trunk/examples/effects/effects_combi.css
r535 r1383 9 9 width: 120px; 10 10 height: 120px; 11 background-color: #AAAAAA; 11 border: 1px solid #669; 12 background-color: #ccf; 12 13 text-align: center; 13 14 padding: 1em 0.2em 0.2em 0.2em; … … 16 17 clear: both; 17 18 } 18 #reset {19 position: absolute;20 top: 600px;21 left: 600px;22 }23 #demo-all {24 position: absolute;25 top: 600px;26 left: 400px;27 font-size: 1.0em;28 width: 120px;29 height: 120px;30 background-color: #AAAAAA;31 text-align: center;32 padding: 1em 0.2em 0.2em 0.2em;33 }34 mochikit/trunk/examples/effects/index.html
r1375 r1383 9 9 <script src="../../MochiKit/Position.js" type="text/javascript"></script> 10 10 <script src="../../MochiKit/Visual.js" type="text/javascript"></script> 11 <script type="text/javascript"> 12 function showEffect() { 13 f = document.forms[0]; 14 v = f['effect'].value; 15 if (v.substring(0, 1) == '+') { 16 v = "MochiKit.Visual.toggle('demo-all','" + v.substring(1) + "'"; 17 } else { 18 v = "MochiKit.Visual." + v + "('demo-all'"; 19 } 20 if (f['slow'].checked) { 21 v += ',{duration:4}'; 22 } 23 v += ')'; 24 var v = eval(v); 25 } 26 function resetBox() { 27 e = MochiKit.DOM.getElement('demo-all'); 28 MochiKit.Visual.appear(e); 29 MochiKit.Style.setStyle(e, {}); 30 } 31 </script> 32 11 33 </head> 12 34 13 35 <body> 14 36 <h3>Here are demos of all combination effects:</h3> 15 <div class="demo">37 <div class="demo"> 16 38 <div class="example" id="demo-effect-appear" onclick="MochiKit.Visual.appear('demo-effect-fade')"> 17 39 <span>Click for Visual.appear demo</span> … … 24 46 </div> 25 47 <div class="example" id="demo-effect-blinddown" onclick="MochiKit.Visual.blindDown(this)"> 26 <div style="height:120px;"> 27 28 <span>Click for Visual.blindDown demo</span> 29 </div> 48 <span>Click for Visual.blindDown demo</span> 30 49 </div> 31 50 <div class="example" id="demo-effect-blindup" onclick="MochiKit.Visual.blindUp(this)"> … … 35 54 <span>Click for Visual.switchOff demo</span> 36 55 </div> 37 <div class="example" id="demo-effect-slidedown" onclick="MochiKit.Visual.slideDown(this)"> <div style="height:120px;">56 <div class="example" id="demo-effect-slidedown" onclick="MochiKit.Visual.slideDown(this)"> 38 57 <span>Click for Visual.slideDown demo</span> 39 </div> </div>40 <div class="example" id="demo-effect-slideup" onclick="MochiKit.Visual.slideUp(this)"> <div style="height:120px;">58 </div> 59 <div class="example" id="demo-effect-slideup" onclick="MochiKit.Visual.slideUp(this)"> 41 60 <span>Click for Visual.slideUp demo</span> 42 </div> </div>61 </div> 43 62 <div class="example" id="demo-effect-dropout" onclick="MochiKit.Visual.dropOut(this)"> 44 63 <span>Click for Visual.dropOut demo</span> … … 68 87 69 88 <h3>Here are all demos on one single element:</h3> 70 <ul class="demo"> 71 <li><span onclick="MochiKit.Visual.appear('demo-all')">Click for Visual.appear demo</span> 72 <span onclick="MochiKit.Visual.appear('demo-all',{duration:4})">– slow-motion</span></li> 73 <li><span onclick="MochiKit.Visual.fade('demo-all')">Click for Visual.fade demo</span> 74 <span onclick="MochiKit.Visual.fade('demo-all',{duration:4})">– slow-motion</span></li> 75 <li><span onclick="MochiKit.Visual.puff('demo-all')">Click for Visual.puff demo</span> 76 <span onclick="MochiKit.Visual.puff('demo-all',{duration:4})">– slow-motion</span></li> 77 <li><span onclick="MochiKit.Visual.blindDown('demo-all')">Click for Visual.blindDown demo</span> 78 <span onclick="MochiKit.Visual.blindDown('demo-all',{duration:4})">– slow-motion</span></li> 79 <li><span onclick="MochiKit.Visual.blindUp('demo-all')">Click for Visual.blindUp demo</span> 80 <span onclick="MochiKit.Visual.blindUp('demo-all',{duration:4})">– slow-motion</span></li> 81 <li><span onclick="MochiKit.Visual.switchOff('demo-all')">Click for Visual.switchOff demo</span> 82 <span onclick="MochiKit.Visual.switchOff('demo-all',{duration:4})">– slow-motion</span></li> 83 <li><span onclick="MochiKit.Visual.slideDown('demo-all')">Click for Visual.slideDown demo</span> 84 <span onclick="MochiKit.Visual.slideDown('demo-all',{duration:4})">– slow-motion</span></li> 85 <li><span onclick="MochiKit.Visual.slideUp('demo-all')">Click for Visual.slideUp demo</span> 86 <span onclick="MochiKit.Visual.slideUp('demo-all',{duration:4})">– slow-motion</span></li> 87 <li><span onclick="MochiKit.Visual.dropOut('demo-all')">Click for Visual.dropOut demo</span> 88 <span onclick="MochiKit.Visual.dropOut('demo-all',{duration:4})">– slow-motion</span></li> 89 <li><span onclick="MochiKit.Visual.shake('demo-all')">Click for Visual.shake demo</span> 90 <span onclick="MochiKit.Visual.shake('demo-all',{duration:4})">– slow-motion</span></li> 91 <li><span onclick="MochiKit.Visual.pulsate('demo-all')">Click for Visual.pulsate demo</span> 92 <span onclick="MochiKit.Visual.pulsate('demo-all',{duration:4})">– slow-motion</span></li> 93 <li><span onclick="MochiKit.Visual.squish('demo-all')">Click for Visual.squish demo</span> 94 <span onclick="MochiKit.Visual.squish('demo-all',{duration:4})">– slow-motion</span></li> 95 <li><span onclick="MochiKit.Visual.fold('demo-all')">Click for Visual.fold demo</span> 96 <span onclick="MochiKit.Visual.fold('demo-all',{duration:4})">– slow-motion</span></li> 97 <li><span onclick="MochiKit.Visual.grow('demo-all')">Click for Visual.grow demo</span> 98 <span onclick="MochiKit.Visual.grow('demo-all',{duration:4})">– slow-motion</span></li> 99 <li><span onclick="MochiKit.Visual.shrink('demo-all')">Click for Visual.shrink demo</span> 100 <span onclick="MochiKit.Visual.shrink('demo-all',{duration:4})">– slow-motion</span></li> 101 <li><span onclick="new MochiKit.Visual.Highlight('demo-all')">Click for Visual.Highlight demo</span> 102 <span onclick="new MochiKit.Visual.Highlight('demo-all',{duration:4})">– slow-motion</span></li> 103 <li><span onclick="MochiKit.Visual.toggle('demo-all','blind')">Click for Visual.toggle demo (blind)</span> 104 <span onclick="MochiKit.Visual.toggle('demo-all','blind',{duration:4})">– slow-motion</span></li> 105 <li><span onclick="MochiKit.Visual.toggle('demo-all','slide')">Click for Visual.toggle demo (slide)</span> 106 <span onclick="MochiKit.Visual.toggle('demo-all','slide',{duration:4})">– slow-motion</span></li> 107 <li><span onclick="MochiKit.Visual.toggle('demo-all','appear')">Click for Visual.toggle demo (appear)</span> 108 <span onclick="MochiKit.Visual.toggle('demo-all','appear',{duration:4})">– slow-motion</span></li> 109 <li><span onclick="MochiKit.Visual.toggle('demo-all','size')">Click for Visual.toggle demo (size)</span> 110 <span onclick="MochiKit.Visual.toggle('demo-all','size',{duration:4})">– slow-motion</span></li> 111 </ul> 112 <div id="demo-all"> 113 <span>Click on one of the left to see the effect</span> 114 </div> 115 <span id="reset" onclick="new MochiKit.Visual.appear('demo-all')">Click here to reset box</span> 89 <div id="demo-all" class="example" onclick="showEffect()"> 90 <span>Click to see the selected effect</span> 91 </div> 92 <form action="" style="margin-left:140px;height:150px;"> 93 <fieldset style="border:none;"> 94 <select name="effect" size="1"> 95 <optgroup label="Single effects"> 96 <option value="appear">appear</option> 97 <option value="fade">fade</option> 98 <option value="puff">puff</option> 99 <option value="blindDown">blindDown</option> 100 <option value="blindUp">blindUp</option> 101 <option value="slideDown">slideDown</option> 102 <option value="slideUp">slideUp</option> 103 <option value="switchOff">switchOff</option> 104 <option value="dropOut">dropOut</option> 105 <option value="shake">shake</option> 106 <option value="pulsate">pulsate</option> 107 <option value="squish">squish</option> 108 <option value="fold">fold</option> 109 <option value="grow">grow</option> 110 <option value="shrink">shrink</option> 111 <option value="Highlight">Highlight</option> 112 </optgroup> 113 <optgroup label="Toggle effects"> 114 <option value="+appear">appear</option> 115 <option value="+blind">blind</option> 116 <option value="+slide">slide</option> 117 <option value="+size">size</option> 118 </optgroup> 119 </select> 120 121 <input type="checkbox" name="slow"/> in slow-motion 122 </fieldset> 123 <fieldset style="border:none;"> 124 <input type="button" name="show" value="Click to show effect" onclick="showEffect()"/> 125 <input type="button" name="show" value="Click to reset box" onclick="resetBox()"/> 126 </fieldset> 127 </form> 116 128 117 <div>118 Links to other samples: 119 <ul>129 <div class="demo"> 130 <h3>Links to other samples:</h3> 131 <ul style="float:left;margin-top:0;"> 120 132 <li><a href="effects_bigslide.html">Big slide effects</a></li> 121 133 <li><a href="effects_slide.html">Slide effects</a></li> … … 123 135 <li><a href="effects_blindslide.html">Blind/Slide effects</a></li> 124 136 <li><a href="effects_fadeappear.html">Fade/Appear effects</a></li> 137 </ul> 138 <ul style="float:left;margin-top:0"> 125 139 <li><a href="effects_onload.html">Onload effects</a></li> 126 140 <li><a href="effects_scroll.html">Scroll effects</a></li> … … 128 142 <li><a href="effects_queue.html">Queue effects</a></li> 129 143 <li><a href="effects_queue_limit.html">Queue limit effects</a></li> 130 </ul> 131 </div> 144 </ul> 145 </div> 146 147 <div class="demo"/> 148 132 149 </body> 133 150 </html> mochikit/trunk/packed/MochiKit/MochiKit.js
r1382 r1383 3925 3925 } 3926 3926 return _416=="auto"?null:_416; 3927 },setStyle:function(elem,_419){ 3927 },getElementWidth:function(elem){ 3928 var self=MochiKit.Style; 3929 w=parseFloat(self.getStyle(elem,"width")); 3930 if(/Opera/.test(navigator.userAgent)){ 3931 w-=(parseFloat(self.getStyle(elem,"paddingLeft"))+parseFloat(self.getStyle(elem,"paddingRight"))+parseFloat(self.getStyle(elem,"borderLeft"))+parseFloat(self.getStyle(elem,"borderRight"))); 3932 } 3933 return w; 3934 },getElementHeight:function(elem){ 3935 var self=MochiKit.Style; 3936 h=parseFloat(self.getStyle(elem,"height")); 3937 if(/Opera/.test(navigator.userAgent)){ 3938 h-=(parseFloat(self.getStyle(elem,"paddingTop"))+parseFloat(self.getStyle(elem,"paddingBottom"))+parseFloat(self.getStyle(elem,"borderTop"))+parseFloat(self.getStyle(elem,"borderBottom"))); 3939 } 3940 return h; 3941 },setStyle:function(elem,_41d){ 3928 3942 elem=MochiKit.DOM.getElement(elem); 3929 for(var name in _41 9){3943 for(var name in _41d){ 3930 3944 switch(name){ 3931 3945 case "opacity": 3932 MochiKit.Style.setOpacity(elem,_41 9[name]);3946 MochiKit.Style.setOpacity(elem,_41d[name]); 3933 3947 break; 3934 3948 case "float": … … 3936 3950 case "styleFloat": 3937 3951 if(typeof (elem.style["float"])!="undefined"){ 3938 elem.style["float"]=_41 9[name];3952 elem.style["float"]=_41d[name]; 3939 3953 }else{ 3940 3954 if(typeof (elem.style.cssFloat)!="undefined"){ 3941 elem.style.cssFloat=_41 9[name];3942 }else{ 3943 elem.style.styleFloat=_41 9[name];3955 elem.style.cssFloat=_41d[name]; 3956 }else{ 3957 elem.style.styleFloat=_41d[name]; 3944 3958 } 3945 3959 } 3946 3960 break; 3947 3961 default: 3948 elem.style[MochiKit.Base.camelize(name)]=_41 9[name];3962 elem.style[MochiKit.Base.camelize(name)]=_41d[name]; 3949 3963 } 3950 3964 } … … 3953 3967 var self=MochiKit.Style; 3954 3968 if(o==1){ 3955 var _4 1e=/Gecko/.test(navigator.userAgent)&&!(/Konqueror|AppleWebKit|KHTML/.test(navigator.userAgent));3956 elem.style["opacity"]=_4 1e?0.999999:1;3969 var _422=/Gecko/.test(navigator.userAgent)&&!(/Konqueror|AppleWebKit|KHTML/.test(navigator.userAgent)); 3970 elem.style["opacity"]=_422?0.999999:1; 3957 3971 if(/MSIE/.test(navigator.userAgent)){ 3958 3972 elem.style["filter"]=self.getStyle(elem,"filter").replace(/alpha\([^\)]*\)/gi,""); … … 3967 3981 } 3968 3982 } 3969 },getElementPosition:function(elem,_42 0){3983 },getElementPosition:function(elem,_424){ 3970 3984 var self=MochiKit.Style; 3971 3985 var dom=MochiKit.DOM; … … 3976 3990 var c=new self.Coordinates(0,0); 3977 3991 var box=null; 3978 var _42 5=null;3992 var _429=null; 3979 3993 var d=MochiKit.DOM._document; 3980 3994 var de=d.documentElement; … … 3992 4006 c.x+=elem.offsetLeft; 3993 4007 c.y+=elem.offsetTop; 3994 _42 5=elem.offsetParent;3995 if(_42 5!=elem){3996 while(_42 5){3997 c.x+=_42 5.offsetLeft;3998 c.y+=_42 5.offsetTop;3999 _42 5=_425.offsetParent;4008 _429=elem.offsetParent; 4009 if(_429!=elem){ 4010 while(_429){ 4011 c.x+=_429.offsetLeft; 4012 c.y+=_429.offsetTop; 4013 _429=_429.offsetParent; 4000 4014 } 4001 4015 } … … 4006 4020 } 4007 4021 if(elem.parentNode){ 4008 _42 5=elem.parentNode;4009 }else{ 4010 _42 5=null;4011 } 4012 while(_42 5){4013 var _42 a=_425.tagName.toUpperCase();4014 if(_42 a==="BODY"||_42a==="HTML"){4022 _429=elem.parentNode; 4023 }else{ 4024 _429=null; 4025 } 4026 while(_429){ 4027 var _42e=_429.tagName.toUpperCase(); 4028 if(_42e==="BODY"||_42e==="HTML"){ 4015 4029 break; 4016 4030 } 4017 var disp=self.getStyle(_42 5,"display");4031 var disp=self.getStyle(_429,"display"); 4018 4032 if(disp.search(/^inline|table-row.*$/i)){ 4019 c.x-=_42 5.scrollLeft;4020 c.y-=_42 5.scrollTop;4021 } 4022 if(_42 5.parentNode){4023 _42 5=_425.parentNode;4024 }else{ 4025 _42 5=null;4026 } 4027 } 4028 } 4029 } 4030 } 4031 if(typeof (_42 0)!="undefined"){4032 _42 0=arguments.callee(_420);4033 if(_42 0){4034 c.x-=(_42 0.x||0);4035 c.y-=(_42 0.y||0);4033 c.x-=_429.scrollLeft; 4034 c.y-=_429.scrollTop; 4035 } 4036 if(_429.parentNode){ 4037 _429=_429.parentNode; 4038 }else{ 4039 _429=null; 4040 } 4041 } 4042 } 4043 } 4044 } 4045 if(typeof (_424)!="undefined"){ 4046 _424=arguments.callee(_424); 4047 if(_424){ 4048 c.x-=(_424.x||0); 4049 c.y-=(_424.y||0); 4036 4050 } 4037 4051 } 4038 4052 return c; 4039 },setElementPosition:function(elem,_4 2d,_42e){4053 },setElementPosition:function(elem,_431,_432){ 4040 4054 elem=MochiKit.DOM.getElement(elem); 4041 if(typeof (_4 2e)=="undefined"){4042 _4 2e="px";4043 } 4044 var _4 2f={};4045 var _43 0=MochiKit.Base.isUndefinedOrNull;4046 if(!_43 0(_42d.x)){4047 _4 2f["left"]=_42d.x+_42e;4048 } 4049 if(!_43 0(_42d.y)){4050 _4 2f["top"]=_42d.y+_42e;4051 } 4052 MochiKit.DOM.updateNodeAttributes(elem,{"style":_4 2f});4055 if(typeof (_432)=="undefined"){ 4056 _432="px"; 4057 } 4058 var _433={}; 4059 var _434=MochiKit.Base.isUndefinedOrNull; 4060 if(!_434(_431.x)){ 4061 _433["left"]=_431.x+_432; 4062 } 4063 if(!_434(_431.y)){ 4064 _433["top"]=_431.y+_432; 4065 } 4066 MochiKit.DOM.updateNodeAttributes(elem,{"style":_433}); 4053 4067 },getElementDimensions:function(elem){ 4054 4068 var self=MochiKit.Style; … … 4066 4080 } 4067 4081 var s=elem.style; 4068 var _43 6=s.visibility;4069 var _43 7=s.position;4070 var _43 8=s.display;4082 var _43a=s.visibility; 4083 var _43b=s.position; 4084 var _43c=s.display; 4071 4085 s.visibility="hidden"; 4072 4086 s.position="absolute"; 4073 4087 s.display=""; 4074 var _43 9=elem.offsetWidth;4075 var _43 a=elem.offsetHeight;4076 s.display=_43 8;4077 s.position=_43 7;4078 s.visibility=_43 6;4079 return new self.Dimensions(_43 9,_43a);4080 },setElementDimensions:function(elem,_4 3c,_43d){4088 var _43d=elem.offsetWidth; 4089 var _43e=elem.offsetHeight; 4090 s.display=_43c; 4091 s.position=_43b; 4092 s.visibility=_43a; 4093 return new self.Dimensions(_43d,_43e); 4094 },setElementDimensions:function(elem,_440,_441){ 4081 4095 elem=MochiKit.DOM.getElement(elem); 4082 if(typeof (_4 3d)=="undefined"){4083 _4 3d="px";4084 } 4085 var _4 3e={};4086 var _4 3f=MochiKit.Base.isUndefinedOrNull;4087 if(!_4 3f(_43c.w)){4088 _4 3e["width"]=_43c.w+_43d;4089 } 4090 if(!_4 3f(_43c.h)){4091 _4 3e["height"]=_43c.h+_43d;4092 } 4093 MochiKit.DOM.updateNodeAttributes(elem,{"style":_4 3e});4094 },setDisplayForElement:function(_44 0,_441){4095 var _44 2=MochiKit.Base.extend(null,arguments,1);4096 var _44 3=MochiKit.DOM.getElement;4097 for(var i=0;i<_44 2.length;i++){4098 _44 1=_443(_442[i]);4099 if(_44 1){4100 _44 1.style.display=_440;4096 if(typeof (_441)=="undefined"){ 4097 _441="px"; 4098 } 4099 var _442={}; 4100 var _443=MochiKit.Base.isUndefinedOrNull; 4101 if(!_443(_440.w)){ 4102 _442["width"]=_440.w+_441; 4103 } 4104 if(!_443(_440.h)){ 4105 _442["height"]=_440.h+_441; 4106 } 4107 MochiKit.DOM.updateNodeAttributes(elem,{"style":_442}); 4108 },setDisplayForElement:function(_444,_445){ 4109 var _446=MochiKit.Base.extend(null,arguments,1); 4110 var _447=MochiKit.DOM.getElement; 4111 for(var i=0;i<_446.length;i++){ 4112 _445=_447(_446[i]); 4113 if(_445){ 4114 _445.style.display=_444; 4101 4115 } 4102 4116 } … … 4155 4169 return this.__repr__(); 4156 4170 }; 4157 MochiKit.LoggingPane.createLoggingPane=function(_4 4d){4171 MochiKit.LoggingPane.createLoggingPane=function(_451){ 4158 4172 var m=MochiKit.LoggingPane; 4159 _4 4d=!(!_44d);4160 if(m._loggingPane&&m._loggingPane.inline!=_4 4d){4173 _451=!(!_451); 4174 if(m._loggingPane&&m._loggingPane.inline!=_451){ 4161 4175 m._loggingPane.closePane(); 4162 4176 m._loggingPane=null; 4163 4177 } 4164 4178 if(!m._loggingPane||m._loggingPane.closed){ 4165 m._loggingPane=new m.LoggingPane(_4 4d,MochiKit.Logging.logger);4179 m._loggingPane=new m.LoggingPane(_451,MochiKit.Logging.logger); 4166 4180 } 4167 4181 return m._loggingPane; 4168 4182 }; 4169 MochiKit.LoggingPane.LoggingPane=function(_4 4f,_450){4170 if(typeof (_45 0)=="undefined"||_450===null){4171 _45 0=MochiKit.Logging.logger;4172 } 4173 this.logger=_45 0;4174 var _45 1=MochiKit.Base.update;4175 var _45 2=MochiKit.Base.updatetree;4183 MochiKit.LoggingPane.LoggingPane=function(_453,_454){ 4184 if(typeof (_454)=="undefined"||_454===null){ 4185 _454=MochiKit.Logging.logger; 4186 } 4187 this.logger=_454; 4188 var _455=MochiKit.Base.update; 4189 var _456=MochiKit.Base.updatetree; 4176 4190 var bind=MochiKit.Base.bind; 4177 var _45 4=MochiKit.Base.clone;4191 var _458=MochiKit.Base.clone; 4178 4192 var win=window; 4179 4193 var uid="_MochiKit_LoggingPane"; … … 4181 4195 win=MochiKit.DOM.currentWindow(); 4182 4196 } 4183 if(!_4 4f){4197 if(!_453){ 4184 4198 var url=win.location.href.split("?")[0].replace(/[#:\/.><&%-]/g,"_"); 4185 4199 var name=uid+"_"+url; … … 4196 4210 var doc=win.document; 4197 4211 this.doc=doc; 4198 var _45 b=doc.getElementById(uid);4199 var _4 5c=!!_45b;4200 if(_45 b&&typeof (_45b.loggingPane)!="undefined"){4201 _45 b.loggingPane.logger=this.logger;4202 _45 b.loggingPane.buildAndApplyFilter();4203 return _45 b.loggingPane;4204 } 4205 if(_4 5c){4206 var _4 5d;4207 while((_4 5d=_45b.firstChild)){4208 _45 b.removeChild(_45d);4209 } 4210 }else{ 4211 _45 b=doc.createElement("div");4212 _45 b.id=uid;4213 } 4214 _45 b.loggingPane=this;4215 var _4 5e=doc.createElement("input");4216 var _4 5f=doc.createElement("input");4217 var _46 0=doc.createElement("button");4218 var _46 1=doc.createElement("button");4219 var _46 2=doc.createElement("button");4220 var _46 3=doc.createElement("button");4221 var _46 4=doc.createElement("div");4222 var _46 5=doc.createElement("div");4223 var _46 6=uid+"_Listener";4224 this.colorTable=_45 4(this.colorTable);4225 var _46 7=[];4226 var _46 8=null;4227 var _46 9=function(msg){4228 var _46 b=msg.level;4229 if(typeof (_46 b)=="number"){4230 _46 b=MochiKit.Logging.LogLevel[_46b];4231 } 4232 return _46 b;4233 }; 4234 var _4 6c=function(msg){4212 var _45f=doc.getElementById(uid); 4213 var _460=!!_45f; 4214 if(_45f&&typeof (_45f.loggingPane)!="undefined"){ 4215 _45f.loggingPane.logger=this.logger; 4216 _45f.loggingPane.buildAndApplyFilter(); 4217 return _45f.loggingPane; 4218 } 4219 if(_460){ 4220 var _461; 4221 while((_461=_45f.firstChild)){ 4222 _45f.removeChild(_461); 4223 } 4224 }else{ 4225 _45f=doc.createElement("div"); 4226 _45f.id=uid; 4227 } 4228 _45f.loggingPane=this; 4229 var _462=doc.createElement("input"); 4230 var _463=doc.createElement("input"); 4231 var _464=doc.createElement("button"); 4232 var _465=doc.createElement("button"); 4233 var _466=doc.createElement("button"); 4234 var _467=doc.createElement("button"); 4235 var _468=doc.createElement("div"); 4236 var _469=doc.createElement("div"); 4237 var _46a=uid+"_Listener"; 4238 this.colorTable=_458(this.colorTable); 4239 var _46b=[]; 4240 var _46c=null; 4241 var _46d=function(msg){ 4242 var _46f=msg.level; 4243 if(typeof (_46f)=="number"){ 4244 _46f=MochiKit.Logging.LogLevel[_46f]; 4245 } 4246 return _46f; 4247 }; 4248 var _470=function(msg){ 4235 4249 return msg.info.join(" "); 4236 4250 }; 4237 var _4 6e=bind(function(msg){4238 var _47 0=_469(msg);4239 var text=_4 6c(msg);4240 var c=this.colorTable[_47 0];4251 var _472=bind(function(msg){ 4252 var _474=_46d(msg); 4253 var text=_470(msg); 4254 var c=this.colorTable[_474]; 4241 4255 var p=doc.createElement("span"); 4242 p.className="MochiKit-LogMessage MochiKit-LogLevel-"+_47 0;4256 p.className="MochiKit-LogMessage MochiKit-LogLevel-"+_474; 4243 4257 p.style.cssText="margin: 0px; white-space: -moz-pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; white-space: pre-line; word-wrap: break-word; wrap-option: emergency; color: "+c; 4244 p.appendChild(doc.createTextNode(_47 0+": "+text));4245 _46 5.appendChild(p);4246 _46 5.appendChild(doc.createElement("br"));4247 if(_46 4.offsetHeight>_464.scrollHeight){4248 _46 4.scrollTop=0;4249 }else{ 4250 _46 4.scrollTop=_464.scrollHeight;4258 p.appendChild(doc.createTextNode(_474+": "+text)); 4259 _469.appendChild(p); 4260 _469.appendChild(doc.createElement("br")); 4261 if(_468.offsetHeight>_468.scrollHeight){ 4262 _468.scrollTop=0; 4263 }else{ 4264 _468.scrollTop=_468.scrollHeight; 4251 4265 } 4252 4266 },this); 4253 var _47 4=function(msg){4254 _46 7[_467.length]=msg;4255 _4 6e(msg);4256 }; 4257 var _47 6=function(){4258 var _47 7,_478;4267 var _478=function(msg){ 4268 _46b[_46b.length]=msg; 4269 _472(msg); 4270 }; 4271 var _47a=function(){ 4272 var _47b,_47c; 4259 4273 try{ 4260 _47 7=new RegExp(_45e.value);4261 _47 8=new RegExp(_45f.value);4274 _47b=new RegExp(_462.value); 4275 _47c=new RegExp(_463.value); 4262 4276 } 4263 4277 catch(e){ … … 4266 4280 } 4267 4281 return function(msg){ 4268 return (_47 7.test(_469(msg))&&_478.test(_46c(msg)));4269 }; 4270 }; 4271 var _47 a=function(){4272 while(_46 5.firstChild){4273 _46 5.removeChild(_465.firstChild);4274 } 4275 }; 4276 var _47 b=function(){4277 _46 7=[];4278 _47 a();4279 }; 4280 var _4 7c=bind(function(){4282 return (_47b.test(_46d(msg))&&_47c.test(_470(msg))); 4283 }; 4284 }; 4285 var _47e=function(){ 4286 while(_469.firstChild){ 4287 _469.removeChild(_469.firstChild); 4288 } 4289 }; 4290 var _47f=function(){ 4291 _46b=[]; 4292 _47e(); 4293 }; 4294 var _480=bind(function(){ 4281 4295 if(this.closed){ 4282 4296 return; … … 4286 4300 MochiKit.LoggingPane._loggingPane=null; 4287 4301 } 4288 this.logger.removeListener(_46 6);4302 this.logger.removeListener(_46a); 4289 4303 try{ 4290 4304 try{ 4291 _45 b.loggingPane=null;4305 _45f.loggingPane=null; 4292 4306 } 4293 4307 catch(e){ 4294 4308 logFatal("Bookmarklet was closed incorrectly."); 4295 4309 } 4296 if(_4 4f){4297 _45 b.parentNode.removeChild(_45b);4310 if(_453){ 4311 _45f.parentNode.removeChild(_45f); 4298 4312 }else{ 4299 4313 this.win.close(); … … 4303 4317 } 4304 4318 },this); 4305 var _4 7d=function(){4306 _47 a();4307 for(var i=0;i<_46 7.length;i++){4308 var msg=_46 7[i];4309 if(_46 8===null||_468(msg)){4310 _4 6e(msg);4319 var _481=function(){ 4320 _47e(); 4321 for(var i=0;i<_46b.length;i++){ 4322 var msg=_46b[i]; 4323 if(_46c===null||_46c(msg)){ 4324 _472(msg); 4311 4325 } 4312 4326 } 4313 4327 }; 4314 4328 this.buildAndApplyFilter=function(){ 4315 _46 8=_476();4316 _4 7d();4317 this.logger.removeListener(_46 6);4318 this.logger.addListener(_46 6,_468,_474);4319 }; 4320 var _48 0=bind(function(){4321 _46 7=this.logger.getMessages();4322 _4 7d();4329 _46c=_47a(); 4330 _481(); 4331 this.logger.removeListener(_46a); 4332 this.logger.addListener(_46a,_46c,_478); 4333 }; 4334 var _484=bind(function(){ 4335 _46b=this.logger.getMessages(); 4336 _481(); 4323 4337 },this); 4324 var _48 1=bind(function(_482){4325 _48 2=_482||window.event;4326 key=_48 2.which||_482.keyCode;4338 var _485=bind(function(_486){ 4339 _486=_486||window.event; 4340 key=_486.which||_486.keyCode; 4327 4341 if(key==13){ 4328 4342 this.buildAndApplyFilter(); 4329 4343 } 4330 4344 },this); 4331 var _48 3="display: block; z-index: 1000; left: 0px; bottom: 0px; position: fixed; width: 100%; background-color: white; font: "+this.logFont;4332 if(_4 4f){4333 _48 3+="; height: 10em; border-top: 2px solid black";4334 }else{ 4335 _48 3+="; height: 100%;";4336 } 4337 _45 b.style.cssText=_483;4338 if(!_4 5c){4339 doc.body.appendChild(_45 b);4340 } 4341 _48 3={"cssText":"width: 33%; display: inline; font: "+this.logFont};4342 _45 2(_45e,{"value":"FATAL|ERROR|WARNING|INFO|DEBUG","onkeypress":_481,"style":_483});4343 _45 b.appendChild(_45e);4344 _45 2(_45f,{"value":".*","onkeypress":_481,"style":_483});4345 _45 b.appendChild(_45f);4346 _48 3="width: 8%; display:inline; font: "+this.logFont;4347 _46 0.appendChild(doc.createTextNode("Filter"));4348 _46 0.onclick=bind("buildAndApplyFilter",this);4349 _46 0.style.cssText=_483;4350 _45 b.appendChild(_460);4351 _46 1.appendChild(doc.createTextNode("Load"));4352 _46 1.onclick=_480;4353 _46 1.style.cssText=_483;4354 _45 b.appendChild(_461);4355 _46 2.appendChild(doc.createTextNode("Clear"));4356 _46 2.onclick=_47b;4357 _46 2.style.cssText=_483;4358 _45 b.appendChild(_462);4359 _46 3.appendChild(doc.createTextNode("Close"));4360 _46 3.onclick=_47c;4361 _46 3.style.cssText=_483;4362 _45 b.appendChild(_463);4363 _46 4.style.cssText="overflow: auto; width: 100%";4364 _46 5.style.cssText="width: 100%; height: "+(_44f?"8em":"100%");4365 _46 4.appendChild(_465);4366 _45 b.appendChild(_464);4345 var _487="display: block; z-index: 1000; left: 0px; bottom: 0px; position: fixed; width: 100%; background-color: white; font: "+this.logFont; 4346 if(_453){ 4347 _487+="; height: 10em; border-top: 2px solid black"; 4348 }else{ 4349 _487+="; height: 100%;"; 4350 } 4351 _45f.style.cssText=_487; 4352 if(!_460){ 4353 doc.body.appendChild(_45f); 4354 } 4355 _487={"cssText":"width: 33%; display: inline; font: "+this.logFont}; 4356 _456(_462,{"value":"FATAL|ERROR|WARNING|INFO|DEBUG","onkeypress":_485,"style":_487}); 4357 _45f.appendChild(_462); 4358 _456(_463,{"value":".*","onkeypress":_485,"style":_487}); 4359 _45f.appendChild(_463); 4360 _487="width: 8%; display:inline; font: "+this.logFont; 4361 _464.appendChild(doc.createTextNode("Filter")); 4362 _464.onclick=bind("buildAndApplyFilter",this); 4363 _464.style.cssText=_487; 4364 _45f.appendChild(_464); 4365 _465.appendChild(doc.createTextNode("Load")); 4366 _465.onclick=_484; 4367 _465.style.cssText=_487; 4368 _45f.appendChild(_465); 4369 _466.appendChild(doc.createTextNode("Clear")); 4370 _466.onclick=_47f; 4371 _466.style.cssText=_487; 4372 _45f.appendChild(_466); 4373 _467.appendChild(doc.createTextNode("Close")); 4374 _467.onclick=_480; 4375 _467.style.cssText=_487; 4376 _45f.appendChild(_467); 4377 _468.style.cssText="overflow: auto; width: 100%"; 4378 _469.style.cssText="width: 100%; height: "+(_453?"8em":"100%"); 4379 _468.appendChild(_469); 4380 _45f.appendChild(_468); 4367 4381 this.buildAndApplyFilter(); 4368 _48 0();4369 if(_4 4f){4382 _484(); 4383 if(_453){ 4370 4384 this.win=undefined; 4371 4385 }else{ 4372 4386 this.win=win; 4373 4387 } 4374 this.inline=_4 4f;4375 this.closePane=_4 7c;4388 this.inline=_453; 4389 this.closePane=_480; 4376 4390 this.closed=false; 4377 4391 return this; … … 4396 4410 return this.__repr__(); 4397 4411 }; 4398 MochiKit.Color.Color=function(red,_48 5,blue,_487){4399 if(typeof (_48 7)=="undefined"||_487===null){4400 _48 7=1;4401 } 4402 this.rgb={r:red,g:_48 5,b:blue,a:_487};4403 }; 4404 MochiKit.Color.Color.prototype={__class__:MochiKit.Color.Color,colorWithAlpha:function(_48 8){4412 MochiKit.Color.Color=function(red,_489,blue,_48b){ 4413 if(typeof (_48b)=="undefined"||_48b===null){ 4414 _48b=1; 4415 } 4416 this.rgb={r:red,g:_489,b:blue,a:_48b}; 4417 }; 4418 MochiKit.Color.Color.prototype={__class__:MochiKit.Color.Color,colorWithAlpha:function(_48c){ 4405 4419 var rgb=this.rgb; 4406 4420 var m=MochiKit.Color; 4407 return m.Color.fromRGB(rgb.r,rgb.g,rgb.b,_48 8);4421 return m.Color.fromRGB(rgb.r,rgb.g,rgb.b,_48c); 4408 4422 },colorWithHue:function(hue){ 4409 4423 var hsl=this.asHSL(); … … 4411 4425 var m=MochiKit.Color; 4412 4426 return m.Color.fromHSL(hsl); 4413 },colorWithSaturation:function(_4 8e){4427 },colorWithSaturation:function(_492){ 4414 4428 var hsl=this.asHSL(); 4415 hsl.s=_4 8e;4429 hsl.s=_492; 4416 4430 var m=MochiKit.Color; 4417 4431 return m.Color.fromHSL(hsl); 4418 },colorWithLightness:function(_49 1){4432 },colorWithLightness:function(_495){ 4419 4433 var hsl=this.asHSL(); 4420 hsl.l=_49 1;4434 hsl.l=_495; 4421 4435 var m=MochiKit.Color; 4422 4436 return m.Color.fromHSL(hsl); 4423 },darkerColorWithLevel:function(_49 4){4437 },darkerColorWithLevel:function(_498){ 4424 4438 var hsl=this.asHSL(); 4425 hsl.l=Math.max(hsl.l-_49 4,0);4439 hsl.l=Math.max(hsl.l-_498,0); 4426 4440 var m=MochiKit.Color; 4427 4441 return m.Color.fromHSL(hsl); 4428 },lighterColorWithLevel:function(_49 7){4442 },lighterColorWithLevel:function(_49b){ 4429 4443 var hsl=this.asHSL(); 4430 hsl.l=Math.min(hsl.l+_49 7,1);4444 hsl.l=Math.min(hsl.l+_49b,1); 4431 4445 var m=MochiKit.Color; 4432 4446 return m.Color.fromHSL(hsl); 4433 },blendedColor:function(_49 a,_49b){4434 if(typeof (_49 b)=="undefined"||_49b===null){4435 _49 b=0.5;4436 } 4437 var sf=1-_49 b;4447 },blendedColor:function(_49e,_
