@roomle/embedding-lib 5.29.0 → 5.30.0-alpha.1
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 +27 -43
- package/package.json +1 -1
- package/packages/embedding-lib/src/embedding-lib.d.ts +14 -0
- package/packages/embedding-lib/src/examples/homag-intelligence-catalog-load-async.d.ts +14 -0
- package/packages/embedding-lib/src/examples/utils/homag-intelligence/util.d.ts +1 -0
- package/packages/web-sdk/packages/homag-intelligence/src/api.d.ts +4 -1
- package/packages/web-sdk/packages/homag-intelligence/src/debug-logging.d.ts +54 -0
- package/packages/web-sdk/packages/homag-intelligence/src/emulator.d.ts +10 -6
- package/packages/web-sdk/packages/homag-intelligence/src/hi-tag-catalog-callbacks.d.ts +3 -3
- package/packages/web-sdk/packages/homag-intelligence/src/homag-intelligence.d.ts +5 -6
- package/packages/web-sdk/packages/homag-intelligence/src/loader.d.ts +16 -4
- package/packages/web-sdk/packages/homag-intelligence/src/orders.d.ts +3 -7
- package/packages/web-sdk/packages/planner-core/src/external-object-api.d.ts +1 -1
- package/packages/web-sdk/packages/planner-core/src/roomle-planner.d.ts +9 -1
- package/packages/web-sdk/packages/planner-core/src/utils/planner-selection-handler.d.ts +1 -1
- package/packages/web-sdk/packages/planner-core/src/webgl/planner-scene-manager.d.ts +2 -2
- package/packages/web-sdk/packages/typings/kernel.d.ts +3 -0
- package/packages/web-sdk/packages/typings/planner.d.ts +15 -0
- package/roomle-embedding-lib.es.js +45 -26
- package/roomle-embedding-lib.es.min.js +1 -1
- package/roomle-embedding-lib.umd.js +4 -4
- package/roomle-embedding-lib.umd.min.js +1 -1
- package/src/common/composables/use-planner-actions-visibility.d.ts +4 -0
- package/src/common/store/common-ui-store.d.ts +4 -1
- package/src/common/utils/root-tags.d.ts +6 -0
- package/src/configurator/business-logic/sdk-connector.d.ts +1 -0
- package/src/configurator/embedding/exposed-api.d.ts +5 -0
- package/src/planner/components/overlays/product-settings/ProductRangeControl.vue.d.ts +4 -1
|
@@ -1,51 +1,35 @@
|
|
|
1
|
-
## [5.
|
|
1
|
+
## [5.30.0-alpha.1](https://github.com/roomle-dev/roomle-ui/compare/embedding-lib-v5.29.0...embedding-lib-v5.30.0-alpha.1) (2025-10-08)
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
### Features
|
|
5
5
|
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* core api
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* HI callback when group is laded from plan ([0e6392d](https://github.com/roomle-dev/roomle-ui/commit/0e6392da9989a05e744cee4afa7f981ced78a047))
|
|
20
|
-
* HI group callbacks ([9e500af](https://github.com/roomle-dev/roomle-ui/commit/9e500afef9bc67db9be957f75a7bf0483f9161c5))
|
|
21
|
-
* invoke HI group callbacks ([a72ddd5](https://github.com/roomle-dev/roomle-ui/commit/a72ddd5bec712b6b638df404914f7d78203fa1d7))
|
|
22
|
-
* keep selection when swapping root modules ([a3cb518](https://github.com/roomle-dev/roomle-ui/commit/a3cb518466d67296f8ed73cdd3d22ada32d7f766))
|
|
23
|
-
* keep the child selection when clicking on a sibling ([a2f6e1f](https://github.com/roomle-dev/roomle-ui/commit/a2f6e1f40a408075d21284b18cbbe359bccdf8f0))
|
|
24
|
-
* make hi group callbacks optional ([589310e](https://github.com/roomle-dev/roomle-ui/commit/589310eb863fe9e6ecbe34443d276995e1e03afd))
|
|
25
|
-
* Merge product in RD scene UI v2 (Double click to un-merge component and click to select the entire configuration) ([831e298](https://github.com/roomle-dev/roomle-ui/commit/831e298b8ebc8255ee92e3339c1c5b921af0cdd7))
|
|
26
|
-
* onExternalObjectSwapRootModule request ([baafa95](https://github.com/roomle-dev/roomle-ui/commit/baafa95a89203427970b10a3ad89f3773161bd92))
|
|
27
|
-
* show "swap product" button in hi example ([99c7820](https://github.com/roomle-dev/roomle-ui/commit/99c782006a191462b44a3d52a29aaea9d719a825))
|
|
28
|
-
* show "undo" and "redo" buttons in hi example ([52dcda9](https://github.com/roomle-dev/roomle-ui/commit/52dcda958c82b0fc07cfa7c3342dc4f93f11c974))
|
|
29
|
-
* start new interaction when parameter is changed ([176d0ac](https://github.com/roomle-dev/roomle-ui/commit/176d0ac9c2b439a08135d20a2c895ff25b499830))
|
|
30
|
-
* swap root module in group ([45c3fea](https://github.com/roomle-dev/roomle-ui/commit/45c3fead5224417e22bc01f535d3da07b31c0596))
|
|
31
|
-
* **core:** upgrade to version 2.61.0-alpha.1 ([540c602](https://github.com/roomle-dev/roomle-ui/commit/540c6025f6834a34b5167a6ed01e59a8ca8bdcfa))
|
|
32
|
-
* **core:** upgrade to version 2.61.0-alpha.2 ([d364aff](https://github.com/roomle-dev/roomle-ui/commit/d364aff10df8e67b47900be7a7ef249546200a10))
|
|
33
|
-
* **core:** upgrade to version 2.61.0-alpha.3 ([ecb1cf3](https://github.com/roomle-dev/roomle-ui/commit/ecb1cf3e8204fd74dbf11e9796978f08b61d5048))
|
|
34
|
-
* **core:** upgrade to version 2.61.0-alpha.4 ([999ef76](https://github.com/roomle-dev/roomle-ui/commit/999ef767b46fbe80cbeb49aaef6d41e2b60cb3ff))
|
|
35
|
-
* **core:** upgrade to version 2.61.0-alpha.6 ([101f9a8](https://github.com/roomle-dev/roomle-ui/commit/101f9a877603ef7b431145327a9d331ac8e11032))
|
|
36
|
-
* **core:** upgrade to version 2.61.0-alpha.7 ([c9419cc](https://github.com/roomle-dev/roomle-ui/commit/c9419ccf703f74e87ba2184113c82ba175dae2db))
|
|
37
|
-
* **core:** upgrade to version 2.61.0-alpha.8 ([03f3711](https://github.com/roomle-dev/roomle-ui/commit/03f37119298db55275bdd69e0e22534e6f7cfbbb))
|
|
6
|
+
* core api - PlanModelViewHelper.getObjectGeometryHelpLines ([d50c692](https://github.com/roomle-dev/roomle-ui/commit/d50c69250c139dcfb1d9d469109b02ae6f359183))
|
|
7
|
+
* core api - PlanObjectComponent properties ([4936555](https://github.com/roomle-dev/roomle-ui/commit/493655574ef91136049daa9b5db960018ac89663))
|
|
8
|
+
* created onPlaceOrder and onFetchPrice HI callbacks ([4b48864](https://github.com/roomle-dev/roomle-ui/commit/4b48864a4dc71bb9ce14254857caace4a87ebf33))
|
|
9
|
+
* hi core api 'providePossibleChildren' ([a1d96c6](https://github.com/roomle-dev/roomle-ui/commit/a1d96c673b1ec7204cab88eb55e3fc4d16f92f13))
|
|
10
|
+
* HI example debug logging ([605e63b](https://github.com/roomle-dev/roomle-ui/commit/605e63b344f34d7f35d67cca357b2e1511e61a45))
|
|
11
|
+
* initial working implementation ([07ba92c](https://github.com/roomle-dev/roomle-ui/commit/07ba92c20a3a0886afb5abaafdcd24b954e0fd5d))
|
|
12
|
+
* reselect object if object mode changes when clicking on the object ([03b1ea4](https://github.com/roomle-dev/roomle-ui/commit/03b1ea4eb6c7f0f2a1a0eb2c6d1bd85230820a01))
|
|
13
|
+
* **core:** upgrade to version 2.61.0 ([8468dff](https://github.com/roomle-dev/roomle-ui/commit/8468dff9ae43a224dd563bc53e36543b79211391))
|
|
14
|
+
* **core:** upgrade to version 2.62.0-alpha.1 ([e62b7f2](https://github.com/roomle-dev/roomle-ui/commit/e62b7f278ba0cd72e97b3a0de8ad47ac04fa860a))
|
|
15
|
+
* **core:** upgrade to version 2.62.0-alpha.2 ([e679883](https://github.com/roomle-dev/roomle-ui/commit/e6798835befcce2e9f8b1749275d1b62aff5d621))
|
|
16
|
+
* **core:** upgrade to version 2.62.0-alpha.4 ([788fc83](https://github.com/roomle-dev/roomle-ui/commit/788fc831445b3050b5188f8fa0100d36e377b30d))
|
|
17
|
+
* **core:** upgrade to version 2.62.0-alpha.5 ([c2ee7d8](https://github.com/roomle-dev/roomle-ui/commit/c2ee7d8b48e9ecfa7074d4ec88aa4678da209b51))
|
|
18
|
+
* upgrade to version 2.62.0-alpha.6 ([5383e89](https://github.com/roomle-dev/roomle-ui/commit/5383e89a1382f8e9599afc920914124d6a85fead))
|
|
38
19
|
|
|
39
20
|
|
|
40
21
|
### Bug Fixes
|
|
41
22
|
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
* only
|
|
49
|
-
*
|
|
50
|
-
* remove
|
|
51
|
-
*
|
|
23
|
+
* add library id back to HI callbacks ([ea30779](https://github.com/roomle-dev/roomle-ui/commit/ea3077936ef79ee737b551842441358e0365db6d))
|
|
24
|
+
* article ID is the fallback label for catalog item ([a5449f0](https://github.com/roomle-dev/roomle-ui/commit/a5449f069485cfb29c07231b11a868cf2c14c9cd))
|
|
25
|
+
* catch hi callback exceptions ([f650511](https://github.com/roomle-dev/roomle-ui/commit/f650511d2c8fb82a545ccfa6fb5800b03b843516))
|
|
26
|
+
* consider that root module is moved to a new group on undock ([c293ba8](https://github.com/roomle-dev/roomle-ui/commit/c293ba87b9652ee363d98b772fe8640a5cd6f175))
|
|
27
|
+
* consider that the object may be merged on drag-end ([b033cbd](https://github.com/roomle-dev/roomle-ui/commit/b033cbd977513cca7d918e5a98d417770e01a484))
|
|
28
|
+
* drag-in hi objects by id instead of serialize json ([60df0bd](https://github.com/roomle-dev/roomle-ui/commit/60df0bd3e3fc07c14f9a5aebed4f06895cc6f93e))
|
|
29
|
+
* only unmerge objects if advanced docking is enabled ([2679668](https://github.com/roomle-dev/roomle-ui/commit/2679668d803351a04281ac1d7860864e9d950ae4))
|
|
30
|
+
* planner external object selection callback ([e631da9](https://github.com/roomle-dev/roomle-ui/commit/e631da99153e1bba809376989af7ea73970956a2))
|
|
31
|
+
* remove unused imports ([da6645c](https://github.com/roomle-dev/roomle-ui/commit/da6645c6c1a305341d1d875debbf135f62bd7134))
|
|
32
|
+
* remove unused params ([e22e84e](https://github.com/roomle-dev/roomle-ui/commit/e22e84e54861ca9bc37645db09a9f80aeb63859d))
|
|
33
|
+
* reset scroll on select catalog item and remove wrong icon and unneeded dark mode ([7e2339d](https://github.com/roomle-dev/roomle-ui/commit/7e2339d58d6d4c8487cec03ac1beeddbe681b433))
|
|
34
|
+
* type errors ([a64197f](https://github.com/roomle-dev/roomle-ui/commit/a64197f8a1f7af9003e5b9124ba0467355b6a9a1))
|
|
35
|
+
* update outdated version for playwright docker image since we update our playwright version ([58eafba](https://github.com/roomle-dev/roomle-ui/commit/58eafba6d6ae8f294288fd8175a3bf47ba672c2a))
|
package/package.json
CHANGED
|
@@ -36,6 +36,20 @@ export interface HiCallbacks {
|
|
|
36
36
|
* @param groupData The ID of the group which was deleted.
|
|
37
37
|
*/
|
|
38
38
|
onPosGroupDeleted?: (posGroupIds: string[]) => Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* "onLogMessage" is invoked when the Homag Intelligence library wants to log a message.
|
|
41
|
+
* You can use this to log messages in your own UI.
|
|
42
|
+
* @param area
|
|
43
|
+
* @param message
|
|
44
|
+
*/
|
|
45
|
+
onLogMessage?: (area: string, message: string) => void;
|
|
46
|
+
onFetchPrice?: (orderData: any) => Promise<any>;
|
|
47
|
+
/**
|
|
48
|
+
* "onPlaceOrder" is invoked when the user wants to place an order.
|
|
49
|
+
* You can use this to send the order data to Order Manager or to a 3rd party service.
|
|
50
|
+
* @param orderData
|
|
51
|
+
*/
|
|
52
|
+
onPlaceOrder?: (orderData: any) => Promise<void>;
|
|
39
53
|
}
|
|
40
54
|
export type AvailablePlugins = {
|
|
41
55
|
[K in keyof PluginMap]?: InstanceType<PluginMap[K]>;
|
|
@@ -0,0 +1,14 @@
|
|
|
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
|
+
private _roomDesignerApi;
|
|
7
|
+
setupHtml(parent: HTMLElement): Promise<void>;
|
|
8
|
+
closeExample(): Promise<void>;
|
|
9
|
+
private start;
|
|
10
|
+
loadHiCatalogAsync(roomDesignerApi: RoomDesignerApiType): Promise<void>;
|
|
11
|
+
onRequestPlan(roomDesignerApi: RoomDesignerApiType): Promise<void>;
|
|
12
|
+
doPriceCalculation(roomDesignerApi: RoomDesignerApiType): Promise<void>;
|
|
13
|
+
runExample(): Promise<void>;
|
|
14
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare const fetchJSONData: (url: string) => Promise<any>;
|
|
2
2
|
export declare const fetchDataWithAuthorization: (url: string, type: string, property: string) => Promise<Response>;
|
|
3
|
+
export declare const logInUi: (area: string, message: string, args?: (string | null)[]) => void;
|
|
3
4
|
export declare const logMessage: (message: string, ...args: (string | null)[]) => void;
|
|
4
5
|
export declare const logApiCall: (message: string) => void;
|
|
5
6
|
export declare const logApiCallback: (message: string, ...args: (string | null)[]) => void;
|
|
@@ -19,7 +19,10 @@ export declare class RoomDesignerApi implements RoomDesignerRequests {
|
|
|
19
19
|
deleteRootModule(rootModuleId: string): void;
|
|
20
20
|
getPosDataOfAllGroups(): Promise<PosGroup[]>;
|
|
21
21
|
getRoomInformation(): Promise<import('../../planner-core/src/external-object-api').ExternalRoomInformation>;
|
|
22
|
-
generatePlanSnapshot(): Promise<
|
|
22
|
+
generatePlanSnapshot(): Promise<{
|
|
23
|
+
objectId: string;
|
|
24
|
+
planId: string;
|
|
25
|
+
}>;
|
|
23
26
|
saveExternalObjectSnapshot(): Promise<import('../../typings/rapi-types').RapiPlanSnapshotGetDataWith3dUrls>;
|
|
24
27
|
saveCurrentPlanSnapshot(): Promise<import('../../typings/rapi-types').RapiPlanSnapshotGetData>;
|
|
25
28
|
renderPosDataImage(posDataJson: object): Promise<void>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { HiCallbacks } from '../../../../embedding-lib/src/embedding-lib';
|
|
2
|
+
import { GlueLogic, RoomDesignerRequests } from './emulator';
|
|
3
|
+
import { ExternalObjectGroup } from 'roomle-core-hsc/src/embind/plannerCoreInterface';
|
|
4
|
+
import { ExternalModuleInformation } from '../../typings/kernel';
|
|
5
|
+
import { PosGroup } from './model/oc-scripts-domain.model';
|
|
6
|
+
import { ExternalObjectModuleIdMap } from './api';
|
|
7
|
+
|
|
8
|
+
export declare class GlueLayerRequestDebugLogging implements GlueLogic {
|
|
9
|
+
private _glueLogic;
|
|
10
|
+
private _hiCallbacks;
|
|
11
|
+
constructor(glueLogic: GlueLogic, hiCallbacks: HiCallbacks);
|
|
12
|
+
get hiCallbacks(): HiCallbacks | null;
|
|
13
|
+
private _logRequest;
|
|
14
|
+
loadPosData(articleCatalogJson: any, libraryId: string): void;
|
|
15
|
+
mergeGroups(targetGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], idOfTargetRootModule: string): void;
|
|
16
|
+
deleteRootModule(remainingGroup: ExternalObjectGroup, rootModuleIdToDelete: string, splitOffGroups: ExternalObjectGroup[]): void;
|
|
17
|
+
splitRootModuleFromGroup(splitGroup: ExternalObjectGroup, newGroupedRootModules: ExternalObjectGroup[]): void;
|
|
18
|
+
duplicateGroup(sourceGroupId: string, duplicatedGroup: ExternalObjectGroup): void;
|
|
19
|
+
modifyAttribute(groupId: string, moduleIdObjects: ExternalModuleInformation[], attributeName: string, value: string): void;
|
|
20
|
+
updateAttribute(rootModuleId: string, moduleId: string, attributeId: string, attributeValue: string | boolean): void;
|
|
21
|
+
swapRootModule(groupId: string, rootModuleId: string, articleId: string): void;
|
|
22
|
+
arrangeRootModulesOfGroup(changedGroup: ExternalObjectGroup): void;
|
|
23
|
+
changedGroupPlanningSituation(changedGroup: ExternalObjectGroup): void;
|
|
24
|
+
deleteGroup(groupId: string): Promise<void>;
|
|
25
|
+
changedGroup(posDataJson: PosGroup): void;
|
|
26
|
+
loadedGroup(posDataJson: PosGroup): void;
|
|
27
|
+
removedGroup(groupId: string): void;
|
|
28
|
+
openCloseGroup(groupId: string): void;
|
|
29
|
+
newPosDataFromId(id: string): PosGroup | undefined;
|
|
30
|
+
getGroupDataForOrder(roomlePlannerId?: string): Promise<any>;
|
|
31
|
+
savePlanSnapshot(): Promise<any>;
|
|
32
|
+
}
|
|
33
|
+
export declare class GlueLayerResponseDebugLogging implements RoomDesignerRequests {
|
|
34
|
+
private _roomDesignerRequests;
|
|
35
|
+
private _hiCallbacks;
|
|
36
|
+
constructor(roomDesignerRequests: RoomDesignerRequests, hiCallbacks: HiCallbacks);
|
|
37
|
+
private _logResponse;
|
|
38
|
+
loadMasterData(masterData: any): void;
|
|
39
|
+
loadPosGroups(posDataJson: PosGroup | PosGroup[], findFreeSpaceInPlan: boolean, verifyArrangement: boolean, mergedGroups?: string[], respondWithPositionInPlan?: boolean, moduleIdMap?: ExternalObjectModuleIdMap[]): Promise<void>;
|
|
40
|
+
selectGroup(groupId: string): Promise<void>;
|
|
41
|
+
selectRoot(rootModuleId: string): Promise<void>;
|
|
42
|
+
selectModule(rootModuleId: string, subModuleId: string): Promise<void>;
|
|
43
|
+
openCloseGroup(groupOrRootModuleId: string, subModuleId: string | null, open: boolean, animate: boolean): Promise<void>;
|
|
44
|
+
deleteGroup(groupId: string, wasMerged?: boolean): void;
|
|
45
|
+
deleteRootModule(rootModuleId: string): void;
|
|
46
|
+
getPosDataOfAllGroups(): Promise<PosGroup[]>;
|
|
47
|
+
getRoomInformation(): Promise<any>;
|
|
48
|
+
generatePlanSnapshot(): Promise<{
|
|
49
|
+
objectId: string;
|
|
50
|
+
planId: string;
|
|
51
|
+
}>;
|
|
52
|
+
saveExternalObjectSnapshot(): Promise<any>;
|
|
53
|
+
saveCurrentPlanSnapshot(): Promise<any>;
|
|
54
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { HiCallbacks } from '../../../../embedding-lib/src/embedding-lib';
|
|
1
2
|
import { ExternalModuleInformation, ExternalObjectGroup } from './callbacks';
|
|
2
3
|
import { MasterData, PosModuleAttribute, PosGroup, PosModuleData, PosModuleRootData } from './model/oc-scripts-domain.model';
|
|
3
|
-
import { HiCallbacks } from '../../../../embedding-lib/src/embedding-lib';
|
|
4
4
|
import { ExternalObjectModuleIdMap } from './api';
|
|
5
5
|
|
|
6
6
|
export interface LibraryData {
|
|
@@ -23,12 +23,16 @@ export interface RoomDesignerRequests {
|
|
|
23
23
|
deleteRootModule(rootModuleId: string): void;
|
|
24
24
|
getPosDataOfAllGroups(): Promise<PosGroup[]>;
|
|
25
25
|
getRoomInformation(): Promise<any>;
|
|
26
|
-
generatePlanSnapshot(): Promise<
|
|
26
|
+
generatePlanSnapshot(): Promise<{
|
|
27
|
+
objectId: string;
|
|
28
|
+
planId: string;
|
|
29
|
+
}>;
|
|
27
30
|
saveExternalObjectSnapshot(): Promise<any>;
|
|
28
31
|
saveCurrentPlanSnapshot(): Promise<any>;
|
|
29
32
|
}
|
|
30
33
|
export interface GlueLogic {
|
|
31
|
-
hiCallbacks
|
|
34
|
+
hiCallbacks: HiCallbacks | null;
|
|
35
|
+
loadPosData(articleCatalogJson: any, libraryId: string): void;
|
|
32
36
|
mergeGroups(targetGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], idOfTargetRootModule: string): void;
|
|
33
37
|
deleteRootModule(remainingGroup: ExternalObjectGroup, rootModuleIdToDelete: string, splitOffGroups: ExternalObjectGroup[]): void;
|
|
34
38
|
splitRootModuleFromGroup(splitGroup: ExternalObjectGroup, newGroupedRootModules: ExternalObjectGroup[]): void;
|
|
@@ -47,7 +51,7 @@ export interface GlueLogic {
|
|
|
47
51
|
getGroupDataForOrder(roomlePlannerId?: string): Promise<any>;
|
|
48
52
|
savePlanSnapshot(): Promise<PlanSnapshot>;
|
|
49
53
|
}
|
|
50
|
-
interface PlanSnapshot {
|
|
54
|
+
export interface PlanSnapshot {
|
|
51
55
|
id: string;
|
|
52
56
|
perspectiveImageLink: string;
|
|
53
57
|
topImageLink: string;
|
|
@@ -65,8 +69,8 @@ export declare class Emulator implements GlueLogic {
|
|
|
65
69
|
private _groupMap;
|
|
66
70
|
private _nextPosDataId;
|
|
67
71
|
private _hiCallbacks;
|
|
68
|
-
constructor(designerRequests: RoomDesignerRequests, libraryData: LibraryData);
|
|
69
|
-
|
|
72
|
+
constructor(designerRequests: RoomDesignerRequests, libraryData: LibraryData, hiCallbacks?: HiCallbacks | null);
|
|
73
|
+
get hiCallbacks(): HiCallbacks | null;
|
|
70
74
|
getLibraryData(libraryId: string): LibraryData | null;
|
|
71
75
|
addLibrary(libraryData: LibraryData): void;
|
|
72
76
|
loadPosData(articleCatalogJson: any, libraryId: string): void;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GlueLogic } from './emulator';
|
|
2
2
|
import { Context } from '../../common-core/src/di/context';
|
|
3
3
|
|
|
4
4
|
export declare const FAKE_ROOT_TAG = "external:root-tag";
|
|
5
5
|
export declare class HiTagCatalogCallbacks implements Context {
|
|
6
6
|
_creator_: string;
|
|
7
|
-
private
|
|
7
|
+
private _glueLogic;
|
|
8
8
|
private _articlesPromise;
|
|
9
9
|
private _externalItems;
|
|
10
10
|
private _externalConfigurations;
|
|
@@ -12,7 +12,7 @@ export declare class HiTagCatalogCallbacks implements Context {
|
|
|
12
12
|
private _globalCallback;
|
|
13
13
|
private _configuratorViewModel;
|
|
14
14
|
constructor(creator: string, articles: Promise<any>);
|
|
15
|
-
setEmulator(
|
|
15
|
+
setEmulator(glueLogic: GlueLogic): void;
|
|
16
16
|
private _init;
|
|
17
17
|
private _onCheckExternalCache;
|
|
18
18
|
private _onFetchExternalData;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RmlPlugin } from './rml-plugin';
|
|
2
2
|
import { GlueLogic } from './emulator';
|
|
3
|
-
import {
|
|
3
|
+
import { HomagIntelligenceInitData } 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
6
|
import { ExternalConfiguration, ExternalItem } from '../../typings/external-objects';
|
|
@@ -12,7 +12,6 @@ declare global {
|
|
|
12
12
|
uuidv4: () => string;
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
export declare const HOMAG_INTELLIGENCE_ENDPOINT = "https://europe-west3-rml-showcases.cloudfunctions.net/proxy_request?url=";
|
|
16
15
|
export type ExternalObjects = Map<string, {
|
|
17
16
|
id: string;
|
|
18
17
|
label: string;
|
|
@@ -24,21 +23,21 @@ export declare class HomagIntelligence extends RmlPlugin {
|
|
|
24
23
|
private _roomlePlanner;
|
|
25
24
|
private _api;
|
|
26
25
|
private _masterData;
|
|
27
|
-
private
|
|
26
|
+
private _glueLogic;
|
|
28
27
|
private _articles;
|
|
29
28
|
private _scriptLoaded;
|
|
30
29
|
private _hiLibraryLoaded;
|
|
31
30
|
private _orders;
|
|
32
31
|
constructor();
|
|
33
|
-
loadHiLibrary(
|
|
32
|
+
loadHiLibrary(libraryId: string, hiCallbacks: HiCallbacks): Promise<{
|
|
34
33
|
articles: any;
|
|
35
34
|
masterData: MasterData;
|
|
36
35
|
calcScriptLoaded: boolean;
|
|
37
36
|
}>;
|
|
38
|
-
init(articles: any, catalogCallbacks: HiTagCatalogCallbacks, roomlePlanner: RoomlePlanner,
|
|
37
|
+
init(articles: any, catalogCallbacks: HiTagCatalogCallbacks, roomlePlanner: RoomlePlanner, hiOptions: HomagIntelligenceInitData, hiCallbacks: HiCallbacks): Promise<this>;
|
|
39
38
|
private _loadMasterData;
|
|
40
39
|
private _initCalcScript;
|
|
41
40
|
getGlueLogic(): GlueLogic;
|
|
42
|
-
|
|
41
|
+
placeOrder(): Promise<void>;
|
|
43
42
|
fetchPrice(planId?: string): Promise<any>;
|
|
44
43
|
}
|
|
@@ -2,7 +2,8 @@ import { MasterData } from './model/oc-scripts-domain.model';
|
|
|
2
2
|
|
|
3
3
|
export interface HomagIntelligenceInitData {
|
|
4
4
|
libraryId: string;
|
|
5
|
-
serverOptions
|
|
5
|
+
serverOptions?: ApiOptions;
|
|
6
|
+
debugLogging?: boolean;
|
|
6
7
|
}
|
|
7
8
|
export interface OrderManagerOptions {
|
|
8
9
|
key?: string;
|
|
@@ -17,6 +18,17 @@ export interface ApiOptions {
|
|
|
17
18
|
export declare const fetchDataWithAuthorization: (url: string, type: 'json' | 'text', apiOptions: ApiOptions, debug?: {
|
|
18
19
|
property: string;
|
|
19
20
|
}) => Promise<Response>;
|
|
20
|
-
export declare const loadArticleCatalog: (
|
|
21
|
-
export declare const loadMasterData: (
|
|
22
|
-
export declare const loadCalcScript: (
|
|
21
|
+
export declare const loadArticleCatalog: (apiOptions: HomagIntelligenceInitData) => Promise<any>;
|
|
22
|
+
export declare const loadMasterData: (apiOptions: HomagIntelligenceInitData) => Promise<MasterData>;
|
|
23
|
+
export declare const loadCalcScript: (apiOptions: HomagIntelligenceInitData) => Promise<string>;
|
|
24
|
+
export declare const getRequestSettings: (apiOptions: ApiOptions) => {
|
|
25
|
+
subscriptionId: string;
|
|
26
|
+
headers: {
|
|
27
|
+
headers: {
|
|
28
|
+
'Content-Type': string;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
key: string;
|
|
32
|
+
importBaseUrl: string;
|
|
33
|
+
};
|
|
34
|
+
export declare const omRequest: (apiOptions: ApiOptions, body: any, url: string, debugStr?: string, extraHeaders?: {}) => Promise<any>;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { default as RoomlePlanner } from '../../planner-core/src/roomle-planner';
|
|
2
2
|
import { GlueLogic } from './emulator';
|
|
3
|
-
import { ApiOptions } from './loader';
|
|
4
3
|
|
|
5
4
|
export declare const createEmptyOrder: () => {
|
|
6
5
|
id: any;
|
|
@@ -27,13 +26,10 @@ export declare const createEmptyOrder: () => {
|
|
|
27
26
|
changedBy: string;
|
|
28
27
|
items: any[];
|
|
29
28
|
};
|
|
30
|
-
export declare const sendToOM: (apiOptions: ApiOptions, roomlePlanner: RoomlePlanner, gluLogic: GlueLogic, withPrice?: boolean) => Promise<void>;
|
|
31
|
-
export declare const fetchPrice: (apiOptions: ApiOptions, gluLogic: GlueLogic, planId?: string, useExtraHeaders?: boolean) => Promise<any>;
|
|
32
29
|
export default class Orders {
|
|
33
30
|
private _roomlePlanner;
|
|
34
|
-
private
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
sendToOM(withPrice?: boolean): Promise<void>;
|
|
31
|
+
private _glueLogic;
|
|
32
|
+
constructor(roomlePlanner: RoomlePlanner, glueLogic: GlueLogic);
|
|
33
|
+
placeOrder(): Promise<void>;
|
|
38
34
|
fetchPrice(planId?: string): Promise<any>;
|
|
39
35
|
}
|
|
@@ -25,9 +25,9 @@ export interface ExternalObjectDebugConfiguration {
|
|
|
25
25
|
createDebugGeometry?: boolean;
|
|
26
26
|
}
|
|
27
27
|
export interface ExternalObjectApiConfiguration {
|
|
28
|
-
legacyApi?: boolean;
|
|
29
28
|
loadExternalObjectsFromPlan?: boolean;
|
|
30
29
|
enableArrangementCorrection?: boolean;
|
|
30
|
+
providePossibleChildren?: boolean;
|
|
31
31
|
uiConfiguration?: ExternalObjectUiConfiguration;
|
|
32
32
|
materialConfiguration?: ExternalObjectMaterialConfiguration;
|
|
33
33
|
debugConfiguration?: ExternalObjectDebugConfiguration;
|
|
@@ -29,6 +29,7 @@ import { Nullable } from '../../typings/helper';
|
|
|
29
29
|
import { MaybePromise } from '../../common-core/src/utils/common-utils';
|
|
30
30
|
import { HomagIntelligence } from '../../homag-intelligence/src/homag-intelligence';
|
|
31
31
|
import { RoomleLightSource } from '../../common-core/src/light/light-source';
|
|
32
|
+
import { HomagIntelligenceInitData } from '../../homag-intelligence/src/loader';
|
|
32
33
|
|
|
33
34
|
export type ID_TYPE = 'rml_id' | 'tc_id' | 'rml_serialized' | 'tc_serialized';
|
|
34
35
|
export declare const EXT_OBJ_EXCEPTION = "Could not retrieve configuration for external object! Did you implement onGetConfigurationForExternalObject?";
|
|
@@ -437,6 +438,7 @@ export default class RoomlePlanner<P extends readonly PluginName[] = readonly []
|
|
|
437
438
|
private _loadExternalObjectGroup;
|
|
438
439
|
private _loadExternalObjectGroupInConfigurator;
|
|
439
440
|
private _loadExternalObjectGroupInPlanner;
|
|
441
|
+
private _updateExternalObjectRootModuleSelection;
|
|
440
442
|
private _loadOrUpdateExternalObjectGroup;
|
|
441
443
|
updateExternalObjectGroupAttribute(rootModuleId: string, moduleId: string, attributeId: string, attributeValue: string | boolean): void;
|
|
442
444
|
private _createSerializedGroupCollection;
|
|
@@ -549,8 +551,14 @@ export default class RoomlePlanner<P extends readonly PluginName[] = readonly []
|
|
|
549
551
|
redo(): Promise<void>;
|
|
550
552
|
setHomagIntelligence(homagIntelligence: HomagIntelligence): void;
|
|
551
553
|
newPosDataFromId(id: string): import('../../homag-intelligence/src/model/oc-scripts-domain.model').PosGroup;
|
|
552
|
-
|
|
554
|
+
/**
|
|
555
|
+
* deprecated, use placeOrder() instead
|
|
556
|
+
*/
|
|
557
|
+
sendToOM(): Promise<void>;
|
|
558
|
+
placeOrder(): Promise<void>;
|
|
553
559
|
fetchPrice(planId?: string): Promise<any>;
|
|
554
560
|
getOrderManagerGroupData(planId?: string): Promise<any>;
|
|
555
561
|
getRapiAccess(): RapiAccess;
|
|
562
|
+
canElementBeDeleted(planElement: PlanElementViewModel): boolean;
|
|
563
|
+
setupHomagIntelligence(hi: HomagIntelligenceInitData): Promise<void>;
|
|
556
564
|
}
|
|
@@ -25,7 +25,7 @@ export declare class PlannerSelectionHandlerEvent {
|
|
|
25
25
|
export default class PlannerSelectionHandler extends EventDispatcher<PlannerSelectionHandlerEvent> {
|
|
26
26
|
private _selectionMode;
|
|
27
27
|
protected _selectedPlanElementViewModels: Map<number, PlanElementViewModel>;
|
|
28
|
-
check(planElementViewModel: PlanElementViewModel): void;
|
|
28
|
+
check(planElementViewModel: PlanElementViewModel, objectModeChanged?: boolean): void;
|
|
29
29
|
removeSelection(): void;
|
|
30
30
|
cancelSelection(reason: CancelSelectionReasons): void;
|
|
31
31
|
private _checkStandard;
|
|
@@ -216,11 +216,11 @@ export default class PlannerSceneManager extends ConfiguratorSceneManager implem
|
|
|
216
216
|
protected setEventHandlerObject(object: Object3D): void;
|
|
217
217
|
protected _readyForRender(): void;
|
|
218
218
|
protected notifyPlannerOnComponentSelectionCancel(isExtObj: boolean, reason: CancelSelectionReasons): void;
|
|
219
|
-
private
|
|
219
|
+
private _externalPlanObjectSelectionChanged;
|
|
220
220
|
highlightExternalObject(planObjectComponent: KernelPlanObjectComponent): void;
|
|
221
221
|
private _selectExternalObjectModule;
|
|
222
222
|
getObjectComponent(id: number, typeOfId: Enumify<typeof CORE_TYPE_OF_CORE_ID>): KernelPlanObjectComponent;
|
|
223
|
-
getExternalObjectComponent(
|
|
223
|
+
getExternalObjectComponent(groupOrRootModuleId: string, subModuleId: string): KernelPlanObjectComponent;
|
|
224
224
|
getCameraParameters3d(): NonNullable<CameraParameter>;
|
|
225
225
|
private _createCeilingLightGroup;
|
|
226
226
|
toggleInteriorLightsSceneSettings(on: boolean): void;
|
|
@@ -264,6 +264,9 @@ export interface KernelPlanObjectComponent extends KernelPlanObjectBase {
|
|
|
264
264
|
externalObjectGroupId: string;
|
|
265
265
|
externalRootModuleId: string;
|
|
266
266
|
externalSubModuleId: string;
|
|
267
|
+
isAGeneratedModule: boolean;
|
|
268
|
+
canBeDeleted: boolean;
|
|
269
|
+
animations?: KernelAnimation[];
|
|
267
270
|
}
|
|
268
271
|
export interface UiPlanObject extends KernelPlanObject {
|
|
269
272
|
data: RapiItem | RapiConfiguration | null;
|
|
@@ -319,6 +319,20 @@ declare class RoomGeometryArray extends EmsArray<PosContour> {
|
|
|
319
319
|
export interface RoomInformation {
|
|
320
320
|
rooms: RoomGeometryArray;
|
|
321
321
|
}
|
|
322
|
+
export declare const CORE_HELP_LINE_TYPE: {
|
|
323
|
+
readonly WALL_SNAP_LEVEL: 0;
|
|
324
|
+
readonly WALL_SNAP_LEVEL_SNAPPED: 1;
|
|
325
|
+
};
|
|
326
|
+
export interface HelpLineType {
|
|
327
|
+
value: Enumify<typeof CORE_HELP_LINE_TYPE>;
|
|
328
|
+
}
|
|
329
|
+
export interface GeometryHelpLine {
|
|
330
|
+
end: KernelVector3f;
|
|
331
|
+
start: KernelVector3f;
|
|
332
|
+
type: HelpLineType;
|
|
333
|
+
}
|
|
334
|
+
declare class GeometryHelpLineArray extends EmsArray<GeometryHelpLine> {
|
|
335
|
+
}
|
|
322
336
|
export interface PlanModelViewHelper {
|
|
323
337
|
getPlanOverview(planObject: KernelObject): PlanOverview;
|
|
324
338
|
getPlanObject(plan: Plan, aRuntimeId: number): KernelPlanObject;
|
|
@@ -330,6 +344,7 @@ export interface PlanModelViewHelper {
|
|
|
330
344
|
getExternalObjectGroups(plan: Plan): KernelObjectConfigurationArray;
|
|
331
345
|
getExternalRoomInformation(plan: Plan): RoomInformation;
|
|
332
346
|
calculateLightSourceDistribution(plan: Plan, lightSourceConfiguration: LightSourceConfiguration): RoomLightSourceDistributionArray;
|
|
347
|
+
getObjectGeometryHelpLines(anObject: PlanObject): GeometryHelpLineArray;
|
|
333
348
|
}
|
|
334
349
|
export interface PlanNode extends KernelObject {
|
|
335
350
|
getMaxWallHeight(): number;
|