[Pieforms-commit] SF.net SVN: pieforms: [36] pieforms/src
Status: Alpha
Brought to you by:
oracleshinoda
From: <ora...@us...> - 2006-11-19 10:57:59
|
Revision: 36 http://svn.sourceforge.net/pieforms/?rev=36&view=rev Author: oracleshinoda Date: 2006-11-19 02:57:58 -0800 (Sun, 19 Nov 2006) Log Message: ----------- Include MochiKit.Iter which is required for error messages to work. Made a new javascript function, {}_remove_all_errors, which is used after failed validation, to ensure that if one field has been fixed that the error is removed correctly. Modified Paths: -------------- pieforms/src/js/MochiKit/MochiKit.js pieforms/src/pieform/renderers/table.php pieforms/src/pieform.php Modified: pieforms/src/js/MochiKit/MochiKit.js =================================================================== --- pieforms/src/js/MochiKit/MochiKit.js 2006-11-19 01:53:05 UTC (rev 35) +++ pieforms/src/js/MochiKit/MochiKit.js 2006-11-19 10:57:58 UTC (rev 36) @@ -1767,6 +1767,937 @@ } MochiKit.Base._exportSymbols(this,MochiKit.DOM); if(typeof (dojo)!="undefined"){ +dojo.provide("MochiKit.Style"); +dojo.require("MochiKit.Base"); +dojo.require("MochiKit.DOM"); +} +if(typeof (JSAN)!="undefined"){ +JSAN.use("MochiKit.Base",[]); +} +try{ +if(typeof (MochiKit.Base)=="undefined"){ +throw ""; +} +} +catch(e){ +throw "MochiKit.Style depends on MochiKit.Base!"; +} +try{ +if(typeof (MochiKit.DOM)=="undefined"){ +throw ""; +} +} +catch(e){ +throw "MochiKit.Style depends on MochiKit.DOM!"; +} +if(typeof (MochiKit.Style)=="undefined"){ +MochiKit.Style={}; +} +MochiKit.Style.NAME="MochiKit.Style"; +MochiKit.Style.VERSION="1.4"; +MochiKit.Style.__repr__=function(){ +return "["+this.NAME+" "+this.VERSION+"]"; +}; +MochiKit.Style.toString=function(){ +return this.__repr__(); +}; +MochiKit.Style.EXPORT_OK=[]; +MochiKit.Style.EXPORT=["setOpacity","getOpacity","setStyle","getStyle","computedStyle","getElementDimensions","elementDimensions","setElementDimensions","getElementPosition","elementPosition","setElementPosition","setDisplayForElement","hideElement","showElement","getViewportDimensions","getViewportPosition","Dimensions","Coordinates"]; +MochiKit.Style.Dimensions=function(w,h){ +this.w=w; +this.h=h; +}; +MochiKit.Style.Dimensions.prototype.__repr__=function(){ +var repr=MochiKit.Base.repr; +return "{w: "+repr(this.w)+", h: "+repr(this.h)+"}"; +}; +MochiKit.Style.Dimensions.prototype.toString=function(){ +return this.__repr__(); +}; +MochiKit.Style.Coordinates=function(x,y){ +this.x=x; +this.y=y; +}; +MochiKit.Style.Coordinates.prototype.__repr__=function(){ +var repr=MochiKit.Base.repr; +return "{x: "+repr(this.x)+", y: "+repr(this.y)+"}"; +}; +MochiKit.Style.Coordinates.prototype.toString=function(){ +return this.__repr__(); +}; +MochiKit.Base.update(MochiKit.Style,{computedStyle:function(elem,_263){ +var dom=MochiKit.DOM; +var d=dom._document; +elem=dom.getElement(elem); +_263=MochiKit.Base.camelize(_263); +if(!elem||elem==d){ +return undefined; +} +if(_263=="opacity"&&elem.filters){ +try{ +return elem.filters.item("DXImageTransform.Microsoft.Alpha").opacity/100; +} +catch(e){ +try{ +return elem.filters.item("alpha").opacity/100; +} +catch(e){ +} +} +} +if(elem.currentStyle){ +return elem.currentStyle[_263]; +} +if(typeof (d.defaultView)=="undefined"){ +return undefined; +} +if(d.defaultView===null){ +return undefined; +} +var _264=d.defaultView.getComputedStyle(elem,null); +if(typeof (_264)=="undefined"||_264===null){ +return undefined; +} +var _265=_263.replace(/([A-Z])/g,"-$1").toLowerCase(); +return _264.getPropertyValue(_265); +},getStyle:function(elem,_266){ +elem=MochiKit.DOM.getElement(elem); +var _267=elem.style[MochiKit.Base.camelize(_266)]; +if(!_267){ +if(document.defaultView&&document.defaultView.getComputedStyle){ +var css=document.defaultView.getComputedStyle(elem,null); +_267=css?css.getPropertyValue(_266):null; +}else{ +if(elem.currentStyle){ +_267=elem.currentStyle[MochiKit.Base.camelize(_266)]; +} +} +} +if(/Opera/.test(navigator.userAgent)&&(MochiKit.Base.find(["left","top","right","bottom"],_266)!=-1)){ +if(MochiKit.Style.getStyle(elem,"position")=="static"){ +_267="auto"; +} +} +return _267=="auto"?null:_267; +},setStyle:function(elem,_269){ +elem=MochiKit.DOM.getElement(elem); +for(name in _269){ +elem.style[MochiKit.Base.camelize(name)]=_269[name]; +} +},getOpacity:function(elem){ +var _270; +if(_270=MochiKit.Style.getStyle(elem,"opacity")){ +return parseFloat(_270); +} +if(_270=(MochiKit.Style.getStyle(elem,"filter")||"").match(/alpha\(opacity=(.*)\)/)){ +if(_270[1]){ +return parseFloat(_270[1])/100; +} +} +return 1; +},setOpacity:function(elem,o){ +elem=MochiKit.DOM.getElement(elem); +var self=MochiKit.Style; +if(o==1){ +var _271=/Gecko/.test(navigator.userAgent)&&!(/Konqueror|Safari|KHTML/.test(navigator.userAgent)); +self.setStyle(elem,{opacity:_271?0.999999:1}); +if(/MSIE/.test(navigator.userAgent)){ +self.setStyle(elem,{filter:self.getStyle(elem,"filter").replace(/alpha\([^\)]*\)/gi,"")}); +} +}else{ +if(o<0.00001){ +o=0; +} +self.setStyle(elem,{opacity:o}); +if(/MSIE/.test(navigator.userAgent)){ +self.setStyle(elem,{filter:self.getStyle(elem,"filter").replace(/alpha\([^\)]*\)/gi,"")+"alpha(opacity="+o*100+")"}); +} +} +},getElementPosition:function(elem,_272){ +var self=MochiKit.Style; +var dom=MochiKit.DOM; +elem=dom.getElement(elem); +if(!elem||(!(elem.x&&elem.y)&&(!elem.parentNode==null||self.computedStyle(elem,"display")=="none"))){ +return undefined; +} +var c=new self.Coordinates(0,0); +var box=null; +var _275=null; +var d=MochiKit.DOM._document; +var de=d.documentElement; +var b=d.body; +if(!elem.parentNode&&elem.x&&elem.y){ +c.x+=elem.x||0; +c.y+=elem.y||0; +}else{ +if(elem.getBoundingClientRect){ +box=elem.getBoundingClientRect(); +c.x+=box.left+(de.scrollLeft||b.scrollLeft)-(de.clientLeft||0); +c.y+=box.top+(de.scrollTop||b.scrollTop)-(de.clientTop||0); +}else{ +if(elem.offsetParent){ +c.x+=elem.offsetLeft; +c.y+=elem.offsetTop; +_275=elem.offsetParent; +if(_275!=elem){ +while(_275){ +c.x+=_275.offsetLeft; +c.y+=_275.offsetTop; +_275=_275.offsetParent; +} +} +var ua=navigator.userAgent.toLowerCase(); +if((typeof (opera)!="undefined"&&parseFloat(opera.version())<9)||(ua.indexOf("safari")!=-1&&self.computedStyle(elem,"position")=="absolute")){ +c.x-=b.offsetLeft; +c.y-=b.offsetTop; +} +} +} +} +if(typeof (_272)!="undefined"){ +_272=arguments.callee(_272); +if(_272){ +c.x-=(_272.x||0); +c.y-=(_272.y||0); +} +} +if(elem.parentNode){ +_275=elem.parentNode; +}else{ +_275=null; +} +while(_275){ +var _278=_275.tagName.toUpperCase(); +if(_278==="BODY"||_278==="HTML"){ +break; +} +c.x-=_275.scrollLeft; +c.y-=_275.scrollTop; +if(_275.parentNode){ +_275=_275.parentNode; +}else{ +_275=null; +} +} +return c; +},setElementPosition:function(elem,_279,_280){ +elem=MochiKit.DOM.getElement(elem); +if(typeof (_280)=="undefined"){ +_280="px"; +} +var _281={}; +var _282=MochiKit.Base.isUndefinedOrNull; +if(!_282(_279.x)){ +_281["left"]=_279.x+_280; +} +if(!_282(_279.y)){ +_281["top"]=_279.y+_280; +} +MochiKit.DOM.updateNodeAttributes(elem,{"style":_281}); +},getElementDimensions:function(elem){ +var self=MochiKit.Style; +var dom=MochiKit.DOM; +if(typeof (elem.w)=="number"||typeof (elem.h)=="number"){ +return new self.Dimensions(elem.w||0,elem.h||0); +} +elem=dom.getElement(elem); +if(!elem){ +return undefined; +} +var disp=self.computedStyle(elem,"display"); +if(disp!="none"&&disp!=""&&typeof (disp)!="undefined"){ +return new self.Dimensions(elem.offsetWidth||0,elem.offsetHeight||0); +} +var s=elem.style; +var _284=s.visibility; +var _285=s.position; +s.visibility="hidden"; +s.position="absolute"; +s.display=""; +var _286=elem.offsetWidth; +var _287=elem.offsetHeight; +s.display="none"; +s.position=_285; +s.visibility=_284; +return new self.Dimensions(_286,_287); +},setElementDimensions:function(elem,_288,_289){ +elem=MochiKit.DOM.getElement(elem); +if(typeof (_289)=="undefined"){ +_289="px"; +} +var _290={}; +var _291=MochiKit.Base.isUndefinedOrNull; +if(!_291(_288.w)){ +_290["width"]=_288.w+_289; +} +if(!_291(_288.h)){ +_290["height"]=_288.h+_289; +} +MochiKit.DOM.updateNodeAttributes(elem,{"style":_290}); +},setDisplayForElement:function(_292,_293){ +var _294=MochiKit.Base.extend(null,arguments,1); +var _295=MochiKit.DOM.getElement; +for(var i=0;i<_294.length;i++){ +var _293=_295(_294[i]); +if(_293){ +_293.style.display=_292; +} +} +},getViewportDimensions:function(){ +var d=new MochiKit.Style.Dimensions(); +var w=MochiKit.DOM._window; +var b=MochiKit.DOM._document.body; +if(w.innerWidth){ +d.w=w.innerWidth; +d.h=w.innerHeight; +}else{ +if(b.parentElement.clientWidth){ +d.w=b.parentElement.clientWidth; +d.h=b.parentElement.clientHeight; +}else{ +if(b&&b.clientWidth){ +d.w=b.clientWidth; +d.h=b.clientHeight; +} +} +} +return d; +},getViewportPosition:function(){ +var c=new MochiKit.Style.Coordinates(0,0); +var d=MochiKit.DOM._document; +var de=d.documentElement; +var db=d.body; +if(de&&(de.scrollTop||de.scrollLeft)){ +c.x=de.scrollLeft; +c.y=de.scrollTop; +}else{ +if(db){ +c.x=db.scrollLeft; +c.y=db.scrollTop; +} +} +return c; +},__new__:function(){ +var m=MochiKit.Base; +this.elementPosition=this.getElementPosition; +this.elementDimensions=this.getElementDimensions; +this.hideElement=m.partial(this.setDisplayForElement,"none"); +this.showElement=m.partial(this.setDisplayForElement,"block"); +this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)}; +m.nameFunctions(this); +}}); +MochiKit.Style.__new__(); +MochiKit.Base._exportSymbols(this,MochiKit.Style); +if(typeof (dojo)!="undefined"){ +dojo.provide("MochiKit.Iter"); +dojo.require("MochiKit.Base"); +} +if(typeof (JSAN)!="undefined"){ +JSAN.use("MochiKit.Base",[]); +} +try{ +if(typeof (MochiKit.Base)=="undefined"){ +throw ""; +} +} +catch(e){ +throw "MochiKit.Iter depends on MochiKit.Base!"; +} +if(typeof (MochiKit.Iter)=="undefined"){ +MochiKit.Iter={}; +} +MochiKit.Iter.NAME="MochiKit.Iter"; +MochiKit.Iter.VERSION="1.4"; +MochiKit.Base.update(MochiKit.Iter,{__repr__:function(){ +return "["+this.NAME+" "+this.VERSION+"]"; +},toString:function(){ +return this.__repr__(); +},registerIteratorFactory:function(name,_297,_298,_299){ +MochiKit.Iter.iteratorRegistry.register(name,_297,_298,_299); +},iter:function(_300,_301){ +var self=MochiKit.Iter; +if(arguments.length==2){ +return self.takewhile(function(a){ +return a!=_301; +},_300); +} +if(typeof (_300.next)=="function"){ +return _300; +}else{ +if(typeof (_300.iter)=="function"){ +return _300.iter(); +} +} +try{ +return self.iteratorRegistry.match(_300); +} +catch(e){ +var m=MochiKit.Base; +if(e==m.NotFound){ +e=new TypeError(typeof (_300)+": "+m.repr(_300)+" is not iterable"); +} +throw e; +} +},count:function(n){ +if(!n){ +n=0; +} +var m=MochiKit.Base; +return {repr:function(){ +return "count("+n+")"; +},toString:m.forwardCall("repr"),next:m.counter(n)}; +},cycle:function(p){ +var self=MochiKit.Iter; +var m=MochiKit.Base; +var lst=[]; +var _303=self.iter(p); +return {repr:function(){ +return "cycle(...)"; +},toString:m.forwardCall("repr"),next:function(){ +try{ +var rval=_303.next(); +lst.push(rval); +return rval; +} +catch(e){ +if(e!=self.StopIteration){ +throw e; +} +if(lst.length===0){ +this.next=function(){ +throw self.StopIteration; +}; +}else{ +var i=-1; +this.next=function(){ +i=(i+1)%lst.length; +return lst[i]; +}; +} +return this.next(); +} +}}; +},repeat:function(elem,n){ +var m=MochiKit.Base; +if(typeof (n)=="undefined"){ +return {repr:function(){ +return "repeat("+m.repr(elem)+")"; +},toString:m.forwardCall("repr"),next:function(){ +return elem; +}}; +} +return {repr:function(){ +return "repeat("+m.repr(elem)+", "+n+")"; +},toString:m.forwardCall("repr"),next:function(){ +if(n<=0){ +throw MochiKit.Iter.StopIteration; +} +n-=1; +return elem; +}}; +},next:function(_304){ +return _304.next(); +},izip:function(p,q){ +var m=MochiKit.Base; +var self=MochiKit.Iter; +var next=self.next; +var _307=m.map(self.iter,arguments); +return {repr:function(){ +return "izip(...)"; +},toString:m.forwardCall("repr"),next:function(){ +return m.map(next,_307); +}}; +},ifilter:function(pred,seq){ +var m=MochiKit.Base; +seq=MochiKit.Iter.iter(seq); +if(pred===null){ +pred=m.operator.truth; +} +return {repr:function(){ +return "ifilter(...)"; +},toString:m.forwardCall("repr"),next:function(){ +while(true){ +var rval=seq.next(); +if(pred(rval)){ +return rval; +} +} +return undefined; +}}; +},ifilterfalse:function(pred,seq){ +var m=MochiKit.Base; +seq=MochiKit.Iter.iter(seq); +if(pred===null){ +pred=m.operator.truth; +} +return {repr:function(){ +return "ifilterfalse(...)"; +},toString:m.forwardCall("repr"),next:function(){ +while(true){ +var rval=seq.next(); +if(!pred(rval)){ +return rval; +} +} +return undefined; +}}; +},islice:function(seq){ +var self=MochiKit.Iter; +var m=MochiKit.Base; +seq=self.iter(seq); +var _310=0; +var stop=0; +var step=1; +var i=-1; +if(arguments.length==2){ +stop=arguments[1]; +}else{ +if(arguments.length==3){ +_310=arguments[1]; +stop=arguments[2]; +}else{ +_310=arguments[1]; +stop=arguments[2]; +step=arguments[3]; +} +} +return {repr:function(){ +return "islice("+["...",_310,stop,step].join(", ")+")"; +},toString:m.forwardCall("repr"),next:function(){ +var rval; +while(i<_310){ +rval=seq.next(); +i++; +} +if(_310>=stop){ +throw self.StopIteration; +} +_310+=step; +return rval; +}}; +},imap:function(fun,p,q){ +var m=MochiKit.Base; +var self=MochiKit.Iter; +var _314=m.map(self.iter,m.extend(null,arguments,1)); +var map=m.map; +var next=self.next; +return {repr:function(){ +return "imap(...)"; +},toString:m.forwardCall("repr"),next:function(){ +return fun.apply(this,map(next,_314)); +}}; +},applymap:function(fun,seq,self){ +seq=MochiKit.Iter.iter(seq); +var m=MochiKit.Base; +return {repr:function(){ +return "applymap(...)"; +},toString:m.forwardCall("repr"),next:function(){ +return fun.apply(self,seq.next()); +}}; +},chain:function(p,q){ +var self=MochiKit.Iter; +var m=MochiKit.Base; +if(arguments.length==1){ +return self.iter(arguments[0]); +} +var _315=m.map(self.iter,arguments); +return {repr:function(){ +return "chain(...)"; +},toString:m.forwardCall("repr"),next:function(){ +while(_315.length>1){ +try{ +return _315[0].next(); +} +catch(e){ +if(e!=self.StopIteration){ +throw e; +} +_315.shift(); +} +} +if(_315.length==1){ +var arg=_315.shift(); +this.next=m.bind("next",arg); +return this.next(); +} +throw self.StopIteration; +}}; +},takewhile:function(pred,seq){ +var self=MochiKit.Iter; +seq=self.iter(seq); +return {repr:function(){ +return "takewhile(...)"; +},toString:MochiKit.Base.forwardCall("repr"),next:function(){ +var rval=seq.next(); +if(!pred(rval)){ +this.next=function(){ +throw self.StopIteration; +}; +this.next(); +} +return rval; +}}; +},dropwhile:function(pred,seq){ +seq=MochiKit.Iter.iter(seq); +var m=MochiKit.Base; +var bind=m.bind; +return {"repr":function(){ +return "dropwhile(...)"; +},"toString":m.forwardCall("repr"),"next":function(){ +while(true){ +var rval=seq.next(); +if(!pred(rval)){ +break; +} +} +this.next=bind("next",seq); +return rval; +}}; +},_tee:function(_317,sync,_319){ +sync.pos[_317]=-1; +var m=MochiKit.Base; +var _320=m.listMin; +return {repr:function(){ +return "tee("+_317+", ...)"; +},toString:m.forwardCall("repr"),next:function(){ +var rval; +var i=sync.pos[_317]; +if(i==sync.max){ +rval=_319.next(); +sync.deque.push(rval); +sync.max+=1; +sync.pos[_317]+=1; +}else{ +rval=sync.deque[i-sync.min]; +sync.pos[_317]+=1; +if(i==sync.min&&_320(sync.pos)!=sync.min){ +sync.min+=1; +sync.deque.shift(); +} +} +return rval; +}}; +},tee:function(_321,n){ +var rval=[]; +var sync={"pos":[],"deque":[],"max":-1,"min":-1}; +if(arguments.length==1||typeof (n)=="undefined"||n===null){ +n=2; +} +var self=MochiKit.Iter; +_321=self.iter(_321); +var _tee=self._tee; +for(var i=0;i<n;i++){ +rval.push(_tee(i,sync,_321)); +} +return rval; +},list:function(_323){ +var m=MochiKit.Base; +if(typeof (_323.slice)=="function"){ +return _323.slice(); +}else{ +if(m.isArrayLike(_323)){ +return m.concat(_323); +} +} +var self=MochiKit.Iter; +_323=self.iter(_323); +var rval=[]; +try{ +while(true){ +rval.push(_323.next()); +} +} +catch(e){ +if(e!=self.StopIteration){ +throw e; +} +return rval; +} +return undefined; +},reduce:function(fn,_324,_325){ +var i=0; +var x=_325; +var self=MochiKit.Iter; +_324=self.iter(_324); +if(arguments.length<3){ +try{ +x=_324.next(); +} +catch(e){ +if(e==self.StopIteration){ +e=new TypeError("reduce() of empty sequence with no initial value"); +} +throw e; +} +i++; +} +try{ +while(true){ +x=fn(x,_324.next()); +} +} +catch(e){ +if(e!=self.StopIteration){ +throw e; +} +} +return x; +},range:function(){ +var _326=0; +var stop=0; +var step=1; +if(arguments.length==1){ +stop=arguments[0]; +}else{ +if(arguments.length==2){ +_326=arguments[0]; +stop=arguments[1]; +}else{ +if(arguments.length==3){ +_326=arguments[0]; +stop=arguments[1]; +step=arguments[2]; +}else{ +throw new TypeError("range() takes 1, 2, or 3 arguments!"); +} +} +} +if(step===0){ +throw new TypeError("range() step must not be 0"); +} +return {next:function(){ +if((step>0&&_326>=stop)||(step<0&&_326<=stop)){ +throw MochiKit.Iter.StopIteration; +} +var rval=_326; +_326+=step; +return rval; +},repr:function(){ +return "range("+[_326,stop,step].join(", ")+")"; +},toString:MochiKit.Base.forwardCall("repr")}; +},sum:function(_327,_328){ +if(typeof (_328)=="undefined"||_328===null){ +_328=0; +} +var x=_328; +var self=MochiKit.Iter; +_327=self.iter(_327); +try{ +while(true){ +x+=_327.next(); +} +} +catch(e){ +if(e!=self.StopIteration){ +throw e; +} +} +return x; +},exhaust:function(_329){ +var self=MochiKit.Iter; +_329=self.iter(_329); +try{ +while(true){ +_329.next(); +} +} +catch(e){ +if(e!=self.StopIteration){ +throw e; +} +} +},forEach:function(_330,func,self){ +var m=MochiKit.Base; +if(arguments.length>2){ +func=m.bind(func,self); +} +if(m.isArrayLike(_330)){ +try{ +for(var i=0;i<_330.length;i++){ +func(_330[i]); +} +} +catch(e){ +if(e!=MochiKit.Iter.StopIteration){ +throw e; +} +} +}else{ +self=MochiKit.Iter; +self.exhaust(self.imap(func,_330)); +} +},every:function(_331,func){ +var self=MochiKit.Iter; +try{ +self.ifilterfalse(func,_331).next(); +return false; +} +catch(e){ +if(e!=self.StopIteration){ +throw e; +} +return true; +} +},sorted:function(_332,cmp){ +var rval=MochiKit.Iter.list(_332); +if(arguments.length==1){ +cmp=MochiKit.Base.compare; +} +rval.sort(cmp); +return rval; +},reversed:function(_333){ +var rval=MochiKit.Iter.list(_333); +rval.reverse(); +return rval; +},some:function(_334,func){ +var self=MochiKit.Iter; +try{ +self.ifilter(func,_334).next(); +return true; +} +catch(e){ +if(e!=self.StopIteration){ +throw e; +} +return false; +} +},iextend:function(lst,_335){ +if(MochiKit.Base.isArrayLike(_335)){ +for(var i=0;i<_335.length;i++){ +lst.push(_335[i]); +} +}else{ +var self=MochiKit.Iter; +_335=self.iter(_335); +try{ +while(true){ +lst.push(_335.next()); +} +} +catch(e){ +if(e!=self.StopIteration){ +throw e; +} +} +} +return lst; +},groupby:function(_336,_337){ +var m=MochiKit.Base; +var self=MochiKit.Iter; +if(arguments.length<2){ +_337=m.operator.identity; +} +_336=self.iter(_336); +var pk=undefined; +var k=undefined; +var v; +function fetch(){ +v=_336.next(); +k=_337(v); +} +function eat(){ +var ret=v; +v=undefined; +return ret; +} +var _340=true; +var _341=m.compare; +return {repr:function(){ +return "groupby(...)"; +},next:function(){ +while(_341(k,pk)===0){ +fetch(); +if(_340){ +_340=false; +break; +} +} +pk=k; +return [k,{next:function(){ +if(v==undefined){ +fetch(); +} +if(_341(k,pk)!==0){ +throw self.StopIteration; +} +return eat(); +}}]; +}}; +},groupby_as_array:function(_342,_343){ +var m=MochiKit.Base; +var self=MochiKit.Iter; +if(arguments.length<2){ +_343=m.operator.identity; +} +_342=self.iter(_342); +var _344=[]; +var _345=true; +var _346; +var _347=m.compare; +while(true){ +try{ +var _348=_342.next(); +var key=_343(_348); +} +catch(e){ +if(e==self.StopIteration){ +break; +} +throw e; +} +if(_345||_347(key,_346)!==0){ +var _349=[]; +_344.push([key,_349]); +} +_349.push(_348); +_345=false; +_346=key; +} +return _344; +},arrayLikeIter:function(_350){ +var i=0; +return {repr:function(){ +return "arrayLikeIter(...)"; +},toString:MochiKit.Base.forwardCall("repr"),next:function(){ +if(i>=_350.length){ +throw MochiKit.Iter.StopIteration; +} +return _350[i++]; +}}; +},hasIterateNext:function(_351){ +return (_351&&typeof (_351.iterateNext)=="function"); +},iterateNextIter:function(_352){ +return {repr:function(){ +return "iterateNextIter(...)"; +},toString:MochiKit.Base.forwardCall("repr"),next:function(){ +var rval=_352.iterateNext(); +if(rval===null||rval===undefined){ +throw MochiKit.Iter.StopIteration; +} +return rval; +}}; +}}); +MochiKit.Iter.EXPORT_OK=["iteratorRegistry","arrayLikeIter","hasIterateNext","iterateNextIter",]; +MochiKit.Iter.EXPORT=["StopIteration","registerIteratorFactory","iter","count","cycle","repeat","next","izip","ifilter","ifilterfalse","islice","imap","applymap","chain","takewhile","dropwhile","tee","list","reduce","range","sum","exhaust","forEach","every","sorted","reversed","some","iextend","groupby","groupby_as_array"]; +MochiKit.Iter.__new__=function(){ +var m=MochiKit.Base; +if(typeof (StopIteration)!="undefined"){ +this.StopIteration=StopIteration; +}else{ +this.StopIteration=new m.NamedError("StopIteration"); +} +this.iteratorRegistry=new m.AdapterRegistry(); +this.registerIteratorFactory("arrayLike",m.isArrayLike,this.arrayLikeIter); +this.registerIteratorFactory("iterateNext",this.hasIterateNext,this.iterateNextIter); +this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)}; +m.nameFunctions(this); +}; +MochiKit.Iter.__new__(); +if(MochiKit.__export__){ +reduce=MochiKit.Iter.reduce; +} +MochiKit.Base._exportSymbols(this,MochiKit.Iter); +if(typeof (dojo)!="undefined"){ dojo.provide("MochiKit.Async"); dojo.require("MochiKit.Base"); } @@ -1792,28 +2723,28 @@ MochiKit.Async.toString=function(){ return this.__repr__(); }; -MochiKit.Async.Deferred=function(_258){ +MochiKit.Async.Deferred=function(_353){ this.chain=[]; this.id=this._nextId(); this.fired=-1; this.paused=0; this.results=[null,null]; -this.canceller=_258; +this.canceller=_353; this.silentlyCancelled=false; this.chained=false; }; MochiKit.Async.Deferred.prototype={repr:function(){ -var _259; +var _354; if(this.fired==-1){ -_259="unfired"; +_354="unfired"; }else{ if(this.fired===0){ -_259="success"; +_354="success"; }else{ -_259="error"; +_354="error"; } } -return "Deferred("+this.id+", "+_259+")"; +return "Deferred("+this.id+", "+_354+")"; },toString:MochiKit.Base.forwardCall("repr"),_nextId:MochiKit.Base.counter(),cancel:function(){ var self=MochiKit.Async; if(this.fired==-1){ @@ -1883,20 +2814,20 @@ } return this; },_fire:function(){ -var _262=this.chain; -var _263=this.fired; -var res=this.results[_263]; +var _357=this.chain; +var _358=this.fired; +var res=this.results[_358]; var self=this; var cb=null; -while(_262.length>0&&this.paused===0){ -var pair=_262.shift(); -var f=pair[_263]; +while(_357.length>0&&this.paused===0){ +var pair=_357.shift(); +var f=pair[_358]; if(f===null){ continue; } try{ res=f(res); -_263=((res instanceof Error)?1:0); +_358=((res instanceof Error)?1:0); if(res instanceof MochiKit.Async.Deferred){ cb=function(res){ self._resback(res); @@ -1909,15 +2840,15 @@ } } catch(err){ -_263=1; +_358=1; if(!(err instanceof Error)){ err=new MochiKit.Async.GenericError(err); } res=err; } } -this.fired=_263; -this.results[_263]=res; +this.fired=_358; +this.results[_358]=res; if(cb&&this.paused){ res.addBoth(cb); res.chained=true; @@ -1925,18 +2856,18 @@ }}; MochiKit.Base.update(MochiKit.Async,{evalJSONRequest:function(){ return eval("("+arguments[0].responseText+")"); -},succeed:function(_265){ +},succeed:function(_360){ var d=new MochiKit.Async.Deferred(); d.callback.apply(d,arguments); return d; -},fail:function(_266){ +},fail:function(_361){ var d=new MochiKit.Async.Deferred(); d.errback.apply(d,arguments); return d; },getXMLHttpRequest:function(){ var self=arguments.callee; if(!self.XMLHttpRequest){ -var _267=[function(){ +var _362=[function(){ return new XMLHttpRequest(); },function(){ return new ActiveXObject("Msxml2.XMLHTTP"); @@ -1947,8 +2878,8 @@ },function(){ throw new MochiKit.Async.BrowserComplianceError("Browser does not support XMLHttpRequest"); }]; -for(var i=0;i<_267.length;i++){ -var func=_267[i]; +for(var i=0;i<_362.length;i++){ +var func=_362[i]; try{ self.XMLHttpRequest=func; return func(); @@ -1971,16 +2902,16 @@ catch(e){ } } -var _268=null; +var _363=null; try{ -_268=this.status; -if(!_268&&m.isNotEmpty(this.responseText)){ -_268=304; +_363=this.status; +if(!_363&&m.isNotEmpty(this.responseText)){ +_363=304; } } catch(e){ } -if(_268==200||_268==304){ +if(_363==200||_363==304){ d.callback(this); }else{ var err=new MochiKit.Async.XMLHttpRequestError(this,"Request failed"); @@ -2003,16 +2934,16 @@ } } req.abort(); -},sendXMLHttpRequest:function(req,_271){ -if(typeof (_271)=="undefined"||_271===null){ -_271=""; +},sendXMLHttpRequest:function(req,_366){ +if(typeof (_366)=="undefined"||_366===null){ +_366=""; } var m=MochiKit.Base; var self=MochiKit.Async; var d=new self.Deferred(m.partial(self._xhr_canceller,req)); try{ req.onreadystatechange=m.bind(self._xhr_onreadystatechange,req,d); -req.send(_271); +req.send(_366); } catch(e){ try{ @@ -2039,15 +2970,15 @@ req.overrideMimeType(opts.mimeType); } if(opts.headers){ -var _274=opts.headers; -if(!m.isArrayLike(_274)){ -_274=m.items(_274); +var _369=opts.headers; +if(!m.isArrayLike(_369)){ +_369=m.items(_369); } -for(var i=0;i<_274.length;i++){ -var _275=_274[i]; -var name=_275[0]; -var _276=_275[1]; -req.setRequestHeader(name,_276); +for(var i=0;i<_369.length;i++){ +var _370=_369[i]; +var name=_370[0]; +var _371=_370[1]; +req.setRequestHeader(name,_371); } } return self.sendXMLHttpRequest(req,opts.sendContent); @@ -2070,28 +3001,28 @@ var d=self.doXHR(url,{"mimeType":"text/plain","headers":[["Accept","application/json"]]}); d=d.addCallback(self.evalJSONRequest); return d; -},wait:function(_277,_278){ +},wait:function(_372,_373){ var d=new MochiKit.Async.Deferred(); var m=MochiKit.Base; -if(typeof (_278)!="undefined"){ +if(typeof (_373)!="undefined"){ d.addCallback(function(){ -return _278; +return _373; }); } -var _279=setTimeout(m.bind("callback",d),Math.floor(_277*1000)); +var _374=setTimeout(m.bind("callback",d),Math.floor(_372*1000)); d.canceller=function(){ try{ -clearTimeout(_279); +clearTimeout(_374); } catch(e){ } }; return d; -},callLater:function(_280,func){ +},callLater:function(_375,func){ var m=MochiKit.Base; -var _281=m.partial.apply(m,m.extend(null,arguments,1)); -return MochiKit.Async.wait(_280).addCallback(function(res){ -return _281(); +var _376=m.partial.apply(m,m.extend(null,arguments,1)); +return MochiKit.Async.wait(_375).addCallback(function(res){ +return _376(); }); }}); MochiKit.Async.DeferredLock=function(){ @@ -2118,44 +3049,44 @@ this.waiting.shift().callback(this); } },_nextId:MochiKit.Base.counter(),repr:function(){ -var _282; +var _377; if(this.locked){ -_282="locked, "+this.waiting.length+" waiting"; +_377="locked, "+this.waiting.length+" waiting"; }else{ -_282="unlocked"; +_377="unlocked"; } -return "DeferredLock("+this.id+", "+_282+")"; +return "DeferredLock("+this.id+", "+_377+")"; },toString:MochiKit.Base.forwardCall("repr")}; -MochiKit.Async.DeferredList=function(list,_284,_285,_286,_287){ -MochiKit.Async.Deferred.apply(this,[_287]); +MochiKit.Async.DeferredList=function(list,_379,_380,_381,_382){ +MochiKit.Async.Deferred.apply(this,[_382]); this.list=list; -var _288=[]; -this.resultList=_288; +var _383=[]; +this.resultList=_383; this.finishedCount=0; -this.fireOnOneCallback=_284; -this.fireOnOneErrback=_285; -this.consumeErrors=_286; +this.fireOnOneCallback=_379; +this.fireOnOneErrback=_380; +this.consumeErrors=_381; var cb=MochiKit.Base.bind(this._cbDeferred,this); for(var i=0;i<list.length;i++){ var d=list[i]; -_288.push(undefined); +_383.push(undefined); d.addCallback(cb,i,true); d.addErrback(cb,i,false); } -if(list.length===0&&!_284){ +if(list.length===0&&!_379){ this.callback(this.resultList); } }; MochiKit.Async.DeferredList.prototype=new MochiKit.Async.Deferred(); -MochiKit.Async.DeferredList.prototype._cbDeferred=function(_289,_290,_291){ -this.resultList[_289]=[_290,_291]; +MochiKit.Async.DeferredList.prototype._cbDeferred=function(_384,_385,_386){ +this.resultList[_384]=[_385,_386]; this.finishedCount+=1; if(this.fired==-1){ -if(_290&&this.fireOnOneCallback){ -this.callback([_289,_291]); +if(_385&&this.fireOnOneCallback){ +this.callback([_384,_386]); }else{ -if(!_290&&this.fireOnOneErrback){ -this.errback(_291); +if(!_385&&this.fireOnOneErrback){ +this.errback(_386); }else{ if(this.finishedCount==this.list.length){ this.callback(this.resultList); @@ -2163,17 +3094,17 @@ } } } -if(!_290&&this.consumeErrors){ -_291=null; +if(!_385&&this.consumeErrors){ +_386=null; } -return _291; +return _386; }; -MochiKit.Async.gatherResults=function(_292){ -var d=new MochiKit.Async.DeferredList(_292,false,true,false); -d.addCallback(function(_293){ +MochiKit.Async.gatherResults=function(_387){ +var d=new MochiKit.Async.DeferredList(_387,false,true,false); +d.addCallback(function(_388){ var ret=[]; -for(var i=0;i<_293.length;i++){ -ret.push(_293[i][1]); +for(var i=0;i<_388.length;i++){ +ret.push(_388[i][1]); } return ret; }); @@ -2181,34 +3112,34 @@ }; MochiKit.Async.maybeDeferred=function(func){ var self=MochiKit.Async; -var _295; +var _389; try{ var r=func.apply(null,MochiKit.Base.extend([],arguments,1)); if(r instanceof self.Deferred){ -_295=r; +_389=r; }else{ if(r instanceof Error){ -_295=self.fail(r); +_389=self.fail(r); }else{ -_295=self.succeed(r); +_389=self.succeed(r); } } } catch(e){ -_295=self.fail(e); +_389=self.fail(e); } -return _295; +return _389; }; MochiKit.Async.EXPORT=["AlreadyCalledError","CancelledError","BrowserComplianceError","GenericError","XMLHttpRequestError","Deferred","succeed","fail","getXMLHttpRequest","doSimpleXMLHttpRequest","loadJSONDoc","wait","callLater","sendXMLHttpRequest","DeferredLock","DeferredList","gatherResults","maybeDeferred","doXHR"]; MochiKit.Async.EXPORT_OK=["evalJSONRequest"]; MochiKit.Async.__new__=function(){ var m=MochiKit.Base; var ne=m.partial(m._newNamedError,this); -ne("AlreadyCalledError",function(_298){ -this.deferred=_298; +ne("AlreadyCalledError",function(_392){ +this.deferred=_392; }); -ne("CancelledError",function(_299){ -this.deferred=_299; +ne("CancelledError",function(_393){ +this.deferred=_393; }); ne("BrowserComplianceError",function(msg){ this.message=msg; Modified: pieforms/src/pieform/renderers/table.php =================================================================== --- pieforms/src/pieform/renderers/table.php 2006-11-19 01:53:05 UTC (rev 35) +++ pieforms/src/pieform/renderers/table.php 2006-11-19 10:57:58 UTC (rev 36) @@ -121,6 +121,11 @@ removeElement(elem); } } +function {$id}_remove_all_errors() { + forEach(getElementsByTagAndClassName('TD', 'errmsg', $('$id')), function(item) { + removeElement(item.parentNode); + }); +} function {$id}_message(message, type) { var elem = $('{$id}_message'); var msg = TR({'id': '{$id}_message'}, TD({'colspan': 2, 'class': type}, message)); Modified: pieforms/src/pieform.php =================================================================== --- pieforms/src/pieform.php 2006-11-19 01:53:05 UTC (rev 35) +++ pieforms/src/pieform.php 2006-11-19 10:57:58 UTC (rev 36) @@ -852,6 +852,7 @@ var d = sendXMLHttpRequest(req,queryString(data)); d.addCallbacks( function (result) { + {$this->name}_remove_all_errors(); var data = evalJSONRequest(result); if (data.error) { {$this->name}_message(data.message, 'error'); @@ -875,25 +876,24 @@ $result .= " {$this->ajaxsuccessfunction}(data);\n"; } - foreach ($this->get_elements() as $element) { - if ($element['type'] != 'markup') { - $result .= " {$this->name}_remove_error('{$element['name']}');\n"; - } - } - - $result .= " }\n"; + $result .= " {$this->name}_remove_all_errors();\n"; + $result .= " }\n"; if (!empty($this->postajaxsubmitcallback)) { $result .= " $this->postajaxsubmitcallback();\n"; } - // @todo not with get_string! $this->i18n instead $strunknownerror = $this->i18n('ajaxunknownerror'); $strprocessingform = $this->i18n('processingform'); $result .= <<<EOF }, function() { {$this->name}_message('{$strunknownerror}', 'error'); - processingStop(); + +EOF; + if (!empty($this->postajaxsubmitcallback)) { + $result .= " $this->postajaxsubmitcallback();\n"; + } + $result .= <<<EOF }); {$this->name}_message('{$strprocessingform}', 'info'); return false; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |