1 /**
  2  * @fileOverview resize extension using resizable
  3  * @author yiminghe@gmail.com
  4  */
  5 KISSY.add("component/uibase/resize", function (S) {
  6 
  7     /**
  8      * @name Resize
  9      * @class
 10      * Resizable extension class.
 11      * Make component resizable
 12      * @memberOf Component.UIBase
 13      */
 14     function Resize() {
 15     }
 16 
 17     Resize.ATTRS =
 18     /**
 19      * @lends Component.UIBase.Resize.prototype
 20      */
 21     {
 22         /**
 23          * Resizable configuration.
 24          * See {@link Resizable}
 25          * @example
 26          * <code>
 27          *  {
 28          *    minWidth:100,
 29          *    maxWidth:1000,
 30          *    minHeight:100,
 31          *    maxHeight:1000,
 32          *    handlers:["b","t","r","l","tr","tl","br","bl"]
 33          *  }
 34          * </code>
 35          * @type Object
 36          */
 37         resize:{
 38             value:{
 39             }
 40         }
 41     };
 42 
 43     Resize.prototype = {
 44         __destructor:function () {
 45             var r = this.resizer;
 46             r && r.destroy();
 47         },
 48         _uiSetResize:function (v) {
 49             var Resizable = S.require("resizable"),
 50                 self = this;
 51             self.resizer && self.resizer.destroy();
 52             if (Resizable && v) {
 53                 v.node = self.get("el");
 54                 self.resizer = new Resizable(v);
 55             }
 56         }
 57     };
 58 
 59 
 60     return Resize;
 61 });