Menu

Menu

Component display list of Item components for present different types of menu.

Constructor

Parameters:
Name Type Description
data iMenuConstructor

Object with parameters.

Source:
let menu = new Menu({
    list: [
        new Item({title: "Home", value: "/home/index.html"}),
        new Item({title: "Dashboard", value: "/home/dashboard.html"}),
    ]
});

Extends

Methods

active(value) → {Item|undefined}

Get/Set current/selected Item of menu. Same as method index() but use Item value.

Parameters:
Name Type Description
value Item | undefined

Number of Item

Source:
Example
let items = [new Item({title: "First"}), new Item({title: "Last"})];
 let menu = new Menu({list: items});
 menu.active(items[1]);

addListener(value) → {void}

Add new event listener

Parameters:
Name Type Description
value Listener

Listener object

Overrides:
Source:

className(value) → {string}

Get/Set style-classes

Parameters:
Name Type Description
value String

To set new string of style-classes

Overrides:
Source:

dnd(If)

Drag and drop (dnd)

Parameters:
Name Type Description
If boolean

true, elements possible to move by mouse

Source:

dndRemove(If)

Remove element by Drag and drop (dnd)

Parameters:
Name Type Description
If boolean

true, elements possible to remove

Source:

get(value) → {Item|undefined}

To get any Item element by number from list.

Parameters:
Name Type Description
value number

Number of list.

Source:
Example
let item = menu.get(0);
 // same result
 let item = menu.list()[0];

index(value) → {number|undefined}

Get/Set current/selected Item of menu. Same as method active() but use number value.

Parameters:
Name Type Description
value number | undefined

Number of Item

Source:
Example
menu.index(1);

list(value) → {Array.<iItemClass>|undefined}

To get/set list of Item elements.

Parameters:
Name Type Description
value Array.<iItemClass> | undefined

List of Item elements.

Source:
Example
menu.list([
     new Item({title: "Title"})
 ]);

listen(name, cb, after) → {Listener}

To listen event from this component

Parameters:
Name Type Description
name string

Name of event

cb function

Callback for fired event

after boolean

For phase before changes if "false" (by default) or after changes if "true"

Overrides:
Source:

nextIndex() → {number|undefined}

This method keep number of clicked item at first phase of event (before changes).

Source:
Example
menu.listen("onSelect", function(action) {
     console.log(action.target.nextIndex()); // before changes index() still old.
 } );
 menu.listen("onSelect", function(action) {
     console.log(action.target.index())
 }, true ); // <--- if phase is "after" index already defined.

pop() → {Item|undefined}

To remove an Item element from end.

Source:
Example
let removedItem = menu.pop();

push(…values) → {number}

To add to end new Item element(s).

Parameters:
Name Type Attributes Description
values Item <repeatable>

One or more Item elements

Source:
Example
menu.push(new Item({title: "One"}), new Item({title: "Two"}));

remove(value) → {Item|undefined}

To remove any Item element from list.

Parameters:
Name Type Description
value Item | number

Item or number of list to remove.

Source:
Example
let item = menu.get(0)
 let removedItem = menu.remove(item); // removedItem === item

removeListener(value) → {void}

To remove installed event listener

Parameters:
Name Type Description
value Listener

Listener object

Overrides:
Source:

removeListeners() → {void}

To remove all installed event listeners

Overrides:
Source:

shift() → {Item|undefined}

To remove an Item element from top.

Source:
Example
let removedItem = menu.shift();

trigger(value) → {Action}

To fire event

Parameters:
Name Type Description
value Action | string

Action object

Overrides:
Source:

unshift(…values) → {number}

To add to begin new Item element(s).

Parameters:
Name Type Attributes Description
values Item <repeatable>

One or more Item elements

Source:
Example
menu.push(new Item({title: "One"}), new Item({title: "Two"}));

value(value) → {string|undefined}

Get/Set current/selected Item of menu by value of Item.

Parameters:
Name Type Description
value string | undefined

Number of Item

Source:
Example
let items = [
     new Item({title: "First", value: "First one"}),
     new Item({title: "Last", value: "Last one"})];
 let menu = new Menu({list: items});
 menu.value("Last one");