@colijnit/configurator 262.1.5 → 262.1.6
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.
|
@@ -2,9 +2,9 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { Injectable, EventEmitter, HostBinding, ViewEncapsulation, Component, Input, Output, HostListener, ViewChild, Directive, ElementRef, ViewChildren, TemplateRef, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
3
3
|
import * as i5 from '@angular/common';
|
|
4
4
|
import { CommonModule, AsyncPipe } from '@angular/common';
|
|
5
|
+
import { BehaviorSubject, Subject, combineLatest, debounceTime } from 'rxjs';
|
|
5
6
|
import * as THREE from 'three';
|
|
6
7
|
import { Color, WebGLRenderer, Box3, Vector3, Scene, PerspectiveCamera, MathUtils, AmbientLight, DirectionalLight, Group, Euler, Object3D, EventDispatcher, MeshBasicMaterial, Mesh, PlaneGeometry, DoubleSide, MeshStandardMaterial, CylinderGeometry, RingGeometry, Matrix4, Raycaster, BufferGeometry, Line, DataTexture, RGFormat, UnsignedByteType, LinearFilter, Shape, Vector2, SphereGeometry, SRGBColorSpace, PCFSoftShadowMap, ShadowMaterial, LightProbe, Texture as Texture$1, MeshPhongMaterial, NoToneMapping, TextureLoader, RGBAFormat, Quaternion, PointLight, BoxGeometry, BackSide, FrontSide, ShapeGeometry } from 'three';
|
|
7
|
-
import { BehaviorSubject, Subject, combineLatest } from 'rxjs';
|
|
8
8
|
import { HdecoPlacement } from '@colijnit/configuratorapi/build/enum/hdeco-placement.enum';
|
|
9
9
|
import * as i6 from '@colijnit/utilities';
|
|
10
10
|
import { ObjectUtils, MaterialUtils, DeviceUtils as DeviceUtils$1, DeviceTier as DeviceTier$1, TranslationModule, UtilitiesPipesModule } from '@colijnit/utilities';
|
|
@@ -56,12 +56,6 @@ import { GLTFExporter } from 'three/examples/jsm/exporters/GLTFExporter.js';
|
|
|
56
56
|
import { MatButtonModule } from '@angular/material/button';
|
|
57
57
|
import { MatIconModule } from '@angular/material/icon';
|
|
58
58
|
|
|
59
|
-
var ConfigurationTemplate;
|
|
60
|
-
(function (ConfigurationTemplate) {
|
|
61
|
-
ConfigurationTemplate["default"] = "default";
|
|
62
|
-
ConfigurationTemplate["showFullConfiguration"] = "showFullConfiguration";
|
|
63
|
-
})(ConfigurationTemplate || (ConfigurationTemplate = {}));
|
|
64
|
-
|
|
65
59
|
class ArParameters {
|
|
66
60
|
depthOcclusion = false;
|
|
67
61
|
depthHitTest = false;
|
|
@@ -144,6 +138,7 @@ class SettingOptions {
|
|
|
144
138
|
groupedShowAllBtn = false;
|
|
145
139
|
showSavePresetButton = false;
|
|
146
140
|
showLoadPresetButton = false;
|
|
141
|
+
showSceneBuildLoader = false;
|
|
147
142
|
}
|
|
148
143
|
|
|
149
144
|
class RenderParameters {
|
|
@@ -418,14 +413,13 @@ class ConfiguratorEventService {
|
|
|
418
413
|
buildStarted = new BehaviorSubject(false);
|
|
419
414
|
buildFinished = new BehaviorSubject(undefined);
|
|
420
415
|
addedToScene = new BehaviorSubject(undefined);
|
|
421
|
-
configurationTemplateChange = new BehaviorSubject(undefined);
|
|
422
416
|
articleNotFound = new BehaviorSubject(undefined);
|
|
423
417
|
selectionWithAnswersChanged = new BehaviorSubject(undefined);
|
|
424
418
|
glbCreated = new Subject();
|
|
425
419
|
showOutline = new Subject();
|
|
426
420
|
showErrorOutline = new Subject();
|
|
427
421
|
hideOutline = new Subject();
|
|
428
|
-
articleReceived = new
|
|
422
|
+
articleReceived = new BehaviorSubject(undefined);
|
|
429
423
|
selectionsReceived = new Subject();
|
|
430
424
|
answersReceived = new Subject();
|
|
431
425
|
extraAnswerDataLoaded = new Subject();
|
|
@@ -1036,11 +1030,11 @@ class ConfiguratorConnectorService {
|
|
|
1036
1030
|
selections = this._boFactory.makeBOArrayFromRawBackendDataArray(Selection, response.resultObjects);
|
|
1037
1031
|
}
|
|
1038
1032
|
if (this.article.showFullConfiguration) {
|
|
1039
|
-
this._appEventService.configurationTemplateChange.next(ConfigurationTemplate.showFullConfiguration);
|
|
1033
|
+
// this._appEventService.configurationTemplateChange.next(ConfigurationTemplate.showFullConfiguration);
|
|
1040
1034
|
await this._createSelectorFullConfiguration(selections);
|
|
1041
1035
|
}
|
|
1042
1036
|
else {
|
|
1043
|
-
this._appEventService.configurationTemplateChange.next(ConfigurationTemplate.default);
|
|
1037
|
+
// this._appEventService.configurationTemplateChange.next(ConfigurationTemplate.default);
|
|
1044
1038
|
this._prepareSelections(selections);
|
|
1045
1039
|
}
|
|
1046
1040
|
}
|
|
@@ -7079,7 +7073,8 @@ class ConfiguringService {
|
|
|
7079
7073
|
this._subs.push(combineLatest([
|
|
7080
7074
|
this._appEventService.skuSet,
|
|
7081
7075
|
this._appEventService.instanceIdSet
|
|
7082
|
-
]).
|
|
7076
|
+
]).pipe(debounceTime(0) // wait for events to finish, because skuSet and instanceIdSet events are emitted simultaneously
|
|
7077
|
+
).subscribe(([sku, instanceId]) => {
|
|
7083
7078
|
this.sku = sku;
|
|
7084
7079
|
if (this.sku) {
|
|
7085
7080
|
this.instanceId = undefined;
|
|
@@ -8597,6 +8592,7 @@ class AnswersSlideoutComponent {
|
|
|
8597
8592
|
// TODO change to input
|
|
8598
8593
|
valutaSymbol = '€';
|
|
8599
8594
|
hasInfoOpen = false;
|
|
8595
|
+
showTagFilter = false;
|
|
8600
8596
|
_openCount = 0;
|
|
8601
8597
|
_answers;
|
|
8602
8598
|
_subs = [];
|
|
@@ -8619,6 +8615,7 @@ class AnswersSlideoutComponent {
|
|
|
8619
8615
|
this.valutaSymbol = this.settingsService.settings.currencySymbol;
|
|
8620
8616
|
}
|
|
8621
8617
|
this.bottomAlign = this.settingsService.settings.options.bottomAnswers;
|
|
8618
|
+
this.showTagFilter = this.settingsService.settings.options.showTagFilter;
|
|
8622
8619
|
}
|
|
8623
8620
|
}));
|
|
8624
8621
|
}
|
|
@@ -8825,7 +8822,7 @@ class AnswersSlideoutComponent {
|
|
|
8825
8822
|
></co-color-filter>
|
|
8826
8823
|
}
|
|
8827
8824
|
</div>
|
|
8828
|
-
@if (
|
|
8825
|
+
@if (showTagFilter) {
|
|
8829
8826
|
<div class="filter">
|
|
8830
8827
|
@for (tag of tagArray; track tag) {
|
|
8831
8828
|
<co-tag-filter
|
|
@@ -8837,7 +8834,7 @@ class AnswersSlideoutComponent {
|
|
|
8837
8834
|
}
|
|
8838
8835
|
}
|
|
8839
8836
|
<div class="cards" visibilityObserverMaster>
|
|
8840
|
-
@for (answer of filteredAnswers; track answer) {
|
|
8837
|
+
@for (answer of filteredAnswers; track answer.id) {
|
|
8841
8838
|
@if (answer.isGroupHeader) {
|
|
8842
8839
|
<div class="group-header-wrapper">
|
|
8843
8840
|
<div class="group-header-title">
|
|
@@ -8973,7 +8970,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
8973
8970
|
></co-color-filter>
|
|
8974
8971
|
}
|
|
8975
8972
|
</div>
|
|
8976
|
-
@if (
|
|
8973
|
+
@if (showTagFilter) {
|
|
8977
8974
|
<div class="filter">
|
|
8978
8975
|
@for (tag of tagArray; track tag) {
|
|
8979
8976
|
<co-tag-filter
|
|
@@ -8985,7 +8982,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
8985
8982
|
}
|
|
8986
8983
|
}
|
|
8987
8984
|
<div class="cards" visibilityObserverMaster>
|
|
8988
|
-
@for (answer of filteredAnswers; track answer) {
|
|
8985
|
+
@for (answer of filteredAnswers; track answer.id) {
|
|
8989
8986
|
@if (answer.isGroupHeader) {
|
|
8990
8987
|
<div class="group-header-wrapper">
|
|
8991
8988
|
<div class="group-header-title">
|
|
@@ -9974,7 +9971,6 @@ class SelectionsSummaryComponent {
|
|
|
9974
9971
|
canClose = true;
|
|
9975
9972
|
answersTemplate;
|
|
9976
9973
|
answerToShowFromSelectionText;
|
|
9977
|
-
showSaveAndLoadConfiguration;
|
|
9978
9974
|
customDimensions = false;
|
|
9979
9975
|
disableMouse = false;
|
|
9980
9976
|
handledocumentMouseUp(event) {
|
|
@@ -10024,7 +10020,7 @@ class SelectionsSummaryComponent {
|
|
|
10024
10020
|
this.selectionToCustomize = sel;
|
|
10025
10021
|
}
|
|
10026
10022
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SelectionsSummaryComponent, deps: [{ token: ConfiguratorConnectorService }, { token: IconCacheService }], target: i0.ɵɵFactoryTarget.Component });
|
|
10027
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: SelectionsSummaryComponent, isStandalone: false, selector: "co-selections-summary", inputs: { selections: "selections", showLabel: "showLabel", canClose: "canClose", answersTemplate: "answersTemplate", answerToShowFromSelectionText: "answerToShowFromSelectionText",
|
|
10023
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: SelectionsSummaryComponent, isStandalone: false, selector: "co-selections-summary", inputs: { selections: "selections", showLabel: "showLabel", canClose: "canClose", answersTemplate: "answersTemplate", answerToShowFromSelectionText: "answerToShowFromSelectionText", customDimensions: "customDimensions" }, outputs: { closeClick: "closeClick", cancelAnswers: "cancelAnswers", selectSelection: "selectSelection", repeatSelection: "repeatSelection", deleteSelection: "deleteSelection" }, host: { listeners: { "document:mouseup": "handledocumentMouseUp($event)", "document:mousemove": "handleDocumentMouseDown($event)" }, properties: { "class.co-selections-summary": "this.showClass", "class.custom-dimensions": "this.customDimensions", "class.disable-mouse": "this.disableMouse" } }, ngImport: i0, template: `
|
|
10028
10024
|
@if (showLabel || canClose) {
|
|
10029
10025
|
<header class="drawer__header">
|
|
10030
10026
|
@if (showLabel) {
|
|
@@ -10039,7 +10035,7 @@ class SelectionsSummaryComponent {
|
|
|
10039
10035
|
}
|
|
10040
10036
|
@if (selections && selections.length > 0) {
|
|
10041
10037
|
<div class="selections-content small-scrollbar">
|
|
10042
|
-
@for (sel of selections; track sel; let index = $index) {
|
|
10038
|
+
@for (sel of selections; track sel.id; let index = $index) {
|
|
10043
10039
|
<co-selections-summary-line
|
|
10044
10040
|
[selection]="sel"
|
|
10045
10041
|
[answersTemplate]="answersTemplate ? answersTemplate : undefined"
|
|
@@ -10083,7 +10079,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
10083
10079
|
}
|
|
10084
10080
|
@if (selections && selections.length > 0) {
|
|
10085
10081
|
<div class="selections-content small-scrollbar">
|
|
10086
|
-
@for (sel of selections; track sel; let index = $index) {
|
|
10082
|
+
@for (sel of selections; track sel.id; let index = $index) {
|
|
10087
10083
|
<co-selections-summary-line
|
|
10088
10084
|
[selection]="sel"
|
|
10089
10085
|
[answersTemplate]="answersTemplate ? answersTemplate : undefined"
|
|
@@ -10123,8 +10119,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
10123
10119
|
type: Input
|
|
10124
10120
|
}], answerToShowFromSelectionText: [{
|
|
10125
10121
|
type: Input
|
|
10126
|
-
}], showSaveAndLoadConfiguration: [{
|
|
10127
|
-
type: Input
|
|
10128
10122
|
}], customDimensions: [{
|
|
10129
10123
|
type: HostBinding,
|
|
10130
10124
|
args: ['class.custom-dimensions']
|
|
@@ -10187,7 +10181,6 @@ class LiteSelectorComponent {
|
|
|
10187
10181
|
canClose = true;
|
|
10188
10182
|
animateSlideout = true;
|
|
10189
10183
|
customDimensions = false;
|
|
10190
|
-
showSaveAndLoadConfiguration;
|
|
10191
10184
|
showChange = new EventEmitter();
|
|
10192
10185
|
answerChosen = new EventEmitter();
|
|
10193
10186
|
answerToShowFromSelectionText;
|
|
@@ -10240,7 +10233,7 @@ class LiteSelectorComponent {
|
|
|
10240
10233
|
// this.iOne.getMoodImageForAnswerSelection(answerSelected.answer, false);
|
|
10241
10234
|
}
|
|
10242
10235
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: LiteSelectorComponent, deps: [{ token: SwitchBuildFurnitureService }, { token: ConfiguratorConnectorService }, { token: ConfiguringService }], target: i0.ɵɵFactoryTarget.Component });
|
|
10243
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: LiteSelectorComponent, isStandalone: false, selector: "co-lite-selector", inputs: { show: "show", showLabel: "showLabel", canClose: "canClose", animateSlideout: "animateSlideout", customDimensions: "customDimensions"
|
|
10236
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: LiteSelectorComponent, isStandalone: false, selector: "co-lite-selector", inputs: { show: "show", showLabel: "showLabel", canClose: "canClose", animateSlideout: "animateSlideout", customDimensions: "customDimensions" }, outputs: { showChange: "showChange", answerChosen: "answerChosen" }, host: { properties: { "class.co-lite-selector": "this.showClass", "class.custom-dimensions": "this.customDimensions" } }, viewQueries: [{ propertyName: "templateAnswers", first: true, predicate: ["templateAnswers"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `
|
|
10244
10237
|
<ng-container>
|
|
10245
10238
|
@if (configuratorConnectorService.selectionsToDisplay.length > 0) {
|
|
10246
10239
|
<co-selections-summary
|
|
@@ -10251,7 +10244,6 @@ class LiteSelectorComponent {
|
|
|
10251
10244
|
[answersTemplate]="inlineAnswers ? templateAnswers : undefined"
|
|
10252
10245
|
[answerToShowFromSelectionText]="answerToShowFromSelectionText"
|
|
10253
10246
|
[selections]="configuratorConnectorService.selectionsToDisplay"
|
|
10254
|
-
[showSaveAndLoadConfiguration]="showSaveAndLoadConfiguration"
|
|
10255
10247
|
(selectSelection)="onSelectionsSummarySelectSelection($event)"
|
|
10256
10248
|
(repeatSelection)="onSelectionsSummarySelectSelection($event, false, true)"
|
|
10257
10249
|
(deleteSelection)="onSelectionsSummaryDeleteSelection($event)"
|
|
@@ -10262,21 +10254,27 @@ class LiteSelectorComponent {
|
|
|
10262
10254
|
<ng-container [ngTemplateOutlet]="templateAnswers"></ng-container>
|
|
10263
10255
|
}
|
|
10264
10256
|
</ng-container>
|
|
10265
|
-
|
|
10257
|
+
|
|
10266
10258
|
<ng-template #templateAnswers>
|
|
10267
|
-
|
|
10268
|
-
|
|
10269
|
-
|
|
10270
|
-
|
|
10271
|
-
|
|
10272
|
-
|
|
10273
|
-
|
|
10274
|
-
|
|
10275
|
-
|
|
10276
|
-
|
|
10277
|
-
|
|
10259
|
+
@if (configuratorConnectorService.activeAnswers.length > 0) {
|
|
10260
|
+
<co-answers-slideout
|
|
10261
|
+
[showTitle]="!inlineAnswers"
|
|
10262
|
+
[showFilter]="!inlineAnswers"
|
|
10263
|
+
[useSlideout]="!inlineAnswers"
|
|
10264
|
+
[customDimensions]="customDimensions"
|
|
10265
|
+
[question]="configuratorConnectorService.activeQuestion"
|
|
10266
|
+
[answers]="configuratorConnectorService.activeAnswers"
|
|
10267
|
+
(answerChosen)="onAnswersSlideoutAnswerChosen($event)"
|
|
10268
|
+
></co-answers-slideout>
|
|
10269
|
+
}
|
|
10278
10270
|
</ng-template>
|
|
10279
|
-
|
|
10271
|
+
`, isInline: true, dependencies: [{ kind: "component", type: AnswersSlideoutComponent, selector: "co-answers-slideout", inputs: ["question", "showTitle", "showFilter", "answers", "useSlideout", "customDimensions"], outputs: ["answerChosen"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SelectionsSummaryComponent, selector: "co-selections-summary", inputs: ["selections", "showLabel", "canClose", "answersTemplate", "answerToShowFromSelectionText", "customDimensions"], outputs: ["closeClick", "cancelAnswers", "selectSelection", "repeatSelection", "deleteSelection"] }], animations: [
|
|
10272
|
+
trigger('showSelections', [
|
|
10273
|
+
state('void', style({ 'transform': 'translateX(100%)', opacity: 0 })),
|
|
10274
|
+
state('*', style({ 'transform': 'translateX(0%)', opacity: 1 })),
|
|
10275
|
+
transition('void <=> *', animate(200))
|
|
10276
|
+
])
|
|
10277
|
+
], encapsulation: i0.ViewEncapsulation.None });
|
|
10280
10278
|
}
|
|
10281
10279
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: LiteSelectorComponent, decorators: [{
|
|
10282
10280
|
type: Component,
|
|
@@ -10293,7 +10291,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
10293
10291
|
[answersTemplate]="inlineAnswers ? templateAnswers : undefined"
|
|
10294
10292
|
[answerToShowFromSelectionText]="answerToShowFromSelectionText"
|
|
10295
10293
|
[selections]="configuratorConnectorService.selectionsToDisplay"
|
|
10296
|
-
[showSaveAndLoadConfiguration]="showSaveAndLoadConfiguration"
|
|
10297
10294
|
(selectSelection)="onSelectionsSummarySelectSelection($event)"
|
|
10298
10295
|
(repeatSelection)="onSelectionsSummarySelectSelection($event, false, true)"
|
|
10299
10296
|
(deleteSelection)="onSelectionsSummaryDeleteSelection($event)"
|
|
@@ -10304,22 +10301,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
10304
10301
|
<ng-container [ngTemplateOutlet]="templateAnswers"></ng-container>
|
|
10305
10302
|
}
|
|
10306
10303
|
</ng-container>
|
|
10307
|
-
|
|
10304
|
+
|
|
10308
10305
|
<ng-template #templateAnswers>
|
|
10309
|
-
|
|
10310
|
-
|
|
10311
|
-
|
|
10312
|
-
|
|
10313
|
-
|
|
10314
|
-
|
|
10315
|
-
|
|
10316
|
-
|
|
10317
|
-
|
|
10318
|
-
|
|
10319
|
-
|
|
10306
|
+
@if (configuratorConnectorService.activeAnswers.length > 0) {
|
|
10307
|
+
<co-answers-slideout
|
|
10308
|
+
[showTitle]="!inlineAnswers"
|
|
10309
|
+
[showFilter]="!inlineAnswers"
|
|
10310
|
+
[useSlideout]="!inlineAnswers"
|
|
10311
|
+
[customDimensions]="customDimensions"
|
|
10312
|
+
[question]="configuratorConnectorService.activeQuestion"
|
|
10313
|
+
[answers]="configuratorConnectorService.activeAnswers"
|
|
10314
|
+
(answerChosen)="onAnswersSlideoutAnswerChosen($event)"
|
|
10315
|
+
></co-answers-slideout>
|
|
10316
|
+
}
|
|
10320
10317
|
</ng-template>
|
|
10321
|
-
|
|
10318
|
+
`,
|
|
10322
10319
|
encapsulation: ViewEncapsulation.None,
|
|
10320
|
+
animations: [
|
|
10321
|
+
trigger('showSelections', [
|
|
10322
|
+
state('void', style({ 'transform': 'translateX(100%)', opacity: 0 })),
|
|
10323
|
+
state('*', style({ 'transform': 'translateX(0%)', opacity: 1 })),
|
|
10324
|
+
transition('void <=> *', animate(200))
|
|
10325
|
+
])
|
|
10326
|
+
],
|
|
10323
10327
|
standalone: false
|
|
10324
10328
|
}]
|
|
10325
10329
|
}], ctorParameters: () => [{ type: SwitchBuildFurnitureService }, { type: ConfiguratorConnectorService }, { type: ConfiguringService }], propDecorators: { showClass: [{
|
|
@@ -10341,8 +10345,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
10341
10345
|
args: ['class.custom-dimensions']
|
|
10342
10346
|
}, {
|
|
10343
10347
|
type: Input
|
|
10344
|
-
}], showSaveAndLoadConfiguration: [{
|
|
10345
|
-
type: Input
|
|
10346
10348
|
}], showChange: [{
|
|
10347
10349
|
type: Output
|
|
10348
10350
|
}], answerChosen: [{
|
|
@@ -10670,7 +10672,7 @@ class ProductConfiguratorSelectorOptionDropDownComponent {
|
|
|
10670
10672
|
<div class="configurator-option-dropdown-container">
|
|
10671
10673
|
<div class="custom-select-wrapper">
|
|
10672
10674
|
<select class="option-dropdown-select" (change)="onChange($event)">
|
|
10673
|
-
@for (option of options; track option; let i = $index) {
|
|
10675
|
+
@for (option of options; track option.id; let i = $index) {
|
|
10674
10676
|
<option [value]="option" [selected]="option.selected === 'F'">
|
|
10675
10677
|
@if (option.nodeText) {
|
|
10676
10678
|
<p [textContent]="option.nodeText | localize:true | async"></p>
|
|
@@ -10696,7 +10698,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
10696
10698
|
<div class="configurator-option-dropdown-container">
|
|
10697
10699
|
<div class="custom-select-wrapper">
|
|
10698
10700
|
<select class="option-dropdown-select" (change)="onChange($event)">
|
|
10699
|
-
@for (option of options; track option; let i = $index) {
|
|
10701
|
+
@for (option of options; track option.id; let i = $index) {
|
|
10700
10702
|
<option [value]="option" [selected]="option.selected === 'F'">
|
|
10701
10703
|
@if (option.nodeText) {
|
|
10702
10704
|
<p [textContent]="option.nodeText | localize:true | async"></p>
|
|
@@ -10852,7 +10854,7 @@ class ProductConfiguratorSelectorOptionComponent {
|
|
|
10852
10854
|
@if (this.selection.displayOptionControl !== configurationDisplayOption.DropDown
|
|
10853
10855
|
&& !this.largeTileOptions.includes(this.selection.displayOptionControl)
|
|
10854
10856
|
&& !this.smallTileOptions.includes(this.selection.displayOptionControl)) {
|
|
10855
|
-
@for (child of listOfChoices; track child) {
|
|
10857
|
+
@for (child of listOfChoices; track child.id) {
|
|
10856
10858
|
<div class="selector-option-wrapper" [class.active]="child.selected ==='F'">
|
|
10857
10859
|
@if (this.selection.displayOptionControl === configurationDisplayOption.Button) {
|
|
10858
10860
|
<co-product-configurator-selector-option-button
|
|
@@ -10901,7 +10903,7 @@ class ProductConfiguratorSelectorOptionComponent {
|
|
|
10901
10903
|
@if (
|
|
10902
10904
|
this.largeTileOptions.includes(this.selection.displayOptionControl)
|
|
10903
10905
|
|| this.smallTileOptions.includes(this.selection.displayOptionControl)) {
|
|
10904
|
-
@for (child of visibleAnswers; track child) {
|
|
10906
|
+
@for (child of visibleAnswers; track child.id) {
|
|
10905
10907
|
<div class="selector-option-wrapper" [class.active]="child.selected ==='F'">
|
|
10906
10908
|
<co-product-configurator-selector-option-tile
|
|
10907
10909
|
[option]="child"
|
|
@@ -10957,7 +10959,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
10957
10959
|
@if (this.selection.displayOptionControl !== configurationDisplayOption.DropDown
|
|
10958
10960
|
&& !this.largeTileOptions.includes(this.selection.displayOptionControl)
|
|
10959
10961
|
&& !this.smallTileOptions.includes(this.selection.displayOptionControl)) {
|
|
10960
|
-
@for (child of listOfChoices; track child) {
|
|
10962
|
+
@for (child of listOfChoices; track child.id) {
|
|
10961
10963
|
<div class="selector-option-wrapper" [class.active]="child.selected ==='F'">
|
|
10962
10964
|
@if (this.selection.displayOptionControl === configurationDisplayOption.Button) {
|
|
10963
10965
|
<co-product-configurator-selector-option-button
|
|
@@ -11006,7 +11008,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
11006
11008
|
@if (
|
|
11007
11009
|
this.largeTileOptions.includes(this.selection.displayOptionControl)
|
|
11008
11010
|
|| this.smallTileOptions.includes(this.selection.displayOptionControl)) {
|
|
11009
|
-
@for (child of visibleAnswers; track child) {
|
|
11011
|
+
@for (child of visibleAnswers; track child.id) {
|
|
11010
11012
|
<div class="selector-option-wrapper" [class.active]="child.selected ==='F'">
|
|
11011
11013
|
<co-product-configurator-selector-option-tile
|
|
11012
11014
|
[option]="child"
|
|
@@ -11541,7 +11543,6 @@ class ProductConfiguratorComponent {
|
|
|
11541
11543
|
showLabel = true;
|
|
11542
11544
|
canClose = true;
|
|
11543
11545
|
customDimensions = false;
|
|
11544
|
-
showSaveAndLoadConfiguration;
|
|
11545
11546
|
showChange = new EventEmitter();
|
|
11546
11547
|
answerChosen = new EventEmitter();
|
|
11547
11548
|
valutaSymbol = '€'; // TODO this should be a setting
|
|
@@ -11569,7 +11570,11 @@ class ProductConfiguratorComponent {
|
|
|
11569
11570
|
if (selection) {
|
|
11570
11571
|
this.onSelectionsSummarySelectSelection(selection);
|
|
11571
11572
|
}
|
|
11572
|
-
}), this._eventService.articleReceived.subscribe((article) =>
|
|
11573
|
+
}), this._eventService.articleReceived.subscribe((article) => {
|
|
11574
|
+
if (article) {
|
|
11575
|
+
this._handleArticleReceived(article);
|
|
11576
|
+
}
|
|
11577
|
+
}), this._eventService.selectionWithAnswersChanged.subscribe((selections) => this._handleSelectionWithAnswersChanged(selections)));
|
|
11573
11578
|
}
|
|
11574
11579
|
ngOnDestroy() {
|
|
11575
11580
|
this._subs.forEach(s => s.unsubscribe());
|
|
@@ -11603,7 +11608,7 @@ class ProductConfiguratorComponent {
|
|
|
11603
11608
|
}
|
|
11604
11609
|
}
|
|
11605
11610
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ProductConfiguratorComponent, deps: [{ token: ConfiguratorConnectorService }, { token: SwitchBuildFurnitureService }, { token: ConfiguratorSettingsService }, { token: ProductConfiguratorService }, { token: IconCacheService }, { token: i1.DomSanitizer }, { token: ConfiguringService }, { token: ConfiguratorEventService }], target: i0.ɵɵFactoryTarget.Component });
|
|
11606
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ProductConfiguratorComponent, isStandalone: false, selector: "co-product-configurator", inputs: { showHeaderInformation: "showHeaderInformation", showSelections: "showSelections", showLabel: "showLabel", canClose: "canClose", customDimensions: "customDimensions"
|
|
11611
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ProductConfiguratorComponent, isStandalone: false, selector: "co-product-configurator", inputs: { showHeaderInformation: "showHeaderInformation", showSelections: "showSelections", showLabel: "showLabel", canClose: "canClose", customDimensions: "customDimensions" }, outputs: { showChange: "showChange", answerChosen: "answerChosen" }, host: { properties: { "class.co-product-configurator": "this.showClass" } }, ngImport: i0, template: `
|
|
11607
11612
|
<div class="product-configurator-container">
|
|
11608
11613
|
@if (showHeaderInformation) {
|
|
11609
11614
|
<div class="product-configurator-header">
|
|
@@ -11710,8 +11715,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
11710
11715
|
type: Input
|
|
11711
11716
|
}], customDimensions: [{
|
|
11712
11717
|
type: Input
|
|
11713
|
-
}], showSaveAndLoadConfiguration: [{
|
|
11714
|
-
type: Input
|
|
11715
11718
|
}], showChange: [{
|
|
11716
11719
|
type: Output
|
|
11717
11720
|
}], answerChosen: [{
|
|
@@ -11726,9 +11729,11 @@ class ConfiguratorComponent {
|
|
|
11726
11729
|
_buildFurnitureService;
|
|
11727
11730
|
_configuratorConnectorService;
|
|
11728
11731
|
showClass = true;
|
|
11732
|
+
show = true;
|
|
11729
11733
|
set sku(value) {
|
|
11734
|
+
this._reset();
|
|
11730
11735
|
this._sku = value;
|
|
11731
|
-
if (this.
|
|
11736
|
+
if (this.loaded) {
|
|
11732
11737
|
this._configuratorEventService.skuSet.next(this._sku);
|
|
11733
11738
|
this._skuSet = true;
|
|
11734
11739
|
}
|
|
@@ -11737,8 +11742,9 @@ class ConfiguratorComponent {
|
|
|
11737
11742
|
return this._sku;
|
|
11738
11743
|
}
|
|
11739
11744
|
set instanceId(value) {
|
|
11745
|
+
this._reset();
|
|
11740
11746
|
this._instanceId = value;
|
|
11741
|
-
if (this.
|
|
11747
|
+
if (this.loaded) {
|
|
11742
11748
|
this._configuratorEventService.instanceIdSet.next(this._instanceId);
|
|
11743
11749
|
this._instanceIdSet = true;
|
|
11744
11750
|
}
|
|
@@ -11772,11 +11778,12 @@ class ConfiguratorComponent {
|
|
|
11772
11778
|
resultHasErrors = false;
|
|
11773
11779
|
showErrorDiagram = false;
|
|
11774
11780
|
configurationResultObject;
|
|
11775
|
-
showFullConfiguration =
|
|
11781
|
+
showFullConfiguration = undefined;
|
|
11776
11782
|
showLiteSelector = false;
|
|
11777
11783
|
showSelections = false;
|
|
11778
11784
|
showAnswers = false;
|
|
11779
11785
|
loaded = false;
|
|
11786
|
+
forceShow = false;
|
|
11780
11787
|
_subs = [];
|
|
11781
11788
|
_loadingFromPreset = false;
|
|
11782
11789
|
_settings;
|
|
@@ -11784,6 +11791,7 @@ class ConfiguratorComponent {
|
|
|
11784
11791
|
_instanceIdSet = false;
|
|
11785
11792
|
_sku;
|
|
11786
11793
|
_skuSet = false;
|
|
11794
|
+
_alreadyReset = false;
|
|
11787
11795
|
constructor(settingsService, loaderService, _configuratorEventService, _configuringService, _buildFurnitureService, _configuratorConnectorService) {
|
|
11788
11796
|
this.settingsService = settingsService;
|
|
11789
11797
|
this.loaderService = loaderService;
|
|
@@ -11791,7 +11799,11 @@ class ConfiguratorComponent {
|
|
|
11791
11799
|
this._configuringService = _configuringService;
|
|
11792
11800
|
this._buildFurnitureService = _buildFurnitureService;
|
|
11793
11801
|
this._configuratorConnectorService = _configuratorConnectorService;
|
|
11794
|
-
this._subs.push(this._configuratorEventService.articleNotFound.subscribe((buildResult) => this._handleArticleNotFound(buildResult)), this._configuratorEventService.answerCountReceived.subscribe((answerCount) => this._handleAnswerCountReceived(answerCount)), this._configuratorEventService.buildFinished.subscribe((resultObject) => this._handleBuildFinished(resultObject)), this._configuratorEventService.
|
|
11802
|
+
this._subs.push(this._configuratorEventService.articleNotFound.subscribe((buildResult) => this._handleArticleNotFound(buildResult)), this._configuratorEventService.answerCountReceived.subscribe((answerCount) => this._handleAnswerCountReceived(answerCount)), this._configuratorEventService.buildFinished.subscribe((resultObject) => this._handleBuildFinished(resultObject)), this._configuratorEventService.articleReceived.subscribe((article) => {
|
|
11803
|
+
if (article) {
|
|
11804
|
+
this.showFullConfiguration = !!article.showFullConfiguration;
|
|
11805
|
+
}
|
|
11806
|
+
}), this._configuratorConnectorService.controllerInitialized.subscribe((initialized) => {
|
|
11795
11807
|
if (initialized) {
|
|
11796
11808
|
this.loaded = true;
|
|
11797
11809
|
if (this._sku && !this._skuSet) {
|
|
@@ -11803,6 +11815,12 @@ class ConfiguratorComponent {
|
|
|
11803
11815
|
this._instanceIdSet = true;
|
|
11804
11816
|
}
|
|
11805
11817
|
}
|
|
11818
|
+
}), combineLatest([
|
|
11819
|
+
this._configuratorEventService.skuSet,
|
|
11820
|
+
this._configuratorEventService.instanceIdSet
|
|
11821
|
+
]).pipe(debounceTime(0) // wait for events to finish, because skuSet and instanceIdSet events are emitted simultaneously
|
|
11822
|
+
).subscribe(([sku, instanceId]) => {
|
|
11823
|
+
this._alreadyReset = false;
|
|
11806
11824
|
}));
|
|
11807
11825
|
}
|
|
11808
11826
|
ngOnInit() {
|
|
@@ -11851,9 +11869,7 @@ class ConfiguratorComponent {
|
|
|
11851
11869
|
}
|
|
11852
11870
|
_handleAnswerCountReceived(answerCount) {
|
|
11853
11871
|
this.showAnswers = answerCount > 0;
|
|
11854
|
-
|
|
11855
|
-
this.showLiteSelector = !this._loadingFromPreset;
|
|
11856
|
-
}
|
|
11872
|
+
this.forceShow = this.showAnswers;
|
|
11857
11873
|
}
|
|
11858
11874
|
_handleBuildFinished(result) {
|
|
11859
11875
|
if (!result) {
|
|
@@ -11868,20 +11884,24 @@ class ConfiguratorComponent {
|
|
|
11868
11884
|
this.showErrorDiagram = true;
|
|
11869
11885
|
}
|
|
11870
11886
|
}
|
|
11871
|
-
|
|
11872
|
-
if (
|
|
11873
|
-
|
|
11874
|
-
}
|
|
11875
|
-
else if (template === ConfigurationTemplate.showFullConfiguration) {
|
|
11876
|
-
this.showFullConfiguration = true;
|
|
11877
|
-
}
|
|
11878
|
-
else {
|
|
11879
|
-
this.showFullConfiguration = false;
|
|
11887
|
+
_reset() {
|
|
11888
|
+
if (this._alreadyReset) {
|
|
11889
|
+
return;
|
|
11880
11890
|
}
|
|
11891
|
+
this._configuratorConnectorService.cleanUp();
|
|
11892
|
+
this.showFullConfiguration = undefined;
|
|
11893
|
+
this._configuratorEventService.skuSet.next(undefined);
|
|
11894
|
+
this._configuratorEventService.instanceIdSet.next(undefined);
|
|
11895
|
+
this._configuratorEventService.instanceSet.next(undefined);
|
|
11896
|
+
this._configuratorEventService.articleNotFound.next(undefined);
|
|
11897
|
+
this._configuratorEventService.selectionWithAnswersChanged.next(undefined);
|
|
11898
|
+
this._configuratorEventService.articleReceived.next(undefined);
|
|
11899
|
+
this._configuratorEventService.buildFinished.next(undefined);
|
|
11900
|
+
this._alreadyReset = true;
|
|
11881
11901
|
}
|
|
11882
11902
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfiguratorComponent, deps: [{ token: ConfiguratorSettingsService }, { token: LoaderService }, { token: ConfiguratorEventService }, { token: ConfiguringService }, { token: SwitchBuildFurnitureService }, { token: ConfiguratorConnectorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
11883
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ConfiguratorComponent, isStandalone: false, selector: "co-configurator", inputs: { sku: "sku", instanceId: "instanceId", settings: "settings", scene: "scene", showLoader: "showLoader", showProgressBar: "showProgressBar", showErrorMessages: "showErrorMessages", outputErrorMessages: "outputErrorMessages", canCloseConfigurator: "canCloseConfigurator", animateSlideout: "animateSlideout", showHeaderInformation: "showHeaderInformation" }, outputs: { isLoading: "isLoading", updateProgressBar: "updateProgressBar", errorMessages: "errorMessages", showChange: "showChange" }, host: { properties: { "class.co-configurator": "this.showClass" } }, ngImport: i0, template: `
|
|
11884
|
-
@if (loaded) {
|
|
11903
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ConfiguratorComponent, isStandalone: false, selector: "co-configurator", inputs: { show: "show", sku: "sku", instanceId: "instanceId", settings: "settings", scene: "scene", showLoader: "showLoader", showProgressBar: "showProgressBar", showErrorMessages: "showErrorMessages", outputErrorMessages: "outputErrorMessages", canCloseConfigurator: "canCloseConfigurator", animateSlideout: "animateSlideout", showHeaderInformation: "showHeaderInformation" }, outputs: { isLoading: "isLoading", updateProgressBar: "updateProgressBar", errorMessages: "errorMessages", showChange: "showChange" }, host: { properties: { "class.co-configurator": "this.showClass" } }, ngImport: i0, template: `
|
|
11904
|
+
@if (loaded && (show || forceShow)) {
|
|
11885
11905
|
@if (showProgressBar) {
|
|
11886
11906
|
<co-progress-bar></co-progress-bar>
|
|
11887
11907
|
}
|
|
@@ -11894,7 +11914,7 @@ class ConfiguratorComponent {
|
|
|
11894
11914
|
(closeErrorDialoag)="handleCloseErrorDialog()"
|
|
11895
11915
|
></co-configurator-error-dialog>
|
|
11896
11916
|
}
|
|
11897
|
-
@if (
|
|
11917
|
+
@if (showFullConfiguration === false) {
|
|
11898
11918
|
<co-lite-selector
|
|
11899
11919
|
class="floating"
|
|
11900
11920
|
[animateSlideout]="animateSlideout"
|
|
@@ -11914,14 +11934,14 @@ class ConfiguratorComponent {
|
|
|
11914
11934
|
}
|
|
11915
11935
|
|
|
11916
11936
|
}
|
|
11917
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ProgressBarComponent, selector: "co-progress-bar" }, { kind: "component", type: ConfiguratorLoaderComponent, selector: "co-configurator-loader", inputs: ["show"] }, { kind: "component", type: ConfiguratorErrorDialogComponent, selector: "co-configurator-error-dialog", inputs: ["errorMessages"], outputs: ["closeErrorDialoag"] }, { kind: "component", type: LiteSelectorComponent, selector: "co-lite-selector", inputs: ["show", "showLabel", "canClose", "animateSlideout", "customDimensions"
|
|
11937
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ProgressBarComponent, selector: "co-progress-bar" }, { kind: "component", type: ConfiguratorLoaderComponent, selector: "co-configurator-loader", inputs: ["show"] }, { kind: "component", type: ConfiguratorErrorDialogComponent, selector: "co-configurator-error-dialog", inputs: ["errorMessages"], outputs: ["closeErrorDialoag"] }, { kind: "component", type: LiteSelectorComponent, selector: "co-lite-selector", inputs: ["show", "showLabel", "canClose", "animateSlideout", "customDimensions"], outputs: ["showChange", "answerChosen"] }, { kind: "component", type: ProductConfiguratorComponent, selector: "co-product-configurator", inputs: ["showHeaderInformation", "showSelections", "showLabel", "canClose", "customDimensions"], outputs: ["showChange", "answerChosen"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
11918
11938
|
}
|
|
11919
11939
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfiguratorComponent, decorators: [{
|
|
11920
11940
|
type: Component,
|
|
11921
11941
|
args: [{
|
|
11922
11942
|
selector: 'co-configurator',
|
|
11923
11943
|
template: `
|
|
11924
|
-
@if (loaded) {
|
|
11944
|
+
@if (loaded && (show || forceShow)) {
|
|
11925
11945
|
@if (showProgressBar) {
|
|
11926
11946
|
<co-progress-bar></co-progress-bar>
|
|
11927
11947
|
}
|
|
@@ -11934,7 +11954,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
11934
11954
|
(closeErrorDialoag)="handleCloseErrorDialog()"
|
|
11935
11955
|
></co-configurator-error-dialog>
|
|
11936
11956
|
}
|
|
11937
|
-
@if (
|
|
11957
|
+
@if (showFullConfiguration === false) {
|
|
11938
11958
|
<co-lite-selector
|
|
11939
11959
|
class="floating"
|
|
11940
11960
|
[animateSlideout]="animateSlideout"
|
|
@@ -11961,6 +11981,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
11961
11981
|
}], ctorParameters: () => [{ type: ConfiguratorSettingsService }, { type: LoaderService }, { type: ConfiguratorEventService }, { type: ConfiguringService }, { type: SwitchBuildFurnitureService }, { type: ConfiguratorConnectorService }], propDecorators: { showClass: [{
|
|
11962
11982
|
type: HostBinding,
|
|
11963
11983
|
args: ['class.co-configurator']
|
|
11984
|
+
}], show: [{
|
|
11985
|
+
type: Input
|
|
11964
11986
|
}], sku: [{
|
|
11965
11987
|
type: Input
|
|
11966
11988
|
}], instanceId: [{
|
|
@@ -14272,6 +14294,9 @@ class SceneButtonUtils {
|
|
|
14272
14294
|
if (selection.hdecoPositioning !== 'N') {
|
|
14273
14295
|
const len = selection.decoNode ? selection.decoNode.connectors.length : 0;
|
|
14274
14296
|
for (let i = 0; i < len; i++) {
|
|
14297
|
+
if (selection.decoNode.connectors[i] === null) {
|
|
14298
|
+
return;
|
|
14299
|
+
}
|
|
14275
14300
|
const conObject = this._getConnectorObject(child, selection.decoNode.connectors[i].connector);
|
|
14276
14301
|
const conObjectParent = ObjectUtils.GetParentItem(conObject, CustomObject3D);
|
|
14277
14302
|
const existingButton = result.find((eab) => {
|
|
@@ -15264,7 +15289,6 @@ class ConfiguratorSceneComponent {
|
|
|
15264
15289
|
_floorService;
|
|
15265
15290
|
canvasElement;
|
|
15266
15291
|
elementToolbar;
|
|
15267
|
-
showSceneBuildLoader = true;
|
|
15268
15292
|
showClass = true;
|
|
15269
15293
|
totalSteps = 8;
|
|
15270
15294
|
currentStep = 0;
|
|
@@ -15276,6 +15300,7 @@ class ConfiguratorSceneComponent {
|
|
|
15276
15300
|
loaderProgress = 0;
|
|
15277
15301
|
showElementToolbar = false;
|
|
15278
15302
|
animateEditAddButtons = false;
|
|
15303
|
+
showSceneBuildLoader = false;
|
|
15279
15304
|
enabledDownloadDialog = false;
|
|
15280
15305
|
development = false;
|
|
15281
15306
|
showDownloadDialog = false;
|
|
@@ -15315,6 +15340,12 @@ class ConfiguratorSceneComponent {
|
|
|
15315
15340
|
if (started) {
|
|
15316
15341
|
this.setSceneBuildLoader = started;
|
|
15317
15342
|
}
|
|
15343
|
+
}), this._eventService.addedToScene.subscribe((result) => {
|
|
15344
|
+
if (result) {
|
|
15345
|
+
if (this.currentStep !== this.totalSteps) {
|
|
15346
|
+
this._loaderProcessUpdate(this.totalSteps);
|
|
15347
|
+
}
|
|
15348
|
+
}
|
|
15318
15349
|
}), this._settingsService.settingsLoaded.subscribe((loaded) => {
|
|
15319
15350
|
if (loaded && this._settingsService.settings && this._settingsService.settings.options) {
|
|
15320
15351
|
if (this._settingsService.settings.options.showDownloadButton) {
|
|
@@ -15328,6 +15359,7 @@ class ConfiguratorSceneComponent {
|
|
|
15328
15359
|
this._createCameraSettingsButton();
|
|
15329
15360
|
}
|
|
15330
15361
|
this.development = this._settingsService.settings.options.development;
|
|
15362
|
+
this.showSceneBuildLoader = this._settingsService.settings.options.showSceneBuildLoader;
|
|
15331
15363
|
}
|
|
15332
15364
|
}));
|
|
15333
15365
|
}
|
|
@@ -15542,7 +15574,7 @@ class ConfiguratorSceneComponent {
|
|
|
15542
15574
|
this._dimensionsService.enabled = !this._dimensionsService.enabled;
|
|
15543
15575
|
}
|
|
15544
15576
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfiguratorSceneComponent, deps: [{ token: ConfiguratorSettingsService }, { token: ConfiguratorRotationService }, { token: ConfiguratorDynamicCameraService }, { token: ConfiguratorSceneService }, { token: ConfiguratorEventService }, { token: ConfiguratorCameraService }, { token: ConfiguratorItemService }, { token: SwitchBuildFurnitureService }, { token: SceneOptionsService }, { token: DimensionsService }, { token: FloorPlaneService }], target: i0.ɵɵFactoryTarget.Component });
|
|
15545
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ConfiguratorSceneComponent, isStandalone: false, selector: "co-configurator-scene",
|
|
15577
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ConfiguratorSceneComponent, isStandalone: false, selector: "co-configurator-scene", host: { properties: { "class.co-configurator-scene": "this.showClass" } }, viewQueries: [{ propertyName: "canvasElement", first: true, predicate: ["canvas"], descendants: true, read: ElementRef }, { propertyName: "elementToolbar", first: true, predicate: ElementToolbarComponent, descendants: true }], ngImport: i0, template: `
|
|
15546
15578
|
@if (showSceneBuildLoader && setSceneBuildLoader) {
|
|
15547
15579
|
<co-configurator-scene-loader
|
|
15548
15580
|
[loaderProgress]="loaderProgress">
|
|
@@ -15638,8 +15670,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15638
15670
|
}], elementToolbar: [{
|
|
15639
15671
|
type: ViewChild,
|
|
15640
15672
|
args: [ElementToolbarComponent]
|
|
15641
|
-
}], showSceneBuildLoader: [{
|
|
15642
|
-
type: Input
|
|
15643
15673
|
}], showClass: [{
|
|
15644
15674
|
type: HostBinding,
|
|
15645
15675
|
args: ['class.co-configurator-scene']
|