Changeset 298
- Timestamp:
- 10/15/05 19:14:23 (3 years ago)
- Files:
-
- mochikit/trunk/MochiKit/Base.js (modified) (2 diffs)
- mochikit/trunk/MochiKit/DOM.js (modified) (5 diffs)
- mochikit/trunk/doc/html/MochiKit/Base.html (modified) (1 diff)
- mochikit/trunk/doc/html/MochiKit/DOM.html (modified) (2 diffs)
- mochikit/trunk/doc/html/MochiKit/VersionHistory.html (modified) (1 diff)
- mochikit/trunk/doc/html/MochiKit/index.html (modified) (1 diff)
- mochikit/trunk/doc/rst/MochiKit/Base.rst (modified) (1 diff)
- mochikit/trunk/doc/rst/MochiKit/DOM.rst (modified) (2 diffs)
- mochikit/trunk/doc/rst/MochiKit/VersionHistory.rst (modified) (1 diff)
- mochikit/trunk/examples/color_wheel/color_wheel.js (modified) (2 diffs)
- mochikit/trunk/packed/MochiKit/MochiKit.js (modified) (116 diffs)
- mochikit/trunk/tests/test_MochiKit-Base.html (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
mochikit/trunk/MochiKit/Base.js
r285 r298 78 78 }; 79 79 80 81 MochiKit.Base.updatetree = function (self, obj/*, ...*/) { 82 if (self == null) { 83 self = {}; 84 } 85 for (var i = 1; i < arguments.length; i++) { 86 var o = arguments[i]; 87 if (typeof(o) != 'undefined' && o != null) { 88 for (var k in o) { 89 var v = o[k]; 90 if (typeof(self[k]) == 'object' && typeof(v) == 'object') { 91 arguments.callee(self[k], v); 92 } else { 93 self[k] = v; 94 } 95 } 96 } 97 } 98 return self; 99 }; 80 100 81 101 MochiKit.Base.update = function (self, obj/*, ... */) { … … 1170 1190 "extend", 1171 1191 "update", 1192 "updatetree", 1172 1193 "setdefault", 1173 1194 "keys", mochikit/trunk/MochiKit/DOM.js
r288 r298 47 47 "replaceChildNodes", 48 48 "swapDOM", 49 "BUTTON", 49 50 "H1", 50 51 "H2", … … 183 184 } 184 185 if (attrs) { 186 var updatetree = MochiKit.Base.updatetree; 185 187 if (MochiKit.DOM.attributeArray.compliant) { 186 188 // not IE, good. 187 189 for (var k in attrs) { 188 190 var v = attrs[k]; 189 if (k.substring(0, 2) == "on") { 191 if (typeof(v) == 'object' && typeof(elem[k]) == 'object') { 192 updatetree(elem[k], v); 193 } else if (k.substring(0, 2) == "on") { 190 194 if (typeof(v) == "string") { 191 195 v = new Function(v); … … 193 197 elem[k] = v; 194 198 } else { 195 elem.setAttribute(k, attrs[k]);199 elem.setAttribute(k, v); 196 200 } 197 201 } … … 207 211 if (typeof(renamed) == "string") { 208 212 elem[renamed] = v; 213 } else if (typeof(elem[k]) == 'object' && typeof(v) == 'object') { 214 updatetree(elem[k], v); 209 215 } else if (k.substring(0, 2) == "on") { 210 216 if (typeof(v) == "string") { … … 750 756 this.DIV = createDOMFunc("div"); 751 757 this.IMG = createDOMFunc("img"); 758 this.BUTTON = createDOMFunc("button"); 752 759 this.H1 = createDOMFunc("h1"); 753 760 this.H2 = createDOMFunc("h2"); mochikit/trunk/doc/html/MochiKit/Base.html
r297 r298 330 330 <p>This mutates <em>and returns</em> the given <tt class="docutils literal"><span class="pre">self</span></tt>, be warned.</p> 331 331 </blockquote> 332 <p><tt class="docutils literal"><span class="pre">updatetree(self,</span> <span class="pre">obj[,</span> <span class="pre">...])</span></tt>:</p> 333 <blockquote> 334 <p>Mutate an object by replacing its key:value pairs with those 335 from other object(s). If a given key has an object value in 336 both <tt class="docutils literal"><span class="pre">self</span></tt> and <tt class="docutils literal"><span class="pre">obj</span></tt>, then this function will be called 337 recursively, updating instead of replacing that object.</p> 338 <p>If null is given as the initial object, a new one will be created.</p> 339 <p>This mutates <em>and returns</em> the given object, be warned.</p> 340 </blockquote> 332 341 <p><tt class="docutils literal"><span class="pre">keys(obj)</span></tt>:</p> 333 342 <blockquote> mochikit/trunk/doc/html/MochiKit/DOM.html
r297 r298 169 169 </pre> 170 170 </div> 171 </div> 172 <div class="section" id="api-reference"> 173 <h1><a name="api-reference">API Reference</a></h1> 171 174 <div class="section" id="functions"> 172 175 <h2><a name="functions">Functions</a></h2> … … 252 255 <li><tt class="docutils literal"><span class="pre">BR</span></tt></li> 253 256 <li><tt class="docutils literal"><span class="pre">HR</span></tt></li> 257 <li><tt class="docutils literal"><span class="pre">BUTTON</span></tt></li> 254 258 <li><tt class="docutils literal"><span class="pre">LABEL</span></tt></li> 255 259 <li><tt class="docutils literal"><span class="pre">TEXTAREA</span></tt></li> mochikit/trunk/doc/html/MochiKit/VersionHistory.html
r296 r298 12 12 <p>2005-XX-XX v1.00</p> 13 13 <ul class="simple"> 14 <li>Added updatetree(self, obj[, ...]) to MochiKit.Base, and changed 15 MochiKit.DOM's updateNodeAttributes(node, attrs) to use it when appropiate.</li> 16 <li>Added new MochiKit.DOM createDOMFunc alias: BUTTON</li> 14 17 <li>Added truncToFixed(aNumber, precision) and roundToFixed(aNumber, precision) 15 18 to MochiKit.Format</li> mochikit/trunk/doc/html/MochiKit/index.html
r296 r298 39 39 <p>2005-XX-XX v1.00</p> 40 40 <ul class="simple"> 41 <li>Added updatetree(self, obj[, ...]) to MochiKit.Base, and changed 42 MochiKit.DOM's updateNodeAttributes(node, attrs) to use it when appropiate.</li> 43 <li>Added new MochiKit.DOM createDOMFunc alias: BUTTON</li> 41 44 <li>Added truncToFixed(aNumber, precision) and roundToFixed(aNumber, precision) 42 45 to MochiKit.Format</li> mochikit/trunk/doc/rst/MochiKit/Base.rst
r297 r298 394 394 395 395 396 ``updatetree(self, obj[, ...])``: 397 398 Mutate an object by replacing its key:value pairs with those 399 from other object(s). If a given key has an object value in 400 both ``self`` and ``obj``, then this function will be called 401 recursively, updating instead of replacing that object. 402 403 If null is given as the initial object, a new one will be created. 404 405 This mutates *and returns* the given object, be warned. 406 407 396 408 ``keys(obj)``: 397 409 mochikit/trunk/doc/rst/MochiKit/DOM.rst
r297 r298 159 159 160 160 161 API Reference 162 ============= 163 161 164 Functions 162 165 --------- … … 252 255 - ``BR`` 253 256 - ``HR`` 257 - ``BUTTON`` 254 258 - ``LABEL`` 255 259 - ``TEXTAREA`` mochikit/trunk/doc/rst/MochiKit/VersionHistory.rst
r296 r298 1 1 2005-XX-XX v1.00 2 2 3 - Added updatetree(self, obj[, ...]) to MochiKit.Base, and changed 4 MochiKit.DOM's updateNodeAttributes(node, attrs) to use it when appropiate. 5 - Added new MochiKit.DOM createDOMFunc alias: BUTTON 3 6 - Added truncToFixed(aNumber, precision) and roundToFixed(aNumber, precision) 4 7 to MochiKit.Format mochikit/trunk/examples/color_wheel/color_wheel.js
r164 r298 11 11 var hsl = c.asHSL(); 12 12 var r = hsl.s * radius; 13 var e = DIV(null, name); 13 var e = DIV({"style": { 14 "color": Color.fromHSL(hsl).toString(), 15 "width": "100px", 16 "height": "30px", 17 "position": "absolute", 18 "verticalAlign": "middle", 19 "textAlign": "center", 20 "left": Math.floor((Math.cos(hsl.h * twoPI) * r) - 50) + "px", 21 "top": Math.floor((Math.sin(hsl.h * twoPI) * r)) + "px" 22 }}, 23 name 24 ); 14 25 // hsl.a = 0; 15 update(e.style, {16 "color": Color.fromHSL(hsl).toString(),17 "width": "100px",18 "height": "30px",19 "position": "absolute",20 "verticalAlign": "middle",21 "textAlign": "center",22 "left": Math.floor((Math.cos(hsl.h * twoPI) * r) - 50) + "px",23 "top": Math.floor((Math.sin(hsl.h * twoPI) * r)) + "px"24 });25 26 return [c, e]; 26 27 }; … … 41 42 DIV(null, map(itemgetter(1), colorDivs)) 42 43 ); 43 var colorCanary = DIV(null, ""); 44 colorCanary.style.color = "blue"; 44 var colorCanary = DIV({"style":{"color": "blue"}}, ""); 45 45 try { 46 46 colorCanary.style.color = "rgba(100,100,100,0.5)"; mochikit/trunk/packed/MochiKit/MochiKit.js
r296 r298 106 106 return _9; 107 107 }; 108 MochiKit.Base.update =function(_13,obj){108 MochiKit.Base.updatetree=function(_13,obj){ 109 109 if(_13==null){ 110 110 _13={}; … … 114 114 if(typeof (o)!="undefined"&&o!=null){ 115 115 for(var k in o){ 116 _13[k]=o[k]; 116 var v=o[k]; 117 if(typeof (_13[k])=="object"&&typeof (v)=="object"){ 118 arguments.callee(_13[k],v); 119 }else{ 120 _13[k]=v; 121 } 117 122 } 118 123 } … … 120 125 return _13; 121 126 }; 122 MochiKit.Base.setdefault=function(_16,obj){ 123 if(_16==null){ 124 _16={}; 127 MochiKit.Base.update=function(_17,obj){ 128 if(_17==null){ 129 _17={}; 130 } 131 for(var i=1;i<arguments.length;i++){ 132 var o=arguments[i]; 133 if(typeof (o)!="undefined"&&o!=null){ 134 for(var k in o){ 135 _17[k]=o[k]; 136 } 137 } 138 } 139 return _17; 140 }; 141 MochiKit.Base.setdefault=function(_18,obj){ 142 if(_18==null){ 143 _18={}; 125 144 } 126 145 for(var i=1;i<arguments.length;i++){ 127 146 var o=arguments[i]; 128 147 for(var k in o){ 129 if(!(k in _1 6)){130 _1 6[k]=o[k];131 } 132 } 133 } 134 return _1 6;148 if(!(k in _18)){ 149 _18[k]=o[k]; 150 } 151 } 152 } 153 return _18; 135 154 }; 136 155 MochiKit.Base.keys=function(obj){ 137 var _17=[];138 for(var _18 in obj){139 _17.push(_18);140 }141 return _17;142 };143 MochiKit.Base.items=function(obj){144 156 var _19=[]; 145 157 for(var _20 in obj){ 146 _19.push( [_20,obj[_20]]);158 _19.push(_20); 147 159 } 148 160 return _19; 149 161 }; 150 MochiKit.Base.NamedError=function(_21){ 151 this.message=_21; 152 this.name=_21; 162 MochiKit.Base.items=function(obj){ 163 var _21=[]; 164 for(var _22 in obj){ 165 _21.push([_22,obj[_22]]); 166 } 167 return _21; 168 }; 169 MochiKit.Base.NamedError=function(_23){ 170 this.message=_23; 171 this.name=_23; 153 172 }; 154 173 MochiKit.Base.NamedError.prototype=new Error(); … … 224 243 return b in a; 225 244 }}; 226 MochiKit.Base.forward=function(_2 4){245 MochiKit.Base.forward=function(_26){ 227 246 return function(){ 228 return this[_2 4].apply(this,arguments);229 }; 230 }; 231 MochiKit.Base.itemgetter=function(_2 5){247 return this[_26].apply(this,arguments); 248 }; 249 }; 250 MochiKit.Base.itemgetter=function(_27){ 232 251 return function(arg){ 233 return arg[_2 5];252 return arg[_27]; 234 253 }; 235 254 }; 236 255 MochiKit.Base.typeMatcher=function(){ 237 var _2 7={};256 var _29={}; 238 257 for(var i=0;i<arguments.length;i++){ 239 258 var typ=arguments[i]; 240 _2 7[typ]=typ;259 _29[typ]=typ; 241 260 } 242 261 return function(){ 243 262 for(var i=0;i<arguments.length;i++){ 244 if(!(typeof (arguments[i]) in _2 7)){263 if(!(typeof (arguments[i]) in _29)){ 245 264 return false; 246 265 } … … 298 317 return MochiKit.Base.extend(null,arguments,1); 299 318 } 300 var _3 0=[];319 var _32=[]; 301 320 for(var i=1;i<arguments.length;i++){ 302 _3 0.push(fn(arguments[i]));303 } 304 return _3 0;321 _32.push(fn(arguments[i])); 322 } 323 return _32; 305 324 }; 306 325 MochiKit.Base.map=function(fn,lst){ 307 var _3 2=MochiKit.Base.isArrayLike;326 var _34=MochiKit.Base.isArrayLike; 308 327 if(arguments.length<=2){ 309 if(!_3 2(lst)){328 if(!_34(lst)){ 310 329 if(MochiKit.Iter){ 311 330 lst=MochiKit.Iter.list(lst); … … 323 342 return Array.prototype.map.call(lst,fn); 324 343 } 325 var _3 3=[];344 var _35=[]; 326 345 for(var i=0;i<lst.length;i++){ 327 _3 3.push(fn(lst[i]));328 } 329 return _3 3;346 _35.push(fn(lst[i])); 347 } 348 return _35; 330 349 }else{ 331 350 if(fn==null){ 332 351 fn=Array; 333 352 } 334 var _3 4=null;353 var _36=null; 335 354 for(var i=1;i<arguments.length;i++){ 336 if(!_3 2(arguments[i])){355 if(!_34(arguments[i])){ 337 356 if(MochiKit.Iter){ 338 357 arguments[i]=MochiKit.Iter.list(arguments[i]); … … 342 361 } 343 362 var l=arguments[i].length; 344 if(_34==null||_34>l){ 345 _34=l; 346 } 347 } 348 var _33=[]; 349 for(var i=0;i<_34;i++){ 363 if(_36==null||_36>l){ 364 _36=l; 365 } 366 } 350 367 var _35=[]; 368 for(var i=0;i<_36;i++){ 369 var _37=[]; 351 370 for(var j=1;j<arguments.length;j++){ 352 _3 5.push(arguments[j][i]);353 } 354 _3 3.push(fn.apply(this,_35));355 } 356 return _3 3;371 _37.push(arguments[j][i]); 372 } 373 _35.push(fn.apply(this,_37)); 374 } 375 return _35; 357 376 } 358 377 }; 359 378 MochiKit.Base.xfilter=function(fn){ 360 var _3 7=[];379 var _39=[]; 361 380 if(fn==null){ 362 381 fn=MochiKit.Base.operator.truth; … … 365 384 var o=arguments[i]; 366 385 if(fn(o)){ 367 _3 7.push(o);368 } 369 } 370 return _3 7;371 }; 372 MochiKit.Base.filter=function(fn,lst,_ 38){373 var _ 39=[];386 _39.push(o); 387 } 388 } 389 return _39; 390 }; 391 MochiKit.Base.filter=function(fn,lst,_40){ 392 var _41=[]; 374 393 if(!MochiKit.Base.isArrayLike(lst)){ 375 394 if(MochiKit.Iter){ … … 383 402 } 384 403 if(typeof (Array.prototype.filter)=="function"){ 385 return Array.prototype.filter.call(lst,fn,_ 38);386 }else{ 387 if(typeof (_ 38)=="undefined"||_38==null){404 return Array.prototype.filter.call(lst,fn,_40); 405 }else{ 406 if(typeof (_40)=="undefined"||_40==null){ 388 407 for(var i=0;i<lst.length;i++){ 389 408 var o=lst[i]; 390 409 if(fn(o)){ 391 _ 39.push(o);410 _41.push(o); 392 411 } 393 412 } … … 395 414 for(var i=0;i<lst.length;i++){ 396 415 var o=lst[i]; 397 if(fn.call(_ 38,o)){398 _ 39.push(o);399 } 400 } 401 } 402 } 403 return _ 39;404 }; 405 MochiKit.Base.bind=function(_4 0,_41){406 var _4 2=_40.im_func;407 var _4 3=_40.im_preargs;408 var _4 4=_40.im_self;409 if(typeof (_4 2)!="function"){410 _4 2=_40;411 } 412 if(typeof (_4 1)!="undefined"){413 _4 4=_41;414 } 415 if(typeof (_4 3)=="undefined"){416 _4 3=[];417 }else{ 418 _4 3=_43.slice();419 } 420 MochiKit.Base.extend(_4 3,arguments,2);421 var _4 5=function(){422 var _4 6=arguments;416 if(fn.call(_40,o)){ 417 _41.push(o); 418 } 419 } 420 } 421 } 422 return _41; 423 }; 424 MochiKit.Base.bind=function(_42,_43){ 425 var _44=_42.im_func; 426 var _45=_42.im_preargs; 427 var _46=_42.im_self; 428 if(typeof (_44)!="function"){ 429 _44=_42; 430 } 431 if(typeof (_43)!="undefined"){ 432 _46=_43; 433 } 434 if(typeof (_45)=="undefined"){ 435 _45=[]; 436 }else{ 437 _45=_45.slice(); 438 } 439 MochiKit.Base.extend(_45,arguments,2); 440 var _47=function(){ 441 var _48=arguments; 423 442 var me=arguments.callee; 424 443 if(me.im_preargs.length>0){ 425 _4 6=MochiKit.Base.concat(me.im_preargs,_46);426 } 427 var _4 1=me.im_self;428 if(!_4 1){429 _4 1=this;430 } 431 return me.im_func.apply(_4 1,_46);432 }; 433 _4 5.im_self=_44;434 _4 5.im_func=_42;435 _4 5.im_preargs=_43;436 return _4 5;437 }; 438 MochiKit.Base.bindMethods=function(_4 7){439 for(var k in _4 7){440 var _ 48=_47[k];441 if(typeof (_ 48)=="function"){442 _4 7[k]=bind(_48,_47);444 _48=MochiKit.Base.concat(me.im_preargs,_48); 445 } 446 var _43=me.im_self; 447 if(!_43){ 448 _43=this; 449 } 450 return me.im_func.apply(_43,_48); 451 }; 452 _47.im_self=_46; 453 _47.im_func=_44; 454 _47.im_preargs=_45; 455 return _47; 456 }; 457 MochiKit.Base.bindMethods=function(_49){ 458 for(var k in _49){ 459 var _50=_49[k]; 460 if(typeof (_50)=="function"){ 461 _49[k]=bind(_50,_49); 443 462 } 444 463 } … … 448 467 this.pairs=[]; 449 468 }; 450 MochiKit.Base.AdapterRegistry.prototype.register=function(_ 49,_50,_51,_52){451 if(_5 2){452 this.pairs.unshift([_ 49,_50,_51]);453 }else{ 454 this.pairs.push([_ 49,_50,_51]);469 MochiKit.Base.AdapterRegistry.prototype.register=function(_51,_52,_53,_54){ 470 if(_54){ 471 this.pairs.unshift([_51,_52,_53]); 472 }else{ 473 this.pairs.push([_51,_52,_53]); 455 474 } 456 475 }; 457 476 MochiKit.Base.AdapterRegistry.prototype.match=function(){ 458 477 for(var i=0;i<this.pairs.length;i++){ 459 var _5 3=this.pairs[i];460 if(_5 3[1].apply(this,arguments)){461 return _5 3[2].apply(this,arguments);478 var _55=this.pairs[i]; 479 if(_55[1].apply(this,arguments)){ 480 return _55[2].apply(this,arguments); 462 481 } 463 482 } 464 483 throw MochiKit.Base.NotFound; 465 484 }; 466 MochiKit.Base.AdapterRegistry.prototype.unregister=function(_5 4){485 MochiKit.Base.AdapterRegistry.prototype.unregister=function(_56){ 467 486 for(var i=0;i<this.pairs.length;i++){ 468 var _5 5=this.pairs[i];469 if(_5 5[0]==_54){487 var _57=this.pairs[i]; 488 if(_57[0]==_56){ 470 489 this.pairs.splice(i,1); 471 490 return true; … … 474 493 return false; 475 494 }; 476 MochiKit.Base.registerComparator=function(_5 6,_57,_58,_59){477 MochiKit.Base.comparatorRegistry.register(_5 6,_57,_58,_59);495 MochiKit.Base.registerComparator=function(_58,_59,_60,_61){ 496 MochiKit.Base.comparatorRegistry.register(_58,_59,_60,_61); 478 497 }; 479 498 MochiKit.Base.compare=function(a,b){ … … 481 500 return 0; 482 501 } 483 var _6 0=(typeof (a)=="undefined"||a==null);484 var _6 1=(typeof (b)=="undefined"||b==null);485 if(_6 0&&_61){502 var _62=(typeof (a)=="undefined"||a==null); 503 var _63=(typeof (b)=="undefined"||b==null); 504 if(_62&&_63){ 486 505 return 0; 487 506 }else{ 488 if(_6 0){507 if(_62){ 489 508 return -1; 490 509 }else{ 491 if(_6 1){510 if(_63){ 492 511 return 1; 493 512 } … … 508 527 } 509 528 } 510 var _6 2=MochiKit.Base.repr;511 throw new TypeError(_6 2(a)+" and "+_62(b)+" can not be compared");529 var _64=MochiKit.Base.repr; 530 throw new TypeError(_64(a)+" and "+_64(b)+" can not be compared"); 512 531 } 513 532 }; … … 526 545 } 527 546 } 528 var _6 3=MochiKit.Base.repr;529 throw new TypeError(_6 3(a)+" and "+_63(b)+" can not be compared");547 var _65=MochiKit.Base.repr; 548 throw new TypeError(_65(a)+" and "+_65(b)+" can not be compared"); 530 549 }; 531 550 MochiKit.Base.compareArrayLike=function(a,b){ 532 var _6 4=MochiKit.Base.compare;533 var _6 5=a.length;534 var _6 6=0;535 if(_6 5>b.length){536 _6 6=1;537 _6 5=b.length;538 }else{ 539 if(_6 5<b.length){540 _6 6=-1;541 } 542 } 543 for(var i=0;i<_6 5;i++){544 var cmp=_6 4(a[i],b[i]);551 var _66=MochiKit.Base.compare; 552 var _67=a.length; 553 var _68=0; 554 if(_67>b.length){ 555 _68=1; 556 _67=b.length; 557 }else{ 558 if(_67<b.length){ 559 _68=-1; 560 } 561 } 562 for(var i=0;i<_67;i++){ 563 var cmp=_66(a[i],b[i]); 545 564 if(cmp){ 546 565 return cmp; 547 566 } 548 567 } 549 return _6 6;550 }; 551 MochiKit.Base.registerRepr=function(_ 68,_69,_70,_71){552 MochiKit.Base.reprRegistry.register(_ 68,_69,_70,_71);568 return _68; 569 }; 570 MochiKit.Base.registerRepr=function(_70,_71,_72,_73){ 571 MochiKit.Base.reprRegistry.register(_70,_71,_72,_73); 553 572 }; 554 573 MochiKit.Base.repr=function(o){ … … 591 610 return "null"; 592 611 }; 593 MochiKit.Base.registerJSON=function(_7 2,_73,_74,_75){594 MochiKit.Base.jsonRegistry.register(_7 2,_73,_74,_75);612 MochiKit.Base.registerJSON=function(_74,_75,_76,_77){ 613 MochiKit.Base.jsonRegistry.register(_74,_75,_76,_77); 595 614 }; 596 615 MochiKit.Base.evalJSON=function(o){ … … 598 617 }; 599 618 MochiKit.Base.serializeJSON=function(o){ 600 var _7 6=typeof (o);601 if(_7 6=="undefined"){619 var _78=typeof (o); 620 if(_78=="undefined"){ 602 621 return "undefined"; 603 622 }else{ 604 if(_7 6=="number"||_76=="boolean"){623 if(_78=="number"||_78=="boolean"){ 605 624 return o.toString(); 606 625 }else{ … … 610 629 } 611 630 } 612 var _7 7=MochiKit.Base.reprString;613 if(_7 6=="string"){614 return _7 7(o);631 var _79=MochiKit.Base.reprString; 632 if(_78=="string"){ 633 return _79(o); 615 634 } 616 635 var me=arguments.callee; 617 636 if(typeof (o.__json__)=="function"){ 618 var _ 78=o.__json__();619 if(o!==_ 78){620 return me(_ 78);637 var _80=o.__json__(); 638 if(o!==_80){ 639 return me(_80); 621 640 } 622 641 } 623 642 if(typeof (o.json)=="function"){ 624 var _ 78=o.json();625 if(o!==_ 78){626 return me(_ 78);627 } 628 } 629 if(_7 6!="function"&&typeof (o.length)=="number"){643 var _80=o.json(); 644 if(o!==_80){ 645 return me(_80); 646 } 647 } 648 if(_78!="function"&&typeof (o.length)=="number"){ 630 649 var res=[]; 631 650 for(var i=0;i<o.length;i++){ … … 639 658 } 640 659 try{ 641 var _ 78=MochiKit.Base.jsonRegistry.match(o);642 return me(_ 78);660 var _80=MochiKit.Base.jsonRegistry.match(o); 661 return me(_80); 643 662 } 644 663 catch(e){ … … 647 666 } 648 667 } 649 if(_7 6=="function"){668 if(_78=="function"){ 650 669 return null; 651 670 } 652 671 var res=[]; 653 672 for(var k in o){ 654 var _8 1;673 var _83; 655 674 if(typeof (k)=="number"){ 656 _8 1="\""+k.toString()+"\"";675 _83="\""+k.toString()+"\""; 657 676 }else{ 658 677 if(typeof (k)=="string"){ 659 _8 1=_77(k);678 _83=_79(k); 660 679 }else{ 661 680 continue; … … 666 685 continue; 667 686 } 668 res.push(_8 1+":"+val);687 res.push(_83+":"+val); 669 688 } 670 689 return "{"+res.join(",")+"}"; … … 673 692 return (MochiKit.Base.compare(a,b)==0); 674 693 }; 675 MochiKit.Base.arrayEqual=function(_8 2,arr){676 if(_8 2.length!=arr.length){694 MochiKit.Base.arrayEqual=function(_84,arr){ 695 if(_84.length!=arr.length){ 677 696 return false; 678 697 } 679 return (MochiKit.Base.compare(_8 2,arr)==0);698 return (MochiKit.Base.compare(_84,arr)==0); 680 699 }; 681 700 MochiKit.Base.concat=function(){ 682 var _8 4=[];683 var _8 5=MochiKit.Base.extend;701 var _86=[]; 702 var _87=MochiKit.Base.extend; 684 703 for(var i=0;i<arguments.length;i++){ 685 _8 5(_84,arguments[i]);686 } 687 return _8 4;704 _87(_86,arguments[i]); 705 } 706 return _86; 688 707 }; 689 708 MochiKit.Base.keyComparator=function(key){ 690 var _8 7=MochiKit.Base.compare;709 var _89=MochiKit.Base.compare; 691 710 if(arguments.length==1){ 692 711 return function(a,b){ 693 return _8 7(a[key],b[key]);694 }; 695 } 696 var _ 88=MochiKit.Base.extend(null,arguments);712 return _89(a[key],b[key]); 713 }; 714 } 715 var _90=MochiKit.Base.extend(null,arguments); 697 716 return function(a,b){ 698 var _ 89=0;699 for(var i=0;(_ 89==0)&&(i<_88.length);i++){700 var key=_ 88[i];701 _ 89=_87(a[key],b[key]);702 } 703 return _ 89;717 var _91=0; 718 for(var i=0;(_91==0)&&(i<_90.length);i++){ 719 var key=_90[i]; 720 _91=_89(a[key],b[key]); 721 } 722 return _91; 704 723 }; 705 724 }; 706 725 MochiKit.Base.reverseKeyComparator=function(key){ 707 var _9 0=MochiKit.Base.keyComparator.apply(this,arguments);726 var _92=MochiKit.Base.keyComparator.apply(this,arguments); 708 727 return function(a,b){ 709 return _9 0(b,a);710 }; 711 }; 712 MochiKit.Base.partial=function(_9 1){713 return MochiKit.Base.bind.apply(this,MochiKit.Base.extend([_9 1,undefined],arguments,1));714 }; 715 MochiKit.Base.listMinMax=function(_9 2,lst){728 return _92(b,a); 729 }; 730 }; 731 MochiKit.Base.partial=function(_93){ 732 return MochiKit.Base.bind.apply(this,MochiKit.Base.extend([_93,undefined],arguments,1)); 733 }; 734 MochiKit.Base.listMinMax=function(_94,lst){ 716 735 if(lst.length==0){ 717 736 return null; 718 737 } 719 738 var cur=lst[0]; 720 var _9 4=MochiKit.Base.compare;739 var _96=MochiKit.Base.compare; 721 740 for(var i=1;i<lst.length;i++){ 722 741 var o=lst[i]; 723 if(_9 4(o,cur)==_92){742 if(_96(o,cur)==_94){ 724 743 cur=o; 725 744 } … … 733 752 return MochiKit.Base.listMinMax(-1,arguments); 734 753 }; 735 MochiKit.Base.nodeWalk=function(_9 5,_96){736 var _9 7=[_95];737 var _ 98=MochiKit.Base.extend;738 while(_9 7.length){739 var res=_9 6(_97.shift());754 MochiKit.Base.nodeWalk=function(_97,_98){ 755 var _99=[_97]; 756 var _100=MochiKit.Base.extend; 757 while(_99.length){ 758 var res=_98(_99.shift()); 740 759 if(res){ 741 _ 98(_97,res);742 } 743 } 744 }; 745 MochiKit.Base.nameFunctions=function(_ 99){746 var base=_ 99.NAME;760 _100(_99,res); 761 } 762 } 763 }; 764 MochiKit.Base.nameFunctions=function(_101){ 765 var base=_101.NAME; 747 766 if(typeof (base)=="undefined"){ 748 767 base=""; … … 750 769 base=base+"."; 751 770 } 752 for(var name in _ 99){753 var o=_ 99[name];771 for(var name in _101){ 772 var o=_101[name]; 754 773 if(typeof (o)=="function"&&typeof (o.NAME)=="undefined"){ 755 774 try{ … … 762 781 }; 763 782 if(typeof (encodeURIComponent)!="undefined"){ 764 MochiKit.Base.urlEncode=function(_10 2){765 var rval=encodeURIComponent(_10 2);783 MochiKit.Base.urlEncode=function(_104){ 784 var rval=encodeURIComponent(_104); 766 785 return rval.replace(/\'/g,"%27"); 767 786 }; 768 787 }else{ 769 MochiKit.Base.urlEncode=function(_10 4){770 var rval=escape(_10 4).replace(/\+/g,"%2B").replace(/\"/g,"%22");788 MochiKit.Base.urlEncode=function(_106){ 789 var rval=escape(_106).replace(/\+/g,"%2B").replace(/\"/g,"%22"); 771 790 return rval.replace(/\'/g,"%27"); 772 791 }; 773 792 } 774 MochiKit.Base.queryString=function(_10 5,_106){793 MochiKit.Base.queryString=function(_107,_108){ 775 794 if(arguments.length==1){ 776 var o=_10 5;777 _10 5=[];778 _10 6=[];795 var o=_107; 796 _107=[]; 797 _108=[]; 779 798 for(var k in o){ 780 799 var v=o[k]; 781 800 if(typeof (v)!="function"){ 782 _10 5.push(k);783 _10 6.push(v);801 _107.push(k); 802 _108.push(v); 784 803 } 785 804 } 786 805 } 787 806 var rval=[]; 788 var len=Math.min(_10 5.length,_106.length);789 var _1 09=MochiKit.Base.urlEncode;807 var len=Math.min(_107.length,_108.length); 808 var _110=MochiKit.Base.urlEncode; 790 809 for(var i=0;i<len;i++){ 791 var v=_10 6[i];810 var v=_108[i]; 792 811 if(typeof (v)!="undefined"&&v!=null){ 793 rval.push(_1 09(_105[i])+"="+_109(v));812 rval.push(_110(_107[i])+"="+_110(v)); 794 813 } 795 814 } 796 815 return rval.join("&"); 797 816 }; 798 MochiKit.Base.parseQueryString=function(_11 0,_111){799 var _11 2=_110.replace(/\+/g,"%20").split("&");817 MochiKit.Base.parseQueryString=function(_111,_112){ 818 var _113=_111.replace(/\+/g,"%20").split("&"); 800 819 var o={}; 801 var _11 3;820 var _114; 802 821 if(typeof (decodeURIComponent)!="undefined"){ 803 _11 3=decodeURIComponent;804 }else{ 805 _11 3=unescape;806 } 807 if(_11 1){808 for(var i=0;i<_11 2.length;i++){809 var pair=_11 2[i].split("=");810 var name=_11 3(pair[0]);822 _114=decodeURIComponent; 823 }else{ 824 _114=unescape; 825 } 826 if(_112){ 827 for(var i=0;i<_113.length;i++){ 828 var pair=_113[i].split("="); 829 var name=_114(pair[0]); 811 830 var arr=o[name]; 812 831 if(!(arr instanceof Array)){ … … 814 833 o[name]=arr; 815 834 } 816 arr.push(_11 3(pair[1]));817 } 818 }else{ 819 for(var i=0;i<_11 2.length;i++){820 var pair=_11 2[i].split("=");821 o[_11 3(pair[0])]=_113(pair[1]);835 arr.push(_114(pair[1])); 836 } 837 }else{ 838 for(var i=0;i<_113.length;i++){ 839 var pair=_113[i].split("="); 840 o[_114(pair[0])]=_114(pair[1]); 822 841 } 823 842 } 824 843 return o; 825 844 }; 826 MochiKit.Base.EXPORT=["clone","extend","update"," setdefault","keys","items","NamedError","operator","forward","itemgetter","typeMatcher","isCallable","isUndefined","isUndefinedOrNull","isNull","isNotEmpty","isArrayLike","isDateLike","xmap","map","xfilter","filter","bind","bindMethods","NotFound","AdapterRegistry","registerComparator","compare","registerRepr","repr","objEqual","arrayEqual","concat","keyComparator","reverseKeyComparator","partial","merge","listMinMax","listMax","listMin","objMax","objMin","nodeWalk","zip","urlEncode","queryString","serializeJSON","registerJSON","evalJSON","parseQueryString"];845 MochiKit.Base.EXPORT=["clone","extend","update","updatetree","setdefault","keys","items","NamedError","operator","forward","itemgetter","typeMatcher","isCallable","isUndefined","isUndefinedOrNull","isNull","isNotEmpty","isArrayLike","isDateLike","xmap","map","xfilter","filter","bind","bindMethods","NotFound","AdapterRegistry","registerComparator","compare","registerRepr","repr","objEqual","arrayEqual","concat","keyComparator","reverseKeyComparator","partial","merge","listMinMax","listMax","listMin","objMax","objMin","nodeWalk","zip","urlEncode","queryString","serializeJSON","registerJSON","evalJSON","parseQueryString"]; 827 846 MochiKit.Base.EXPORT_OK=["nameFunctions","comparatorRegistry","reprRegistry","jsonRegistry","compareDateLike","compareArrayLike","reprArrayLike","reprString","reprNumber","reprUndefined","reprNull"]; 828 847 MochiKit.Base.__new__=function(){ … … 883 902 return this.__repr__(); 884 903 }; 885 MochiKit.Iter.registerIteratorFactory=function(name,_11 7,_118,_119){886 MochiKit.Iter.iteratorRegistry.register(name,_11 7,_118,_119);887 }; 888 MochiKit.Iter.iter=function(_12 0,_121){904 MochiKit.Iter.registerIteratorFactory=function(name,_118,_119,_120){ 905 MochiKit.Iter.iteratorRegistry.register(name,_118,_119,_120); 906 }; 907 MochiKit.Iter.iter=function(_121,_122){ 889 908 if(arguments.length==2){ 890 909 return MochiKit.Iter.takewhile(function(a){ 891 return a!=_12 1;892 },_12 0);893 } 894 if(typeof (_12 0.next)=="function"){895 return _12 0;896 }else{ 897 if(typeof (_12 0.iter)=="function"){898 return _12 0.iter();910 return a!=_122; 911 },_121); 912 } 913 if(typeof (_121.next)=="function"){ 914 return _121; 915 }else{ 916 if(typeof (_121.iter)=="function"){ 917 return _121.iter(); 899 918 } 900 919 } 901 920 try{ 902 return MochiKit.Iter.iteratorRegistry.match(_12 0);921 return MochiKit.Iter.iteratorRegistry.match(_121); 903 922 } 904 923 catch(e){ 905 924 if(e==MochiKit.Base.NotFound){ 906 e=new TypeError(typeof (_12 0)+": "+MochiKit.Base.repr(_120)+" is not iterable");925 e=new TypeError(typeof (_121)+": "+MochiKit.Base.repr(_121)+" is not iterable"); 907 926 } 908 927 throw e; … … 921 940 MochiKit.Iter.cycle=function(p){ 922 941 var lst=[]; 923 var _12 4=MochiKit.Iter.iter(p);942 var _125=MochiKit.Iter.iter(p); 924 943 return {"repr":function(){ 925 944 return "cycle(...)"; 926 945 },"toString":MochiKit.Base.forward("repr"),"next":function(){ 927 946 try{ 928 var rval=_12 4.next();947 var rval=_125.next(); 929 948 lst.push(rval); 930 949 return rval; … … 967 986 }}; 968 987 }; 969 MochiKit.Iter.next=function(_12 6){970 return _12 6.next();988 MochiKit.Iter.next=function(_127){ 989 return _127.next(); 971 990 }; 972 991 MochiKit.Iter.izip=function(p,q){ 973 992 var map=MochiKit.Base.map; 974 993 var next=MochiKit.Iter.next; 975 var _13 0=map(iter,arguments);994 var _131=map(iter,arguments); 976 995 return {"repr":function(){ 977 996 return "izip(...)"; 978 997 },"toString":MochiKit.Base.forward("repr"),"next":function(){ 979 return map(next,_13 0);998 return map(next,_131); 980 999 }}; 981 1000 }; … … 1016 1035 MochiKit.Iter.islice=function(seq){ 1017 1036 seq=MochiKit.Iter.iter(seq); 1018 var _13 3=0;1037 var _134=0; 1019 1038 var stop=0; 1020 1039 var step=1; … … 1024 1043 }else{ 1025 1044 if(arguments.length==3){ 1026 _13 3=arguments[1];1045 _134=arguments[1]; 1027 1046 stop=arguments[2]; 1028 1047 }else{ 1029 _13 3=arguments[1];1048 _134=arguments[1]; 1030 1049 stop=arguments[2]; 1031 1050 step=arguments[3]; … … 1033 1052 } 1034 1053 return {"repr":function(){ 1035 return "islice("+["...",_13 3,stop,step].join(", ")+")";1054 return "islice("+["...",_134,stop,step].join(", ")+")"; 1036 1055 },"toString":MochiKit.Base.forward("repr"),"next":function(){ 1037 1056 var rval; 1038 while(i<_13 3){1057 while(i<_134){ 1039 1058 rval=seq.next(); 1040 1059 i++; 1041 1060 } 1042 if(_13 3>=stop){1061 if(_134>=stop){ 1043 1062 throw MochiKit.Iter.StopIteration; 1044 1063 } 1045 _13 3+=step;1064 _134+=step; 1046 1065 return rval; 1047 1066 }}; … … 1049 1068 MochiKit.Iter.imap=function(fun,p,q){ 1050 1069 var map=MochiKit.Base.map; 1051 var _13 7=map(MochiKit.Iter.iter,MochiKit.Base.extend(null,arguments,1));1070 var _138=map(MochiKit.Iter.iter,MochiKit.Base.extend(null,arguments,1)); 1052 1071 var next=MochiKit.Iter.next; 1053 1072 return {"repr":function(){ 1054 1073 return "imap(...)"; 1055 1074 },"toString":MochiKit.Base.forward("repr"),"next":function(){
