@colijnit/product 255.1.2 → 256.1.0

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.
@@ -5,6 +5,7 @@ import { ProductConnectorService } from '../../service/product-connector.service
5
5
  import { ProductEventService } from '../../service/product-event.service';
6
6
  import { ArticleFullObject } from '@colijnit/articleapi/build/model/article-full-object';
7
7
  import { ProductSettingsService } from '../../service/product-settings.service';
8
+ import { ExternalSource } from '@colijnit/articleapi/build/model/external-source.bo';
8
9
  export declare class ProductAddtocartComponent implements OnInit, OnDestroy {
9
10
  iconCache: IconCacheService;
10
11
  private _ioneControllerService;
@@ -13,6 +14,7 @@ export declare class ProductAddtocartComponent implements OnInit, OnDestroy {
13
14
  readonly icon: typeof IconEnum;
14
15
  addToCartButton: ElementRef;
15
16
  article: ArticleFullObject;
17
+ externalSource: ExternalSource;
16
18
  createFrozenArticle: boolean;
17
19
  configurable: boolean;
18
20
  configuring: boolean;
@@ -7,6 +7,7 @@ import { IconEnum } from '../../enum/icon.enum';
7
7
  import { IconCacheService } from '../../service/icon-cache.service';
8
8
  import { ProductSettingsService } from '../../service/product-settings.service';
9
9
  import { ProductEventService } from '../../service/product-event.service';
10
+ import { ExternalSource } from '@colijnit/articleapi/build/model/external-source.bo';
10
11
  export declare class ProductPageComponent implements OnInit, OnDestroy, AfterViewInit {
11
12
  private _ione;
12
13
  private _renderer;
@@ -21,6 +22,7 @@ export declare class ProductPageComponent implements OnInit, OnDestroy, AfterVie
21
22
  set sku(value: string);
22
23
  get sku(): string;
23
24
  set settings(value: any);
25
+ externalSource: ExternalSource;
24
26
  createFrozenArticle: boolean;
25
27
  isReturn: boolean;
26
28
  openStockEvent: EventEmitter<void>;
@@ -3,6 +3,7 @@ import { ProductConnectorService } from '../../service/product-connector.service
3
3
  import { ProductEventService } from '../../service/product-event.service';
4
4
  import { ProductConnectorAdapterService } from "../../service/product-connector-adapter.service";
5
5
  import { ProductSettingsService } from "../../service/product-settings.service";
6
+ import { ExternalSource } from '@colijnit/articleapi/build/model/external-source.bo';
6
7
  export declare class ProductRelatedComponent {
7
8
  private _iOne;
8
9
  private _appEventService;
@@ -10,6 +11,7 @@ export declare class ProductRelatedComponent {
10
11
  private _settingsService;
11
12
  refType: number;
12
13
  label: string;
14
+ externalSource: ExternalSource;
13
15
  isSmallModus: boolean;
14
16
  createFrozenArticle: boolean;
15
17
  set articles(value: ArticleListObject[]);
@@ -25,7 +25,7 @@ export declare class ProductConnectorAdapterService implements OnDestroy {
25
25
  getArtStockStatus(goodId: number): Promise<number>;
26
26
  getDeliveryDate2(goodId: number): Promise<DeliveryPrognosis>;
27
27
  getJsonConfiguredArticles(configuratorStatistics?: ConfiguratorStatisticsEnvironment): Promise<string>;
28
- getJsonArticleFlatTree(goodId: number, goodType: string, quantity: number, showLoader?: boolean, instanceId?: any, configuratorStatistics?: ConfiguratorStatisticsEnvironment): Promise<string>;
28
+ getJsonArticleFlatTree(goodId: number, goodType: string, quantity: number, externalSource?: boolean, showLoader?: boolean, instanceId?: any, configuratorStatistics?: ConfiguratorStatisticsEnvironment): Promise<string>;
29
29
  getGoodIdFromArticleNr(sku: string): Promise<number>;
30
30
  getArticleFullObject(goodId: number): Promise<ArticleFullObject>;
31
31
  getSuperArticle(id: string, branch?: string): Promise<SuperArticle>;
@@ -32,7 +32,7 @@ export declare class ProductConnectorService implements OnDestroy {
32
32
  getArtStockStatus(goodId: number): Promise<number>;
33
33
  getDeliveryDate2(goodId: number): Promise<DeliveryPrognosis>;
34
34
  getSuperArticle(id: string): Promise<SuperArticle>;
35
- getJsonArticleFlatTree(goodId: number, goodType: string, quantity: number, showLoader?: boolean, configuratorStatistics?: ConfiguratorStatisticsEnvironment): Promise<string>;
35
+ getJsonArticleFlatTree(goodId: number, goodType: string, quantity: number, externalSource?: boolean, showLoader?: boolean, configuratorStatistics?: ConfiguratorStatisticsEnvironment): Promise<string>;
36
36
  addWebSessionTransactionLine(transactionUuid: string, sku: string, quantity: number): Promise<string>;
37
37
  onShowLoaderChange(showLoader: boolean): void;
38
38
  }
@@ -31,8 +31,8 @@
31
31
  function Version() {
32
32
  this.name = "@colijnit/product";
33
33
  this.description = "Product detail page project for iOne";
34
- this.symVer = "255.1.2";
35
- this.publishDate = "4-9-2024 12:30:27";
34
+ this.symVer = "256.1.0";
35
+ this.publishDate = "10/15/2024, 10:47:35 AM";
36
36
  }
37
37
  return Version;
38
38
  }());
@@ -746,11 +746,12 @@
746
746
  });
747
747
  });
748
748
  };
749
- ProductConnectorAdapterService.prototype.getJsonArticleFlatTree = function (goodId, goodType, quantity, showLoader, instanceId, configuratorStatistics) {
749
+ ProductConnectorAdapterService.prototype.getJsonArticleFlatTree = function (goodId, goodType, quantity, externalSource, showLoader, instanceId, configuratorStatistics) {
750
+ if (externalSource === void 0) { externalSource = false; }
750
751
  if (showLoader === void 0) { showLoader = true; }
751
752
  return __awaiter(this, void 0, void 0, function () {
752
753
  return __generator(this, function (_a) {
753
- return [2 /*return*/, this.articleConnector.getJsonArticleFlatTree(goodId, goodType, quantity, showLoader, instanceId, configuratorStatistics)];
754
+ return [2 /*return*/, this.articleConnector.getJsonArticleFlatTree(goodId, goodType, quantity, externalSource, showLoader, instanceId, configuratorStatistics)];
754
755
  });
755
756
  });
756
757
  };
@@ -1227,9 +1228,10 @@
1227
1228
  ProductConnectorService.prototype.getSuperArticle = function (id) {
1228
1229
  return this._adapterService.getSuperArticle(id);
1229
1230
  };
1230
- ProductConnectorService.prototype.getJsonArticleFlatTree = function (goodId, goodType, quantity, showLoader, configuratorStatistics) {
1231
+ ProductConnectorService.prototype.getJsonArticleFlatTree = function (goodId, goodType, quantity, externalSource, showLoader, configuratorStatistics) {
1232
+ if (externalSource === void 0) { externalSource = false; }
1231
1233
  if (showLoader === void 0) { showLoader = true; }
1232
- return this._adapterService.getJsonArticleFlatTree(goodId, goodType, quantity, showLoader, this._instanceId, configuratorStatistics);
1234
+ return this._adapterService.getJsonArticleFlatTree(goodId, goodType, quantity, externalSource, showLoader, this._instanceId, configuratorStatistics);
1233
1235
  };
1234
1236
  ProductConnectorService.prototype.addWebSessionTransactionLine = function (transactionUuid, sku, quantity) {
1235
1237
  return __awaiter(this, void 0, void 0, function () {
@@ -1682,7 +1684,7 @@
1682
1684
  ProductPageComponent.decorators = [
1683
1685
  { type: i0.Component, args: [{
1684
1686
  selector: 'app-product-page',
1685
- template: "<ng-container *ngIf=\"settingsLoaded\">\r\n <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]=\"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 [createFrozenArticle]=\"createFrozenArticle\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n [isReturn]=\"isReturn\"\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 [isReturn]=\"isReturn\"\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\" [goodId]=\"article?.goodId\" (openStockEvent)=\"openStock()\"></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\r\n *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [articles]=\"article?.relatedArticles\"\r\n [refType]=\"1\"\r\n [label]=\"'RELATED_PRODUCTS' | localize\">\r\n </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\r\n *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [articles]=\"article?.relatedArticles\"\r\n [refType]=\"4\"\r\n [isSmallModus]=\"false\"\r\n [label]=\"'ALTERNATIVE_PRODUCTS' | localize\">\r\n </app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n",
1687
+ template: "<ng-container *ngIf=\"settingsLoaded\">\r\n <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]=\"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 [createFrozenArticle]=\"createFrozenArticle\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n [externalSource]=\"externalSource\"\r\n [isReturn]=\"isReturn\"\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 [externalSource]=\"externalSource\"\r\n [isReturn]=\"isReturn\"\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 [externalSource]=\"externalSource\"\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\" [goodId]=\"article?.goodId\" (openStockEvent)=\"openStock()\"></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\r\n *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [externalSource]=\"externalSource\"\r\n [articles]=\"article?.relatedArticles\"\r\n [refType]=\"1\"\r\n [label]=\"'RELATED_PRODUCTS' | localize\">\r\n </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\r\n *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [externalSource]=\"externalSource\"\r\n [articles]=\"article?.relatedArticles\"\r\n [refType]=\"4\"\r\n [isSmallModus]=\"false\"\r\n [label]=\"'ALTERNATIVE_PRODUCTS' | localize\">\r\n </app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n",
1686
1688
  animations: [
1687
1689
  animations.trigger('toggleFullScreen', [
1688
1690
  animations.state('fullscreen', animations.style({ 'position': 'fixed', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%' })),
@@ -1732,6 +1734,7 @@
1732
1734
  fullscreenbutton: [{ type: i0.ViewChild, args: ['fullscreenbutton', { read: i0.ElementRef },] }],
1733
1735
  sku: [{ type: i0.Input }],
1734
1736
  settings: [{ type: i0.Input }],
1737
+ externalSource: [{ type: i0.Input }],
1735
1738
  createFrozenArticle: [{ type: i0.Input }],
1736
1739
  isReturn: [{ type: i0.Input }],
1737
1740
  openStockEvent: [{ type: i0.Output }]
@@ -2288,22 +2291,30 @@
2288
2291
  };
2289
2292
  ProductAddtocartComponent.prototype.handleAddToCartClick = function (quantity) {
2290
2293
  return __awaiter(this, void 0, void 0, function () {
2291
- var _a, _b, _c, article;
2294
+ var _a, _b, _c, article, article;
2292
2295
  return __generator(this, function (_d) {
2293
2296
  switch (_d.label) {
2294
2297
  case 0:
2295
- if (!this.createFrozenArticle) return [3 /*break*/, 2];
2298
+ if (!this.createFrozenArticle) return [3 /*break*/, 4];
2299
+ if (!(this.article.goodType === 'B')) return [3 /*break*/, 2];
2296
2300
  _b = (_a = this._appEventService.onAddToCart).next;
2297
2301
  _c = {};
2298
2302
  return [4 /*yield*/, this._getJSONFromArticleObject({ article: this.article, quantity: quantity })];
2299
2303
  case 1:
2300
- _b.apply(_a, [(_c.article = _d.sent(), _c.quantity = quantity, _c)]);
2304
+ _b.apply(_a, [(_c.article = _d.sent(),
2305
+ _c.quantity = quantity,
2306
+ _c)]);
2301
2307
  return [3 /*break*/, 3];
2302
2308
  case 2:
2303
2309
  article = this._ioneControllerService.convertArticleFullObjectToArticleExtended(this.article);
2304
2310
  this._appEventService.onAddToCart.next({ article: article, quantity: quantity });
2305
2311
  _d.label = 3;
2306
- case 3: return [2 /*return*/];
2312
+ case 3: return [3 /*break*/, 5];
2313
+ case 4:
2314
+ article = this._ioneControllerService.convertArticleFullObjectToArticleExtended(this.article);
2315
+ this._appEventService.onAddToCart.next({ article: article, quantity: quantity });
2316
+ _d.label = 5;
2317
+ case 5: return [2 /*return*/];
2307
2318
  }
2308
2319
  });
2309
2320
  });
@@ -2336,7 +2347,7 @@
2336
2347
  configuratorStatistics.sessionId = this._settingsService.settings.session ? this._settingsService.settings.session.sessionId : 'unknown';
2337
2348
  configuratorStatistics.webHost = window.location.host;
2338
2349
  configuratorStatistics.bundleHost = window.location.host;
2339
- return [4 /*yield*/, this._ioneControllerService.getJsonArticleFlatTree(article.article.goodId, article.article.goodType, article.quantity, true, configuratorStatistics)];
2350
+ return [4 /*yield*/, this._ioneControllerService.getJsonArticleFlatTree(article.article.goodId, article.article.goodType, article.quantity, !!this.externalSource, true, configuratorStatistics)];
2340
2351
  case 1: return [2 /*return*/, _a.sent()];
2341
2352
  }
2342
2353
  });
@@ -2360,6 +2371,7 @@
2360
2371
  ProductAddtocartComponent.propDecorators = {
2361
2372
  addToCartButton: [{ type: i0.ViewChild, args: ['addtocartbutton', { read: i0.ElementRef },] }],
2362
2373
  article: [{ type: i0.Input }],
2374
+ externalSource: [{ type: i0.Input }],
2363
2375
  createFrozenArticle: [{ type: i0.Input }],
2364
2376
  configurable: [{ type: i0.Input }],
2365
2377
  configuring: [{ type: i0.Input }],
@@ -2475,7 +2487,7 @@
2475
2487
  configuratorStatistics.sessionId = this._settingsService.settings.session ? this._settingsService.settings.session.sessionId : 'unknown';
2476
2488
  configuratorStatistics.webHost = window.location.host;
2477
2489
  configuratorStatistics.bundleHost = window.location.host;
2478
- return [4 /*yield*/, this._iOne.getJsonArticleFlatTree(article.article.goodId, article.article.goodType, article.quantity, true, configuratorStatistics)];
2490
+ return [4 /*yield*/, this._iOne.getJsonArticleFlatTree(article.article.goodId, article.article.goodType, article.quantity, !!this.externalSource, true, configuratorStatistics)];
2479
2491
  case 1: return [2 /*return*/, _a.sent()];
2480
2492
  }
2481
2493
  });
@@ -2511,6 +2523,7 @@
2511
2523
  ProductRelatedComponent.propDecorators = {
2512
2524
  refType: [{ type: i0.Input }],
2513
2525
  label: [{ type: i0.Input }],
2526
+ externalSource: [{ type: i0.Input }],
2514
2527
  isSmallModus: [{ type: i0.Input }],
2515
2528
  createFrozenArticle: [{ type: i0.Input }],
2516
2529
  articles: [{ type: i0.Input }]
@@ -3301,7 +3314,7 @@
3301
3314
  ProductExternalSourceComponent.decorators = [
3302
3315
  { type: i0.Component, args: [{
3303
3316
  selector: 'co-product-external-source',
3304
- template: "\n <ng-container *ngIf=\"loaded\">\n <ng-container *ngIf=\"showProduct\">\n <app-product-page\n [sku]=\"sku\"\n [settings]=\"externalSettings\"\n ></app-product-page>\n </ng-container>\n <ng-container *ngIf=\"!showProduct\">\n <iframe width=\"100%\" height=\"100%\" [src]=\"safeUrl\" frameborder=\"0\" allowfullscreen></iframe>\n </ng-container>\n </ng-container>\n ",
3317
+ template: "\n <ng-container *ngIf=\"loaded\">\n <ng-container *ngIf=\"showProduct\">\n <app-product-page\n [sku]=\"sku\"\n [settings]=\"externalSettings\"\n [externalSource]=\"externalSource\"\n ></app-product-page>\n </ng-container>\n <ng-container *ngIf=\"!showProduct\">\n <iframe width=\"100%\" height=\"100%\" [src]=\"safeUrl\" frameborder=\"0\" allowfullscreen></iframe>\n </ng-container>\n </ng-container>\n ",
3305
3318
  providers: [
3306
3319
  ProductEventService,
3307
3320
  ProductSettingsService,