| 12 |
- AUI.add("aui-dialog",function(p){var ad=p.Lang,u=p.Object,J=ad.isBoolean,B=ad.isArray,O=ad.isObject,k=ad.toInt,D=p.WidgetStdMod,L=p.config.doc,t="",V="boundingBox",Y="button",c="buttons",T="clickoutside",W="close",P="closethick",K="constrain2view",U="data-tabindex",d="dd",X="destroyOnClose",w="dialog",x=".",C="dragConfig",Z=5,m="dragInstance",o="draggable",g="focusoutside",h="footerContent",R="hd",I="height",G="icon",b="icons",s="io",v="loading",z="modal",ab="proxy",e="resizable",F="resizableConfig",n="resizableInstance",E="stack",Q="tabIndex",j="useARIA",N="viewportRegion",aa="visible",f="width",ac="zIndex",q="resize:resize",M="resize:end",i=p.getClassName,y=i(w),a=i(w,R),H=L.createTextNode("");var r=function(A){if(!p.DialogMask){p.DialogMask=new p.OverlayMask({visible:true}).render();}};p.mix(r,{ATTRS:{bodyContent:{value:H},buttons:{validator:B,value:[]},close:{value:true},constrain2view:{setter:"_setConstrain2view",validator:J,value:false},destroyOnClose:{validator:J,value:false},dragConfig:{setter:function(ae){var A=this;return p.merge({bubbleTargets:A,handles:[x+a],node:A.get(V)},ae||{});},validator:O,value:{},writeOnce:true},draggable:{value:true},dragInstance:{setter:"_setDragInstance",value:null},focusOn:{validator:p.Lang.isArray,valueFn:function(){return[{eventName:T},{eventName:g}];}},modal:{lazyAdd:false,validator:J,value:false},resizable:{value:true},resizableConfig:{setter:function(ae){var A=this;return p.merge({after:{end:p.bind(A._syncResizableDimentions,A),resize:p.bind(A._syncResizableDimentions,A)},bubbleTargets:A,constrain2view:true,handles:"r,br,b",minHeight:100,minWidth:200,node:A.get(V),proxy:true},ae||{});},validator:O,value:{},writeOnce:true},resizableInstance:{setter:"_setResizableInstance",value:null},stack:{setter:function(A){return this._setStack(A);},validator:J,value:true},strings:{value:{close:"Close dialog"}}},NAME:w});r.prototype={_uiHandlesModal:null,initializer:function(af){var A=this;var ai=A.get(c);var aj=A.get(W);var ah=A.get(b);if(ai&&ai.length&&!A.get(h)){A.set(h,H);}if(aj){var ag=p.guid();var ae={handler:{context:A,fn:A.close},icon:P,id:ag,title:A.get("strings").close};if(ah){ah.push(ae);}A.set(b,ah);A._closeId=ag;}A.publish("close",{defaultFn:A._close});A.addTarget(p.DialogManager);A.after("constrain2viewChange",A._afterConstrain2viewChange);A.after("drag:start",A._afterDragStart);A.after("draggableChange",A._afterDraggableChange);A.after("dragInstanceChange",A._afterDragInstanceChange);A.after("render",A._afterRenderer);A.after("resizableChange",A._afterResizableChange);A.after("resizableInstanceChange",A._afterResizableInstanceChange);},bindUI:function(){var A=this;if(A.get(z)){A.after("focusOnChange",A._afterFocusOnChange());}A._bindLazyComponents();},syncUI:function(){var A=this;if(A.get(j)){A.plug(p.Plugin.Aria,{attributes:{visible:{ariaName:"hidden",format:function(ae){return !ae;}}}});}},destructor:function(){var A=this;p.Event.purgeElement(A.get(V),true);p.DialogManager.remove(A);},alignToViewport:function(ah,ag){var ae=this;var ai=p.getDoc().get(N);var af=ai.left+k(ah);var A=ai.top+k(ag);ae.move([af,A]);},close:function(){var A=this;A.fire("close");},_afterConstrain2viewChange:function(ae){var A=this;A._updateDDConstrain2view(A.get(m));},_afterDraggableChange:function(ae){var A=this;A.set(m,null);},_afterDragInstanceChange:function(ae){var A=this;var af=ae.prevVal;if(af){af.destroy();}},_afterDragStart:function(A){var am=this;var ai=am.get(K);if(!ai){var al=am.get(m);var ag=al.get("dragNode");var af=ag.get("region");var ah=ag.get("viewportRegion");var ak=[0,0];var ae=al.deltaXY||ak;var aj=al.mouseXY||ak;al.plug(p.Plugin.DDConstrained,{constrain:{bottom:ah.bottom+(af.height-ae[1])-Z,left:ah.left-ae[0]+Z,right:ah.right+(af.right-aj[0])+Z,top:ah.top-ae[1]+Z}});}},_afterFocusOnChange:function(ae){var A=this;A._detachUIHandlesModal();if(A.get(aa)){A._attachUIHandlesModal();}},_afterRenderer:function(ae){var A=this;A._initButtons();A.get(E);A.get(s);},_afterResizableChange:function(ae){var A=this;A.set(n,null);},_afterResizableInstanceChange:function(ae){var A=this;var af=ae.prevVal;if(af){af.destroy();}},_attachUIHandlesModal:function(){var aj=this;var af=aj.get(V);var al=aj.get("focusOn");var ah=aj.get("maskNode");var am=p.bind(aj._focus,aj);var A=[];for(var ag=0;ag<al.length;ag++){var ai=al[ag].eventName;var ak=al[ag].keyCode;var ae=al[ag].node;if(!ae&&!ak&&ai){A.push(af.on(ai,am));}else{if(ae&&!ak&&ai){A.push(ae.on(ai,am));}else{if(ae&&ak&&ai){A.push(ae.on(ai,am,ak));}else{p.log('focusOn ATTR Error: The event with name "'+ai+'" could not be attached.');}}}}aj._uiHandlesModal=A;},_bindLazyComponents:function(){var A=this;var ae=A.get(V);ae.on("mouseenter",p.bind(A._initLazyComponents,A));},_close:function(){var A=this;if(A.get(X)){A.destroy();}else{A.hide();}},_detachUIHandlesModal:function(){var A=this;p.each(A._uiHandlesModal,function(ae){ae.detach();});A._uiHandlesModal=null;},_focus:function(ag){var A=this;var af=A.get(V);var ae=af.get("tabIndex");af.set("tabIndex",ae>=0?ae:0);A.focus();},_initButtons:function(){var A=this;var af=A.get(c);if(af.length){var ae=new p.Toolbar({children:af});ae._DEFAULT_CONTEXT=A;ae.render(A.footerNode);A.fire("contentUpdate");A.buttons=ae;}},_initLazyComponents:function(){var A=this;A.get(m);A.get(n);},_setDefaultARIAValues:function(){var A=this;var ae=A.icons;if(!A.get(j)){return;}A.aria.setRole("dialog",A.get(V));if(ae){var af=ae.item(A._closeId)||null;if(af){A.aria.setAttribute("controls",A.get("id"),af.get(V));}}},_setDragInstance:function(ae){var A=this;if(A.get(o)){ae=new p.DD.Drag(A.get(C));A._updateDDConstrain2view(ae);}return ae;},_setResizableInstance:function(ae){var A=this;if(A.get(e)){ae=new p.Resize(A.get(F));}return ae;},_setStack:function(ae){var A=this;if(ae){p.DialogManager.register(A);}else{p.DialogManager.remove(A);}return ae;},_syncResizableDimentions:function(af){var A=this;var ag=af.info;var ae=af.type;if((ae===M)||((ae===q)&&!af.currentTarget.get(ab))){A.set(I,ag.offsetHeight);A.set(f,ag.offsetWidth);
- }},_updateDDConstrain2view:function(ae){var A=this;ae.plug(p.Plugin.DDConstrained,{constrain2view:A.get(K)});}};p.Dialog=p.Component.create({AUGMENTS:[r,p.WidgetPosition,p.WidgetStack,p.WidgetPositionAlign,p.WidgetPositionConstrain],EXTENDS:p.Panel,NAME:w});var l=new p.OverlayManager({zIndexBase:1000});var S={};l._MODALS=S;l.after(["dialog:destroy","dialog:modalChange","dialog:render","dialog:visibleChange"],function(ae){var A=ae.target;if(A){var af=A.get("id");if(ae.type!=="dialog:destroy"&&A.get("visible")&&A.get("modal")){S[af]=true;p.DialogMask.show();l._blockIFrameFocus();}else{delete S[af];if(u.isEmpty(S)){p.DialogMask.hide();l._unblockIFrameFocus();}}}});p.mix(l,{closeByChild:function(A){return l.findByChild(A).close();},findByChild:function(A){return p.Widget.getByNode(p.one(A).ancestor(x+y,true));},refreshByChild:function(ae){var A=l.findByChild(ae);if(A&&A.io){A.io.start();}},_blockIFrameFocus:function(){p.all("iframe").each(function(){if(this.ancestor(x+y)===null){if(!this.hasAttribute(U)){this.setAttribute(U,this.get(Q));}this.set(Q,-1);}});},_unblockIFrameFocus:function(){p.all("iframe").each(function(){if(this.hasAttribute(U)){this.set(Q,this.getAttribute(U));}});}});p.DialogManager=l;},"@VERSION@",{requires:["aui-panel","dd-constrain","aui-button-item","aui-overlay-manager","aui-overlay-mask","aui-io-plugin","aui-resize"],skinnable:true});
|