@colijnit/product 1.9.3 → 1.9.4

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 (109) hide show
  1. package/app/components/image-carousel/image-carousel.component.d.ts +4 -4
  2. package/app/components/product-additional-description/product-additional-description.component.d.ts +3 -3
  3. package/app/components/product-additional-info/product-additional-info.component.d.ts +3 -3
  4. package/app/components/product-addtocart/product-addtocart.component.d.ts +6 -4
  5. package/app/components/product-delivery/product-delivery.component.d.ts +2 -2
  6. package/app/components/product-description/product-description.component.d.ts +1 -1
  7. package/app/components/product-documents/product-documents.component.d.ts +1 -1
  8. package/app/components/product-info/product-info.component.d.ts +1 -1
  9. package/app/components/product-info-tabs/product-info-tabs.component.d.ts +3 -3
  10. package/app/components/product-page/product-page.component.d.ts +8 -7
  11. package/app/components/product-properties/product-properties.component.d.ts +1 -1
  12. package/app/components/product-related/product-related.component.d.ts +4 -4
  13. package/app/components/product-stock/product-stock.component.d.ts +2 -2
  14. package/app/ione-product.component.d.ts +8 -8
  15. package/app/ione-product.module.d.ts +2 -2
  16. package/app/model/article-quantity.model.d.ts +1 -1
  17. package/app/product-version.d.ts +6 -0
  18. package/app/service/product-connector-adapter.service.d.ts +27 -0
  19. package/app/service/product-connector.service.d.ts +32 -0
  20. package/app/service/{app-event.service.d.ts → product-event.service.d.ts} +5 -5
  21. package/app/service/product-initializer.service.d.ts +6 -0
  22. package/app/service/product-module.service.d.ts +9 -0
  23. package/app/service/{settings.service.d.ts → product-settings.service.d.ts} +1 -1
  24. package/app/style/product-globals.scss +12 -10
  25. package/bundles/colijnit-product.umd.js +340 -261
  26. package/bundles/colijnit-product.umd.js.map +1 -1
  27. package/bundles/colijnit-product.umd.min.js +2 -2
  28. package/bundles/colijnit-product.umd.min.js.map +1 -1
  29. package/colijnit-product.d.ts +6 -6
  30. package/colijnit-product.metadata.json +1 -1
  31. package/esm2015/app/components/image-carousel/image-carousel.component.js +10 -8
  32. package/esm2015/app/components/product-additional-description/product-additional-description.component.js +3 -3
  33. package/esm2015/app/components/product-additional-info/product-additional-info.component.js +3 -3
  34. package/esm2015/app/components/product-addtocart/product-addtocart.component.js +18 -28
  35. package/esm2015/app/components/product-delivery/product-delivery.component.js +4 -4
  36. package/esm2015/app/components/product-description/product-description.component.js +1 -1
  37. package/esm2015/app/components/product-documents/product-documents.component.js +1 -1
  38. package/esm2015/app/components/product-info/product-info.component.js +1 -1
  39. package/esm2015/app/components/product-info-tabs/product-info-tabs.component.js +3 -3
  40. package/esm2015/app/components/product-page/product-page.component.js +13 -10
  41. package/esm2015/app/components/product-price/product-price.component.js +1 -1
  42. package/esm2015/app/components/product-properties/product-properties.component.js +1 -1
  43. package/esm2015/app/components/product-related/product-related.component.js +10 -6
  44. package/esm2015/app/components/product-stock/product-stock.component.js +3 -3
  45. package/esm2015/app/ione-product.component.js +9 -8
  46. package/esm2015/app/ione-product.module.js +9 -9
  47. package/esm2015/app/model/article-quantity.model.js +1 -1
  48. package/esm2015/app/product-version.js +10 -0
  49. package/esm2015/app/service/dictionary.service.js +2 -2
  50. package/esm2015/app/service/product-connector-adapter.service.js +128 -0
  51. package/esm2015/app/service/product-connector.service.js +108 -0
  52. package/esm2015/app/service/product-event.service.js +41 -0
  53. package/esm2015/app/service/product-initializer.service.js +26 -0
  54. package/esm2015/app/service/product-module.service.js +39 -0
  55. package/esm2015/app/service/product-settings.service.js +142 -0
  56. package/esm2015/colijnit-product.js +7 -7
  57. package/esm2015/public_api.js +2 -1
  58. package/esm5/app/components/image-carousel/image-carousel.component.js +10 -8
  59. package/esm5/app/components/product-additional-description/product-additional-description.component.js +3 -3
  60. package/esm5/app/components/product-additional-info/product-additional-info.component.js +3 -3
  61. package/esm5/app/components/product-addtocart/product-addtocart.component.js +20 -35
  62. package/esm5/app/components/product-delivery/product-delivery.component.js +4 -4
  63. package/esm5/app/components/product-description/product-description.component.js +1 -1
  64. package/esm5/app/components/product-documents/product-documents.component.js +1 -1
  65. package/esm5/app/components/product-info/product-info.component.js +1 -1
  66. package/esm5/app/components/product-info-tabs/product-info-tabs.component.js +3 -3
  67. package/esm5/app/components/product-page/product-page.component.js +13 -10
  68. package/esm5/app/components/product-price/product-price.component.js +1 -1
  69. package/esm5/app/components/product-properties/product-properties.component.js +1 -1
  70. package/esm5/app/components/product-related/product-related.component.js +10 -6
  71. package/esm5/app/components/product-stock/product-stock.component.js +3 -3
  72. package/esm5/app/ione-product.component.js +9 -8
  73. package/esm5/app/ione-product.module.js +9 -9
  74. package/esm5/app/model/article-quantity.model.js +1 -1
  75. package/esm5/app/product-version.js +12 -0
  76. package/esm5/app/service/dictionary.service.js +2 -2
  77. package/esm5/app/service/product-connector-adapter.service.js +197 -0
  78. package/esm5/app/service/product-connector.service.js +128 -0
  79. package/esm5/app/service/product-event.service.js +42 -0
  80. package/esm5/app/service/product-initializer.service.js +29 -0
  81. package/esm5/app/service/product-module.service.js +50 -0
  82. package/esm5/app/service/product-settings.service.js +165 -0
  83. package/esm5/colijnit-product.js +7 -7
  84. package/esm5/public_api.js +2 -1
  85. package/fesm2015/colijnit-product.js +227 -204
  86. package/fesm2015/colijnit-product.js.map +1 -1
  87. package/fesm5/colijnit-product.js +337 -253
  88. package/fesm5/colijnit-product.js.map +1 -1
  89. package/package.json +7 -5
  90. package/public_api.d.ts +1 -0
  91. package/app/service/app-initializer.service.d.ts +0 -6
  92. package/app/service/i-one-connector-adapter.service.d.ts +0 -27
  93. package/app/service/i-one-controller.service.d.ts +0 -37
  94. package/app/service/module.service.d.ts +0 -9
  95. package/app/utils/string-utils.d.ts +0 -21
  96. package/esm2015/app/service/app-event.service.js +0 -41
  97. package/esm2015/app/service/app-initializer.service.js +0 -26
  98. package/esm2015/app/service/i-one-connector-adapter.service.js +0 -58
  99. package/esm2015/app/service/i-one-controller.service.js +0 -117
  100. package/esm2015/app/service/module.service.js +0 -39
  101. package/esm2015/app/service/settings.service.js +0 -136
  102. package/esm2015/app/utils/string-utils.js +0 -51
  103. package/esm5/app/service/app-event.service.js +0 -42
  104. package/esm5/app/service/app-initializer.service.js +0 -29
  105. package/esm5/app/service/i-one-connector-adapter.service.js +0 -61
  106. package/esm5/app/service/i-one-controller.service.js +0 -131
  107. package/esm5/app/service/module.service.js +0 -50
  108. package/esm5/app/service/settings.service.js +0 -159
  109. package/esm5/app/utils/string-utils.js +0 -59
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@colijnit/corecomponents'), require('@colijnit//ioneconnector/build/model/co-document'), require('@colijnit//ioneconnector/build/model/options'), require('rxjs'), require('@colijnit//ioneconnector'), require('@angular/common/http'), require('@colijnit/ioneconnector/build/model/configurator-statistics-environment'), require('@angular/platform-browser'), require('@angular/animations'), require('@angular/common')) :
3
- typeof define === 'function' && define.amd ? define('@colijnit/product', ['exports', '@angular/core', '@colijnit/corecomponents', '@colijnit//ioneconnector/build/model/co-document', '@colijnit//ioneconnector/build/model/options', 'rxjs', '@colijnit//ioneconnector', '@angular/common/http', '@colijnit/ioneconnector/build/model/configurator-statistics-environment', '@angular/platform-browser', '@angular/animations', '@angular/common'], factory) :
4
- (global = global || self, factory((global.colijnit = global.colijnit || {}, global.colijnit.product = {}), global.ng.core, global.corecomponents, global.coDocument, global.options, global.rxjs, global.ioneconnector, global.ng.common.http, global.configuratorStatisticsEnvironment, global.ng.platformBrowser, global.ng.animations, global.ng.common));
5
- }(this, (function (exports, core, corecomponents, coDocument, options, rxjs, ioneconnector, http, configuratorStatisticsEnvironment, platformBrowser, animations, common) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@colijnit/corecomponents'), require('@colijnit/mainapi/build/model/co-document'), require('rxjs'), require('@colijnit/ioneconnector/build/model/options'), require('@colijnit/articleapi/build/model/article-full-object'), require('@colijnit/articleapi/build/model/super-article'), require('@colijnit/articleapi/build/articles'), require('@colijnit/ioneconnector/build/factory/business-object-factory'), require('@colijnit/articleapi/build/model/delivery-prognosis'), require('@colijnit/articleapi/build/model/document-content'), require('@angular/common/http'), require('@colijnit/ioneconnector/build/utils/string-utils'), require('@angular/platform-browser'), require('@angular/animations'), require('@colijnit/articleapi/build/model/configurator-statistics-environment'), require('@angular/common')) :
3
+ typeof define === 'function' && define.amd ? define('@colijnit/product', ['exports', '@angular/core', '@colijnit/corecomponents', '@colijnit/mainapi/build/model/co-document', 'rxjs', '@colijnit/ioneconnector/build/model/options', '@colijnit/articleapi/build/model/article-full-object', '@colijnit/articleapi/build/model/super-article', '@colijnit/articleapi/build/articles', '@colijnit/ioneconnector/build/factory/business-object-factory', '@colijnit/articleapi/build/model/delivery-prognosis', '@colijnit/articleapi/build/model/document-content', '@angular/common/http', '@colijnit/ioneconnector/build/utils/string-utils', '@angular/platform-browser', '@angular/animations', '@colijnit/articleapi/build/model/configurator-statistics-environment', '@angular/common'], factory) :
4
+ (global = global || self, factory((global.colijnit = global.colijnit || {}, global.colijnit.product = {}), global.ng.core, global.corecomponents, global.coDocument, global.rxjs, global.options, global.articleFullObject, global.superArticle, global.articles, global.businessObjectFactory, global.deliveryPrognosis, global.documentContent, global.ng.common.http, global.stringUtils, global.ng.platformBrowser, global.ng.animations, global.configuratorStatisticsEnvironment, global.ng.common));
5
+ }(this, (function (exports, core, corecomponents, coDocument, rxjs, options, articleFullObject, superArticle, articles, businessObjectFactory, deliveryPrognosis, documentContent, http, stringUtils, platformBrowser, animations, configuratorStatisticsEnvironment, common) { 'use strict';
6
6
 
7
7
  /*! *****************************************************************************
8
8
  Copyright (c) Microsoft Corporation.
@@ -223,6 +223,17 @@
223
223
  return value;
224
224
  }
225
225
 
226
+ // this file is dynamically created, do not change this
227
+ var Version = /** @class */ (function () {
228
+ function Version() {
229
+ this.name = "@colijnit/product";
230
+ this.description = "Product detail page project for iOne";
231
+ this.symVer = "1.9.4";
232
+ this.publishDate = "20-4-2023 15:19:25";
233
+ }
234
+ return Version;
235
+ }());
236
+
226
237
  var ProductDescriptionComponent = /** @class */ (function () {
227
238
  function ProductDescriptionComponent() {
228
239
  }
@@ -243,57 +254,188 @@
243
254
 
244
255
  // Sole responsibility is simply to wrap around a colijn.Connector to create a stable inner interface to the library in a 1:1 method way.
245
256
  // Only to be used by the IOneControllerService.
246
- var IOneConnectorAdapterService = /** @class */ (function () {
247
- function IOneConnectorAdapterService() {
257
+ var ProductConnectorAdapterService = /** @class */ (function () {
258
+ function ProductConnectorAdapterService() {
248
259
  this.showLoader = new rxjs.Subject();
260
+ this._boFactory = new businessObjectFactory.BusinessObjectFactory();
249
261
  }
250
- IOneConnectorAdapterService.prototype.ngOnDestroy = function () {
251
- this.connector.showLoader.unsubscribe();
262
+ ProductConnectorAdapterService.prototype.ngOnDestroy = function () {
263
+ this.articleConnector.showLoader.unsubscribe();
252
264
  };
253
- IOneConnectorAdapterService.prototype.initConnector = function (options) {
265
+ ProductConnectorAdapterService.prototype.initConnector = function (options) {
254
266
  var _this = this;
255
- this.connector = new ioneconnector.Connector(options);
256
- options.session = this.connector.session;
257
- this.connector.showLoader.subscribe(function (value) { return _this.showLoader.next(value); });
267
+ this.articleConnector = new articles.Articles(options);
268
+ options.session = this.articleConnector.session;
269
+ this.articleConnector.showLoader.subscribe(function (value) { return _this.showLoader.next(value); });
258
270
  };
259
- IOneConnectorAdapterService.prototype.setInstance = function (instanceId) {
260
- this.connector.setInstanceToConfigure(instanceId, false);
271
+ ProductConnectorAdapterService.prototype.setInstance = function (instanceId) {
272
+ // this.articleConnector.setInstanceToConfigure(instanceId, false);
261
273
  };
262
- IOneConnectorAdapterService.prototype.getDeliveryPrognosis = function (goodId) {
263
- return this.connector.getDeliveryPrognosisForArticle(goodId);
274
+ ProductConnectorAdapterService.prototype.getDeliveryPrognosis = function (goodId, branchNr) {
275
+ return __awaiter(this, void 0, void 0, function () {
276
+ var deliveryPrognosis;
277
+ return __generator(this, function (_a) {
278
+ switch (_a.label) {
279
+ case 0: return [4 /*yield*/, this.getSelectorDeliveryDate()];
280
+ case 1:
281
+ deliveryPrognosis = _a.sent();
282
+ if (!deliveryPrognosis || !deliveryPrognosis.returnValue) {
283
+ return [2 /*return*/, this.getDeliveryDate2(goodId)];
284
+ }
285
+ return [2 /*return*/, deliveryPrognosis];
286
+ }
287
+ });
288
+ });
264
289
  };
265
- IOneConnectorAdapterService.prototype.getArticleGroupImages = function () {
266
- return this.connector.getArticleGroupImages();
290
+ ProductConnectorAdapterService.prototype.getSelectorDeliveryDate = function () {
291
+ return __awaiter(this, void 0, void 0, function () {
292
+ var response;
293
+ return __generator(this, function (_a) {
294
+ switch (_a.label) {
295
+ case 0: return [4 /*yield*/, this.articleConnector.getSelectorDeliveryDate()];
296
+ case 1:
297
+ response = _a.sent();
298
+ if (response && response.validationResult && response.validationResult.success) {
299
+ return [2 /*return*/, this._boFactory.makeWithRawBackendData(deliveryPrognosis.DeliveryPrognosis, response.resultObject)];
300
+ }
301
+ else {
302
+ return [2 /*return*/, null];
303
+ }
304
+ return [2 /*return*/];
305
+ }
306
+ });
307
+ });
267
308
  };
268
- IOneConnectorAdapterService.prototype.getTurnoverGroupImages = function () {
269
- return this.connector.getTurnoverGroupImages();
309
+ ProductConnectorAdapterService.prototype.getDeliveryDate2 = function (goodId) {
310
+ return __awaiter(this, void 0, void 0, function () {
311
+ var response;
312
+ return __generator(this, function (_a) {
313
+ switch (_a.label) {
314
+ case 0: return [4 /*yield*/, this.articleConnector.getDeliveryDate2(goodId)];
315
+ case 1:
316
+ response = _a.sent();
317
+ if (response && response.validationResult && response.validationResult.success) {
318
+ return [2 /*return*/, this._boFactory.makeWithRawBackendData(deliveryPrognosis.DeliveryPrognosis, response.resultObject)];
319
+ }
320
+ else {
321
+ return [2 /*return*/, null];
322
+ }
323
+ return [2 /*return*/];
324
+ }
325
+ });
326
+ });
270
327
  };
271
- IOneConnectorAdapterService.prototype.getSuperArticleImages = function () {
272
- return this.connector.getSuperArticleImages();
328
+ ProductConnectorAdapterService.prototype.getJsonConfiguredArticles = function (configuratorStatistics) {
329
+ return __awaiter(this, void 0, void 0, function () {
330
+ var response;
331
+ return __generator(this, function (_a) {
332
+ switch (_a.label) {
333
+ case 0: return [4 /*yield*/, this.articleConnector.getJsonConfiguredArticles(configuratorStatistics)];
334
+ case 1:
335
+ response = _a.sent();
336
+ if (response && response.validationResult && response.validationResult.success) {
337
+ return [2 /*return*/, response.resultObject];
338
+ }
339
+ else {
340
+ return [2 /*return*/, ''];
341
+ }
342
+ return [2 /*return*/];
343
+ }
344
+ });
345
+ });
273
346
  };
274
- IOneConnectorAdapterService.prototype.getJsonConfiguredArticles = function (configuratorStatistics) {
275
- return this.connector.getJsonConfiguredArticles(configuratorStatistics);
347
+ ProductConnectorAdapterService.prototype.getJsonArticleFlatTree = function (goodId, goodType, quantity, showLoader, instanceId, configuratorStatistics) {
348
+ if (showLoader === void 0) { showLoader = true; }
349
+ return __awaiter(this, void 0, void 0, function () {
350
+ return __generator(this, function (_a) {
351
+ return [2 /*return*/, this.articleConnector.getJsonArticleFlatTree(goodId, goodType, quantity, showLoader, instanceId, configuratorStatistics)];
352
+ });
353
+ });
276
354
  };
277
- IOneConnectorAdapterService.prototype.getJsonArticleFlatTree = function (goodId) {
278
- return this.connector.getJsonArticleFlatTree(goodId);
355
+ ProductConnectorAdapterService.prototype.getGoodIdFromArticleNr = function (sku) {
356
+ return __awaiter(this, void 0, void 0, function () {
357
+ var response;
358
+ return __generator(this, function (_a) {
359
+ switch (_a.label) {
360
+ case 0: return [4 /*yield*/, this.articleConnector.getGoodIdFromArticleNr(sku)];
361
+ case 1:
362
+ response = _a.sent();
363
+ if (response && response.validationResult && response.validationResult.success) {
364
+ return [2 /*return*/, response.resultObject];
365
+ }
366
+ else {
367
+ return [2 /*return*/, null];
368
+ }
369
+ return [2 /*return*/];
370
+ }
371
+ });
372
+ });
279
373
  };
280
- IOneConnectorAdapterService.prototype.getFullArticle = function (skuOrId) {
281
- return this.connector.getFullArticle(skuOrId);
374
+ ProductConnectorAdapterService.prototype.getArticleFullObject = function (goodId) {
375
+ return __awaiter(this, void 0, void 0, function () {
376
+ var response;
377
+ return __generator(this, function (_a) {
378
+ switch (_a.label) {
379
+ case 0: return [4 /*yield*/, this.articleConnector.getArticleFullObject(goodId)];
380
+ case 1:
381
+ response = _a.sent();
382
+ if (response && response.validationResult && response.validationResult.success) {
383
+ return [2 /*return*/, this._boFactory.makeWithRawBackendData(articleFullObject.ArticleFullObject, response.resultObject)];
384
+ }
385
+ else {
386
+ return [2 /*return*/, null];
387
+ }
388
+ return [2 /*return*/];
389
+ }
390
+ });
391
+ });
282
392
  };
283
- IOneConnectorAdapterService.prototype.getSuperArticle = function (id) {
284
- return this.connector.getSuperArticle(id);
393
+ ProductConnectorAdapterService.prototype.getSuperArticle = function (id, branch) {
394
+ return __awaiter(this, void 0, void 0, function () {
395
+ var response;
396
+ return __generator(this, function (_a) {
397
+ switch (_a.label) {
398
+ case 0: return [4 /*yield*/, this.articleConnector.getSuperArticleQuickSel(id, branch)];
399
+ case 1:
400
+ response = _a.sent();
401
+ if (response && response.validationResult && response.validationResult.success) {
402
+ return [2 /*return*/, this._boFactory.makeWithRawBackendData(superArticle.SuperArticle, response.resultObject)];
403
+ }
404
+ else {
405
+ return [2 /*return*/, null];
406
+ }
407
+ return [2 /*return*/];
408
+ }
409
+ });
410
+ });
285
411
  };
286
- IOneConnectorAdapterService.prototype.getDocumentContent = function (docId, thumbnail) {
412
+ ProductConnectorAdapterService.prototype.getDocumentContent = function (docId, thumbnail) {
287
413
  if (thumbnail === void 0) { thumbnail = true; }
288
- return this.connector.getDocumentContent(docId, thumbnail);
414
+ return __awaiter(this, void 0, void 0, function () {
415
+ var response;
416
+ return __generator(this, function (_a) {
417
+ switch (_a.label) {
418
+ case 0: return [4 /*yield*/, this.articleConnector.getDocumentContent(docId, thumbnail)];
419
+ case 1:
420
+ response = _a.sent();
421
+ if (response && response.validationResult && response.validationResult.success) {
422
+ return [2 /*return*/, this._boFactory.makeWithRawBackendData(documentContent.DocumentContent, response.resultObject)];
423
+ }
424
+ else {
425
+ return [2 /*return*/, null];
426
+ }
427
+ return [2 /*return*/];
428
+ }
429
+ });
430
+ });
289
431
  };
290
- IOneConnectorAdapterService.ɵprov = core.ɵɵdefineInjectable({ factory: function IOneConnectorAdapterService_Factory() { return new IOneConnectorAdapterService(); }, token: IOneConnectorAdapterService, providedIn: "root" });
291
- IOneConnectorAdapterService = __decorate([
432
+ ProductConnectorAdapterService.ɵprov = core.ɵɵdefineInjectable({ factory: function ProductConnectorAdapterService_Factory() { return new ProductConnectorAdapterService(); }, token: ProductConnectorAdapterService, providedIn: "root" });
433
+ ProductConnectorAdapterService = __decorate([
292
434
  core.Injectable({
293
435
  providedIn: 'root'
294
436
  })
295
- ], IOneConnectorAdapterService);
296
- return IOneConnectorAdapterService;
437
+ ], ProductConnectorAdapterService);
438
+ return ProductConnectorAdapterService;
297
439
  }());
298
440
 
299
441
  var JsonUtilsService = /** @class */ (function () {
@@ -342,64 +484,6 @@
342
484
  LanguageCode["French"] = "fr-FR";
343
485
  })(LanguageCode || (LanguageCode = {}));
344
486
 
345
- var StringUtils = /** @class */ (function () {
346
- function StringUtils() {
347
- }
348
- /**
349
- * Returns a new string where given placeholder in given source string are replaced by given replacement texts.
350
- *
351
- * Example usage:
352
- *
353
- * source = "ABCDABCD"
354
- * placeholder = "BC"
355
- * replacementTexts = "Z", "Z" (REST arguments)
356
- * OUTPUT = "AZDAZD"
357
- *
358
- * @param {string} source
359
- * @param {string} placeholder
360
- * @param {string} replacementTexts If only one is given, this function replaces all placeholders with that single replacementText.
361
- * If more are given, placeholders without a corresponding replacementText will remain their original placeholder characters.
362
- */
363
- StringUtils.ReplaceOccurrencesIn = function (source, placeholder) {
364
- var replacementTexts = [];
365
- for (var _i = 2; _i < arguments.length; _i++) {
366
- replacementTexts[_i - 2] = arguments[_i];
367
- }
368
- // parameter guards
369
- if (!(source)) {
370
- return undefined;
371
- }
372
- if (!placeholder || replacementTexts.length === 0) {
373
- return source;
374
- }
375
- var outString = source;
376
- // one replacementText means replace for all
377
- if (replacementTexts.length === 1) {
378
- // "g" is the g flag to replace globally
379
- outString = outString.replace(new RegExp(this._escapeRegExp(placeholder), "g"), replacementTexts[0]);
380
- }
381
- else {
382
- // replace occurence i by replacementTexts[i], one at a time in loop (there might be a faster way..)
383
- for (var i = 0, len = replacementTexts.length; i < len; i++) {
384
- outString = outString.replace(placeholder, replacementTexts[i]);
385
- }
386
- }
387
- return outString;
388
- };
389
- StringUtils.IsString = function (str) {
390
- return typeof str === 'string';
391
- };
392
- // Returns whether given str is a string and has a length > 0.
393
- StringUtils.IsStringWithLength = function (str) {
394
- return str && StringUtils.IsString(str) && str.length > 0;
395
- };
396
- // Returns given string, escaped for use as string literal in regular expressions.
397
- StringUtils._escapeRegExp = function (str) {
398
- return str; // .replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^$\|]/g, "\\$&");
399
- };
400
- return StringUtils;
401
- }());
402
-
403
487
  var Dictionary = /** @class */ (function () {
404
488
  function Dictionary() {
405
489
  this.strings = {
@@ -521,11 +605,11 @@
521
605
  for (var _i = 2; _i < arguments.length; _i++) {
522
606
  replacementTexts[_i - 2] = arguments[_i];
523
607
  }
524
- if (!StringUtils.IsStringWithLength(key)) {
608
+ if (!stringUtils.StringUtils.IsStringWithLength(key)) {
525
609
  return key || '';
526
610
  }
527
611
  var text = this._dictionaries.get(this.language)[key];
528
- text = StringUtils.IsStringWithLength(text) ? text : key;
612
+ text = stringUtils.StringUtils.IsStringWithLength(text) ? text : key;
529
613
  if (upperCaseFirst) {
530
614
  text = text.charAt(0).toUpperCase() + text.slice(1);
531
615
  }
@@ -533,7 +617,7 @@
533
617
  text = text.charAt(0).toLowerCase() + text.slice(1);
534
618
  }
535
619
  if (replacementTexts.length > 0) {
536
- text = StringUtils.ReplaceOccurrencesIn.apply(StringUtils, __spread([text, this._placeholder], replacementTexts));
620
+ text = stringUtils.StringUtils.ReplaceOccurrencesIn.apply(stringUtils.StringUtils, __spread([text, this._placeholder], replacementTexts));
537
621
  }
538
622
  return text;
539
623
  };
@@ -595,13 +679,13 @@
595
679
  return Settings;
596
680
  }());
597
681
 
598
- var SettingsService = /** @class */ (function () {
599
- function SettingsService(_jsonUtilsService, _dictionaryService) {
682
+ var ProductSettingsService = /** @class */ (function () {
683
+ function ProductSettingsService(_jsonUtilsService, _dictionaryService) {
600
684
  this._jsonUtilsService = _jsonUtilsService;
601
685
  this._dictionaryService = _dictionaryService;
602
686
  this.settingsLoaded = new rxjs.BehaviorSubject(false);
603
687
  }
604
- Object.defineProperty(SettingsService.prototype, "settings", {
688
+ Object.defineProperty(ProductSettingsService.prototype, "settings", {
605
689
  get: function () {
606
690
  return this._settings;
607
691
  },
@@ -611,7 +695,7 @@
611
695
  enumerable: true,
612
696
  configurable: true
613
697
  });
614
- SettingsService.prototype.initializeSettings = function () {
698
+ ProductSettingsService.prototype.initializeSettings = function () {
615
699
  return __awaiter(this, void 0, void 0, function () {
616
700
  var jsonSettings;
617
701
  return __generator(this, function (_a) {
@@ -635,7 +719,7 @@
635
719
  });
636
720
  });
637
721
  };
638
- SettingsService.prototype.createSettingsFromObject = function (obj) {
722
+ ProductSettingsService.prototype.createSettingsFromObject = function (obj) {
639
723
  return __awaiter(this, void 0, void 0, function () {
640
724
  return __generator(this, function (_a) {
641
725
  if (!this.settings) {
@@ -723,7 +807,7 @@
723
807
  });
724
808
  });
725
809
  };
726
- SettingsService.prototype.settingsFinished = function () {
810
+ ProductSettingsService.prototype.settingsFinished = function () {
727
811
  return __awaiter(this, void 0, void 0, function () {
728
812
  return __generator(this, function (_a) {
729
813
  switch (_a.label) {
@@ -736,45 +820,41 @@
736
820
  });
737
821
  });
738
822
  };
739
- SettingsService.ctorParameters = function () { return [
823
+ ProductSettingsService.ctorParameters = function () { return [
740
824
  { type: JsonUtilsService },
741
825
  { type: DictionaryService }
742
826
  ]; };
743
- SettingsService = __decorate([
744
- core.Injectable()
745
- ], SettingsService);
746
- return SettingsService;
827
+ ProductSettingsService.ɵprov = core.ɵɵdefineInjectable({ factory: function ProductSettingsService_Factory() { return new ProductSettingsService(core.ɵɵinject(JsonUtilsService), core.ɵɵinject(DictionaryService)); }, token: ProductSettingsService, providedIn: "root" });
828
+ ProductSettingsService = __decorate([
829
+ core.Injectable({
830
+ providedIn: 'root'
831
+ })
832
+ ], ProductSettingsService);
833
+ return ProductSettingsService;
747
834
  }());
748
835
 
749
836
  // Holds all iONE backend related state and methods for a running HomeDecorator. To be used anywhere internally.
750
- var IOneControllerService = /** @class */ (function () {
751
- function IOneControllerService(connector, _settingsService) {
837
+ var ProductConnectorService = /** @class */ (function () {
838
+ function ProductConnectorService(connector, _settingsService) {
752
839
  this.connector = connector;
753
840
  this._settingsService = _settingsService;
754
841
  this.controllerInitialized = new rxjs.BehaviorSubject(false);
755
842
  this._initializing = false;
756
843
  this._initialized = false;
757
- this.defaultDevTestOptions = new options.Options();
844
+ this.connectorOptions = new options.Options();
758
845
  this.subs = [];
759
846
  }
760
- Object.defineProperty(IOneControllerService.prototype, "article", {
761
- get: function () {
762
- return this._article;
763
- },
764
- enumerable: true,
765
- configurable: true
766
- });
767
- Object.defineProperty(IOneControllerService.prototype, "shouldShowLoader", {
847
+ Object.defineProperty(ProductConnectorService.prototype, "shouldShowLoader", {
768
848
  get: function () {
769
849
  return this._shouldShowLoader;
770
850
  },
771
851
  enumerable: true,
772
852
  configurable: true
773
853
  });
774
- IOneControllerService.prototype.ngOnDestroy = function () {
854
+ ProductConnectorService.prototype.ngOnDestroy = function () {
775
855
  this.subs.forEach(function (sub) { return sub.unsubscribe(); });
776
856
  };
777
- IOneControllerService.prototype.initDefaultDevelopTestConnection = function () {
857
+ ProductConnectorService.prototype.initDefaultDevelopTestConnection = function () {
778
858
  return __awaiter(this, void 0, void 0, function () {
779
859
  var settings;
780
860
  return __generator(this, function (_a) {
@@ -787,18 +867,20 @@
787
867
  if (!settings) {
788
868
  throw Error('Settings are not defined!');
789
869
  }
790
- this.defaultDevTestOptions.url = settings.url;
791
- this.defaultDevTestOptions.schema = settings.schema;
792
- this.defaultDevTestOptions.version = settings.version;
793
- this.defaultDevTestOptions.branch = settings.branch;
794
- this.defaultDevTestOptions.username = settings.username;
795
- this.defaultDevTestOptions.password = settings.password;
796
- this.defaultDevTestOptions.currencyId = settings.currency;
797
- this.defaultDevTestOptions.useGroups = settings.useGroups;
798
- this.defaultDevTestOptions.useRenders = settings.useRenders;
799
- this.defaultDevTestOptions.useLoginEncryption = settings.useEncryption;
800
- this.connector.initConnector(this.defaultDevTestOptions);
801
- this._settingsService.settings.session = this.defaultDevTestOptions.session;
870
+ this.connectorOptions.url = settings.url;
871
+ this.connectorOptions.schema = settings.schema;
872
+ this.connectorOptions.version = settings.version;
873
+ this.connectorOptions.branch = settings.branch;
874
+ this.connectorOptions.username = settings.username;
875
+ this.connectorOptions.password = settings.password;
876
+ this.connectorOptions.session = settings.session;
877
+ this.connectorOptions.currencyId = settings.currency;
878
+ this.connectorOptions.useGroups = settings.useGroups;
879
+ this.connectorOptions.useRenders = settings.useRenders;
880
+ this.connectorOptions.useLoginEncryption = settings.useEncryption;
881
+ this.connectorOptions.languageCode = settings.languageCode;
882
+ this.connector.initConnector(this.connectorOptions);
883
+ this._settingsService.settings.session = this.connectorOptions.session;
802
884
  this.controllerInitialized.next(true);
803
885
  this._initialized = true;
804
886
  this._initializing = false;
@@ -810,64 +892,67 @@
810
892
  });
811
893
  });
812
894
  };
813
- IOneControllerService.prototype.setInstance = function (instanceId) {
895
+ ProductConnectorService.prototype.setInstance = function (instanceId) {
814
896
  this.connector.setInstance(instanceId);
815
897
  };
816
- IOneControllerService.prototype.getFullArticle = function (skuOrId) {
817
- return this.connector.getFullArticle(skuOrId);
898
+ ProductConnectorService.prototype.getFullArticle = function (sku) {
899
+ return __awaiter(this, void 0, void 0, function () {
900
+ var goodId;
901
+ return __generator(this, function (_a) {
902
+ switch (_a.label) {
903
+ case 0: return [4 /*yield*/, this.connector.getGoodIdFromArticleNr(sku)];
904
+ case 1:
905
+ goodId = _a.sent();
906
+ if (goodId) {
907
+ return [2 /*return*/, this.connector.getArticleFullObject(goodId)];
908
+ }
909
+ return [2 /*return*/, null];
910
+ }
911
+ });
912
+ });
818
913
  };
819
- IOneControllerService.prototype.getDocumentContent = function (docId, thumbnail) {
914
+ ProductConnectorService.prototype.getDocumentContent = function (docId, thumbnail) {
820
915
  if (thumbnail === void 0) { thumbnail = true; }
821
916
  return this.connector.getDocumentContent(docId, thumbnail);
822
917
  };
823
- IOneControllerService.prototype.getDeliveryPrognosis = function (goodId) {
918
+ ProductConnectorService.prototype.getDeliveryPrognosis = function (goodId) {
824
919
  return this.connector.getDeliveryPrognosis(goodId);
825
920
  };
826
- // will be called in future
827
- IOneControllerService.prototype.getArticleGroupImages = function () {
828
- return this.connector.getArticleGroupImages();
829
- };
830
- IOneControllerService.prototype.getTurnoverGroupImages = function () {
831
- return this.connector.getTurnoverGroupImages();
921
+ ProductConnectorService.prototype.getSelectorDeliveryDate = function () {
922
+ return __awaiter(this, void 0, void 0, function () {
923
+ return __generator(this, function (_a) {
924
+ return [2 /*return*/, this.connector.getSelectorDeliveryDate()];
925
+ });
926
+ });
832
927
  };
833
- // will be called in future
834
- IOneControllerService.prototype.getSuperArticleImages = function () {
835
- return this.connector.getSuperArticleImages();
928
+ ProductConnectorService.prototype.getDeliveryDate2 = function (goodId) {
929
+ return this.connector.getDeliveryDate2(goodId);
836
930
  };
837
- IOneControllerService.prototype.getSuperArticle = function (id) {
931
+ ProductConnectorService.prototype.getSuperArticle = function (id) {
838
932
  return this.connector.getSuperArticle(id);
839
933
  };
840
- IOneControllerService.prototype.getJsonConfiguredArticles = function () {
841
- var configuratorStatistics = new configuratorStatisticsEnvironment.ConfiguratorStatisticsEnvironment();
842
- configuratorStatistics.userType = 'iOneProductPage';
843
- configuratorStatistics.transactionType = 'Sales';
844
- configuratorStatistics.actionDomain = 'bundle';
845
- configuratorStatistics.sessionId = this._settingsService.settings.session ? this._settingsService.settings.session.sessionId : 'unknown';
846
- configuratorStatistics.webHost = window.location.host;
847
- configuratorStatistics.bundleHost = window.location.host;
848
- return this.connector.getJsonConfiguredArticles(configuratorStatistics);
849
- };
850
- IOneControllerService.prototype.getJsonArticleFlatTree = function (goodId) {
851
- return this.connector.getJsonArticleFlatTree(goodId);
934
+ ProductConnectorService.prototype.getJsonArticleFlatTree = function (goodId, goodType, quantity, showLoader, instanceId, configuratorStatistics) {
935
+ if (showLoader === void 0) { showLoader = true; }
936
+ return this.connector.getJsonArticleFlatTree(goodId, goodType, quantity, showLoader, instanceId, configuratorStatistics);
852
937
  };
853
- IOneControllerService.prototype.onShowLoaderChange = function (showLoader) {
938
+ ProductConnectorService.prototype.onShowLoaderChange = function (showLoader) {
854
939
  this._shouldShowLoader = showLoader;
855
940
  };
856
- IOneControllerService.ctorParameters = function () { return [
857
- { type: IOneConnectorAdapterService },
858
- { type: SettingsService }
941
+ ProductConnectorService.ctorParameters = function () { return [
942
+ { type: ProductConnectorAdapterService },
943
+ { type: ProductSettingsService }
859
944
  ]; };
860
- IOneControllerService.ɵprov = core.ɵɵdefineInjectable({ factory: function IOneControllerService_Factory() { return new IOneControllerService(core.ɵɵinject(IOneConnectorAdapterService), core.ɵɵinject(SettingsService)); }, token: IOneControllerService, providedIn: "root" });
861
- IOneControllerService = __decorate([
945
+ ProductConnectorService.ɵprov = core.ɵɵdefineInjectable({ factory: function ProductConnectorService_Factory() { return new ProductConnectorService(core.ɵɵinject(ProductConnectorAdapterService), core.ɵɵinject(ProductSettingsService)); }, token: ProductConnectorService, providedIn: "root" });
946
+ ProductConnectorService = __decorate([
862
947
  core.Injectable({
863
948
  providedIn: 'root'
864
949
  })
865
- ], IOneControllerService);
866
- return IOneControllerService;
950
+ ], ProductConnectorService);
951
+ return ProductConnectorService;
867
952
  }());
868
953
 
869
- var AppEventService = /** @class */ (function () {
870
- function AppEventService() {
954
+ var ProductEventService = /** @class */ (function () {
955
+ function ProductEventService() {
871
956
  this.onAddToCart = new rxjs.Subject();
872
957
  this.onAlternativeClick = new rxjs.Subject();
873
958
  this.onAddToQuote = new rxjs.Subject();
@@ -881,26 +966,26 @@
881
966
  this.onArticleInfoReceived = new rxjs.Subject();
882
967
  this.onUpdateProductInfoTab = new rxjs.Subject();
883
968
  }
884
- AppEventService.ɵprov = core.ɵɵdefineInjectable({ factory: function AppEventService_Factory() { return new AppEventService(); }, token: AppEventService, providedIn: "root" });
969
+ ProductEventService.ɵprov = core.ɵɵdefineInjectable({ factory: function ProductEventService_Factory() { return new ProductEventService(); }, token: ProductEventService, providedIn: "root" });
885
970
  __decorate([
886
971
  core.Output()
887
- ], AppEventService.prototype, "onAddToCart", void 0);
972
+ ], ProductEventService.prototype, "onAddToCart", void 0);
888
973
  __decorate([
889
974
  core.Output()
890
- ], AppEventService.prototype, "onAlternativeClick", void 0);
975
+ ], ProductEventService.prototype, "onAlternativeClick", void 0);
891
976
  __decorate([
892
977
  core.Output()
893
- ], AppEventService.prototype, "onAddToQuote", void 0);
978
+ ], ProductEventService.prototype, "onAddToQuote", void 0);
894
979
  __decorate([
895
980
  core.Output()
896
- ], AppEventService.prototype, "onForceRenderImage", void 0);
897
- AppEventService = __decorate([
981
+ ], ProductEventService.prototype, "onForceRenderImage", void 0);
982
+ ProductEventService = __decorate([
898
983
  core.Directive(),
899
984
  core.Injectable({
900
985
  providedIn: 'root'
901
986
  })
902
- ], AppEventService);
903
- return AppEventService;
987
+ ], ProductEventService);
988
+ return ProductEventService;
904
989
  }());
905
990
 
906
991
  /** AUTO GENERATED FILE. DO NOT CHANGE.. **/
@@ -1082,8 +1167,10 @@
1082
1167
  if (this._images) {
1083
1168
  this._images.forEach(function (i) {
1084
1169
  if (!i.documentBody && !i.filePath) {
1085
- _this._ione.getDocumentContent(i.documentId, false).then(function (body) {
1086
- i.documentBody = body;
1170
+ _this._ione.getDocumentContent(i.documentId, false).then(function (content) {
1171
+ if (content) {
1172
+ i.documentBody = content.documentContent;
1173
+ }
1087
1174
  });
1088
1175
  }
1089
1176
  });
@@ -1102,8 +1189,8 @@
1102
1189
  }
1103
1190
  };
1104
1191
  ImageCarouselComponent.ctorParameters = function () { return [
1105
- { type: IOneControllerService },
1106
- { type: AppEventService },
1192
+ { type: ProductConnectorService },
1193
+ { type: ProductEventService },
1107
1194
  { type: core.ChangeDetectorRef },
1108
1195
  { type: platformBrowser.DomSanitizer },
1109
1196
  { type: IconCacheService }
@@ -1171,12 +1258,15 @@
1171
1258
  this.show3D = false;
1172
1259
  this.configuring = false;
1173
1260
  this.fullscreenAnimationEnd = false;
1261
+ this.settingsLoaded = false;
1174
1262
  this._fullScreen = false;
1175
1263
  this._subs = [];
1176
1264
  this._subs.push(this.appEventService.onForceRenderImage.subscribe(function (x) {
1177
1265
  if (_this.selections.nativeElement) {
1178
1266
  _this.selections.nativeElement.forceRenderImage();
1179
1267
  }
1268
+ }), this.settingsService.settingsLoaded.subscribe(function (loaded) {
1269
+ _this.settingsLoaded = loaded;
1180
1270
  }));
1181
1271
  }
1182
1272
  Object.defineProperty(ProductPageComponent.prototype, "sku", {
@@ -1275,11 +1365,11 @@
1275
1365
  if (_this.configurable) {
1276
1366
  _this.currentView = SelectorType.TwoD;
1277
1367
  }
1278
- _this.threeD = _this.article.homeBrandId !== undefined && _this.article.homeBrandId !== null;
1368
+ _this.threeD = _this.article.is3D;
1279
1369
  _this.selectorType = _this.article.selectorTypeCustomer;
1280
1370
  _this._ione.getDeliveryPrognosis(_this.article.goodId).then(function (stockInfo) {
1281
1371
  var stockAndDelivery = stockInfo;
1282
- _this.stockAndDelivery = new StockAndDelivery(stockAndDelivery.stock, stockAndDelivery.deliveryDescription);
1372
+ _this.stockAndDelivery = new StockAndDelivery(0, stockAndDelivery.returnValue ? stockAndDelivery.returnValue : ' ');
1283
1373
  _this._changeDetector.detectChanges();
1284
1374
  });
1285
1375
  _this._changeDetector.detectChanges();
@@ -1293,12 +1383,12 @@
1293
1383
  });
1294
1384
  };
1295
1385
  ProductPageComponent.ctorParameters = function () { return [
1296
- { type: IOneControllerService },
1386
+ { type: ProductConnectorService },
1297
1387
  { type: core.Renderer2 },
1298
1388
  { type: core.ChangeDetectorRef },
1299
1389
  { type: IconCacheService },
1300
- { type: SettingsService },
1301
- { type: AppEventService }
1390
+ { type: ProductSettingsService },
1391
+ { type: ProductEventService }
1302
1392
  ]; };
1303
1393
  __decorate([
1304
1394
  core.ViewChild('configurator', { read: core.ElementRef })
@@ -1315,7 +1405,7 @@
1315
1405
  ProductPageComponent = __decorate([
1316
1406
  core.Component({
1317
1407
  selector: 'app-product-page',
1318
- template: "<div class=\"page-wrapper\">\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <div class=\"product-image-container\">\r\n <div class=\"product-page-block-selector-type\">\r\n <app-product-selector-type class=\"default-padding\"\r\n [(currentType)]=\"currentView\"\r\n [show2D]=\"configurable\"\r\n [show3D]=\"threeD\"\r\n ></app-product-selector-type>\r\n </div>\r\n <div class=\"product-page-block-image default-padding\" [class.full]=\"fullScreen\">\r\n <app-image-carousel [@toggleVisibilityByState]=\"show2D ? 'show' : 'hide'\" [images]=\"article?.images\" [showRefresh]=\"configurable && threeD\"></app-image-carousel>\r\n <threed-configurator #configurator class=\"threed-configurator\"\r\n [class.configurator-full-screen]=\"fullScreen\"\r\n [@toggleVisibilityByState]=\"show3D ? 'show' : 'hide'\"\r\n [@toggleFullScreen]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n ></threed-configurator>\r\n <co-icon #fullscreenbutton class=\"fullscreen-button\" *ngIf=\"show3D\"\r\n [@toggleTopLeft]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [iconData]=\"iconCache.getIcon(fullScreenIcon)\"\r\n (click)=\"showFullScreen()\"></co-icon>\r\n <co-icon class=\"threed-watermark\" *ngIf=\"show3D && fullScreen\"\r\n [iconData]=\"iconCache.getIcon(icon.Logo)\"></co-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-description\">\r\n <app-product-description class=\"default-padding\" [article]=\"article\"></app-product-description>\r\n </div>\r\n <div class=\"product-page-block-additional\">\r\n <div class=\"product-page-block-additional-description\">\r\n <app-product-additional-description class=\"default-padding\" [article]=\"article\"></app-product-additional-description>\r\n </div>\r\n <div class=\"product-page-block-price\" [class.full]=\"configuring\">\r\n <app-product-price class=\"s-padding\" *ngIf=\"!configuring\"\r\n [pricing]=\"article?.pricing\"\r\n [configurable]=\"configurable\"\r\n ></app-product-price>\r\n <threed-selections #selections class=\"threed-selections\" [class.show-selections]=\"configuring\" [@toggleFullScreenRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [class.default-padding]=\"!fullScreen\"\r\n [class.show-full-screen]=\"fullScreen\"\r\n [class.mini-scrollbar]=\"fullScreen\"\r\n [sku]=\"sku\"\r\n [settings]=\"settingsService.settings\"\r\n (onUserActionFromThreeD)=\"configuring = true\"\r\n (instanceSet)=\"setInstance($event)\"\r\n (onImageReceived)=\"appEventService.onImageReceived.next($event)\"\r\n (onRenderStarted)=\"appEventService.onRenderStarted.next()\"\r\n (onDraftRenderImageReceived)=\"appEventService.onDraftRenderImageReceived.next($event)\"\r\n (onArticleReceived)=\"appEventService.onArticleReceived.next($event.detail)\"\r\n (onSelectionsReceived)=\"appEventService.onSelectionsReceived.next($event.detail)\"\r\n (onArticleInfoReceived)=\"appEventService.onArticleInfoReceived.next($event.detail)\"\r\n ></threed-selections>\r\n </div>\r\n <div class=\"product-page-block-addtocart no-padding product-action-buttons\" *ngIf=\"!configuring\" [@toggleTopRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\">\r\n <app-product-addtocart\r\n [configurable]=\"configurable\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"addtocart-reserved product-action-buttons\" *ngIf=\"configuring\" [class.full-screen]=\"fullScreen\">\r\n <app-product-addtocart class=\"default-padding\"\r\n [configurable]=\"false\"\r\n [fullscreen]=\"fullScreen\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"product-page-block-variants\">\r\n <app-product-related class=\"no-padding\" *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"64\" [label]=\"'VARIANTS' | localize\"></app-product-related>\r\n </div>\r\n <div class=\"product-page-block-stock\">\r\n <app-product-stock class=\"no-padding\" [stockAndDelivery]=\"stockAndDelivery\"></app-product-stock>\r\n </div>\r\n <div class=\"product-page-block-delivery\">\r\n <app-product-delivery class=\"no-padding\" [stockAndDelivery]=\"stockAndDelivery\"></app-product-delivery>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <app-product-info-tabs class=\"no-padding\" [article]=\"article\"></app-product-info-tabs>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-related s-padding\">\r\n <app-product-related *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"1\" [label]=\"'RELATED_PRODUCTS' | localize\"></app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content no-top-margin\">\r\n <div class=\"page-wrapper-full\">\r\n <div class=\"product-page-block-alternatives s-padding\">\r\n <app-product-related *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"4\" [isSmallModus]=\"false\" [label]=\"'ALTERNATIVE_PRODUCTS' | localize\"></app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
1408
+ template: "<div class=\"page-wrapper\">\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <div class=\"product-image-container\">\r\n <div class=\"product-page-block-selector-type\">\r\n <app-product-selector-type class=\"default-padding\"\r\n [(currentType)]=\"currentView\"\r\n [show2D]=\"configurable\"\r\n [show3D]=\"threeD\"\r\n ></app-product-selector-type>\r\n </div>\r\n <div class=\"product-page-block-image default-padding\" [class.full]=\"fullScreen\">\r\n <app-image-carousel [@toggleVisibilityByState]=\"show2D ? 'show' : 'hide'\" [images]=\"article?.images\" [showRefresh]=\"configurable && threeD\"></app-image-carousel>\r\n <ng-container *ngIf=\"settingsLoaded\">\r\n <threed-configurator #configurator class=\"threed-configurator\"\r\n [class.configurator-full-screen]=\"fullScreen\"\r\n [@toggleVisibilityByState]=\"show3D ? 'show' : 'hide'\"\r\n [@toggleFullScreen]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n ></threed-configurator>\r\n </ng-container>\r\n <co-icon #fullscreenbutton class=\"fullscreen-button\" *ngIf=\"show3D\"\r\n [@toggleTopLeft]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [iconData]=\"iconCache.getIcon(fullScreenIcon)\"\r\n (click)=\"showFullScreen()\"></co-icon>\r\n <co-icon class=\"threed-watermark\" *ngIf=\"show3D && fullScreen\"\r\n [iconData]=\"iconCache.getIcon(icon.Logo)\"></co-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-description\">\r\n <app-product-description class=\"default-padding\" [article]=\"article\"></app-product-description>\r\n </div>\r\n <div class=\"product-page-block-additional\">\r\n <div class=\"product-page-block-additional-description\">\r\n <app-product-additional-description class=\"default-padding\" [article]=\"article\"></app-product-additional-description>\r\n </div>\r\n <div class=\"product-page-block-price\" [class.full]=\"configuring\">\r\n <app-product-price class=\"s-padding\" *ngIf=\"!configuring\"\r\n [pricing]=\"article?.pricing\"\r\n [configurable]=\"configurable\"\r\n ></app-product-price>\r\n <ng-container *ngIf=\"settingsLoaded\">\r\n <threed-selections #selections class=\"threed-selections\" [class.show-selections]=\"configuring\" [@toggleFullScreenRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [class.default-padding]=\"!fullScreen\"\r\n [class.show-full-screen]=\"fullScreen\"\r\n [class.mini-scrollbar]=\"fullScreen\"\r\n [sku]=\"sku\"\r\n [settings]=\"settingsService.settings\"\r\n (onUserActionFromThreeD)=\"configuring = true\"\r\n (instanceSet)=\"setInstance($event)\"\r\n (onImageReceived)=\"appEventService.onImageReceived.next($event)\"\r\n (onRenderStarted)=\"appEventService.onRenderStarted.next()\"\r\n (onDraftRenderImageReceived)=\"appEventService.onDraftRenderImageReceived.next($event)\"\r\n (onArticleReceived)=\"appEventService.onArticleReceived.next($event.detail)\"\r\n (onSelectionsReceived)=\"appEventService.onSelectionsReceived.next($event.detail)\"\r\n (onArticleInfoReceived)=\"appEventService.onArticleInfoReceived.next($event.detail)\"\r\n ></threed-selections>\r\n </ng-container>\r\n </div>\r\n <div class=\"product-page-block-addtocart no-padding product-action-buttons\" *ngIf=\"!configuring\" [@toggleTopRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\">\r\n <app-product-addtocart\r\n [configurable]=\"configurable\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"addtocart-reserved product-action-buttons\" *ngIf=\"configuring\" [class.full-screen]=\"fullScreen\">\r\n <app-product-addtocart class=\"default-padding\"\r\n [configurable]=\"false\"\r\n [fullscreen]=\"fullScreen\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"product-page-block-variants\">\r\n <app-product-related class=\"no-padding\" *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"64\" [label]=\"'VARIANTS' | localize\"></app-product-related>\r\n </div>\r\n <div class=\"product-page-block-stock\">\r\n <app-product-stock class=\"no-padding\" [stockAndDelivery]=\"stockAndDelivery\"></app-product-stock>\r\n </div>\r\n <div class=\"product-page-block-delivery\">\r\n <app-product-delivery class=\"no-padding\" [stockAndDelivery]=\"stockAndDelivery\"></app-product-delivery>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <app-product-info-tabs class=\"no-padding\" [article]=\"article\"></app-product-info-tabs>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-related s-padding\">\r\n <app-product-related *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"1\" [label]=\"'RELATED_PRODUCTS' | localize\"></app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content no-top-margin\">\r\n <div class=\"page-wrapper-full\">\r\n <div class=\"product-page-block-alternatives s-padding\">\r\n <app-product-related *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"4\" [isSmallModus]=\"false\" [label]=\"'ALTERNATIVE_PRODUCTS' | localize\"></app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
1319
1409
  animations: [
1320
1410
  animations.trigger('toggleFullScreen', [
1321
1411
  animations.state('fullscreen', animations.style({ 'position': 'fixed', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%' })),
@@ -1419,13 +1509,17 @@
1419
1509
  var _this = this;
1420
1510
  this._articles.forEach(function (a) {
1421
1511
  if (!a.image.documentBody) {
1422
- _this._iOne.getDocumentContent(a.image.documentId).then(function (d) { return a.image.documentBody = d; });
1512
+ _this._iOne.getDocumentContent(a.image.documentId).then(function (content) {
1513
+ if (content) {
1514
+ a.image.documentBody = content.documentContent;
1515
+ }
1516
+ });
1423
1517
  }
1424
1518
  });
1425
1519
  };
1426
1520
  ProductRelatedComponent.ctorParameters = function () { return [
1427
- { type: IOneControllerService },
1428
- { type: AppEventService }
1521
+ { type: ProductConnectorService },
1522
+ { type: ProductEventService }
1429
1523
  ]; };
1430
1524
  __decorate([
1431
1525
  core.Input()
@@ -1505,12 +1599,12 @@
1505
1599
  return ProductInfoComponent;
1506
1600
  }());
1507
1601
 
1508
- var ModuleService = /** @class */ (function () {
1509
- function ModuleService(_iOneConnectorService) {
1602
+ var ProductModuleService = /** @class */ (function () {
1603
+ function ProductModuleService(_iOneConnectorService) {
1510
1604
  this._iOneConnectorService = _iOneConnectorService;
1511
1605
  this._superArticles = new Map();
1512
1606
  }
1513
- ModuleService.prototype.getArticle = function (id) {
1607
+ ProductModuleService.prototype.getArticle = function (id) {
1514
1608
  return __awaiter(this, void 0, void 0, function () {
1515
1609
  return __generator(this, function (_a) {
1516
1610
  switch (_a.label) {
@@ -1520,7 +1614,7 @@
1520
1614
  });
1521
1615
  });
1522
1616
  };
1523
- ModuleService.prototype._getArticle = function (id) {
1617
+ ProductModuleService.prototype._getArticle = function (id) {
1524
1618
  return __awaiter(this, void 0, void 0, function () {
1525
1619
  var mainArticle;
1526
1620
  return __generator(this, function (_a) {
@@ -1537,16 +1631,16 @@
1537
1631
  });
1538
1632
  });
1539
1633
  };
1540
- ModuleService.ctorParameters = function () { return [
1541
- { type: IOneControllerService }
1634
+ ProductModuleService.ctorParameters = function () { return [
1635
+ { type: ProductConnectorService }
1542
1636
  ]; };
1543
- ModuleService.ɵprov = core.ɵɵdefineInjectable({ factory: function ModuleService_Factory() { return new ModuleService(core.ɵɵinject(IOneControllerService)); }, token: ModuleService, providedIn: "root" });
1544
- ModuleService = __decorate([
1637
+ ProductModuleService.ɵprov = core.ɵɵdefineInjectable({ factory: function ProductModuleService_Factory() { return new ProductModuleService(core.ɵɵinject(ProductConnectorService)); }, token: ProductModuleService, providedIn: "root" });
1638
+ ProductModuleService = __decorate([
1545
1639
  core.Injectable({
1546
1640
  providedIn: 'root'
1547
1641
  })
1548
- ], ModuleService);
1549
- return ModuleService;
1642
+ ], ProductModuleService);
1643
+ return ProductModuleService;
1550
1644
  }());
1551
1645
 
1552
1646
  var BitUtils = /** @class */ (function () {
@@ -1668,7 +1762,7 @@
1668
1762
  };
1669
1763
  ProductAdditionalInfoComponent.ctorParameters = function () { return [
1670
1764
  { type: platformBrowser.DomSanitizer },
1671
- { type: ModuleService },
1765
+ { type: ProductModuleService },
1672
1766
  { type: core.ChangeDetectorRef }
1673
1767
  ]; };
1674
1768
  __decorate([
@@ -1797,7 +1891,7 @@
1797
1891
  };
1798
1892
  ProductDeliveryComponent.ctorParameters = function () { return [
1799
1893
  { type: LocalizePipe },
1800
- { type: IOneControllerService },
1894
+ { type: ProductConnectorService },
1801
1895
  { type: IconCacheService }
1802
1896
  ]; };
1803
1897
  __decorate([
@@ -1806,7 +1900,7 @@
1806
1900
  ProductDeliveryComponent = __decorate([
1807
1901
  core.Component({
1808
1902
  selector: 'app-product-delivery',
1809
- template: "<!--<app-header [label]=\"'DELIVERY_TIME_PERIOD' | localize\"></app-header>-->\n<div class=\"product-delivery-wrapper\">\n <co-icon class=\"delivery-icon\" [iconData]=\"iconData\"></co-icon>\n <div class=\"product-delivery-fields\">\n <div class=\"pp-default-label\" [textContent]=\"'DELIVERY_TIME_PERIOD' | localize\"></div>\n <div class=\"pp-default-description\" [textContent]=\"deliveryDescription\"></div>\n </div>\n</div>\n",
1903
+ template: "<!--<app-header [label]=\"'DELIVERY_TIME_PERIOD' | localize\"></app-header>-->\n<div class=\"product-delivery-wrapper\">\n <co-icon class=\"delivery-icon\" [iconData]=\"iconData\"></co-icon>\n <div class=\"product-delivery-fields\">\n <div class=\"pp-default-label\" [textContent]=\"'DELIVERY_TIME_PERIOD' | localize\"></div>\n <div class=\"pp-default-description\" [textContent]=\"deliveryDescription | date:'dd MMMM yyyy'\"></div>\n </div>\n</div>\n",
1810
1904
  providers: [LocalizePipe],
1811
1905
  styles: [":host{display:block}.product-delivery-wrapper{display:flex;flex-direction:row;align-items:center;border-bottom:1px solid #f6f5f4;padding:20px 15px}.product-delivery-wrapper .delivery-icon{margin:0 15px 0 0;width:40px;height:37px}.product-delivery-wrapper .product-delivery-fields{display:flex;flex-direction:column}.product-delivery-wrapper .product-delivery-fields .pp-default-label{font-size:14px;margin:0}@media screen and (max-width:400px){.product-delivery-wrapper{padding:15px 0 15px 10px}.product-delivery-wrapper .delivery-icon{margin:0 15px 0 0;width:32px;height:28px}.product-delivery-wrapper .product-delivery-fields .pp-default-label{font-size:13px}}"]
1812
1906
  })
@@ -1833,7 +1927,7 @@
1833
1927
  ProductStockComponent.prototype.ngOnInit = function () {
1834
1928
  };
1835
1929
  ProductStockComponent.ctorParameters = function () { return [
1836
- { type: IOneControllerService },
1930
+ { type: ProductConnectorService },
1837
1931
  { type: IconCacheService }
1838
1932
  ]; };
1839
1933
  __decorate([
@@ -1961,10 +2055,11 @@
1961
2055
  }());
1962
2056
 
1963
2057
  var ProductAddtocartComponent = /** @class */ (function () {
1964
- function ProductAddtocartComponent(iconCache, _ioneControllerService, _appEventService) {
2058
+ function ProductAddtocartComponent(iconCache, _ioneControllerService, _appEventService, _settingsService) {
1965
2059
  this.iconCache = iconCache;
1966
2060
  this._ioneControllerService = _ioneControllerService;
1967
2061
  this._appEventService = _appEventService;
2062
+ this._settingsService = _settingsService;
1968
2063
  this.icon = IconEnum;
1969
2064
  this.configurable = false;
1970
2065
  this.configuring = false;
@@ -2022,46 +2117,28 @@
2022
2117
  };
2023
2118
  ProductAddtocartComponent.prototype._getJSONFromArticleObject = function (article) {
2024
2119
  return __awaiter(this, void 0, void 0, function () {
2025
- var returnObject, selectorDataJson, selectorDataObject, articleFlatTreeJson, articleFlatTreeJson;
2120
+ var configuratorStatistics;
2026
2121
  return __generator(this, function (_a) {
2027
2122
  switch (_a.label) {
2028
2123
  case 0:
2029
- returnObject = { goodId: 0, baseGoodId: 0, selectorData: {}, quantity: 0, articleTree: {} };
2030
- returnObject.baseGoodId = article.article.goodId;
2031
- returnObject.selectorData = {};
2032
- returnObject.quantity = article.quantity;
2033
- if (!(article.article.goodType === 'B')) return [3 /*break*/, 3];
2034
- return [4 /*yield*/, this._ioneControllerService.getJsonConfiguredArticles()];
2035
- case 1:
2036
- selectorDataJson = _a.sent();
2037
- selectorDataObject = JSON.parse(selectorDataJson);
2038
- returnObject.goodId = selectorDataObject.hasOwnProperty('compositionGoodId') ? selectorDataObject['compositionGoodId'] : selectorDataObject['goodId'];
2039
- returnObject.selectorData = selectorDataObject;
2040
- return [4 /*yield*/, this._ioneControllerService.getJsonArticleFlatTree(returnObject.goodId)];
2041
- case 2:
2042
- articleFlatTreeJson = _a.sent();
2043
- if (articleFlatTreeJson) {
2044
- returnObject.articleTree = JSON.parse(articleFlatTreeJson);
2045
- }
2046
- return [3 /*break*/, 5];
2047
- case 3:
2048
- returnObject.goodId = article.article.goodId;
2049
- return [4 /*yield*/, this._ioneControllerService.getJsonArticleFlatTree(returnObject.goodId)];
2050
- case 4:
2051
- articleFlatTreeJson = _a.sent();
2052
- if (articleFlatTreeJson) {
2053
- returnObject.articleTree = JSON.parse(articleFlatTreeJson);
2054
- }
2055
- _a.label = 5;
2056
- case 5: return [2 /*return*/, JSON.stringify(returnObject)];
2124
+ configuratorStatistics = new configuratorStatisticsEnvironment.ConfiguratorStatisticsEnvironment();
2125
+ configuratorStatistics.userType = 'iOneProductPage';
2126
+ configuratorStatistics.transactionType = 'Sales';
2127
+ configuratorStatistics.actionDomain = 'bundle';
2128
+ configuratorStatistics.sessionId = this._settingsService.settings.session ? this._settingsService.settings.session.sessionId : 'unknown';
2129
+ configuratorStatistics.webHost = window.location.host;
2130
+ configuratorStatistics.bundleHost = window.location.host;
2131
+ return [4 /*yield*/, this._ioneControllerService.getJsonArticleFlatTree(article.article.goodId, article.article.goodType, article.quantity, true, undefined, configuratorStatistics)];
2132
+ case 1: return [2 /*return*/, _a.sent()];
2057
2133
  }
2058
2134
  });
2059
2135
  });
2060
2136
  };
2061
2137
  ProductAddtocartComponent.ctorParameters = function () { return [
2062
2138
  { type: IconCacheService },
2063
- { type: IOneControllerService },
2064
- { type: AppEventService }
2139
+ { type: ProductConnectorService },
2140
+ { type: ProductEventService },
2141
+ { type: ProductSettingsService }
2065
2142
  ]; };
2066
2143
  __decorate([
2067
2144
  core.ViewChild('addtocartbutton', { read: core.ElementRef })
@@ -2156,6 +2233,7 @@
2156
2233
  // this.sku = 'CF-39904ANT';
2157
2234
  // this.sku = 'CF-22346001';
2158
2235
  // this.sku = '104';
2236
+ // this.sku = '1000561986';
2159
2237
  var _this = this;
2160
2238
  this._dictionary = _dictionary;
2161
2239
  this._jsonUtils = _jsonUtils;
@@ -2228,10 +2306,10 @@
2228
2306
  IoneProductComponent.ctorParameters = function () { return [
2229
2307
  { type: DictionaryService },
2230
2308
  { type: JsonUtilsService },
2231
- { type: IOneControllerService },
2309
+ { type: ProductConnectorService },
2232
2310
  { type: core.ChangeDetectorRef },
2233
- { type: AppEventService },
2234
- { type: SettingsService }
2311
+ { type: ProductEventService },
2312
+ { type: ProductSettingsService }
2235
2313
  ]; };
2236
2314
  __decorate([
2237
2315
  core.Input()
@@ -2310,7 +2388,7 @@
2310
2388
  }
2311
2389
  };
2312
2390
  ProductAdditionalDescriptionComponent.ctorParameters = function () { return [
2313
- { type: AppEventService }
2391
+ { type: ProductEventService }
2314
2392
  ]; };
2315
2393
  __decorate([
2316
2394
  core.Input()
@@ -2373,7 +2451,7 @@
2373
2451
  }
2374
2452
  };
2375
2453
  ProductInfoTabsComponent.ctorParameters = function () { return [
2376
- { type: AppEventService }
2454
+ { type: ProductEventService }
2377
2455
  ]; };
2378
2456
  __decorate([
2379
2457
  core.ViewChild('tabContent')
@@ -2391,27 +2469,27 @@
2391
2469
  return ProductInfoTabsComponent;
2392
2470
  }());
2393
2471
 
2394
- var AppInitializerService = /** @class */ (function () {
2395
- function AppInitializerService(_settingsService) {
2472
+ var ProductInitializerService = /** @class */ (function () {
2473
+ function ProductInitializerService(_settingsService) {
2396
2474
  this._settingsService = _settingsService;
2397
2475
  }
2398
- AppInitializerService.prototype.initializeApp = function () {
2476
+ ProductInitializerService.prototype.initializeApp = function () {
2399
2477
  return __awaiter(this, void 0, void 0, function () {
2400
2478
  return __generator(this, function (_a) {
2401
2479
  return [2 /*return*/, this._settingsService.initializeSettings()];
2402
2480
  });
2403
2481
  });
2404
2482
  };
2405
- AppInitializerService.ctorParameters = function () { return [
2406
- { type: SettingsService }
2483
+ ProductInitializerService.ctorParameters = function () { return [
2484
+ { type: ProductSettingsService }
2407
2485
  ]; };
2408
- AppInitializerService.ɵprov = core.ɵɵdefineInjectable({ factory: function AppInitializerService_Factory() { return new AppInitializerService(core.ɵɵinject(SettingsService)); }, token: AppInitializerService, providedIn: "root" });
2409
- AppInitializerService = __decorate([
2486
+ ProductInitializerService.ɵprov = core.ɵɵdefineInjectable({ factory: function ProductInitializerService_Factory() { return new ProductInitializerService(core.ɵɵinject(ProductSettingsService)); }, token: ProductInitializerService, providedIn: "root" });
2487
+ ProductInitializerService = __decorate([
2410
2488
  core.Injectable({
2411
2489
  providedIn: 'root',
2412
2490
  })
2413
- ], AppInitializerService);
2414
- return AppInitializerService;
2491
+ ], ProductInitializerService);
2492
+ return ProductInitializerService;
2415
2493
  }());
2416
2494
 
2417
2495
  function initializeApp(context) {
@@ -2464,14 +2542,14 @@
2464
2542
  IoneProductComponent
2465
2543
  ],
2466
2544
  providers: [
2467
- SettingsService,
2468
- IOneControllerService,
2469
- IOneConnectorAdapterService,
2545
+ ProductSettingsService,
2546
+ ProductConnectorService,
2547
+ ProductConnectorAdapterService,
2470
2548
  IconCacheService,
2471
2549
  {
2472
2550
  provide: core.APP_INITIALIZER,
2473
2551
  useFactory: initializeApp,
2474
- deps: [AppInitializerService],
2552
+ deps: [ProductInitializerService],
2475
2553
  multi: true
2476
2554
  }
2477
2555
  ],
@@ -2485,16 +2563,17 @@
2485
2563
  }());
2486
2564
 
2487
2565
  exports.IoneProductModule = IoneProductModule;
2566
+ exports.Version = Version;
2488
2567
  exports.initializeApp = initializeApp;
2489
2568
  exports.ɵa = IoneProductComponent;
2490
2569
  exports.ɵb = DictionaryService;
2491
2570
  exports.ɵba = ProductAdditionalDescriptionComponent;
2492
- exports.ɵbb = AppInitializerService;
2571
+ exports.ɵbb = ProductInitializerService;
2493
2572
  exports.ɵc = JsonUtilsService;
2494
- exports.ɵd = IOneControllerService;
2495
- exports.ɵe = IOneConnectorAdapterService;
2496
- exports.ɵf = SettingsService;
2497
- exports.ɵg = AppEventService;
2573
+ exports.ɵd = ProductConnectorService;
2574
+ exports.ɵe = ProductConnectorAdapterService;
2575
+ exports.ɵf = ProductSettingsService;
2576
+ exports.ɵg = ProductEventService;
2498
2577
  exports.ɵh = ProductPageComponent;
2499
2578
  exports.ɵi = IconCacheService;
2500
2579
  exports.ɵj = ImageCarouselComponent;
@@ -2504,7 +2583,7 @@
2504
2583
  exports.ɵn = HeaderComponent;
2505
2584
  exports.ɵo = ProductInfoComponent;
2506
2585
  exports.ɵp = ProductAdditionalInfoComponent;
2507
- exports.ɵq = ModuleService;
2586
+ exports.ɵq = ProductModuleService;
2508
2587
  exports.ɵr = ProductPropertiesComponent;
2509
2588
  exports.ɵs = ProductDeliveryComponent;
2510
2589
  exports.ɵt = LocalizePipe;