@colijnit/configurator 261.20.4 → 261.20.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.
- package/colijnit-configurator-261.20.6.tgz +0 -0
- package/fesm2022/colijnit-configurator.mjs +988 -288
- package/fesm2022/colijnit-configurator.mjs.map +1 -1
- package/index.d.ts +139 -36
- package/lib/components/answers-slideout/style/_layout.scss +2 -2
- package/lib/components/configuration-preset/style/_layout.scss +42 -0
- package/lib/components/configuration-preset/style/_material-definition.scss +5 -0
- package/lib/components/configuration-preset/style/_theme.scss +20 -0
- package/lib/components/configuration-preset/style/material.scss +3 -0
- package/lib/components/configuration-preset-dialog/style/_layout.scss +82 -0
- package/lib/components/configuration-preset-dialog/style/_material-definition.scss +5 -0
- package/lib/components/configuration-preset-dialog/style/_theme.scss +7 -0
- package/lib/components/configuration-preset-dialog/style/material.scss +3 -0
- package/lib/components/product-configurator/style/_layout.scss +4 -0
- package/lib/components/product-configurator/style/_material-definition.scss +1 -0
- package/lib/components/product-configurator/style/_theme.scss +7 -1
- package/lib/components/product-configurator-selector/style/_layout.scss +26 -1
- package/lib/components/product-configurator-selector/style/_theme.scss +20 -3
- package/lib/components/product-configurator-selector-option-checkbox/style/_theme.scss +3 -0
- package/lib/components/product-configurator-selector-option-tile/style/_layout.scss +12 -4
- package/lib/components/product-configurator-selector-option-tile/style/_theme.scss +28 -2
- package/lib/style/_variables.scss +20 -7
- package/package.json +1 -1
|
@@ -65,6 +65,8 @@ import { trigger, state, style, transition, animate } from '@angular/animations'
|
|
|
65
65
|
import * as i4 from '@colijnit/corecomponents_v12';
|
|
66
66
|
import { LoaderModule, IconModule, CardModule, InputTextModule, ButtonModule, PriceDisplayPipeModule, ImageModule, TooltipDirectiveModule } from '@colijnit/corecomponents_v12';
|
|
67
67
|
import { ConfigurationDisplayOption } from '@colijnit/configuratorapi/build/enum/refcode/configuration-display-option.enum';
|
|
68
|
+
import * as i7 from '@angular/cdk/clipboard';
|
|
69
|
+
import { CdkCopyToClipboard } from '@angular/cdk/clipboard';
|
|
68
70
|
import * as i6$1 from '@angular/forms';
|
|
69
71
|
import { FormsModule } from '@angular/forms';
|
|
70
72
|
import { GLTFExporter } from 'three/examples/jsm/exporters/GLTFExporter.js';
|
|
@@ -148,6 +150,9 @@ class SettingOptions {
|
|
|
148
150
|
useExternalOpenSave = false;
|
|
149
151
|
floorFadeStart = 2.0;
|
|
150
152
|
floorFadeEnd = 6.0;
|
|
153
|
+
maxVisibleTiles = 10;
|
|
154
|
+
maxVisibleSmallTiles = 24;
|
|
155
|
+
groupedShowAllBtn = false;
|
|
151
156
|
}
|
|
152
157
|
|
|
153
158
|
class RenderParameters {
|
|
@@ -509,6 +514,7 @@ class AppEventService {
|
|
|
509
514
|
articleInfoReceived = new Subject(); // TODO check; _onAnswerInfoReceived has a todo from 17-06-2024
|
|
510
515
|
onObjectSelected = new Subject();
|
|
511
516
|
onObjectUnSelected = new Subject();
|
|
517
|
+
changeConfigurationPresetDialogMode = new Subject();
|
|
512
518
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AppEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
513
519
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AppEventService, providedIn: 'root' });
|
|
514
520
|
}
|
|
@@ -951,14 +957,13 @@ class ConfiguratorService {
|
|
|
951
957
|
return this._configuratorApi.copyInstance(instanceId, shouldSaveCurrentInstanceId, showLoader);
|
|
952
958
|
}
|
|
953
959
|
async saveConfigurations(showLoader = true) {
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
return true;
|
|
960
|
+
return await this._configuratorApi.saveConfigurations(showLoader);
|
|
961
|
+
}
|
|
962
|
+
async storePreset(instanceId, showLoader = true) {
|
|
963
|
+
return await this._configuratorApi.storePreset(instanceId, showLoader);
|
|
964
|
+
}
|
|
965
|
+
async initForPreset(presetId, goodId, showLoader = true) {
|
|
966
|
+
return await this._configuratorApi.initForPreset(presetId, goodId, showLoader);
|
|
962
967
|
}
|
|
963
968
|
async googleTranslateEnabled() {
|
|
964
969
|
// this should always be fetched from the mainapi from the client
|
|
@@ -1399,6 +1404,12 @@ class ConfiguratorConnectorService {
|
|
|
1399
1404
|
console.error('error saving configurations');
|
|
1400
1405
|
}
|
|
1401
1406
|
}
|
|
1407
|
+
async storePreset(instanceId, showLoader = true) {
|
|
1408
|
+
return this._configuratorService.storePreset(instanceId, showLoader);
|
|
1409
|
+
}
|
|
1410
|
+
async initForPreset(presetId, goodId, showLoader = true) {
|
|
1411
|
+
return this._configuratorService.initForPreset(presetId, goodId, showLoader);
|
|
1412
|
+
}
|
|
1402
1413
|
async getDefaultLanguage(upId) {
|
|
1403
1414
|
return await this._configuratorService.getDefaultLanguage(upId);
|
|
1404
1415
|
}
|
|
@@ -9877,6 +9888,7 @@ class BuildFurnitureService extends BuildFurnitureBaseService {
|
|
|
9877
9888
|
this.configuratorConnectorService.emptySelections();
|
|
9878
9889
|
this.full3DObjectToUse.children.forEach(c => c.visible = true);
|
|
9879
9890
|
result.object = this.full3DObjectToUse;
|
|
9891
|
+
result.resultType = ResultType.Loaded;
|
|
9880
9892
|
// Scene3DUtil.updatePivot(result.object);
|
|
9881
9893
|
if (result.default180) {
|
|
9882
9894
|
result.object.rotation.set(this.defaultRotation.x, this.defaultRotation.y, this.defaultRotation.z);
|
|
@@ -10180,11 +10192,6 @@ class LoadFurnitureService extends LoadFurnitureBaseService {
|
|
|
10180
10192
|
if (!this.needs3DModel(result.placement)) {
|
|
10181
10193
|
result.resultType = ResultType.No3DModel;
|
|
10182
10194
|
}
|
|
10183
|
-
if (!result.assetUrl && result.resultType !== ResultType.No3DModel || result.resultType === ResultType.ArticleNotFound) {
|
|
10184
|
-
result.errorMessages.push(new ConfiguratorErrorMessage('ARTICLE_NOT_FOUND', 'ARTICLE_NOT_FOUND_DESC'));
|
|
10185
|
-
DebugUtils.log('Article not found');
|
|
10186
|
-
return Promise.reject(result);
|
|
10187
|
-
}
|
|
10188
10195
|
});
|
|
10189
10196
|
if (this.article) {
|
|
10190
10197
|
// Add the data to the result
|
|
@@ -12242,6 +12249,7 @@ var IconEnum;
|
|
|
12242
12249
|
IconEnum["ArrowTurnRight"] = "arrow_turn_right";
|
|
12243
12250
|
IconEnum["ArrowTurnRightRegular"] = "arrow_turn_right_regular";
|
|
12244
12251
|
IconEnum["ArCircle"] = "ar_circle";
|
|
12252
|
+
IconEnum["BarsLightFull"] = "bars_light_full";
|
|
12245
12253
|
IconEnum["Brush"] = "brush";
|
|
12246
12254
|
IconEnum["CameraSolid"] = "camera_solid";
|
|
12247
12255
|
IconEnum["CameraTopdown"] = "camera_topdown";
|
|
@@ -12266,6 +12274,7 @@ var IconEnum;
|
|
|
12266
12274
|
IconEnum["ConfFrame"] = "conf_frame";
|
|
12267
12275
|
IconEnum["ConfPlane"] = "conf_plane";
|
|
12268
12276
|
IconEnum["CopyLight"] = "copy_light";
|
|
12277
|
+
IconEnum["CopyRegularFull"] = "copy_regular_full";
|
|
12269
12278
|
IconEnum["Couch"] = "couch";
|
|
12270
12279
|
IconEnum["Cross"] = "cross";
|
|
12271
12280
|
IconEnum["CubeOutline"] = "cube-outline";
|
|
@@ -12278,7 +12287,9 @@ var IconEnum;
|
|
|
12278
12287
|
IconEnum["EditButton"] = "edit-button";
|
|
12279
12288
|
IconEnum["Expand"] = "expand";
|
|
12280
12289
|
IconEnum["FillDripLight"] = "fill_drip_light";
|
|
12290
|
+
IconEnum["FloppyDiskLightFull"] = "floppy_disk_light_full";
|
|
12281
12291
|
IconEnum["Flower"] = "flower";
|
|
12292
|
+
IconEnum["FolderOpenLightFull"] = "folder_open_light_full";
|
|
12282
12293
|
IconEnum["GaugeHighSolidFull"] = "gauge_high_solid_full";
|
|
12283
12294
|
IconEnum["GaugeLowSolidFull"] = "gauge_low_solid_full";
|
|
12284
12295
|
IconEnum["GaugeMaxSolidFull"] = "gauge_max_solid_full";
|
|
@@ -12332,6 +12343,7 @@ var IconEnum;
|
|
|
12332
12343
|
IconEnum["WandMagicSparkles"] = "wand_magic_sparkles";
|
|
12333
12344
|
IconEnum["WifiSolidFull"] = "wifi_solid_full";
|
|
12334
12345
|
IconEnum["XmarkLight"] = "xmark_light";
|
|
12346
|
+
IconEnum["XmarkLightFull"] = "xmark_light_full";
|
|
12335
12347
|
IconEnum["XmarkRegular"] = "xmark_regular";
|
|
12336
12348
|
})(IconEnum || (IconEnum = {}));
|
|
12337
12349
|
|
|
@@ -12354,6 +12366,7 @@ const IconSvg = {
|
|
|
12354
12366
|
"arrow_turn_right": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M379.3 363.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L457.4 240 80 240c-26.5 0-48 21.5-48 48l0 176c0 8.8-7.2 16-16 16s-16-7.2-16-16L0 288c0-44.2 35.8-80 80-80l377.4 0L356.7 107.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l128 128c6.2 6.2 6.2 16.4 0 22.6l-128 128z\"/></svg>",
|
|
12355
12367
|
"arrow_turn_right_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M377 369c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87L88 248c-22.1 0-40 17.9-40 40l0 168c0 13.3-10.7 24-24 24s-24-10.7-24-24L0 288c0-48.6 39.4-88 88-88l342.1 0-87-87c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L505 207c9.4 9.4 9.4 24.6 0 33.9L377 369z\"/></svg>",
|
|
12356
12368
|
"ar_circle": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><path d=\"M25,11A14,14,0,1,1,11,25,14,14,0,0,1,25,11m0-1A15,15,0,1,0,40,25,15,15,0,0,0,25,10Z\" fill=\"#484f60\"/><path d=\"M23.23,30.1l-.85-2.2H18.53l-.85,2.2H15.5l4-10.2h2l4,10.2Zm-2.77-7.16-1.15,3h2.3Z\" fill=\"#484f60\"/><path d=\"M33.92,23.29c0,1.63-.58,2.69-1.74,3.16L34.5,30.1H32l-2-3.25H28.53V30.1H26.48V19.9H30a4.65,4.65,0,0,1,3,.8A3.29,3.29,0,0,1,33.92,23.29ZM31.45,24.5a1.64,1.64,0,0,0,.39-1.21,1.38,1.38,0,0,0-.4-1.13,2.35,2.35,0,0,0-1.38-.3H28.53v3H30A2,2,0,0,0,31.45,24.5Z\" fill=\"#484f60\"/></svg>",
|
|
12369
|
+
"bars_light_full": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><path d=\"M96 144C96 135.2 103.2 128 112 128L528 128C536.8 128 544 135.2 544 144C544 152.8 536.8 160 528 160L112 160C103.2 160 96 152.8 96 144zM96 320C96 311.2 103.2 304 112 304L528 304C536.8 304 544 311.2 544 320C544 328.8 536.8 336 528 336L112 336C103.2 336 96 328.8 96 320zM544 496C544 504.8 536.8 512 528 512L112 512C103.2 512 96 504.8 96 496C96 487.2 103.2 480 112 480L528 480C536.8 480 544 487.2 544 496z\"/></svg>",
|
|
12357
12370
|
"brush": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><path d=\"M28.16,26a9.71,9.71,0,0,1-4-3.66A.88.88,0,0,0,22.92,22c-1.08.48-2.19.92-3.27,1.43-3.71,1.74-6,4.5-6.23,8.75-.17,2.75-.89,5.32-3.42,7.25,1.18,0,2.12,0,3.05,0,.73,0,1.46-.07,2.18-.12a10.82,10.82,0,0,0,4.86-3.38c1.31-1.61,3.14-3.58,3.95-5.49l-.08.38a22.78,22.78,0,0,1-3.09,5.74A11.79,11.79,0,0,1,18.13,39a22.35,22.35,0,0,0,4.29-1A8.2,8.2,0,0,0,28.06,32c.38-1.62.44-3.31.66-5A1,1,0,0,0,28.16,26Z\" fill=\"#484f60\"/><path d=\"M26.23,20.43l6.57-9.32a1.23,1.23,0,0,1,1.87-.18l4.94,4.7a1.24,1.24,0,0,1-.11,1.9l-9.15,6.78a1.25,1.25,0,0,1-1.58-.08L26.4,22.06A1.23,1.23,0,0,1,26.23,20.43Z\" fill=\"#484f60\"/></svg>",
|
|
12358
12371
|
"camera_solid": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M149.1 64.8L138.7 96 64 96C28.7 96 0 124.7 0 160L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64l-74.7 0L362.9 64.8C356.4 45.2 338.1 32 317.4 32L194.6 32c-20.7 0-39 13.2-45.5 32.8zM256 192a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"/></svg>",
|
|
12359
12372
|
"camera_topdown": "<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\" y=\"0px\" viewBox=\"0 0 600 600\" style=\"enable-background:new 0 0 600 600;\" ><g><path d=\"M198.4,473.9c-12.3,0-23.9-6.8-29.4-17.4c-2.4-4.6-3.7-9.8-3.7-15c0-6.7,2-13.1,5.9-18.6l57.5-82.1c3.7-5.2,9.7-8.4,16.1-8.4c4,0,7.9,1.2,11.2,3.5c8.8,6.2,11,18.4,4.8,27.3l-49.9,71.4h178.2l-50-71.4c-3.2-4.7-4.3-10.5-3-16c1.1-5,4-9.1,8.1-11.5c3.3-2.2,7.1-3.4,11-3.4c6.4,0,12.4,3.1,16.1,8.4l57.6,82.1c6.9,9.9,7.8,22.7,2.1,33.6c-5.6,10.8-16.7,17.4-28.7,17.4H198.4z M219.9,320.5c-32,0-58-26-58-58V58c0-32,26-58,58-58h160.2c32,0,58,26,58,58v204.6c0,32-26,58-58,58H219.9z M219.9,39.3c-10.3,0-18.7,8.4-18.7,18.7v204.6c0,10.3,8.4,18.7,18.7,18.7h160.2c10.3,0,18.7-8.4,18.7-18.7V58c0-10.3-8.4-18.7-18.7-18.7H219.9z\"/><path d=\"M300,600c-4,0-7.2-3.2-7.2-7.2v-85.3c0-4,3.2-7.2,7.2-7.2s7.2,3.2,7.2,7.2v85.3C307.2,596.8,304,600,300,600z\"/><path d=\"M179.7,591.6c-1.5,0-2.9-0.5-4.1-1.3c-1.6-1.1-2.6-2.8-3-4.6c-0.3-1.9,0.1-3.8,1.2-5.4l50.6-77c1.3-1.9,3.5-3,5.9-3c1.5,0,2.9,0.5,4.1,1.3c1.6,1.1,2.6,2.8,3,4.6c0.3,1.9-0.1,3.8-1.2,5.4l-50.6,77C184.2,590.5,182,591.6,179.7,591.6z\"/><path d=\"M420.3,591.6c-2.3,0-4.5-1.1-5.9-3l-50.6-77c-2.3-3.3-1.5-7.7,1.8-10c1.2-0.9,2.6-1.3,4.1-1.3c2.3,0,4.5,1.1,5.9,3l50.5,76.9l0,0.1c1.1,1.6,1.5,3.5,1.2,5.4c-0.3,1.9-1.4,3.5-3,4.6C423.2,591.2,421.8,591.6,420.3,591.6z\"/><path d=\"M375.9,65v38.7c0,1.5-1.2,2.8-2.8,2.8h-19.9c-1.5,0-2.8-1.2-2.8-2.8V65c0-1.5,1.2-2.8,2.8-2.8h19.9C374.6,62.2,375.9,63.5,375.9,65z\"/></g></svg>",
|
|
@@ -12378,6 +12391,7 @@ const IconSvg = {
|
|
|
12378
12391
|
"conf_frame": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><title>conf_frame</title><path d=\"M37,11.5,38.5,10h-27V40L13,38.5v-27H37Z\" fill=\"#484f60\"/><g opacity=\"0.25\"><rect x=\"14.5\" y=\"13\" width=\"21\" height=\"24\" fill=\"#484f60\"/></g><polygon points=\"18.27 15.01 20.28 13 14.5 13 14.5 18.78 16.51 16.77 20.24 20.5 22 18.74 18.27 15.01\" fill=\"#484f60\"/></svg>",
|
|
12379
12392
|
"conf_plane": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><title>conf_plane</title><g opacity=\"0.25\"><path d=\"M37,11.5,38.5,10h-27V40L13,38.5v-27H37Z\" fill=\"#484f60\"/></g><rect x=\"14.5\" y=\"13\" width=\"21\" height=\"24\" fill=\"#484f60\"/><polygon points=\"19.26 16 17.5 17.76 21.23 21.49 19.22 23.5 25 23.5 25 17.72 22.99 19.73 19.26 16\" fill=\"#fff\"/></svg>",
|
|
12380
12393
|
"copy_light": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><path d=\"M384 352l-160 0c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l108.1 0c4.2 0 8.3 1.7 11.3 4.7l67.9 67.9c3 3 4.7 7.1 4.7 11.3L416 320c0 17.7-14.3 32-32 32zM433.9 81.9L366.1 14.1c-9-9-21.2-14.1-33.9-14.1L224 0c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64l160 0c35.3 0 64-28.7 64-64l0-204.1c0-12.7-5.1-24.9-14.1-33.9zM64 128c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l160 0c35.3 0 64-28.7 64-64l0-32-32 0 0 32c0 17.7-14.3 32-32 32L64 480c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l64 0 0-32-64 0z\"/></svg>",
|
|
12394
|
+
"copy_regular_full": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><path d=\"M480 400L288 400C279.2 400 272 392.8 272 384L272 128C272 119.2 279.2 112 288 112L421.5 112C425.7 112 429.8 113.7 432.8 116.7L491.3 175.2C494.3 178.2 496 182.3 496 186.5L496 384C496 392.8 488.8 400 480 400zM288 448L480 448C515.3 448 544 419.3 544 384L544 186.5C544 169.5 537.3 153.2 525.3 141.2L466.7 82.7C454.7 70.7 438.5 64 421.5 64L288 64C252.7 64 224 92.7 224 128L224 384C224 419.3 252.7 448 288 448zM160 192C124.7 192 96 220.7 96 256L96 512C96 547.3 124.7 576 160 576L352 576C387.3 576 416 547.3 416 512L416 496L368 496L368 512C368 520.8 360.8 528 352 528L160 528C151.2 528 144 520.8 144 512L144 256C144 247.2 151.2 240 160 240L176 240L176 192L160 192z\"/></svg>",
|
|
12381
12395
|
"couch": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><path d=\"M448 64c53 0 96 43 96 96l0 37.5c10-3.5 20.8-5.5 32-5.5l0-32c0-70.7-57.3-128-128-128L192 32C121.3 32 64 89.3 64 160l0 32c11.2 0 22 1.9 32 5.5L96 160c0-53 43-96 96-96l256 0zM96 320l0 96 0 16c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-144c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32zM80 480c20.9 0 38.7-13.4 45.3-32l389.5 0c6.6 18.6 24.4 32 45.3 32l32 0c26.5 0 48-21.5 48-48l0-144c0-35.3-28.7-64-64-64s-64 28.7-64 64l-384 0c0-35.3-28.7-64-64-64s-64 28.7-64 64L0 432c0 26.5 21.5 48 48 48l32 0zm48-64l0-96 384 0 0 96-384 0zm416 16l0-16 0-96 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 144c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16z\"/></svg>",
|
|
12382
12396
|
"cross": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><polygon points=\"35.35 15.52 34.65 14.81 25 24.46 15.35 14.81 14.65 15.52 24.29 25.17 14.65 34.81 15.35 35.52 25 25.87 34.65 35.52 35.35 34.81 25.71 25.17 35.35 15.52\" fill=\"#484f60\"/></svg>",
|
|
12383
12397
|
"cube-outline": "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"><svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path d=\"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L6.04,7.5L12,10.85L17.96,7.5L12,4.15M5,15.91L11,19.29V12.58L5,9.21V15.91M19,15.91V9.21L13,12.58V19.29L19,15.91Z\" /></svg>",
|
|
@@ -12390,7 +12404,9 @@ const IconSvg = {
|
|
|
12390
12404
|
"edit-button": "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\" y=\"0px\" viewBox=\"0 0 43 43\" ><g><rect x=\"13.011\" y=\"20.038\" transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -8.7899 19.4259)\" fill=\"#FFFFFF\" width=\"12.085\" height=\"0.57\"/><rect x=\"19.341\" y=\"16.641\" transform=\"matrix(0.7072 0.707 -0.707 0.7072 22.3084 -8.4979)\" fill=\"#FFFFFF\" width=\"4.145\" height=\"12.086\"/><path fill=\"#FFFFFF\" d=\"M30.839,14.931l-2.772-2.769c-0.348-0.348-0.91-0.348-1.257,0L25.9,13.069l4.032,4.028l0.905-0.908C31.187,15.841,31.187,15.28,30.839,14.931z\"/><rect x=\"23.68\" y=\"15.743\" transform=\"matrix(-0.7072 -0.7071 0.7071 -0.7072 33.6426 46.8755)\" fill=\"#FFFFFF\" width=\"5.696\" height=\"1.456\"/><polygon fill=\"#FFFFFF\" points=\"11.9,31.099 13.546,30.663 12.337,29.456 \"/><polygon fill=\"#FFFFFF\" points=\"13.579,25.643 12.711,28.079 14.921,30.29 17.356,29.421 \"/></g></svg>",
|
|
12391
12405
|
"expand": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><path d=\"M144 32c8.8 0 16 7.2 16 16s-7.2 16-16 16L32 64l0 112c0 8.8-7.2 16-16 16s-16-7.2-16-16L0 48c0-8.8 7.2-16 16-16l128 0zM0 336c0-8.8 7.2-16 16-16s16 7.2 16 16l0 112 112 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L16 480c-8.8 0-16-7.2-16-16L0 336zM432 32c8.8 0 16 7.2 16 16l0 128c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-112L304 64c-8.8 0-16-7.2-16-16s7.2-16 16-16l128 0zM416 336c0-8.8 7.2-16 16-16s16 7.2 16 16l0 128c0 8.8-7.2 16-16 16l-128 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l112 0 0-112z\"/></svg>",
|
|
12392
12406
|
"fill_drip_light": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><path d=\"M36.7 4.7c6.2-6.2 16.4-6.2 22.6 0l97.4 97.4 64.4-64.4c28.1-28.1 73.7-28.1 101.8 0L474.3 189.1c28.1 28.1 28.1 73.7 0 101.8L283.9 481.4c-37.5 37.5-98.3 37.5-135.8 0L30.6 363.9c-37.5-37.5-37.5-98.3 0-135.8L134.1 124.7 36.7 27.3c-6.2-6.2-6.2-16.4 0-22.6zm208 230.6l-88-88L53.3 250.7C42.8 261.2 36.7 274.4 35 288l397 0 19.7-19.7c15.6-15.6 15.6-40.9 0-56.6L300.3 60.3c-15.6-15.6-40.9-15.6-56.6 0l-64.4 64.4 88 88c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0zM39.2 320c3.1 7.7 7.8 15 14.1 21.3L170.7 458.7c25 25 65.5 25 90.5 0L400 320 39.2 320zM544 448s0 0 0 0c0 0 0 0 0 0c0-.1-.1-1.2-.6-3.4c-.6-2.4-1.5-5.4-2.8-9.1c-2.7-7.4-6.8-16.2-11.7-25.8c-5.2-10.2-11.2-20.6-16.9-30.3c-5.8 9.7-11.7 20.1-16.9 30.3c-4.9 9.6-8.9 18.4-11.7 25.8c-1.4 3.7-2.3 6.7-2.8 9.1c-.5 2.2-.6 3.3-.6 3.4c0 0 0 0 0 0c0 17.7 14.3 32 32 32s32-14.3 32-32zm32 0c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-25.2 32.6-79.6 51.2-108.7c6-9.4 19.5-9.4 25.5 0C543.4 368.4 576 422.8 576 448z\"/></svg>",
|
|
12407
|
+
"floppy_disk_light_full": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><path d=\"M160 128C142.3 128 128 142.3 128 160L128 480C128 497.7 142.3 512 160 512L480 512C497.7 512 512 497.7 512 480L512 237.3C512 228.8 508.6 220.7 502.6 214.7L425.4 137.4C422.7 134.7 419.5 132.5 416 130.9L416 240C416 257.7 401.7 272 384 272L224 272C206.3 272 192 257.7 192 240L192 128L160 128zM224 128L224 240L384 240L384 128L224 128zM96 160C96 124.7 124.7 96 160 96L402.7 96C419.7 96 436 102.7 448 114.7L525.3 192C537.3 204 544 220.3 544 237.3L544 480C544 515.3 515.3 544 480 544L160 544C124.7 544 96 515.3 96 480L96 160zM352 384C352 366.3 337.7 352 320 352C302.3 352 288 366.3 288 384C288 401.7 302.3 416 320 416C337.7 416 352 401.7 352 384zM256 384C256 348.7 284.7 320 320 320C355.3 320 384 348.7 384 384C384 419.3 355.3 448 320 448C284.7 448 256 419.3 256 384z\"/></svg>",
|
|
12393
12408
|
"flower": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M200 0c-48.6 0-88 39.4-88 88c0 21.3 7.6 40.8 20.1 56c-12.6 15.2-20.1 34.7-20.1 56c0 48.6 39.4 88 88 88c14.4 0 28-3.5 40-9.6l0 118.2C200.8 331.5 129.5 288 48 288l-20 0c-15.5 0-28 12.5-28 28C0 424.2 87.8 512 196 512l44 0 16 0 16 0 44 0c108.2 0 196-87.8 196-196c0-15.5-12.5-28-28-28l-20 0c-81.5 0-152.8 43.5-192 108.6l0-118.2c12 6.1 25.6 9.6 40 9.6c48.6 0 88-39.4 88-88c0-21.3-7.6-40.8-20.1-56c12.6-15.2 20.1-34.7 20.1-56c0-48.6-39.4-88-88-88c-21.3 0-40.8 7.6-56 20.1C240.8 7.6 221.3 0 200 0zM144 88c0-30.9 25.1-56 56-56c17.6 0 33.3 8.1 43.6 20.8c3 3.8 7.6 5.9 12.4 5.9s9.4-2.2 12.4-5.9C278.7 40.1 294.4 32 312 32c30.9 0 56 25.1 56 56c0 17.6-8.1 33.3-20.8 43.6c-3.8 3-5.9 7.6-5.9 12.4s2.2 9.4 5.9 12.4c12.7 10.3 20.8 26 20.8 43.6c0 30.9-25.1 56-56 56c-17.6 0-33.3-8.1-43.6-20.8c-3-3.8-7.6-5.9-12.4-5.9s-9.4 2.2-12.4 5.9c-10.3 12.7-26 20.8-43.6 20.8c-30.9 0-56-25.1-56-56c0-17.6 8.1-33.3 20.8-43.6c3.8-3 5.9-7.6 5.9-12.4s-2.2-9.4-5.9-12.4C152.1 121.3 144 105.6 144 88zM32 320l16 0c95.1 0 174.1 69.2 189.3 160L196 480c-89.2 0-161.8-71.3-164-160zM480 320c-2.1 88.7-74.7 160-164 160l-41.3 0c15.2-90.8 94.2-160 189.3-160l16 0zM288 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"/></svg>",
|
|
12409
|
+
"folder_open_light_full": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><path d=\"M129.5 480C118.7 480 111 469.5 114.2 459.2L164.2 299.2C166.3 292.5 172.5 288 179.5 288L559 288C569.8 288 577.5 298.5 574.3 308.8L524.3 468.8C522.1 475.5 516 480 509 480L129.5 480zM256.2 512L509 512C530 512 548.6 498.4 554.8 478.3L604.8 318.3C614.5 287.4 591.4 256 559 256L179.6 256C158.6 256 140 269.6 133.8 289.7L96.2 409.6L96.2 160C96.2 142.3 110.5 128 128.2 128L266.9 128C273.8 128 280.6 130.2 286.1 134.4L324.5 163.2C335.6 171.5 349.1 176 362.9 176L480.2 176C497.9 176 512.2 190.3 512.2 208L544.2 208C544.2 172.7 515.5 144 480.2 144L362.9 144C356 144 349.2 141.8 343.7 137.6L305.3 108.8C294.2 100.5 280.8 96 266.9 96L128.2 96C92.9 96 64.2 124.7 64.2 160L64.2 448C64.2 483.3 92.9 512 128.2 512L256.2 512z\"/></svg>",
|
|
12394
12410
|
"gauge_high_solid_full": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><path d=\"M64 320C64 178.6 178.6 64 320 64C461.4 64 576 178.6 576 320C576 461.4 461.4 576 320 576C178.6 576 64 461.4 64 320zM352 160C352 142.3 337.7 128 320 128C302.3 128 288 142.3 288 160C288 177.7 302.3 192 320 192C337.7 192 352 177.7 352 160zM320 480C355.3 480 384 451.3 384 416C384 399.8 378 384.9 368 373.7L437.5 234.8C443.4 222.9 438.6 208.5 426.8 202.6C415 196.7 400.5 201.5 394.6 213.3L325.1 352.2C323.4 352.1 321.7 352 320 352C284.7 352 256 380.7 256 416C256 451.3 284.7 480 320 480zM240 208C240 190.3 225.7 176 208 176C190.3 176 176 190.3 176 208C176 225.7 190.3 240 208 240C225.7 240 240 225.7 240 208zM160 352C177.7 352 192 337.7 192 320C192 302.3 177.7 288 160 288C142.3 288 128 302.3 128 320C128 337.7 142.3 352 160 352zM512 320C512 302.3 497.7 288 480 288C462.3 288 448 302.3 448 320C448 337.7 462.3 352 480 352C497.7 352 512 337.7 512 320z\"/></svg>",
|
|
12395
12411
|
"gauge_low_solid_full": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><path d=\"M64 320C64 178.6 178.6 64 320 64C461.4 64 576 178.6 576 320C576 461.4 461.4 576 320 576C178.6 576 64 461.4 64 320zM352 160C352 142.3 337.7 128 320 128C302.3 128 288 142.3 288 160C288 177.7 302.3 192 320 192C337.7 192 352 177.7 352 160zM320 480C355.3 480 384 451.3 384 416C384 380.7 355.3 352 320 352C318.3 352 316.6 352.1 314.9 352.2L245.5 213.3C239.6 201.4 225.2 196.6 213.3 202.6C201.4 208.6 196.6 222.9 202.6 234.8L272 373.7C262 385 256 399.8 256 416C256 451.3 284.7 480 320 480zM192 320C192 302.3 177.7 288 160 288C142.3 288 128 302.3 128 320C128 337.7 142.3 352 160 352C177.7 352 192 337.7 192 320zM480 352C497.7 352 512 337.7 512 320C512 302.3 497.7 288 480 288C462.3 288 448 302.3 448 320C448 337.7 462.3 352 480 352zM464 208C464 190.3 449.7 176 432 176C414.3 176 400 190.3 400 208C400 225.7 414.3 240 432 240C449.7 240 464 225.7 464 208z\"/></svg>",
|
|
12396
12412
|
"gauge_max_solid_full": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><path d=\"M64 320C64 178.6 178.6 64 320 64C461.4 64 576 178.6 576 320C576 461.4 461.4 576 320 576C178.6 576 64 461.4 64 320zM352 160C352 142.3 337.7 128 320 128C302.3 128 288 142.3 288 160C288 177.7 302.3 192 320 192C337.7 192 352 177.7 352 160zM320 480C355.3 480 384 451.3 384 416C384 412.6 383.7 409.3 383.2 406.1L492.3 340.6C503.7 333.8 507.3 319 500.5 307.7C493.7 296.4 478.9 292.6 467.6 299.5L358.5 364.9C347.8 356.8 334.4 352 320 352C284.7 352 256 380.7 256 416C256 451.3 284.7 480 320 480zM240 208C240 190.3 225.7 176 208 176C190.3 176 176 190.3 176 208C176 225.7 190.3 240 208 240C225.7 240 240 225.7 240 208zM160 352C177.7 352 192 337.7 192 320C192 302.3 177.7 288 160 288C142.3 288 128 302.3 128 320C128 337.7 142.3 352 160 352zM464 208C464 190.3 449.7 176 432 176C414.3 176 400 190.3 400 208C400 225.7 414.3 240 432 240C449.7 240 464 225.7 464 208z\"/></svg>",
|
|
@@ -12444,6 +12460,7 @@ const IconSvg = {
|
|
|
12444
12460
|
"wand_magic_sparkles": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><path d=\"M458.3 34.9c3.1-3.1 8.2-3.1 11.3 0l39.4 39.4c3.1 3.1 3.1 8.2 0 11.3L388.7 206.1l-50.7-50.7L458.3 34.9zM66.9 426.3L315.3 177.9l50.7 50.7L117.7 477.1c-3.1 3.1-8.2 3.1-11.3 0L66.9 437.7c-3.1-3.1-3.1-8.2 0-11.3zM435.7 12.3L44.3 403.7c-15.6 15.6-15.6 40.9 0 56.6l39.4 39.4c15.6 15.6 40.9 15.6 56.6 0L531.7 108.3c15.6-15.6 15.6-40.9 0-56.6L492.3 12.3c-15.6-15.6-40.9-15.6-56.6 0zM128 80c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-48 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l48 0 0 48c0 8.8 7.2 16 16 16s16-7.2 16-16l0-48 48 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-48 0 0-48zM464 320c-8.8 0-16 7.2-16 16l0 48-48 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l48 0 0 48c0 8.8 7.2 16 16 16s16-7.2 16-16l0-48 48 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-48 0 0-48c0-8.8-7.2-16-16-16zM252.2 16c0-6.7-5.4-12.2-12.2-12.2s-12.2 5.4-12.2 12.2l0 19.8-19.8 0c-6.7 0-12.2 5.4-12.2 12.2s5.4 12.2 12.2 12.2l19.8 0 0 19.8c0 6.7 5.4 12.2 12.2 12.2s12.2-5.4 12.2-12.2l0-19.8 19.8 0c6.7 0 12.2-5.4 12.2-12.2s-5.4-12.2-12.2-12.2l-19.8 0 0-19.8z\"/></svg>",
|
|
12445
12461
|
"wifi_solid_full": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><path d=\"M320 160C229.1 160 146.8 196 86.3 254.6C73.6 266.9 53.3 266.6 41.1 253.9C28.9 241.2 29.1 220.9 41.8 208.7C113.7 138.9 211.9 96 320 96C428.1 96 526.3 138.9 598.3 208.7C611 221 611.3 241.3 599 253.9C586.7 266.5 566.4 266.9 553.8 254.6C493.2 196 410.9 160 320 160zM272 496C272 469.5 293.5 448 320 448C346.5 448 368 469.5 368 496C368 522.5 346.5 544 320 544C293.5 544 272 522.5 272 496zM200 390.2C188.3 403.5 168.1 404.7 154.8 393C141.5 381.3 140.3 361.1 152 347.8C193 301.4 253.1 272 320 272C386.9 272 447 301.4 488 347.8C499.7 361.1 498.4 381.3 485.2 393C472 404.7 451.7 403.4 440 390.2C410.6 356.9 367.8 336 320 336C272.2 336 229.4 356.9 200 390.2z\"/></svg>",
|
|
12446
12462
|
"xmark_light": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\"><path d=\"M324.5 411.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L214.6 256 347.1 123.5c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L192 233.4 59.6 100.9c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L169.4 256 36.9 388.5c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L192 278.6 324.5 411.1z\"/></svg>",
|
|
12463
|
+
"xmark_light_full": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><path d=\"M507.3 155.3C513.5 149.1 513.5 138.9 507.3 132.7C501.1 126.5 490.9 126.5 484.7 132.7L320 297.4L155.3 132.7C149.1 126.5 138.9 126.5 132.7 132.7C126.5 138.9 126.5 149.1 132.7 155.3L297.4 320L132.7 484.7C126.5 490.9 126.5 501.1 132.7 507.3C138.9 513.5 149.1 513.5 155.3 507.3L320 342.6L484.7 507.3C490.9 513.5 501.1 513.5 507.3 507.3C513.5 501.1 513.5 490.9 507.3 484.7L342.6 320L507.3 155.3z\"/></svg>",
|
|
12447
12464
|
"xmark_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\"><path d=\"M345 137c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-119 119L73 103c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l119 119L39 375c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l119-119L311 409c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-119-119L345 137z\"/></svg>"
|
|
12448
12465
|
};
|
|
12449
12466
|
|
|
@@ -12860,7 +12877,7 @@ class GoogleTranslateService {
|
|
|
12860
12877
|
return input;
|
|
12861
12878
|
}
|
|
12862
12879
|
const sourceLang = this._defaultLanguage.toLowerCase();
|
|
12863
|
-
const targetLang = this._clientLanguage.toLowerCase();
|
|
12880
|
+
const targetLang = this._clientLanguage ? this._clientLanguage.toLowerCase() : sourceLang;
|
|
12864
12881
|
const translationList = [input];
|
|
12865
12882
|
// When we do not need a translation
|
|
12866
12883
|
if (!input || (sourceLang === targetLang)) {
|
|
@@ -14725,6 +14742,108 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
14725
14742
|
args: ['class.should-be-hidden']
|
|
14726
14743
|
}] } });
|
|
14727
14744
|
|
|
14745
|
+
var PresetDialogMode;
|
|
14746
|
+
(function (PresetDialogMode) {
|
|
14747
|
+
PresetDialogMode[PresetDialogMode["SAVE"] = 0] = "SAVE";
|
|
14748
|
+
PresetDialogMode[PresetDialogMode["LOAD"] = 1] = "LOAD";
|
|
14749
|
+
})(PresetDialogMode || (PresetDialogMode = {}));
|
|
14750
|
+
|
|
14751
|
+
class ConfigurationPresetComponent {
|
|
14752
|
+
iconService;
|
|
14753
|
+
_appEventService;
|
|
14754
|
+
icons = IconEnum;
|
|
14755
|
+
isSaveLoadMenuOpen = false;
|
|
14756
|
+
showClass() {
|
|
14757
|
+
return true;
|
|
14758
|
+
}
|
|
14759
|
+
closeSaveLoadMenu() {
|
|
14760
|
+
this.isSaveLoadMenuOpen = false;
|
|
14761
|
+
}
|
|
14762
|
+
constructor(iconService, _appEventService) {
|
|
14763
|
+
this.iconService = iconService;
|
|
14764
|
+
this._appEventService = _appEventService;
|
|
14765
|
+
}
|
|
14766
|
+
toggleSaveLoadMenu(event) {
|
|
14767
|
+
event.stopPropagation();
|
|
14768
|
+
this.isSaveLoadMenuOpen = !this.isSaveLoadMenuOpen;
|
|
14769
|
+
}
|
|
14770
|
+
handleSavePresetClicked() {
|
|
14771
|
+
this.isSaveLoadMenuOpen = false;
|
|
14772
|
+
this._appEventService.changeConfigurationPresetDialogMode.next(PresetDialogMode.SAVE);
|
|
14773
|
+
}
|
|
14774
|
+
handleLoadPresetClicked() {
|
|
14775
|
+
this.isSaveLoadMenuOpen = false;
|
|
14776
|
+
this._appEventService.changeConfigurationPresetDialogMode.next(PresetDialogMode.LOAD);
|
|
14777
|
+
}
|
|
14778
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetComponent, deps: [{ token: IconCacheService }, { token: AppEventService }], target: i0.ɵɵFactoryTarget.Component });
|
|
14779
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.18", type: ConfigurationPresetComponent, isStandalone: false, selector: "co-configuration-preset", host: { listeners: { "document:click": "closeSaveLoadMenu()" }, properties: { "class.co-configuration-preset": "this.showClass" } }, ngImport: i0, template: `
|
|
14780
|
+
<div class="save-load-config-wrapper">
|
|
14781
|
+
<div class="open-save-load" (click)="toggleSaveLoadMenu($event)">
|
|
14782
|
+
<co-icon [iconData]="iconService.getIcon(icons.BarsLightFull)"></co-icon>
|
|
14783
|
+
</div>
|
|
14784
|
+
<div
|
|
14785
|
+
class="save-load-configuration-buttons"
|
|
14786
|
+
[class.is-open]="isSaveLoadMenuOpen"
|
|
14787
|
+
(click)="$event.stopPropagation()">
|
|
14788
|
+
<co-button
|
|
14789
|
+
class="preset-button save-preset-button"
|
|
14790
|
+
[iconData]="iconService.getIcon(icons.FloppyDiskLightFull)"
|
|
14791
|
+
[label]="'SAVE_CONFIGURATION' | localize"
|
|
14792
|
+
(onClick)="handleSavePresetClicked()">
|
|
14793
|
+
</co-button>
|
|
14794
|
+
<co-button
|
|
14795
|
+
class="preset-button load-preset-button"
|
|
14796
|
+
[iconData]="iconService.getIcon(icons.FolderOpenLightFull)"
|
|
14797
|
+
[label]="'LOAD_CONFIGURATION' | localize"
|
|
14798
|
+
(onClick)="handleLoadPresetClicked()">
|
|
14799
|
+
</co-button>
|
|
14800
|
+
</div>
|
|
14801
|
+
</div>
|
|
14802
|
+
|
|
14803
|
+
|
|
14804
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i4.ButtonComponent, selector: "co-button", inputs: ["label", "iconData", "iconDataRight", "isToggleButton", "isToggled", "hidden", "disabled"], outputs: ["onClick", "clickedWhileDisabled", "isToggledChange"] }, { kind: "component", type: i4.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }], encapsulation: i0.ViewEncapsulation.None });
|
|
14805
|
+
}
|
|
14806
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetComponent, decorators: [{
|
|
14807
|
+
type: Component,
|
|
14808
|
+
args: [{
|
|
14809
|
+
selector: 'co-configuration-preset',
|
|
14810
|
+
template: `
|
|
14811
|
+
<div class="save-load-config-wrapper">
|
|
14812
|
+
<div class="open-save-load" (click)="toggleSaveLoadMenu($event)">
|
|
14813
|
+
<co-icon [iconData]="iconService.getIcon(icons.BarsLightFull)"></co-icon>
|
|
14814
|
+
</div>
|
|
14815
|
+
<div
|
|
14816
|
+
class="save-load-configuration-buttons"
|
|
14817
|
+
[class.is-open]="isSaveLoadMenuOpen"
|
|
14818
|
+
(click)="$event.stopPropagation()">
|
|
14819
|
+
<co-button
|
|
14820
|
+
class="preset-button save-preset-button"
|
|
14821
|
+
[iconData]="iconService.getIcon(icons.FloppyDiskLightFull)"
|
|
14822
|
+
[label]="'SAVE_CONFIGURATION' | localize"
|
|
14823
|
+
(onClick)="handleSavePresetClicked()">
|
|
14824
|
+
</co-button>
|
|
14825
|
+
<co-button
|
|
14826
|
+
class="preset-button load-preset-button"
|
|
14827
|
+
[iconData]="iconService.getIcon(icons.FolderOpenLightFull)"
|
|
14828
|
+
[label]="'LOAD_CONFIGURATION' | localize"
|
|
14829
|
+
(onClick)="handleLoadPresetClicked()">
|
|
14830
|
+
</co-button>
|
|
14831
|
+
</div>
|
|
14832
|
+
</div>
|
|
14833
|
+
|
|
14834
|
+
|
|
14835
|
+
`,
|
|
14836
|
+
encapsulation: ViewEncapsulation.None,
|
|
14837
|
+
standalone: false
|
|
14838
|
+
}]
|
|
14839
|
+
}], ctorParameters: () => [{ type: IconCacheService }, { type: AppEventService }], propDecorators: { showClass: [{
|
|
14840
|
+
type: HostBinding,
|
|
14841
|
+
args: ['class.co-configuration-preset']
|
|
14842
|
+
}], closeSaveLoadMenu: [{
|
|
14843
|
+
type: HostListener,
|
|
14844
|
+
args: ['document:click']
|
|
14845
|
+
}] } });
|
|
14846
|
+
|
|
14728
14847
|
class SelectionsSummaryComponent {
|
|
14729
14848
|
configuratorConnectorService;
|
|
14730
14849
|
iconService;
|
|
@@ -14737,6 +14856,7 @@ class SelectionsSummaryComponent {
|
|
|
14737
14856
|
canClose = true;
|
|
14738
14857
|
answersTemplate;
|
|
14739
14858
|
answerToShowFromSelectionText;
|
|
14859
|
+
showSaveAndLoadConfiguration;
|
|
14740
14860
|
customDimensions = false;
|
|
14741
14861
|
disableMouse = false;
|
|
14742
14862
|
handledocumentMouseUp(event) {
|
|
@@ -14786,82 +14906,88 @@ class SelectionsSummaryComponent {
|
|
|
14786
14906
|
this.selectionToCustomize = sel;
|
|
14787
14907
|
}
|
|
14788
14908
|
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 });
|
|
14789
|
-
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: `
|
|
14790
|
-
|
|
14791
|
-
|
|
14792
|
-
|
|
14793
|
-
|
|
14794
|
-
|
|
14795
|
-
|
|
14796
|
-
|
|
14797
|
-
|
|
14798
|
-
|
|
14799
|
-
|
|
14800
|
-
|
|
14801
|
-
|
|
14802
|
-
|
|
14803
|
-
|
|
14804
|
-
|
|
14805
|
-
|
|
14806
|
-
|
|
14807
|
-
|
|
14808
|
-
|
|
14809
|
-
|
|
14810
|
-
|
|
14811
|
-
|
|
14812
|
-
|
|
14813
|
-
|
|
14814
|
-
|
|
14815
|
-
|
|
14816
|
-
|
|
14817
|
-
|
|
14818
|
-
|
|
14819
|
-
|
|
14820
|
-
|
|
14821
|
-
|
|
14822
|
-
|
|
14823
|
-
|
|
14824
|
-
|
|
14909
|
+
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", showSaveAndLoadConfiguration: "showSaveAndLoadConfiguration", 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: `
|
|
14910
|
+
@if (showLabel || canClose) {
|
|
14911
|
+
<header class="drawer__header">
|
|
14912
|
+
@if (showLabel) {
|
|
14913
|
+
<h2 class="mat-title">{{ 'CONFIGURATION' | localize }}</h2>
|
|
14914
|
+
}
|
|
14915
|
+
@if (canClose) {
|
|
14916
|
+
<button class="close-lite-selector" (click)="closeClick.emit()">
|
|
14917
|
+
<co-icon [iconData]="iconService.getIcon(icons.Cross)"></co-icon>
|
|
14918
|
+
</button>
|
|
14919
|
+
}
|
|
14920
|
+
</header>
|
|
14921
|
+
}
|
|
14922
|
+
@if (selections && selections.length > 0) {
|
|
14923
|
+
<div class="selections-content small-scrollbar">
|
|
14924
|
+
@for (sel of selections; track sel; let index = $index) {
|
|
14925
|
+
<co-selections-summary-line
|
|
14926
|
+
[selection]="sel"
|
|
14927
|
+
[answersTemplate]="answersTemplate ? answersTemplate : undefined"
|
|
14928
|
+
[answerToShowFromSelectionText]="answerToShowFromSelectionText"
|
|
14929
|
+
[valutaSymbol]="valutaSymbol"
|
|
14930
|
+
(summaryLineClick)="handleClick(sel)"
|
|
14931
|
+
(summaryLineDelete)="handleDelete($event, sel)"
|
|
14932
|
+
(summaryLineRepeat)="handleRepeat($event, sel)"
|
|
14933
|
+
(customizeButtonClicked)="toggleElement(sel)"
|
|
14934
|
+
></co-selections-summary-line>
|
|
14935
|
+
}
|
|
14936
|
+
@if (showSaveAndLoadConfiguration) {
|
|
14937
|
+
<co-configuration-preset></co-configuration-preset>
|
|
14938
|
+
}
|
|
14939
|
+
@if (showAsConfigured) {
|
|
14940
|
+
<div class="sum">
|
|
14941
|
+
<label [textContent]="'AS_CONFIGURED' | localize"></label><span class="total-price"></span>
|
|
14942
|
+
<div class="price"> {{ configuratorConnectorService.totalPrice | priceDisplay }}</div>
|
|
14943
|
+
</div>
|
|
14944
|
+
}
|
|
14945
|
+
</div>
|
|
14946
|
+
}
|
|
14947
|
+
`, isInline: true, dependencies: [{ kind: "component", type: SelectionsSummaryLineComponent, selector: "co-selections-summary-line", inputs: ["selection", "valutaSymbol", "answersTemplate", "answerToShowFromSelectionText"], outputs: ["customizeButtonClicked", "summaryLineClick", "summaryLineRepeat", "summaryLineDelete"] }, { kind: "component", type: i4.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "component", type: ConfigurationPresetComponent, selector: "co-configuration-preset" }, { kind: "pipe", type: LocalizePipe, name: "localize" }, { kind: "pipe", type: i4.PriceDisplayPipe, name: "priceDisplay" }], encapsulation: i0.ViewEncapsulation.None });
|
|
14825
14948
|
}
|
|
14826
14949
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SelectionsSummaryComponent, decorators: [{
|
|
14827
14950
|
type: Component,
|
|
14828
14951
|
args: [{
|
|
14829
14952
|
selector: 'co-selections-summary',
|
|
14830
14953
|
template: `
|
|
14831
|
-
|
|
14832
|
-
|
|
14833
|
-
|
|
14834
|
-
|
|
14835
|
-
|
|
14836
|
-
|
|
14837
|
-
|
|
14838
|
-
|
|
14839
|
-
|
|
14840
|
-
|
|
14841
|
-
|
|
14842
|
-
|
|
14843
|
-
|
|
14844
|
-
|
|
14845
|
-
|
|
14846
|
-
|
|
14847
|
-
|
|
14848
|
-
|
|
14849
|
-
|
|
14850
|
-
|
|
14851
|
-
|
|
14852
|
-
|
|
14853
|
-
|
|
14854
|
-
|
|
14855
|
-
|
|
14856
|
-
|
|
14857
|
-
|
|
14858
|
-
|
|
14859
|
-
|
|
14860
|
-
|
|
14861
|
-
|
|
14862
|
-
|
|
14863
|
-
|
|
14864
|
-
|
|
14954
|
+
@if (showLabel || canClose) {
|
|
14955
|
+
<header class="drawer__header">
|
|
14956
|
+
@if (showLabel) {
|
|
14957
|
+
<h2 class="mat-title">{{ 'CONFIGURATION' | localize }}</h2>
|
|
14958
|
+
}
|
|
14959
|
+
@if (canClose) {
|
|
14960
|
+
<button class="close-lite-selector" (click)="closeClick.emit()">
|
|
14961
|
+
<co-icon [iconData]="iconService.getIcon(icons.Cross)"></co-icon>
|
|
14962
|
+
</button>
|
|
14963
|
+
}
|
|
14964
|
+
</header>
|
|
14965
|
+
}
|
|
14966
|
+
@if (selections && selections.length > 0) {
|
|
14967
|
+
<div class="selections-content small-scrollbar">
|
|
14968
|
+
@for (sel of selections; track sel; let index = $index) {
|
|
14969
|
+
<co-selections-summary-line
|
|
14970
|
+
[selection]="sel"
|
|
14971
|
+
[answersTemplate]="answersTemplate ? answersTemplate : undefined"
|
|
14972
|
+
[answerToShowFromSelectionText]="answerToShowFromSelectionText"
|
|
14973
|
+
[valutaSymbol]="valutaSymbol"
|
|
14974
|
+
(summaryLineClick)="handleClick(sel)"
|
|
14975
|
+
(summaryLineDelete)="handleDelete($event, sel)"
|
|
14976
|
+
(summaryLineRepeat)="handleRepeat($event, sel)"
|
|
14977
|
+
(customizeButtonClicked)="toggleElement(sel)"
|
|
14978
|
+
></co-selections-summary-line>
|
|
14979
|
+
}
|
|
14980
|
+
@if (showSaveAndLoadConfiguration) {
|
|
14981
|
+
<co-configuration-preset></co-configuration-preset>
|
|
14982
|
+
}
|
|
14983
|
+
@if (showAsConfigured) {
|
|
14984
|
+
<div class="sum">
|
|
14985
|
+
<label [textContent]="'AS_CONFIGURED' | localize"></label><span class="total-price"></span>
|
|
14986
|
+
<div class="price"> {{ configuratorConnectorService.totalPrice | priceDisplay }}</div>
|
|
14987
|
+
</div>
|
|
14988
|
+
}
|
|
14989
|
+
</div>
|
|
14990
|
+
}
|
|
14865
14991
|
`,
|
|
14866
14992
|
encapsulation: ViewEncapsulation.None,
|
|
14867
14993
|
standalone: false
|
|
@@ -14879,6 +15005,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
14879
15005
|
type: Input
|
|
14880
15006
|
}], answerToShowFromSelectionText: [{
|
|
14881
15007
|
type: Input
|
|
15008
|
+
}], showSaveAndLoadConfiguration: [{
|
|
15009
|
+
type: Input
|
|
14882
15010
|
}], customDimensions: [{
|
|
14883
15011
|
type: HostBinding,
|
|
14884
15012
|
args: ['class.custom-dimensions']
|
|
@@ -14938,6 +15066,7 @@ class LiteSelectorComponent {
|
|
|
14938
15066
|
canClose = true;
|
|
14939
15067
|
animateSlideout = true;
|
|
14940
15068
|
customDimensions = false;
|
|
15069
|
+
showSaveAndLoadConfiguration;
|
|
14941
15070
|
showChange = new EventEmitter();
|
|
14942
15071
|
answerChosen = new EventEmitter();
|
|
14943
15072
|
answerToShowFromSelectionText;
|
|
@@ -14990,7 +15119,7 @@ class LiteSelectorComponent {
|
|
|
14990
15119
|
// this.iOne.getMoodImageForAnswerSelection(answerSelected.answer, false);
|
|
14991
15120
|
}
|
|
14992
15121
|
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 });
|
|
14993
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: LiteSelectorComponent, isStandalone: false, selector: "co-lite-selector", inputs: { showAnswers: "showAnswers", show: "show", showSelections: "showSelections", 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: `
|
|
15122
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: LiteSelectorComponent, isStandalone: false, selector: "co-lite-selector", inputs: { showAnswers: "showAnswers", show: "show", showSelections: "showSelections", showLabel: "showLabel", canClose: "canClose", animateSlideout: "animateSlideout", customDimensions: "customDimensions", showSaveAndLoadConfiguration: "showSaveAndLoadConfiguration" }, 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: `
|
|
14994
15123
|
<ng-container>
|
|
14995
15124
|
@if (showSelections && configuratorConnectorService.selectionsToDisplay.length > 0) {
|
|
14996
15125
|
<co-selections-summary
|
|
@@ -15002,11 +15131,11 @@ class LiteSelectorComponent {
|
|
|
15002
15131
|
[answersTemplate]="inlineAnswers ? templateAnswers : undefined"
|
|
15003
15132
|
[answerToShowFromSelectionText]="answerToShowFromSelectionText"
|
|
15004
15133
|
[selections]="configuratorConnectorService.selectionsToDisplay"
|
|
15134
|
+
[showSaveAndLoadConfiguration]="showSaveAndLoadConfiguration"
|
|
15005
15135
|
(selectSelection)="onSelectionsSummarySelectSelection($event)"
|
|
15006
15136
|
(repeatSelection)="onSelectionsSummarySelectSelection($event, false, true)"
|
|
15007
15137
|
(deleteSelection)="onSelectionsSummaryDeleteSelection($event)"
|
|
15008
|
-
(closeClick)="onCloseLiteSelectorButtonClick()"
|
|
15009
|
-
>
|
|
15138
|
+
(closeClick)="onCloseLiteSelectorButtonClick()">
|
|
15010
15139
|
</co-selections-summary>
|
|
15011
15140
|
}
|
|
15012
15141
|
@if (!inlineAnswers) {
|
|
@@ -15027,7 +15156,7 @@ class LiteSelectorComponent {
|
|
|
15027
15156
|
(answerChosen)="onAnswersSlideoutAnswerChosen($event)"
|
|
15028
15157
|
></co-answers-slideout>
|
|
15029
15158
|
</ng-template>
|
|
15030
|
-
`, isInline: true, dependencies: [{ kind: "component", type: AnswersSlideoutComponent, selector: "co-answers-slideout", inputs: ["isShown", "question", "showTitle", "showFilter", "answers", "useSlideout", "customDimensions"], outputs: ["isShownChange", "answerChosen"] }, { kind: "directive", type: i6.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: [
|
|
15159
|
+
`, isInline: true, dependencies: [{ kind: "component", type: AnswersSlideoutComponent, selector: "co-answers-slideout", inputs: ["isShown", "question", "showTitle", "showFilter", "answers", "useSlideout", "customDimensions"], outputs: ["isShownChange", "answerChosen"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SelectionsSummaryComponent, selector: "co-selections-summary", inputs: ["selections", "showLabel", "canClose", "answersTemplate", "answerToShowFromSelectionText", "showSaveAndLoadConfiguration", "customDimensions"], outputs: ["closeClick", "cancelAnswers", "selectSelection", "repeatSelection", "deleteSelection"] }], animations: [
|
|
15031
15160
|
trigger('showSelections', [
|
|
15032
15161
|
state('void', style({ 'transform': 'translateX(100%)', opacity: 0 })),
|
|
15033
15162
|
state('*', style({ 'transform': 'translateX(0%)', opacity: 1 })),
|
|
@@ -15051,11 +15180,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15051
15180
|
[answersTemplate]="inlineAnswers ? templateAnswers : undefined"
|
|
15052
15181
|
[answerToShowFromSelectionText]="answerToShowFromSelectionText"
|
|
15053
15182
|
[selections]="configuratorConnectorService.selectionsToDisplay"
|
|
15183
|
+
[showSaveAndLoadConfiguration]="showSaveAndLoadConfiguration"
|
|
15054
15184
|
(selectSelection)="onSelectionsSummarySelectSelection($event)"
|
|
15055
15185
|
(repeatSelection)="onSelectionsSummarySelectSelection($event, false, true)"
|
|
15056
15186
|
(deleteSelection)="onSelectionsSummaryDeleteSelection($event)"
|
|
15057
|
-
(closeClick)="onCloseLiteSelectorButtonClick()"
|
|
15058
|
-
>
|
|
15187
|
+
(closeClick)="onCloseLiteSelectorButtonClick()">
|
|
15059
15188
|
</co-selections-summary>
|
|
15060
15189
|
}
|
|
15061
15190
|
@if (!inlineAnswers) {
|
|
@@ -15110,6 +15239,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15110
15239
|
args: ['class.custom-dimensions']
|
|
15111
15240
|
}, {
|
|
15112
15241
|
type: Input
|
|
15242
|
+
}], showSaveAndLoadConfiguration: [{
|
|
15243
|
+
type: Input
|
|
15113
15244
|
}], showChange: [{
|
|
15114
15245
|
type: Output
|
|
15115
15246
|
}], answerChosen: [{
|
|
@@ -15138,6 +15269,7 @@ class ProductConfiguratorSelectorOptionTileComponent {
|
|
|
15138
15269
|
icons = IconEnum;
|
|
15139
15270
|
option;
|
|
15140
15271
|
tileClass = 'small';
|
|
15272
|
+
noLabel = false;
|
|
15141
15273
|
selectionClicked = new EventEmitter();
|
|
15142
15274
|
constructor(configuratorConnectorService, iconService, settingsService) {
|
|
15143
15275
|
this.configuratorConnectorService = configuratorConnectorService;
|
|
@@ -15148,7 +15280,7 @@ class ProductConfiguratorSelectorOptionTileComponent {
|
|
|
15148
15280
|
this.selectionClicked.emit();
|
|
15149
15281
|
}
|
|
15150
15282
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ProductConfiguratorSelectorOptionTileComponent, deps: [{ token: ConfiguratorConnectorService }, { token: IconCacheService }, { token: SettingsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
15151
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ProductConfiguratorSelectorOptionTileComponent, isStandalone: false, selector: "co-product-configurator-selector-option-tile", inputs: { option: "option", tileClass: "tileClass" }, outputs: { selectionClicked: "selectionClicked" }, host: { properties: { "class.co-product-configurator-selector-option-tile": "this.showClass" } }, ngImport: i0, template: `
|
|
15283
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ProductConfiguratorSelectorOptionTileComponent, isStandalone: false, selector: "co-product-configurator-selector-option-tile", inputs: { option: "option", tileClass: "tileClass", noLabel: "noLabel" }, outputs: { selectionClicked: "selectionClicked" }, host: { properties: { "class.co-product-configurator-selector-option-tile": "this.showClass" } }, ngImport: i0, template: `
|
|
15152
15284
|
<!-- When selected show checkmark -->
|
|
15153
15285
|
<div
|
|
15154
15286
|
class="configurator-selector-option-tile-container configurator-selector-option-tile-container-{{this.tileClass}}"
|
|
@@ -15172,14 +15304,16 @@ class ProductConfiguratorSelectorOptionTileComponent {
|
|
|
15172
15304
|
}
|
|
15173
15305
|
</div>
|
|
15174
15306
|
<!-- Answer text -->
|
|
15175
|
-
|
|
15176
|
-
|
|
15177
|
-
|
|
15178
|
-
|
|
15179
|
-
|
|
15180
|
-
|
|
15307
|
+
@if (!noLabel) {
|
|
15308
|
+
<div class="product-configurator-selector-option-tile-description">
|
|
15309
|
+
@if (option.nodeText) {
|
|
15310
|
+
<p [textContent]="option.nodeText | googleTranslate | async"></p>
|
|
15311
|
+
}
|
|
15312
|
+
@if (!option.nodeText) {
|
|
15313
|
+
<p [textContent]="'Skip / Cancel' | googleTranslate | async"></p>
|
|
15314
|
+
}
|
|
15315
|
+
</div>
|
|
15181
15316
|
}
|
|
15182
|
-
</div>
|
|
15183
15317
|
</div>
|
|
15184
15318
|
`, isInline: true, dependencies: [{ kind: "component", type: i4.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: GoogleTranslatePipe, name: "googleTranslate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
15185
15319
|
}
|
|
@@ -15211,14 +15345,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15211
15345
|
}
|
|
15212
15346
|
</div>
|
|
15213
15347
|
<!-- Answer text -->
|
|
15214
|
-
|
|
15215
|
-
|
|
15216
|
-
|
|
15217
|
-
|
|
15218
|
-
|
|
15219
|
-
|
|
15348
|
+
@if (!noLabel) {
|
|
15349
|
+
<div class="product-configurator-selector-option-tile-description">
|
|
15350
|
+
@if (option.nodeText) {
|
|
15351
|
+
<p [textContent]="option.nodeText | googleTranslate | async"></p>
|
|
15352
|
+
}
|
|
15353
|
+
@if (!option.nodeText) {
|
|
15354
|
+
<p [textContent]="'Skip / Cancel' | googleTranslate | async"></p>
|
|
15355
|
+
}
|
|
15356
|
+
</div>
|
|
15220
15357
|
}
|
|
15221
|
-
</div>
|
|
15222
15358
|
</div>
|
|
15223
15359
|
`,
|
|
15224
15360
|
encapsulation: ViewEncapsulation.None,
|
|
@@ -15231,6 +15367,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15231
15367
|
type: Input
|
|
15232
15368
|
}], tileClass: [{
|
|
15233
15369
|
type: Input
|
|
15370
|
+
}], noLabel: [{
|
|
15371
|
+
type: Input
|
|
15234
15372
|
}], selectionClicked: [{
|
|
15235
15373
|
type: Output
|
|
15236
15374
|
}] } });
|
|
@@ -15497,13 +15635,24 @@ class ProductConfiguratorSelectorOptionComponent {
|
|
|
15497
15635
|
selection;
|
|
15498
15636
|
listOfChoices;
|
|
15499
15637
|
markAsException;
|
|
15638
|
+
showGlobalAll = false;
|
|
15639
|
+
groupedSubShow = true;
|
|
15500
15640
|
configurationDisplayOption = ConfigurationDisplayOption;
|
|
15501
15641
|
selectionClass = '';
|
|
15502
15642
|
showAllTiles = false;
|
|
15503
15643
|
maxVisibleTiles = 10;
|
|
15504
|
-
maxVisibleSmallTiles =
|
|
15644
|
+
maxVisibleSmallTiles = 7;
|
|
15505
15645
|
visibleAnswers = [];
|
|
15506
15646
|
remainingTilesCount = 0;
|
|
15647
|
+
smallTileOptions = [
|
|
15648
|
+
ConfigurationDisplayOption.TileSmall,
|
|
15649
|
+
ConfigurationDisplayOption.SmallCircle,
|
|
15650
|
+
ConfigurationDisplayOption.SmallSquare
|
|
15651
|
+
];
|
|
15652
|
+
largeTileOptions = [
|
|
15653
|
+
ConfigurationDisplayOption.TileLarge,
|
|
15654
|
+
ConfigurationDisplayOption.TileRounded
|
|
15655
|
+
];
|
|
15507
15656
|
constructor(configuratorConnectorService, settingsService, productConfiguratorService) {
|
|
15508
15657
|
this.configuratorConnectorService = configuratorConnectorService;
|
|
15509
15658
|
this.settingsService = settingsService;
|
|
@@ -15511,7 +15660,7 @@ class ProductConfiguratorSelectorOptionComponent {
|
|
|
15511
15660
|
}
|
|
15512
15661
|
ngOnInit() {
|
|
15513
15662
|
if (this.selection && this.selection.displayOptionControl == null) {
|
|
15514
|
-
this.selection.displayOptionControl = ConfigurationDisplayOption.
|
|
15663
|
+
this.selection.displayOptionControl = ConfigurationDisplayOption.TileLarge;
|
|
15515
15664
|
}
|
|
15516
15665
|
if (this.markAsException) {
|
|
15517
15666
|
this.selectionClass = 'selection-exception selection-container-' + this.selection.displayOptionControl;
|
|
@@ -15527,8 +15676,23 @@ class ProductConfiguratorSelectorOptionComponent {
|
|
|
15527
15676
|
this.configuratorConnectorService.getImageForAnswer(selectionCopy);
|
|
15528
15677
|
this.listOfChoices.push(selectionCopy);
|
|
15529
15678
|
}
|
|
15679
|
+
if (this.showGlobalAll) {
|
|
15680
|
+
this.showAllTiles = true;
|
|
15681
|
+
}
|
|
15530
15682
|
this._calculateVisibleAnswers();
|
|
15531
15683
|
}
|
|
15684
|
+
ngOnChanges(changes) {
|
|
15685
|
+
if (changes.showGlobalAll && !changes.showGlobalAll.firstChange) {
|
|
15686
|
+
this.showAllTiles = !!changes.showGlobalAll.currentValue;
|
|
15687
|
+
this._calculateVisibleAnswers();
|
|
15688
|
+
}
|
|
15689
|
+
if (changes.listOfChoices && !changes.listOfChoices.firstChange) {
|
|
15690
|
+
this._calculateVisibleAnswers();
|
|
15691
|
+
}
|
|
15692
|
+
if (changes.selection && !changes.selection.firstChange) {
|
|
15693
|
+
this._calculateVisibleAnswers();
|
|
15694
|
+
}
|
|
15695
|
+
}
|
|
15532
15696
|
selectionClicked(answer) {
|
|
15533
15697
|
this.productConfiguratorService.selectSelection.emit(answer);
|
|
15534
15698
|
}
|
|
@@ -15540,23 +15704,39 @@ class ProductConfiguratorSelectorOptionComponent {
|
|
|
15540
15704
|
this.showAllTiles = false;
|
|
15541
15705
|
this._calculateVisibleAnswers();
|
|
15542
15706
|
}
|
|
15707
|
+
getTileClass() {
|
|
15708
|
+
switch (this.selection.displayOptionControl) {
|
|
15709
|
+
case this.configurationDisplayOption.TileLarge:
|
|
15710
|
+
return 'large';
|
|
15711
|
+
case this.configurationDisplayOption.TileRounded:
|
|
15712
|
+
return 'rounded';
|
|
15713
|
+
case this.configurationDisplayOption.SmallCircle:
|
|
15714
|
+
return 'small-rounded';
|
|
15715
|
+
case this.configurationDisplayOption.SmallSquare:
|
|
15716
|
+
return 'small-square';
|
|
15717
|
+
default:
|
|
15718
|
+
return 'small';
|
|
15719
|
+
}
|
|
15720
|
+
}
|
|
15543
15721
|
_calculateVisibleAnswers() {
|
|
15544
|
-
if (this.selection.displayOptionControl
|
|
15545
|
-
|
|
15546
|
-
|
|
15547
|
-
|
|
15548
|
-
|
|
15549
|
-
|
|
15550
|
-
|
|
15722
|
+
if (this.largeTileOptions.includes(this.selection.displayOptionControl)) {
|
|
15723
|
+
const configuredMaxVisibleTiles = this.settingsService?.settings?.options?.maxVisibleTiles;
|
|
15724
|
+
if (configuredMaxVisibleTiles != null) {
|
|
15725
|
+
this.maxVisibleTiles = configuredMaxVisibleTiles;
|
|
15726
|
+
}
|
|
15727
|
+
this.visibleAnswers = this.showAllTiles
|
|
15728
|
+
? this.listOfChoices
|
|
15729
|
+
: this.listOfChoices.slice(0, this.maxVisibleTiles);
|
|
15551
15730
|
this.remainingTilesCount = Math.max(0, this.listOfChoices.length - this.maxVisibleTiles);
|
|
15552
15731
|
}
|
|
15553
|
-
else if (this.selection.displayOptionControl
|
|
15554
|
-
|
|
15555
|
-
|
|
15556
|
-
|
|
15557
|
-
else {
|
|
15558
|
-
this.visibleAnswers = this.listOfChoices.slice(0, this.maxVisibleSmallTiles);
|
|
15732
|
+
else if (this.smallTileOptions.includes(this.selection.displayOptionControl)) {
|
|
15733
|
+
const configuredMaxVisibleTiles = this.settingsService?.settings?.options?.maxVisibleSmallTiles;
|
|
15734
|
+
if (configuredMaxVisibleTiles != null) {
|
|
15735
|
+
this.maxVisibleSmallTiles = configuredMaxVisibleTiles;
|
|
15559
15736
|
}
|
|
15737
|
+
this.visibleAnswers = this.showAllTiles
|
|
15738
|
+
? this.listOfChoices
|
|
15739
|
+
: this.listOfChoices.slice(0, this.maxVisibleSmallTiles);
|
|
15560
15740
|
this.remainingTilesCount = Math.max(0, this.listOfChoices.length - this.maxVisibleSmallTiles);
|
|
15561
15741
|
}
|
|
15562
15742
|
else {
|
|
@@ -15565,11 +15745,11 @@ class ProductConfiguratorSelectorOptionComponent {
|
|
|
15565
15745
|
}
|
|
15566
15746
|
}
|
|
15567
15747
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ProductConfiguratorSelectorOptionComponent, deps: [{ token: ConfiguratorConnectorService }, { token: SettingsService }, { token: ProductConfiguratorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
15568
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ProductConfiguratorSelectorOptionComponent, isStandalone: false, selector: "co-product-configurator-selector-option", inputs: { selection: "selection", listOfChoices: "listOfChoices", markAsException: "markAsException" }, host: { properties: { "class.co-product-configurator-selector-option": "this.showClass" } }, ngImport: i0, template: `
|
|
15748
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ProductConfiguratorSelectorOptionComponent, isStandalone: false, selector: "co-product-configurator-selector-option", inputs: { selection: "selection", listOfChoices: "listOfChoices", markAsException: "markAsException", showGlobalAll: "showGlobalAll", groupedSubShow: "groupedSubShow" }, host: { properties: { "class.co-product-configurator-selector-option": "this.showClass" } }, usesOnChanges: true, ngImport: i0, template: `
|
|
15569
15749
|
<div class="selector-wrapper {{this.selectionClass}}">
|
|
15570
15750
|
@if (this.selection.displayOptionControl !== configurationDisplayOption.DropDown
|
|
15571
|
-
&& this.selection.displayOptionControl
|
|
15572
|
-
&& this.selection.displayOptionControl
|
|
15751
|
+
&& !this.largeTileOptions.includes(this.selection.displayOptionControl)
|
|
15752
|
+
&& !this.smallTileOptions.includes(this.selection.displayOptionControl)) {
|
|
15573
15753
|
@for (child of listOfChoices; track child) {
|
|
15574
15754
|
<div class="selector-option-wrapper" [class.active]="child.selected ==='F'">
|
|
15575
15755
|
@if (this.selection.displayOptionControl === configurationDisplayOption.Button) {
|
|
@@ -15591,18 +15771,25 @@ class ProductConfiguratorSelectorOptionComponent {
|
|
|
15591
15771
|
(selectionClicked)="selectionClicked(child)">
|
|
15592
15772
|
</co-product-configurator-selector-option-tile>
|
|
15593
15773
|
}
|
|
15594
|
-
@if (this.selection.displayOptionControl === configurationDisplayOption.
|
|
15774
|
+
@if (this.selection.displayOptionControl === configurationDisplayOption.HorizontalTiles) {
|
|
15595
15775
|
<co-product-configurator-selector-option-tile
|
|
15596
15776
|
[option]="child"
|
|
15597
|
-
[tileClass]="'
|
|
15777
|
+
[tileClass]="'horizontal'"
|
|
15598
15778
|
(selectionClicked)="selectionClicked(child)">
|
|
15599
15779
|
</co-product-configurator-selector-option-tile>
|
|
15600
15780
|
}
|
|
15601
|
-
@if (this.selection.displayOptionControl === configurationDisplayOption.
|
|
15781
|
+
@if (this.selection.displayOptionControl === configurationDisplayOption.OnPage) {
|
|
15602
15782
|
<co-product-configurator-selector-option-tile
|
|
15603
|
-
|
|
15604
|
-
|
|
15605
|
-
|
|
15783
|
+
[option]="child"
|
|
15784
|
+
[tileClass]="'on-page'"
|
|
15785
|
+
(selectionClicked)="selectionClicked(child)">
|
|
15786
|
+
</co-product-configurator-selector-option-tile>
|
|
15787
|
+
}
|
|
15788
|
+
@if (this.selection.displayOptionControl === configurationDisplayOption.SlideOut) {
|
|
15789
|
+
<co-product-configurator-selector-option-tile
|
|
15790
|
+
[option]="child"
|
|
15791
|
+
[tileClass]="'slide-out'"
|
|
15792
|
+
(selectionClicked)="selectionClicked(child)">
|
|
15606
15793
|
</co-product-configurator-selector-option-tile>
|
|
15607
15794
|
}
|
|
15608
15795
|
</div>
|
|
@@ -15610,13 +15797,14 @@ class ProductConfiguratorSelectorOptionComponent {
|
|
|
15610
15797
|
}
|
|
15611
15798
|
|
|
15612
15799
|
@if (
|
|
15613
|
-
|
|
15614
|
-
|
|
15800
|
+
this.largeTileOptions.includes(this.selection.displayOptionControl)
|
|
15801
|
+
|| this.smallTileOptions.includes(this.selection.displayOptionControl)) {
|
|
15615
15802
|
@for (child of visibleAnswers; track child) {
|
|
15616
15803
|
<div class="selector-option-wrapper" [class.active]="child.selected ==='F'">
|
|
15617
15804
|
<co-product-configurator-selector-option-tile
|
|
15618
15805
|
[option]="child"
|
|
15619
|
-
[
|
|
15806
|
+
[noLabel]="this.selection.displayOptionControl === configurationDisplayOption.SmallCircle || this.selection.displayOptionControl === configurationDisplayOption.SmallSquare"
|
|
15807
|
+
[tileClass]="getTileClass()"
|
|
15620
15808
|
(selectionClicked)="selectionClicked(child)"
|
|
15621
15809
|
></co-product-configurator-selector-option-tile>
|
|
15622
15810
|
</div>
|
|
@@ -15624,18 +15812,16 @@ class ProductConfiguratorSelectorOptionComponent {
|
|
|
15624
15812
|
}
|
|
15625
15813
|
|
|
15626
15814
|
@if (this.selection.displayOptionControl === configurationDisplayOption.DropDown) {
|
|
15627
|
-
|
|
15628
|
-
|
|
15629
|
-
|
|
15630
|
-
|
|
15631
|
-
></co-product-configurator-selector-option-dropdown>
|
|
15632
|
-
}
|
|
15815
|
+
<co-product-configurator-selector-option-dropdown
|
|
15816
|
+
[options]="listOfChoices"
|
|
15817
|
+
(selectionClicked)="selectionClicked($event)"
|
|
15818
|
+
></co-product-configurator-selector-option-dropdown>
|
|
15633
15819
|
}
|
|
15634
15820
|
</div>
|
|
15635
15821
|
|
|
15636
15822
|
@if (
|
|
15637
|
-
|
|
15638
|
-
|
|
15823
|
+
(this.largeTileOptions.includes(this.selection.displayOptionControl) ||
|
|
15824
|
+
this.smallTileOptions.includes(this.selection.displayOptionControl)) && groupedSubShow) {
|
|
15639
15825
|
@if (!showAllTiles && remainingTilesCount > 0) {
|
|
15640
15826
|
<div class="show-more-container">
|
|
15641
15827
|
<span (click)="showMore()">
|
|
@@ -15652,7 +15838,7 @@ class ProductConfiguratorSelectorOptionComponent {
|
|
|
15652
15838
|
}
|
|
15653
15839
|
}
|
|
15654
15840
|
|
|
15655
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ProductConfiguratorSelectorOptionTileComponent, selector: "co-product-configurator-selector-option-tile", inputs: ["option", "tileClass"], outputs: ["selectionClicked"] }, { kind: "component", type: ProductConfiguratorOptionCheckboxComponent, selector: "co-product-configurator-option-checkbox", inputs: ["option"], outputs: ["selectionClicked"] }, { kind: "component", type: ProductConfiguratorSelectorOptionButtonComponent, selector: "co-product-configurator-selector-option-button", inputs: ["option"], outputs: ["selectionClicked"] }, { kind: "component", type: ProductConfiguratorSelectorOptionDropDownComponent, selector: "co-product-configurator-selector-option-dropdown", inputs: ["options", "tileClass"], outputs: ["selectionClicked"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }], animations: [
|
|
15841
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ProductConfiguratorSelectorOptionTileComponent, selector: "co-product-configurator-selector-option-tile", inputs: ["option", "tileClass", "noLabel"], outputs: ["selectionClicked"] }, { kind: "component", type: ProductConfiguratorOptionCheckboxComponent, selector: "co-product-configurator-option-checkbox", inputs: ["option"], outputs: ["selectionClicked"] }, { kind: "component", type: ProductConfiguratorSelectorOptionButtonComponent, selector: "co-product-configurator-selector-option-button", inputs: ["option"], outputs: ["selectionClicked"] }, { kind: "component", type: ProductConfiguratorSelectorOptionDropDownComponent, selector: "co-product-configurator-selector-option-dropdown", inputs: ["options", "tileClass"], outputs: ["selectionClicked"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }], animations: [
|
|
15656
15842
|
trigger('showSelections', [
|
|
15657
15843
|
state('void', style({ 'transform': 'translateX(100%)', opacity: 0 })),
|
|
15658
15844
|
state('*', style({ 'transform': 'translateX(0%)', opacity: 1 })),
|
|
@@ -15667,8 +15853,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15667
15853
|
template: `
|
|
15668
15854
|
<div class="selector-wrapper {{this.selectionClass}}">
|
|
15669
15855
|
@if (this.selection.displayOptionControl !== configurationDisplayOption.DropDown
|
|
15670
|
-
&& this.selection.displayOptionControl
|
|
15671
|
-
&& this.selection.displayOptionControl
|
|
15856
|
+
&& !this.largeTileOptions.includes(this.selection.displayOptionControl)
|
|
15857
|
+
&& !this.smallTileOptions.includes(this.selection.displayOptionControl)) {
|
|
15672
15858
|
@for (child of listOfChoices; track child) {
|
|
15673
15859
|
<div class="selector-option-wrapper" [class.active]="child.selected ==='F'">
|
|
15674
15860
|
@if (this.selection.displayOptionControl === configurationDisplayOption.Button) {
|
|
@@ -15690,18 +15876,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15690
15876
|
(selectionClicked)="selectionClicked(child)">
|
|
15691
15877
|
</co-product-configurator-selector-option-tile>
|
|
15692
15878
|
}
|
|
15693
|
-
@if (this.selection.displayOptionControl === configurationDisplayOption.
|
|
15879
|
+
@if (this.selection.displayOptionControl === configurationDisplayOption.HorizontalTiles) {
|
|
15694
15880
|
<co-product-configurator-selector-option-tile
|
|
15695
15881
|
[option]="child"
|
|
15696
|
-
[tileClass]="'
|
|
15882
|
+
[tileClass]="'horizontal'"
|
|
15697
15883
|
(selectionClicked)="selectionClicked(child)">
|
|
15698
15884
|
</co-product-configurator-selector-option-tile>
|
|
15699
15885
|
}
|
|
15700
|
-
@if (this.selection.displayOptionControl === configurationDisplayOption.
|
|
15886
|
+
@if (this.selection.displayOptionControl === configurationDisplayOption.OnPage) {
|
|
15701
15887
|
<co-product-configurator-selector-option-tile
|
|
15702
|
-
|
|
15703
|
-
|
|
15704
|
-
|
|
15888
|
+
[option]="child"
|
|
15889
|
+
[tileClass]="'on-page'"
|
|
15890
|
+
(selectionClicked)="selectionClicked(child)">
|
|
15891
|
+
</co-product-configurator-selector-option-tile>
|
|
15892
|
+
}
|
|
15893
|
+
@if (this.selection.displayOptionControl === configurationDisplayOption.SlideOut) {
|
|
15894
|
+
<co-product-configurator-selector-option-tile
|
|
15895
|
+
[option]="child"
|
|
15896
|
+
[tileClass]="'slide-out'"
|
|
15897
|
+
(selectionClicked)="selectionClicked(child)">
|
|
15705
15898
|
</co-product-configurator-selector-option-tile>
|
|
15706
15899
|
}
|
|
15707
15900
|
</div>
|
|
@@ -15709,13 +15902,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15709
15902
|
}
|
|
15710
15903
|
|
|
15711
15904
|
@if (
|
|
15712
|
-
|
|
15713
|
-
|
|
15905
|
+
this.largeTileOptions.includes(this.selection.displayOptionControl)
|
|
15906
|
+
|| this.smallTileOptions.includes(this.selection.displayOptionControl)) {
|
|
15714
15907
|
@for (child of visibleAnswers; track child) {
|
|
15715
15908
|
<div class="selector-option-wrapper" [class.active]="child.selected ==='F'">
|
|
15716
15909
|
<co-product-configurator-selector-option-tile
|
|
15717
15910
|
[option]="child"
|
|
15718
|
-
[
|
|
15911
|
+
[noLabel]="this.selection.displayOptionControl === configurationDisplayOption.SmallCircle || this.selection.displayOptionControl === configurationDisplayOption.SmallSquare"
|
|
15912
|
+
[tileClass]="getTileClass()"
|
|
15719
15913
|
(selectionClicked)="selectionClicked(child)"
|
|
15720
15914
|
></co-product-configurator-selector-option-tile>
|
|
15721
15915
|
</div>
|
|
@@ -15723,18 +15917,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15723
15917
|
}
|
|
15724
15918
|
|
|
15725
15919
|
@if (this.selection.displayOptionControl === configurationDisplayOption.DropDown) {
|
|
15726
|
-
|
|
15727
|
-
|
|
15728
|
-
|
|
15729
|
-
|
|
15730
|
-
></co-product-configurator-selector-option-dropdown>
|
|
15731
|
-
}
|
|
15920
|
+
<co-product-configurator-selector-option-dropdown
|
|
15921
|
+
[options]="listOfChoices"
|
|
15922
|
+
(selectionClicked)="selectionClicked($event)"
|
|
15923
|
+
></co-product-configurator-selector-option-dropdown>
|
|
15732
15924
|
}
|
|
15733
15925
|
</div>
|
|
15734
15926
|
|
|
15735
15927
|
@if (
|
|
15736
|
-
|
|
15737
|
-
|
|
15928
|
+
(this.largeTileOptions.includes(this.selection.displayOptionControl) ||
|
|
15929
|
+
this.smallTileOptions.includes(this.selection.displayOptionControl)) && groupedSubShow) {
|
|
15738
15930
|
@if (!showAllTiles && remainingTilesCount > 0) {
|
|
15739
15931
|
<div class="show-more-container">
|
|
15740
15932
|
<span (click)="showMore()">
|
|
@@ -15771,25 +15963,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15771
15963
|
type: Input
|
|
15772
15964
|
}], markAsException: [{
|
|
15773
15965
|
type: Input
|
|
15966
|
+
}], showGlobalAll: [{
|
|
15967
|
+
type: Input
|
|
15968
|
+
}], groupedSubShow: [{
|
|
15969
|
+
type: Input
|
|
15774
15970
|
}] } });
|
|
15775
15971
|
|
|
15776
15972
|
class ProductConfiguratorSelectorComponent {
|
|
15777
15973
|
configuratorConnectorService;
|
|
15778
15974
|
settingsService;
|
|
15779
15975
|
iconService;
|
|
15780
|
-
showClass() {
|
|
15781
|
-
return true;
|
|
15782
|
-
}
|
|
15783
|
-
icons = IconEnum;
|
|
15784
|
-
exceptionContainer;
|
|
15785
15976
|
get hostClasses() {
|
|
15786
|
-
const classes = [
|
|
15787
|
-
|
|
15788
|
-
|
|
15789
|
-
|
|
15977
|
+
const classes = [
|
|
15978
|
+
'co-product-configurator-selector',
|
|
15979
|
+
`treelevel-${this.treeLevelIndex}`
|
|
15980
|
+
];
|
|
15981
|
+
if (!this._shouldBeVisible()) {
|
|
15982
|
+
classes.push('hidden-frontend');
|
|
15790
15983
|
}
|
|
15791
15984
|
return classes.join(' ');
|
|
15792
15985
|
}
|
|
15986
|
+
icons = IconEnum;
|
|
15987
|
+
exceptionContainer;
|
|
15793
15988
|
selection;
|
|
15794
15989
|
options;
|
|
15795
15990
|
lastNodeWithChildren;
|
|
@@ -15797,13 +15992,37 @@ class ProductConfiguratorSelectorComponent {
|
|
|
15797
15992
|
treeLevelIndex = 1;
|
|
15798
15993
|
isActive = true;
|
|
15799
15994
|
markAsException = false;
|
|
15995
|
+
showAll = false;
|
|
15996
|
+
suppressSubShowMore = false;
|
|
15997
|
+
useGroupedParentVisibility = false;
|
|
15800
15998
|
activate = new EventEmitter();
|
|
15801
|
-
get selectionIndexText() {
|
|
15802
|
-
return this.selectionIndex + '. ';
|
|
15803
|
-
}
|
|
15804
15999
|
selectionClass = '';
|
|
15805
16000
|
listOfChoices = [];
|
|
15806
16001
|
activeChildIndex = 0;
|
|
16002
|
+
localShowAll = false;
|
|
16003
|
+
get selectionIndexText() {
|
|
16004
|
+
return this.selectionIndex + '. ';
|
|
16005
|
+
}
|
|
16006
|
+
get expandButtonText() {
|
|
16007
|
+
if (this.getChildShowAll()) {
|
|
16008
|
+
return 'VIEW_LESS';
|
|
16009
|
+
}
|
|
16010
|
+
return this.groupedRemainingTilesCount > 0
|
|
16011
|
+
? `SHOW_ALL`
|
|
16012
|
+
: 'SHOW_ALL';
|
|
16013
|
+
}
|
|
16014
|
+
get suppressSubShowMoreForChildren() {
|
|
16015
|
+
return this.suppressSubShowMore || this.isGroupedSection();
|
|
16016
|
+
}
|
|
16017
|
+
get groupedRemainingTilesCount() {
|
|
16018
|
+
if (!this.isGroupedSection() || this.getChildShowAll()) {
|
|
16019
|
+
return 0;
|
|
16020
|
+
}
|
|
16021
|
+
return this._countGroupedTilesToReveal(this.options);
|
|
16022
|
+
}
|
|
16023
|
+
get useGroupedVisibilityForChildren() {
|
|
16024
|
+
return this.useGroupedParentVisibility || this.isGroupedSection();
|
|
16025
|
+
}
|
|
15807
16026
|
constructor(configuratorConnectorService, settingsService, iconService) {
|
|
15808
16027
|
this.configuratorConnectorService = configuratorConnectorService;
|
|
15809
16028
|
this.settingsService = settingsService;
|
|
@@ -15825,6 +16044,15 @@ class ProductConfiguratorSelectorComponent {
|
|
|
15825
16044
|
if (this.markAsException) {
|
|
15826
16045
|
this.showAndScroll();
|
|
15827
16046
|
}
|
|
16047
|
+
this._setActiveChildIndexFromSelection();
|
|
16048
|
+
}
|
|
16049
|
+
ngOnChanges(changes) {
|
|
16050
|
+
if (changes.options && !changes.options.firstChange) {
|
|
16051
|
+
this._setActiveChildIndexFromSelection();
|
|
16052
|
+
}
|
|
16053
|
+
if (changes.showAll && !changes.showAll.firstChange) {
|
|
16054
|
+
this._setActiveChildIndexFromSelection();
|
|
16055
|
+
}
|
|
15828
16056
|
}
|
|
15829
16057
|
showAndScroll() {
|
|
15830
16058
|
setTimeout(() => {
|
|
@@ -15834,8 +16062,128 @@ class ProductConfiguratorSelectorComponent {
|
|
|
15834
16062
|
onSubHeaderClick() {
|
|
15835
16063
|
this.activate.emit();
|
|
15836
16064
|
}
|
|
16065
|
+
onShowAllClick() {
|
|
16066
|
+
this.localShowAll = !this.localShowAll;
|
|
16067
|
+
}
|
|
16068
|
+
getIsChildVisible(index) {
|
|
16069
|
+
if (!this.useGroupedVisibilityForChildren) {
|
|
16070
|
+
return true;
|
|
16071
|
+
}
|
|
16072
|
+
if (this.getChildShowAll()) {
|
|
16073
|
+
return true;
|
|
16074
|
+
}
|
|
16075
|
+
return index === this.activeChildIndex;
|
|
16076
|
+
}
|
|
16077
|
+
isGroupedSection() {
|
|
16078
|
+
return this.treeLevelIndex === 1
|
|
16079
|
+
&& !this.lastNodeWithChildren
|
|
16080
|
+
&& this.settingsService.settings.options.groupedShowAllBtn
|
|
16081
|
+
&& Array.isArray(this.options)
|
|
16082
|
+
&& this.options.length > 1;
|
|
16083
|
+
}
|
|
16084
|
+
shouldShowExpandButton() {
|
|
16085
|
+
return this.isGroupedSection();
|
|
16086
|
+
}
|
|
16087
|
+
getChildShowAll() {
|
|
16088
|
+
return this.showAll || this.localShowAll;
|
|
16089
|
+
}
|
|
16090
|
+
_shouldBeVisible() {
|
|
16091
|
+
if (!this.useGroupedVisibilityForChildren) {
|
|
16092
|
+
return true;
|
|
16093
|
+
}
|
|
16094
|
+
if (this.getChildShowAll()) {
|
|
16095
|
+
return true;
|
|
16096
|
+
}
|
|
16097
|
+
return this.isActive;
|
|
16098
|
+
}
|
|
16099
|
+
_setActiveChildIndexFromSelection() {
|
|
16100
|
+
if (!Array.isArray(this.options) || this.options.length === 0) {
|
|
16101
|
+
this.activeChildIndex = 0;
|
|
16102
|
+
return;
|
|
16103
|
+
}
|
|
16104
|
+
const selectedIndex = this.options.findIndex(option => this._hasSelectedOption(option));
|
|
16105
|
+
this.activeChildIndex = selectedIndex >= 0 ? selectedIndex : 0;
|
|
16106
|
+
}
|
|
16107
|
+
_hasSelectedOption(option) {
|
|
16108
|
+
if (!option) {
|
|
16109
|
+
return false;
|
|
16110
|
+
}
|
|
16111
|
+
if (option.selector && option.selector.selected === 'F') {
|
|
16112
|
+
return true;
|
|
16113
|
+
}
|
|
16114
|
+
if (!Array.isArray(option.selectorOptions) || option.selectorOptions.length === 0) {
|
|
16115
|
+
return false;
|
|
16116
|
+
}
|
|
16117
|
+
return option.selectorOptions.some(childOption => this._hasSelectedOption(childOption));
|
|
16118
|
+
}
|
|
16119
|
+
_countRemainingTiles(options) {
|
|
16120
|
+
if (!Array.isArray(options) || options.length === 0) {
|
|
16121
|
+
return 0;
|
|
16122
|
+
}
|
|
16123
|
+
let total = 0;
|
|
16124
|
+
for (const option of options) {
|
|
16125
|
+
if (!option) {
|
|
16126
|
+
continue;
|
|
16127
|
+
}
|
|
16128
|
+
if (option.lastNodeWithChildren) {
|
|
16129
|
+
total += this._remainingTilesForLeaf(option);
|
|
16130
|
+
}
|
|
16131
|
+
else if (Array.isArray(option.selectorOptions)) {
|
|
16132
|
+
total += this._countRemainingTiles(option.selectorOptions);
|
|
16133
|
+
}
|
|
16134
|
+
}
|
|
16135
|
+
return total;
|
|
16136
|
+
}
|
|
16137
|
+
_countGroupedTilesToReveal(options) {
|
|
16138
|
+
if (!Array.isArray(options) || options.length === 0) {
|
|
16139
|
+
return 0;
|
|
16140
|
+
}
|
|
16141
|
+
let total = 0;
|
|
16142
|
+
options.forEach((option, index) => {
|
|
16143
|
+
if (index === this.activeChildIndex) {
|
|
16144
|
+
total += this._countRemainingTiles([option]);
|
|
16145
|
+
}
|
|
16146
|
+
else {
|
|
16147
|
+
total += this._countAllTiles(option);
|
|
16148
|
+
}
|
|
16149
|
+
});
|
|
16150
|
+
return total;
|
|
16151
|
+
}
|
|
16152
|
+
_countAllTiles(option) {
|
|
16153
|
+
if (!option) {
|
|
16154
|
+
return 0;
|
|
16155
|
+
}
|
|
16156
|
+
if (option.lastNodeWithChildren) {
|
|
16157
|
+
return Array.isArray(option.selectorOptions)
|
|
16158
|
+
? option.selectorOptions.length
|
|
16159
|
+
: 0;
|
|
16160
|
+
}
|
|
16161
|
+
if (!Array.isArray(option.selectorOptions)) {
|
|
16162
|
+
return 0;
|
|
16163
|
+
}
|
|
16164
|
+
return option.selectorOptions.reduce((total, childOption) => total + this._countAllTiles(childOption), 0);
|
|
16165
|
+
}
|
|
16166
|
+
_remainingTilesForLeaf(option) {
|
|
16167
|
+
if (!option?.selectorOptions || !option.selector) {
|
|
16168
|
+
return 0;
|
|
16169
|
+
}
|
|
16170
|
+
const displayOption = option.selector.displayOptionControl;
|
|
16171
|
+
const count = option.selectorOptions.length;
|
|
16172
|
+
if (displayOption === ConfigurationDisplayOption.TileLarge
|
|
16173
|
+
|| displayOption === ConfigurationDisplayOption.TileRounded) {
|
|
16174
|
+
const maxVisibleTiles = this.settingsService?.settings?.options?.maxVisibleTiles ?? 10;
|
|
16175
|
+
return Math.max(0, count - maxVisibleTiles);
|
|
16176
|
+
}
|
|
16177
|
+
if (displayOption === ConfigurationDisplayOption.TileSmall
|
|
16178
|
+
|| displayOption === ConfigurationDisplayOption.SmallCircle
|
|
16179
|
+
|| displayOption === ConfigurationDisplayOption.SmallSquare) {
|
|
16180
|
+
const maxVisibleSmallTiles = this.settingsService?.settings?.options?.maxVisibleSmallTiles ?? 24;
|
|
16181
|
+
return Math.max(0, count - maxVisibleSmallTiles);
|
|
16182
|
+
}
|
|
16183
|
+
return 0;
|
|
16184
|
+
}
|
|
15837
16185
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ProductConfiguratorSelectorComponent, deps: [{ token: ConfiguratorConnectorService }, { token: SettingsService }, { token: IconCacheService }], target: i0.ɵɵFactoryTarget.Component });
|
|
15838
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ProductConfiguratorSelectorComponent, isStandalone: false, selector: "co-product-configurator-selector", inputs: { selection: "selection", options: "options", lastNodeWithChildren: "lastNodeWithChildren", selectionIndex: "selectionIndex", treeLevelIndex: "treeLevelIndex", isActive: "isActive", markAsException: "markAsException" }, outputs: { activate: "activate" }, host: { properties: { "class
|
|
16186
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ProductConfiguratorSelectorComponent, isStandalone: false, selector: "co-product-configurator-selector", inputs: { selection: "selection", options: "options", lastNodeWithChildren: "lastNodeWithChildren", selectionIndex: "selectionIndex", treeLevelIndex: "treeLevelIndex", isActive: "isActive", markAsException: "markAsException", showAll: "showAll", suppressSubShowMore: "suppressSubShowMore", useGroupedParentVisibility: "useGroupedParentVisibility" }, outputs: { activate: "activate" }, host: { properties: { "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "exceptionContainer", first: true, predicate: ["exceptionContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
15839
16187
|
<div class="selector-container">
|
|
15840
16188
|
<!--
|
|
15841
16189
|
Based on the threeLevel and the length op options we got a couple of flavours
|
|
@@ -15884,7 +16232,9 @@ class ProductConfiguratorSelectorComponent {
|
|
|
15884
16232
|
<co-product-configurator-selector-option
|
|
15885
16233
|
[selection]="selection"
|
|
15886
16234
|
[listOfChoices]="listOfChoices"
|
|
15887
|
-
[
|
|
16235
|
+
[groupedSubShow]="!suppressSubShowMoreForChildren"
|
|
16236
|
+
[markAsException]="markAsException"
|
|
16237
|
+
[showGlobalAll]="getChildShowAll()">
|
|
15888
16238
|
</co-product-configurator-selector-option>
|
|
15889
16239
|
}
|
|
15890
16240
|
</div>
|
|
@@ -15897,13 +16247,29 @@ class ProductConfiguratorSelectorComponent {
|
|
|
15897
16247
|
[lastNodeWithChildren]="displaySelection.lastNodeWithChildren"
|
|
15898
16248
|
[selectionIndex]="index + 1"
|
|
15899
16249
|
[treeLevelIndex]="treeLevelIndex + 1"
|
|
15900
|
-
[
|
|
16250
|
+
[showAll]="getChildShowAll()"
|
|
16251
|
+
[isActive]="getIsChildVisible(index)"
|
|
16252
|
+
[suppressSubShowMore]="suppressSubShowMoreForChildren"
|
|
16253
|
+
[useGroupedParentVisibility]="useGroupedVisibilityForChildren"
|
|
15901
16254
|
[markAsException]="displaySelection.markForExceptionNotification"
|
|
15902
16255
|
(activate)="activeChildIndex = index">
|
|
15903
16256
|
</co-product-configurator-selector>
|
|
15904
16257
|
}
|
|
15905
16258
|
}
|
|
15906
|
-
|
|
16259
|
+
@if (shouldShowExpandButton()) {
|
|
16260
|
+
<div class="show-more-container" (click)="onShowAllClick()">
|
|
16261
|
+
<span class="show-all-button show-more-text-link"
|
|
16262
|
+
[textContent]="expandButtonText | localize">
|
|
16263
|
+
</span>
|
|
16264
|
+
|
|
16265
|
+
@if (this.groupedRemainingTilesCount > 0) {
|
|
16266
|
+
<span class="show-all-button show-more-text-link counter"
|
|
16267
|
+
[textContent]="'(' + this.groupedRemainingTilesCount + ')'">
|
|
16268
|
+
</span>
|
|
16269
|
+
}
|
|
16270
|
+
</div>
|
|
16271
|
+
}
|
|
16272
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i4.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "component", type: ProductConfiguratorSelectorOptionComponent, selector: "co-product-configurator-selector-option", inputs: ["selection", "listOfChoices", "markAsException", "showGlobalAll", "groupedSubShow"] }, { kind: "component", type: ProductConfiguratorSelectorComponent, selector: "co-product-configurator-selector", inputs: ["selection", "options", "lastNodeWithChildren", "selectionIndex", "treeLevelIndex", "isActive", "markAsException", "showAll", "suppressSubShowMore", "useGroupedParentVisibility"], outputs: ["activate"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }, { kind: "pipe", type: GoogleTranslatePipe, name: "googleTranslate" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], animations: [
|
|
15907
16273
|
trigger('showSelections', [
|
|
15908
16274
|
state('void', style({ 'transform': 'translateX(100%)', opacity: 0 })),
|
|
15909
16275
|
state('*', style({ 'transform': 'translateX(0%)', opacity: 1 })),
|
|
@@ -15964,7 +16330,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15964
16330
|
<co-product-configurator-selector-option
|
|
15965
16331
|
[selection]="selection"
|
|
15966
16332
|
[listOfChoices]="listOfChoices"
|
|
15967
|
-
[
|
|
16333
|
+
[groupedSubShow]="!suppressSubShowMoreForChildren"
|
|
16334
|
+
[markAsException]="markAsException"
|
|
16335
|
+
[showGlobalAll]="getChildShowAll()">
|
|
15968
16336
|
</co-product-configurator-selector-option>
|
|
15969
16337
|
}
|
|
15970
16338
|
</div>
|
|
@@ -15977,12 +16345,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15977
16345
|
[lastNodeWithChildren]="displaySelection.lastNodeWithChildren"
|
|
15978
16346
|
[selectionIndex]="index + 1"
|
|
15979
16347
|
[treeLevelIndex]="treeLevelIndex + 1"
|
|
15980
|
-
[
|
|
16348
|
+
[showAll]="getChildShowAll()"
|
|
16349
|
+
[isActive]="getIsChildVisible(index)"
|
|
16350
|
+
[suppressSubShowMore]="suppressSubShowMoreForChildren"
|
|
16351
|
+
[useGroupedParentVisibility]="useGroupedVisibilityForChildren"
|
|
15981
16352
|
[markAsException]="displaySelection.markForExceptionNotification"
|
|
15982
16353
|
(activate)="activeChildIndex = index">
|
|
15983
16354
|
</co-product-configurator-selector>
|
|
15984
16355
|
}
|
|
15985
16356
|
}
|
|
16357
|
+
@if (shouldShowExpandButton()) {
|
|
16358
|
+
<div class="show-more-container" (click)="onShowAllClick()">
|
|
16359
|
+
<span class="show-all-button show-more-text-link"
|
|
16360
|
+
[textContent]="expandButtonText | localize">
|
|
16361
|
+
</span>
|
|
16362
|
+
|
|
16363
|
+
@if (this.groupedRemainingTilesCount > 0) {
|
|
16364
|
+
<span class="show-all-button show-more-text-link counter"
|
|
16365
|
+
[textContent]="'(' + this.groupedRemainingTilesCount + ')'">
|
|
16366
|
+
</span>
|
|
16367
|
+
}
|
|
16368
|
+
</div>
|
|
16369
|
+
}
|
|
15986
16370
|
`,
|
|
15987
16371
|
encapsulation: ViewEncapsulation.None,
|
|
15988
16372
|
animations: [
|
|
@@ -15994,15 +16378,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15994
16378
|
],
|
|
15995
16379
|
standalone: false
|
|
15996
16380
|
}]
|
|
15997
|
-
}], ctorParameters: () => [{ type: ConfiguratorConnectorService }, { type: SettingsService }, { type: IconCacheService }], propDecorators: {
|
|
16381
|
+
}], ctorParameters: () => [{ type: ConfiguratorConnectorService }, { type: SettingsService }, { type: IconCacheService }], propDecorators: { hostClasses: [{
|
|
15998
16382
|
type: HostBinding,
|
|
15999
|
-
args: ['class
|
|
16383
|
+
args: ['class']
|
|
16000
16384
|
}], exceptionContainer: [{
|
|
16001
16385
|
type: ViewChild,
|
|
16002
16386
|
args: ['exceptionContainer']
|
|
16003
|
-
}], hostClasses: [{
|
|
16004
|
-
type: HostBinding,
|
|
16005
|
-
args: ['class']
|
|
16006
16387
|
}], selection: [{
|
|
16007
16388
|
type: Input
|
|
16008
16389
|
}], options: [{
|
|
@@ -16017,6 +16398,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
16017
16398
|
type: Input
|
|
16018
16399
|
}], markAsException: [{
|
|
16019
16400
|
type: Input
|
|
16401
|
+
}], showAll: [{
|
|
16402
|
+
type: Input
|
|
16403
|
+
}], suppressSubShowMore: [{
|
|
16404
|
+
type: Input
|
|
16405
|
+
}], useGroupedParentVisibility: [{
|
|
16406
|
+
type: Input
|
|
16020
16407
|
}], activate: [{
|
|
16021
16408
|
type: Output
|
|
16022
16409
|
}] } });
|
|
@@ -16049,6 +16436,7 @@ class ProductConfiguratorComponent {
|
|
|
16049
16436
|
showLabel = true;
|
|
16050
16437
|
canClose = true;
|
|
16051
16438
|
customDimensions = false;
|
|
16439
|
+
showSaveAndLoadConfiguration;
|
|
16052
16440
|
showChange = new EventEmitter();
|
|
16053
16441
|
answerChosen = new EventEmitter();
|
|
16054
16442
|
valutaSymbol = '€'; // TODO this should be a setting
|
|
@@ -16102,7 +16490,7 @@ class ProductConfiguratorComponent {
|
|
|
16102
16490
|
this.showChange.emit(false);
|
|
16103
16491
|
}
|
|
16104
16492
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ProductConfiguratorComponent, deps: [{ token: ConfiguratorConnectorService }, { token: SwitchBuildFurnitureService }, { token: SettingsService }, { token: ProductConfiguratorService }, { token: IconCacheService }, { token: i1.DomSanitizer }, { token: ConfiguringService }], target: i0.ɵɵFactoryTarget.Component });
|
|
16105
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ProductConfiguratorComponent, isStandalone: false, selector: "co-product-configurator", inputs: { show: "show", 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: `
|
|
16493
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ProductConfiguratorComponent, isStandalone: false, selector: "co-product-configurator", inputs: { show: "show", showHeaderInformation: "showHeaderInformation", showSelections: "showSelections", showLabel: "showLabel", canClose: "canClose", customDimensions: "customDimensions", showSaveAndLoadConfiguration: "showSaveAndLoadConfiguration" }, outputs: { showChange: "showChange", answerChosen: "answerChosen" }, host: { properties: { "class.co-product-configurator": "this.showClass" } }, ngImport: i0, template: `
|
|
16106
16494
|
@if (show) {
|
|
16107
16495
|
<div class="product-configurator-container">
|
|
16108
16496
|
@if (showHeaderInformation) {
|
|
@@ -16111,11 +16499,16 @@ class ProductConfiguratorComponent {
|
|
|
16111
16499
|
<h2 class="product-configurator-header-text" [textContent]="article.name"></h2>
|
|
16112
16500
|
<p class="product-configurator-text" [innerHTML]="safeDescription"></p>
|
|
16113
16501
|
</div>
|
|
16114
|
-
|
|
16115
|
-
|
|
16116
|
-
<co-
|
|
16117
|
-
|
|
16118
|
-
|
|
16502
|
+
<div class="product-configurator-header-actions">
|
|
16503
|
+
@if (showSaveAndLoadConfiguration) {
|
|
16504
|
+
<co-configuration-preset></co-configuration-preset>
|
|
16505
|
+
}
|
|
16506
|
+
@if (canClose) {
|
|
16507
|
+
<div class="product-configurator-close" (click)="handleCloseClick()">
|
|
16508
|
+
<co-icon [iconData]="iconService.getIcon(icons.XmarkLightFull)"></co-icon>
|
|
16509
|
+
</div>
|
|
16510
|
+
}
|
|
16511
|
+
</div>
|
|
16119
16512
|
</div>
|
|
16120
16513
|
}
|
|
16121
16514
|
<div class="product-configurator-details" #scrollcontainer>
|
|
@@ -16143,7 +16536,7 @@ class ProductConfiguratorComponent {
|
|
|
16143
16536
|
}
|
|
16144
16537
|
</div>
|
|
16145
16538
|
}
|
|
16146
|
-
`, isInline: true, dependencies: [{ kind: "component", type: i4.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "component", type: ProductConfiguratorSelectorComponent, selector: "co-product-configurator-selector", inputs: ["selection", "options", "lastNodeWithChildren", "selectionIndex", "treeLevelIndex", "isActive", "markAsException"], outputs: ["activate"] }, { kind: "pipe", type: i4.PriceDisplayPipe, name: "priceDisplay" }, { kind: "pipe", type: LocalizePipe, name: "localize" }], encapsulation: i0.ViewEncapsulation.None });
|
|
16539
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i4.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "component", type: ProductConfiguratorSelectorComponent, selector: "co-product-configurator-selector", inputs: ["selection", "options", "lastNodeWithChildren", "selectionIndex", "treeLevelIndex", "isActive", "markAsException", "showAll", "suppressSubShowMore", "useGroupedParentVisibility"], outputs: ["activate"] }, { kind: "component", type: ConfigurationPresetComponent, selector: "co-configuration-preset" }, { kind: "pipe", type: i4.PriceDisplayPipe, name: "priceDisplay" }, { kind: "pipe", type: LocalizePipe, name: "localize" }], encapsulation: i0.ViewEncapsulation.None });
|
|
16147
16540
|
}
|
|
16148
16541
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ProductConfiguratorComponent, decorators: [{
|
|
16149
16542
|
type: Component,
|
|
@@ -16158,11 +16551,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
16158
16551
|
<h2 class="product-configurator-header-text" [textContent]="article.name"></h2>
|
|
16159
16552
|
<p class="product-configurator-text" [innerHTML]="safeDescription"></p>
|
|
16160
16553
|
</div>
|
|
16161
|
-
|
|
16162
|
-
|
|
16163
|
-
<co-
|
|
16164
|
-
|
|
16165
|
-
|
|
16554
|
+
<div class="product-configurator-header-actions">
|
|
16555
|
+
@if (showSaveAndLoadConfiguration) {
|
|
16556
|
+
<co-configuration-preset></co-configuration-preset>
|
|
16557
|
+
}
|
|
16558
|
+
@if (canClose) {
|
|
16559
|
+
<div class="product-configurator-close" (click)="handleCloseClick()">
|
|
16560
|
+
<co-icon [iconData]="iconService.getIcon(icons.XmarkLightFull)"></co-icon>
|
|
16561
|
+
</div>
|
|
16562
|
+
}
|
|
16563
|
+
</div>
|
|
16166
16564
|
</div>
|
|
16167
16565
|
}
|
|
16168
16566
|
<div class="product-configurator-details" #scrollcontainer>
|
|
@@ -16209,12 +16607,225 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
16209
16607
|
type: Input
|
|
16210
16608
|
}], customDimensions: [{
|
|
16211
16609
|
type: Input
|
|
16610
|
+
}], showSaveAndLoadConfiguration: [{
|
|
16611
|
+
type: Input
|
|
16212
16612
|
}], showChange: [{
|
|
16213
16613
|
type: Output
|
|
16214
16614
|
}], answerChosen: [{
|
|
16215
16615
|
type: Output
|
|
16216
16616
|
}] } });
|
|
16217
16617
|
|
|
16618
|
+
class ConfigurationPresetDialogComponent {
|
|
16619
|
+
iconService;
|
|
16620
|
+
_configuringService;
|
|
16621
|
+
_configuratorConnectorService;
|
|
16622
|
+
_dictionaryService;
|
|
16623
|
+
_appEventService;
|
|
16624
|
+
icons = IconEnum;
|
|
16625
|
+
presetDialogMode = PresetDialogMode;
|
|
16626
|
+
showClass() {
|
|
16627
|
+
return true;
|
|
16628
|
+
}
|
|
16629
|
+
showDialog = false;
|
|
16630
|
+
instanceIdInput;
|
|
16631
|
+
dialogMode = PresetDialogMode.SAVE;
|
|
16632
|
+
showValidationErrors = false;
|
|
16633
|
+
validationError;
|
|
16634
|
+
_subs = [];
|
|
16635
|
+
constructor(iconService, _configuringService, _configuratorConnectorService, _dictionaryService, _appEventService) {
|
|
16636
|
+
this.iconService = iconService;
|
|
16637
|
+
this._configuringService = _configuringService;
|
|
16638
|
+
this._configuratorConnectorService = _configuratorConnectorService;
|
|
16639
|
+
this._dictionaryService = _dictionaryService;
|
|
16640
|
+
this._appEventService = _appEventService;
|
|
16641
|
+
this._subs.push(this._appEventService.changeConfigurationPresetDialogMode.subscribe((mode) => {
|
|
16642
|
+
this.handleOpenDialog(mode);
|
|
16643
|
+
}));
|
|
16644
|
+
}
|
|
16645
|
+
ngOnDestroy() {
|
|
16646
|
+
this._subs.forEach((sub) => sub.unsubscribe());
|
|
16647
|
+
}
|
|
16648
|
+
handleOpenDialog(mode) {
|
|
16649
|
+
if (mode === PresetDialogMode.SAVE) {
|
|
16650
|
+
const instanceId = this._configuringService.buildResult.instanceId;
|
|
16651
|
+
this._configuratorConnectorService.storePreset(instanceId).then((response) => {
|
|
16652
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
16653
|
+
this.instanceIdInput = response.resultObject;
|
|
16654
|
+
this.dialogMode = mode;
|
|
16655
|
+
this.showDialog = true;
|
|
16656
|
+
}
|
|
16657
|
+
});
|
|
16658
|
+
}
|
|
16659
|
+
else if (mode === PresetDialogMode.LOAD) {
|
|
16660
|
+
this.dialogMode = mode;
|
|
16661
|
+
this.showDialog = true;
|
|
16662
|
+
}
|
|
16663
|
+
}
|
|
16664
|
+
handleCloseClick() {
|
|
16665
|
+
this.showDialog = false;
|
|
16666
|
+
}
|
|
16667
|
+
handleCopySuccess() {
|
|
16668
|
+
this.instanceIdInput = this._dictionaryService.get('COPIED');
|
|
16669
|
+
}
|
|
16670
|
+
loadConfiguration() {
|
|
16671
|
+
const goodId = +this._configuringService.buildResult.goodId;
|
|
16672
|
+
this._configuratorConnectorService.initForPreset(this.instanceIdInput, goodId).then((response) => {
|
|
16673
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
16674
|
+
this.showDialog = false;
|
|
16675
|
+
const resultObject = this._configuringService.buildResult;
|
|
16676
|
+
resultObject.instanceId = response.resultObject;
|
|
16677
|
+
this._configuringService.configure(resultObject);
|
|
16678
|
+
}
|
|
16679
|
+
else {
|
|
16680
|
+
// error, shit not found
|
|
16681
|
+
if (response.validationResult && response.validationResult.messages && response.validationResult.messages.length > 0) {
|
|
16682
|
+
const firstMessage = response.validationResult.messages[0].message;
|
|
16683
|
+
this.showValidationErrors = true;
|
|
16684
|
+
this.validationError = firstMessage;
|
|
16685
|
+
}
|
|
16686
|
+
}
|
|
16687
|
+
});
|
|
16688
|
+
}
|
|
16689
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetDialogComponent, deps: [{ token: IconCacheService }, { token: ConfiguringService }, { token: ConfiguratorConnectorService }, { token: DictionaryService }, { token: AppEventService }], target: i0.ɵɵFactoryTarget.Component });
|
|
16690
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ConfigurationPresetDialogComponent, isStandalone: false, selector: "co-configuration-preset-dialog", host: { properties: { "class.co-configuration-preset-dialog": "this.showClass" } }, ngImport: i0, template: `
|
|
16691
|
+
@if (showDialog) {
|
|
16692
|
+
<div class="configuration-preset-dialog">
|
|
16693
|
+
<div class="configuration-preset-dialog-container">
|
|
16694
|
+
<div class="configuration-preset-dialog-container-header">
|
|
16695
|
+
@if (dialogMode === presetDialogMode.SAVE) {
|
|
16696
|
+
<co-icon [iconData]="iconService.getIcon(icons.FloppyDiskLightFull)"></co-icon>
|
|
16697
|
+
<h3 [textContent]="'SAVE_CONFIGURATION' | localize"></h3>
|
|
16698
|
+
} @else if (dialogMode === presetDialogMode.LOAD) {
|
|
16699
|
+
<co-icon [iconData]="iconService.getIcon(icons.FolderOpenLightFull)"></co-icon>
|
|
16700
|
+
<h3 [textContent]="'LOAD_CONFIGURATION' | localize"></h3>
|
|
16701
|
+
}
|
|
16702
|
+
</div>
|
|
16703
|
+
<div class="configuration-preset-dialog-container-body">
|
|
16704
|
+
@if (dialogMode === presetDialogMode.SAVE) {
|
|
16705
|
+
<div class="save-success">
|
|
16706
|
+
<p class="save-success-text" [textContent]="instanceIdInput"></p>
|
|
16707
|
+
<co-button
|
|
16708
|
+
class="save-success-button"
|
|
16709
|
+
[cdkCopyToClipboard]="instanceIdInput"
|
|
16710
|
+
[iconData]="iconService.getIcon(icons.CopyRegularFull)"
|
|
16711
|
+
(onClick)="handleCopySuccess()">
|
|
16712
|
+
</co-button>
|
|
16713
|
+
</div>
|
|
16714
|
+
} @else if (dialogMode === presetDialogMode.LOAD) {
|
|
16715
|
+
<co-input-text
|
|
16716
|
+
[placeholder]="'CONFIGURATION_CODE' | localize"
|
|
16717
|
+
[(model)]="instanceIdInput"
|
|
16718
|
+
></co-input-text>
|
|
16719
|
+
|
|
16720
|
+
@if (showValidationErrors) {
|
|
16721
|
+
<div class="validation-error">
|
|
16722
|
+
<p [textContent]="validationError"></p>
|
|
16723
|
+
</div>
|
|
16724
|
+
}
|
|
16725
|
+
}
|
|
16726
|
+
</div>
|
|
16727
|
+
<div class="configuration-preset-dialog-container-footer">
|
|
16728
|
+
@if (dialogMode === presetDialogMode.LOAD) {
|
|
16729
|
+
<co-button
|
|
16730
|
+
class="button-as-link"
|
|
16731
|
+
[label]="'CANCEL' | localize"
|
|
16732
|
+
(onClick)="handleCloseClick()"
|
|
16733
|
+
></co-button>
|
|
16734
|
+
}
|
|
16735
|
+
@if (dialogMode === presetDialogMode.SAVE) {
|
|
16736
|
+
<co-button
|
|
16737
|
+
class="save-preset-button"
|
|
16738
|
+
[label]="'OK' | localize"
|
|
16739
|
+
(onClick)="handleCloseClick()">
|
|
16740
|
+
</co-button>
|
|
16741
|
+
} @else if (dialogMode === presetDialogMode.LOAD) {
|
|
16742
|
+
<co-button
|
|
16743
|
+
class="open-preset-button"
|
|
16744
|
+
[label]="'OPEN' | localize"
|
|
16745
|
+
(onClick)="loadConfiguration()">
|
|
16746
|
+
</co-button>
|
|
16747
|
+
}
|
|
16748
|
+
</div>
|
|
16749
|
+
</div>
|
|
16750
|
+
</div>
|
|
16751
|
+
}
|
|
16752
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i4.ButtonComponent, selector: "co-button", inputs: ["label", "iconData", "iconDataRight", "isToggleButton", "isToggled", "hidden", "disabled"], outputs: ["onClick", "clickedWhileDisabled", "isToggledChange"] }, { kind: "component", type: i4.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "component", type: i4.InputTextComponent, selector: "co-input-text", inputs: ["useContent", "placeholder", "align", "type", "formatPipe", "min", "max", "pattern", "digitsOnly", "excludePlusMinus", "showClearButton", "keyDownWhiteList", "showPlaceholderOnFocus", "leftIcon", "rightIcon", "leftIconData", "rightIconData", "selectOnFocus", "emptyPlace", "firstDayOfWeek", "noStyle", "hideArrowButtons", "model"], outputs: ["leftIconClick", "leftIconMouseDown", "leftIconMouseUp", "rightIconClick", "rightIconMouseDown", "rightIconMouseUp", "clearIconClick", "isFocused"] }, { kind: "directive", type: i7.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }], encapsulation: i0.ViewEncapsulation.None });
|
|
16753
|
+
}
|
|
16754
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetDialogComponent, decorators: [{
|
|
16755
|
+
type: Component,
|
|
16756
|
+
args: [{
|
|
16757
|
+
selector: 'co-configuration-preset-dialog',
|
|
16758
|
+
template: `
|
|
16759
|
+
@if (showDialog) {
|
|
16760
|
+
<div class="configuration-preset-dialog">
|
|
16761
|
+
<div class="configuration-preset-dialog-container">
|
|
16762
|
+
<div class="configuration-preset-dialog-container-header">
|
|
16763
|
+
@if (dialogMode === presetDialogMode.SAVE) {
|
|
16764
|
+
<co-icon [iconData]="iconService.getIcon(icons.FloppyDiskLightFull)"></co-icon>
|
|
16765
|
+
<h3 [textContent]="'SAVE_CONFIGURATION' | localize"></h3>
|
|
16766
|
+
} @else if (dialogMode === presetDialogMode.LOAD) {
|
|
16767
|
+
<co-icon [iconData]="iconService.getIcon(icons.FolderOpenLightFull)"></co-icon>
|
|
16768
|
+
<h3 [textContent]="'LOAD_CONFIGURATION' | localize"></h3>
|
|
16769
|
+
}
|
|
16770
|
+
</div>
|
|
16771
|
+
<div class="configuration-preset-dialog-container-body">
|
|
16772
|
+
@if (dialogMode === presetDialogMode.SAVE) {
|
|
16773
|
+
<div class="save-success">
|
|
16774
|
+
<p class="save-success-text" [textContent]="instanceIdInput"></p>
|
|
16775
|
+
<co-button
|
|
16776
|
+
class="save-success-button"
|
|
16777
|
+
[cdkCopyToClipboard]="instanceIdInput"
|
|
16778
|
+
[iconData]="iconService.getIcon(icons.CopyRegularFull)"
|
|
16779
|
+
(onClick)="handleCopySuccess()">
|
|
16780
|
+
</co-button>
|
|
16781
|
+
</div>
|
|
16782
|
+
} @else if (dialogMode === presetDialogMode.LOAD) {
|
|
16783
|
+
<co-input-text
|
|
16784
|
+
[placeholder]="'CONFIGURATION_CODE' | localize"
|
|
16785
|
+
[(model)]="instanceIdInput"
|
|
16786
|
+
></co-input-text>
|
|
16787
|
+
|
|
16788
|
+
@if (showValidationErrors) {
|
|
16789
|
+
<div class="validation-error">
|
|
16790
|
+
<p [textContent]="validationError"></p>
|
|
16791
|
+
</div>
|
|
16792
|
+
}
|
|
16793
|
+
}
|
|
16794
|
+
</div>
|
|
16795
|
+
<div class="configuration-preset-dialog-container-footer">
|
|
16796
|
+
@if (dialogMode === presetDialogMode.LOAD) {
|
|
16797
|
+
<co-button
|
|
16798
|
+
class="button-as-link"
|
|
16799
|
+
[label]="'CANCEL' | localize"
|
|
16800
|
+
(onClick)="handleCloseClick()"
|
|
16801
|
+
></co-button>
|
|
16802
|
+
}
|
|
16803
|
+
@if (dialogMode === presetDialogMode.SAVE) {
|
|
16804
|
+
<co-button
|
|
16805
|
+
class="save-preset-button"
|
|
16806
|
+
[label]="'OK' | localize"
|
|
16807
|
+
(onClick)="handleCloseClick()">
|
|
16808
|
+
</co-button>
|
|
16809
|
+
} @else if (dialogMode === presetDialogMode.LOAD) {
|
|
16810
|
+
<co-button
|
|
16811
|
+
class="open-preset-button"
|
|
16812
|
+
[label]="'OPEN' | localize"
|
|
16813
|
+
(onClick)="loadConfiguration()">
|
|
16814
|
+
</co-button>
|
|
16815
|
+
}
|
|
16816
|
+
</div>
|
|
16817
|
+
</div>
|
|
16818
|
+
</div>
|
|
16819
|
+
}
|
|
16820
|
+
`,
|
|
16821
|
+
encapsulation: ViewEncapsulation.None,
|
|
16822
|
+
standalone: false
|
|
16823
|
+
}]
|
|
16824
|
+
}], ctorParameters: () => [{ type: IconCacheService }, { type: ConfiguringService }, { type: ConfiguratorConnectorService }, { type: DictionaryService }, { type: AppEventService }], propDecorators: { showClass: [{
|
|
16825
|
+
type: HostBinding,
|
|
16826
|
+
args: ['class.co-configuration-preset-dialog']
|
|
16827
|
+
}] } });
|
|
16828
|
+
|
|
16218
16829
|
class ThreedselectorComponent {
|
|
16219
16830
|
_appEventService;
|
|
16220
16831
|
_buildFurnitureService;
|
|
@@ -16228,6 +16839,7 @@ class ThreedselectorComponent {
|
|
|
16228
16839
|
canCloseConfigurator = true;
|
|
16229
16840
|
animateSlideout = true;
|
|
16230
16841
|
showHeaderInformation = true;
|
|
16842
|
+
showSaveAndLoadConfiguration;
|
|
16231
16843
|
buildFinished = new EventEmitter();
|
|
16232
16844
|
showChange = new EventEmitter();
|
|
16233
16845
|
showElementToolbar = false;
|
|
@@ -16290,29 +16902,34 @@ class ThreedselectorComponent {
|
|
|
16290
16902
|
}
|
|
16291
16903
|
}
|
|
16292
16904
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ThreedselectorComponent, deps: [{ token: AppEventService }, { token: SwitchBuildFurnitureService }, { token: ConfiguringService }, { token: ConfiguratorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
16293
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ThreedselectorComponent, isStandalone: false, selector: "co-threedselector", inputs: { selections: "selections", canCloseConfigurator: "canCloseConfigurator", animateSlideout: "animateSlideout", showHeaderInformation: "showHeaderInformation" }, outputs: { customizeButtonClicked: "customizeButtonClicked", buildFinished: "buildFinished", showChange: "showChange" }, host: { properties: { "class.co-threedselector": "this.showClass" } }, ngImport: i0, template: `
|
|
16294
|
-
|
|
16295
|
-
|
|
16296
|
-
|
|
16297
|
-
|
|
16298
|
-
|
|
16299
|
-
|
|
16300
|
-
|
|
16301
|
-
|
|
16302
|
-
|
|
16303
|
-
|
|
16304
|
-
|
|
16305
|
-
|
|
16306
|
-
|
|
16307
|
-
|
|
16308
|
-
|
|
16309
|
-
|
|
16310
|
-
|
|
16311
|
-
|
|
16312
|
-
|
|
16313
|
-
|
|
16314
|
-
|
|
16315
|
-
|
|
16905
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ThreedselectorComponent, isStandalone: false, selector: "co-threedselector", inputs: { selections: "selections", canCloseConfigurator: "canCloseConfigurator", animateSlideout: "animateSlideout", showHeaderInformation: "showHeaderInformation", showSaveAndLoadConfiguration: "showSaveAndLoadConfiguration" }, outputs: { customizeButtonClicked: "customizeButtonClicked", buildFinished: "buildFinished", showChange: "showChange" }, host: { properties: { "class.co-threedselector": "this.showClass" } }, ngImport: i0, template: `
|
|
16906
|
+
@if (!showFullConfiguration) {
|
|
16907
|
+
<co-lite-selector
|
|
16908
|
+
class="floating"
|
|
16909
|
+
[showSelections]="showTemplate"
|
|
16910
|
+
[showAnswers]="showTemplate"
|
|
16911
|
+
[animateSlideout]="animateSlideout"
|
|
16912
|
+
[canClose]="canCloseConfigurator"
|
|
16913
|
+
[showSaveAndLoadConfiguration]="showSaveAndLoadConfiguration"
|
|
16914
|
+
(showChange)="handleShowChangeSelector($event)">
|
|
16915
|
+
</co-lite-selector>
|
|
16916
|
+
}
|
|
16917
|
+
|
|
16918
|
+
@if (showFullConfiguration) {
|
|
16919
|
+
<co-product-configurator
|
|
16920
|
+
class="floating"
|
|
16921
|
+
[show]="showTemplate"
|
|
16922
|
+
[showSelections]="showSelections"
|
|
16923
|
+
[canClose]="canCloseConfigurator"
|
|
16924
|
+
[showHeaderInformation]="showHeaderInformation"
|
|
16925
|
+
[showSaveAndLoadConfiguration]="showSaveAndLoadConfiguration"
|
|
16926
|
+
(showChange)="handleShowChangeSelector($event)">
|
|
16927
|
+
</co-product-configurator>
|
|
16928
|
+
}
|
|
16929
|
+
@if (showSaveAndLoadConfiguration) {
|
|
16930
|
+
<co-configuration-preset-dialog></co-configuration-preset-dialog>
|
|
16931
|
+
}
|
|
16932
|
+
`, isInline: true, dependencies: [{ kind: "component", type: LiteSelectorComponent, selector: "co-lite-selector", inputs: ["showAnswers", "show", "showSelections", "showLabel", "canClose", "animateSlideout", "customDimensions", "showSaveAndLoadConfiguration"], outputs: ["showChange", "answerChosen"] }, { kind: "component", type: ProductConfiguratorComponent, selector: "co-product-configurator", inputs: ["show", "showHeaderInformation", "showSelections", "showLabel", "canClose", "customDimensions", "showSaveAndLoadConfiguration"], outputs: ["showChange", "answerChosen"] }, { kind: "component", type: ConfigurationPresetDialogComponent, selector: "co-configuration-preset-dialog" }], animations: [
|
|
16316
16933
|
trigger('showElementToolbar', [
|
|
16317
16934
|
state('void', style({ opacity: 0 })),
|
|
16318
16935
|
state('*', style({ opacity: 1 })),
|
|
@@ -16325,27 +16942,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
16325
16942
|
args: [{
|
|
16326
16943
|
selector: 'co-threedselector',
|
|
16327
16944
|
template: `
|
|
16328
|
-
|
|
16329
|
-
|
|
16330
|
-
|
|
16331
|
-
|
|
16332
|
-
|
|
16333
|
-
|
|
16334
|
-
|
|
16335
|
-
|
|
16336
|
-
|
|
16337
|
-
|
|
16338
|
-
|
|
16339
|
-
|
|
16340
|
-
|
|
16341
|
-
|
|
16342
|
-
|
|
16343
|
-
|
|
16344
|
-
|
|
16345
|
-
|
|
16346
|
-
|
|
16347
|
-
|
|
16348
|
-
|
|
16945
|
+
@if (!showFullConfiguration) {
|
|
16946
|
+
<co-lite-selector
|
|
16947
|
+
class="floating"
|
|
16948
|
+
[showSelections]="showTemplate"
|
|
16949
|
+
[showAnswers]="showTemplate"
|
|
16950
|
+
[animateSlideout]="animateSlideout"
|
|
16951
|
+
[canClose]="canCloseConfigurator"
|
|
16952
|
+
[showSaveAndLoadConfiguration]="showSaveAndLoadConfiguration"
|
|
16953
|
+
(showChange)="handleShowChangeSelector($event)">
|
|
16954
|
+
</co-lite-selector>
|
|
16955
|
+
}
|
|
16956
|
+
|
|
16957
|
+
@if (showFullConfiguration) {
|
|
16958
|
+
<co-product-configurator
|
|
16959
|
+
class="floating"
|
|
16960
|
+
[show]="showTemplate"
|
|
16961
|
+
[showSelections]="showSelections"
|
|
16962
|
+
[canClose]="canCloseConfigurator"
|
|
16963
|
+
[showHeaderInformation]="showHeaderInformation"
|
|
16964
|
+
[showSaveAndLoadConfiguration]="showSaveAndLoadConfiguration"
|
|
16965
|
+
(showChange)="handleShowChangeSelector($event)">
|
|
16966
|
+
</co-product-configurator>
|
|
16967
|
+
}
|
|
16968
|
+
@if (showSaveAndLoadConfiguration) {
|
|
16969
|
+
<co-configuration-preset-dialog></co-configuration-preset-dialog>
|
|
16970
|
+
}
|
|
16349
16971
|
`,
|
|
16350
16972
|
encapsulation: ViewEncapsulation.None,
|
|
16351
16973
|
animations: [
|
|
@@ -16370,6 +16992,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
16370
16992
|
type: Input
|
|
16371
16993
|
}], showHeaderInformation: [{
|
|
16372
16994
|
type: Input
|
|
16995
|
+
}], showSaveAndLoadConfiguration: [{
|
|
16996
|
+
type: Input
|
|
16373
16997
|
}], buildFinished: [{
|
|
16374
16998
|
type: Output
|
|
16375
16999
|
}], showChange: [{
|
|
@@ -16391,6 +17015,7 @@ class ConfiguratorComponent {
|
|
|
16391
17015
|
canCloseConfigurator = true;
|
|
16392
17016
|
animateSlideout = true;
|
|
16393
17017
|
showHeaderInformation = true;
|
|
17018
|
+
showSaveAndLoadConfiguration;
|
|
16394
17019
|
buildResult = new EventEmitter();
|
|
16395
17020
|
// TODO
|
|
16396
17021
|
isLoading = new EventEmitter();
|
|
@@ -16443,54 +17068,56 @@ class ConfiguratorComponent {
|
|
|
16443
17068
|
}
|
|
16444
17069
|
}
|
|
16445
17070
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfiguratorComponent, deps: [{ token: SettingsService }, { token: LoaderService }, { token: AppEventService }, { token: ConfiguringService }], target: i0.ɵɵFactoryTarget.Component });
|
|
16446
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ConfiguratorComponent, isStandalone: false, selector: "co-configurator", inputs: { showLoader: "showLoader", showProgressBar: "showProgressBar", showErrorMessages: "showErrorMessages", outputErrorMessages: "outputErrorMessages", canCloseConfigurator: "canCloseConfigurator", animateSlideout: "animateSlideout", showHeaderInformation: "showHeaderInformation" }, outputs: { buildResult: "buildResult", isLoading: "isLoading", updateProgressBar: "updateProgressBar", errorMessages: "errorMessages", showChange: "showChange" }, host: { properties: { "class.co-configurator": "this.showClass" } }, ngImport: i0, template: `
|
|
16447
|
-
|
|
16448
|
-
|
|
16449
|
-
|
|
16450
|
-
|
|
16451
|
-
|
|
16452
|
-
|
|
16453
|
-
|
|
16454
|
-
|
|
16455
|
-
|
|
16456
|
-
|
|
16457
|
-
|
|
16458
|
-
|
|
17071
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ConfiguratorComponent, isStandalone: false, selector: "co-configurator", inputs: { showLoader: "showLoader", showProgressBar: "showProgressBar", showErrorMessages: "showErrorMessages", outputErrorMessages: "outputErrorMessages", canCloseConfigurator: "canCloseConfigurator", animateSlideout: "animateSlideout", showHeaderInformation: "showHeaderInformation", showSaveAndLoadConfiguration: "showSaveAndLoadConfiguration" }, outputs: { buildResult: "buildResult", isLoading: "isLoading", updateProgressBar: "updateProgressBar", errorMessages: "errorMessages", showChange: "showChange" }, host: { properties: { "class.co-configurator": "this.showClass" } }, ngImport: i0, template: `
|
|
17072
|
+
@if (showProgressBar) {
|
|
17073
|
+
<co-progress-bar></co-progress-bar>
|
|
17074
|
+
}
|
|
17075
|
+
@if (showLoader) {
|
|
17076
|
+
<co-configurator-loader [show]="loaderService.showLoader"></co-configurator-loader>
|
|
17077
|
+
}
|
|
17078
|
+
@if (showErrorMessages && resultHasErrors && showErrorDiagram) {
|
|
17079
|
+
<co-configurator-error-dialog
|
|
17080
|
+
[errorMessages]="configurationResultObject.errorMessages"
|
|
17081
|
+
(closeErrorDialoag)="handleCloseErrorDialog()"
|
|
17082
|
+
></co-configurator-error-dialog>
|
|
17083
|
+
}
|
|
16459
17084
|
|
|
16460
|
-
|
|
16461
|
-
|
|
16462
|
-
|
|
16463
|
-
|
|
16464
|
-
|
|
16465
|
-
|
|
16466
|
-
|
|
16467
|
-
|
|
17085
|
+
<co-threedselector
|
|
17086
|
+
[canCloseConfigurator]="canCloseConfigurator"
|
|
17087
|
+
[animateSlideout]="animateSlideout"
|
|
17088
|
+
[showHeaderInformation]="showHeaderInformation"
|
|
17089
|
+
[showSaveAndLoadConfiguration]="showSaveAndLoadConfiguration"
|
|
17090
|
+
(buildFinished)="handleBuildFinished($event)"
|
|
17091
|
+
(showChange)="handleShowChange($event)">
|
|
17092
|
+
</co-threedselector>
|
|
17093
|
+
`, 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: ThreedselectorComponent, selector: "co-threedselector", inputs: ["selections", "canCloseConfigurator", "animateSlideout", "showHeaderInformation", "showSaveAndLoadConfiguration"], outputs: ["customizeButtonClicked", "buildFinished", "showChange"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
16468
17094
|
}
|
|
16469
17095
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfiguratorComponent, decorators: [{
|
|
16470
17096
|
type: Component,
|
|
16471
17097
|
args: [{
|
|
16472
17098
|
selector: 'co-configurator',
|
|
16473
17099
|
template: `
|
|
16474
|
-
|
|
16475
|
-
|
|
16476
|
-
|
|
16477
|
-
|
|
16478
|
-
|
|
16479
|
-
|
|
16480
|
-
|
|
16481
|
-
|
|
16482
|
-
|
|
16483
|
-
|
|
16484
|
-
|
|
16485
|
-
|
|
17100
|
+
@if (showProgressBar) {
|
|
17101
|
+
<co-progress-bar></co-progress-bar>
|
|
17102
|
+
}
|
|
17103
|
+
@if (showLoader) {
|
|
17104
|
+
<co-configurator-loader [show]="loaderService.showLoader"></co-configurator-loader>
|
|
17105
|
+
}
|
|
17106
|
+
@if (showErrorMessages && resultHasErrors && showErrorDiagram) {
|
|
17107
|
+
<co-configurator-error-dialog
|
|
17108
|
+
[errorMessages]="configurationResultObject.errorMessages"
|
|
17109
|
+
(closeErrorDialoag)="handleCloseErrorDialog()"
|
|
17110
|
+
></co-configurator-error-dialog>
|
|
17111
|
+
}
|
|
16486
17112
|
|
|
16487
|
-
|
|
16488
|
-
|
|
16489
|
-
|
|
16490
|
-
|
|
16491
|
-
|
|
16492
|
-
|
|
16493
|
-
|
|
17113
|
+
<co-threedselector
|
|
17114
|
+
[canCloseConfigurator]="canCloseConfigurator"
|
|
17115
|
+
[animateSlideout]="animateSlideout"
|
|
17116
|
+
[showHeaderInformation]="showHeaderInformation"
|
|
17117
|
+
[showSaveAndLoadConfiguration]="showSaveAndLoadConfiguration"
|
|
17118
|
+
(buildFinished)="handleBuildFinished($event)"
|
|
17119
|
+
(showChange)="handleShowChange($event)">
|
|
17120
|
+
</co-threedselector>
|
|
16494
17121
|
`,
|
|
16495
17122
|
encapsulation: ViewEncapsulation.None,
|
|
16496
17123
|
standalone: false
|
|
@@ -16512,6 +17139,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
16512
17139
|
type: Input
|
|
16513
17140
|
}], showHeaderInformation: [{
|
|
16514
17141
|
type: Input
|
|
17142
|
+
}], showSaveAndLoadConfiguration: [{
|
|
17143
|
+
type: Input
|
|
16515
17144
|
}], buildResult: [{
|
|
16516
17145
|
type: Output
|
|
16517
17146
|
}], isLoading: [{
|
|
@@ -17389,6 +18018,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
17389
18018
|
}]
|
|
17390
18019
|
}] });
|
|
17391
18020
|
|
|
18021
|
+
class ConfigurationPresetModule {
|
|
18022
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
18023
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetModule, declarations: [ConfigurationPresetComponent], imports: [PipesModule,
|
|
18024
|
+
ButtonModule,
|
|
18025
|
+
IconModule,
|
|
18026
|
+
InputTextModule,
|
|
18027
|
+
CdkCopyToClipboard], exports: [ConfigurationPresetComponent] });
|
|
18028
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetModule, imports: [PipesModule,
|
|
18029
|
+
ButtonModule,
|
|
18030
|
+
IconModule,
|
|
18031
|
+
InputTextModule] });
|
|
18032
|
+
}
|
|
18033
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetModule, decorators: [{
|
|
18034
|
+
type: NgModule,
|
|
18035
|
+
args: [{
|
|
18036
|
+
imports: [
|
|
18037
|
+
PipesModule,
|
|
18038
|
+
ButtonModule,
|
|
18039
|
+
IconModule,
|
|
18040
|
+
InputTextModule,
|
|
18041
|
+
CdkCopyToClipboard
|
|
18042
|
+
],
|
|
18043
|
+
declarations: [
|
|
18044
|
+
ConfigurationPresetComponent
|
|
18045
|
+
],
|
|
18046
|
+
exports: [
|
|
18047
|
+
ConfigurationPresetComponent
|
|
18048
|
+
]
|
|
18049
|
+
}]
|
|
18050
|
+
}] });
|
|
18051
|
+
|
|
17392
18052
|
class SelectionsSummaryModule {
|
|
17393
18053
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SelectionsSummaryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17394
18054
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: SelectionsSummaryModule, declarations: [SelectionsSummaryComponent], imports: [CoSummaryLineModule,
|
|
@@ -17396,13 +18056,15 @@ class SelectionsSummaryModule {
|
|
|
17396
18056
|
PipesModule,
|
|
17397
18057
|
PriceDisplayPipeModule,
|
|
17398
18058
|
SelectionsSummaryLineModule,
|
|
17399
|
-
IconModule
|
|
18059
|
+
IconModule,
|
|
18060
|
+
ConfigurationPresetModule], exports: [SelectionsSummaryComponent] });
|
|
17400
18061
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SelectionsSummaryModule, imports: [CoSummaryLineModule,
|
|
17401
18062
|
CommonModule,
|
|
17402
18063
|
PipesModule,
|
|
17403
18064
|
PriceDisplayPipeModule,
|
|
17404
18065
|
SelectionsSummaryLineModule,
|
|
17405
|
-
IconModule
|
|
18066
|
+
IconModule,
|
|
18067
|
+
ConfigurationPresetModule] });
|
|
17406
18068
|
}
|
|
17407
18069
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SelectionsSummaryModule, decorators: [{
|
|
17408
18070
|
type: NgModule,
|
|
@@ -17413,7 +18075,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
17413
18075
|
PipesModule,
|
|
17414
18076
|
PriceDisplayPipeModule,
|
|
17415
18077
|
SelectionsSummaryLineModule,
|
|
17416
|
-
IconModule
|
|
18078
|
+
IconModule,
|
|
18079
|
+
ConfigurationPresetModule
|
|
17417
18080
|
],
|
|
17418
18081
|
declarations: [
|
|
17419
18082
|
SelectionsSummaryComponent,
|
|
@@ -17624,7 +18287,8 @@ class ProductConfiguratorModule {
|
|
|
17624
18287
|
PipesModule,
|
|
17625
18288
|
IconModule,
|
|
17626
18289
|
TooltipDirectiveModule,
|
|
17627
|
-
ProductConfiguratorSelectorModule
|
|
18290
|
+
ProductConfiguratorSelectorModule,
|
|
18291
|
+
ConfigurationPresetModule], exports: [ProductConfiguratorComponent] });
|
|
17628
18292
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ProductConfiguratorModule, imports: [CommonModule,
|
|
17629
18293
|
MatIconModule,
|
|
17630
18294
|
MatButtonModule,
|
|
@@ -17637,7 +18301,8 @@ class ProductConfiguratorModule {
|
|
|
17637
18301
|
PipesModule,
|
|
17638
18302
|
IconModule,
|
|
17639
18303
|
TooltipDirectiveModule,
|
|
17640
|
-
ProductConfiguratorSelectorModule
|
|
18304
|
+
ProductConfiguratorSelectorModule,
|
|
18305
|
+
ConfigurationPresetModule] });
|
|
17641
18306
|
}
|
|
17642
18307
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ProductConfiguratorModule, decorators: [{
|
|
17643
18308
|
type: NgModule,
|
|
@@ -17655,7 +18320,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
17655
18320
|
PipesModule,
|
|
17656
18321
|
IconModule,
|
|
17657
18322
|
TooltipDirectiveModule,
|
|
17658
|
-
ProductConfiguratorSelectorModule
|
|
18323
|
+
ProductConfiguratorSelectorModule,
|
|
18324
|
+
ConfigurationPresetModule
|
|
17659
18325
|
],
|
|
17660
18326
|
schemas: [
|
|
17661
18327
|
NO_ERRORS_SCHEMA
|
|
@@ -17669,14 +18335,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
17669
18335
|
}]
|
|
17670
18336
|
}] });
|
|
17671
18337
|
|
|
18338
|
+
class ConfigurationPresetDialogModule {
|
|
18339
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
18340
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetDialogModule, declarations: [ConfigurationPresetDialogComponent], imports: [PipesModule,
|
|
18341
|
+
ButtonModule,
|
|
18342
|
+
IconModule,
|
|
18343
|
+
InputTextModule,
|
|
18344
|
+
CdkCopyToClipboard], exports: [ConfigurationPresetDialogComponent] });
|
|
18345
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetDialogModule, imports: [PipesModule,
|
|
18346
|
+
ButtonModule,
|
|
18347
|
+
IconModule,
|
|
18348
|
+
InputTextModule] });
|
|
18349
|
+
}
|
|
18350
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetDialogModule, decorators: [{
|
|
18351
|
+
type: NgModule,
|
|
18352
|
+
args: [{
|
|
18353
|
+
imports: [
|
|
18354
|
+
PipesModule,
|
|
18355
|
+
ButtonModule,
|
|
18356
|
+
IconModule,
|
|
18357
|
+
InputTextModule,
|
|
18358
|
+
CdkCopyToClipboard
|
|
18359
|
+
],
|
|
18360
|
+
declarations: [
|
|
18361
|
+
ConfigurationPresetDialogComponent
|
|
18362
|
+
],
|
|
18363
|
+
exports: [
|
|
18364
|
+
ConfigurationPresetDialogComponent
|
|
18365
|
+
]
|
|
18366
|
+
}]
|
|
18367
|
+
}] });
|
|
18368
|
+
|
|
17672
18369
|
class ThreedselectorModule {
|
|
17673
18370
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ThreedselectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17674
18371
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: ThreedselectorModule, declarations: [ThreedselectorComponent], imports: [LiteSelectorModule,
|
|
17675
18372
|
ProductConfiguratorModule,
|
|
17676
|
-
CommonModule
|
|
18373
|
+
CommonModule,
|
|
18374
|
+
ConfigurationPresetDialogModule], exports: [ThreedselectorComponent] });
|
|
17677
18375
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ThreedselectorModule, imports: [LiteSelectorModule,
|
|
17678
18376
|
ProductConfiguratorModule,
|
|
17679
|
-
CommonModule
|
|
18377
|
+
CommonModule,
|
|
18378
|
+
ConfigurationPresetDialogModule] });
|
|
17680
18379
|
}
|
|
17681
18380
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ThreedselectorModule, decorators: [{
|
|
17682
18381
|
type: NgModule,
|
|
@@ -17684,7 +18383,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
17684
18383
|
imports: [
|
|
17685
18384
|
LiteSelectorModule,
|
|
17686
18385
|
ProductConfiguratorModule,
|
|
17687
|
-
CommonModule
|
|
18386
|
+
CommonModule,
|
|
18387
|
+
ConfigurationPresetDialogModule
|
|
17688
18388
|
],
|
|
17689
18389
|
declarations: [
|
|
17690
18390
|
ThreedselectorComponent
|