1 /**
  2  * @fileOverview mask extension for kissy
  3  * @author yiminghe@gmail.com
  4  */
  5 KISSY.add("component/uibase/mask", function () {
  6 
  7     /**
  8      * @name Mask
  9      * @class
 10      * Mask extension class.
 11      * Make component to be able to show with mask.
 12      * @memberOf Component.UIBase
 13      */
 14     function Mask() {
 15     }
 16 
 17     Mask.ATTRS =
 18     /**
 19      * @lends Component.UIBase.Mask#
 20      */
 21     {
 22         /**
 23          * Whether show mask layer when component shows
 24          * @type Boolean
 25          */
 26         mask:{
 27             value:false
 28         },
 29         /**
 30          * Mask node for current overlay 's mask.
 31          * @type {NodeList}
 32          */
 33         maskNode:{
 34             view:1
 35         },
 36         /**
 37          * Whether to share mask with other overlays.
 38          * Default: true.
 39          * @type {Boolean}
 40          */
 41         maskShared:{
 42             view:1
 43         }
 44     };
 45 
 46     Mask.prototype = {
 47 
 48         __bindUI:function () {
 49             var self = this,
 50                 view = self.get("view"),
 51                 _maskExtShow = view._maskExtShow,
 52                 _maskExtHide = view._maskExtHide;
 53             if (self.get("mask")) {
 54                 self.on("show", _maskExtShow, view);
 55                 self.on("hide", _maskExtHide, view);
 56             }
 57         }
 58     };
 59 
 60 
 61     return Mask;
 62 }, {requires:["ua"]});