Skip to main content

Abstract Class: AbstractUiNumberDialog<Input, Output, InputDef, P>

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:57

An abstract implementation of a UI dialog view which allows the user to select an arbitrary numeric value. The dialog includes a 0-9 number pad and backspace button by default. Subclasses can register an arbitrary number of NumberInput components. The different inputs may be used to allow the user to input numbers with different formatting, number of digits, etc. However, only one input is active and visible at a time. Subclasses may also choose to render additional dialog content by overriding the renderOtherNumberPadContents() and renderOtherContents() methods.

Extends

Extended by

Type Parameters

Type ParameterDefault type
Input extends UiNumberDialogInputUiNumberDialogInput
Outputnumber
InputDef extends UiNumberDialogInputDefinitionUiNumberDialogInputDefinition
P extends UiViewPropsUiViewProps

Implements

Constructors

Constructor

new AbstractUiNumberDialog<Input, Output, InputDef, P>(props): AbstractUiNumberDialog<Input, Output, InputDef, P>

Defined in: src/sdk/components/FSComponent.ts:73

Creates an instance of a DisplayComponent.

Parameters

ParameterTypeDescription
propsPThe propertis of the component.

Returns

AbstractUiNumberDialog<Input, Output, InputDef, P>

Inherited from

AbstractUiView.constructor

Properties

_knobLabelState

protected readonly _knobLabelState: FilteredMapSubject<UiKnobId, string>

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/Shared/UiSystem/AbstractUiView.ts:13

Inherited from

AbstractUiView._knobLabelState


activeInputDef?

protected optional activeInputDef: InputDef

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:80


backButtonImgSrc

protected readonly backButtonImgSrc: Subject<string>

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:76


backButtonLabel

protected readonly backButtonLabel: Subject<string>

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:75


backRef

protected readonly backRef: NodeReference<ImgTouchButton>

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:69


backspaceRef

protected readonly backspaceRef: NodeReference<ImgTouchButton>

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:68


context?

optional context: [] = undefined

Defined in: src/sdk/components/FSComponent.ts:64

The context on this component, if any.

Inherited from

AbstractUiView.context


contextType?

readonly optional contextType: readonly [] = undefined

Defined in: src/sdk/components/FSComponent.ts:67

The type of context for this component, if any.

Inherited from

AbstractUiView.contextType


enterRef

protected readonly enterRef: NodeReference<ImgTouchButton>

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:70


focusController

protected readonly focusController: UiFocusController

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/Shared/UiSystem/AbstractUiView.ts:17

Inherited from

AbstractUiView.focusController


inputContainerRef

protected readonly inputContainerRef: NodeReference<HTMLDivElement>

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:66


inputDefinitions

protected readonly inputDefinitions: Map<string, InputDef>

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:78


isAlive

protected isAlive: boolean = true

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:87


isEnterButtonEnabled

protected readonly isEnterButtonEnabled: Subject<boolean>

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:96

Whether the enter button is enabled.


knobLabelState

readonly knobLabelState: SubscribableMap<UiKnobId, string> & Subscribable<UiKnobRequestedLabelState>

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/Shared/UiSystem/AbstractUiView.ts:15

The bezel rotary knob label state requested by this view.

Inherited from

AbstractUiView.knobLabelState


numpadRef

protected readonly numpadRef: NodeReference<NumberPad>

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:67


props

props: P & ComponentProps

Defined in: src/sdk/components/FSComponent.ts:61

The properties of the component.

Inherited from

AbstractUiView.props


resolveFunction()?

protected optional resolveFunction: (value) => void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:82

Parameters

ParameterType
valueany

Returns

void


resultObject

protected resultObject: UiDialogResult<Output>

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:83


rootCssClass

protected readonly rootCssClass: SetSubject<string>

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:71


showDecimalButton

protected readonly showDecimalButton: Subject<boolean>

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:93

Whether the decimal button is shown. Defaults to false.


showSignButton

protected readonly showSignButton: Subject<boolean>

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:90

Whether the sign button is shown. Defaults to false.


title

protected readonly title: Subject<string>

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:73

Methods

cleanupRequest()

protected cleanupRequest(): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:326

Clears this dialog's pending request and fulfills the pending request Promise if one exists.

Returns

void


createFocusController()

protected createFocusController(): UiFocusController

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/Shared/UiSystem/AbstractUiView.ts:23

Creates a new focus controller for this view.

Returns

UiFocusController

A new focus controller.

Inherited from

AbstractUiView.createFocusController


destroy()

destroy(): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:522

Destroys this component.

Returns

void

Overrides

AbstractUiView.destroy


getContext()

protected getContext(context): never

Defined in: src/sdk/components/FSComponent.ts:106

Gets a context data subscription from the context collection.

Parameters

ParameterTypeDescription
contextneverThe context to get the subscription for.

Returns

never

The requested context.

Throws

An error if no data for the specified context type could be found.

Inherited from

AbstractUiView.getContext


getInvalidValueMessage()

abstract protected getInvalidValueMessage(value, activeInputDef): string | VNode

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:304

Gets the message to display when attempting to return an invalid value.

Parameters

ParameterTypeDescription
valuenumberThe invalid value.
activeInputDefInputDefThe input definition used to generate the invalid value.

Returns

string | VNode

The message to display when attempting to return an invalid value.


getInvalidValueMessageDialogLayerAndKey()

protected getInvalidValueMessageDialogLayerAndKey(): [UiViewStackLayer, string]

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:319

Gets the view stack layer and key of the message dialog to open to display the invalid value message.

Returns

[UiViewStackLayer, string]

The view stack layer and key of the message dialog to open to display the invalid value message, as [layer, key].


getPayload()

abstract protected getPayload(value, activeInputDef): Output

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:312

Gets the payload for a completed request.

Parameters

ParameterTypeDescription
valuenumberThe numeric value to return with the request.
activeInputDefInputDefThe active input definition at the time the request was completed.

Returns

Output

The payload for a completed request.


getRootCssClassName()

abstract protected getRootCssClassName(): undefined | string

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:420

Gets the CSS class name (singular) for this dialog's root element.

Returns

undefined | string

The CSS class name (singular) for this dialog's root element.


isValueValid()

abstract protected isValueValid(value, activeInputDef): boolean

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:296

Checks if a value is valid to be returned for a request.

Parameters

ParameterTypeDescription
valuenumberThe value to check.
activeInputDefInputDefThe input definition used to generate the value to check.

Returns

boolean

Whether the specified value is valid to be returned for a request.


onAfterRender()

onAfterRender(): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:116

A callback that is called after the component is rendered.

Returns

void

Overrides

AbstractUiView.onAfterRender


onBackPressed()

protected onBackPressed(): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:376

Responds to when this dialog's back/cancel button is pressed.

Returns

void


onBackspacePressed()

protected onBackspacePressed(): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:369

Responds to when this dialog's backspace button is pressed.

Returns

void


onBeforeRender()

onBeforeRender(): void

Defined in: src/sdk/components/FSComponent.ts:80

A callback that is called before the component is rendered.

Returns

void

Inherited from

AbstractUiView.onBeforeRender


onCleanupRequest()

protected onCleanupRequest(): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:340

A callback method which is called when this dialog cleans up a request. This method is called before the pending request Promise is fulfilled, if one exists.

Returns

void


onClose()

onClose(): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:220

Responds to when this view is closed.

Returns

void

Overrides

AbstractUiView.onClose


onDecimalPressed()

protected onDecimalPressed(): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:362

Called when this dialog's decimal button is pressed.

Returns

void


onEditingActiveChanged()

protected onEditingActiveChanged(isEditingActive, activeInputDef): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:140

Responds to when the editing state of this dialog's active number input changes.

Parameters

ParameterTypeDescription
isEditingActivebooleanWhether editing is active.
activeInputDefInputDefThe active input definition.

Returns

void


onEnterPressed()

protected onEnterPressed(): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:383

Responds to when this dialog's enter button is pressed.

Returns

void


onNumberPressed()

protected onNumberPressed(value): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:348

Responds to when one of this dialog's number pad buttons is pressed.

Parameters

ParameterTypeDescription
valuenumberThe value of the button that was pressed.

Returns

void


onOcclusionChange()

onOcclusionChange(occlusionType): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/Shared/UiSystem/AbstractUiView.ts:56

Responds to when the occlusion type applied to this view changes while this view is open.

Parameters

ParameterTypeDescription
occlusionTypeUiViewOcclusionTypeThe new occlusion type applied to this view.

Returns

void

Inherited from

AbstractUiView.onOcclusionChange


onOpen()

onOpen(sizeMode, dimensions): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/Shared/UiSystem/AbstractUiView.ts:29

Responds to when this view is opened.

Parameters

ParameterTypeDescription
sizeModeUiViewSizeModeThe new size mode of this view's container.
dimensionsReadonlyFloat64ArrayThe new dimensions of this view's container, as [width, height] in pixels.

Returns

void

Inherited from

AbstractUiView.onOpen


onPause()

onPause(): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/Shared/UiSystem/AbstractUiView.ts:44

Responds to when this view is paused.

Returns

void

Inherited from

AbstractUiView.onPause


onRequest()

abstract protected onRequest(input): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:168

A callback method which is called when this dialog receives a request.

Parameters

ParameterTypeDescription
inputInputThe input for the request.

Returns

void


onResize()

onResize(sizeMode, dimensions): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/Shared/UiSystem/AbstractUiView.ts:50

Responds when this view's container is resized while it is open.

Parameters

ParameterTypeDescription
sizeModeUiViewSizeModeThe new size mode of this view's container.
dimensionsReadonlyFloat64ArrayThe new dimensions of this view's container, as [width, height] in pixels.

Returns

void

Inherited from

AbstractUiView.onResize


onResume()

onResume(): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:225

Responds to when this view is resumed.

Returns

void

Overrides

AbstractUiView.onResume


onSignPressed()

protected onSignPressed(): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:355

Called when this dialog's sign button is pressed.

Returns

void


onUiInteractionEvent()

onUiInteractionEvent(event): boolean

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:230

Handles a UiInteractionEvent.

Parameters

ParameterTypeDescription
eventUiInteractionEventThe event to handle.

Returns

boolean

Whether the event was handled.

Overrides

AbstractUiView.onUiInteractionEvent


onUpdate()

onUpdate(time): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/Shared/UiSystem/AbstractUiView.ts:62

Called every update cycle.

Parameters

ParameterTypeDescription
timenumberThe current real (operating system) time, as a Javascript timestamp.

Returns

void

Inherited from

AbstractUiView.onUpdate


registerInputDefinition()

protected registerInputDefinition(key, def): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:105

Registers an input definition with this dialog. Definitions must be registered before they are requested as the active input in order to function properly.

Parameters

ParameterTypeDescription
keystringThe key to register the definition under. If an existing definition is already registered under the same key, it will be replaced.
defInputDefThe definition to register.

Returns

void


render()

render(): VNode

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:388

Renders the component.

Returns

VNode

A JSX element to be rendered.

Overrides

AbstractUiView.render


renderBackButton()

protected renderBackButton(ref, rootCssClassName): null | VNode

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:477

Renders this dialog's back/cancel button.

Parameters

ParameterTypeDescription
refNodeReference<DisplayComponent<any, []>>The reference to which to assign the rendered button.
rootCssClassNameundefined | stringThe CSS class name for this dialog's root element.

Returns

null | VNode

This dialog's back/cancel button, as a VNode, or null if this dialog does not have a backspace button.


renderBackspaceButton()

protected renderBackspaceButton(ref, rootCssClassName): null | VNode

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:459

Renders this dialog's backspace button.

Parameters

ParameterTypeDescription
refNodeReference<DisplayComponent<any, []>>The reference to which to assign the rendered button.
rootCssClassNameundefined | stringThe CSS class name for this dialog's root element.

Returns

null | VNode

This dialog's backspace button, as a VNode, or null if this dialog does not have a backspace button.


renderEnterButton()

protected renderEnterButton(ref, rootCssClassName): null | VNode

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:496

Renders this dialog's enter button.

Parameters

ParameterTypeDescription
refNodeReference<DisplayComponent<any, []>>The reference to which to assign the rendered button.
rootCssClassNameundefined | stringThe CSS class name for this dialog's root element.

Returns

null | VNode

This dialog's enter button, as a VNode, or null if this dialog does not have a backspace button.


renderInputToContainer()

protected renderInputToContainer(def): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:209

Renders one of this dialog's registered inputs to the input container.

Parameters

ParameterTypeDescription
defInputDefThe definition for the input to render.

Returns

void


renderNumberPad()

protected renderNumberPad(ref, rootCssClassName): VNode

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:428

Renders this dialog's number pad.

Parameters

ParameterTypeDescription
refNodeReference<NumberPad>The reference to which to assign the rendered number pad.
rootCssClassNameundefined | stringThe CSS class name for this dialog's root element.

Returns

VNode

This dialog's number pad, as a VNode.


renderOtherContents()

protected renderOtherContents(rootCssClassName): null | VNode

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:517

Renders additional contents in this dialog's root container.

Parameters

ParameterTypeDescription
rootCssClassNameundefined | stringThe CSS class name for this dialog's root element.

Returns

null | VNode

Additional contents in this dialog's root container, as a VNode, or null if there are no additional contents.


renderOtherNumberPadContents()

protected renderOtherNumberPadContents(rootCssClassName): null | VNode

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:449

Renders additional contents in this dialog's number pad container.

Parameters

ParameterTypeDescription
rootCssClassNameundefined | stringThe CSS class name for this dialog's root element.

Returns

null | VNode

Additional contents in this dialog's number pad container, as a VNode, or null if there are no additional contents.


request()

request(input): Promise<UiDialogResult<Output>>

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:147

Requests a value from this dialog.

Parameters

ParameterTypeDescription
inputInputInput parameters defining the request.

Returns

Promise<UiDialogResult<Output>>

A Promise which is fulfilled with the result of the request. The result will indicate whether the request was cancelled, and if the request was not cancelled, it will also contain the requested value.

Implementation of

UiDialogView.request


resetActiveInput()

protected resetActiveInput(key?, initialValue?, resetEditing?): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:178

Resets the active input.

Parameters

ParameterTypeDefault valueDescription
key?stringundefinedThe key of the input to set as the active input. Defaults to the key of the current active input.
initialValue?numberundefinedThe initial value to set on the new active input. If not defined, the new active input will retain its current value.
resetEditing?booleanfalseWhether to reset the editing state of this dialog, in effect resetting the Back/Cancel button on the button bar to Back. Defaults to false.

Returns

void


setBackButtonStyle()

protected setBackButtonStyle(style): void

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:124

Sets the style of this dialog's back/cancel button.

Parameters

ParameterTypeDescription
style"cancel" | "back"The style to set.

Returns

void


validateValueAndClose()

protected validateValueAndClose(): Promise<void>

Defined in: src/workingtitle-instruments-g3x-touch/html_ui/MFD/Dialogs/AbstractUiNumberDialog.tsx:261

Validates the currently selected value, and if valid sets the value to be returned for the currently pending request and closes this dialog.

Returns

Promise<void>