Skip to content

editor › Globals › UserInputHint

Class: UserInputHint

Hint that shows an editable text describing something (a length, an angle) to the user.

Hierarchy

↳ UserInputHint

Index

Constructors

Properties

Methods

Object literals

Constructors

constructor

+ new UserInputHint(assembly: Assembly, userInputHandler?: IUserInputHandler): UserInputHint

Overrides FilterableHint.constructor

Defined in src/renderContext/hints/UserInputHint.ts:66

Parameters:

Name Type
assembly Assembly
userInputHandler? IUserInputHandler

Returns: UserInputHint

Properties

Private _hasFullFocus

• _hasFullFocus: boolean = false

Defined in src/renderContext/hints/UserInputHint.ts:62


Private alignHorizontal

• alignHorizontal: HorizontalAlignment = HorizontalAlignment.LEFT

Defined in src/renderContext/hints/UserInputHint.ts:65


Private alignVertical

• alignVertical: VerticalAlignment = VerticalAlignment.CENTER

Defined in src/renderContext/hints/UserInputHint.ts:66


Protected assembly

• assembly: Assembly | null

Inherited from FilterableHint.assembly

Defined in src/renderContext/hints/Hint.ts:38


Protected children

• children: Hint[] = []

Inherited from FilterableHint.children

Defined in src/renderContext/hints/Hint.ts:37


Protected destroyed

• destroyed: boolean = false

Inherited from FilterableHint.destroyed

Defined in src/renderContext/hints/Hint.ts:36


Protected domNode

• domNode: HTMLElement | null = null

Inherited from FilterableHint.domNode

Defined in src/renderContext/hints/Hint.ts:33


Protected Readonly externalChangeEventEmitter

• externalChangeEventEmitter: EventEmitter‹number | any[] | [number, number, EdgeHint‹›] | [number, Hint‹›] | [number, number, RoundEdgeHint‹›]› = new EventEmitter< [number, number, EdgeHint] | [number, Hint] | number | [number, number, RoundEdgeRadiusHint] | any[]

()

Inherited from FilterableHint.externalChangeEventEmitter

Defined in src/renderContext/hints/Hint.ts:43


Protected fullFocusChangeEventEmitter

• fullFocusChangeEventEmitter: EventEmitter‹boolean› = new EventEmitter()

Defined in src/renderContext/hints/UserInputHint.ts:55


Protected input

• input: HTMLInputElement | null = null

Defined in src/renderContext/hints/UserInputHint.ts:53


Protected manager

• manager: any = null

Inherited from FilterableHint.manager

Defined in src/renderContext/hints/Hint.ts:34


Private position

• position: Vector3 = new Vector3()

Defined in src/renderContext/hints/UserInputHint.ts:64


Protected scale

• scale: number = 1

Inherited from FilterableHint.scale

Defined in src/renderContext/hints/Hint.ts:47


Protected text

• text: string | null = null

Defined in src/renderContext/hints/UserInputHint.ts:52


Protected threeMaterial

• threeMaterial: Material | null = null

Inherited from FilterableHint.threeMaterial

Defined in src/renderContext/hints/Hint.ts:48


Protected threeNode

• threeNode: Object3D | null = null

Inherited from FilterableHint.threeNode

Defined in src/renderContext/hints/Hint.ts:39


Protected Readonly unitConversionErrorEventEmitter

• unitConversionErrorEventEmitter: EventEmitter‹void› = new EventEmitter()

Inherited from FilterableHint.unitConversionErrorEventEmitter

Defined in src/renderContext/hints/Hint.ts:46


Protected userInputHandler

• userInputHandler: IUserInputHandler

Defined in src/renderContext/hints/UserInputHint.ts:56


Protected visible

• visible: boolean = true

Inherited from FilterableHint.visible

Defined in src/renderContext/hints/Hint.ts:35

Methods

Protected _applyDOMScale

▸ _applyDOMScale(): void

Inherited from FilterableHint._applyDOMScale

Defined in src/renderContext/hints/Hint.ts:406

Returns: void


Protected _applyVisibility

▸ _applyVisibility(): void

Inherited from FilterableHint._applyVisibility

Defined in src/renderContext/hints/Hint.ts:391

Returns: void


Protected _getHasFullFocus

▸ _getHasFullFocus(): boolean

Defined in src/renderContext/hints/UserInputHint.ts:284

Returns: boolean


Private _getText

▸ _getText(): string

Defined in src/renderContext/hints/UserInputHint.ts:294

Returns: string


Protected _isValidFirstInput

▸ _isValidFirstInput(keyDownEvent: KeyboardEvent): boolean

Defined in src/renderContext/hints/UserInputHint.ts:268

Called when the input is semi-focussed and a keydown event happens. Should return true if the event indicates that the user really wanted to write something into the hint, false otherwise.

Parameters:

Name Type Description
keyDownEvent KeyboardEvent The keyboard event to judge

Returns: boolean


Protected _onExternalChange

▸ _onExternalChange(args: any[]): any[]

Inherited from FilterableHint._onExternalChange

Defined in src/renderContext/hints/Hint.ts:380

propagate event fired by child

Parameters:

Name Type
args any[]

Returns: any[]


Protected _onUnitConversionError

▸ _onUnitConversionError(): any[]

Inherited from FilterableHint._onUnitConversionError

Defined in src/renderContext/hints/Hint.ts:387

propagate event fired by child

Returns: any[]


Protected _projectAssemblyToCanvas

▸ _projectAssemblyToCanvas(point: Vector3): Vector3

Inherited from FilterableHint._projectAssemblyToCanvas

Defined in src/renderContext/hints/Hint.ts:373

Parameters:

Name Type
point Vector3

Returns: Vector3


Protected _setHasFullFocus

▸ _setHasFullFocus(value: boolean): void

Defined in src/renderContext/hints/UserInputHint.ts:287

Parameters:

Name Type
value boolean

Returns: void


Private _updatePosition

▸ _updatePosition(): void

Defined in src/renderContext/hints/UserInputHint.ts:305

Returns: void


Private _updateText

▸ _updateText(): void

Defined in src/renderContext/hints/UserInputHint.ts:298

Returns: void


Private _updateTextOffset

▸ _updateTextOffset(): void

Defined in src/renderContext/hints/UserInputHint.ts:310

Returns: void


Protected _userInputFinished

▸ _userInputFinished(keyDownEvent: KeyboardEvent): void

Defined in src/renderContext/hints/UserInputHint.ts:278

Called when the user enters a text and confirms that with 'Enter'.

Parameters:

Name Type Description
keyDownEvent KeyboardEvent The keyboard event that triggered this function call.

Returns: void


add

▸ add(child: Hint): void

Inherited from FilterableHint.add

Defined in src/renderContext/hints/Hint.ts:182

This adds a child hint to this hint. Using this method takes care of calling all required setters on the child hint.

Parameters:

Name Type
child Hint

Returns: void


cancelFade

▸ cancelFade(): void

Inherited from FilterableHint.cancelFade

Defined in src/renderContext/hints/Hint.ts:348

Returns: void


destroy

▸ destroy(): void

Overrides FilterableHint.destroy

Defined in src/renderContext/hints/UserInputHint.ts:97

Returns: void


fadeOut

▸ fadeOut(duration: number, delay: number): KyubAnimation‹any›

Inherited from FilterableHint.fadeOut

Defined in src/renderContext/hints/Hint.ts:317

Start a fade animation. If one is already ongoing, that animation is canceled before starting the new animation.

Parameters:

Name Type Default Description
duration number - in ms
delay number 0 in ms

Returns: KyubAnimation‹any›

the animation that is used to fade the THREE.js part of this hint. This animation still needs to be started (by passing it to the RenderContext).


focus

▸ focus(): void

Overrides FilterableHint.focus

Defined in src/renderContext/hints/UserInputHint.ts:177

Set focus to this hint. We want to only go into a semi-focussed state on this, full focus will be granted when a user input happens that indicates that the user really wanted this.

Returns: void


getAssembly

▸ getAssembly(): Assembly | null

Inherited from FilterableHint.getAssembly

Defined in src/renderContext/hints/Hint.ts:224

Returns: Assembly | null


getChildren

▸ getChildren(): Hint[]

Inherited from FilterableHint.getChildren

Defined in src/renderContext/hints/Hint.ts:257

Returns: Hint[]


getDOMNode

▸ getDOMNode(): HTMLElement | null

Inherited from FilterableHint.getDOMNode

Defined in src/renderContext/hints/Hint.ts:286

Returns: HTMLElement | null


getDimensions

▸ getDimensions(): IDimensions2

Defined in src/renderContext/hints/UserInputHint.ts:242

Returns a fast estimation of the width and height, used for filtering hints.

Returns: IDimensions2


getExternalChangeEventEmitter

▸ getExternalChangeEventEmitter(): IPublicEventEmitterInterface‹number | any[] | [number, number, EdgeHint‹›] | [number, Hint‹›] | [number, number, RoundEdgeHint‹›]›

Inherited from FilterableHint.getExternalChangeEventEmitter

Defined in src/renderContext/hints/Hint.ts:64

Returns: IPublicEventEmitterInterface‹number | any[] | [number, number, EdgeHint‹›] | [number, Hint‹›] | [number, number, RoundEdgeHint‹›]›


getFullFocusChangeEventEmitter

▸ getFullFocusChangeEventEmitter(): IPublicEventEmitterInterface‹boolean›

Defined in src/renderContext/hints/UserInputHint.ts:259

Returns: IPublicEventEmitterInterface‹boolean›


getScale

▸ getScale(): number

Inherited from FilterableHint.getScale

Defined in src/renderContext/hints/Hint.ts:261

Returns: number


getThreeNode

▸ getThreeNode(): Object3D

Inherited from FilterableHint.getThreeNode

Defined in src/renderContext/hints/Hint.ts:290

Returns: Object3D


getUnitConversionErrorEventEmitter

▸ getUnitConversionErrorEventEmitter(): IPublicEventEmitterInterface‹void›

Inherited from FilterableHint.getUnitConversionErrorEventEmitter

Defined in src/renderContext/hints/Hint.ts:68

Returns: IPublicEventEmitterInterface‹void›


hasMaterial

▸ hasMaterial(): boolean

Inherited from FilterableHint.hasMaterial

Defined in src/renderContext/hints/Hint.ts:162

Returns: boolean


hide

▸ hide(): void

Inherited from FilterableHint.hide

Defined in src/renderContext/hints/Hint.ts:269

Returns: void


initDOMNode

▸ initDOMNode(): void

Overrides FilterableHint.initDOMNode

Defined in src/renderContext/hints/UserInputHint.ts:78

Returns: void


initThreeNode

▸ initThreeNode(): void

Inherited from FilterableHint.initThreeNode

Defined in src/renderContext/hints/Hint.ts:80

This method is called, before the Hint is rendered. Note: It may be called multiple times on the same Hint instance.

Returns: void


isToolHint

▸ isToolHint(): boolean

Inherited from FilterableHint.isToolHint

Defined in src/renderContext/hints/Hint.ts:174

Returns: boolean


isValid

▸ isValid(): boolean

Inherited from FilterableHint.isValid

Defined in src/renderContext/hints/Hint.ts:232

The hint may use this to indicate that the object it annotates no longer exists.

Returns: boolean

Whether or not the hint is (still) valid.


isVisible

▸ isVisible(): boolean

Inherited from FilterableHint.isVisible

Defined in src/renderContext/hints/Hint.ts:282

Returns: boolean


makeInteractable

▸ makeInteractable(): void

Inherited from FilterableHint.makeInteractable

Defined in src/renderContext/hints/Hint.ts:133

Makes this hint interactable. That means that tools that can work with hints will be provided with this instance if the user interacts with it.

Returns: void


onInputBlur

▸ onInputBlur(): void

Defined in src/renderContext/hints/UserInputHint.ts:196

Returns: void


onInputClick

▸ onInputClick(): void

Defined in src/renderContext/hints/UserInputHint.ts:235

Click on the input element happened.

Returns: void


onInputKeyDown

▸ onInputKeyDown(event: KeyboardEvent): void

Defined in src/renderContext/hints/UserInputHint.ts:200

Parameters:

Name Type
event KeyboardEvent

Returns: void


remove

▸ remove(child: Hint): void

Inherited from FilterableHint.remove

Defined in src/renderContext/hints/Hint.ts:204

This removes a child hint from this hint.

Parameters:

Name Type
child Hint

Returns: void


removeAllListeners

▸ removeAllListeners(): void

Inherited from FilterableHint.removeAllListeners

Defined in src/renderContext/hints/Hint.ts:72

Returns: void


setAlignHorizontal

▸ setAlignHorizontal(align: HorizontalAlignment): this

Defined in src/renderContext/hints/UserInputHint.ts:158

Sets the horizontal alignment (chainable). Call to update() required.

Parameters:

Name Type Description
align HorizontalAlignment Must be 'left', 'right' or 'center'

Returns: this

this for chaining


setAlignVertical

▸ setAlignVertical(align: VerticalAlignment): this

Defined in src/renderContext/hints/UserInputHint.ts:148

Sets the vertical alignment (chainable). Call to update() required.

Parameters:

Name Type Description
align VerticalAlignment Must be 'top', 'bottom' or 'center'

Returns: this

this for chaining


setAssembly

▸ setAssembly(assembly: Assembly): void

Inherited from FilterableHint.setAssembly

Defined in src/renderContext/hints/Hint.ts:220

Set the assembly this hint belongs to

Parameters:

Name Type Description
assembly Assembly assembly

Returns: void


setCanvasSizeGetter

▸ setCanvasSizeGetter(getCanvasSize: function): void

Inherited from FilterableHint.setCanvasSizeGetter

Defined in src/renderContext/hints/Hint.ts:298

Parameters:

▪ getCanvasSize: function

▸ (): IDimensions2

Returns: void


setConversionMethod

▸ setConversionMethod(worldToCanvas: function): void

Inherited from FilterableHint.setConversionMethod

Defined in src/renderContext/hints/Hint.ts:294

Parameters:

▪ worldToCanvas: function

▸ (worldPosition: Vector3): Vector3

Parameters:

Name Type
worldPosition Vector3

Returns: void


setFontSize

▸ setFontSize(fontSize: number): void

Inherited from FilterableHint.setFontSize

Defined in src/renderContext/hints/Hint.ts:248

Set the font size in px.

Parameters:

Name Type Default Description
fontSize number Config.get("hints.fontSize") -

Returns: void


setManager

▸ setManager(manager: HintManager): void

Inherited from FilterableHint.setManager

Defined in src/renderContext/hints/Hint.ts:140

Parameters:

Name Type
manager HintManager

Returns: void


setMaterial

▸ setMaterial(material: MeshBasicMaterial): void

Overrides FilterableHint.setMaterial

Defined in src/renderContext/hints/UserInputHint.ts:166

This overrides the method to adjust the text appearance to the material that is applied to the threeNode.

Parameters:

Name Type
material MeshBasicMaterial

Returns: void


setOpacity

▸ setOpacity(opacity: number): void

Inherited from FilterableHint.setOpacity

Defined in src/renderContext/hints/Hint.ts:363

Parameters:

Name Type
opacity number

Returns: void


setPosition

▸ setPosition(position: Vector3, canvasSpace: true): this

Defined in src/renderContext/hints/UserInputHint.ts:134

Sets the position in assembly or canvas space (chainable). Call to update() required.

Parameters:

Name Type Description
position Vector3 The position where the text should be aligned at
canvasSpace true Whether position should be interpreted as canvas space (true) or assembly space (false)

Returns: this

this for chaining


setScale

▸ setScale(scale: number): void

Inherited from FilterableHint.setScale

Defined in src/renderContext/hints/Hint.ts:236

Parameters:

Name Type
scale number

Returns: void


setText

▸ setText(text: string): this

Defined in src/renderContext/hints/UserInputHint.ts:113

Sets the text (chainable). Call to update() required.

Parameters:

Name Type Description
text string The text to display

Returns: this

this for chaining


setToolHint

▸ setToolHint(isToolHint: boolean): void

Inherited from FilterableHint.setToolHint

Defined in src/renderContext/hints/Hint.ts:170

Sets whether this hint is a tool hint. Tool hints will be cleared when another tool is selected

Parameters:

Name Type Description
isToolHint boolean Whether this hint belongs to a tool

Returns: void


setValue

▸ setValue(value: string | number): this

Defined in src/renderContext/hints/UserInputHint.ts:122

changes the value that gets displayed

Parameters:

Name Type Description
value string | number the new value in the same unit as the current one.

Returns: this


setVisible

▸ setVisible(visible: boolean): void

Inherited from FilterableHint.setVisible

Defined in src/renderContext/hints/Hint.ts:277

Parameters:

Name Type
visible boolean

Returns: void


show

▸ show(): void

Inherited from FilterableHint.show

Defined in src/renderContext/hints/Hint.ts:265

Returns: void


update

▸ update(): void

Overrides FilterableHint.update

Defined in src/renderContext/hints/UserInputHint.ts:190

Apply changes to text, position and text position to the rendered instance.

Returns: void

Object literals

Static Readonly angleInputHandler

▪ angleInputHandler: object

Defined in src/renderContext/hints/UserInputHint.ts:43

getEndOfSelection

▸ getEndOfSelection(text: string): number

Defined in src/renderContext/hints/UserInputHint.ts:44

Parameters:

Name Type
text string

Returns: number

getValuesToEmitOnExternalChange

▸ getValuesToEmitOnExternalChange(currentText: string, newText: string): number[]

Defined in src/renderContext/hints/UserInputHint.ts:45

Parameters:

Name Type
currentText string
newText string

Returns: number[]


Static Readonly dummyInputHandler

▪ dummyInputHandler: object

Defined in src/renderContext/hints/UserInputHint.ts:29

getEndOfSelection

▸ getEndOfSelection(text: string): number

Defined in src/renderContext/hints/UserInputHint.ts:30

Parameters:

Name Type
text string

Returns: number

getValuesToEmitOnExternalChange

▸ getValuesToEmitOnExternalChange(currentText: string, newText: string): string[]

Defined in src/renderContext/hints/UserInputHint.ts:31

Parameters:

Name Type
currentText string
newText string

Returns: string[]


Static Readonly lengthInputHandler

▪ lengthInputHandler: object

Defined in src/renderContext/hints/UserInputHint.ts:33

getEndOfSelection

▸ getEndOfSelection(text: string): number

Defined in src/renderContext/hints/UserInputHint.ts:34

Parameters:

Name Type
text string

Returns: number

getValuesToEmitOnExternalChange

▸ getValuesToEmitOnExternalChange(currentText: string, newText: string): number[]

Defined in src/renderContext/hints/UserInputHint.ts:35

Parameters:

Name Type
currentText string
newText string

Returns: number[]


Static Readonly scaleInputHandler

▪ scaleInputHandler: object

Defined in src/renderContext/hints/UserInputHint.ts:47

getEndOfSelection

▸ getEndOfSelection(text: string): number

Defined in src/renderContext/hints/UserInputHint.ts:48

Parameters:

Name Type
text string

Returns: number

getValuesToEmitOnExternalChange

▸ getValuesToEmitOnExternalChange(currentText: string, newText: string): number[]

Defined in src/renderContext/hints/UserInputHint.ts:49

Parameters:

Name Type
currentText string
newText string

Returns: number[]