Changeset View
Changeset View
Standalone View
Standalone View
pkg/workflow.min.js
| JX.install('Mask',{statics:{_stack:[],_mask:null,_currentType:null,show:function(a){var b=JX.Mask;a=a||null;if(!b._stack.length){b._mask=JX.$N('div',{className:'jx-mask',sigil:'jx-mask'});document.body.appendChild(b._mask);}b._adjustType(a);JX.Mask._stack.push(a);},hide:function(){var b=JX.Mask;var a=b._stack.pop();b._adjustType(a);if(!b._stack.length){JX.DOM.remove(JX.Mask._mask);JX.Mask._mask=null;}},_adjustType:function(a){var b=JX.Mask;if(b._currentType){JX.DOM.alterClass(b._mask,b._currentType,false);b._currentType=null;}if(a){JX.DOM.alterClass(b._mask,a,true);b._currentType=a;}}}});JX.install('Workflow',{construct:function(b,a){this.setURI(b);this.setData(a||{});},events:['error','finally','submit'],statics:{_stack:[],newFromForm:function(b,a){var f=JX.DOM.convertFormToListOfPairs(b);for(var e in a)f.push([e,a[e]]);var d=[].concat(JX.DOM.scry(b,'input'),JX.DOM.scry(b,'button'),JX.DOM.scry(b,'textarea'));for(var c=0;c<d.length;c++)if(d[c].disabled){delete d[c];}else d[c].disabled=true;var g=new JX.Workflow(b.getAttribute('action'),{});g.setDataWithListOfPairs(f);g.setMethod(b.getAttribute('method'));g.listen('finally',function(){for(var h=0;h<d.length;h++)d[h]&&(d[h].disabled=false);});return g;},newFromLink:function(a){var b=new JX.Workflow(a.href);return b;},_push:function(a){JX.Mask.show();JX.Workflow._stack.push(a);},_pop:function(){var a=JX.Workflow._stack.pop();(a.getCloseHandler()||JX.bag)();a._destroy();JX.Mask.hide();},disable:function(){JX.Workflow._disabled=true;},_onbutton:function(event){if(JX.Stratcom.pass())return;if(JX.Workflow._disabled)return;var e=event.getNode('jx-workflow-button')||event.getNode('tag:button');if(e.name=='__cancel__'||e.name=='__close__'){JX.Workflow._pop();}else{var d=event.getNode('jx-dialog');var b=JX.DOM.convertFormToListOfPairs(d);b.push([e.name,e.value||true]);var a=JX.Workflow._getActiveWorkflow();var c=a.invoke('submit',{form:d,data:b});if(!c.getStopped()){a._destroy();a.setURI(d.getAttribute('action')||a.getURI()).setDataWithListOfPairs(b).start();}}event.prevent();},_getActiveWorkflow:function(){var a=JX.Workflow._stack;return a[a.length-1];}},members:{_root:null,_pushed:false,_data:null,_onload:function(c){if(c&&(typeof c.redirect!='undefined')){JX.$U(c.redirect).go();}else if(c&&c.dialog){this._push();this._root=JX.$N('div',{className:'jx-client-dialog'},JX.$H(c.dialog));JX.DOM.listen(this._root,'click',[['jx-workflow-button'],['tag:button']],JX.Workflow._onbutton);document.body.appendChild(this._root);var b=JX.Vector.getDim(this._root);var e=JX.Vector.getViewport();var d=JX.Vector.getScroll();JX.$V((e.x-b.x)/2,d.y+100).setPos(this._root);try{JX.DOM.focus(JX.DOM.find(this._root,'button','__default__'));var inputs=JX.DOM.scry(this._root,'input').concat(JX.DOM.scry(this._root,'textarea'));var miny=Number.POSITIVE_INFINITY;var target=null;for(var ii=0;ii<inputs.length;++ii)if(inputs[ii].type!='hidden'){var p=JX.$V(inputs[ii]);if(p.y<miny){miny=p.y;target=inputs[ii];}}target&&JX.DOM.focus(target);}catch(a){}}else if(this.getHandler()){this.getHandler()(c);this._pop();}},_push:function(){if(!this._pushed){this._pushed=true;JX.Workflow._push(this);}},_pop:function(){if(this._pushed){this._pushed=false;JX.Workflow._pop();}},_destroy:function(){if(this._root){JX.DOM.remove(this._root);this._root=null;}},start:function(){var d=this.getURI();var b=this.getMethod();var c=new JX.Request(d,JX.bind(this,this._onload));var a=this._data;a.push(['__wflow__',true]);c.setDataWithListOfPairs(a);c.setDataSerializer(this.getDataSerializer());if(b)c.setMethod(b);c.listen('finally',JX.bind(this,this.invoke,'finally'));c.listen('error',JX.bind(this,function(f){var e=this.invoke('error',f);if(e.getStopped())return;}));c.send();},setData:function(a){this._data=[];for(var b in a)this._data.push([b,a[b]]);return this;},setDataWithListOfPairs:function(a){this._data=a;return this;}},properties:{handler:null,closeHandler:null,dataSerializer:null,method:null,URI:null},initialize:function(){function a(e){if(e.getSpecialKey()!='esc')return;if(JX.Workflow._disabled)return;if(JX.Stratcom.pass())return;var b=JX.Workflow._getActiveWorkflow();if(!b)return;var c=JX.DOM.scry(b._root,'a','jx-workflow-button');if(!c.length)return;var d=null;for(var f=0;f<c.length;f++)if(c[f].name=='__cancel__'){d=c[f];break;}if(!d)return;JX.Workflow._pop();e.prevent();}JX.Stratcom.listen('keydown',null,a);}}); | JX.install('Mask',{statics:{_stack:[],_mask:null,_currentType:null,show:function(a){var b=JX.Mask;a=a||null;if(!b._stack.length){b._mask=JX.$N('div',{className:'jx-mask',sigil:'jx-mask'});document.body.appendChild(b._mask);}b._adjustType(a);JX.Mask._stack.push(a);},hide:function(){var b=JX.Mask;var a=b._stack.pop();b._adjustType(a);if(!b._stack.length){JX.DOM.remove(JX.Mask._mask);JX.Mask._mask=null;}},_adjustType:function(a){var b=JX.Mask;if(b._currentType){JX.DOM.alterClass(b._mask,b._currentType,false);b._currentType=null;}if(a){JX.DOM.alterClass(b._mask,a,true);b._currentType=a;}}}});JX.install('Workflow',{construct:function(b,a){this.setURI(b);this.setData(a||{});},events:['error','finally','submit'],statics:{_stack:[],newFromForm:function(b,a){var f=JX.DOM.convertFormToListOfPairs(b);for(var e in a)f.push([e,a[e]]);var d=[].concat(JX.DOM.scry(b,'input'),JX.DOM.scry(b,'button'),JX.DOM.scry(b,'textarea'));for(var c=0;c<d.length;c++)if(d[c].disabled){delete d[c];}else d[c].disabled=true;var g=new JX.Workflow(b.getAttribute('action'),{});g.setDataWithListOfPairs(f);g.setMethod(b.getAttribute('method'));g.listen('finally',function(){for(var h=0;h<d.length;h++)d[h]&&(d[h].disabled=false);});return g;},newFromLink:function(a){var b=new JX.Workflow(a.href);return b;},_push:function(a){JX.Mask.show();JX.Workflow._stack.push(a);},_pop:function(){var a=JX.Workflow._stack.pop();(a.getCloseHandler()||JX.bag)();a._destroy();JX.Mask.hide();},disable:function(){JX.Workflow._disabled=true;},_onbutton:function(event){if(JX.Stratcom.pass())return;if(JX.Workflow._disabled)return;var e=event.getNode('jx-workflow-button')||event.getNode('tag:button');if(e.name=='__cancel__'||e.name=='__close__'){JX.Workflow._pop();}else{var d=event.getNode('jx-dialog');var b=JX.DOM.convertFormToListOfPairs(d);b.push([e.name,e.value||true]);var a=JX.Workflow._getActiveWorkflow();var c=a.invoke('submit',{form:d,data:b});if(!c.getStopped()){a._destroy();a.setURI(d.getAttribute('action')||a.getURI()).setDataWithListOfPairs(b).start();}}event.prevent();},_getActiveWorkflow:function(){var a=JX.Workflow._stack;return a[a.length-1];}},members:{_root:null,_pushed:false,_data:null,_onload:function(c){if(c&&(typeof c.redirect!='undefined')){JX.$U(c.redirect).go();}else if(c&&c.dialog){this._push();this._root=JX.$N('div',{className:'jx-client-dialog'},JX.$H(c.dialog));JX.DOM.listen(this._root,'click',[['jx-workflow-button'],['tag:button']],JX.Workflow._onbutton);document.body.appendChild(this._root);var b=JX.Vector.getDim(this._root);var e=JX.Vector.getViewport();var d=JX.Vector.getScroll();JX.$V((e.x-b.x)/2,d.y+100).setPos(this._root);try{JX.DOM.focus(JX.DOM.find(this._root,'button','__default__'));var inputs=JX.DOM.scry(this._root,'input').concat(JX.DOM.scry(this._root,'textarea'));var miny=Number.POSITIVE_INFINITY;var target=null;for(var ii=0;ii<inputs.length;++ii)if(inputs[ii].type!='hidden'){var p=JX.$V(inputs[ii]);if(p.y<miny){miny=p.y;target=inputs[ii];}}target&&JX.DOM.focus(target);}catch(a){}}else if(this.getHandler()){this.getHandler()(c);this._pop();}},_push:function(){if(!this._pushed){this._pushed=true;JX.Workflow._push(this);}},_pop:function(){if(this._pushed){this._pushed=false;JX.Workflow._pop();}},_destroy:function(){if(this._root){JX.DOM.remove(this._root);this._root=null;}},start:function(){var d=this.getURI();var b=this.getMethod();var c=new JX.Request(d,JX.bind(this,this._onload));var a=this._data;a.push(['__wflow__',true]);c.setDataWithListOfPairs(a);c.setDataSerializer(this.getDataSerializer());if(b)c.setMethod(b);c.listen('finally',JX.bind(this,this.invoke,'finally'));c.listen('error',JX.bind(this,function(f){var e=this.invoke('error',f);if(e.getStopped())return;}));c.send();},setData:function(a){this._data=[];for(var b in a)this._data.push([b,a[b]]);return this;},setDataWithListOfPairs:function(a){this._data=a;return this;}},properties:{handler:null,closeHandler:null,dataSerializer:null,method:null,URI:null},initialize:function(){function a(e){if(e.getSpecialKey()!='esc')return;if(JX.Workflow._disabled)return;if(JX.Stratcom.pass())return;var b=JX.Workflow._getActiveWorkflow();if(!b)return;var c=JX.DOM.scry(b._root,'a','jx-workflow-button');if(!c.length)return;var d=null;for(var f=0;f<c.length;f++)if(c[f].name=='__cancel__'){d=c[f];break;}if(!d)return;JX.Workflow._pop();e.prevent();}JX.Stratcom.listen('keydown',null,a);}}); | ||||
| No newline at end of file | |||||