Class: Skin

Skin(params)

new Skin(params)

Representation of the current skin being rendered.

Parameters:
Name Type Description
params Object

Configuration options

Properties
Name Type Description
eventBus OO.EventEmitter

Object used to listen for before-section-toggled, scroll:throttled, resize:throttled, and section-toggled events

Source:
Fires:

Extends

Members

defaults

Properties:
Name Type Description
defaults Object

Default options hash.

Properties
Name Type Description
page Page

page the skin is currently rendering

referencesGateway ReferencesGateway

instance of references gateway

Overrides:
Mixes In:
Source:

events

Source:

isTemplateMode

Tells the View to ignore tagName and className when constructing the element and to rely solely on the template

Properties:
Name Type Description
isTemplateMode boolean
Inherited From:
Source:

parseHTML

See parseHTML method of util singleton

Inherited From:
Source:

tagName

Name of tag that contains the rendered template

Properties:
Name Type Description
tagName string
Inherited From:
Source:

template

Properties:
Name Type Description
Specifies Mixed

the template used in render(). Object|string|HoganTemplate

Inherited From:
Source:

templatePartials

Specifies partials (sub-templates) for the main template. Example:

Properties:
Type Description
Object
Inherited From:
Source:
Example
// example content for the "some" template (sub-template will be
    // inserted where {{>content}} is):
    // <h1>Heading</h1>
    // {{>content}}

    oo.mfExtend( SomeView, View, {
      template: M.template.get( 'some.hogan' ),
      templatePartials: { content: M.template.get( 'sub.hogan' ) }
    }

Methods

$(query) → {JQuery.Object}

Wraps this.$el.find, so that you can search for elements in the view's ($el's) scope.

Parameters:
Name Type Description
query string

A jQuery CSS selector.

Inherited From:
Source:
Returns:

jQuery object containing results of the search.

Type
JQuery.Object

after(…contents) → {this}

Parameters:
Name Type Attributes Description
contents string | Node | Array.<Node> | JQuery <repeatable>
Overrides:
Source:
Returns:
Type
this

append(…contents) → {this}

Parameters:
Name Type Attributes Description
contents string | Node | Array.<Node> | JQuery <repeatable>
Overrides:
Source:
Returns:
Type
this

appendTo(target) → {this}

Parameters:
Name Type Description
target string | Node | Array.<Node> | JQuery
Inherited From:
Source:
Returns:
Type
this

before(…contents) → {this}

Parameters:
Name Type Attributes Description
contents string | Node | Array.<Node> | JQuery <repeatable>
Overrides:
Source:
Returns:
Type
this

delegate(eventName, selector, listener)

Add a single event listener to the view's element (or a child element using selector). This only works for delegate-able events: not focus, blur, and not change, submit, and reset in Internet Explorer.

Parameters:
Name Type Description
eventName string
selector string
listener function
Inherited From:
Source:

delegateEvents(events)

Set callbacks, where this.events is a hash of

{ 'event selector': 'callback' }

{ 'mousedown .title': 'edit', 'click .button': 'save', 'click .open': function(e) { ... } }

pairs. Callbacks will be bound to the view, with this set properly. Uses event delegation for efficiency. Omitting the selector binds the event to this.el.

Parameters:
Name Type Description
events Object

Optionally set this events instead of the ones on this.

Inherited From:
Source:

detach(selectoropt) → {this}

Parameters:
Name Type Attributes Description
selector string <optional>
Inherited From:
Source:
Returns:
Type
this

getLicenseMsg() → {string}

Returns the appropriate license message including links/name to terms of use (if any) and license page

Source:
Returns:
Type
string

getUnloadedImages($containeropt) → {Array}

Get images that have not yet been loaded in the page

Parameters:
Name Type Attributes Description
$container jQuery.Object <optional>

The container that should be searched for image placeholders. Defaults to "#content".

Source:
Returns:

of unloaded image placeholders in the page

Type
Array

initialize(options)

Run once during construction to set up the View

Parameters:
Name Type Description
options Object

Object passed to the constructor.

Properties
Name Type Attributes Description
events Object.<string, string> <optional>
Inherited From:
Source:

insertAfter(target) → {this}

Parameters:
Name Type Description
target string | Node | Array.<Node> | JQuery
Inherited From:
Source:
Returns:
Type
this

insertBefore(target) → {this}

Parameters:
Name Type Description
target string | Node | Array.<Node> | JQuery
Inherited From:
Source:
Returns:
Type
this

lazyLoadReferences(data) → {jQuery.Promise}

Load the references section content from API if it's not already loaded.

All references tags content will be loaded per section.

Parameters:
Name Type Description
data Object

Information about the section. It's in the following form: {

Properties:
Name Type Description
page, string
wasExpanded, boolean
$heading, jQuery.Object
isReferenceSection boolean

}

Source:
Returns:

rejected when not a reference section.

Type
jQuery.Promise

postRender()

Function called after the view is rendered. Can be redefined in objects that extend View.

Overrides:
Source:

prepend(…contents) → {this}

Parameters:
Name Type Attributes Description
contents string | Node | Array.<Node> | JQuery <repeatable>
Overrides:
Source:
Returns:
Type
this

prependTo(target) → {this}

Parameters:
Name Type Description
target string | Node | Array.<Node> | JQuery
Inherited From:
Source:
Returns:
Type
this

preRender()

Function called before the view is rendered. Can be redefined in objects that extend View.

Inherited From:
Source:

remove(selectoropt) → {this}

Parameters:
Name Type Attributes Description
selector string <optional>
Inherited From:
Source:
Returns:
Type
this

render(data)

Fill this.$el with template rendered using data if template is set.

Parameters:
Name Type Description
data Object

Template data. Will be merged into the view's options

Inherited From:
Source:

setupImageLoading($containeropt) → {jQuery.Deferred}

Setup listeners to watch unloaded images and load them into the page as and when they are needed.

Parameters:
Name Type Attributes Description
$container jQuery.Object <optional>

The container that should be searched for image placeholders. Defaults to "#content".

Source:
Returns:

which will be resolved when the attempts to load all images subject to loading have been completed.

Type
jQuery.Deferred

undelegate(eventName, selector, listener)

A finer-grained undelegateEvents for removing a single delegated event. selector and listener are both optional.

Parameters:
Name Type Description
eventName string
selector string
listener function
Inherited From:
Source:

undelegateEvents()

Clears all callbacks previously bound to the view by delegateEvents. You usually don't need to use this, but may wish to if you have multiple views attached to the same DOM element.

Inherited From:
Source:

Events

changed

Fired when appearance of skin changes.

Source:

click

Fired when the skin is clicked.

Source: