---
title: "TextEditorController | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/TextEditorController/"
---

# TextEditorController

> Manages a text editor (TextWhizz or mobile versions).

## Classes

### TextEditorController

#### Remarks

The text editor is shared by item handlers, we get it from 'Canvas' entry. The TextWhizz is used as a text engine.

#### Implements

- [`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller)

#### Constructors

##### Constructor

```ts
new TextEditorController(
   itemHandler, 
   textWhizz, 
   textRenderer, 
   activeTextCanvasHandler, 
   viewerConfig, 
   fontRegistry, 
   colorParser, 
   textFormattingEnabled, 
   getTextEditor): TextEditorController;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `itemHandler` | [`NewBaseTextItemHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/NewBaseTextItemHandler.md#abstract-newbasetextitemhandler) |
| `textWhizz` | `any` |
| `textRenderer` | [`TextRenderer`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/TextRenderer.md#abstract-textrenderer) |
| `activeTextCanvasHandler` | [`IActiveTextCanvasHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/CanvasElementHandler.md#iactivetextcanvashandler) |
| `viewerConfig` | [`IViewerConfiguration`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/IViewerConfiguration.md#iviewerconfiguration) |
| `fontRegistry` | [`FontRegistry`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/FontRegistry.md#fontregistry) |
| `colorParser` | [`IColorParser`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/IColorParser.md#icolorparser) |
| `textFormattingEnabled` | `boolean` |
| `getTextEditor` | `Func`\<[ITextEditor](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditor.md)\> |

###### Returns

[`TextEditorController`](#texteditorcontroller)

#### Accessors

##### activeTextEditor

###### Get Signature

```ts
get activeTextEditor(): ITextEditor;
```

###### Returns

[ITextEditor](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditor.md)

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`activeTextEditor`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#activetexteditor)

##### canRedo

###### Get Signature

```ts
get canRedo(): boolean;
```

###### Returns

`boolean`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`canRedo`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#canredo)

##### canUndo

###### Get Signature

```ts
get canUndo(): boolean;
```

###### Returns

`boolean`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`canUndo`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#canundo)

##### enteredEditModeEvent

###### Get Signature

```ts
get enteredEditModeEvent(): EventWithSenderArg<TextEditorController, unknown>;
```

###### Returns

`EventWithSenderArg`\<[`TextEditorController`](#texteditorcontroller), `unknown`\>

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`enteredEditModeEvent`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#enterededitmodeevent)

##### exitedEditModeEvent

###### Get Signature

```ts
get exitedEditModeEvent(): EventWithSenderArg<TextEditorController, unknown>;
```

###### Returns

`EventWithSenderArg`\<[`TextEditorController`](#texteditorcontroller), `unknown`\>

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`exitedEditModeEvent`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#exitededitmodeevent)

##### failed

###### Get Signature

```ts
get failed(): boolean;
```

###### Returns

`boolean`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`failed`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#failed)

##### isActive

###### Get Signature

```ts
get isActive(): boolean;
```

###### Returns

`boolean`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`isActive`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#isactive)

##### isCropped

###### Get Signature

```ts
get isCropped(): boolean;
```

###### Returns

`boolean`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`isCropped`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#iscropped)

##### isInEdit

###### Get Signature

```ts
get isInEdit(): boolean;
```

###### Returns

`boolean`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`isInEdit`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#isinedit)

##### isMobile

###### Get Signature

```ts
get isMobile(): boolean;
```

###### Returns

`boolean`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`isMobile`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#ismobile)

##### isStatic

###### Get Signature

```ts
get isStatic(): boolean;
```

###### Returns

`boolean`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`isStatic`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#isstatic)

##### ready

###### Get Signature

```ts
get ready(): boolean;
```

###### Returns

`boolean`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`ready`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#ready)

#### Methods

##### bindToCanvas()

```ts
bindToCanvas(canvas): void;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `canvas` | [`ICanvas`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ICanvas.md#icanvas) |

###### Returns

`void`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`bindToCanvas`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#bindtocanvas)

##### clearText()

```ts
clearText(): void;
```

###### Returns

`void`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`clearText`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#cleartext)

##### dispose()

```ts
dispose(): void;
```

###### Returns

`void`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`dispose`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#dispose)

##### enterEditMode()

```ts
enterEditMode(x, y): Promise<void>;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `x` | `number` |
| `y` | `number` |

###### Returns

[`Promise`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/finally.md#promise)\<`void`\>

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`enterEditMode`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#entereditmode)

##### exitEditMode()

```ts
exitEditMode(isStayActive?): Promise<void>;
```

###### Parameters

| Parameter | Type | Default value |
| ------ | ------ | ------ |
| `isStayActive` | `boolean` | `false` |

###### Returns

[`Promise`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/finally.md#promise)\<`void`\>

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`exitEditMode`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#exiteditmode)

##### initialize()

```ts
initialize(): Promise<void>;
```

###### Returns

[`Promise`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/finally.md#promise)\<`void`\>

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`initialize`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#initialize)

##### measureText()

```ts
measureText(extendToBlackBox?): RectangleF;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `extendToBlackBox?` | `boolean` |

###### Returns

`RectangleF`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`measureText`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#measuretext)

##### measureTextFrame()

```ts
measureTextFrame(useActiveText?): RectangleF;
```

###### Parameters

| Parameter | Type | Default value |
| ------ | ------ | ------ |
| `useActiveText` | `boolean` | `false` |

###### Returns

`RectangleF`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`measureTextFrame`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#measuretextframe)

##### processKeyEvent()

```ts
processKeyEvent(e): Promise<boolean>;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `e` | [`IKeyboardEventParams`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/IInputManager.md#ikeyboardeventparams) |

###### Returns

[`Promise`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/finally.md#promise)\<`boolean`\>

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`processKeyEvent`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#processkeyevent)

##### processMouseEvent()

```ts
processMouseEvent(pointerParams, mouseOverCurrent): Promise<boolean>;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `pointerParams` | [`IPointerParams`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/IInputManager.md#ipointerparams) |
| `mouseOverCurrent` | `boolean` |

###### Returns

[`Promise`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/finally.md#promise)\<`boolean`\>

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`processMouseEvent`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#processmouseevent)

##### redo()

```ts
redo(): void;
```

###### Returns

`void`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`redo`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#redo)

##### redrawActiveText()

```ts
redrawActiveText(): void;
```

###### Returns

`void`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`redrawActiveText`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#redrawactivetext)

##### redrawText()

```ts
redrawText(): void;
```

###### Returns

`void`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`redrawText`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#redrawtext)

##### staticTextImageChanged()

```ts
staticTextImageChanged(handler): void;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `handler` | [`StaticTextChangedHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#statictextchangedhandler) |

###### Returns

`void`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`staticTextImageChanged`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#statictextimagechanged)

##### staticTextImageChanged()

```ts
staticTextImageChanged(handler): void;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `handler` | [`StaticTextChangedHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#statictextchangedhandler) |

###### Returns

`void`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`staticTextImageChanged`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#statictextimagechanged-1)

##### transformText()

```ts
transformText(transform): void;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `transform` | `Transform` |

###### Returns

`void`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`transformText`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#transformtext)

##### unbindFromCanvas()

```ts
unbindFromCanvas(): void;
```

###### Returns

`void`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`unbindFromCanvas`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#unbindfromcanvas)

##### undo()

```ts
undo(): void;
```

###### Returns

`void`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`undo`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#undo)

##### updateItemHandler()

```ts
updateItemHandler(newFrame?): void;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `newFrame?` | `RectangleF` |

###### Returns

`void`

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`updateItemHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#updateitemhandler)

##### updateText()

```ts
updateText(trigger, force?): Promise<void>;
```

###### Parameters

| Parameter | Type | Default value |
| ------ | ------ | ------ |
| `trigger` | `string` | `undefined` |
| `force` | `boolean` | `false` |

###### Returns

[`Promise`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/finally.md#promise)\<`void`\>

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`updateText`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#updatetext)

##### waitUpdate()

```ts
waitUpdate(): Promise<void>;
```

###### Returns

[`Promise`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/finally.md#promise)\<`void`\>

###### Implementation of

[`ITextEditorController`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#itexteditorcontroller).[`waitUpdate`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ITextEditorController.md#waitupdate)
