new Surface(id)
Surface class representing the references to elements on the page that
can potentially be updated by
App
.
Parameters:
Name | Type | Description |
---|---|---|
id |
string |
Members
-
<static, non-null> DEFAULT :String
-
Holds the default surface name. Elements on the page must contain a child element containing the default content, this element must be as following: Example:Default surface content.
Type:
- String
- Default Value:
-
- default
-
<protected> activeChild :Element
-
Holds the active child element.
Type:
- Element
- Default Value:
-
- null
-
<protected> defaultChild :Element
-
Holds the default child element.
Type:
- Element
- Default Value:
-
- null
-
<protected> element :Element
-
Holds the element with the specified surface id, if not found creates a new element with the specified id.
Type:
- Element
- Default Value:
-
- null
-
<protected> id :String
-
Holds the surface id.
Type:
- String
- Default Value:
-
- null
-
transitionFn
-
Holds the default transitionFn for the surfaces.
- Default Value:
-
- null
Methods
-
<static> defaultTransition( [from] [, to])
-
Holds the default transition for all surfaces. Each surface could have its own transition. Example:
surface.setTransitionFn(function(from, to) { if (from) { from.style.display = 'none'; from.classList.remove('flipped'); } if (to) { to.style.display = 'block'; to.classList.add('flipped'); } return null; });
Parameters:
Name Type Argument Description from
Element <optional>
<nullable>
The visible surface element. to
Element <optional>
<nullable>
The surface element to be flipped. -
addContent(screenId, opt_content)
-
Adds screen content to a surface. If content hasn't been passed, see if an element exists in the DOM that matches the id. By convention, the element should already be nested in the right element and should have an id that is a concatentation of the surface id + '-' + the screen id.
Parameters:
Name Type Description screenId
string The screen id the content belongs too. opt_content
string | Element The string content or element to add be added as surface content. Returns:
- Type
- Element
-
createChild(screenId)
-
Creates child node for the surface.
Parameters:
Name Type Description screenId
string The screen id. Returns:
- Type
- Element
-
getChild(screenId)
-
Gets child node of the surface.
Parameters:
Name Type Description screenId
string The screen id. Returns:
- Type
- Element
-
getElement()
-
Gets the surface element from element, and sets it to the el property of the current instance.
this.element
will be used.Returns:
The current surface element.- Type
- Element
-
getId()
-
Gets the surface id.
Returns:
- Type
- String
-
getTransitionFn()
-
Gets the surface transition function. See
Surface.defaultTransition
.Returns:
The transition function.- Type
- function
-
maybeWrapContentAsDefault_()
-
If default child is missing, wraps surface content as default child. If surface have static content, make sure to place a
surfaceId-default
element inside surface, only contents inside the default child will be replaced by navigation. -
remove(screenId)
-
Removes screen content from a surface.
Parameters:
Name Type Description screenId
string The screen id to remove. -
setId(id)
-
Sets the surface id.
Parameters:
Name Type Description id
string -
setTransitionFn( [transitionFn])
-
Sets the surface transition function. See
Surface.defaultTransition
.Parameters:
Name Type Argument Description transitionFn
function <optional>
<nullable>
The transition function. -
show(screenId)
-
Shows screen content from a surface.
Parameters:
Name Type Description screenId
String The screen id to show. Returns:
Pauses the navigation until it is resolved.- Type
- CancellablePromise
-
toString()
-
Returns:
- Type
- String
-
transition( [from] [, to])
-
Invokes the transition function specified on
transition
attribute.Parameters:
Name Type Argument Description from
Element <optional>
<nullable>
to
Element <optional>
<nullable>
Returns:
This can return a promise, which will pause the navigation until it is resolved.- Type
- CancellablePromise