@roomle/embedding-lib 5.28.0-alpha.1 → 5.28.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/md/web/embedding/CHANGELOG.md +6 -15
- package/package.json +1 -1
- package/packages/embedding-lib/src/embedding-lib.d.ts +7 -0
- package/packages/web-sdk/packages/homag-intelligence/src/callbacks.d.ts +1 -1
- package/packages/web-sdk/packages/homag-intelligence/src/emulator.d.ts +3 -3
- package/packages/web-sdk/packages/homag-intelligence/src/homag-intelligence.d.ts +4 -2
- package/packages/web-sdk/packages/homag-intelligence/src/loader.d.ts +2 -4
- package/packages/web-sdk/packages/planner-core/src/external-object-api-callbacks.d.ts +10 -9
- package/packages/web-sdk/packages/planner-core/src/roomle-planner-ui-callback.d.ts +2 -2
- package/packages/web-sdk/packages/planner-core/src/services/planner-kernel-access.d.ts +2 -2
- package/roomle-embedding-lib.es.js +508 -253
- package/roomle-embedding-lib.es.min.js +1 -1
- package/roomle-embedding-lib.umd.js +21 -17
- package/roomle-embedding-lib.umd.min.js +1 -1
|
@@ -1,23 +1,14 @@
|
|
|
1
|
-
## [5.28.0-alpha.
|
|
1
|
+
## [5.28.0-alpha.2](https://github.com/roomle-dev/roomle-ui/compare/embedding-lib-v5.28.0-alpha.1...embedding-lib-v5.28.0-alpha.2) (2025-09-15)
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
### Features
|
|
5
5
|
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* **core:** upgrade to version 2.60.0-alpha.1 ([6d9b58b](https://github.com/roomle-dev/roomle-ui/commit/6d9b58bd31a386f30b11bc91777a2aaee0e1d325))
|
|
11
|
-
* **core:** upgrade to version 2.60.0-alpha.2 ([8d4d507](https://github.com/roomle-dev/roomle-ui/commit/8d4d507631afca3960f75fb91c192c77086de75d))
|
|
12
|
-
* working UI, flying menu, toggles ([4738c37](https://github.com/roomle-dev/roomle-ui/commit/4738c37806c756594143ab8106ab5c375ca60327))
|
|
6
|
+
* clean-up hi example feature flags ([8410d22](https://github.com/roomle-dev/roomle-ui/commit/8410d22437062ee016db66a1e567723459a033d4))
|
|
7
|
+
* keep position when external object is replaced ([dda4c61](https://github.com/roomle-dev/roomle-ui/commit/dda4c61cb8366204d5524435016d47da18f3cc4b))
|
|
8
|
+
* recalculate external object group when group is loaded from a plan ([fc67591](https://github.com/roomle-dev/roomle-ui/commit/fc67591dfe2f83f612a17dc023e228e0a813c743))
|
|
9
|
+
* select root modules to be duplicated ([cfafc35](https://github.com/roomle-dev/roomle-ui/commit/cfafc35d106b1ee314e06b8eb650e81cf2ee7fc8))
|
|
13
10
|
|
|
14
11
|
|
|
15
12
|
### Bug Fixes
|
|
16
13
|
|
|
17
|
-
*
|
|
18
|
-
* feedback fixes ([f4d07d0](https://github.com/roomle-dev/roomle-ui/commit/f4d07d01c3663cccb454bc27a57f3adef4c236f8))
|
|
19
|
-
* remove border and border radius from component measurements ([3b7b0fd](https://github.com/roomle-dev/roomle-ui/commit/3b7b0fd8ae5dea042c8cba52205d6d6e5827e1ff))
|
|
20
|
-
* remove light setting when no light elements are found, default lighting on configure ([f6656fb](https://github.com/roomle-dev/roomle-ui/commit/f6656fbb4dbbbc46abb2917c6a6b14790280c3ed))
|
|
21
|
-
* tests ([e95886e](https://github.com/roomle-dev/roomle-ui/commit/e95886e7b3dabc0c6a56863791fce63495089d98))
|
|
22
|
-
* tests ([46eab0d](https://github.com/roomle-dev/roomle-ui/commit/46eab0da4e398f6dc2f05e348c044c9010b41acf))
|
|
23
|
-
* use text inputs on android when inchfeet is used ([9aa26d8](https://github.com/roomle-dev/roomle-ui/commit/9aa26d8238aa0b079e4d3aa765f28553d556764e))
|
|
14
|
+
* set file size limit of embedding lib to 15 kb after adding comlink ([65809d9](https://github.com/roomle-dev/roomle-ui/commit/65809d9d616c5000631a85cddbe4388567bd63bb))
|
package/package.json
CHANGED
|
@@ -5,10 +5,16 @@ import { default as RoomleGLBViewer } from '@roomle/web-sdk/glb-viewer-core/src/
|
|
|
5
5
|
import { default as RoomlePlanner } from '@roomle/web-sdk/planner-core/src/roomle-planner';
|
|
6
6
|
import { DragIn } from './plugins/drag-in';
|
|
7
7
|
import { Connector } from './connector';
|
|
8
|
+
import { MasterData } from '@roomle/web-sdk/homag-intelligence/src/model/oc-scripts-domain.model';
|
|
8
9
|
|
|
9
10
|
interface PluginMap {
|
|
10
11
|
dragIn: typeof DragIn;
|
|
11
12
|
}
|
|
13
|
+
export interface HiCallbacks {
|
|
14
|
+
onLoadJavascript: (libraryId: string) => Promise<string>;
|
|
15
|
+
onLoadMasterData: (libraryId: string) => Promise<MasterData>;
|
|
16
|
+
onLoadArticleCatalog: (libraryId: string) => Promise<any>;
|
|
17
|
+
}
|
|
12
18
|
export type AvailablePlugins = {
|
|
13
19
|
[K in keyof PluginMap]?: InstanceType<PluginMap[K]>;
|
|
14
20
|
};
|
|
@@ -47,6 +53,7 @@ export default class RoomleEmbeddingApi<SdkType, SdkCallbacks> extends Connector
|
|
|
47
53
|
* @param initData settings with which the configurator should be started
|
|
48
54
|
*/
|
|
49
55
|
static createViewer(configuratorId: string, container: HTMLElement, initData: UiInitData, plugins?: PluginDefinitions): Promise<RoomleViewerApi>;
|
|
56
|
+
static setupHi(callbacks: HiCallbacks): void;
|
|
50
57
|
private static _create;
|
|
51
58
|
private _waitForIframe;
|
|
52
59
|
private _container;
|
|
@@ -26,7 +26,7 @@ export interface ExternalObjectGroup {
|
|
|
26
26
|
groupId: string;
|
|
27
27
|
pos: number[];
|
|
28
28
|
rotationY?: number;
|
|
29
|
-
rootModules
|
|
29
|
+
rootModules?: ExternalObjectRootModule[];
|
|
30
30
|
contours?: ExternalObjectContour[];
|
|
31
31
|
}
|
|
32
32
|
export interface ExternalModuleInformation {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExternalModuleInformation, ExternalObjectGroup
|
|
1
|
+
import { ExternalModuleInformation, ExternalObjectGroup } from './callbacks';
|
|
2
2
|
import { MasterData, PosModuleAttribute, PosGroup, PosModuleData, PosModuleRootData } from './model/oc-scripts-domain.model';
|
|
3
3
|
|
|
4
4
|
export interface LibraryData {
|
|
@@ -28,7 +28,7 @@ export interface GlueLogic {
|
|
|
28
28
|
mergeGroups(targetGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], idOfTargetRootModule: string): void;
|
|
29
29
|
deleteRootModule(remainingGroup: ExternalObjectGroup, rootModuleIdToDelete: string, splitOffGroups: ExternalObjectGroup[]): void;
|
|
30
30
|
splitRootModuleFromGroup(splitGroup: ExternalObjectGroup, newGroupedRootModules: ExternalObjectGroup[]): void;
|
|
31
|
-
duplicateGroup(sourceGroupId: string,
|
|
31
|
+
duplicateGroup(sourceGroupId: string, duplicatedGroup: ExternalObjectGroup): void;
|
|
32
32
|
modifyAttribute(groupId: string, moduleIdObjects: ExternalModuleInformation[], attributeName: string, value: string): void;
|
|
33
33
|
arrangeRootModulesOfGroup(changedGroup: ExternalObjectGroup): void;
|
|
34
34
|
changedGroupPlanningSituation(changedGroup: ExternalObjectGroup): void;
|
|
@@ -68,7 +68,7 @@ export declare class Emulator implements GlueLogic {
|
|
|
68
68
|
selectSubModule(_groupId: any, rootId: string, moduleId: string): Promise<void>;
|
|
69
69
|
openCloseGroup(groupId: string): Promise<void>;
|
|
70
70
|
deleteRootModule(remainingGroup: ExternalObjectGroup, rootModuleIdToDelete: string, splitOffGroups: ExternalObjectGroup[]): void;
|
|
71
|
-
duplicateGroup(
|
|
71
|
+
duplicateGroup(_sourceGroupId: string, duplicatedGroup: ExternalObjectGroup): Promise<void>;
|
|
72
72
|
mergeGroups(targetGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], idOfTargetRootModule: string): void;
|
|
73
73
|
private _applyImplicitRelevantAttributes;
|
|
74
74
|
splitRootModuleFromGroup(splitGroup: ExternalObjectGroup, newGroupedRootModules: ExternalObjectGroup[]): void;
|
|
@@ -5,6 +5,7 @@ import { MasterData } from './model/oc-scripts-domain.model';
|
|
|
5
5
|
import { default as RoomlePlanner } from '../../planner-core/src/roomle-planner';
|
|
6
6
|
import { ExternalConfiguration, ExternalItem } from '../../typings/external-objects';
|
|
7
7
|
import { HiTagCatalogCallbacks } from './hi-tag-catalog-callbacks';
|
|
8
|
+
import { HiCallbacks } from '../../../../embedding-lib/src/embedding-lib';
|
|
8
9
|
|
|
9
10
|
declare global {
|
|
10
11
|
interface Window {
|
|
@@ -29,13 +30,14 @@ export declare class HomagIntelligence extends RmlPlugin {
|
|
|
29
30
|
private _hiLibraryLoaded;
|
|
30
31
|
private _orders;
|
|
31
32
|
constructor();
|
|
32
|
-
loadHiLibrary(
|
|
33
|
+
loadHiLibrary(hiCallbacks: HiCallbacks, libraryId: string): Promise<{
|
|
33
34
|
articles: any;
|
|
34
35
|
masterData: MasterData;
|
|
35
36
|
calcScriptLoaded: boolean;
|
|
36
37
|
}>;
|
|
37
|
-
init(articles: any, catalogCallbacks: HiTagCatalogCallbacks, roomlePlanner: RoomlePlanner, libraryId: string, apiOptions: ApiOptions): Promise<this>;
|
|
38
|
+
init(articles: any, catalogCallbacks: HiTagCatalogCallbacks, roomlePlanner: RoomlePlanner, libraryId: string, apiOptions: ApiOptions, hiCallbacks: HiCallbacks): Promise<this>;
|
|
38
39
|
private _loadMasterData;
|
|
40
|
+
private _initCalcScript;
|
|
39
41
|
getEmulator(): Emulator;
|
|
40
42
|
sendToOM(withPrice?: boolean): Promise<void>;
|
|
41
43
|
fetchPrice(planId?: string): Promise<any>;
|
|
@@ -18,7 +18,5 @@ export declare const fetchDataWithAuthorization: (url: string, type: 'json' | 't
|
|
|
18
18
|
property: string;
|
|
19
19
|
}) => Promise<Response>;
|
|
20
20
|
export declare const loadArticleCatalog: (libraryId: string, apiOptions: ApiOptions) => Promise<any>;
|
|
21
|
-
export declare const
|
|
22
|
-
|
|
23
|
-
calcScriptLoaded: boolean;
|
|
24
|
-
}>;
|
|
21
|
+
export declare const loadMasterData: (libraryId: string, apiOptions: ApiOptions) => Promise<MasterData>;
|
|
22
|
+
export declare const loadCalcScript: (libraryId: string, apiOptions: ApiOptions) => Promise<string>;
|
|
@@ -5,7 +5,8 @@ export interface ExternalObjectSegment {
|
|
|
5
5
|
cmd: string;
|
|
6
6
|
x: number;
|
|
7
7
|
y: number;
|
|
8
|
-
type
|
|
8
|
+
type?: string;
|
|
9
|
+
angle?: number;
|
|
9
10
|
}
|
|
10
11
|
export interface ExternalObjectContour {
|
|
11
12
|
level: number;
|
|
@@ -13,18 +14,18 @@ export interface ExternalObjectContour {
|
|
|
13
14
|
}
|
|
14
15
|
export interface ExternalObjectGroupPosition {
|
|
15
16
|
pos: number[];
|
|
16
|
-
|
|
17
|
+
rotationY?: number;
|
|
17
18
|
contours?: ExternalObjectContour[];
|
|
18
19
|
}
|
|
19
20
|
export interface ExternalObjectRootModule {
|
|
20
21
|
moduleId: string;
|
|
21
22
|
pos: number[];
|
|
22
|
-
|
|
23
|
+
rotationY?: number;
|
|
23
24
|
}
|
|
24
25
|
export interface ExternalObjectGroup {
|
|
25
|
-
groupId
|
|
26
|
+
groupId: string;
|
|
26
27
|
pos: number[];
|
|
27
|
-
|
|
28
|
+
rotationY?: number;
|
|
28
29
|
rootModules?: ExternalObjectRootModule[];
|
|
29
30
|
contours?: ExternalObjectContour[];
|
|
30
31
|
}
|
|
@@ -84,12 +85,12 @@ export interface ExternalObjectUiCallback {
|
|
|
84
85
|
/**
|
|
85
86
|
* "onDuplicateExternalObjectGroup" is invoked when a group of root modules is duplicated.
|
|
86
87
|
* This event request generating a completely new group with the an new root modules
|
|
87
|
-
* with exactly the same structure as the group
|
|
88
|
-
* The new group is placed at the position and orientation defined in "
|
|
88
|
+
* with exactly the same structure as the group provided "duplicatedGroup".
|
|
89
|
+
* The new group is placed at the position and orientation defined in "duplicatedGroup".
|
|
89
90
|
* @param sourceGroupId The ID of the source group of root modules.
|
|
90
|
-
* @param
|
|
91
|
+
* @param duplicatedGroup The group of root modules.
|
|
91
92
|
*/
|
|
92
|
-
onDuplicateExternalObjectGroup(sourceGroupId: string,
|
|
93
|
+
onDuplicateExternalObjectGroup(sourceGroupId: string, duplicatedGroup: ExternalObjectGroup): void;
|
|
93
94
|
/**
|
|
94
95
|
* “onChangedExternalObjectGroupPlan” is invoked when a group of root modules is moved or rotated to a new position
|
|
95
96
|
* or when the plan itself is changed.
|
|
@@ -14,7 +14,7 @@ import { MeasurementLineDimension, MeasurementLineDimensionTransferable } from '
|
|
|
14
14
|
import { ConstructionMeasurementsTransferable } from './utils/measurements';
|
|
15
15
|
import { FloorAreaDataTransferable } from './view-model/floor-plan-element-view-model';
|
|
16
16
|
import { BASE_CONTEXT } from '../../common-core/src/main';
|
|
17
|
-
import { ExternalObjectGroup,
|
|
17
|
+
import { ExternalObjectGroup, ExternalObjectUiCallback } from './external-object-api-callbacks';
|
|
18
18
|
|
|
19
19
|
export interface SelectionPayload {
|
|
20
20
|
item?: RapiItem;
|
|
@@ -206,7 +206,7 @@ export default class RoomlePlannerUiCallback extends UiCallback implements Exter
|
|
|
206
206
|
/**
|
|
207
207
|
* documented in interface ExternalObjectUiCallback
|
|
208
208
|
*/
|
|
209
|
-
onDuplicateExternalObjectGroup: (sourceGroupId: string,
|
|
209
|
+
onDuplicateExternalObjectGroup: (sourceGroupId: string, duplicatedGroup: ExternalObjectGroup) => void;
|
|
210
210
|
/**
|
|
211
211
|
* documented in interface ExternalObjectUiCallback
|
|
212
212
|
*/
|
|
@@ -7,7 +7,7 @@ import { default as PlanElementViewModel } from '../../../common-core/src/view-m
|
|
|
7
7
|
import { Position3 } from '../../../common-core/src/common-interfaces';
|
|
8
8
|
import { default as ConfiguratorKernelAccess } from '../../../common-core/src/configurator-kernel-access';
|
|
9
9
|
import { ExternalObjectApiConfiguration } from '../external-object-api';
|
|
10
|
-
import { ExternalObjectGroup
|
|
10
|
+
import { ExternalObjectGroup } from '../external-object-api-callbacks';
|
|
11
11
|
|
|
12
12
|
export interface PlannerKernelCallbackI {
|
|
13
13
|
handlerSwitchedPlans(fromPlan: Plan, toPlan: Plan): void;
|
|
@@ -100,7 +100,7 @@ export default class PlannerKernelAccess extends ConfiguratorKernelAccess {
|
|
|
100
100
|
protected _externalObjectConfigurationLoaded(_objectId: number, configuration: string): void;
|
|
101
101
|
protected _externalObjectConfigurationDeleted(groupId: string): void;
|
|
102
102
|
protected _externalObjectComponentDeleted(remainingGroupOrGroups: ExternalObjectGroup | ExternalObjectGroup[], deletedRootModuleId: string): void;
|
|
103
|
-
_externalObjectConfigurationDuplicated(
|
|
103
|
+
_externalObjectConfigurationDuplicated(duplicatedGroup: ExternalObjectGroup): void;
|
|
104
104
|
_externalObjectPlanChanged(movedGroup: ExternalObjectGroup): Promise<void>;
|
|
105
105
|
_externalObjectConfigurationsMerged(mergedGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], targetRootModuleId: string): Promise<void>;
|
|
106
106
|
_externalObjectComponentSplitOff(splitGroups: ExternalObjectGroup[]): void;
|