1 /** 2 * @fileOverview model and control for overlay 3 * @author yiminghe@gmail.com 4 */ 5 KISSY.add("overlay/base", function (S, Component, OverlayRender, Effect) { 6 7 function require(s) { 8 return S.require("component/uibase/" + s); 9 } 10 11 /** 12 * @class 13 * KISSY Overlay Component. 14 * xclass: 'overlay'. 15 * @name Overlay 16 * @extends Component.Controller 17 * @extends Component.UIBase.ContentBox 18 * @extends Component.UIBase.Position 19 * @extends Component.UIBase.Loading 20 * @extends Component.UIBase.Align 21 * @extends Component.UIBase.Close 22 * @extends Component.UIBase.Resize 23 * @extends Component.UIBase.Mask 24 */ 25 var Overlay = Component.Controller.extend([ 26 require("contentbox"), 27 require("position"), 28 require("loading"), 29 require("align"), 30 require("close"), 31 require("resize"), 32 require("mask"), 33 Effect 34 ], 35 /** 36 * @lends Overlay# 37 */ 38 { 39 /** 40 * see {@link Component.UIBase.Box#show} 41 * @function 42 * @name Overlay#show 43 */ 44 }, { 45 ATTRS:/** 46 * @lends Overlay# 47 */ 48 { 49 /** 50 * whether this component can be focused. Default:false 51 * @type Boolean 52 */ 53 focusable:{ 54 value:false 55 }, 56 57 /** 58 * whether this component can be closed. Default:false 59 * @type Boolean 60 */ 61 closable:{ 62 value:false 63 }, 64 65 /** 66 * whether this component can be responsive to mouse. Default:false 67 * @type Boolean 68 */ 69 handleMouseEvents:{ 70 value:false 71 }, 72 73 /** 74 * see {@link Component.UIBase.Box#visibleMode}. Default:"visibility" 75 */ 76 visibleMode:{ 77 value:"visibility" 78 }, 79 xrender:{ 80 value:OverlayRender 81 } 82 } 83 }, { 84 xclass:'overlay', 85 priority:10 86 }); 87 88 return Overlay; 89 }, { 90 requires:['component', './overlayRender', './effect'] 91 });