forked from kissyteam/kissy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
overlay-min.js
19 lines (19 loc) · 5.56 KB
/
overlay-min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*
Copyright 2012, KISSY UI Library v1.30dev
MIT Licensed
build time: May 15 20:45
*/
KISSY.add("overlay/aria",function(c,b){function d(){}d.ATTRS={aria:{view:!0}};d.prototype={__bindUI:function(){var c=this,e=c.get("el");if(c.get("aria"))e.on("keydown",function(a){a.keyCode===b.KeyCodes.ESC&&(c.hide(),a.halt())})}};return d},{requires:["event"]});
KISSY.add("overlay/ariarender",function(c,b){function d(){}function f(g){var c=g.keyCode,b=this.get("el");if(c==a){var c=e(g.target),d=this.__ariaArchor;if(c.equals(b)&&g.shiftKey)d[0].focus(),g.halt();else if(c.equals(d)&&!g.shiftKey)b[0].focus(),g.halt();else if(c.equals(b)||b.contains(c))return;g.halt()}}var e=b.all,a=b.KeyCodes.TAB;d.prototype={__renderUI:function(){var a=this.get("el"),b=this.get("header");this.get("aria")&&(a.attr("role","dialog"),a.attr("tabindex",0),b.attr("id")||b.attr("id",
c.guid("ks-dialog-header")),a.attr("aria-labelledby",b.attr("id")),this.__ariaArchor=e("<div tabindex='0'></div>").appendTo(a))},__bindUI:function(){var a=this;if(a.get("aria")){var c=a.get("el"),b;a.on("afterVisibleChange",function(d){d.newVal?(b=c[0].ownerDocument.activeElement,c[0].focus(),c.attr("aria-hidden","false"),c.on("keydown",f,a)):(c.attr("aria-hidden","true"),c.detach("keydown",f,a),b&&b.focus())})}}};return d},{requires:["node"]});
KISSY.add("overlay/base",function(c,b,d,f,e){function a(a){return c.require("uibase/"+a)}b=b.create(d.Controller,[a("contentbox"),a("position"),a("loading"),a("align"),a("close"),a("resize"),a("mask"),e],{},{ATTRS:{focusable:{value:!1},closable:{value:!1},handleMouseEvents:{value:!1},visibleMode:{value:"visibility"}}});b.DefaultRender=f;d.UIStore.setUIConstructorByCssClass("overlay",{priority:d.UIStore.PRIORITY.LEVEL1,ui:b});return b},{requires:["uibase","component","./overlayrender","./effect"]});
KISSY.add("overlay/dialog",function(c,b,d,f,e,a){c=f.create(d,[c.require("uibase/stdmod"),c.require("uibase/drag"),c.require("uibase/constrain"),a],{},{ATTRS:{closable:{value:!0},handlers:{valueFn:function(){var a=this;return[function(){return a.get("view").get("header")}]}}}});c.DefaultRender=e;b.UIStore.setUIConstructorByCssClass("dialog",{priority:b.UIStore.PRIORITY.LEVEL2,ui:c});return c},{requires:["component","overlay/base","uibase","overlay/dialogrender","./aria"]});
KISSY.add("overlay/dialogrender",function(c,b,d,f){return b.create(d,[c.require("uibase/stdmodrender"),f])},{requires:["uibase","./overlayrender","./ariarender"]});
KISSY.add("overlay/effect",function(c){function b(){}function d(c,b){var d=c.get("el"),h=c.get("effect"),i=h.effect,k=h.duration,h=h.easing;if(i!=f){var j=b?1:0;d.stop(1,1);d.css({visibility:"visible",display:a[j]});d[i+e[i][j]](k,function(){d.css({display:a[0],visibility:b?"visible":"hidden"})},h)}}var f="none",e={fade:["Out","In"],slide:["Up","Down"]},a=["block","none"];b.ATTRS={effect:{value:{effect:f,duration:0.5,easing:"easeOut"},setter:function(a){var b=a.effect;c.isString(b)&&!e[b]&&(a.effect=
f)}}};b.prototype={__bindUI:function(){var a=this;a.on("hide",function(){d(a,0)});a.on("show",function(){d(a,1)})}};return b},{requires:["anim"]});KISSY.add("overlay",function(c,b,d,f,e,a){b.Render=d;f.Render=e;b.Dialog=f;c.Dialog=f;b.Popup=a;return c.Overlay=b},{requires:["overlay/base","overlay/overlayrender","overlay/dialog","overlay/dialogrender","overlay/popup"]});
KISSY.add("overlay/overlayrender",function(c,b,d,f){function e(a){return c.require("uibase/"+a)}return d.create(f.Render,[e("contentboxrender"),e("positionrender"),e("loadingrender"),6===b.ie?e("shimrender"):null,e("closerender"),e("maskrender")])},{requires:["ua","uibase","component"]});
KISSY.add("overlay/popup",function(c,b,d,f,e){b=b.create(f,[],{initializer:function(){var a=this;a.get("trigger")&&("mouse"===a.get("triggerType")?(a._bindTriggerMouse(),a.on("bindUI",function(){a._bindContainerMouse()})):a._bindTriggerClick())},_bindTriggerMouse:function(){var a=this,b=a.get("trigger"),d;a.__mouseEnterPopup=function(b){a._clearHiddenTimer();d=c.later(function(){a._showing(b);d=e},1E3*a.get("mouseDelay"))};c.each(b,function(b){c.one(b).on("mouseenter",a.__mouseEnterPopup)});a._mouseLeavePopup=
function(){d&&(d.cancel(),d=e);a._setHiddenTimer()};c.each(b,function(b){c.one(b).on("mouseleave",a._mouseLeavePopup)})},_bindContainerMouse:function(){this.get("el").on("mouseleave",this._setHiddenTimer,this).on("mouseenter",this._clearHiddenTimer,this)},_setHiddenTimer:function(){var a=this;a._hiddenTimer=c.later(function(){a._hiding()},1E3*a.get("mouseDelay"))},_clearHiddenTimer:function(){this._hiddenTimer&&(this._hiddenTimer.cancel(),this._hiddenTimer=e)},_bindTriggerClick:function(){var a=this;
a.__clickPopup=function(b){b.halt();if(a.get("toggle"))a[a.get("visible")?"_hiding":"_showing"](b);else a._showing(b)};c.each(a.get("trigger"),function(b){c.one(b).on("click",a.__clickPopup)})},_showing:function(a){this.set("currentTrigger",c.one(a.target));this.show()},_hiding:function(){this.set("currentTrigger",e);this.hide()},destructor:function(){var a=this,b,c=a.get("trigger");c&&(a.__clickPopup&&c.each(function(b){b.detach("click",a.__clickPopup)}),a.__mouseEnterPopup&&c.each(function(b){b.detach("mouseenter",
a.__mouseEnterPopup)}),a._mouseLeavePopup&&c.each(function(b){b.detach("mouseleave",a._mouseLeavePopup)}));(b=a.get("el"))&&b.detach("mouseleave",a._setHiddenTimer,a).detach("mouseenter",a._clearHiddenTimer,a)}},{ATTRS:{trigger:{setter:function(a){c.isString(a)&&(a=c.all(a));return a}},triggerType:{value:"click"},currentTrigger:{},mouseDelay:{value:0.1},toggle:{value:!1}}});d.UIStore.setUIConstructorByCssClass("popup",{priority:d.UIStore.PRIORITY.LEVEL2,ui:b});return b},{requires:["uibase","component",
"./base"]});