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:

RenderTreeNode:

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:

compose

(
  • spec
  • parentSpec
  • size
)
Object private

Inherited from Core.LayoutNode but overwritten in

Defines the rules for composing layout specs: transform, align, origin and opacity. Transform is multiplied by the parent's transform (matrix multiplication). Align is a proportional offset relative to the parent size. Origin is a proportional offset relative to the current size. Opacity is multiplied by the parent's opacity.

Parameters:

  • spec Object

    Object layout spec

  • parentSpec Object

    Parent layout spec

  • size Array

    Object size

Returns:

Object:

The composed layout spec

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:

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

Parameters:

  • options Object

    Options to be patched

  • patch ...Object

    Options to override

Returns:

Object:

source

OptionsManager.setOptions

(
  • instance
  • options
  • defaults
)
Object

Inherited from Core.OptionsManager:

Constructor method. Convenience method to set options with defaults on an object instance.

Parameters:

Returns:

Object:

Patched options

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

remove

()

Inherited from Core.View:

Remove the View from the RenderTree. All Surfaces added to the View will also be removed. The View can be added back at a later time and all of its data and Surfaces will be restored.

reset

(
  • [transition]
)

Resets to last state of being open or closed

Parameters:

set

(
  • key
  • value
)
OptionsManager

Inherited from Core.OptionsManager:

Set key to value. Outputs change event if a value is overwritten.

Parameters:

Returns:

OptionsManager:

Updated OptionsManager

setAspectRatio

(
  • aspectRatio
)
deprecated

Inherited from Core.View:

Deprecated: Use size functions instead

Setter for aspect ratio.

Parameters:

  • aspectRatio Number | Stream

    Aspect ratio, or a stream.

setMargins

(
  • margins
)

Inherited from Core.View:

Setter for margins.

Parameters:

  • margins Number[] | Stream

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

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:

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.