@roomle/embedding-lib 5.25.0-alpha.5 → 5.25.0-alpha.7
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 +4 -10
- package/package.json +1 -1
- package/packages/embedding-lib/src/examples/homag-intelligence-example.d.ts +9 -0
- package/packages/embedding-lib/src/examples/utils/homag-intelligence/create-catalog.d.ts +1 -0
- package/packages/embedding-lib/src/examples/utils/homag-intelligence/default-api-options.d.ts +43 -0
- package/packages/embedding-lib/src/examples/utils/homag-intelligence/dom-helper.d.ts +13 -0
- package/packages/embedding-lib/src/examples/utils/homag-intelligence/drag-in.d.ts +3 -0
- package/packages/embedding-lib/src/examples/utils/homag-intelligence/overlay.d.ts +2 -0
- package/packages/embedding-lib/src/examples/utils/homag-intelligence/state.d.ts +14 -0
- package/packages/embedding-lib/src/examples/utils/homag-intelligence/util.d.ts +19 -0
- package/packages/web-sdk/packages/common-core/src/main.d.ts +2 -2
- package/packages/web-sdk/packages/common-core/src/utils/init-data.d.ts +2 -0
- package/packages/web-sdk/packages/common-core/src/utils/shims.d.ts +6 -0
- package/packages/web-sdk/packages/configurator-core/src/configurator.d.ts +1 -1
- package/packages/web-sdk/packages/configurator-core/src/utils/test-helpers/utils.d.ts +2 -2
- package/packages/web-sdk/packages/glb-viewer-core/src/glb-viewer.d.ts +1 -1
- package/packages/web-sdk/packages/homag-intelligence/src/api.d.ts +22 -0
- package/packages/web-sdk/packages/homag-intelligence/src/callbacks.d.ts +37 -0
- package/packages/web-sdk/packages/homag-intelligence/src/emulator.d.ts +101 -0
- package/packages/web-sdk/packages/homag-intelligence/src/homag-intelligence.d.ts +28 -0
- package/packages/web-sdk/packages/homag-intelligence/src/loader.d.ts +24 -0
- package/packages/web-sdk/packages/homag-intelligence/src/model/oc-scripts-domain.model.d.ts +312 -0
- package/packages/web-sdk/packages/homag-intelligence/src/orders.d.ts +39 -0
- package/packages/web-sdk/packages/homag-intelligence/src/rml-plugin.d.ts +3 -0
- package/packages/web-sdk/packages/homag-intelligence/src/util.d.ts +5 -0
- package/packages/web-sdk/packages/material-viewer/src/material-viewer.d.ts +1 -1
- package/packages/web-sdk/packages/planner-core/src/planner.d.ts +1 -1
- package/packages/web-sdk/packages/planner-core/src/roomle-planner.d.ts +8 -1
- package/packages/web-sdk/packages/test-helpers/unit/global-setup.d.ts +1 -1
- package/packages/web-sdk/packages/tools-core/src/tools-core.d.ts +1 -1
- package/packages/web-sdk/packages/typings/external-objects.d.ts +8 -0
- package/packages/web-sdk/packages/typings/planner.d.ts +1 -1
- package/src/common/components/collection-view/-utils/collection-view-dynamic-components.d.ts +1 -1
- package/src/common/composables/use-configurator-api.d.ts +1 -1
- package/src/common/composables/use-core-instances.d.ts +1 -1
- package/src/common/composables/use-static-item-parameters.d.ts +1 -1
- package/src/common/utils/helper.d.ts +1 -1
- package/src/common/utils/parameters.d.ts +0 -1
- package/src/common/utils/types.d.ts +0 -7
- package/src/configurator/business-logic/roomle-sdk-wrapper.d.ts +2 -1
- package/src/configurator/embedding/exposed-api.d.ts +2 -1
- package/src/planner/components/overlays/ProductSettings.vue.d.ts +2 -2
- package/src/planner/components/overlays/product-settings/ProductPositions.vue.d.ts +2 -2
- package/src/planner/components/overlays/product-settings/ProductRotation.vue.d.ts +2 -2
- package/src/planner/components/overlays/product-settings/ProductSettingsInfos.vue.d.ts +2 -2
- package/src/planner/components/overlays/product-settings/ProductSize.vue.d.ts +2 -2
- package/src/planner/components/overlays/product-settings/ProductXYZChanger.vue.d.ts +2 -2
- package/src/planner/components/overlays/rooms/ConstructionVariants.vue.d.ts +2 -2
- package/src/planner/components/overlays/rooms/DoorParametersSetting.vue.d.ts +7 -7
- package/src/planner/components/overlays/rooms/ElementLengthScaling.vue.d.ts +1 -1
- package/src/planner/components/overlays/rooms/WindowParametersSetting.vue.d.ts +2 -2
- package/src/planner/components/utils/AssureConfiguratorHandlers.vue.d.ts +1 -1
- package/src/planner/components/utils/AssureSdkHandlers.vue.d.ts +1 -1
- package/src/planner/utils/planner-sidebar.d.ts +1 -1
- package/packages/web-sdk/packages/acceptance-tests/src/utils/async-acceptance-test.d.ts +0 -3
- package/packages/web-sdk/packages/configurator-core/__acceptance__/boot.d.ts +0 -1
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
## [5.25.0-alpha.
|
|
1
|
+
## [5.25.0-alpha.7](https://github.com/roomle-dev/roomle-ui/compare/embedding-lib-v5.25.0-alpha.6...embedding-lib-v5.25.0-alpha.7) (2025-08-06)
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
### Features
|
|
5
5
|
|
|
6
|
-
*
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
### Bug Fixes
|
|
10
|
-
|
|
11
|
-
* another dev dep ([89a67e4](https://github.com/roomle-dev/roomle-ui/commit/89a67e41fd02ae7f83eff2c06be84af3980fb6b8))
|
|
12
|
-
* development builds loading envmaps ([3983d81](https://github.com/roomle-dev/roomle-ui/commit/3983d81ef3466816ff8310c0d759583537e068b6))
|
|
13
|
-
* message handler return ([1d6afc7](https://github.com/roomle-dev/roomle-ui/commit/1d6afc747416de5840b22216831c443cee473954))
|
|
14
|
-
* sw paths ([c2d7ffd](https://github.com/roomle-dev/roomle-ui/commit/c2d7ffda8b8d539d25c592681c63c43aee4fd27d))
|
|
6
|
+
* integrate check attributes conflict solving into emulator ([40017b0](https://github.com/roomle-dev/roomle-ui/commit/40017b0a83ef9cf23a9a59cc76fa31b2bd249717))
|
|
7
|
+
* update pos data model ([e612333](https://github.com/roomle-dev/roomle-ui/commit/e6123333b262ce72339f3059cde95128449bc849))
|
|
8
|
+
* updateAttribute API from OC ([3b4af28](https://github.com/roomle-dev/roomle-ui/commit/3b4af289a58a1669ca66e66649876d28e1bdc421))
|
package/package.json
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const createCatalog: (articleCatalog: HTMLElement, draggable?: boolean) => Promise<void>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
enableArrangementCorrection: boolean;
|
|
3
|
+
uiConfiguration: {
|
|
4
|
+
userRight: string;
|
|
5
|
+
materialAttributes: string[];
|
|
6
|
+
attributesVisibleInPlanner: string[];
|
|
7
|
+
attributeGroupsVisibleInPlanner: any[];
|
|
8
|
+
showPossibleSubModules: boolean;
|
|
9
|
+
animatedOpenClose: boolean;
|
|
10
|
+
showThumbnails: boolean;
|
|
11
|
+
};
|
|
12
|
+
materialConfiguration: {
|
|
13
|
+
defaultMaterial: string;
|
|
14
|
+
replaceUnmappedMaterialsWithDefault: boolean;
|
|
15
|
+
materialMapping: {
|
|
16
|
+
materialName: string;
|
|
17
|
+
materialId: string;
|
|
18
|
+
}[];
|
|
19
|
+
};
|
|
20
|
+
debugConfiguration: {
|
|
21
|
+
createDebugGeometry: boolean;
|
|
22
|
+
};
|
|
23
|
+
tecConfigInfo: {
|
|
24
|
+
baseUrlDebug: string;
|
|
25
|
+
/**
|
|
26
|
+
* If you do not want to use the proxy provided by Roomle
|
|
27
|
+
* uncomment the next three lines and comment the line
|
|
28
|
+
* which has the Roomle proxy URL in it.
|
|
29
|
+
* BE AWARE: That the example url dfteccdeveu01-app.azurewebsites.net
|
|
30
|
+
* only works if you requesting from localhost:3100 otherwise you
|
|
31
|
+
* will have CORS issues
|
|
32
|
+
*/
|
|
33
|
+
/** comment this line if you do not want to use the Roomle proxy */
|
|
34
|
+
baseUrl: string;
|
|
35
|
+
om: {
|
|
36
|
+
subscriptionId: string;
|
|
37
|
+
key: string;
|
|
38
|
+
importBaseUrl: string;
|
|
39
|
+
};
|
|
40
|
+
libraryId: string;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
export default _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RoomDesignerApiType } from './overlay';
|
|
2
|
+
|
|
3
|
+
export declare const GROUP_SELECTION_STR = "Group selection";
|
|
4
|
+
export declare const getOverlayDomElement: () => HTMLElement;
|
|
5
|
+
export declare const positionOverlay: (roomDesignerApi: RoomDesignerApiType) => Promise<void>;
|
|
6
|
+
export declare const showOverlay: () => void;
|
|
7
|
+
export declare const hideOverlay: () => void;
|
|
8
|
+
export declare const addShadow: (roomDesignerApi: RoomDesignerApiType) => Promise<void>;
|
|
9
|
+
export declare const removeShadow: () => void;
|
|
10
|
+
export declare const currentSelectionType: (selectionPayload: any) => "Group selection" | "Unknown selection type" | "Root module selection" | "Sub module selection";
|
|
11
|
+
export declare const showItemSelectionWarning: (roomDesignerApi: RoomDesignerApiType) => Promise<void>;
|
|
12
|
+
export declare const showCustomItemSelectionView: (state: any, roomDesignerApi: RoomDesignerApiType) => Promise<void>;
|
|
13
|
+
export declare const showCustomCatalogView: (roomDesignerApi: RoomDesignerApiType) => Promise<void>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const state: {
|
|
2
|
+
selection: {
|
|
3
|
+
type: any;
|
|
4
|
+
payload: any;
|
|
5
|
+
parameters: any[];
|
|
6
|
+
};
|
|
7
|
+
currentContext: string;
|
|
8
|
+
currentCustomView: any;
|
|
9
|
+
currentSidebar: any;
|
|
10
|
+
abortController: AbortController;
|
|
11
|
+
isBuildingCatalog: any;
|
|
12
|
+
waitForCatalog: () => Promise<void>;
|
|
13
|
+
};
|
|
14
|
+
export declare const resetSelectionState: () => void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const fetchJSONData: (url: string) => Promise<any>;
|
|
2
|
+
export declare const fetchDataWithAuthorization: (url: string, type: string, property: string) => Promise<Response>;
|
|
3
|
+
export declare const logMessage: (message: string, ...args: (string | null)[]) => void;
|
|
4
|
+
export declare const logApiCall: (message: string) => void;
|
|
5
|
+
export declare const logApiCallback: (message: string, ...args: (string | null)[]) => void;
|
|
6
|
+
export declare const logLink: (message: string, linkUrl: string) => void;
|
|
7
|
+
export declare class RenderQueue {
|
|
8
|
+
reRenders: number;
|
|
9
|
+
queue: Array<{
|
|
10
|
+
renderFn: any;
|
|
11
|
+
resolve: any;
|
|
12
|
+
reject: any;
|
|
13
|
+
}>;
|
|
14
|
+
isProcessing: boolean;
|
|
15
|
+
constructor();
|
|
16
|
+
enqueue(renderFn: any): Promise<unknown>;
|
|
17
|
+
processQueue(): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
export declare const getQueryParam: (key: string, url?: string) => string;
|
|
@@ -86,7 +86,7 @@ export default abstract class Main implements LifeCycleCallbacks {
|
|
|
86
86
|
protected abstract setupDependencies(): void;
|
|
87
87
|
protected abstract cleanUpGlobals(): void;
|
|
88
88
|
protected abstract cleanUpDependencies(): void;
|
|
89
|
-
protected abstract bootFinished(): void
|
|
89
|
+
protected abstract bootFinished(): Promise<void>;
|
|
90
90
|
protected abstract getContextName(): string;
|
|
91
91
|
abstract getApi(): ExternalEmbeddable;
|
|
92
92
|
constructor(creator?: string);
|
|
@@ -94,7 +94,7 @@ export default abstract class Main implements LifeCycleCallbacks {
|
|
|
94
94
|
private _setupCommonDependencies;
|
|
95
95
|
private _cleanUpCommonGlobals;
|
|
96
96
|
private _cleanUpCommonDependencies;
|
|
97
|
-
boot(settings?: object): void
|
|
97
|
+
boot(settings?: object): Promise<void>;
|
|
98
98
|
protected lookup<T>(specifier: string, context?: string): T;
|
|
99
99
|
teardown(): void;
|
|
100
100
|
pause(): void;
|
|
@@ -9,6 +9,7 @@ import { CustomShadingParameters, SceneShadingType } from '../webgl/renderer/sha
|
|
|
9
9
|
import { RapiId } from '../../../typings/rapi-types';
|
|
10
10
|
import { CanvasOffset } from '../common-interfaces';
|
|
11
11
|
import { ExternalObjectApiConfiguration } from '../../../planner-core/src/external-object-api';
|
|
12
|
+
import { HomagIntelligenceInitData } from '../../../homag-intelligence/src/loader';
|
|
12
13
|
|
|
13
14
|
export declare const DEFAULT_ENV_MAP_INTENSITY = 1.5;
|
|
14
15
|
export declare const DEFAULT_ENV_MAP_ROTATION = 0;
|
|
@@ -49,6 +50,7 @@ export default class InitData implements Context, Omit<InitDataDefinition, 'colo
|
|
|
49
50
|
customShading?: CustomShadingParameters;
|
|
50
51
|
customShadingMoc?: CustomShadingParameters;
|
|
51
52
|
restrictionLevel?: number;
|
|
53
|
+
hi?: HomagIntelligenceInitData;
|
|
52
54
|
offlineSync?: string;
|
|
53
55
|
highlighting?: Enumify<typeof ROOMLE_HIGHLIGHTNG>;
|
|
54
56
|
initialFloorMaterial?: string;
|
|
@@ -6,6 +6,7 @@ import { Enumify } from '../types';
|
|
|
6
6
|
import { DefaultEnvironmentSceneType } from '../webgl/renderer/environment-scene';
|
|
7
7
|
import { CustomShadingParameters, SceneShadingType } from '../webgl/renderer/shading-settings';
|
|
8
8
|
import { Color } from 'three';
|
|
9
|
+
import { HomagIntelligenceInitData } from '../../../homag-intelligence/src/loader';
|
|
9
10
|
|
|
10
11
|
export declare const enum WINDOW_EVENT {
|
|
11
12
|
RESIZE = "resize",
|
|
@@ -315,6 +316,11 @@ export interface CommonInitData {
|
|
|
315
316
|
* @description restrictionLevel defines visibility of parameters and possible children
|
|
316
317
|
*/
|
|
317
318
|
restrictionLevel?: number;
|
|
319
|
+
/**
|
|
320
|
+
* @description Settings for Homag Intelligence
|
|
321
|
+
* @internal
|
|
322
|
+
*/
|
|
323
|
+
hi?: HomagIntelligenceInitData;
|
|
318
324
|
}
|
|
319
325
|
export interface ConfiguratorInitData {
|
|
320
326
|
/**
|
|
@@ -9,6 +9,6 @@ export declare class Configurator extends Main {
|
|
|
9
9
|
protected cleanUpDependencies(): void;
|
|
10
10
|
protected setupGlobals(appState?: AppState): void;
|
|
11
11
|
getApi(): RoomleConfigurator;
|
|
12
|
-
protected bootFinished(): void
|
|
12
|
+
protected bootFinished(): Promise<void>;
|
|
13
13
|
protected getContextName(): string;
|
|
14
14
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare function cleanRapiUrl(url: string): string;
|
|
2
|
-
export declare const spyOnModuleMethod: (
|
|
3
|
-
export declare const makeModuleSpyable: (
|
|
2
|
+
export declare const spyOnModuleMethod: (vi: any, module: any, methodName: string) => any;
|
|
3
|
+
export declare const makeModuleSpyable: (vi: any, module: any) => any;
|
|
4
4
|
export declare const removePrivateProperties: (array: any[]) => any[];
|
|
@@ -7,7 +7,7 @@ export declare class GlbViewer extends Main {
|
|
|
7
7
|
protected setupDependencies(): void;
|
|
8
8
|
protected cleanUpGlobals(): void;
|
|
9
9
|
protected cleanUpDependencies(): void;
|
|
10
|
-
protected bootFinished(): void
|
|
10
|
+
protected bootFinished(): Promise<void>;
|
|
11
11
|
getApi(): RoomleGLBViewer;
|
|
12
12
|
protected getContextName(): string;
|
|
13
13
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { RoomDesignerRequests } from './emulator';
|
|
2
|
+
import { MasterData, PosGroup } from './model/oc-scripts-domain.model';
|
|
3
|
+
import { RoomlePlannerType } from '../../typings/external-objects';
|
|
4
|
+
|
|
5
|
+
export declare class RoomDesignerApi implements RoomDesignerRequests {
|
|
6
|
+
private _roomlePlanner;
|
|
7
|
+
constructor(roomlePlanner: RoomlePlannerType);
|
|
8
|
+
loadMasterData(masterData: MasterData): void;
|
|
9
|
+
loadPosGroups(posDataJson: PosGroup | PosGroup[], findFreeSpaceInPlan: boolean, verifyArrangement: boolean, mergedGroups?: string[]): Promise<void>;
|
|
10
|
+
selectGroup(groupId: string): Promise<void>;
|
|
11
|
+
selectRoot(rootModuleId: string): Promise<void>;
|
|
12
|
+
selectModule(rootModuleId: string, subModuleId: string): Promise<void>;
|
|
13
|
+
openCloseGroup(groupOrRootModuleId: string, subModuleId: string | null, open: boolean, animate: boolean): Promise<void>;
|
|
14
|
+
deleteGroup(groupId: string, wasMerged?: boolean): Promise<void>;
|
|
15
|
+
deleteRootModule(rootModuleId: string): Promise<void>;
|
|
16
|
+
getPosDataOfAllGroups(): Promise<PosGroup[]>;
|
|
17
|
+
generatePlanSnapshot(): Promise<void>;
|
|
18
|
+
saveExternalObjectSnapshot(): Promise<import('../../typings/rapi-types').RapiPlanSnapshotGetDataWith3dUrls>;
|
|
19
|
+
saveCurrentPlanSnapshot(): Promise<import('../../typings/rapi-types').RapiPlanSnapshotGetData>;
|
|
20
|
+
renderPosDataImage(posDataJson: object): Promise<void>;
|
|
21
|
+
downloadGlb(): Promise<void>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { GlueLogic } from './emulator';
|
|
2
|
+
import { default as RoomlePlanner } from '../../planner-core/src/roomle-planner';
|
|
3
|
+
|
|
4
|
+
export interface ExternalObjectSegment {
|
|
5
|
+
cmd: string;
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
type?: string;
|
|
9
|
+
angle?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface ExternalObjectContour {
|
|
12
|
+
level: number;
|
|
13
|
+
segments: ExternalObjectSegment[];
|
|
14
|
+
}
|
|
15
|
+
export interface ExternalObjectGroupPosition {
|
|
16
|
+
pos: number[];
|
|
17
|
+
rotationY?: number;
|
|
18
|
+
contours?: ExternalObjectContour[];
|
|
19
|
+
}
|
|
20
|
+
export interface ExternalObjectRootModule {
|
|
21
|
+
moduleId: string;
|
|
22
|
+
pos: number[];
|
|
23
|
+
rotationY?: number;
|
|
24
|
+
}
|
|
25
|
+
export interface ExternalObjectGroup {
|
|
26
|
+
groupId: string;
|
|
27
|
+
pos: number[];
|
|
28
|
+
rotationY?: number;
|
|
29
|
+
rootModules: ExternalObjectRootModule[];
|
|
30
|
+
contours?: ExternalObjectContour[];
|
|
31
|
+
}
|
|
32
|
+
export interface ExternalModuleInformation {
|
|
33
|
+
groupId: string;
|
|
34
|
+
rootModuleId: string;
|
|
35
|
+
subModuleId: string | null;
|
|
36
|
+
}
|
|
37
|
+
export declare const initCallbacks: (roomlePlanner: RoomlePlanner, gluLogic: GlueLogic) => void;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { ExternalModuleInformation, ExternalObjectGroup, ExternalObjectGroupPosition } from './callbacks';
|
|
2
|
+
import { MasterData, PosModuleAttribute, PosGroup, PosModuleData, PosModuleRootData } from './model/oc-scripts-domain.model';
|
|
3
|
+
|
|
4
|
+
export interface LibraryData {
|
|
5
|
+
get masterData(): MasterData | null;
|
|
6
|
+
get posGroupVersion(): number;
|
|
7
|
+
calculateGroup(posGroup: PosGroup): PosGroup;
|
|
8
|
+
getOrderData(posGroup: PosGroup[], roomlePlannerId?: string): PosGroup;
|
|
9
|
+
getAttributesDropDownValues(module: PosModuleRootData): Promise<any>;
|
|
10
|
+
solveModuleAttributeConflict(module: PosModuleData, attributeName: string, value: string | number | boolean): PosModuleAttribute[] | undefined;
|
|
11
|
+
}
|
|
12
|
+
export interface RoomDesignerRequests {
|
|
13
|
+
loadMasterData(masterData: MasterData): void;
|
|
14
|
+
loadPosGroups(posDataJson: PosGroup | PosGroup[], findFreeSpaceInPlan: boolean, verifyArrangement: boolean, mergedGroups?: string[]): Promise<void>;
|
|
15
|
+
selectGroup(groupId: string): Promise<void>;
|
|
16
|
+
selectRoot(rootModuleId: string): Promise<void>;
|
|
17
|
+
selectModule(rootModuleId: string, subModuleId: string): Promise<void>;
|
|
18
|
+
openCloseGroup(groupOrRootModuleId: string, subModuleId: string | null, open: boolean, animate: boolean): Promise<void>;
|
|
19
|
+
deleteGroup(groupId: string, wasMerged?: boolean): Promise<void>;
|
|
20
|
+
deleteRootModule(rootModuleId: string): Promise<void>;
|
|
21
|
+
getPosDataOfAllGroups(): Promise<PosGroup[]>;
|
|
22
|
+
generatePlanSnapshot(): Promise<void>;
|
|
23
|
+
saveExternalObjectSnapshot(): Promise<any>;
|
|
24
|
+
saveCurrentPlanSnapshot(): Promise<any>;
|
|
25
|
+
}
|
|
26
|
+
export interface GlueLogic {
|
|
27
|
+
mergeGroups(targetGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], idOfTargetRootModule: string): void;
|
|
28
|
+
deleteRootModule(remainingGroup: ExternalObjectGroup, rootModuleIdToDelete: string, splitOffGroups: ExternalObjectGroup[]): void;
|
|
29
|
+
splitRootModuleFromGroup(splitGroup: ExternalObjectGroup, newGroupedRootModules: ExternalObjectGroup[]): void;
|
|
30
|
+
duplicateGroup(sourceGroupId: string, newGroupPosition: ExternalObjectGroupPosition): void;
|
|
31
|
+
modifyAttribute(groupId: string, moduleIdObjects: ExternalModuleInformation[], attributeName: string, value: string): void;
|
|
32
|
+
arrangeRootModulesOfGroup(changedGroup: ExternalObjectGroup): void;
|
|
33
|
+
changedGroupPlanningSituation(changedGroup: ExternalObjectGroup): void;
|
|
34
|
+
deleteGroup(groupId: string): Promise<void>;
|
|
35
|
+
changedGroup(posDataJson: PosGroup): void;
|
|
36
|
+
loadedGroup(posDataJson: PosGroup): void;
|
|
37
|
+
removedGroup(groupId: string): void;
|
|
38
|
+
openCloseGroup(groupId: string): void;
|
|
39
|
+
getGroupDataForOrder(roomlePlannerId?: string): Promise<any>;
|
|
40
|
+
savePlanSnapshot(): Promise<PlanSnapshot>;
|
|
41
|
+
}
|
|
42
|
+
interface PlanSnapshot {
|
|
43
|
+
id: string;
|
|
44
|
+
perspectiveImageLink: string;
|
|
45
|
+
topImageLink: string;
|
|
46
|
+
room3dLink: string;
|
|
47
|
+
room3dFullLink: string;
|
|
48
|
+
}
|
|
49
|
+
interface GroupItem {
|
|
50
|
+
posDataJson: PosGroup;
|
|
51
|
+
opened: boolean;
|
|
52
|
+
}
|
|
53
|
+
export declare class Emulator implements GlueLogic {
|
|
54
|
+
_designerRequests: RoomDesignerRequests;
|
|
55
|
+
_libraryData: LibraryData;
|
|
56
|
+
_posDataJsonMap: Map<string, any>;
|
|
57
|
+
_groupMap: Map<string, GroupItem>;
|
|
58
|
+
_nextPosDataId: number;
|
|
59
|
+
constructor(designerRequests: RoomDesignerRequests, libraryData: LibraryData);
|
|
60
|
+
loadPosData(articleCatalogJson: any, libraryId: string): void;
|
|
61
|
+
newPosDataFromId(id: string): any;
|
|
62
|
+
deleteGroup(groupId: string): Promise<void>;
|
|
63
|
+
selectGroup(groupId: string): Promise<void>;
|
|
64
|
+
selectCheckAttributes(root: PosModuleRootData): Promise<void>;
|
|
65
|
+
selectRoot(_groupId: any, rootId: string): Promise<void>;
|
|
66
|
+
deleteRoot(groupId: any, rootId: string): Promise<void>;
|
|
67
|
+
selectSubModule(groupId: any, rootId: string, moduleId: string): Promise<void>;
|
|
68
|
+
openCloseGroup(groupId: string): Promise<void>;
|
|
69
|
+
deleteRootModule(remainingGroup: ExternalObjectGroup, rootModuleIdToDelete: string, splitOffGroups: ExternalObjectGroup[]): void;
|
|
70
|
+
duplicateGroup(sourceGroupId: string, newGroupPosition: ExternalObjectGroupPosition): Promise<void>;
|
|
71
|
+
mergeGroups(targetGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], idOfTargetRootModule: string): void;
|
|
72
|
+
private _applyImplicitRelevantAttributes;
|
|
73
|
+
splitRootModuleFromGroup(splitGroup: ExternalObjectGroup, newGroupedRootModules: ExternalObjectGroup[]): void;
|
|
74
|
+
arrangeRootModulesOfGroup(changedGroup: ExternalObjectGroup): void;
|
|
75
|
+
removedGroup(groupId: string): void;
|
|
76
|
+
changedGroup(posDataJson: PosGroup): void;
|
|
77
|
+
changedGroupPlanningSituation(changedGroup: ExternalObjectGroup): void;
|
|
78
|
+
loadedGroup(posDataJson: PosGroup): void;
|
|
79
|
+
getGroupDataForOrder(roomlePlannerId?: string): Promise<PosGroup>;
|
|
80
|
+
private _setGroupContour;
|
|
81
|
+
private _setGroupPosition;
|
|
82
|
+
private _setRootModulesPosition;
|
|
83
|
+
private _loadPosData;
|
|
84
|
+
private _splitOffGroupsFromGroups;
|
|
85
|
+
private _splitOffRootModulesFromGroup;
|
|
86
|
+
private _calculateNewGroup;
|
|
87
|
+
private _calculate;
|
|
88
|
+
private _calculateAndUpdateGroupMap;
|
|
89
|
+
private _addNewGroup;
|
|
90
|
+
private _addGroupToMap;
|
|
91
|
+
updateAttribute(rootModuleId: string | undefined, moduleId: string, attributeId: string, attributeValue: string | boolean): Promise<void>;
|
|
92
|
+
modifyAttribute(groupId: string, moduleIdObjects: ExternalModuleInformation[], attributeName: string, value: string): void;
|
|
93
|
+
_modifyAttributeOfModules(emulatorGroupItem: GroupItem, moduleIds: string[] | string, attributeName: string, value: string | boolean): PosGroup;
|
|
94
|
+
private _setAttribute;
|
|
95
|
+
savePlanSnapshot(): Promise<PlanSnapshot>;
|
|
96
|
+
private _findModule;
|
|
97
|
+
private _replacesIDs;
|
|
98
|
+
private _replacesModuleIDs;
|
|
99
|
+
private _getNextID;
|
|
100
|
+
}
|
|
101
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { RmlPlugin } from './rml-plugin';
|
|
2
|
+
import { Emulator } from './emulator';
|
|
3
|
+
import { ApiOptions } from './loader';
|
|
4
|
+
import { MasterData } from './model/oc-scripts-domain.model';
|
|
5
|
+
import { default as RoomlePlanner } from '../../planner-core/src/roomle-planner';
|
|
6
|
+
|
|
7
|
+
export declare const HOMAG_INTELLIGENCE_ENDPOINT = "https://europe-west3-rml-showcases.cloudfunctions.net/proxy_request?url=";
|
|
8
|
+
export declare class HomagIntelligence extends RmlPlugin {
|
|
9
|
+
private _roomlePlanner;
|
|
10
|
+
private _api;
|
|
11
|
+
private _masterData;
|
|
12
|
+
private _emulator;
|
|
13
|
+
private _articles;
|
|
14
|
+
private _scriptLoaded;
|
|
15
|
+
private _hiLibraryLoaded;
|
|
16
|
+
private _orders;
|
|
17
|
+
constructor();
|
|
18
|
+
loadHiLibrary(libraryId: string, apiOptions: ApiOptions): Promise<{
|
|
19
|
+
articles: any;
|
|
20
|
+
masterData: MasterData;
|
|
21
|
+
calcScriptLoaded: boolean;
|
|
22
|
+
}>;
|
|
23
|
+
init(roomlePlanner: RoomlePlanner, libraryId: string, apiOptions: ApiOptions): Promise<this>;
|
|
24
|
+
private _loadMasterData;
|
|
25
|
+
getEmulator(): Emulator;
|
|
26
|
+
sendToOM(withPrice?: boolean): Promise<void>;
|
|
27
|
+
fetchPrice(planId?: string): Promise<any>;
|
|
28
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { MasterData } from './model/oc-scripts-domain.model';
|
|
2
|
+
|
|
3
|
+
export interface HomagIntelligenceInitData {
|
|
4
|
+
libraryId: string;
|
|
5
|
+
serverOptions: ApiOptions;
|
|
6
|
+
}
|
|
7
|
+
export interface OrderManagerOptions {
|
|
8
|
+
key?: string;
|
|
9
|
+
importBaseUrl?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface ApiOptions {
|
|
12
|
+
subscriptionId: string;
|
|
13
|
+
om?: OrderManagerOptions;
|
|
14
|
+
endpointUrl?: string;
|
|
15
|
+
localUrl?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare const fetchDataWithAuthorization: (url: string, type: 'json' | 'text', apiOptions: ApiOptions, debug?: {
|
|
18
|
+
property: string;
|
|
19
|
+
}) => Promise<Response>;
|
|
20
|
+
export declare const loadHiLibrary: (libraryId: string, apiOptions: ApiOptions) => Promise<{
|
|
21
|
+
articles: any;
|
|
22
|
+
masterData: MasterData;
|
|
23
|
+
calcScriptLoaded: boolean;
|
|
24
|
+
}>;
|