fabrikantencore 2.0.13 → 2.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-connect-category-dialog/beheer-connect-category-dialog.component.mjs +6 -6
  2. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-deeplink/beheer-deeplink.component.mjs +43 -0
  3. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-ebo-koppel/beheer-ebo-koppel/beheer-ebo-koppel.component.mjs +55 -41
  4. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-filters/beheer-filters.component.mjs +21 -3
  5. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-nav/beheer-nav.component.mjs +3 -3
  6. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.mjs +3 -3
  7. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.mjs +3 -3
  8. package/esm2020/src/app/modules/fabrikantencore/components/fab-categories/fab-categories.component.mjs +2 -2
  9. package/esm2020/src/app/modules/fabrikantencore/components/fab-category-tile/fab-category-tile.component.mjs +2 -2
  10. package/esm2020/src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.mjs +2 -2
  11. package/esm2020/src/app/modules/fabrikantencore/components/fab-iframe/fab-iframe.component.mjs +29 -0
  12. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product.component.mjs +23 -6
  13. package/esm2020/src/app/modules/fabrikantencore/components/fab-product-select/fab-product-select.component.mjs +2 -2
  14. package/esm2020/src/app/modules/fabrikantencore/components/fab-start/fab-start.component.mjs +2 -2
  15. package/esm2020/src/app/modules/fabrikantencore/components/fab-texture/fab-texture.component.mjs +38 -0
  16. package/esm2020/src/app/modules/fabrikantencore/components/fab-webgl-viewer/fab-webgl-viewer.component.mjs +3 -3
  17. package/esm2020/src/app/modules/fabrikantencore/fabrikantencore.module.mjs +18 -7
  18. package/esm2020/src/app/modules/fabrikantencore/services/fabrikanten.service.mjs +40 -8
  19. package/esm2020/src/app/modules/fabrikantencore/services/navigate.service.mjs +2 -2
  20. package/esm2020/src/app/modules/fabrikantencore/services/projectsetting.service.mjs +2 -1
  21. package/esm2020/src/app/modules/fabrikantencore/services/texture.service.mjs +33 -0
  22. package/esm2020/src/app/modules/fabrikantencore/swagger/SwaggerClient.mjs +490 -25
  23. package/fesm2015/fabrikantencore.mjs +791 -128
  24. package/fesm2015/fabrikantencore.mjs.map +1 -1
  25. package/fesm2020/fabrikantencore.mjs +790 -128
  26. package/fesm2020/fabrikantencore.mjs.map +1 -1
  27. package/package.json +1 -1
  28. package/src/app/modules/fabrikantencore/beheer/components/beheer-deeplink/beheer-deeplink.component.d.ts +16 -0
  29. package/src/app/modules/fabrikantencore/beheer/components/beheer-ebo-koppel/beheer-ebo-koppel/beheer-ebo-koppel.component.d.ts +1 -1
  30. package/src/app/modules/fabrikantencore/beheer/components/beheer-filters/beheer-filters.component.d.ts +1 -0
  31. package/src/app/modules/fabrikantencore/components/fab-iframe/fab-iframe.component.d.ts +12 -0
  32. package/src/app/modules/fabrikantencore/components/fab-product/fab-product.component.d.ts +5 -2
  33. package/src/app/modules/fabrikantencore/components/fab-texture/fab-texture.component.d.ts +18 -0
  34. package/src/app/modules/fabrikantencore/fabrikantencore.module.d.ts +27 -24
  35. package/src/app/modules/fabrikantencore/services/fabrikanten.service.d.ts +7 -2
  36. package/src/app/modules/fabrikantencore/services/texture.service.d.ts +12 -0
  37. package/src/app/modules/fabrikantencore/swagger/SwaggerClient.d.ts +154 -20
@@ -282,25 +282,24 @@ class EBOKoppelApiClient {
282
282
  }
283
283
  return of(null);
284
284
  }
285
- koppelEBOOptie(pKoppelEBOOptieRequest) {
286
- let url_ = this.baseUrl + "/api/ebokoppel/koppelebooptie";
285
+ connectBCBEBODOFilter(pConnectBCBEBODORequest) {
286
+ let url_ = this.baseUrl + "/api/ebokoppel/connectbcbebodofilter";
287
287
  url_ = url_.replace(/[?&]$/, "");
288
- const content_ = JSON.stringify(pKoppelEBOOptieRequest);
288
+ const content_ = JSON.stringify(pConnectBCBEBODORequest);
289
289
  let options_ = {
290
290
  body: content_,
291
291
  observe: "response",
292
292
  responseType: "blob",
293
293
  headers: new HttpHeaders({
294
294
  "Content-Type": "application/json",
295
- "Accept": "application/json"
296
295
  })
297
296
  };
298
297
  return this.http.request("post", url_, options_).pipe(mergeMap((response_) => {
299
- return this.processKoppelEBOOptie(response_);
298
+ return this.processConnectBCBEBODOFilter(response_);
300
299
  })).pipe(catchError((response_) => {
301
300
  if (response_ instanceof HttpResponseBase) {
302
301
  try {
303
- return this.processKoppelEBOOptie(response_);
302
+ return this.processConnectBCBEBODOFilter(response_);
304
303
  }
305
304
  catch (e) {
306
305
  return throwError(e);
@@ -310,7 +309,7 @@ class EBOKoppelApiClient {
310
309
  return throwError(response_);
311
310
  }));
312
311
  }
313
- processKoppelEBOOptie(response) {
312
+ processConnectBCBEBODOFilter(response) {
314
313
  const status = response.status;
315
314
  const responseBlob = response instanceof HttpResponse ? response.body :
316
315
  response.error instanceof Blob ? response.error : undefined;
@@ -322,10 +321,7 @@ class EBOKoppelApiClient {
322
321
  }
323
322
  if (status === 200) {
324
323
  return blobToText(responseBlob).pipe(mergeMap((_responseText) => {
325
- let result200 = null;
326
- let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
327
- result200 = KoppelEBOOptieResponse.fromJS(resultData200);
328
- return of(result200);
324
+ return of(null);
329
325
  }));
330
326
  }
331
327
  else if (status !== 200 && status !== 204) {
@@ -620,6 +616,59 @@ class FabrikantenApiClient {
620
616
  }
621
617
  return of(null);
622
618
  }
619
+ getFabrikantenTextureViewModel(pFabrikantenTextureRequestModel) {
620
+ let url_ = this.baseUrl + "/api/fabrikanten/getfabrikantentextureviewmodel";
621
+ url_ = url_.replace(/[?&]$/, "");
622
+ const content_ = JSON.stringify(pFabrikantenTextureRequestModel);
623
+ let options_ = {
624
+ body: content_,
625
+ observe: "response",
626
+ responseType: "blob",
627
+ headers: new HttpHeaders({
628
+ "Content-Type": "application/json",
629
+ "Accept": "application/json"
630
+ })
631
+ };
632
+ return this.http.request("post", url_, options_).pipe(mergeMap((response_) => {
633
+ return this.processGetFabrikantenTextureViewModel(response_);
634
+ })).pipe(catchError((response_) => {
635
+ if (response_ instanceof HttpResponseBase) {
636
+ try {
637
+ return this.processGetFabrikantenTextureViewModel(response_);
638
+ }
639
+ catch (e) {
640
+ return throwError(e);
641
+ }
642
+ }
643
+ else
644
+ return throwError(response_);
645
+ }));
646
+ }
647
+ processGetFabrikantenTextureViewModel(response) {
648
+ const status = response.status;
649
+ const responseBlob = response instanceof HttpResponse ? response.body :
650
+ response.error instanceof Blob ? response.error : undefined;
651
+ let _headers = {};
652
+ if (response.headers) {
653
+ for (let key of response.headers.keys()) {
654
+ _headers[key] = response.headers.get(key);
655
+ }
656
+ }
657
+ if (status === 200) {
658
+ return blobToText(responseBlob).pipe(mergeMap((_responseText) => {
659
+ let result200 = null;
660
+ let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
661
+ result200 = FabrikantenTextureViewModel.fromJS(resultData200);
662
+ return of(result200);
663
+ }));
664
+ }
665
+ else if (status !== 200 && status !== 204) {
666
+ return blobToText(responseBlob).pipe(mergeMap((_responseText) => {
667
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
668
+ }));
669
+ }
670
+ return of(null);
671
+ }
623
672
  getFabrikantenFileViewModel(pFabrikantenFileRequestModel) {
624
673
  let url_ = this.baseUrl + "/api/fabrikanten/getfabrikantenfileviewmodel";
625
674
  url_ = url_.replace(/[?&]$/, "");
@@ -1487,6 +1536,55 @@ class FiltersApiClient {
1487
1536
  }
1488
1537
  return of(null);
1489
1538
  }
1539
+ sortFilter(pMoveFilterRequest) {
1540
+ let url_ = this.baseUrl + "/api/filters/sortfilter";
1541
+ url_ = url_.replace(/[?&]$/, "");
1542
+ const content_ = JSON.stringify(pMoveFilterRequest);
1543
+ let options_ = {
1544
+ body: content_,
1545
+ observe: "response",
1546
+ responseType: "blob",
1547
+ headers: new HttpHeaders({
1548
+ "Content-Type": "application/json",
1549
+ })
1550
+ };
1551
+ return this.http.request("post", url_, options_).pipe(mergeMap((response_) => {
1552
+ return this.processSortFilter(response_);
1553
+ })).pipe(catchError((response_) => {
1554
+ if (response_ instanceof HttpResponseBase) {
1555
+ try {
1556
+ return this.processSortFilter(response_);
1557
+ }
1558
+ catch (e) {
1559
+ return throwError(e);
1560
+ }
1561
+ }
1562
+ else
1563
+ return throwError(response_);
1564
+ }));
1565
+ }
1566
+ processSortFilter(response) {
1567
+ const status = response.status;
1568
+ const responseBlob = response instanceof HttpResponse ? response.body :
1569
+ response.error instanceof Blob ? response.error : undefined;
1570
+ let _headers = {};
1571
+ if (response.headers) {
1572
+ for (let key of response.headers.keys()) {
1573
+ _headers[key] = response.headers.get(key);
1574
+ }
1575
+ }
1576
+ if (status === 200) {
1577
+ return blobToText(responseBlob).pipe(mergeMap((_responseText) => {
1578
+ return of(null);
1579
+ }));
1580
+ }
1581
+ else if (status !== 200 && status !== 204) {
1582
+ return blobToText(responseBlob).pipe(mergeMap((_responseText) => {
1583
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
1584
+ }));
1585
+ }
1586
+ return of(null);
1587
+ }
1490
1588
  moveFilterOption(pMoveFilterOptionRequest) {
1491
1589
  let url_ = this.baseUrl + "/api/filters/movefilteroption";
1492
1590
  url_ = url_.replace(/[?&]$/, "");
@@ -1936,6 +2034,59 @@ class ProductsApiClient {
1936
2034
  }
1937
2035
  return of(null);
1938
2036
  }
2037
+ getDeeplinkViewModel(pDeeplinkRequest) {
2038
+ let url_ = this.baseUrl + "/api/products/getdeeplinkviewmodel";
2039
+ url_ = url_.replace(/[?&]$/, "");
2040
+ const content_ = JSON.stringify(pDeeplinkRequest);
2041
+ let options_ = {
2042
+ body: content_,
2043
+ observe: "response",
2044
+ responseType: "blob",
2045
+ headers: new HttpHeaders({
2046
+ "Content-Type": "application/json",
2047
+ "Accept": "application/json"
2048
+ })
2049
+ };
2050
+ return this.http.request("post", url_, options_).pipe(mergeMap((response_) => {
2051
+ return this.processGetDeeplinkViewModel(response_);
2052
+ })).pipe(catchError((response_) => {
2053
+ if (response_ instanceof HttpResponseBase) {
2054
+ try {
2055
+ return this.processGetDeeplinkViewModel(response_);
2056
+ }
2057
+ catch (e) {
2058
+ return throwError(e);
2059
+ }
2060
+ }
2061
+ else
2062
+ return throwError(response_);
2063
+ }));
2064
+ }
2065
+ processGetDeeplinkViewModel(response) {
2066
+ const status = response.status;
2067
+ const responseBlob = response instanceof HttpResponse ? response.body :
2068
+ response.error instanceof Blob ? response.error : undefined;
2069
+ let _headers = {};
2070
+ if (response.headers) {
2071
+ for (let key of response.headers.keys()) {
2072
+ _headers[key] = response.headers.get(key);
2073
+ }
2074
+ }
2075
+ if (status === 200) {
2076
+ return blobToText(responseBlob).pipe(mergeMap((_responseText) => {
2077
+ let result200 = null;
2078
+ let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
2079
+ result200 = DeeplinkViewModel.fromJS(resultData200);
2080
+ return of(result200);
2081
+ }));
2082
+ }
2083
+ else if (status !== 200 && status !== 204) {
2084
+ return blobToText(responseBlob).pipe(mergeMap((_responseText) => {
2085
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
2086
+ }));
2087
+ }
2088
+ return of(null);
2089
+ }
1939
2090
  getProductViewModel(pGetProductRequest) {
1940
2091
  let url_ = this.baseUrl + "/api/products/getproductviewmodel";
1941
2092
  url_ = url_.replace(/[?&]$/, "");
@@ -4075,10 +4226,11 @@ class EBOKoppelTypeViewModel {
4075
4226
  init(_data) {
4076
4227
  if (_data) {
4077
4228
  this.type = _data["type"];
4229
+ this.count = _data["count"];
4078
4230
  if (Array.isArray(_data["namen"])) {
4079
4231
  this.namen = [];
4080
4232
  for (let item of _data["namen"])
4081
- this.namen.push(BCBEBODOViewModel.fromJS(item));
4233
+ this.namen.push(EBOKoppelNaamViewModel.fromJS(item));
4082
4234
  }
4083
4235
  }
4084
4236
  }
@@ -4091,6 +4243,7 @@ class EBOKoppelTypeViewModel {
4091
4243
  toJSON(data) {
4092
4244
  data = typeof data === 'object' ? data : {};
4093
4245
  data["type"] = this.type;
4246
+ data["count"] = this.count;
4094
4247
  if (Array.isArray(this.namen)) {
4095
4248
  data["namen"] = [];
4096
4249
  for (let item of this.namen)
@@ -4099,7 +4252,7 @@ class EBOKoppelTypeViewModel {
4099
4252
  return data;
4100
4253
  }
4101
4254
  }
4102
- class EBOConnectRequestModel {
4255
+ class EBOKoppelNaamViewModel {
4103
4256
  constructor(data) {
4104
4257
  if (data) {
4105
4258
  for (var property in data) {
@@ -4110,22 +4263,32 @@ class EBOConnectRequestModel {
4110
4263
  }
4111
4264
  init(_data) {
4112
4265
  if (_data) {
4113
- this.importSetId = _data["importSetId"];
4266
+ this.doNaam = _data["doNaam"];
4267
+ if (Array.isArray(_data["ebOs"])) {
4268
+ this.ebOs = [];
4269
+ for (let item of _data["ebOs"])
4270
+ this.ebOs.push(EBOKoppelEBOViewModel.fromJS(item));
4271
+ }
4114
4272
  }
4115
4273
  }
4116
4274
  static fromJS(data) {
4117
4275
  data = typeof data === 'object' ? data : {};
4118
- let result = new EBOConnectRequestModel();
4276
+ let result = new EBOKoppelNaamViewModel();
4119
4277
  result.init(data);
4120
4278
  return result;
4121
4279
  }
4122
4280
  toJSON(data) {
4123
4281
  data = typeof data === 'object' ? data : {};
4124
- data["importSetId"] = this.importSetId;
4282
+ data["doNaam"] = this.doNaam;
4283
+ if (Array.isArray(this.ebOs)) {
4284
+ data["ebOs"] = [];
4285
+ for (let item of this.ebOs)
4286
+ data["ebOs"].push(item.toJSON());
4287
+ }
4125
4288
  return data;
4126
4289
  }
4127
4290
  }
4128
- class KoppelEBOOptieResponse {
4291
+ class EBOKoppelEBOViewModel {
4129
4292
  constructor(data) {
4130
4293
  if (data) {
4131
4294
  for (var property in data) {
@@ -4135,19 +4298,45 @@ class KoppelEBOOptieResponse {
4135
4298
  }
4136
4299
  }
4137
4300
  init(_data) {
4301
+ if (_data) {
4302
+ this.id = _data["id"];
4303
+ this.eboNaam = _data["eboNaam"];
4304
+ if (Array.isArray(_data["filterOptions"])) {
4305
+ this.filterOptions = [];
4306
+ for (let item of _data["filterOptions"])
4307
+ this.filterOptions.push(EBOKoppelEBOFilterOptionViewModel.fromJS(item));
4308
+ }
4309
+ if (Array.isArray(_data["categories"])) {
4310
+ this.categories = [];
4311
+ for (let item of _data["categories"])
4312
+ this.categories.push(EBOKoppelEBOCategoryViewModel.fromJS(item));
4313
+ }
4314
+ }
4138
4315
  }
4139
4316
  static fromJS(data) {
4140
4317
  data = typeof data === 'object' ? data : {};
4141
- let result = new KoppelEBOOptieResponse();
4318
+ let result = new EBOKoppelEBOViewModel();
4142
4319
  result.init(data);
4143
4320
  return result;
4144
4321
  }
4145
4322
  toJSON(data) {
4146
4323
  data = typeof data === 'object' ? data : {};
4324
+ data["id"] = this.id;
4325
+ data["eboNaam"] = this.eboNaam;
4326
+ if (Array.isArray(this.filterOptions)) {
4327
+ data["filterOptions"] = [];
4328
+ for (let item of this.filterOptions)
4329
+ data["filterOptions"].push(item.toJSON());
4330
+ }
4331
+ if (Array.isArray(this.categories)) {
4332
+ data["categories"] = [];
4333
+ for (let item of this.categories)
4334
+ data["categories"].push(item.toJSON());
4335
+ }
4147
4336
  return data;
4148
4337
  }
4149
4338
  }
4150
- class KoppelEBOOptieRequest {
4339
+ class EBOKoppelEBOFilterOptionViewModel {
4151
4340
  constructor(data) {
4152
4341
  if (data) {
4153
4342
  for (var property in data) {
@@ -4158,22 +4347,104 @@ class KoppelEBOOptieRequest {
4158
4347
  }
4159
4348
  init(_data) {
4160
4349
  if (_data) {
4161
- this.bcbImportSetId = _data["bcbImportSetId"];
4350
+ this.filterName = _data["filterName"];
4351
+ this.filterOptionName = _data["filterOptionName"];
4352
+ }
4353
+ }
4354
+ static fromJS(data) {
4355
+ data = typeof data === 'object' ? data : {};
4356
+ let result = new EBOKoppelEBOFilterOptionViewModel();
4357
+ result.init(data);
4358
+ return result;
4359
+ }
4360
+ toJSON(data) {
4361
+ data = typeof data === 'object' ? data : {};
4362
+ data["filterName"] = this.filterName;
4363
+ data["filterOptionName"] = this.filterOptionName;
4364
+ return data;
4365
+ }
4366
+ }
4367
+ class EBOKoppelEBOCategoryViewModel {
4368
+ constructor(data) {
4369
+ if (data) {
4370
+ for (var property in data) {
4371
+ if (data.hasOwnProperty(property))
4372
+ this[property] = data[property];
4373
+ }
4374
+ }
4375
+ }
4376
+ init(_data) {
4377
+ if (_data) {
4378
+ this.categoryName = _data["categoryName"];
4379
+ }
4380
+ }
4381
+ static fromJS(data) {
4382
+ data = typeof data === 'object' ? data : {};
4383
+ let result = new EBOKoppelEBOCategoryViewModel();
4384
+ result.init(data);
4385
+ return result;
4386
+ }
4387
+ toJSON(data) {
4388
+ data = typeof data === 'object' ? data : {};
4389
+ data["categoryName"] = this.categoryName;
4390
+ return data;
4391
+ }
4392
+ }
4393
+ class EBOConnectRequestModel {
4394
+ constructor(data) {
4395
+ if (data) {
4396
+ for (var property in data) {
4397
+ if (data.hasOwnProperty(property))
4398
+ this[property] = data[property];
4399
+ }
4400
+ }
4401
+ }
4402
+ init(_data) {
4403
+ if (_data) {
4404
+ this.importSetId = _data["importSetId"];
4405
+ }
4406
+ }
4407
+ static fromJS(data) {
4408
+ data = typeof data === 'object' ? data : {};
4409
+ let result = new EBOConnectRequestModel();
4410
+ result.init(data);
4411
+ return result;
4412
+ }
4413
+ toJSON(data) {
4414
+ data = typeof data === 'object' ? data : {};
4415
+ data["importSetId"] = this.importSetId;
4416
+ return data;
4417
+ }
4418
+ }
4419
+ class ConnectBCBEBODORequest {
4420
+ constructor(data) {
4421
+ if (data) {
4422
+ for (var property in data) {
4423
+ if (data.hasOwnProperty(property))
4424
+ this[property] = data[property];
4425
+ }
4426
+ }
4427
+ }
4428
+ init(_data) {
4429
+ if (_data) {
4430
+ this.filterId = _data["filterId"];
4162
4431
  this.bcbebodoId = _data["bcbebodoId"];
4163
- this.filterOptionId = _data["filterOptionId"];
4432
+ this.bcbImportSetId = _data["bcbImportSetId"];
4433
+ this.all = _data["all"];
4164
4434
  }
4165
4435
  }
4166
4436
  static fromJS(data) {
4167
4437
  data = typeof data === 'object' ? data : {};
4168
- let result = new KoppelEBOOptieRequest();
4438
+ let result = new ConnectBCBEBODORequest();
4169
4439
  result.init(data);
4170
4440
  return result;
4171
4441
  }
4172
4442
  toJSON(data) {
4173
4443
  data = typeof data === 'object' ? data : {};
4174
- data["bcbImportSetId"] = this.bcbImportSetId;
4444
+ data["filterId"] = this.filterId;
4175
4445
  data["bcbebodoId"] = this.bcbebodoId;
4176
- data["filterOptionId"] = this.filterOptionId;
4446
+ data["bcbImportSetId"] = this.bcbImportSetId;
4447
+ data["all"] = this.all;
4177
4448
  return data;
4178
4449
  }
4179
4450
  }
@@ -4242,6 +4513,7 @@ class FabrikantenViewModel {
4242
4513
  if (_data) {
4243
4514
  this.sessionId = _data["sessionId"];
4244
4515
  this.bcbWebserviceURLBase = _data["bcbWebserviceURLBase"];
4516
+ this.hideBreadcrumbInIframe = _data["hideBreadcrumbInIframe"];
4245
4517
  this.productSelectBlockedByFilters = _data["productSelectBlockedByFilters"];
4246
4518
  if (Array.isArray(_data["categoryLayers"])) {
4247
4519
  this.categoryLayers = [];
@@ -4276,6 +4548,7 @@ class FabrikantenViewModel {
4276
4548
  data = typeof data === 'object' ? data : {};
4277
4549
  data["sessionId"] = this.sessionId;
4278
4550
  data["bcbWebserviceURLBase"] = this.bcbWebserviceURLBase;
4551
+ data["hideBreadcrumbInIframe"] = this.hideBreadcrumbInIframe;
4279
4552
  data["productSelectBlockedByFilters"] = this.productSelectBlockedByFilters;
4280
4553
  if (Array.isArray(this.categoryLayers)) {
4281
4554
  data["categoryLayers"] = [];
@@ -4498,6 +4771,8 @@ class FabrikantenProductViewModel {
4498
4771
  if (_data) {
4499
4772
  this.id = _data["id"];
4500
4773
  this.name = _data["name"];
4774
+ this.urlName = _data["urlName"];
4775
+ this.textureBaseViewModel = _data["textureBaseViewModel"] ? FabrikantenTextureBaseViewModel.fromJS(_data["textureBaseViewModel"]) : undefined;
4501
4776
  if (Array.isArray(_data["fabrikantenBCBProductViewModels"])) {
4502
4777
  this.fabrikantenBCBProductViewModels = [];
4503
4778
  for (let item of _data["fabrikantenBCBProductViewModels"])
@@ -4515,6 +4790,8 @@ class FabrikantenProductViewModel {
4515
4790
  data = typeof data === 'object' ? data : {};
4516
4791
  data["id"] = this.id;
4517
4792
  data["name"] = this.name;
4793
+ data["urlName"] = this.urlName;
4794
+ data["textureBaseViewModel"] = this.textureBaseViewModel ? this.textureBaseViewModel.toJSON() : undefined;
4518
4795
  if (Array.isArray(this.fabrikantenBCBProductViewModels)) {
4519
4796
  data["fabrikantenBCBProductViewModels"] = [];
4520
4797
  for (let item of this.fabrikantenBCBProductViewModels)
@@ -4523,6 +4800,36 @@ class FabrikantenProductViewModel {
4523
4800
  return data;
4524
4801
  }
4525
4802
  }
4803
+ class FabrikantenTextureBaseViewModel {
4804
+ constructor(data) {
4805
+ if (data) {
4806
+ for (var property in data) {
4807
+ if (data.hasOwnProperty(property))
4808
+ this[property] = data[property];
4809
+ }
4810
+ }
4811
+ }
4812
+ init(_data) {
4813
+ if (_data) {
4814
+ this.id = _data["id"];
4815
+ this.name = _data["name"];
4816
+ this.bcbeboViewModel = _data["bcbeboViewModel"] ? BCBEBOViewModel.fromJS(_data["bcbeboViewModel"]) : undefined;
4817
+ }
4818
+ }
4819
+ static fromJS(data) {
4820
+ data = typeof data === 'object' ? data : {};
4821
+ let result = new FabrikantenTextureBaseViewModel();
4822
+ result.init(data);
4823
+ return result;
4824
+ }
4825
+ toJSON(data) {
4826
+ data = typeof data === 'object' ? data : {};
4827
+ data["id"] = this.id;
4828
+ data["name"] = this.name;
4829
+ data["bcbeboViewModel"] = this.bcbeboViewModel ? this.bcbeboViewModel.toJSON() : undefined;
4830
+ return data;
4831
+ }
4832
+ }
4526
4833
  class FabrikantenBCBProductViewModel {
4527
4834
  constructor(data) {
4528
4835
  if (data) {
@@ -4667,7 +4974,65 @@ class FabrikantenBestekViewModel {
4667
4974
  return data;
4668
4975
  }
4669
4976
  }
4670
- class FabrikantenBestekRequestModel {
4977
+ class FabrikantenBestekRequestModel {
4978
+ constructor(data) {
4979
+ if (data) {
4980
+ for (var property in data) {
4981
+ if (data.hasOwnProperty(property))
4982
+ this[property] = data[property];
4983
+ }
4984
+ }
4985
+ }
4986
+ init(_data) {
4987
+ if (_data) {
4988
+ this.sessionId = _data["sessionId"];
4989
+ }
4990
+ }
4991
+ static fromJS(data) {
4992
+ data = typeof data === 'object' ? data : {};
4993
+ let result = new FabrikantenBestekRequestModel();
4994
+ result.init(data);
4995
+ return result;
4996
+ }
4997
+ toJSON(data) {
4998
+ data = typeof data === 'object' ? data : {};
4999
+ data["sessionId"] = this.sessionId;
5000
+ return data;
5001
+ }
5002
+ }
5003
+ class Fabrikanten3DViewModel {
5004
+ constructor(data) {
5005
+ if (data) {
5006
+ for (var property in data) {
5007
+ if (data.hasOwnProperty(property))
5008
+ this[property] = data[property];
5009
+ }
5010
+ }
5011
+ }
5012
+ init(_data) {
5013
+ if (_data) {
5014
+ this.wuid = _data["wuid"];
5015
+ this.webGLJSON = _data["webGLJSON"];
5016
+ this.nativeRFA = _data["nativeRFA"];
5017
+ this.snedes = _data["snedes"];
5018
+ }
5019
+ }
5020
+ static fromJS(data) {
5021
+ data = typeof data === 'object' ? data : {};
5022
+ let result = new Fabrikanten3DViewModel();
5023
+ result.init(data);
5024
+ return result;
5025
+ }
5026
+ toJSON(data) {
5027
+ data = typeof data === 'object' ? data : {};
5028
+ data["wuid"] = this.wuid;
5029
+ data["webGLJSON"] = this.webGLJSON;
5030
+ data["nativeRFA"] = this.nativeRFA;
5031
+ data["snedes"] = this.snedes;
5032
+ return data;
5033
+ }
5034
+ }
5035
+ class Fabrikanten3DRequestModel {
4671
5036
  constructor(data) {
4672
5037
  if (data) {
4673
5038
  for (var property in data) {
@@ -4683,7 +5048,7 @@ class FabrikantenBestekRequestModel {
4683
5048
  }
4684
5049
  static fromJS(data) {
4685
5050
  data = typeof data === 'object' ? data : {};
4686
- let result = new FabrikantenBestekRequestModel();
5051
+ let result = new Fabrikanten3DRequestModel();
4687
5052
  result.init(data);
4688
5053
  return result;
4689
5054
  }
@@ -4693,7 +5058,7 @@ class FabrikantenBestekRequestModel {
4693
5058
  return data;
4694
5059
  }
4695
5060
  }
4696
- class Fabrikanten3DViewModel {
5061
+ class FabrikantenSVGViewModel {
4697
5062
  constructor(data) {
4698
5063
  if (data) {
4699
5064
  for (var property in data) {
@@ -4705,27 +5070,27 @@ class Fabrikanten3DViewModel {
4705
5070
  init(_data) {
4706
5071
  if (_data) {
4707
5072
  this.wuid = _data["wuid"];
4708
- this.webGLJSON = _data["webGLJSON"];
5073
+ this.svg = _data["svg"];
4709
5074
  this.nativeRFA = _data["nativeRFA"];
4710
5075
  this.snedes = _data["snedes"];
4711
5076
  }
4712
5077
  }
4713
5078
  static fromJS(data) {
4714
5079
  data = typeof data === 'object' ? data : {};
4715
- let result = new Fabrikanten3DViewModel();
5080
+ let result = new FabrikantenSVGViewModel();
4716
5081
  result.init(data);
4717
5082
  return result;
4718
5083
  }
4719
5084
  toJSON(data) {
4720
5085
  data = typeof data === 'object' ? data : {};
4721
5086
  data["wuid"] = this.wuid;
4722
- data["webGLJSON"] = this.webGLJSON;
5087
+ data["svg"] = this.svg;
4723
5088
  data["nativeRFA"] = this.nativeRFA;
4724
5089
  data["snedes"] = this.snedes;
4725
5090
  return data;
4726
5091
  }
4727
5092
  }
4728
- class Fabrikanten3DRequestModel {
5093
+ class FabrikantenSVGRequestModel {
4729
5094
  constructor(data) {
4730
5095
  if (data) {
4731
5096
  for (var property in data) {
@@ -4736,22 +5101,30 @@ class Fabrikanten3DRequestModel {
4736
5101
  }
4737
5102
  init(_data) {
4738
5103
  if (_data) {
5104
+ this.width = _data["width"];
5105
+ this.height = _data["height"];
5106
+ this.snede = _data["snede"];
5107
+ this.schaal = _data["schaal"];
4739
5108
  this.sessionId = _data["sessionId"];
4740
5109
  }
4741
5110
  }
4742
5111
  static fromJS(data) {
4743
5112
  data = typeof data === 'object' ? data : {};
4744
- let result = new Fabrikanten3DRequestModel();
5113
+ let result = new FabrikantenSVGRequestModel();
4745
5114
  result.init(data);
4746
5115
  return result;
4747
5116
  }
4748
5117
  toJSON(data) {
4749
5118
  data = typeof data === 'object' ? data : {};
5119
+ data["width"] = this.width;
5120
+ data["height"] = this.height;
5121
+ data["snede"] = this.snede;
5122
+ data["schaal"] = this.schaal;
4750
5123
  data["sessionId"] = this.sessionId;
4751
5124
  return data;
4752
5125
  }
4753
5126
  }
4754
- class FabrikantenSVGViewModel {
5127
+ class FabrikantenTextureViewModel {
4755
5128
  constructor(data) {
4756
5129
  if (data) {
4757
5130
  for (var property in data) {
@@ -4763,27 +5136,25 @@ class FabrikantenSVGViewModel {
4763
5136
  init(_data) {
4764
5137
  if (_data) {
4765
5138
  this.wuid = _data["wuid"];
4766
- this.svg = _data["svg"];
4767
- this.nativeRFA = _data["nativeRFA"];
4768
- this.snedes = _data["snedes"];
5139
+ this.patroonURL = _data["patroonURL"];
5140
+ this.bumpURL = _data["bumpURL"];
4769
5141
  }
4770
5142
  }
4771
5143
  static fromJS(data) {
4772
5144
  data = typeof data === 'object' ? data : {};
4773
- let result = new FabrikantenSVGViewModel();
5145
+ let result = new FabrikantenTextureViewModel();
4774
5146
  result.init(data);
4775
5147
  return result;
4776
5148
  }
4777
5149
  toJSON(data) {
4778
5150
  data = typeof data === 'object' ? data : {};
4779
5151
  data["wuid"] = this.wuid;
4780
- data["svg"] = this.svg;
4781
- data["nativeRFA"] = this.nativeRFA;
4782
- data["snedes"] = this.snedes;
5152
+ data["patroonURL"] = this.patroonURL;
5153
+ data["bumpURL"] = this.bumpURL;
4783
5154
  return data;
4784
5155
  }
4785
5156
  }
4786
- class FabrikantenSVGRequestModel {
5157
+ class FabrikantenTextureRequestModel {
4787
5158
  constructor(data) {
4788
5159
  if (data) {
4789
5160
  for (var property in data) {
@@ -4794,25 +5165,17 @@ class FabrikantenSVGRequestModel {
4794
5165
  }
4795
5166
  init(_data) {
4796
5167
  if (_data) {
4797
- this.width = _data["width"];
4798
- this.height = _data["height"];
4799
- this.snede = _data["snede"];
4800
- this.schaal = _data["schaal"];
4801
5168
  this.sessionId = _data["sessionId"];
4802
5169
  }
4803
5170
  }
4804
5171
  static fromJS(data) {
4805
5172
  data = typeof data === 'object' ? data : {};
4806
- let result = new FabrikantenSVGRequestModel();
5173
+ let result = new FabrikantenTextureRequestModel();
4807
5174
  result.init(data);
4808
5175
  return result;
4809
5176
  }
4810
5177
  toJSON(data) {
4811
5178
  data = typeof data === 'object' ? data : {};
4812
- data["width"] = this.width;
4813
- data["height"] = this.height;
4814
- data["snede"] = this.snede;
4815
- data["schaal"] = this.schaal;
4816
5179
  data["sessionId"] = this.sessionId;
4817
5180
  return data;
4818
5181
  }
@@ -6011,6 +6374,104 @@ class ProductsViewModelRequest {
6011
6374
  return data;
6012
6375
  }
6013
6376
  }
6377
+ class DeeplinkViewModel {
6378
+ constructor(data) {
6379
+ if (data) {
6380
+ for (var property in data) {
6381
+ if (data.hasOwnProperty(property))
6382
+ this[property] = data[property];
6383
+ }
6384
+ }
6385
+ }
6386
+ init(_data) {
6387
+ if (_data) {
6388
+ if (Array.isArray(_data["languages"])) {
6389
+ this.languages = [];
6390
+ for (let item of _data["languages"])
6391
+ this.languages.push(item);
6392
+ }
6393
+ if (Array.isArray(_data["products"])) {
6394
+ this.products = [];
6395
+ for (let item of _data["products"])
6396
+ this.products.push(DeeplinkProductViewModel.fromJS(item));
6397
+ }
6398
+ }
6399
+ }
6400
+ static fromJS(data) {
6401
+ data = typeof data === 'object' ? data : {};
6402
+ let result = new DeeplinkViewModel();
6403
+ result.init(data);
6404
+ return result;
6405
+ }
6406
+ toJSON(data) {
6407
+ data = typeof data === 'object' ? data : {};
6408
+ if (Array.isArray(this.languages)) {
6409
+ data["languages"] = [];
6410
+ for (let item of this.languages)
6411
+ data["languages"].push(item);
6412
+ }
6413
+ if (Array.isArray(this.products)) {
6414
+ data["products"] = [];
6415
+ for (let item of this.products)
6416
+ data["products"].push(item.toJSON());
6417
+ }
6418
+ return data;
6419
+ }
6420
+ }
6421
+ class DeeplinkProductViewModel {
6422
+ constructor(data) {
6423
+ if (data) {
6424
+ for (var property in data) {
6425
+ if (data.hasOwnProperty(property))
6426
+ this[property] = data[property];
6427
+ }
6428
+ }
6429
+ }
6430
+ init(_data) {
6431
+ if (_data) {
6432
+ this.productName = _data["productName"];
6433
+ this.productURLName = _data["productURLName"];
6434
+ }
6435
+ }
6436
+ static fromJS(data) {
6437
+ data = typeof data === 'object' ? data : {};
6438
+ let result = new DeeplinkProductViewModel();
6439
+ result.init(data);
6440
+ return result;
6441
+ }
6442
+ toJSON(data) {
6443
+ data = typeof data === 'object' ? data : {};
6444
+ data["productName"] = this.productName;
6445
+ data["productURLName"] = this.productURLName;
6446
+ return data;
6447
+ }
6448
+ }
6449
+ class DeeplinkRequest {
6450
+ constructor(data) {
6451
+ if (data) {
6452
+ for (var property in data) {
6453
+ if (data.hasOwnProperty(property))
6454
+ this[property] = data[property];
6455
+ }
6456
+ }
6457
+ }
6458
+ init(_data) {
6459
+ if (_data) {
6460
+ this.temp = _data["temp"];
6461
+ }
6462
+ }
6463
+ static fromJS(data) {
6464
+ data = typeof data === 'object' ? data : {};
6465
+ let result = new DeeplinkRequest();
6466
+ result.init(data);
6467
+ return result;
6468
+ }
6469
+ toJSON(data) {
6470
+ data = typeof data === 'object' ? data : {};
6471
+ data["temp"] = this.temp;
6472
+ return data;
6473
+ }
6474
+ }
6014
6475
  class GetProductRequest {
6015
6476
  constructor(data) {
6016
6477
  if (data) {
@@ -6453,6 +6914,7 @@ class ProjectSettingViewModel {
6453
6914
  init(_data) {
6454
6915
  if (_data) {
6455
6916
  this.name = _data["name"];
6917
+ this.category = _data["category"];
6456
6918
  this.activeValue = _data["activeValue"];
6457
6919
  this.defaultValue = _data["defaultValue"];
6458
6920
  this.default = _data["default"];
@@ -6479,6 +6941,7 @@ class ProjectSettingViewModel {
6479
6941
  toJSON(data) {
6480
6942
  data = typeof data === 'object' ? data : {};
6481
6943
  data["name"] = this.name;
6944
+ data["category"] = this.category;
6482
6945
  data["activeValue"] = this.activeValue;
6483
6946
  data["defaultValue"] = this.defaultValue;
6484
6947
  data["default"] = this.default;
@@ -6567,6 +7030,7 @@ class SetProjectSettingRequestModel {
6567
7030
  init(_data) {
6568
7031
  if (_data) {
6569
7032
  this.name = _data["name"];
7033
+ this.category = _data["category"];
6570
7034
  this.value = _data["value"];
6571
7035
  this.pipelineStep = _data["pipelineStep"];
6572
7036
  }
@@ -6580,6 +7044,7 @@ class SetProjectSettingRequestModel {
6580
7044
  toJSON(data) {
6581
7045
  data = typeof data === 'object' ? data : {};
6582
7046
  data["name"] = this.name;
7047
+ data["category"] = this.category;
6583
7048
  data["value"] = this.value;
6584
7049
  data["pipelineStep"] = this.pipelineStep;
6585
7050
  return data;
@@ -7653,10 +8118,10 @@ class BeheerNavComponent {
7653
8118
  }
7654
8119
  }
7655
8120
  BeheerNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerNavComponent, deps: [{ token: AuthenticationService }, { token: i1$1.Router }, { token: FabrikantenApiClient }], target: i0.ɵɵFactoryTarget.Component });
7656
- BeheerNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerNavComponent, selector: "app-beheer-nav", ngImport: i0, template: "<div class=\"main-block\">\n <div class=\"row\">\n <div class=\"cell left-block\">\n <button mat-raised-button (click)=\"NavigateTo('searchproducts')\" class=\"link\" [disabled]=\"IsActive('/searchproducts')\">\n Zoeken\n </button>\n <button mat-raised-button (click)=\"NavigateTo('importsets')\" class=\"link\" [disabled]=\"IsActive('/importsets')\">\n Import\n </button>\n <button mat-raised-button (click)=\"NavigateTo('products')\" class=\"link\" [disabled]=\"IsActive('/products')\">\n Products\n </button>\n <button mat-raised-button (click)=\"NavigateTo('filters')\" class=\"link\" [disabled]=\"IsActive('/filters')\">\n Filters\n </button>\n <button mat-raised-button (click)=\"NavigateTo('ebokoppel')\" class=\"link\" [disabled]=\"IsActive('/ebokoppel')\">\n EBO Koppel\n </button>\n <button mat-raised-button (click)=\"NavigateTo('categories')\" class=\"link\" [disabled]=\"IsActive('/categories')\">\n Categories\n </button>\n </div>\n <div class=\"cell right-block\">\n <button mat-raised-button (click)=\"ResetCache()\" class=\"link\">\n {{ ResetCacheTitle }}\n </button>\n <button mat-raised-button (click)=\"NavigateTo('settings')\" class=\"link\" [disabled]=\"IsActive('/settings')\">\n Settings\n </button>\n <button mat-raised-button (click)=\"NavigateTo('translate')\" class=\"link\" [disabled]=\"IsActive('/translate')\">\n Translate\n </button>\n <button mat-raised-button (click)=\"NavigateTo('users')\" class=\"link\" [disabled]=\"IsActive('/users')\">\n Users\n </button>\n <button mat-raised-button (click)=\"LogOff()\" class=\"link\">\n Uitloggen\n </button>\n </div>\n </div>\n</div>\n", styles: ["app-beheer-nav .main-block{width:100%;display:table}app-beheer-nav .main-block .left-block{text-align:left}app-beheer-nav .main-block .right-block{text-align:right}app-beheer-nav .main-block .row{display:table-row}app-beheer-nav .main-block .cell{display:table-cell}app-beheer-nav .main-block .link{margin:5px}body{background:url(/assets/bouwconnect-achtergrond.png) fixed}.full-width{width:100%}\n"], dependencies: [{ kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None });
8121
+ BeheerNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerNavComponent, selector: "app-beheer-nav", ngImport: i0, template: "<div class=\"main-block\">\n <div class=\"row\">\n <div class=\"cell left-block\">\n <button mat-raised-button (click)=\"NavigateTo('searchproducts')\" class=\"link\" [disabled]=\"IsActive('/searchproducts')\">\n Zoeken\n </button>\n <button mat-raised-button (click)=\"NavigateTo('importsets')\" class=\"link\" [disabled]=\"IsActive('/importsets')\">\n Import\n </button>\n <button mat-raised-button (click)=\"NavigateTo('products')\" class=\"link\" [disabled]=\"IsActive('/products')\">\n Products\n </button>\n <button mat-raised-button (click)=\"NavigateTo('filters')\" class=\"link\" [disabled]=\"IsActive('/filters')\">\n Filters\n </button>\n <button mat-raised-button (click)=\"NavigateTo('ebokoppel')\" class=\"link\" [disabled]=\"IsActive('/ebokoppel')\">\n EBO Koppel\n </button>\n <button mat-raised-button (click)=\"NavigateTo('categories')\" class=\"link\" [disabled]=\"IsActive('/categories')\">\n Categories\n </button>\n <button mat-raised-button (click)=\"NavigateTo('deeplink')\" class=\"link\" [disabled]=\"IsActive('/deeplink')\">\n Deeplink\n </button>\n </div>\n <div class=\"cell right-block\">\n <button mat-raised-button (click)=\"ResetCache()\" class=\"link\">\n {{ ResetCacheTitle }}\n </button>\n <button mat-raised-button (click)=\"NavigateTo('settings')\" class=\"link\" [disabled]=\"IsActive('/settings')\">\n Settings\n </button>\n <button mat-raised-button (click)=\"NavigateTo('translate')\" class=\"link\" [disabled]=\"IsActive('/translate')\">\n Translate\n </button>\n <button mat-raised-button (click)=\"NavigateTo('users')\" class=\"link\" [disabled]=\"IsActive('/users')\">\n Users\n </button>\n <button mat-raised-button (click)=\"LogOff()\" class=\"link\">\n Uitloggen\n </button>\n </div>\n </div>\n</div>\n", styles: ["app-beheer-nav .main-block{width:100%;display:table}app-beheer-nav .main-block .left-block{text-align:left}app-beheer-nav .main-block .right-block{text-align:right}app-beheer-nav .main-block .row{display:table-row}app-beheer-nav .main-block .cell{display:table-cell}app-beheer-nav .main-block .link{margin:5px}body{background:url(/assets/bouwconnect-achtergrond.png) fixed}.full-width{width:100%}\n"], dependencies: [{ kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None });
7657
8122
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerNavComponent, decorators: [{
7658
8123
  type: Component,
7659
- args: [{ selector: 'app-beheer-nav', encapsulation: ViewEncapsulation.None, template: "<div class=\"main-block\">\n <div class=\"row\">\n <div class=\"cell left-block\">\n <button mat-raised-button (click)=\"NavigateTo('searchproducts')\" class=\"link\" [disabled]=\"IsActive('/searchproducts')\">\n Zoeken\n </button>\n <button mat-raised-button (click)=\"NavigateTo('importsets')\" class=\"link\" [disabled]=\"IsActive('/importsets')\">\n Import\n </button>\n <button mat-raised-button (click)=\"NavigateTo('products')\" class=\"link\" [disabled]=\"IsActive('/products')\">\n Products\n </button>\n <button mat-raised-button (click)=\"NavigateTo('filters')\" class=\"link\" [disabled]=\"IsActive('/filters')\">\n Filters\n </button>\n <button mat-raised-button (click)=\"NavigateTo('ebokoppel')\" class=\"link\" [disabled]=\"IsActive('/ebokoppel')\">\n EBO Koppel\n </button>\n <button mat-raised-button (click)=\"NavigateTo('categories')\" class=\"link\" [disabled]=\"IsActive('/categories')\">\n Categories\n </button>\n </div>\n <div class=\"cell right-block\">\n <button mat-raised-button (click)=\"ResetCache()\" class=\"link\">\n {{ ResetCacheTitle }}\n </button>\n <button mat-raised-button (click)=\"NavigateTo('settings')\" class=\"link\" [disabled]=\"IsActive('/settings')\">\n Settings\n </button>\n <button mat-raised-button (click)=\"NavigateTo('translate')\" class=\"link\" [disabled]=\"IsActive('/translate')\">\n Translate\n </button>\n <button mat-raised-button (click)=\"NavigateTo('users')\" class=\"link\" [disabled]=\"IsActive('/users')\">\n Users\n </button>\n <button mat-raised-button (click)=\"LogOff()\" class=\"link\">\n Uitloggen\n </button>\n </div>\n </div>\n</div>\n", styles: ["app-beheer-nav .main-block{width:100%;display:table}app-beheer-nav .main-block .left-block{text-align:left}app-beheer-nav .main-block .right-block{text-align:right}app-beheer-nav .main-block .row{display:table-row}app-beheer-nav .main-block .cell{display:table-cell}app-beheer-nav .main-block .link{margin:5px}body{background:url(/assets/bouwconnect-achtergrond.png) fixed}.full-width{width:100%}\n"] }]
8124
+ args: [{ selector: 'app-beheer-nav', encapsulation: ViewEncapsulation.None, template: "<div class=\"main-block\">\n <div class=\"row\">\n <div class=\"cell left-block\">\n <button mat-raised-button (click)=\"NavigateTo('searchproducts')\" class=\"link\" [disabled]=\"IsActive('/searchproducts')\">\n Zoeken\n </button>\n <button mat-raised-button (click)=\"NavigateTo('importsets')\" class=\"link\" [disabled]=\"IsActive('/importsets')\">\n Import\n </button>\n <button mat-raised-button (click)=\"NavigateTo('products')\" class=\"link\" [disabled]=\"IsActive('/products')\">\n Products\n </button>\n <button mat-raised-button (click)=\"NavigateTo('filters')\" class=\"link\" [disabled]=\"IsActive('/filters')\">\n Filters\n </button>\n <button mat-raised-button (click)=\"NavigateTo('ebokoppel')\" class=\"link\" [disabled]=\"IsActive('/ebokoppel')\">\n EBO Koppel\n </button>\n <button mat-raised-button (click)=\"NavigateTo('categories')\" class=\"link\" [disabled]=\"IsActive('/categories')\">\n Categories\n </button>\n <button mat-raised-button (click)=\"NavigateTo('deeplink')\" class=\"link\" [disabled]=\"IsActive('/deeplink')\">\n Deeplink\n </button>\n </div>\n <div class=\"cell right-block\">\n <button mat-raised-button (click)=\"ResetCache()\" class=\"link\">\n {{ ResetCacheTitle }}\n </button>\n <button mat-raised-button (click)=\"NavigateTo('settings')\" class=\"link\" [disabled]=\"IsActive('/settings')\">\n Settings\n </button>\n <button mat-raised-button (click)=\"NavigateTo('translate')\" class=\"link\" [disabled]=\"IsActive('/translate')\">\n Translate\n </button>\n <button mat-raised-button (click)=\"NavigateTo('users')\" class=\"link\" [disabled]=\"IsActive('/users')\">\n Users\n </button>\n <button mat-raised-button (click)=\"LogOff()\" class=\"link\">\n Uitloggen\n </button>\n </div>\n </div>\n</div>\n", styles: ["app-beheer-nav .main-block{width:100%;display:table}app-beheer-nav .main-block .left-block{text-align:left}app-beheer-nav .main-block .right-block{text-align:right}app-beheer-nav .main-block .row{display:table-row}app-beheer-nav .main-block .cell{display:table-cell}app-beheer-nav .main-block .link{margin:5px}body{background:url(/assets/bouwconnect-achtergrond.png) fixed}.full-width{width:100%}\n"] }]
7660
8125
  }], ctorParameters: function () { return [{ type: AuthenticationService }, { type: i1$1.Router }, { type: FabrikantenApiClient }]; } });
7661
8126
 
7662
8127
  class BeheerMainComponent {
@@ -7863,7 +8328,7 @@ class NavigateService {
7863
8328
  this.Router.navigate(['/', this.TranslateService.ActiveLanguage.countryCode, 'categories']);
7864
8329
  }
7865
8330
  else if (this.FabrikantenService.FabrikantenViewModel.selectedProduct != null) {
7866
- this.Router.navigate(['/', this.TranslateService.ActiveLanguage.countryCode, 'product']);
8331
+ this.Router.navigate(['/', this.TranslateService.ActiveLanguage.countryCode, 'product', this.FabrikantenService.FabrikantenViewModel.selectedProduct.urlName]);
7867
8332
  }
7868
8333
  else {
7869
8334
  this.Router.navigate(['/', this.TranslateService.ActiveLanguage.countryCode, 'products']);
@@ -8265,13 +8730,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
8265
8730
  args: [{ providedIn: 'root' }]
8266
8731
  }], ctorParameters: function () { return [{ type: FabrikantenApiClient }]; } });
8267
8732
 
8733
+ class TextureService {
8734
+ constructor(FabrikantenApiClient) {
8735
+ this.FabrikantenApiClient = FabrikantenApiClient;
8736
+ this.Loading = false;
8737
+ }
8738
+ LoadFabrikantenTextureViewModel(sessionid, ChangeDetectorRef) {
8739
+ this.Loading = true;
8740
+ var request = new FabrikantenTextureRequestModel();
8741
+ request.sessionId = sessionid;
8742
+ this.FabrikantenApiClient.getFabrikantenTextureViewModel(request).subscribe((model) => {
8743
+ this.FabrikantenTextureViewModel = model;
8744
+ this.Loading = false;
8745
+ }, (error) => {
8746
+ if (error.status == 400)
8747
+ console.log(error.json());
8748
+ else {
8749
+ console.log('An unexpected error occured');
8750
+ console.log(error);
8751
+ }
8752
+ });
8753
+ }
8754
+ }
8755
+ TextureService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: TextureService, deps: [{ token: FabrikantenApiClient }], target: i0.ɵɵFactoryTarget.Injectable });
8756
+ TextureService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: TextureService, providedIn: 'root' });
8757
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: TextureService, decorators: [{
8758
+ type: Injectable,
8759
+ args: [{ providedIn: 'root' }]
8760
+ }], ctorParameters: function () { return [{ type: FabrikantenApiClient }]; } });
8761
+
8268
8762
  class FabrikantenService {
8269
- constructor(FabrikantenApiClient, BestekService, TranslateService, WebGLService, SVGService, NavigateService) {
8763
+ constructor(FabrikantenApiClient, BestekService, TranslateService, WebGLService, SVGService, TextureService, NavigateService) {
8270
8764
  this.FabrikantenApiClient = FabrikantenApiClient;
8271
8765
  this.BestekService = BestekService;
8272
8766
  this.TranslateService = TranslateService;
8273
8767
  this.WebGLService = WebGLService;
8274
8768
  this.SVGService = SVGService;
8769
+ this.TextureService = TextureService;
8275
8770
  this.NavigateService = NavigateService;
8276
8771
  this.Init = false;
8277
8772
  this.Loading = true;
@@ -8479,6 +8974,12 @@ class FabrikantenService {
8479
8974
  ShowCategories() {
8480
8975
  return this.GetFirstOpenCategoryLayer() != null;
8481
8976
  }
8977
+ ShowTexture() {
8978
+ if (this.FabrikantenViewModel.selectedProduct?.textureBaseViewModel != null) {
8979
+ return true;
8980
+ }
8981
+ return false;
8982
+ }
8482
8983
  ShowVariants() {
8483
8984
  var bcbproducts = this.FabrikantenViewModel?.selectedProduct?.fabrikantenBCBProductViewModels;
8484
8985
  if (bcbproducts != null && bcbproducts.length > 1) {
@@ -8505,9 +9006,9 @@ class FabrikantenService {
8505
9006
  }
8506
9007
  ReloadModel(ChangeDetectorRef) {
8507
9008
  this.Init = false;
8508
- this.LoadFabrikantenViewModel(ChangeDetectorRef);
9009
+ this.LoadFabrikantenViewModel(ChangeDetectorRef, null);
8509
9010
  }
8510
- LoadFabrikantenViewModel(ChangeDetectorRef) {
9011
+ LoadFabrikantenViewModel(ChangeDetectorRef, ActivatedRoute) {
8511
9012
  if (!this.Init) {
8512
9013
  this.Init = true;
8513
9014
  this.Loading = true;
@@ -8525,7 +9026,9 @@ class FabrikantenService {
8525
9026
  this.Loading = false;
8526
9027
  ChangeDetectorRef.detectChanges();
8527
9028
  this.TriggerReloads(ChangeDetectorRef);
8528
- this.NavigateService.RefreshPage();
9029
+ if (this.ProcessParameters(ActivatedRoute, ChangeDetectorRef)) {
9030
+ this.NavigateService.RefreshPage();
9031
+ }
8529
9032
  }, (error) => {
8530
9033
  if (error.status == 400)
8531
9034
  console.log(error.json());
@@ -8538,6 +9041,25 @@ class FabrikantenService {
8538
9041
  });
8539
9042
  }
8540
9043
  }
9044
+ ProcessParameters(ActivatedRoute, ChangeDetectorRef) {
9045
+ if (ActivatedRoute != null) {
9046
+ var productname = ActivatedRoute.snapshot.paramMap.get("product");
9047
+ if (this.FabrikantenViewModel.products != null) {
9048
+ var product = null;
9049
+ for (var i = 0; i < this.FabrikantenViewModel.products.length; i++) {
9050
+ if (this.FabrikantenViewModel.products[i].urlName == productname) {
9051
+ product = this.FabrikantenViewModel.products[i];
9052
+ break;
9053
+ }
9054
+ }
9055
+ if (product != null) {
9056
+ this.SelectProduct(product, ChangeDetectorRef);
9057
+ return false;
9058
+ }
9059
+ }
9060
+ }
9061
+ return true;
9062
+ }
8541
9063
  // Downloads
8542
9064
  DownloadARKEYAdomi() {
8543
9065
  this.DownloadARKEYAdomiLoading = true;
@@ -8707,6 +9229,9 @@ class FabrikantenService {
8707
9229
  else if (this.SelectedTab == "2D") {
8708
9230
  this.SVGService.LoadFabrikantenSVGViewModel(this.FabrikantenViewModel.sessionId, ChangeDetectorRef);
8709
9231
  }
9232
+ else if (this.SelectedTab == "Texture") {
9233
+ this.TextureService.LoadFabrikantenTextureViewModel(this.FabrikantenViewModel.sessionId, ChangeDetectorRef);
9234
+ }
8710
9235
  }
8711
9236
  }
8712
9237
  // Breadcrumb
@@ -8733,12 +9258,12 @@ class FabrikantenService {
8733
9258
  return returnarray;
8734
9259
  }
8735
9260
  }
8736
- FabrikantenService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabrikantenService, deps: [{ token: FabrikantenApiClient }, { token: BestekService }, { token: TranslateService }, { token: WebGLService }, { token: SVGService }, { token: NavigateService }], target: i0.ɵɵFactoryTarget.Injectable });
9261
+ FabrikantenService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabrikantenService, deps: [{ token: FabrikantenApiClient }, { token: BestekService }, { token: TranslateService }, { token: WebGLService }, { token: SVGService }, { token: TextureService }, { token: NavigateService }], target: i0.ɵɵFactoryTarget.Injectable });
8737
9262
  FabrikantenService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabrikantenService, providedIn: 'root' });
8738
9263
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabrikantenService, decorators: [{
8739
9264
  type: Injectable,
8740
9265
  args: [{ providedIn: 'root' }]
8741
- }], ctorParameters: function () { return [{ type: FabrikantenApiClient }, { type: BestekService }, { type: TranslateService }, { type: WebGLService }, { type: SVGService }, { type: NavigateService }]; } });
9266
+ }], ctorParameters: function () { return [{ type: FabrikantenApiClient }, { type: BestekService }, { type: TranslateService }, { type: WebGLService }, { type: SVGService }, { type: TextureService }, { type: NavigateService }]; } });
8742
9267
 
8743
9268
  class FabFilterComponent {
8744
9269
  constructor(FabrikantenService, TranslateService, ChangeDetectorRef) {
@@ -9288,10 +9813,10 @@ class FabWebglViewerComponent {
9288
9813
  }
9289
9814
  }
9290
9815
  FabWebglViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabWebglViewerComponent, deps: [{ token: FabrikantenService }, { token: WebGLService }, { token: TranslateService }, { token: MobileService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
9291
- FabWebglViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: FabWebglViewerComponent, selector: "app-fab-webgl-viewer", viewQueries: [{ propertyName: "viewercontainer", first: true, predicate: ["viewercontainer"], descendants: true }], ngImport: i0, template: "<div class=\"loader\" *ngIf=\"WebGLService.Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div class=\"main-window\">\r\n <div *ngIf=\"FabrikantenService.ShowVariants()\" class=\"multiplevariants\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Multiple variants\") }}\r\n <div>\r\n <ul>\r\n <li class=\"button\" mat-stroked-button *ngFor=\"let bcbproduct of FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels\">\r\n {{ bcbproduct.name }}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div *ngIf=\"ShowWebGL()\" class=\"main-window flex-col\">\r\n <div #viewercontainer class=\"viewer-container\">\r\n <canvas id=\"viewerCanvas\" class=\"viewer-canvas\" [attr.width]=\"WebGLService.ViewerWidth\" [attr.height]=\"WebGLService.ViewerHeight\"></canvas>\r\n </div>\r\n\r\n <div class=\"webgl-settings\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div class=\"column\">\r\n <button mat-stroked-button class=\"toolbar-button rfa-button\" (click)=\"FabrikantenService.DownloadRFA()\" *ngIf=\"WebGLService.HasNativeRFA()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadRFALoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadRFALoading\">{{ TranslateService.GetActiveValue(\"Common\", \"Revit\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button arkey-adomi-button\" (click)=\"FabrikantenService.DownloadARKEYAdomi()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadARKEYAdomiLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadARKEYAdomiLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"ARKEY Adomi\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button ifc-button\" (click)=\"FabrikantenService.DownloadIFC()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadIFCLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadIFCLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"IFC\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <!--<button mat-stroked-button class=\"toolbar-button revit-plugin-button\" (click)=\"FabrikantenService.DownloadRevitPlugin()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadRevitPluginLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadRevitPluginLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"Revit (plugin)\") }}</span>\r\n </div>\r\n </div>\r\n </button>-->\r\n <button mat-stroked-button class=\"toolbar-button autocad-3d-button\" (click)=\"FabrikantenService.Download3DAutoCADDwg()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download3DAutoCADDwgLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download3DAutoCADDwgLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"3D AutoCAD Dwg\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button dxf-3d-button\" (click)=\"FabrikantenService.Download3DDxf()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download3DDxfLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download3DDxfLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"3D Dxf\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenBCBLink()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">open_in_new</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"BCB\") }}\r\n </div>\r\n </div>\r\n </button>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n", styles: [".row{display:flex;line-height:37px}.flex-col{display:flex;flex-direction:column}.multiplevariants{padding:20px}.loader{position:absolute;width:100%;height:100%;justify-content:center}.column{display:flex;flex-direction:column}.webgl-settings{position:absolute;top:10px;right:10px;display:flex}.icon{margin-right:3px}.viewer-container{overflow:auto;height:100%}.row-icon{align-items:center;display:flex}.row-title{flex:auto}.viewer-canvas{background-color:#fff;cursor:grab}.main-window{height:100%}.toolbar{display:flex;padding:3px}button{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar-button{margin-top:3px}.button{margin:5px;width:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7$1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i7$1.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: FabLoaderComponent, selector: "app-fab-loader" }] });
9816
+ FabWebglViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: FabWebglViewerComponent, selector: "app-fab-webgl-viewer", viewQueries: [{ propertyName: "viewercontainer", first: true, predicate: ["viewercontainer"], descendants: true }], ngImport: i0, template: "<div class=\"loader\" *ngIf=\"WebGLService.Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div class=\"main-window\">\r\n <div *ngIf=\"FabrikantenService.ShowVariants()\" class=\"multiplevariants\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Multiple variants\") }}\r\n <div>\r\n <ul>\r\n <li class=\"button\" mat-stroked-button *ngFor=\"let bcbproduct of FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels\">\r\n {{ bcbproduct.name }}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div *ngIf=\"ShowWebGL()\" class=\"main-window flex-col\">\r\n <div #viewercontainer class=\"viewer-container\">\r\n <canvas id=\"viewerCanvas\" class=\"viewer-canvas\" [attr.width]=\"WebGLService.ViewerWidth\" [attr.height]=\"WebGLService.ViewerHeight\"></canvas>\r\n </div>\r\n\r\n <div class=\"webgl-settings\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div class=\"column\">\r\n <button mat-stroked-button class=\"toolbar-button rfa-button\" (click)=\"FabrikantenService.DownloadRFA()\" *ngIf=\"WebGLService.HasNativeRFA()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadRFALoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadRFALoading\">{{ TranslateService.GetActiveValue(\"Common\", \"Revit\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button arkey-adomi-button\" (click)=\"FabrikantenService.DownloadARKEYAdomi()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadARKEYAdomiLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadARKEYAdomiLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"ARKEY Adomi\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button ifc-button\" (click)=\"FabrikantenService.DownloadIFC()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadIFCLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadIFCLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"IFC\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button autocad-3d-button\" (click)=\"FabrikantenService.Download3DAutoCADDwg()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download3DAutoCADDwgLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download3DAutoCADDwgLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"3D AutoCAD Dwg\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button dxf-3d-button\" (click)=\"FabrikantenService.Download3DDxf()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download3DDxfLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download3DDxfLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"3D Dxf\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenBCBLink()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">open_in_new</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"BCB\") }}\r\n </div>\r\n </div>\r\n </button>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n", styles: [".row{display:flex;line-height:37px}.flex-col{display:flex;flex-direction:column}.multiplevariants{padding:20px}.loader{position:absolute;width:100%;height:100%;justify-content:center}.column{display:flex;flex-direction:column}.webgl-settings{position:absolute;top:10px;right:10px;display:flex}.icon{margin-right:3px}.viewer-container{overflow:auto;height:100%}.row-icon{align-items:center;display:flex}.row-title{flex:auto}.viewer-canvas{background-color:#fff;cursor:grab}.main-window{height:100%}button{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar-button{margin-top:3px}.button{margin:5px;width:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7$1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i7$1.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: FabLoaderComponent, selector: "app-fab-loader" }] });
9292
9817
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabWebglViewerComponent, decorators: [{
9293
9818
  type: Component,
9294
- args: [{ selector: 'app-fab-webgl-viewer', template: "<div class=\"loader\" *ngIf=\"WebGLService.Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div class=\"main-window\">\r\n <div *ngIf=\"FabrikantenService.ShowVariants()\" class=\"multiplevariants\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Multiple variants\") }}\r\n <div>\r\n <ul>\r\n <li class=\"button\" mat-stroked-button *ngFor=\"let bcbproduct of FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels\">\r\n {{ bcbproduct.name }}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div *ngIf=\"ShowWebGL()\" class=\"main-window flex-col\">\r\n <div #viewercontainer class=\"viewer-container\">\r\n <canvas id=\"viewerCanvas\" class=\"viewer-canvas\" [attr.width]=\"WebGLService.ViewerWidth\" [attr.height]=\"WebGLService.ViewerHeight\"></canvas>\r\n </div>\r\n\r\n <div class=\"webgl-settings\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div class=\"column\">\r\n <button mat-stroked-button class=\"toolbar-button rfa-button\" (click)=\"FabrikantenService.DownloadRFA()\" *ngIf=\"WebGLService.HasNativeRFA()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadRFALoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadRFALoading\">{{ TranslateService.GetActiveValue(\"Common\", \"Revit\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button arkey-adomi-button\" (click)=\"FabrikantenService.DownloadARKEYAdomi()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadARKEYAdomiLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadARKEYAdomiLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"ARKEY Adomi\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button ifc-button\" (click)=\"FabrikantenService.DownloadIFC()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadIFCLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadIFCLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"IFC\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <!--<button mat-stroked-button class=\"toolbar-button revit-plugin-button\" (click)=\"FabrikantenService.DownloadRevitPlugin()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadRevitPluginLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadRevitPluginLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"Revit (plugin)\") }}</span>\r\n </div>\r\n </div>\r\n </button>-->\r\n <button mat-stroked-button class=\"toolbar-button autocad-3d-button\" (click)=\"FabrikantenService.Download3DAutoCADDwg()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download3DAutoCADDwgLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download3DAutoCADDwgLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"3D AutoCAD Dwg\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button dxf-3d-button\" (click)=\"FabrikantenService.Download3DDxf()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download3DDxfLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download3DDxfLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"3D Dxf\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenBCBLink()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">open_in_new</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"BCB\") }}\r\n </div>\r\n </div>\r\n </button>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n", styles: [".row{display:flex;line-height:37px}.flex-col{display:flex;flex-direction:column}.multiplevariants{padding:20px}.loader{position:absolute;width:100%;height:100%;justify-content:center}.column{display:flex;flex-direction:column}.webgl-settings{position:absolute;top:10px;right:10px;display:flex}.icon{margin-right:3px}.viewer-container{overflow:auto;height:100%}.row-icon{align-items:center;display:flex}.row-title{flex:auto}.viewer-canvas{background-color:#fff;cursor:grab}.main-window{height:100%}.toolbar{display:flex;padding:3px}button{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar-button{margin-top:3px}.button{margin:5px;width:100%}\n"] }]
9819
+ args: [{ selector: 'app-fab-webgl-viewer', template: "<div class=\"loader\" *ngIf=\"WebGLService.Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div class=\"main-window\">\r\n <div *ngIf=\"FabrikantenService.ShowVariants()\" class=\"multiplevariants\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Multiple variants\") }}\r\n <div>\r\n <ul>\r\n <li class=\"button\" mat-stroked-button *ngFor=\"let bcbproduct of FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels\">\r\n {{ bcbproduct.name }}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div *ngIf=\"ShowWebGL()\" class=\"main-window flex-col\">\r\n <div #viewercontainer class=\"viewer-container\">\r\n <canvas id=\"viewerCanvas\" class=\"viewer-canvas\" [attr.width]=\"WebGLService.ViewerWidth\" [attr.height]=\"WebGLService.ViewerHeight\"></canvas>\r\n </div>\r\n\r\n <div class=\"webgl-settings\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div class=\"column\">\r\n <button mat-stroked-button class=\"toolbar-button rfa-button\" (click)=\"FabrikantenService.DownloadRFA()\" *ngIf=\"WebGLService.HasNativeRFA()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadRFALoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadRFALoading\">{{ TranslateService.GetActiveValue(\"Common\", \"Revit\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button arkey-adomi-button\" (click)=\"FabrikantenService.DownloadARKEYAdomi()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadARKEYAdomiLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadARKEYAdomiLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"ARKEY Adomi\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button ifc-button\" (click)=\"FabrikantenService.DownloadIFC()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadIFCLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadIFCLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"IFC\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button autocad-3d-button\" (click)=\"FabrikantenService.Download3DAutoCADDwg()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download3DAutoCADDwgLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download3DAutoCADDwgLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"3D AutoCAD Dwg\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button dxf-3d-button\" (click)=\"FabrikantenService.Download3DDxf()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download3DDxfLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download3DDxfLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"3D Dxf\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenBCBLink()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">open_in_new</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"BCB\") }}\r\n </div>\r\n </div>\r\n </button>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n", styles: [".row{display:flex;line-height:37px}.flex-col{display:flex;flex-direction:column}.multiplevariants{padding:20px}.loader{position:absolute;width:100%;height:100%;justify-content:center}.column{display:flex;flex-direction:column}.webgl-settings{position:absolute;top:10px;right:10px;display:flex}.icon{margin-right:3px}.viewer-container{overflow:auto;height:100%}.row-icon{align-items:center;display:flex}.row-title{flex:auto}.viewer-canvas{background-color:#fff;cursor:grab}.main-window{height:100%}button{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar-button{margin-top:3px}.button{margin:5px;width:100%}\n"] }]
9295
9820
  }], ctorParameters: function () { return [{ type: FabrikantenService }, { type: WebGLService }, { type: TranslateService }, { type: MobileService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { viewercontainer: [{
9296
9821
  type: ViewChild,
9297
9822
  args: ['viewercontainer']
@@ -9364,6 +9889,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
9364
9889
  args: ['svgcontainer']
9365
9890
  }] } });
9366
9891
 
9892
+ class FabTextureComponent {
9893
+ constructor(FabrikantenService, TextureService, TranslateService, MobileService, ChangeDetectorRef) {
9894
+ this.FabrikantenService = FabrikantenService;
9895
+ this.TextureService = TextureService;
9896
+ this.TranslateService = TranslateService;
9897
+ this.MobileService = MobileService;
9898
+ this.ChangeDetectorRef = ChangeDetectorRef;
9899
+ }
9900
+ ShowTexture() {
9901
+ if (!this.FabrikantenService.ShowVariants()) {
9902
+ if (this.TextureService.FabrikantenTextureViewModel != undefined) {
9903
+ return true;
9904
+ }
9905
+ }
9906
+ return false;
9907
+ }
9908
+ OpenBCBLink() {
9909
+ this.FabrikantenService.OpenBCBLink(this.TextureService.FabrikantenTextureViewModel.wuid + "");
9910
+ }
9911
+ }
9912
+ FabTextureComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabTextureComponent, deps: [{ token: FabrikantenService }, { token: TextureService }, { token: TranslateService }, { token: MobileService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
9913
+ FabTextureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: FabTextureComponent, selector: "app-fab-texture", ngImport: i0, template: "<div class=\"loader\" *ngIf=\"TextureService.Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div>\r\n <div *ngIf=\"FabrikantenService.ShowVariants()\" class=\"multiplevariants\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Multiple variants\") }}\r\n <div>\r\n <ul>\r\n <li class=\"button\" mat-stroked-button *ngFor=\"let bcbproduct of FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels\">\r\n {{ bcbproduct.name }}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div *ngIf=\"ShowTexture()\" class=\"main-window flex-col\">\r\n <div class=\"image-row\">\r\n <div>\r\n <div class=\"image-header\">{{ TranslateService.GetActiveValue(\"Common\", \"Texture\") }}</div>\r\n <a href=\"{{ TextureService.FabrikantenTextureViewModel.patroonURL }}\" target=\"_blank\">\r\n <img class=\"image\" src=\"{{ TextureService.FabrikantenTextureViewModel.patroonURL }}\" />\r\n </a>\r\n </div>\r\n <div>\r\n <div class=\"image-header\">{{ TranslateService.GetActiveValue(\"Common\", \"Bumpmap\") }}</div>\r\n <a href=\"{{ TextureService.FabrikantenTextureViewModel.bumpURL }}\" target=\"_blank\">\r\n <img class=\"image\" src=\"{{ TextureService.FabrikantenTextureViewModel.bumpURL }}\" />\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"texture-settings\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div class=\"column\">\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenBCBLink()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">open_in_new</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"BCB\") }}\r\n </div>\r\n </div>\r\n </button>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n", styles: [".row{display:flex;line-height:37px}.flex-col{display:flex;flex-direction:column}.image-row{display:flex;gap:30px;padding:30px;align-items:center;justify-content:center}.image-header{text-align:center;font-style:italic}.image{max-width:400px;max-height:calc(100vH - 190px)}.multiplevariants{padding:20px}.loader{position:absolute;width:100%;height:100%;justify-content:center}.column{display:flex;flex-direction:column}.texture-settings{position:absolute;top:10px;right:10px;display:flex}.icon{margin-right:3px}.row-icon{align-items:center;display:flex}.row-title{flex:auto}button{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.button{margin:5px;width:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7$1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i7$1.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: FabLoaderComponent, selector: "app-fab-loader" }] });
9914
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabTextureComponent, decorators: [{
9915
+ type: Component,
9916
+ args: [{ selector: 'app-fab-texture', template: "<div class=\"loader\" *ngIf=\"TextureService.Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div>\r\n <div *ngIf=\"FabrikantenService.ShowVariants()\" class=\"multiplevariants\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Multiple variants\") }}\r\n <div>\r\n <ul>\r\n <li class=\"button\" mat-stroked-button *ngFor=\"let bcbproduct of FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels\">\r\n {{ bcbproduct.name }}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div *ngIf=\"ShowTexture()\" class=\"main-window flex-col\">\r\n <div class=\"image-row\">\r\n <div>\r\n <div class=\"image-header\">{{ TranslateService.GetActiveValue(\"Common\", \"Texture\") }}</div>\r\n <a href=\"{{ TextureService.FabrikantenTextureViewModel.patroonURL }}\" target=\"_blank\">\r\n <img class=\"image\" src=\"{{ TextureService.FabrikantenTextureViewModel.patroonURL }}\" />\r\n </a>\r\n </div>\r\n <div>\r\n <div class=\"image-header\">{{ TranslateService.GetActiveValue(\"Common\", \"Bumpmap\") }}</div>\r\n <a href=\"{{ TextureService.FabrikantenTextureViewModel.bumpURL }}\" target=\"_blank\">\r\n <img class=\"image\" src=\"{{ TextureService.FabrikantenTextureViewModel.bumpURL }}\" />\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"texture-settings\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div class=\"column\">\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenBCBLink()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon\">open_in_new</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"BCB\") }}\r\n </div>\r\n </div>\r\n </button>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n", styles: [".row{display:flex;line-height:37px}.flex-col{display:flex;flex-direction:column}.image-row{display:flex;gap:30px;padding:30px;align-items:center;justify-content:center}.image-header{text-align:center;font-style:italic}.image{max-width:400px;max-height:calc(100vH - 190px)}.multiplevariants{padding:20px}.loader{position:absolute;width:100%;height:100%;justify-content:center}.column{display:flex;flex-direction:column}.texture-settings{position:absolute;top:10px;right:10px;display:flex}.icon{margin-right:3px}.row-icon{align-items:center;display:flex}.row-title{flex:auto}button{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.button{margin:5px;width:100%}\n"] }]
9917
+ }], ctorParameters: function () { return [{ type: FabrikantenService }, { type: TextureService }, { type: TranslateService }, { type: MobileService }, { type: i0.ChangeDetectorRef }]; } });
9918
+
9367
9919
  class FabProductComponent {
9368
9920
  constructor(MobileService, FabrikantenService, BestekService, TranslateService, WebGLService, ActivatedRoute, ChangeDetectorRef) {
9369
9921
  this.MobileService = MobileService;
@@ -9377,16 +9929,22 @@ class FabProductComponent {
9377
9929
  this.TranslateService.ProcessParameters(this.ActivatedRoute);
9378
9930
  }
9379
9931
  ngOnInit() {
9380
- this.FabrikantenService.LoadFabrikantenViewModel(this.ChangeDetectorRef);
9932
+ this.FabrikantenService.LoadFabrikantenViewModel(this.ChangeDetectorRef, this.ActivatedRoute);
9381
9933
  this.TranslateService.LoadTranslations(this.ChangeDetectorRef);
9382
9934
  }
9383
9935
  ngAfterViewInit() {
9384
- this.Height = this.GetHeight();
9385
- this.ChangeDetectorRef.detectChanges();
9936
+ this.UpdateHeight();
9937
+ }
9938
+ ngDoCheck() {
9939
+ this.UpdateHeight();
9386
9940
  }
9387
9941
  Back() {
9388
9942
  this.FabrikantenService.RemoveProductSelection(this.ChangeDetectorRef);
9389
9943
  }
9944
+ UpdateHeight() {
9945
+ this.Height = this.GetHeight();
9946
+ this.ChangeDetectorRef.detectChanges();
9947
+ }
9390
9948
  SelectedTabChange(event) {
9391
9949
  this.FabrikantenService.TabSelectionChanged(event.tab.textLabel, this.ChangeDetectorRef);
9392
9950
  }
@@ -9410,6 +9968,16 @@ class FabProductComponent {
9410
9968
  }
9411
9969
  return false;
9412
9970
  }
9971
+ ShowBreadcrumb() {
9972
+ if (this.FabrikantenService.FabrikantenViewModel != null) {
9973
+ if (this.FabrikantenService.FabrikantenViewModel.hideBreadcrumbInIframe) {
9974
+ if (window.self !== window.top) {
9975
+ return false;
9976
+ }
9977
+ }
9978
+ }
9979
+ return true;
9980
+ }
9413
9981
  GetHeight() {
9414
9982
  var height = 0;
9415
9983
  if (this.header != undefined) {
@@ -9419,10 +9987,10 @@ class FabProductComponent {
9419
9987
  }
9420
9988
  }
9421
9989
  FabProductComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabProductComponent, deps: [{ token: MobileService }, { token: FabrikantenService }, { token: BestekService }, { token: TranslateService }, { token: WebGLService }, { token: i1$1.ActivatedRoute }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
9422
- FabProductComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: FabProductComponent, selector: "app-fab-product", viewQueries: [{ propertyName: "header", first: true, predicate: ["header"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"FabrikantenService.Loading\" class=\"loader\">\r\n <mat-card class=\"loader-card\">\r\n <mat-card-content>\r\n <mat-spinner class=\"loader-spinner\" [diameter]=\"80\"></mat-spinner>\r\n </mat-card-content>\r\n <mat-card-subtitle class=\"loader-subtitle\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Products loading\") }}\r\n </mat-card-subtitle>\r\n </mat-card>\r\n</div>\r\n\r\n<mat-drawer-container class=\"view-container\" *ngIf=\"FabrikantenService.FabrikantenViewModel != null\">\r\n <mat-drawer #drawer [mode]=\"MobileService.NavMode\" [(opened)]=\"MobileService.NavOpened\">\r\n <div class=\"filter-view\">\r\n <fab-filters-input></fab-filters-input>\r\n </div>\r\n </mat-drawer>\r\n <mat-drawer-content class=\"view-content\">\r\n <div #header>\r\n <app-fab-header [showfiltermenubutton]=\"true\"></app-fab-header>\r\n </div>\r\n\r\n <div [style.height]=\"Height\">\r\n <mat-tab-group class=\"view-container\" (selectedTabChange)=\"SelectedTabChange($event)\">\r\n <mat-tab label=\"Informatie\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Information\") }}</span>\r\n </ng-template>\r\n <app-fab-product-info></app-fab-product-info>\r\n </mat-tab>\r\n <mat-tab label=\"3D\" *ngIf=\"Show3D()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"3D\") }}</span>\r\n </ng-template>\r\n <app-fab-webgl-viewer></app-fab-webgl-viewer>\r\n </mat-tab>\r\n <mat-tab label=\"2D\" *ngIf=\"Show2D()\" style=\"height: 100%;\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"2D\") }}</span>\r\n </ng-template>\r\n <app-fab-svg-viewer></app-fab-svg-viewer>\r\n </mat-tab>\r\n <mat-tab label=\"Bestek\" *ngIf=\"TranslateService.ShowSpecification()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Specification\") }}</span>\r\n </ng-template>\r\n <app-fab-product-bestek></app-fab-product-bestek>\r\n </mat-tab>\r\n </mat-tab-group>\r\n </div>\r\n </mat-drawer-content>\r\n</mat-drawer-container>\r\n\r\n\r\n", styles: ["app-fab-product .tabs{height:100%}app-fab-product .row{display:flex}app-fab-product .loader-card{margin:auto;width:300px}app-fab-product .loader-subtitle{text-align:center}app-fab-product .loader-spinner{margin:auto}app-fab-product .view-container{height:100%}app-fab-product .view-content{background-color:#fff}app-fab-product .loader{position:absolute;display:flex;width:100%;height:100%;align-items:center;z-index:20;background-color:#ffffffb3;top:0;left:0}app-fab-product .filter-view{height:100%;width:300px;min-width:300px;background-color:#fafafa}app-fab-product .product-view{flex:auto}.mat-tab-body-wrapper{height:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7$1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i7$1.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i7$1.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "component", type: i8.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i8.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i8.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: i8$1.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "directive", type: i8$1.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i8$1.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i9.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: FabProductInfoComponent, selector: "app-fab-product-info" }, { kind: "component", type: FabProductBestekComponent, selector: "app-fab-product-bestek" }, { kind: "component", type: FabFiltersInputComponent, selector: "fab-filters-input" }, { kind: "component", type: FabHeaderComponent, selector: "app-fab-header", inputs: ["showfiltermenubutton"] }, { kind: "component", type: FabWebglViewerComponent, selector: "app-fab-webgl-viewer" }, { kind: "component", type: FabSvgViewerComponent, selector: "app-fab-svg-viewer" }], encapsulation: i0.ViewEncapsulation.None });
9990
+ FabProductComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: FabProductComponent, selector: "app-fab-product", viewQueries: [{ propertyName: "header", first: true, predicate: ["header"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"FabrikantenService.Loading\" class=\"loader\">\r\n <mat-card class=\"loader-card\">\r\n <mat-card-content>\r\n <mat-spinner class=\"loader-spinner\" [diameter]=\"80\"></mat-spinner>\r\n </mat-card-content>\r\n <mat-card-subtitle class=\"loader-subtitle\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Products loading\") }}\r\n </mat-card-subtitle>\r\n </mat-card>\r\n</div>\r\n\r\n<mat-drawer-container class=\"view-container\">\r\n <mat-drawer #drawer [mode]=\"MobileService.NavMode\" [(opened)]=\"MobileService.NavOpened\" *ngIf=\"FabrikantenService.FabrikantenViewModel != null\">\r\n <div class=\"filter-view\">\r\n <fab-filters-input></fab-filters-input>\r\n </div>\r\n </mat-drawer>\r\n <mat-drawer-content class=\"view-content\">\r\n <div #header *ngIf=\"ShowBreadcrumb()\">\r\n <app-fab-header [showfiltermenubutton]=\"true\"></app-fab-header>\r\n </div>\r\n\r\n <div [style.height]=\"Height\" *ngIf=\"FabrikantenService.FabrikantenViewModel != null\">\r\n <mat-tab-group class=\"view-container\" (selectedTabChange)=\"SelectedTabChange($event)\">\r\n <mat-tab label=\"Informatie\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Information\") }}</span>\r\n </ng-template>\r\n <app-fab-product-info></app-fab-product-info>\r\n </mat-tab>\r\n <mat-tab label=\"3D\" *ngIf=\"Show3D()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"3D\") }}</span>\r\n </ng-template>\r\n <app-fab-webgl-viewer></app-fab-webgl-viewer>\r\n </mat-tab>\r\n <mat-tab label=\"2D\" *ngIf=\"Show2D()\" style=\"height: 100%;\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"2D\") }}</span>\r\n </ng-template>\r\n <app-fab-svg-viewer></app-fab-svg-viewer>\r\n </mat-tab>\r\n <mat-tab label=\"Bestek\" *ngIf=\"TranslateService.ShowSpecification()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Specification\") }}</span>\r\n </ng-template>\r\n <app-fab-product-bestek></app-fab-product-bestek>\r\n </mat-tab>\r\n <mat-tab label=\"Texture\" *ngIf=\"FabrikantenService.ShowTexture()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Texture\") }}</span>\r\n </ng-template>\r\n <app-fab-texture></app-fab-texture>\r\n </mat-tab>\r\n </mat-tab-group>\r\n </div>\r\n </mat-drawer-content>\r\n</mat-drawer-container>\r\n\r\n\r\n", styles: ["app-fab-product .tabs{height:100%}app-fab-product .row{display:flex}app-fab-product .loader-card{margin:auto;width:300px}app-fab-product .loader-subtitle{text-align:center}app-fab-product .loader-spinner{margin:auto}app-fab-product .view-container{height:100%}app-fab-product .view-content{background-color:#fff}app-fab-product .loader{position:absolute;display:flex;width:100%;height:100%;align-items:center;z-index:20;background-color:#ffffffb3;top:0;left:0}app-fab-product .filter-view{height:100%;width:300px;min-width:300px;background-color:#fafafa}app-fab-product .product-view{flex:auto}.mat-tab-body-wrapper{height:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7$1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i7$1.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i7$1.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "component", type: i8.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i8.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i8.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: i8$1.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "directive", type: i8$1.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i8$1.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i9.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: FabProductInfoComponent, selector: "app-fab-product-info" }, { kind: "component", type: FabProductBestekComponent, selector: "app-fab-product-bestek" }, { kind: "component", type: FabFiltersInputComponent, selector: "fab-filters-input" }, { kind: "component", type: FabHeaderComponent, selector: "app-fab-header", inputs: ["showfiltermenubutton"] }, { kind: "component", type: FabWebglViewerComponent, selector: "app-fab-webgl-viewer" }, { kind: "component", type: FabSvgViewerComponent, selector: "app-fab-svg-viewer" }, { kind: "component", type: FabTextureComponent, selector: "app-fab-texture" }], encapsulation: i0.ViewEncapsulation.None });
9423
9991
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabProductComponent, decorators: [{
9424
9992
  type: Component,
9425
- args: [{ selector: 'app-fab-product', encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"FabrikantenService.Loading\" class=\"loader\">\r\n <mat-card class=\"loader-card\">\r\n <mat-card-content>\r\n <mat-spinner class=\"loader-spinner\" [diameter]=\"80\"></mat-spinner>\r\n </mat-card-content>\r\n <mat-card-subtitle class=\"loader-subtitle\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Products loading\") }}\r\n </mat-card-subtitle>\r\n </mat-card>\r\n</div>\r\n\r\n<mat-drawer-container class=\"view-container\" *ngIf=\"FabrikantenService.FabrikantenViewModel != null\">\r\n <mat-drawer #drawer [mode]=\"MobileService.NavMode\" [(opened)]=\"MobileService.NavOpened\">\r\n <div class=\"filter-view\">\r\n <fab-filters-input></fab-filters-input>\r\n </div>\r\n </mat-drawer>\r\n <mat-drawer-content class=\"view-content\">\r\n <div #header>\r\n <app-fab-header [showfiltermenubutton]=\"true\"></app-fab-header>\r\n </div>\r\n\r\n <div [style.height]=\"Height\">\r\n <mat-tab-group class=\"view-container\" (selectedTabChange)=\"SelectedTabChange($event)\">\r\n <mat-tab label=\"Informatie\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Information\") }}</span>\r\n </ng-template>\r\n <app-fab-product-info></app-fab-product-info>\r\n </mat-tab>\r\n <mat-tab label=\"3D\" *ngIf=\"Show3D()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"3D\") }}</span>\r\n </ng-template>\r\n <app-fab-webgl-viewer></app-fab-webgl-viewer>\r\n </mat-tab>\r\n <mat-tab label=\"2D\" *ngIf=\"Show2D()\" style=\"height: 100%;\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"2D\") }}</span>\r\n </ng-template>\r\n <app-fab-svg-viewer></app-fab-svg-viewer>\r\n </mat-tab>\r\n <mat-tab label=\"Bestek\" *ngIf=\"TranslateService.ShowSpecification()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Specification\") }}</span>\r\n </ng-template>\r\n <app-fab-product-bestek></app-fab-product-bestek>\r\n </mat-tab>\r\n </mat-tab-group>\r\n </div>\r\n </mat-drawer-content>\r\n</mat-drawer-container>\r\n\r\n\r\n", styles: ["app-fab-product .tabs{height:100%}app-fab-product .row{display:flex}app-fab-product .loader-card{margin:auto;width:300px}app-fab-product .loader-subtitle{text-align:center}app-fab-product .loader-spinner{margin:auto}app-fab-product .view-container{height:100%}app-fab-product .view-content{background-color:#fff}app-fab-product .loader{position:absolute;display:flex;width:100%;height:100%;align-items:center;z-index:20;background-color:#ffffffb3;top:0;left:0}app-fab-product .filter-view{height:100%;width:300px;min-width:300px;background-color:#fafafa}app-fab-product .product-view{flex:auto}.mat-tab-body-wrapper{height:100%}\n"] }]
9993
+ args: [{ selector: 'app-fab-product', encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"FabrikantenService.Loading\" class=\"loader\">\r\n <mat-card class=\"loader-card\">\r\n <mat-card-content>\r\n <mat-spinner class=\"loader-spinner\" [diameter]=\"80\"></mat-spinner>\r\n </mat-card-content>\r\n <mat-card-subtitle class=\"loader-subtitle\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Products loading\") }}\r\n </mat-card-subtitle>\r\n </mat-card>\r\n</div>\r\n\r\n<mat-drawer-container class=\"view-container\">\r\n <mat-drawer #drawer [mode]=\"MobileService.NavMode\" [(opened)]=\"MobileService.NavOpened\" *ngIf=\"FabrikantenService.FabrikantenViewModel != null\">\r\n <div class=\"filter-view\">\r\n <fab-filters-input></fab-filters-input>\r\n </div>\r\n </mat-drawer>\r\n <mat-drawer-content class=\"view-content\">\r\n <div #header *ngIf=\"ShowBreadcrumb()\">\r\n <app-fab-header [showfiltermenubutton]=\"true\"></app-fab-header>\r\n </div>\r\n\r\n <div [style.height]=\"Height\" *ngIf=\"FabrikantenService.FabrikantenViewModel != null\">\r\n <mat-tab-group class=\"view-container\" (selectedTabChange)=\"SelectedTabChange($event)\">\r\n <mat-tab label=\"Informatie\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Information\") }}</span>\r\n </ng-template>\r\n <app-fab-product-info></app-fab-product-info>\r\n </mat-tab>\r\n <mat-tab label=\"3D\" *ngIf=\"Show3D()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"3D\") }}</span>\r\n </ng-template>\r\n <app-fab-webgl-viewer></app-fab-webgl-viewer>\r\n </mat-tab>\r\n <mat-tab label=\"2D\" *ngIf=\"Show2D()\" style=\"height: 100%;\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"2D\") }}</span>\r\n </ng-template>\r\n <app-fab-svg-viewer></app-fab-svg-viewer>\r\n </mat-tab>\r\n <mat-tab label=\"Bestek\" *ngIf=\"TranslateService.ShowSpecification()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Specification\") }}</span>\r\n </ng-template>\r\n <app-fab-product-bestek></app-fab-product-bestek>\r\n </mat-tab>\r\n <mat-tab label=\"Texture\" *ngIf=\"FabrikantenService.ShowTexture()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Texture\") }}</span>\r\n </ng-template>\r\n <app-fab-texture></app-fab-texture>\r\n </mat-tab>\r\n </mat-tab-group>\r\n </div>\r\n </mat-drawer-content>\r\n</mat-drawer-container>\r\n\r\n\r\n", styles: ["app-fab-product .tabs{height:100%}app-fab-product .row{display:flex}app-fab-product .loader-card{margin:auto;width:300px}app-fab-product .loader-subtitle{text-align:center}app-fab-product .loader-spinner{margin:auto}app-fab-product .view-container{height:100%}app-fab-product .view-content{background-color:#fff}app-fab-product .loader{position:absolute;display:flex;width:100%;height:100%;align-items:center;z-index:20;background-color:#ffffffb3;top:0;left:0}app-fab-product .filter-view{height:100%;width:300px;min-width:300px;background-color:#fafafa}app-fab-product .product-view{flex:auto}.mat-tab-body-wrapper{height:100%}\n"] }]
9426
9994
  }], ctorParameters: function () { return [{ type: MobileService }, { type: FabrikantenService }, { type: BestekService }, { type: TranslateService }, { type: WebGLService }, { type: i1$1.ActivatedRoute }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { header: [{
9427
9995
  type: ViewChild,
9428
9996
  args: ['header']
@@ -9474,7 +10042,7 @@ class FabProductSelectComponent {
9474
10042
  this.FabrikantenService.RemoveProductSelection(this.ChangeDetectorRef);
9475
10043
  }
9476
10044
  ngOnInit() {
9477
- this.FabrikantenService.LoadFabrikantenViewModel(this.ChangeDetectorRef);
10045
+ this.FabrikantenService.LoadFabrikantenViewModel(this.ChangeDetectorRef, null);
9478
10046
  this.TranslateService.LoadTranslations(this.ChangeDetectorRef);
9479
10047
  }
9480
10048
  ngAfterViewInit() {
@@ -9549,7 +10117,7 @@ class FabFiltersComponent {
9549
10117
  }
9550
10118
  ngOnInit() {
9551
10119
  this.MobileService.UpdateScreenSize(window.innerWidth, window.innerHeight, this.ChangeDetectorRef);
9552
- this.FabrikantenService.LoadFabrikantenViewModel(this.ChangeDetectorRef);
10120
+ this.FabrikantenService.LoadFabrikantenViewModel(this.ChangeDetectorRef, null);
9553
10121
  this.TranslateService.LoadTranslations(this.ChangeDetectorRef);
9554
10122
  }
9555
10123
  onResize(event) {
@@ -9582,6 +10150,7 @@ class ProjectSettingService {
9582
10150
  var request = new SetProjectSettingRequestModel();
9583
10151
  request.name = projectsetting.name;
9584
10152
  request.value = projectsetting.defaultValue;
10153
+ request.category = projectsetting.category;
9585
10154
  request.pipelineStep = "Default";
9586
10155
  this.projectSettingApiClient.setProjectSettingModel(request).subscribe((model) => {
9587
10156
  this.Init = false;
@@ -10591,10 +11160,10 @@ class BeheerProductsComponent {
10591
11160
  }
10592
11161
  }
10593
11162
  BeheerProductsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerProductsComponent, deps: [{ token: ProductsService }, { token: ImportSetsService }, { token: ImportApiClient }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
10594
- BeheerProductsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerProductsComponent, selector: "app-beheer-products", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"ProductsService.Loading() || ImportSetsService.LoadingImportSets\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!ProductsService.Loading() && !ImportSetsService.LoadingImportSets\" class=\"main-block\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div class=\"displayflex\">\r\n <div class=\"displayflex\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Import set</mat-label>\r\n <mat-select [(ngModel)]=\"ImportSetsService.BCBImportSetSelected\">\r\n <mat-option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">\r\n {{importset.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n \r\n </div>\r\n\r\n <div>\r\n <button mat-raised-button (click)=\"ProductsService.Reload(this.ChangeDetectorRef)\">\r\n Refresh\r\n </button>\r\n </div>\r\n\r\n <div class=\"flex-auto\" style=\"text-align: right;\">\r\n <button mat-raised-button (click)=\"ResetImport()\">\r\n Reset Import\r\n </button>\r\n <button mat-raised-button (click)=\"Import()\">\r\n Import\r\n </button>\r\n <button mat-raised-button (click)=\"CleanUp()\">\r\n CleanUp\r\n </button>\r\n </div>\r\n </div>\r\n \r\n\r\n \r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div class=\"displayflex\" *ngIf=\"this.ProductsService.ProductsViewModel != undefined\">\r\n <div class=\"tree-block\">\r\n <div class=\"limiter\">\r\n <mat-card>\r\n <mat-card-content>\r\n <table class=\"full-width\">\r\n <tr class=\"table-head\">\r\n <td></td>\r\n <td>Id</td>\r\n <td>Naam</td>\r\n <td>Variants</td>\r\n <td>Importset</td>\r\n </tr>\r\n <ng-container *ngFor=\"let product of this.ProductsService.ProductsViewModel.productViewModels\">\r\n <tr (click)=\"SelectProduct(product)\" class=\"table-row\" [ngClass]=\"{'selected' : ProductsService.ProductViewModel == product, 'warning': !product.imported || !product.connected}\">\r\n <td><span class=\"importspan\">{{ GetImportStatus(product) }}</span></td>\r\n <td>{{ product.id }}</td>\r\n <td>{{ product.name }}</td>\r\n <td>{{ product.bcbProductViewModels.length }}</td>\r\n <td>\r\n <select [(ngModel)]=\"product.importSetId\" (change)=\"SaveProduct(product)\" class=\"full-width\">\r\n <option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">{{importset.name}}</option>\r\n </select>\r\n </td>\r\n </tr>\r\n <ng-container *ngIf=\"ShowBCBProducts(product)\">\r\n <tr>\r\n <td>&nbsp;</td>\r\n </tr>\r\n <tr *ngFor=\"let bcbproduct of ProductsService.ProductViewModel.bcbProductViewModels\" class=\"table-row\" [ngClass]=\"{'selected' : ProductsService.BCBProductViewModel == bcbproduct, 'warning': !bcbproduct.imported || !bcbproduct.connected}\" (click)=\"SelectBCBProduct(bcbproduct)\">\r\n <td><span class=\"importspan\">{{ bcbproduct.importStatus }}</span></td>\r\n <td>{{ bcbproduct.id }}</td>\r\n <td colspan=\"3\">{{ bcbproduct.name }}</td>\r\n </tr>\r\n <tr>\r\n <td>&nbsp;</td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"main-content\">\r\n <div class=\"limiter\">\r\n <app-beheer-products-product *ngIf=\"ProductsService.ProductViewModel != undefined && ProductsService.BCBProductViewModel == undefined\" [ProductViewModel]=\"ProductsService.ProductViewModel\"></app-beheer-products-product>\r\n <app-beheer-products-bcbproduct *ngIf=\"ProductsService.BCBProductViewModel != undefined\" [BCBProductViewModel]=\"ProductsService.BCBProductViewModel\"></app-beheer-products-bcbproduct>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".full-width{width:100%}.full-height{height:100%}.table-head td{font-weight:700;border-bottom:2px solid #000}.table-row td{border-bottom:1px solid #000;cursor:pointer}.warning{background-color:#f08080}.table-row:hover{background-color:#d3d3d3}.limiter{max-height:calc(100vh - 179px);overflow:auto}.selected{background-color:#add8e6!important}.importspan{margin-left:5px;font-weight:700}.main-block{padding:10px;height:calc(100vh - 66px);overflow:auto}.main-content{padding:5px;flex:auto;width:50%}.tree-block{padding:5px;flex:auto;width:50%;max-height:calc(100vh - 66px)}.example-tree-invisible{display:none}.example-tree ul,.example-tree li{margin-top:0;margin-bottom:0;list-style-type:none}.example-tree .mat-nested-tree-node div[role=group]{padding-left:40px}.example-tree div[role=group]>.mat-tree-node{padding-left:40px}.displayflex{display:flex}.flex-auto{flex:auto}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i6.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i6.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7$1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i7$1.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: i9$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i10.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: BeheerNavComponent, selector: "app-beheer-nav" }, { kind: "component", type: FabLoaderComponent, selector: "app-fab-loader" }, { kind: "component", type: BeheerProductsProductComponent, selector: "app-beheer-products-product", inputs: ["ProductViewModel"] }, { kind: "component", type: BeheerProductsBcbproductComponent, selector: "app-beheer-products-bcbproduct", inputs: ["BCBProductViewModel"] }] });
11163
+ BeheerProductsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerProductsComponent, selector: "app-beheer-products", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"ProductsService.Loading() || ImportSetsService.LoadingImportSets\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!ProductsService.Loading() && !ImportSetsService.LoadingImportSets\" class=\"main-block\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div class=\"displayflex gap\">\r\n <div class=\"displayflex flex-auto gap\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Import set</mat-label>\r\n <mat-select [(ngModel)]=\"ImportSetsService.BCBImportSetSelected\">\r\n <mat-option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">\r\n {{importset.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <button mat-raised-button (click)=\"ProductsService.Reload(this.ChangeDetectorRef)\">\r\n Refresh\r\n </button>\r\n </div>\r\n\r\n <div class=\"displayflex gap\" style=\"text-align: right;\">\r\n <button mat-raised-button (click)=\"ResetImport()\">\r\n Reset Import\r\n </button>\r\n <button mat-raised-button (click)=\"Import()\">\r\n Import\r\n </button>\r\n <button mat-raised-button (click)=\"CleanUp()\">\r\n CleanUp\r\n </button>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div class=\"displayflex\" *ngIf=\"this.ProductsService.ProductsViewModel != undefined\">\r\n <div class=\"tree-block\">\r\n <div class=\"limiter\">\r\n <mat-card>\r\n <mat-card-content>\r\n <table class=\"full-width\">\r\n <tr class=\"table-head\">\r\n <td></td>\r\n <td>Id</td>\r\n <td>Naam</td>\r\n <td>Variants</td>\r\n <td>Importset</td>\r\n </tr>\r\n <ng-container *ngFor=\"let product of this.ProductsService.ProductsViewModel.productViewModels\">\r\n <tr (click)=\"SelectProduct(product)\" class=\"table-row\" [ngClass]=\"{'selected' : ProductsService.ProductViewModel == product, 'warning': !product.imported || !product.connected}\">\r\n <td><span class=\"importspan\">{{ GetImportStatus(product) }}</span></td>\r\n <td>{{ product.id }}</td>\r\n <td>{{ product.name }}</td>\r\n <td>{{ product.bcbProductViewModels.length }}</td>\r\n <td>\r\n <select [(ngModel)]=\"product.importSetId\" (change)=\"SaveProduct(product)\" class=\"full-width\">\r\n <option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">{{importset.name}}</option>\r\n </select>\r\n </td>\r\n </tr>\r\n <ng-container *ngIf=\"ShowBCBProducts(product)\">\r\n <tr>\r\n <td>&nbsp;</td>\r\n </tr>\r\n <tr *ngFor=\"let bcbproduct of ProductsService.ProductViewModel.bcbProductViewModels\" class=\"table-row\" [ngClass]=\"{'selected' : ProductsService.BCBProductViewModel == bcbproduct, 'warning': !bcbproduct.imported || !bcbproduct.connected}\" (click)=\"SelectBCBProduct(bcbproduct)\">\r\n <td><span class=\"importspan\">{{ bcbproduct.importStatus }}</span></td>\r\n <td>{{ bcbproduct.id }}</td>\r\n <td colspan=\"3\">{{ bcbproduct.name }}</td>\r\n </tr>\r\n <tr>\r\n <td>&nbsp;</td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"main-content\">\r\n <div class=\"limiter\">\r\n <app-beheer-products-product *ngIf=\"ProductsService.ProductViewModel != undefined && ProductsService.BCBProductViewModel == undefined\" [ProductViewModel]=\"ProductsService.ProductViewModel\"></app-beheer-products-product>\r\n <app-beheer-products-bcbproduct *ngIf=\"ProductsService.BCBProductViewModel != undefined\" [BCBProductViewModel]=\"ProductsService.BCBProductViewModel\"></app-beheer-products-bcbproduct>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".full-width{width:100%}.full-height{height:100%}.gap{gap:3px}.table-head td{font-weight:700;border-bottom:2px solid #000}.table-row td{border-bottom:1px solid #000;cursor:pointer}.warning{background-color:#f08080}.table-row:hover{background-color:#d3d3d3}.limiter{max-height:calc(100vh - 179px);overflow:auto}.selected{background-color:#add8e6!important}.importspan{margin-left:5px;font-weight:700}.main-block{padding:10px;height:calc(100vh - 66px);overflow:auto}.main-content{padding:5px;flex:auto;width:50%}.tree-block{padding:5px;flex:auto;width:50%;max-height:calc(100vh - 66px)}.example-tree-invisible{display:none}.example-tree ul,.example-tree li{margin-top:0;margin-bottom:0;list-style-type:none}.example-tree .mat-nested-tree-node div[role=group]{padding-left:40px}.example-tree div[role=group]>.mat-tree-node{padding-left:40px}.displayflex{display:flex}.flex-auto{flex:auto}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i6.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i6.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7$1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i7$1.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: i9$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i10.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: BeheerNavComponent, selector: "app-beheer-nav" }, { kind: "component", type: FabLoaderComponent, selector: "app-fab-loader" }, { kind: "component", type: BeheerProductsProductComponent, selector: "app-beheer-products-product", inputs: ["ProductViewModel"] }, { kind: "component", type: BeheerProductsBcbproductComponent, selector: "app-beheer-products-bcbproduct", inputs: ["BCBProductViewModel"] }] });
10595
11164
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerProductsComponent, decorators: [{
10596
11165
  type: Component,
10597
- args: [{ selector: 'app-beheer-products', template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"ProductsService.Loading() || ImportSetsService.LoadingImportSets\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!ProductsService.Loading() && !ImportSetsService.LoadingImportSets\" class=\"main-block\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div class=\"displayflex\">\r\n <div class=\"displayflex\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Import set</mat-label>\r\n <mat-select [(ngModel)]=\"ImportSetsService.BCBImportSetSelected\">\r\n <mat-option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">\r\n {{importset.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n \r\n </div>\r\n\r\n <div>\r\n <button mat-raised-button (click)=\"ProductsService.Reload(this.ChangeDetectorRef)\">\r\n Refresh\r\n </button>\r\n </div>\r\n\r\n <div class=\"flex-auto\" style=\"text-align: right;\">\r\n <button mat-raised-button (click)=\"ResetImport()\">\r\n Reset Import\r\n </button>\r\n <button mat-raised-button (click)=\"Import()\">\r\n Import\r\n </button>\r\n <button mat-raised-button (click)=\"CleanUp()\">\r\n CleanUp\r\n </button>\r\n </div>\r\n </div>\r\n \r\n\r\n \r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div class=\"displayflex\" *ngIf=\"this.ProductsService.ProductsViewModel != undefined\">\r\n <div class=\"tree-block\">\r\n <div class=\"limiter\">\r\n <mat-card>\r\n <mat-card-content>\r\n <table class=\"full-width\">\r\n <tr class=\"table-head\">\r\n <td></td>\r\n <td>Id</td>\r\n <td>Naam</td>\r\n <td>Variants</td>\r\n <td>Importset</td>\r\n </tr>\r\n <ng-container *ngFor=\"let product of this.ProductsService.ProductsViewModel.productViewModels\">\r\n <tr (click)=\"SelectProduct(product)\" class=\"table-row\" [ngClass]=\"{'selected' : ProductsService.ProductViewModel == product, 'warning': !product.imported || !product.connected}\">\r\n <td><span class=\"importspan\">{{ GetImportStatus(product) }}</span></td>\r\n <td>{{ product.id }}</td>\r\n <td>{{ product.name }}</td>\r\n <td>{{ product.bcbProductViewModels.length }}</td>\r\n <td>\r\n <select [(ngModel)]=\"product.importSetId\" (change)=\"SaveProduct(product)\" class=\"full-width\">\r\n <option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">{{importset.name}}</option>\r\n </select>\r\n </td>\r\n </tr>\r\n <ng-container *ngIf=\"ShowBCBProducts(product)\">\r\n <tr>\r\n <td>&nbsp;</td>\r\n </tr>\r\n <tr *ngFor=\"let bcbproduct of ProductsService.ProductViewModel.bcbProductViewModels\" class=\"table-row\" [ngClass]=\"{'selected' : ProductsService.BCBProductViewModel == bcbproduct, 'warning': !bcbproduct.imported || !bcbproduct.connected}\" (click)=\"SelectBCBProduct(bcbproduct)\">\r\n <td><span class=\"importspan\">{{ bcbproduct.importStatus }}</span></td>\r\n <td>{{ bcbproduct.id }}</td>\r\n <td colspan=\"3\">{{ bcbproduct.name }}</td>\r\n </tr>\r\n <tr>\r\n <td>&nbsp;</td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"main-content\">\r\n <div class=\"limiter\">\r\n <app-beheer-products-product *ngIf=\"ProductsService.ProductViewModel != undefined && ProductsService.BCBProductViewModel == undefined\" [ProductViewModel]=\"ProductsService.ProductViewModel\"></app-beheer-products-product>\r\n <app-beheer-products-bcbproduct *ngIf=\"ProductsService.BCBProductViewModel != undefined\" [BCBProductViewModel]=\"ProductsService.BCBProductViewModel\"></app-beheer-products-bcbproduct>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".full-width{width:100%}.full-height{height:100%}.table-head td{font-weight:700;border-bottom:2px solid #000}.table-row td{border-bottom:1px solid #000;cursor:pointer}.warning{background-color:#f08080}.table-row:hover{background-color:#d3d3d3}.limiter{max-height:calc(100vh - 179px);overflow:auto}.selected{background-color:#add8e6!important}.importspan{margin-left:5px;font-weight:700}.main-block{padding:10px;height:calc(100vh - 66px);overflow:auto}.main-content{padding:5px;flex:auto;width:50%}.tree-block{padding:5px;flex:auto;width:50%;max-height:calc(100vh - 66px)}.example-tree-invisible{display:none}.example-tree ul,.example-tree li{margin-top:0;margin-bottom:0;list-style-type:none}.example-tree .mat-nested-tree-node div[role=group]{padding-left:40px}.example-tree div[role=group]>.mat-tree-node{padding-left:40px}.displayflex{display:flex}.flex-auto{flex:auto}\n"] }]
11166
+ args: [{ selector: 'app-beheer-products', template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"ProductsService.Loading() || ImportSetsService.LoadingImportSets\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!ProductsService.Loading() && !ImportSetsService.LoadingImportSets\" class=\"main-block\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div class=\"displayflex gap\">\r\n <div class=\"displayflex flex-auto gap\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Import set</mat-label>\r\n <mat-select [(ngModel)]=\"ImportSetsService.BCBImportSetSelected\">\r\n <mat-option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">\r\n {{importset.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <button mat-raised-button (click)=\"ProductsService.Reload(this.ChangeDetectorRef)\">\r\n Refresh\r\n </button>\r\n </div>\r\n\r\n <div class=\"displayflex gap\" style=\"text-align: right;\">\r\n <button mat-raised-button (click)=\"ResetImport()\">\r\n Reset Import\r\n </button>\r\n <button mat-raised-button (click)=\"Import()\">\r\n Import\r\n </button>\r\n <button mat-raised-button (click)=\"CleanUp()\">\r\n CleanUp\r\n </button>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div class=\"displayflex\" *ngIf=\"this.ProductsService.ProductsViewModel != undefined\">\r\n <div class=\"tree-block\">\r\n <div class=\"limiter\">\r\n <mat-card>\r\n <mat-card-content>\r\n <table class=\"full-width\">\r\n <tr class=\"table-head\">\r\n <td></td>\r\n <td>Id</td>\r\n <td>Naam</td>\r\n <td>Variants</td>\r\n <td>Importset</td>\r\n </tr>\r\n <ng-container *ngFor=\"let product of this.ProductsService.ProductsViewModel.productViewModels\">\r\n <tr (click)=\"SelectProduct(product)\" class=\"table-row\" [ngClass]=\"{'selected' : ProductsService.ProductViewModel == product, 'warning': !product.imported || !product.connected}\">\r\n <td><span class=\"importspan\">{{ GetImportStatus(product) }}</span></td>\r\n <td>{{ product.id }}</td>\r\n <td>{{ product.name }}</td>\r\n <td>{{ product.bcbProductViewModels.length }}</td>\r\n <td>\r\n <select [(ngModel)]=\"product.importSetId\" (change)=\"SaveProduct(product)\" class=\"full-width\">\r\n <option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">{{importset.name}}</option>\r\n </select>\r\n </td>\r\n </tr>\r\n <ng-container *ngIf=\"ShowBCBProducts(product)\">\r\n <tr>\r\n <td>&nbsp;</td>\r\n </tr>\r\n <tr *ngFor=\"let bcbproduct of ProductsService.ProductViewModel.bcbProductViewModels\" class=\"table-row\" [ngClass]=\"{'selected' : ProductsService.BCBProductViewModel == bcbproduct, 'warning': !bcbproduct.imported || !bcbproduct.connected}\" (click)=\"SelectBCBProduct(bcbproduct)\">\r\n <td><span class=\"importspan\">{{ bcbproduct.importStatus }}</span></td>\r\n <td>{{ bcbproduct.id }}</td>\r\n <td colspan=\"3\">{{ bcbproduct.name }}</td>\r\n </tr>\r\n <tr>\r\n <td>&nbsp;</td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"main-content\">\r\n <div class=\"limiter\">\r\n <app-beheer-products-product *ngIf=\"ProductsService.ProductViewModel != undefined && ProductsService.BCBProductViewModel == undefined\" [ProductViewModel]=\"ProductsService.ProductViewModel\"></app-beheer-products-product>\r\n <app-beheer-products-bcbproduct *ngIf=\"ProductsService.BCBProductViewModel != undefined\" [BCBProductViewModel]=\"ProductsService.BCBProductViewModel\"></app-beheer-products-bcbproduct>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".full-width{width:100%}.full-height{height:100%}.gap{gap:3px}.table-head td{font-weight:700;border-bottom:2px solid #000}.table-row td{border-bottom:1px solid #000;cursor:pointer}.warning{background-color:#f08080}.table-row:hover{background-color:#d3d3d3}.limiter{max-height:calc(100vh - 179px);overflow:auto}.selected{background-color:#add8e6!important}.importspan{margin-left:5px;font-weight:700}.main-block{padding:10px;height:calc(100vh - 66px);overflow:auto}.main-content{padding:5px;flex:auto;width:50%}.tree-block{padding:5px;flex:auto;width:50%;max-height:calc(100vh - 66px)}.example-tree-invisible{display:none}.example-tree ul,.example-tree li{margin-top:0;margin-bottom:0;list-style-type:none}.example-tree .mat-nested-tree-node div[role=group]{padding-left:40px}.example-tree div[role=group]>.mat-tree-node{padding-left:40px}.displayflex{display:flex}.flex-auto{flex:auto}\n"] }]
10598
11167
  }], ctorParameters: function () { return [{ type: ProductsService }, { type: ImportSetsService }, { type: ImportApiClient }, { type: i0.ChangeDetectorRef }]; } });
10599
11168
 
10600
11169
  class BeheerFiltersComponent {
@@ -10693,6 +11262,24 @@ class BeheerFiltersComponent {
10693
11262
  Open(filter) {
10694
11263
  this.FilterViewModel = filter;
10695
11264
  }
11265
+ Sort() {
11266
+ if (this.FilterViewModel != null) {
11267
+ this.LoadingFilters = true;
11268
+ var request = new MoveFilterRequest();
11269
+ request.filterId = this.FilterViewModel.id;
11270
+ this.FiltersApiClient.sortFilter(request).subscribe(() => {
11271
+ this.LoadFilters();
11272
+ }, (error) => {
11273
+ if (error.status == 400)
11274
+ console.log(error.json());
11275
+ else {
11276
+ console.log('An unexpected error occured');
11277
+ console.log(error);
11278
+ }
11279
+ this.LoadingFilters = false;
11280
+ });
11281
+ }
11282
+ }
10696
11283
  LoadFilters() {
10697
11284
  this.LoadingFilters = true;
10698
11285
  this.FiltersApiClient.getFiltersViewModel().subscribe((model) => {
@@ -10717,10 +11304,10 @@ class BeheerFiltersComponent {
10717
11304
  }
10718
11305
  }
10719
11306
  BeheerFiltersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerFiltersComponent, deps: [{ token: FiltersApiClient }], target: i0.ɵɵFactoryTarget.Component });
10720
- BeheerFiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerFiltersComponent, selector: "app-beheer-filters", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"LoadingFilters\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!LoadingFilters\" class=\"main-content\">\r\n <div class=\"displayflex\">\r\n <div>\r\n <mat-card>\r\n <mat-card-content>\r\n <div *ngFor=\"let filter of GetFilters(); let i = index;\" class=\"filter-row\">\r\n <div class=\"displayflex\">\r\n <button mat-raised-button *ngIf=\"FilterViewModel != filter\" (click)=\"Open(filter)\" class=\"flexauto\">{{ filter.name }}</button>\r\n <button *ngIf=\"FilterViewModel == filter\" (click)=\"Open(filter)\" class=\"flexauto\">{{ filter.name }}</button>\r\n <button mat-raised-button [disabled]=\"i == 0\" (click)=\"MoveUp(filter)\">&#8593;</button>\r\n <button mat-raised-button [disabled]=\"(i + 1) == GetFilters().length\" (click)=\"MoveDown(filter)\">&#8595;</button>\r\n </div>\r\n <div class=\"options\">\r\n\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n <div class=\"flexauto\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div *ngIf=\"FilterViewModel != undefined\">\r\n <div class=\"filter-name\">\r\n Name: {{ FilterViewModel.name }}\r\n </div>\r\n <div class=\"filter-options-container\">\r\n <div *ngFor=\"let option of GetFilterOptions(); let i = index;\" class=\"filter-option\">\r\n <div class=\"filter-option-name\">\r\n {{ option.name }}\r\n </div>\r\n <button mat-raised-button [disabled]=\"i == 0\" (click)=\"MoveUpOption(option)\">&#8593;</button>\r\n <button mat-raised-button [disabled]=\"(i + 1) == GetFilterOptions().length\" (click)=\"MoveDownOption(option)\">&#8595;</button>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".displayflex{display:flex;gap:10px}.filter-row{font-size:20px;line-height:30px;margin-bottom:10px}.flexauto{flex:auto}.main-content{padding:10px}.filter-name{font-size:20px;padding:10px;border-bottom:1px solid #000}.filter-option:hover{background-color:gray}.filter-options-container{border:1px solid #000;padding:10px;margin:10px}.filter-option{padding:5px;border-bottom:1px solid #000;display:flex;gap:5px}.filter-option-name{flex:auto;line-height:30px;font-size:20px}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7$1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i7$1.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: BeheerNavComponent, selector: "app-beheer-nav" }, { kind: "component", type: FabLoaderComponent, selector: "app-fab-loader" }] });
11307
+ BeheerFiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerFiltersComponent, selector: "app-beheer-filters", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"LoadingFilters\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!LoadingFilters\" class=\"main-content\">\r\n <div class=\"displayflex\">\r\n <div>\r\n <mat-card>\r\n <mat-card-content>\r\n <div *ngFor=\"let filter of GetFilters(); let i = index;\" class=\"filter-row\">\r\n <div class=\"displayflex\">\r\n <button mat-raised-button *ngIf=\"FilterViewModel != filter\" (click)=\"Open(filter)\" class=\"flexauto\">{{ filter.name }}</button>\r\n <button *ngIf=\"FilterViewModel == filter\" (click)=\"Open(filter)\" class=\"flexauto\">{{ filter.name }}</button>\r\n <button mat-raised-button [disabled]=\"i == 0\" (click)=\"MoveUp(filter)\">&#8593;</button>\r\n <button mat-raised-button [disabled]=\"(i + 1) == GetFilters().length\" (click)=\"MoveDown(filter)\">&#8595;</button>\r\n </div>\r\n <div class=\"options\">\r\n\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n <div class=\"flexauto\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div *ngIf=\"FilterViewModel != undefined\">\r\n <div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n Name: {{ FilterViewModel.name }}\r\n </div>\r\n <div>\r\n <button mat-raised-button (click)=\"Sort()\">Sort</button>\r\n </div>\r\n </div>\r\n <div class=\"filter-options-container\">\r\n <div *ngFor=\"let option of GetFilterOptions(); let i = index;\" class=\"filter-option\">\r\n <div class=\"filter-option-name\">\r\n {{ option.name }}\r\n </div>\r\n <button mat-raised-button [disabled]=\"i == 0\" (click)=\"MoveUpOption(option)\">&#8593;</button>\r\n <button mat-raised-button [disabled]=\"(i + 1) == GetFilterOptions().length\" (click)=\"MoveDownOption(option)\">&#8595;</button>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".displayflex{display:flex;gap:10px}.filter-row{font-size:20px;line-height:30px;margin-bottom:10px}.flexauto{flex:auto}.main-content{padding:10px}.filter-name{font-size:20px;padding:10px;border-bottom:1px solid #000;display:flex}.filter-option:hover{background-color:gray}.filter-options-container{border:1px solid #000;padding:10px;margin:10px}.filter-option{padding:5px;border-bottom:1px solid #000;display:flex;gap:5px}.filter-option-name{flex:auto;line-height:30px;font-size:20px}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7$1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i7$1.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: BeheerNavComponent, selector: "app-beheer-nav" }, { kind: "component", type: FabLoaderComponent, selector: "app-fab-loader" }] });
10721
11308
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerFiltersComponent, decorators: [{
10722
11309
  type: Component,
10723
- args: [{ selector: 'app-beheer-filters', template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"LoadingFilters\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!LoadingFilters\" class=\"main-content\">\r\n <div class=\"displayflex\">\r\n <div>\r\n <mat-card>\r\n <mat-card-content>\r\n <div *ngFor=\"let filter of GetFilters(); let i = index;\" class=\"filter-row\">\r\n <div class=\"displayflex\">\r\n <button mat-raised-button *ngIf=\"FilterViewModel != filter\" (click)=\"Open(filter)\" class=\"flexauto\">{{ filter.name }}</button>\r\n <button *ngIf=\"FilterViewModel == filter\" (click)=\"Open(filter)\" class=\"flexauto\">{{ filter.name }}</button>\r\n <button mat-raised-button [disabled]=\"i == 0\" (click)=\"MoveUp(filter)\">&#8593;</button>\r\n <button mat-raised-button [disabled]=\"(i + 1) == GetFilters().length\" (click)=\"MoveDown(filter)\">&#8595;</button>\r\n </div>\r\n <div class=\"options\">\r\n\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n <div class=\"flexauto\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div *ngIf=\"FilterViewModel != undefined\">\r\n <div class=\"filter-name\">\r\n Name: {{ FilterViewModel.name }}\r\n </div>\r\n <div class=\"filter-options-container\">\r\n <div *ngFor=\"let option of GetFilterOptions(); let i = index;\" class=\"filter-option\">\r\n <div class=\"filter-option-name\">\r\n {{ option.name }}\r\n </div>\r\n <button mat-raised-button [disabled]=\"i == 0\" (click)=\"MoveUpOption(option)\">&#8593;</button>\r\n <button mat-raised-button [disabled]=\"(i + 1) == GetFilterOptions().length\" (click)=\"MoveDownOption(option)\">&#8595;</button>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".displayflex{display:flex;gap:10px}.filter-row{font-size:20px;line-height:30px;margin-bottom:10px}.flexauto{flex:auto}.main-content{padding:10px}.filter-name{font-size:20px;padding:10px;border-bottom:1px solid #000}.filter-option:hover{background-color:gray}.filter-options-container{border:1px solid #000;padding:10px;margin:10px}.filter-option{padding:5px;border-bottom:1px solid #000;display:flex;gap:5px}.filter-option-name{flex:auto;line-height:30px;font-size:20px}\n"] }]
11310
+ args: [{ selector: 'app-beheer-filters', template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"LoadingFilters\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!LoadingFilters\" class=\"main-content\">\r\n <div class=\"displayflex\">\r\n <div>\r\n <mat-card>\r\n <mat-card-content>\r\n <div *ngFor=\"let filter of GetFilters(); let i = index;\" class=\"filter-row\">\r\n <div class=\"displayflex\">\r\n <button mat-raised-button *ngIf=\"FilterViewModel != filter\" (click)=\"Open(filter)\" class=\"flexauto\">{{ filter.name }}</button>\r\n <button *ngIf=\"FilterViewModel == filter\" (click)=\"Open(filter)\" class=\"flexauto\">{{ filter.name }}</button>\r\n <button mat-raised-button [disabled]=\"i == 0\" (click)=\"MoveUp(filter)\">&#8593;</button>\r\n <button mat-raised-button [disabled]=\"(i + 1) == GetFilters().length\" (click)=\"MoveDown(filter)\">&#8595;</button>\r\n </div>\r\n <div class=\"options\">\r\n\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n <div class=\"flexauto\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div *ngIf=\"FilterViewModel != undefined\">\r\n <div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n Name: {{ FilterViewModel.name }}\r\n </div>\r\n <div>\r\n <button mat-raised-button (click)=\"Sort()\">Sort</button>\r\n </div>\r\n </div>\r\n <div class=\"filter-options-container\">\r\n <div *ngFor=\"let option of GetFilterOptions(); let i = index;\" class=\"filter-option\">\r\n <div class=\"filter-option-name\">\r\n {{ option.name }}\r\n </div>\r\n <button mat-raised-button [disabled]=\"i == 0\" (click)=\"MoveUpOption(option)\">&#8593;</button>\r\n <button mat-raised-button [disabled]=\"(i + 1) == GetFilterOptions().length\" (click)=\"MoveDownOption(option)\">&#8595;</button>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".displayflex{display:flex;gap:10px}.filter-row{font-size:20px;line-height:30px;margin-bottom:10px}.flexauto{flex:auto}.main-content{padding:10px}.filter-name{font-size:20px;padding:10px;border-bottom:1px solid #000;display:flex}.filter-option:hover{background-color:gray}.filter-options-container{border:1px solid #000;padding:10px;margin:10px}.filter-option{padding:5px;border-bottom:1px solid #000;display:flex;gap:5px}.filter-option-name{flex:auto;line-height:30px;font-size:20px}\n"] }]
10724
11311
  }], ctorParameters: function () { return [{ type: FiltersApiClient }]; } });
10725
11312
 
10726
11313
  class BeheerSettingsOptionsComponent {
@@ -11380,7 +11967,7 @@ class BeheerProductsKoppelFilteroptionDailogComponent {
11380
11967
  }
11381
11968
  ngOnInit() {
11382
11969
  this.LoadFilters();
11383
- this.LoadOpties();
11970
+ //this.LoadOpties();
11384
11971
  }
11385
11972
  handleKeyUpFilter(e) {
11386
11973
  if (e.keyCode === 13) {
@@ -11460,7 +12047,7 @@ class BeheerProductsKoppelFilteroptionDailogComponent {
11460
12047
  this.dialogRef.close({ filter: this.FilterSelected, filteroption: null });
11461
12048
  }
11462
12049
  Loading() {
11463
- return this.LoadingOpties || this.LoadingFilters;
12050
+ return this.LoadingFilters;
11464
12051
  }
11465
12052
  LoadFilters() {
11466
12053
  this.LoadingFilters = true;
@@ -11517,6 +12104,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
11517
12104
 
11518
12105
  class BeheerConnectCategoryDialogComponent {
11519
12106
  constructor(dialogRef, data, CategoriesApiClient) {
12107
+ //this.DOType = data.dotype;
12108
+ //this.DONaam = data.donaam;
11520
12109
  this.dialogRef = dialogRef;
11521
12110
  this.data = data;
11522
12111
  this.CategoriesApiClient = CategoriesApiClient;
@@ -11524,9 +12113,7 @@ class BeheerConnectCategoryDialogComponent {
11524
12113
  this.DOType = "DOType";
11525
12114
  this.DONaam = "DONaam";
11526
12115
  this.CategoryName = "";
11527
- this.DOType = data.dotype;
11528
- this.DONaam = data.donaam;
11529
- this.CategoryName = data.donaam;
12116
+ //this.CategoryName = data.donaam;
11530
12117
  }
11531
12118
  ngOnInit() {
11532
12119
  this.LoadCategories();
@@ -11568,10 +12155,10 @@ class BeheerConnectCategoryDialogComponent {
11568
12155
  }
11569
12156
  }
11570
12157
  BeheerConnectCategoryDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerConnectCategoryDialogComponent, deps: [{ token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: CategoriesApiClient }], target: i0.ɵɵFactoryTarget.Component });
11571
- BeheerConnectCategoryDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerConnectCategoryDialogComponent, selector: "app-beheer-connect-category-dialog", ngImport: i0, template: "<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\">\r\n <mat-tab-group>\r\n <mat-tab label=\"Nieuw\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>{{ DOType }}</mat-label>\r\n <input matInput [(ngModel)]=\"DONaam\" readonly>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput [(ngModel)]=\"CategoryName\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"Nieuw()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Bestaand\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>{{ DOType }}</mat-label>\r\n <input matInput [(ngModel)]=\"DONaam\" readonly>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Category</mat-label>\r\n <mat-select [(ngModel)]=\"CategorySelected\">\r\n <mat-option *ngFor=\"let category of CategoriesViewModel.categories\" [value]=\"category.id\">\r\n {{category.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"Bestaand()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8$1.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "component", type: i8$1.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i9$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i10.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: FabLoaderComponent, selector: "app-fab-loader" }] });
12158
+ BeheerConnectCategoryDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerConnectCategoryDialogComponent, selector: "app-beheer-connect-category-dialog", ngImport: i0, template: "<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\">\r\n <mat-tab-group>\r\n <mat-tab label=\"Nieuw\">\r\n <div class=\"bar\">\r\n <!--<mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>{{ DOType }}</mat-label>\r\n <input matInput [(ngModel)]=\"DONaam\" readonly>\r\n </mat-form-field>-->\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput [(ngModel)]=\"CategoryName\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"Nieuw()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Bestaand\">\r\n <div class=\"bar\">\r\n <!--<mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>{{ DOType }}</mat-label>\r\n <input matInput [(ngModel)]=\"DONaam\" readonly>\r\n </mat-form-field>-->\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Category</mat-label>\r\n <mat-select [(ngModel)]=\"CategorySelected\">\r\n <mat-option *ngFor=\"let category of CategoriesViewModel.categories\" [value]=\"category.id\">\r\n {{category.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"Bestaand()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8$1.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "component", type: i8$1.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i9$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i10.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: FabLoaderComponent, selector: "app-fab-loader" }] });
11572
12159
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerConnectCategoryDialogComponent, decorators: [{
11573
12160
  type: Component,
11574
- args: [{ selector: 'app-beheer-connect-category-dialog', template: "<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\">\r\n <mat-tab-group>\r\n <mat-tab label=\"Nieuw\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>{{ DOType }}</mat-label>\r\n <input matInput [(ngModel)]=\"DONaam\" readonly>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput [(ngModel)]=\"CategoryName\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"Nieuw()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Bestaand\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>{{ DOType }}</mat-label>\r\n <input matInput [(ngModel)]=\"DONaam\" readonly>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Category</mat-label>\r\n <mat-select [(ngModel)]=\"CategorySelected\">\r\n <mat-option *ngFor=\"let category of CategoriesViewModel.categories\" [value]=\"category.id\">\r\n {{category.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"Bestaand()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n</div>\r\n" }]
12161
+ args: [{ selector: 'app-beheer-connect-category-dialog', template: "<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\">\r\n <mat-tab-group>\r\n <mat-tab label=\"Nieuw\">\r\n <div class=\"bar\">\r\n <!--<mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>{{ DOType }}</mat-label>\r\n <input matInput [(ngModel)]=\"DONaam\" readonly>\r\n </mat-form-field>-->\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput [(ngModel)]=\"CategoryName\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"Nieuw()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Bestaand\">\r\n <div class=\"bar\">\r\n <!--<mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>{{ DOType }}</mat-label>\r\n <input matInput [(ngModel)]=\"DONaam\" readonly>\r\n </mat-form-field>-->\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Category</mat-label>\r\n <mat-select [(ngModel)]=\"CategorySelected\">\r\n <mat-option *ngFor=\"let category of CategoriesViewModel.categories\" [value]=\"category.id\">\r\n {{category.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"Bestaand()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n</div>\r\n" }]
11575
12162
  }], ctorParameters: function () { return [{ type: i1$3.MatDialogRef }, { type: undefined, decorators: [{
11576
12163
  type: Inject,
11577
12164
  args: [MAT_DIALOG_DATA]
@@ -11592,50 +12179,61 @@ class BeheerEboKoppelComponent {
11592
12179
  return this.ImportSetsService.LoadingImportSets || this.LoadingModel;
11593
12180
  }
11594
12181
  Connect(id) {
11595
- var dialogRef = this.dialog.open(BeheerProductsKoppelFilteroptionDailogComponent);
12182
+ var dialogRef = this.dialog.open(BeheerSelectFilterDialogComponent, {
12183
+ data: {}
12184
+ });
11596
12185
  dialogRef.afterClosed().subscribe((result) => {
11597
- if (result != null) {
11598
- if (result.filteroption != null && result.filteroption > 0) {
11599
- this.LoadingModel = true;
11600
- var request = new KoppelEBOOptieRequest();
11601
- request.bcbebodoId = id;
11602
- request.filterOptionId = result.filteroption;
11603
- request.bcbImportSetId = -1;
11604
- this.EBOKoppelApiClient.koppelEBOOptie(request).subscribe((model) => {
11605
- this.LoadModel();
11606
- }, (error) => {
11607
- alert(error);
11608
- });
11609
- }
11610
- else if (result.filter != null) {
11611
- //var request2 = new KoppelManyNameRequest();
11612
- //request2.bcbProductEigenschapOptieId = id;
11613
- //request2.filterId = result.filter;
11614
- //this.ProductsApiClient.koppelManyName(request2).subscribe((model: KoppelManyNameResponse) => {
11615
- // this.ProductsService.Reload();
11616
- //}, (error: Response) => {
11617
- // alert(error);
11618
- //});
11619
- alert("todo");
12186
+ if (result?.filter != null) {
12187
+ if (result.filter > 0) {
12188
+ if (confirm("Weet je het zeker?")) {
12189
+ this.LoadingModel = true;
12190
+ this.ChangeDetectorRef.detectChanges();
12191
+ var request = new ConnectBCBEBODORequest();
12192
+ request.filterId = result.filter;
12193
+ request.bcbebodoId = id;
12194
+ request.bcbImportSetId = this.ImportSetsService.BCBImportSetSelected;
12195
+ request.all = false;
12196
+ this.EBOKoppelApiClient.connectBCBEBODOFilter(request).subscribe(() => {
12197
+ this.LoadModel();
12198
+ }, (error) => {
12199
+ alert(error);
12200
+ });
12201
+ }
11620
12202
  }
11621
12203
  }
11622
- //if (result != null && result > 0) {
11623
- //}
11624
12204
  });
11625
12205
  }
11626
12206
  ConnectMany(id) {
11627
- //var dialogRef = this.dialog.open(BeheerProductsConnectManynameDialogComponent, {
11628
- // data: {
11629
- // bcbebodoid: id
11630
- // }
11631
- //});
12207
+ var dialogRef = this.dialog.open(BeheerSelectFilterDialogComponent, {
12208
+ data: {}
12209
+ });
12210
+ dialogRef.afterClosed().subscribe((result) => {
12211
+ if (result?.filter != null) {
12212
+ if (result.filter > 0) {
12213
+ if (confirm("Weet je het zeker?")) {
12214
+ this.LoadingModel = true;
12215
+ this.ChangeDetectorRef.detectChanges();
12216
+ var request = new ConnectBCBEBODORequest();
12217
+ request.filterId = result.filter;
12218
+ request.bcbebodoId = id;
12219
+ request.bcbImportSetId = this.ImportSetsService.BCBImportSetSelected;
12220
+ request.all = true;
12221
+ this.EBOKoppelApiClient.connectBCBEBODOFilter(request).subscribe(() => {
12222
+ this.LoadModel();
12223
+ }, (error) => {
12224
+ alert(error);
12225
+ });
12226
+ }
12227
+ }
12228
+ }
12229
+ });
11632
12230
  }
11633
- ConnectCategory(id, dotype, donaam) {
12231
+ ConnectCategory(id) {
11634
12232
  var dialogRef = this.dialog.open(BeheerConnectCategoryDialogComponent, {
11635
- data: {
11636
- dotype: dotype,
11637
- donaam: donaam
11638
- }
12233
+ //data: {
12234
+ // dotype: dotype,
12235
+ // donaam: donaam
12236
+ //}
11639
12237
  });
11640
12238
  dialogRef.afterClosed().subscribe((result) => {
11641
12239
  if (result != null && result > 0) {
@@ -11655,23 +12253,26 @@ class BeheerEboKoppelComponent {
11655
12253
  LoadModel() {
11656
12254
  if (this.ImportSetsService.BCBImportSetSelected > 0) {
11657
12255
  this.LoadingModel = true;
12256
+ this.ChangeDetectorRef.detectChanges();
11658
12257
  var model = new EBOConnectRequestModel();
11659
12258
  model.importSetId = this.ImportSetsService.BCBImportSetSelected;
11660
12259
  this.EBOKoppelApiClient.getEBOKoppelViewModel(model).subscribe((model) => {
11661
12260
  this.EBOKoppelViewModel = model;
11662
12261
  this.LoadingModel = false;
12262
+ this.ChangeDetectorRef.detectChanges();
11663
12263
  });
11664
12264
  }
11665
12265
  else {
11666
12266
  this.LoadingModel = false;
12267
+ this.ChangeDetectorRef.detectChanges();
11667
12268
  }
11668
12269
  }
11669
12270
  }
11670
12271
  BeheerEboKoppelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerEboKoppelComponent, deps: [{ token: EBOKoppelApiClient }, { token: ImportSetsService }, { token: i1$3.MatDialog }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11671
- BeheerEboKoppelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerEboKoppelComponent, selector: "app-beheer-ebo-koppel", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading()\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!Loading()\">\r\n <mat-card>\r\n <mat-card-content>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\" *ngIf=\"!ImportSetsService.LoadingImportSets\">\r\n <mat-label>Import set</mat-label>\r\n <mat-select [(ngModel)]=\"ImportSetsService.BCBImportSetSelected\" (change)=\"LoadModel()\">\r\n <mat-option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">\r\n {{importset.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <button mat-raised-button (click)=\"LoadModel()\">\r\n Refresh\r\n </button>\r\n </mat-card-content>\r\n </mat-card>\r\n <mat-accordion *ngIf=\"EBOKoppelViewModel != null\">\r\n <mat-expansion-panel *ngFor=\"let type of EBOKoppelViewModel.eboKoppelTypeViewModels\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ type.type }}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n {{ type.namen.length }} EBO(s)\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div>\r\n <mat-card *ngFor=\"let do of type.namen\" class=\"card\">\r\n <mat-card-content>\r\n <div class=\"row\">\r\n <div class=\"text-div\">\r\n {{ do.doNaam }}\r\n </div>\r\n <div *ngIf=\"!do.connected\">\r\n <!--<button mat-raised-button (click)=\"Connect(do.id)\">\r\n FilterOption\r\n </button>-->\r\n <!--<button mat-raised-button (click)=\"ConnectMany(do.id)\">\r\n FilterOptionMany\r\n </button>-->\r\n <!--<button mat-raised-button (click)=\"ConnectCategory(do.id, do.doType, do.doNaam)\">\r\n Category\r\n </button>-->\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </mat-expansion-panel>\r\n\r\n </mat-accordion>\r\n</div>\r\n", styles: [".card{margin:3px}.row{display:flex;align-items:center;cursor:pointer}.icon-div{width:24px;height:24px}.text-div{flex:auto}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i3.MatAccordion, selector: "mat-accordion", inputs: ["multi", "hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i3.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i3.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { kind: "directive", type: i3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i3.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "component", type: i7$1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i7$1.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: i9$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i10.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: BeheerNavComponent, selector: "app-beheer-nav" }, { kind: "component", type: FabLoaderComponent, selector: "app-fab-loader" }] });
12272
+ BeheerEboKoppelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerEboKoppelComponent, selector: "app-beheer-ebo-koppel", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading()\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!Loading()\" class=\"main-content\">\r\n <mat-card>\r\n <mat-card-content>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\" *ngIf=\"!ImportSetsService.LoadingImportSets\">\r\n <mat-label>Import set</mat-label>\r\n <mat-select [(ngModel)]=\"ImportSetsService.BCBImportSetSelected\" (change)=\"LoadModel()\">\r\n <mat-option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">\r\n {{importset.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <button mat-raised-button (click)=\"LoadModel()\">\r\n Refresh\r\n </button>\r\n </mat-card-content>\r\n </mat-card>\r\n <br />\r\n <mat-accordion *ngIf=\"EBOKoppelViewModel != null\">\r\n <mat-expansion-panel *ngFor=\"let type of EBOKoppelViewModel.eboKoppelTypeViewModels\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ type.type }}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n {{ type.namen.length }}\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div>\r\n <mat-card *ngFor=\"let naam of type.namen\" class=\"card\">\r\n <mat-card-content>\r\n <div class=\"row\">\r\n <div class=\"text-div\">\r\n {{ naam.doNaam }} ({{ naam.ebOs.length }})\r\n </div>\r\n <div class=\"button-row\">\r\n <button mat-raised-button (click)=\"Connect(naam.ebOs[0].id)\">\r\n FilterOption\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectMany(naam.ebOs[0].id)\">\r\n FilterOptionMany\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectCategory(naam.ebOs[0].id)\">\r\n Category\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let ebo of naam.ebOs\" class=\"row eborow\">\r\n <div class=\"text-div\">\r\n {{ ebo.eboNaam }}\r\n </div>\r\n <div>\r\n <div *ngFor=\"let filteroption of ebo.filterOptions\">\r\n {{ filteroption.filterName }}: {{ filteroption.filterOptionName }}\r\n </div>\r\n\r\n <div *ngFor=\"let category of ebo.categories\">\r\n Category: {{ category.categoryName }}\r\n </div>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </mat-expansion-panel>\r\n\r\n </mat-accordion>\r\n</div>\r\n", styles: [".card{margin:3px}.row{display:flex;align-items:center;cursor:pointer}.eborow{padding:3px;border-bottom:1px solid #000}.main-content{padding:5px}.icon-div{width:24px;height:24px}.text-div{flex:auto}.button-row{display:flex;gap:5px}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i3.MatAccordion, selector: "mat-accordion", inputs: ["multi", "hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i3.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i3.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { kind: "directive", type: i3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i3.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "component", type: i7$1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i7$1.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: i9$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i10.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: BeheerNavComponent, selector: "app-beheer-nav" }, { kind: "component", type: FabLoaderComponent, selector: "app-fab-loader" }] });
11672
12273
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerEboKoppelComponent, decorators: [{
11673
12274
  type: Component,
11674
- args: [{ selector: 'app-beheer-ebo-koppel', template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading()\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!Loading()\">\r\n <mat-card>\r\n <mat-card-content>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\" *ngIf=\"!ImportSetsService.LoadingImportSets\">\r\n <mat-label>Import set</mat-label>\r\n <mat-select [(ngModel)]=\"ImportSetsService.BCBImportSetSelected\" (change)=\"LoadModel()\">\r\n <mat-option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">\r\n {{importset.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <button mat-raised-button (click)=\"LoadModel()\">\r\n Refresh\r\n </button>\r\n </mat-card-content>\r\n </mat-card>\r\n <mat-accordion *ngIf=\"EBOKoppelViewModel != null\">\r\n <mat-expansion-panel *ngFor=\"let type of EBOKoppelViewModel.eboKoppelTypeViewModels\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ type.type }}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n {{ type.namen.length }} EBO(s)\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div>\r\n <mat-card *ngFor=\"let do of type.namen\" class=\"card\">\r\n <mat-card-content>\r\n <div class=\"row\">\r\n <div class=\"text-div\">\r\n {{ do.doNaam }}\r\n </div>\r\n <div *ngIf=\"!do.connected\">\r\n <!--<button mat-raised-button (click)=\"Connect(do.id)\">\r\n FilterOption\r\n </button>-->\r\n <!--<button mat-raised-button (click)=\"ConnectMany(do.id)\">\r\n FilterOptionMany\r\n </button>-->\r\n <!--<button mat-raised-button (click)=\"ConnectCategory(do.id, do.doType, do.doNaam)\">\r\n Category\r\n </button>-->\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </mat-expansion-panel>\r\n\r\n </mat-accordion>\r\n</div>\r\n", styles: [".card{margin:3px}.row{display:flex;align-items:center;cursor:pointer}.icon-div{width:24px;height:24px}.text-div{flex:auto}\n"] }]
12275
+ args: [{ selector: 'app-beheer-ebo-koppel', template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading()\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!Loading()\" class=\"main-content\">\r\n <mat-card>\r\n <mat-card-content>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\" *ngIf=\"!ImportSetsService.LoadingImportSets\">\r\n <mat-label>Import set</mat-label>\r\n <mat-select [(ngModel)]=\"ImportSetsService.BCBImportSetSelected\" (change)=\"LoadModel()\">\r\n <mat-option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">\r\n {{importset.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <button mat-raised-button (click)=\"LoadModel()\">\r\n Refresh\r\n </button>\r\n </mat-card-content>\r\n </mat-card>\r\n <br />\r\n <mat-accordion *ngIf=\"EBOKoppelViewModel != null\">\r\n <mat-expansion-panel *ngFor=\"let type of EBOKoppelViewModel.eboKoppelTypeViewModels\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ type.type }}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n {{ type.namen.length }}\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div>\r\n <mat-card *ngFor=\"let naam of type.namen\" class=\"card\">\r\n <mat-card-content>\r\n <div class=\"row\">\r\n <div class=\"text-div\">\r\n {{ naam.doNaam }} ({{ naam.ebOs.length }})\r\n </div>\r\n <div class=\"button-row\">\r\n <button mat-raised-button (click)=\"Connect(naam.ebOs[0].id)\">\r\n FilterOption\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectMany(naam.ebOs[0].id)\">\r\n FilterOptionMany\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectCategory(naam.ebOs[0].id)\">\r\n Category\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let ebo of naam.ebOs\" class=\"row eborow\">\r\n <div class=\"text-div\">\r\n {{ ebo.eboNaam }}\r\n </div>\r\n <div>\r\n <div *ngFor=\"let filteroption of ebo.filterOptions\">\r\n {{ filteroption.filterName }}: {{ filteroption.filterOptionName }}\r\n </div>\r\n\r\n <div *ngFor=\"let category of ebo.categories\">\r\n Category: {{ category.categoryName }}\r\n </div>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </mat-expansion-panel>\r\n\r\n </mat-accordion>\r\n</div>\r\n", styles: [".card{margin:3px}.row{display:flex;align-items:center;cursor:pointer}.eborow{padding:3px;border-bottom:1px solid #000}.main-content{padding:5px}.icon-div{width:24px;height:24px}.text-div{flex:auto}.button-row{display:flex;gap:5px}\n"] }]
11675
12276
  }], ctorParameters: function () { return [{ type: EBOKoppelApiClient }, { type: ImportSetsService }, { type: i1$3.MatDialog }, { type: i0.ChangeDetectorRef }]; } });
11676
12277
 
11677
12278
  class BeheerCategoriesComponent {
@@ -11714,7 +12315,7 @@ class FabStartComponent {
11714
12315
  //this.router.navigateByUrl('/beheer');
11715
12316
  }
11716
12317
  ngOnInit() {
11717
- this.FabrikantenService.LoadFabrikantenViewModel(this.ChangeDetectorRef);
12318
+ this.FabrikantenService.LoadFabrikantenViewModel(this.ChangeDetectorRef, null);
11718
12319
  this.TranslateService.LoadTranslations(this.ChangeDetectorRef);
11719
12320
  }
11720
12321
  }
@@ -11752,10 +12353,10 @@ class FabCategoryTileComponent {
11752
12353
  }
11753
12354
  }
11754
12355
  FabCategoryTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabCategoryTileComponent, deps: [{ token: FabrikantenService }, { token: i4$2.DomSanitizer }, { token: i0.ChangeDetectorRef }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component });
11755
- FabCategoryTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: FabCategoryTileComponent, selector: "fab-category-tile", inputs: { category: "category" }, ngImport: i0, template: "<mat-card *ngIf=\"!DisplayNoPhoto()\" class=\"tile\" (click)=\"Select()\" [style.backgroundImage]=\"getSafeUrl()\">\n <mat-card-title class=\"title\">\n {{ TranslateService.GetActiveValueCategory(category.id) }}\n </mat-card-title>\n</mat-card>\n<mat-card *ngIf=\"DisplayNoPhoto()\" class=\"tile no-photo\" (click)=\"Select()\">\n <mat-card-title class=\"title\">\n {{ TranslateService.GetActiveValueCategory(category.id) }}\n </mat-card-title>\n</mat-card>\n", styles: [".tile{margin:5px;width:150px;height:250px;cursor:pointer;background-size:contain;background-position:center;background-repeat:no-repeat;position:relative;border:1px solid #EEE}.no-photo{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABdwAAAXcCAMAAAAP67xWAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURe3t7dvb28nJybe3t6qqqpycnJWVlYiIiHx8fHV1dWZmZl1dXVVVVUVFRT09PTMzMyUlJR4eHhEREQICAgAAABQUFCIiIikpKT4+PkRERFRUVFhYWG1tbXd3d4KCgo2NjZ2dna2trb29vc3Nzd3d3e7u7uzs7NTU1Lm5uaKiopCQkH5+fmxsbFtbW0lJSTc3NxMTEwEBARAQECAgIDAwMEBAQFFRUZOTk6urq8LCwtfX1+/v7+np6dLS0qCgoISEhFJSUjo6Oh8fHwcHBxwcHDU1NUtLS2FhYZiYmLW1tfDw8Ojo6MfHx6enp4eHh0ZGRiYmJg4ODisrK6Ghob6+vtzc3Pv7+/b29s/Pz4uLi2tra0pKSioqKgkJCQUFBSQkJEhISI+Pj7Ozs/j4+L+/v3BwcEdHR0NDQ2dnZ9/f3/7+/vz8/NnZ2a+vr2BgYAwMDDQ0NF9fX4mJibS0tN7e3vLy8sTExDY2NgoKCgsLC15eXurq6uXl5bKyshkZGW5ubuDg4KmpqXJycj8/PxISEqampv39/cPDwxgYGA0NDTs7O/T09Lq6un19fTw8PLu7u39/f+Pj45mZma6urmhoaCgoKGVlZczMzAYGBhoaGqioqExMTAMDA9XV1fn5+WJiYhYWFldXV6SkpObm5peXlwgICAQEBJaWlufn5+vr69jY2IODg/X19XFxceTk5DExMff390JCQqWlpdbW1g8PDzg4OCwsLPHx8TIyMs7OzmRkZBsbG4CAgMjIyMvLy1ZWVri4uC4uLvr6+iEhIfPz8xUVFXZ2dtra2uHh4Wpqam9vb8rKytPT0y8vLx0dHTk5Oba2tsXFxbGxsUFBQRcXF5KSkpSUlIyMjC0tLYaGhk1NTVxcXE9PT8DAwJGRkVBQUKOjo4WFhVpaWtHR0Xh4eHl5edDQ0FNTU5+fn8HBwYqKiry8vCcnJyMjI6ysrOLi4k5OTp6ensbGxrCwsIGBgXNzc5ubm5qamnt7e46OjllZWWNjY3p6enR0dGlpaQAAAAVyPHkAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAB5CklEQVR4Xu3deYDd0/3/cTTtkISQuQlBrCFtWsvELqGINSgREkViiSoziC0kJQmVjixIBE1IRJSkQmwVVGOpiKW11U5pUa1WLdVq6fqd70zywiSZufO5957zOe/P+Twff/x+/X6/M+ecuffcZz/53Hs/n5UaAADRIe4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHijoistPIqX2r35a9Urbpa+w4dV1+j05prdW5UXVhRdefOXbqu3Wmdbuuu13797htsuNHGm2zaYzMNA0SAuCPbNu/51a/1+vo3tthyqzW3rlG5y9d7m223277913fYcaed+2gCIJuIO7Ko7y5f2vWb6++2+x79VGUP+u251977rLrvfj37a1IgS4g7smT/Aw78VvuDDvaY9JYMOGTL9hsMPPSwQVoFkAHEHVkw+PAdv33EkUcNUW0DGXr0MUcce9zOw7QowDLiDtv2P37f75ywTUvviQZTvc13T/z2fifVaoWAScQdRtWdfErVqVv1VlANGn7a6WeceRaJh1HEHfaMOPsr7c8ZqYYaN6rT96q+eq4WDthB3GHK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RNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIDoNDf8P/3zJBOKX8EAAAAAASUVORK5CYII=)}.tile:hover{border:1px solid #000}.tile:hover .title{text-decoration:underline}.title{background-color:#ffffffb3;padding:4px;text-align:center;position:absolute;bottom:0;width:calc(100% - 8px);left:0;font-size:16px}.title:first-letter{text-transform:capitalize}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7$1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i7$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }] });
12356
+ FabCategoryTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: FabCategoryTileComponent, selector: "fab-category-tile", inputs: { category: "category" }, ngImport: i0, template: "<mat-card *ngIf=\"!DisplayNoPhoto()\" class=\"tile\" (click)=\"Select()\" [style.backgroundImage]=\"getSafeUrl()\">\n <mat-card-title class=\"title\">\n {{ TranslateService.GetActiveValueCategory(category.id) }}\n </mat-card-title>\n</mat-card>\n<mat-card *ngIf=\"DisplayNoPhoto()\" class=\"tile no-photo\" (click)=\"Select()\">\n <mat-card-title class=\"title\">\n {{ TranslateService.GetActiveValueCategory(category.id) }}\n </mat-card-title>\n</mat-card>\n", styles: [".tile{margin:5px;width:150px;height:250px;cursor:pointer;background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;border:1px solid #EEE}.no-photo{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABdwAAAXcCAMAAAAP67xWAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURe3t7dvb28nJybe3t6qqqpycnJWVlYiIiHx8fHV1dWZmZl1dXVVVVUVFRT09PTMzMyUlJR4eHhEREQICAgAAABQUFCIiIikpKT4+PkRERFRUVFhYWG1tbXd3d4KCgo2NjZ2dna2trb29vc3Nzd3d3e7u7uzs7NTU1Lm5uaKiopCQkH5+fmxsbFtbW0lJSTc3NxMTEwEBARAQECAgIDAwMEBAQFFRUZOTk6urq8LCwtfX1+/v7+np6dLS0qCgoISEhFJSUjo6Oh8fHwcHBxwcHDU1NUtLS2FhYZiYmLW1tfDw8Ojo6MfHx6enp4eHh0ZGRiYmJg4ODisrK6Ghob6+vtzc3Pv7+/b29s/Pz4uLi2tra0pKSioqKgkJCQUFBSQkJEhISI+Pj7Ozs/j4+L+/v3BwcEdHR0NDQ2dnZ9/f3/7+/vz8/NnZ2a+vr2BgYAwMDDQ0NF9fX4mJibS0tN7e3vLy8sTExDY2NgoKCgsLC15eXurq6uXl5bKyshkZGW5ubuDg4KmpqXJycj8/PxISEqampv39/cPDwxgYGA0NDTs7O/T09Lq6un19fTw8PLu7u39/f+Pj45mZma6urmhoaCgoKGVlZczMzAYGBhoaGqioqExMTAMDA9XV1fn5+WJiYhYWFldXV6SkpObm5peXlwgICAQEBJaWlufn5+vr69jY2IODg/X19XFxceTk5DExMff390JCQqWlpdbW1g8PDzg4OCwsLPHx8TIyMs7OzmRkZBsbG4CAgMjIyMvLy1ZWVri4uC4uLvr6+iEhIfPz8xUVFXZ2dtra2uHh4Wpqam9vb8rKytPT0y8vLx0dHTk5Oba2tsXFxbGxsUFBQRcXF5KSkpSUlIyMjC0tLYaGhk1NTVxcXE9PT8DAwJGRkVBQUKOjo4WFhVpaWtHR0Xh4eHl5edDQ0FNTU5+fn8HBwYqKiry8vCcnJyMjI6ysrOLi4k5OTp6ensbGxrCwsIGBgXNzc5ubm5qamnt7e46OjllZWWNjY3p6enR0dGlpaQAAAAVyPHkAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAB5CklEQVR4Xu3deYDd0/3/cTTtkISQuQlBrCFtWsvELqGINSgREkViiSoziC0kJQmVjixIBE1IRJSkQmwVVGOpiKW11U5pUa1WLdVq6fqd70zywiSZufO5957zOe/P+Twff/x+/X6/M+ecuffcZz/53Hs/n5UaAADRIe4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHijoistPIqX2r35a9Urbpa+w4dV1+j05prdW5UXVhRdefOXbqu3Wmdbuuu13797htsuNHGm2zaYzMNA0SAuCPbNu/51a/1+vo3tthyqzW3rlG5y9d7m223277913fYcaed+2gCIJuIO7Ko7y5f2vWb6++2+x79VGUP+u251977rLrvfj37a1IgS4g7smT/Aw78VvuDDvaY9JYMOGTL9hsMPPSwQVoFkAHEHVkw+PAdv33EkUcNUW0DGXr0MUcce9zOw7QowDLiDtv2P37f75ywTUvviQZTvc13T/z2fifVaoWAScQdRtWdfErVqVv1VlANGn7a6WeceRaJh1HEHfaMOPsr7c8ZqYYaN6rT96q+eq4WDthB3GHK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RNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIDoNDf8P/3zJBOKX8EAAAAAASUVORK5CYII=)}.tile:hover{border:1px solid #000}.tile:hover .title{text-decoration:underline}.title{background-color:#ffffffb3;padding:4px;text-align:center;position:absolute;bottom:0;width:calc(100% - 8px);left:0;font-size:16px}.title:first-letter{text-transform:capitalize}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7$1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i7$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }] });
11756
12357
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabCategoryTileComponent, decorators: [{
11757
12358
  type: Component,
11758
- args: [{ selector: 'fab-category-tile', template: "<mat-card *ngIf=\"!DisplayNoPhoto()\" class=\"tile\" (click)=\"Select()\" [style.backgroundImage]=\"getSafeUrl()\">\n <mat-card-title class=\"title\">\n {{ TranslateService.GetActiveValueCategory(category.id) }}\n </mat-card-title>\n</mat-card>\n<mat-card *ngIf=\"DisplayNoPhoto()\" class=\"tile no-photo\" (click)=\"Select()\">\n <mat-card-title class=\"title\">\n {{ TranslateService.GetActiveValueCategory(category.id) }}\n </mat-card-title>\n</mat-card>\n", styles: [".tile{margin:5px;width:150px;height:250px;cursor:pointer;background-size:contain;background-position:center;background-repeat:no-repeat;position:relative;border:1px solid #EEE}.no-photo{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABdwAAAXcCAMAAAAP67xWAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURe3t7dvb28nJybe3t6qqqpycnJWVlYiIiHx8fHV1dWZmZl1dXVVVVUVFRT09PTMzMyUlJR4eHhEREQICAgAAABQUFCIiIikpKT4+PkRERFRUVFhYWG1tbXd3d4KCgo2NjZ2dna2trb29vc3Nzd3d3e7u7uzs7NTU1Lm5uaKiopCQkH5+fmxsbFtbW0lJSTc3NxMTEwEBARAQECAgIDAwMEBAQFFRUZOTk6urq8LCwtfX1+/v7+np6dLS0qCgoISEhFJSUjo6Oh8fHwcHBxwcHDU1NUtLS2FhYZiYmLW1tfDw8Ojo6MfHx6enp4eHh0ZGRiYmJg4ODisrK6Ghob6+vtzc3Pv7+/b29s/Pz4uLi2tra0pKSioqKgkJCQUFBSQkJEhISI+Pj7Ozs/j4+L+/v3BwcEdHR0NDQ2dnZ9/f3/7+/vz8/NnZ2a+vr2BgYAwMDDQ0NF9fX4mJibS0tN7e3vLy8sTExDY2NgoKCgsLC15eXurq6uXl5bKyshkZGW5ubuDg4KmpqXJycj8/PxISEqampv39/cPDwxgYGA0NDTs7O/T09Lq6un19fTw8PLu7u39/f+Pj45mZma6urmhoaCgoKGVlZczMzAYGBhoaGqioqExMTAMDA9XV1fn5+WJiYhYWFldXV6SkpObm5peXlwgICAQEBJaWlufn5+vr69jY2IODg/X19XFxceTk5DExMff390JCQqWlpdbW1g8PDzg4OCwsLPHx8TIyMs7OzmRkZBsbG4CAgMjIyMvLy1ZWVri4uC4uLvr6+iEhIfPz8xUVFXZ2dtra2uHh4Wpqam9vb8rKytPT0y8vLx0dHTk5Oba2tsXFxbGxsUFBQRcXF5KSkpSUlIyMjC0tLYaGhk1NTVxcXE9PT8DAwJGRkVBQUKOjo4WFhVpaWtHR0Xh4eHl5edDQ0FNTU5+fn8HBwYqKiry8vCcnJyMjI6ysrOLi4k5OTp6ensbGxrCwsIGBgXNzc5ubm5qamnt7e46OjllZWWNjY3p6enR0dGlpaQAAAAVyPHkAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAB5CklEQVR4Xu3deYDd0/3/cTTtkISQuQlBrCFtWsvELqGINSgREkViiSoziC0kJQmVjixIBE1IRJSkQmwVVGOpiKW11U5pUa1WLdVq6fqd70zywiSZufO5957zOe/P+Twff/x+/X6/M+ecuffcZz/53Hs/n5UaAADRIe4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHijoistPIqX2r35a9Urbpa+w4dV1+j05prdW5UXVhRdefOXbqu3Wmdbuuu13797htsuNHGm2zaYzMNA0SAuCPbNu/51a/1+vo3tthyqzW3rlG5y9d7m223277913fYcaed+2gCIJuIO7Ko7y5f2vWb6++2+x79VGUP+u251977rLrvfj37a1IgS4g7smT/Aw78VvuDDvaY9JYMOGTL9hsMPPSwQVoFkAHEHVkw+PAdv33EkUcNUW0DGXr0MUcce9zOw7QowDLiDtv2P37f75ywTUvviQZTvc13T/z2fifVaoWAScQdRtWdfErVqVv1VlANGn7a6WeceRaJh1HEHfaMOPsr7c8ZqYYaN6rT96q+eq4WDthB3GHKeaOrOhxl6iRMImO6jR3Yk4N4WELcYcX5F3z/QsNnYdo2rttqP9i5Xn8NEBhxhwEjLurVcbwSmXETJnYfzVkaGEDcEdagngPHdsreeZjixnTsdREfmERYxB3hTLr4knUCf3Tdn5GXrjaaSxggHOKOMEZMntIt5S+aBtC1/cDL9AcD6SLuSF/f0d2jOxPTuq4dpp6vPxxID3FHuvpffsWVql6OrPnDCzbXAwCkg7gjPXXTqrpNV+5yp7pT98m8yYr0EHekpMfUjp3Vudwa2a1qGl91QjqIO1LQf+MruqpvuXfV6VfzIRqkgLjDt5OmzsjtuZiWzZxYdY0eHMAX4g6f6qdN6VT5ze9i1LX96Fl6kAAfiDu8mXT5tbOVMrSg93U/4iM08Ia4w4/rbzhyjiKGVs397o9v1AMGuEXc4cG8gTPmKl9oQ/XEqpX1sAEOEXe4RtlLdtSUm/TgAa4Qdzh1/Q7r5OfCAi5te/PJeggBJ4g73DmPsldir2Ov1wMJVI64w5HB7TgbU6nqib3m6eEEKkTc4UL9Re2HK1CoSL8ZA+frQQUqQdxRucNvGaM0wYHe1x7KBWhQMeKOCt3a6zZFCc7s2b2HHl6gTMQdlbj9a3fwFqoX1d1+crseZKAcxB3lu7N7F6UIHixof5EeaKB0xB1lmrTRXYoQvLl7w756uIESEXeUpWf3ceoPvJrecTLvrqIcxB2lu2fqT5UepODgKl6mKB27BqW699pRqg5SMupn0/TgA0kRd5SkfnQ3BQep6jR1kp4CIBHijhL0/eZCtQap63wLn31HCYg7Etu0/RB1BkFUdxvNm6tIirgjmVntOB9jwLZTB+sJAYoj7kji3PvGqy4IbPx9fPQdSRB3tO2ssSNVFhgwveP9emKA1hF3tOWBB2eqKrDijp/ryQFaQ9xR3EUz1BOY8tDAQXqGgBYRdxSxqN1pagnMebgX762iCOKOVi3utZY6ApMembKZnipgBcQdrdjsvs5qCMwa8Cj31EYriDtatPmqC9QPmNbvxPP1lAHLIO5owbwppD0zhnZYWU8b0AxxxwrOnTJA3UAmDO3wmJ464HPEHcvp251vLGUOeccKiDuW8fgv+qkXyJSh+3DNSCyDuKOZvr8k7Zk199Sz9DQCjYg7Pre4inPtmTa0PR+MxOeIO2TW1NlqBDJrZPc+ejqRe8QdSyyayj2WojCuiosSYAnijka17dZUG5B5j1QN09OKXCPuaGiYfJu6gCjsMbVOzyxyjLjjiTXUBETjtkP15CK/iHve3dq+WkFATLo9qScYeUXc821S1XDFAJGZ2557reYbcc+z+oHc9jpiw6fcricaeUTcc2zyU6oAIvX0wFo918gf4p5bPY9RARCxZw7Q043cIe45tfkVM/XyR9RqOnBJgpwi7rlUO/ARvfYRvVFT+FJTLhH3PJp2l173yIWDf6UnHnlC3PNnpbGckcmbGSfpyUd+EPe8qR/YRS945MgQPhaZO8Q9Z57lMjI51fU5bQHkBHHPlc3Hcq2B/JpxvrYBcoG450j9Db31MkcuDd9wkLYCcoC458djz+s1jtx6iu805Qdxz4tFVdz7GoXq9vdoQyB2xD0nLlpbr27k3JiB2hKIHHHPhT68kYrP7c0bq7lA3PPgwBf0sgYaDX+xXjsDESPu8bt1e72mAdl9Z20OxIu4x672pVF6QQOfG/Iy99COHXGP3Pnf1asZWMZd12iLIFLEPWq1+07QSzmnhnR+oevRnTrt1W2J1Vdv+n8v7dTola7jO+f8+mn9XuUrTVEj7jF7fHW9jnNi6AtrT/z16d/Z4KVdd5x8wC49Npulx6E1tZvt3+PJaZtsvNHLq37jtRmX3r1wqAbKiU676IFAjIh7xL48QC/iqNWM2ev19l/fod1OO/fR312Bza/5zYG/XfXaGedclYvPjk6/b5H+cMSHuEfr1i31Co7UgKfe+OWGB579uKc8zTpppze/9YsZT43TdJE6jY/NRIu4x2rXaC8S9vR3rzij3QOb6+/0rv+mF7y1zzpjNHl0hrxYqz8UkSHucer7a712YzL8tN9tcPW9k/QnpmzS2xt/67WfDtFSYrL6rfoTERfiHqWLIzvQHHpUxyntelr4WuV5k3u1nzhcy4rEgqn64xAV4h6hwd+o0cs2Ai8c8/sLTjb2hZv6ldv94ZiYLumw3mb6yxAR4h6fdw7RSzbr1vrjW/tdrz/KoPPOvHm3h7XUrFt4sf4oxIO4x6Z2wxiu2977oFWfu1F/kWmb7/f1E2J467pmLDfQjg1xj8x5mf/eUs0h7b92cqY+wVF7559OfCrzX3d9ig9FRoa4x+XyLnqpZtOcNf5wZkZP/y7eZMp22f4szaiN9KcgDsQ9JpN+qNdpFg25Y4OL2rpegHHDLvrmQVn+JM163IIvJsQ9IrtcqRdp5szZ7r53h+mvyLhB9//5mJH6szKn6yr6KxAB4h6PgRm9cHvX9u1G6E+IxKBpVROzeW2auVO4R1M0iHssBmfylMwjHadepj8gMvPatd9Df2Sm3HGe/gBkHXGPRM+j9OLMjuq7vnlv3Nc12fnl5+fqj82OF97T6pFxxD0OmTslM2rGVMPfT3Jn0uj24/UnZ0VNd07NRIG4x2D+qXpdZsQ23zk+RzcBqnv30bX1h2fElqldchMeEfcI3Jmp6w3cfcmmWneOrFy1V5au97MHn5qJAHHPvq9l55RMzVZnPKZV587jx16anU/Q9HtJq0Z2EfesG9Rdr0f7jpqyshadU/MGzsjMXVq3769FI6uIe8ZdP1EvRutOO+MkLTnX5t2wRkbOz6x9p5aMjCLu2fZsNu7K8f4Gh2nBaHi86hU9LLYNP1ALRjYR90ybOl0vRMvGtb+I23Qu65opR+vBMa19jj7TFCHinmG376MXoWGjXvuSsdso2VB70RUZuAz8CdyhKcOIe3ZdtpVegnZ16sUGa9WwdjPMXwT+gye1WGQPr73Metf6TTzHjN1FS0Urbq36QA+WVcM/1FKROcQ9qza0fdWSoX/cj9MxCdRvsoXtW3zUXMLFCDKKuGfTsO/ptWfTNm/l4sIxbvR50fbVCX7NLTyyibhnUl/Ln26f+fqvONgrzW+us/yxpytP1jKRKcQ9i57cRi87g8ZPuVWrRAn2f8vw1d97T9YqkSXEPYPOnKAXnT0/HRjJ3fLSV3/m3mavPTN0qhaJDCHu2TPV6lup1TM4wqtIj+5mP/s+lrfHM4e4Z82gI/Rys2bAWC4eU7ERvayecTuGt1WzhrhnzEp36MVmzAdVfbRCVKR+dDc9pMa8cr5WiIwg7tmys8lrktR0O5PPx7gz7TWTFwYe84TWh2wg7pmyicVzsv1+yHfUHfvLdyzegGVIOy0PmUDcs+RHBj8NPeqW87Q6OLT5fV30ABtS86pWhywg7hnSy95H5YaP5auongwbaPAU3LVcBDg7iHtm1P1CLzA7tp7CJWE9qm9n787nH83X4mAecc+K+R/p5WXG+D8v1trgSe3l2+rBNuOueVobrCPuGbG5tavJrNWLY7g0TD5ND7gVXR/TymAccc+GHgfrpWXENr1u18rg2+S99KAb8cI0LQy2EfdMuP8RvbBsOPpN3ldLUe1znfTA2zD8S1oYTCPuWfDcSL2sTLhq30VaF1JSO/opPfgmDP2r1gXLiHsG/NXSrTbHVXGuPYD6H1j6YGTNW1oWDCPu9u1g6OPtI7vz4cdAFk29Sk+CBetzvQnziLt5VXo5GTC0Pd9GDWh+r9l6IgzowNsu1hF342pv0YspvJqOK2tRCGRE1QA9GeF9xOeljCPutg16TS+l8Ga8rTUhoOt/ZuYNmG58h8024m7a7Wa+ljrxIi0Jgb29up6S4LaiHqbx9Fi22MrreOHAWi0J4U1+SE9LaEdxL3TLiLthm92lF1FgQ7qP0IpgQv3A8XpqAtuGd2EMI+523XqUXkKBdeT+aubc84c5enbCGnONFgR7iLtZj9v41sraP9d6YMplHfQEhfUIb7ObRdytOr+rXj5BjetVp/XAmk1M/MuuM3dWtYq4G3XSw3rxhDS3PRfvNmxRLwufeu99v5YDY4i7TSfvqZdOSHfsotXAqOs71Oi5CmjB37Qa2ELcTdp5jF44Aa31sRYDw9418LHICTtpMTCFuFtkoO3V7fn4YyYM6jVBT1k4IydrMbCEuBt0Z/hPMT+1itYC8279o560cIZ8VWuBIcTdnnu31ksmmFEvc8m/LPkw+MWA5/xKS4EdxN2cTYO3/ciTtBRkxKTuoS8nNn0/LQVmEHdr7u2tl0so4w/USpAhq2yrpy+UkYdqJbCCuBvzZBe9WAKp+SG3WsqkQd8KfEGCUVw31BjibstjgT8nc/R7Wggy57AL9SQGMopPRNpC3E3pEfa7S9PvG6aFIIPqNhypJzKMBQ9oITCBuFtyWdhrDhyyqdaBjOrxvJ7KMHpTd0uIuyF9r9SLJIiasRy2Z17t1KBfaerM4YEhxN2Oc4Ne5a8r74dF4aygB++z79QyEB5xN6NPJ71AgujA3Y4jUTs15Jn3q87SMhAccbfinnP08gjhhdFaBSJwzU/1tIbwwfVaBUIj7kbMv1QvjhDWYxtEZdYfAn5h9RW+KGEEr2obFh2pl0YAvb+mRSAaB6ypJzeArTjDZwNxN6F2H70wAjjhVi0CEZk/NtxtPL7Lx65MIO4m3KKXRfpG7lurNSAuH4e7AN263HjXAuJuwVt6UaTvKO6kF63L1tGTnL7vccRgAHE3YGCwf0F3mK8lIEL1vYbqeU7dWC0BARH38C4P9dGGrU/RChCpd5/WU526b2kFCIe4B3d8qEu13sX3TaLX/zo92Wmr+ZNWgGCIe2j3DtDLIWVz/867XjlQ+1KgY4eh3FY1NOIe2GGBbob9NBffzonDP9BTnrIJXEQsMOIe1rmBXnm78TXC3OjzkZ70lI3hVrxhEfegBt+lF0K6+v1Y8yMPas+Yqyc+XVdurgUgCOIeUv0f9TJI18IDND9y4t0wd288h0/ahkTcQ/qHXgTpWuNGTY/cOLebnvx0/Zo37QMi7gG9pJdAur4/SNMjRwZ1D/JNuW9oegRA3MM5LsSXl0YdqNmRMx8O1xZI1Z81O9JH3IPZNMSL7WiuJZNbN4W4RW8134IOhriHcuue2v5pOpJPQObYSgdpG6RpyCqaHWkj7oHc85A2f4pqutdrduRSXYgT72Mu0+xIGXEPo+672vop6n2cJkdu/STAzbN/OkmTI13EPZAq7fwUdZ6muZFf7zys3ZCivflAZBDEPZT7tPNT1OVtzY386ru7dkOKHtXcSBVxD4Zjd4QwrIN2Q4qmam6kibiHQ90RQm1VtbZDaoZuormRIuIeEGdmEMSBqV/jfdxhmhrpIe4hceyOIO5P/S4CV96jqZEa4h4UdUcQt96m7ZCaN2o1NdJC3MP6u7Z+irq8o7mRYyNO0HZIzc2aGWkh7oGdoa2fIo7d0dAwqL22Q1qqR2tmpIS4h0bdEUTtFG2HtEzoqZmRDuIeHHVHGH9N+e57B/fRxEgFcQ+PuiOM0SlfaeYErkOQJuJuAHVHGKvM1n5IySWaF2kg7hZsoL2fIj4zg0Ynd9V+SEfN5ZoXKSDuJnDsjjD2f0r7IR0Tdta88I+420DdEUafidoP6XhlvuaFd8TdCOqOMOYfo/2Qji00Lbwj7lZQd4Qx60Hth3R8omnhG3E348/a/Cnq/IDmRp7V/VD7IRVzOKRICXG3g7ojjNpHtR9SsQfRSQePsyHf1O5PEZ+IRJO3tB9S8ToXiEwFcU/Fn9/VfyiOuiOQDWu0IdLwZ00Kr4h7Gn4zcxR1h2k7pFj3ucleDagMcU/BSmsVCiMP1f9QHOfdEcgnKd5ZdeE8TQqPiLt/tR817WfqDtt+kuJFIrfktLt/xN2/l5fuZ+oO2w5Mse6/1Zzwh7h798R07WfqDtvaDdWG8K/fvZoT3hB33/p/cd29hO+qpvqxtKW25l1VNPowvbq/P0lzwhfi7ltHbeYmhut+uOZGrl0wUxvCv300JXwh7p59WVt5qYRnZr6tH08RZ2bQJMW6/0hTwhPi7tdhE7SThbrDtl1T+0Tk8JM1Jfwg7l4Nuksb+XN2696buqPRRqnV/bRZmhJeEHevVtU2bibhefdX9eMp4rw7mryU2ndVu2tGeEHcfTq7pROYHLvDtl7aD95VH68Z4QNx9+iebbSJl8WxO2z7lvaDdw/foxnhAXH36DVt4eVx7A7bums/eMfnIT0i7v4cqA28ooTH7qkdQH2BY3c0qk3t3kynaEa4R9y9OW+c9m8LEh6766o0aeLYHY3qr9N+8K3LjZoRzhF3b47U9m0RdYdpi4puX4dO4PqQvhB3X6Zq87aCusO0wWtoP/j2qSaEa8Tdk5OW+2rqCqg7TOt/m/aDZ6Me04RwjLj7Ub+dtm7rEr6rWqUfTxHvqqLRjR9oP3g2sU4Twi3i7keS74FQd5i28iPaD56dofngFnH34qYh2rdFcWYGpj0wXPvBr37XaD44Rdx9qFvhemEt49gdph2Xzo33dq/XfHCJuPuQ+LulHLvDtE+0HTw7VtPBJeLuwVmjtGfbRt1h2te1HfwaySdmPCDu7tV+V1s2iYR131A/niLqjsbNfK22g1+cmPGAuLt3gzZsMtQdltW9ru3g11c0Hdwh7s6d11v7NSHqDssWP6Xt4NWoHpoOzhB35z7Sdk2MusOy8xZqO3h1B9eYcY24u/amNmsJqDssmzZS28GrTzQbXCHujvXtor1aioSfd/+zfjxFW9+ruZFj7dK4q2pvLv7rGHF3bAtt1dJw7A7LbtZu8Go9TQZHiLtbx5d5jEPdYVhtB+0Gr47TbHCDuDs17H3t05IZrvsTmhv5Navtq5xWbo9Jmg1OEHen/qltWoaE590D3DWb8+5oOHcb7Qaffq/J4ARxd+mmftql5Uh47P4v/XiKOHZHw9vJr6lRtrnvaDK4QNwdqn1em7Q81B2GbZzCR2a24ioEDhF3hz7VFi0XdYdhv9dm8GlfzQUHiLs788r5iPsyqDvsqt9bm8GjBedpMlSOuLtzujZoBRK+qxrgCsDjeFc19zZbU5vBo39rLlSOuDtztotzktQddvWcoM3g0XuaCxUj7q7UbavdWRnOzMCuj6u1Gfw5apHmQqWIuysvaXNWimN32FXBFzmS+pemQqWIuyObb629WTGO3WFW/UHaC/5MuF5zoULE3ZH/aGs6QN1hVl//F3c/VVOhQsTdjQdcnoxMWPdj9eMpou65d8B07QVvanbSVKgMcXei/hxtTDeoO8zy/27PT+s0FSpC3J2o9Lupy0v4rmqAa0SO21RzI6dqt9dW8IfvqTpB3F0YMV670hmO3WHViCu1FbwZN09ToRLE3YVHtSkdSnjsHuBdVY7d8+6dIdoK3vxCM6ESxN2Bwyq50m9rqDus2lc7wZuZb2smVIC4O+DnJCRnZmDVetoJ3tyhiVAB4l6547UhXaPuMKqP9/sy/UozoXzEvWL1nbQfnaPuMGqVodoJvqw9SDOhbMS9Yq4/BtlM0rqncI+c5VD3nNtAG8GbGzQRykbcKzXiBe1GHxK+qxrg2J13VfOtbjttBF9m36OZUC7iXim/18nj2B023Vrxfcfa8AdNhHIR9wpd7/mm8KMu00TFBag7x+75NtrzlhvyuCZCmYh7hX6orejL65qnLRy7I2VXaB/48jvNgzIR98rcNFc70ZNH9tdEbbqBuiNV8w/WPvCk5llNhPIQ98q8ro3oy+WaJ4FenJlBqg7wfGSzhuZBeYh7RXbSNvTldM2TyL4cuyNVl2gb+HKm5kFZiHtFdtcu9GThZponGeqOVA1yexuDFbxSr4lQDuJeiR21CT2p+bnmSYq6I1U7e74+5A80D8pB3Csw6H3tQU++oXmSC3DevTPn3XPst9oFnhy9SPOgDMS9AhtpC3py8HzNU4LfUnekqHZ17QJPuAhBBYh7+WY9rB3ox9z7NU9JODODNN3aW7vAjzFlHOBAiHv5XtQG9OSfmqZE1B1p8nzjjjM0DUpH3Ms2eKH2nx/bztI8paLuSFHtQdoEfvQu7QNjaIa4l61K28+PfuXfaIy6I0UnDdcm8KPMf8CCuJev/9bafX68pWnKEeJd1Wma26X/djLvv1pqnvk9PTkq8QU4sBziXq6va/P5cXdFnwF7MY66e/6KmAu7a6l5Vr+GHgw/vqNpUCriXqZ5A7T3vKj+m6YpUxx1H6+hDRujpebayV6/yjTkRk2DEhH3MnXX1vPjCM1StqkBzruvorldGZz+31CyGj6q1+jbejT8+L5mQYmIe3k2n6Cd58VV/TVN+SI4dr9G45p2jRaba3Wn6dHwYiSH7uUh7uX5rzaeHxtrlkpk/9j9TA1r2nFabL697fXiv//QLCgNcS9LH6/fyztSs1Qm83X3/CUxN36rxebcLXo4vJhzvWZBSYh7WbxeyHrCXzRLhbJed6/BcIXPciwxfxs9Hl78T7OgJMS9HP29Hri/qFkqlvG6v6ExTftIi827/fR4eDGyr2ZBKYh7OaZo03mxV51mqVy26/6UhjTtFS0297bXA+LFapoEpSDuZbins/acD3Pv1SwufJrlunv9JoEro2q12ry7foEeER9GceheBuJehpu15bx4VJO48VL6dXf1ich5Gs84vh0vXu/b4fZVkRPEvXTzu2jH+dDV8bdislv3JzSccQdoubnn9cPuE/poFiRH3Evn9RDlV5rEmczW/QKNZtxPtFwc4HOnfVOTIDniXrJFe2i/+TBDkzgU4Lz7Ahfn3b+lwYy7WctFw6l6SHyYPViTIDHiXrJdtd18mH6yJnEpo3Vvr7GMu1bLRUNfn58Q/oomQWLEvVS1h2i3+eDnI1/ZrLvnWy+78ryWi4aGY/WY+PDwIE2CpIh7qU7RZvNhduUXDGtRJuv+gUYybg8tFw0Ngx7Sg+IDb26UiriX6hntNR820hzOfVqtGdJTad3rpmsg42aWe6/bGO3k8SjiIb5RUCLiXqJDtdV8+Gm9JnEve3U/X8OYt7IWjEYd9aD44PyDZLEj7iU6RjvNg5qzNYcPX0n/zEznBzR3WY7XKOZ9VQtGo7+M0qPiwYWaAwkR99I86bGRW2gOP7J27L6RBjHvBi0YTe7To+LDs5oDyRD30vxH+8yDUZdpDk9+nK1j91U1hnl8M765SQv1sHiwveZAMsS9JH3naJ954P07eNk6dt9CQ5i3rhaMJf6kh8WD6sM0BxIh7iX5uraZB2v5v9XyJ1mq++4awbxOWjCWqO+kx8UD7oxSEuJeittf0C7z4EPN4VOW6j5eA5jXWwvGUh7fCZ/g6XsgkSLupfhUm8yD7TSFX9k57z44/ZWWiwsWLuvXelw8OFZTIAniXoLatbXHPEjpyrGZOXa/Rr+dAZtqyVjqpqF6YNzbxt1dynKAuJfgTG0xD3bTFN5lpe4eH2vXdtSSIUfogfHgck2BBIh7CfxdymrmNZrCvxvSP9/Ru4wzMy/qdzPgDC0ZMs/fHff4IlMJiHtyd/rLYprXjc3Gsfst+tUMuEJLxmc83oeyom895wxxT87fvzann6UpUpGJur+h38yAE7RkfGaSv0+Vna4p0DbintgIf3fjv0VTpCQLdfd58VjH1tSS8Tl/d6KcfqOmQJuIe2I7aHu5N+FcTZGWfe2fd/f336TODeUjHMsbto0eG/emaAq0ibgnVXuldpd792mK9HzZ+rH7PP1WJjyuReNz/i5CMGaRpkBbiHtSX9Xmcq/LPZoiRdbr/oR+KROO16LxuTp/N6Pk05BJEfek/H3vLsjX7ozX/Wr9TiZ4u4FWhl2ux8a9gzQD2kLcEzp/pvaWc3sM0xTpsl33b+lXMmFVLRrN3KUHx7makzUD2kDcE+qureXeXzVD2qYGeFf1Cc3dpvb6jUzwe5eVjLpYD457/9MMaANxT2bWbO0s594fpClSF+LY/X7N3RZ/Xwb24BktGs2toUfHua1v1wwojrgn004by712miEAw8fuR+nnM+EFLRrN+Tt0/5pmQHHEPZlu2lfOXVmvGUKwe+x+9gT9fCYs1qrR3KV6dJybqAlQHHFPpIe3CoY9CqHuTjypRaO5n+vRce9ezYCiiHsiv9eucq5rsDPuS1F3F57TmrEMb4fuv9AEKIq4J7HI24WQpmqGYD41e949Q3XnBkEt8nboPmCSZkAxxD2JHbWpnNszzGfcm9uIY/eKjdWKsayJenyc+5MmQDHEPYmDtKec+60mCIm6V+zXWjCW9Ss9Ps6towlQDHFP4Cxf+XthvmYI6tP06x7ZmZlDtF4s5zQ9QK7VrKwJUARxT2CKtpRzVZogMI7dKzSkVuvFsrydz+SKDwkQ97bVdtWOcm3cCM0QGnWvEHeQaFn9wXqAXFvINfTbRtzbdqg2lHPpX8e9NdS9Ms9qtVjOp3qAnPu5JkDriHvbvqf95NqEzTSBAdS9Im9qsVjOsKv0CLl2nSZA64h7mxYP135y7feawATqXokNtFYs7ww9Qq5Nn6cJ0Cri3qaNtJ1cm3O9JrCBuldgHy0VyxvRWw+Ray9pArSKuLdpHe0m147Q+FZ8kn7do/lE5IVaKVbwBz1ErnXS+GgVcW/LYZ6+n19t7oYyAa4zE0vdn9ZCsYL95+gxcu1tTYDWEPe2XKK95NreGt8Q6l6u6vCXkTDrh3qMXHtU46M1xL0ta2ovuTZZ41vCefdycV/PVl3j6Z++T4e8E0ImEPc2HKCt5NohJr/USN3L9CUtEyvydWWmdzU+WkHc2zBWO8m1TzS+MX+l7mX5ilaJFfm6fNiJGh+tIO7F1Y3XTnJsnIlLhrWAupeFO/K3rnZtPUiOdZ6lCdAy4l7cV7WRXPunxreHupfjj1ojWvBjPUiujdb4aBlxL+507SPHhl6m8Q2i7mW4TUtEC+ZvrUfJsX9rfLSMuBd1+wLtI8d+p/FNou6lW6AVoiWebkE8crHGR4uIe1HttI1cS9ayUKh76XghFXHrUD1Kjv1I46NF7MmittcucuwZDW9VgE9E9l5Fcxdntu4PaIFoyYN6lBw7UsOjRcS9mBGevjp9gcY3i2P3Upl/SoPydEuEuX01PlpC3Iv5kTaRYwsXaXy7qHuJjNwx0apD9DA5tq+GR0uIezGezsq8quEtC1H3LJ+Z4Rs1RfXSw+TY6hoeLSHuRSweoj3k1vT9Nb5pf+LYvRRkpqg+I/U4uTWXW3YUQdyL+IG2kGMPanjjqHspPtDa0LJ99Dg59lcNjxYQ9yI8nZXZRMNbR91LMHeQ1oYWPaHHyTGDF862g7i3ztNZmQ9MXg+yJdS9BCdpaWjZaXqc3OrXX8NjRcS9dQdqAzn2sobPAOqeXFb+PRbKJ3qcHON7TK0j7q1bV/vHrTlZeg+Iuif2ZS0MLZvk50oe22t4rIi4t2qwnzf4t9Dw2UDdk7J7nU8j2uuBcmvkJA2PFRD3Vn2s7eNYxv75fuBMrTs9Cw7Q3MUZqzuXKGyDp3uatdPwWAFxb5WfD29tk7U7P1L3ZLbSqtCao/RIuXWdRscKiHtr6mdr97g1RcNnx66cmUniES0Krfm2Him3JgzT8FgecW/N2do8btX00PAZwrF7IiO0KLRifz8X/v25hsfyiHtrVtPeceu7Gj1TqHsSb2tNaM1HeqTc+oZGx/KIe2ve195xK5sfy6XuCZyiJaE1p+iRcmstjY7lEfdW7Kyt49aC+Ro+Yzjv3rZ/aUVozSI/b2M9qeGxHOLeijO0c9z6j0bPHOrepvW1ILTq+3qo3PqWRsdyiHsrdtfOcetQjZ49A6l7G7iGVZsO10Pl1qUaHcsh7i1byctZ5oXhPuR+eadWbawfKe7Aufoj0pPwvPu7o/TzYY3Sw2neN/W4BeDlhkwzuah7y4h7y/xcyr27Rg9gqpbQgpkH6meKs1t3S5+ZyYD2etgCuFlLcOtNjY5lEfeWddC+cWsXjR5AkbhT93wJGPceNVqDU3xJtWXEvUX1L2jfOPWURg+hWNwN130AdXcuYNwb7tIanFpg/4bzQRD3Fvm5b8yfNXoIReNeGHq5fqy4q6l7BELG/UWtwa3sfk7BK+Leor9r1zhVfZlGD6F43JPW/WsBvs2UzSsAGxYy7vt7OTx4VKNjGcS9RV7+9Rj0I1ttxJ1j9/wIGfeGE7QIp27T4FgGcW+Jnw9C/lajB9FW3Kl7bgSN+65ahFM1fTU6miPuLfHyQcjqWzV6EG3GnTMzeRE07iPmaBVO/UCjozni3pLvac84tYYGD6PtuFuuO8fuDgWNu59LQ56qwdEccW/JntozTu2gwcNIEHfOzORD2LgP1CqcWqjB0Rxxb8Gd2jJOVZ+n0cNIEnfqngth495nupbh1J0aHc0Q9xa8pB3j1DoaPJBEcS8MTXZR8jc5M5NhYePecIyW4VQvDY5miHsL3tCOcSroZ2WSxj1p3S/g2D27Asf9Ey3DqRkaHM0Q9xXVddaOcanmcY0eSMK4U/f4BY77PB9bZxS3yV4RcV/R/dowTp2mwUNJGnfqHr3AcW+4Q+tw6l0Nji8Q9xW9pf3iVMCLaC+ROO5J6/4jzrtnVOi4f0XrcOqfGhxfIO4r8nJkcY0GDyV53Kl75ELH/XofN/WaqMHxBeK+gsE+vkP3vgYPpoS4U/e4hY57w1ZaiEvTB2twfI64r+BQbRenfq/Bgykl7px3j1rwuG+ghTjFZX9XQNxXcJ92i1N/0+DBlBR3w8fu1L1iwePu5T7ZUzQ4PkfcV+DjlPsj4e6MLaXFnWP3iAWPe8MeWolLd2hsfI64L2/RSO0Wl76nwcMpMe7UPV7h436FVuLSED7pvjzivrxntVmcukCDh1Nq3AvTqXukwsf9OK3EqbM1OD5D3Jf3Le0Vl+b20eDhlBx3w3UflewbK9S9ZeHjPtjHv47f0uD4DHFf3pbaKy49r7EDKj3u1D1S4ePe8GstxaUTNDY+Q9yXU7dAe8WllzV4QGXEvTD9Y/1ycdQ9WwzEfV8txaXhgzQ4hLgvZ1NtFadCfz21UTlxT1r3HwT4RGSyz5ZS9xYYiPtlWopTq2hwCHFfTi/tFJfW0tghlRV36h4jA3FvOEprccnAv49tIe7LeVA7xaWfaeyQyot70rq348xMdliI+y+1Fpf+qLEhxH05a2mnuBT+g5Blx526x8dC3M/UWly6SmNDiPuyztNGcWnm5ho8pHLjTt2jYyHuk/ppMS5dpsGxFHFf1ofaJy6do7GDKjvu1D02FuLecKEW49KOGhtLEfdl/U/7xKVVNXZQ5cedukfGRNy/qcW49D+NjaWI+7Iu1T5xKVmBPKsg7tQ9LibivooW49KlGhtLEfdlLBqifeLQ8EUaPKhK4p607gemX3c+EVk6E3GvG6fVODTExCvNDuK+jCe0TVw6RmOHVVHcC9Of0zDFceyeBSbi3rCuVuPSNI2NJYj7MnbQLnHpWxo7rMrinrTuHLtngI24+7gCwUsaG0sQ92W8pl3i0v0aO6wK407d42Ej7ndqNS510NhYgrgv40rtEocm2DgRWGnck9Z9xwBnZn6juYuj7mIj7rWztRyH1tTYWIK4N7fYwzVSttTYgVUc96R1v5pjd+NsxN3HSfcactYcj0ZzO2mTuPRnjR1Y5XHn2D0SRuL+opbj0nsaG02Ie3PHao+49ITGDsxB3Kl7HIzE/R0tx6Vva2w0Ie7NeXg/1cotBFzEnbpHwUjc67fWehz6ncZGE+Le3NraIw6trqFDcxJ36h4DI3Fv+EjrcWhtDY0mxL2ZxdXaIw7dp7FDcxN36h4BK3F/WetxaOYkjY1GxL0ZH++nTtbYoTmKO3XPPitxf0DrcekAjY1GxL0ZD7fYmzlCY4fmKu5J6x7grtkDntXcxeW+7lbiPmiUFuTQjzU2GhH3Zk7VDnGok4YOzlncEx+7D9XPp4dj90SsxN3HNd1/qKHRiLg381PtEIfGaujg3MWdumecmbh314IcOk1DoxFx/0Kdh+v9Xq2xg3MYd87MZJuZuF+uBTk0x8gnj00g7l/YWRvEpfM1dnAu416YPlqjFsexu0lm4n69FuTSLhobxL25dtofDs3W0OE5jXvSuge4vjvH7m0yE/eGPbQih76moUHcm1tV+8OhX2vo8NzGPWndPzR77N7juRe7v7bGGP1SrtiJ+3VakUO/19Ag7s29rv3h0AYaOjzHcc9+3Zfqf/+fuh/TRb+ZE3bi/i+tyCE7h1PhEfcvPKz94dDPNXR4ruMeS92XOP/D36/TT78dPztx/5tW5NAHGhrEvZnFNdof7tRsrrHDcx53w+fdJyQ7776swZt8fY3pGiBuduJ+u/sHvHq+xgZx/8IB2h4OGTqMcB/32OreaP7o9ldpiIjZibuPb5ZsqqFB3L+wkXaHQ+tpaAM8xD1p3QNcZ6bcujc01B/wj6c1SKwMxf0/WpJDb2poEPcvrKbd4ZChewf4iHtU592bmTb2BQ0TJUNxf0lLcugPGhrE/QsztDscsnJJyEZe4h5r3RsGXb6lh8s/G2Eo7s9qSQ69rqFB3L9wtHaHQ/M0tAF+4h5t3Rsazv/6Qo0UG0Nxn+T+v0KP1tAg7p8b5v7M8NMa2gJPcY+47g31o+/SUHExFPeG97Umd6oHa2gQ98/sos3h0Eca2gJfcU9a940zWPeGhos6ztRgEbEU9/W0JocO19Ag7p/ZUXvDoa9raAu8xd3wsfuEszV3Ba7pEF3eLcX9DK3JoZ9oaBD3z2ygveHQxxraAn9xL0w/TnMUF+LY/XjNXYmeseXdUtwv1pocsnLX4vCI+2d+p73h0Fka2gKPcU9a94weuzc0vH2MhouDpbjP05oc6qChQdw/4/7LcsNrNbQFPuMefd0b3ttW48XAUtwb3F+X8xmNDOL+mQHaG+6co5FN8Br32M/MNDTUfXm8Bsw+U3H/rhbljp17KIRG3OVcbQ2HrtXQJviNe/x1b+g/NpZT76bivr4W5VB/DZ17xF08XDZsQw1tgue456DuDfdupREzzlTc99WiHOLSYULc5SfaGQ7ZuZh7I99xL/SLv+51x47UkJlmKu47aVEOtdPQuUfcxcMnIW/V0CZ4j3se6t7Q40INmWWm4r6ZFuXQqxo694i7nK6d4c4CSx+WSSHuSet+Zvr3PHJX9/qp2T94NxX3BvdvVP9HI+cecZc1tDPcsfWRrBTibvjY3dEnIpv0vFtjZpatuLv/uMw6Gjn3iLu4vwPPqRrZhjTiXuh3pmYrLtPH7g23j9WYWWUr7u4/LrNQI+cecV9qsPsbqNo69ZdK3JPW/fJMH7s3bNxbg2aTrbi7/7hMDbdRXYq4L9VTG8OhjTW0DenEPSd1X/kQDZpJtuJ+vFbl0M4aOu+I+1L7aV841FND25BS3PNxZqZh8R81aBbZivtftCqHLtbQeUfcl7pB+8Kd6ts1tA1pxT0nda+tyu5t+GzFvXaIluXORho674j7Uv/VvnCnq0Y2IrW456TuDadk9jORtuLe4P4UFxf9XYq4L9VB+8KdYzSyEenFPS91f2K2Rs0aY3F/Xctyhw+6L0Xcl3pe+8Kdb2hkI1KMe07eVW3o4f4GoKkwFvd/aFnurK6R8464L9VV+8Kdf2lkI9KMe9K675fxY/d52bySmLG4/1jLcudKjZx3xH2JWveZOUVDG5Fq3PNS90nuv16ZAmNxd3+nvZEaOe+I+xI3als49I6GNiLduOel7vNP0KhZYizuZ2lZDlG1JXgYllhFu8IhY7cMSDnuean7rN00aoYYi3vddK3LHWMHVqEQ9yU21q5wZ2uNbEXacS8MmayZizvF/Uu7LRMu0twuLHpDo2aHsbg3rKl1uTNaI+cccV/iRe0Kd07TyFakHvekdc/8sfveGjUzrMX9Dq3Lna9o5Jwj7kv8U7vCnY4a2Yr0456Xug92/zFav6zF3f2tFP6pkXOOuC/xM+0Kd/6nka0IEPekdf8442dmFj+jUTPCWtwv0brc+ZlGzjnivoT7f1r30shWhIh7Xo7dN8/Wt5msxf1TrcudjzRyzhH3JTppV7hj64K/geKetO6/ynjdz3pBo2aCtbh/SetyZyuNnHPEfYk9tSvcWUUjWxEm7nmp+7ThGjULrMXd/b0UHtbIOUfcm9S6P+t7noa2IlDc81L30Rm6ArC1uI/QutzhK6pLEPcm87Qp3Jlbp6GtCBX3vNT9VQ2aAdbi3rBAC3NnsUbON+Le5EntCXfW0shmBIt7Tupeu54Gtc9c3F/Rwtw5TCPnG3Fv8p72hDvPaGQzwsU9ad2fS/8TkcMdfiJysPs35T0xF/cttTB3/qaR8424NzlQe8KdP2pkMwLGPSd1P6uzBrXOXNxP1cLcMXZJ1kCIe5OXtCfcOUIjmxEy7oUh72kVxWX8zMxxNRrUOHNx766FuTNVI+cbcW/yd+0Jd/6ukc0IGvfCyFzU/Rsa0zhzcd9QC3NnA42cb8S9yS+1J9y5QSObETbuSes+OsCZmZ00d+WG/VRj2mYu7j/SwtxZXyPnG3FvsoX2hDvmTvoFjnviY/c5+vn0jDxUc1fu5FEa0zRzcZ+shbnzmkbON+Le5BjtCXfMvV0fOu75qPsOGtI0c3F/WwtzZ4ZGzjfi3mQv7Ql3zH3QNnjcc1H32oM0pGXm4r6/FubOpRo534h7kw+0J9wx9xW58HHPRd3PH6AhDTMX97qZWpkzh2jkfCPuTZx/QnmOBrbDQNxz8a6qhce5Debi3jBbK3NmoQbON+LexPlVn67SwHaYiE4O6l67nUa0y17c79bKnBmlgfONuDfRlnDnbg1sh40jyoR1Py7Dde85VCOaZS/u62hl7mjgfCPuTbQj3LlQA9th5HTByE20nuK+lOHz7qtpQLPsxf11rcwdDZxvxL2JdoQ722tgO6ycC46/7pPW0oBW2Yu7+1tka+B8I+5NtCPc+Y8GtsPMG33x1/1qjWeVvbh/RytzRwPnG3Fvoh3hzmoa2A4zcY+/7rUTNZ5R9uJ+n1bmjgbON+LeaEftCHfe0sh22Il70rofl/5VxBy9q3qA7ctD2ot7L63MnQs0cq4R90Z/1Y5w58ca2Q5DcU9a9zMzW/d1NZxN9uI+UCtzZyONnGvEvdFvtSPceVMj22Ep7tGfmVl5roYzyV7cn9PK3NlBI+cacW90s3aEOx9rZDtMxT36uu+j0UyyF/edtDJ3/qyRc424N3pUO8KdZN/VSZOtuMde95PS/xZWcvbivotW5s59GjnXiHujI7Qj3LlfI9thLO6xn3e/VoNZZC/u52tl7jyqkXONuDf6j3aEO9doZDusxT3yY/cehi9CYC/ufbUyd7gVUyPi3sj9jZj+opHtMBf3yOvufk85Yy/ui7Uyd36mkXONuDf6o3aEO300sh324h533d+2+1l3e3Gv18rc+Z1GzjXi3mhv7Qh3FmlkOwzGPWnd9wtw3v1dzV2+5zWUPfbi3uD8v7/f0MC5RtwbfVc7wpmZGtgQi3FPeoT88yweux+nkewxGHfnd8s5QQPnGnFv5PxaIAbvFWAy7jHXvfZgjWSOwbgv1NKcWUMD5xpxb9RJO8KZcRrYEJtxj7nu39ZA5hiM+9FamjOnaeBcI+6NDtGOcMbeXfasxr3wgdbXhgyed988/SUnYzDuT2lpzhylgXONuDf6QDvCma4a2BCrcf+f1teWDB67X6dxrDEY97u0NGfe18C5Rtwb7akd4czaGtgQq3F/W+tr068yd+z+noaxxmDcnX+0KOE/CONG3BuN145w5jYNbIjRuJdwbjRzx+61D2sYYwzGfXUtzZltNHCuEfdGs7UjnLlLAxtiNO6lXJr1V+nXfVRFx+5/0CjGGIz7llqaM3tq4Fwj7o221o5w5lINbIjNuA/dXMtLJGvH7m9rEGMMxn2GlubMGA2ca8S9UW/tCGfW0cCG2Iz7QVpdQl/NWN2dfwzLCYNxf11Lc2a2Bs414t5ognaEM9tpYENsxn1frS6pjNV9A41hi8G4O7+609YaONeIe6NR2hHOfFcDG2Iy7tXXa3WJZavud2oIWwzG/UEtzZkFGjjXiHsj58FYXQMbYjLuZXxJPFt1X1NDmGIw7v/W0pwZroFzjbg3cn5jhWM0sCEm4/4vLa4Umar7dzSCKQbj3kFLc2aIBs414t5opnaEM0dqYENMxv1OLa4kWaq7ye8xGYz7qVqaM0M1cK4R90bO76swQwMbYjHuZX4YOcDdO0b9RnOXaJHzD2I5YDDuP9PSnKnWwLlG3BtVa0c4s7cGNsRi3P+jtZUqQ3V3/hk/BwzG/YdamjM1GjjXiHujudoRznDOPZGrtbaShTgzk+yuUcv7l37dEoNx30dLc2auBs414t7I+SWp+LRMEtXnam2l++oQjZGe8up+r37bEoNxP11Lc6afBs414t5opHaEM89rYEMMxv0hLa0cWal7vfNLW1TOYNxf09KcGamBc424NxqgHeEMlx9I4kQtrSxZqbvBk+4G487n3H0g7o2c3553ogY2xGDcd9XSypORuv9Zv2uIwbg7v68J31BtRNwbddGOcIZL/iZxspZWpmzU/VD9qiEG476uluaMwbsYp4+4N3pBO8KZvTSwIfbiPq5WSytXJup+j/PP2VbMYNy319KceUQD5xpxb7RQO8IZ7sSUQOWfFw3wicjSP+/+vn7TDoNx/0hLc+YFDZxrxL3RWtoRzjylgQ2xF/dHtbIKXJyBY/ct9It2GIz7QVqaM1dp4Fwj7o2c3+vyKA1siL24f00rq0SAMzOlHrt/W79nh8G4X6ilObOWBs414t7oaO0IZx7WwIbYi/u9WllF7B+7H6dfs8Ng3LfS0pw5WAPnGnFvtLZ2hDMGz/iZi/vMwVpZZcwfu6+s37LDYNy31dKceUUD5xpxb3SbdoQzEzSwIebifqUWVinrx+516b/r2waDcb9SS3PmHA2ca8S90UTtCGcMXrbIXNw/0sIqZr3ud+uXzDAY9220NGcMfkc8fcS9UTftCHdmaWQ7zMV9fS2scsbrvpt+xwyDcR+vpTlzkAbONeLeyPmnbAt9NLId5uL+shZW1Cr6/4sLUPdRx2vutpm71Z7BuDu/AMivNXCuEfdG62lHuFPyXf29Mxf3D7WwYgaNOlD/qTjTx+4v6zfMMBh353cxflAD5xpxb+T8VgGFwzSyHebi/oAWVsxNhZnJ6v7uKI2ansR1v0C/YIa9uN+ulbnzPY2ca8S90RHaEe7sopHtMBf3JHfquLwQQd3/pp83w17cz9XK3DH4r5P0EfdGq2lHuHO/RrbDWtyr67WwYs5o/MGEdbd73r1v+v+9U5y98PXQytxx93Z9hhH3RlO0I9z5qka2w1rcu2hdRS35J1Xmj90vmqCfN8Je3N/Rytz5g0bONeLeqEo7wp0LNLId1uL+vtZV1IwlP0rd3bIX94u0Mnde1ci5Rtwb/VY7wp2pGtkOa3HfXesq6qGlPzt0Y/3PxVH3ZOzF/VdamTsvaeRcI+6Nvqwd4c4ZGtkOa3FP9EHkz77bkvDYfbLZ8+6m6m4v7u20MncGauRcI+6NrtaOcMfeKT9rcX9N6ypqun6YurtkL+7uN+flGjnXiHsT7Qh3/k8D22Et7j/TuopZrJ9txHl3d+zF/VWtzB0NnG/EvYl2hDv/1sB2WIv7L7SuYi7TzzZJet59uH4+PZmru724u/8ssgbON+LeRDvCnS01sB3W4v4drauYw/SzSyQ9dqfubbEX9/9oZe5o4Hwj7k20I9x5RgPbYS3uSe6geo1+dinq7oi9uLu/cKYGzjfi3kQ7wh1Xd6Jwx1rcL9G6ijlcPyvU3Q17cd9OK3NHA+cbcW/i/G242RrYjgjinvS8+3sj9fPpGZmlz8zYi/tTWpkzBu+WEwBxb7JQe8KZ6jqNbIa1uP9e6yqmp372cwmP3al7Ufbi/rRW5swjGjjfiHuTQ7Qn3NlfI5thLe63aF3FrHhv6YR134kzM0XYi7vz28zaOy0aAnFv4vwmqoW3NbIZ1uJ+hNZVzOP62Waoe+XMxb2/FubORI2cb8S9ydILVLl0sUY2w1rcf6h1FTNPP9tcwvPu1L115uJ+shbmDnfZa0Lcm7ymPeHOmxrZDGtxT3KrnLpq/XBzHLtXylzc39XC3DlVI+cbcW+yvvaEO4lu/5wma3HfTesqamv98DIS1n2TAO+qHqq5iwtdd3Nx31ELcyfJOzrxI+5NNtCecGc1jWyGtbhfqHUVdbB+eFmGj93f09zFBa67ubjvoIW585ZGzjfi3sR9+czdoNda3O/Wuoq6VD+8HMPn3bNQd3NxX1ULc+cGjZxvxL3Jx9oT7pygkc2wFvfxWldRW+iHl8eZmUqYi3t7Lcwde3dCC4G4NzlAe8KdpzSyGdbiPrRWCyum1UM66l4Bc3F3/2G1ZG9tx464NzlLe8KdrTWyGdbiXrhHCyum9Vtkcd69fObi7vzqA4U7NXK+Efcm87UnHJqkoa0wF/ebtLBijtfPtoDz7mUzF/cWPxRVkc00cr4R9yXcJyBJu9JkLu4/18KK2Vw/2xKO3ctlLe6312hhzvRLcs4vfsR9ia7aFe5M1shWmIt7og80XKUfbgl1L5O1uD+mdbmzh0bOOeK+xDPaFe78VSNbYS7u3bWwoo7RD7eIupfHWtwP1brc2Uoj5xxxX+IN7Qp37tPIVpiL+3VaWFG/1w+3LOF594uo+zKsxf1rWpc7r2vknCPuS5yoXeFOkrv7p8lc3M/RwooarR9uRcJj9+P5RGRz1uL+La3LHWt/YSDEfYmva1e4c5BGtsJc3BckedNr8zbea0tad+e32mqT4bpbS98VWpc7X9fIOUfcl9hXu8KdtTWyFebiXjhJKyvqSv1waxLWnTMzzViL+0Falzs/1sg5R9yX2E+7wp3hGtkKe3F/Tisrqs1vpic87x7i2N3qFYCtxb3ly8NV4hSNnHPEfYkntSsc6quhjbAX95u1sqIu1w+3jmP3UhmLe30/rcudTTV0zhH3Jdzf6KvwrIY2wl7cH9TKihoxXT/dOupeImNx/4uW5dA8DZ1zxH2pAdoW7gzUyEbYi3uymxhvp58ugrqXxljc3d+HaQ5fUF2CuC91iPaFO8besbcX95pEe+9f+uli+Lx7SYzFfVcty52DNXLeEfelin4Vsiz/1shG2It7YT8trajLWrqP6vISHrv/hndVmxiL+xQty507NHLeEfelfqh94U6iL+mkx2Dc/6ulFTdRP11U0jMzab93afLY3VjcW7sjS/n20ch5R9yXcn8X1c4a2QiDcU90G9WGF/XTxVH35IzFfS8tyx2+w7QUcV/K/Ym/gq2H1mDch8zS2oqal+yTctQ9MWNx761lufOJRs474r7UJtoXDq2ioW0wGPfC37S24jrqp9tA3ZOyFfcbtSqHktwqIA+I+1Luryld+ImGtsFi3JNdOfNi/XRbeFc1IVtx30mrcoib7C1F3Je6PcmHMkpziYa2wWLck112u/4D/XhbEn4i8t28191W3D/RqtypHqyh8464y9PaGe6sq5FtsBj36mSXaPitfrxNCY/dz07/zMyQZDfmSqfutuK+mlblzp4aOfeIu9yhneGOretCWox7wjNX8xPfQDlh3XN+7G4r7q9rVe6so5Fzj7iL+w+6zx2moU0wGffXtLg2/EE/3jaO3ROwFfc1tSp3rtXIuUfcpUo7w6GeGtoEk3HvnOjDkA03Jr+TUsLz7rmuu6m4D56pVbnzTQ2de8RdPtTOcOgCDW2CybgnuwJBQ8M/9OMJcOzeJlNxn6ZFOZRsB+QAcZd3tDMcmqKhTbAZ9+9pdW2YV0LwqHtbTMV9oBbl0BMaOveIu0xq426dZeiooU2wGfcBt2t5bfinfj4Jzsy0wVTcH9WiHKJpwgPxmTHaGu4cpZFNsBn3wsdaXhtGlPLscOxenKm4H6lFudNbI4O4f2YN7Q13hi7S0BYYjft6Wl5bvqyfTyRh3XfK6fXdTcV9LS3KndM0Moj7Z/bR3nDobQ1tgdG4Tz9X62tDfUnXDqTuxViK+z3uz4ZuoaFB3D/zTe0Nh3bV0BYYjXvhWK2vLX8r6foQnHcvwlLc3d9jL9mN13OBuH/mAu0Nh36poS2wGvcrk97vcqx+IRmO3VtnKe7JrtZfkh01NIj7Z57U3nBoDQ1tgdW4F57VAtsyv6t+IRneVW2VpbifqjU59KSGBnH/zKy52hzuDKjX2AaYjfvpWmCbvlra6VnOzLTGUtyf0prcmZnw07U5QNw/d6V2h0Mra2gDzMa93/VaYZt+qd9IKOGx+7O5q7uhuM+arjW5c7SGBnH/wh+1OxwydAECs3EvrKoVtmlYiYd51L1lhuK+qZbk0AwNDeL+hUu0Oxz6vYY2wG7cx03SEtv05BD9SkIJz8zkre6G4r6RluTQ/zQ0iPsXrtbucOgEDW2A3bgXXtIS2/YT/UZSCY/d/b132aohAT8zYyju39CSHOLu2J8j7p/bRbvDodka2gDDcX+4TmtsW6kxoO4tMBT3rbQkh87W0CDuXxjm/uMyhcc1dniG417CrcQXTdSvJMWZmRXZifusflqSOzX3aGwQ92be1/5wyM47qpbjvuYgLbJtm5d64x7eVV2BnbivohU59LCGBnFvbnvtD4e+r6HDsxz3wp+0yAQOe0S/kxR1X56duO+gFTn0uoYGcW9uVe0Ph3bX0OGZjvseyW63t8RFJX5khjMzy7MT9+9pRQ5doqFB3Js7UPvDoTklVMsv03Ev7KtVJvHVUk/UJjx2z813Ve3E3cP3Bk3d2zIw4v6FnbU/XDJzyy/bcb9qsZaZxOWlvvOd9MzMAP18eoLU3Uzc+5d0pc9kbtLYIO7N1Xu4ROCLGjs423Ev/FfLTOTNUu+Yz3VmmjMT94u1IIeGJP9YbfyIezO7a4c4ZObOAcbj3q+ky/A85+nMTD6O3c3EfYoW5BC3YWqGuDfj4ftyH2jo4IzHvbCu1pnMr0p9V5W6f8FM3L+rBTl0rYZGI+LejIcrXRQS3kbOO+txLxyvhSbz7jj9WlKcmfmclbjXeXise2lsNCLuzdyrHeLSKRo7NPNxv3KYVprMygfr95JKeOz+t/iP3a3E3cMlIbn4QHPEvRkP34Yu3KKxQzMf98J9WmlCfZ/R7yWV8Njdbt1d/avCStw93GKvupRPXUWPuDd3m/aIQz/V0KHZj/v0nlpqQsNKu6tqBMfujupuJe7XaT0OHaWh0YS4N3et9ohDM/to7MDsx72wVakfY3tzpH4zIeq+hJW4P631ONRBQ6MJcW/Ow7UuCvtp7MAyEPfSvxRw+Nr6zYTsnpnpd6bmLs5J3Y3E/SwtxyXeT22OuDf3rPaIS49q7MCyEPc5Jd+4/vaxpd012+6xe4p1NxJ3H59Nu0hjowlxb25xqV99TGArjR1YFuJeuK30S/Ect1C/m0zSq4jFfGbGSNw7aDkO8X7qMoj7Mh7SLnFo7giNHVYm4l7OP3P6jy3pCiUcu1uJ+1pajkO8n7oM4r6M9tolLl2sscPKRtyrk918blnv3q3fToTz7jbivrJW4xLvpy6DuC/Dx3nAf2rssLIR98LCvlpvKeoHztavJ2H4MzPJjgMqrbuNuH+q1bj0W42NJYj7Mq7RLnHpLo0dVkbiXng++S33mlnpljn6/QTyfuxuI+7/1mpcekBjYwnivoz6BdomDs3cTIMHlZW4F/6nBZeob/fkec/5sbuJuNeO0WocGmLm1jg2EPdlra594lKyA0XPMhP3mnLvpXP++qM0RJsSHrtP66yfT08ax+4m4v6kFuPSpRobSxH3ZV2ifeLSFRo7qMzEvTC8xMsQfGGlt8ZrjLbkuu4m4r6hFuPSahobSxH3ZZ2pfeLSNho7qOzEvbDN/lpz6eomd0x2D76EZ2airLuJuB+jxbhk4p/IhhD3ZW1e2jcek+mhwUPKUNwLnSZp0eU4/+ZXNExROT52txD3WYlPoZXgVg2OpYj7co7WRnHpBo0dUpbiXti7sjth3jnltrb/Ozq/dbcQ9/e0Fpf20NgQ4r6c17RTXNpNY4eUqbgXvqNVl+3GP13X1vn33NbdQty7ay0uraexIcR9OS9pp7jUu6zPbruVrbgXqrTsSqy8a/vTil0UeOiX9IPFHeDh47Ft8PuJSAtx93DnhMKxGhtC3Jezi3aKU89q8IAyFvfChlp3hepO3rHqxBOuXLbP/Z7e7j+vXjAt6ZX2Y6u7gbjvX9L1gBLiK0zLIe7Lqd1aW8Wl/2rwgLIW95pPtXA3Bu1/zbSdJl88efIB084q+dKBkZ2ZMRB3H5f5mGDg38e2EPflva694tJDGjugrMU96YcVUxFX3Q3EfTctxaUtNTY+Q9yX9y/tFadO0uDhZC7uhaHlflXVg6jqHj7ui3yc6HpVg+MzxH1507RXnPqKBg8ne3EvzNxIazdg2jgtKj3e6h4+7pO1EqfO1uD4DHFfXl1vbRaXwv+TMYNxL9QY+vzDpvHUPXzcv6OVuDRnmAbHZ4j7Co7UbnGpX/D7f2Ux7oXC37V6A+Kpe/i4r6mVuLSdxsbniPsKztBucepjDR5MNuNe+H691h/e/bF8IjJ43E/WQpy6RIPjc8R9BQdotzj1Qw0eTEbjXth+vv6A8GI5dg8edy+HT8nuL54rxH0Fi3xc0+iqWo0eSlbjXjin/GtEuhbi2P2rmru4kuoePO4TtRCXpldysblIEfcV+bhhR+F+DR5KZuNe6Hqn/oTw4qh76Ljf6OPrqetocHyBuK/oLe0Xpx7V4KFkN+6F4TvqbwhvlRjqHjruXrbiBhocXyDuK3pC+8WphzV4KBmOe6FmrJlvlsdw3j103H3cp6PwNw2OLxD3FdV30YZx6nCNHkiW414oXGjmxHuIuh+nuYtLXPfAcR/RT+twacIijY4vEPcWdNSOcWpVDR5ItuNeWGsn/R3BZb/ugeN+oJbh1EcaHM0Q9xZ8qh3j1NoaPJCMx71QPXaW/pLQVvHxFebi3J53Dxz3B7UMp36rwdEMcW/B+doxbl2j0cPIetwLhb0e058SWtaP3cPGfb6PTxoHfnEZRdxb4uPr0YHfz89+3AvDPw39ZQHJeN3Dxv1qrcKp4F8jMYm4t+QX2jNOPaXBw4gg7oXCGjvrrwks23UPG3cfl3IvfE+Dozni3pKPtWfcWlmjBxFF3Atzptg48/5E+ufd5zg77x407ouHaBVO/Uijozni3pIRQ7VpnAp6XiaOuBcK24b+qu9S92b42D1o3H+kRThV3Vejozni3qLdtWuculKDBxFL3As1Hc/XnxRUhuseNO4faRFObaXBsQzi3qL7tGvc2lSjhxBN3AuFkVMG648KKbtnZkLGvf8cLcKpKRodyyDuLVpFu8atf2j0ECKKe6GwzZsGLvOe2WP3kHHfSGtwaxWNjmUQ9xbVXqVt49RVdRo+gKjiXiisPTDgYylZrXvIuN+hNTjVxc4dXUwh7i37j/aNW4dq9AAii3uhcEi74J9tzmjdA8b9vJlag1NbaHQsi7i37HLtG7d+ptEDiC7uhcJDU2/XHxdKgLpPr7zuAePu5R5MfBCyFcS9ZZO8vPHTO9wd2iOMe6HwwpTA+zeTdQ8Y94e0BKf4IGQriHsrvFx0unC5Rk9flHEvFCas/6T+wDAe6KyFpGfOzzV3ca3XPVzcd9EK3OKDkK0g7q3YQTvHre01evoijXujuzbycPvMPvuu867+Y3H3bq1lpKfSY/dwce+uFbj1qkbHcoh7K07SznFraLB/QcYb90JhQPvjnX5eov7i3w0pFEYlq3v2jt2Dxb1uT63ArZ4aHssh7q15RVvHrX9p9NTFHPdGY9Y/21Hf636z/sKlYyase+aO3YPF/UtagFsfaHQsj7i35g/aO27drdFTF3ncGz19xH7z9ceW7favnjhbwzWKtO7B4u7lNh1BvxpoG3FvzbPaO449oOHTFn/cG8056NgKLgq8y8snLHfJwjjrHiruK/m4eWqhYOYGjOYQ99bUNTuEc+gXGj5tuYh7k9lvbHhAyXdLnnXAsQ+O0QDNJaz7tEyddw8Vdz+fUegS/qvKVhH3Vv1Qu8etBYEuepWbuDcZMvH/9n32Hv3lbRhx/ye/3L3VY8qEdT88S8fuoeJ+m+Z361SNjhUQ91b9XLvHsQM1fMpyFfclah7e8hff3nFaqzt83rSN/zX2yG30062JsO6B4u7nQ+6FUzQ8VkDcW7XIz7+1V9fwKctf3D8zZ+FDzz/4f927f6vqX1OnHltV9d/u//fgHduuNVL/57bEd2YmUNzX1/RuDfHwJYdYEPfWna7941Z1mHtN5DfulRqZ7HJv2al7mLgP9vP4vKHhsSLi3rrR2j+O/VPDp4u4ly1h3UOcmRmtuYtbru5h4r6rZnfsJxoeKyLurRs2QBvIrfFB7vFM3MsXWd3DxP0Zze5Wv4Rvm+cScS/i39pBjl2g4VNF3CsQV92DxN3T26mva3i0gLgX8aF2kGPbafhUEfdKRFX3IHE/QpM79qaGRwuIexHzR2kLORbiSkfEvSIx1T1E3D29nTp9M42PFhD3YnbTHnLslxo+TcS9Mgnrvmn6d++Y8yXNXdwXdQ8Rdz83xi7sreHREuJezE+0hxzrXfEFrkpH3CsUT91DxH1bze3YrhoeLSHuxUzydF5mI42fIuJeqWjOzASI+6FLZ3ZtKPkqhkenqPW0ixzrpOFTRNwrFsuxe4C4v7FkYuc4K1MUcS/qOe0i187W+Okh7pWL5Ng9/bifNHPJKp3jG0xFEfeiFnl6na6r8dND3B2Io+7px/07Sxfp2qjFGh8tIu7Ftdc+cmzmWRo/NcTdhSjqnnrcRyzQIh3bQuOjZcS9uN9oH7n2P42fGuLuRAx1Tz3ux2qJru2n8dEy4l5c7R7aSI4NSPuaGMTdjQjqnnbc6z/QCh17pOQbbuUMcW/DatpJru2g8dNC3B3Jft2/r/+Qlo+1PteO0PhoBXFvw+HaSa6tWa8JUkLcXUla9y76+fQkrHvat7d4Xstz7VmNj1YQ97bcra3kWrKbpDlD3J1JWPd3zNY9XU/WaHWO7VGrCdAK4t6Wt7SXXPuuxk8JcXcnYd3vTf/MTMJvM6XqWq3NtTA3vckS4t6Wk6q1mVybpgnSQdwdsnve3V7dz52jpTlWc7ImQGuIe5u+q93kWkeNnw7i7pLhuv9Kc1txsxbm2kSNj1YR9zb9SLvJtZmPaYJUEHenOO+e0PzZWpdrn2gCtIq4t2lwb20n11L9vDFxd4u6J+PrC0xD+mgCtIq4t+1E7SfX+p2nCdJA3B2j7kksWkuLcu01TYDWEfe23a/95Fx3TZAG4u4adU9gXy3Jufc0AVpH3BN4RRvKtQEp/tOSuDtH3dtUd7RW5NqedZoBrSPuCXxbO8q5Kk2QAuLuHnVvy0Ctx7lLNAGKIO4J7D9UW8q1MbdrBv+IuwdJ657XT0TWr63luFazsmZAEcQ9ide1p5x7URP4R9x94Ni9qHZajHMpf707o4h7Er6ua1cYM1gzeEfcvaDuxXTSWpy7WhOgGOKexKLx2lTOpXblX+Luh9269wt+ZuZMrcS5R2ZpBhRD3BP5p3aVc6kduhN3Tzh2b9VELcS5RzUBiiLuifzF0+3bC4WvaAbfiLsvCev+du7q/p6W4RzXDEuGuCfza+0r554ephk8I+7eUPeW+bpJB2+nJkTck9lP+8q9H2sGz4i7P5x3b8mzWoN7vJ2aDHFPpv5hbSznUjp0J+4ecezeAl+Xyi50Sekfu5lH3BP6lnaWe+kcuhN3n+zWvd9+mjttF2sB7q2mGdAG4p7QvH7aWs6Nma8pvCLuXhk+dn9Oc6erdivN71x1D02BNhD3pNbT3nLvDM3gFXH3K2Hd7/T2jYlWham7ty+nFn6tGdAW4p7Uu9pb7vVO40kg7p5R9+bqfF1VplD4uaZAW4h7Yndrc7n3X83gE3H3jbo386mmdm/Nek2BthD3xF7S7nJv1I2awiPi7l3S8+6P6OfTk/q7qrfvqZnd66Up0Cbintj8cdpe7h2hKTwi7v5x7P6ZP2te94b31xRoE3FP7n/aX+4NPUxT+EPcU0Ddl+rv7wL2v9AUaBtxT+78udpg7nXQFP4Q9zRQ9yW8XWevUNhFU6BtxL0E62qDuVf9jqbwhrinImHdd4n6vPv+wzWne89rCiRA3EtwtnaYB943LXFPR8K67xzzsfs3NKMHBu5Akh3EvRTnaIt54Pu4irinhLqf5O3L3IWD+RxkCYh7KX6kPebBUYM0hyfEPS25PzOzhabzIKVLqEaCuJdikb+P7xZu0ByeEPfU5PzY/YAazebeuEmaA0kQ95J8U7vMg0f8foCXuKcn13Wv93ju8hLNgUSIe0lWGqlt5sHvNYcfxD1Fea77XzWTB/2u1xxIhLiXpr32mQdzztccXsybhvTcqUe9DU8GOO9+pub2ZMQYTeTBPpoDyRD30jzm7U7ZhcLvNAdyI766d9c0HtTwBabSEPcSddRO86DmbM2B3Hhytp789Hit+8r+PgZZOEhzICHiXqLD/X0WoHBbnSZBbuzs8TRGK3yed/+15vBhE82BhIh7qbppq/ng+eOQMCiqur+nGXzYS3MgKeJeqsnaaz6Mm6dJkB8R1X2QvxvaFAqXaxIkRdxLdpc2mw9XaA7kSDx1P1bD+3AlVx4oFXEv2Y7abT5UP6FJkCOx1H0lf5dxLxT+pEmQGHEvWf3B2m4+PFOrWZAjkdT9RI3tw56zNAkSI+6l83fz30YDNQnypGcMn4h8x+N3QLh1ahmIe+mG+TzOGt9HsyBPIqh7/TMa2IcuXDKsdMS9DC9rx3nxf5oEuZL9un9Fw3qxgSZBCYh7Geb7fCFWP6tZkCtZP+9+fW+N6sMC/j1bBuJejj9rz3nxyiLNglzJeN1305heTNEkKAVxL8ckr/+GPkOzIF9uynLd99OIXgzYTLOgFMS9LGdo13kxsodmQb5kuO4jntaAXnCTjrIQ97L4PXQ/RrMgZ7Jb9/U1nBcDqFRZeNjKU6V958cFmgU5k9W6P+HzI+6Ff2oWlIa4l2dxF208L8bw4YCcuuYFbYH09DtOc5dv0FMay4sJm2salIa4l+lV7Tw//qNZkDeZPHb3++/YP2gWlIi4l2mEz4skFWq+qmmQNxk8du/h8bbxhcIAroNdJuJeLr+H7nuM0DTIm+zV/QQN48fXNQtKRdzLtdjva5CrEORW1ur+Iw3ix9b9NQ1KRdzL9qJ2nx81F2sa5M5NV2kTpGf6x5q7dH39XhWHr/SVjbiXbVZXbT8/tlmseZA7mar7DI3gx/j5mgYlI+7l21X7z5NfahrkT4bq/ol+35MdNA1KR9zLV3eINqAf1WdrHuTPnVk5737SAP26H3sM0zwoHXGvwCnagZ505RMz+ZWRY/f67fTLnmykeVAG4l6B2q20BT05UfMgh+4cr12QnumlH7sfq1/15OBBmgdlIO6VeFd70JcKv1yCLMvCsfvOQ/SbnuyoeVAO4l6R1bUJPZndV/Mgh+zXfdA5+j1PzqnVRCgHca/ItBptQ0/e0DzII/N1v0+/5ctFmgdlIe6VeVDb0JeBmgd5ZPy8+6ZD9UuevK55UB7iXpmz+mkjerLgfE2EPDJ97D7sFf2KJzOv0UQoD3Gv0P+0E325tE4TIY9ONlz3f+gXfLlC86BMxL1CfbzetaNRlSZCLu0c4MzMaM1d3C7V+nlPht+oiVAm4l4pv9cPKxTm/k0TIZfMHrvXHqEf9+Q+zYNyEfdKLXpfm9GXh7nmaa7tHODeTImO3Wuv0I97MYYL51WKuFfsY+1GbzpqIuRTPo/d/6RJUDbiXrlu2o7ecIGNfMtj3W+r1xwoG3Gv3OGe31kqjLpTMyGfclj3dzUDykfcHfieNqQ3dw/WTMin3NX9Oo2PChB3By7zevf3JutrJuRUzt5VnXOShkcFiLsLN2tP+sPl8XIuX8fu/9TgqARxd2HWwdqU3gzntHvO5anuL9yjsVEJ4u7EcdqV/jzEjYJz7qb8nJnhY5BOEHc39ta29Od3mgl5lZtj9734GKQTxN2Nw+ZoY/rziaZCXoWo+ymauyi3da9eRcOiMsTdkT9oZ/ozZ5qmQl6dvFB7IT0B6v5/GhQVIu6OzN9DW9OfPTbXXMirx3JQ93HzNCYqRNxduVp706PXuaVk3oW4e8dzmruo2hP14xXj9KMrxN2Z57U5Pfq7pkJuRX/sfhrvprpC3J15cq62pz/ViQ6iELPIj92rH9BwqBhxd2c17U+PJvTUXMituI/dT9RgqBxxd2fSNtqgHr3PnTtyL8QnItM6dn+EILnDY+nQr7RDfTqIG2bnXsTH7l/TSHCAuLu0rraoT1xTCdHW/UI+D+YQcXfpxt7apB7VXKDJkF+R1r3fzhoGLhB3p17SLvVp+DuaDPkV53n3DTQInCDuTtU/o23q01W3ajbkV4zH7gcP0xhwgri7tctQbVSfOnH5XwSo+1C/da/ZRCPADeLu2D+0U736I9/iQ3R1/49+H44Qd8cm+b+AWCM+MoMgZ2Y8nnd/geviOUbcXXuvRpvVpxo+D4zIjt25TbBrxN25a7VZvZp+vGZDjsVU94/0q3CGuDvXJ5VXXJcemg45Fs+ZmXE36jfhDHF370ztV78+6KvpkGPRHLsP1O/BHeLuwWvasH7tNUnTIcce21PbIT0+6v5drjvgHnH3YKXx2rJ+zRik+ZBjK8dQ9wGP65fgEHH34TntWc/aazrkWQx1v0G/ApeIuxcPatN69qqmQ56tHOBd1Y81d1GJ31XdjpMyPhB3L+bN1rb1q+ZPmg95dlIKd4lZjtNj91GH6efhFHH342rtW8+GXqz5kGcBzsy4PHb/VD8Nt4i7J9dp43o2gfsJI+N135KTMn4Qd0/6PK2t61mXazQh8izDZ2Z6X6YfhWPE3ZfJaVxjptHCkzQh8iy7df+BfhCuEXdvvqHN69vRfHEb2a37G/oxOEfcvbn9EG1f317ZTDMiz7JZ90e4ioY3xN2fJ+ZqA/t2KXdmQkbfVU10GTKUhbh7dJ82sHfduPkkGhrOz96x+xX6CXhA3D0adI62sHfX1WlK5NlhWTt2v5J/c3pE3H06bLg2sXcPUndk7th96Cr6P8MH4u7Vj7WL/buWe2aj8XAipa9XNDM9Wd1bOnY/Q/9HeEHc/dpe29i///A9P2Tr2H0N/rnpFXH3q88e2sj+ra8pkWsh6n655i5qhbr35iLufhF3zy5K6/OQhcJ3NCVyLTN1P1D/e3hC3H37u7ZyCv6gKZFrGTnvfq3+t/CFuPtWd6E2cwou0ZzItUzU/ShuAewbcffu1i7azilYTXMi185/WPshPaWemZnzjv5X8Ia4+7dfSteHbPJ9PjODLNR9qv4X8Ie4pyCt60M2OZHPu8N+3Tvqf4RHxD0Ft2+7ZEOng7qjUY+1tB/Sk/Dz7k3n3bv21/8Ej4h7GlZesHT7p+J3fDUEto/dhx6g/wyfiHsqnkvxtHthvUGaFXlmuO7/0n+CV8Q9Hbdo+6ei4yzNijyze2aGd/1TQdzTMWgNbf9U3DFC0yLPzB67IxXEPSU3jtf2T8U5m2ta5Bl1zzXinpZDZ2r7p+KQ8zQt8oy65xlxT80G2v3pePgwTYs8e5y65xdxT039ltr96Rizi+ZFnlH3/CLu6dk8vWu7N9n6Cc2LPDsrwGdmqLsJxD1FT8zR7k/H8C9pXuTZWekeUzSh7iYQ9zS9qc2fkplcnQmcmckt4p6qX2rzp6W75kWeUfd8Iu6pGvS8Nn9a9uFSBKDu+UTc07VSV23+tBzEl1VB3XOJuKfsnVHa/GnZq69mRo5R9xwi7mn7QZoXiGyy5mOaGTnGZ2byh7in7lHt/dSMO1QzI8ceT/uEYKEw80DNjSCIe+rqj9TeT83cH2tq5Bh1zxvinr7N1tTeT0937r2Hkzgzky/EPYAeXbT307P9JM2N/OLYPV+IewjvTtfeT89Tf9HcyC/qnivEPYhPtPVTtHBTzY38Omkb7Yb0DN1YcyNtxD2M/2nrp2jkDzQ38uukp7Ub0kPdQyHuYdS/rq2fptXqNDvyamo/7YUUzdDcSBlxD2T+Xtr6aTpoM82OXBr2Q22ENN3dX7MjZcQ9lPP21OZP0wdPanbk0F/O0TZI01W8kx8KcQ9m07SvMtNk+IeaHblz6GxtgjRNeEezI3XEPZyNq/UCSFPNJXyfKZdqb56pLZCmoV/V9EgfcQ/oBr0C0nUHl4nMoXt209OfLi58ERBxD2k1vQTS9fTfND1yY+e19eSna1VNjxCIe0i139OLIF1zqzQ/cuIHId7fKRTWq9X8CIG4BzXrDr0MUvbvxVoAcmDYN/S0p2y7WVoAgiDuYd2zrV4IKXufz0Tmxk236UlP2dp8qyIs4h7YrWvppZCy4VyMICd2Ha6nPGV7nq8FIBDiHto14/RiSFsHrgKcAyNe09Odtt5vawUIhbgHt9McvRzSduXhWgGitWn6N4ZZauTZWgGCIe7hfRji2yVN5nxFK0CcansFuE7YEkO/pCUgHOJuwMAavSRS9/rmWgIiNO/XeppTV7OrloCAiLsFL+o1kb6n39USEJ3fLNSTnL5jtQSERNxN+K9eFOmb+Xcu8h6lRV8PdbavULhEa0BQxN2GX+plEcBWJ2sNiMidp+npDeAKrQFhEXcb6v+tF0YAQ3rxLfHI1E4dqSc3gDf4t6ANxN2IRUfqpRHC3jdqFYjCWRfqiQ1hdS46YARxt2LwOnpxhPDI5VoFIjBwgp7WEHbnskVWEHcz+ge6BMhSp96jZSDjrt9bT2kQd43QMhAccbfj3Lv1Aglim020DGTa1VvrCQ3ip320DIRH3A3pe5ReIkHUdOAqfpnXp72ezTBe4UtxhhB3S/YPc7+cz4z5WOtARv083PeWmhzMG/OWEHdTLuuql0kg+/Cv6gxbaZ9g17FY4ujztBCYQNxt+cvDeqEEMn5jLQSZ0262nsRAnj5JC4ENxN2Yw/bUSyWULeZpJciUHgfpCQxl4WFaCYwg7tY8dpVeLKF0nsoXVjNnUK9A91v63OxrtBRYQdzNOXmMXi7BrMHrNGPuDXglmaVe4Ka85hB3e558QS+YYPrdN0xrQQaMWD/cBSDlqpu0FthB3A26KewH2pocfbHWAvOOC3SP9WaefkxrgSHE3aKTQ7+rWijUnMobq5lw3m56xgJaq4cWA0uIu0mH7aGXTUBb38ClW80b9NsBeroCepjPQJpE3G16/AO9cELa9iKtBkZt8oqeqpC2OUurgS3E3ai/rKmXTkg1Hf+i5cCgwzrqeQpqzcu0HBhD3K3a/xC9eIIaNYXPzRg1acocPUlBvX+r1gNriLtZfS38k7tQOPhLWg8sqW33tJ6gsK7kejJmEXe7zg16944vvM4dtM25/xw9OYH99FwtCPYQd8P6X6qXUGBD2/fVimDC9e2r9dQEtk5/rQgGEXfLhr2hF1Fovatu15IQ3KJeBj7+uMTeg7UkWETcTVu0nl5GwXXdkcuJmVD/ZuCrQn9hi0VaE0wi7rbVX6EXUngT79eaENBxD+npCO+Ieq0JNhF366r0UjKg2ztaEwI5YDs9FQZ015pgFXE378Ww905rrrojN2QI6BoTX1paqubbWhTMIu72fW2uXlAGDG3PPZADOb998Av7fmHml7Uq2EXcM+BDE19FlOGX8PG3AG78xVA9ARb0O0XLgmHEPQve7awXlQlbn7FY60JK+vx3lB58E3r/RuuCZcQ9E64Jfz+G5h6pIu8puufVcXrgbVirpxYG04h7Nlxv5FIEn9l6CidnUrL5FFtpL9zNpUKzgbhnxOJj9NKygryn4twpC/SAW3EHz3tGEPesmPU7vbjM2Pqte7Q2ePL4Nyy9l75Eh1laG6wj7plRO0UvLzsmjOWCrx6dNdZc2gtjuQpFZhD3DNnB0AedZXqHm7Q4ONazg6HvN8jMH2txyADiniWXj9SLzJCZ6x2u1cGhadsbuapvc6NGa3XIAuKeKdOu0svMkppjjtfy4Eb9md302JrywipaHzKBuGfLZcY+Eimn/YSrvzqz+KWD9bDa8tD5WiCygbhnzCQr9+9Yzvgp87RCVOQ8ax9r/8wxfAQyY4h71hj80MxS/To8qSWibNMMvou61Ng6LRFZQdyzZ6Pper2ZM3E0H5SrwKx2z+iBNGf6X7VGZAdxz6BNTF1HbBnv/4sdVaa+G4zRg2hPl520SGQIL8UsOnlNvegMGnI6t+Mrw7On2vvC0ucO6aFVIkuIeybd82u97ExauxcXjSxJn6lP6aEz6QTeSs0k4p5NdavZufleCwYcsYsWirbUX/xgPz1sNn2Ht1Kzibhn1YEGv63a3F4/7qOVoojLNthGD5hRc3grNauIe2a987Beflb16ziaY76i6iZ3tPrJx8/syTsomUXcs2tzk99RX8bC7odpsVjBY1Ns3V+rJevsr8Uie4h7hg36pV6ChtU8vxFvx7VgpRsuNf2uyVK3DNJykUHEPdN+YvzE+xL9ZgycpPViiWGjO5r9Ilozc/6k9SKTiHu2PbCHXoi2LdjnPU6/S90m11q7c17Lur6jFSObiHvGrXSkXorWXXXLKlyboKH+3SPG6wGx7gTakHE8gVlXW2Xv/kyteHrs5Hyfw+3ZfaEeCvNquvNPrawj7tn33my9IDNgzC82yWk0Bh069mk9CBnQ+RQtG9lF3CNw60S9JDOhy8++NEwLz43Bp5y+tf78TDjnJC0cGUbcY7Dolgx8rK6Z4bttlKPPT/f90/ZZ+FDTF2q+M0tLR5YR9zg811svzMw4qvtFeXiDtWdVN+tfQl3egHZaO7KNuEfisW310syQPa8YHfXlIxd/3D4zb6B+gVMysSDusRjWvVqvziyZ2an75CjvrV0/raqb7Ys9tqI9p2RiQdzjMbqLXp8Z03ndqZHdDOL8Tzoavct1W/iUTESIe0Ru3U4v0ez5oP2PLtNfkXG3vnltV/1R2cMpmZgQ95jUbZC1N++a63rqnzJ+BH/eD9obvgFim6p/H+UZstwi7nE52/5VZIvac4upPev1t2RK/S4/fs34bTfa8vRv9LcgDsQ9Mpvtppdqdg3otuqZ8/TnZEL/yTdvmY1rgRXz4Gb6cxAJ4h6dfUfp1Zppa7720rQMnCSYtcpL37syW98ga9mAXfUXIRrEPT6PbaUXbNZNv+3aHc42+0n4wavse+I5mfy0YwueiezzSmhE3CM0aIOhes1GoPr966ouvl5/mRH7v/fya4dk+b3r5cydwh2XIkTco/T2Q3rZxqJ3pw5Vo3uEv15B/2kDu88Yo0XFYo+d9NchKsQ9ToPXj+FE8PI6X9p+w4973q6/MVWLTj7u5fbPX6WFROX0e/Q3Ii7EPVYXZ/CyJsnUPP38z6o+PDylJPU//PINv7H3wRGd6FrWmNH6QxEb4h6tzdbTyzdWC+7e+4pvfu03PbxcDGXW+Rf94OVf7nZapi7DXoYtKEC0eGojdvUjegXHrWb8K6u/dssZu+437bIKOz+ob89NfnLs7089stOYGM9qrWg8l5KJGHGP2bnX6UWcG8P3fGWNj743dsqxf2p38aHTevbou1nrb8KO2OzWHoef/fN2X+71Vvf2695x2x4TNEhurLe5HgrEiLjH7fKs3Gvfn5mdO3e+qmujtTs1ObjpP67VubP+rzk2+0NtEsSJuEeuT3u9lIFldDxXWwSRIu7ROzPaj82gfI9coO2BaBH3+N3TPh/vDiI5DttzgLjnwcUZvxgt3PpgsjYGYkbcc2HwlOl6XSP35o6dpG2BqBH3nNjlGb20kXO3PaAtgcgR97yoHRj7ly2RwMiqOm0IxI6458eNHfQCR27tfb42A+JH3PNkv4f1GkcujWmnjYA8IO65Mv/RaK9uiLYM/T7X9s0V4p4zJ5+glzpy5sJdtAWQE8Q9d0bzofccumpg+NtYIV3EPX/mT5mjVzxyYujYEXrykR/EPY8O66gXPXLhjp564pEnxD2fJq+t1z2it3CgnnTkC3HPqWGvjtJrH1Ebecl8PeXIGeKeW+e1n6nXP6JV0/EkPd3IHeKeY9dsqQQgUnc9q6caOUTcc23y3aoAInR0Oz7+mGfEPd8GTZ2tEiAynauG6UlGPhH3vFvMp95jNLQ991rKO+KOsx7kNnyx2f4xPbnIL+KOhoYn+VJTVHb/jZ5Y5BlxR5Nn11EXkHl3c2FfNCHuWGrytmoDMu39gfV6RpFzxB1S3+5o9QGZ9fTUQXo6kXvEHZ9bNHWMGoFM6lJ1u55KgLijuUlVXdQJZM6CmxfraQQaEXcsY/EZj6gVyJQFl/BaxjLYEFjOpF6cnMmcCd0309MHCHHHCsh7xmw9pY+eOuBzxB0tmN/rKnUD5nWZ0l9PG9AMcUeL5v+LvGfC+Jcn6SkDlkHc0YpZX35f/YBZV/UarKcLWA5xR6vqR9+lhsCko0k7WkfcUcxFM7hipFUT29XpWQJaQNxR3Dsd5iomMKR6BnfQQ3HEHW057IqRKgqMGHLFynpygNYQd7Stf6+1VBUYsGDseXpigNYRdySx6Ad7qSwI7MqvzNeTAhRD3JHQNE6+h1fdbXStng+gOOKOxK6fMk6NQRAD2u+spwJoE3FHCRZ/5W51Bqm7e1++i4oSEHeUZlr7IYoNUsT5GJSKuKNU51Z1VXGQktndz9eDDyRF3FG6+skdeXM1NdXd2s3SAw8kR9xRlr9cwjXfU7HwkpP0kAMlIe4oU+Ph+3QFCJ40HrQP0sMNlIi4o3ybTb1NFYIHe3KmHRUg7qjIE//XWymCU0N+d3G9HmOgHMQdFRrWbsZMBQmOVE+ceo8eXqBMxB2Ve/zVV1QlOHBI1V/0wALlI+5woueUD5QmVGRc+4v0kAIVIe5wZdrYFxQolGnOjHaL9GgCFSLucKducocJyhRKNmfGQE60wx3iDqcmXd1xlGKFEoxc92ouCwaniDtcu310hwVKFhIZMmPgCD14gCvEHR7UXcT596QoO/wg7vBj0MUn0vc2zb72cm6aBz+IO7ypn1Y1sUYVw4q6jp3MlWPgDXGHV/sP7DhcLUMzMydWccs8eEXc4dvgyWP3VNKwxLiOA/vowQF8Ie5IQe20m9cZqrLl3Nzdpzxbp4cF8Ii4IyXzJ3fvlPcz8F3bt9tMDwfgGXFHivZv1/4qdS53RnWrukYPA5AC4o501W9adUzurlEw58L7/sa5GKSLuCN9dT2ndtxa3YveqIndJ9+uPxxID3FHID2mdoj+QzQTulVdNEt/L5Au4o5waq+54fT3Y32T9ap1X3ybG+UhHOKOwO65qGpGFwUxEsMnjh3YU38eEAhxhwU9Bo6dOF1pzLSZR3XodRE33IABxB1WTPrbV37WqZ8imUEzr7zu5Z24KDusIO4wZVDPgd1nZO6TNBM6NR6v03WYQtxhT+3KO97X8ZBsXK/g4de/vnGPWi0csIO4w6pF1+z49wfvNnsmfvrau/1h11X6a7GANcQdti2688Nv/We7PS19YHLc7tee8dxjXIodthF3ZMLtT57y8hXdHp6pvgYx/ehuP3vrJ387V0sCTCPuyJJZPX7ztW9esffdqd6Be/oeF55+38B3/8LVYZAlxB2ZNKLnrz6d8os3Jh7s7T5PQ7pOXHfsq7v+/EmO1JFJxB0ZN/jxA0ZvdPPY7320zitPV3i5yZF7PrTdbj979IxPNj7+Tt4pRcYRd0Sn3Sc3VP29+zfaX/fHbut0Wrtro/GdGw1p6veQpv+0TeP/as1Onfbq9uuOP1y/+1svT/3Rh/pVIBrEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIDoNDf8P/3zJBOKX8EAAAAAASUVORK5CYII=)}.tile:hover{border:1px solid #000}.tile:hover .title{text-decoration:underline}.title{background-color:#ffffffb3;padding:4px;text-align:center;position:absolute;bottom:0;width:calc(100% - 8px);left:0;font-size:16px}.title:first-letter{text-transform:capitalize}\n"] }]
12359
+ args: [{ selector: 'fab-category-tile', template: "<mat-card *ngIf=\"!DisplayNoPhoto()\" class=\"tile\" (click)=\"Select()\" [style.backgroundImage]=\"getSafeUrl()\">\n <mat-card-title class=\"title\">\n {{ TranslateService.GetActiveValueCategory(category.id) }}\n </mat-card-title>\n</mat-card>\n<mat-card *ngIf=\"DisplayNoPhoto()\" class=\"tile no-photo\" (click)=\"Select()\">\n <mat-card-title class=\"title\">\n {{ TranslateService.GetActiveValueCategory(category.id) }}\n </mat-card-title>\n</mat-card>\n", styles: [".tile{margin:5px;width:150px;height:250px;cursor:pointer;background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;border:1px solid #EEE}.no-photo{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABdwAAAXcCAMAAAAP67xWAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURe3t7dvb28nJybe3t6qqqpycnJWVlYiIiHx8fHV1dWZmZl1dXVVVVUVFRT09PTMzMyUlJR4eHhEREQICAgAAABQUFCIiIikpKT4+PkRERFRUVFhYWG1tbXd3d4KCgo2NjZ2dna2trb29vc3Nzd3d3e7u7uzs7NTU1Lm5uaKiopCQkH5+fmxsbFtbW0lJSTc3NxMTEwEBARAQECAgIDAwMEBAQFFRUZOTk6urq8LCwtfX1+/v7+np6dLS0qCgoISEhFJSUjo6Oh8fHwcHBxwcHDU1NUtLS2FhYZiYmLW1tfDw8Ojo6MfHx6enp4eHh0ZGRiYmJg4ODisrK6Ghob6+vtzc3Pv7+/b29s/Pz4uLi2tra0pKSioqKgkJCQUFBSQkJEhISI+Pj7Ozs/j4+L+/v3BwcEdHR0NDQ2dnZ9/f3/7+/vz8/NnZ2a+vr2BgYAwMDDQ0NF9fX4mJibS0tN7e3vLy8sTExDY2NgoKCgsLC15eXurq6uXl5bKyshkZGW5ubuDg4KmpqXJycj8/PxISEqampv39/cPDwxgYGA0NDTs7O/T09Lq6un19fTw8PLu7u39/f+Pj45mZma6urmhoaCgoKGVlZczMzAYGBhoaGqioqExMTAMDA9XV1fn5+WJiYhYWFldXV6SkpObm5peXlwgICAQEBJaWlufn5+vr69jY2IODg/X19XFxceTk5DExMff390JCQqWlpdbW1g8PDzg4OCwsLPHx8TIyMs7OzmRkZBsbG4CAgMjIyMvLy1ZWVri4uC4uLvr6+iEhIfPz8xUVFXZ2dtra2uHh4Wpqam9vb8rKytPT0y8vLx0dHTk5Oba2tsXFxbGxsUFBQRcXF5KSkpSUlIyMjC0tLYaGhk1NTVxcXE9PT8DAwJGRkVBQUKOjo4WFhVpaWtHR0Xh4eHl5edDQ0FNTU5+fn8HBwYqKiry8vCcnJyMjI6ysrOLi4k5OTp6ensbGxrCwsIGBgXNzc5ubm5qamnt7e46OjllZWWNjY3p6enR0dGlpaQAAAAVyPHkAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAB5CklEQVR4Xu3deYDd0/3/cTTtkISQuQlBrCFtWsvELqGINSgREkViiSoziC0kJQmVjixIBE1IRJSkQmwVVGOpiKW11U5pUa1WLdVq6fqd70zywiSZufO5957zOe/P+Twff/x+/X6/M+ecuffcZz/53Hs/n5UaAADRIe4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHiDgARIu4AECHijoistPIqX2r35a9Urbpa+w4dV1+j05prdW5UXVhRdefOXbqu3Wmdbuuu13797htsuNHGm2zaYzMNA0SAuCPbNu/51a/1+vo3tthyqzW3rlG5y9d7m223277913fYcaed+2gCIJuIO7Ko7y5f2vWb6++2+x79VGUP+u251977rLrvfj37a1IgS4g7smT/Aw78VvuDDvaY9JYMOGTL9hsMPPSwQVoFkAHEHVkw+PAdv33EkUcNUW0DGXr0MUcce9zOw7QowDLiDtv2P37f75ywTUvviQZTvc13T/z2fifVaoWAScQdRtWdfErVqVv1VlANGn7a6WeceRaJh1HEHfaMOPsr7c8ZqYYaN6rT96q+eq4WDthB3GHK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RNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIELEHQAiRNwBIDoNDf8P/3zJBOKX8EAAAAAASUVORK5CYII=)}.tile:hover{border:1px solid #000}.tile:hover .title{text-decoration:underline}.title{background-color:#ffffffb3;padding:4px;text-align:center;position:absolute;bottom:0;width:calc(100% - 8px);left:0;font-size:16px}.title:first-letter{text-transform:capitalize}\n"] }]
11759
12360
  }], ctorParameters: function () { return [{ type: FabrikantenService }, { type: i4$2.DomSanitizer }, { type: i0.ChangeDetectorRef }, { type: TranslateService }]; }, propDecorators: { category: [{
11760
12361
  type: Input
11761
12362
  }] } });
@@ -11772,7 +12373,7 @@ class FabCategoriesComponent {
11772
12373
  }
11773
12374
  }
11774
12375
  ngOnInit() {
11775
- this.FabrikantenService.LoadFabrikantenViewModel(this.ChangeDetectorRef);
12376
+ this.FabrikantenService.LoadFabrikantenViewModel(this.ChangeDetectorRef, null);
11776
12377
  this.TranslateService.LoadTranslations(this.ChangeDetectorRef);
11777
12378
  }
11778
12379
  }
@@ -11908,6 +12509,60 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
11908
12509
  type: Input
11909
12510
  }] } });
11910
12511
 
12512
+ class FabIframeComponent {
12513
+ constructor(sanitization) {
12514
+ this.sanitization = sanitization;
12515
+ this.URL = "";
12516
+ this.ActiveURL = "";
12517
+ this.URL = window.location.origin;
12518
+ this.ActiveURL = window.location.origin;
12519
+ }
12520
+ Open() {
12521
+ this.ActiveURL = this.URL;
12522
+ }
12523
+ GetSafeURL() {
12524
+ return this.sanitization.bypassSecurityTrustResourceUrl(this.ActiveURL);
12525
+ }
12526
+ }
12527
+ FabIframeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabIframeComponent, deps: [{ token: i4$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
12528
+ FabIframeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: FabIframeComponent, selector: "app-fab-iframe", ngImport: i0, template: "<div class=\"main-content\">\r\n <div class=\"row\">\r\n <div class=\"flexauto\">\r\n <mat-form-field class=\"full-width\">\r\n <mat-label>URL</mat-label>\r\n <input matInput [(ngModel)]=\"URL\">\r\n </mat-form-field>\r\n </div>\r\n <div>\r\n <button mat-raised-button (click)=\"Open()\">Open</button>\r\n </div>\r\n </div>\r\n\r\n <iframe [src]=\"GetSafeURL()\" style=\"width: 100%; height: calc(100vH - 100px);\"></iframe>\r\n</div>\r\n", styles: [".main-content{padding:10px}.full-width{width:100%}.row{display:flex}.flexauto{flex:auto}\n"], dependencies: [{ kind: "component", type: i4$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
12529
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabIframeComponent, decorators: [{
12530
+ type: Component,
12531
+ args: [{ selector: 'app-fab-iframe', template: "<div class=\"main-content\">\r\n <div class=\"row\">\r\n <div class=\"flexauto\">\r\n <mat-form-field class=\"full-width\">\r\n <mat-label>URL</mat-label>\r\n <input matInput [(ngModel)]=\"URL\">\r\n </mat-form-field>\r\n </div>\r\n <div>\r\n <button mat-raised-button (click)=\"Open()\">Open</button>\r\n </div>\r\n </div>\r\n\r\n <iframe [src]=\"GetSafeURL()\" style=\"width: 100%; height: calc(100vH - 100px);\"></iframe>\r\n</div>\r\n", styles: [".main-content{padding:10px}.full-width{width:100%}.row{display:flex}.flexauto{flex:auto}\n"] }]
12532
+ }], ctorParameters: function () { return [{ type: i4$2.DomSanitizer }]; } });
12533
+
12534
+ class BeheerDeeplinkComponent {
12535
+ constructor(ProductsApiClient, ChangeDetectorRef) {
12536
+ this.ProductsApiClient = ProductsApiClient;
12537
+ this.ChangeDetectorRef = ChangeDetectorRef;
12538
+ this.Loading = true;
12539
+ this.URL = "";
12540
+ this.URL = window.location.origin;
12541
+ }
12542
+ ngOnInit() {
12543
+ this.LoadModel();
12544
+ }
12545
+ GetLink(language, product) {
12546
+ return this.URL + "/" + language + "/product/" + product.productURLName;
12547
+ }
12548
+ LoadModel() {
12549
+ this.Loading = true;
12550
+ this.ChangeDetectorRef.detectChanges();
12551
+ var request = new DeeplinkRequest();
12552
+ this.ProductsApiClient.getDeeplinkViewModel(request).subscribe((model) => {
12553
+ this.DeeplinkViewModel = model;
12554
+ this.Loading = false;
12555
+ this.ChangeDetectorRef.detectChanges();
12556
+ });
12557
+ }
12558
+ }
12559
+ BeheerDeeplinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerDeeplinkComponent, deps: [{ token: ProductsApiClient }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
12560
+ BeheerDeeplinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerDeeplinkComponent, selector: "app-beheer-deeplink", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\" class=\"main-window\">\r\n <mat-card>\r\n <mat-card-content>\r\n <mat-form-field class=\"full-width\">\r\n <mat-label>URL</mat-label>\r\n <input matInput [(ngModel)]=\"URL\">\r\n </mat-form-field>\r\n\r\n <table class=\"full-width\">\r\n <tr class=\"header\">\r\n <td>Naam</td>\r\n <td>URL Naam</td>\r\n <td>URL</td>\r\n </tr>\r\n <tr *ngFor=\"let product of DeeplinkViewModel.products\">\r\n <td>{{ product.productName }}</td>\r\n <td>{{ product.productURLName }}</td>\r\n <td>\r\n <div *ngFor=\"let language of DeeplinkViewModel.languages\">\r\n <a href=\"{{ GetLink(language, product) }}\" target=\"_blank\">{{ GetLink(language, product) }}</a>\r\n </div>\r\n </td>\r\n </tr>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n</div>\r\n", styles: [".main-window{padding:5px}.full-width{width:100%}.header{font-weight:700}.header td{border-bottom:1px solid #000}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7$1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i7$1.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: BeheerNavComponent, selector: "app-beheer-nav" }, { kind: "component", type: FabLoaderComponent, selector: "app-fab-loader" }] });
12561
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerDeeplinkComponent, decorators: [{
12562
+ type: Component,
12563
+ args: [{ selector: 'app-beheer-deeplink', template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\" class=\"main-window\">\r\n <mat-card>\r\n <mat-card-content>\r\n <mat-form-field class=\"full-width\">\r\n <mat-label>URL</mat-label>\r\n <input matInput [(ngModel)]=\"URL\">\r\n </mat-form-field>\r\n\r\n <table class=\"full-width\">\r\n <tr class=\"header\">\r\n <td>Naam</td>\r\n <td>URL Naam</td>\r\n <td>URL</td>\r\n </tr>\r\n <tr *ngFor=\"let product of DeeplinkViewModel.products\">\r\n <td>{{ product.productName }}</td>\r\n <td>{{ product.productURLName }}</td>\r\n <td>\r\n <div *ngFor=\"let language of DeeplinkViewModel.languages\">\r\n <a href=\"{{ GetLink(language, product) }}\" target=\"_blank\">{{ GetLink(language, product) }}</a>\r\n </div>\r\n </td>\r\n </tr>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n</div>\r\n", styles: [".main-window{padding:5px}.full-width{width:100%}.header{font-weight:700}.header td{border-bottom:1px solid #000}\n"] }]
12564
+ }], ctorParameters: function () { return [{ type: ProductsApiClient }, { type: i0.ChangeDetectorRef }]; } });
12565
+
11911
12566
  const routes = [
11912
12567
  {
11913
12568
  path: 'beheer', children: [
@@ -11922,16 +12577,15 @@ const routes = [
11922
12577
  { path: 'ebokoppel', component: BeheerEboKoppelComponent, canActivate: [AuthGuard] },
11923
12578
  { path: 'categories', component: BeheerCategoriesComponent, canActivate: [AuthGuard] },
11924
12579
  { path: 'translate', component: BeheerTranslateComponent, canActivate: [AuthGuard] },
12580
+ { path: 'deeplink', component: BeheerDeeplinkComponent, canActivate: [AuthGuard] },
11925
12581
  { path: '', component: BeheerMainComponent, pathMatch: 'full', canActivate: [AuthGuard] }
11926
12582
  ]
11927
12583
  },
11928
12584
  { path: '', component: FabStartComponent },
11929
- { path: 'categories', component: FabCategoriesComponent },
11930
12585
  { path: ':language/categories', component: FabCategoriesComponent },
11931
- { path: 'products', component: FabProductSelectComponent },
11932
12586
  { path: ':language/products', component: FabProductSelectComponent },
11933
- { path: 'product', component: FabProductComponent },
11934
- { path: ':language/product', component: FabProductComponent },
12587
+ { path: ':language/product/:product', component: FabProductComponent },
12588
+ { path: 'iframe', component: FabIframeComponent },
11935
12589
  { path: '**', pathMatch: 'full', component: FabFiltersComponent },
11936
12590
  ];
11937
12591
  class FabrikantenCoreModule {
@@ -11990,7 +12644,10 @@ FabrikantenCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", v
11990
12644
  BeheerProductsConnectRangeinputComponent,
11991
12645
  FabRangeInputComponent,
11992
12646
  BeheerSettingsBooleanComponent,
11993
- BeheerSelectFilterDialogComponent], imports: [CommonModule,
12647
+ BeheerSelectFilterDialogComponent,
12648
+ FabTextureComponent,
12649
+ FabIframeComponent,
12650
+ BeheerDeeplinkComponent], imports: [CommonModule,
11994
12651
  HttpClientModule,
11995
12652
  MatInputModule,
11996
12653
  FormsModule,
@@ -12020,6 +12677,7 @@ FabrikantenCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", v
12020
12677
  PhotoService,
12021
12678
  BestekService,
12022
12679
  WebGLService,
12680
+ TextureService,
12023
12681
  SVGService,
12024
12682
  MobileService,
12025
12683
  TranslateService,
@@ -12148,7 +12806,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
12148
12806
  BeheerProductsConnectRangeinputComponent,
12149
12807
  FabRangeInputComponent,
12150
12808
  BeheerSettingsBooleanComponent,
12151
- BeheerSelectFilterDialogComponent
12809
+ BeheerSelectFilterDialogComponent,
12810
+ FabTextureComponent,
12811
+ FabIframeComponent,
12812
+ BeheerDeeplinkComponent
12152
12813
  ],
12153
12814
  providers: [
12154
12815
  NavigateService,
@@ -12158,6 +12819,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
12158
12819
  PhotoService,
12159
12820
  BestekService,
12160
12821
  WebGLService,
12822
+ TextureService,
12161
12823
  SVGService,
12162
12824
  MobileService,
12163
12825
  TranslateService,
@@ -12186,5 +12848,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
12186
12848
  * Generated bundle index. Do not edit.
12187
12849
  */
12188
12850
 
12189
- export { API_BASE_URL, ApiException, BCBEBODOViewModel, BCBEBOFilterOptionViewModel, BCBEBOViewModel, BCBEigenschapBereikViewModel, BCBEigenschapLocation, BCBEigenschapOptieCategoryViewModel, BCBEigenschapOptieFilterOptionViewModel, BCBEigenschapOptieViewModel, BCBEigenschapRangeInputModel, BCBEigenschapViewModel, BCBImportEigenschap, BCBImportOpbouw, BCBImportOpenRequest, BCBImportOpenResponse, BCBImportOpenTempDORequest, BCBImportOpenTempRequest, BCBImportProductRequest, BCBImportProductResponse, BCBImportSetValueViewModel, BCBImportSetViewModel, BCBImportSetsViewModel, BCBLinkRequestModel, BCBLinkResponseModel, BCBOpbouwViewModel, BCBProductViewModel, CategoriesApiClient, CategoriesOverviewCategorieViewModel, CategoriesOverviewViewModel, CategoriesViewModel, CategoryViewModel, ChangeImportSetRequest, CleanUpResponseModel, ConnectBCBEigenschapRangeInputRequest, ConnectBCBEigenschapRangeInputResponse, ConnectBCBEigenschapRequest, ConnectEBODOCategoryRequest, ConnectEBODOCategoryResponse, ConnectEigenschapOptieRequest, ConnectOpbouwRequest, CreateCategoryRequest, CreateCategoryResponse, CreateExportRequest, CreateExportResponse, CreateFilterOptionRequest, CreateFilterOptionResponse, CreateFilterRequest, CreateFilterResponse, CreateLanguageRequest, EBOConnectRequestModel, EBOKoppelApiClient, EBOKoppelTypeViewModel, EBOKoppelViewModel, FabFiltersComponent, Fabrikanten3DRequestModel, Fabrikanten3DViewModel, FabrikantenApiClient, FabrikantenBCBProductAfbeeldingViewModel, FabrikantenBCBProductViewModel, FabrikantenBestekRequestModel, FabrikantenBestekViewModel, FabrikantenCategoryLayerViewModel, FabrikantenCategoryViewModel, FabrikantenCoreModule, FabrikantenFileRequestModel, FabrikantenFileViewModel, FabrikantenFilterOptionViewModel, FabrikantenFilterViewModel, FabrikantenProductViewModel, FabrikantenRangeInputViewModel, FabrikantenRequestModel, FabrikantenSVGRequestModel, FabrikantenSVGViewModel, FabrikantenViewModel, FilterOptionViewModel, FilterViewModel, FiltersApiClient, FiltersViewModel, GetProductRequest, GetProductsViewModel, IgnoreOpbouwRequest, ImportApiClient, KoppelEBOOptieRequest, KoppelEBOOptieResponse, KoppelProductsRequestModel, LanguageViewModel, LanguagesViewModel, LoginIPResponseModel, LoginRequestModel, LoginResponseModel, MoveFilterOptionRequest, MoveFilterRequest, NewProductRequestModel, NewProductResponseModel, ProductViewModel, ProductViewModel2, ProductsApiClient, ProductsViewModel, ProductsViewModelRequest, ProjectSettingApiClient, ProjectSettingPipelineStepViewModel, ProjectSettingType, ProjectSettingViewModel, ProjectSettingsCategoryViewModel, ProjectSettingsViewModel, RangeInputViewModel, RangeInputsViewModel, ReadExportRequest, RemoveProductSelectionRequest, ResetAllCategoriesRequest, ResetAllFiltersRequest, ResetCategoryLayerRequest, ResetFilterRequest, ResetImportRequestModel, SaveImportSetRequest, SaveProductViewModel, SearchProductsApiClient, SearchProductsRequestModel, SearchProductsResponseModel, SecurityApiClient, SelectCategoryRequest, SelectFilterOptionRequest, SelectProductRequest, SetProjectSettingRequestModel, SetProjectSettingResponseModel, SetRangeInputRequest, TranslateApiClient, TranslateEntryAfbeeldingViewModel, TranslateEntryCategoryViewModel, TranslateEntryDescriptionViewModel, TranslateEntryFilterOptionViewModel, TranslateEntryFilterViewModel, TranslateEntryProductViewModel, TranslateEntryRangeInputViewModel, TranslateEntryViewModel, TranslateKeyCategoryViewModel, TranslateKeyViewModel, WizardEBODOViewModel, WizardEBOViewModel };
12851
+ export { API_BASE_URL, ApiException, BCBEBODOViewModel, BCBEBOFilterOptionViewModel, BCBEBOViewModel, BCBEigenschapBereikViewModel, BCBEigenschapLocation, BCBEigenschapOptieCategoryViewModel, BCBEigenschapOptieFilterOptionViewModel, BCBEigenschapOptieViewModel, BCBEigenschapRangeInputModel, BCBEigenschapViewModel, BCBImportEigenschap, BCBImportOpbouw, BCBImportOpenRequest, BCBImportOpenResponse, BCBImportOpenTempDORequest, BCBImportOpenTempRequest, BCBImportProductRequest, BCBImportProductResponse, BCBImportSetValueViewModel, BCBImportSetViewModel, BCBImportSetsViewModel, BCBLinkRequestModel, BCBLinkResponseModel, BCBOpbouwViewModel, BCBProductViewModel, CategoriesApiClient, CategoriesOverviewCategorieViewModel, CategoriesOverviewViewModel, CategoriesViewModel, CategoryViewModel, ChangeImportSetRequest, CleanUpResponseModel, ConnectBCBEBODORequest, ConnectBCBEigenschapRangeInputRequest, ConnectBCBEigenschapRangeInputResponse, ConnectBCBEigenschapRequest, ConnectEBODOCategoryRequest, ConnectEBODOCategoryResponse, ConnectEigenschapOptieRequest, ConnectOpbouwRequest, CreateCategoryRequest, CreateCategoryResponse, CreateExportRequest, CreateExportResponse, CreateFilterOptionRequest, CreateFilterOptionResponse, CreateFilterRequest, CreateFilterResponse, CreateLanguageRequest, DeeplinkProductViewModel, DeeplinkRequest, DeeplinkViewModel, EBOConnectRequestModel, EBOKoppelApiClient, EBOKoppelEBOCategoryViewModel, EBOKoppelEBOFilterOptionViewModel, EBOKoppelEBOViewModel, EBOKoppelNaamViewModel, EBOKoppelTypeViewModel, EBOKoppelViewModel, FabFiltersComponent, Fabrikanten3DRequestModel, Fabrikanten3DViewModel, FabrikantenApiClient, FabrikantenBCBProductAfbeeldingViewModel, FabrikantenBCBProductViewModel, FabrikantenBestekRequestModel, FabrikantenBestekViewModel, FabrikantenCategoryLayerViewModel, FabrikantenCategoryViewModel, FabrikantenCoreModule, FabrikantenFileRequestModel, FabrikantenFileViewModel, FabrikantenFilterOptionViewModel, FabrikantenFilterViewModel, FabrikantenProductViewModel, FabrikantenRangeInputViewModel, FabrikantenRequestModel, FabrikantenSVGRequestModel, FabrikantenSVGViewModel, FabrikantenTextureBaseViewModel, FabrikantenTextureRequestModel, FabrikantenTextureViewModel, FabrikantenViewModel, FilterOptionViewModel, FilterViewModel, FiltersApiClient, FiltersViewModel, GetProductRequest, GetProductsViewModel, IgnoreOpbouwRequest, ImportApiClient, KoppelProductsRequestModel, LanguageViewModel, LanguagesViewModel, LoginIPResponseModel, LoginRequestModel, LoginResponseModel, MoveFilterOptionRequest, MoveFilterRequest, NewProductRequestModel, NewProductResponseModel, ProductViewModel, ProductViewModel2, ProductsApiClient, ProductsViewModel, ProductsViewModelRequest, ProjectSettingApiClient, ProjectSettingPipelineStepViewModel, ProjectSettingType, ProjectSettingViewModel, ProjectSettingsCategoryViewModel, ProjectSettingsViewModel, RangeInputViewModel, RangeInputsViewModel, ReadExportRequest, RemoveProductSelectionRequest, ResetAllCategoriesRequest, ResetAllFiltersRequest, ResetCategoryLayerRequest, ResetFilterRequest, ResetImportRequestModel, SaveImportSetRequest, SaveProductViewModel, SearchProductsApiClient, SearchProductsRequestModel, SearchProductsResponseModel, SecurityApiClient, SelectCategoryRequest, SelectFilterOptionRequest, SelectProductRequest, SetProjectSettingRequestModel, SetProjectSettingResponseModel, SetRangeInputRequest, TranslateApiClient, TranslateEntryAfbeeldingViewModel, TranslateEntryCategoryViewModel, TranslateEntryDescriptionViewModel, TranslateEntryFilterOptionViewModel, TranslateEntryFilterViewModel, TranslateEntryProductViewModel, TranslateEntryRangeInputViewModel, TranslateEntryViewModel, TranslateKeyCategoryViewModel, TranslateKeyViewModel, WizardEBODOViewModel, WizardEBOViewModel };
12190
12852
  //# sourceMappingURL=fabrikantencore.mjs.map