@colijnit/homedecorator 258.1.0 → 258.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/app/core/enum/icon.enum.d.ts +4 -0
  2. package/app/core/enum/message-type.enum.d.ts +2 -1
  3. package/app/core/interface/message-with-payload.interface.d.ts +1 -0
  4. package/app/core/model/homedecorator-settings-options.d.ts +4 -1
  5. package/app/core/model/homedecorator-settings.d.ts +4 -2
  6. package/app/core/service/3dm-api.d.ts +5 -2
  7. package/app/core/service/homedecorator-app-event.service.d.ts +1 -0
  8. package/app/core/service/homedecorator-connector-adapter.service.d.ts +9 -1
  9. package/app/core/service/homedecorator-connector.service.d.ts +15 -2
  10. package/app/core/service/utils.service.d.ts +1 -1
  11. package/app/core/utils/object.utils.d.ts +2 -0
  12. package/app/homedecorator.module.d.ts +2 -1
  13. package/app/plugins/core3d/service/wall-measurements.service.d.ts +2 -0
  14. package/app/plugins/lite-selector/lite-selector/component/answers-slideout/answers-slideout.component.scss +20 -0
  15. package/app/plugins/model-uploader/model-previewer/model-preview.component.d.ts +3 -0
  16. package/app/plugins/model-uploader/model-uploader.module.d.ts +2 -1
  17. package/app/plugins/product-catalog/product-catalog/product-catalog.component.d.ts +2 -0
  18. package/app/plugins/product-configurator/product-configurator-selector-list-of-values.component.scss +28 -0
  19. package/app/plugins/product-configurator/product-configurator-selector-option-button.component.d.ts +19 -0
  20. package/app/plugins/product-configurator/product-configurator-selector-option-button.component.scss +38 -0
  21. package/app/plugins/product-configurator/product-configurator-selector-option-dropdown.component.d.ts +20 -0
  22. package/app/plugins/product-configurator/product-configurator-selector-option-dropdown.component.scss +0 -0
  23. package/app/plugins/product-configurator/product-configurator-selector-option-list-of-values.component.d.ts +19 -0
  24. package/app/plugins/product-configurator/product-configurator-selector-option-tile.component.scss +56 -0
  25. package/app/plugins/product-configurator/product-configurator-selector-option-tile.compontent.d.ts +20 -0
  26. package/app/plugins/product-configurator/product-configurator-selector.component.d.ts +26 -0
  27. package/app/plugins/product-configurator/product-configurator-selector.component.scss +46 -0
  28. package/app/plugins/product-configurator/product-configurator.component.d.ts +38 -0
  29. package/app/plugins/product-configurator/product-configurator.component.scss +35 -0
  30. package/app/plugins/product-configurator/product-configurator.module.d.ts +18 -0
  31. package/app/plugins/product-configurator/template_variables.scss +13 -0
  32. package/app/plugins/render/model/blender-render-settings.d.ts +10 -0
  33. package/app/plugins/render/model/blender-scene-settings.d.ts +18 -0
  34. package/app/plugins/render/render-controls/render-controls.component.d.ts +19 -7
  35. package/app/plugins/render/service/new-render.service.d.ts +22 -5
  36. package/app/plugins/render/service/render.service.d.ts +1 -1
  37. package/app/plugins/room-planner/components/floor-catalog/floor-catalog.component.scss +1 -1
  38. package/app/plugins/threedselector/element-buttons/element-buttons.component.scss +8 -5
  39. package/app/plugins/threedselector/element-toolbar/element-toolbar.component.scss +20 -3
  40. package/app/plugins/threedselector/threedselector/service/build-furniture.service.d.ts +5 -0
  41. package/app/plugins/threedselector/threedselector/threedselector.component.d.ts +6 -0
  42. package/app/plugins/threedselector/threedselector/threedselector.component.scss +35 -0
  43. package/app/plugins/threedselector/threedselector.module.d.ts +2 -1
  44. package/app/plugins/toolbar/draw-dialog/draw-dialog.component.scss +1 -1
  45. package/app/shared/loader/bundle-loader.component.scss +60 -0
  46. package/app/shared/loader/loader.component.d.ts +6 -0
  47. package/app/shared/loader/loader.module.d.ts +8 -0
  48. package/assets/hdri/ground_MASK.jpg +0 -0
  49. package/assets/hdri/std_env_v2_A.hdr +0 -0
  50. package/assets/hdri/std_env_v2_B.hdr +0 -0
  51. package/assets/hdri/std_env_v2_C.hdr +0 -0
  52. package/assets/hdri/std_env_v2_D.hdr +0 -0
  53. package/assets/hdri/std_env_v2_E.hdr +46 -0
  54. package/assets/icons/add_light.svg +1 -0
  55. package/assets/icons/circle_regular.svg +0 -0
  56. package/assets/icons/plus_regular.svg +1 -0
  57. package/assets/icons/rotate_light.svg +1 -0
  58. package/bundles/colijnit-homedecorator.umd.js +2150 -847
  59. package/bundles/colijnit-homedecorator.umd.js.map +1 -1
  60. package/esm2015/app/app.version.js +3 -3
  61. package/esm2015/app/core/enum/icon.enum.js +5 -1
  62. package/esm2015/app/core/enum/message-type.enum.js +2 -1
  63. package/esm2015/app/core/interface/message-with-payload.interface.js +1 -1
  64. package/esm2015/app/core/model/homedecorator-settings-options.js +6 -3
  65. package/esm2015/app/core/model/homedecorator-settings.js +4 -2
  66. package/esm2015/app/core/model/icon.js +5 -1
  67. package/esm2015/app/core/service/3dm-api.js +52 -22
  68. package/esm2015/app/core/service/homedecorator-app-event.service.js +3 -2
  69. package/esm2015/app/core/service/homedecorator-connector-adapter.service.js +65 -7
  70. package/esm2015/app/core/service/homedecorator-connector.service.js +150 -6
  71. package/esm2015/app/core/service/homedecorator-settings.service.js +10 -3
  72. package/esm2015/app/core/service/utils.service.js +143 -98
  73. package/esm2015/app/core/utils/object.utils.js +13 -1
  74. package/esm2015/app/homedecorator.component.js +1 -2
  75. package/esm2015/app/homedecorator.module.js +8 -4
  76. package/esm2015/app/plugins/core3d/core3d/core3d.component.js +2 -2
  77. package/esm2015/app/plugins/core3d/service/ssr.service.js +3 -3
  78. package/esm2015/app/plugins/core3d/service/wall-measurements.service.js +7 -1
  79. package/esm2015/app/plugins/lite-selector/lite-selector/component/answers-slideout/answers-slideout.component.js +2 -2
  80. package/esm2015/app/plugins/model-uploader/model-previewer/model-preview.component.js +113 -55
  81. package/esm2015/app/plugins/model-uploader/model-uploader/model-uploader.component.js +4 -4
  82. package/esm2015/app/plugins/model-uploader/model-uploader.module.js +8 -4
  83. package/esm2015/app/plugins/product-catalog/product-catalog/product-catalog.component.js +24 -12
  84. package/esm2015/app/plugins/product-configurator/product-configurator-selector-option-button.component.js +67 -0
  85. package/esm2015/app/plugins/product-configurator/product-configurator-selector-option-dropdown.component.js +57 -0
  86. package/esm2015/app/plugins/product-configurator/product-configurator-selector-option-list-of-values.component.js +75 -0
  87. package/esm2015/app/plugins/product-configurator/product-configurator-selector-option-tile.compontent.js +90 -0
  88. package/esm2015/app/plugins/product-configurator/product-configurator-selector.component.js +253 -0
  89. package/esm2015/app/plugins/product-configurator/product-configurator.component.js +151 -0
  90. package/esm2015/app/plugins/product-configurator/product-configurator.module.js +115 -0
  91. package/esm2015/app/plugins/render/model/blender-render-settings.js +3 -0
  92. package/esm2015/app/plugins/render/model/blender-scene-settings.js +10 -0
  93. package/esm2015/app/plugins/render/model/render-parameters.js +3 -3
  94. package/esm2015/app/plugins/render/render-controls/render-controls.component.js +529 -440
  95. package/esm2015/app/plugins/render/render-dialog/render-dialog.component.js +7 -41
  96. package/esm2015/app/plugins/render/service/new-render.service.js +213 -54
  97. package/esm2015/app/plugins/render/service/render.service.js +7 -10
  98. package/esm2015/app/plugins/room-planner/components/floor-catalog/floor-catalog.component.js +1 -1
  99. package/esm2015/app/plugins/room-planner/components/texture-picker/texture-picker.component.js +1 -1
  100. package/esm2015/app/plugins/room-planner/room-planner/room-planner.component.js +12 -10
  101. package/esm2015/app/plugins/threedselector/element-buttons/element-buttons.component.js +2 -2
  102. package/esm2015/app/plugins/threedselector/element-toolbar/element-toolbar.component.js +2 -2
  103. package/esm2015/app/plugins/threedselector/threedselector/service/build-furniture.service.js +55 -1
  104. package/esm2015/app/plugins/threedselector/threedselector/service/load-furniture.service.js +3 -3
  105. package/esm2015/app/plugins/threedselector/threedselector/service/variation-cache.service.js +4 -1
  106. package/esm2015/app/plugins/threedselector/threedselector/threedselector.component.js +68 -15
  107. package/esm2015/app/plugins/threedselector/threedselector/utils/asset.utils.js +1 -1
  108. package/esm2015/app/plugins/threedselector/threedselector.module.js +8 -4
  109. package/esm2015/app/plugins/toolbar/draw-dialog/draw-dialog.component.js +1 -1
  110. package/esm2015/app/shared/category-library/category-library.component.js +1 -1
  111. package/esm2015/app/shared/loader/loader.component.js +23 -0
  112. package/esm2015/app/shared/loader/loader.module.js +29 -0
  113. package/fesm2015/colijnit-homedecorator.js +2660 -1157
  114. package/fesm2015/colijnit-homedecorator.js.map +1 -1
  115. package/package.json +4 -4
  116. package/styles.scss +1 -1
@@ -1,6 +1,7 @@
1
1
  /** AUTO GENERATED FILE. DO NOT CHANGE.. **/
2
2
  export declare enum IconEnum {
3
3
  AddButton = "add-button",
4
+ AddLight = "add_light",
4
5
  Aperture = "aperture",
5
6
  ArrowUpRightAndArrowDownLeftFromCenter = "arrow-up-right-and-arrow-down-left-from-center",
6
7
  ArrowsLeftRight = "arrows-left-right",
@@ -25,6 +26,7 @@ export declare enum IconEnum {
25
26
  CircleMinusLight = "circle_minus_light",
26
27
  CirclePlusLight = "circle_plus_light",
27
28
  CircleQuestion = "circle_question",
29
+ CircleRegular = "circle_regular",
28
30
  CircleXmark = "circle_xmark",
29
31
  CitPoweredWhite = "cit_powered_white",
30
32
  CloudArrowDown = "cloud_arrow_down",
@@ -73,8 +75,10 @@ export declare enum IconEnum {
73
75
  PaintRollerLight = "paint_roller_light",
74
76
  PenRuler = "pen-ruler",
75
77
  PencilLight = "pencil_light",
78
+ PlusRegular = "plus_regular",
76
79
  Qrcode = "qrcode",
77
80
  RetryButton = "retry-button",
81
+ RotateLight = "rotate_light",
78
82
  Settings = "settings",
79
83
  StreetViewOrange = "street-view-orange",
80
84
  StreetView = "street_view",
@@ -74,5 +74,6 @@ export declare enum MessageType {
74
74
  FloorRebuild = "FloorRebuild",
75
75
  FloorPlaneAvailable = "FloorPlaneAvailable",
76
76
  RemoveAllItems = "RemoveAllItems",
77
- RemoveItem = "RemoveItem"
77
+ RemoveItem = "RemoveItem",
78
+ ChangeArticleConfigurationType = "ChangeArticleConfigurationType"
78
79
  }
@@ -87,4 +87,5 @@ export interface MessagesWithPayload {
87
87
  [MessageType.ShowFloorArticleCatalog]: any;
88
88
  [MessageType.BlenderRenderPreviewReady]: any;
89
89
  [MessageType.RemoveItem]: Item;
90
+ [MessageType.ChangeArticleConfigurationType]: boolean;
90
91
  }
@@ -39,7 +39,7 @@ export declare class HomedecoratorSettingsOptions {
39
39
  showFormDialog: boolean;
40
40
  showOnlyLastAnswerDescriptionGenericSelection: boolean;
41
41
  enable3DInPhoto: boolean;
42
- useNewRender: boolean;
42
+ createGlbStandalone: boolean;
43
43
  useRenderWebsocket: boolean;
44
44
  productRenderSceneAssetId: string;
45
45
  pathTracer: boolean;
@@ -49,4 +49,7 @@ export declare class HomedecoratorSettingsOptions {
49
49
  aaEnabled: boolean;
50
50
  useCanvasImage: boolean;
51
51
  useThumbnailImage: boolean;
52
+ showProgressBar: boolean;
53
+ showProgressText: boolean;
54
+ showSelectionLoader: boolean;
52
55
  }
@@ -2,6 +2,7 @@ import { HomedecoratorSettingsOptions } from './homedecorator-settings-options';
2
2
  import { GetArticlesForCatalogRequest } from '@colijnit/configuratorapi/build/model/get-articles-for-catalog';
3
3
  import { RenderParameters } from '../../plugins/render/model/render-parameters';
4
4
  import { ArParameters } from '../../plugins/core3d/model/ar-parameters';
5
+ import { BlenderSceneSettings } from '../../plugins/render/model/blender-scene-settings';
5
6
  export declare class HomedecoratorSettings {
6
7
  url: string;
7
8
  schema: string;
@@ -33,7 +34,6 @@ export declare class HomedecoratorSettings {
33
34
  options: HomedecoratorSettingsOptions;
34
35
  catalogParameters: GetArticlesForCatalogRequest;
35
36
  renderParameters: RenderParameters;
36
- newRenderParameters: RenderParameters;
37
37
  arParameters: ArParameters;
38
38
  faqUrl: string;
39
39
  feedbackUrl: string;
@@ -43,7 +43,7 @@ export declare class HomedecoratorSettings {
43
43
  sceneBackground: string;
44
44
  sceneBackgroundColor: string;
45
45
  standaloneSceneBackgroundColor: string;
46
- blenderRenderService: boolean;
46
+ blendFilesRender: boolean;
47
47
  renderApiClientId: string;
48
48
  uploadEndpoint: string;
49
49
  renderEndpoint: string;
@@ -55,4 +55,6 @@ export declare class HomedecoratorSettings {
55
55
  standAloneRoomplanner: boolean;
56
56
  projectSettings: HomedecoratorSettings;
57
57
  showFloorProductTab: boolean;
58
+ showAddToCart: boolean;
59
+ blenderSceneSettings: BlenderSceneSettings;
58
60
  }
@@ -61,7 +61,7 @@ declare enum OutputType {
61
61
  Glb = 2,
62
62
  Video = 3
63
63
  }
64
- declare enum RenderType {
64
+ export declare enum RenderType {
65
65
  Realtime = 0,
66
66
  Raytrace = 1
67
67
  }
@@ -75,6 +75,10 @@ export declare class ApiServiceModule {
75
75
  constructor(iOneControllerService: HomedecoratorConnectorService, messageService: MessageBusService, _http: HttpClient, _settingsService: HomedecoratorSettingsService, _dialog: MatDialog, _configurationService: ConfigurationService);
76
76
  uploadToApiGLB(formData: FormData, filename: string, camera: PerspectiveCamera, standalone: boolean, renderParameters: any, renderPreview: boolean): Promise<void>;
77
77
  requestRender(filename: string, camera: PerspectiveCamera, standalone: boolean, renderParameters: any, renderPreview: boolean): Promise<any>;
78
+ getCameraProperties(camera: PerspectiveCamera): any;
79
+ getRenderFromJson(requestData: any): Promise<void>;
80
+ degreesToVector3(value: number): Vector3;
81
+ private _sendJsonRequest;
78
82
  private _sendRequest;
79
83
  private _setOptions;
80
84
  private _createRenderRequestBody;
@@ -89,7 +93,6 @@ export declare class ApiServiceModule {
89
93
  private _cameraProductSettings;
90
94
  private _getSceneBasedLights;
91
95
  private _shortenValue;
92
- private _degreesToVector3;
93
96
  static ɵfac: i0.ɵɵFactoryDeclaration<ApiServiceModule, never>;
94
97
  static ɵprov: i0.ɵɵInjectableDeclaration<ApiServiceModule>;
95
98
  }
@@ -20,6 +20,7 @@ export declare class HomedecoratorAppEventService {
20
20
  quantity: number;
21
21
  }>;
22
22
  addExternalSourceToCart: Subject<ExternalSourceArticleAddInterface>;
23
+ glbCreated: Subject<string>;
23
24
  dirty: Subject<boolean>;
24
25
  static ɵfac: i0.ɵɵFactoryDeclaration<HomedecoratorAppEventService, never>;
25
26
  static ɵprov: i0.ɵɵInjectableDeclaration<HomedecoratorAppEventService>;
@@ -29,6 +29,7 @@ import { ObjectConfiguration } from '@colijnit/ioneconnector/build/model/object-
29
29
  import { ArticleExtended } from '@colijnit/articleapi/build/model/article-extended.bo';
30
30
  import { Metadata } from '../../plugins/core3d/items/metadata';
31
31
  import { HomedecoratorSettings } from '../model/homedecorator-settings';
32
+ import { SelectorStructure } from '@colijnit/configuratorapi/build/model/selector-structure.bo';
32
33
  import * as i0 from "@angular/core";
33
34
  export declare class ExternalConnector {
34
35
  loginResponse: LoginResponse;
@@ -44,6 +45,9 @@ export declare class HomedecoratorConnectorAdapterService {
44
45
  readonly questionReceived: Subject<Question>;
45
46
  readonly showLoader: Subject<boolean>;
46
47
  readonly connectionReset: Subject<void>;
48
+ mainUrl: string;
49
+ mainSchema: string;
50
+ mainVersion: string;
47
51
  private _publicationCodeForUserRole;
48
52
  get connector(): Configurator;
49
53
  get articleApi(): Articles;
@@ -76,13 +80,17 @@ export declare class HomedecoratorConnectorAdapterService {
76
80
  getSelectionsAsync(): Promise<Selection[]>;
77
81
  getDecosAsync(): Promise<DecoNode[]>;
78
82
  getAnswerPrices(): Promise<AnswerPrice[]>;
79
- getJsonConfiguredArticles(goodId: number, goodType: string, quantity: number, externalSource?: boolean, showLoader?: boolean, instanceId?: number, configuratorStatistics?: ConfiguratorStatisticsEnvironment): Promise<string>;
83
+ getJsonConfiguredArticles(goodId: number, goodType: string, quantity: number, externalSource?: boolean, showLoader?: boolean, instanceId?: string, configuratorStatistics?: ConfiguratorStatisticsEnvironment): Promise<string>;
80
84
  setInstanceToConfigure(id: string): Promise<DataServiceResponseData>;
81
85
  selectAnswer(answer: Answer, userInput?: string): Promise<DataServiceResponseData>;
82
86
  cancelAnswer(getAnswersAndQuestion?: boolean): Promise<DataServiceResponseData>;
87
+ selectAnswerBySelection(selection: Selection, userInput?: string): Promise<DataServiceResponseData>;
83
88
  selectSelection(selection: Selection, forceBackToNode?: boolean, after?: boolean, connector?: string): Promise<DataServiceResponseData>;
84
89
  deleteSelection(selection: Selection): Promise<DataServiceResponseData>;
85
90
  replaceSelection(selection: Selection): Promise<DataServiceResponseData>;
91
+ getSelectorStructure(showLoader?: boolean): Promise<DataServiceResponseData>;
92
+ navigateTo(chosenOption: SelectorStructure, showLoader?: boolean): Promise<DataServiceResponseData>;
93
+ getImageForSelectorStructure(option: SelectorStructure, publication: number, thumbNail?: boolean, showLoader?: boolean): Promise<string>;
86
94
  getImageForAnswerOrSelection(answerOrSelection: Answer | Selection, publication: number, thumbNail?: boolean, showLoader?: boolean): Promise<string>;
87
95
  getSkipButtonImageAndText(goodId?: number): Promise<SkipButtonInfo>;
88
96
  getMoodImageForAnswerSelection(answerOrSelection: Answer | Selection, thumbNail?: boolean): Promise<string>;
@@ -19,6 +19,8 @@ import { HomedecoratorSettingsService } from './homedecorator-settings.service';
19
19
  import { HomedecoratorAppEventService } from './homedecorator-app-event.service';
20
20
  import { GoogleTagManagerService } from '../../service/google-tag-manager.service';
21
21
  import { Question } from '@colijnit/configuratorapi/build/model/question';
22
+ import { SelectorStructure } from '@colijnit/configuratorapi/build/model/selector-structure.bo';
23
+ import { SelectorWithOptions } from '@colijnit/configuratorapi/build/model/selector-with-options';
22
24
  import * as i0 from "@angular/core";
23
25
  export declare class HomedecoratorConnectorService implements OnDestroy {
24
26
  private _connector;
@@ -32,6 +34,10 @@ export declare class HomedecoratorConnectorService implements OnDestroy {
32
34
  get decoNodes(): DecoNode[];
33
35
  set selections(value: Selection[]);
34
36
  get selections(): Selection[];
37
+ set selectionWithAnswers(value: SelectorWithOptions[]);
38
+ get selectionWithAnswers(): SelectorWithOptions[];
39
+ set selectedAnswers(value: SelectorWithOptions[]);
40
+ get selectedAnswers(): SelectorWithOptions[];
35
41
  get currentSelections(): Selection[];
36
42
  get activeSelection(): Selection;
37
43
  get totalPrice(): number;
@@ -63,6 +69,8 @@ export declare class HomedecoratorConnectorService implements OnDestroy {
63
69
  private _initializing;
64
70
  private _initialized;
65
71
  private _imageCache;
72
+ private _selectionWithAnswers;
73
+ private _selectedAnswers;
66
74
  constructor(_connector: HomedecoratorConnectorAdapterService, _jsonUtils: JsonUtilsService, _settingsService: HomedecoratorSettingsService, _skipButtonInfoService: SkipButtonInfoService, _messageService: MessageBusService, _appEventService: HomedecoratorAppEventService, _googleTagManager: GoogleTagManagerService);
67
75
  ngOnDestroy(): void;
68
76
  getWebViewStartupInfo(request: ExternalCatalogStartupInfoRequest): Promise<ExternalCatalogStartupInfo>;
@@ -87,7 +95,7 @@ export declare class HomedecoratorConnectorService implements OnDestroy {
87
95
  afterLoadPreset(): Promise<void>;
88
96
  initConnection(forceReload?: boolean): Promise<void>;
89
97
  getInternalParameter(param: InternalParam): Promise<string>;
90
- getJsonConfiguredArticles(goodId: number, goodType: string, quantity: number, externalSource?: boolean, showLoader?: boolean, instanceId?: number, configuratorStatistics?: ConfiguratorStatisticsEnvironment): Promise<any>;
98
+ getJsonConfiguredArticles(goodId: number, goodType: string, quantity: number, externalSource?: boolean, showLoader?: boolean, instanceId?: string, configuratorStatistics?: ConfiguratorStatisticsEnvironment): Promise<any>;
91
99
  setInstance(id: string): Promise<DataServiceResponseData>;
92
100
  copyInstanceAndSaveOriginalConfiguration(instanceId: string, result: CustomFloorGroupResult): Promise<string>;
93
101
  copyInstanceAndLoseOriginalConfiguration(instanceId: string, result: CustomFloorGroupResult): Promise<string>;
@@ -98,6 +106,8 @@ export declare class HomedecoratorConnectorService implements OnDestroy {
98
106
  getSelectionsAsync(): Promise<void>;
99
107
  getDecosAsync(): Promise<void>;
100
108
  selectAnswer(answer: Answer, input?: string): Promise<DataServiceResponseData>;
109
+ selectAnswerBySelection(selection: Selection, input?: string): Promise<DataServiceResponseData>;
110
+ navigateTo(choseValue: SelectorStructure, showLoader?: boolean): Promise<DataServiceResponseData>;
101
111
  cancelAnswer(getAnswersAndQuestion?: boolean): Promise<DataServiceResponseData>;
102
112
  selectSelection(selection: Selection, forceBackToNode?: boolean, after?: boolean, connector?: string): Promise<DataServiceResponseData>;
103
113
  deleteSelection(selection: Selection): Promise<DataServiceResponseData>;
@@ -106,6 +116,7 @@ export declare class HomedecoratorConnectorService implements OnDestroy {
106
116
  extendWithAnswerTextAndImage(answer: Answer, showLoader?: boolean): Promise<void>;
107
117
  extendWithSelectionImage(selection: Selection, showLoader?: boolean): Promise<void>;
108
118
  isSelectionPublished(selection: Selection): boolean;
119
+ getImageForAnswer(selectedOption: SelectorStructure, showLoader?: boolean): Promise<void>;
109
120
  private _prepareSelections;
110
121
  private _prepareSelectionsToDisplay;
111
122
  private _prepareAnswersAndImages;
@@ -114,12 +125,13 @@ export declare class HomedecoratorConnectorService implements OnDestroy {
114
125
  private _isAllSelectionPublished;
115
126
  private _isAnswerPublished;
116
127
  private _preloadCachedImages;
117
- addToCart(goodId: number, goodType: string, quantity: number, instanceId: number, externalSource: boolean): Promise<string>;
128
+ addToCart(goodId: number, goodType: string, quantity: number, instanceId: string, externalSource: boolean): Promise<string>;
118
129
  handleAnswersReceived(answers: Answer[]): void;
119
130
  private _prepareSelectionsToDisplayImages;
120
131
  private _prepareSelectionsNextOptionValues;
121
132
  private _getPublicationCode;
122
133
  private _handleImageReceived;
134
+ private _handleImageReceivedForSelectorStructure;
123
135
  private _cacheImage;
124
136
  private _onAnswerInfoReceived;
125
137
  onShowLoaderChange(showLoader: boolean): void;
@@ -127,6 +139,7 @@ export declare class HomedecoratorConnectorService implements OnDestroy {
127
139
  private _handleInstanceResponse;
128
140
  private _loadPricesOfActiveAnswers;
129
141
  private _copyInstance;
142
+ private _createSelectorFullConfiguration;
130
143
  static ɵfac: i0.ɵɵFactoryDeclaration<HomedecoratorConnectorService, never>;
131
144
  static ɵprov: i0.ɵɵInjectableDeclaration<HomedecoratorConnectorService>;
132
145
  }
@@ -28,7 +28,7 @@ export declare class UtilsService implements OnDestroy {
28
28
  private _usdzExporter;
29
29
  private _gltfExporter;
30
30
  private _sceneRenderName;
31
- private _sceneRenderContents;
31
+ private _sceneCachedCulling;
32
32
  constructor(apiServiceModule: ApiServiceModule, messageService: MessageBusService, _settingsService: HomedecoratorSettingsService, _jsonUtilsService: JsonUtilsService, _progressService: ProgressService, _itemsService: ItemService, _sceneService: SceneService, _dialog: MatDialog, _cameraService: CameraService);
33
33
  ngOnDestroy(): void;
34
34
  readFileAsText(file: File): Promise<string>;
@@ -1,10 +1,12 @@
1
1
  import { BufferGeometry, Color, Group, Material, Object3D, Scene, Vector3 } from 'three';
2
2
  import { Selection } from '@colijnit/configuratorapi/build/model/selection';
3
3
  import { Item } from '../../plugins/core3d/items/item';
4
+ import { CustomObject3D } from '../../plugins/core3d/items/custom-objects';
4
5
  export declare class ObjectUtils {
5
6
  static CreateArrow(name: string, color: Color | number | string, length: number, direction: Vector3, headLength: number, headWidth: number, doubleArrow?: boolean): Group;
6
7
  static UpdateArrowLength(arrow: Group, length: number, direction: Vector3, headLength: number, headWidth: number, doubleArrow?: boolean): Group;
7
8
  static GetParentItem(element: any): Item;
9
+ static GetParentCustomObject(element: any): CustomObject3D;
8
10
  static GetDefaultMaterial(object: Object3D): Material;
9
11
  static SameMaterial(first: Material, second: Material): boolean;
10
12
  static GetChanges(firstItems: Object3D[], secondItems: Object3D[]): any;
@@ -11,10 +11,11 @@ import * as i8 from "./plugins/plugins.module";
11
11
  import * as i9 from "./shared/dialog/dialog.module";
12
12
  import * as i10 from "ngx-lightbox";
13
13
  import * as i11 from "@angular/cdk/a11y";
14
+ import * as i12 from "./plugins/product-configurator/product-configurator.module";
14
15
  export declare class HomedecoratorModule {
15
16
  private _injector;
16
17
  constructor(_injector: Injector);
17
18
  static ɵfac: i0.ɵɵFactoryDeclaration<HomedecoratorModule, never>;
18
- static ɵmod: i0.ɵɵNgModuleDeclaration<HomedecoratorModule, [typeof i1.HomedecoratorComponent], [typeof i2.CommonModule, typeof i3.ProgressBarModule, typeof i4.LoadingOverlayModule, typeof i5.HdLoaderModule, typeof i6.ExportDialogModule, typeof i7.InfoDialogModule, typeof i8.PluginsModule, typeof i9.DialogModule, typeof i10.LightboxModule, typeof i11.A11yModule], [typeof i1.HomedecoratorComponent]>;
19
+ static ɵmod: i0.ɵɵNgModuleDeclaration<HomedecoratorModule, [typeof i1.HomedecoratorComponent], [typeof i2.CommonModule, typeof i3.ProgressBarModule, typeof i4.LoadingOverlayModule, typeof i5.HdLoaderModule, typeof i6.ExportDialogModule, typeof i7.InfoDialogModule, typeof i8.PluginsModule, typeof i9.DialogModule, typeof i10.LightboxModule, typeof i11.A11yModule, typeof i12.ProductConfiguratorModule], [typeof i1.HomedecoratorComponent]>;
19
20
  static ɵinj: i0.ɵɵInjectorDeclaration<HomedecoratorModule>;
20
21
  }
@@ -15,6 +15,8 @@ export declare class WallMeasurementsService implements OnDestroy {
15
15
  private _subs;
16
16
  constructor(_floorplanService: FloorplanService, _viewModeService: ViewModeService, _sceneService: SceneService, _configurationService: ConfigurationService, _fontService: FontService);
17
17
  ngOnDestroy(): void;
18
+ prepMeasurementsForRender(): void;
19
+ restoreMeasurementsAfterRender(): void;
18
20
  private _showMeasurements;
19
21
  private _removeMeasurements;
20
22
  private _makeMeasurements;
@@ -4,6 +4,26 @@ co-slideout {
4
4
  }
5
5
 
6
6
  :host {
7
+ &.custom-dimensions {
8
+ co-slideout {
9
+ width: 640px;
10
+ max-width: 100%;
11
+ height: 100%;
12
+ padding: 30px;
13
+ box-sizing: border-box;
14
+ h4 {
15
+ margin: 10px 0;
16
+ }
17
+ .title {
18
+ .options-search {
19
+ margin: 0 0 10px 0;
20
+ }
21
+ }
22
+ .filter {
23
+ margin: 0 0 15px 0;
24
+ }
25
+ }
26
+ }
7
27
  &.bottom-align:not(.custom-dimensions) {
8
28
  co-slideout {
9
29
  width: 100%;
@@ -60,6 +60,7 @@ export declare class ModelPreviewComponent implements OnInit, OnDestroy {
60
60
  canvReference: HTMLElement;
61
61
  hasErrors: boolean;
62
62
  listOfErrors: any[];
63
+ showLoader: boolean;
63
64
  private _measurements;
64
65
  protected readonly icon: typeof IconEnum;
65
66
  ngOnInit(): void;
@@ -92,12 +93,14 @@ export declare class ModelPreviewComponent implements OnInit, OnDestroy {
92
93
  private _addFromGeometry;
93
94
  private _prepModelForScene;
94
95
  private _getBoundingBox;
96
+ private _applyTransforms;
95
97
  private _setMeasurements;
96
98
  private _create3DText;
97
99
  private _blobToArrayBuffer;
98
100
  private _createLightFromProperties;
99
101
  private _setObjectProperties;
100
102
  private _validateObjectStructure;
103
+ private _validateMaterial;
101
104
  static ɵfac: i0.ɵɵFactoryDeclaration<ModelPreviewComponent, never>;
102
105
  static ɵcmp: i0.ɵɵComponentDeclaration<ModelPreviewComponent, "rp-model-preview", never, {}, {}, never, never>;
103
106
  }
@@ -14,8 +14,9 @@ import * as i12 from "@angular/material/form-field";
14
14
  import * as i13 from "@angular/material/core";
15
15
  import * as i14 from "@angular/material/select";
16
16
  import * as i15 from "@angular/forms";
17
+ import * as i16 from "../../shared/loader/loader.module";
17
18
  export declare class ModelUploaderModule {
18
19
  static ɵfac: i0.ɵɵFactoryDeclaration<ModelUploaderModule, never>;
19
- static ɵmod: i0.ɵɵNgModuleDeclaration<ModelUploaderModule, [typeof i1.ModelUploaderComponent, typeof i2.ModelPreviewComponent], [typeof i3.CommonModule, typeof i4.CoreModule, typeof i5.MatIconModule, typeof i6.MatButtonModule, typeof i7.ButtonModule, typeof i8.ImageModule, typeof i9.CatalogExternalSourcesModule, typeof i9.CatalogExternalSourceModule, typeof i10.MatRadioModule, typeof i11.MatSlideToggleModule, typeof i12.MatFormFieldModule, typeof i13.MatOptionModule, typeof i14.MatSelectModule, typeof i7.IconModule, typeof i15.FormsModule], [typeof i1.ModelUploaderComponent]>;
20
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ModelUploaderModule, [typeof i1.ModelUploaderComponent, typeof i2.ModelPreviewComponent], [typeof i3.CommonModule, typeof i4.CoreModule, typeof i5.MatIconModule, typeof i6.MatButtonModule, typeof i7.ButtonModule, typeof i8.ImageModule, typeof i9.CatalogExternalSourcesModule, typeof i9.CatalogExternalSourceModule, typeof i10.MatRadioModule, typeof i11.MatSlideToggleModule, typeof i12.MatFormFieldModule, typeof i13.MatOptionModule, typeof i14.MatSelectModule, typeof i7.IconModule, typeof i15.FormsModule, typeof i16.LoaderModule], [typeof i1.ModelUploaderComponent]>;
20
21
  static ɵinj: i0.ɵɵInjectorDeclaration<ModelUploaderModule>;
21
22
  }
@@ -44,6 +44,7 @@ export declare class ProductCatalogComponent implements OnInit, OnDestroy {
44
44
  catalogInfo: ExternalCatalogStartupInfo;
45
45
  isHomedec: boolean;
46
46
  homeDecoHub: boolean;
47
+ hasExternalCatalogs: boolean;
47
48
  private _showCatalog;
48
49
  private _subs;
49
50
  private _source;
@@ -63,6 +64,7 @@ export declare class ProductCatalogComponent implements OnInit, OnDestroy {
63
64
  handleRefreshClick(event: MouseEvent): void;
64
65
  handleIFrameFeedback(jsonString: any): Promise<void>;
65
66
  iframeTest(): Promise<void>;
67
+ handleCatalogsLoaded(hasCatalogs: boolean): void;
66
68
  private _buildExternalCatalogRequest;
67
69
  private _handleShowProductCatalogMessageReceived;
68
70
  static ɵfac: i0.ɵɵFactoryDeclaration<ProductCatalogComponent, never>;
@@ -0,0 +1,28 @@
1
+ @import './template_variables';
2
+
3
+ .configurator-option-list-of-values-container {
4
+ display: flex;
5
+ align-items: center;
6
+ vertical-align: middle;
7
+ flex-direction: row;
8
+ position: relative;
9
+
10
+
11
+ .product-configurator-list-of-values-checkmark {
12
+ .product-configurator-list-of-values-select {
13
+ height: $small-icon-height;
14
+ width: $small-icon-width;
15
+ margin-right: 10px;
16
+ }
17
+ .product-configurator-list-of-values-selected {
18
+ fill: $checked-icon-color;
19
+ }
20
+ }
21
+
22
+ .product-configurator-selector-option-description {
23
+ text-align: left;
24
+ }
25
+
26
+ }
27
+
28
+
@@ -0,0 +1,19 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { HomedecoratorConnectorService } from '../../core/service/homedecorator-connector.service';
3
+ import { HomedecoratorSettingsService } from '../../core/service/homedecorator-settings.service';
4
+ import { IconEnum } from '../../core/enum/icon.enum';
5
+ import { HomedecoratorIconCacheService } from '../../core/service/homedecorator-icon-cache.service';
6
+ import { SelectorStructure } from '@colijnit/configuratorapi/build/model/selector-structure.bo';
7
+ import * as i0 from "@angular/core";
8
+ export declare class ProductConfiguratorSelectorOptionButtonComponent {
9
+ iOne: HomedecoratorConnectorService;
10
+ iconService: HomedecoratorIconCacheService;
11
+ settingsService: HomedecoratorSettingsService;
12
+ option: SelectorStructure;
13
+ selectionClicked: EventEmitter<void>;
14
+ readonly icons: typeof IconEnum;
15
+ constructor(iOne: HomedecoratorConnectorService, iconService: HomedecoratorIconCacheService, settingsService: HomedecoratorSettingsService);
16
+ changeSelection(): void;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductConfiguratorSelectorOptionButtonComponent, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<ProductConfiguratorSelectorOptionButtonComponent, "rp-product-configurator-selector-option-button", never, { "option": "option"; }, { "selectionClicked": "selectionClicked"; }, never, never>;
19
+ }
@@ -0,0 +1,38 @@
1
+ @import './template_variables';
2
+
3
+ .configurator-selector-option-button-container {
4
+ position: relative;
5
+
6
+ .product-configurator-selector-option-button-checkmark {
7
+ position: absolute;
8
+ top: 5px;
9
+ right: 5px;
10
+ fill: $checked-icon-color;
11
+ }
12
+
13
+ .product-configurator-selector-option-button-image {
14
+ min-width: 90px;
15
+ min-height: 60px;
16
+ border-radius: 5px;
17
+ display: flex;
18
+ justify-content: space-evenly;
19
+ align-items: center;
20
+
21
+ co-icon {
22
+
23
+ }
24
+
25
+ img {
26
+ display: block;
27
+ max-width: 100%;
28
+ border-radius: $default-border-radius;
29
+ max-height: max-content;
30
+ }
31
+ }
32
+
33
+ .product-configurator-selector-option-button-description {
34
+ text-align: center;
35
+ font-size: $font-size-small;
36
+ }
37
+ }
38
+
@@ -0,0 +1,20 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { HomedecoratorConnectorService } from '../../core/service/homedecorator-connector.service';
3
+ import { HomedecoratorSettingsService } from '../../core/service/homedecorator-settings.service';
4
+ import { IconEnum } from '../../core/enum/icon.enum';
5
+ import { HomedecoratorIconCacheService } from '../../core/service/homedecorator-icon-cache.service';
6
+ import { SelectorStructure } from '@colijnit/configuratorapi/build/model/selector-structure.bo';
7
+ import * as i0 from "@angular/core";
8
+ export declare class ProductConfiguratorSelectorOptionDropDownComponent {
9
+ iOne: HomedecoratorConnectorService;
10
+ iconService: HomedecoratorIconCacheService;
11
+ settingsService: HomedecoratorSettingsService;
12
+ options: SelectorStructure[];
13
+ tileClass: string;
14
+ selectionClicked: EventEmitter<SelectorStructure>;
15
+ readonly icons: typeof IconEnum;
16
+ constructor(iOne: HomedecoratorConnectorService, iconService: HomedecoratorIconCacheService, settingsService: HomedecoratorSettingsService);
17
+ onChange(event: Event): void;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductConfiguratorSelectorOptionDropDownComponent, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<ProductConfiguratorSelectorOptionDropDownComponent, "rp-product-configurator-selector-option-dropdown", never, { "options": "options"; "tileClass": "tileClass"; }, { "selectionClicked": "selectionClicked"; }, never, never>;
20
+ }
@@ -0,0 +1,19 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { HomedecoratorConnectorService } from '../../core/service/homedecorator-connector.service';
3
+ import { HomedecoratorSettingsService } from '../../core/service/homedecorator-settings.service';
4
+ import { IconEnum } from '../../core/enum/icon.enum';
5
+ import { HomedecoratorIconCacheService } from '../../core/service/homedecorator-icon-cache.service';
6
+ import { SelectorStructure } from '@colijnit/configuratorapi/build/model/selector-structure.bo';
7
+ import * as i0 from "@angular/core";
8
+ export declare class ProductConfiguratorOptionListOfValuesComponent {
9
+ iOne: HomedecoratorConnectorService;
10
+ iconService: HomedecoratorIconCacheService;
11
+ settingsService: HomedecoratorSettingsService;
12
+ option: SelectorStructure;
13
+ selectionClicked: EventEmitter<void>;
14
+ readonly icons: typeof IconEnum;
15
+ constructor(iOne: HomedecoratorConnectorService, iconService: HomedecoratorIconCacheService, settingsService: HomedecoratorSettingsService);
16
+ changeSelection(): void;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductConfiguratorOptionListOfValuesComponent, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<ProductConfiguratorOptionListOfValuesComponent, "rp-product-configurator-option-list-of-values", never, { "option": "option"; }, { "selectionClicked": "selectionClicked"; }, never, never>;
19
+ }
@@ -0,0 +1,56 @@
1
+ @import './template_variables';
2
+
3
+ .configurator-selector-option-tile-container {
4
+ position: relative;
5
+ .product-configurator-selector-option-tile-checkmark {
6
+ position: absolute;
7
+ top: 5px;
8
+ right: 5px;
9
+ fill: $checked-icon-color;
10
+ }
11
+
12
+ .product-configurator-selector-option-tile-image {
13
+ min-width: 90px;
14
+ min-height: 60px;
15
+ border-radius: 5px;
16
+ display: flex;
17
+ justify-content: space-evenly;
18
+ align-items: center;
19
+
20
+ img {
21
+ display: block;
22
+ max-width: 100%;
23
+ border-radius: $default-border-radius;
24
+ max-height: max-content;
25
+ }
26
+ }
27
+
28
+ .product-configurator-selector-option-tile-description {
29
+ text-align: center;
30
+ }
31
+ }
32
+
33
+ .configurator-selector-option-tile-container-small {
34
+
35
+ .product-configurator-selector-option-tile-image {
36
+ min-width: 55px;
37
+ min-height: 40px;
38
+ }
39
+
40
+ .product-configurator-selector-option-tile-description {
41
+ font-size: $font-size-small;
42
+ }
43
+
44
+ }
45
+
46
+ .configurator-selector-option-tile-container-large {
47
+
48
+ }
49
+
50
+ .configurator-selector-option-tile-container-rounded {
51
+
52
+ }
53
+
54
+ .configurator-selector-option-tile-container-horizontal {
55
+
56
+ }
@@ -0,0 +1,20 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { HomedecoratorConnectorService } from '../../core/service/homedecorator-connector.service';
3
+ import { HomedecoratorSettingsService } from '../../core/service/homedecorator-settings.service';
4
+ import { IconEnum } from '../../core/enum/icon.enum';
5
+ import { HomedecoratorIconCacheService } from '../../core/service/homedecorator-icon-cache.service';
6
+ import { SelectorStructure } from '@colijnit/configuratorapi/build/model/selector-structure.bo';
7
+ import * as i0 from "@angular/core";
8
+ export declare class ProductConfiguratorSelectorOptionTileComponent {
9
+ iOne: HomedecoratorConnectorService;
10
+ iconService: HomedecoratorIconCacheService;
11
+ settingsService: HomedecoratorSettingsService;
12
+ option: SelectorStructure;
13
+ tileClass: string;
14
+ selectionClicked: EventEmitter<void>;
15
+ readonly icons: typeof IconEnum;
16
+ constructor(iOne: HomedecoratorConnectorService, iconService: HomedecoratorIconCacheService, settingsService: HomedecoratorSettingsService);
17
+ changeSelection(): void;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductConfiguratorSelectorOptionTileComponent, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<ProductConfiguratorSelectorOptionTileComponent, "rp-product-configurator-selector-option-tile", never, { "option": "option"; "tileClass": "tileClass"; }, { "selectionClicked": "selectionClicked"; }, never, never>;
20
+ }
@@ -0,0 +1,26 @@
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { Answer } from '@colijnit/configuratorapi/build/model/answer';
3
+ import { HomedecoratorConnectorService } from '../../core/service/homedecorator-connector.service';
4
+ import { BuildFurnitureService } from '../threedselector/threedselector/service/build-furniture.service';
5
+ import { HomedecoratorSettingsService } from '../../core/service/homedecorator-settings.service';
6
+ import { SelectorStructure } from '@colijnit/configuratorapi/build/model/selector-structure.bo';
7
+ import { ConfigurationDisplayOption } from '@colijnit/configuratorapi/build/enum/refcode/configuration-display-option.enum';
8
+ import * as i0 from "@angular/core";
9
+ export declare class ProductConfiguratorSelectorComponent implements OnInit {
10
+ iOne: HomedecoratorConnectorService;
11
+ buildFurnitureService: BuildFurnitureService;
12
+ settingsService: HomedecoratorSettingsService;
13
+ private _settingsService;
14
+ constructor(iOne: HomedecoratorConnectorService, buildFurnitureService: BuildFurnitureService, settingsService: HomedecoratorSettingsService, _settingsService: HomedecoratorSettingsService);
15
+ selection: SelectorStructure;
16
+ answers: SelectorStructure[];
17
+ readonly showChange: EventEmitter<boolean>;
18
+ readonly answerChosen: EventEmitter<Answer>;
19
+ readonly selectSelection: EventEmitter<SelectorStructure>;
20
+ configurationDisplayOption: typeof ConfigurationDisplayOption;
21
+ selectionClass: string;
22
+ ngOnInit(): void;
23
+ selectionClicked(answer: SelectorStructure): void;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductConfiguratorSelectorComponent, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<ProductConfiguratorSelectorComponent, "rp-product-configurator-selector", never, { "selection": "selection"; "answers": "answers"; }, { "showChange": "showChange"; "answerChosen": "answerChosen"; "selectSelection": "selectSelection"; }, never, never>;
26
+ }