-<!DOCTYPE html><html><head><title>Sencha Documentation Project</title><link rel="stylesheet" href="../reset.css" type="text/css"><link rel="stylesheet" href="../prettify.css" type="text/css"><link rel="stylesheet" href="../prettify_sa.css" type="text/css"><script type="text/javascript" src="../prettify.js"></script></head><body onload="prettyPrint()"><pre class="prettyprint"><pre><span id='Ext-resizer.Resizer'>/**
-</span> * @class Ext.resizer.Resizer
- * <p>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.</p>
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <title>The source code</title>
+ <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
+ <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
+ <style type="text/css">
+ .highlight { display: block; background-color: #ddd; }
+ </style>
+ <script type="text/javascript">
+ function highlight() {
+ document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
+ }
+ </script>
+</head>
+<body onload="prettyPrint(); highlight();">
+ <pre class="prettyprint lang-js"><span id='Ext-resizer-Resizer'>/**
+</span> * 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.
+ *
+ * Here is the list of valid resize handles:
*
- * <p>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.</p>
+ * Value Description
+ * ------ -------------------
+ * 'n' north
+ * 's' south
+ * 'e' east
+ * 'w' west
+ * 'nw' northwest
+ * 'sw' southwest
+ * 'se' southeast
+ * 'ne' northeast
+ * 'all' all
*
- * <p>Here is the list of valid resize handles:</p>
- * <pre>
-Value Description
------- -------------------
- 'n' north
- 's' south
- 'e' east
- 'w' west
- 'nw' northwest
- 'sw' southwest
- 'se' southeast
- 'ne' northeast
- 'all' all
-</pre>
* {@img Ext.resizer.Resizer/Ext.resizer.Resizer.png Ext.resizer.Resizer component}
- * <p>Here's an example showing the creation of a typical Resizer:</p>
- * <pre><code>
- <div id="elToResize" style="width:200px; height:100px; background-color:#000000;"></div>
-
- Ext.create('Ext.resizer.Resizer', {
- el: 'elToResize',
- handles: 'all',
- minWidth: 200,
- minHeight: 100,
- maxWidth: 500,
- maxHeight: 400,
- pinned: true
- });
-</code></pre>
-*/
+ *
+ * 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'
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',
-<span id='Ext-resizer.Resizer-cfg-dynamic'> /**
+<span id='Ext-resizer-Resizer-cfg-dynamic'> /**
</span> * @cfg {Boolean} dynamic
- * <p>Specify as true to update the {@link #target} (Element or {@link Ext.Component Component}) dynamically during dragging.
- * This is <code>true</code> by default, but the {@link Ext.Component Component} class passes <code>false</code> when it
- * is configured as {@link Ext.Component#resizable}.</p>
- * <p>If specified as <code>false</code>, a proxy element is displayed during the resize operation, and the {@link #target}
- * is updated on mouseup.</p>
+ * 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.
*/
dynamic: true,
-<span id='Ext-resizer.Resizer-cfg-handles'> /**
-</span> * @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 <code>'all'</code> or any of <code>'n s e w ne nw se sw'</code>.
+<span id='Ext-resizer-Resizer-cfg-handles'> /**
+</span> * @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',
-<span id='Ext-resizer.Resizer-cfg-height'> /**
-</span> * @cfg {Number} height Optional. The height to set target to in pixels (defaults to null)
+<span id='Ext-resizer-Resizer-cfg-height'> /**
+</span> * @cfg {Number} height
+ * Optional. The height to set target to in pixels
*/
height : null,
-<span id='Ext-resizer.Resizer-cfg-width'> /**
-</span> * @cfg {Number} width Optional. The width to set the target to in pixels (defaults to null)
+<span id='Ext-resizer-Resizer-cfg-width'> /**
+</span> * @cfg {Number} width
+ * Optional. The width to set the target to in pixels
*/
width : null,
-<span id='Ext-resizer.Resizer-cfg-minHeight'> /**
-</span> * @cfg {Number} minHeight The minimum height for the element (defaults to 20)
+<span id='Ext-resizer-Resizer-cfg-heightIncrement'> /**
+</span> * @cfg {Number} heightIncrement
+ * The increment to snap the height resize in pixels.
+ */
+ heightIncrement : 0,
+
+<span id='Ext-resizer-Resizer-cfg-widthIncrement'> /**
+</span> * @cfg {Number} widthIncrement
+ * The increment to snap the width resize in pixels.
+ */
+ widthIncrement : 0,
+
+<span id='Ext-resizer-Resizer-cfg-minHeight'> /**
+</span> * @cfg {Number} minHeight
+ * The minimum height for the element
*/
minHeight : 20,
-<span id='Ext-resizer.Resizer-cfg-minWidth'> /**
-</span> * @cfg {Number} minWidth The minimum width for the element (defaults to 20)
+<span id='Ext-resizer-Resizer-cfg-minWidth'> /**
+</span> * @cfg {Number} minWidth
+ * The minimum width for the element
*/
minWidth : 20,
-<span id='Ext-resizer.Resizer-cfg-maxHeight'> /**
-</span> * @cfg {Number} maxHeight The maximum height for the element (defaults to 10000)
+<span id='Ext-resizer-Resizer-cfg-maxHeight'> /**
+</span> * @cfg {Number} maxHeight
+ * The maximum height for the element
*/
maxHeight : 10000,
-<span id='Ext-resizer.Resizer-cfg-maxWidth'> /**
-</span> * @cfg {Number} maxWidth The maximum width for the element (defaults to 10000)
+<span id='Ext-resizer-Resizer-cfg-maxWidth'> /**
+</span> * @cfg {Number} maxWidth
+ * The maximum width for the element
*/
maxWidth : 10000,
-<span id='Ext-resizer.Resizer-cfg-pinned'> /**
-</span> * @cfg {Boolean} pinned True to ensure that the resize handles are always
- * visible, false indicates resizing by cursor changes only (defaults to false)
+<span id='Ext-resizer-Resizer-cfg-pinned'> /**
+</span> * @cfg {Boolean} pinned
+ * True to ensure that the resize handles are always visible, false indicates resizing by cursor changes only
*/
pinned: false,
-<span id='Ext-resizer.Resizer-cfg-preserveRatio'> /**
-</span> * @cfg {Boolean} preserveRatio True to preserve the original ratio between height
- * and width during resize (defaults to false)
+<span id='Ext-resizer-Resizer-cfg-preserveRatio'> /**
+</span> * @cfg {Boolean} preserveRatio
+ * True to preserve the original ratio between height and width during resize
*/
preserveRatio: false,
-<span id='Ext-resizer.Resizer-cfg-transparent'> /**
-</span> * @cfg {Boolean} transparent True for transparent handles. This is only applied at config time. (defaults to false)
+<span id='Ext-resizer-Resizer-cfg-transparent'> /**
+</span> * @cfg {Boolean} transparent
+ * True for transparent handles. This is only applied at config time.
*/
transparent: false,
-<span id='Ext-resizer.Resizer-cfg-constrainTo'> /**
-</span> * @cfg {Mixed} constrainTo Optional. An element, or a {@link Ext.util.Region} into which the resize operation
- * must be constrained.
+<span id='Ext-resizer-Resizer-cfg-constrainTo'> /**
+</span> * @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: {
ne: 'northeast'
},
-<span id='Ext-resizer.Resizer-cfg-target'> /**
-</span> * @cfg {Mixed} target The Element or Component to resize.
+<span id='Ext-resizer-Resizer-cfg-target'> /**
+</span> * @cfg {Ext.Element/Ext.Component} target
+ * The Element or Component to resize.
*/
-<span id='Ext-resizer.Resizer-property-el'> /**
-</span> * Outer element for resizing behavior.
- * @type Ext.core.Element
- * @property el
+<span id='Ext-resizer-Resizer-property-el'> /**
+</span> * @property {Ext.Element} el
+ * Outer element for resizing behavior.
*/
constructor: function(config) {
pos;
this.addEvents(
-<span id='Ext-resizer.Resizer-event-beforeresize'> /**
+<span id='Ext-resizer-Resizer-event-beforeresize'> /**
</span> * @event beforeresize
* Fired before resize is allowed. Return false to cancel resize.
* @param {Ext.resizer.Resizer} this
* @param {Ext.EventObject} e The mousedown event
*/
'beforeresize',
-<span id='Ext-resizer.Resizer-event-resizedrag'> /**
+<span id='Ext-resizer-Resizer-event-resizedrag'> /**
</span> * @event resizedrag
* Fires during resizing. Return false to cancel resize.
* @param {Ext.resizer.Resizer} this
* @param {Ext.EventObject} e The mousedown event
*/
'resizedrag',
-<span id='Ext-resizer.Resizer-event-resize'> /**
+<span id='Ext-resizer-Resizer-event-resize'> /**
</span> * @event resize
* Fired after a resize.
* @param {Ext.resizer.Resizer} this
// be wrapped
tag = me.el.dom.tagName;
if (tag == 'TEXTAREA' || tag == 'IMG') {
-<span id='Ext-resizer.Resizer-property-originalTarget'> /**
-</span> * 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
+<span id='Ext-resizer-Resizer-property-originalTarget'> /**
+</span> * @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({
me.el.addCls(me.pinnedCls);
}
-<span id='Ext-resizer.Resizer-property-resizeTracker'> /**
-</span> * @type Ext.resizer.ResizeTracker
- * @property resizeTracker
+<span id='Ext-resizer-Resizer-property-resizeTracker'> /**
+</span> * @property {Ext.resizer.ResizeTracker} resizeTracker
*/
me.resizeTracker = Ext.create('Ext.resizer.ResizeTracker', {
disabled: me.disabled,
delegate: '.' + me.handleCls,
dynamic: me.dynamic,
preserveRatio: me.preserveRatio,
+ heightIncrement: me.heightIncrement,
+ widthIncrement: me.widthIncrement,
minHeight: me.minHeight,
maxHeight: me.maxHeight,
minWidth: me.minWidth,
this.resizeTracker.enable();
},
-<span id='Ext-resizer.Resizer-method-onBeforeResize'> /**
+<span id='Ext-resizer-Resizer-method-onBeforeResize'> /**
</span> * @private Relay the Tracker's mousedown event as beforeresize
* @param tracker The Resizer
* @param e The Event
return this.fireEvent('beforeresize', this, b.width, b.height, e);
},
-<span id='Ext-resizer.Resizer-method-onResize'> /**
+<span id='Ext-resizer-Resizer-method-onResize'> /**
</span> * @private Relay the Tracker's drag event as resizedrag
* @param tracker The Resizer
* @param e The Event
return me.fireEvent('resizedrag', me, b.width, b.height, e);
},
-<span id='Ext-resizer.Resizer-method-onResizeEnd'> /**
+<span id='Ext-resizer-Resizer-method-onResizeEnd'> /**
</span> * @private Relay the Tracker's dragend event as resize
* @param tracker The Resizer
* @param e The Event
return me.fireEvent('resize', me, b.width, b.height, e);
},
-<span id='Ext-resizer.Resizer-method-resizeTo'> /**
+<span id='Ext-resizer-Resizer-method-resizeTo'> /**
</span> * Perform a manual resize and fires the 'resize' event.
* @param {Number} width
* @param {Number} height
this.fireEvent('resize', this, width, height, null);
},
-<span id='Ext-resizer.Resizer-method-getEl'> /**
-</span> * <p>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.<p>
- * <p>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.</p>
- * @return {Element} element
+<span id='Ext-resizer-Resizer-method-getEl'> /**
+</span> * 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;
},
-<span id='Ext-resizer.Resizer-method-getTarget'> /**
-</span> * <p>Returns the element or component that was configured with the target config property.<p>
- * <p>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.</p>
- * @return {Element/Component}
+<span id='Ext-resizer-Resizer-method-getTarget'> /**
+</span> * 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;
}
},
-<span id='Ext-resizer.Resizer-method-forceHandlesHeight'> /**
+<span id='Ext-resizer-Resizer-method-forceHandlesHeight'> /**
</span> * @private
* Fix IE6 handle height issue.
*/
var me = this,
handle;
if (Ext.isIE6) {
- handle = me.east;
+ handle = me.east;
if (handle) {
handle.setHeight(me.el.getHeight());
}
- handle = me.west;
+ handle = me.west;
if (handle) {
handle.setHeight(me.el.getHeight());
}
}
}
});
-</pre></pre></body></html>
\ No newline at end of file
+</pre>
+</body>
+</html>