Unit Input State Variable Reference

Table of contents


Introduction

A unit input (unitInput) state variable represents a user numeric input value with multiple possible units. The app may provide the user a choice of their desired units for the number. The app can also choose which units it wants to compute with independent of the user's choice. Each rendered component will display according to the format and limits specified for the chosen unit in the state variable.

The unit input contains several child numericInput state variables, one for each unit is supports. Each child state variable is published with a subName corresponding to its unit (e.g., 'myPage_mySv_kg' and 'myPage_mySv_lb'). When one child state variable changes, the others are updated with the new value converted to their respective units.

Each unit input has an associated unitClass string. Each unitClass is associated with a unitSelector state variable. The unitSelector state variable controls which unit each rendered component will be displayed to the user. Many unitInput state variables can have the same unitClass, and, therefore will be controlled by the same unitSelector.

The unitInput state variable's component instance will display the currently selected unit sibling. If the showUnits attribute or the '{{...@}}' template syntax is used, the component will also display the appropriate unit abbreviations for the currently selected unit.

The app code or a component template may also refer to a specific child numericInput state variable. Any modification to that child will also update its siblings with converted values.

MVCS supports three types of numeric input mechanisms: a physical or virtual keyboard, a popup keypad, or a thumbwheel. The app Settings page can select the desired input mechanism for each device type by setting the set_inputType state variable. See Standard Settings Page.

Constructor

Syntax

ctl.createPage({
	...,
	stateVarInfo:[
		{type:'unitInput', ...},
	],
})

Parameters


Instance methods

Inherited methods

Note: The component() method returns a NumInputSvCmp.

getSavedState()

Syntax

getSavedState()

Returns the state of the current unit sibling state variable.

Return value

Returns an object with the following keys:


setSavedState()

Syntax

setSavedState(state)

Sets the state variable to the internal state specified by state. If the state is invalid, the state variable has the option to set the state to the default state.

Parameters


Instance properties

Inherited properties

isNumber

Always true for unitInput.

Value

A Boolean.


isUnit

Always true for unitInput.

Value

A Boolean.


isUnitParent

Always true for unitInput.

Value

A Boolean.


unitClass

The unitClass string for the unitSelector that controls which unit sibling is current for this state variable.

Value

A String.


Component attributes

Inherited attributes


inputType

The inputType attribute establishes a particular user input type that overrides the set_inputType state variable if it exists. The values can be:

Value

A String.


plusMinus

If plusMinus is true, then "-" and "+" buttons will apear to the left and right of the input. Pressing one of the buttons will increment or decrement the value by fmt.rndMult.

Value

A Boolean.

DOM element properties