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

# SurfaceManager

> [`SurfaceManager`](#surfacemanager)

## Enumerations

### SurfaceSwitchCommand

#### Enumeration Members

| Enumeration Member | Value |
| ------ | ------ |
|  `getNextSurface` | `"getNextSurface"` |
|  `switchSurfaceBackward` | `"switchSurfaceBackward"` |
|  `switchSurfaceForward` | `"switchSurfaceForward"` |
|  `switchToNextSurface` | `"switchToNextSurface"` |
|  `switchToSurface` | `"switchToSurface"` |

## Classes

### SurfaceManager

#### Constructors

##### Constructor

```ts
new SurfaceManager(productHandler): SurfaceManager;
```

###### Parameters

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

###### Returns

#### Methods

##### getNextSurface()

```ts
getNextSurface(spinIndex?): Promise<Surface>;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `spinIndex?` | `number` |

###### Returns

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

##### switchSurfaceBackward()

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

###### Returns

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

##### switchSurfaceForward()

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

###### Returns

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

##### switchToNextSurface()

```ts
switchToNextSurface(): void;
```

###### Returns

`void`

##### switchToSurface()

```ts
switchToSurface(newSurface): Promise<void>;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `newSurface` | `Surface` |

###### Returns

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

## Interfaces

### IGetNextSurfaceCmdName

#### Properties

##### spinIndex

```ts
spinIndex: number;
```

***

### ISwitchToSurfaceParams

#### Properties

##### value

```ts
value: any;
```
