@colijnit/configurator 262.1.2 → 262.1.3
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-262.1.2.tgz +0 -0
- package/fesm2022/colijnit-configurator.mjs +987 -288
- package/fesm2022/colijnit-configurator.mjs.map +1 -1
- package/index.d.ts +139 -36
- 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 {
|
|
@@ -512,6 +517,7 @@ class AppEventService {
|
|
|
512
517
|
articleInfoReceived = new Subject(); // TODO check; _onAnswerInfoReceived has a todo from 17-06-2024
|
|
513
518
|
onObjectSelected = new Subject();
|
|
514
519
|
onObjectUnSelected = new Subject();
|
|
520
|
+
changeConfigurationPresetDialogMode = new Subject();
|
|
515
521
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AppEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
516
522
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AppEventService, providedIn: 'root' });
|
|
517
523
|
}
|
|
@@ -954,14 +960,13 @@ class ConfiguratorService {
|
|
|
954
960
|
return this._configuratorApi.copyInstance(instanceId, shouldSaveCurrentInstanceId, showLoader);
|
|
955
961
|
}
|
|
956
962
|
async saveConfigurations(showLoader = true) {
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
return true;
|
|
963
|
+
return await this._configuratorApi.saveConfigurations(showLoader);
|
|
964
|
+
}
|
|
965
|
+
async storePreset(instanceId, showLoader = true) {
|
|
966
|
+
return await this._configuratorApi.storePreset(instanceId, showLoader);
|
|
967
|
+
}
|
|
968
|
+
async initForPreset(presetId, goodId, showLoader = true) {
|
|
969
|
+
return await this._configuratorApi.initForPreset(presetId, goodId, showLoader);
|
|
965
970
|
}
|
|
966
971
|
async googleTranslateEnabled() {
|
|
967
972
|
// this should always be fetched from the mainapi from the client
|
|
@@ -1402,6 +1407,12 @@ class ConfiguratorConnectorService {
|
|
|
1402
1407
|
console.error('error saving configurations');
|
|
1403
1408
|
}
|
|
1404
1409
|
}
|
|
1410
|
+
async storePreset(instanceId, showLoader = true) {
|
|
1411
|
+
return this._configuratorService.storePreset(instanceId, showLoader);
|
|
1412
|
+
}
|
|
1413
|
+
async initForPreset(presetId, goodId, showLoader = true) {
|
|
1414
|
+
return this._configuratorService.initForPreset(presetId, goodId, showLoader);
|
|
1415
|
+
}
|
|
1405
1416
|
async getDefaultLanguage(upId) {
|
|
1406
1417
|
return await this._configuratorService.getDefaultLanguage(upId);
|
|
1407
1418
|
}
|
|
@@ -10184,11 +10195,6 @@ class LoadFurnitureService extends LoadFurnitureBaseService {
|
|
|
10184
10195
|
if (!this.needs3DModel(result.placement)) {
|
|
10185
10196
|
result.resultType = ResultType.No3DModel;
|
|
10186
10197
|
}
|
|
10187
|
-
if (!result.assetUrl && result.resultType !== ResultType.No3DModel || result.resultType === ResultType.ArticleNotFound) {
|
|
10188
|
-
result.errorMessages.push(new ConfiguratorErrorMessage('ARTICLE_NOT_FOUND', 'ARTICLE_NOT_FOUND_DESC'));
|
|
10189
|
-
DebugUtils.log('Article not found');
|
|
10190
|
-
return Promise.reject(result);
|
|
10191
|
-
}
|
|
10192
10198
|
});
|
|
10193
10199
|
if (this.article) {
|
|
10194
10200
|
// Add the data to the result
|
|
@@ -12246,6 +12252,7 @@ var IconEnum;
|
|
|
12246
12252
|
IconEnum["ArrowTurnRight"] = "arrow_turn_right";
|
|
12247
12253
|
IconEnum["ArrowTurnRightRegular"] = "arrow_turn_right_regular";
|
|
12248
12254
|
IconEnum["ArCircle"] = "ar_circle";
|
|
12255
|
+
IconEnum["BarsLightFull"] = "bars_light_full";
|
|
12249
12256
|
IconEnum["Brush"] = "brush";
|
|
12250
12257
|
IconEnum["CameraSolid"] = "camera_solid";
|
|
12251
12258
|
IconEnum["CameraTopdown"] = "camera_topdown";
|
|
@@ -12270,6 +12277,7 @@ var IconEnum;
|
|
|
12270
12277
|
IconEnum["ConfFrame"] = "conf_frame";
|
|
12271
12278
|
IconEnum["ConfPlane"] = "conf_plane";
|
|
12272
12279
|
IconEnum["CopyLight"] = "copy_light";
|
|
12280
|
+
IconEnum["CopyRegularFull"] = "copy_regular_full";
|
|
12273
12281
|
IconEnum["Couch"] = "couch";
|
|
12274
12282
|
IconEnum["Cross"] = "cross";
|
|
12275
12283
|
IconEnum["CubeOutline"] = "cube-outline";
|
|
@@ -12282,7 +12290,9 @@ var IconEnum;
|
|
|
12282
12290
|
IconEnum["EditButton"] = "edit-button";
|
|
12283
12291
|
IconEnum["Expand"] = "expand";
|
|
12284
12292
|
IconEnum["FillDripLight"] = "fill_drip_light";
|
|
12293
|
+
IconEnum["FloppyDiskLightFull"] = "floppy_disk_light_full";
|
|
12285
12294
|
IconEnum["Flower"] = "flower";
|
|
12295
|
+
IconEnum["FolderOpenLightFull"] = "folder_open_light_full";
|
|
12286
12296
|
IconEnum["GaugeHighSolidFull"] = "gauge_high_solid_full";
|
|
12287
12297
|
IconEnum["GaugeLowSolidFull"] = "gauge_low_solid_full";
|
|
12288
12298
|
IconEnum["GaugeMaxSolidFull"] = "gauge_max_solid_full";
|
|
@@ -12336,6 +12346,7 @@ var IconEnum;
|
|
|
12336
12346
|
IconEnum["WandMagicSparkles"] = "wand_magic_sparkles";
|
|
12337
12347
|
IconEnum["WifiSolidFull"] = "wifi_solid_full";
|
|
12338
12348
|
IconEnum["XmarkLight"] = "xmark_light";
|
|
12349
|
+
IconEnum["XmarkLightFull"] = "xmark_light_full";
|
|
12339
12350
|
IconEnum["XmarkRegular"] = "xmark_regular";
|
|
12340
12351
|
})(IconEnum || (IconEnum = {}));
|
|
12341
12352
|
|
|
@@ -12358,6 +12369,7 @@ const IconSvg = {
|
|
|
12358
12369
|
"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>",
|
|
12359
12370
|
"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>",
|
|
12360
12371
|
"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>",
|
|
12372
|
+
"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>",
|
|
12361
12373
|
"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>",
|
|
12362
12374
|
"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>",
|
|
12363
12375
|
"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>",
|
|
@@ -12382,6 +12394,7 @@ const IconSvg = {
|
|
|
12382
12394
|
"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>",
|
|
12383
12395
|
"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>",
|
|
12384
12396
|
"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>",
|
|
12397
|
+
"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>",
|
|
12385
12398
|
"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>",
|
|
12386
12399
|
"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>",
|
|
12387
12400
|
"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>",
|
|
@@ -12394,7 +12407,9 @@ const IconSvg = {
|
|
|
12394
12407
|
"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>",
|
|
12395
12408
|
"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>",
|
|
12396
12409
|
"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>",
|
|
12410
|
+
"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>",
|
|
12397
12411
|
"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>",
|
|
12412
|
+
"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>",
|
|
12398
12413
|
"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>",
|
|
12399
12414
|
"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>",
|
|
12400
12415
|
"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>",
|
|
@@ -12448,6 +12463,7 @@ const IconSvg = {
|
|
|
12448
12463
|
"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>",
|
|
12449
12464
|
"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>",
|
|
12450
12465
|
"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>",
|
|
12466
|
+
"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>",
|
|
12451
12467
|
"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>"
|
|
12452
12468
|
};
|
|
12453
12469
|
|
|
@@ -12864,7 +12880,7 @@ class GoogleTranslateService {
|
|
|
12864
12880
|
return input;
|
|
12865
12881
|
}
|
|
12866
12882
|
const sourceLang = this._defaultLanguage.toLowerCase();
|
|
12867
|
-
const targetLang = this._clientLanguage.toLowerCase();
|
|
12883
|
+
const targetLang = this._clientLanguage ? this._clientLanguage.toLowerCase() : sourceLang;
|
|
12868
12884
|
const translationList = [input];
|
|
12869
12885
|
// When we do not need a translation
|
|
12870
12886
|
if (!input || (sourceLang === targetLang)) {
|
|
@@ -14729,6 +14745,108 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
14729
14745
|
args: ['class.should-be-hidden']
|
|
14730
14746
|
}] } });
|
|
14731
14747
|
|
|
14748
|
+
var PresetDialogMode;
|
|
14749
|
+
(function (PresetDialogMode) {
|
|
14750
|
+
PresetDialogMode[PresetDialogMode["SAVE"] = 0] = "SAVE";
|
|
14751
|
+
PresetDialogMode[PresetDialogMode["LOAD"] = 1] = "LOAD";
|
|
14752
|
+
})(PresetDialogMode || (PresetDialogMode = {}));
|
|
14753
|
+
|
|
14754
|
+
class ConfigurationPresetComponent {
|
|
14755
|
+
iconService;
|
|
14756
|
+
_appEventService;
|
|
14757
|
+
icons = IconEnum;
|
|
14758
|
+
isSaveLoadMenuOpen = false;
|
|
14759
|
+
showClass() {
|
|
14760
|
+
return true;
|
|
14761
|
+
}
|
|
14762
|
+
closeSaveLoadMenu() {
|
|
14763
|
+
this.isSaveLoadMenuOpen = false;
|
|
14764
|
+
}
|
|
14765
|
+
constructor(iconService, _appEventService) {
|
|
14766
|
+
this.iconService = iconService;
|
|
14767
|
+
this._appEventService = _appEventService;
|
|
14768
|
+
}
|
|
14769
|
+
toggleSaveLoadMenu(event) {
|
|
14770
|
+
event.stopPropagation();
|
|
14771
|
+
this.isSaveLoadMenuOpen = !this.isSaveLoadMenuOpen;
|
|
14772
|
+
}
|
|
14773
|
+
handleSavePresetClicked() {
|
|
14774
|
+
this.isSaveLoadMenuOpen = false;
|
|
14775
|
+
this._appEventService.changeConfigurationPresetDialogMode.next(PresetDialogMode.SAVE);
|
|
14776
|
+
}
|
|
14777
|
+
handleLoadPresetClicked() {
|
|
14778
|
+
this.isSaveLoadMenuOpen = false;
|
|
14779
|
+
this._appEventService.changeConfigurationPresetDialogMode.next(PresetDialogMode.LOAD);
|
|
14780
|
+
}
|
|
14781
|
+
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 });
|
|
14782
|
+
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: `
|
|
14783
|
+
<div class="save-load-config-wrapper">
|
|
14784
|
+
<div class="open-save-load" (click)="toggleSaveLoadMenu($event)">
|
|
14785
|
+
<co-icon [iconData]="iconService.getIcon(icons.BarsLightFull)"></co-icon>
|
|
14786
|
+
</div>
|
|
14787
|
+
<div
|
|
14788
|
+
class="save-load-configuration-buttons"
|
|
14789
|
+
[class.is-open]="isSaveLoadMenuOpen"
|
|
14790
|
+
(click)="$event.stopPropagation()">
|
|
14791
|
+
<co-button
|
|
14792
|
+
class="preset-button save-preset-button"
|
|
14793
|
+
[iconData]="iconService.getIcon(icons.FloppyDiskLightFull)"
|
|
14794
|
+
[label]="'SAVE_CONFIGURATION' | localize"
|
|
14795
|
+
(onClick)="handleSavePresetClicked()">
|
|
14796
|
+
</co-button>
|
|
14797
|
+
<co-button
|
|
14798
|
+
class="preset-button load-preset-button"
|
|
14799
|
+
[iconData]="iconService.getIcon(icons.FolderOpenLightFull)"
|
|
14800
|
+
[label]="'LOAD_CONFIGURATION' | localize"
|
|
14801
|
+
(onClick)="handleLoadPresetClicked()">
|
|
14802
|
+
</co-button>
|
|
14803
|
+
</div>
|
|
14804
|
+
</div>
|
|
14805
|
+
|
|
14806
|
+
|
|
14807
|
+
`, 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 });
|
|
14808
|
+
}
|
|
14809
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetComponent, decorators: [{
|
|
14810
|
+
type: Component,
|
|
14811
|
+
args: [{
|
|
14812
|
+
selector: 'co-configuration-preset',
|
|
14813
|
+
template: `
|
|
14814
|
+
<div class="save-load-config-wrapper">
|
|
14815
|
+
<div class="open-save-load" (click)="toggleSaveLoadMenu($event)">
|
|
14816
|
+
<co-icon [iconData]="iconService.getIcon(icons.BarsLightFull)"></co-icon>
|
|
14817
|
+
</div>
|
|
14818
|
+
<div
|
|
14819
|
+
class="save-load-configuration-buttons"
|
|
14820
|
+
[class.is-open]="isSaveLoadMenuOpen"
|
|
14821
|
+
(click)="$event.stopPropagation()">
|
|
14822
|
+
<co-button
|
|
14823
|
+
class="preset-button save-preset-button"
|
|
14824
|
+
[iconData]="iconService.getIcon(icons.FloppyDiskLightFull)"
|
|
14825
|
+
[label]="'SAVE_CONFIGURATION' | localize"
|
|
14826
|
+
(onClick)="handleSavePresetClicked()">
|
|
14827
|
+
</co-button>
|
|
14828
|
+
<co-button
|
|
14829
|
+
class="preset-button load-preset-button"
|
|
14830
|
+
[iconData]="iconService.getIcon(icons.FolderOpenLightFull)"
|
|
14831
|
+
[label]="'LOAD_CONFIGURATION' | localize"
|
|
14832
|
+
(onClick)="handleLoadPresetClicked()">
|
|
14833
|
+
</co-button>
|
|
14834
|
+
</div>
|
|
14835
|
+
</div>
|
|
14836
|
+
|
|
14837
|
+
|
|
14838
|
+
`,
|
|
14839
|
+
encapsulation: ViewEncapsulation.None,
|
|
14840
|
+
standalone: false
|
|
14841
|
+
}]
|
|
14842
|
+
}], ctorParameters: () => [{ type: IconCacheService }, { type: AppEventService }], propDecorators: { showClass: [{
|
|
14843
|
+
type: HostBinding,
|
|
14844
|
+
args: ['class.co-configuration-preset']
|
|
14845
|
+
}], closeSaveLoadMenu: [{
|
|
14846
|
+
type: HostListener,
|
|
14847
|
+
args: ['document:click']
|
|
14848
|
+
}] } });
|
|
14849
|
+
|
|
14732
14850
|
class SelectionsSummaryComponent {
|
|
14733
14851
|
configuratorConnectorService;
|
|
14734
14852
|
iconService;
|
|
@@ -14741,6 +14859,7 @@ class SelectionsSummaryComponent {
|
|
|
14741
14859
|
canClose = true;
|
|
14742
14860
|
answersTemplate;
|
|
14743
14861
|
answerToShowFromSelectionText;
|
|
14862
|
+
showSaveAndLoadConfiguration;
|
|
14744
14863
|
customDimensions = false;
|
|
14745
14864
|
disableMouse = false;
|
|
14746
14865
|
handledocumentMouseUp(event) {
|
|
@@ -14790,82 +14909,88 @@ class SelectionsSummaryComponent {
|
|
|
14790
14909
|
this.selectionToCustomize = sel;
|
|
14791
14910
|
}
|
|
14792
14911
|
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 });
|
|
14793
|
-
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: `
|
|
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
|
-
|
|
14825
|
-
|
|
14826
|
-
|
|
14827
|
-
|
|
14828
|
-
|
|
14912
|
+
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: `
|
|
14913
|
+
@if (showLabel || canClose) {
|
|
14914
|
+
<header class="drawer__header">
|
|
14915
|
+
@if (showLabel) {
|
|
14916
|
+
<h2 class="mat-title">{{ 'CONFIGURATION' | localize }}</h2>
|
|
14917
|
+
}
|
|
14918
|
+
@if (canClose) {
|
|
14919
|
+
<button class="close-lite-selector" (click)="closeClick.emit()">
|
|
14920
|
+
<co-icon [iconData]="iconService.getIcon(icons.Cross)"></co-icon>
|
|
14921
|
+
</button>
|
|
14922
|
+
}
|
|
14923
|
+
</header>
|
|
14924
|
+
}
|
|
14925
|
+
@if (selections && selections.length > 0) {
|
|
14926
|
+
<div class="selections-content small-scrollbar">
|
|
14927
|
+
@for (sel of selections; track sel; let index = $index) {
|
|
14928
|
+
<co-selections-summary-line
|
|
14929
|
+
[selection]="sel"
|
|
14930
|
+
[answersTemplate]="answersTemplate ? answersTemplate : undefined"
|
|
14931
|
+
[answerToShowFromSelectionText]="answerToShowFromSelectionText"
|
|
14932
|
+
[valutaSymbol]="valutaSymbol"
|
|
14933
|
+
(summaryLineClick)="handleClick(sel)"
|
|
14934
|
+
(summaryLineDelete)="handleDelete($event, sel)"
|
|
14935
|
+
(summaryLineRepeat)="handleRepeat($event, sel)"
|
|
14936
|
+
(customizeButtonClicked)="toggleElement(sel)"
|
|
14937
|
+
></co-selections-summary-line>
|
|
14938
|
+
}
|
|
14939
|
+
@if (showSaveAndLoadConfiguration) {
|
|
14940
|
+
<co-configuration-preset></co-configuration-preset>
|
|
14941
|
+
}
|
|
14942
|
+
@if (showAsConfigured) {
|
|
14943
|
+
<div class="sum">
|
|
14944
|
+
<label [textContent]="'AS_CONFIGURED' | localize"></label><span class="total-price"></span>
|
|
14945
|
+
<div class="price"> {{ configuratorConnectorService.totalPrice | priceDisplay }}</div>
|
|
14946
|
+
</div>
|
|
14947
|
+
}
|
|
14948
|
+
</div>
|
|
14949
|
+
}
|
|
14950
|
+
`, 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 });
|
|
14829
14951
|
}
|
|
14830
14952
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SelectionsSummaryComponent, decorators: [{
|
|
14831
14953
|
type: Component,
|
|
14832
14954
|
args: [{
|
|
14833
14955
|
selector: 'co-selections-summary',
|
|
14834
14956
|
template: `
|
|
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
|
-
|
|
14865
|
-
|
|
14866
|
-
|
|
14867
|
-
|
|
14868
|
-
|
|
14957
|
+
@if (showLabel || canClose) {
|
|
14958
|
+
<header class="drawer__header">
|
|
14959
|
+
@if (showLabel) {
|
|
14960
|
+
<h2 class="mat-title">{{ 'CONFIGURATION' | localize }}</h2>
|
|
14961
|
+
}
|
|
14962
|
+
@if (canClose) {
|
|
14963
|
+
<button class="close-lite-selector" (click)="closeClick.emit()">
|
|
14964
|
+
<co-icon [iconData]="iconService.getIcon(icons.Cross)"></co-icon>
|
|
14965
|
+
</button>
|
|
14966
|
+
}
|
|
14967
|
+
</header>
|
|
14968
|
+
}
|
|
14969
|
+
@if (selections && selections.length > 0) {
|
|
14970
|
+
<div class="selections-content small-scrollbar">
|
|
14971
|
+
@for (sel of selections; track sel; let index = $index) {
|
|
14972
|
+
<co-selections-summary-line
|
|
14973
|
+
[selection]="sel"
|
|
14974
|
+
[answersTemplate]="answersTemplate ? answersTemplate : undefined"
|
|
14975
|
+
[answerToShowFromSelectionText]="answerToShowFromSelectionText"
|
|
14976
|
+
[valutaSymbol]="valutaSymbol"
|
|
14977
|
+
(summaryLineClick)="handleClick(sel)"
|
|
14978
|
+
(summaryLineDelete)="handleDelete($event, sel)"
|
|
14979
|
+
(summaryLineRepeat)="handleRepeat($event, sel)"
|
|
14980
|
+
(customizeButtonClicked)="toggleElement(sel)"
|
|
14981
|
+
></co-selections-summary-line>
|
|
14982
|
+
}
|
|
14983
|
+
@if (showSaveAndLoadConfiguration) {
|
|
14984
|
+
<co-configuration-preset></co-configuration-preset>
|
|
14985
|
+
}
|
|
14986
|
+
@if (showAsConfigured) {
|
|
14987
|
+
<div class="sum">
|
|
14988
|
+
<label [textContent]="'AS_CONFIGURED' | localize"></label><span class="total-price"></span>
|
|
14989
|
+
<div class="price"> {{ configuratorConnectorService.totalPrice | priceDisplay }}</div>
|
|
14990
|
+
</div>
|
|
14991
|
+
}
|
|
14992
|
+
</div>
|
|
14993
|
+
}
|
|
14869
14994
|
`,
|
|
14870
14995
|
encapsulation: ViewEncapsulation.None,
|
|
14871
14996
|
standalone: false
|
|
@@ -14883,6 +15008,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
14883
15008
|
type: Input
|
|
14884
15009
|
}], answerToShowFromSelectionText: [{
|
|
14885
15010
|
type: Input
|
|
15011
|
+
}], showSaveAndLoadConfiguration: [{
|
|
15012
|
+
type: Input
|
|
14886
15013
|
}], customDimensions: [{
|
|
14887
15014
|
type: HostBinding,
|
|
14888
15015
|
args: ['class.custom-dimensions']
|
|
@@ -14942,6 +15069,7 @@ class LiteSelectorComponent {
|
|
|
14942
15069
|
canClose = true;
|
|
14943
15070
|
animateSlideout = true;
|
|
14944
15071
|
customDimensions = false;
|
|
15072
|
+
showSaveAndLoadConfiguration;
|
|
14945
15073
|
showChange = new EventEmitter();
|
|
14946
15074
|
answerChosen = new EventEmitter();
|
|
14947
15075
|
answerToShowFromSelectionText;
|
|
@@ -14994,7 +15122,7 @@ class LiteSelectorComponent {
|
|
|
14994
15122
|
// this.iOne.getMoodImageForAnswerSelection(answerSelected.answer, false);
|
|
14995
15123
|
}
|
|
14996
15124
|
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 });
|
|
14997
|
-
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: `
|
|
15125
|
+
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: `
|
|
14998
15126
|
<ng-container>
|
|
14999
15127
|
@if (showSelections && configuratorConnectorService.selectionsToDisplay.length > 0) {
|
|
15000
15128
|
<co-selections-summary
|
|
@@ -15006,11 +15134,11 @@ class LiteSelectorComponent {
|
|
|
15006
15134
|
[answersTemplate]="inlineAnswers ? templateAnswers : undefined"
|
|
15007
15135
|
[answerToShowFromSelectionText]="answerToShowFromSelectionText"
|
|
15008
15136
|
[selections]="configuratorConnectorService.selectionsToDisplay"
|
|
15137
|
+
[showSaveAndLoadConfiguration]="showSaveAndLoadConfiguration"
|
|
15009
15138
|
(selectSelection)="onSelectionsSummarySelectSelection($event)"
|
|
15010
15139
|
(repeatSelection)="onSelectionsSummarySelectSelection($event, false, true)"
|
|
15011
15140
|
(deleteSelection)="onSelectionsSummaryDeleteSelection($event)"
|
|
15012
|
-
(closeClick)="onCloseLiteSelectorButtonClick()"
|
|
15013
|
-
>
|
|
15141
|
+
(closeClick)="onCloseLiteSelectorButtonClick()">
|
|
15014
15142
|
</co-selections-summary>
|
|
15015
15143
|
}
|
|
15016
15144
|
@if (!inlineAnswers) {
|
|
@@ -15031,7 +15159,7 @@ class LiteSelectorComponent {
|
|
|
15031
15159
|
(answerChosen)="onAnswersSlideoutAnswerChosen($event)"
|
|
15032
15160
|
></co-answers-slideout>
|
|
15033
15161
|
</ng-template>
|
|
15034
|
-
`, 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: [
|
|
15162
|
+
`, 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: [
|
|
15035
15163
|
trigger('showSelections', [
|
|
15036
15164
|
state('void', style({ 'transform': 'translateX(100%)', opacity: 0 })),
|
|
15037
15165
|
state('*', style({ 'transform': 'translateX(0%)', opacity: 1 })),
|
|
@@ -15055,11 +15183,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15055
15183
|
[answersTemplate]="inlineAnswers ? templateAnswers : undefined"
|
|
15056
15184
|
[answerToShowFromSelectionText]="answerToShowFromSelectionText"
|
|
15057
15185
|
[selections]="configuratorConnectorService.selectionsToDisplay"
|
|
15186
|
+
[showSaveAndLoadConfiguration]="showSaveAndLoadConfiguration"
|
|
15058
15187
|
(selectSelection)="onSelectionsSummarySelectSelection($event)"
|
|
15059
15188
|
(repeatSelection)="onSelectionsSummarySelectSelection($event, false, true)"
|
|
15060
15189
|
(deleteSelection)="onSelectionsSummaryDeleteSelection($event)"
|
|
15061
|
-
(closeClick)="onCloseLiteSelectorButtonClick()"
|
|
15062
|
-
>
|
|
15190
|
+
(closeClick)="onCloseLiteSelectorButtonClick()">
|
|
15063
15191
|
</co-selections-summary>
|
|
15064
15192
|
}
|
|
15065
15193
|
@if (!inlineAnswers) {
|
|
@@ -15114,6 +15242,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15114
15242
|
args: ['class.custom-dimensions']
|
|
15115
15243
|
}, {
|
|
15116
15244
|
type: Input
|
|
15245
|
+
}], showSaveAndLoadConfiguration: [{
|
|
15246
|
+
type: Input
|
|
15117
15247
|
}], showChange: [{
|
|
15118
15248
|
type: Output
|
|
15119
15249
|
}], answerChosen: [{
|
|
@@ -15142,6 +15272,7 @@ class ProductConfiguratorSelectorOptionTileComponent {
|
|
|
15142
15272
|
icons = IconEnum;
|
|
15143
15273
|
option;
|
|
15144
15274
|
tileClass = 'small';
|
|
15275
|
+
noLabel = false;
|
|
15145
15276
|
selectionClicked = new EventEmitter();
|
|
15146
15277
|
constructor(configuratorConnectorService, iconService, settingsService) {
|
|
15147
15278
|
this.configuratorConnectorService = configuratorConnectorService;
|
|
@@ -15152,7 +15283,7 @@ class ProductConfiguratorSelectorOptionTileComponent {
|
|
|
15152
15283
|
this.selectionClicked.emit();
|
|
15153
15284
|
}
|
|
15154
15285
|
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 });
|
|
15155
|
-
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: `
|
|
15286
|
+
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: `
|
|
15156
15287
|
<!-- When selected show checkmark -->
|
|
15157
15288
|
<div
|
|
15158
15289
|
class="configurator-selector-option-tile-container configurator-selector-option-tile-container-{{this.tileClass}}"
|
|
@@ -15176,14 +15307,16 @@ class ProductConfiguratorSelectorOptionTileComponent {
|
|
|
15176
15307
|
}
|
|
15177
15308
|
</div>
|
|
15178
15309
|
<!-- Answer text -->
|
|
15179
|
-
|
|
15180
|
-
|
|
15181
|
-
|
|
15182
|
-
|
|
15183
|
-
|
|
15184
|
-
|
|
15310
|
+
@if (!noLabel) {
|
|
15311
|
+
<div class="product-configurator-selector-option-tile-description">
|
|
15312
|
+
@if (option.nodeText) {
|
|
15313
|
+
<p [textContent]="option.nodeText | googleTranslate | async"></p>
|
|
15314
|
+
}
|
|
15315
|
+
@if (!option.nodeText) {
|
|
15316
|
+
<p [textContent]="'Skip / Cancel' | googleTranslate | async"></p>
|
|
15317
|
+
}
|
|
15318
|
+
</div>
|
|
15185
15319
|
}
|
|
15186
|
-
</div>
|
|
15187
15320
|
</div>
|
|
15188
15321
|
`, 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 });
|
|
15189
15322
|
}
|
|
@@ -15215,14 +15348,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15215
15348
|
}
|
|
15216
15349
|
</div>
|
|
15217
15350
|
<!-- Answer text -->
|
|
15218
|
-
|
|
15219
|
-
|
|
15220
|
-
|
|
15221
|
-
|
|
15222
|
-
|
|
15223
|
-
|
|
15351
|
+
@if (!noLabel) {
|
|
15352
|
+
<div class="product-configurator-selector-option-tile-description">
|
|
15353
|
+
@if (option.nodeText) {
|
|
15354
|
+
<p [textContent]="option.nodeText | googleTranslate | async"></p>
|
|
15355
|
+
}
|
|
15356
|
+
@if (!option.nodeText) {
|
|
15357
|
+
<p [textContent]="'Skip / Cancel' | googleTranslate | async"></p>
|
|
15358
|
+
}
|
|
15359
|
+
</div>
|
|
15224
15360
|
}
|
|
15225
|
-
</div>
|
|
15226
15361
|
</div>
|
|
15227
15362
|
`,
|
|
15228
15363
|
encapsulation: ViewEncapsulation.None,
|
|
@@ -15235,6 +15370,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15235
15370
|
type: Input
|
|
15236
15371
|
}], tileClass: [{
|
|
15237
15372
|
type: Input
|
|
15373
|
+
}], noLabel: [{
|
|
15374
|
+
type: Input
|
|
15238
15375
|
}], selectionClicked: [{
|
|
15239
15376
|
type: Output
|
|
15240
15377
|
}] } });
|
|
@@ -15501,13 +15638,24 @@ class ProductConfiguratorSelectorOptionComponent {
|
|
|
15501
15638
|
selection;
|
|
15502
15639
|
listOfChoices;
|
|
15503
15640
|
markAsException;
|
|
15641
|
+
showGlobalAll = false;
|
|
15642
|
+
groupedSubShow = true;
|
|
15504
15643
|
configurationDisplayOption = ConfigurationDisplayOption;
|
|
15505
15644
|
selectionClass = '';
|
|
15506
15645
|
showAllTiles = false;
|
|
15507
15646
|
maxVisibleTiles = 10;
|
|
15508
|
-
maxVisibleSmallTiles =
|
|
15647
|
+
maxVisibleSmallTiles = 7;
|
|
15509
15648
|
visibleAnswers = [];
|
|
15510
15649
|
remainingTilesCount = 0;
|
|
15650
|
+
smallTileOptions = [
|
|
15651
|
+
ConfigurationDisplayOption.TileSmall,
|
|
15652
|
+
ConfigurationDisplayOption.SmallCircle,
|
|
15653
|
+
ConfigurationDisplayOption.SmallSquare
|
|
15654
|
+
];
|
|
15655
|
+
largeTileOptions = [
|
|
15656
|
+
ConfigurationDisplayOption.TileLarge,
|
|
15657
|
+
ConfigurationDisplayOption.TileRounded
|
|
15658
|
+
];
|
|
15511
15659
|
constructor(configuratorConnectorService, settingsService, productConfiguratorService) {
|
|
15512
15660
|
this.configuratorConnectorService = configuratorConnectorService;
|
|
15513
15661
|
this.settingsService = settingsService;
|
|
@@ -15515,7 +15663,7 @@ class ProductConfiguratorSelectorOptionComponent {
|
|
|
15515
15663
|
}
|
|
15516
15664
|
ngOnInit() {
|
|
15517
15665
|
if (this.selection && this.selection.displayOptionControl == null) {
|
|
15518
|
-
this.selection.displayOptionControl = ConfigurationDisplayOption.
|
|
15666
|
+
this.selection.displayOptionControl = ConfigurationDisplayOption.TileLarge;
|
|
15519
15667
|
}
|
|
15520
15668
|
if (this.markAsException) {
|
|
15521
15669
|
this.selectionClass = 'selection-exception selection-container-' + this.selection.displayOptionControl;
|
|
@@ -15531,8 +15679,23 @@ class ProductConfiguratorSelectorOptionComponent {
|
|
|
15531
15679
|
this.configuratorConnectorService.getImageForAnswer(selectionCopy);
|
|
15532
15680
|
this.listOfChoices.push(selectionCopy);
|
|
15533
15681
|
}
|
|
15682
|
+
if (this.showGlobalAll) {
|
|
15683
|
+
this.showAllTiles = true;
|
|
15684
|
+
}
|
|
15534
15685
|
this._calculateVisibleAnswers();
|
|
15535
15686
|
}
|
|
15687
|
+
ngOnChanges(changes) {
|
|
15688
|
+
if (changes.showGlobalAll && !changes.showGlobalAll.firstChange) {
|
|
15689
|
+
this.showAllTiles = !!changes.showGlobalAll.currentValue;
|
|
15690
|
+
this._calculateVisibleAnswers();
|
|
15691
|
+
}
|
|
15692
|
+
if (changes.listOfChoices && !changes.listOfChoices.firstChange) {
|
|
15693
|
+
this._calculateVisibleAnswers();
|
|
15694
|
+
}
|
|
15695
|
+
if (changes.selection && !changes.selection.firstChange) {
|
|
15696
|
+
this._calculateVisibleAnswers();
|
|
15697
|
+
}
|
|
15698
|
+
}
|
|
15536
15699
|
selectionClicked(answer) {
|
|
15537
15700
|
this.productConfiguratorService.selectSelection.emit(answer);
|
|
15538
15701
|
}
|
|
@@ -15544,23 +15707,39 @@ class ProductConfiguratorSelectorOptionComponent {
|
|
|
15544
15707
|
this.showAllTiles = false;
|
|
15545
15708
|
this._calculateVisibleAnswers();
|
|
15546
15709
|
}
|
|
15710
|
+
getTileClass() {
|
|
15711
|
+
switch (this.selection.displayOptionControl) {
|
|
15712
|
+
case this.configurationDisplayOption.TileLarge:
|
|
15713
|
+
return 'large';
|
|
15714
|
+
case this.configurationDisplayOption.TileRounded:
|
|
15715
|
+
return 'rounded';
|
|
15716
|
+
case this.configurationDisplayOption.SmallCircle:
|
|
15717
|
+
return 'small-rounded';
|
|
15718
|
+
case this.configurationDisplayOption.SmallSquare:
|
|
15719
|
+
return 'small-square';
|
|
15720
|
+
default:
|
|
15721
|
+
return 'small';
|
|
15722
|
+
}
|
|
15723
|
+
}
|
|
15547
15724
|
_calculateVisibleAnswers() {
|
|
15548
|
-
if (this.selection.displayOptionControl
|
|
15549
|
-
|
|
15550
|
-
|
|
15551
|
-
|
|
15552
|
-
|
|
15553
|
-
|
|
15554
|
-
|
|
15725
|
+
if (this.largeTileOptions.includes(this.selection.displayOptionControl)) {
|
|
15726
|
+
const configuredMaxVisibleTiles = this.settingsService?.settings?.options?.maxVisibleTiles;
|
|
15727
|
+
if (configuredMaxVisibleTiles != null) {
|
|
15728
|
+
this.maxVisibleTiles = configuredMaxVisibleTiles;
|
|
15729
|
+
}
|
|
15730
|
+
this.visibleAnswers = this.showAllTiles
|
|
15731
|
+
? this.listOfChoices
|
|
15732
|
+
: this.listOfChoices.slice(0, this.maxVisibleTiles);
|
|
15555
15733
|
this.remainingTilesCount = Math.max(0, this.listOfChoices.length - this.maxVisibleTiles);
|
|
15556
15734
|
}
|
|
15557
|
-
else if (this.selection.displayOptionControl
|
|
15558
|
-
|
|
15559
|
-
|
|
15560
|
-
|
|
15561
|
-
else {
|
|
15562
|
-
this.visibleAnswers = this.listOfChoices.slice(0, this.maxVisibleSmallTiles);
|
|
15735
|
+
else if (this.smallTileOptions.includes(this.selection.displayOptionControl)) {
|
|
15736
|
+
const configuredMaxVisibleTiles = this.settingsService?.settings?.options?.maxVisibleSmallTiles;
|
|
15737
|
+
if (configuredMaxVisibleTiles != null) {
|
|
15738
|
+
this.maxVisibleSmallTiles = configuredMaxVisibleTiles;
|
|
15563
15739
|
}
|
|
15740
|
+
this.visibleAnswers = this.showAllTiles
|
|
15741
|
+
? this.listOfChoices
|
|
15742
|
+
: this.listOfChoices.slice(0, this.maxVisibleSmallTiles);
|
|
15564
15743
|
this.remainingTilesCount = Math.max(0, this.listOfChoices.length - this.maxVisibleSmallTiles);
|
|
15565
15744
|
}
|
|
15566
15745
|
else {
|
|
@@ -15569,11 +15748,11 @@ class ProductConfiguratorSelectorOptionComponent {
|
|
|
15569
15748
|
}
|
|
15570
15749
|
}
|
|
15571
15750
|
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 });
|
|
15572
|
-
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: `
|
|
15751
|
+
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: `
|
|
15573
15752
|
<div class="selector-wrapper {{this.selectionClass}}">
|
|
15574
15753
|
@if (this.selection.displayOptionControl !== configurationDisplayOption.DropDown
|
|
15575
|
-
&& this.selection.displayOptionControl
|
|
15576
|
-
&& this.selection.displayOptionControl
|
|
15754
|
+
&& !this.largeTileOptions.includes(this.selection.displayOptionControl)
|
|
15755
|
+
&& !this.smallTileOptions.includes(this.selection.displayOptionControl)) {
|
|
15577
15756
|
@for (child of listOfChoices; track child) {
|
|
15578
15757
|
<div class="selector-option-wrapper" [class.active]="child.selected ==='F'">
|
|
15579
15758
|
@if (this.selection.displayOptionControl === configurationDisplayOption.Button) {
|
|
@@ -15595,18 +15774,25 @@ class ProductConfiguratorSelectorOptionComponent {
|
|
|
15595
15774
|
(selectionClicked)="selectionClicked(child)">
|
|
15596
15775
|
</co-product-configurator-selector-option-tile>
|
|
15597
15776
|
}
|
|
15598
|
-
@if (this.selection.displayOptionControl === configurationDisplayOption.
|
|
15777
|
+
@if (this.selection.displayOptionControl === configurationDisplayOption.HorizontalTiles) {
|
|
15599
15778
|
<co-product-configurator-selector-option-tile
|
|
15600
15779
|
[option]="child"
|
|
15601
|
-
[tileClass]="'
|
|
15780
|
+
[tileClass]="'horizontal'"
|
|
15602
15781
|
(selectionClicked)="selectionClicked(child)">
|
|
15603
15782
|
</co-product-configurator-selector-option-tile>
|
|
15604
15783
|
}
|
|
15605
|
-
@if (this.selection.displayOptionControl === configurationDisplayOption.
|
|
15784
|
+
@if (this.selection.displayOptionControl === configurationDisplayOption.OnPage) {
|
|
15606
15785
|
<co-product-configurator-selector-option-tile
|
|
15607
|
-
|
|
15608
|
-
|
|
15609
|
-
|
|
15786
|
+
[option]="child"
|
|
15787
|
+
[tileClass]="'on-page'"
|
|
15788
|
+
(selectionClicked)="selectionClicked(child)">
|
|
15789
|
+
</co-product-configurator-selector-option-tile>
|
|
15790
|
+
}
|
|
15791
|
+
@if (this.selection.displayOptionControl === configurationDisplayOption.SlideOut) {
|
|
15792
|
+
<co-product-configurator-selector-option-tile
|
|
15793
|
+
[option]="child"
|
|
15794
|
+
[tileClass]="'slide-out'"
|
|
15795
|
+
(selectionClicked)="selectionClicked(child)">
|
|
15610
15796
|
</co-product-configurator-selector-option-tile>
|
|
15611
15797
|
}
|
|
15612
15798
|
</div>
|
|
@@ -15614,13 +15800,14 @@ class ProductConfiguratorSelectorOptionComponent {
|
|
|
15614
15800
|
}
|
|
15615
15801
|
|
|
15616
15802
|
@if (
|
|
15617
|
-
|
|
15618
|
-
|
|
15803
|
+
this.largeTileOptions.includes(this.selection.displayOptionControl)
|
|
15804
|
+
|| this.smallTileOptions.includes(this.selection.displayOptionControl)) {
|
|
15619
15805
|
@for (child of visibleAnswers; track child) {
|
|
15620
15806
|
<div class="selector-option-wrapper" [class.active]="child.selected ==='F'">
|
|
15621
15807
|
<co-product-configurator-selector-option-tile
|
|
15622
15808
|
[option]="child"
|
|
15623
|
-
[
|
|
15809
|
+
[noLabel]="this.selection.displayOptionControl === configurationDisplayOption.SmallCircle || this.selection.displayOptionControl === configurationDisplayOption.SmallSquare"
|
|
15810
|
+
[tileClass]="getTileClass()"
|
|
15624
15811
|
(selectionClicked)="selectionClicked(child)"
|
|
15625
15812
|
></co-product-configurator-selector-option-tile>
|
|
15626
15813
|
</div>
|
|
@@ -15628,18 +15815,16 @@ class ProductConfiguratorSelectorOptionComponent {
|
|
|
15628
15815
|
}
|
|
15629
15816
|
|
|
15630
15817
|
@if (this.selection.displayOptionControl === configurationDisplayOption.DropDown) {
|
|
15631
|
-
|
|
15632
|
-
|
|
15633
|
-
|
|
15634
|
-
|
|
15635
|
-
></co-product-configurator-selector-option-dropdown>
|
|
15636
|
-
}
|
|
15818
|
+
<co-product-configurator-selector-option-dropdown
|
|
15819
|
+
[options]="listOfChoices"
|
|
15820
|
+
(selectionClicked)="selectionClicked($event)"
|
|
15821
|
+
></co-product-configurator-selector-option-dropdown>
|
|
15637
15822
|
}
|
|
15638
15823
|
</div>
|
|
15639
15824
|
|
|
15640
15825
|
@if (
|
|
15641
|
-
|
|
15642
|
-
|
|
15826
|
+
(this.largeTileOptions.includes(this.selection.displayOptionControl) ||
|
|
15827
|
+
this.smallTileOptions.includes(this.selection.displayOptionControl)) && groupedSubShow) {
|
|
15643
15828
|
@if (!showAllTiles && remainingTilesCount > 0) {
|
|
15644
15829
|
<div class="show-more-container">
|
|
15645
15830
|
<span (click)="showMore()">
|
|
@@ -15656,7 +15841,7 @@ class ProductConfiguratorSelectorOptionComponent {
|
|
|
15656
15841
|
}
|
|
15657
15842
|
}
|
|
15658
15843
|
|
|
15659
|
-
`, 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: [
|
|
15844
|
+
`, 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: [
|
|
15660
15845
|
trigger('showSelections', [
|
|
15661
15846
|
state('void', style({ 'transform': 'translateX(100%)', opacity: 0 })),
|
|
15662
15847
|
state('*', style({ 'transform': 'translateX(0%)', opacity: 1 })),
|
|
@@ -15671,8 +15856,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15671
15856
|
template: `
|
|
15672
15857
|
<div class="selector-wrapper {{this.selectionClass}}">
|
|
15673
15858
|
@if (this.selection.displayOptionControl !== configurationDisplayOption.DropDown
|
|
15674
|
-
&& this.selection.displayOptionControl
|
|
15675
|
-
&& this.selection.displayOptionControl
|
|
15859
|
+
&& !this.largeTileOptions.includes(this.selection.displayOptionControl)
|
|
15860
|
+
&& !this.smallTileOptions.includes(this.selection.displayOptionControl)) {
|
|
15676
15861
|
@for (child of listOfChoices; track child) {
|
|
15677
15862
|
<div class="selector-option-wrapper" [class.active]="child.selected ==='F'">
|
|
15678
15863
|
@if (this.selection.displayOptionControl === configurationDisplayOption.Button) {
|
|
@@ -15694,18 +15879,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15694
15879
|
(selectionClicked)="selectionClicked(child)">
|
|
15695
15880
|
</co-product-configurator-selector-option-tile>
|
|
15696
15881
|
}
|
|
15697
|
-
@if (this.selection.displayOptionControl === configurationDisplayOption.
|
|
15882
|
+
@if (this.selection.displayOptionControl === configurationDisplayOption.HorizontalTiles) {
|
|
15698
15883
|
<co-product-configurator-selector-option-tile
|
|
15699
15884
|
[option]="child"
|
|
15700
|
-
[tileClass]="'
|
|
15885
|
+
[tileClass]="'horizontal'"
|
|
15701
15886
|
(selectionClicked)="selectionClicked(child)">
|
|
15702
15887
|
</co-product-configurator-selector-option-tile>
|
|
15703
15888
|
}
|
|
15704
|
-
@if (this.selection.displayOptionControl === configurationDisplayOption.
|
|
15889
|
+
@if (this.selection.displayOptionControl === configurationDisplayOption.OnPage) {
|
|
15705
15890
|
<co-product-configurator-selector-option-tile
|
|
15706
|
-
|
|
15707
|
-
|
|
15708
|
-
|
|
15891
|
+
[option]="child"
|
|
15892
|
+
[tileClass]="'on-page'"
|
|
15893
|
+
(selectionClicked)="selectionClicked(child)">
|
|
15894
|
+
</co-product-configurator-selector-option-tile>
|
|
15895
|
+
}
|
|
15896
|
+
@if (this.selection.displayOptionControl === configurationDisplayOption.SlideOut) {
|
|
15897
|
+
<co-product-configurator-selector-option-tile
|
|
15898
|
+
[option]="child"
|
|
15899
|
+
[tileClass]="'slide-out'"
|
|
15900
|
+
(selectionClicked)="selectionClicked(child)">
|
|
15709
15901
|
</co-product-configurator-selector-option-tile>
|
|
15710
15902
|
}
|
|
15711
15903
|
</div>
|
|
@@ -15713,13 +15905,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15713
15905
|
}
|
|
15714
15906
|
|
|
15715
15907
|
@if (
|
|
15716
|
-
|
|
15717
|
-
|
|
15908
|
+
this.largeTileOptions.includes(this.selection.displayOptionControl)
|
|
15909
|
+
|| this.smallTileOptions.includes(this.selection.displayOptionControl)) {
|
|
15718
15910
|
@for (child of visibleAnswers; track child) {
|
|
15719
15911
|
<div class="selector-option-wrapper" [class.active]="child.selected ==='F'">
|
|
15720
15912
|
<co-product-configurator-selector-option-tile
|
|
15721
15913
|
[option]="child"
|
|
15722
|
-
[
|
|
15914
|
+
[noLabel]="this.selection.displayOptionControl === configurationDisplayOption.SmallCircle || this.selection.displayOptionControl === configurationDisplayOption.SmallSquare"
|
|
15915
|
+
[tileClass]="getTileClass()"
|
|
15723
15916
|
(selectionClicked)="selectionClicked(child)"
|
|
15724
15917
|
></co-product-configurator-selector-option-tile>
|
|
15725
15918
|
</div>
|
|
@@ -15727,18 +15920,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15727
15920
|
}
|
|
15728
15921
|
|
|
15729
15922
|
@if (this.selection.displayOptionControl === configurationDisplayOption.DropDown) {
|
|
15730
|
-
|
|
15731
|
-
|
|
15732
|
-
|
|
15733
|
-
|
|
15734
|
-
></co-product-configurator-selector-option-dropdown>
|
|
15735
|
-
}
|
|
15923
|
+
<co-product-configurator-selector-option-dropdown
|
|
15924
|
+
[options]="listOfChoices"
|
|
15925
|
+
(selectionClicked)="selectionClicked($event)"
|
|
15926
|
+
></co-product-configurator-selector-option-dropdown>
|
|
15736
15927
|
}
|
|
15737
15928
|
</div>
|
|
15738
15929
|
|
|
15739
15930
|
@if (
|
|
15740
|
-
|
|
15741
|
-
|
|
15931
|
+
(this.largeTileOptions.includes(this.selection.displayOptionControl) ||
|
|
15932
|
+
this.smallTileOptions.includes(this.selection.displayOptionControl)) && groupedSubShow) {
|
|
15742
15933
|
@if (!showAllTiles && remainingTilesCount > 0) {
|
|
15743
15934
|
<div class="show-more-container">
|
|
15744
15935
|
<span (click)="showMore()">
|
|
@@ -15775,25 +15966,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15775
15966
|
type: Input
|
|
15776
15967
|
}], markAsException: [{
|
|
15777
15968
|
type: Input
|
|
15969
|
+
}], showGlobalAll: [{
|
|
15970
|
+
type: Input
|
|
15971
|
+
}], groupedSubShow: [{
|
|
15972
|
+
type: Input
|
|
15778
15973
|
}] } });
|
|
15779
15974
|
|
|
15780
15975
|
class ProductConfiguratorSelectorComponent {
|
|
15781
15976
|
configuratorConnectorService;
|
|
15782
15977
|
settingsService;
|
|
15783
15978
|
iconService;
|
|
15784
|
-
showClass() {
|
|
15785
|
-
return true;
|
|
15786
|
-
}
|
|
15787
|
-
icons = IconEnum;
|
|
15788
|
-
exceptionContainer;
|
|
15789
15979
|
get hostClasses() {
|
|
15790
|
-
const classes = [
|
|
15791
|
-
|
|
15792
|
-
|
|
15793
|
-
|
|
15980
|
+
const classes = [
|
|
15981
|
+
'co-product-configurator-selector',
|
|
15982
|
+
`treelevel-${this.treeLevelIndex}`
|
|
15983
|
+
];
|
|
15984
|
+
if (!this._shouldBeVisible()) {
|
|
15985
|
+
classes.push('hidden-frontend');
|
|
15794
15986
|
}
|
|
15795
15987
|
return classes.join(' ');
|
|
15796
15988
|
}
|
|
15989
|
+
icons = IconEnum;
|
|
15990
|
+
exceptionContainer;
|
|
15797
15991
|
selection;
|
|
15798
15992
|
options;
|
|
15799
15993
|
lastNodeWithChildren;
|
|
@@ -15801,13 +15995,37 @@ class ProductConfiguratorSelectorComponent {
|
|
|
15801
15995
|
treeLevelIndex = 1;
|
|
15802
15996
|
isActive = true;
|
|
15803
15997
|
markAsException = false;
|
|
15998
|
+
showAll = false;
|
|
15999
|
+
suppressSubShowMore = false;
|
|
16000
|
+
useGroupedParentVisibility = false;
|
|
15804
16001
|
activate = new EventEmitter();
|
|
15805
|
-
get selectionIndexText() {
|
|
15806
|
-
return this.selectionIndex + '. ';
|
|
15807
|
-
}
|
|
15808
16002
|
selectionClass = '';
|
|
15809
16003
|
listOfChoices = [];
|
|
15810
16004
|
activeChildIndex = 0;
|
|
16005
|
+
localShowAll = false;
|
|
16006
|
+
get selectionIndexText() {
|
|
16007
|
+
return this.selectionIndex + '. ';
|
|
16008
|
+
}
|
|
16009
|
+
get expandButtonText() {
|
|
16010
|
+
if (this.getChildShowAll()) {
|
|
16011
|
+
return 'VIEW_LESS';
|
|
16012
|
+
}
|
|
16013
|
+
return this.groupedRemainingTilesCount > 0
|
|
16014
|
+
? `SHOW_ALL`
|
|
16015
|
+
: 'SHOW_ALL';
|
|
16016
|
+
}
|
|
16017
|
+
get suppressSubShowMoreForChildren() {
|
|
16018
|
+
return this.suppressSubShowMore || this.isGroupedSection();
|
|
16019
|
+
}
|
|
16020
|
+
get groupedRemainingTilesCount() {
|
|
16021
|
+
if (!this.isGroupedSection() || this.getChildShowAll()) {
|
|
16022
|
+
return 0;
|
|
16023
|
+
}
|
|
16024
|
+
return this._countGroupedTilesToReveal(this.options);
|
|
16025
|
+
}
|
|
16026
|
+
get useGroupedVisibilityForChildren() {
|
|
16027
|
+
return this.useGroupedParentVisibility || this.isGroupedSection();
|
|
16028
|
+
}
|
|
15811
16029
|
constructor(configuratorConnectorService, settingsService, iconService) {
|
|
15812
16030
|
this.configuratorConnectorService = configuratorConnectorService;
|
|
15813
16031
|
this.settingsService = settingsService;
|
|
@@ -15829,6 +16047,15 @@ class ProductConfiguratorSelectorComponent {
|
|
|
15829
16047
|
if (this.markAsException) {
|
|
15830
16048
|
this.showAndScroll();
|
|
15831
16049
|
}
|
|
16050
|
+
this._setActiveChildIndexFromSelection();
|
|
16051
|
+
}
|
|
16052
|
+
ngOnChanges(changes) {
|
|
16053
|
+
if (changes.options && !changes.options.firstChange) {
|
|
16054
|
+
this._setActiveChildIndexFromSelection();
|
|
16055
|
+
}
|
|
16056
|
+
if (changes.showAll && !changes.showAll.firstChange) {
|
|
16057
|
+
this._setActiveChildIndexFromSelection();
|
|
16058
|
+
}
|
|
15832
16059
|
}
|
|
15833
16060
|
showAndScroll() {
|
|
15834
16061
|
setTimeout(() => {
|
|
@@ -15838,8 +16065,128 @@ class ProductConfiguratorSelectorComponent {
|
|
|
15838
16065
|
onSubHeaderClick() {
|
|
15839
16066
|
this.activate.emit();
|
|
15840
16067
|
}
|
|
16068
|
+
onShowAllClick() {
|
|
16069
|
+
this.localShowAll = !this.localShowAll;
|
|
16070
|
+
}
|
|
16071
|
+
getIsChildVisible(index) {
|
|
16072
|
+
if (!this.useGroupedVisibilityForChildren) {
|
|
16073
|
+
return true;
|
|
16074
|
+
}
|
|
16075
|
+
if (this.getChildShowAll()) {
|
|
16076
|
+
return true;
|
|
16077
|
+
}
|
|
16078
|
+
return index === this.activeChildIndex;
|
|
16079
|
+
}
|
|
16080
|
+
isGroupedSection() {
|
|
16081
|
+
return this.treeLevelIndex === 1
|
|
16082
|
+
&& !this.lastNodeWithChildren
|
|
16083
|
+
&& this.settingsService.settings.options.groupedShowAllBtn
|
|
16084
|
+
&& Array.isArray(this.options)
|
|
16085
|
+
&& this.options.length > 1;
|
|
16086
|
+
}
|
|
16087
|
+
shouldShowExpandButton() {
|
|
16088
|
+
return this.isGroupedSection();
|
|
16089
|
+
}
|
|
16090
|
+
getChildShowAll() {
|
|
16091
|
+
return this.showAll || this.localShowAll;
|
|
16092
|
+
}
|
|
16093
|
+
_shouldBeVisible() {
|
|
16094
|
+
if (!this.useGroupedVisibilityForChildren) {
|
|
16095
|
+
return true;
|
|
16096
|
+
}
|
|
16097
|
+
if (this.getChildShowAll()) {
|
|
16098
|
+
return true;
|
|
16099
|
+
}
|
|
16100
|
+
return this.isActive;
|
|
16101
|
+
}
|
|
16102
|
+
_setActiveChildIndexFromSelection() {
|
|
16103
|
+
if (!Array.isArray(this.options) || this.options.length === 0) {
|
|
16104
|
+
this.activeChildIndex = 0;
|
|
16105
|
+
return;
|
|
16106
|
+
}
|
|
16107
|
+
const selectedIndex = this.options.findIndex(option => this._hasSelectedOption(option));
|
|
16108
|
+
this.activeChildIndex = selectedIndex >= 0 ? selectedIndex : 0;
|
|
16109
|
+
}
|
|
16110
|
+
_hasSelectedOption(option) {
|
|
16111
|
+
if (!option) {
|
|
16112
|
+
return false;
|
|
16113
|
+
}
|
|
16114
|
+
if (option.selector && option.selector.selected === 'F') {
|
|
16115
|
+
return true;
|
|
16116
|
+
}
|
|
16117
|
+
if (!Array.isArray(option.selectorOptions) || option.selectorOptions.length === 0) {
|
|
16118
|
+
return false;
|
|
16119
|
+
}
|
|
16120
|
+
return option.selectorOptions.some(childOption => this._hasSelectedOption(childOption));
|
|
16121
|
+
}
|
|
16122
|
+
_countRemainingTiles(options) {
|
|
16123
|
+
if (!Array.isArray(options) || options.length === 0) {
|
|
16124
|
+
return 0;
|
|
16125
|
+
}
|
|
16126
|
+
let total = 0;
|
|
16127
|
+
for (const option of options) {
|
|
16128
|
+
if (!option) {
|
|
16129
|
+
continue;
|
|
16130
|
+
}
|
|
16131
|
+
if (option.lastNodeWithChildren) {
|
|
16132
|
+
total += this._remainingTilesForLeaf(option);
|
|
16133
|
+
}
|
|
16134
|
+
else if (Array.isArray(option.selectorOptions)) {
|
|
16135
|
+
total += this._countRemainingTiles(option.selectorOptions);
|
|
16136
|
+
}
|
|
16137
|
+
}
|
|
16138
|
+
return total;
|
|
16139
|
+
}
|
|
16140
|
+
_countGroupedTilesToReveal(options) {
|
|
16141
|
+
if (!Array.isArray(options) || options.length === 0) {
|
|
16142
|
+
return 0;
|
|
16143
|
+
}
|
|
16144
|
+
let total = 0;
|
|
16145
|
+
options.forEach((option, index) => {
|
|
16146
|
+
if (index === this.activeChildIndex) {
|
|
16147
|
+
total += this._countRemainingTiles([option]);
|
|
16148
|
+
}
|
|
16149
|
+
else {
|
|
16150
|
+
total += this._countAllTiles(option);
|
|
16151
|
+
}
|
|
16152
|
+
});
|
|
16153
|
+
return total;
|
|
16154
|
+
}
|
|
16155
|
+
_countAllTiles(option) {
|
|
16156
|
+
if (!option) {
|
|
16157
|
+
return 0;
|
|
16158
|
+
}
|
|
16159
|
+
if (option.lastNodeWithChildren) {
|
|
16160
|
+
return Array.isArray(option.selectorOptions)
|
|
16161
|
+
? option.selectorOptions.length
|
|
16162
|
+
: 0;
|
|
16163
|
+
}
|
|
16164
|
+
if (!Array.isArray(option.selectorOptions)) {
|
|
16165
|
+
return 0;
|
|
16166
|
+
}
|
|
16167
|
+
return option.selectorOptions.reduce((total, childOption) => total + this._countAllTiles(childOption), 0);
|
|
16168
|
+
}
|
|
16169
|
+
_remainingTilesForLeaf(option) {
|
|
16170
|
+
if (!option?.selectorOptions || !option.selector) {
|
|
16171
|
+
return 0;
|
|
16172
|
+
}
|
|
16173
|
+
const displayOption = option.selector.displayOptionControl;
|
|
16174
|
+
const count = option.selectorOptions.length;
|
|
16175
|
+
if (displayOption === ConfigurationDisplayOption.TileLarge
|
|
16176
|
+
|| displayOption === ConfigurationDisplayOption.TileRounded) {
|
|
16177
|
+
const maxVisibleTiles = this.settingsService?.settings?.options?.maxVisibleTiles ?? 10;
|
|
16178
|
+
return Math.max(0, count - maxVisibleTiles);
|
|
16179
|
+
}
|
|
16180
|
+
if (displayOption === ConfigurationDisplayOption.TileSmall
|
|
16181
|
+
|| displayOption === ConfigurationDisplayOption.SmallCircle
|
|
16182
|
+
|| displayOption === ConfigurationDisplayOption.SmallSquare) {
|
|
16183
|
+
const maxVisibleSmallTiles = this.settingsService?.settings?.options?.maxVisibleSmallTiles ?? 24;
|
|
16184
|
+
return Math.max(0, count - maxVisibleSmallTiles);
|
|
16185
|
+
}
|
|
16186
|
+
return 0;
|
|
16187
|
+
}
|
|
15841
16188
|
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 });
|
|
15842
|
-
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
|
|
16189
|
+
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: `
|
|
15843
16190
|
<div class="selector-container">
|
|
15844
16191
|
<!--
|
|
15845
16192
|
Based on the threeLevel and the length op options we got a couple of flavours
|
|
@@ -15888,7 +16235,9 @@ class ProductConfiguratorSelectorComponent {
|
|
|
15888
16235
|
<co-product-configurator-selector-option
|
|
15889
16236
|
[selection]="selection"
|
|
15890
16237
|
[listOfChoices]="listOfChoices"
|
|
15891
|
-
[
|
|
16238
|
+
[groupedSubShow]="!suppressSubShowMoreForChildren"
|
|
16239
|
+
[markAsException]="markAsException"
|
|
16240
|
+
[showGlobalAll]="getChildShowAll()">
|
|
15892
16241
|
</co-product-configurator-selector-option>
|
|
15893
16242
|
}
|
|
15894
16243
|
</div>
|
|
@@ -15901,13 +16250,29 @@ class ProductConfiguratorSelectorComponent {
|
|
|
15901
16250
|
[lastNodeWithChildren]="displaySelection.lastNodeWithChildren"
|
|
15902
16251
|
[selectionIndex]="index + 1"
|
|
15903
16252
|
[treeLevelIndex]="treeLevelIndex + 1"
|
|
15904
|
-
[
|
|
16253
|
+
[showAll]="getChildShowAll()"
|
|
16254
|
+
[isActive]="getIsChildVisible(index)"
|
|
16255
|
+
[suppressSubShowMore]="suppressSubShowMoreForChildren"
|
|
16256
|
+
[useGroupedParentVisibility]="useGroupedVisibilityForChildren"
|
|
15905
16257
|
[markAsException]="displaySelection.markForExceptionNotification"
|
|
15906
16258
|
(activate)="activeChildIndex = index">
|
|
15907
16259
|
</co-product-configurator-selector>
|
|
15908
16260
|
}
|
|
15909
16261
|
}
|
|
15910
|
-
|
|
16262
|
+
@if (shouldShowExpandButton()) {
|
|
16263
|
+
<div class="show-more-container" (click)="onShowAllClick()">
|
|
16264
|
+
<span class="show-all-button show-more-text-link"
|
|
16265
|
+
[textContent]="expandButtonText | localize">
|
|
16266
|
+
</span>
|
|
16267
|
+
|
|
16268
|
+
@if (this.groupedRemainingTilesCount > 0) {
|
|
16269
|
+
<span class="show-all-button show-more-text-link counter"
|
|
16270
|
+
[textContent]="'(' + this.groupedRemainingTilesCount + ')'">
|
|
16271
|
+
</span>
|
|
16272
|
+
}
|
|
16273
|
+
</div>
|
|
16274
|
+
}
|
|
16275
|
+
`, 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: [
|
|
15911
16276
|
trigger('showSelections', [
|
|
15912
16277
|
state('void', style({ 'transform': 'translateX(100%)', opacity: 0 })),
|
|
15913
16278
|
state('*', style({ 'transform': 'translateX(0%)', opacity: 1 })),
|
|
@@ -15968,7 +16333,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15968
16333
|
<co-product-configurator-selector-option
|
|
15969
16334
|
[selection]="selection"
|
|
15970
16335
|
[listOfChoices]="listOfChoices"
|
|
15971
|
-
[
|
|
16336
|
+
[groupedSubShow]="!suppressSubShowMoreForChildren"
|
|
16337
|
+
[markAsException]="markAsException"
|
|
16338
|
+
[showGlobalAll]="getChildShowAll()">
|
|
15972
16339
|
</co-product-configurator-selector-option>
|
|
15973
16340
|
}
|
|
15974
16341
|
</div>
|
|
@@ -15981,12 +16348,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15981
16348
|
[lastNodeWithChildren]="displaySelection.lastNodeWithChildren"
|
|
15982
16349
|
[selectionIndex]="index + 1"
|
|
15983
16350
|
[treeLevelIndex]="treeLevelIndex + 1"
|
|
15984
|
-
[
|
|
16351
|
+
[showAll]="getChildShowAll()"
|
|
16352
|
+
[isActive]="getIsChildVisible(index)"
|
|
16353
|
+
[suppressSubShowMore]="suppressSubShowMoreForChildren"
|
|
16354
|
+
[useGroupedParentVisibility]="useGroupedVisibilityForChildren"
|
|
15985
16355
|
[markAsException]="displaySelection.markForExceptionNotification"
|
|
15986
16356
|
(activate)="activeChildIndex = index">
|
|
15987
16357
|
</co-product-configurator-selector>
|
|
15988
16358
|
}
|
|
15989
16359
|
}
|
|
16360
|
+
@if (shouldShowExpandButton()) {
|
|
16361
|
+
<div class="show-more-container" (click)="onShowAllClick()">
|
|
16362
|
+
<span class="show-all-button show-more-text-link"
|
|
16363
|
+
[textContent]="expandButtonText | localize">
|
|
16364
|
+
</span>
|
|
16365
|
+
|
|
16366
|
+
@if (this.groupedRemainingTilesCount > 0) {
|
|
16367
|
+
<span class="show-all-button show-more-text-link counter"
|
|
16368
|
+
[textContent]="'(' + this.groupedRemainingTilesCount + ')'">
|
|
16369
|
+
</span>
|
|
16370
|
+
}
|
|
16371
|
+
</div>
|
|
16372
|
+
}
|
|
15990
16373
|
`,
|
|
15991
16374
|
encapsulation: ViewEncapsulation.None,
|
|
15992
16375
|
animations: [
|
|
@@ -15998,15 +16381,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
15998
16381
|
],
|
|
15999
16382
|
standalone: false
|
|
16000
16383
|
}]
|
|
16001
|
-
}], ctorParameters: () => [{ type: ConfiguratorConnectorService }, { type: SettingsService }, { type: IconCacheService }], propDecorators: {
|
|
16384
|
+
}], ctorParameters: () => [{ type: ConfiguratorConnectorService }, { type: SettingsService }, { type: IconCacheService }], propDecorators: { hostClasses: [{
|
|
16002
16385
|
type: HostBinding,
|
|
16003
|
-
args: ['class
|
|
16386
|
+
args: ['class']
|
|
16004
16387
|
}], exceptionContainer: [{
|
|
16005
16388
|
type: ViewChild,
|
|
16006
16389
|
args: ['exceptionContainer']
|
|
16007
|
-
}], hostClasses: [{
|
|
16008
|
-
type: HostBinding,
|
|
16009
|
-
args: ['class']
|
|
16010
16390
|
}], selection: [{
|
|
16011
16391
|
type: Input
|
|
16012
16392
|
}], options: [{
|
|
@@ -16021,6 +16401,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
16021
16401
|
type: Input
|
|
16022
16402
|
}], markAsException: [{
|
|
16023
16403
|
type: Input
|
|
16404
|
+
}], showAll: [{
|
|
16405
|
+
type: Input
|
|
16406
|
+
}], suppressSubShowMore: [{
|
|
16407
|
+
type: Input
|
|
16408
|
+
}], useGroupedParentVisibility: [{
|
|
16409
|
+
type: Input
|
|
16024
16410
|
}], activate: [{
|
|
16025
16411
|
type: Output
|
|
16026
16412
|
}] } });
|
|
@@ -16053,6 +16439,7 @@ class ProductConfiguratorComponent {
|
|
|
16053
16439
|
showLabel = true;
|
|
16054
16440
|
canClose = true;
|
|
16055
16441
|
customDimensions = false;
|
|
16442
|
+
showSaveAndLoadConfiguration;
|
|
16056
16443
|
showChange = new EventEmitter();
|
|
16057
16444
|
answerChosen = new EventEmitter();
|
|
16058
16445
|
valutaSymbol = '€'; // TODO this should be a setting
|
|
@@ -16106,7 +16493,7 @@ class ProductConfiguratorComponent {
|
|
|
16106
16493
|
this.showChange.emit(false);
|
|
16107
16494
|
}
|
|
16108
16495
|
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 });
|
|
16109
|
-
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: `
|
|
16496
|
+
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: `
|
|
16110
16497
|
@if (show) {
|
|
16111
16498
|
<div class="product-configurator-container">
|
|
16112
16499
|
@if (showHeaderInformation) {
|
|
@@ -16115,11 +16502,16 @@ class ProductConfiguratorComponent {
|
|
|
16115
16502
|
<h2 class="product-configurator-header-text" [textContent]="article.name"></h2>
|
|
16116
16503
|
<p class="product-configurator-text" [innerHTML]="safeDescription"></p>
|
|
16117
16504
|
</div>
|
|
16118
|
-
|
|
16119
|
-
|
|
16120
|
-
<co-
|
|
16121
|
-
|
|
16122
|
-
|
|
16505
|
+
<div class="product-configurator-header-actions">
|
|
16506
|
+
@if (showSaveAndLoadConfiguration) {
|
|
16507
|
+
<co-configuration-preset></co-configuration-preset>
|
|
16508
|
+
}
|
|
16509
|
+
@if (canClose) {
|
|
16510
|
+
<div class="product-configurator-close" (click)="handleCloseClick()">
|
|
16511
|
+
<co-icon [iconData]="iconService.getIcon(icons.XmarkLightFull)"></co-icon>
|
|
16512
|
+
</div>
|
|
16513
|
+
}
|
|
16514
|
+
</div>
|
|
16123
16515
|
</div>
|
|
16124
16516
|
}
|
|
16125
16517
|
<div class="product-configurator-details" #scrollcontainer>
|
|
@@ -16147,7 +16539,7 @@ class ProductConfiguratorComponent {
|
|
|
16147
16539
|
}
|
|
16148
16540
|
</div>
|
|
16149
16541
|
}
|
|
16150
|
-
`, 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 });
|
|
16542
|
+
`, 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 });
|
|
16151
16543
|
}
|
|
16152
16544
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ProductConfiguratorComponent, decorators: [{
|
|
16153
16545
|
type: Component,
|
|
@@ -16162,11 +16554,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
16162
16554
|
<h2 class="product-configurator-header-text" [textContent]="article.name"></h2>
|
|
16163
16555
|
<p class="product-configurator-text" [innerHTML]="safeDescription"></p>
|
|
16164
16556
|
</div>
|
|
16165
|
-
|
|
16166
|
-
|
|
16167
|
-
<co-
|
|
16168
|
-
|
|
16169
|
-
|
|
16557
|
+
<div class="product-configurator-header-actions">
|
|
16558
|
+
@if (showSaveAndLoadConfiguration) {
|
|
16559
|
+
<co-configuration-preset></co-configuration-preset>
|
|
16560
|
+
}
|
|
16561
|
+
@if (canClose) {
|
|
16562
|
+
<div class="product-configurator-close" (click)="handleCloseClick()">
|
|
16563
|
+
<co-icon [iconData]="iconService.getIcon(icons.XmarkLightFull)"></co-icon>
|
|
16564
|
+
</div>
|
|
16565
|
+
}
|
|
16566
|
+
</div>
|
|
16170
16567
|
</div>
|
|
16171
16568
|
}
|
|
16172
16569
|
<div class="product-configurator-details" #scrollcontainer>
|
|
@@ -16213,12 +16610,225 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
16213
16610
|
type: Input
|
|
16214
16611
|
}], customDimensions: [{
|
|
16215
16612
|
type: Input
|
|
16613
|
+
}], showSaveAndLoadConfiguration: [{
|
|
16614
|
+
type: Input
|
|
16216
16615
|
}], showChange: [{
|
|
16217
16616
|
type: Output
|
|
16218
16617
|
}], answerChosen: [{
|
|
16219
16618
|
type: Output
|
|
16220
16619
|
}] } });
|
|
16221
16620
|
|
|
16621
|
+
class ConfigurationPresetDialogComponent {
|
|
16622
|
+
iconService;
|
|
16623
|
+
_configuringService;
|
|
16624
|
+
_configuratorConnectorService;
|
|
16625
|
+
_dictionaryService;
|
|
16626
|
+
_appEventService;
|
|
16627
|
+
icons = IconEnum;
|
|
16628
|
+
presetDialogMode = PresetDialogMode;
|
|
16629
|
+
showClass() {
|
|
16630
|
+
return true;
|
|
16631
|
+
}
|
|
16632
|
+
showDialog = false;
|
|
16633
|
+
instanceIdInput;
|
|
16634
|
+
dialogMode = PresetDialogMode.SAVE;
|
|
16635
|
+
showValidationErrors = false;
|
|
16636
|
+
validationError;
|
|
16637
|
+
_subs = [];
|
|
16638
|
+
constructor(iconService, _configuringService, _configuratorConnectorService, _dictionaryService, _appEventService) {
|
|
16639
|
+
this.iconService = iconService;
|
|
16640
|
+
this._configuringService = _configuringService;
|
|
16641
|
+
this._configuratorConnectorService = _configuratorConnectorService;
|
|
16642
|
+
this._dictionaryService = _dictionaryService;
|
|
16643
|
+
this._appEventService = _appEventService;
|
|
16644
|
+
this._subs.push(this._appEventService.changeConfigurationPresetDialogMode.subscribe((mode) => {
|
|
16645
|
+
this.handleOpenDialog(mode);
|
|
16646
|
+
}));
|
|
16647
|
+
}
|
|
16648
|
+
ngOnDestroy() {
|
|
16649
|
+
this._subs.forEach((sub) => sub.unsubscribe());
|
|
16650
|
+
}
|
|
16651
|
+
handleOpenDialog(mode) {
|
|
16652
|
+
if (mode === PresetDialogMode.SAVE) {
|
|
16653
|
+
const instanceId = this._configuringService.buildResult.instanceId;
|
|
16654
|
+
this._configuratorConnectorService.storePreset(instanceId).then((response) => {
|
|
16655
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
16656
|
+
this.instanceIdInput = response.resultObject;
|
|
16657
|
+
this.dialogMode = mode;
|
|
16658
|
+
this.showDialog = true;
|
|
16659
|
+
}
|
|
16660
|
+
});
|
|
16661
|
+
}
|
|
16662
|
+
else if (mode === PresetDialogMode.LOAD) {
|
|
16663
|
+
this.dialogMode = mode;
|
|
16664
|
+
this.showDialog = true;
|
|
16665
|
+
}
|
|
16666
|
+
}
|
|
16667
|
+
handleCloseClick() {
|
|
16668
|
+
this.showDialog = false;
|
|
16669
|
+
}
|
|
16670
|
+
handleCopySuccess() {
|
|
16671
|
+
this.instanceIdInput = this._dictionaryService.get('COPIED');
|
|
16672
|
+
}
|
|
16673
|
+
loadConfiguration() {
|
|
16674
|
+
const goodId = +this._configuringService.buildResult.goodId;
|
|
16675
|
+
this._configuratorConnectorService.initForPreset(this.instanceIdInput, goodId).then((response) => {
|
|
16676
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
16677
|
+
this.showDialog = false;
|
|
16678
|
+
const resultObject = this._configuringService.buildResult;
|
|
16679
|
+
resultObject.instanceId = response.resultObject;
|
|
16680
|
+
this._configuringService.configure(resultObject);
|
|
16681
|
+
}
|
|
16682
|
+
else {
|
|
16683
|
+
// error, shit not found
|
|
16684
|
+
if (response.validationResult && response.validationResult.messages && response.validationResult.messages.length > 0) {
|
|
16685
|
+
const firstMessage = response.validationResult.messages[0].message;
|
|
16686
|
+
this.showValidationErrors = true;
|
|
16687
|
+
this.validationError = firstMessage;
|
|
16688
|
+
}
|
|
16689
|
+
}
|
|
16690
|
+
});
|
|
16691
|
+
}
|
|
16692
|
+
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 });
|
|
16693
|
+
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: `
|
|
16694
|
+
@if (showDialog) {
|
|
16695
|
+
<div class="configuration-preset-dialog">
|
|
16696
|
+
<div class="configuration-preset-dialog-container">
|
|
16697
|
+
<div class="configuration-preset-dialog-container-header">
|
|
16698
|
+
@if (dialogMode === presetDialogMode.SAVE) {
|
|
16699
|
+
<co-icon [iconData]="iconService.getIcon(icons.FloppyDiskLightFull)"></co-icon>
|
|
16700
|
+
<h3 [textContent]="'SAVE_CONFIGURATION' | localize"></h3>
|
|
16701
|
+
} @else if (dialogMode === presetDialogMode.LOAD) {
|
|
16702
|
+
<co-icon [iconData]="iconService.getIcon(icons.FolderOpenLightFull)"></co-icon>
|
|
16703
|
+
<h3 [textContent]="'LOAD_CONFIGURATION' | localize"></h3>
|
|
16704
|
+
}
|
|
16705
|
+
</div>
|
|
16706
|
+
<div class="configuration-preset-dialog-container-body">
|
|
16707
|
+
@if (dialogMode === presetDialogMode.SAVE) {
|
|
16708
|
+
<div class="save-success">
|
|
16709
|
+
<p class="save-success-text" [textContent]="instanceIdInput"></p>
|
|
16710
|
+
<co-button
|
|
16711
|
+
class="save-success-button"
|
|
16712
|
+
[cdkCopyToClipboard]="instanceIdInput"
|
|
16713
|
+
[iconData]="iconService.getIcon(icons.CopyRegularFull)"
|
|
16714
|
+
(onClick)="handleCopySuccess()">
|
|
16715
|
+
</co-button>
|
|
16716
|
+
</div>
|
|
16717
|
+
} @else if (dialogMode === presetDialogMode.LOAD) {
|
|
16718
|
+
<co-input-text
|
|
16719
|
+
[placeholder]="'CONFIGURATION_CODE' | localize"
|
|
16720
|
+
[(model)]="instanceIdInput"
|
|
16721
|
+
></co-input-text>
|
|
16722
|
+
|
|
16723
|
+
@if (showValidationErrors) {
|
|
16724
|
+
<div class="validation-error">
|
|
16725
|
+
<p [textContent]="validationError"></p>
|
|
16726
|
+
</div>
|
|
16727
|
+
}
|
|
16728
|
+
}
|
|
16729
|
+
</div>
|
|
16730
|
+
<div class="configuration-preset-dialog-container-footer">
|
|
16731
|
+
@if (dialogMode === presetDialogMode.LOAD) {
|
|
16732
|
+
<co-button
|
|
16733
|
+
class="button-as-link"
|
|
16734
|
+
[label]="'CANCEL' | localize"
|
|
16735
|
+
(onClick)="handleCloseClick()"
|
|
16736
|
+
></co-button>
|
|
16737
|
+
}
|
|
16738
|
+
@if (dialogMode === presetDialogMode.SAVE) {
|
|
16739
|
+
<co-button
|
|
16740
|
+
class="save-preset-button"
|
|
16741
|
+
[label]="'OK' | localize"
|
|
16742
|
+
(onClick)="handleCloseClick()">
|
|
16743
|
+
</co-button>
|
|
16744
|
+
} @else if (dialogMode === presetDialogMode.LOAD) {
|
|
16745
|
+
<co-button
|
|
16746
|
+
class="open-preset-button"
|
|
16747
|
+
[label]="'OPEN' | localize"
|
|
16748
|
+
(onClick)="loadConfiguration()">
|
|
16749
|
+
</co-button>
|
|
16750
|
+
}
|
|
16751
|
+
</div>
|
|
16752
|
+
</div>
|
|
16753
|
+
</div>
|
|
16754
|
+
}
|
|
16755
|
+
`, 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 });
|
|
16756
|
+
}
|
|
16757
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetDialogComponent, decorators: [{
|
|
16758
|
+
type: Component,
|
|
16759
|
+
args: [{
|
|
16760
|
+
selector: 'co-configuration-preset-dialog',
|
|
16761
|
+
template: `
|
|
16762
|
+
@if (showDialog) {
|
|
16763
|
+
<div class="configuration-preset-dialog">
|
|
16764
|
+
<div class="configuration-preset-dialog-container">
|
|
16765
|
+
<div class="configuration-preset-dialog-container-header">
|
|
16766
|
+
@if (dialogMode === presetDialogMode.SAVE) {
|
|
16767
|
+
<co-icon [iconData]="iconService.getIcon(icons.FloppyDiskLightFull)"></co-icon>
|
|
16768
|
+
<h3 [textContent]="'SAVE_CONFIGURATION' | localize"></h3>
|
|
16769
|
+
} @else if (dialogMode === presetDialogMode.LOAD) {
|
|
16770
|
+
<co-icon [iconData]="iconService.getIcon(icons.FolderOpenLightFull)"></co-icon>
|
|
16771
|
+
<h3 [textContent]="'LOAD_CONFIGURATION' | localize"></h3>
|
|
16772
|
+
}
|
|
16773
|
+
</div>
|
|
16774
|
+
<div class="configuration-preset-dialog-container-body">
|
|
16775
|
+
@if (dialogMode === presetDialogMode.SAVE) {
|
|
16776
|
+
<div class="save-success">
|
|
16777
|
+
<p class="save-success-text" [textContent]="instanceIdInput"></p>
|
|
16778
|
+
<co-button
|
|
16779
|
+
class="save-success-button"
|
|
16780
|
+
[cdkCopyToClipboard]="instanceIdInput"
|
|
16781
|
+
[iconData]="iconService.getIcon(icons.CopyRegularFull)"
|
|
16782
|
+
(onClick)="handleCopySuccess()">
|
|
16783
|
+
</co-button>
|
|
16784
|
+
</div>
|
|
16785
|
+
} @else if (dialogMode === presetDialogMode.LOAD) {
|
|
16786
|
+
<co-input-text
|
|
16787
|
+
[placeholder]="'CONFIGURATION_CODE' | localize"
|
|
16788
|
+
[(model)]="instanceIdInput"
|
|
16789
|
+
></co-input-text>
|
|
16790
|
+
|
|
16791
|
+
@if (showValidationErrors) {
|
|
16792
|
+
<div class="validation-error">
|
|
16793
|
+
<p [textContent]="validationError"></p>
|
|
16794
|
+
</div>
|
|
16795
|
+
}
|
|
16796
|
+
}
|
|
16797
|
+
</div>
|
|
16798
|
+
<div class="configuration-preset-dialog-container-footer">
|
|
16799
|
+
@if (dialogMode === presetDialogMode.LOAD) {
|
|
16800
|
+
<co-button
|
|
16801
|
+
class="button-as-link"
|
|
16802
|
+
[label]="'CANCEL' | localize"
|
|
16803
|
+
(onClick)="handleCloseClick()"
|
|
16804
|
+
></co-button>
|
|
16805
|
+
}
|
|
16806
|
+
@if (dialogMode === presetDialogMode.SAVE) {
|
|
16807
|
+
<co-button
|
|
16808
|
+
class="save-preset-button"
|
|
16809
|
+
[label]="'OK' | localize"
|
|
16810
|
+
(onClick)="handleCloseClick()">
|
|
16811
|
+
</co-button>
|
|
16812
|
+
} @else if (dialogMode === presetDialogMode.LOAD) {
|
|
16813
|
+
<co-button
|
|
16814
|
+
class="open-preset-button"
|
|
16815
|
+
[label]="'OPEN' | localize"
|
|
16816
|
+
(onClick)="loadConfiguration()">
|
|
16817
|
+
</co-button>
|
|
16818
|
+
}
|
|
16819
|
+
</div>
|
|
16820
|
+
</div>
|
|
16821
|
+
</div>
|
|
16822
|
+
}
|
|
16823
|
+
`,
|
|
16824
|
+
encapsulation: ViewEncapsulation.None,
|
|
16825
|
+
standalone: false
|
|
16826
|
+
}]
|
|
16827
|
+
}], ctorParameters: () => [{ type: IconCacheService }, { type: ConfiguringService }, { type: ConfiguratorConnectorService }, { type: DictionaryService }, { type: AppEventService }], propDecorators: { showClass: [{
|
|
16828
|
+
type: HostBinding,
|
|
16829
|
+
args: ['class.co-configuration-preset-dialog']
|
|
16830
|
+
}] } });
|
|
16831
|
+
|
|
16222
16832
|
class ThreedselectorComponent {
|
|
16223
16833
|
_appEventService;
|
|
16224
16834
|
_buildFurnitureService;
|
|
@@ -16232,6 +16842,7 @@ class ThreedselectorComponent {
|
|
|
16232
16842
|
canCloseConfigurator = true;
|
|
16233
16843
|
animateSlideout = true;
|
|
16234
16844
|
showHeaderInformation = true;
|
|
16845
|
+
showSaveAndLoadConfiguration;
|
|
16235
16846
|
buildFinished = new EventEmitter();
|
|
16236
16847
|
showChange = new EventEmitter();
|
|
16237
16848
|
showElementToolbar = false;
|
|
@@ -16294,29 +16905,34 @@ class ThreedselectorComponent {
|
|
|
16294
16905
|
}
|
|
16295
16906
|
}
|
|
16296
16907
|
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 });
|
|
16297
|
-
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: `
|
|
16298
|
-
|
|
16299
|
-
|
|
16300
|
-
|
|
16301
|
-
|
|
16302
|
-
|
|
16303
|
-
|
|
16304
|
-
|
|
16305
|
-
|
|
16306
|
-
|
|
16307
|
-
|
|
16308
|
-
|
|
16309
|
-
|
|
16310
|
-
|
|
16311
|
-
|
|
16312
|
-
|
|
16313
|
-
|
|
16314
|
-
|
|
16315
|
-
|
|
16316
|
-
|
|
16317
|
-
|
|
16318
|
-
|
|
16319
|
-
|
|
16908
|
+
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: `
|
|
16909
|
+
@if (!showFullConfiguration) {
|
|
16910
|
+
<co-lite-selector
|
|
16911
|
+
class="floating"
|
|
16912
|
+
[showSelections]="showTemplate"
|
|
16913
|
+
[showAnswers]="showTemplate"
|
|
16914
|
+
[animateSlideout]="animateSlideout"
|
|
16915
|
+
[canClose]="canCloseConfigurator"
|
|
16916
|
+
[showSaveAndLoadConfiguration]="showSaveAndLoadConfiguration"
|
|
16917
|
+
(showChange)="handleShowChangeSelector($event)">
|
|
16918
|
+
</co-lite-selector>
|
|
16919
|
+
}
|
|
16920
|
+
|
|
16921
|
+
@if (showFullConfiguration) {
|
|
16922
|
+
<co-product-configurator
|
|
16923
|
+
class="floating"
|
|
16924
|
+
[show]="showTemplate"
|
|
16925
|
+
[showSelections]="showSelections"
|
|
16926
|
+
[canClose]="canCloseConfigurator"
|
|
16927
|
+
[showHeaderInformation]="showHeaderInformation"
|
|
16928
|
+
[showSaveAndLoadConfiguration]="showSaveAndLoadConfiguration"
|
|
16929
|
+
(showChange)="handleShowChangeSelector($event)">
|
|
16930
|
+
</co-product-configurator>
|
|
16931
|
+
}
|
|
16932
|
+
@if (showSaveAndLoadConfiguration) {
|
|
16933
|
+
<co-configuration-preset-dialog></co-configuration-preset-dialog>
|
|
16934
|
+
}
|
|
16935
|
+
`, 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: [
|
|
16320
16936
|
trigger('showElementToolbar', [
|
|
16321
16937
|
state('void', style({ opacity: 0 })),
|
|
16322
16938
|
state('*', style({ opacity: 1 })),
|
|
@@ -16329,27 +16945,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
16329
16945
|
args: [{
|
|
16330
16946
|
selector: 'co-threedselector',
|
|
16331
16947
|
template: `
|
|
16332
|
-
|
|
16333
|
-
|
|
16334
|
-
|
|
16335
|
-
|
|
16336
|
-
|
|
16337
|
-
|
|
16338
|
-
|
|
16339
|
-
|
|
16340
|
-
|
|
16341
|
-
|
|
16342
|
-
|
|
16343
|
-
|
|
16344
|
-
|
|
16345
|
-
|
|
16346
|
-
|
|
16347
|
-
|
|
16348
|
-
|
|
16349
|
-
|
|
16350
|
-
|
|
16351
|
-
|
|
16352
|
-
|
|
16948
|
+
@if (!showFullConfiguration) {
|
|
16949
|
+
<co-lite-selector
|
|
16950
|
+
class="floating"
|
|
16951
|
+
[showSelections]="showTemplate"
|
|
16952
|
+
[showAnswers]="showTemplate"
|
|
16953
|
+
[animateSlideout]="animateSlideout"
|
|
16954
|
+
[canClose]="canCloseConfigurator"
|
|
16955
|
+
[showSaveAndLoadConfiguration]="showSaveAndLoadConfiguration"
|
|
16956
|
+
(showChange)="handleShowChangeSelector($event)">
|
|
16957
|
+
</co-lite-selector>
|
|
16958
|
+
}
|
|
16959
|
+
|
|
16960
|
+
@if (showFullConfiguration) {
|
|
16961
|
+
<co-product-configurator
|
|
16962
|
+
class="floating"
|
|
16963
|
+
[show]="showTemplate"
|
|
16964
|
+
[showSelections]="showSelections"
|
|
16965
|
+
[canClose]="canCloseConfigurator"
|
|
16966
|
+
[showHeaderInformation]="showHeaderInformation"
|
|
16967
|
+
[showSaveAndLoadConfiguration]="showSaveAndLoadConfiguration"
|
|
16968
|
+
(showChange)="handleShowChangeSelector($event)">
|
|
16969
|
+
</co-product-configurator>
|
|
16970
|
+
}
|
|
16971
|
+
@if (showSaveAndLoadConfiguration) {
|
|
16972
|
+
<co-configuration-preset-dialog></co-configuration-preset-dialog>
|
|
16973
|
+
}
|
|
16353
16974
|
`,
|
|
16354
16975
|
encapsulation: ViewEncapsulation.None,
|
|
16355
16976
|
animations: [
|
|
@@ -16374,6 +16995,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
16374
16995
|
type: Input
|
|
16375
16996
|
}], showHeaderInformation: [{
|
|
16376
16997
|
type: Input
|
|
16998
|
+
}], showSaveAndLoadConfiguration: [{
|
|
16999
|
+
type: Input
|
|
16377
17000
|
}], buildFinished: [{
|
|
16378
17001
|
type: Output
|
|
16379
17002
|
}], showChange: [{
|
|
@@ -16395,6 +17018,7 @@ class ConfiguratorComponent {
|
|
|
16395
17018
|
canCloseConfigurator = true;
|
|
16396
17019
|
animateSlideout = true;
|
|
16397
17020
|
showHeaderInformation = true;
|
|
17021
|
+
showSaveAndLoadConfiguration;
|
|
16398
17022
|
buildResult = new EventEmitter();
|
|
16399
17023
|
// TODO
|
|
16400
17024
|
isLoading = new EventEmitter();
|
|
@@ -16447,54 +17071,56 @@ class ConfiguratorComponent {
|
|
|
16447
17071
|
}
|
|
16448
17072
|
}
|
|
16449
17073
|
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 });
|
|
16450
|
-
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: `
|
|
16451
|
-
|
|
16452
|
-
|
|
16453
|
-
|
|
16454
|
-
|
|
16455
|
-
|
|
16456
|
-
|
|
16457
|
-
|
|
16458
|
-
|
|
16459
|
-
|
|
16460
|
-
|
|
16461
|
-
|
|
16462
|
-
|
|
17074
|
+
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: `
|
|
17075
|
+
@if (showProgressBar) {
|
|
17076
|
+
<co-progress-bar></co-progress-bar>
|
|
17077
|
+
}
|
|
17078
|
+
@if (showLoader) {
|
|
17079
|
+
<co-configurator-loader [show]="loaderService.showLoader"></co-configurator-loader>
|
|
17080
|
+
}
|
|
17081
|
+
@if (showErrorMessages && resultHasErrors && showErrorDiagram) {
|
|
17082
|
+
<co-configurator-error-dialog
|
|
17083
|
+
[errorMessages]="configurationResultObject.errorMessages"
|
|
17084
|
+
(closeErrorDialoag)="handleCloseErrorDialog()"
|
|
17085
|
+
></co-configurator-error-dialog>
|
|
17086
|
+
}
|
|
16463
17087
|
|
|
16464
|
-
|
|
16465
|
-
|
|
16466
|
-
|
|
16467
|
-
|
|
16468
|
-
|
|
16469
|
-
|
|
16470
|
-
|
|
16471
|
-
|
|
17088
|
+
<co-threedselector
|
|
17089
|
+
[canCloseConfigurator]="canCloseConfigurator"
|
|
17090
|
+
[animateSlideout]="animateSlideout"
|
|
17091
|
+
[showHeaderInformation]="showHeaderInformation"
|
|
17092
|
+
[showSaveAndLoadConfiguration]="showSaveAndLoadConfiguration"
|
|
17093
|
+
(buildFinished)="handleBuildFinished($event)"
|
|
17094
|
+
(showChange)="handleShowChange($event)">
|
|
17095
|
+
</co-threedselector>
|
|
17096
|
+
`, 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 });
|
|
16472
17097
|
}
|
|
16473
17098
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfiguratorComponent, decorators: [{
|
|
16474
17099
|
type: Component,
|
|
16475
17100
|
args: [{
|
|
16476
17101
|
selector: 'co-configurator',
|
|
16477
17102
|
template: `
|
|
16478
|
-
|
|
16479
|
-
|
|
16480
|
-
|
|
16481
|
-
|
|
16482
|
-
|
|
16483
|
-
|
|
16484
|
-
|
|
16485
|
-
|
|
16486
|
-
|
|
16487
|
-
|
|
16488
|
-
|
|
16489
|
-
|
|
17103
|
+
@if (showProgressBar) {
|
|
17104
|
+
<co-progress-bar></co-progress-bar>
|
|
17105
|
+
}
|
|
17106
|
+
@if (showLoader) {
|
|
17107
|
+
<co-configurator-loader [show]="loaderService.showLoader"></co-configurator-loader>
|
|
17108
|
+
}
|
|
17109
|
+
@if (showErrorMessages && resultHasErrors && showErrorDiagram) {
|
|
17110
|
+
<co-configurator-error-dialog
|
|
17111
|
+
[errorMessages]="configurationResultObject.errorMessages"
|
|
17112
|
+
(closeErrorDialoag)="handleCloseErrorDialog()"
|
|
17113
|
+
></co-configurator-error-dialog>
|
|
17114
|
+
}
|
|
16490
17115
|
|
|
16491
|
-
|
|
16492
|
-
|
|
16493
|
-
|
|
16494
|
-
|
|
16495
|
-
|
|
16496
|
-
|
|
16497
|
-
|
|
17116
|
+
<co-threedselector
|
|
17117
|
+
[canCloseConfigurator]="canCloseConfigurator"
|
|
17118
|
+
[animateSlideout]="animateSlideout"
|
|
17119
|
+
[showHeaderInformation]="showHeaderInformation"
|
|
17120
|
+
[showSaveAndLoadConfiguration]="showSaveAndLoadConfiguration"
|
|
17121
|
+
(buildFinished)="handleBuildFinished($event)"
|
|
17122
|
+
(showChange)="handleShowChange($event)">
|
|
17123
|
+
</co-threedselector>
|
|
16498
17124
|
`,
|
|
16499
17125
|
encapsulation: ViewEncapsulation.None,
|
|
16500
17126
|
standalone: false
|
|
@@ -16516,6 +17142,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
16516
17142
|
type: Input
|
|
16517
17143
|
}], showHeaderInformation: [{
|
|
16518
17144
|
type: Input
|
|
17145
|
+
}], showSaveAndLoadConfiguration: [{
|
|
17146
|
+
type: Input
|
|
16519
17147
|
}], buildResult: [{
|
|
16520
17148
|
type: Output
|
|
16521
17149
|
}], isLoading: [{
|
|
@@ -17393,6 +18021,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
17393
18021
|
}]
|
|
17394
18022
|
}] });
|
|
17395
18023
|
|
|
18024
|
+
class ConfigurationPresetModule {
|
|
18025
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
18026
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetModule, declarations: [ConfigurationPresetComponent], imports: [PipesModule,
|
|
18027
|
+
ButtonModule,
|
|
18028
|
+
IconModule,
|
|
18029
|
+
InputTextModule,
|
|
18030
|
+
CdkCopyToClipboard], exports: [ConfigurationPresetComponent] });
|
|
18031
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetModule, imports: [PipesModule,
|
|
18032
|
+
ButtonModule,
|
|
18033
|
+
IconModule,
|
|
18034
|
+
InputTextModule] });
|
|
18035
|
+
}
|
|
18036
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetModule, decorators: [{
|
|
18037
|
+
type: NgModule,
|
|
18038
|
+
args: [{
|
|
18039
|
+
imports: [
|
|
18040
|
+
PipesModule,
|
|
18041
|
+
ButtonModule,
|
|
18042
|
+
IconModule,
|
|
18043
|
+
InputTextModule,
|
|
18044
|
+
CdkCopyToClipboard
|
|
18045
|
+
],
|
|
18046
|
+
declarations: [
|
|
18047
|
+
ConfigurationPresetComponent
|
|
18048
|
+
],
|
|
18049
|
+
exports: [
|
|
18050
|
+
ConfigurationPresetComponent
|
|
18051
|
+
]
|
|
18052
|
+
}]
|
|
18053
|
+
}] });
|
|
18054
|
+
|
|
17396
18055
|
class SelectionsSummaryModule {
|
|
17397
18056
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SelectionsSummaryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17398
18057
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: SelectionsSummaryModule, declarations: [SelectionsSummaryComponent], imports: [CoSummaryLineModule,
|
|
@@ -17400,13 +18059,15 @@ class SelectionsSummaryModule {
|
|
|
17400
18059
|
PipesModule,
|
|
17401
18060
|
PriceDisplayPipeModule,
|
|
17402
18061
|
SelectionsSummaryLineModule,
|
|
17403
|
-
IconModule
|
|
18062
|
+
IconModule,
|
|
18063
|
+
ConfigurationPresetModule], exports: [SelectionsSummaryComponent] });
|
|
17404
18064
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SelectionsSummaryModule, imports: [CoSummaryLineModule,
|
|
17405
18065
|
CommonModule,
|
|
17406
18066
|
PipesModule,
|
|
17407
18067
|
PriceDisplayPipeModule,
|
|
17408
18068
|
SelectionsSummaryLineModule,
|
|
17409
|
-
IconModule
|
|
18069
|
+
IconModule,
|
|
18070
|
+
ConfigurationPresetModule] });
|
|
17410
18071
|
}
|
|
17411
18072
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SelectionsSummaryModule, decorators: [{
|
|
17412
18073
|
type: NgModule,
|
|
@@ -17417,7 +18078,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
17417
18078
|
PipesModule,
|
|
17418
18079
|
PriceDisplayPipeModule,
|
|
17419
18080
|
SelectionsSummaryLineModule,
|
|
17420
|
-
IconModule
|
|
18081
|
+
IconModule,
|
|
18082
|
+
ConfigurationPresetModule
|
|
17421
18083
|
],
|
|
17422
18084
|
declarations: [
|
|
17423
18085
|
SelectionsSummaryComponent,
|
|
@@ -17628,7 +18290,8 @@ class ProductConfiguratorModule {
|
|
|
17628
18290
|
PipesModule,
|
|
17629
18291
|
IconModule,
|
|
17630
18292
|
TooltipDirectiveModule,
|
|
17631
|
-
ProductConfiguratorSelectorModule
|
|
18293
|
+
ProductConfiguratorSelectorModule,
|
|
18294
|
+
ConfigurationPresetModule], exports: [ProductConfiguratorComponent] });
|
|
17632
18295
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ProductConfiguratorModule, imports: [CommonModule,
|
|
17633
18296
|
MatIconModule,
|
|
17634
18297
|
MatButtonModule,
|
|
@@ -17641,7 +18304,8 @@ class ProductConfiguratorModule {
|
|
|
17641
18304
|
PipesModule,
|
|
17642
18305
|
IconModule,
|
|
17643
18306
|
TooltipDirectiveModule,
|
|
17644
|
-
ProductConfiguratorSelectorModule
|
|
18307
|
+
ProductConfiguratorSelectorModule,
|
|
18308
|
+
ConfigurationPresetModule] });
|
|
17645
18309
|
}
|
|
17646
18310
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ProductConfiguratorModule, decorators: [{
|
|
17647
18311
|
type: NgModule,
|
|
@@ -17659,7 +18323,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
17659
18323
|
PipesModule,
|
|
17660
18324
|
IconModule,
|
|
17661
18325
|
TooltipDirectiveModule,
|
|
17662
|
-
ProductConfiguratorSelectorModule
|
|
18326
|
+
ProductConfiguratorSelectorModule,
|
|
18327
|
+
ConfigurationPresetModule
|
|
17663
18328
|
],
|
|
17664
18329
|
schemas: [
|
|
17665
18330
|
NO_ERRORS_SCHEMA
|
|
@@ -17673,14 +18338,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
17673
18338
|
}]
|
|
17674
18339
|
}] });
|
|
17675
18340
|
|
|
18341
|
+
class ConfigurationPresetDialogModule {
|
|
18342
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
18343
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetDialogModule, declarations: [ConfigurationPresetDialogComponent], imports: [PipesModule,
|
|
18344
|
+
ButtonModule,
|
|
18345
|
+
IconModule,
|
|
18346
|
+
InputTextModule,
|
|
18347
|
+
CdkCopyToClipboard], exports: [ConfigurationPresetDialogComponent] });
|
|
18348
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetDialogModule, imports: [PipesModule,
|
|
18349
|
+
ButtonModule,
|
|
18350
|
+
IconModule,
|
|
18351
|
+
InputTextModule] });
|
|
18352
|
+
}
|
|
18353
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationPresetDialogModule, decorators: [{
|
|
18354
|
+
type: NgModule,
|
|
18355
|
+
args: [{
|
|
18356
|
+
imports: [
|
|
18357
|
+
PipesModule,
|
|
18358
|
+
ButtonModule,
|
|
18359
|
+
IconModule,
|
|
18360
|
+
InputTextModule,
|
|
18361
|
+
CdkCopyToClipboard
|
|
18362
|
+
],
|
|
18363
|
+
declarations: [
|
|
18364
|
+
ConfigurationPresetDialogComponent
|
|
18365
|
+
],
|
|
18366
|
+
exports: [
|
|
18367
|
+
ConfigurationPresetDialogComponent
|
|
18368
|
+
]
|
|
18369
|
+
}]
|
|
18370
|
+
}] });
|
|
18371
|
+
|
|
17676
18372
|
class ThreedselectorModule {
|
|
17677
18373
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ThreedselectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17678
18374
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: ThreedselectorModule, declarations: [ThreedselectorComponent], imports: [LiteSelectorModule,
|
|
17679
18375
|
ProductConfiguratorModule,
|
|
17680
|
-
CommonModule
|
|
18376
|
+
CommonModule,
|
|
18377
|
+
ConfigurationPresetDialogModule], exports: [ThreedselectorComponent] });
|
|
17681
18378
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ThreedselectorModule, imports: [LiteSelectorModule,
|
|
17682
18379
|
ProductConfiguratorModule,
|
|
17683
|
-
CommonModule
|
|
18380
|
+
CommonModule,
|
|
18381
|
+
ConfigurationPresetDialogModule] });
|
|
17684
18382
|
}
|
|
17685
18383
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ThreedselectorModule, decorators: [{
|
|
17686
18384
|
type: NgModule,
|
|
@@ -17688,7 +18386,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
17688
18386
|
imports: [
|
|
17689
18387
|
LiteSelectorModule,
|
|
17690
18388
|
ProductConfiguratorModule,
|
|
17691
|
-
CommonModule
|
|
18389
|
+
CommonModule,
|
|
18390
|
+
ConfigurationPresetDialogModule
|
|
17692
18391
|
],
|
|
17693
18392
|
declarations: [
|
|
17694
18393
|
ThreedselectorComponent
|