@colijnit/product 1.9.3 → 1.9.5

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 +348 -264
  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 +12 -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 +144 -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 +12 -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 +167 -0
  83. package/esm5/colijnit-product.js +7 -7
  84. package/esm5/public_api.js +2 -1
  85. package/fesm2015/colijnit-product.js +235 -207
  86. package/fesm2015/colijnit-product.js.map +1 -1
  87. package/fesm5/colijnit-product.js +345 -256
  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/articleapi/build/model/delivery-prognosis'), require('@colijnit/articleapi/build/model/document-content'), require('@colijnit/ioneconnector/build/service/business-object-factory'), 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/articleapi/build/model/delivery-prognosis', '@colijnit/articleapi/build/model/document-content', '@colijnit/ioneconnector/build/service/business-object-factory', '@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.deliveryPrognosis, global.documentContent, global.businessObjectFactory, 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, deliveryPrognosis, documentContent, businessObjectFactory, 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.5";
232
+ this.publishDate = "21-6-2023 11:47:53";
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) {
@@ -621,9 +705,11 @@
621
705
  return [4 /*yield*/, this._jsonUtilsService.readJsonFile('product-settings.json')];
622
706
  case 1:
623
707
  jsonSettings = _a.sent();
624
- this.settings = Object.assign(new Settings(), jsonSettings);
625
- this.settings.options = Object.assign(new SettingsOptions(), this.settings.options);
626
- this.settingsFinished();
708
+ if (jsonSettings) {
709
+ this.settings = Object.assign(new Settings(), jsonSettings);
710
+ this.settings.options = Object.assign(new SettingsOptions(), this.settings.options);
711
+ this.settingsFinished();
712
+ }
627
713
  return [3 /*break*/, 3];
628
714
  case 2:
629
715
  this.settings = Object.assign(new Settings(), settings);
@@ -635,7 +721,7 @@
635
721
  });
636
722
  });
637
723
  };
638
- SettingsService.prototype.createSettingsFromObject = function (obj) {
724
+ ProductSettingsService.prototype.createSettingsFromObject = function (obj) {
639
725
  return __awaiter(this, void 0, void 0, function () {
640
726
  return __generator(this, function (_a) {
641
727
  if (!this.settings) {
@@ -723,7 +809,7 @@
723
809
  });
724
810
  });
725
811
  };
726
- SettingsService.prototype.settingsFinished = function () {
812
+ ProductSettingsService.prototype.settingsFinished = function () {
727
813
  return __awaiter(this, void 0, void 0, function () {
728
814
  return __generator(this, function (_a) {
729
815
  switch (_a.label) {
@@ -736,45 +822,41 @@
736
822
  });
737
823
  });
738
824
  };
739
- SettingsService.ctorParameters = function () { return [
825
+ ProductSettingsService.ctorParameters = function () { return [
740
826
  { type: JsonUtilsService },
741
827
  { type: DictionaryService }
742
828
  ]; };
743
- SettingsService = __decorate([
744
- core.Injectable()
745
- ], SettingsService);
746
- return SettingsService;
829
+ ProductSettingsService.ɵprov = core.ɵɵdefineInjectable({ factory: function ProductSettingsService_Factory() { return new ProductSettingsService(core.ɵɵinject(JsonUtilsService), core.ɵɵinject(DictionaryService)); }, token: ProductSettingsService, providedIn: "root" });
830
+ ProductSettingsService = __decorate([
831
+ core.Injectable({
832
+ providedIn: 'root'
833
+ })
834
+ ], ProductSettingsService);
835
+ return ProductSettingsService;
747
836
  }());
748
837
 
749
838
  // 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) {
839
+ var ProductConnectorService = /** @class */ (function () {
840
+ function ProductConnectorService(connector, _settingsService) {
752
841
  this.connector = connector;
753
842
  this._settingsService = _settingsService;
754
843
  this.controllerInitialized = new rxjs.BehaviorSubject(false);
755
844
  this._initializing = false;
756
845
  this._initialized = false;
757
- this.defaultDevTestOptions = new options.Options();
846
+ this.connectorOptions = new options.Options();
758
847
  this.subs = [];
759
848
  }
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", {
849
+ Object.defineProperty(ProductConnectorService.prototype, "shouldShowLoader", {
768
850
  get: function () {
769
851
  return this._shouldShowLoader;
770
852
  },
771
853
  enumerable: true,
772
854
  configurable: true
773
855
  });
774
- IOneControllerService.prototype.ngOnDestroy = function () {
856
+ ProductConnectorService.prototype.ngOnDestroy = function () {
775
857
  this.subs.forEach(function (sub) { return sub.unsubscribe(); });
776
858
  };
777
- IOneControllerService.prototype.initDefaultDevelopTestConnection = function () {
859
+ ProductConnectorService.prototype.initDefaultDevelopTestConnection = function () {
778
860
  return __awaiter(this, void 0, void 0, function () {
779
861
  var settings;
780
862
  return __generator(this, function (_a) {
@@ -787,18 +869,20 @@
787
869
  if (!settings) {
788
870
  throw Error('Settings are not defined!');
789
871
  }
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;
872
+ this.connectorOptions.url = settings.url;
873
+ this.connectorOptions.schema = settings.schema;
874
+ this.connectorOptions.version = settings.version;
875
+ this.connectorOptions.branch = settings.branch;
876
+ this.connectorOptions.username = settings.username;
877
+ this.connectorOptions.password = settings.password;
878
+ this.connectorOptions.session = settings.session;
879
+ this.connectorOptions.currencyId = settings.currency;
880
+ this.connectorOptions.useGroups = settings.useGroups;
881
+ this.connectorOptions.useRenders = settings.useRenders;
882
+ this.connectorOptions.useLoginEncryption = settings.useEncryption;
883
+ this.connectorOptions.languageCode = settings.languageCode;
884
+ this.connector.initConnector(this.connectorOptions);
885
+ this._settingsService.settings.session = this.connectorOptions.session;
802
886
  this.controllerInitialized.next(true);
803
887
  this._initialized = true;
804
888
  this._initializing = false;
@@ -810,64 +894,67 @@
810
894
  });
811
895
  });
812
896
  };
813
- IOneControllerService.prototype.setInstance = function (instanceId) {
897
+ ProductConnectorService.prototype.setInstance = function (instanceId) {
814
898
  this.connector.setInstance(instanceId);
815
899
  };
816
- IOneControllerService.prototype.getFullArticle = function (skuOrId) {
817
- return this.connector.getFullArticle(skuOrId);
900
+ ProductConnectorService.prototype.getFullArticle = function (sku) {
901
+ return __awaiter(this, void 0, void 0, function () {
902
+ var goodId;
903
+ return __generator(this, function (_a) {
904
+ switch (_a.label) {
905
+ case 0: return [4 /*yield*/, this.connector.getGoodIdFromArticleNr(sku)];
906
+ case 1:
907
+ goodId = _a.sent();
908
+ if (goodId) {
909
+ return [2 /*return*/, this.connector.getArticleFullObject(goodId)];
910
+ }
911
+ return [2 /*return*/, null];
912
+ }
913
+ });
914
+ });
818
915
  };
819
- IOneControllerService.prototype.getDocumentContent = function (docId, thumbnail) {
916
+ ProductConnectorService.prototype.getDocumentContent = function (docId, thumbnail) {
820
917
  if (thumbnail === void 0) { thumbnail = true; }
821
918
  return this.connector.getDocumentContent(docId, thumbnail);
822
919
  };
823
- IOneControllerService.prototype.getDeliveryPrognosis = function (goodId) {
920
+ ProductConnectorService.prototype.getDeliveryPrognosis = function (goodId) {
824
921
  return this.connector.getDeliveryPrognosis(goodId);
825
922
  };
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();
923
+ ProductConnectorService.prototype.getSelectorDeliveryDate = function () {
924
+ return __awaiter(this, void 0, void 0, function () {
925
+ return __generator(this, function (_a) {
926
+ return [2 /*return*/, this.connector.getSelectorDeliveryDate()];
927
+ });
928
+ });
832
929
  };
833
- // will be called in future
834
- IOneControllerService.prototype.getSuperArticleImages = function () {
835
- return this.connector.getSuperArticleImages();
930
+ ProductConnectorService.prototype.getDeliveryDate2 = function (goodId) {
931
+ return this.connector.getDeliveryDate2(goodId);
836
932
  };
837
- IOneControllerService.prototype.getSuperArticle = function (id) {
933
+ ProductConnectorService.prototype.getSuperArticle = function (id) {
838
934
  return this.connector.getSuperArticle(id);
839
935
  };
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);
936
+ ProductConnectorService.prototype.getJsonArticleFlatTree = function (goodId, goodType, quantity, showLoader, instanceId, configuratorStatistics) {
937
+ if (showLoader === void 0) { showLoader = true; }
938
+ return this.connector.getJsonArticleFlatTree(goodId, goodType, quantity, showLoader, instanceId, configuratorStatistics);
852
939
  };
853
- IOneControllerService.prototype.onShowLoaderChange = function (showLoader) {
940
+ ProductConnectorService.prototype.onShowLoaderChange = function (showLoader) {
854
941
  this._shouldShowLoader = showLoader;
855
942
  };
856
- IOneControllerService.ctorParameters = function () { return [
857
- { type: IOneConnectorAdapterService },
858
- { type: SettingsService }
943
+ ProductConnectorService.ctorParameters = function () { return [
944
+ { type: ProductConnectorAdapterService },
945
+ { type: ProductSettingsService }
859
946
  ]; };
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([
947
+ ProductConnectorService.ɵprov = core.ɵɵdefineInjectable({ factory: function ProductConnectorService_Factory() { return new ProductConnectorService(core.ɵɵinject(ProductConnectorAdapterService), core.ɵɵinject(ProductSettingsService)); }, token: ProductConnectorService, providedIn: "root" });
948
+ ProductConnectorService = __decorate([
862
949
  core.Injectable({
863
950
  providedIn: 'root'
864
951
  })
865
- ], IOneControllerService);
866
- return IOneControllerService;
952
+ ], ProductConnectorService);
953
+ return ProductConnectorService;
867
954
  }());
868
955
 
869
- var AppEventService = /** @class */ (function () {
870
- function AppEventService() {
956
+ var ProductEventService = /** @class */ (function () {
957
+ function ProductEventService() {
871
958
  this.onAddToCart = new rxjs.Subject();
872
959
  this.onAlternativeClick = new rxjs.Subject();
873
960
  this.onAddToQuote = new rxjs.Subject();
@@ -881,26 +968,26 @@
881
968
  this.onArticleInfoReceived = new rxjs.Subject();
882
969
  this.onUpdateProductInfoTab = new rxjs.Subject();
883
970
  }
884
- AppEventService.ɵprov = core.ɵɵdefineInjectable({ factory: function AppEventService_Factory() { return new AppEventService(); }, token: AppEventService, providedIn: "root" });
971
+ ProductEventService.ɵprov = core.ɵɵdefineInjectable({ factory: function ProductEventService_Factory() { return new ProductEventService(); }, token: ProductEventService, providedIn: "root" });
885
972
  __decorate([
886
973
  core.Output()
887
- ], AppEventService.prototype, "onAddToCart", void 0);
974
+ ], ProductEventService.prototype, "onAddToCart", void 0);
888
975
  __decorate([
889
976
  core.Output()
890
- ], AppEventService.prototype, "onAlternativeClick", void 0);
977
+ ], ProductEventService.prototype, "onAlternativeClick", void 0);
891
978
  __decorate([
892
979
  core.Output()
893
- ], AppEventService.prototype, "onAddToQuote", void 0);
980
+ ], ProductEventService.prototype, "onAddToQuote", void 0);
894
981
  __decorate([
895
982
  core.Output()
896
- ], AppEventService.prototype, "onForceRenderImage", void 0);
897
- AppEventService = __decorate([
983
+ ], ProductEventService.prototype, "onForceRenderImage", void 0);
984
+ ProductEventService = __decorate([
898
985
  core.Directive(),
899
986
  core.Injectable({
900
987
  providedIn: 'root'
901
988
  })
902
- ], AppEventService);
903
- return AppEventService;
989
+ ], ProductEventService);
990
+ return ProductEventService;
904
991
  }());
905
992
 
906
993
  /** AUTO GENERATED FILE. DO NOT CHANGE.. **/
@@ -1082,8 +1169,10 @@
1082
1169
  if (this._images) {
1083
1170
  this._images.forEach(function (i) {
1084
1171
  if (!i.documentBody && !i.filePath) {
1085
- _this._ione.getDocumentContent(i.documentId, false).then(function (body) {
1086
- i.documentBody = body;
1172
+ _this._ione.getDocumentContent(i.documentId, false).then(function (content) {
1173
+ if (content) {
1174
+ i.documentBody = content.documentContent;
1175
+ }
1087
1176
  });
1088
1177
  }
1089
1178
  });
@@ -1102,8 +1191,8 @@
1102
1191
  }
1103
1192
  };
1104
1193
  ImageCarouselComponent.ctorParameters = function () { return [
1105
- { type: IOneControllerService },
1106
- { type: AppEventService },
1194
+ { type: ProductConnectorService },
1195
+ { type: ProductEventService },
1107
1196
  { type: core.ChangeDetectorRef },
1108
1197
  { type: platformBrowser.DomSanitizer },
1109
1198
  { type: IconCacheService }
@@ -1171,12 +1260,15 @@
1171
1260
  this.show3D = false;
1172
1261
  this.configuring = false;
1173
1262
  this.fullscreenAnimationEnd = false;
1263
+ this.settingsLoaded = false;
1174
1264
  this._fullScreen = false;
1175
1265
  this._subs = [];
1176
1266
  this._subs.push(this.appEventService.onForceRenderImage.subscribe(function (x) {
1177
1267
  if (_this.selections.nativeElement) {
1178
1268
  _this.selections.nativeElement.forceRenderImage();
1179
1269
  }
1270
+ }), this.settingsService.settingsLoaded.subscribe(function (loaded) {
1271
+ _this.settingsLoaded = loaded;
1180
1272
  }));
1181
1273
  }
1182
1274
  Object.defineProperty(ProductPageComponent.prototype, "sku", {
@@ -1275,11 +1367,11 @@
1275
1367
  if (_this.configurable) {
1276
1368
  _this.currentView = SelectorType.TwoD;
1277
1369
  }
1278
- _this.threeD = _this.article.homeBrandId !== undefined && _this.article.homeBrandId !== null;
1370
+ _this.threeD = _this.article.is3D;
1279
1371
  _this.selectorType = _this.article.selectorTypeCustomer;
1280
1372
  _this._ione.getDeliveryPrognosis(_this.article.goodId).then(function (stockInfo) {
1281
1373
  var stockAndDelivery = stockInfo;
1282
- _this.stockAndDelivery = new StockAndDelivery(stockAndDelivery.stock, stockAndDelivery.deliveryDescription);
1374
+ _this.stockAndDelivery = new StockAndDelivery(0, stockAndDelivery.returnValue ? stockAndDelivery.returnValue : ' ');
1283
1375
  _this._changeDetector.detectChanges();
1284
1376
  });
1285
1377
  _this._changeDetector.detectChanges();
@@ -1293,12 +1385,12 @@
1293
1385
  });
1294
1386
  };
1295
1387
  ProductPageComponent.ctorParameters = function () { return [
1296
- { type: IOneControllerService },
1388
+ { type: ProductConnectorService },
1297
1389
  { type: core.Renderer2 },
1298
1390
  { type: core.ChangeDetectorRef },
1299
1391
  { type: IconCacheService },
1300
- { type: SettingsService },
1301
- { type: AppEventService }
1392
+ { type: ProductSettingsService },
1393
+ { type: ProductEventService }
1302
1394
  ]; };
1303
1395
  __decorate([
1304
1396
  core.ViewChild('configurator', { read: core.ElementRef })
@@ -1315,7 +1407,7 @@
1315
1407
  ProductPageComponent = __decorate([
1316
1408
  core.Component({
1317
1409
  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",
1410
+ 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
1411
  animations: [
1320
1412
  animations.trigger('toggleFullScreen', [
1321
1413
  animations.state('fullscreen', animations.style({ 'position': 'fixed', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%' })),
@@ -1419,13 +1511,17 @@
1419
1511
  var _this = this;
1420
1512
  this._articles.forEach(function (a) {
1421
1513
  if (!a.image.documentBody) {
1422
- _this._iOne.getDocumentContent(a.image.documentId).then(function (d) { return a.image.documentBody = d; });
1514
+ _this._iOne.getDocumentContent(a.image.documentId).then(function (content) {
1515
+ if (content) {
1516
+ a.image.documentBody = content.documentContent;
1517
+ }
1518
+ });
1423
1519
  }
1424
1520
  });
1425
1521
  };
1426
1522
  ProductRelatedComponent.ctorParameters = function () { return [
1427
- { type: IOneControllerService },
1428
- { type: AppEventService }
1523
+ { type: ProductConnectorService },
1524
+ { type: ProductEventService }
1429
1525
  ]; };
1430
1526
  __decorate([
1431
1527
  core.Input()
@@ -1505,12 +1601,12 @@
1505
1601
  return ProductInfoComponent;
1506
1602
  }());
1507
1603
 
1508
- var ModuleService = /** @class */ (function () {
1509
- function ModuleService(_iOneConnectorService) {
1604
+ var ProductModuleService = /** @class */ (function () {
1605
+ function ProductModuleService(_iOneConnectorService) {
1510
1606
  this._iOneConnectorService = _iOneConnectorService;
1511
1607
  this._superArticles = new Map();
1512
1608
  }
1513
- ModuleService.prototype.getArticle = function (id) {
1609
+ ProductModuleService.prototype.getArticle = function (id) {
1514
1610
  return __awaiter(this, void 0, void 0, function () {
1515
1611
  return __generator(this, function (_a) {
1516
1612
  switch (_a.label) {
@@ -1520,7 +1616,7 @@
1520
1616
  });
1521
1617
  });
1522
1618
  };
1523
- ModuleService.prototype._getArticle = function (id) {
1619
+ ProductModuleService.prototype._getArticle = function (id) {
1524
1620
  return __awaiter(this, void 0, void 0, function () {
1525
1621
  var mainArticle;
1526
1622
  return __generator(this, function (_a) {
@@ -1537,16 +1633,16 @@
1537
1633
  });
1538
1634
  });
1539
1635
  };
1540
- ModuleService.ctorParameters = function () { return [
1541
- { type: IOneControllerService }
1636
+ ProductModuleService.ctorParameters = function () { return [
1637
+ { type: ProductConnectorService }
1542
1638
  ]; };
1543
- ModuleService.ɵprov = core.ɵɵdefineInjectable({ factory: function ModuleService_Factory() { return new ModuleService(core.ɵɵinject(IOneControllerService)); }, token: ModuleService, providedIn: "root" });
1544
- ModuleService = __decorate([
1639
+ ProductModuleService.ɵprov = core.ɵɵdefineInjectable({ factory: function ProductModuleService_Factory() { return new ProductModuleService(core.ɵɵinject(ProductConnectorService)); }, token: ProductModuleService, providedIn: "root" });
1640
+ ProductModuleService = __decorate([
1545
1641
  core.Injectable({
1546
1642
  providedIn: 'root'
1547
1643
  })
1548
- ], ModuleService);
1549
- return ModuleService;
1644
+ ], ProductModuleService);
1645
+ return ProductModuleService;
1550
1646
  }());
1551
1647
 
1552
1648
  var BitUtils = /** @class */ (function () {
@@ -1668,7 +1764,7 @@
1668
1764
  };
1669
1765
  ProductAdditionalInfoComponent.ctorParameters = function () { return [
1670
1766
  { type: platformBrowser.DomSanitizer },
1671
- { type: ModuleService },
1767
+ { type: ProductModuleService },
1672
1768
  { type: core.ChangeDetectorRef }
1673
1769
  ]; };
1674
1770
  __decorate([
@@ -1797,7 +1893,7 @@
1797
1893
  };
1798
1894
  ProductDeliveryComponent.ctorParameters = function () { return [
1799
1895
  { type: LocalizePipe },
1800
- { type: IOneControllerService },
1896
+ { type: ProductConnectorService },
1801
1897
  { type: IconCacheService }
1802
1898
  ]; };
1803
1899
  __decorate([
@@ -1806,7 +1902,7 @@
1806
1902
  ProductDeliveryComponent = __decorate([
1807
1903
  core.Component({
1808
1904
  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",
1905
+ 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
1906
  providers: [LocalizePipe],
1811
1907
  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
1908
  })
@@ -1833,7 +1929,7 @@
1833
1929
  ProductStockComponent.prototype.ngOnInit = function () {
1834
1930
  };
1835
1931
  ProductStockComponent.ctorParameters = function () { return [
1836
- { type: IOneControllerService },
1932
+ { type: ProductConnectorService },
1837
1933
  { type: IconCacheService }
1838
1934
  ]; };
1839
1935
  __decorate([
@@ -1961,10 +2057,11 @@
1961
2057
  }());
1962
2058
 
1963
2059
  var ProductAddtocartComponent = /** @class */ (function () {
1964
- function ProductAddtocartComponent(iconCache, _ioneControllerService, _appEventService) {
2060
+ function ProductAddtocartComponent(iconCache, _ioneControllerService, _appEventService, _settingsService) {
1965
2061
  this.iconCache = iconCache;
1966
2062
  this._ioneControllerService = _ioneControllerService;
1967
2063
  this._appEventService = _appEventService;
2064
+ this._settingsService = _settingsService;
1968
2065
  this.icon = IconEnum;
1969
2066
  this.configurable = false;
1970
2067
  this.configuring = false;
@@ -2022,46 +2119,28 @@
2022
2119
  };
2023
2120
  ProductAddtocartComponent.prototype._getJSONFromArticleObject = function (article) {
2024
2121
  return __awaiter(this, void 0, void 0, function () {
2025
- var returnObject, selectorDataJson, selectorDataObject, articleFlatTreeJson, articleFlatTreeJson;
2122
+ var configuratorStatistics;
2026
2123
  return __generator(this, function (_a) {
2027
2124
  switch (_a.label) {
2028
2125
  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)];
2126
+ configuratorStatistics = new configuratorStatisticsEnvironment.ConfiguratorStatisticsEnvironment();
2127
+ configuratorStatistics.userType = 'iOneProductPage';
2128
+ configuratorStatistics.transactionType = 'Sales';
2129
+ configuratorStatistics.actionDomain = 'bundle';
2130
+ configuratorStatistics.sessionId = this._settingsService.settings.session ? this._settingsService.settings.session.sessionId : 'unknown';
2131
+ configuratorStatistics.webHost = window.location.host;
2132
+ configuratorStatistics.bundleHost = window.location.host;
2133
+ return [4 /*yield*/, this._ioneControllerService.getJsonArticleFlatTree(article.article.goodId, article.article.goodType, article.quantity, true, undefined, configuratorStatistics)];
2134
+ case 1: return [2 /*return*/, _a.sent()];
2057
2135
  }
2058
2136
  });
2059
2137
  });
2060
2138
  };
2061
2139
  ProductAddtocartComponent.ctorParameters = function () { return [
2062
2140
  { type: IconCacheService },
2063
- { type: IOneControllerService },
2064
- { type: AppEventService }
2141
+ { type: ProductConnectorService },
2142
+ { type: ProductEventService },
2143
+ { type: ProductSettingsService }
2065
2144
  ]; };
2066
2145
  __decorate([
2067
2146
  core.ViewChild('addtocartbutton', { read: core.ElementRef })
@@ -2156,6 +2235,10 @@
2156
2235
  // this.sku = 'CF-39904ANT';
2157
2236
  // this.sku = 'CF-22346001';
2158
2237
  // this.sku = '104';
2238
+ // this.sku = '1000561986';
2239
+ // this.sku = '1000234793';
2240
+ // this.sku = '1066';
2241
+ // this.sku = '104';
2159
2242
  var _this = this;
2160
2243
  this._dictionary = _dictionary;
2161
2244
  this._jsonUtils = _jsonUtils;
@@ -2228,10 +2311,10 @@
2228
2311
  IoneProductComponent.ctorParameters = function () { return [
2229
2312
  { type: DictionaryService },
2230
2313
  { type: JsonUtilsService },
2231
- { type: IOneControllerService },
2314
+ { type: ProductConnectorService },
2232
2315
  { type: core.ChangeDetectorRef },
2233
- { type: AppEventService },
2234
- { type: SettingsService }
2316
+ { type: ProductEventService },
2317
+ { type: ProductSettingsService }
2235
2318
  ]; };
2236
2319
  __decorate([
2237
2320
  core.Input()
@@ -2310,7 +2393,7 @@
2310
2393
  }
2311
2394
  };
2312
2395
  ProductAdditionalDescriptionComponent.ctorParameters = function () { return [
2313
- { type: AppEventService }
2396
+ { type: ProductEventService }
2314
2397
  ]; };
2315
2398
  __decorate([
2316
2399
  core.Input()
@@ -2373,7 +2456,7 @@
2373
2456
  }
2374
2457
  };
2375
2458
  ProductInfoTabsComponent.ctorParameters = function () { return [
2376
- { type: AppEventService }
2459
+ { type: ProductEventService }
2377
2460
  ]; };
2378
2461
  __decorate([
2379
2462
  core.ViewChild('tabContent')
@@ -2391,27 +2474,27 @@
2391
2474
  return ProductInfoTabsComponent;
2392
2475
  }());
2393
2476
 
2394
- var AppInitializerService = /** @class */ (function () {
2395
- function AppInitializerService(_settingsService) {
2477
+ var ProductInitializerService = /** @class */ (function () {
2478
+ function ProductInitializerService(_settingsService) {
2396
2479
  this._settingsService = _settingsService;
2397
2480
  }
2398
- AppInitializerService.prototype.initializeApp = function () {
2481
+ ProductInitializerService.prototype.initializeApp = function () {
2399
2482
  return __awaiter(this, void 0, void 0, function () {
2400
2483
  return __generator(this, function (_a) {
2401
2484
  return [2 /*return*/, this._settingsService.initializeSettings()];
2402
2485
  });
2403
2486
  });
2404
2487
  };
2405
- AppInitializerService.ctorParameters = function () { return [
2406
- { type: SettingsService }
2488
+ ProductInitializerService.ctorParameters = function () { return [
2489
+ { type: ProductSettingsService }
2407
2490
  ]; };
2408
- AppInitializerService.ɵprov = core.ɵɵdefineInjectable({ factory: function AppInitializerService_Factory() { return new AppInitializerService(core.ɵɵinject(SettingsService)); }, token: AppInitializerService, providedIn: "root" });
2409
- AppInitializerService = __decorate([
2491
+ ProductInitializerService.ɵprov = core.ɵɵdefineInjectable({ factory: function ProductInitializerService_Factory() { return new ProductInitializerService(core.ɵɵinject(ProductSettingsService)); }, token: ProductInitializerService, providedIn: "root" });
2492
+ ProductInitializerService = __decorate([
2410
2493
  core.Injectable({
2411
2494
  providedIn: 'root',
2412
2495
  })
2413
- ], AppInitializerService);
2414
- return AppInitializerService;
2496
+ ], ProductInitializerService);
2497
+ return ProductInitializerService;
2415
2498
  }());
2416
2499
 
2417
2500
  function initializeApp(context) {
@@ -2464,14 +2547,14 @@
2464
2547
  IoneProductComponent
2465
2548
  ],
2466
2549
  providers: [
2467
- SettingsService,
2468
- IOneControllerService,
2469
- IOneConnectorAdapterService,
2550
+ ProductSettingsService,
2551
+ ProductConnectorService,
2552
+ ProductConnectorAdapterService,
2470
2553
  IconCacheService,
2471
2554
  {
2472
2555
  provide: core.APP_INITIALIZER,
2473
2556
  useFactory: initializeApp,
2474
- deps: [AppInitializerService],
2557
+ deps: [ProductInitializerService],
2475
2558
  multi: true
2476
2559
  }
2477
2560
  ],
@@ -2485,16 +2568,17 @@
2485
2568
  }());
2486
2569
 
2487
2570
  exports.IoneProductModule = IoneProductModule;
2571
+ exports.Version = Version;
2488
2572
  exports.initializeApp = initializeApp;
2489
2573
  exports.ɵa = IoneProductComponent;
2490
2574
  exports.ɵb = DictionaryService;
2491
2575
  exports.ɵba = ProductAdditionalDescriptionComponent;
2492
- exports.ɵbb = AppInitializerService;
2576
+ exports.ɵbb = ProductInitializerService;
2493
2577
  exports.ɵc = JsonUtilsService;
2494
- exports.ɵd = IOneControllerService;
2495
- exports.ɵe = IOneConnectorAdapterService;
2496
- exports.ɵf = SettingsService;
2497
- exports.ɵg = AppEventService;
2578
+ exports.ɵd = ProductConnectorService;
2579
+ exports.ɵe = ProductConnectorAdapterService;
2580
+ exports.ɵf = ProductSettingsService;
2581
+ exports.ɵg = ProductEventService;
2498
2582
  exports.ɵh = ProductPageComponent;
2499
2583
  exports.ɵi = IconCacheService;
2500
2584
  exports.ɵj = ImageCarouselComponent;
@@ -2504,7 +2588,7 @@
2504
2588
  exports.ɵn = HeaderComponent;
2505
2589
  exports.ɵo = ProductInfoComponent;
2506
2590
  exports.ɵp = ProductAdditionalInfoComponent;
2507
- exports.ɵq = ModuleService;
2591
+ exports.ɵq = ProductModuleService;
2508
2592
  exports.ɵr = ProductPropertiesComponent;
2509
2593
  exports.ɵs = ProductDeliveryComponent;
2510
2594
  exports.ɵt = LocalizePipe;