Changeset 1080
- Timestamp:
- 08/18/06 14:50:10 (2 years ago)
- Files:
-
- mochikit/trunk/MochiKit/DOM.js (modified) (2 diffs)
- mochikit/trunk/MochiKit/Signal.js (modified) (2 diffs)
- mochikit/trunk/doc/html/MochiKit/DOM.html (modified) (2 diffs)
- mochikit/trunk/doc/html/MochiKit/Signal.html (modified) (2 diffs)
- mochikit/trunk/doc/html/MochiKit/VersionHistory.html (modified) (2 diffs)
- mochikit/trunk/doc/html/MochiKit/index.html (modified) (2 diffs)
- mochikit/trunk/doc/rst/MochiKit/DOM.rst (modified) (1 diff)
- mochikit/trunk/doc/rst/MochiKit/Signal.rst (modified) (1 diff)
- mochikit/trunk/doc/rst/MochiKit/VersionHistory.rst (modified) (1 diff)
- mochikit/trunk/packed/MochiKit/MochiKit.js (modified) (72 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
mochikit/trunk/MochiKit/DOM.js
r1079 r1080 49 49 "createDOM", 50 50 "createDOMFunc", 51 "isChildNode", 51 52 "getNodeAttribute", 52 53 "setNodeAttribute", … … 328 329 }, 329 330 331 /** @id MochiKit.DOM.isChildNode */ 332 isChildNode: function (node, maybeparent) { 333 var self = MochiKit.DOM; 334 if (typeof(node) == "string") { 335 node = self.getElement(node); 336 } 337 if (typeof(maybeparent) == "string") { 338 maybeparent = self.getElement(maybeparent); 339 } 340 while (node && node.nodeName && node.nodeName != "BODY") { 341 node = node.parentNode; 342 if (node == maybeparent) { 343 return true; 344 } 345 } 346 return false; 347 }, 348 330 349 /** @id MochiKit.DOM.setNodeAttribute */ 331 350 setNodeAttribute: function (node, attr, value) { mochikit/trunk/MochiKit/Signal.js
r1064 r1080 538 538 }, 539 539 540 _browserAlreadyHasMouseEnterAndLeave: function () { 541 /* Until isIE() gets out of New */ 542 return /MSIE/.test(navigator.userAgent); 543 }, 544 545 _mouseEnterListener: function (src, sig, func, obj) { 546 var E = MochiKit.Signal.Event; 547 return function (nativeEvent) { 548 var e = new E(src, nativeEvent); 549 if (e.target() != src || MochiKit.DOM.isChildNode(e.relatedTarget(), this)) { 550 return e.stop(); 551 } 552 e.type = function () { return sig; }; 553 if (typeof(func) == "string") { 554 return obj[func].apply(obj, [e]); 555 } else { 556 return func.apply(obj, [e]); 557 } 558 }; 559 }, 560 540 561 /** @id MochiKit.Signal.connect */ 541 562 connect: function (src, sig, objOrFunc/* optional */, funcOrStr) { … … 569 590 570 591 var isDOM = !!(src.addEventListener || src.attachEvent); 571 var listener = self._listener(src, func, obj, isDOM); 592 if (isDOM && (sig === "onmouseenter" || sig === "onmouseleave") 593 && !self._browserAlreadyHasMouseEnterAndLeave()) { 594 var listener = self._mouseEnterListener(src, sig, func, obj); 595 if (sig === "onmouseenter") { 596 sig = "onmouseover"; 597 } else { 598 sig = "onmouseout"; 599 } 600 } else { 601 var listener = self._listener(src, func, obj, isDOM); 602 } 572 603 573 604 if (src.addEventListener) { mochikit/trunk/doc/html/MochiKit/DOM.html
r1059 r1080 5 5 <head> 6 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 7 <meta name="generator" content="Docutils 0.4 : http://docutils.sourceforge.net/" />7 <meta name="generator" content="Docutils 0.4.1: http://docutils.sourceforge.net/" /> 8 8 <title>MochiKit.DOM - painless DOM manipulation API</title> 9 9 … … 537 537 </blockquote> 538 538 <p> 539 <a name="fn-ischildnode"></a> 540 <a class="mochidef reference" href="#fn-ischildnode">isChildNode(node, maybeParent)</a>:</p> 541 <blockquote> 542 <p>Determine whether <tt class="docutils literal"><span class="pre">node</span></tt> is a child node of <tt class="docutils literal"><span class="pre">maybeParent</span></tt>. 543 Returns <tt class="docutils literal"><span class="pre">true</span></tt> if so, and <tt class="docutils literal"><span class="pre">false</span></tt> if not. A node is considered 544 a child node of itself for the purposes of this function.</p> 545 <p>If either <tt class="docutils literal"><span class="pre">node</span></tt> or <tt class="docutils literal"><span class="pre">maybeParent</span></tt> are strings, the related 546 nodes will be looked up with <a class="mochiref reference" href="#fn-getelement">getElement</a>.</p> 547 <dl class="docutils"> 548 <dt><em>Availability</em>:</dt> 549 <dd>Available in MochiKit 1.4+</dd> 550 </dl> 551 </blockquote> 552 <p> 539 553 <a name="fn-registerdomconverter"></a> 540 554 <a class="mochidef reference" href="#fn-registerdomconverter">registerDOMConverter(name, check, wrap[, override])</a>:</p> mochikit/trunk/doc/html/MochiKit/Signal.html
r1075 r1080 5 5 <head> 6 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 7 <meta name="generator" content="Docutils 0.4 : http://docutils.sourceforge.net/" />7 <meta name="generator" content="Docutils 0.4.1: http://docutils.sourceforge.net/" /> 8 8 <title>MochiKit.Signal - Simple universal event handling</title> 9 9 … … 124 124 </div> 125 125 <div class="section"> 126 <h2><a id="synthesized-events" name="synthesized-events">Synthesized Events</a></h2> 127 <p>Certain events supported by MochiKit are not generated natively by all 128 browsers. MochiKit can synthesize these events even for non-supporting 129 browsers, however, by watching for related events and triggering the 130 appropriate signals at the right times.</p> 131 <p>These events include:</p> 132 <p><tt class="docutils literal"><span class="pre">onmouseenter</span></tt></p> 133 <blockquote> 134 <p>Similar to <tt class="docutils literal"><span class="pre">'onmouseover'</span></tt>, but does not "bubble" up to parent 135 nodes. Such bubbling is often a cause of confusion. On an 136 <tt class="docutils literal"><span class="pre">'onmouseenter'</span></tt> event, you can be certain that the mouse has 137 left the node attached to the event.</p> 138 <dl class="docutils"> 139 <dt><em>Availability:</em></dt> 140 <dd>Available in MochiKit 1.4+</dd> 141 </dl> 142 </blockquote> 143 <p><tt class="docutils literal"><span class="pre">onmouseleave</span></tt></p> 144 <blockquote> 145 <p>Similar to <tt class="docutils literal"><span class="pre">'onmouseout'</span></tt>, but does not "bubble" up to parent 146 nodes. This is the analog to <tt class="docutils literal"><span class="pre">'onmouseenter'</span></tt>.</p> 147 <dl class="docutils"> 148 <dt><em>Availability:</em></dt> 149 <dd>Available in MochiKit 1.4+</dd> 150 </dl> 151 </blockquote> 152 </div> 153 <div class="section"> 126 154 <h2><a id="using-signal-for-non-dom-objects" name="using-signal-for-non-dom-objects">Using Signal for non-DOM objects</a></h2> 127 155 <p>Signals are triggered with the <a class="mochiref reference" href="#fn-signal">signal(src, 'signal', ...)</a> mochikit/trunk/doc/html/MochiKit/VersionHistory.html
r1079 r1080 5 5 <head> 6 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 7 <meta name="generator" content="Docutils 0.4 : http://docutils.sourceforge.net/" />7 <meta name="generator" content="Docutils 0.4.1: http://docutils.sourceforge.net/" /> 8 8 <title></title> 9 9 … … 40 40 <li>MochiKit.DOM's MochiKit.Iter dependency is now optional</li> 41 41 <li>Added expand all link to the documentation index</li> 42 <li>Added MochiKit.DOM.isChildNode</li> 43 <li>Added synthesizing for onmouseenter/onmouseleave</li> 42 44 </ul> 43 45 <p>2006-04-29 v1.3.1 (bug fix release)</p> mochikit/trunk/doc/html/MochiKit/index.html
r1079 r1080 5 5 <head> 6 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 7 <meta name="generator" content="Docutils 0.4 : http://docutils.sourceforge.net/" />7 <meta name="generator" content="Docutils 0.4.1: http://docutils.sourceforge.net/" /> 8 8 <title>MochiKit Documentation Index</title> 9 9 … … 93 93 <li>MochiKit.DOM's MochiKit.Iter dependency is now optional</li> 94 94 <li>Added expand all link to the documentation index</li> 95 <li>Added MochiKit.DOM.isChildNode</li> 96 <li>Added synthesizing for onmouseenter/onmouseleave</li> 95 97 </ul> 96 98 <p>2006-04-29 v1.3.1 (bug fix release)</p> mochikit/trunk/doc/rst/MochiKit/DOM.rst
r1059 r1080 517 517 518 518 519 :mochidef:`isChildNode(node, maybeParent)`: 520 521 Determine whether ``node`` is a child node of ``maybeParent``. 522 Returns ``true`` if so, and ``false`` if not. A node is considered 523 a child node of itself for the purposes of this function. 524 525 If either ``node`` or ``maybeParent`` are strings, the related 526 nodes will be looked up with :mochiref:`getElement`. 527 528 *Availability*: 529 Available in MochiKit 1.4+ 530 531 519 532 :mochidef:`registerDOMConverter(name, check, wrap[, override])`: 520 533 mochikit/trunk/doc/rst/MochiKit/Signal.rst
r1075 r1080 138 138 139 139 140 Synthesized Events 141 ------------------ 142 143 Certain events supported by MochiKit are not generated natively by all 144 browsers. MochiKit can synthesize these events even for non-supporting 145 browsers, however, by watching for related events and triggering the 146 appropriate signals at the right times. 147 148 These events include: 149 150 ``onmouseenter`` 151 152 Similar to ``'onmouseover'``, but does not "bubble" up to parent 153 nodes. Such bubbling is often a cause of confusion. On an 154 ``'onmouseenter'`` event, you can be certain that the mouse has 155 left the node attached to the event. 156 157 *Availability:* 158 Available in MochiKit 1.4+ 159 160 ``onmouseleave`` 161 162 Similar to ``'onmouseout'``, but does not "bubble" up to parent 163 nodes. This is the analog to ``'onmouseenter'``. 164 165 *Availability:* 166 Available in MochiKit 1.4+ 167 168 140 169 Using Signal for non-DOM objects 141 170 -------------------------------- mochikit/trunk/doc/rst/MochiKit/VersionHistory.rst
r1079 r1080 25 25 - MochiKit.DOM's MochiKit.Iter dependency is now optional 26 26 - Added expand all link to the documentation index 27 - Added MochiKit.DOM.isChildNode 28 - Added synthesizing for onmouseenter/onmouseleave 27 29 28 30 2006-04-29 v1.3.1 (bug fix release) mochikit/trunk/packed/MochiKit/MochiKit.js
r1079 r1080 2609 2609 return this.__repr__(); 2610 2610 }; 2611 MochiKit.DOM.EXPORT=["removeEmptyTextNodes","formContents","currentWindow","currentDocument","withWindow","withDocument","registerDOMConverter","coerceToDOM","createDOM","createDOMFunc"," getNodeAttribute","setNodeAttribute","updateNodeAttributes","appendChildNodes","replaceChildNodes","removeElement","swapDOM","BUTTON","TT","PRE","H1","H2","H3","BR","CANVAS","HR","LABEL","TEXTAREA","FORM","STRONG","SELECT","OPTION","OPTGROUP","LEGEND","FIELDSET","P","UL","OL","LI","TD","TR","THEAD","TBODY","TFOOT","TABLE","TH","INPUT","SPAN","A","DIV","IMG","getElement","$","getElementsByTagAndClassName","addToCallStack","addLoadEvent","focusOnLoad","setElementClass","toggleElementClass","addElementClass","removeElementClass","swapElementClass","hasElementClass","escapeHTML","toHTML","emitHTML","scrapeText"];2611 MochiKit.DOM.EXPORT=["removeEmptyTextNodes","formContents","currentWindow","currentDocument","withWindow","withDocument","registerDOMConverter","coerceToDOM","createDOM","createDOMFunc","isChildNode","getNodeAttribute","setNodeAttribute","updateNodeAttributes","appendChildNodes","replaceChildNodes","removeElement","swapDOM","BUTTON","TT","PRE","H1","H2","H3","BR","CANVAS","HR","LABEL","TEXTAREA","FORM","STRONG","SELECT","OPTION","OPTGROUP","LEGEND","FIELDSET","P","UL","OL","LI","TD","TR","THEAD","TBODY","TFOOT","TABLE","TH","INPUT","SPAN","A","DIV","IMG","getElement","$","getElementsByTagAndClassName","addToCallStack","addLoadEvent","focusOnLoad","setElementClass","toggleElementClass","addElementClass","removeElementClass","swapElementClass","hasElementClass","escapeHTML","toHTML","emitHTML","scrapeText"]; 2612 2612 MochiKit.DOM.EXPORT_OK=["domConverters"]; 2613 2613 MochiKit.DOM.DEPRECATED=[["computedStyle","MochiKit.Style.computedStyle","1.4"],["elementDimensions","MochiKit.Style.getElementDimensions","1.4"],["elementPosition","MochiKit.Style.getElementPosition","1.4"],["hideElement","MochiKit.Style.hideElement","1.4"],["setElementDimensions","MochiKit.Style.setElementDimensions","1.4"],["setElementPosition","MochiKit.Style.setElementPosition","1.4"],["setDisplayForElement","MochiKit.Style.setDisplayForElement","1.4"],["setOpacity","MochiKit.Style.setOpacity","1.4"],["showElement","MochiKit.Style.showElement","1.4"],["Coordinates","MochiKit.Style.Coordinates","1.4"],["Dimensions","MochiKit.Style.Dimensions","1.4"]]; … … 2767 2767 } 2768 2768 return undefined; 2769 },setNodeAttribute:function(node,attr,_350){ 2769 },isChildNode:function(node,_349){ 2770 var self=MochiKit.DOM; 2771 if(typeof (node)=="string"){ 2772 node=self.getElement(node); 2773 } 2774 if(typeof (_349)=="string"){ 2775 _349=self.getElement(_349); 2776 } 2777 while(node&&node.nodeName&&node.nodeName!="BODY"){ 2778 node=node.parentNode; 2779 if(node==_349){ 2780 return true; 2781 } 2782 } 2783 return false; 2784 },setNodeAttribute:function(node,attr,_351){ 2770 2785 var o={}; 2771 o[attr]=_35 0;2786 o[attr]=_351; 2772 2787 try{ 2773 2788 return MochiKit.DOM.updateNodeAttributes(node,o); … … 2778 2793 },getNodeAttribute:function(node,attr){ 2779 2794 var self=MochiKit.DOM; 2780 var _35 1=self.attributeArray.renames[attr];2795 var _352=self.attributeArray.renames[attr]; 2781 2796 node=self.getElement(node); 2782 2797 try{ 2783 if(_35 1){2784 return node[_35 1];2798 if(_352){ 2799 return node[_352]; 2785 2800 } 2786 2801 return node.getAttribute(attr); … … 2789 2804 } 2790 2805 return null; 2791 },updateNodeAttributes:function(node,_35 2){2806 },updateNodeAttributes:function(node,_353){ 2792 2807 var elem=node; 2793 2808 var self=MochiKit.DOM; … … 2795 2810 elem=self.getElement(node); 2796 2811 } 2797 if(_35 2){2798 var _35 3=MochiKit.Base.updatetree;2812 if(_353){ 2813 var _354=MochiKit.Base.updatetree; 2799 2814 if(self.attributeArray.compliant){ 2800 for(var k in _35 2){2801 var v=_35 2[k];2815 for(var k in _353){ 2816 var v=_353[k]; 2802 2817 if(typeof (v)=="object"&&typeof (elem[k])=="object"){ 2803 _35 3(elem[k],v);2818 _354(elem[k],v); 2804 2819 }else{ 2805 2820 if(k.substring(0,2)=="on"){ … … 2814 2829 } 2815 2830 }else{ 2816 var _35 4=self.attributeArray.renames;2817 for(k in _35 2){2818 v=_35 2[k];2819 var _35 5=_354[k];2831 var _355=self.attributeArray.renames; 2832 for(k in _353){ 2833 v=_353[k]; 2834 var _356=_355[k]; 2820 2835 if(k=="style"&&typeof (v)=="string"){ 2821 2836 elem.style.cssText=v; 2822 2837 }else{ 2823 if(typeof (_35 5)=="string"){2824 elem[_35 5]=v;2838 if(typeof (_356)=="string"){ 2839 elem[_356]=v; 2825 2840 }else{ 2826 2841 if(typeof (elem[k])=="object"&&typeof (v)=="object"){ 2827 _35 3(elem[k],v);2842 _354(elem[k],v); 2828 2843 }else{ 2829 2844 if(k.substring(0,2)=="on"){ … … 2848 2863 elem=self.getElement(node); 2849 2864 } 2850 var _35 6=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)];2851 var _35 7=MochiKit.Base.concat;2852 while(_35 6.length){2853 var n=_35 6.shift();2865 var _357=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)]; 2866 var _358=MochiKit.Base.concat; 2867 while(_357.length){ 2868 var n=_357.shift(); 2854 2869 if(typeof (n)=="undefined"||n===null){ 2855 2870 }else{ … … 2857 2872 elem.appendChild(n); 2858 2873 }else{ 2859 _35 6=_357(n,_356);2874 _357=_358(n,_357); 2860 2875 } 2861 2876 } … … 2869 2884 arguments[0]=elem; 2870 2885 } 2871 var _35 8;2872 while((_35 8=elem.firstChild)){2873 elem.removeChild(_35 8);2886 var _359; 2887 while((_359=elem.firstChild)){ 2888 elem.removeChild(_359); 2874 2889 } 2875 2890 if(arguments.length<2){ … … 2878 2893 return self.appendChildNodes.apply(this,arguments); 2879 2894 } 2880 },createDOM:function(name,_3 59){2895 },createDOM:function(name,_360){ 2881 2896 var elem; 2882 2897 var self=MochiKit.DOM; 2883 2898 var m=MochiKit.Base; 2884 if(typeof (_3 59)=="string"||typeof (_359)=="number"){2899 if(typeof (_360)=="string"||typeof (_360)=="number"){ 2885 2900 var args=m.extend([name,null],arguments,1); 2886 2901 return arguments.callee.apply(this,args); 2887 2902 } 2888 2903 if(typeof (name)=="string"){ 2889 if(_359&&!self.attributeArray.compliant){ 2890 var _360=""; 2891 if("name" in _359){ 2892 _360+=" name=\""+self.escapeHTML(_359.name)+"\""; 2893 } 2894 if(name=="input"&&"type" in _359){ 2895 _360+=" type=\""+self.escapeHTML(_359.type)+"\""; 2904 if(_360&&!self.attributeArray.compliant){ 2905 var _361=""; 2906 if("name" in _360){ 2907 _361+=" name=\""+self.escapeHTML(_360.name)+"\""; 2908 } 2909 if(name=="input"&&"type" in _360){ 2910 _361+=" type=\""+self.escapeHTML(_360.type)+"\""; 2911 } 2912 if(_361){ 2913 name="<"+name+_361+">"; 2914 } 2915 } 2916 elem=self._document.createElement(name); 2917 }else{ 2918 elem=name; 2896 2919 } 2897 2920 if(_360){ 2898 name="<"+name+_360+">"; 2899 } 2900 } 2901 elem=self._document.createElement(name); 2902 }else{ 2903 elem=name; 2904 } 2905 if(_359){ 2906 self.updateNodeAttributes(elem,_359); 2921 self.updateNodeAttributes(elem,_360); 2907 2922 } 2908 2923 if(arguments.length<=2){ … … 2922 2937 var self=MochiKit.DOM; 2923 2938 dest=self.getElement(dest); 2924 var _36 3=dest.parentNode;2939 var _364=dest.parentNode; 2925 2940 if(src){ 2926 2941 src=self.getElement(src); 2927 _36 3.replaceChild(src,dest);2928 }else{ 2929 _36 3.removeChild(dest);2942 _364.replaceChild(src,dest); 2943 }else{ 2944 _364.removeChild(dest); 2930 2945 } 2931 2946 return src; … … 2937 2952 return MochiKit.Base.map(self.getElement,arguments); 2938 2953 } 2939 },getElementsByTagAndClassName:function(_36 5,_366,_367){2954 },getElementsByTagAndClassName:function(_366,_367,_368){ 2940 2955 var self=MochiKit.DOM; 2941 if(typeof (_365)=="undefined"||_365===null){ 2942 _365="*"; 2943 } 2956 if(typeof (_366)=="undefined"||_366===null){ 2957 _366="*"; 2958 } 2959 if(typeof (_368)=="undefined"||_368===null){ 2960 _368=self._document; 2961 } 2962 _368=self.getElement(_368); 2963 var _369=(_368.getElementsByTagName(_366)||self._document.all); 2944 2964 if(typeof (_367)=="undefined"||_367===null){ 2945 _367=self._document; 2946 } 2947 _367=self.getElement(_367); 2948 var _368=(_367.getElementsByTagName(_365)||self._document.all); 2949 if(typeof (_366)=="undefined"||_366===null){ 2950 return MochiKit.Base.extend(null,_368); 2951 } 2952 var _369=[]; 2953 for(var i=0;i<_368.length;i++){ 2954 var _370=_368[i]; 2955 var cls=_370.className; 2965 return MochiKit.Base.extend(null,_369); 2966 } 2967 var _370=[]; 2968 for(var i=0;i<_369.length;i++){ 2969 var _371=_369[i]; 2970 var cls=_371.className; 2956 2971 if(!cls){ 2957 2972 continue; 2958 2973 } 2959 var _37 2=cls.split(" ");2960 for(var j=0;j<_37 2.length;j++){2961 if(_37 2[j]==_366){2962 _3 69.push(_370);2974 var _373=cls.split(" "); 2975 for(var j=0;j<_373.length;j++){ 2976 if(_373[j]==_367){ 2977 _370.push(_371); 2963 2978 break; 2964 2979 } 2965 2980 } 2966 2981 } 2967 return _3 69;2982 return _370; 2968 2983 },_newCallStack:function(path,once){ 2969 2984 var rval=function(){ 2970 var _37 5=arguments.callee.callStack;2971 for(var i=0;i<_37 5.length;i++){2972 if(_37 5[i].apply(this,arguments)===false){2985 var _376=arguments.callee.callStack; 2986 for(var i=0;i<_376.length;i++){ 2987 if(_376[i].apply(this,arguments)===false){ 2973 2988 break; 2974 2989 } … … 2984 2999 rval.callStack=[]; 2985 3000 return rval; 2986 },addToCallStack:function(_37 6,path,func,once){3001 },addToCallStack:function(_377,path,func,once){ 2987 3002 var self=MochiKit.DOM; 2988 var _37 7=_376[path];2989 var _37 8=_377;2990 if(!(typeof (_37 7)=="function"&&typeof (_377.callStack)=="object"&&_377.callStack!==null)){2991 _37 8=self._newCallStack(path,once);2992 if(typeof (_37 7)=="function"){2993 _37 8.callStack.push(_377);2994 } 2995 _37 6[path]=_378;2996 } 2997 _37 8.callStack.push(func);3003 var _378=_377[path]; 3004 var _379=_378; 3005 if(!(typeof (_378)=="function"&&typeof (_378.callStack)=="object"&&_378.callStack!==null)){ 3006 _379=self._newCallStack(path,once); 3007 if(typeof (_378)=="function"){ 3008 _379.callStack.push(_378); 3009 } 3010 _377[path]=_379; 3011 } 3012 _379.callStack.push(func); 2998 3013 },addLoadEvent:function(func){ 2999 3014 var self=MochiKit.DOM; 3000 3015 self.addToCallStack(self._window,"onload",func,true); 3001 },focusOnLoad:function(_3 79){3016 },focusOnLoad:function(_380){ 3002 3017 var self=MochiKit.DOM; 3003 3018 self.addLoadEvent(function(){ 3004 _3 79=self.getElement(_379);3005 if(_3 79){3006 _3 79.focus();3019 _380=self.getElement(_380); 3020 if(_380){ 3021 _380.focus(); 3007 3022 } 3008 3023 }); 3009 },setElementClass:function(_38 0,_381){3024 },setElementClass:function(_381,_382){ 3010 3025 var self=MochiKit.DOM; 3011 var obj=self.getElement(_38 0);3026 var obj=self.getElement(_381); 3012 3027 if(self.attributeArray.compliant){ 3013 obj.setAttribute("class",_38 1);3014 }else{ 3015 obj.setAttribute("className",_38 1);3016 } 3017 },toggleElementClass:function(_38 2){3028 obj.setAttribute("class",_382); 3029 }else{ 3030 obj.setAttribute("className",_382); 3031 } 3032 },toggleElementClass:function(_383){ 3018 3033 var self=MochiKit.DOM; 3019 3034 for(var i=1;i<arguments.length;i++){ 3020 3035 var obj=self.getElement(arguments[i]); 3021 if(!self.addElementClass(obj,_38 2)){3022 self.removeElementClass(obj,_38 2);3023 } 3024 } 3025 },addElementClass:function(_38 3,_384){3036 if(!self.addElementClass(obj,_383)){ 3037 self.removeElementClass(obj,_383); 3038 } 3039 } 3040 },addElementClass:function(_384,_385){ 3026 3041 var self=MochiKit.DOM; 3027 var obj=self.getElement(_38 3);3042 var obj=self.getElement(_384); 3028 3043 var cls=obj.className; 3029 3044 if(cls==undefined||cls.length===0){ 3030 self.setElementClass(obj,_38 4);3045 self.setElementClass(obj,_385); 3031 3046 return true; 3032 3047 } 3033 if(cls==_38 4){3048 if(cls==_385){ 3034 3049 return false; 3035 3050 } 3036 var _38 5=cls.split(" ");3037 for(var i=0;i<_38 5.length;i++){3038 if(_38 5[i]==_384){3051 var _386=cls.split(" "); 3052 for(var i=0;i<_386.length;i++){ 3053 if(_386[i]==_385){ 3039 3054 return false; 3040 3055 } 3041 3056 } 3042 self.setElementClass(obj,cls+" "+_38 4);3057 self.setElementClass(obj,cls+" "+_385); 3043 3058 return true; 3044 },removeElementClass:function(_38 6,_387){3059 },removeElementClass:function(_387,_388){ 3045 3060 var self=MochiKit.DOM; 3046 var obj=self.getElement(_38 6);3061 var obj=self.getElement(_387); 3047 3062 var cls=obj.className; 3048 3063 if(cls==undefined||cls.length===0){ 3049 3064 return false; 3050 3065 } 3051 if(cls==_38 7){3066 if(cls==_388){ 3052 3067 self.setElementClass(obj,""); 3053 3068 return true; 3054 3069 } 3055 var _38 8=cls.split(" ");3056 for(var i=0;i<_38 8.length;i++){3057 if(_38 8[i]==_387){3058 _38 8.splice(i,1);3059 self.setElementClass(obj,_38 8.join(" "));3070 var _389=cls.split(" "); 3071 for(var i=0;i<_389.length;i++){ 3072 if(_389[i]==_388){ 3073 _389.splice(i,1); 3074 self.setElementClass(obj,_389.join(" ")); 3060 3075 return true; 3061 3076 } 3062 3077 } 3063 3078 return false; 3064 },swapElementClass:function(_3 89,_390,_391){3065 var obj=MochiKit.DOM.getElement(_3 89);3066 var res=MochiKit.DOM.removeElementClass(obj,_39 0);3079 },swapElementClass:function(_390,_391,_392){ 3080 var obj=MochiKit.DOM.getElement(_390); 3081 var res=MochiKit.DOM.removeElementClass(obj,_391); 3067 3082 if(res){ 3068 MochiKit.DOM.addElementClass(obj,_39 1);3083 MochiKit.DOM.addElementClass(obj,_392); 3069 3084 } 3070 3085 return res; 3071 },hasElementClass:function(_39 2,_393){3072 var obj=MochiKit.DOM.getElement(_39 2);3086 },hasElementClass:function(_393,_394){ 3087 var obj=MochiKit.DOM.getElement(_393); 3073 3088 var cls=obj.className; 3074 3089 if(!cls){ 3075 3090 return false; 3076 3091 } 3077 var _39 4=cls.split(" ");3092 var _395=cls.split(" "); 3078 3093 for(var i=1;i<arguments.length;i++){ 3079 3094 var good=false; 3080 for(var j=0;j<_39 4.length;j++){3081 if(_39 4[j]==arguments[i]){3095 for(var j=0;j<_395.length;j++){ 3096 if(_395[j]==arguments[i]){ 3082 3097 good=true; 3083 3098 break; … … 3097 3112 lst=[]; 3098 3113 } 3099 var _39 7=[dom];3114 var _398=[dom]; 3100 3115 var self=MochiKit.DOM; 3101 var _39 8=self.escapeHTML;3102 var _ 399=self.attributeArray;3103 while(_39 7.length){3104 dom=_39 7.pop();3116 var _399=self.escapeHTML; 3117 var _400=self.attributeArray; 3118 while(_398.length){ 3119 dom=_398.pop(); 3105 3120 if(typeof (dom)=="string"){ 3106 3121 lst.push(dom); … … 3108 3123 if(dom.nodeType==1){ 3109 3124 lst.push("<"+dom.nodeName.toLowerCase()); 3110 var _40 0=[];3111 var _40 1=_399(dom);3112 for(var i=0;i<_40 1.length;i++){3113 var a=_40 1[i];3114 _40 0.push([" ",a.name,"=\"",_398(a.value),"\""]);3115 } 3116 _40 0.sort();3117 for(i=0;i<_40 0.length;i++){3118 var _40 2=_400[i];3119 for(var j=0;j<_40 2.length;j++){3120 lst.push(_40 2[j]);3125 var _401=[]; 3126 var _402=_400(dom); 3127 for(var i=0;i<_402.length;i++){ 3128 var a=_402[i]; 3129 _401.push([" ",a.name,"=\"",_399(a.value),"\""]); 3130 } 3131 _401.sort(); 3132 for(i=0;i<_401.length;i++){ 3133 var _403=_401[i]; 3134 for(var j=0;j<_403.length;j++){ 3135 lst.push(_403[j]); 3121 3136 } 3122 3137 } 3123 3138 if(dom.hasChildNodes()){ 3124 3139 lst.push(">"); 3125 _39 7.push("</"+dom.nodeName.toLowerCase()+">");3126 var _40 3=dom.childNodes;3127 for(i=_40 3.length-1;i>=0;i--){3128 _39 7.push(_403[i]);3140 _398.push("</"+dom.nodeName.toLowerCase()+">"); 3141 var _404=dom.childNodes; 3142 for(i=_404.length-1;i>=0;i--){ 3143 _398.push(_404[i]); 3129 3144 } 3130 3145 }else{ … … 3133 3148 }else{ 3134 3149 if(dom.nodeType==3){ 3135 lst.push(_39 8(dom.nodeValue));3150 lst.push(_399(dom.nodeValue)); 3136 3151 } 3137 3152 } … … 3139 3154 } 3140 3155 return lst; 3141 },scrapeText:function(node,_40 4){3156 },scrapeText:function(node,_405){ 3142 3157 var rval=[]; 3143 3158 (function(node){ … … 3148 3163 } 3149 3164 } 3150 var _40 6=node.nodeValue;3151 if(typeof (_40 6)=="string"){3152 rval.push(_40 6);3165 var _407=node.nodeValue; 3166 if(typeof (_407)=="string"){ 3167 rval.push(_407); 3153 3168 } 3154 3169 })(MochiKit.DOM.getElement(node)); 3155 if(_40 4){3170 if(_405){ 3156 3171 return rval; 3157 3172 }else{ 3158 3173 return rval.join(""); 3159 3174 } 3160 },removeEmptyTextNodes:function(_40 7){3161 _40 7=MochiKit.DOM.getElement(_407);3162 for(var i=0;i<_40 7.childNodes.length;i++){3163 var node=_40 7.childNodes[i];3175 },removeEmptyTextNodes:function(_408){ 3176 _408=MochiKit.DOM.getElement(_408); 3177 for(var i=0;i<_408.childNodes.length;i++){ 3178 var node=_408.childNodes[i]; 3164 3179 if(node.nodeType==3&&!/\S/.test(node.nodeValue)){ 3165 3180 node.parentNode.removeChild(node); … … 3177 3192 this._window=win; 3178 3193 this.domConverters=new m.AdapterRegistry(); 3179 var _40 8=this._document.createElement("span");3180 var _4 09;3181 if(_40 8&&_408.attributes&&_408.attributes.length>0){3182 var _41 0=m.filter;3183 _4 09=function(node){3184 return _41 0(_409.ignoreAttrFilter,node.attributes);3185 }; 3186 _4 09.ignoreAttr={};3187 var _41 1=_408.attributes;3188 var _41 2=_409.ignoreAttr;3189 for(var i=0;i<_41 1.length;i++){3190 var a=_41 1[i];3191 _41 2[a.name]=a.value;3192 } 3193 _4 09.ignoreAttrFilter=function(a){3194 return (_4 09.ignoreAttr[a.name]!=a.value);3195 }; 3196 _4 09.compliant=false;3197 _4 09.renames={"class":"className","checked":"defaultChecked","usemap":"useMap","for":"htmlFor","readonly":"readOnly"};3198 }else{ 3199 _4 09=function(node){3194 var _409=this._document.createElement("span"); 3195 var _410; 3196 if(_409&&_409.attributes&&_409.attributes.length>0){ 3197 var _411=m.filter; 3198 _410=function(node){ 3199 return _411(_410.ignoreAttrFilter,node.attributes); 3200 }; 3201 _410.ignoreAttr={}; 3202 var _412=_409.attributes; 3203 var _413=_410.ignoreAttr; 3204 for(var i=0;i<_412.length;i++){ 3205 var a=_412[i]; 3206 _413[a.name]=a.value; 3207 } 3208 _410.ignoreAttrFilter=function(a){ 3209 return (_410.ignoreAttr[a.name]!=a.value); 3210 }; 3211 _410.compliant=false; 3212 _410.renames={"class":"className","checked":"defaultChecked","usemap":"useMap","for":"htmlFor","readonly":"readOnly"}; 3213 }else{ 3214 _410=function(node){ 3200 3215 return node.attributes; 3201 3216 }; 3202 _4 09.compliant=true;3203 _4 09.renames={};3204 } 3205 this.attributeArray=_4 09;3206 var _41 3=function(_414,arr){3207 var _41 5=arr[1].split(".");3217 _410.compliant=true; 3218 _410.renames={}; 3219 } 3220 this.attributeArray=_410; 3221 var _414=function(_415,arr){ 3222 var _416=arr[1].split("."); 3208 3223 var str=""; 3209 3224 var obj={}; 3210 str+="if (!MochiKit."+_41 5[1]+") { throw new Error(\"";3225 str+="if (!MochiKit."+_416[1]+") { throw new Error(\""; 3211 3226 str+="This function has been deprecated and depends on MochiKit."; 3212 str+=_41 5[1]+".\");}";3213 str+="return MochiKit."+_41 5[1]+"."+arr[0];3227 str+=_416[1]+".\");}"; 3228 str+="return MochiKit."+_416[1]+"."+arr[0]; 3214 3229 str+=".apply(this, arguments);"; 3215 obj[_41 5[2]]=new Function(str);3216 MochiKit.Base.update(MochiKit[_41 4],obj);3230 obj[_416[2]]=new Function(str); 3231 MochiKit.Base.update(MochiKit[_415],obj); 3217 3232 }; 3218 3233 for(var i;i<MochiKit.DOM.DEPRECATED.length;i++){ 3219 _41 3("DOM",MochiKit.DOM.DEPRECATED[i]);3220 } 3221 var _41 6=this.createDOMFunc;3222 this.UL=_41 6("ul");3223 this.OL=_41 6("ol");3224 this.LI=_41 6("li");3225 this.TD=_41 6("td");3226 this.TR=_41 6("tr");3227 this.TBODY=_41 6("tbody");3228 this.THEAD=_41 6("thead");3229 this.TFOOT=_41 6("tfoot");3230 this.TABLE=_41 6("table");3231 this.TH=_41 6("th");3232 this.INPUT=_41 6("input");3233 this.SPAN=_41 6("span");3234 this.A=_41 6("a");3235 this.DIV=_41 6("div");3236 this.IMG=_41 6("img");3237 this.BUTTON=_41 6("button");3238 this.TT=_41 6("tt");3239 this.PRE=_41 6("pre");3240 this.H1=_41 6("h1");3241 this.H2=_41 6("h2");3242 this.H3=_41 6("h3");3243 this.BR=_41 6("br");3244 this.HR=_41 6("hr");3245 this.LABEL=_41 6("label");3246 this.TEXTAREA=_41 6("textarea");3247 this.FORM=_41 6("form");3248 this.P=_41 6("p");3249 this.SELECT=_41 6("select");3250 this.OPTION=_41 6("option");3251 this.OPTGROUP=_41 6("optgroup");3252 this.LEGEND=_41 6("legend");3253 this.FIELDSET=_41 6("fieldset");3254 this.STRONG=_41 6("strong");3255 this.CANVAS=_41 6("canvas");3234 _414("DOM",MochiKit.DOM.DEPRECATED[i]); 3235 } 3236 var _417=this.createDOMFunc; 3237 this.UL=_417("ul"); 3238 this.OL=_417("ol"); 3239 this.LI=_417("li"); 3240 this.TD=_417("td"); 3241 this.TR=_417("tr"); 3242 this.TBODY=_417("tbody"); 3243 this.THEAD=_417("thead"); 3244 this.TFOOT=_417("tfoot"); 3245 this.TABLE=_417("table"); 3246 this.TH=_417("th"); 3247 this.INPUT=_417("input"); 3248 this.SPAN=_417("span"); 3249 this.A=_417("a"); 3250 this.DIV=_417("div"); 3251 this.IMG=_417("img"); 3252 this.BUTTON=_417("button"); 3253 this.TT=_417("tt"); 3254 this.PRE=_417("pre"); 3255 this.H1=_417("h1"); 3256 this.H2=_417("h2"); 3257 this.H3=_417("h3"); 3258 this.BR=_417("br"); 3259 this.HR=_417("hr"); 3260 this.LABEL=_417("label"); 3261 this.TEXTAREA=_417("textarea"); 3262 this.FORM=_417("form"); 3263 this.P=_417("p"); 3264 this.SELECT=_417("select"); 3265 this.OPTION=_417("option"); 3266 this.OPTGROUP=_417("optgroup"); 3267 this.LEGEND=_417("legend"); 3268 this.FIELDSET=_417("fieldset"); 3269 this.STRONG=_417("strong"); 3270 this.CANVAS=_417("canvas"); 3256 3271 this.$=this.getElement; 3257 3272 this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)}; … … 3323 3338 return this.__repr__(); 3324 3339 }; 3325 MochiKit.Base.update(MochiKit.Style,{computedStyle:function(elem,_42 1){3340 MochiKit.Base.update(MochiKit.Style,{computedStyle:function(elem,_422){ 3326 3341 var dom=MochiKit.DOM; 3327 3342 var d=dom._document; 3328 3343 elem=dom.getElement(elem); 3329 _42 1=MochiKit.Base.camelize(_421);3344 _422=MochiKit.Base.camelize(_422); 3330 3345 if(!elem||elem==d){ 3331 3346 return undefined; 3332 3347 } 3333 if(_42 1=="opacity"&&elem.filters){3348 if(_422=="opacity"&&elem.filters){ 3334 3349 try{ 3335 3350 return elem.filters.item("DXImageTransform.Microsoft.Alpha").opacity/100; … … 3344 3359 } 3345 3360 if(elem.currentStyle){ 3346 return elem.currentStyle[_42 1];3361 return elem.currentStyle[_422]; 3347 3362 } 3348 3363 if(typeof (d.defaultView)=="undefined"){ … … 3352 3367 return undefined; 3353 3368 } 3354 var _42 2=d.defaultView.getComputedStyle(elem,null);3355 if(typeof (_42 2)=="undefined"||_422===null){3369 var _423=d.defaultView.getComputedStyle(elem,null); 3370 if(typeof (_423)=="undefined"||_423===null){ 3356 3371 return undefined; 3357 3372 } 3358 var _42 3=_421.replace(/([A-Z])/g,"-$1").toLowerCase();3359 return _42 2.getPropertyValue(_423);3373 var _424=_422.replace(/([A-Z])/g,"-$1").toLowerCase(); 3374 return _423.getPropertyValue(_424); 3360 3375 },setOpacity:function(elem,o){ 3361 3376 elem=MochiKit.DOM.getElement(elem); 3362 3377 MochiKit.DOM.updateNodeAttributes(elem,{"style":{"opacity":o,"-moz-opacity":o,"-khtml-opacity":o,"filter":" alpha(opacity="+(o*100)+")"}}); 3363 },getElementPosition:function(elem,_42 4){3378 },getElementPosition:function(elem,_425){ 3364 3379 var self=MochiKit.Style; 3365 3380 var dom=MochiKit.DOM; … … 3370 3385 var c=new self.Coordinates(0,0); 3371 3386 var box=null; 3372 var _42 7=null;3387 var _428=null; 3373 3388 var d=MochiKit.DOM._document; 3374 3389 var de=d.documentElement; … … 3386 3401 c.x+=elem.offsetLeft; 3387 3402 c.y+=elem.offsetTop; 3388 _42 7=elem.offsetParent;3389 if(_42 7!=elem){3390 while(_42 7){3391 c.x+=_42 7.offsetLeft;3392 c.y+=_42 7.offsetTop;3393 _42 7=_427.offsetParent;3403 _428=elem.offsetParent; 3404 if(_428!=elem){ 3405 while(_428){ 3406 c.x+=_428.offsetLeft; 3407 c.y+=_428.offsetTop; 3408 _428=_428.offsetParent; 3394 3409 } 3395 3410 } … … 3402 3417 } 3403 3418 } 3404 if(typeof (_42 4)!="undefined"){3405 _42 4=arguments.callee(_424);3406 if(_42 4){3407 c.x-=(_42 4.x||0);3408 c.y-=(_42 4.y||0);3419 if(typeof (_425)!="undefined"){ 3420 _425=arguments.callee(_425); 3421 if(_425){ 3422 c.x-=(_425.x||0); 3423 c.y-=(_425.y||0); 3409 3424 } 3410 3425 } 3411 3426 if(elem.parentNode){ 3412 _42 7=elem.parentNode;3413 }else{ 3414 _42 7=null;3415 } 3416 while(_42 7&&_427.tagName!="BODY"&&_427.tagName!="HTML"){3417 c.x-=_42 7.scrollLeft;3418 c.y-=_42 7.scrollTop;3419 if(_42 7.parentNode){3420 _42 7=_427.parentNode;3421 }else{ 3422 _42 7=null;3427 _428=elem.parentNode; 3428 }else{ 3429 _428=null; 3430 } 3431 while(_428&&_428.tagName!="BODY"&&_428.tagName!="HTML"){ 3432 c.x-=_428.scrollLeft; 3433 c.y-=_428.scrollTop; 3434 if(_428.parentNode){ 3435 _428=_428.parentNode; 3436 }else{ 3437 _428=null; 3423 3438 } 3424 3439 } 3425 3440 return c; 3426 },setElementPosition:function(elem,_43 0,_431){3441 },setElementPosition:function(elem,_431,_432){ 3427 3442 elem=MochiKit.DOM.getElement(elem); 3428 if(typeof (_43 1)=="undefined"){3429 _43 1="px";3430 } 3431 MochiKit.DOM.updateNodeAttributes(elem,{"style":{"left":_43 0.x+_431,"top":_430.y+_431}});3443 if(typeof (_432)=="undefined"){ 3444 _432="px"; 3445 } 3446 MochiKit.DOM.updateNodeAttributes(elem,{"style":{"left":_431.x+_432,"top":_431.y+_432}}); 3432 3447 },getElementDimensions:function(elem){ 3433 3448 var self=MochiKit.Style; … … 3444 3459 } 3445 3460 var s=elem.style; 3446 var _43 2=s.visibility;3447 var _43 3=s.position;3461 var _433=s.visibility; 3462 var _434=s.position; 3448 3463 s.visibility="hidden"; 3449 3464 s.position="absolute"; 3450 3465 s.display=""; 3451 var _43 4=elem.offsetWidth;3452 var _43 5=elem.offsetHeight;3466 var _435=elem.offsetWidth; 3467 var _436=elem.offsetHeight; 3453 3468 s.display="none"; 3454 s.position=_43 3;3455 s.visibility=_43 2;3456 return new self.Dimensions(_43 4,_435);3457 },setElementDimensions:function(elem,_43 6,_437){3469 s.position=_434; 3470 s.visibility=_433; 3471 return new self.Dimensions(_435,_436); 3472 },setElementDimensions:function(elem,_437,_438){ 3458 3473 elem=MochiKit.DOM.getElement(elem); 3459 if(typeof (_43 7)=="undefined"){3460 _43 7="px";3461 } 3462 MochiKit.DOM.updateNodeAttributes(elem,{"style":{"width":_43 6.w+_437,"height":_436.h+_437}});3463 },setDisplayForElement:function(_43 8,_439){3464 var _44 0=MochiKit.Base.extend(null,arguments,1);3465 var _44 1=MochiKit.DOM.getElement;3466 for(var i=0;i<_44 0.length;i++){3467 var _4 39=_441(_440[i]);3468 if(_4 39){3469 _4 39.style.display=_438;3474 if(typeof (_438)=="undefined"){ 3475 _438="px"; 3476 } 3477 MochiKit.DOM.updateNodeAttributes(elem,{"style":{"width":_437.w+_438,"height":_437.h+_438}}); 3478 },setDisplayForElement:function(_439,_440){ 3479 var _441=MochiKit.Base.extend(null,arguments,1); 3480 var _442=MochiKit.DOM.getElement; 3481 for(var i=0;i<_441.length;i++){ 3482 var _440=_442(_441[i]); 3483 if(_440){ 3484 _440.style.display=_439; 3470 3485 } 3471 3486
