Print Friendly

# Class Ext.SplitBar

Package: | Ext
Class: | SplitBar
Extends: | Observable
Defined In: | SplitBar.js

Creates draggable splitter bar functionality from two elements.
Usage:

    var split = new Ext.SplitBar("elementToDrag", "elementToSize",
                       Ext.SplitBar.HORIZONTAL, Ext.SplitBar.LEFT);
    split.setAdapter(new Ext.SplitBar.AbsoluteLayoutAdapter("container"));
    split.minSize = 100;
    split.maxSize = 600;
    split.animate = true;
    split.on('moved', splitterMoved);

Properties - Methods - Events

## Public Properties

Property | Defined By
--- | ---
| animate : Boolean | SplitBar
Whether to animate the transition to the new size
| maxSize : Number | SplitBar
The maximum size of the resizing element. (Defaults to 2000)
| minSize : Number | SplitBar
The minimum size of the resizing element. (Defaults to 0)
| useShim : Boolean | SplitBar
Whether to create a transparent shim that overlays the page when dragging, enables dragging across iframes.

## Public Methods

Method | Defined By
--- | ---
| SplitBar(`String/HTMLElement/Element dragElement`, `String/HTMLElement/Element resizingElement`, [`Number orientation`], [`Number placement`]) | SplitBar
Create a new SplitBar
| addEvents(`Object object`) : void | Observable
Copies any events from the passed object onto this object if they do not already exist. The passed object must also ...
| addListener(`String eventName`, `Function handler`, [`Object scope`], [`Object options`]) : void | Observable
Appends an event handler to this component
| destroy(`Boolean removeEl`) : void | SplitBar
Destroy this splitbar.
| fireEvent(`String eventName`, `Object... args`) : Boolean | Observable
Fires the specified event with the passed parameters (minus the event name).
| getAdapter() : The | SplitBar
Get the adapter this SplitBar uses
| getMaximumSize() : Number | SplitBar
Gets the maximum size for the resizing element
| getMinimumSize() : Number | SplitBar
Gets the minimum size for the resizing element
| hasListener(`String eventName`) : Boolean | Observable
Checks to see if this object is currently listening for a specified event
| on(`String eventName`, `Function handler`, [`Object options`]) : void | Observable
Appends an event handler to this element (shorthand for addListener)
| purgeListeners() : void | Observable
Removes all listeners for this object
| removeListener(`String eventName`, `Function handler`, [`Object scope`]) : void | Observable
Removes a listener
| setAdapter(`Object adapter`) : void | SplitBar
Set the adapter this SplitBar uses
| setCurrentSize(`Number size`) : void | SplitBar
Sets the initialize size for the resizing element
| setMaximumSize(`Number maxSize`) : void | SplitBar
Sets the maximum size for the resizing element
| setMinimumSize(`Number minSize`) : void | SplitBar
Sets the minimum size for the resizing element
| un(`String eventName`, `Function handler`, [`Object scope`]) : void | Observable
Removes a listener (shorthand for removeListener)

## Public Events

Event | Defined By
--- | ---
| beforeresize : (`Ext.SplitBar this`) | SplitBar
Fires before the splitter is dragged
| moved : (`Ext.SplitBar this`, `Number newSize`) | SplitBar
Fires when the splitter is moved
| resize : (`Ext.SplitBar this`, `Number newSize`) | SplitBar
Fires when the splitter is moved (alias for moved)

## Property Details

### animate

`public Boolean animate`
Whether to animate the transition to the new size
This property is defined by SplitBar.

### maxSize

`public Number maxSize`
The maximum size of the resizing element. (Defaults to 2000)
This property is defined by SplitBar.

### minSize

`public Number minSize`
The minimum size of the resizing element. (Defaults to 0)
This property is defined by SplitBar.

### useShim

`public Boolean useShim`
Whether to create a transparent shim that overlays the page when dragging, enables dragging across iframes.
This property is defined by SplitBar.

## Constructor Details

### SplitBar

`public function SplitBar(`String/HTMLElement/Element dragElement`, `String/HTMLElement/Element resizingElement`, [`Number orientation`], [`Number placement`])`
Create a new SplitBar
Parameters:

- `dragElement` : String/HTMLElement/Element
  The element to be dragged and act as the SplitBar.
- `resizingElement` : String/HTMLElement/Element
  The element to be resized based on where the SplitBar element is dragged
- `orientation` : Number
  (optional) Either Ext.SplitBar.HORIZONTAL or Ext.SplitBar.VERTICAL. (Defaults to HORIZONTAL)
- `placement` : Number
  (optional) Either Ext.SplitBar.LEFT or Ext.SplitBar.RIGHT for horizontal or Ext.SplitBar.TOP or Ext.SplitBar.BOTTOM for vertical. (By default, this is determined automatically by the intial position position of the SplitBar).

## Method Details

### addEvents

`public function addEvents(`Object object`)`
Copies any events from the passed object onto this object if they do not already exist. The passed object must also inherit from Observable for this method to have any effect.
Parameters:

- `object` : Object
  The object from which to copy events

Returns:

- `void`

This method is defined by Observable.

### addListener

`public function addListener(`String eventName`, `Function handler`, [`Object scope`], [`Object options`])`
Appends an event handler to this component
Parameters:

- `eventName` : String
  The type of event to listen for
- `handler` : Function
  The method the event invokes
- `scope` : Object
  (optional) The scope in which to execute the handler function. The handler function's "this" context.
- `options` : Object
  (optional) An object containing handler configuration properties. This may contain any of the following properties:
  - scope {Object} The scope in which to execute the handler function. The handler function's "this" context.
  - delegate {String} A simple selector to filter the target or look for a descendant of the target
  - stopEvent {Boolean} True to stop the event. That is stop propagation, and prevent the default action.
  - preventDefault {Boolean} True to prevent the default action
  - stopPropagation {Boolean} True to prevent event propagation
  - normalized {Boolean} False to pass a browser event to the handler function instead of an Ext.EventObject
  - delay {Number} The number of milliseconds to delay the invocation of the handler after te event fires.
  - single {Boolean} True to add a handler to handle just the next firing of the event, and then remove itself.
  - buffer {Number} Causes the handler to be scheduled to run in an Ext.util.DelayedTask delayed by the specified number of milliseconds. If the event fires again within that time, the original handler is not invoked, but the new handler is scheduled in its place.

  Combining Options
  Using the options argument, it is possible to combine different types of listeners:
  A normalized, delayed, one-time listener that auto stops the event and passes a custom argument (forumId)

  Code:

      el.on('click', this.onClick, this, { single: true, delay: 100, stopEvent : true, forumId: 4 });

  The method also allows for a single argument to be passed which is a config object containing properties which specify multiple handlers.

  Attaching multiple handlers in 1 call
  Code:

      el.on({ 'click' : { fn: this.onClick scope: this, delay: 100 }, 'mouseover' : { fn: this.onMouseOver scope: this }, 'mouseout' : { fn: this.onMouseOut scope: this } });

  Or a shorthand syntax:
  Code:

      el.on({ 'click' : this.onClick, 'mouseover' : this.onMouseOver, 'mouseout' : this.onMouseOut scope: this });

Returns:

- `void`

This method is defined by Observable.

### destroy

`public function destroy(`Boolean removeEl`)`
Destroy this splitbar.
Parameters:

- `removeEl` : Boolean
  True to remove the element

Returns:

- `void`

This method is defined by SplitBar.

### fireEvent

`public function fireEvent(`String eventName`, `Object... args`)`
Fires the specified event with the passed parameters (minus the event name).
Parameters:

- `eventName` : String
- `args` : Object...
  Variable number of parameters are passed to handlers

Returns:

- `Boolean`
  returns false if any of the handlers return false otherwise it returns true

This method is defined by Observable.

### getAdapter

`public function getAdapter()`
Get the adapter this SplitBar uses
Parameters:

- None.

Returns:

- `The`
  adapter object

This method is defined by SplitBar.

### getMaximumSize

`public function getMaximumSize()`
Gets the maximum size for the resizing element
Parameters:

- None.

Returns:

- `Number`
  The maximum size

This method is defined by SplitBar.

### getMinimumSize

`public function getMinimumSize()`
Gets the minimum size for the resizing element
Parameters:

- None.

Returns:

- `Number`
  The minimum size

This method is defined by SplitBar.

### hasListener

`public function hasListener(`String eventName`)`
Checks to see if this object is currently listening for a specified event
Parameters:

- `eventName` : String
  The name of the event to check for

Returns:

- `Boolean`
  True if the event is being listened for, else false

This method is defined by Observable.

### on

`public function on(`String eventName`, `Function handler`, [`Object options`])`
Appends an event handler to this element (shorthand for addListener)
Parameters:

- `eventName` : String
  The type of event to listen for
- `handler` : Function
  The method the event invokes
- `options` : Object
  (optional)

Returns:

- `void`

This method is defined by Observable.

### purgeListeners

`public function purgeListeners()`
Removes all listeners for this object
Parameters:

- None.

Returns:

- `void`

This method is defined by Observable.

### removeListener

`public function removeListener(`String eventName`, `Function handler`, [`Object scope`])`
Removes a listener
Parameters:

- `eventName` : String
  The type of event to listen for
- `handler` : Function
  The handler to remove
- `scope` : Object
  (optional) The scope (this object) for the handler

Returns:

- `void`

This method is defined by Observable.

### setAdapter

`public function setAdapter(`Object adapter`)`
Set the adapter this SplitBar uses
Parameters:

- `adapter` : Object
  A SplitBar adapter object

Returns:

- `void`

This method is defined by SplitBar.

### setCurrentSize

`public function setCurrentSize(`Number size`)`
Sets the initialize size for the resizing element
Parameters:

- `size` : Number
  The initial size

Returns:

- `void`

This method is defined by SplitBar.

### setMaximumSize

`public function setMaximumSize(`Number maxSize`)`
Sets the maximum size for the resizing element
Parameters:

- `maxSize` : Number
  The maximum size

Returns:

- `void`

This method is defined by SplitBar.

### setMinimumSize

`public function setMinimumSize(`Number minSize`)`
Sets the minimum size for the resizing element
Parameters:

- `minSize` : Number
  The minimum size

Returns:

- `void`

This method is defined by SplitBar.

### un

`public function un(`String eventName`, `Function handler`, [`Object scope`])`
Removes a listener (shorthand for removeListener)
Parameters:

- `eventName` : String
  The type of event to listen for
- `handler` : Function
  The handler to remove
- `scope` : Object
  (optional) The scope (this object) for the handler

Returns:

- `void`

This method is defined by Observable.

## Event Details

### beforeresize

`public event beforeresize`
Fires before the splitter is dragged
Subscribers will be called with the following parameters:

- `this` : Ext.SplitBar

This event is defined by SplitBar.

### moved

`public event moved`
Fires when the splitter is moved
Subscribers will be called with the following parameters:

- `this` : Ext.SplitBar
- `newSize` : Number
  the new width or height

This event is defined by SplitBar.

### resize

`public event resize`
Fires when the splitter is moved (alias for moved)
Subscribers will be called with the following parameters:

- `this` : Ext.SplitBar
- `newSize` : Number
  the new width or height

This event is defined by SplitBar.

Ext - Copyright © 2006-2007 Ext JS, LLC
All rights reserved.