# ExposedApi.Internal.SdkConnectorPlanner

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

## Class: SdkConnectorPlanner

[exposed-api](/rubens/rubens-products/rubens-products-reference/modules/exposed_api.md).[\<internal>](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md).SdkConnectorPlanner

### Hierarchy

* [`Connector`](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.connector.md)

  ↳ **`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`](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnectorplanner.md)

**Parameters**

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

**Returns**

[`SdkConnectorPlanner`](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnectorplanner.md)

**Overrides**

[Connector](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.connector.md).[constructor](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.connector.md#constructor)

### Accessors

#### api

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

**Returns**

`Promise`<[`RoomlePlannerWithExtObjs`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#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`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#callbackapi)\[`K`] | `undefined`   |
| `allowMultiple` | `boolean`                                                                                                              | `false`       |

**Returns**

`Promise`<`void`>

**Inherited from**

[Connector](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.connector.md).[addCallback](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.connector.md#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`](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.roomlesdkwrapper.md) |
| `element`    | `HTMLElement`                                                                                                              |
| `initData`   | [`UiInitData`](/rubens/rubens-products/rubens-products-reference/interfaces/types.uiinitdata.md)                           |

**Returns**

`Promise`<`void`>

**Overrides**

[Connector](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.connector.md).[init](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.connector.md#init)

***

#### initPlanner

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

**Parameters**

| Name      | Type                                                                                                                                       |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `planner` | [`RoomlePlannerWithExtObjs`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#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`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#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`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#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`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<`RapiPlanSnapshotGetData` | `RapiPlan`>>

**Parameters**

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

**Returns**

`Promise`<[`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<`RapiPlanSnapshotGetData` | `RapiPlan`>>

***

#### saveCurrentPlan

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

**Returns**

`Promise`<[`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#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`>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnectorplanner.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
