Class: UWA.Controls.Input

UWA/Controls/Input. UWA.Controls.Input

<virtual> new UWA.Controls.Input(options)

Abstract class to build an input.

Available Events
Event Description
onChange When the value changes
onKeyDown When the user press a key
onClick When the user click on the control
onMouseDown When the user press the mouse button on the control
Example
var button = new UWA.Controls.Input.Button({
    value: "Camion?",
    events: {
        onClick: function () { alert("Pouet pouet"); }
    }
}).inject(widget.body);
Parameters
Name Type Argument Description
options Object

Options hash or a option/value pair.

Properties
Name Type Argument Default Description
className String <optional>
''

Class names to apply on dom elements built by this control

element String <optional>
''

Element to use in order to render this control (ex: a button for a Input.Button, an input for a Input.Text...)

attributes String <optional>
{}

A set of attributes to set on the input element (see UWA.Element.set)

value String <optional>
''

Set the input value immediatly

option.container Element <optional>

use an existing element as container

Extends

Index

Members

<protected> options

Properties:
Name Type Description
defaultOptions Object

The default controls options.

<protected> name

Properties:
Name Type Description
name String

The input name. Default: 'uwa-input'

<protected> _hiddenInput

Properties:
Name Type Description
_hiddenInput Boolean

If the input element should be displayed or emulated with some generated DOM. Default: false.

<protected> elements :Object

The current control elements.

Type
  • Object
Inherited From:

Methods

<protected> buildSkeleton()

Build main dom elements.

buildInput() → {DOMElement}

Build the native input element. To override.

Returns

The native input element

Type
DOMElement

syncInput()

Synchronize the control display with the native input state. To override.

focus(y, changeInputFocus) → {this}

Set the focus on this input.

Parameters
Name Type Argument Default Description
y Boolean <optional>
true

If false, removes the focus.

changeInputFocus Boolean <optional>
true

change the input focus (you should not change that)

Returns

instance

Type
this

isDisabled() → {Boolean}

Get if this input is disabled

Returns
Type
Boolean

setDisabled(y) → {this}

Set the input as disabled

Parameters
Name Type Argument Default Description
y Boolean <optional>
true

If false, enable the input.

Returns
Type
this

getValue() → {String}

Get the input value. To override if needed.

Returns

The input value

Type
String

setValue(value) → {this}

Set the input value. To override if needed.

Parameters
Name Type Description
value String

The new value

Returns
Type
this

getContent() → {HTMLelement}

Returns control content.

Returns

Control container.

Type
HTMLelement

getInputElement() → {HTMLelement}

Returns the native input element

Returns
Type
HTMLelement

inject(element, where) → {this}

Inject control in the dom.

Parameters
Name Type Argument Description
element HTMLelement

Dom target

where String <optional>

Where to inject

Returns
Type
this
Inherited From:

remove() → {this}

Remove the control from the dom

Returns
Type
this
Inherited From:

getClassNames(suffixes) → {String}

Generate a CSS class name based on the class name property, its parent classes, and the options "className". It should be used internally (in the control).

Example
var Input = UWA.Controls.Abstract.extend({
   name: 'uwa-input',

   options: {
       className: '',
   },

   buildSkeleton: function () {
       this.elements.container = UWA.createElement('div', { 'class': this.getClassNames() });
       this.elements.content = UWA.createElement('div', { 'class': this.getClassNames('-content') });
   }
});

var Radio = Input.extend({
   name: 'uwa-inputradio'
});

new Radio({
    className: 'toto black'
});
// container will have the class 'toto black uwa-inputradio uwa-input'
// content will have the class 'toto black uwa-inputradio-content uwa-input-content'
Parameters
Name Type Description
suffixes String

All parameters should be strings, used as suffix to append to the UWA.Class names of the inheritance chain.

Returns

The generated CSS class name.

Type
String
Inherited From:

hide()

Hide control content.

Inherited From:

show()

Show control content.

Inherited From:

destroy()

Destroy the control elements and its children. Remove all events and remove the element from the dom. This control and its children should not be used after this.

Inherited From: