ch.Menu (Class)

Documentation updated on Fri Jul 06 2012, generated by JsDoc Toolkit.

Overview

ch.Menu extends ch.Controllers. Menu lets you organize the links by categories.

View source on GitHub

Requires

Returns

itself

Use

Create a new menu without configuration.

var widget = $(".example").menu();

Create a new menu with configuration.

var widget = $(".example").menu({
    "selected": 2,
    "fx": true
});

Configuration

The following options lets you create a customized ch.Menu:

  • conf: Object Object with configuration properties.
  • conf.selected: Number Selects a child that will be open when component was loaded.
  • conf.fx: Boolean Enable or disable UI effects. By default, the effects are disable.

Returns

Properties

element

Reference to a DOM Element. This binding between the component and the HTMLElement, defines context where the component will be executed. Also is usual that this element triggers the component default behavior.

HTMLElement

type

This public property defines the component type. All instances are saved into a 'map', grouped by its type. You can reach for any or all of the components from a specific type with 'ch.instances'.

string

uid

The 'uid' is the Chico's unique instance identifier. Every instance has a different 'uid' property. You can see its value by reading the 'uid' property on any public instance.

number

Methods

content(content)

Sets and gets component content. To get the defined content just use the method without arguments, like 'widget.content()'. To define a new content pass an argument to it, like 'widget.content("new content")'. Use a valid URL to get content using AJAX. Use a CSS selector to get content from a DOM Element. Or just use a String with HTML code.

It method borrows ch.Uiobject#content.

Parameters

  • content: string Static content, DOM selector or URL. If argument is empty then will return the content.

Examples

Get the defined content

widget.content();

Set static content

widget.content("Some static content");

Set DOM content

widget.content("#hiddenContent");

Set AJAX content

widget.content("http://chico.com/some/content.html");
off(event, handler)

Removes a callback function from specific event.

It method borrows ch.Object#off.

Parameters

  • event Since version 0.7.1: string Event nawidget.
  • handler Since version 0.7.1: function Handler function.

Returns

  • itself

Examples

Will remove event handler to the "ready" event

var startDoingStuff = function () {
    // Some code here!
};

widget.off("ready", startDoingStuff);
on(event, handler)

Add a callback function from specific event.

It method borrows ch.Object#on.

Parameters

  • event Since version 0.7.1: string Event nawidget.
  • handler Since version 0.7.1: function Handler function.

Returns

  • itself

Examples

Will add a event handler to the "ready" event

widget.on("ready", startDoingStuff);
once(event, handler)

Add a callback function from specific event that it will execute once.

It method borrows ch.Object#once.

Parameters

  • event Since version 0.8.0: string Event nawidget.
  • handler Since version 0.8.0: function Handler function.

Returns

  • itself

Examples

Will add a event handler to the "contentLoad" event once

widget.once("contentLoad", startDoingStuff);

Events

ready
Triggers when the component is ready to use (Since 0.8.0).

Examples

Following the first example, using widget as menu's instance controller:

widget.on("ready",function () {
	this.select();
});
select
It is triggered when the a fold is selected by the user.

Examples

When the user select

widget.on("select",function(){
    app.off();
});