# ExposedApi.Internal.SdkConnectorPlanner

[Embedding API Reference](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference) / [Modules](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/modules) / [exposed-api](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/modules/exposed_api) / [\<internal>](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_) / SdkConnectorPlanner

## Class: SdkConnectorPlanner

[exposed-api](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/modules/exposed_api).[\<internal>](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_).SdkConnectorPlanner

### Hierarchy

* [`Connector`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.connector)

  ↳ **`SdkConnectorPlanner`**

### Table of contents

#### Constructors

* [constructor](#constructor)

#### Accessors

* [api](#api)

#### Methods

* [addCallback](#addcallback)
* [cancelSelection](#cancelselection)
* [confirmRoom](#confirmroom)
* [getObjects](#getobjects)
* [init](#init)
* [initPlanner](#initplanner)
* [loadPlan](#loadplan)
* [loadPlanBasedOnObjectId](#loadplanbasedonobjectid)
* [onPlanElementChanged](#onplanelementchanged)
* [onSelectionCancel](#onselectioncancel)
* [onSelectionChange](#onselectionchange)
* [preparePartListData](#preparepartlistdata)
* [saveCurrentConfigurationInPlanSnapshot](#savecurrentconfigurationinplansnapshot)
* [saveCurrentPlan](#savecurrentplan)
* [savePlanToIdb](#saveplantoidb)
* [switch2D](#switch2d)
* [switch3D](#switch3d)
* [switchFp](#switchfp)
* [updateProductList](#updateproductlist)

### Constructors

#### constructor

• **new SdkConnectorPlanner**(`store`, `analytics?`, `eventEmitter?`, `sdkConnector?`): [`SdkConnectorPlanner`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnectorplanner)

**Parameters**

| Name           | Type                                                                                                                                                                                                                                         | Default value |
| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
| `store`        | `Store`<[`StoreState`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.storestate)>                                                                                               | `undefined`   |
| `analytics`    | [`Nullable`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<[`Analytics`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.analytics)>    | `null`        |
| `eventEmitter` | [`Nullable`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<[`default`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.default)>           | `null`        |
| `sdkConnector` | [`Nullable`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<[`SdkConnector`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnector)> | `null`        |

**Returns**

[`SdkConnectorPlanner`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnectorplanner)

**Overrides**

[Connector](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.connector).[constructor](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/exposed_api._internal_.connector#constructor)

### Accessors

#### api

• `get` **api**(): `Promise`<[`RoomlePlannerWithExtObjs`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#roomleplannerwithextobjs)>

**Returns**

`Promise`<[`RoomlePlannerWithExtObjs`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#roomleplannerwithextobjs)>

**Overrides**

Connector.api

### Methods

#### addCallback

▸ **addCallback**<`K`>(`key`, `fun`, `allowMultiple?`): `Promise`<`void`>

**Type parameters**

| Name | Type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ---- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `K`  | extends `"get"` \| `"onKernelIsReady"` \| `"onComponentPositionsUpdated"` \| `"onUpdateParameters"` \| `"onUpdatePossibleChildren"` \| `"onUpdatePrice"` \| `"onSelectionChange"` \| `"onSelectionCancel"` \| `"onPartListUpdate"` \| `"onBoundsUpdate"` \| `"onLoadConfiguration"` \| `"onConfigurationReady"` \| `"onOpenTag"` \| `"onOpenAddOns"` \| `"onClickOutside"` \| `"onNoDockingsAvailable"` \| `"onUiIntersectionChange"` \| `"onZoomChange"` \| `"onZoomToComponent"` \| `"onDimensionsVisibilityChange"` \| `"onErrorDueToOffline"` \| `"onError"` \| `"onElementDocked"` \| `"onDockingsPreviewRemoved"` \| `"onConfigurationHasChildren"` \| `"onTrackTiming"` \| `"onUserInitiatedDockDone"` \| `"onAddonPlusHover"` \| `"onAddonPlusHoverOff"` \| `"onAddonPlusShown"` \| `"onAddonPlusHidden"` \| `"onContentProblem"` \| `"onSyncStarted"` \| `"onSyncDone"` \| `"onOpenFloorMaterials"` \| `"onOpenPartList"` \| `"onComponentLoadError"` \| `"onConfigurationLoadError"` \| `"onChangeTypeChangeTag"` \| `"onRemoveTypeChangeTag"` \| `"onConfigurationLabelChange"` \| `"onMemoryCorruption"` \| `"onConfiguratorKernelIsReady"` \| `"onConfigurationSaved"` \| `"onCameraPositionChanges"` \| `"onHistoryChange"` \| `"onClickComponent"` \| `"onRequestExternalMesh"` \| `"onGeometryReady"` \| `"onGeometryNotReady"` \| `"onValueMapChanged"` \| `"_creator_"` \| `"mute"` \| `"unmute"` \| `"cameraStartsMoving"` \| `"onReadyForRender"` \| `"onItemsLoaded"` \| `"onCameraChanged"` \| `"onCameraIdle"` \| `"onTotalFloorAreaChanged"` \| `"onPlanInteractionHandlerCreated"` \| `"onPlannerKernelIsReady"` \| `"onPlanChanged"` \| `"onPlanElementChanged"` \| `"onCompletelyLoaded"` \| `"onRotationCancel"` \| `"onUpdateWallDimensions"` \| `"onUpdateMeasurementLineDimensions"` \| `"onUpdateConstructionElementsMeasurements"` \| `"onUpdateObjectMeasurements"` \| `"disableWallDimensions"` \| `"onUpdatePlanObjectPositions"` \| `"onDrawCancel"` \| `"onDrawingStateChanged"` \| `"onHandlerSwitchedPlans"` \| `"onDragElementStart"` \| `"onDragElementEnd"` \| `"onClickElement"` \| `"onMultiSelectionChange"` \| `"onSelectionModeChange"` \| `"onMeasurementLineStateChange"` \| `"onFloorPlanAreasUpdated"` \| `"onComponentSelectionCancel"` \| `"onPlanSnapshotCreated"` \| `"onStartConfiguring"` \| `"onBackToPlanner"` \| `"onContextChanged"` \| `"onMergeExternalObjectGroup"` \| `"onSplitExternalObjectGroup"` \| `"onExternalObjectGroupArrangementChanged"` \| `"onDeleteExternalObjectGroup"` \| `"onDeleteExternalObjectRootModule"` \| `"onDeleteExternalObjectSubModule"` \| `"onDuplicateExternalObjectGroup"` \| `"onChangedExternalObjectGroupPlan"` \| `"onMovedExternalObjectGroup"` \| `"onExternalObjectEnvironmentChanged"` \| `"onExternalObjectGroupChanged"` \| `"onExternalObjectGroupLoaded"` \| `"onExternalObjectAttributeChanged"` \| `"onExternalObjectModuleSelected"` \| `"onExternalObjectSelectionCancel"` \| `"onGetConfigurationForExternalObject"` |

**Parameters**

| Name            | Type                                                                                                             | Default value |
| --------------- | ---------------------------------------------------------------------------------------------------------------- | ------------- |
| `key`           | `K`                                                                                                              | `undefined`   |
| `fun`           | [`CallbackApi`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#callbackapi)\[`K`] | `undefined`   |
| `allowMultiple` | `boolean`                                                                                                        | `false`       |

**Returns**

`Promise`<`void`>

**Inherited from**

[Connector](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.connector).[addCallback](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/exposed_api._internal_.connector#addcallback)

***

#### cancelSelection

▸ **cancelSelection**(`reason`): `Promise`<`void`>

**Parameters**

| Name     | Type                     |
| -------- | ------------------------ |
| `reason` | `CancelSelectionReasons` |

**Returns**

`Promise`<`void`>

***

#### confirmRoom

▸ **confirmRoom**(`switchTo2D`): `Promise`<`void`>

**Parameters**

| Name         | Type      |
| ------------ | --------- |
| `switchTo2D` | `boolean` |

**Returns**

`Promise`<`void`>

***

#### getObjects

▸ **getObjects**(): `Promise`<`UiPlanObject`\[]>

**Returns**

`Promise`<`UiPlanObject`\[]>

***

#### init

▸ **init**(`sdkWrapper`, `element`, `initData`): `Promise`<`void`>

**Parameters**

| Name         | Type                                                                                                                                           |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `sdkWrapper` | [`RoomleSdkWrapper`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.roomlesdkwrapper) |
| `element`    | `HTMLElement`                                                                                                                                  |
| `initData`   | [`UiInitData`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/types.uiinitdata)                           |

**Returns**

`Promise`<`void`>

**Overrides**

[Connector](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.connector).[init](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/exposed_api._internal_.connector#init)

***

#### initPlanner

▸ **initPlanner**(`planner`): `Promise`<`void`>

**Parameters**

| Name      | Type                                                                                                                                 |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `planner` | [`RoomlePlannerWithExtObjs`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#roomleplannerwithextobjs) |

**Returns**

`Promise`<`void`>

***

#### loadPlan

▸ **loadPlan**(`id`): `Promise`<`void`>

**Parameters**

| Name | Type     |
| ---- | -------- |
| `id` | `string` |

**Returns**

`Promise`<`void`>

***

#### loadPlanBasedOnObjectId

▸ **loadPlanBasedOnObjectId**(`id`): `Promise`<`number`>

**Parameters**

| Name | Type     |
| ---- | -------- |
| `id` | `string` |

**Returns**

`Promise`<`number`>

***

#### onPlanElementChanged

▸ **onPlanElementChanged**(`changeType`): `Promise`<`void`>

**Parameters**

| Name         | Type                                                                                                   |
| ------------ | ------------------------------------------------------------------------------------------------------ |
| `changeType` | [`Enumify`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#enumify)<{}> |

**Returns**

`Promise`<`void`>

***

#### onSelectionCancel

▸ **onSelectionCancel**(`reason`): `Promise`<`void`>

**Parameters**

| Name     | Type                     |
| -------- | ------------------------ |
| `reason` | `CancelSelectionReasons` |

**Returns**

`Promise`<`void`>

***

#### onSelectionChange

▸ **onSelectionChange**(`_mode`, `objectType`, `payload`, `payloadPromise`, `planElementViewModel`): `void`

**Parameters**

| Name                   | Type                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `_mode`                | `string`                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `objectType`           | [`Enumify`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#enumify)<{ `CONFIGURATION`: `"configuration"` = 'configuration'; `DOOR`: `"door"` = 'door'; `EXTERNAL_CONFIGURATION`: `"external-configuration"` = 'external-configuration'; `FLOOR`: `"floor"` = 'floor'; `MEASURE`: `"measure"` = 'measure'; `STATIC`: `"static"` = 'static'; `UNKNOWN`: `"unknown"` = 'unknown'; `WALL`: `"wall"` = 'wall'; `WINDOW`: `"window"` = 'window' }> |
| `payload`              | `SelectionPayload`                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `payloadPromise`       | `Promise`<`SelectionPayload`>                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `planElementViewModel` | `default`                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |

**Returns**

`void`

***

#### preparePartListData

▸ **preparePartListData**(`selectedItemPayload`): `Promise`<`void`>

**Parameters**

| Name                  | Type               |
| --------------------- | ------------------ |
| `selectedItemPayload` | `SelectionPayload` |

**Returns**

`Promise`<`void`>

***

#### saveCurrentConfigurationInPlanSnapshot

▸ **saveCurrentConfigurationInPlanSnapshot**(`configuration`): `Promise`<[`Nullable`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<`RapiPlanSnapshotGetData` | `RapiPlan`>>

**Parameters**

| Name            | Type                                                   |
| --------------- | ------------------------------------------------------ |
| `configuration` | `RapiConfigurationEnhanced` \| `ExternalConfiguration` |

**Returns**

`Promise`<[`Nullable`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<`RapiPlanSnapshotGetData` | `RapiPlan`>>

***

#### saveCurrentPlan

▸ **saveCurrentPlan**(): `Promise`<[`Nullable`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<`RapiPlanSnapshotGetData` | `RapiPlan`>>

**Returns**

`Promise`<[`Nullable`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<`RapiPlanSnapshotGetData` | `RapiPlan`>>

***

#### savePlanToIdb

▸ **savePlanToIdb**(): `Promise`<`void`>

**Returns**

`Promise`<`void`>

***

#### switch2D

▸ **switch2D**(`switchScene?`): `Promise`<`void`>

**Parameters**

| Name          | Type      | Default value |
| ------------- | --------- | ------------- |
| `switchScene` | `boolean` | `true`        |

**Returns**

`Promise`<`void`>

***

#### switch3D

▸ **switch3D**(`switchScene?`): `Promise`<`void`>

**Parameters**

| Name          | Type      | Default value |
| ------------- | --------- | ------------- |
| `switchScene` | `boolean` | `true`        |

**Returns**

`Promise`<`void`>

***

#### switchFp

▸ **switchFp**(`switchScene?`): `Promise`<`void`>

**Parameters**

| Name          | Type      | Default value |
| ------------- | --------- | ------------- |
| `switchScene` | `boolean` | `true`        |

**Returns**

`Promise`<`void`>

***

#### updateProductList

▸ **updateProductList**(): `Promise`<`void`>

**Returns**

`Promise`<`void`>
