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

# TextHandler

> Handler for performing simple operations with text content.

## Classes

### TextHandler

#### Remarks

the TextWhizz is used as a text engine.

#### Implements

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

#### Constructors

##### Constructor

```ts
new TextHandler(
   tw, 
   textMeasurerHolder, 
   colorParser): TextHandler;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `tw` | [`ITextWhizzHolder`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextWhizzHolder.md#itextwhizzholder) |
| `textMeasurerHolder` | [`ITextMeasurerHolder`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextEngineWrapper.md#itextmeasurerholder) |
| `colorParser` | [`IColorParser`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/IColorParser.md#icolorparser) |

###### Returns

[`TextHandler`](#texthandler)

#### Accessors

##### textChangeEvent

###### Get Signature

```ts
get textChangeEvent(): EventObject<void>;
```

Text content change event.

###### Returns

`EventObject`\<`void`\>

Text content change event.

###### Implementation of

[`ITextHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#itexthandler).[`textChangeEvent`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#textchangeevent)

#### Methods

##### deleteAllText()

```ts
deleteAllText(): IPositionInText;
```

Deletes all text.

###### Returns

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

###### Implementation of

[`ITextHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#itexthandler).[`deleteAllText`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#deletealltext)

##### deleteTextByRange()

```ts
deleteTextByRange(textRange): IPositionInText;
```

Deletes text by range

###### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `textRange` | [`ITextRange`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextRange.md#itextrange) | text range. |

###### Returns

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

###### Implementation of

[`ITextHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#itexthandler).[`deleteTextByRange`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#deletetextbyrange)

##### deleteTextToDirection()

```ts
deleteTextToDirection(directionType): IPositionInText;
```

Deletes the selected text or character relative to the current cursor position.

###### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `directionType` | [`MoveDirectionType`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/MoveDirectionType.md#movedirectiontype) | direction of text deletion. |

###### Returns

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

###### Implementation of

[`ITextHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#itexthandler).[`deleteTextToDirection`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#deletetexttodirection)

##### getAllText()

```ts
getAllText(): ITextRange;
```

Returns all text.

###### Returns

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

###### Implementation of

[`ITextHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#itexthandler).[`getAllText`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#getalltext)

##### getFormattedText()

```ts
getFormattedText(): string;
```

Returns formatted text.

###### Returns

`string`

###### Implementation of

[`ITextHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#itexthandler).[`getFormattedText`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#getformattedtext)

##### getParagraphCount()

```ts
getParagraphCount(): number;
```

Returns paragraph count.

###### Returns

`number`

###### Implementation of

[`ITextHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#itexthandler).[`getParagraphCount`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#getparagraphcount)

##### getParagraphText()

```ts
getParagraphText(paragraphIndex): ITextRange;
```

Returns the text range of a paragraph by index.

###### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `paragraphIndex` | `any` | paragraph index (from 0). |

###### Returns

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

###### Implementation of

[`ITextHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#itexthandler).[`getParagraphText`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#getparagraphtext)

##### getTextModel()

```ts
getTextModel(): Text;
```

Returns the text model.

###### Returns

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

###### Implementation of

[`ITextHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#itexthandler).[`getTextModel`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#gettextmodel)

##### getTextRangeByPositions()

```ts
getTextRangeByPositions(startPosition, endPosition): ITextRange;
```

Returns the range of text by starting and ending position.

###### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `startPosition` | [`IPositionInText`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/IPositionInText.md#ipositionintext) | starting position. |
| `endPosition` | [`IPositionInText`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/IPositionInText.md#ipositionintext) | ending position. |

###### Returns

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

###### Implementation of

[`ITextHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#itexthandler).[`getTextRangeByPositions`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#gettextrangebypositions)

##### insertFormattedText()

```ts
insertFormattedText(text): void;
```

Inserts formatted text relative to the current cursor position.

###### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `text` | `string` | text to insert. |

###### Returns

`void`

###### Implementation of

[`ITextHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#itexthandler).[`insertFormattedText`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#insertformattedtext)

##### insertNewLine()

```ts
insertNewLine(): void;
```

Inserts a new line relative to the current cursor position.

###### Returns

`void`

###### Implementation of

[`ITextHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#itexthandler).[`insertNewLine`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#insertnewline)

##### insertPlainText()

```ts
insertPlainText(text): void;
```

Inserts plain text relative to the current cursor position.

###### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `text` | `string` | text to insert. |

###### Returns

`void`

###### Implementation of

[`ITextHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#itexthandler).[`insertPlainText`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#insertplaintext)

##### setTextFrames()

```ts
setTextFrames(data, isMeasureFrame): void;
```

Sets the frame of text.

###### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `data` | [`ITextFrameData`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextFrameData.md#itextframedata) | text frame data. |
| `isMeasureFrame` | `boolean` | indicates if the frame is needed for further measurement. |

###### Returns

`void`

###### Implementation of

[`ITextHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#itexthandler).[`setTextFrames`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#settextframes)

##### setTextModel()

```ts
setTextModel(model): void;
```

Sets the text model.

###### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `model` | [`Text`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/Text.md#text) | text model. |

###### Returns

`void`

###### Implementation of

[`ITextHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#itexthandler).[`setTextModel`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#settextmodel)

##### setWrappingPath()

```ts
setWrappingPath(data): void;
```

Sets the wrapping path.

###### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `data` | [`IWrappingPathData`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/IWrappingPathData.md#iwrappingpathdata) | wrapping path data. |

###### Returns

`void`

###### Implementation of

[`ITextHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#itexthandler).[`setWrappingPath`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-text/ITextHandler.md#setwrappingpath)
