# Class: Controller

## M_.Controller(opts)

A generic controller to extends

## Constructor

#### new Controller(opts)

Generally, you don't need to extend this class. Extend create method.

##### Parameters:

Name | Type | Description
--- | --- | ---
`opts` | object | Configuration object

##### Example

    export class Calculator extends M_.Controller {
    	init() {
    	}
    	create() {
    	}
    }

### Methods

#### doLayout()

Extend this method to initialize your UI

#### hide()

hide description

#### indexAction()

To document

#### init()

To document

#### onControllerChange()

To document

#### onExit()

To document

#### onResize()

To document

#### onShow(firstTime)

onShow description

##### Parameters:

Name | Type | Description
--- | --- | ---
`firstTime` | Boolean | [description]

#### render()

To document

#### renderTemplate()

To document

#### resolve(next)

##### Parameters:

Name | Type | Description
--- | --- | ---
`next` | function |

#### show(firstTime)

This method is called each time the controller is shown.

##### Parameters:

Name | Type | Description
--- | --- | ---
`firstTime` | boolean | True when this function is called for the first time.