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

# AutoPreviewContainersSource

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

## Classes

### AutoPreviewContainersSource

#### Implements

#### Constructors

##### Constructor

```ts
new AutoPreviewContainersSource(sourceSurface, itemsComparer): AutoPreviewContainersSource;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `sourceSurface` | `Surface` |
| `itemsComparer` | [`IItemsComparer`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/IItemsComparer.md#iitemscomparer) |

###### Returns

[`AutoPreviewContainersSource`](#autopreviewcontainerssource)

#### Methods

##### addPreviewContainersChanged()

```ts
addPreviewContainersChanged(listener): void;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `listener` | (`data`) => `any` |

###### Returns

`void`

###### Implementation of

[`IPreviewContainersSource`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/IPreviewContainersSource.md#ipreviewcontainerssource).[`addPreviewContainersChanged`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/IPreviewContainersSource.md#addpreviewcontainerschanged)

##### ensureUpdatedAndExecuteAsync()

```ts
ensureUpdatedAndExecuteAsync(asyncCallback): Promise<void>;
```

###### Parameters

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

###### Returns

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

###### Implementation of

[`IPreviewContainersSource`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/IPreviewContainersSource.md#ipreviewcontainerssource).[`ensureUpdatedAndExecuteAsync`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/IPreviewContainersSource.md#ensureupdatedandexecuteasync)

##### getPreviewContainers()

```ts
getPreviewContainers(): Container[];
```

###### Returns

`Container`[]

###### Implementation of

[`IPreviewContainersSource`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/IPreviewContainersSource.md#ipreviewcontainerssource).[`getPreviewContainers`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/IPreviewContainersSource.md#getpreviewcontainers)

##### removePreviewContainersChanged()

```ts
removePreviewContainersChanged(listener): void;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `listener` | (`data`) => `any` |

###### Returns

`void`

###### Implementation of

[`IPreviewContainersSource`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/IPreviewContainersSource.md#ipreviewcontainerssource).[`removePreviewContainersChanged`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/IPreviewContainersSource.md#removepreviewcontainerschanged)
