X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/6746dc89c47ed01b165cc1152533605f97eb8e8d..HEAD:/src/resizer/Resizer.js diff --git a/src/resizer/Resizer.js b/src/resizer/Resizer.js index 74c827cb..d4dc0f64 100644 --- a/src/resizer/Resizer.js +++ b/src/resizer/Resizer.js @@ -13,45 +13,40 @@ If you are unsure which license is appropriate for your use, please contact the */ /** - * @class Ext.resizer.Resizer - *
Applies drag handles to an element or component to make it resizable. The - * drag handles are inserted into the element (or component's element) and - * positioned absolute.
+ * Applies drag handles to an element or component to make it resizable. The drag handles are inserted into the element + * (or component's element) and positioned absolute. * - *Textarea and img elements will be wrapped with an additional div because - * these elements do not support child nodes. The original element can be accessed - * through the originalTarget property.
+ * Textarea and img elements will be wrapped with an additional div because these elements do not support child nodes. + * The original element can be accessed through the originalTarget property. + * + * Here is the list of valid resize handles: + * + * Value Description + * ------ ------------------- + * 'n' north + * 's' south + * 'e' east + * 'w' west + * 'nw' northwest + * 'sw' southwest + * 'se' southeast + * 'ne' northeast + * 'all' all * - *Here is the list of valid resize handles:
- *-Value Description ------- ------------------- - 'n' north - 's' south - 'e' east - 'w' west - 'nw' northwest - 'sw' southwest - 'se' southeast - 'ne' northeast - 'all' all -* {@img Ext.resizer.Resizer/Ext.resizer.Resizer.png Ext.resizer.Resizer component} - *
Here's an example showing the creation of a typical Resizer:
- *
-
-
- Ext.create('Ext.resizer.Resizer', {
- el: 'elToResize',
- handles: 'all',
- minWidth: 200,
- minHeight: 100,
- maxWidth: 500,
- maxHeight: 400,
- pinned: true
- });
-
-*/
+ *
+ * Here's an example showing the creation of a typical Resizer:
+ *
+ * Ext.create('Ext.resizer.Resizer', {
+ * el: 'elToResize',
+ * handles: 'all',
+ * minWidth: 200,
+ * minHeight: 100,
+ * maxWidth: 500,
+ * maxHeight: 400,
+ * pinned: true
+ * });
+ */
Ext.define('Ext.resizer.Resizer', {
mixins: {
observable: 'Ext.util.Observable'
@@ -63,88 +58,96 @@ Ext.define('Ext.resizer.Resizer', {
handleCls: Ext.baseCSSPrefix + 'resizable-handle',
pinnedCls: Ext.baseCSSPrefix + 'resizable-pinned',
overCls: Ext.baseCSSPrefix + 'resizable-over',
- proxyCls: Ext.baseCSSPrefix + 'resizable-proxy',
wrapCls: Ext.baseCSSPrefix + 'resizable-wrap',
/**
* @cfg {Boolean} dynamic
- * Specify as true to update the {@link #target} (Element or {@link Ext.Component Component}) dynamically during dragging.
- * This is true
by default, but the {@link Ext.Component Component} class passes false
when it
- * is configured as {@link Ext.Component#resizable}.
If specified as false
, a proxy element is displayed during the resize operation, and the {@link #target}
- * is updated on mouseup.
'all'
or any of 'n s e w ne nw se sw'
.
+ * @cfg {String} handles
+ * String consisting of the resize handles to display. Defaults to 's e se' for Elements and fixed position
+ * Components. Defaults to 8 point resizing for floating Components (such as Windows). Specify either `'all'` or any
+ * of `'n s e w ne nw se sw'`.
*/
handles: 's e se',
/**
- * @cfg {Number} height Optional. The height to set target to in pixels (defaults to null)
+ * @cfg {Number} height
+ * Optional. The height to set target to in pixels
*/
height : null,
/**
- * @cfg {Number} width Optional. The width to set the target to in pixels (defaults to null)
+ * @cfg {Number} width
+ * Optional. The width to set the target to in pixels
*/
width : null,
/**
- * @cfg {Number} heightIncrement The increment to snap the height resize in pixels.
- * Defaults to 0
.
+ * @cfg {Number} heightIncrement
+ * The increment to snap the height resize in pixels.
*/
heightIncrement : 0,
/**
- * @cfg {Number} widthIncrement The increment to snap the width resize in pixels
- * Defaults to 0
.
+ * @cfg {Number} widthIncrement
+ * The increment to snap the width resize in pixels.
*/
widthIncrement : 0,
/**
- * @cfg {Number} minHeight The minimum height for the element (defaults to 20)
+ * @cfg {Number} minHeight
+ * The minimum height for the element
*/
minHeight : 20,
/**
- * @cfg {Number} minWidth The minimum width for the element (defaults to 20)
+ * @cfg {Number} minWidth
+ * The minimum width for the element
*/
minWidth : 20,
/**
- * @cfg {Number} maxHeight The maximum height for the element (defaults to 10000)
+ * @cfg {Number} maxHeight
+ * The maximum height for the element
*/
maxHeight : 10000,
/**
- * @cfg {Number} maxWidth The maximum width for the element (defaults to 10000)
+ * @cfg {Number} maxWidth
+ * The maximum width for the element
*/
maxWidth : 10000,
/**
- * @cfg {Boolean} pinned True to ensure that the resize handles are always
- * visible, false indicates resizing by cursor changes only (defaults to false)
+ * @cfg {Boolean} pinned
+ * True to ensure that the resize handles are always visible, false indicates resizing by cursor changes only
*/
pinned: false,
/**
- * @cfg {Boolean} preserveRatio True to preserve the original ratio between height
- * and width during resize (defaults to false)
+ * @cfg {Boolean} preserveRatio
+ * True to preserve the original ratio between height and width during resize
*/
preserveRatio: false,
/**
- * @cfg {Boolean} transparent True for transparent handles. This is only applied at config time. (defaults to false)
+ * @cfg {Boolean} transparent
+ * True for transparent handles. This is only applied at config time.
*/
transparent: false,
/**
- * @cfg {Mixed} constrainTo Optional. An element, or a {@link Ext.util.Region} into which the resize operation
- * must be constrained.
+ * @cfg {Ext.Element/Ext.util.Region} constrainTo
+ * An element, or a {@link Ext.util.Region Region} into which the resize operation must be constrained.
*/
possiblePositions: {
@@ -159,13 +162,13 @@ Ext.define('Ext.resizer.Resizer', {
},
/**
- * @cfg {Mixed} target The Element or Component to resize.
+ * @cfg {Ext.Element/Ext.Component} target
+ * The Element or Component to resize.
*/
/**
+ * @property {Ext.Element} el
* Outer element for resizing behavior.
- * @type Ext.core.Element
- * @property el
*/
constructor: function(config) {
@@ -255,10 +258,9 @@ Ext.define('Ext.resizer.Resizer', {
tag = me.el.dom.tagName;
if (tag == 'TEXTAREA' || tag == 'IMG') {
/**
- * Reference to the original resize target if the element of the original
- * resize target was an IMG or a TEXTAREA which must be wrapped in a DIV.
- * @type Mixed
- * @property originalTarget
+ * @property {Ext.Element/Ext.Component} originalTarget
+ * Reference to the original resize target if the element of the original resize target was an IMG or a
+ * TEXTAREA which must be wrapped in a DIV.
*/
me.originalTarget = me.target;
me.target = me.el = me.el.wrap({
@@ -281,8 +283,7 @@ Ext.define('Ext.resizer.Resizer', {
}
/**
- * @type Ext.resizer.ResizeTracker
- * @property resizeTracker
+ * @property {Ext.resizer.ResizeTracker} resizeTracker
*/
me.resizeTracker = Ext.create('Ext.resizer.ResizeTracker', {
disabled: me.disabled,
@@ -408,24 +409,23 @@ Ext.define('Ext.resizer.Resizer', {
},
/**
- * Returns the element that was configured with the el or target config property. - * If a component was configured with the target property then this will return the - * element of this component.
- *
Textarea and img elements will be wrapped with an additional div because - * these elements do not support child nodes. The original element can be accessed - * through the originalTarget property.
- * @return {Element} element + * Returns the element that was configured with the el or target config property. If a component was configured with + * the target property then this will return the element of this component. + * + * Textarea and img elements will be wrapped with an additional div because these elements do not support child + * nodes. The original element can be accessed through the originalTarget property. + * @return {Ext.Element} element */ getEl : function() { return this.el; }, /** - *Returns the element or component that was configured with the target config property.
- *
Textarea and img elements will be wrapped with an additional div because - * these elements do not support child nodes. The original element can be accessed - * through the originalTarget property.
- * @return {Element/Component} + * Returns the element or component that was configured with the target config property. + * + * Textarea and img elements will be wrapped with an additional div because these elements do not support child + * nodes. The original element can be accessed through the originalTarget property. + * @return {Ext.Element/Ext.Component} */ getTarget: function() { return this.target;