@roomle/embedding-lib 5.25.0 → 5.26.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.
Files changed (87) hide show
  1. package/docs/md/web/embedding/CHANGELOG.md +5 -64
  2. package/package.json +1 -1
  3. package/packages/embedding-lib/src/examples/homag-intelligence-catalog-example.d.ts +12 -0
  4. package/packages/web-sdk/packages/common-core/src/rapi-access.d.ts +1 -0
  5. package/packages/web-sdk/packages/common-core/src/services/global-callback.d.ts +2 -0
  6. package/packages/web-sdk/packages/common-core/src/utils/common-utils.d.ts +1 -0
  7. package/packages/web-sdk/packages/common-core/src/view-model/configurator-view-model.d.ts +4 -0
  8. package/packages/web-sdk/packages/configurator-core/src/services/configurator-ui-callback.d.ts +5 -0
  9. package/packages/web-sdk/packages/configurator-core/src/webgl/configurator-scene-manager.d.ts +3 -0
  10. package/packages/web-sdk/packages/homag-intelligence/src/hi-tag-catalog-callbacks.d.ts +20 -0
  11. package/packages/web-sdk/packages/homag-intelligence/src/homag-intelligence.d.ts +15 -1
  12. package/packages/web-sdk/packages/homag-intelligence/src/loader.d.ts +1 -1
  13. package/packages/web-sdk/packages/planner-core/src/roomle-planner.d.ts +1 -0
  14. package/packages/web-sdk/packages/planner-core/src/services/planner-kernel-access.d.ts +2 -2
  15. package/packages/web-sdk/packages/typings/external-objects.d.ts +9 -0
  16. package/src/common/components/inputs/RangeSlider.vue.d.ts +1 -1
  17. package/src/common/components/overlays/PartList.vue.d.ts +3 -3
  18. package/src/common/components/parameters/ColorParameter.vue.d.ts +2 -2
  19. package/src/common/components/side-bar/ResponsiveSidebarWrapper.vue.d.ts +37 -0
  20. package/src/common/components/side-bar/SidebarItem.vue.d.ts +20 -0
  21. package/src/common/components/side-bar/SidebarItemLabel.vue.d.ts +10 -0
  22. package/src/common/components/side-bar/SidebarRouterLayer.vue.d.ts +6 -0
  23. package/src/common/components/side-bar/TabbedNav.vue.d.ts +22 -0
  24. package/src/common/components/{collection-view/-utils → side-bar}/TabbedNavMenu.vue.d.ts +1 -1
  25. package/src/common/components/{collection-view/-utils/collection-view-dynamic-components.d.ts → side-bar/utils/configurator-sidebar-components.d.ts} +27 -86
  26. package/src/common/components/side-bar/utils/helper.d.ts +3 -0
  27. package/src/common/components/side-bar/utils/types.d.ts +32 -0
  28. package/src/common/components/utils/QRCode.vue.d.ts +3 -3
  29. package/src/common/composables/use-fetch-root-tag.d.ts +3 -3
  30. package/src/common/composables/use-open-close-anim.d.ts +2 -2
  31. package/src/common/composables/use-pausable-computed.d.ts +15 -0
  32. package/src/common/composables/use-sidebar-layer-router.d.ts +12 -0
  33. package/src/common/router/router.d.ts +2 -0
  34. package/src/common/store/index.d.ts +3 -3
  35. package/src/common/store/{collection-view-state.d.ts → sidebar-store-state.d.ts} +12 -12
  36. package/src/common/utils/parameters.d.ts +6 -6
  37. package/src/common/utils/types.d.ts +0 -3
  38. package/src/configurator/business-logic/sdk-connector.d.ts +0 -1
  39. package/src/configurator/components/ConfiguratorSidebar.vue.d.ts +4 -2
  40. package/src/configurator/components/addons/PossibleChildren.vue.d.ts +0 -2
  41. package/src/configurator/components/grid-view/-utils/CollapsedView.vue.d.ts +29 -77
  42. package/src/configurator/components/grid-view/-utils/ExpandedHeader.vue.d.ts +6 -6
  43. package/src/configurator/components/grid-view/-utils/ExpandedView.vue.d.ts +7 -4
  44. package/src/configurator/components/grid-view/-utils/GridViewElement.vue.d.ts +1 -1
  45. package/src/configurator/components/grid-view/-utils/GridViewHelper.d.ts +7 -2
  46. package/src/configurator/components/grid-view/GridView.vue.d.ts +2 -2
  47. package/src/configurator/components/parameters/types/DisabledParameters.vue.d.ts +3 -3
  48. package/src/configurator/components/parameters/types/MaterialParameter.vue.d.ts +10 -64
  49. package/src/configurator/components/parameters/types/ProductVariant.vue.d.ts +4 -5
  50. package/src/configurator/components/parameters/types/ThumbnailsParameter.vue.d.ts +2 -5
  51. package/src/configurator/components/utils/-utils/side-bar-types.d.ts +13 -0
  52. package/src/configurator/components/utils/InteractionsContainer.vue.d.ts +4 -2
  53. package/src/configurator/components/utils/SearchInput.vue.d.ts +6 -3
  54. package/src/configurator/embedding/helper.d.ts +1 -1
  55. package/src/configurator/embedding/types.d.ts +1 -1
  56. package/src/planner/business-logic/rooms.d.ts +0 -7
  57. package/src/planner/components/ObjectList.vue.d.ts +5 -5
  58. package/src/planner/components/PlannerSidebar.vue.d.ts +4 -2
  59. package/src/planner/components/RotationIndicator.vue.d.ts +1 -1
  60. package/src/planner/components/overlays/RoomSidebar.vue.d.ts +4 -2
  61. package/src/planner/components/overlays/rooms/ConstructionVariants.vue.d.ts +2 -3
  62. package/src/planner/components/overlays/rooms/DoorParametersSetting.vue.d.ts +15 -4873
  63. package/src/planner/components/overlays/rooms/RoomFloorAndWallSettings.vue.d.ts +0 -2
  64. package/src/planner/components/overlays/rooms/RoomsList.vue.d.ts +0 -2
  65. package/src/planner/components/overlays/rooms/WallGeneralSettings.vue.d.ts +4 -2
  66. package/src/planner/components/overlays/rooms/WindowParametersSetting.vue.d.ts +4 -2
  67. package/src/planner/components/utils/ConfiguratorParameter.vue.d.ts +6 -6
  68. package/src/planner/components/utils/InteractionHeader.vue.d.ts +3 -3
  69. package/src/planner/components/utils/WallSideIcon.vue.d.ts +5 -5
  70. package/src/planner/store/planner-core-data.d.ts +0 -1
  71. package/src/planner/utils/planner-sidebar.d.ts +0 -9
  72. package/src/viewer/components/ViewerMain.vue.d.ts +11 -7
  73. package/src/viewer/components/ViewerSidebar.vue.d.ts +3 -3
  74. package/src/common/components/collection-view/-utils/TabbedNav.vue.d.ts +0 -18
  75. package/src/common/components/collection-view/-utils/collection-view-props.d.ts +0 -40
  76. package/src/common/components/collection-view/-utils/helper.d.ts +0 -5
  77. package/src/common/components/collection-view/-utils/render.d.ts +0 -9
  78. package/src/common/components/collection-view/-utils/types.d.ts +0 -45
  79. package/src/common/components/collection-view/CollectionView.vue.d.ts +0 -69
  80. package/src/common/components/collection-view/CollectionViewElement.vue.d.ts +0 -47
  81. package/src/common/components/drawer-layout/DrawerElement.vue.d.ts +0 -71
  82. package/src/common/components/drawer-layout/DrawerGroup.vue.d.ts +0 -23
  83. package/src/common/components/drawer-layout/DrawerLayout.vue.d.ts +0 -94
  84. /package/src/common/components/{collection-view/-utils → side-bar}/BackButton.vue.d.ts +0 -0
  85. /package/src/common/components/{collection-view/CollectionViewHint.vue.d.ts → side-bar/SidebarHintText.vue.d.ts} +0 -0
  86. /package/src/common/components/{collection-view/-utils → side-bar}/TabbedNavStatic.vue.d.ts +0 -0
  87. /package/src/common/components/{collection-view/-utils → tool-tip}/ParameterTooltip.vue.d.ts +0 -0
@@ -1,68 +1,9 @@
1
- ## [5.25.0](https://github.com/roomle-dev/roomle-ui/compare/embedding-lib-v5.24.0...embedding-lib-v5.25.0) (2025-08-12)
2
-
3
-
4
- ### Features
5
-
6
- * add Bulgarian and Slovakian languages ([8f1fc67](https://github.com/roomle-dev/roomle-ui/commit/8f1fc67cff5de23d97f542b29b5497f806314838))
7
- * cancel dragin on esc ([cb73cfa](https://github.com/roomle-dev/roomle-ui/commit/cb73cfa13bf25a7a95833d66bb5193e24273b01c))
8
- * collection of light sources in component ([39d0c6d](https://github.com/roomle-dev/roomle-ui/commit/39d0c6d4457c7e36a6ab24146d4b6b2381145a7c))
9
- * COLOR parameter type ([5b5a656](https://github.com/roomle-dev/roomle-ui/commit/5b5a6564faa9a1cddb556979f2f6ac3f42066b7b))
10
- * component area light ([6ca94ab](https://github.com/roomle-dev/roomle-ui/commit/6ca94ab66f30d793b7a3e37be912388ac611e355))
11
- * component point light ([2d8ed76](https://github.com/roomle-dev/roomle-ui/commit/2d8ed76db76a313263df448934e55c278f4cc878))
12
- * core api - Editor3dChangedLightSource ([f83bb0c](https://github.com/roomle-dev/roomle-ui/commit/f83bb0ccb12dd5acc27d095743b21a5900958299))
13
- * core api - Editor3dChangedLightSource ([3cc6a47](https://github.com/roomle-dev/roomle-ui/commit/3cc6a47daa49626d3f22f2612e3bfd1762d22c9b))
14
- * core upgrade to version 2.57.0-alpha.1 ([7894089](https://github.com/roomle-dev/roomle-ui/commit/7894089e552d63d700deb44791d31bdcb1ea3772))
15
- * core upgrade to version 2.57.0-alpha.2 ([8ef08a9](https://github.com/roomle-dev/roomle-ui/commit/8ef08a90dda72f5d30d445badd97f4a77e2c27c1))
16
- * core upgrade to version 2.57.0-alpha.3 ([f6f1459](https://github.com/roomle-dev/roomle-ui/commit/f6f14594242c9c0d6a28bf27a0f7dfe1e3fa9583))
17
- * drag insert object animation ([180b17b](https://github.com/roomle-dev/roomle-ui/commit/180b17b640ae40a0c64f4ccb1815f576bd210b77))
18
- * embedding api for setting animation values of configurations ([2e99810](https://github.com/roomle-dev/roomle-ui/commit/2e9981060a14f52a3ba9ad81ffee20d2bfafe184))
19
- * integrate check attributes conflict solving into emulator ([40017b0](https://github.com/roomle-dev/roomle-ui/commit/40017b0a83ef9cf23a9a59cc76fa31b2bd249717))
20
- * migration of the light source implementation from innovation day ([c9b554b](https://github.com/roomle-dev/roomle-ui/commit/c9b554bc7cfa929affdb5f065237aa71a6b0813a))
21
- * object dimensioning with individual dimensioning axes ([0b7cd94](https://github.com/roomle-dev/roomle-ui/commit/0b7cd94631897fa2578173490296e6f947c3f85d))
22
- * show custom component dimensions when click on measurements icon ([134a2df](https://github.com/roomle-dev/roomle-ui/commit/134a2dfda3186fa3a6c07d5d65d52ff6701511f3))
23
- * update light source attributes ([b4f080c](https://github.com/roomle-dev/roomle-ui/commit/b4f080c059acfb21cedaf6e770b4301887770ad5))
24
- * update pos data model ([e612333](https://github.com/roomle-dev/roomle-ui/commit/e6123333b262ce72339f3059cde95128449bc849))
25
- * updateAttribute API from OC ([3b4af28](https://github.com/roomle-dev/roomle-ui/commit/3b4af289a58a1669ca66e66649876d28e1bdc421))
26
- * **SDK:** upgrade to version 2.105.0 ([#1758](https://github.com/roomle-dev/roomle-ui/issues/1758)) ([d259718](https://github.com/roomle-dev/roomle-ui/commit/d2597182081e18dccaba8c8309c6ac371b317e1b))
27
- * **core:** upgrade to version 2.57.0-alpha.4 ([55d0d2e](https://github.com/roomle-dev/roomle-ui/commit/55d0d2edab851fe2da418907663ecf347272201b))
28
- * **core:** upgrade to version 2.57.0-alpha.5 ([7729b50](https://github.com/roomle-dev/roomle-ui/commit/7729b50ad6ebcb8265dd6f66f005206acb2b457c))
29
- * **core:** upgrade to version 2.57.0-alpha.5 ([b5f4127](https://github.com/roomle-dev/roomle-ui/commit/b5f412743d68be2640ecfebdeba27bbc4ecdd18b))
30
- * **core:** upgrade to version 2.57.0-alpha.6 ([c82dd49](https://github.com/roomle-dev/roomle-ui/commit/c82dd49d34db1baede3314a569cdcafe8408651f))
31
- * **core:** upgrade to version 2.57.0-alpha.7 ([73ef34f](https://github.com/roomle-dev/roomle-ui/commit/73ef34f9217be99976a57c241d9d88d98c39814e))
32
- * **core:** upgrade to version 2.58.0-alpha.1 ([3b97d5f](https://github.com/roomle-dev/roomle-ui/commit/3b97d5f1af08e7c8c38a4f7edcc632a9fdd5788c))
33
- * **core:** upgrade to version 2.58.0-alpha.2 ([523ec6c](https://github.com/roomle-dev/roomle-ui/commit/523ec6ce14be24d51d2c1e4c82838270707c5ad9))
34
- * **core:** upgrade to version 2.58.0-alpha.3 ([79c4d30](https://github.com/roomle-dev/roomle-ui/commit/79c4d30594a5801a893029f86f6286abef79e3de))
35
- * **core:** upgrade to version 2.58.0-alpha.4 ([394d952](https://github.com/roomle-dev/roomle-ui/commit/394d9522d024a68e9565a81d6c4531227964adba))
36
- * **core:** upgrade to version 2.58.0-alpha.5 ([2ede69a](https://github.com/roomle-dev/roomle-ui/commit/2ede69a9840b4cf5e695a9d8d17c793e5e8badc4))
37
- * **core:** upgrade to version 2.58.0-alpha.6 ([ca5ff49](https://github.com/roomle-dev/roomle-ui/commit/ca5ff49af721c43ea9c8093280d3f6f3b5d72f6c))
38
- * **core:** upgrade to version 2.58.0-alpha.7 ([5bdcaeb](https://github.com/roomle-dev/roomle-ui/commit/5bdcaeb1075d614694151411f829ebd5ede4bbcf))
39
- * **core:** upgrade to version 2.58.0-alpha.8 ([29ab1ad](https://github.com/roomle-dev/roomle-ui/commit/29ab1adb89acaa739631310ffaa43fafa7d003a3))
40
- * **core:** upgrade to version 2.58.0 ([12d9422](https://github.com/roomle-dev/roomle-ui/commit/12d942213b0b55b722e46085fec8a4ae32f791aa))
1
+ ## [5.26.0-alpha.2](https://github.com/roomle-dev/roomle-ui/compare/embedding-lib-v5.26.0-alpha.1...embedding-lib-v5.26.0-alpha.2) (2025-08-19)
41
2
 
42
3
 
43
4
  ### Bug Fixes
44
5
 
45
- * another dev dep ([89a67e4](https://github.com/roomle-dev/roomle-ui/commit/89a67e41fd02ae7f83eff2c06be84af3980fb6b8))
46
- * await mock setup for threejs utils ([4582f37](https://github.com/roomle-dev/roomle-ui/commit/4582f3762e1f2f606bac52fff901d7593ce032ae))
47
- * Build workers in sdk folder when running npm run dev ([8f717d6](https://github.com/roomle-dev/roomle-ui/commit/8f717d6b6fd01bac863873f8f2f9001ce55c8603))
48
- * development builds loading envmaps ([3983d81](https://github.com/roomle-dev/roomle-ui/commit/3983d81ef3466816ff8310c0d759583537e068b6))
49
- * exclude dimensioning from G-Buffer (and thus from AO) ([1ffd715](https://github.com/roomle-dev/roomle-ui/commit/1ffd7158f9caa345b08229f71962819765e86f23))
50
- * keep Z coordinate when dragging in 2D ([d3499f3](https://github.com/roomle-dev/roomle-ui/commit/d3499f36ed9ca9c3c56f3614eef841bdaedd675a))
51
- * lamp light intensity ([da960a0](https://github.com/roomle-dev/roomle-ui/commit/da960a0dbb8a6d0272a3172aff839d0e32ee7a20))
52
- * make material transition async again ([533feff](https://github.com/roomle-dev/roomle-ui/commit/533feff2f59ba75533c9be9b4a548e78940cb226))
53
- * message handler return ([1d6afc7](https://github.com/roomle-dev/roomle-ui/commit/1d6afc747416de5840b22216831c443cee473954))
54
- * Missing focus when clicking measurement bubble ([a3c75e9](https://github.com/roomle-dev/roomle-ui/commit/a3c75e99ae1cb9fe3c835c1e8fbcb2a120777dbd))
55
- * more tests passing under vite ([705ade6](https://github.com/roomle-dev/roomle-ui/commit/705ade69485bc15410345109f2b265c39bd4ab97))
56
- * parse font json instead of loading it from url ([940e57e](https://github.com/roomle-dev/roomle-ui/commit/940e57e2ca86b73131de7578f4433065c40c81fc))
57
- * relative paths ([696388b](https://github.com/roomle-dev/roomle-ui/commit/696388b10f8d8247a293c83667cabae49efee370))
58
- * release ([42400e9](https://github.com/roomle-dev/roomle-ui/commit/42400e95a2da8f299b8611c949897e9f28b7a798))
59
- * remove duplicate member (resolve merge conflict) ([4973406](https://github.com/roomle-dev/roomle-ui/commit/4973406c472f2572b9292cef13956ba267d64317))
60
- * remove tween object after completing or stopping the animation ([5e87d17](https://github.com/roomle-dev/roomle-ui/commit/5e87d17d26a9635ee60818fec67c26d0be2e68f9))
61
- * sw paths ([c2d7ffd](https://github.com/roomle-dev/roomle-ui/commit/c2d7ffda8b8d539d25c592681c63c43aee4fd27d))
62
- * update loco translations for da fr nl and sv languages ([3d6ecc2](https://github.com/roomle-dev/roomle-ui/commit/3d6ecc293179ed7638e44578915caefca7da7fba))
63
- * use import for tween.js instead of script loader ([c248fc3](https://github.com/roomle-dev/roomle-ui/commit/c248fc34c293f130cdd9b19d382c46eb66765b43))
64
-
65
-
66
- ### Reverts
67
-
68
- * removed duplicate function "convertFromKernel" ([af83508](https://github.com/roomle-dev/roomle-ui/commit/af83508d3fdfc68f1d5b7651c616009ebd303ad2))
6
+ * add glu layer mocks to tests ([1d7f967](https://github.com/roomle-dev/roomle-ui/commit/1d7f9673ac2ccab62b12fc4e3da29f8b8750847b))
7
+ * get the catalog showing in the demo ([1138ea6](https://github.com/roomle-dev/roomle-ui/commit/1138ea60ec99043b5776bda25d622a6b509715e2))
8
+ * infinite loop on dragging ext obj ([0f925f7](https://github.com/roomle-dev/roomle-ui/commit/0f925f741013ff7ab0bff11aeb3383c8d2c74456))
9
+ * removal of unused code ([e184154](https://github.com/roomle-dev/roomle-ui/commit/e184154b89ba598376f06373934316b736fe94ce))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@roomle/embedding-lib",
3
- "version": "5.25.0",
3
+ "version": "5.26.0-alpha.2",
4
4
  "description": "This is a small library which can be used to communicate with the Roomle Configurator",
5
5
  "type": "module",
6
6
  "main": "./roomle-embedding-lib.umd.js",
@@ -0,0 +1,12 @@
1
+ import { Example } from '../example';
2
+ import { RoomDesignerApiType } from './utils/homag-intelligence/overlay';
3
+
4
+ export default class DragInExample implements Example {
5
+ private _abortController;
6
+ setupHtml(parent: HTMLElement): Promise<void>;
7
+ closeExample(): Promise<void>;
8
+ private start;
9
+ onRequestPlan(roomDesignerApi: RoomDesignerApiType): Promise<void>;
10
+ doPriceCalculation(roomDesignerApi: RoomDesignerApiType): Promise<void>;
11
+ runExample(): Promise<void>;
12
+ }
@@ -196,5 +196,6 @@ export default class RapiAccess implements Context {
196
196
  updateCache(rapiPath: RAPI_PATHS, data: RapiJson & {
197
197
  id: RapiId;
198
198
  }): void;
199
+ getExternalObjects(externalObjectIds: `__ext__obj__#${string}`[]): Promise<any[]>;
199
200
  }
200
201
  export {};
@@ -3,6 +3,7 @@ import { RapiJsonBox } from '../../../typings/rapi-types';
3
3
  import { KernelMessageMetaInfo, KernelMessageType } from '../kernel-io';
4
4
  import { ExternalResponseValidator, FetchOptions, RAPI_PATHS } from '../rapi-access';
5
5
  import { UiCallback } from '../utils/ui-callback';
6
+ import { ExternalObjectOnFetchDataMap } from '../../../typings/external-objects';
6
7
 
7
8
  export declare class GlobalCallback extends UiCallback {
8
9
  /**
@@ -33,4 +34,5 @@ export declare class GlobalCallback extends UiCallback {
33
34
  * is called the scene is ready for rendering it as an image
34
35
  */
35
36
  onReadyForRender: () => void;
37
+ onFetchExternalData: <T extends keyof ExternalObjectOnFetchDataMap, K extends string | string[]>(_type: T, _ids: K) => Promise<K extends string ? ExternalObjectOnFetchDataMap[T] : K extends string[] ? Array<ExternalObjectOnFetchDataMap[T]> : never | undefined>;
36
38
  }
@@ -116,3 +116,4 @@ export declare const isRecord: (value: any) => value is Record<string, any>;
116
116
  export declare const getIdQueryParam: (urlString: string) => string | null;
117
117
  export declare const isCtrlOrCmd: (event: KeyboardEvent) => boolean;
118
118
  export declare const ctrlOrCmd: (event: KeyboardEvent, checkIfItIsTheOnlyKey?: boolean) => boolean;
119
+ export declare const runIfNotEmpty: <T extends any[]>(ids: string[], executor: () => Promise<T>) => Promise<T>;
@@ -9,6 +9,7 @@ import { default as InitData } from '../utils/init-data';
9
9
  import { default as MeshGenerator } from '../webgl/mesh-generator';
10
10
  import { default as PlannerKernelAccess } from '../../../planner-core/src/services/planner-kernel-access';
11
11
  import { Box3, Mesh } from 'three';
12
+ import { ExternalConfiguration } from '../../../typings/external-objects';
12
13
 
13
14
  export interface ConfiguratorViewModelCallbackI {
14
15
  componentUpdated(component: RoomleComponent, kernelComponent: KernelComponent): void;
@@ -36,6 +37,7 @@ export default class ConfiguratorViewModel implements ConfiguratorKernelCallback
36
37
  private _geometriesMerged;
37
38
  private _subPartObject;
38
39
  private _subPartGuard;
40
+ private _externalConfigurations;
39
41
  protected _components: Map<number, RoomleComponent>;
40
42
  private _previews;
41
43
  protected _componentNumberOfPossibleChildren: Map<number, number>;
@@ -50,6 +52,8 @@ export default class ConfiguratorViewModel implements ConfiguratorKernelCallback
50
52
  private _applyMeshUVTransform;
51
53
  updateAnimationParameters(elementId: number | number[], parameters: KernelParameter[]): void;
52
54
  changeAnimationValue(elementId: number, parameterKey: string, value: string, level: number, applyToChildren: boolean, animate: boolean): void;
55
+ saveExternalConfiguration(externalConfiguration: ExternalConfiguration): void;
56
+ getExternalConfigurationById(id: string): ExternalConfiguration;
53
57
  private getComponentFromElementId;
54
58
  private _addMeshToSubPart;
55
59
  private _addMeshToComponent;
@@ -8,6 +8,7 @@ import { PlannerKernelContainer } from '../../../typings/planner-kernel-containe
8
8
  import { RoomleComponent } from '../../../common-core/src/webgl/roomle-component-factory';
9
9
  import { ConfiguratorDebugCallbacks } from '../configurator-debug-api';
10
10
  import { CancelSelectionReasons } from '../../../typings/planner';
11
+ import { ExternalConfiguration } from '../../../typings/external-objects';
11
12
 
12
13
  export type ComponentAction = 'edit' | 'add';
13
14
  export type ComponentType = 'preview' | 'component';
@@ -292,5 +293,9 @@ export default class ConfiguratorUiCallbacks extends UiCallback implements Confi
292
293
  */
293
294
  onGeometryNotReady: (runtimeId: number) => void;
294
295
  onValueMapChanged: (changes: DebugValueMapChange) => void;
296
+ /**
297
+ * is called when the external configuration should be saved
298
+ */
299
+ onExternalConfigurationSaved: (configuration: ExternalConfiguration) => void;
295
300
  constructor(creator: string);
296
301
  }
@@ -21,6 +21,7 @@ import { default as CameraBehaviour } from '../../../common-core/src/cameracontr
21
21
  import { default as CameraBehaviour3d } from '../../../common-core/src/cameracontrol/camera-behaviour-3d';
22
22
  import { default as GlobalInitData } from '../../../common-core/src/utils/global-init-data';
23
23
  import { CancelSelectionReasons } from '../../../typings/planner';
24
+ import { ExternalConfiguration } from '../../../typings/external-objects';
24
25
 
25
26
  export default class ConfiguratorSceneManager extends SceneManager implements ConfiguratorViewModelCallbackI {
26
27
  _creator_: string;
@@ -48,6 +49,8 @@ export default class ConfiguratorSceneManager extends SceneManager implements Co
48
49
  enableEvents(): void;
49
50
  enableConfiguratorEvents(): void;
50
51
  disableConfiguratorEvents(): void;
52
+ saveExternalConfiguration(externalConfiguration: ExternalConfiguration): void;
53
+ getExternalConfigurationById(id: string): ExternalConfiguration;
51
54
  protected _getViewModel(): ConfiguratorViewModel;
52
55
  protected _getKernelAccess(): PlannerKernelAccess;
53
56
  private _showDockings;
@@ -0,0 +1,20 @@
1
+ import { Emulator } from './emulator';
2
+ import { Context } from '../../common-core/src/di/context';
3
+
4
+ export declare const FAKE_ROOT_TAG = "external:root-tag";
5
+ export declare class HiTagCatalogCallbacks implements Context {
6
+ _creator_: string;
7
+ private _emulator;
8
+ private _articlesPromise;
9
+ private _externalItems;
10
+ private _externalConfigurations;
11
+ private _tagIds;
12
+ private _globalCallback;
13
+ private _configuratorViewModel;
14
+ constructor(creator: string, articles: Promise<any>);
15
+ setEmulator(emulator: Emulator): void;
16
+ private _init;
17
+ private _onCheckExternalCache;
18
+ private _onFetchExternalData;
19
+ private _processedArticles;
20
+ }
@@ -3,8 +3,22 @@ import { Emulator } from './emulator';
3
3
  import { ApiOptions } from './loader';
4
4
  import { MasterData } from './model/oc-scripts-domain.model';
5
5
  import { default as RoomlePlanner } from '../../planner-core/src/roomle-planner';
6
+ import { ExternalConfiguration, ExternalItem } from '../../typings/external-objects';
7
+ import { HiTagCatalogCallbacks } from './hi-tag-catalog-callbacks';
6
8
 
9
+ declare global {
10
+ interface Window {
11
+ uuidv4: () => string;
12
+ }
13
+ }
7
14
  export declare const HOMAG_INTELLIGENCE_ENDPOINT = "https://europe-west3-rml-showcases.cloudfunctions.net/proxy_request?url=";
15
+ export type ExternalObjects = Map<string, {
16
+ id: string;
17
+ label: string;
18
+ items: any[];
19
+ }>;
20
+ export type ExternalItems = Map<string, ExternalItem>;
21
+ export type ExternalConfigurations = Map<string, ExternalConfiguration>;
8
22
  export declare class HomagIntelligence extends RmlPlugin {
9
23
  private _roomlePlanner;
10
24
  private _api;
@@ -20,7 +34,7 @@ export declare class HomagIntelligence extends RmlPlugin {
20
34
  masterData: MasterData;
21
35
  calcScriptLoaded: boolean;
22
36
  }>;
23
- init(roomlePlanner: RoomlePlanner, libraryId: string, apiOptions: ApiOptions): Promise<this>;
37
+ init(articles: any, catalogCallbacks: HiTagCatalogCallbacks, roomlePlanner: RoomlePlanner, libraryId: string, apiOptions: ApiOptions): Promise<this>;
24
38
  private _loadMasterData;
25
39
  getEmulator(): Emulator;
26
40
  sendToOM(withPrice?: boolean): Promise<void>;
@@ -17,8 +17,8 @@ export interface ApiOptions {
17
17
  export declare const fetchDataWithAuthorization: (url: string, type: 'json' | 'text', apiOptions: ApiOptions, debug?: {
18
18
  property: string;
19
19
  }) => Promise<Response>;
20
+ export declare const loadArticleCatalog: (libraryId: string, apiOptions: ApiOptions) => Promise<any>;
20
21
  export declare const loadHiLibrary: (libraryId: string, apiOptions: ApiOptions) => Promise<{
21
- articles: any;
22
22
  masterData: MasterData;
23
23
  calcScriptLoaded: boolean;
24
24
  }>;
@@ -524,5 +524,6 @@ export default class RoomlePlanner<P extends readonly PluginName[] = readonly []
524
524
  newPosDataFromId(id: string): any;
525
525
  sendToOM(withPrice?: boolean): Promise<void>;
526
526
  fetchPrice(planId?: string): Promise<any>;
527
+ getOrderManagerGroupData(planId?: string): Promise<import('../../homag-intelligence/src/model/oc-scripts-domain.model').PosGroup>;
527
528
  getRapiAccess(): RapiAccess;
528
529
  }
@@ -101,8 +101,8 @@ export default class PlannerKernelAccess extends ConfiguratorKernelAccess {
101
101
  protected _externalObjectConfigurationDeleted(groupId: string): void;
102
102
  protected _externalObjectComponentDeleted(remainingGroupOrGroups: ExternalObjectGroup | ExternalObjectGroup[], deletedRootModuleId: string): void;
103
103
  _externalObjectConfigurationDuplicated(sourceGroupId: string, newGroupPosition: ExternalObjectGroupPosition): void;
104
- _externalObjectPlanChanged(movedGroup: ExternalObjectGroup): void;
105
- _externalObjectConfigurationsMerged(mergedGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], targetRootModuleId: string): void;
104
+ _externalObjectPlanChanged(movedGroup: ExternalObjectGroup): Promise<void>;
105
+ _externalObjectConfigurationsMerged(mergedGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], targetRootModuleId: string): Promise<void>;
106
106
  _externalObjectComponentSplitOff(splitGroups: ExternalObjectGroup[]): void;
107
107
  _externalObjectArrangementChanged(changedGroup: ExternalObjectGroup): void;
108
108
  planSnapshotCreated(planSnapshot: RapiPlanSnapshotPostData): void;
@@ -25,4 +25,13 @@ export type RoomleConfiguratorWithExtObjs = RoomleConfigurator<[
25
25
  'external-objects'
26
26
  ]>;
27
27
  export type RoomleConfiguratorType = RoomleConfigurator | RoomleConfiguratorWithExtObjs;
28
+ export interface ExternalDataResponse<T> {
29
+ data: T;
30
+ meta: Record<string, any>;
31
+ }
32
+ export interface ExternalObjectOnFetchDataMap {
33
+ 'external-item': ExternalDataResponse<ExternalItem>;
34
+ 'external-configuration': ExternalDataResponse<ExternalConfiguration>;
35
+ 'external-tag': ExternalDataResponse<ExternalTag>;
36
+ }
28
37
  export {};
@@ -13,7 +13,7 @@ declare const _default: import('vue').DefineComponent<{
13
13
  onInput: (_payload: any) => void;
14
14
  }, {
15
15
  resetErrors: () => void;
16
- positionFilled: () => void;
16
+ positionFilled: (value?: number) => void;
17
17
  getValueString: () => string;
18
18
  setValueString: (valueString: string, unitChanged?: boolean) => void;
19
19
  setHasRangeError: () => void;
@@ -171,12 +171,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
171
171
  }>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
172
172
  InteractionHeader: import('vue').DefineComponent<{
173
173
  onClick?: (_payload: MouseEvent) => void;
174
- heading: string;
174
+ heading?: string;
175
175
  hideCloseButton?: boolean;
176
176
  }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
177
177
  onClick?: (_payload: MouseEvent) => void;
178
- heading: string;
178
+ heading?: string;
179
179
  hideCloseButton?: boolean;
180
- }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
180
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
181
181
  }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
182
182
  export default _default;
@@ -1107,9 +1107,9 @@ declare const _default: import('vue').DefineComponent<{
1107
1107
  isExpanded?: boolean;
1108
1108
  onExpand?: () => void;
1109
1109
  onCollapse?: (_payload: MouseEvent) => void;
1110
- isDesktop?: boolean;
1111
1110
  onSetColor?: (element: GridViewElement<any>) => void | Promise<void>;
1112
1111
  value?: MinimalBoundValue<any>;
1112
+ label?: string;
1113
1113
  }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
1114
1114
  groups: RapiMaterialGroup[] | readonly [{
1115
1115
  readonly id: "ral_9000";
@@ -2216,8 +2216,8 @@ declare const _default: import('vue').DefineComponent<{
2216
2216
  isExpanded?: boolean;
2217
2217
  onExpand?: () => void;
2218
2218
  onCollapse?: (_payload: MouseEvent) => void;
2219
- isDesktop?: boolean;
2220
2219
  onSetColor?: (element: GridViewElement<any>) => void | Promise<void>;
2221
2220
  value?: MinimalBoundValue<any>;
2221
+ label?: string;
2222
2222
  }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
2223
2223
  export default _default;
@@ -0,0 +1,37 @@
1
+ import { TabCategory } from './utils/types';
2
+
3
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
4
+ tabCategories?: TabCategory[];
5
+ onSelectCategory?: (_category: TabCategory, _index: number) => void;
6
+ onClickMobileSearch?: () => void;
7
+ selectedCategory?: TabCategory;
8
+ sidebarHeader?: string;
9
+ showClose?: boolean;
10
+ showBack?: boolean;
11
+ onBack?: () => void;
12
+ onClose?: () => void;
13
+ hideHeader?: boolean;
14
+ showGlobalSearch?: boolean;
15
+ isLoading?: boolean;
16
+ }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
17
+ tabCategories?: TabCategory[];
18
+ onSelectCategory?: (_category: TabCategory, _index: number) => void;
19
+ onClickMobileSearch?: () => void;
20
+ selectedCategory?: TabCategory;
21
+ sidebarHeader?: string;
22
+ showClose?: boolean;
23
+ showBack?: boolean;
24
+ onBack?: () => void;
25
+ onClose?: () => void;
26
+ hideHeader?: boolean;
27
+ showGlobalSearch?: boolean;
28
+ isLoading?: boolean;
29
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, {
30
+ default?(_: {}): any;
31
+ }>;
32
+ export default _default;
33
+ type __VLS_WithTemplateSlots<T, S> = T & {
34
+ new (): {
35
+ $slots: S;
36
+ };
37
+ };
@@ -0,0 +1,20 @@
1
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
2
+ label?: string;
3
+ payload?: UiKernelParameter;
4
+ disabled?: boolean;
5
+ onClickDisabled?: () => void;
6
+ }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
7
+ label?: string;
8
+ payload?: UiKernelParameter;
9
+ disabled?: boolean;
10
+ onClickDisabled?: () => void;
11
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, {
12
+ componentIcon?(_: {}): any;
13
+ default?(_: {}): any;
14
+ }>;
15
+ export default _default;
16
+ type __VLS_WithTemplateSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
@@ -0,0 +1,10 @@
1
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, {
2
+ default?(_: {}): any;
3
+ componentIcon?(_: {}): any;
4
+ }>;
5
+ export default _default;
6
+ type __VLS_WithTemplateSlots<T, S> = T & {
7
+ new (): {
8
+ $slots: S;
9
+ };
10
+ };
@@ -0,0 +1,6 @@
1
+ declare const _default: import('vue').DefineComponent<{
2
+ isHigherLevelSidebar: boolean;
3
+ }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
4
+ isHigherLevelSidebar: boolean;
5
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
@@ -0,0 +1,22 @@
1
+ import { ParameterData, TabCategory } from './utils/types';
2
+
3
+ declare const _default: import('vue').DefineComponent<{
4
+ tabCategories?: TabCategory[];
5
+ selectedCategory?: TabCategory;
6
+ onSelect: (_tab: ParameterData<any>, _index: number) => void;
7
+ onSelectCategory?: (_category: TabCategory, _index: number) => void;
8
+ tabs: ParameterData<any>[];
9
+ selected: ParameterData<any>;
10
+ showSearch?: boolean;
11
+ onClickSearch?: () => void;
12
+ }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
13
+ tabCategories?: TabCategory[];
14
+ selectedCategory?: TabCategory;
15
+ onSelect: (_tab: ParameterData<any>, _index: number) => void;
16
+ onSelectCategory?: (_category: TabCategory, _index: number) => void;
17
+ tabs: ParameterData<any>[];
18
+ selected: ParameterData<any>;
19
+ showSearch?: boolean;
20
+ onClickSearch?: () => void;
21
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
22
+ export default _default;
@@ -1,5 +1,5 @@
1
1
  import { PropType } from 'vue';
2
- import { TabCategory } from './types';
2
+ import { TabCategory } from './utils/types';
3
3
 
4
4
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
5
5
  selectedCategory: PropType<TabCategory>;