ObservableResizable
| Package: | CQ.Ext |
| Class: | Resizable |
| Extends: | CQ.Ext.util.Observable |
| Clientlib: | cq.widgets |
Applies drag handles to an element to make it resizable. The drag handles are inserted into the element and positioned absolute. Some elements, such as a textarea or image, don't support this. To overcome that, you can wrap the textarea in a div and set 'resizeChild' to true (or to the id of the element), or set wrap:true in your config and the element will be wrapped for you automatically.
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's an example showing the creation of a typical Resizable:
var resizer = new CQ.Ext.Resizable('element-id', {
handles: 'all',
minWidth: 200,
minHeight: 100,
maxWidth: 500,
maxHeight: 400,
pinned: true
});
resizer.on('resize', myHandler);
To hide a particular handle, set its display to none in CSS, or through script:
resizer.east.setDisplayed(false);
| Config Options | Defined By | |
|---|---|---|
|
adjustments : Array/String String 'auto' or an array [width, height] with values to be added to the resize operation's new size (defaults to [0,...
String 'auto' or an array [width, height] with values to be added to the resize operation's new size (defaults to [0, 0])
|
Resizable | |
|
animate : Boolean
True to animate the resize (not compatible with dynamic sizing, defaults to false)
|
Resizable | |
|
constrainTo : Mixed
Constrain the resize to a particular element
|
Resizable | |
|
disableTrackOver : Boolean
True to disable mouse tracking. This is only applied at config time. (defaults to false)
|
Resizable | |
|
draggable : Boolean
Convenience to initialize drag drop (defaults to false)
|
Resizable | |
|
duration : Number
Animation duration if animate = true (defaults to 0.35)
|
Resizable | |
|
dynamic : Boolean
True to resize the element while dragging instead of using a proxy (defaults to false)
|
Resizable | |
|
easing : String Animation easing if animate = true (defaults to 'easingOutStrong')
Animation easing if animate = true (defaults to 'easingOutStrong')
|
Resizable | |
|
enabled : Boolean
False to disable resizing (defaults to true)
|
Resizable | |
|
handleCls : String A css class to add to each handle. Defaults to ''.
A css class to add to each handle. Defaults to ''.
|
Resizable | |
|
handles : String String consisting of the resize handles to display (defaults to undefined). Specify either 'all' or any of 'n s e w n...
String consisting of the resize handles to display (defaults to undefined). Specify either 'all' or any of 'n s e w ne nw se sw'.
|
Resizable | |
|
height : Number
The height of the element in pixels (defaults to null)
|
Resizable | |
|
heightIncrement : Number The increment to snap the height resize in pixels (only applies if dynamic==true). Defaults to 0.
The increment to snap the height resize in pixels (only applies if
dynamic==true). Defaults to 0. |
Resizable | |
|
maxHeight : Number
The maximum height for the element (defaults to 10000)
|
Resizable | |
|
maxWidth : Number
The maximum width for the element (defaults to 10000)
|
Resizable | |
|
minHeight : Number
The minimum height for the element (defaults to 5)
|
Resizable | |
|
minWidth : Number
The minimum width for the element (defaults to 5)
|
Resizable | |
|
minX : Number
The minimum x for the element (defaults to 0)
|
Resizable | |
|
minY : Number
The minimum x for the element (defaults to 0)
|
Resizable | |
|
multiDirectional : Boolean Deprecated. Deprecated style of adding multi-direction resize handles.
Deprecated. Deprecated style of adding multi-direction resize handles.
|
Resizable | |
|
pinned : Boolean True to ensure that the resize handles are always visible, false to display them only when the user mouses over the r...
True to ensure that the resize handles are always visible, false to display them only when the user mouses over the resizable borders. This is only applied at config time. (defaults to false)
|
Resizable | |
|
preserveRatio : Boolean
True to preserve the original ratio between height and width during resize (defaults to false)
|
Resizable | |
|
resizeChild : Boolean/String/Element
True to resize the first child, or id/element to resize (defaults to false)
|
Resizable | |
|
resizeRegion : CQ.Ext.lib.Region
Constrain the resize to a particular region
|
Resizable | |
|
transparent : Boolean
True for transparent handles. This is only applied at config time. (defaults to false)
|
Resizable | |
|
width : Number
The width of the element in pixels (defaults to null)
|
Resizable | |
|
widthIncrement : Number The increment to snap the width resize in pixels (only applies if dynamic==true). Defaults to 0.
The increment to snap the width resize in pixels (only applies if
dynamic==true). Defaults to 0. |
Resizable | |
|
wrap : Boolean True to wrap an element with a div if needed (required for textareas and images, defaults to false) in favor of the h...
True to wrap an element with a div if needed (required for textareas and images, defaults to false) in favor of the handles config option (defaults to false)
|
Resizable | |
| Property | Defined By | |
|---|---|---|
|
proxy : CQ.Ext.Element. The proxy Element that is resized in place of the real Element during the resize operation.
This may be queried using...
The proxy Element that is resized in place of the real Element during the resize operation.
This may be queried using CQ.Ext.Element.getBox to provide the new area to resize to.
Read only.
|
Resizable | |
| Method | Defined By | |
|---|---|---|
Resizable( Mixed el, Object config ) Create a new resizable component
Create a new resizable component
Parameters:
|
Resizable | |
destroy( [Boolean removeEl] ) : void Destroys this resizable. If the element was wrapped and
removeEl is not true then the element remains.
Destroys this resizable. If the element was wrapped and
removeEl is not true then the element remains.
Parameters:
|
Resizable | |
enableBubble( String/Array events ) : void Enables events fired by this Observable to bubble up an owner hierarchy by calling
this.getBubbleTarget() if present....
Enables events fired by this Observable to bubble up an owner hierarchy by calling
This is commonly used by CQ.Ext.Components to bubble events to owner Containers. See CQ.Ext.Component.getBubbleTarget. The default implementation in CQ.Ext.Component returns the Component's immediate owner. But if a known target is required, this can be overridden to access the required target more quickly. Example:
Parameters:
|
Observable | |
|
getEl() : CQ.Ext.Element Returns the element this component is bound to.
Returns the element this component is bound to.
Parameters:
|
Resizable | |
|
getResizeChild() : CQ.Ext.Element Returns the resizeChild element (or null).
Returns the resizeChild element (or null).
Parameters:
|
Resizable | |
relayEvents( Object o, Array events ) : void Relays selected events from the specified Observable as if the events were fired by this.
Relays selected events from the specified Observable as if the events were fired by this.
Parameters:
|
Observable | |
|
resizeElement() : void Performs resizing of the associated Element. This method is called internally by this
class, and should not be called...
Performs resizing of the associated Element. This method is called internally by this class, and should not be called by user code. If a Resizable is being used to resize an Element which encapsulates a more complex UI component such as a Panel, this method may be overridden by specifying an implementation as a config option to provide appropriate behaviour at the end of the resize operation on mouseup, for example resizing the Panel, and relaying the Panel's content. The new area to be resized to is available by examining the state of the proxy Element. Example:
Parameters:
|
Resizable | |
resizeTo( Number width, Number height ) : void
Perform a manual resize and fires the 'resize' event.
Perform a manual resize and fires the 'resize' event.
Parameters:
|
Resizable | |