Show:

A layout composed of two sections: content and drawer.

The drawer is initially hidden behind the content, until it is moved by a call to setPosition. The source of the movement can be by subscribing the layout to user input (like a Mouse/Touch/Scroll input), or by manually calling setPosition with a transition.

The layout emits a start, update and end Stream with payload

 progress - Number between 0 and 1 indicating how open the drawer is
 value - Pixel displacement in how open the drawer is

It also emits close and open events.

The drawer can be revealed from any side of the content (top, left, bottom, right), by specifying a side option.

Constructor

Layouts.DrawerLayout

(
  • [options]
)

Parameters:

  • [options] Object optional

    Options

    • [side] Number optional

      Side to reveal the drawer from. Defined in DrawerLayout.SIDES

    • [revealLength] Number optional

      The maximum length to reveal the drawer

    • [velocityThreshold] Number optional

      The velocity needed to complete the drawer transition

    • [positionThreshold] Number optional

      The displacement needed to complete the drawer transition

    • [transitionClose] Object optional

      A transition definition for closing the drawer

    • [transitionOpen] Object optional

      A transition definition for opening the drawer

Methods

"on"

(
  • type
  • handler
)

Inherited from Core.OptionsManager:

Adds a handler to the type channel which will be executed on emit.

Parameters:

add

(
  • object
)
RenderTreeNode

Inherited from Core.View:

Extends the render tree subtree with a new node.

Parameters:

  • object SizeNode | LayoutNode | Surface

    Node

Returns:

addContent

(
  • content
)

Set the content component with a Surface or View.

Parameters:

  • content Surface | View

addDrawer

(
  • drawer
)

Set the drawer component with a Surface of View.

Parameters:

  • drawer Surface | View

close

(
  • [transition]
  • [callback]
)

Conceals the drawer with a transition. Emits a close event when an closing transition has been committed to.

Parameters:

extend

(
  • protoObj
  • constants
)

Inherited from Core.Controller:

Allows a class to extend Controller. Note: this is a method defined on the Controller constructor

Parameters:

  • protoObj Object

    Prototype properties of the extended class

  • constants Object

    Constants to be added to the extended class's constructor

get

(
  • key
)
Object

Inherited from Core.OptionsManager:

Look up options value by key or get the full options hash.

Parameters:

Returns:

Object:

Associated object or full options hash

getOptions

(
  • key
)
Object

Inherited from Core.OptionsManager but overwritten in

Options getter.

Parameters:

Returns:

Object:

object Options value for the key

getSize

() Number[]

Inherited from Core.View:

Getter for size.

Returns:

Number[]:

size

key

(
  • key
)
OptionsManager

Inherited from Core.OptionsManager:

Return OptionsManager based on sub-object retrieved by key.

Parameters:

Returns:

OptionsManager:

Value

off

(
  • type
  • handler
)

Inherited from Core.OptionsManager:

Removes the handler from the type channel. This undoes the work of on.

Parameters:

open

(
  • [transition]
  • [callback]
)

Reveals the drawer with a transition. Emits an open event when an opening transition has been committed to.

Parameters:

OptionsManager.patch

(
  • options
  • patch
)
Object

Inherited from Core.OptionsManager but overwritten in

Constructor method. Create OptionsManager from source dictionary with arguments overriden by patch dictionary.

Parameters:

  • options Object

    Options to be patched

  • patch ...Object

    Options to overwrite

Returns:

Object:

source

patch

(
  • options
)
OptionsManager

Inherited from Core.OptionsManager:

Patch options with provided patches. Triggers change event on the object.

Parameters:

  • options Object

    Patch options

Returns:

OptionsManager:

this

reset

(
  • [transition]
)

Resets to last state of being open or closed

Parameters:

set

(
  • sources
)

Inherited from Core.OptionsManager but overwritten in

Introduce new data streams to the layout node in {key : value} pairs. Here the key is one of "transform", "origin", "align" or "opacity". The value is either a stream, or a simple type like a Number or Array. Simple types will be wrapped in an Observerable to emit appropriate events.

Parameters:

  • sources Object

    Object of data sources

setOpacity

(
  • opacity
)

Inherited from Core.View:

Setter for opacity.

Parameters:

  • opacity Number | Stream

    Opacity

setOptions

(
  • options
)

Inherited from Core.OptionsManager but overwritten in

Options setter.

Parameters:

setOrigin

(
  • origin
)

Inherited from Core.View:

Setter for origin.

Parameters:

  • origin Number[] | Stream

    Origin as [x,y], or a stream.

setPosition

(
  • position
  • [transition]
  • [callback]
)

Sets the position in pixels for the content's displacement.

Parameters:

setProportions

(
  • proportions
)

Inherited from Core.View but overwritten in

Setter for proportions.

Parameters:

  • proportions Number[] | Stream

    Proportions as [x,y], or a stream.

setSize

(
  • size
)

Inherited from Core.View:

Setter for size.

Parameters:

  • size Number[] | Stream

    Size as [width, height] in pixels, or a stream.

toggle

(
  • [transition]
)

Toggles between open and closed states.

Parameters:

Attributes

DEFAULT_OPTIONS

readonly

Overwrite the DEFAULT_OPTIONS dictionary on the constructor of the class you wish to extend with the Controller to patch any options that are not prescribed on instantiation.

EVENTS

readonly

Overwrite the EVENTS dictionary on the constructor of the class you wish to extend with the Controller to include events in {key : value} pairs where the keys are event channel names and the values are functions to be executed.