# RoomlePlannerUiCallback.default

[planner-core/src/roomle-planner-ui-callback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/modules/planner_core_src_roomle_planner_ui_callback).default

## Hierarchy

* [`UiCallback`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_configurator._internal_.uicallback)

  ↳ **`default`**

## Implements

* [`ExternalObjectUiCallback`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback)

## Table of contents

### Constructors

* [constructor](#constructor)

### Properties

* [\_creator\_](#_creator_)

### Methods

* [cameraStartsMoving](#camerastartsmoving)
* [disableWallDimensions](#disablewalldimensions)
* [get](#get)
* [mute](#mute)
* [onBackToPlanner](#onbacktoplanner)
* [onCameraChanged](#oncamerachanged)
* [onCameraIdle](#oncameraidle)
* [onChangedExternalObjectGroupPlan](#onchangedexternalobjectgroupplan)
* [onClickElement](#onclickelement)
* [onCompletelyLoaded](#oncompletelyloaded)
* [onComponentSelectionCancel](#oncomponentselectioncancel)
* [onConfiguratorKernelIsReady](#onconfiguratorkernelisready)
* [onContextChanged](#oncontextchanged)
* [onDeleteExternalObjectGroup](#ondeleteexternalobjectgroup)
* [onDeleteExternalObjectRootModule](#ondeleteexternalobjectrootmodule)
* [onDeleteExternalObjectSubModule](#ondeleteexternalobjectsubmodule)
* [onDragElementEnd](#ondragelementend)
* [onDragElementStart](#ondragelementstart)
* [onDrawCancel](#ondrawcancel)
* [onDrawingStateChanged](#ondrawingstatechanged)
* [onDuplicateExternalObjectGroup](#onduplicateexternalobjectgroup)
* [onExternalObjectAttributeChanged](#onexternalobjectattributechanged)
* [onExternalObjectEnvironmentChanged](#onexternalobjectenvironmentchanged)
* [onExternalObjectGroupArrangementChanged](#onexternalobjectgrouparrangementchanged)
* [onExternalObjectGroupChanged](#onexternalobjectgroupchanged)
* [onExternalObjectGroupLoaded](#onexternalobjectgrouploaded)
* [onExternalObjectModuleSelected](#onexternalobjectmoduleselected)
* [onExternalObjectSelectionCancel](#onexternalobjectselectioncancel)
* [onFloorPlanAreasUpdated](#onfloorplanareasupdated)
* [onGetConfigurationForExternalObject](#ongetconfigurationforexternalobject)
* [onHandlerSwitchedPlans](#onhandlerswitchedplans)
* [onHistoryChange](#onhistorychange)
* [onItemsLoaded](#onitemsloaded)
* [onMeasurementLineStateChange](#onmeasurementlinestatechange)
* [onMergeExternalObjectGroup](#onmergeexternalobjectgroup)
* [onMovedExternalObjectGroup](#onmovedexternalobjectgroup)
* [onMultiSelectionChange](#onmultiselectionchange)
* [onPlanChanged](#onplanchanged)
* [onPlanElementChanged](#onplanelementchanged)
* [onPlanInteractionHandlerCreated](#onplaninteractionhandlercreated)
* [onPlanSnapshotCreated](#onplansnapshotcreated)
* [onPlannerKernelIsReady](#onplannerkernelisready)
* [onReadyForRender](#onreadyforrender)
* [onRotationCancel](#onrotationcancel)
* [onSelectionCancel](#onselectioncancel)
* [onSelectionChange](#onselectionchange)
* [onSelectionModeChange](#onselectionmodechange)
* [onSplitExternalObjectGroup](#onsplitexternalobjectgroup)
* [onStartConfiguring](#onstartconfiguring)
* [onTotalFloorAreaChanged](#ontotalfloorareachanged)
* [onUpdateConstructionElementsMeasurements](#onupdateconstructionelementsmeasurements)
* [onUpdateMeasurementLineDimensions](#onupdatemeasurementlinedimensions)
* [onUpdateObjectMeasurements](#onupdateobjectmeasurements)
* [onUpdatePlanObjectPositions](#onupdateplanobjectpositions)
* [onUpdateWallDimensions](#onupdatewalldimensions)
* [unmute](#unmute)

## Constructors

### constructor

• **new default**(`creator`)

#### Parameters

| Name      | Type     |
| --------- | -------- |
| `creator` | `string` |

#### Overrides

[UiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_configurator._internal_.uicallback).[constructor](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/configurator_core_src_configurator._internal_.uicallback#constructor)

## Properties

### \_creator\_

• **\_creator\_**: `string`

#### Inherited from

[UiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_configurator._internal_.uicallback).[*creator*](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/configurator_core_src_configurator._internal_.uicallback#_creator_)

## Methods

### cameraStartsMoving

▸ **cameraStartsMoving**(): `void`

#### Returns

`void`

#### Inherited from

[UiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_configurator._internal_.uicallback).[cameraStartsMoving](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/configurator_core_src_configurator._internal_.uicallback#camerastartsmoving)

***

### disableWallDimensions

▸ **disableWallDimensions**(): `void`

This function gets called when the camera is moving and thus the wall dimensions should not be shown

#### Returns

`void`

***

### get

▸ **get**(`target`, `prop`): `string` | (`target`: [`UiCallback`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_configurator._internal_.uicallback), `prop`: keyof [`UiCallback`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_configurator._internal_.uicallback)) => `string` | (target: UiCallback, prop: keyof UiCallback) => string | ... | (() => void) | (() => void) | (() => void) | (() => void) | () => `void` | () => `void` | () => `void` | () => `void` | () => `void` | () => `void` | () => `void` | () => `void`

#### Parameters

| Name     | Type                                                                                                                                                  |
| -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `target` | [`UiCallback`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_configurator._internal_.uicallback)       |
| `prop`   | keyof [`UiCallback`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_configurator._internal_.uicallback) |

#### Returns

`string` | (`target`: [`UiCallback`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_configurator._internal_.uicallback), `prop`: keyof [`UiCallback`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_configurator._internal_.uicallback)) => `string` | (target: UiCallback, prop: keyof UiCallback) => string | ... | (() => void) | (() => void) | (() => void) | (() => void) | () => `void` | () => `void` | () => `void` | () => `void` | () => `void` | () => `void` | () => `void` | () => `void`

#### Inherited from

[UiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_configurator._internal_.uicallback).[get](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/configurator_core_src_configurator._internal_.uicallback#get)

***

### mute

▸ **mute**(): `void`

#### Returns

`void`

#### Inherited from

[UiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_configurator._internal_.uicallback).[mute](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/configurator_core_src_configurator._internal_.uicallback#mute)

***

### onBackToPlanner

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

Callback invoked when configuration is finished.

#### Returns

`Promise`<`void`>

***

### onCameraChanged

▸ **onCameraChanged**(`type`): `void`

#### Parameters

| Name   | Type                                                                                                                                                                                                         |
| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `type` | [`Enumify`](https://docs.roomle.com/rubens/rubens-sdk/modules/configurator_core_src_configurator._internal_#enumify)<{ `CAMERA_2D`: `"2D"` = '2D'; `CAMERA_3D`: `"3D"` = '3D'; `CAMERA_FP`: `"FP"` = 'FP' }> |

#### Returns

`void`

***

### onCameraIdle

▸ **onCameraIdle**(): `void`

#### Returns

`void`

***

### onChangedExternalObjectGroupPlan

▸ **onChangedExternalObjectGroupPlan**(`group`): `void`

documented in interface ExternalObjectUiCallback

#### Parameters

| Name    | Type                                                                                                                                                                        |
| ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `group` | [`ExternalObjectGroup`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.externalobjectgroup) |

#### Returns

`void`

#### Implementation of

[ExternalObjectUiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback).[onChangedExternalObjectGroupPlan](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback#onchangedexternalobjectgroupplan)

***

### onClickElement

▸ **onClickElement**(`planElement`): `void`

This function gets called when a selectable element has been clicked on.\
An equivalent function for component clicks is onClickComponent in the configurator-ui-callback.ts

#### Parameters

| Name          | Type                                                                                                                                                | Description                                          |
| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
| `planElement` | [`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.default-52) | PlanElementViewModel instance of the clicked element |

#### Returns

`void`

***

### onCompletelyLoaded

▸ **onCompletelyLoaded**(): `void`

When the plan has been completely loaded

#### Returns

`void`

***

### onComponentSelectionCancel

▸ **onComponentSelectionCancel**(): `void`

Callback invoked when the selection of a component has been canceled.

#### Returns

`void`

***

### onConfiguratorKernelIsReady

▸ **onConfiguratorKernelIsReady**(`kernelContainer`, `kernelInstance`): `void`

is called when the configurator kernel is ready. It returns the container and the instance

#### Parameters

| Name              | Type                                                                                                                                                                                            |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `kernelContainer` | [`PlannerKernelContainer`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_services_configurator_ui_callback._internal_.plannerkernelcontainer) |
| `kernelInstance`  | [`ConfiguratorKernelClass`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.configuratorkernelclass)                                                   |

#### Returns

`void`

***

### onContextChanged

▸ **onContextChanged**(`context`): `void`

This callback is invoked when the context of the planner changes\
For example when it switches from planner to configurator, or from planner to viewer

#### Parameters

| Name      | Type                                                                                                                                                     |
| --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `context` | [`BASE_CONTEXT`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/enums/configurator_core_src_roomle_configurator._internal_.base_context) |

#### Returns

`void`

***

### onDeleteExternalObjectGroup

▸ **onDeleteExternalObjectGroup**(`groupIdToDelete`): `void`

documented in interface ExternalObjectUiCallback

#### Parameters

| Name              | Type     |
| ----------------- | -------- |
| `groupIdToDelete` | `string` |

#### Returns

`void`

#### Implementation of

[ExternalObjectUiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback).[onDeleteExternalObjectGroup](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback#ondeleteexternalobjectgroup)

***

### onDeleteExternalObjectRootModule

▸ **onDeleteExternalObjectRootModule**(`_remainingGroup`, `_rootModuleIdToDelete`, `_splitOffGroups?`): `void`

documented in interface ExternalObjectUiCallback

#### Parameters

| Name                    | Type                                                                                                                                                                           |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `_remainingGroup`       | [`ExternalObjectGroup`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.externalobjectgroup)    |
| `_rootModuleIdToDelete` | `string`                                                                                                                                                                       |
| `_splitOffGroups?`      | [`ExternalObjectGroup`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.externalobjectgroup)\[] |

#### Returns

`void`

#### Implementation of

[ExternalObjectUiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback).[onDeleteExternalObjectRootModule](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback#ondeleteexternalobjectrootmodule)

***

### onDeleteExternalObjectSubModule

▸ **onDeleteExternalObjectSubModule**(`rootModuleId`, `subModuleIdToDelete`): `void`

documented in interface ExternalObjectUiCallback

#### Parameters

| Name                  | Type     |
| --------------------- | -------- |
| `rootModuleId`        | `string` |
| `subModuleIdToDelete` | `string` |

#### Returns

`void`

#### Implementation of

[ExternalObjectUiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback).[onDeleteExternalObjectSubModule](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback#ondeleteexternalobjectsubmodule)

***

### onDragElementEnd

▸ **onDragElementEnd**(): `void`

This function gets called when a movable element was being dragged before and is now released

#### Returns

`void`

***

### onDragElementStart

▸ **onDragElementStart**(`planElementId`): `void`

This function gets called when a movable element begins to be dragged

#### Parameters

| Name            | Type     | Description                       |
| --------------- | -------- | --------------------------------- |
| `planElementId` | `number` | current id of the dragged element |

#### Returns

`void`

***

### onDrawCancel

▸ **onDrawCancel**(): `void`

#### Returns

`void`

***

### onDrawingStateChanged

▸ **onDrawingStateChanged**(`currentlyDrawing`): `void`

This updates if the user started/stopped drawing a wall

#### Parameters

| Name               | Type      |
| ------------------ | --------- |
| `currentlyDrawing` | `boolean` |

#### Returns

`void`

***

### onDuplicateExternalObjectGroup

▸ **onDuplicateExternalObjectGroup**(`sourceGroupId`, `newGroupPosition`): `void`

documented in interface ExternalObjectUiCallback

#### Parameters

| Name               | Type                                                                                                                                                                                        |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `sourceGroupId`    | `string`                                                                                                                                                                                    |
| `newGroupPosition` | [`ExternalObjectGroupPosition`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.externalobjectgroupposition) |

#### Returns

`void`

#### Implementation of

[ExternalObjectUiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback).[onDuplicateExternalObjectGroup](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback#onduplicateexternalobjectgroup)

***

### onExternalObjectAttributeChanged

▸ **onExternalObjectAttributeChanged**(`groupId`, `moduleIds`, `attributeId`, `value`): `void`

documented in interface ExternalObjectUiCallback

#### Parameters

| Name          | Type                                                                                                                                                             |
| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `groupId`     | `string`                                                                                                                                                         |
| `moduleIds`   | `string` \| [`ExternalModuleInformation`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.externalmoduleinformation)\[] |
| `attributeId` | `string`                                                                                                                                                         |
| `value`       | `string`                                                                                                                                                         |

#### Returns

`void`

#### Implementation of

[ExternalObjectUiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback).[onExternalObjectAttributeChanged](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback#onexternalobjectattributechanged)

***

### onExternalObjectEnvironmentChanged

▸ **onExternalObjectEnvironmentChanged**(`affectedGroupIds`): `void`

documented in interface ExternalObjectUiCallback

#### Parameters

| Name               | Type        |
| ------------------ | ----------- |
| `affectedGroupIds` | `string`\[] |

#### Returns

`void`

#### Implementation of

[ExternalObjectUiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback).[onExternalObjectEnvironmentChanged](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback#onexternalobjectenvironmentchanged)

***

### onExternalObjectGroupArrangementChanged

▸ **onExternalObjectGroupArrangementChanged**(`changedGroup`): `void`

documented in interface ExternalObjectUiCallback

#### Parameters

| Name           | Type                                                                                                                                                                        |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `changedGroup` | [`ExternalObjectGroup`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.externalobjectgroup) |

#### Returns

`void`

#### Implementation of

[ExternalObjectUiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback).[onExternalObjectGroupArrangementChanged](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback#onexternalobjectgrouparrangementchanged)

***

### onExternalObjectGroupChanged

▸ **onExternalObjectGroupChanged**(`stringifiedGroupData`): `void`

documented in interface ExternalObjectUiCallback

#### Parameters

| Name                   | Type     |
| ---------------------- | -------- |
| `stringifiedGroupData` | `string` |

#### Returns

`void`

#### Implementation of

[ExternalObjectUiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback).[onExternalObjectGroupChanged](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback#onexternalobjectgroupchanged)

***

### onExternalObjectGroupLoaded

▸ **onExternalObjectGroupLoaded**(`stringifiedGroupData`): `void`

documented in interface ExternalObjectUiCallback

#### Parameters

| Name                   | Type     |
| ---------------------- | -------- |
| `stringifiedGroupData` | `string` |

#### Returns

`void`

#### Implementation of

[ExternalObjectUiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback).[onExternalObjectGroupLoaded](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback#onexternalobjectgrouploaded)

***

### onExternalObjectModuleSelected

▸ **onExternalObjectModuleSelected**(`groupId`, `rootModuleId`, `subModuleId`): `void`

documented in interface ExternalObjectUiCallback

#### Parameters

| Name           | Type     |
| -------------- | -------- |
| `groupId`      | `string` |
| `rootModuleId` | `string` |
| `subModuleId`  | `string` |

#### Returns

`void`

#### Implementation of

[ExternalObjectUiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback).[onExternalObjectModuleSelected](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback#onexternalobjectmoduleselected)

***

### onExternalObjectSelectionCancel

▸ **onExternalObjectSelectionCancel**(`reason`): `void`

documented in interface ExternalObjectUiCallback

#### Parameters

| Name     | Type                                                                                                                                                      | Description                    |
| -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| `reason` | [`CancelSelectionReasons`](https://docs.roomle.com/rubens/rubens-sdk/modules/configurator_core_src_roomle_configurator._internal_#cancelselectionreasons) | why the selection was canceled |

#### Returns

`void`

#### Implementation of

[ExternalObjectUiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback).[onExternalObjectSelectionCancel](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback#onexternalobjectselectioncancel)

***

### onFloorPlanAreasUpdated

▸ **onFloorPlanAreasUpdated**(`floorAreasData`): `void`

Callback invoked when the dimensions of rooms are updated.\
It receives an array containing the computed areas of all rooms and related data, which may be used to display or process the area information of each room.

#### Parameters

| Name             | Type                                                                                                                                                                 | Description                                                                                           |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `floorAreasData` | [`FloorAreaDataTransferable`](https://docs.roomle.com/rubens/rubens-sdk/modules/planner_core_src_roomle_planner_ui_callback._internal_#floorareadatatransferable)\[] | An array of objects, each representing the area and related data for each room within the floor plan. |

#### Returns

`void`

***

### onGetConfigurationForExternalObject

▸ **onGetConfigurationForExternalObject**(`_rootModuleId`): `Promise`<[`ExternalObjectGroup`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.externalobjectgroup)>

documented in interface ExternalObjectUiCallback

#### Parameters

| Name            | Type     |
| --------------- | -------- |
| `_rootModuleId` | `string` |

#### Returns

`Promise`<[`ExternalObjectGroup`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.externalobjectgroup)>

#### Implementation of

[ExternalObjectUiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback).[onGetConfigurationForExternalObject](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback#ongetconfigurationforexternalobject)

***

### onHandlerSwitchedPlans

▸ **onHandlerSwitchedPlans**(): `void`

#### Returns

`void`

***

### onHistoryChange

▸ **onHistoryChange**(`undo`, `redo`): `void`

gets called if history changes

#### Parameters

| Name   | Type      | Description              |
| ------ | --------- | ------------------------ |
| `undo` | `boolean` | true if undo is possible |
| `redo` | `boolean` | true if redo is possible |

#### Returns

`void`

***

### onItemsLoaded

▸ **onItemsLoaded**(): `void`

#### Returns

`void`

***

### onMeasurementLineStateChange

▸ **onMeasurementLineStateChange**(`isActive`): `void`

#### Parameters

| Name       | Type      |
| ---------- | --------- |
| `isActive` | `boolean` |

#### Returns

`void`

***

### onMergeExternalObjectGroup

▸ **onMergeExternalObjectGroup**(`targetGroup`, `idsOfGroupsMerged`, `idOfTargetRootModule`): `void`

documented in interface ExternalObjectUiCallback

#### Parameters

| Name                   | Type                                                                                                                                                                        |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `targetGroup`          | [`ExternalObjectGroup`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.externalobjectgroup) |
| `idsOfGroupsMerged`    | `string` \| `string`\[]                                                                                                                                                     |
| `idOfTargetRootModule` | `string`                                                                                                                                                                    |

#### Returns

`void`

#### Implementation of

[ExternalObjectUiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback).[onMergeExternalObjectGroup](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback#onmergeexternalobjectgroup)

***

### onMovedExternalObjectGroup

▸ **onMovedExternalObjectGroup**(`group`): `void`

documented in interface ExternalObjectUiCallback

#### Parameters

| Name    | Type                                                                                                                                                                        |
| ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `group` | [`ExternalObjectGroup`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.externalobjectgroup) |

#### Returns

`void`

#### Implementation of

[ExternalObjectUiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback).[onMovedExternalObjectGroup](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback#onmovedexternalobjectgroup)

***

### onMultiSelectionChange

▸ **onMultiSelectionChange**(`selectedElements`): `void`

#### Parameters

| Name               | Type                                                                                                                                                   |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `selectedElements` | [`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.default-52)\[] |

#### Returns

`void`

***

### onPlanChanged

▸ **onPlanChanged**(): `void`

When something in the plan has changed

#### Returns

`void`

***

### onPlanElementChanged

▸ **onPlanElementChanged**(`changeType`, `changedObject`): `void`

When an element in the plan has been added, removed or changed\
null if changed, added or removed object is not a item or configuration, such as a wall or construction element

#### Parameters

| Name            | Type                                                                                                                                                                                                                                                         |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `changeType`    | [`Enumify`](https://docs.roomle.com/rubens/rubens-sdk/modules/configurator_core_src_configurator._internal_#enumify)<{ `ADDED`: `"added"` = 'added'; `CHANGED`: `"changed"` = 'changed'; `MOVED`: `"moved"` = 'moved'; `REMOVED`: `"removed"` = 'removed' }> |
| `changedObject` | [`UiPlanObject`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.uiplanobject)                                                                                                                                      |

#### Returns

`void`

***

### onPlanInteractionHandlerCreated

▸ **onPlanInteractionHandlerCreated**(`planInteractionHandler`): `void`

#### Parameters

| Name                     | Type                                                                                                                                                                              |
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `planInteractionHandler` | [`PlanInteractionHandler`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.planinteractionhandler) |

#### Returns

`void`

***

### onPlanSnapshotCreated

▸ **onPlanSnapshotCreated**(`planId`): `void`

Callback invoked when a plan snapshot is saved.

#### Parameters

| Name     | Type     | Description                  |
| -------- | -------- | ---------------------------- |
| `planId` | `string` | The ID of the plan snapshot. |

#### Returns

`void`

***

### onPlannerKernelIsReady

▸ **onPlannerKernelIsReady**(`kernelContainer`): `void`

is called when the planner kernel is ready. It returns the container and the instance

#### Parameters

| Name              | Type                                                                                                                                                                                            |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `kernelContainer` | [`PlannerKernelContainer`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_services_configurator_ui_callback._internal_.plannerkernelcontainer) |

#### Returns

`void`

***

### onReadyForRender

▸ **onReadyForRender**(): `void`

**`Deprecated`**

has been moved to global callbacks\
is called the scene is ready for rendering it as an image

#### Returns

`void`

#### Inherited from

[UiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_configurator._internal_.uicallback).[onReadyForRender](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/configurator_core_src_configurator._internal_.uicallback#onreadyforrender)

***

### onRotationCancel

▸ **onRotationCancel**(): `void`

When rotation mode has been canceled

#### Returns

`void`

***

### onSelectionCancel

▸ **onSelectionCancel**(`reason`): `void`

When an item selection has been canceled

#### Parameters

| Name     | Type                                                                                                                                                      | Description                    |
| -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| `reason` | [`CancelSelectionReasons`](https://docs.roomle.com/rubens/rubens-sdk/modules/configurator_core_src_roomle_configurator._internal_#cancelselectionreasons) | why the selection was canceled |

#### Returns

`void`

***

### onSelectionChange

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

When an item has been selected

#### Parameters

| Name                   | Type                                                                                                                                                                    | Description                                                                                                           |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| `selectionMode`        | [`SELECTION_MODE`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/enums/configurator_core_src_roomle_configurator._internal_.selection_mode)            |                                                                                                                       |
| `objectType`           | [`CallbackObjectType`](https://docs.roomle.com/rubens/rubens-sdk/modules/planner_core_src_roomle_planner_ui_callback._internal_#callbackobjecttype)                     | currently only static items and configurations are supported                                                          |
| `payload`              | [`SelectionPayload`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback.selectionpayload)            | returns the data which is available immediately (sync), currently this is catalogItemId and/or configurationRuntimeId |
| `payloadPromise`       | `Promise`<[`SelectionPayload`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback.selectionpayload)> | this promise resolves when the data of an object is fetched                                                           |
| `planElementViewModel` | [`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.default-52)                     | the plan element view model used internally, WARNING: this is a reference, use with caution                           |

#### Returns

`void`

***

### onSelectionModeChange

▸ **onSelectionModeChange**(`mode`): `void`

#### Parameters

| Name   | Type                                                                                                                                                         |
| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `mode` | [`SELECTION_MODE`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/enums/configurator_core_src_roomle_configurator._internal_.selection_mode) |

#### Returns

`void`

***

### onSplitExternalObjectGroup

▸ **onSplitExternalObjectGroup**(`originalGroup`, `newGroupedRootModules`): `void`

documented in interface ExternalObjectUiCallback

#### Parameters

| Name                    | Type                                                                                                                                                                                                                                                                                                                                                          |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `originalGroup`         | [`ExternalObjectGroup`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.externalobjectgroup)                                                                                                                                                                                   |
| `newGroupedRootModules` | [`ExternalObjectGroup`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.externalobjectgroup) \| [`ExternalObjectGroup`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.externalobjectgroup)\[] |

#### Returns

`void`

#### Implementation of

[ExternalObjectUiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback).[onSplitExternalObjectGroup](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.externalobjectuicallback#onsplitexternalobjectgroup)

***

### onStartConfiguring

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

Callback invoked when an object is started to be configured.

#### Returns

`Promise`<`void`>

***

### onTotalFloorAreaChanged

▸ **onTotalFloorAreaChanged**(`totalFloorArea`): `void`

#### Parameters

| Name             | Type     |
| ---------------- | -------- |
| `totalFloorArea` | `number` |

#### Returns

`void`

***

### onUpdateConstructionElementsMeasurements

▸ **onUpdateConstructionElementsMeasurements**(`constructionMeasurementsMeasurements`): `void`

This function gets called when the camera has stopped moving,\
allowing for the calculation of the dimensions of construction elements' positions.\
It is also called when an element is selected or dragged on the plan.

#### Parameters

| Name                                   | Type                                                                                                                                                                                                            | Description                                |
| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
| `constructionMeasurementsMeasurements` | [`ConstructionMeasurementsTransferable`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.constructionmeasurementstransferable) | The measurements of construction elements. |

#### Returns

`void`

***

### onUpdateMeasurementLineDimensions

▸ **onUpdateMeasurementLineDimensions**(`measurementLineDimensions`): `void`

This function gets called when the camera is no longer moving\
and the position of the measurement line dimensions can be calculated

#### Parameters

| Name                        | Type                                                                                                                                                                                       |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `measurementLineDimensions` | [`MeasurementLineDimensionTransferable`](https://docs.roomle.com/rubens/rubens-sdk/modules/planner_core_src_roomle_planner_ui_callback._internal_#measurementlinedimensiontransferable)\[] |

#### Returns

`void`

***

### onUpdateObjectMeasurements

▸ **onUpdateObjectMeasurements**(`objectMeasurements`): `void`

This function gets called when the camera has stopped moving,\
allowing for the calculation of the dimensions of plan element position.\
It is also called when the element is selected or dragged on the plan.

#### Parameters

| Name                 | Type                                                                                                                                                                                                | Description                                                                   |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| `objectMeasurements` | [`ObjectMeasurementsTransferable`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.objectmeasurementstransferable) | The measurements of plan element related to the walls plus object dimensions. |

#### Returns

`void`

***

### onUpdatePlanObjectPositions

▸ **onUpdatePlanObjectPositions**(`planObjectPositions`): `void`

This function gets called when the camera is no longer moving\
it delivers all the positions of items in the plan normalized to the screen coordinates

#### Parameters

| Name                  | Type                                                                                                                                                                           |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `planObjectPositions` | [`PlanObjectPosition`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner_ui_callback._internal_.planobjectposition)\[] |

#### Returns

`void`

***

### onUpdateWallDimensions

▸ **onUpdateWallDimensions**(`wallDimensions`): `void`

This function gets called when the camera is no longer moving\
and the position of the wall dimensions can be calculated

#### Parameters

| Name             | Type                                                                                                                                                                 |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `wallDimensions` | [`WallDimensionTransferable`](https://docs.roomle.com/rubens/rubens-sdk/modules/planner_core_src_roomle_planner_ui_callback._internal_#walldimensiontransferable)\[] |

#### Returns

`void`

***

### unmute

▸ **unmute**(): `void`

#### Returns

`void`

#### Inherited from

[UiCallback](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_configurator._internal_.uicallback).[unmute](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/configurator_core_src_configurator._internal_.uicallback#unmute)
