@roomle/embedding-lib 5.30.0-alpha.1 → 5.30.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 +43 -27
- package/index.d.ts +1 -0
- package/package.json +1 -1
- package/packages/embedding-lib/src/embedding-lib.d.ts +58 -9
- package/packages/web-sdk/packages/common-core/src/configurator-kernel-access.d.ts +6 -4
- package/packages/web-sdk/packages/common-core/src/light/light-source.d.ts +2 -0
- package/packages/web-sdk/packages/common-core/src/rapi-access.d.ts +12 -0
- package/packages/web-sdk/packages/common-core/src/utils/shims.d.ts +4 -0
- package/packages/web-sdk/packages/common-core/src/view-model/configurator-view-model.d.ts +3 -2
- package/packages/web-sdk/packages/common-core/src/webgl/roomle-component-factory.d.ts +1 -0
- package/packages/web-sdk/packages/configurator-core/src/utils/animation/animation-helper.d.ts +15 -2
- package/packages/web-sdk/packages/configurator-core/src/utils/animation/animation-value-map.d.ts +6 -4
- package/packages/web-sdk/packages/configurator-core/src/utils/animation/object-animations.d.ts +3 -1
- package/packages/web-sdk/packages/configurator-core/src/webgl/configurator-scene-manager.d.ts +4 -2
- package/packages/web-sdk/packages/homag-intelligence/src/api.d.ts +1 -1
- package/packages/web-sdk/packages/homag-intelligence/src/debug-logging.d.ts +12 -3
- package/packages/web-sdk/packages/homag-intelligence/src/emulator.d.ts +34 -7
- package/packages/web-sdk/packages/homag-intelligence/src/hi-object-selection.d.ts +39 -0
- package/packages/web-sdk/packages/homag-intelligence/src/homag-intelligence.d.ts +6 -8
- package/packages/web-sdk/packages/planner-core/src/external-object-api.d.ts +50 -20
- package/packages/web-sdk/packages/planner-core/src/roomle-planner.d.ts +37 -7
- package/packages/web-sdk/packages/planner-core/src/services/planner-kernel-access.d.ts +3 -1
- package/packages/web-sdk/packages/planner-core/src/webgl/planner-scene-event-handler.d.ts +2 -1
- package/packages/web-sdk/packages/planner-core/src/webgl/planner-scene-manager.d.ts +4 -1
- package/packages/web-sdk/packages/typings/kernel.d.ts +9 -0
- package/packages/web-sdk/packages/typings/planner-kernel-container.d.ts +1 -0
- package/packages/web-sdk/packages/typings/planner.d.ts +2 -0
- package/roomle-embedding-lib.es.js +34 -29
- package/roomle-embedding-lib.es.min.js +1 -1
- package/roomle-embedding-lib.umd.js +7 -7
- package/roomle-embedding-lib.umd.min.js +1 -1
- package/src/common/composables/use-open-close-anim.d.ts +10 -4
- package/src/common/utils/catalog-builder.d.ts +35 -0
- package/src/common/utils/root-tags.d.ts +0 -6
- package/src/configurator/business-logic/sdk-connector.d.ts +3 -0
- package/src/planner/business-logic/sdk-connector-planner.d.ts +1 -0
- package/src/planner/components/catalog/CatalogNavigation.vue.d.ts +4 -0
|
@@ -1,35 +1,51 @@
|
|
|
1
|
-
## [5.30.0-alpha.
|
|
1
|
+
## [5.30.0-alpha.2](https://github.com/roomle-dev/roomle-ui/compare/embedding-lib-v5.30.0-alpha.1...embedding-lib-v5.30.0-alpha.2) (2025-10-14)
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
### Features
|
|
5
5
|
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
6
|
+
* add APIs for fetching sort connections ([ad9a3a8](https://github.com/roomle-dev/roomle-ui/commit/ad9a3a84a44a786d29cf2fe46cf9e4d16d55724c))
|
|
7
|
+
* add sorting for tags according to the sort connection and add API for fetching tags sort connections ([f88443d](https://github.com/roomle-dev/roomle-ui/commit/f88443d6fa1f7b543996eb3d7e5ed26c9a05a99f))
|
|
8
|
+
* animate child components ([ac51699](https://github.com/roomle-dev/roomle-ui/commit/ac51699914c54e0edae5ca93971d9ae4995d712d))
|
|
9
|
+
* catch all errors in external calculation script ([53cac3d](https://github.com/roomle-dev/roomle-ui/commit/53cac3d5478a167a15c375bde2469c9f5a4426a7))
|
|
10
|
+
* core api - component animation transformation ([4018eaf](https://github.com/roomle-dev/roomle-ui/commit/4018eaf13fa379b04ec7712430967670a9d8c789))
|
|
11
|
+
* core api - useCustomColor ([9451e6a](https://github.com/roomle-dev/roomle-ui/commit/9451e6adde09b9d0f6eb41dce61181753a037245))
|
|
12
|
+
* don't show the open close button for objects that cannot be animated ([54bcd88](https://github.com/roomle-dev/roomle-ui/commit/54bcd88516add9fdb00205d1eaf77d2ff1646f74))
|
|
13
|
+
* emit hi selection callbacks ([378d46d](https://github.com/roomle-dev/roomle-ui/commit/378d46de2c421a13f7ed15352f0d0f42f7aa33eb))
|
|
14
|
+
* glue layer - onGroupsCompletelyLoaded callback ([f5ff385](https://github.com/roomle-dev/roomle-ui/commit/f5ff385757214ab8881ab4aad8074bed8e342098))
|
|
15
|
+
* glue layer api - getExternalObjectAttributeOptions ([57e6867](https://github.com/roomle-dev/roomle-ui/commit/57e6867ead57dabb38a9f10f184d53e2c91d0f1f))
|
|
16
|
+
* glue layer api - loadExternalObjectLibrary ([eb84fbc](https://github.com/roomle-dev/roomle-ui/commit/eb84fbc67cb732c116a15b818411586a0a1ff3e8))
|
|
17
|
+
* glue logic selection callback handler ([cf4ca24](https://github.com/roomle-dev/roomle-ui/commit/cf4ca247e848d8a1437394e0e0af064426060d1a))
|
|
18
|
+
* glue-layer api - select and delete ([6a5cdfb](https://github.com/roomle-dev/roomle-ui/commit/6a5cdfb2332211e70944b5b8df7226b5fca3de14))
|
|
19
|
+
* glue-layer api - setPosDataForLoading ([3203cb6](https://github.com/roomle-dev/roomle-ui/commit/3203cb62bcdae01b5191282b76e46d4a8a55f5a1))
|
|
20
|
+
* glue-layer api - updateExternalObjectAdditionalInfo ([fc55f26](https://github.com/roomle-dev/roomle-ui/commit/fc55f26e22cbd565a882e593fd3f953cc242f84c))
|
|
21
|
+
* handle groups loaded from the plan XML before the library is loaded ([abae83d](https://github.com/roomle-dev/roomle-ui/commit/abae83dc533c30610ffea669b6c2cd121c756ff2))
|
|
22
|
+
* hi selection logic ([8ad66a6](https://github.com/roomle-dev/roomle-ui/commit/8ad66a6d4518324ffd4495ca730d8ca7cc067abb))
|
|
23
|
+
* implement featureflag, add tests ([98d57e8](https://github.com/roomle-dev/roomle-ui/commit/98d57e8da4b68a42a37f240a4d647339742fe1e5))
|
|
24
|
+
* notify glue logic on set sidbar ([607d07b](https://github.com/roomle-dev/roomle-ui/commit/607d07bc2dda9a02cf3061911ba944845a2feca9))
|
|
25
|
+
* only emit hi selection callbacks if something has changed ([2a21339](https://github.com/roomle-dev/roomle-ui/commit/2a21339d7d9a48e50c862229af4b7bc4bca9ab54))
|
|
26
|
+
* set component animation information ([da0889a](https://github.com/roomle-dev/roomle-ui/commit/da0889a2d460465bc41e662e4cd455fa03110e4c))
|
|
27
|
+
* **core:** upgrade to version 2.62.0-alpha.7 ([091a1e5](https://github.com/roomle-dev/roomle-ui/commit/091a1e54fe18e5663f13a41240e4b855c9b915cd))
|
|
28
|
+
* **core:** upgrade to version 2.62.0-alpha.8 ([fb17be6](https://github.com/roomle-dev/roomle-ui/commit/fb17be6436a9279b8fd6f2ccf3d6f5b4e20906ea))
|
|
19
29
|
|
|
20
30
|
|
|
21
31
|
### Bug Fixes
|
|
22
32
|
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
33
|
+
* check if groups have elements before rendering them in the grid view ([63a2886](https://github.com/roomle-dev/roomle-ui/commit/63a288691a167bf2c4113b24000440749b108da4))
|
|
34
|
+
* consider that an element may already be removed at drag-end ([02d6ced](https://github.com/roomle-dev/roomle-ui/commit/02d6ced085b0927ed5f99f49723d66e442f2974f))
|
|
35
|
+
* do not lint dist folders ([a2b73b1](https://github.com/roomle-dev/roomle-ui/commit/a2b73b19542e2c98e3c26447034f848010dda0ee))
|
|
36
|
+
* failing sdk test ([83202d8](https://github.com/roomle-dev/roomle-ui/commit/83202d8a036e292edc9e390c873ff0e877f4b199))
|
|
37
|
+
* identify the detached component when merging objects ([7520da4](https://github.com/roomle-dev/roomle-ui/commit/7520da4c16f2b0e82c0992055568a31a87848aba))
|
|
38
|
+
* load default library id when loading homag intelligence plugin ([aeb27f3](https://github.com/roomle-dev/roomle-ui/commit/aeb27f33b6c190e4c820ee8ead76561547cee763))
|
|
39
|
+
* missing nullish coalesce ([9af38ed](https://github.com/roomle-dev/roomle-ui/commit/9af38edfee4d44348c5b1ee38ca199edad9f3146))
|
|
40
|
+
* move the lights high into the sky when turning them off instead of hiding them ([d8d9d1e](https://github.com/roomle-dev/roomle-ui/commit/d8d9d1e84bd5ccfd8d06a816c11252d510f2dc90))
|
|
41
|
+
* only apply animations to objects to which they belong ([4401ee9](https://github.com/roomle-dev/roomle-ui/commit/4401ee9f63e8423c766c591466d93c2734761ebd))
|
|
42
|
+
* separate ui event and glue layer notification ([29cfd07](https://github.com/roomle-dev/roomle-ui/commit/29cfd0781230d3e2cf77a671701dcab575056bac))
|
|
43
|
+
* set HomagIntelligence in scene manager ([780c7db](https://github.com/roomle-dev/roomle-ui/commit/780c7db5c903df8c2c0dba581af6e222ede1687d))
|
|
44
|
+
* sort tags in catalog level 2 structure ([f1582f8](https://github.com/roomle-dev/roomle-ui/commit/f1582f8f33cf716161b557b5e55efe2c553d29f2))
|
|
45
|
+
* typing issues ([4ed0904](https://github.com/roomle-dev/roomle-ui/commit/4ed09040e040c50c6fec15f4cf59b2fc9d3de9bc))
|
|
46
|
+
* use labels as a fallback for the saved tabbed nav ([145f6f0](https://github.com/roomle-dev/roomle-ui/commit/145f6f0cfd3da079858d724e3ae29a970b14676d))
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
### Reverts
|
|
50
|
+
|
|
51
|
+
* onComponentSelectionCancel, but notify glue logic directly ([06987bd](https://github.com/roomle-dev/roomle-ui/commit/06987bd24a8ef7bbbbb31c7559985748d55e3d07))
|
package/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -5,21 +5,50 @@ 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, PosGroup } from '@roomle/web-sdk/homag-intelligence/src/model/oc-scripts-domain.model';
|
|
8
|
+
import { MasterData, PosGroup, PosSaveData } from '@roomle/web-sdk/homag-intelligence/src/model/oc-scripts-domain.model';
|
|
9
9
|
|
|
10
10
|
interface PluginMap {
|
|
11
11
|
dragIn: typeof DragIn;
|
|
12
12
|
}
|
|
13
|
+
export declare const HI_PANEL_ACTION: {
|
|
14
|
+
readonly HIDE: "hide";
|
|
15
|
+
readonly SHOW_ATTRIBUTES: "attributes";
|
|
16
|
+
readonly SHOW_ARTICLES: "articles";
|
|
17
|
+
};
|
|
18
|
+
export type HiPanelActionType = typeof HI_PANEL_ACTION[keyof typeof HI_PANEL_ACTION];
|
|
13
19
|
export interface HiCallbacks {
|
|
20
|
+
/**
|
|
21
|
+
* Requests the calculation script for the given library ID.
|
|
22
|
+
* @param libraryId the ID of the library for which the calculation script is requested
|
|
23
|
+
* @returns the calculation script as a string
|
|
24
|
+
*/
|
|
14
25
|
onLoadJavascript: (libraryId: string) => Promise<string>;
|
|
26
|
+
/**
|
|
27
|
+
* Requests the master data for the given library ID.
|
|
28
|
+
* @param libraryId the ID of the library for which the master data is requested
|
|
29
|
+
* @returns the master data as a Promise
|
|
30
|
+
*/
|
|
15
31
|
onLoadMasterData: (libraryId: string) => Promise<MasterData>;
|
|
32
|
+
/**
|
|
33
|
+
* Requests the article catalog for the given library ID.
|
|
34
|
+
* @param libraryId the ID of the library for which the article catalog is requested
|
|
35
|
+
* @returns the article catalog as a Promise
|
|
36
|
+
*/
|
|
16
37
|
onLoadArticleCatalog: (libraryId: string) => Promise<any>;
|
|
38
|
+
/**
|
|
39
|
+
* Notifies the host application that a price calculation should be performed.
|
|
40
|
+
* @param posGroups all groups in the plan
|
|
41
|
+
*/
|
|
17
42
|
onPriceCalc?: (posGroups: PosGroup[]) => Promise<void>;
|
|
18
43
|
/**
|
|
19
|
-
*
|
|
20
|
-
* @
|
|
44
|
+
* Retrieves the current external load data which has to be used to replace the existing groups in the plan.
|
|
45
|
+
* @returns load data or null if no replacement is needed
|
|
21
46
|
*/
|
|
22
|
-
|
|
47
|
+
onGetSavedPosGroupData?: () => Promise<PosSaveData | null>;
|
|
48
|
+
/**
|
|
49
|
+
* "onCompletelyLoaded" is invoked when the groups in the plan are completely loaded.
|
|
50
|
+
*/
|
|
51
|
+
onPosGroupsCompletelyLoaded?: () => void;
|
|
23
52
|
/**
|
|
24
53
|
* "onPosGroupAdded" is invoked when a new group was created. (e.g. duplicate object)
|
|
25
54
|
* @param groupData The new group data JSON.
|
|
@@ -37,12 +66,25 @@ export interface HiCallbacks {
|
|
|
37
66
|
*/
|
|
38
67
|
onPosGroupDeleted?: (posGroupIds: string[]) => Promise<void>;
|
|
39
68
|
/**
|
|
40
|
-
* "
|
|
41
|
-
*
|
|
42
|
-
* @param
|
|
43
|
-
* @param
|
|
69
|
+
* "onShowHidePanel" is invoked when a the content of the side panel should be changed or hidden.
|
|
70
|
+
* @param panel The panel to show or hide.
|
|
71
|
+
* @param posGroupId Optional ID of the selected group in case of SHOW_ATTRIBUTES.
|
|
72
|
+
* @param rootModuleId Optional ID of the selected root module in case of SHOW_ATTRIBUTES.
|
|
73
|
+
* @param subModuleId Optional ID of the selected sub module in case of SHOW_ATTRIBUTES.
|
|
74
|
+
*/
|
|
75
|
+
onShowHidePanel?: (panel: HiPanelActionType, posGroupId?: string, rootModuleId?: string, subModuleId?: string) => void;
|
|
76
|
+
/**
|
|
77
|
+
* "onSelectModule" is invoked when a the selected object in the scene was changed.
|
|
78
|
+
* @param posGroupId ID of the selected group
|
|
79
|
+
* @param rootModuleId ID of the selected root module
|
|
80
|
+
* @param subModuleId Optional id of the selected sub module
|
|
81
|
+
*/
|
|
82
|
+
onSelectModule?: (posGroupId: string, rootModuleId: string, subModuleId?: string) => void;
|
|
83
|
+
/**
|
|
84
|
+
* Request the price for the given order data.
|
|
85
|
+
* @param orderData order data
|
|
86
|
+
* @returns price data
|
|
44
87
|
*/
|
|
45
|
-
onLogMessage?: (area: string, message: string) => void;
|
|
46
88
|
onFetchPrice?: (orderData: any) => Promise<any>;
|
|
47
89
|
/**
|
|
48
90
|
* "onPlaceOrder" is invoked when the user wants to place an order.
|
|
@@ -50,6 +92,13 @@ export interface HiCallbacks {
|
|
|
50
92
|
* @param orderData
|
|
51
93
|
*/
|
|
52
94
|
onPlaceOrder?: (orderData: any) => Promise<void>;
|
|
95
|
+
/**
|
|
96
|
+
* "onLogMessage" is invoked when the Homag Intelligence library wants to log a message.
|
|
97
|
+
* You can use this to log messages in your own UI.
|
|
98
|
+
* @param area
|
|
99
|
+
* @param message
|
|
100
|
+
*/
|
|
101
|
+
onLogMessage?: (area: string, message: string) => void;
|
|
53
102
|
}
|
|
54
103
|
export type AvailablePlugins = {
|
|
55
104
|
[K in keyof PluginMap]?: InstanceType<PluginMap[K]>;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { default as ConfiguratorContext } from './webgl/configurator-context';
|
|
2
|
-
import { DebugClient, KernelDockPairToLine, KernelDockPairToPoint, EmscriptenString, KernelComponent, KernelParameter, KernelParameterGroup, KernelVector3, PlanObject, VariantsList } from '../../typings/kernel';
|
|
2
|
+
import { DebugClient, KernelDockPairToLine, KernelDockPairToPoint, EmscriptenString, KernelAnimation, KernelComponent, KernelParameter, KernelParameterGroup, KernelVector3, PlanObject, VariantsList } from '../../typings/kernel';
|
|
3
3
|
import { default as CommonKernelAccess, KERNEL_TYPE } from './services/common-kernel-access';
|
|
4
4
|
import { ArticleNumber, ConfigurationHash, ConfigurationString, RapiId, RapiPrice } from '../../typings/rapi-types';
|
|
5
5
|
import { CommonConfiguratorKernelCallbackI } from './common-configurator-kernel-callback';
|
|
6
6
|
import { PromiseQueue } from './utils/promise-queue';
|
|
7
7
|
import { default as InitData } from './utils/init-data';
|
|
8
8
|
import { ExternalObjectApiConfiguration } from '../../planner-core/src/external-object-api';
|
|
9
|
+
import { AnimationLevelType } from '../../configurator-core/src/utils/animation/animation-helper';
|
|
9
10
|
|
|
10
11
|
export interface ConfiguratorKernelCallbackI extends CommonConfiguratorKernelCallbackI {
|
|
11
12
|
planObjectCreated(conversationId: number, planObjectId: number): void;
|
|
@@ -20,7 +21,7 @@ export interface ConfiguratorKernelCallbackI extends CommonConfiguratorKernelCal
|
|
|
20
21
|
Editor3dComponentDocked(componentId: number, isRootComponent: boolean, parentObjectRuntimeId: number, componentPosition: KernelVector3, componentRotation: KernelVector3): void;
|
|
21
22
|
finishParameterChange(resolve: () => void, reject: () => void): void;
|
|
22
23
|
updateAnimationParameters(elementId: number | number[], parameters: KernelParameter[]): void;
|
|
23
|
-
changeAnimationValue(elementId: number, parameterKey: string, value: string, level: number,
|
|
24
|
+
changeAnimationValue(elementId: number, parameterKey: string, value: string, level: number, animationLevel: AnimationLevelType, animate: boolean): void;
|
|
24
25
|
}
|
|
25
26
|
export default class ConfiguratorKernelAccess extends CommonKernelAccess {
|
|
26
27
|
private _memoryManager;
|
|
@@ -62,9 +63,10 @@ export default class ConfiguratorKernelAccess extends CommonKernelAccess {
|
|
|
62
63
|
loadConfiguration(configuration: ConfigurationString): void;
|
|
63
64
|
changeCommonComponentParameter(componentIds: number[], parameterKey: string, type: string, value: string, resolve: () => void, reject: () => void): void;
|
|
64
65
|
changeComponentParameter(componentId: number, parameterKey: string, type: string, value: string, resolve: () => void, reject: () => void): void;
|
|
65
|
-
changePlanObjectParameter(
|
|
66
|
+
changePlanObjectParameter(runtimeId: number, parameterKey: string, type: string, value: string, resolve: () => void, reject: () => void): void;
|
|
67
|
+
protected _getAnimationLevelForObject(_runtimeId: number, animation: KernelAnimation): AnimationLevelType;
|
|
66
68
|
updateAnimationParameters(elementId: number | number[], parameters: KernelParameter[]): void;
|
|
67
|
-
changeAnimationValue(elementId: number, parameterKey: string, value: string, level: number,
|
|
69
|
+
changeAnimationValue(elementId: number, parameterKey: string, value: string, level: number, animationLevel: AnimationLevelType, animate: boolean): void;
|
|
68
70
|
private _finishParameterChange;
|
|
69
71
|
requestDeleteComponents(componentIds: number[]): void;
|
|
70
72
|
requestDeletePlanComponent(componentId: number): void;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { Light, Object3D } from 'three';
|
|
2
2
|
import { KernelLightSourceAttributes } from '../../../typings/kernel';
|
|
3
3
|
|
|
4
|
+
export declare const LIGHT_OFF_POSITION = 999;
|
|
4
5
|
export declare const generateLightSource: (lightSourceAttributes: KernelLightSourceAttributes) => Light | null;
|
|
5
6
|
export declare class RoomleLightSource {
|
|
6
7
|
private _lightSourceId;
|
|
7
8
|
private _light;
|
|
9
|
+
private _savedPosition;
|
|
8
10
|
constructor(lightSourceId: number, lightSource?: Light);
|
|
9
11
|
get light(): Light;
|
|
10
12
|
set light(light: Light);
|
|
@@ -106,6 +106,18 @@ export default class RapiAccess implements Context {
|
|
|
106
106
|
getMaterialsOf(rapiJson: RapiJson): Promise<RapiMaterial[]>;
|
|
107
107
|
getComponentsOf(rapiJson: RapiJson): Promise<RapiComponent[]>;
|
|
108
108
|
getAdditionalContentsOfItems(rapiItems: RapiItem[]): Promise<RapiAdditionalContent[]>;
|
|
109
|
+
/**
|
|
110
|
+
* Fetches item connections for a specific tag and returns a map of itemId -> sort
|
|
111
|
+
* @param tagId - The tag ID to fetch connections for
|
|
112
|
+
* @returns Promise resolving to a Map of itemId to sort value
|
|
113
|
+
*/
|
|
114
|
+
getItemConnectionsForTag(tagId: RapiId): Promise<Map<string, number>>;
|
|
115
|
+
/**
|
|
116
|
+
* Fetches tag connections for a specific parent tag and returns a map of tagId -> sort
|
|
117
|
+
* @param parentTagId - The parent tag ID to fetch connections for
|
|
118
|
+
* @returns Promise resolving to a Map of tagId to sort value
|
|
119
|
+
*/
|
|
120
|
+
getTagConnectionsForTag(parentTagId: RapiId): Promise<Map<string, number>>;
|
|
109
121
|
getMaterial(id: RapiId): Promise<RapiMaterial>;
|
|
110
122
|
peekMaterial(id: RapiId): RapiMaterial;
|
|
111
123
|
peekComponent(id: RapiId): RapiComponent;
|
|
@@ -81,6 +81,10 @@ export interface GlobalInitDataDefinition {
|
|
|
81
81
|
export interface FeatureFlags {
|
|
82
82
|
pulsePreview?: boolean;
|
|
83
83
|
reDock?: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* @description Sets whether the snapping behavior of objects in the planner is initially enabled.
|
|
86
|
+
*/
|
|
87
|
+
enableSnapping?: boolean;
|
|
84
88
|
/**
|
|
85
89
|
* @description If set to true we will not hide other items while configuring in the planner
|
|
86
90
|
*/
|
|
@@ -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 { AnimationLevelType } from '../../../configurator-core/src/utils/animation/animation-helper';
|
|
12
13
|
import { ExternalConfiguration } from '../../../typings/external-objects';
|
|
13
14
|
|
|
14
15
|
export interface ConfiguratorViewModelCallbackI {
|
|
@@ -51,10 +52,10 @@ export default class ConfiguratorViewModel implements ConfiguratorKernelCallback
|
|
|
51
52
|
private _applyMeshTransform;
|
|
52
53
|
private _applyMeshUVTransform;
|
|
53
54
|
updateAnimationParameters(elementId: number | number[], parameters: KernelParameter[]): void;
|
|
54
|
-
changeAnimationValue(elementId: number, parameterKey: string, value: string, level: number,
|
|
55
|
+
changeAnimationValue(elementId: number, parameterKey: string, value: string, level: number, animationLevel: AnimationLevelType, animate: boolean): void;
|
|
55
56
|
saveExternalConfiguration(externalConfiguration: ExternalConfiguration): void;
|
|
56
57
|
getExternalConfigurationById(id: string): ExternalConfiguration;
|
|
57
|
-
|
|
58
|
+
getComponentFromRuntimeId(elementId: number): RoomleComponent | null;
|
|
58
59
|
private _addMeshToSubPart;
|
|
59
60
|
private _addMeshToComponent;
|
|
60
61
|
private _changeMeshOfComponent;
|
|
@@ -22,6 +22,7 @@ export interface RoomleComponent extends RoomleEventedObject3D {
|
|
|
22
22
|
hash: string;
|
|
23
23
|
geometryChanged: boolean;
|
|
24
24
|
animationValueMap?: AnimationValueMap;
|
|
25
|
+
get childComponents(): RoomleComponent[];
|
|
25
26
|
replaceMeshes(meshes: Mesh[]): void;
|
|
26
27
|
addMesh(mesh: Mesh, transform?: Float32Array): void;
|
|
27
28
|
removeMesh(mesh: Mesh): void;
|
package/packages/web-sdk/packages/configurator-core/src/utils/animation/animation-helper.d.ts
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
|
+
import { default as ConfiguratorPlanObjectViewModel } from '../../../../common-core/src/view-model/configurator-plan-object-view-model';
|
|
1
2
|
import { RoomleComponent } from '../../../../common-core/src/webgl/roomle-component-factory';
|
|
2
|
-
import {
|
|
3
|
+
import { default as PlannerSceneManager } from '../../../../planner-core/src/webgl/planner-scene-manager';
|
|
4
|
+
import { AnimationKeyAndValue } from './animation-value-map';
|
|
5
|
+
import { ComponentAnimationTransformation, KernelParameter } from '../../../../typings/kernel';
|
|
3
6
|
|
|
7
|
+
export declare const ANIMATION_LEVEL: {
|
|
8
|
+
readonly COMPONENT: 0;
|
|
9
|
+
readonly OBJECT_COMPONENT: 1;
|
|
10
|
+
readonly OBJECT: 2;
|
|
11
|
+
};
|
|
12
|
+
export type AnimationLevelType = (typeof ANIMATION_LEVEL)[keyof typeof ANIMATION_LEVEL];
|
|
4
13
|
export declare const updateComponentAnimationParameters: (components: RoomleComponent[], parameters: KernelParameter[]) => void;
|
|
5
|
-
export declare const
|
|
14
|
+
export declare const getObjectAnimationValue: (component: RoomleComponent, animationName: string, onlyChildObject: boolean) => AnimationKeyAndValue | null;
|
|
15
|
+
export declare const changeObjectAnimationValueAndAnimate: (component: RoomleComponent, parameterKey: string, value: string, level: number, animationLevel: AnimationLevelType, animate: boolean, invalidateRenderCallback: () => void) => void;
|
|
16
|
+
export declare const hasObjectOpenCloseAnimation: (sceneManager: PlannerSceneManager, planObject: ConfiguratorPlanObjectViewModel) => boolean;
|
|
17
|
+
export declare const getObjectOpenCloseAnimationValue: (sceneManager: PlannerSceneManager, planObject: ConfiguratorPlanObjectViewModel) => AnimationKeyAndValue | null;
|
|
18
|
+
export declare const updateChildObjectAnimations: (component: RoomleComponent, childAnimationTransformations?: ComponentAnimationTransformation[]) => void;
|
package/packages/web-sdk/packages/configurator-core/src/utils/animation/animation-value-map.d.ts
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { KernelParameter } from '../../../../typings/kernel';
|
|
2
2
|
|
|
3
3
|
export declare const ANIMATION_PARAMETER_PREFIX = "animation:";
|
|
4
|
+
export interface AnimationKeyAndValue {
|
|
5
|
+
key: string;
|
|
6
|
+
value: string;
|
|
7
|
+
}
|
|
4
8
|
export declare class AnimationValueMap {
|
|
5
9
|
private valueMap;
|
|
6
10
|
static filterAnimationParameters(parameters: KernelParameter[]): KernelParameter[];
|
|
7
11
|
static getAnimationName(parameterKey: string): string;
|
|
8
|
-
static getKeyAndValue(animationName: string):
|
|
9
|
-
key: string;
|
|
10
|
-
value: string;
|
|
11
|
-
};
|
|
12
|
+
static getKeyAndValue(animationName: string): AnimationKeyAndValue;
|
|
12
13
|
hasKeyAndValue(animationKeyAndValue: string): boolean;
|
|
14
|
+
getParameterValue(animationName: string): AnimationKeyAndValue | null;
|
|
13
15
|
updateParameterValue(parameter: KernelParameter): void;
|
|
14
16
|
setValue(animationName: string, value: string, level: number): void;
|
|
15
17
|
setValueAndGetOldValue(animationName: string, value: string, level: number): string;
|
package/packages/web-sdk/packages/configurator-core/src/utils/animation/object-animations.d.ts
CHANGED
|
@@ -13,8 +13,10 @@ export declare class ObjectAnimations {
|
|
|
13
13
|
static setObjectAnimations(object3d: Object3D, animations?: Record<string, KernelMeshAnimation>, component?: RoomleComponent): void;
|
|
14
14
|
static addObjectAnimations(object3d: Object3D, animations?: AnimationTransformationMap, component?: RoomleComponent): void;
|
|
15
15
|
static removeObjectAnimations(object3d: Object3D, animationName: string): void;
|
|
16
|
-
static
|
|
16
|
+
static removeAllObjectAnimations(object3d: Object3D): void;
|
|
17
|
+
static animateObject(object3d: Object3D, animationName: string, animationTransition: AnimationTransition, subsequentAnimation?: boolean, animate?: boolean, onProgressUpdate?: () => void): import('@tweenjs/tween.js').Tween<any>;
|
|
17
18
|
private _animate;
|
|
19
|
+
private _makePriorTransformation;
|
|
18
20
|
private _calculateCombinedAnimationMatrix;
|
|
19
21
|
private _calculateAnimationTransformation;
|
|
20
22
|
private _animateMesh;
|
package/packages/web-sdk/packages/configurator-core/src/webgl/configurator-scene-manager.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ import { default as GlobalInitData } from '../../../common-core/src/utils/global
|
|
|
23
23
|
import { CancelSelectionReasons } from '../../../typings/planner';
|
|
24
24
|
import { ExternalConfiguration } from '../../../typings/external-objects';
|
|
25
25
|
import { default as UnitFormatter } from '../services/unit-formatter';
|
|
26
|
+
import { AnimationLevelType } from '../utils/animation/animation-helper';
|
|
26
27
|
|
|
27
28
|
export default class ConfiguratorSceneManager extends SceneManager implements ConfiguratorViewModelCallbackI {
|
|
28
29
|
_creator_: string;
|
|
@@ -136,7 +137,7 @@ export default class ConfiguratorSceneManager extends SceneManager implements Co
|
|
|
136
137
|
private _onSelectedRuntimeComponentsChange;
|
|
137
138
|
private _onSelectedRuntimeComponentChange;
|
|
138
139
|
requestDeleteSelectedComponent(): void;
|
|
139
|
-
componentUpdated(component: RoomleComponent,
|
|
140
|
+
componentUpdated(component: RoomleComponent, kernelComponent: KernelComponent): void;
|
|
140
141
|
planObjectUpdated(planObject: PlanObject, geometryChanged: boolean, pendingDocking: boolean): void;
|
|
141
142
|
componentDeleted(component: RoomleComponent): void;
|
|
142
143
|
previewConstructionDone(_component: RoomleComponent, hasPreviews: boolean): void;
|
|
@@ -167,7 +168,8 @@ export default class ConfiguratorSceneManager extends SceneManager implements Co
|
|
|
167
168
|
protected _shouldRenderUi(): boolean;
|
|
168
169
|
protected setEventHandlerObject(object: Object3D): void;
|
|
169
170
|
protected _readyForRender(): void;
|
|
170
|
-
|
|
171
|
+
getComponentFromRuntimeId(elementId: number): RoomleComponent | null;
|
|
172
|
+
animateElement(elementId: number, parameterName: string, value: string, animationLevel: AnimationLevelType, animate: boolean): void;
|
|
171
173
|
undo(): Promise<void>;
|
|
172
174
|
redo(): Promise<void>;
|
|
173
175
|
clearHistory(): void;
|
|
@@ -15,7 +15,7 @@ export declare class RoomDesignerApi implements RoomDesignerRequests {
|
|
|
15
15
|
selectRoot(rootModuleId: string): Promise<void>;
|
|
16
16
|
selectModule(rootModuleId: string, subModuleId: string): Promise<void>;
|
|
17
17
|
openCloseGroup(groupOrRootModuleId: string, subModuleId: string | null, open: boolean, animate: boolean): Promise<void>;
|
|
18
|
-
deleteGroup(groupId: string
|
|
18
|
+
deleteGroup(groupId: string): void;
|
|
19
19
|
deleteRootModule(rootModuleId: string): void;
|
|
20
20
|
getPosDataOfAllGroups(): Promise<PosGroup[]>;
|
|
21
21
|
getRoomInformation(): Promise<import('../../planner-core/src/external-object-api').ExternalRoomInformation>;
|
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
import { HiCallbacks } from '../../../../embedding-lib/src/embedding-lib';
|
|
2
|
-
import { GlueLogic, RoomDesignerRequests } from './emulator';
|
|
2
|
+
import { GlueLogic, LibraryData, RoomDesignerRequests } from './emulator';
|
|
3
3
|
import { ExternalObjectGroup } from 'roomle-core-hsc/src/embind/plannerCoreInterface';
|
|
4
4
|
import { ExternalModuleInformation } from '../../typings/kernel';
|
|
5
|
-
import { PosGroup } from './model/oc-scripts-domain.model';
|
|
5
|
+
import { CheckResult, PosGroup, PosSaveData } from './model/oc-scripts-domain.model';
|
|
6
6
|
import { ExternalObjectModuleIdMap } from './api';
|
|
7
|
+
import { HiObjectSelection } from './hi-object-selection';
|
|
7
8
|
|
|
8
9
|
export declare class GlueLayerRequestDebugLogging implements GlueLogic {
|
|
9
10
|
private _glueLogic;
|
|
10
11
|
private _hiCallbacks;
|
|
11
12
|
constructor(glueLogic: GlueLogic, hiCallbacks: HiCallbacks);
|
|
12
13
|
get hiCallbacks(): HiCallbacks | null;
|
|
14
|
+
get hiObjectSelection(): HiObjectSelection;
|
|
13
15
|
private _logRequest;
|
|
16
|
+
isLibraryLoaded(libraryId: string): boolean;
|
|
17
|
+
getLibraryData(libraryId: string): LibraryData | null;
|
|
18
|
+
addLibrary(libraryData: LibraryData): void;
|
|
19
|
+
setPosDataForLoading(posData: PosSaveData | null): void;
|
|
14
20
|
loadPosData(articleCatalogJson: any, libraryId: string): void;
|
|
15
21
|
mergeGroups(targetGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], idOfTargetRootModule: string): void;
|
|
16
22
|
deleteRootModule(remainingGroup: ExternalObjectGroup, rootModuleIdToDelete: string, splitOffGroups: ExternalObjectGroup[]): void;
|
|
@@ -18,12 +24,15 @@ export declare class GlueLayerRequestDebugLogging implements GlueLogic {
|
|
|
18
24
|
duplicateGroup(sourceGroupId: string, duplicatedGroup: ExternalObjectGroup): void;
|
|
19
25
|
modifyAttribute(groupId: string, moduleIdObjects: ExternalModuleInformation[], attributeName: string, value: string): void;
|
|
20
26
|
updateAttribute(rootModuleId: string, moduleId: string, attributeId: string, attributeValue: string | boolean): void;
|
|
27
|
+
getVerifiedAttributeOptions(moduleId: string, attributeIds?: string | string[]): Promise<Record<string, CheckResult> | undefined>;
|
|
28
|
+
updateAdditionalInfo(rootModuleId: string, additionalInfo: string): void;
|
|
21
29
|
swapRootModule(groupId: string, rootModuleId: string, articleId: string): void;
|
|
22
30
|
arrangeRootModulesOfGroup(changedGroup: ExternalObjectGroup): void;
|
|
23
31
|
changedGroupPlanningSituation(changedGroup: ExternalObjectGroup): void;
|
|
24
32
|
deleteGroup(groupId: string): Promise<void>;
|
|
25
33
|
changedGroup(posDataJson: PosGroup): void;
|
|
26
34
|
loadedGroup(posDataJson: PosGroup): void;
|
|
35
|
+
groupsCompletelyLoaded(): void;
|
|
27
36
|
removedGroup(groupId: string): void;
|
|
28
37
|
openCloseGroup(groupId: string): void;
|
|
29
38
|
newPosDataFromId(id: string): PosGroup | undefined;
|
|
@@ -41,7 +50,7 @@ export declare class GlueLayerResponseDebugLogging implements RoomDesignerReques
|
|
|
41
50
|
selectRoot(rootModuleId: string): Promise<void>;
|
|
42
51
|
selectModule(rootModuleId: string, subModuleId: string): Promise<void>;
|
|
43
52
|
openCloseGroup(groupOrRootModuleId: string, subModuleId: string | null, open: boolean, animate: boolean): Promise<void>;
|
|
44
|
-
deleteGroup(groupId: string
|
|
53
|
+
deleteGroup(groupId: string): void;
|
|
45
54
|
deleteRootModule(rootModuleId: string): void;
|
|
46
55
|
getPosDataOfAllGroups(): Promise<PosGroup[]>;
|
|
47
56
|
getRoomInformation(): Promise<any>;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { HiCallbacks } from '../../../../embedding-lib/src/embedding-lib';
|
|
2
2
|
import { ExternalModuleInformation, ExternalObjectGroup } from './callbacks';
|
|
3
|
-
import { MasterData, PosModuleAttribute, PosGroup, PosModuleData,
|
|
3
|
+
import { MasterData, PosModuleAttribute, PosGroup, PosModuleData, CheckResult, PosSaveData } from './model/oc-scripts-domain.model';
|
|
4
4
|
import { ExternalObjectModuleIdMap } from './api';
|
|
5
|
+
import { HiObjectSelection } from './hi-object-selection';
|
|
5
6
|
|
|
6
7
|
export interface LibraryData {
|
|
7
8
|
libraryId: string;
|
|
@@ -9,7 +10,7 @@ export interface LibraryData {
|
|
|
9
10
|
get posGroupVersion(): number;
|
|
10
11
|
calculateGroup(posGroup: PosGroup): PosGroup;
|
|
11
12
|
getOrderData(posGroup: PosGroup[], roomlePlannerId?: string): any;
|
|
12
|
-
getAttributesDropDownValues(module:
|
|
13
|
+
getAttributesDropDownValues(module: PosModuleData, attributeIds?: string | string[]): Promise<Record<string, any[]>>;
|
|
13
14
|
solveModuleAttributeConflict(module: PosModuleData, attributeName: string, value: string | number | boolean): PosModuleAttribute[] | undefined;
|
|
14
15
|
}
|
|
15
16
|
export interface RoomDesignerRequests {
|
|
@@ -19,7 +20,7 @@ export interface RoomDesignerRequests {
|
|
|
19
20
|
selectRoot(rootModuleId: string): Promise<void>;
|
|
20
21
|
selectModule(rootModuleId: string, subModuleId: string): Promise<void>;
|
|
21
22
|
openCloseGroup(groupOrRootModuleId: string, subModuleId: string | null, open: boolean, animate: boolean): void;
|
|
22
|
-
deleteGroup(groupId: string
|
|
23
|
+
deleteGroup(groupId: string): void;
|
|
23
24
|
deleteRootModule(rootModuleId: string): void;
|
|
24
25
|
getPosDataOfAllGroups(): Promise<PosGroup[]>;
|
|
25
26
|
getRoomInformation(): Promise<any>;
|
|
@@ -32,6 +33,11 @@ export interface RoomDesignerRequests {
|
|
|
32
33
|
}
|
|
33
34
|
export interface GlueLogic {
|
|
34
35
|
hiCallbacks: HiCallbacks | null;
|
|
36
|
+
hiObjectSelection: HiObjectSelection;
|
|
37
|
+
isLibraryLoaded(libraryId: string): boolean;
|
|
38
|
+
getLibraryData(libraryId: string): LibraryData | null;
|
|
39
|
+
addLibrary(libraryData: LibraryData): void;
|
|
40
|
+
setPosDataForLoading(posData: PosSaveData | null): void;
|
|
35
41
|
loadPosData(articleCatalogJson: any, libraryId: string): void;
|
|
36
42
|
mergeGroups(targetGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], idOfTargetRootModule: string): void;
|
|
37
43
|
deleteRootModule(remainingGroup: ExternalObjectGroup, rootModuleIdToDelete: string, splitOffGroups: ExternalObjectGroup[]): void;
|
|
@@ -39,12 +45,15 @@ export interface GlueLogic {
|
|
|
39
45
|
duplicateGroup(sourceGroupId: string, duplicatedGroup: ExternalObjectGroup): void;
|
|
40
46
|
modifyAttribute(groupId: string, moduleIdObjects: ExternalModuleInformation[], attributeName: string, value: string): void;
|
|
41
47
|
updateAttribute(rootModuleId: string, moduleId: string, attributeId: string, attributeValue: string | boolean): void;
|
|
48
|
+
getVerifiedAttributeOptions(moduleId: string, attributeIds?: string | string[]): Promise<Record<string, CheckResult> | undefined>;
|
|
49
|
+
updateAdditionalInfo(rootModuleId: string, additionalInfo: string): void;
|
|
42
50
|
swapRootModule(groupId: string, rootModuleId: string, articleId: string): void;
|
|
43
51
|
arrangeRootModulesOfGroup(changedGroup: ExternalObjectGroup): void;
|
|
44
52
|
changedGroupPlanningSituation(changedGroup: ExternalObjectGroup): void;
|
|
45
53
|
deleteGroup(groupId: string): Promise<void>;
|
|
46
54
|
changedGroup(posDataJson: PosGroup): void;
|
|
47
55
|
loadedGroup(posDataJson: PosGroup): void;
|
|
56
|
+
groupsCompletelyLoaded(): void;
|
|
48
57
|
removedGroup(groupId: string): void;
|
|
49
58
|
openCloseGroup(groupId: string): void;
|
|
50
59
|
newPosDataFromId(id: string): PosGroup | undefined;
|
|
@@ -65,19 +74,25 @@ interface GroupItem {
|
|
|
65
74
|
export declare class Emulator implements GlueLogic {
|
|
66
75
|
private _designerRequests;
|
|
67
76
|
private _libraryData;
|
|
77
|
+
private _posDataForLoading;
|
|
68
78
|
private _posDataJsonMap;
|
|
69
79
|
private _groupMap;
|
|
70
80
|
private _nextPosDataId;
|
|
71
81
|
private _hiCallbacks;
|
|
72
|
-
|
|
82
|
+
private _hiObjectSelection;
|
|
83
|
+
private _pendingGroupsToBeLoaded;
|
|
84
|
+
private _planCompletelyLoaded;
|
|
85
|
+
constructor(designerRequests: RoomDesignerRequests, hiCallbacks?: HiCallbacks | null);
|
|
73
86
|
get hiCallbacks(): HiCallbacks | null;
|
|
74
|
-
|
|
87
|
+
get hiObjectSelection(): HiObjectSelection;
|
|
88
|
+
getLibraryData(data: string | PosGroup): LibraryData | null;
|
|
89
|
+
isLibraryLoaded(libraryId: string): boolean;
|
|
75
90
|
addLibrary(libraryData: LibraryData): void;
|
|
76
91
|
loadPosData(articleCatalogJson: any, libraryId: string): void;
|
|
92
|
+
setPosDataForLoading(posData: PosSaveData | null): void;
|
|
77
93
|
newPosDataFromId(id: string): any;
|
|
78
94
|
deleteGroup(groupId: string): Promise<void>;
|
|
79
95
|
selectGroup(groupId: string): Promise<void>;
|
|
80
|
-
selectCheckAttributes(libraryId: string, root: PosModuleRootData): Promise<void>;
|
|
81
96
|
selectRoot(_groupId: any, rootId: string): Promise<void>;
|
|
82
97
|
deleteRoot(_groupId: any, rootId: string): Promise<void>;
|
|
83
98
|
selectSubModule(_groupId: any, rootId: string, moduleId: string): Promise<void>;
|
|
@@ -91,7 +106,12 @@ export declare class Emulator implements GlueLogic {
|
|
|
91
106
|
removedGroup(groupId: string): void;
|
|
92
107
|
changedGroup(posDataJson: PosGroup): void;
|
|
93
108
|
changedGroupPlanningSituation(changedGroup: ExternalObjectGroup): void;
|
|
94
|
-
loadedGroup(posDataJson: PosGroup):
|
|
109
|
+
loadedGroup(posDataJson: PosGroup): void;
|
|
110
|
+
private _loadPendingGroup;
|
|
111
|
+
private _loadedGroup;
|
|
112
|
+
_recalculateLoadedGroup(posDataJson: PosGroup): void;
|
|
113
|
+
groupsCompletelyLoaded(): void;
|
|
114
|
+
private _groupsCompletelyLoaded;
|
|
95
115
|
getGroupDataForOrder(roomlePlannerId?: string): Promise<any>;
|
|
96
116
|
private _setGroupContour;
|
|
97
117
|
private _setGroupPosition;
|
|
@@ -100,16 +120,23 @@ export declare class Emulator implements GlueLogic {
|
|
|
100
120
|
private _splitOffGroupsFromGroups;
|
|
101
121
|
private _splitOffRootModulesFromGroup;
|
|
102
122
|
private _calculateNewGroup;
|
|
123
|
+
private _getLibraryIdForPosData;
|
|
103
124
|
private _calculate;
|
|
125
|
+
private _populateRootFromMasterData;
|
|
126
|
+
private _setSubmoduleImages;
|
|
104
127
|
private _calculateAndUpdateGroupMap;
|
|
105
128
|
private _addNewGroup;
|
|
106
129
|
private _addGroupToMap;
|
|
107
130
|
updateAttribute(rootModuleId: string, moduleId: string, attributeId: string, attributeValue: string | boolean): void;
|
|
108
131
|
modifyAttribute(groupId: string, moduleIdObjects: ExternalModuleInformation[], attributeName: string, value: string): void;
|
|
132
|
+
getVerifiedAttributeOptions(moduleId: string, attributeIds?: string | string[]): Promise<Record<string, CheckResult> | undefined>;
|
|
133
|
+
updateAdditionalInfo(rootModuleId: string, additionalInfo: string): void;
|
|
109
134
|
swapRootModule(groupId: string, rootModuleId: string, articleId: string): void;
|
|
110
135
|
_modifyAttributeOfModules(emulatorGroupItem: GroupItem, moduleIds: string[] | string, attributeName: string, value: string | boolean): PosGroup;
|
|
111
136
|
private _setAttribute;
|
|
112
137
|
savePlanSnapshot(): Promise<PlanSnapshot>;
|
|
138
|
+
private _findRootModuleInAllGroups;
|
|
139
|
+
private _findModuleInAllGroups;
|
|
113
140
|
private _findModule;
|
|
114
141
|
private _replacesIDs;
|
|
115
142
|
private _replacesModuleIDs;
|