Class: CursorInput<M>
Defined in: workingtitle-instruments-g3000/html_ui/GTC/Components/CursorInput/CursorInput.tsx:101
An input display with a scrolling cursor.
Each input has zero or more child slots of type CursorInputSlot (though to be practically useful, at least one slot is required). When editing is active, the input's cursor selects either one slot or one character (a slot may have more than one character) at a time. The input supports incrementing or decrementing the value of a selected slot, or directly setting/deleting the value of a selected character.
Each input is bound to a composite value. This value is computed from the values of the input's individual slots, and vice versa, so that changes in either will be reflected in the other.
Extends
DisplayComponent
<CursorInputProps
<M
>>
Type Parameters
Type Parameter |
---|
M extends MutableSubscribable <any > |
Constructors
Constructor
new CursorInput<
M
>(props
):CursorInput
<M
>
Defined in: sdk/components/FSComponent.ts:73
Creates an instance of a DisplayComponent.
Parameters
Parameter | Type | Description |
---|---|---|
props | CursorInputProps | The propertis of the component. |
Returns
CursorInput
<M
>
Inherited from
DisplayComponent<CursorInputProps<M>>.constructor
Properties
context?
optional
context: [] =undefined
Defined in: sdk/components/FSComponent.ts:64
The context on this component, if any.
Inherited from
DisplayComponent.context
contextType?
readonly
optional
contextType: readonly [] =undefined
Defined in: sdk/components/FSComponent.ts:67
The type of context for this component, if any.
Inherited from
DisplayComponent.contextType
cursorPosition
readonly
cursorPosition:Subscribable
<number
>
Defined in: workingtitle-instruments-g3000/html_ui/GTC/Components/CursorInput/CursorInput.tsx:157
The index of the character position currently selected by this input's cursor.
isEditingActive
readonly
isEditingActive:Subscribable
<boolean
>
Defined in: workingtitle-instruments-g3000/html_ui/GTC/Components/CursorInput/CursorInput.tsx:161
Whether editing is active for this input.
isSelectionPerSlot
readonly
isSelectionPerSlot:Subscribable
<boolean
>
Defined in: workingtitle-instruments-g3000/html_ui/GTC/Components/CursorInput/CursorInput.tsx:165
Whether this input's cursor selection mode is per-slot.
props
props:
CursorInputProps
<M
> &ComponentProps
Defined in: sdk/components/FSComponent.ts:61
The properties of the component.
Inherited from
DisplayComponent.props
Methods
activateEditing()
activateEditing(
isSelectionPerSlot
,charToSet?
):boolean
Defined in: workingtitle-instruments-g3000/html_ui/GTC/Components/CursorInput/CursorInput.tsx:358
Activates editing for this input.
Parameters
Parameter | Type | Description |
---|---|---|
isSelectionPerSlot | boolean | Whether cursor selection should be initialized to per-slot mode. If false , cursor selection will be initialized to per-character mode instead. |
charToSet? | null | string | The value to set at the cursor's selected character position as the initial edit. If defined and the character position cannot accept the value, editing will not be activated. Ignored if isSelectionPerSlot is true . |
Returns
boolean
Whether editing is active.
Throws
Error if this input is not initialized.
backspace()
backspace(
selectionPerSlot?
):void
Defined in: workingtitle-instruments-g3000/html_ui/GTC/Components/CursorInput/CursorInput.tsx:724
Removes the character at the cursor's current position. If backfill is allowed, this will also shift all non-empty characters to the left of the cursor's current position one position to the right. If backfill is not allowed, this will shift the cursor one position to the left after the character is removed.
Parameters
Parameter | Type | Description |
---|---|---|
selectionPerSlot? | boolean | The selection per slot state to apply before carrying out the backspace operation. If not defined, the selection per slot state will remain unchanged from its current value. |
Returns
void
Throws
Error if this input is not initialized.
changeSlotValue()
changeSlotValue(
direction
):boolean
Defined in: workingtitle-instruments-g3000/html_ui/GTC/Components/CursorInput/CursorInput.tsx:593
Increments or decrements the value of the slot currently selected by the cursor. If editing is not active, it will be activated instead of changing any slot value. If cursor selection is in per-character mode, it will be forced to per-slot mode. If the cursor is past the last slot, this method does nothing.
Parameters
Parameter | Type | Description |
---|---|---|
direction | -1 | 1 | The direction in which to change the slot value (1 = increment, -1 = decrement). |
Returns
boolean
Whether the value of the slot was changed.
Throws
Error if this input is not initialized.
deactivateEditing()
deactivateEditing():
void
Defined in: workingtitle-instruments-g3000/html_ui/GTC/Components/CursorInput/CursorInput.tsx:410
Deactivates editing for this input.
Returns
void
Throws
Error if this input is not initialized.
destroy()
destroy():
void
Defined in: workingtitle-instruments-g3000/html_ui/GTC/Components/CursorInput/CursorInput.tsx:996
Returns
void
Inherit Doc
Overrides
DisplayComponent.destroy
getContext()
protected
getContext(context
):never
Defined in: sdk/components/FSComponent.ts:106
Gets a context data subscription from the context collection.
Parameters
Parameter | Type | Description |
---|---|---|
context | never | The 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
DisplayComponent.getContext
isInitialized()
isInitialized():
boolean
Defined in: workingtitle-instruments-g3000/html_ui/GTC/Components/CursorInput/CursorInput.tsx:275
Checks whether this input is initialized.
Returns
boolean
Whether this input is initialized.
moveCursor()
moveCursor(
direction
,forceSelectionPerSlot
):void
Defined in: workingtitle-instruments-g3000/html_ui/GTC/Components/CursorInput/CursorInput.tsx:428
Moves the cursor.
Parameters
Parameter | Type | Description |
---|---|---|
direction | -1 | 1 | The direction in which to move (1 = to the right, -1 = to the left). |
forceSelectionPerSlot | boolean | Whether to force cursor selection to per slot mode. |
Returns
void
Throws
Error if this input is not initialized.
onAfterRender()
onAfterRender():
void
Defined in: workingtitle-instruments-g3000/html_ui/GTC/Components/CursorInput/CursorInput.tsx:178
Returns
void
Inherit Doc
Overrides
DisplayComponent.onAfterRender
onBeforeRender()
onBeforeRender():
void
Defined in: sdk/components/FSComponent.ts:80
A callback that is called before the component is rendered.
Returns
void
Inherited from
DisplayComponent.onBeforeRender
placeCursor()
placeCursor(
index
,forceSelectionPerSlot
):void
Defined in: workingtitle-instruments-g3000/html_ui/GTC/Components/CursorInput/CursorInput.tsx:561
Places the cursor at a specific character position.
Parameters
Parameter | Type | Description |
---|---|---|
index | number | The index of the character position at which to place the cursor. |
forceSelectionPerSlot | boolean | Whether to force cursor selection to per slot mode. |
Returns
void
Throws
Error if this input is not initialized.
Throws
RangeError if index
does not point to a valid character position.
populateCharsFromValue()
populateCharsFromValue():
void
Defined in: workingtitle-instruments-g3000/html_ui/GTC/Components/CursorInput/CursorInput.tsx:855
Populates all of this input's character positions with non-empty values, if possible, using this input's value digitizer function and the current composite value as a template.
Returns
void
refresh()
refresh():
void
Defined in: workingtitle-instruments-g3000/html_ui/GTC/Components/CursorInput/CursorInput.tsx:864
Refreshes this input, updating the size and position of the cursor.
Returns
void
render()
render():
VNode
Defined in: workingtitle-instruments-g3000/html_ui/GTC/Components/CursorInput/CursorInput.tsx:969
Returns
VNode
Inherit Doc
Overrides
DisplayComponent.render
setSlotCharacterValue()
setSlotCharacterValue(
value
):boolean
Defined in: workingtitle-instruments-g3000/html_ui/GTC/Components/CursorInput/CursorInput.tsx:631
Sets the value of the slot character currently selected by the cursor. If editing is not active, it will be activated before setting the value (unless the selected character cannot accept the value, in which case the operation will be aborted). If cursor selection is in per-slot mode, it will be forced to per-character mode, and the first character of the slot will be selected before setting the value. If the cursor is past the last slot, this method does nothing.
Parameters
Parameter | Type | Description |
---|---|---|
value | string | The value to set. |
Returns
boolean
Whether the operation was accepted.
Throws
Error if this input is not initialized.
setValue()
setValue(
value
):SubscribableType
<M
>
Defined in: workingtitle-instruments-g3000/html_ui/GTC/Components/CursorInput/CursorInput.tsx:289
Sets the composite value of this input. As part of the operation, all of this input's child slots will have their values set according to this input's value digitizer, and all slot characters will be set to non-null representations of their slot's value, if possible. The composite value of this input after the operation is complete may differ from the requested value depending on whether the requested value can be accurately represented by this input.
Parameters
Parameter | Type | Description |
---|---|---|
value | SubscribableType <M > | The new composite value. |
Returns
SubscribableType
<M
>
The composite value of this input after the operation is complete.
Throws
Error if this input is not initialized.