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 });