Tldraw/docs/gen/PlopManager-class.mdx

705 wiersze
9.3 KiB
Markdown

---
title: PlopManager
status: published
category: editor
group: Class
author: api
date: 06/23/2023
order: 89
---<Small>Public Class</Small>
<details>
<summary>Table of Contents</summary>
- [Properties](#properties)
- [editor](#PlopManager-editor-member)
- [handleContent](#PlopManager-handleContent-member)
- [handleUrl](#PlopManager-handleUrl-member)
- [Methods](#methods)
- [createAssetFromFile](#PlopManager-createAssetFromFile-member-1)
- [createAssetFromUrl](#PlopManager-createAssetFromUrl-member-1)
- [createShapesForAssets](#PlopManager-createShapesForAssets-member-1)
- [handleEmbed](#PlopManager-handleEmbed-member-1)
- [handleFiles](#PlopManager-handleFiles-member-1)
- [handleSvgText](#PlopManager-handleSvgText-member-1)
- [handleText](#PlopManager-handleText-member-1)
</details>
##### Signature
```ts
class ExternalContentManager {}
```
---
### `Constructor`
<Small>Public Constructor</Small>
Constructs a new instance of the `ExternalContentManager` class
##### Parameters
<ParametersTable>
<ParametersTableRow>
<ParametersTableName>
`editor`
</ParametersTableName>
<ParametersTableDescription>
```ts
Editor
```
</ParametersTableDescription>
</ParametersTableRow>
</ParametersTable>
##### References
[Editor](/gen/editor/Editor-class)
---
## Properties
### `editor` \{#PlopManager-editor-member}
<Small>Public Property</Small>
##### Signature
```ts
editor: Editor
```
##### References
[Editor](/gen/editor/Editor-class)
---
### `handleContent` \{#PlopManager-handleContent-member}
<Small>Public Property</Small>
##### Signature
```ts
handleContent: (info: TLExternalContent) => Promise<void>
```
##### References
[TLExternalContent](/gen/editor/TLExternalContent-type), [Promise](/gen/Promise-interface)
---
### `handleUrl` \{#PlopManager-handleUrl-member}
<Small>Public Property</Small>
Handle urls from an external source. Feeling lucky? Overwrite this at runtime to change the way this type of external content is handled.
##### Example
```ts
editor.this.handleUrl = myCustomMethod
```
##### Parameters
<ParametersTable>
<ParametersTableRow>
<ParametersTableName>
`editor`
</ParametersTableName>
<ParametersTableDescription>
The editor instance
</ParametersTableDescription>
</ParametersTableRow>
<ParametersTableRow>
<ParametersTableName>
`info`
</ParametersTableName>
<ParametersTableDescription>
The info object describing the external content.
</ParametersTableDescription>
</ParametersTableRow>
</ParametersTable>
##### Signature
```ts
handleUrl: (
editor: Editor,
{
point,
url,
}: Extract<
TLExternalContent,
{
type: 'url'
}
>
) => Promise<void>
```
##### References
[Editor](/gen/editor/Editor-class), [Extract](/gen/Extract-type), [TLExternalContent](/gen/editor/TLExternalContent-type), [Promise](/gen/Promise-interface)
---
## Methods
### `createAssetFromFile()` \{#PlopManager-createAssetFromFile-member-1}
<Small>Public Method</Small>
Override this method to change how assets are created from files.
##### Parameters
<ParametersTable>
<ParametersTableRow>
<ParametersTableName>
`_editor`
</ParametersTableName>
<ParametersTableDescription>
```ts
Editor
```
</ParametersTableDescription>
</ParametersTableRow>
<ParametersTableRow>
<ParametersTableName>
`file`
</ParametersTableName>
<ParametersTableDescription>
```ts
File
```
The file to create the asset from.
</ParametersTableDescription>
</ParametersTableRow>
</ParametersTable>
##### Returns
```ts
Promise<TLAsset>
```
##### References
[Editor](/gen/editor/Editor-class), [File](/gen/File-interface), [Promise](/gen/Promise-interface), [TLAsset](/gen/tlschema/TLAsset-type)
---
### `createAssetFromUrl()` \{#PlopManager-createAssetFromUrl-member-1}
<Small>Public Method</Small>
Override me to change the way assets are created from urls.
##### Parameters
<ParametersTable>
<ParametersTableRow>
<ParametersTableName>
`_editor`
</ParametersTableName>
<ParametersTableDescription>
```ts
Editor
```
</ParametersTableDescription>
</ParametersTableRow>
<ParametersTableRow>
<ParametersTableName>
`url`
</ParametersTableName>
<ParametersTableDescription>
```ts
string
```
The url to create the asset from
</ParametersTableDescription>
</ParametersTableRow>
</ParametersTable>
##### Returns
```ts
Promise<TLAsset>
```
##### References
[Editor](/gen/editor/Editor-class), [Promise](/gen/Promise-interface), [TLAsset](/gen/tlschema/TLAsset-type)
---
### `createShapesForAssets()` \{#PlopManager-createShapesForAssets-member-1}
<Small>Public Method</Small>
##### Parameters
<ParametersTable>
<ParametersTableRow>
<ParametersTableName>
`editor`
</ParametersTableName>
<ParametersTableDescription>
```ts
Editor
```
</ParametersTableDescription>
</ParametersTableRow>
<ParametersTableRow>
<ParametersTableName>
`assets`
</ParametersTableName>
<ParametersTableDescription>
```ts
TLAsset[]
```
</ParametersTableDescription>
</ParametersTableRow>
<ParametersTableRow>
<ParametersTableName>
`position`
</ParametersTableName>
<ParametersTableDescription>
```ts
VecLike
```
</ParametersTableDescription>
</ParametersTableRow>
</ParametersTable>
##### Returns
```ts
Promise<void>
```
##### References
[Editor](/gen/editor/Editor-class), [TLAsset](/gen/tlschema/TLAsset-type), [VecLike](/gen/primitives/VecLike-type), [Promise](/gen/Promise-interface)
---
### `handleEmbed()` \{#PlopManager-handleEmbed-member-1}
<Small>Public Method</Small>
Handle embed info from an external source. Feeling lucky? Overwrite this at runtime to change the way this type of external content is handled.
##### Example
```ts
editor.this.handleEmbed = myCustomMethod
```
##### Parameters
<ParametersTable>
<ParametersTableRow>
<ParametersTableName>
`editor`
</ParametersTableName>
<ParametersTableDescription>
```ts
Editor
```
The editor instance
</ParametersTableDescription>
</ParametersTableRow>
<ParametersTableRow>
<ParametersTableName>
`{ point, url, embed }`
</ParametersTableName>
<ParametersTableDescription>
```ts
Extract<
TLExternalContent,
{
type: 'embed'
}
>
```
</ParametersTableDescription>
</ParametersTableRow>
</ParametersTable>
##### Returns
```ts
Promise<void>
```
##### References
[Editor](/gen/editor/Editor-class), [Extract](/gen/Extract-type), [TLExternalContent](/gen/editor/TLExternalContent-type), [Promise](/gen/Promise-interface)
---
### `handleFiles()` \{#PlopManager-handleFiles-member-1}
<Small>Public Method</Small>
Handle files from an external source. Feeling lucky? Overwrite this at runtime to change the way this type of external content is handled.
##### Example
```ts
editor.this.handleFiles = myCustomMethod
```
##### Parameters
<ParametersTable>
<ParametersTableRow>
<ParametersTableName>
`editor`
</ParametersTableName>
<ParametersTableDescription>
```ts
Editor
```
The editor instance
</ParametersTableDescription>
</ParametersTableRow>
<ParametersTableRow>
<ParametersTableName>
`{ point, files }`
</ParametersTableName>
<ParametersTableDescription>
```ts
Extract<
TLExternalContent,
{
type: 'files'
}
>
```
</ParametersTableDescription>
</ParametersTableRow>
</ParametersTable>
##### Returns
```ts
Promise<void>
```
##### References
[Editor](/gen/editor/Editor-class), [Extract](/gen/Extract-type), [TLExternalContent](/gen/editor/TLExternalContent-type), [Promise](/gen/Promise-interface)
---
### `handleSvgText()` \{#PlopManager-handleSvgText-member-1}
<Small>Public Method</Small>
Handle svg text from an external source. Feeling lucky? Overwrite this at runtime to change the way this type of external content is handled.
##### Example
```ts
editor.this.handleSvgText = myCustomMethod
```
##### Parameters
<ParametersTable>
<ParametersTableRow>
<ParametersTableName>
`editor`
</ParametersTableName>
<ParametersTableDescription>
```ts
Editor
```
The editor instance.
</ParametersTableDescription>
</ParametersTableRow>
<ParametersTableRow>
<ParametersTableName>
`{ point, text }`
</ParametersTableName>
<ParametersTableDescription>
```ts
Extract<
TLExternalContent,
{
type: 'svg-text'
}
>
```
</ParametersTableDescription>
</ParametersTableRow>
</ParametersTable>
##### Returns
```ts
Promise<void>
```
##### References
[Editor](/gen/editor/Editor-class), [Extract](/gen/Extract-type), [TLExternalContent](/gen/editor/TLExternalContent-type), [Promise](/gen/Promise-interface)
---
### `handleText()` \{#PlopManager-handleText-member-1}
<Small>Public Method</Small>
Handle plain text from an external source. Feeling lucky? Overwrite this at runtime to change the way this type of external content is handled.
##### Example
```ts
editor.this.handleText = myCustomMethod
```
##### Parameters
<ParametersTable>
<ParametersTableRow>
<ParametersTableName>
`editor`
</ParametersTableName>
<ParametersTableDescription>
```ts
Editor
```
The editor instance
</ParametersTableDescription>
</ParametersTableRow>
<ParametersTableRow>
<ParametersTableName>
`{ point, text }`
</ParametersTableName>
<ParametersTableDescription>
```ts
Extract<
TLExternalContent,
{
type: 'text'
}
>
```
</ParametersTableDescription>
</ParametersTableRow>
</ParametersTable>
##### Returns
```ts
Promise<void>
```
##### References
[Editor](/gen/editor/Editor-class), [Extract](/gen/Extract-type), [TLExternalContent](/gen/editor/TLExternalContent-type), [Promise](/gen/Promise-interface)
---