Class: Manager

caph.module.focus. Manager

new Manager()

A class which provides the focus management. Support mouse and keyboard navigation.

Since:
  • 2.0.0
See:
Throws:

Will throw an error if attempt to create another instance of caph.module.focus.Manager.

Example
var Component = caph.require('ui.base.Component');
 var focusManager = caph.module.focus.Manager.getInstance();
 var component = new Component(); // mixin caph.module.mixins.focus.Focusable component

 // Set root Node
 focusManager.setRootNode(component);

 // Get root Node
 var rootNodeFocusManager = focusManager.getRootNode();

 // Set focus level
 focusManager.setFocusLevel(2);

 // Get focus lveel
 var currentFocusLevel = focusManager.getFocusLevel();

 // Focus
 focusManager.focus(component);

 // Blur
 focusManager.blur(component);

 // Reset focus manager
 focusManager.reset();

Members

<static> Buttons

String value indicates button pressed by user.

Since:
  • 2.1.0
Example
var direction = caph.module.focus.Manager.Buttons.DOWN;

Methods

<static> getInstance() → {caph.module.focus.Manager}

Gets the singleton instance.

Since:
  • 2.0.0
Returns:

instance

Type
caph.module.focus.Manager
Example
var FocusManager = caph.module.focus.Manager.getInstance();

blur(focusableComponent)

Blur focusable component.

Parameters:
Name Type Description
focusableComponent caph.module.mixins.focus.Focusable
Since:
  • 2.0.0
Example
var Component = caph.require('ui.base.Component');
 var component = new Component(); // mixin caph.module.mixins.focus.Focusable component
 FocusManager.blur(component);

focus(focusableComponent, method) → {Boolean}

Focus focusable component.

Parameters:
Name Type Argument Description
focusableComponent caph.module.mixins.focus.Focusable
method String <optional>
Since:
  • 2.0.0
Returns:

result

Type
Boolean
Example
var Component = caph.require('ui.base.Component');
 var component = new Component(); // mixin caph.module.mixins.focus.Focusable component
 FocusManager.focus(component);

getCurrentFocus() → {caph.module.mixins.focus.Focusable}

Gets current focused focusable component.

Since:
  • 2.0.0
Returns:

currentFocus

Type
caph.module.mixins.focus.Focusable
Example
var currentFocusedComponent = FocusManager.getCurrentFocus();

getFocusLevel() → {Number}

Gets current focus level.

Since:
  • 2.0.0
Returns:

currentLevel

Type
Number
Example
var currentFocusLevel = FocusManager.getFocusLevel();

getLastFocus() → {caph.module.mixins.focus.Focusable}

Gets last focused focusable component.

Since:
  • 2.0.0
Returns:

lastFocus

Type
caph.module.mixins.focus.Focusable
Example
var lastFocusedComponent = FocusManager.getLastFocus();

getRootNode() → {caph.collection.TreeNode}

Gets root node of tree structure.

Since:
  • 2.0.0
Returns:

rootNode

Type
caph.collection.TreeNode
Example
var currentRootnode = FocusManager.getRootNode();

reset()

Resets focus manager. Initialize focus to null and delete lastFocus and currentFocus.

Since:
  • 2.0.0
Example
FocusManager.reset();

setFocusFinderConfigurations(property, value)

Set configurations to the focus finder algorithm

Parameters:
Name Type Description
property String | Object
value String
Since:
  • 2.1.0
Example
FocusManager.setFocusFinderConfigurations({
     useHighPriority : true,
     useMiddlePriority : true,
     useLowPriority : true,
     highPriorityAngle : 45
 });

setFocusLevel(level)

Sets current focus level.

Parameters:
Name Type Description
level Number

default level: 0

Since:
  • 2.0.0
Example
FocusManager.setFocusLevel(1);

setRootNode(root)

Sets root node of tree structure. Focus manager will be initialize the first focus based on root node.

Parameters:
Name Type Description
root caph.collection.TreeNode
Since:
  • 2.0.0
Example
var Component = caph.require('ui.base.Component');
 var component = new Component(); // mixin caph.module.mixins.focus.Focusable component
 FocusManager.setRootNode(component);