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