@colijnit/product 254.1.2 → 254.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.js","mappings":"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","sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./src/app/components/core/header/header.component.ts","./src/app/components/core/header/header.module.ts","./src/app/components/image-carousel/image-carousel.component.ts","./src/app/components/image-carousel/image-carousel.module.ts","./src/app/components/product-additional-description/product-additional-description.component.ts","./src/app/components/product-additional-description/product-additional-description.module.ts","./src/app/components/product-additional-info/product-additional-info.component.ts","./src/app/components/product-additional-info/product-additional-info.module.ts","./src/app/components/product-addtocart/product-addtocart.component.ts","./src/app/components/product-addtocart/product-addtocart.module.ts","./src/app/components/product-delivery/product-delivery.component.ts","./src/app/components/product-delivery/product-delivery.module.ts","./src/app/components/product-description/product-description.component.ts","./src/app/components/product-description/product-description.module.ts","./src/app/components/product-documents/product-document.module.ts","./src/app/components/product-documents/product-documents.component.ts","./src/app/components/product-info-tabs/product-info-tabs.component.ts","./src/app/components/product-info-tabs/product-info-tabs.module.ts","./src/app/components/product-page/product-page.component.ts","./src/app/components/product-page/product-page.component.html","./src/app/components/product-page/product-page.module.ts","./src/app/components/product-price/product-price.component.ts","./src/app/components/product-price/product-price.module.ts","./src/app/components/product-properties/product-properties.component.ts","./src/app/components/product-properties/product-properties.module.ts","./src/app/components/product-related/product-related.component.ts","./src/app/components/product-related/product-related.module.ts","./src/app/components/product-selector-type/product-selector-type.component.ts","./src/app/components/product-selector-type/product-selector-type.module.ts","./src/app/components/product-stock/product-stock.component.ts","./src/app/components/product-stock/product-stock.module.ts","./src/app/components/product-symbols/product-symbols.component.ts","./src/app/components/product-symbols/product-symbols.module.ts","./src/app/enum/icon.enum.ts","./src/app/enum/language-code.enum.ts","./src/app/enum/selector-type.enum.ts","./src/app/ione-product.component.ts","./src/app/ione-product.module.ts","./src/app/model/icon.ts","./src/app/model/productSettings.ts","./src/app/model/render-modes.ts","./src/app/model/render-parameters.ts","./src/app/model/settings-options.ts","./src/app/model/stock-and-delivery.ts","./src/app/pipe/localize.pipe.ts","./src/app/pipe/pipe.module.ts","./src/app/service/dictionary.service.ts","./src/app/service/icon-cache.service.ts","./src/app/service/product-connector-adapter.service.ts","./src/app/service/product-connector.service.ts","./src/app/service/product-event.service.ts","./src/app/service/product-settings.service.ts","./src/app/utils/bit-utils.ts","./src/app/utils/json-utils.service.ts","./src/assets/dictionary/text.properties.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-header',\n template: `\n <ng-container *ngIf=\"label\">\n <div class=\"header-wrapper\">\n <h3 [textContent]=\"label\"></h3>\n <span *ngIf=\"amount\" class=\"amount\" [textContent]=\"'(' + amount + ')'\"></span>\n </div>\n </ng-container>\n `,\n styleUrls: ['./header.component.scss']\n})\nexport class HeaderComponent implements OnInit {\n\n @Input()\n public label: string;\n\n @Input()\n public amount: number;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {HeaderComponent} from './header.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n HeaderComponent\r\n ],\r\n exports: [\r\n HeaderComponent\r\n ]\r\n})\r\nexport class HeaderModule {\r\n}\r\n","import { ChangeDetectorRef, Component, ElementRef, HostBinding, HostListener, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { CoDocument } from '@colijnit/mainapi/build/model/co-document';\nimport { ProductConnectorService } from '../../service/product-connector.service';\nimport { ProductEventService } from '../../service/product-event.service';\nimport { Subscription } from 'rxjs';\nimport { IconEnum } from '../../enum/icon.enum';\nimport { IconCacheService } from '../../service/icon-cache.service';\nimport {DomSanitizer, SafeUrl} from '@angular/platform-browser';\nimport {DocumentContent} from '@colijnit/articleapi/build/model/document-content';\n\n@Component({\n selector: 'app-image-carousel',\n template: `\n <div id=\"product_page_carousel\">\n <div id=\"product_page_carousel_items\">\n <co-loader [isShown]=\"showLoader\"></co-loader>\n <div #carousel class=\"inner-carousel\">\n <!-- This has been taken out of the for loop to prevent flashing images when updating. -->\n <div *ngIf=\"images[0]\" class=\"carousel-item\" [id]=\"'slide-0'\" [class.active]=\"isCurrentIndex(0)\">\n <img [src]=\"getImageSrc(images[0])\">\n </div>\n <div *ngFor=\"let image of images.slice(1); let index = index\" class=\"carousel-item\" [id]=\"'slide-' + (index + 1)\" [class.active]=\"isCurrentIndex((index + 1))\">\n <img [src]=\"getImageSrc(image)\">\n </div>\n <div class=\"carousel-scroller-layer\" *ngIf=\"images && images.length > 1\">\n <div class=\"carousel-item-scroller prev\" (click)=\"gotoPrevSlide()\" *ngIf=\"currentIndex > 0\"></div>\n <div class=\"carousel-item-scroller next\" (click)=\"gotoNextSlide()\" *ngIf=\"currentIndex < images.length - 1\"></div>\n </div>\n </div>\n<!--\n <co-icon class=\"selector-type-icon refresh-button\" [iconData]=\"iconCache.getIcon(icons.Refresh)\" (click)=\"onForceRenderImage()\" [class.loading]=\"showLoader\" *ngIf=\"showRefresh\"></co-icon>\n-->\n </div>\n\n <div id=\"product_page_carousel_thumbs\">\n <co-scroll-container class=\"scroll-container\" *ngIf=\"images && images.length > 1\">\n <div *ngFor=\"let image of images; let index = index\" class=\"carousel-thumb\" [class.active]=\"index === currentIndex\">\n <img [src]=\"getImageSrc(image)\" (click)=\"handleThumbClick(index)\"/>\n </div>\n </co-scroll-container>\n </div>\n </div>\n `,\n styleUrls: ['./image-carousel.component.scss']\n})\nexport class ImageCarouselComponent implements OnInit, OnDestroy {\n\n public readonly icons: typeof IconEnum = IconEnum;\n\n public showLoader: boolean = false;\n\n @ViewChild('carousel', { read: ElementRef })\n public carousel: ElementRef;\n\n @Input()\n public showRefresh: boolean = false;\n\n @Input()\n public set images(value: CoDocument[]) {\n if (value && value.length > 0) {\n this._images = value;\n this._loadImages();\n this._changeDetector.detectChanges();\n }\n }\n\n @HostListener('window:resize')\n public handleWindowResize(): void {\n this.resizing = true;\n this._scrollCarouselToIndex();\n clearTimeout(this._resizeTimer);\n this._resizeTimer = setTimeout(() => {\n this.resizing = false;\n }, 200);\n }\n\n @HostListener('swipeleft')\n public gotoNextSlide(): void {\n this.currentIndex++;\n }\n\n @HostListener('swiperight')\n public gotoPrevSlide(): void {\n this.currentIndex--;\n }\n\n public isCurrentIndex(index: number): boolean {\n return this.currentIndex === index;\n }\n\n public get currentIndex(): number {\n return this._currentIndex;\n }\n\n public set currentIndex(value: number) {\n this._currentIndex = value;\n this._scrollCarouselToIndex();\n }\n\n @HostBinding('class.resizing')\n public resizing = false;\n\n public get images(): CoDocument[] {\n return this._images;\n }\n\n private _resizeTimer: any;\n\n private _currentIndex = 0;\n\n private _images = [];\n private _subs: Subscription[] = [];\n\n constructor(\n private _ione: ProductConnectorService,\n private _appEventService: ProductEventService,\n private _changeDetector: ChangeDetectorRef,\n private _domSanitizer: DomSanitizer,\n public iconCache: IconCacheService,\n ) {\n this._subs.push(\n this._appEventService.onRenderStarted.subscribe(() => {\n this.showLoader = true;\n }),\n this._appEventService.onDraftRenderImageReceived.subscribe((url: string) => {\n if (this._images[0] instanceof CoDocument) {\n this._images.unshift(url);\n } else {\n this._images[0] = url;\n }\n this.showLoader = false;\n }),\n );\n\n }\n\n ngOnInit() {\n }\n\n ngOnDestroy(): void {\n this.carousel = undefined;\n this._subs.forEach(s => s.unsubscribe());\n }\n\n public handleThumbClick(index: number): void {\n this.currentIndex = index;\n }\n\n public onForceRenderImage(): void {\n this._appEventService.onForceRenderImage.next();\n }\n\n public getImageSrc(image: CoDocument | CustomEvent): SafeUrl {\n let source = '';\n if (image instanceof CoDocument) {\n if (image.filePath) {\n source = image.filePath;\n } else {\n source = image.documentBodyAsDataUri;\n }\n } else if (image.detail !== undefined) {\n source = image.detail;\n }\n\n return this._domSanitizer.bypassSecurityTrustUrl(source);\n }\n\n private _loadImages(): void {\n if (this._images) {\n this._images.forEach((i: CoDocument) => {\n if (!i.documentBody && !i.filePath) {\n this._ione.getDocumentContent(i.documentId, false).then((content: DocumentContent) => {\n if (content) {\n i.documentBody = content.documentContent;\n }\n });\n }\n });\n }\n }\n\n private _scrollCarouselToIndex(): void {\n if (this.currentIndex > -1 && this.currentIndex <= this.images.length) {\n const movePx: number = this.currentIndex * this.carousel.nativeElement.clientWidth;\n if (this.carousel && this.carousel.nativeElement) {\n this.carousel.nativeElement.scrollLeft = movePx;\n // this.carousel.nativeElement.scrollTo({\n // left: movePx,\n // behavior: 'smooth'\n // });\n }\n }\n }\n\n}\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ImageCarouselComponent} from './image-carousel.component';\r\nimport {/*IconModule, */LoaderModule, ScrollContainerModule} from '@colijnit/corecomponents';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n LoaderModule,\r\n // IconModule,\r\n ScrollContainerModule\r\n ],\r\n declarations: [\r\n ImageCarouselComponent\r\n ],\r\n exports: [\r\n ImageCarouselComponent\r\n ]\r\n})\r\nexport class ImageCarouselModule {\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ArticleFullObject } from '@colijnit/articleapi/build/model/article-full-object';\nimport { CoText } from '@colijnit/mainapi/build/model/co-text';\nimport { ProductEventService } from '../../service/product-event.service';\nimport { BitUtils } from '../../utils/bit-utils';\n\n@Component({\n selector: 'app-product-additional-description',\n template: `\n <ng-container *ngIf=\"description !== ''\">\n <div class=\"pd-additional-description\">\n <p [innerHTML]=\"description\"></p>\n <button class=\"pd-read-more-btn\" [textContent]=\"'READ_MORE' | localize\" (click)=\"onReadMore()\"></button>\n </div>\n </ng-container>\n `,\n styleUrls: ['./product-additional-description.component.scss']\n})\nexport class ProductAdditionalDescriptionComponent implements OnInit {\n\n @Input()\n public set article(value: ArticleFullObject) {\n this._article = value;\n if (this._article) {\n this.description = this.article.additionalDescription;\n this._prepareDescription();\n }\n }\n\n public get article(): ArticleFullObject {\n return this._article;\n }\n\n public description: string;\n\n private _article: ArticleFullObject;\n\n constructor(\n private _appEventService: ProductEventService\n ) {}\n\n ngOnInit() {\n }\n\n public onReadMore(): void {\n this._appEventService.onUpdateProductInfoTab.next(0);\n }\n\n private _prepareDescription(): void {\n\n this.description = '';\n\n if (this.article.texts && this.article.texts.length > 0) {\n this.article.texts.forEach((txt: CoText) => {\n if (BitUtils.IsShortDescription(txt.publication)) {\n this.description += txt.text;\n }\n });\n\n this.description = this.description.replace(/<[^>]*>?/gm, '');\n if (this.description.length > 250) {\n this.description = this.description.substr(0, 250) + ' [..]';\n }\n }\n\n }\n\n}\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ProductAdditionalDescriptionComponent} from './product-additional-description.component';\r\nimport {PipeModule} from '../../pipe/pipe.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n ProductAdditionalDescriptionComponent\r\n ],\r\n exports: [\r\n ProductAdditionalDescriptionComponent\r\n ]\r\n})\r\nexport class ProductAdditionalDescriptionModule {\r\n}\r\n","import { ChangeDetectorRef, Component, Input, OnInit, SecurityContext } from '@angular/core';\nimport { CoText } from '@colijnit/mainapi/build/model/co-text';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { ArticleFullObject } from '@colijnit/articleapi/build/model/article-full-object';\nimport { SuperArticle } from '@colijnit/articleapi/build/model/super-article';\nimport { BitUtils } from '../../utils/bit-utils';\nimport {ProductConnectorService} from '../../service/product-connector.service';\n\n@Component({\n selector: 'app-product-additional-info',\n template: `\n <h3 *ngIf=\"showLabel\" [textContent]=\"'ADDITIONAL_DATA' | localize\"></h3>\n <ng-container *ngIf=\"textParts && textParts.length > 0\">\n <div class=\"additional-info-parts\" *ngFor=\"let text of textParts\" [innerHTML]=\"text\"></div>\n </ng-container>\n `,\n styleUrls: ['./product-additional-info.component.scss']\n})\nexport class ProductAdditionalInfoComponent implements OnInit {\n\n @Input()\n public set article(value: ArticleFullObject) {\n if (value) {\n this._article = value;\n this._buildInfo().then(() => {\n this._changeDetector.detectChanges();\n });\n }\n }\n\n public get article(): ArticleFullObject {\n return this._article;\n }\n\n @Input()\n public showLabel: boolean = false;\n\n public textParts: SafeHtml[] = [];\n public info: string;\n\n private _article: ArticleFullObject;\n private _superArticles: Map<string, SuperArticle> = new Map();\n\n constructor(\n private _sanitizer: DomSanitizer,\n private _connectorService: ProductConnectorService,\n private _changeDetector: ChangeDetectorRef\n ) {\n }\n\n ngOnInit() {\n }\n\n private async _getTextsSuperArticle(): Promise<SafeHtml[]> {\n return new Promise(async (resolve: Function, reject: Function) => {\n const texts: SafeHtml[] = [];\n if (this.article.superArticleNr) {\n let mainArticle;\n if (this._superArticles.has(this.article.superArticleNr)) {\n mainArticle = this._superArticles.get(this.article.superArticleNr);\n } else {\n mainArticle = await this._connectorService.getSuperArticle(this.article.superArticleNr);\n this._superArticles.set(this.article.superArticleNr, mainArticle);\n }\n mainArticle.texts.forEach((txt: CoText) => {\n if (BitUtils.IsFullDescription(txt.publication)) {\n const safeTxt: SafeHtml = this._sanitizer.sanitize(SecurityContext.HTML, txt.text);\n texts.push(safeTxt);\n }\n });\n resolve(texts);\n } else {\n resolve(texts);\n }\n });\n }\n\n private async _prepareArticleTexts(): Promise<void> {\n const texts: SafeHtml[] = await this._getTextsSuperArticle();\n if (texts.length > 0) {\n this.textParts.push(...texts);\n }\n if (this.article.texts) {\n this.article.texts.forEach((txt: CoText) => {\n if (BitUtils.IsFullDescription(txt.publication)) {\n const safeTxt: SafeHtml = this._sanitizer.sanitize(SecurityContext.HTML, txt.text);\n this.textParts.push(safeTxt);\n }\n });\n }\n }\n\n private async _buildInfo(): Promise<void> {\n this.textParts.length = 0;\n await this._prepareArticleTexts();\n if (this.textParts.length === 0) {\n if (this.article.additionalDescription) {\n this.textParts.push(this.article.additionalDescription);\n } else if (this.article.description) {\n this.textParts.push(this.article.description);\n }\n }\n return;\n }\n\n}\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ProductAdditionalInfoComponent} from './product-additional-info.component';\r\nimport {PipeModule} from '../../pipe/pipe.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n ProductAdditionalInfoComponent\r\n ],\r\n exports: [\r\n ProductAdditionalInfoComponent\r\n ]\r\n})\r\nexport class ProductAdditionalInfoModule {\r\n}\r\n","import { Component, ElementRef, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\nimport { IconCacheService } from '../../service/icon-cache.service';\nimport { IconEnum } from '../../enum/icon.enum';\nimport { ArticleQuantity } from '../../model/article-quantity.model';\nimport { ProductConnectorService } from '../../service/product-connector.service';\nimport { ProductEventService } from '../../service/product-event.service';\nimport { ArticleFullObject } from '@colijnit/articleapi/build/model/article-full-object';\nimport {ArticleExtended} from '@colijnit/articleapi/build/model/article-extended.bo';\nimport {ConfiguratorStatisticsEnvironment} from '@colijnit/articleapi/build/model/configurator-statistics-environment';\nimport {ProductSettingsService} from '../../service/product-settings.service';\n\n@Component({\n selector: 'app-product-addtocart',\n template: `\n <div class=\"atc-wrapper\">\n <ng-container *ngIf=\"isReturn\">\n <co-number-picker *ngIf=\"!configurable && !configuring\" class=\"quantity-select\" [(model)]=\"quantity\" [min]=\"-100\" horizontal></co-number-picker>\n </ng-container>\n\n <ng-container *ngIf=\"!isReturn\">\n <co-number-picker *ngIf=\"!configurable && !configuring\" class=\"quantity-select\" [(model)]=\"quantity\" [min]=\"1\" horizontal></co-number-picker>\n </ng-container>\n\n <div class=\"button-wrapper\">\n <co-button class=\"configure-button\" *ngIf=\"configurable\"\n [iconData]=\"iconCache.getIcon(icon.MagicWand)\"\n [label]=\"'CONFIGURE' | localize\"\n (onClick)=\"startConfiguration.emit()\"\n ></co-button>\n <co-button #addtocartbutton class=\"cart-button\" *ngIf=\"!configurable\"\n [iconData]=\"iconCache.getIcon(icon.AddToCartDrop)\"\n [label]=\"'SHOPPING_CART_IN' | localize\"\n (onClick)=\"handleAddToCartClick(quantity)\"\n ></co-button>\n <co-button class=\"cart-button quote\" *ngIf=\"!configurable && showQuoteButton\"\n [iconData]=\"iconCache.getIcon(icon.Quote)\"\n [label]=\"'QUOTATION' | localize\"\n (onClick)=\"handleAddToQuoteClick(quantity)\"\n ></co-button>\n </div>\n </div>\n `,\n styleUrls: ['./product-addtocart.component.scss']\n})\nexport class ProductAddtocartComponent implements OnInit, OnDestroy {\n\n public readonly icon: typeof IconEnum = IconEnum;\n\n @ViewChild('addtocartbutton', { read: ElementRef })\n public addToCartButton: ElementRef;\n\n @Input()\n public article: ArticleFullObject;\n\n @Input()\n public createFrozenArticle: boolean = true;\n\n @Input()\n public configurable: boolean = false;\n\n @Input()\n public configuring: boolean = false;\n\n @Input()\n public isReturn: boolean = false;\n\n @HostBinding('class.full-screen')\n @Input()\n public fullscreen: boolean = false;\n\n @Input()\n public set quantity(value: number) {\n if (this.isReturn) {\n if (this._quantity === 1) {\n this._quantity = -1;\n } else {\n this._quantity = value\n }\n } else {\n this._quantity = Math.max(1, value);\n }\n }\n\n public get quantity(): number {\n return this._quantity;\n }\n\n @Output()\n public startConfiguration: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public addToCartClick: EventEmitter<number> = new EventEmitter<number>();\n\n @Output()\n public addToQuoteClick: EventEmitter<number> = new EventEmitter<number>();\n\n public showQuoteButton: boolean = false;\n\n private _quantity = 1;\n\n constructor(\n public iconCache: IconCacheService,\n private _ioneControllerService: ProductConnectorService,\n private _appEventService: ProductEventService,\n private _settingsService: ProductSettingsService\n ) { }\n\n ngOnInit() {\n }\n\n ngOnDestroy(): void {\n this.addToCartButton = undefined;\n }\n\n public async handleAddToCartClick(quantity: number): Promise<void> {\n if (this.createFrozenArticle) {\n this._appEventService.onAddToCart.next({ article: await this._getJSONFromArticleObject({article: this.article, quantity: quantity}), quantity: quantity });\n } else {\n const article: ArticleExtended = this._ioneControllerService.convertArticleFullObjectToArticleExtended(this.article);\n this._appEventService.onAddToCart.next({ article: article, quantity: quantity });\n }\n }\n\n public async handleAddToQuoteClick(quantity: number): Promise<void> {\n this._appEventService.onAddToQuote.next(await this._getJSONFromArticleObject({article: this.article, quantity: quantity}));\n }\n\n private async _getJSONFromArticleObject(article: ArticleQuantity): Promise<string> {\n const configuratorStatistics = new ConfiguratorStatisticsEnvironment();\n configuratorStatistics.userType = 'iOneProductPage';\n configuratorStatistics.transactionType = 'Sales';\n configuratorStatistics.actionDomain = 'bundle';\n configuratorStatistics.sessionId = this._settingsService.settings.session ? this._settingsService.settings.session.sessionId : 'unknown';\n configuratorStatistics.webHost = window.location.host;\n configuratorStatistics.bundleHost = window.location.host;\n return await this._ioneControllerService.getJsonArticleFlatTree(\n article.article.goodId, article.article.goodType, article.quantity, true, configuratorStatistics);\n }\n}\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ProductAddtocartComponent} from './product-addtocart.component';\r\nimport {ButtonModule, NumberPickerModule} from '@colijnit/corecomponents';\r\nimport {PipeModule} from '../../pipe/pipe.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n NumberPickerModule,\r\n ButtonModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n ProductAddtocartComponent\r\n ],\r\n exports: [\r\n ProductAddtocartComponent\r\n ]\r\n})\r\nexport class ProductAddtocartModule {\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ProductConnectorService } from '../../service/product-connector.service';\nimport { IconCacheService } from '../../service/icon-cache.service';\nimport { SafeHtml } from '@angular/platform-browser';\nimport { IconEnum } from '../../enum/icon.enum';\nimport { StockAndDelivery } from '../../model/stock-and-delivery';\nimport { LocalizePipe } from '../../pipe/localize.pipe';\n\n@Component({\n selector: 'app-product-delivery',\n template: `\n <!--<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 `,\n styleUrls: ['./product-delivery.component.scss']\n})\nexport class ProductDeliveryComponent implements OnInit {\n\n public readonly icon: typeof IconEnum = IconEnum;\n\n @Input()\n public set stockAndDelivery(value: StockAndDelivery) {\n if (value) {\n this.deliveryDescription = value.deliveryDescription;\n if (this.deliveryDescription.length > 0 && this.deliveryDescription[0] === ' ') {\n this.deliveryDescription = this._localizePipe.transform('ASK_FOR_INFORMATION');\n }\n }\n }\n\n public deliveryDescription: string;\n public iconData: SafeHtml;\n\n constructor(\n private _localizePipe: LocalizePipe,\n private _iOne: ProductConnectorService,\n private _iconCache: IconCacheService\n ) {\n this.iconData = this._iconCache.getIcon(this.icon.Truck);\n }\n\n ngOnInit() {\n }\n}\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ProductDeliveryComponent} from './product-delivery.component';\r\nimport {IconModule} from '@colijnit/corecomponents';\r\nimport {PipeModule} from '../../pipe/pipe.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n ProductDeliveryComponent\r\n ],\r\n exports: [\r\n ProductDeliveryComponent\r\n ]\r\n})\r\nexport class ProductDeliveryModule {\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ArticleFullObject } from '@colijnit/articleapi/build/model/article-full-object';\n\n@Component({\n selector: 'app-product-description',\n template: `\n <div class=\"pd-title-wrapper\">\n <span class=\"pd-description\" [textContent]=\"article?.descriptionRetail\" *ngIf=\"article?.descriptionRetail\"></span>\n <span class=\"pd-sku\" [textContent]=\"article?.articleNr\" *ngIf=\"article?.articleNr\"></span>\n </div>\n `,\n styleUrls: ['./product-description.component.scss']\n})\nexport class ProductDescriptionComponent implements OnInit {\n\n @Input()\n public article: ArticleFullObject;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ProductDescriptionComponent} from './product-description.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n ProductDescriptionComponent\r\n ],\r\n exports: [\r\n ProductDescriptionComponent\r\n ]\r\n})\r\nexport class ProductDescriptionModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ProductDocumentsComponent} from './product-documents.component';\r\nimport {HeaderModule} from '../core/header/header.module';\r\nimport {PipeModule} from '../../pipe/pipe.module';\r\nimport {FilesUploadModule} from '@colijnit/corecomponents';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HeaderModule,\r\n PipeModule,\r\n FilesUploadModule\r\n ],\r\n declarations: [\r\n ProductDocumentsComponent\r\n ],\r\n exports: [\r\n ProductDocumentsComponent\r\n ]\r\n})\r\nexport class ProductDocumentModule {\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\nimport { CoDocument } from '@colijnit/mainapi/build/model/co-document';\nimport { IconEnum } from '../../enum/icon.enum';\nimport { ProductConnectorService } from '../../service/product-connector.service';\nimport { IconCacheService } from '../../service/icon-cache.service';\n\n@Component({\n selector: 'app-product-documents',\n template: `\n <app-header *ngIf=\"showLabel\" [label]=\"'DOCUMENTS' | localize\" [amount]=\"documents?.length\"></app-header>\n <div *ngIf=\"documents && documents.length > 0\">\n <co-files-upload [documents]=\"documents\" [canAdd]=\"false\" readonly></co-files-upload>\n </div>\n `,\n styleUrls: ['./product-documents.component.css']\n})\nexport class ProductDocumentsComponent {\n\n public readonly icon: typeof IconEnum = IconEnum;\n\n @Input()\n public showLabel: boolean = false;\n\n @Input()\n public documents: CoDocument[] = [];\n\n constructor(public iconCache: IconCacheService) { }\n\n}\n","import { ChangeDetectorRef, Component, ElementRef, Input, OnDestroy, ViewChild } from '@angular/core';\nimport { ArticleFullObject } from '@colijnit/articleapi/build/model/article-full-object';\nimport { Subscription } from 'rxjs';\nimport { ProductEventService } from '../../service/product-event.service';\n\n@Component({\n selector: 'app-product-info-tabs',\n template: `\n <div class=\"tab-container\">\n <div class=\"tab-header\">\n <button *ngFor=\"let tab of tabs; let i = index\" class=\"tab-header-button\" [class.active]=\"activeTab === i\" [textContent]=\"tab.title | localize\" (click)=\"updateTab(i)\"></button>\n </div>\n <div class=\"tab-content\" #tabContent [style.height.px]=\"(activeTabHeight > 0 ? activeTabHeight : '')\">\n <div class=\"tab-content-item\" *ngFor=\"let tab of tabs; let i = index\" [class.active]=\"activeTab === i\">\n <ng-container *ngIf=\"i === 0\">\n <app-product-additional-info class=\"\" [article]=\"articleObject\" [showLabel]=\"false\"></app-product-additional-info>\n </ng-container>\n <ng-container *ngIf=\"i === 1\">\n <app-product-properties class=\"\" [article]=\"articleObject\" [showLabel]=\"false\"></app-product-properties>\n </ng-container>\n <ng-container *ngIf=\"i === 2\">\n <app-product-documents [showLabel]=\"false\" class=\"\" *ngIf=\"articleObject?.documents && articleObject?.documents.length > 0\" [documents]=\"articleObject?.documents\"></app-product-documents>\n </ng-container>\n <ng-container *ngIf=\"i === 3\">\n <app-product-symbols class=\"\" *ngIf=\"articleObject?.symbols && articleObject?.symbols.length > 0\" [symbols]=\"articleObject?.symbols\"></app-product-symbols>\n </ng-container>\n </div>\n </div>\n </div>\n `,\n styleUrls: ['./product-info-tabs.component.scss']\n})\nexport class ProductInfoTabsComponent implements OnDestroy {\n\n public activeTab: number;\n public activeTabHeight: number = 0;\n\n @ViewChild('tabContent')\n public tabContent: ElementRef;\n\n public tabs: any[] = [];\n\n public articleObject: ArticleFullObject;\n\n @Input ()\n set article(value: ArticleFullObject) {\n if (value) {\n this.articleObject = value;\n this._setupTabs();\n this.updateTab(0);\n }\n }\n\n private _subs: Subscription[] = [];\n\n constructor(\n private _appEventService: ProductEventService\n ) {\n this._subs.push(\n this._appEventService.onUpdateProductInfoTab.subscribe((index: number) => {\n this.updateTab(index);\n this.tabContent.nativeElement.scrollIntoView({ behavior: 'smooth' });\n })\n );\n }\n\n ngOnDestroy(): void {\n this._subs.forEach(s => s.unsubscribe());\n }\n\n public updateTab(tabIndex: number) {\n this.activeTab = tabIndex;\n this.updateHeight(tabIndex);\n }\n\n public updateHeight(tabIndex: number): void {\n if (this.tabContent.nativeElement.children.length > 0) {\n if (this.tabContent.nativeElement.children[tabIndex] !== undefined) {\n this.activeTabHeight = this.tabContent.nativeElement.children[tabIndex].offsetHeight;\n }\n }\n }\n\n private _setupTabs(): void {\n this.tabs.push({ title: 'DESCRIPTION' });\n this.tabs.push({ title: 'FEATURES' });\n\n if (this.articleObject.documents !== undefined && this.articleObject.documents.length > 0) {\n this.tabs.push({ title: 'DOWNLOADS' });\n }\n\n if (this.articleObject.symbols !== undefined && this.articleObject.symbols.length > 0) {\n this.tabs.push({ title: 'SYMBOLS' });\n }\n\n }\n\n}\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ProductInfoTabsComponent} from './product-info-tabs.component';\r\nimport {PipeModule} from '../../pipe/pipe.module';\r\nimport {ProductAdditionalInfoModule} from '../product-additional-info/product-additional-info.module';\r\nimport {ProductPropertiesModule} from '../product-properties/product-properties.module';\r\nimport {ProductDocumentModule} from '../product-documents/product-document.module';\r\nimport {ProductSymbolsModule} from '../product-symbols/product-symbols.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n ProductAdditionalInfoModule,\r\n ProductPropertiesModule,\r\n ProductDocumentModule,\r\n ProductSymbolsModule\r\n ],\r\n declarations: [\r\n ProductInfoTabsComponent\r\n ],\r\n exports: [\r\n ProductInfoTabsComponent\r\n ]\r\n})\r\nexport class ProductInfoTabsModule {\r\n}\r\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef, EventEmitter,\n Input,\n OnDestroy,\n OnInit, Output,\n Renderer2,\n ViewChild\n} from '@angular/core';\nimport { ProductConnectorService } from '../../service/product-connector.service';\nimport { ArticleFullObject } from '@colijnit/articleapi/build/model/article-full-object';\nimport { Subscription } from 'rxjs';\nimport { StockAndDelivery } from '../../model/stock-and-delivery';\nimport { SelectorType } from '../../enum/selector-type.enum';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { IconEnum } from '../../enum/icon.enum';\nimport { IconCacheService } from '../../service/icon-cache.service';\nimport { ProductSettingsService } from '../../service/product-settings.service';\nimport { ProductEventService } from '../../service/product-event.service';\nimport { DeliveryPrognosis } from '@colijnit/articleapi/build/model/delivery-prognosis';\n\n@Component({\n selector: 'app-product-page',\n templateUrl: './product-page.component.html',\n styleUrls: ['./product-page.component.scss'],\n animations: [\n trigger('toggleFullScreen', [\n state('fullscreen', style({'position': 'fixed', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%'})),\n state('halfscreen', style({'position': '*', 'top': '*', 'left': '*', 'width': '*', 'height': '*'})),\n transition('halfscreen <=> fullscreen', animate('200ms ease-in-out')),\n ]),\n trigger('toggleTopLeft', [\n state('fullscreen', style({'position': 'fixed', 'top': '0', 'left': '0'})),\n state('halfscreen', style({'position': 'absolute', 'top': '*', 'left': '*'})),\n transition('halfscreen <=> fullscreen', animate('200ms ease-in-out')),\n ]),\n trigger('toggleTopRight', [\n state('fullscreen', style({'position': 'fixed', 'top': '0', 'right': '0'})),\n state('halfscreen', style({'position': '*', 'top': '*', 'right': '*'})),\n transition('halfscreen <=> fullscreen', animate('200ms ease-in-out')),\n ]),\n trigger('toggleFullScreenRight', [\n state('fullscreen', style({'position': 'fixed', 'width': '400px', 'top': '0', 'right': '0'})),\n state('halfscreen', style({'position': '*', 'width': '*', 'top': '*', 'right': '*'})),\n transition('halfscreen <=> fullscreen', animate('200ms ease-in-out')),\n ]),\n trigger('toggleVisibilityByState', [\n state('hide', style({'opacity': '0', 'display': 'none'})),\n state('show', style({'display': 'block', 'opacity': '1'})),\n transition('hide <=> show', animate('200ms 100ms ease-in-out')),\n ]),\n trigger('toggleVisibility', [\n state('void', style({'opacity': '0'})),\n state('*', style({'opacity': '1'})),\n transition('void => *', animate('200ms ease-in-out')),\n ])\n ]\n})\nexport class ProductPageComponent implements OnInit, OnDestroy, AfterViewInit {\n\n public readonly icon: typeof IconEnum = IconEnum;\n\n @ViewChild('configurator', { read: ElementRef })\n public configurator: ElementRef;\n\n @ViewChild('selections', { read: ElementRef })\n public selections: ElementRef;\n\n @ViewChild('fullscreenbutton', { read: ElementRef })\n public fullscreenbutton: ElementRef;\n\n @Input()\n public set sku(value: string) {\n if (value) {\n if (this.configuring) {\n this.show3D = false;\n this.fullScreen = false;\n this.configuring = false;\n this._changeDetector.detectChanges();\n }\n this._sku = value;\n this._getArticle();\n }\n }\n\n public get sku(): string {\n return this._sku;\n }\n\n @Input()\n public set settings(value: any) {\n if (value) {\n if (typeof value === 'string') {\n this._settings = JSON.parse(value);\n } else {\n this._settings = value;\n }\n }\n }\n\n @Input()\n public createFrozenArticle: boolean = true;\n\n @Input()\n public isReturn: boolean = false;\n\n @Output()\n public openStockEvent: EventEmitter<void> = new EventEmitter<void>();\n public get settings(): any {\n return this._settings;\n }\n\n public set fullScreen(value: boolean) {\n this._fullScreen = value;\n this.fullscreenAnimationEnd = true;\n this._changeDetector.detectChanges();\n // setTimeout(() => {\n // this.fullscreenAnimationEnd = true;\n // }, 400)\n }\n\n public get fullScreen(): boolean {\n return this._fullScreen;\n }\n\n public get fullScreenIcon(): IconEnum {\n return this.fullScreen ? this.icon.NormalScreen : this.icon.FullScreen;\n }\n\n public set currentView(value: SelectorType) {\n this._currentView = value;\n this.show2D = this._currentView === SelectorType.TwoD;\n this.show3D = this._currentView === SelectorType.ThreeD;\n this._changeDetector.detectChanges();\n }\n\n public get currentView(): SelectorType {\n return this._currentView;\n }\n\n public article: ArticleFullObject;\n public stockAndDelivery: StockAndDelivery;\n public configurable = false;\n public threeD = false;\n public selectorType: SelectorType;\n public show2D = true;\n public show3D = false;\n public configuring: boolean = false;\n public fullscreenAnimationEnd: boolean = false;\n public settingsLoaded: boolean = false;\n private _sku: string;\n private _initializedSub: Subscription;\n private _fullScreen: boolean = false;\n private _currentView: SelectorType;\n private _subs: Subscription[] = [];\n private _settings: any;\n\n constructor(private _ione: ProductConnectorService,\n private _renderer: Renderer2,\n private _changeDetector: ChangeDetectorRef,\n public iconCache: IconCacheService,\n public settingsService: ProductSettingsService,\n public appEventService: ProductEventService\n ) {\n this._subs.push(\n this.appEventService.onForceRenderImage.subscribe((x) => {\n if (this.selections.nativeElement) {\n this.selections.nativeElement.forceRenderImage();\n }\n }),\n this.settingsService.settingsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)),\n this._ione.controllerInitialized.subscribe((initialized: boolean) => {\n this.settingsLoaded = initialized;\n })\n );\n\n }\n\n ngOnInit() {\n if (this._settings) {\n this.settingsService.settings = undefined;\n this.settingsService.createSettingsFromObject(this._settings);\n } else {\n this._settings = this.settingsService.settings;\n }\n }\n\n ngAfterViewInit(): void {\n }\n\n ngOnDestroy(): void {\n this._subs.forEach(s => s.unsubscribe());\n if (this._initializedSub) {\n this._initializedSub.unsubscribe();\n }\n this.configurator = undefined;\n this.selections = undefined;\n this.fullscreenbutton = undefined;\n }\n\n public setInstance(event: CustomEvent): void {\n if (event.detail) {\n this._ione.setInstance(event.detail);\n }\n }\n\n public handleStartConfiguration(): void {\n this.configuring = true;\n this._changeDetector.detectChanges();\n }\n\n public showFullScreen(): void {\n this.fullScreen = !this.fullScreen;\n }\n\n private _handleSettingsLoaded(loaded: boolean): void {\n if (loaded) {\n this._ione.initConnection();\n }\n }\n\n private async _getArticle(): Promise<void> {\n if (this._initializedSub) {\n this._initializedSub.unsubscribe();\n }\n this._initializedSub = this._ione.controllerInitialized.subscribe(async (init: boolean) => {\n if (init) {\n this._ione.getFullArticle(this._sku).then((article: ArticleFullObject) => {\n this.article = article;\n if (this.article) {\n this.configurable = this.article.goodType === 'B';\n if (this.configurable) {\n this.currentView = SelectorType.TwoD;\n }\n this.threeD = this.article.is3D;\n this.selectorType = this.article.selectorTypeCustomer;\n this._ione.getDeliveryPrognosis(this.article.goodId).then((stockInfo: DeliveryPrognosis) => {\n const stockAndDelivery: DeliveryPrognosis = stockInfo;\n this.stockAndDelivery = new StockAndDelivery(0, stockAndDelivery.returnValue ? stockAndDelivery.returnValue : ' ');\n this._changeDetector.detectChanges();\n });\n this._changeDetector.detectChanges();\n }\n });\n }\n });\n }\n public openStock() {\n this.openStockEvent.emit();\n }\n\n}\n","<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 *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</ng-container>\r\n","import {CUSTOM_ELEMENTS_SCHEMA, NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ProductPageComponent} from './product-page.component';\r\nimport {ProductSelectorTypeModule} from '../product-selector-type/product-selector-type.module';\r\nimport {ImageCarouselModule} from '../image-carousel/image-carousel.module';\r\nimport {IconModule} from '@colijnit/corecomponents';\r\nimport {ProductDescriptionModule} from '../product-description/product-description.module';\r\nimport {ProductAdditionalDescriptionModule} from '../product-additional-description/product-additional-description.module';\r\nimport {ProductPriceModule} from '../product-price/product-price.module';\r\nimport {ProductAddtocartModule} from '../product-addtocart/product-addtocart.module';\r\nimport {ProductRelatedModule} from '../product-related/product-related.module';\r\nimport {ProductStockModule} from '../product-stock/product-stock.module';\r\nimport {ProductDeliveryModule} from '../product-delivery/product-delivery.module';\r\nimport {ProductInfoTabsModule} from '../product-info-tabs/product-info-tabs.module';\r\nimport {PipeModule} from '../../pipe/pipe.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ProductSelectorTypeModule,\r\n ImageCarouselModule,\r\n IconModule,\r\n ProductDescriptionModule,\r\n ProductAdditionalDescriptionModule,\r\n ProductPriceModule,\r\n ProductAddtocartModule,\r\n ProductRelatedModule,\r\n ProductStockModule,\r\n ProductDeliveryModule,\r\n ProductInfoTabsModule,\r\n PipeModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n declarations: [\r\n ProductPageComponent\r\n ],\r\n exports: [\r\n ProductPageComponent\r\n ]\r\n})\r\nexport class ProductPageModule {\r\n}\r\n","import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\nimport { ArticlePricing } from '@colijnit/articleapi/build/model/article-pricing';\n\n@Component({\n selector: 'app-product-price',\n template: `\n <div *ngIf=\"toPrice\">\n <div class=\"price-wrapper\" *ngIf=\"fromPrice > toPrice\">\n <div class=\"from-price-label\" [textContent]=\"fromLabel | localize\"></div>\n <div class=\"from-price\" [textContent]=\"fromPrice | priceDisplay: valutaSign\"></div>\n </div>\n <div class=\"price-wrapper\">\n <div class=\"to-price-label\" [textContent]=\"toLabel | localize\"></div>\n <div class=\"to-price\" [textContent]=\"toPrice | priceDisplay: valutaSign\"></div>\n </div>\n </div>\n `,\n styleUrls: ['./product-price.component.scss']\n})\nexport class ProductPriceComponent implements OnInit {\n\n @Input()\n public set pricing(value: any) {\n this._pricing = value;\n this._setPrices();\n }\n\n public get pricing(): any {\n return this._pricing;\n }\n\n @Input()\n public set configurable(value: boolean) {\n this._configurable = value;\n this._setPrices();\n }\n\n public fromPrice: number;\n public toPrice: number;\n public valutaSign: string;\n public fromLabel: string;\n public toLabel: string;\n public showFromPrice: boolean = false;\n\n private _pricing: ArticlePricing;\n private _configurable: boolean = false;\n\n constructor(private _changeDetector: ChangeDetectorRef) { }\n\n ngOnInit() {\n }\n\n private _setPrices(): void {\n if (this._pricing) {\n this.valutaSign = this._getSign(this._pricing.retailCurrency);\n if (this._configurable) {\n this.fromPrice = this._pricing.retailBasePrice ? this._pricing.retailBasePrice : this._pricing.priceBaseline;\n this.fromLabel = this._pricing.retailBasePrice ? 'PRICE' : 'FROM';\n this.toPrice = undefined;\n } else {\n this.fromPrice = this._pricing.retailSuggestedPrice ? this._pricing.retailSuggestedPrice : this._pricing.retailBasePrice;\n this.fromLabel = this._pricing.retailSuggestedPrice ? 'Was' : 'PRICE';\n this.toPrice = this._pricing.retailSuggestedPrice ? this._pricing.retailBasePrice : undefined;\n this.toLabel = this._pricing.retailSuggestedPrice ? 'IS_NOW' : '';\n }\n this._changeDetector.detectChanges();\n }\n }\n\n private _getSign(currency: string): string {\n switch (currency) {\n case 'EUR':\n return '€';\n default:\n return '€';\n }\n }\n\n}\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ProductPriceComponent} from './product-price.component';\r\nimport {PipeModule} from '../../pipe/pipe.module';\r\nimport {PriceDisplayPipeModule} from '@colijnit/corecomponents';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n PriceDisplayPipeModule\r\n ],\r\n declarations: [\r\n ProductPriceComponent\r\n ],\r\n exports: [\r\n ProductPriceComponent\r\n ]\r\n})\r\nexport class ProductPriceModule {\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ArticleFullObject } from '@colijnit/articleapi/build/model/article-full-object';\n\nexport const propertyMap: Map<string, string> = new Map([\n ['articleNr', 'ARTICLE_NUMBER'],\n ['catExtra', 'CATEGORY'],\n ['catType', 'CATEGORY_TYPE'],\n ['description', 'DESCRIPTION'],\n ['material', 'MATERIAL'],\n ['title', 'TITLE'],\n ['turnOverGroup', 'TURNOVERGROUP'],\n ['height', 'HEIGHT'],\n ['width', 'WIDTH']\n]);\n\n@Component({\n selector: 'app-product-properties',\n template: `\n <div class=\"article-properties-wrapper\">\n <h3 *ngIf=\"showLabel\" [textContent]=\"'PROPERTIES' | localize\"></h3>\n <ng-container *ngFor=\"let property of properties\">\n <div class=\"article-property\">\n <div class=\"article-property-key\" [textContent]=\"property.key | localize\"></div>\n <div class=\"article-property-value\" [textContent]=\"property.value\"></div>\n </div>\n </ng-container>\n </div>\n `,\n styleUrls: ['./product-properties.component.scss']\n})\nexport class ProductPropertiesComponent implements OnInit {\n\n @Input()\n public set article(value: ArticleFullObject) {\n this._article = value;\n this._prepareProperties();\n }\n\n public get article(): ArticleFullObject {\n return this._article;\n }\n\n @Input()\n public showLabel: boolean = false;\n\n public properties: {key: string, value: string}[] = [];\n\n private _article: ArticleFullObject;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n private _prepareProperties(): void {\n this.properties.length = 0;\n if (!this._article) {\n return;\n }\n propertyMap.forEach((value: string, key: string) => {\n if (this.article.hasOwnProperty(key)) {\n this.properties.push({key: value, value: this.article[key]});\n }\n });\n }\n\n}\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ProductPropertiesComponent} from './product-properties.component';\r\nimport {PipeModule} from '../../pipe/pipe.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n ProductPropertiesComponent\r\n ],\r\n exports: [\r\n ProductPropertiesComponent\r\n ]\r\n})\r\nexport class ProductPropertiesModule {\r\n}\r\n","import { Component, Input } from '@angular/core';\nimport { ArticleListObject } from '@colijnit/articleapi/build/model/article-list-object';\nimport { ProductConnectorService } from '../../service/product-connector.service';\nimport { ProductEventService } from '../../service/product-event.service';\nimport {DocumentContent} from '@colijnit/articleapi/build/model/document-content';\n\n@Component({\n selector: 'app-product-related',\n template: `\n <div *ngIf=\"articles && articles.length > 0\">\n <app-header [label]=\"label\" [amount]=\"articles?.length\" *ngIf=\"label\"></app-header>\n <co-scroll-container>\n <div class=\"article-wrapper\" *ngFor=\"let article of articles\">\n <co-article-tile\n [imageData]=\"article.image.documentBodyAsDataUri\"\n [description]=\"article.description\"\n [price]=\"article.price\"\n [level]=\"article.stockStatus\"\n [isSmallModus]=\"isSmallModus\"\n [hasConfigureButton]=\"article.goodType === 'B'\"\n (contentClick)=\"handleContentClick(article)\"\n ></co-article-tile>\n </div>\n </co-scroll-container>\n </div>\n `,\n styleUrls: ['./product-related.component.scss']\n})\nexport class ProductRelatedComponent {\n\n @Input()\n public refType: number;\n\n @Input()\n public label: string;\n\n @Input()\n public isSmallModus: boolean = true;\n\n @Input()\n public set articles(value: ArticleListObject[]) {\n if (value) {\n if (this.refType && this.refType !== undefined) {\n if (value.length > 0) {\n value.forEach((x: ArticleListObject) => {\n if (x.refType === this.refType) {\n this._articles.push(x);\n }\n });\n }\n } else {\n this._articles = value;\n }\n this._loadImages();\n }\n }\n\n public get articles(): ArticleListObject[] {\n return this._articles;\n }\n\n private _articles: ArticleListObject[] = [];\n\n constructor(\n private _iOne: ProductConnectorService,\n private _appEventService: ProductEventService\n ) { }\n\n public handleContentClick(article: ArticleListObject): void {\n this._appEventService.onAlternativeClick.next(article);\n }\n\n private _loadImages(): void {\n this._articles.forEach((a: ArticleListObject) => {\n if (!a.image.documentBody) {\n this._iOne.getDocumentContent(a.image.documentId).then((content: DocumentContent) => {\n if (content) {\n a.image.documentBody = content.documentContent;\n }\n });\n }\n });\n }\n\n}\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ProductRelatedComponent} from './product-related.component';\r\nimport {HeaderModule} from '../core/header/header.module';\r\nimport {ArticleTileModule, ScrollContainerModule} from '@colijnit/corecomponents';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HeaderModule,\r\n ScrollContainerModule,\r\n ArticleTileModule\r\n ],\r\n declarations: [\r\n ProductRelatedComponent\r\n ],\r\n exports: [\r\n ProductRelatedComponent\r\n ]\r\n})\r\nexport class ProductRelatedModule {\r\n}\r\n","import {ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {SafeHtml} from '@angular/platform-browser';\nimport {IconCacheService} from '../../service/icon-cache.service';\nimport {IconEnum} from '../../enum/icon.enum';\nimport {SelectorType} from '../../enum/selector-type.enum';\n\n@Component({\n selector: 'app-product-selector-type',\n template: `\n <div *ngIf=\"show2D || show3D\" class=\"show-in\" [textContent]=\"'SHOW_IN' | localize\"></div>\n <co-icon *ngIf=\"show2D\" class=\"selector-type-icon\"\n [class.active]=\"currentType === type.TwoD\"\n [iconData]=\"twoDIcon\"\n (click)=\"handleIconClick(type.TwoD)\"\n ></co-icon>\n <co-icon *ngIf=\"show3D\" class=\"selector-type-icon\"\n [class.active]=\"currentType === type.ThreeD\"\n [iconData]=\"threeDIcon\"\n (click)=\"handleIconClick(type.ThreeD)\"\n ></co-icon>\n `,\n styleUrls: ['./product-selector-type.component.scss']\n})\nexport class ProductSelectorTypeComponent implements OnInit {\n\n public readonly type: typeof SelectorType = SelectorType;\n public readonly icons: typeof IconEnum = IconEnum;\n\n @Input()\n public show2D: boolean;\n\n @Input()\n public show3D: boolean;\n\n @Input()\n public currentType: SelectorType;\n\n @Output()\n public onIconClick: EventEmitter<SelectorType> = new EventEmitter();\n\n @Output()\n public currentTypeChange: EventEmitter<SelectorType> = new EventEmitter();\n\n public twoDIcon: SafeHtml | null;\n public threeDIcon: SafeHtml | null;\n\n constructor(\n private _iconCache: IconCacheService,\n private _changeDetector: ChangeDetectorRef\n ) {\n this.twoDIcon = this._iconCache.getIcon(this.icons.TwoD);\n this.threeDIcon = this._iconCache.getIcon(this.icons.ThreeD);\n }\n\n ngOnInit() {\n }\n\n public handleIconClick(type: SelectorType): void {\n this.currentType = type;\n this.currentTypeChange.next(this.currentType);\n this.onIconClick.next(this.currentType);\n this._changeDetector.detectChanges();\n }\n\n}\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ProductSelectorTypeComponent} from './product-selector-type.component';\r\nimport {PipeModule} from '../../pipe/pipe.module';\r\nimport {IconModule} from '@colijnit/corecomponents';\r\n// import {IconModule} from '@colijnit/corecomponents';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n IconModule,\r\n /*,\r\n IconModule*/\r\n ],\r\n declarations: [\r\n ProductSelectorTypeComponent\r\n ],\r\n exports: [\r\n ProductSelectorTypeComponent\r\n ]\r\n})\r\nexport class ProductSelectorTypeModule {\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport { SafeHtml } from '@angular/platform-browser';\nimport { ProductConnectorService } from '../../service/product-connector.service';\nimport { IconCacheService } from '../../service/icon-cache.service';\nimport { IconEnum } from '../../enum/icon.enum';\nimport { StockAndDelivery } from '../../model/stock-and-delivery';\n\n@Component({\n selector: 'app-product-stock',\n template: `\n <!--<app-header [label]=\"'STOCK' | localize\"></app-header>-->\n <!--<co-level-indicator [model]=\"'medium'\"></co-level-indicator>-->\n <div class=\"product-stock-wrapper\">\n <co-icon class=\"stock-icon\" [iconData]=\"iconData\"></co-icon>\n <div class=\"product-stock-fields\" (click)=\"openStock()\">\n <div class=\"pp-default-label\" [class.in-stock]=\"inStock\" [textContent]=\"stockLabel | localize\"></div>\n </div>\n </div>\n `,\n styleUrls: ['./product-stock.component.scss']\n})\nexport class ProductStockComponent {\n public readonly icon: typeof IconEnum = IconEnum;\n\n @Input()\n public set goodId(value: number) {\n this._goodId = value;\n this._getStockStatus();\n }\n\n public get goodId(): number {\n return this._goodId;\n }\n\n @Output()\n public openStockEvent: EventEmitter<void> = new EventEmitter<void>();\n\n public inStock: boolean = false;\n public stockLabel: string;\n public iconData: SafeHtml;\n\n private _goodId: number;\n\n constructor(\n private _iOne: ProductConnectorService,\n private _iconCache: IconCacheService\n ) {\n this.iconData = this._iconCache.getIcon(this.icon.Warehouse);\n }\n\n public openStock() {\n this.openStockEvent.emit();\n }\n\n private _getStockStatus(): void {\n if (this.goodId) {\n this._iOne.getArtStockStatus(this.goodId).then((result: any) => {\n switch (result) {\n case 1: // niet op voorraad\n this.stockLabel = 'PRODUCT_LIMITED_STOCK';\n this.inStock = true;\n break;\n case 2:\n this.stockLabel = 'PRODUCT_IN_STOCK';\n this.inStock = true;\n break;\n default:\n this.stockLabel = 'PRODUCT_NOT_IN_STOCK';\n this.inStock = false;\n break;\n }\n })\n }\n }\n}\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ProductStockComponent} from './product-stock.component';\r\nimport {IconModule} from '@colijnit/corecomponents';\r\nimport {PipeModule} from '../../pipe/pipe.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n ProductStockComponent\r\n ],\r\n exports: [\r\n ProductStockComponent\r\n ]\r\n})\r\nexport class ProductStockModule {\r\n}\r\n","import { Component, HostBinding, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-product-symbols',\n template: `\n <div *ngIf=\"symbols && symbols.length > 0\">\n <app-header [label]=\"'SYMBOLS' | localize\" [amount]=\"symbols?.length\"></app-header>\n <co-scroll-container>\n <co-tile small noImagePlaceholder *ngFor=\"let symbol of symbolStrings\">\n <ng-container tile-over-image>\n <div class=\"symbol\" [textContent]=\"symbol\"></div>\n </ng-container>\n <ng-container tile-extra-bottom-content>\n <div class=\"symbol-name\" [textContent]=\"'Wat moet hier?'\"></div>\n </ng-container>\n </co-tile>\n </co-scroll-container>\n </div>\n `,\n styleUrls: ['./product-symbols.component.scss']\n})\nexport class ProductSymbolsComponent implements OnInit {\n\n @Input()\n public set symbols(value: any) {\n this._symbols = value;\n if (this._symbols && this._symbols.hasOwnProperty('fontCode')) {\n this._className = this._symbols['fontCode'] === 'VLOER' ? 'floor' : (this._className === 'WAS' ? 'ginetex' : '');\n }\n if (this._symbols && this._symbols.hasOwnProperty('symbolString')) {\n for (let i = 0; i < this._symbols['symbolString'].length; i++) {\n this.symbolStrings.push(this._symbols['symbolString'][i]);\n }\n }\n }\n\n public get symbols(): any {\n return this._symbols;\n }\n\n @HostBinding('class')\n public _className: string;\n\n public symbolStrings: string[] = [];\n\n private _symbols: any;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ProductSymbolsComponent} from './product-symbols.component';\r\nimport {HeaderModule} from '../core/header/header.module';\r\nimport {PipeModule} from '../../pipe/pipe.module';\r\nimport {ScrollContainerModule, TileModule} from '@colijnit/corecomponents';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HeaderModule,\r\n PipeModule,\r\n ScrollContainerModule,\r\n TileModule\r\n ],\r\n declarations: [\r\n ProductSymbolsComponent\r\n ],\r\n exports: [\r\n ProductSymbolsComponent\r\n ]\r\n})\r\nexport class ProductSymbolsModule {\r\n}\r\n","/** AUTO GENERATED FILE. DO NOT CHANGE.. **/\n\nexport enum IconEnum {\n AddToCartDrop = \"add_to_cart_drop\",\n DeliveryTruck = \"delivery_truck\",\n Download = \"download\",\n FullScreen = \"full_screen\",\n Location = \"location\",\n Logo = \"logo\",\n MagicWand = \"magic_wand\",\n NormalScreen = \"normal_screen\",\n Quote = \"quote\",\n Refresh = \"refresh\",\n ThreeD = \"three_d\",\n Truck = \"truck\",\n TwoD = \"two_d\",\n Warehouse = \"warehouse\"\n}","export enum LanguageCode {\r\n Dutch = \"nl-NL\",\r\n English = \"en-GB\",\r\n German = \"de-DE\",\r\n French = \"fr-FR\",\r\n}\r\n","export enum SelectorType {\r\n TwoD = '2D',\r\n ThreeD = '3D',\r\n Omni = 'Omni'\r\n}\r\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\nimport {JsonUtilsService} from './utils/json-utils.service';\nimport {ProductConnectorService} from './service/product-connector.service';\nimport {DictionaryService} from './service/dictionary.service';\nimport {Subscription} from 'rxjs';\nimport {ProductEventService} from './service/product-event.service';\nimport {ArticleListObject} from '@colijnit/articleapi/build/model/article-list-object';\nimport {ProductSettingsService} from './service/product-settings.service';\nimport {Selection} from '@colijnit/articleapi/build/model/selection';\nimport {ArticleQuickSel} from '@colijnit/articleapi/build/model/article-quick-sel';\nimport {ArticleExtended} from '@colijnit/articleapi/build/model/article-extended.bo';\n\n@Component({\n selector: 'app-ione-product',\n template: `\n <app-product-page *ngIf=\"settingsLoaded\"\n [createFrozenArticle]=\"handleAddArticleInternally\"\n [isReturn]=\"isReturn\"\n (openStockEvent)=\"openStock()\" [sku]=\"sku\"\n ></app-product-page>\n `,\n encapsulation: ViewEncapsulation.Emulated,\n styleUrls: ['./ione-product.component.css']\n})\nexport class IoneProductComponent implements OnInit, OnChanges, OnDestroy {\n\n @Input()\n public sku: string;\n\n @Input()\n public isReturn: boolean;\n\n @Input()\n public set settings(value: any) {\n if (value) {\n if (typeof value === 'string') {\n this._settings = JSON.parse(value);\n } else {\n this._settings = value;\n }\n }\n }\n\n public get settings(): any {\n return this._settings;\n }\n\n @Input()\n public handleAddArticleInternally: boolean = true;\n\n @Output()\n public onAddToCart: EventEmitter<{ article: string | ArticleExtended, quantity: number }> = new EventEmitter<{ article: string | ArticleExtended, quantity: number }>();\n\n @Output()\n public forceRenderImage: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public onAlternativeClick: EventEmitter<ArticleListObject> = new EventEmitter<ArticleListObject>();\n\n @Output()\n public onArticleInfoReceived: EventEmitter<string> = new EventEmitter<string>();\n\n @Output()\n public onArticleReceived: EventEmitter<ArticleQuickSel> = new EventEmitter<ArticleQuickSel>();\n\n @Output()\n public onSelectionsReceived: EventEmitter<Selection[]> = new EventEmitter<Selection[]>();\n\n @Output()\n public onAddToQuote: EventEmitter<string> = new EventEmitter<string>();\n\n @Output()\n public openStockEvent: EventEmitter<void> = new EventEmitter<void>();\n\n public settingsLoaded: boolean = false;\n\n private _settings: any;\n private _subs: Subscription[] = [];\n\n constructor (\n private _dictionary: DictionaryService,\n private _jsonUtils: JsonUtilsService,\n private _ione: ProductConnectorService,\n private _changeDetector: ChangeDetectorRef,\n private _appEventService: ProductEventService,\n private _settingsService: ProductSettingsService\n ) {\n // this.sku = 'CF-HILL';\n // this.sku = 'CF-ALMADA';\n // this.sku = 'CF-39904ANT';\n // this.sku = 'CF-22346001';\n // this.sku = '104';\n // this.sku = '1000561986';\n // this.sku = '1000567768';\n // this.sku = '1000234793';\n // this.sku = '1066';\n // this.sku = '104';\n // this.sku = \"70000107\";\n // this.sku = \"grover\";\n\n this._subs.push(\n // this._dictionary.dictionaryLoaded.subscribe(d => this.upAndLoaded = true),\n this._appEventService.onAddToCart.subscribe((data: { article: string | ArticleExtended, quantity: number }) => {\n this._handleAddToCart(data);\n }),\n this._appEventService.onAddToQuote.subscribe(json => this.onAddToQuote.emit(json)),\n this._appEventService.onAlternativeClick.subscribe(article => this.onAlternativeClick.emit(article)),\n this._appEventService.onArticleInfoReceived.subscribe(info => this._handleAnswerInfoReceived(info)),\n this._appEventService.onArticleReceived.subscribe(article => this.onArticleReceived.emit(article)),\n this._appEventService.onSelectionsReceived.subscribe(selections => this.onSelectionsReceived.emit(selections)),\n this._settingsService.settingsLoaded.subscribe(loaded => {\n this.settingsLoaded = loaded;\n }),\n );\n }\n\n async ngOnInit(): Promise<void> {\n await this._settingsService.initializeSettings(this._settings === undefined);\n if (this._settings) {\n this._settingsService.createSettingsFromObject(this._settings);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this._changeDetector.detectChanges();\n }\n\n ngOnDestroy(): void {\n this._subs.forEach(s => s.unsubscribe());\n }\n\n private _handleAnswerInfoReceived(info: string): void {\n this.onArticleInfoReceived.next(info);\n }\n\n private async _handleAddToCart(data: { article: string | ArticleExtended, quantity: number }): Promise<void> {\n this.onAddToCart.emit(data);\n }\n public openStock() {\n this.openStockEvent.emit();\n }\n}\n","import {NgModule} from '@angular/core';\nimport {IoneProductComponent} from './ione-product.component';\nimport {CommonModule} from '@angular/common';\n// import {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport {ProductPageModule} from './components/product-page/product-page.module';\nimport {ProductSettingsService} from './service/product-settings.service';\n\n@NgModule({\n imports: [\n // BrowserAnimationsModule,\n CommonModule,\n ProductPageModule\n ],\n declarations: [\n IoneProductComponent\n ],\n exports: [\n IoneProductComponent\n ],\n bootstrap: [\n IoneProductComponent\n ],\n providers: [\n ProductSettingsService\n ]\n})\nexport class IoneProductModule {\n}\n","/** AUTO GENERATED FILE. DO NOT CHANGE.. **/\n\nexport const IconSvg: {[iconName: string]: string} = {\n \"add_to_cart_drop\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M16.58,34.84a1.8,1.8,0,1,0,1.8,1.8A1.79,1.79,0,0,0,16.58,34.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.49,34.84a1.8,1.8,0,1,0,1.8,1.8A1.79,1.79,0,0,0,31.49,34.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35.6,17.9l-1.51.18L31.88,20.3l1.31-.17a.88.88,0,0,1,1,1.08L32.35,29.5a1.52,1.52,0,0,1-1.44,1.2H16.51a1.75,1.75,0,0,1-1.57-1.17l-2.31-5.6a1,1,0,0,1,.85-1.29l4.43-.56-1.86-1.86-5.13.61a1,1,0,0,0-.87,1.28l3.34,9.44A1.73,1.73,0,0,0,15,32.72H32.64a1.51,1.51,0,0,0,1.43-1.2L36.6,19A.89.89,0,0,0,35.6,17.9Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M39,17a1.87,1.87,0,0,0-1.36,1.46l-.42,2.89c-.1.67.31,1,.9.7a2.75,2.75,0,0,0,1.33-1.7L40,18A.73.73,0,0,0,39,17Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"24 25.35 32.04 17.3 27.04 17.3 27.04 10 20.95 10 20.95 17.3 15.96 17.3 24 25.35\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"delivery_truck\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,45A20,20,0,1,1,45,25,20,20,0,0,1,25,45ZM25,6.29A18.71,18.71,0,1,0,43.71,25,18.73,18.73,0,0,0,25,6.29Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M21.86,24.09a7.14,7.14,0,0,1,.72-3.24,6.94,6.94,0,0,1,1.18-1.66H13v10.1h8.51a3.25,3.25,0,0,1,3.27-3.07A3.33,3.33,0,0,1,27,27V25.75H21.9Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M21.65,30.47h-.48a3.51,3.51,0,0,1,1.13,2.19h1.57a3.22,3.22,0,0,1-1.41-.83A3.13,3.13,0,0,1,21.65,30.47Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M34.63,21.89H28.87c-.3.25-.5.43-.63.56v8H28a3.19,3.19,0,0,1-.82,1.37,3.3,3.3,0,0,1-1.41.82H29a3.53,3.53,0,0,1,7,0h1V27.1Zm-.2,5.38H30.8a.47.47,0,0,1-.46-.46V23.36a.46.46,0,0,1,.46-.46h2.1a.45.45,0,0,1,.42.27l1.53,3.45A.46.46,0,0,1,34.43,27.27Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M16.42,30.47a3.51,3.51,0,0,0-1.13,2.19H14.6l-1.6-1V30.47Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M30,33.08a2.53,2.53,0,1,0,2.53-2.53A2.52,2.52,0,0,0,30,33.08Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M16.27,33.08a2.53,2.53,0,1,0,2.53-2.53A2.52,2.52,0,0,0,16.27,33.08Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M22.45,17.27h-3.2a4.29,4.29,0,0,1,1.61-3.49,6.45,6.45,0,0,1,4.31-1.38,6.79,6.79,0,0,1,2.92.57A4.72,4.72,0,0,1,30,14.62a4,4,0,0,1,.72,2.26,3.74,3.74,0,0,1-.23,1.27,5.31,5.31,0,0,1-.73,1.29,12,12,0,0,1-1.4,1.29A8.74,8.74,0,0,0,27.06,22a3.17,3.17,0,0,0-.46.94,7.56,7.56,0,0,0-.23,1.65h-3.3v-.49a6,6,0,0,1,.59-2.68,6.8,6.8,0,0,1,1.94-2.25,9.44,9.44,0,0,0,1.56-1.41,1.5,1.5,0,0,0,.27-.9,1.47,1.47,0,0,0-.65-1.19A2.9,2.9,0,0,0,25,15.14a2.77,2.77,0,0,0-1.84.6A1.91,1.91,0,0,0,22.45,17.27Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M24.78,27.42a2.06,2.06,0,0,1,1.51.61,2,2,0,0,1,.63,1.47A2,2,0,0,1,26.3,31a2.08,2.08,0,0,1-1.5.62A2,2,0,0,1,23.31,31a2.08,2.08,0,0,1,0-2.95A2,2,0,0,1,24.78,27.42Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"download\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\" version=\\\"1.1\\\" sodipodi:docname=\\\"download.svg\\\" inkscape:version=\\\"0.92.4 (5da689c313, 2019-01-14)\\\"><metadata ><rdf:RDF><cc:Work rdf:about=\\\"\\\"><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs /><sodipodi:namedview pagecolor=\\\"#ffffff\\\" bordercolor=\\\"#666666\\\" borderopacity=\\\"1\\\" objecttolerance=\\\"10\\\" gridtolerance=\\\"10\\\" guidetolerance=\\\"10\\\" inkscape:pageopacity=\\\"0\\\" inkscape:pageshadow=\\\"2\\\" inkscape:window-width=\\\"1920\\\" inkscape:window-height=\\\"1017\\\" showgr inkscape:zoom=\\\"6.675088\\\" inkscape:cx=\\\"-14.056273\\\" inkscape:cy=\\\"29.806579\\\" inkscape:window-x=\\\"-8\\\" inkscape:window-y=\\\"-8\\\" inkscape:window-maximized=\\\"1\\\" inkscape:current-layer=\\\"svg8\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><path inkscape:connector-curvature=\\\"0\\\" d=\\\"m 498.966,339.946 c -7.197,0 -13.034,5.837 -13.034,13.034 v 49.804 c 0,28.747 -23.388,52.135 -52.135,52.135 H 78.203 c -28.747,0 -52.135,-23.388 -52.135,-52.135 V 352.98 c 0,-7.197 -5.835,-13.034 -13.034,-13.034 C 5.835,339.946 0,345.782 0,352.98 v 49.804 c 0,43.121 35.082,78.203 78.203,78.203 h 355.594 c 43.121,0 78.203,-35.082 78.203,-78.203 V 352.98 c 0,-7.198 -5.835,-13.034 -13.034,-13.034 z\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><path inkscape:connector-curvature=\\\"0\\\" d=\\\"M 419.833,391.3 H 92.167 c -7.197,0 -13.034,5.837 -13.034,13.034 0,7.197 5.835,13.034 13.034,13.034 h 327.665 c 7.199,0 13.034,-5.835 13.034,-13.034 0,-7.197 -5.835,-13.034 -13.033,-13.034 z\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><path inkscape:connector-curvature=\\\"0\\\" d=\\\"m 387.919,207.93 c -4.795,-5.367 -13.034,-5.834 -18.404,-1.038 L 269.033,296.657 V 44.048 c 0,-7.197 -5.835,-13.034 -13.034,-13.034 -7.197,0 -13.034,5.835 -13.034,13.034 V 296.657 L 142.483,206.893 c -5.367,-4.796 -13.607,-4.328 -18.404,1.038 -4.794,5.369 -4.331,13.609 1.037,18.404 l 109.174,97.527 c 6.187,5.529 13.946,8.292 21.708,8.292 7.759,0 15.519,-2.763 21.708,-8.289 l 109.174,-97.53 c 5.37,-4.798 5.834,-13.038 1.039,-18.405 z\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></svg>\",\n \"full_screen\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M38,38.17H12v-26H38ZM13.24,36.93H36.76V13.4H13.24Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"17.35 32.81 17.35 26.75 19.46 28.86 28.69 19.63 26.59 17.52 32.65 17.52 32.65 23.58 30.54 21.47 21.31 30.71 23.41 32.81 17.35 32.81\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"location\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,12.67A8.33,8.33,0,0,0,16.67,21c0,4.6,8.33,16.67,8.33,16.67S33.33,25.6,33.33,21A8.33,8.33,0,0,0,25,12.67Zm0,10.41A2.08,2.08,0,1,1,27.08,21,2.08,2.08,0,0,1,25,23.08Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"logo\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"21.19\\\" width=\\\"2.04\\\" height=\\\"6.32\\\" fill=\\\"#484f60\\\"/><path d=\\\"M18.66,29.24a3.84,3.84,0,0,1-2.85-1.19,4.19,4.19,0,0,1,0-5.77,4,4,0,0,1,5.71,0,4.19,4.19,0,0,1,0,5.77A3.85,3.85,0,0,1,18.66,29.24Zm0-6.16a1.79,1.79,0,0,0-1.38.58,2.12,2.12,0,0,0-.57,1.51,2,2,0,0,0,.57,1.49,1.94,1.94,0,0,0,2.76,0,2.08,2.08,0,0,0,.56-1.5,2.15,2.15,0,0,0-.56-1.51A1.76,1.76,0,0,0,18.67,23.08Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"31.05 29.18 27.33 25.02 27.33 29.14 25.29 29.14 25.29 21.15 26.57 21.15 30.29 25.33 30.29 21.19 32.33 21.19 32.33 29.18 31.05 29.18\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"35.34 29.14 35.34 21.19 39.9 21.19 39.9 23.17 37.38 23.17 37.38 23.9 39.66 23.9 39.66 25.87 37.38 25.87 37.38 27.14 40 27.14 40 29.14 35.34 29.14\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"magic_wand\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><title>magic_wand</title><g style=\\\"isolation:isolate\\\"><path d=\\\"M20.45,10.71a.28.28,0,0,1,.49-.19l1.4,1.25a.93.93,0,0,0,.83.23L25,11.62a.29.29,0,0,1,.34.41l-.76,1.71a.93.93,0,0,0,0,.86l.93,1.62c.12.26,0,.45-.29.45l-1.86-.2a1,1,0,0,0-.81.32l-1.26,1.38a.28.28,0,0,1-.5-.14l-.39-1.83a1,1,0,0,0-.55-.67l-1.71-.77a.28.28,0,0,1,0-.52l1.62-.94a1,1,0,0,0,.48-.73Z\\\" fill=\\\"#484f60\\\"/><g style=\\\"mix-blend-mode:lighten\\\"><path d=\\\"M23.3,16.21a1,1,0,0,0-.8.31l-1,1.13a.29.29,0,0,1-.51-.14L20.66,16a1,1,0,0,0-.55-.68l-1.39-.62a.28.28,0,0,1,0-.52L20,13.45a1,1,0,0,0,.48-.73l.16-1.5a.29.29,0,0,1,.49-.2l1.13,1a.93.93,0,0,0,.83.23L24.58,12a.29.29,0,0,1,.34.41l-.62,1.38a.91.91,0,0,0,.05.86l.75,1.32a.29.29,0,0,1-.29.44Z\\\" fill=\\\"#484f60\\\"/></g><path d=\\\"M33.57,36.76a.53.53,0,0,1,0,.72l-2.37,2.18a.48.48,0,0,1-.7,0L18,25.34a.51.51,0,0,1,0-.71l2.36-2.19a.49.49,0,0,1,.7,0Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M18.6,19.94a.51.51,0,0,1,0,.71L16.2,22.84a.48.48,0,0,1-.7,0l-2.76-3.13a.51.51,0,0,1,0-.71l2.37-2.19a.48.48,0,0,1,.7,0Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M30.67,10.55a.29.29,0,0,1,.47.24v1.12a1,1,0,0,0,.4.77l.9.66a.29.29,0,0,1-.08.52l-1.07.35a1,1,0,0,0-.61.61l-.35,1.06a.28.28,0,0,1-.51.09l-.67-.91a1,1,0,0,0-.77-.4H27.27a.29.29,0,0,1-.25-.47l.66-.9a.93.93,0,0,0,.14-.85l-.35-1.07a.29.29,0,0,1,.38-.38l1.07.35a1,1,0,0,0,.85-.13Z\\\" fill=\\\"#484f60\\\"/><g style=\\\"mix-blend-mode:lighten\\\"><path d=\\\"M29.25,14.88a1,1,0,0,0-.77-.4h-.86a.29.29,0,0,1-.24-.47l.5-.69a.93.93,0,0,0,.14-.85l-.26-.82c-.07-.27.1-.44.37-.37l.82.26a1,1,0,0,0,.85-.13l.69-.51a.29.29,0,0,1,.47.25V12a.94.94,0,0,0,.39.76l.7.51a.29.29,0,0,1-.09.52l-.81.26a1,1,0,0,0-.62.61l-.26.82a.29.29,0,0,1-.52.08Z\\\" fill=\\\"#484f60\\\"/></g><path d=\\\"M37,15.81a.29.29,0,0,1,.32.43l-.13.26a.91.91,0,0,0,0,.85l.15.26A.29.29,0,0,1,37,18l-.29,0a.93.93,0,0,0-.81.27l-.2.21a.28.28,0,0,1-.5-.16l0-.29a1,1,0,0,0-.52-.69l-.27-.13a.28.28,0,0,1,0-.52l.26-.13a.93.93,0,0,0,.5-.71l0-.29a.29.29,0,0,1,.5-.17l.21.21a.92.92,0,0,0,.82.26Z\\\" fill=\\\"#484f60\\\"/><g style=\\\"mix-blend-mode:lighten\\\"><path d=\\\"M35.25,18a1,1,0,0,0-.52-.7l-.12-.05a.28.28,0,0,1,0-.52l.12-.06a1,1,0,0,0,.51-.7V15.8a.29.29,0,0,1,.5-.18l.09.1a.92.92,0,0,0,.82.26l.13,0a.29.29,0,0,1,.32.42L37,16.5a.91.91,0,0,0,0,.85l.07.12a.29.29,0,0,1-.31.43l-.13,0a1,1,0,0,0-.82.28l-.09.1a.28.28,0,0,1-.5-.16Z\\\" fill=\\\"#484f60\\\"/></g></g></svg>\",\n \"normal_screen\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M38,38.17H12v-26H38ZM13.24,36.93H36.76V13.4H13.24Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"22.18 29.83 24.29 31.93 24.29 25.87 18.23 25.87 20.34 27.98 16.43 31.89 18.28 33.73 22.18 29.83\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"33.57 18.44 31.73 16.6 27.82 20.51 25.71 18.4 25.71 24.46 31.77 24.46 29.66 22.35 33.57 18.44\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"quote\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M14.5,31.51V12a.5.5,0,0,1,.5-.5H35a.5.5,0,0,1,.5.5V38a.5.5,0,0,1-.5.5H21.27V40H35a2,2,0,0,0,2-2V12a2,2,0,0,0-2-2H15a2,2,0,0,0-2,2V31.51Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M21.27,40V33.56c0-1.78-.27-2.05-2.05-2.05H13Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17.5\\\" y=\\\"18.5\\\" width=\\\"6\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"25.5\\\" y=\\\"21.5\\\" width=\\\"7\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"25.5\\\" y=\\\"18.5\\\" width=\\\"7\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"26.5\\\" y=\\\"25.5\\\" width=\\\"6\\\" height=\\\"4\\\" transform=\\\"translate(59 55) rotate(-180)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17.5\\\" y=\\\"28.5\\\" width=\\\"7\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17.5\\\" y=\\\"25.5\\\" width=\\\"7\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17.5\\\" y=\\\"14.5\\\" width=\\\"6\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"26.5\\\" y=\\\"34.5\\\" width=\\\"6\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"refresh\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\" version=\\\"1.1\\\" sodipodi:docname=\\\"refresh.svg\\\" inkscape:version=\\\"0.92.4 (5da689c313, 2019-01-14)\\\"><metadata ><rdf:RDF><cc:Work rdf:about=\\\"\\\"><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs /><sodipodi:namedview pagecolor=\\\"#ffffff\\\" bordercolor=\\\"#666666\\\" borderopacity=\\\"1\\\" objecttolerance=\\\"10\\\" gridtolerance=\\\"10\\\" guidetolerance=\\\"10\\\" inkscape:pageopacity=\\\"0\\\" inkscape:pageshadow=\\\"2\\\" inkscape:window-width=\\\"1920\\\" inkscape:window-height=\\\"1017\\\" showgr inkscape:zoom=\\\"9.44\\\" inkscape:cx=\\\"13.990693\\\" inkscape:cy=\\\"13.961336\\\" inkscape:window-x=\\\"-8\\\" inkscape:window-y=\\\"-8\\\" inkscape:window-maximized=\\\"1\\\" inkscape:current-layer=\\\"svg6\\\" /><g transform=\\\"matrix(0.05356365,0,0,0.05356365,11.44076,11.82465)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><path inkscape:connector-curvature=\\\"0\\\" d=\\\"M 414.32892,173.53368 397.86852,58.29997 c -1.3534,-9.447409 -12.96516,-13.373353 -19.75699,-6.581524 l -23.97472,23.97472 C 323.3074,57.095569 288.30682,47.308258 252.3168,47.308258 c -108.23157,0 -195.126154,84.711612 -197.8314,192.852392 -0.147446,5.91103 4.149441,10.98085 9.992183,11.82206 l 46.516107,6.64982 c 6.93462,1.01194 13.38577,-4.43269 13.28954,-11.68548 -0.9646,-71.37163 56.68057,-129.79595 128.03357,-129.79595 17.27835,0 34.3526,3.51232 50.13165,10.23043 l -23.11022,23.11022 c -6.74915,6.74915 -2.91866,18.3966 6.58152,19.75699 l 115.23371,16.4604 c 7.59269,1.14465 14.26423,-5.4586 13.17546,-13.17546 z\\\" style=\\\"fill:#484f60;fill-opacity:1;stroke-width:0.77603161\\\" /></g></g><path inkscape:connector-curvature=\\\"0\\\" d=\\\"m 35.105827,24.725982 -2.489742,-0.355606 c -0.321647,-0.04073 -0.711797,0.234897 -0.711797,0.671018 0,3.781814 -3.076753,6.858567 -6.858567,6.858567 -0.920628,0 -1.830946,-0.186303 -2.673013,-0.542533 l 1.198298,-1.198297 c 0.361507,-0.361507 0.156331,-0.985389 -0.352533,-1.058254 l -6.172336,-0.882302 c -0.405403,-0.05792 -0.764422,0.289765 -0.705726,0.705725 l 0.881637,6.172381 c 0.07258,0.506577 0.694003,0.71545 1.058254,0.352527 l 1.315225,-1.314599 c 1.643397,0.987012 3.516951,1.506391 5.450194,1.506391 5.769264,0 10.423029,-4.514936 10.595325,-10.27871 0.0091,-0.317237 -0.221012,-0.591248 -0.535219,-0.636308 z\\\" style=\\\"fill:#484f60;fill-opacity:1;stroke-width:0.04156709\\\" /></svg>\",\n \"three_d\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M16.08,30.77a4.85,4.85,0,0,1-3-.8,4,4,0,0,0-2.49-.15,6.21,6.21,0,0,0,2.53,1.09,12.84,12.84,0,0,0,2.93-.14\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M14.27,19.68A4.71,4.71,0,0,0,11,20.78l2,.14c.31,0,1.2-.69,1.55-.81a3.88,3.88,0,0,1,1.65-.24l-1.94-.19\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M21.64,28.79a4.13,4.13,0,0,0-3.1-4c.89-.7,1.77-1.09,2.26-2.21a5.12,5.12,0,0,0,.35-1.9c-.13-3.24-2.64-3.73-5.29-4.15a4,4,0,0,1,3.44,3.7,4.61,4.61,0,0,1-.83,3.12,9.7,9.7,0,0,1-1.82,1.43,4.3,4.3,0,0,1,3.17,4.34,4.9,4.9,0,0,1-4.21,5c2.09-.34,4.37-.64,5.46-2.69a5,5,0,0,0,.57-2.58\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M28.44,18.88l.38-.07.48-.06.57,0h.75l.36,0,.35.05c-.2,0-.42-.08-1.57-.25l-.36-.05-.37,0h-.77l-.59,0-.49.07a3.08,3.08,0,0,0-.39.07l-.3.07V31.38H27l.13,0h1.63l.21,0h.2l.2,0h.05l1.55-.24h0l-.34.05-.33,0H29.12l-.36,0-.33,0a1.15,1.15,0,0,1-.28-.06V19Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M40,24.34a9,9,0,0,0-3-7.1,11.06,11.06,0,0,0-4.47-1.86c4.38,1.13,6.23,5.31,6.13,9.54-.12,4.5-2.27,8.55-6.86,9.66,2.59-.63,5-1.41,6.52-3.78A12,12,0,0,0,40,24.34\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M35.38,16.71A7.32,7.32,0,0,1,36.74,18a7.82,7.82,0,0,1,1,1.73,10.32,10.32,0,0,1,.68,2.16,13.86,13.86,0,0,1,.23,2.59,15,15,0,0,1-.25,2.78,11.39,11.39,0,0,1-.68,2.31,9.34,9.34,0,0,1-1,1.85,8.23,8.23,0,0,1-1.28,1.4,7.76,7.76,0,0,1-1.7,1.07,9.07,9.07,0,0,1-2,.69,13.36,13.36,0,0,1-2.26.33,18.25,18.25,0,0,1-2.45,0c-.5,0-1-.08-1.39-.12l-1.17-.14c-.36,0-.68-.11-1-.16l-.77-.15V15.86c.34-.09.71-.18,1.09-.26s.81-.15,1.24-.21.88-.12,1.34-.17.95-.1,1.44-.13a20.57,20.57,0,0,1,2.33,0,12,12,0,0,1,2,.24,8.24,8.24,0,0,1,1.72.55A7.1,7.1,0,0,1,35.38,16.71ZM27.92,31.53a6.53,6.53,0,0,0,2.46-.32A4.81,4.81,0,0,0,32.32,30a5.82,5.82,0,0,0,1.27-2.18A10.11,10.11,0,0,0,34,24.67a8.65,8.65,0,0,0-.42-2.85,4.94,4.94,0,0,0-1.18-2,4.45,4.45,0,0,0-1.83-1.11,6.55,6.55,0,0,0-2.35-.28l-.59,0-.49.07a3.08,3.08,0,0,0-.39.07l-.3.07V31.38a2.11,2.11,0,0,0,.29.06l.34,0,.37,0,.36,0h.07\\\" fill=\\\"#484f60\\\"/><path d=\\\"M14.57,16.47a5.49,5.49,0,0,1,2,.22,3.89,3.89,0,0,1,1.49.84A3.66,3.66,0,0,1,19,18.89a4.29,4.29,0,0,1,.33,1.7,5.29,5.29,0,0,1-.17,1.34,4.29,4.29,0,0,1-.5,1.16,4.17,4.17,0,0,1-.84.94,4.88,4.88,0,0,1-1.16.69v.05a3.7,3.7,0,0,1,1.22.5,4,4,0,0,1,1,.92,4.61,4.61,0,0,1,.69,1.3,5.24,5.24,0,0,1,.25,1.62,5.36,5.36,0,0,1-.42,2.15,4.44,4.44,0,0,1-1.2,1.64,4.84,4.84,0,0,1-1.86,1,6.78,6.78,0,0,1-2.39.23,7.69,7.69,0,0,1-2.36-.52,6.89,6.89,0,0,1-.9-.42,4.36,4.36,0,0,1-.69-.47l.62-2.9a4.12,4.12,0,0,0,.53.34,6.21,6.21,0,0,0,.73.36,5.69,5.69,0,0,0,.88.31,5.19,5.19,0,0,0,1,.15,3.11,3.11,0,0,0,1.1-.13,2,2,0,0,0,.8-.45,1.93,1.93,0,0,0,.49-.71,2.35,2.35,0,0,0,.17-.89A2.48,2.48,0,0,0,16,27.67a2.23,2.23,0,0,0-.63-.79,2.9,2.9,0,0,0-.89-.46,3.5,3.5,0,0,0-1-.15H12.2V23.44l1.23,0a3.44,3.44,0,0,0,.83-.11,2.83,2.83,0,0,0,.79-.36,2,2,0,0,0,.6-.62,2,2,0,0,0,.23-.94,1.8,1.8,0,0,0-.13-.71,1.36,1.36,0,0,0-.38-.56,1.58,1.58,0,0,0-.64-.35,2.79,2.79,0,0,0-.9-.1,4.07,4.07,0,0,0-.84.13c-.27.08-.53.18-.78.28a6.56,6.56,0,0,0-1.17.7L10.42,18a5,5,0,0,1,.72-.51,7.82,7.82,0,0,1,2.12-.82A8,8,0,0,1,14.57,16.47Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"truck\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\" version=\\\"1.1\\\" sodipodi:docname=\\\"truck.svg\\\" inkscape:version=\\\"0.92.4 (5da689c313, 2019-01-14)\\\"><metadata ><rdf:RDF><cc:Work rdf:about=\\\"\\\"><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs /><sodipodi:namedview pagecolor=\\\"#ffffff\\\" bordercolor=\\\"#666666\\\" borderopacity=\\\"1\\\" objecttolerance=\\\"10\\\" gridtolerance=\\\"10\\\" guidetolerance=\\\"10\\\" inkscape:pageopacity=\\\"0\\\" inkscape:pageshadow=\\\"2\\\" inkscape:window-width=\\\"1920\\\" inkscape:window-height=\\\"1017\\\" showgr inkscape:zoom=\\\"9.44\\\" inkscape:cx=\\\"31.555563\\\" inkscape:cy=\\\"21.585628\\\" inkscape:window-x=\\\"-8\\\" inkscape:window-y=\\\"-8\\\" inkscape:window-maximized=\\\"1\\\" inkscape:current-layer=\\\"svg8\\\" /><g transform=\\\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><path inkscape:connector-curvature=\\\"0\\\" d=\\\"m 119.467,337.067 c -28.237,0 -51.2,22.963 -51.2,51.2 0,28.237 22.963,51.2 51.2,51.2 28.237,0 51.2,-22.963 51.2,-51.2 0,-28.237 -22.964,-51.2 -51.2,-51.2 z m 0,85.333 c -18.825,0 -34.133,-15.309 -34.133,-34.133 0,-18.825 15.309,-34.133 34.133,-34.133 18.824,0 34.133,15.309 34.133,34.133 0,18.824 -15.309,34.133 -34.133,34.133 z\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><path inkscape:connector-curvature=\\\"0\\\" d=\\\"m 409.6,337.067 c -28.237,0 -51.2,22.963 -51.2,51.2 0,28.237 22.963,51.2 51.2,51.2 28.237,0 51.2,-22.963 51.2,-51.2 0,-28.237 -22.963,-51.2 -51.2,-51.2 z m 0,85.333 c -18.825,0 -34.133,-15.309 -34.133,-34.133 0,-18.825 15.309,-34.133 34.133,-34.133 18.825,0 34.133,15.309 34.133,34.133 0,18.824 -15.308,34.133 -34.133,34.133 z\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><path inkscape:connector-curvature=\\\"0\\\" d=\\\"m 510.643,289.784 -76.8,-119.467 c -1.57,-2.441 -4.275,-3.917 -7.177,-3.917 H 332.8 c -4.719,0 -8.533,3.823 -8.533,8.533 v 213.333 c 0,4.719 3.814,8.533 8.533,8.533 h 34.133 v -17.067 h -25.6 V 183.467 h 80.674 l 72.926,113.442 v 82.825 H 452.266 V 396.8 h 51.2 c 4.719,0 8.533,-3.814 8.533,-8.533 V 294.4 c 10e-4,-1.63 -0.468,-3.243 -1.356,-4.616 z\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><path inkscape:connector-curvature=\\\"0\\\" d=\\\"M 375.467,277.333 V 217.6 h 68.267 v -17.067 h -76.8 c -4.719,0 -8.533,3.823 -8.533,8.533 v 76.8 c 0,4.719 3.814,8.533 8.533,8.533 h 128 V 277.332 H 375.467 Z\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><path inkscape:connector-curvature=\\\"0\\\" d=\\\"M 332.8,106.667 H 8.533 C 3.823,106.667 0,110.49 0,115.2 v 273.067 c 0,4.719 3.823,8.533 8.533,8.533 H 76.8 V 379.733 H 17.067 v -256 h 307.2 v 256 H 162.133 V 396.8 H 332.8 c 4.719,0 8.533,-3.814 8.533,-8.533 V 115.2 c 0,-4.71 -3.814,-8.533 -8.533,-8.533 z\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><rect x=\\\"8.533\\\" y=\\\"345.60001\\\" width=\\\"51.200001\\\" height=\\\"17.066999\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><rect x=\\\"179.2\\\" y=\\\"345.60001\\\" width=\\\"145.067\\\" height=\\\"17.066999\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><rect x=\\\"469.33301\\\" y=\\\"345.60001\\\" width=\\\"34.132999\\\" height=\\\"17.066999\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><rect x=\\\"34.132999\\\" y=\\\"140.8\\\" width=\\\"298.66699\\\" height=\\\"17.066999\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><rect x=\\\"110.933\\\" y=\\\"379.733\\\" width=\\\"17.066999\\\" height=\\\"17.066999\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><rect x=\\\"401.06699\\\" y=\\\"379.733\\\" width=\\\"17.066999\\\" height=\\\"17.066999\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></svg>\",\n \"two_d\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M22.41,33.89H11V31c.87-.76,1.75-1.56,2.62-2.41S15.2,27,15.73,26.39A11.84,11.84,0,0,0,17.4,24a4.45,4.45,0,0,0,.5-2,2.52,2.52,0,0,0-.64-1.85,2.47,2.47,0,0,0-1.84-.65,4.57,4.57,0,0,0-1.89.45,8.17,8.17,0,0,0-1.84,1.14h-.31V17.2a10.26,10.26,0,0,1,2-.73,10.46,10.46,0,0,1,2.71-.36,5.79,5.79,0,0,1,4.16,1.37,5.15,5.15,0,0,1,1.44,3.9,7.37,7.37,0,0,1-.69,3.14A12.94,12.94,0,0,1,19,27.59c-.6.66-1.19,1.26-1.79,1.81s-1,.93-1.28,1.15h6.53Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M38.14,20.79a7.49,7.49,0,0,0-2.37-3,6.52,6.52,0,0,0-2.17-1,11.93,11.93,0,0,0-3.06-.35H25.26V33.89h5.13a13.25,13.25,0,0,0,3-.3,6.61,6.61,0,0,0,2.33-1.08,7.71,7.71,0,0,0,2.34-3A9.9,9.9,0,0,0,39,25.19,10.47,10.47,0,0,0,38.14,20.79Zm-3.49,7.27a4,4,0,0,1-1.51,1.88,3.77,3.77,0,0,1-1.22.54,10.07,10.07,0,0,1-2,.14H29V19.7H30a9.8,9.8,0,0,1,1.81.13,3.75,3.75,0,0,1,1.18.46,4.07,4.07,0,0,1,1.65,1.92,7.4,7.4,0,0,1,.52,2.94A7.92,7.92,0,0,1,34.65,28.06Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"warehouse\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\" version=\\\"1.1\\\" sodipodi:docname=\\\"warehouse.svg\\\" inkscape:version=\\\"0.92.4 (5da689c313, 2019-01-14)\\\"><metadata ><rdf:RDF><cc:Work rdf:about=\\\"\\\"><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs /><sodipodi:namedview pagecolor=\\\"#ffffff\\\" bordercolor=\\\"#666666\\\" borderopacity=\\\"1\\\" objecttolerance=\\\"10\\\" gridtolerance=\\\"10\\\" guidetolerance=\\\"10\\\" inkscape:pageopacity=\\\"0\\\" inkscape:pageshadow=\\\"2\\\" inkscape:window-width=\\\"1920\\\" inkscape:window-height=\\\"1017\\\" showgr inkscape:zoom=\\\"6.675088\\\" inkscape:cx=\\\"9.6569985\\\" inkscape:cy=\\\"12.384637\\\" inkscape:window-x=\\\"-8\\\" inkscape:window-y=\\\"-8\\\" inkscape:window-maximized=\\\"1\\\" inkscape:current-layer=\\\"svg8\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><path inkscape:connector-curvature=\\\"0\\\" d=\\\"M 507.785,146.242 260.318,1.175 c -2.603,-1.519 -5.803,-1.57 -8.439,-0.111 L 4.412,137.598 C 1.69,139.091 0,141.958 0,145.064 v 358.4 c 0,4.719 3.823,8.533 8.533,8.533 H 51.2 c 4.71,0 8.533,-3.814 8.533,-8.533 V 204.798 h 392.533 v 298.667 c 0,4.719 3.814,8.533 8.533,8.533 h 42.667 c 4.719,0 8.533,-3.814 8.533,-8.533 V 153.598 c 10e-4,-3.03 -1.603,-5.829 -4.214,-7.356 z m -12.852,348.689 h -25.6 V 196.264 c 0,-4.71 -3.814,-8.533 -8.533,-8.533 H 51.2 c -4.71,0 -8.533,3.823 -8.533,8.533 v 298.667 h -25.6 V 150.099 L 255.872,18.344 494.933,158.487 Z\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><path inkscape:connector-curvature=\\\"0\\\" d=\\\"m 426.667,392.531 h -102.4 c -4.719,0 -8.533,3.814 -8.533,8.533 v 102.4 c 0,4.719 3.814,8.533 8.533,8.533 h 102.4 c 4.719,0 8.533,-3.814 8.533,-8.533 v -102.4 c 0,-4.719 -3.814,-8.533 -8.533,-8.533 z m -8.534,102.4 H 332.8 v -85.333 h 85.333 z\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><path inkscape:connector-curvature=\\\"0\\\" d=\\\"m 384,401.064 v 25.6 h -17.067 v -25.6 h -17.067 v 34.133 c 0,4.719 3.814,8.533 8.533,8.533 h 34.133 c 4.719,0 8.533,-3.814 8.533,-8.533 v -34.133 z\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><path inkscape:connector-curvature=\\\"0\\\" d=\\\"m 324.267,392.531 h -102.4 c -4.71,0 -8.533,3.814 -8.533,8.533 v 102.4 c 0,4.719 3.823,8.533 8.533,8.533 h 102.4 c 4.719,0 8.533,-3.814 8.533,-8.533 v -102.4 c 0,-4.719 -3.814,-8.533 -8.533,-8.533 z m -8.534,102.4 H 230.4 v -85.333 h 85.333 z\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><path inkscape:connector-curvature=\\\"0\\\" d=\\\"m 281.6,401.064 v 25.6 h -17.067 v -25.6 h -17.067 v 34.133 c 0,4.719 3.823,8.533 8.533,8.533 h 34.133 c 4.719,0 8.533,-3.814 8.533,-8.533 v -34.133 z\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><path inkscape:connector-curvature=\\\"0\\\" d=\\\"m 426.667,290.131 h -102.4 c -4.719,0 -8.533,3.814 -8.533,8.533 v 102.4 c 0,4.719 3.814,8.533 8.533,8.533 h 102.4 c 4.719,0 8.533,-3.814 8.533,-8.533 v -102.4 c 0,-4.719 -3.814,-8.533 -8.533,-8.533 z m -8.534,102.4 H 332.8 v -85.333 h 85.333 z\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><path inkscape:connector-curvature=\\\"0\\\" d=\\\"m 384,298.664 v 25.6 h -17.067 v -25.6 h -17.067 v 34.133 c 0,4.719 3.814,8.533 8.533,8.533 h 34.133 c 4.719,0 8.533,-3.814 8.533,-8.533 v -34.133 z\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><rect x=\\\"51.200001\\\" y=\\\"255.998\\\" width=\\\"409.60001\\\" height=\\\"17.066999\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><rect x=\\\"51.200001\\\" y=\\\"221.864\\\" width=\\\"409.60001\\\" height=\\\"17.066999\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><g style=\\\"fill:#484f60;fill-opacity:1\\\"><path inkscape:connector-curvature=\\\"0\\\" d=\\\"m 298.667,119.464 h -85.333 c -4.71,0 -8.533,3.823 -8.533,8.533 v 34.133 c 0,4.71 3.823,8.533 8.533,8.533 h 85.333 c 4.719,0 8.533,-3.823 8.533,-8.533 v -34.133 c 0,-4.71 -3.814,-8.533 -8.533,-8.533 z m -8.534,34.134 h -68.267 v -17.067 h 68.267 z\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></g></g><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /><g transform=\\\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" /></svg>\"\n};","import { SettingsOptions } from './settings-options';\r\nimport { RenderParameters } from './render-parameters';\r\nimport {LanguageCode} from '@colijnit/ioneconnector/build/enum/language-code.enum';\r\n\r\nexport class ProductSettings {\r\n\r\n public url: string;\r\n public schema: string;\r\n public version: string;\r\n public branch: string;\r\n public currency: number;\r\n public username: string;\r\n public password: string;\r\n public session: any = undefined;\r\n public useGroups: boolean = true;\r\n public useRenders: boolean = false;\r\n public useLoginEncryption: boolean = true;\r\n public createWebOrder: boolean = true;\r\n public useMatch: boolean = false;\r\n public assetPath: string;\r\n public assetIndex: string;\r\n public currencySymbol: string = '€';\r\n public threeDAssetPath: string;\r\n public lightPresetsIndex: string;\r\n public additionalTranslationFile: string;\r\n public gtm: string;\r\n public client: string;\r\n public timeoutInMs: number;\r\n public languageCode: LanguageCode;\r\n public options: SettingsOptions = new SettingsOptions();\r\n public renderParameters: RenderParameters = new RenderParameters();\r\n}\r\n","export enum RenderModes {\r\n RenderRoom = 'render_room',\r\n RenderShop = 'render_shop',\r\n RenderIone = 'render_ione'\r\n}\r\n","import { RenderModes } from './render-modes';\r\n\r\nexport class RenderParameters {\r\n public host: string = \"\";\r\n public port: number = 0;\r\n public secure: boolean = false;\r\n public renderMode: RenderModes = RenderModes.RenderShop;\r\n}\r\n","export class SettingsOptions {\r\n public showStockStatus: boolean = false;\r\n public showZoomButton: boolean = false;\r\n public showTagFilter: boolean = false;\r\n public showAsConfigured: boolean = false;\r\n public inlineAnswers: boolean = false;\r\n public showArButton: boolean = false;\r\n\r\n public arEnabled: boolean = false;\r\n public vrEnabled: boolean = false;\r\n}\r\n","export class StockAndDelivery {\r\n\r\n public stock: number = 0;\r\n public deliveryDescription: string;\r\n\r\n constructor(stock?: any, deliveryDescription?: string) {\r\n this.stock = stock;\r\n this.deliveryDescription = deliveryDescription;\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\nimport { DictionaryService } from '../service/dictionary.service';\r\n\r\n@Pipe({\r\n name: 'localize'\r\n})\r\n// A pipe for localizing string values in view templates.\r\nexport class LocalizePipe implements PipeTransform {\r\n\r\n constructor(private _dictionaryService: DictionaryService) {}\r\n\r\n transform(value: string, upperCaseFirst: boolean = true, replace: string|string[] = []): string {\r\n if (!value) {\r\n return '';\r\n }\r\n replace = replace ? replace : [];\r\n if (!Array.isArray(replace)) {\r\n replace = [replace];\r\n }\r\n return this._dictionaryService.get(value, upperCaseFirst, ...replace);\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {LocalizePipe} from './localize.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n LocalizePipe\r\n ],\r\n providers: [\r\n LocalizePipe\r\n ],\r\n exports: [\r\n LocalizePipe\r\n ]\r\n})\r\nexport class PipeModule {\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { LanguageCode } from '../enum/language-code.enum';\r\nimport { JsonUtilsService } from '../utils/json-utils.service';\r\nimport { Dictionary } from '../../assets/dictionary/text.properties';\r\nimport {StringUtils} from '@colijnit/ioneconnector/build/utils/string-utils';\r\n\r\n// The localization service, providing peers with text translation functionality.\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DictionaryService {\r\n private readonly dictionaryUrl: string = 'js/browser/res/dictionary/';\r\n\r\n public get language(): string {\r\n return this._language;\r\n }\r\n\r\n public set rootUrl(value: string) {\r\n this._rootUrl = value;\r\n this._dictBasePath = this._rootUrl + '/' + this.dictionaryUrl;\r\n }\r\n\r\n // public dictionaryLoaded: Subject<void> = new Subject();\r\n\r\n private _dictBasePath: string;\r\n private _rootUrl: string;\r\n // private _dictionaryPromise: Map<LanguageCode, Promise<{ [key: string]: string }>> = new Map<LanguageCode, Promise<{ [key: string]: string }>>();\r\n private _dictionaries: Map<string, { [key: string]: string }> = new Map<string, { [key: string]: string }>();\r\n private _language: string;\r\n\r\n // Some dictionary values have one or more '|~' texts in them, meant to be replaced with client-side given texts.\r\n private readonly _placeholder: string = '|~';\r\n\r\n constructor(\r\n private _http: HttpClient,\r\n private _jsonUtils: JsonUtilsService\r\n ) {\r\n }\r\n\r\n // Loads the dictionary for given language in memory.\r\n public async setDictionary(language: string): Promise<void> {\r\n this._language = language || LanguageCode.Dutch;\r\n if (!this._dictionaries.has(this._language)) {\r\n const dictionary = new Dictionary();\r\n if (dictionary.strings[this._language.substr(0, 2).toLowerCase()] !== undefined) {\r\n this._dictionaries.set(this._language, dictionary.strings[this._language.substr(0, 2).toLowerCase()]);\r\n }\r\n }\r\n // if (!this._dictionaryPromise.has(language)) {\r\n // this._dictionaryPromise.set(language,\r\n // this._jsonUtils.readJsonFile(this._dictBasePath + 'text_' + language.substr(0, 2).toLowerCase() + '.properties.json')\r\n // .then((data: { [key: string]: string }) => {\r\n // this._dictionaries.set(language, data);\r\n // this.dictionaryLoaded.next();\r\n // return data;\r\n // })\r\n // // this._http.get(this._dictBasePath + 'text_' + language.substr(0, 2).toLowerCase() + '.properties.json')\r\n // // .toPromise().then((data: { [key: string]: string }) => {\r\n // // this._dictionaries.set(language, data);\r\n // // return data;\r\n // // })\r\n // );\r\n // } else {\r\n // this.dictionaryLoaded.next();\r\n // }\r\n // await this._dictionaryPromise.get(language);\r\n }\r\n\r\n /**\r\n * Returns the localized text for the given dictionary key.\r\n * @param {string} key\r\n * @param {boolean} [upperCaseFirst = true] False for first letter lowercase, true for first letter uppercase for returned dict val\r\n * @param {string[]} replacementTexts Rest params for replacement of '|~' in returned dict value\r\n * @returns {string} The translated text for given dictionary key\r\n */\r\n public get(key: string, upperCaseFirst: boolean = true, ...replacementTexts: string[]): string {\r\n if (!StringUtils.IsStringWithLength(key)) {\r\n return key || '';\r\n }\r\n\r\n let text: string = this._dictionaries.get(this.language)[key];\r\n text = StringUtils.IsStringWithLength(text) ? text : key;\r\n\r\n if (upperCaseFirst) {\r\n text = text.charAt(0).toUpperCase() + text.slice(1);\r\n } else {\r\n text = text.charAt(0).toLowerCase() + text.slice(1);\r\n }\r\n\r\n if (replacementTexts.length > 0) {\r\n text = StringUtils.ReplaceOccurrencesIn(text, this._placeholder, ...replacementTexts);\r\n }\r\n\r\n return text;\r\n }\r\n\r\n // private _dictionaryLoaded(language: LanguageCode): boolean {\r\n // return this._dictionaries.has(language);\r\n // }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { IconSvg } from '../model/icon';\r\nimport { IconEnum } from '../enum/icon.enum';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IconCacheService {\r\n /**\r\n * All the icons as a large JSON object, from the all-icons.json file.\r\n * The object has property keys that are the icon names, and property values with the data string of the actual svg icon.\r\n */\r\n public get iconCache(): { [iconName: string]: SafeHtml } {\r\n return this._iconCache;\r\n }\r\n\r\n private _iconCache: { [iconName: string]: SafeHtml } = {};\r\n\r\n private _allIcons: any;\r\n\r\n constructor(private _sanitizer: DomSanitizer) {\r\n this._allIcons = IconSvg;\r\n this.setIconCache();\r\n }\r\n\r\n public getIcon(iconName: IconEnum): SafeHtml {\r\n return this._iconCache[iconName.toLowerCase()];\r\n }\r\n\r\n public setIconCache(): void {\r\n for (const key in this._allIcons) {\r\n if (this._allIcons.hasOwnProperty(key)) {\r\n this._iconCache[key.toLowerCase()] = this._sanitizer.bypassSecurityTrustHtml(this._allIcons[key]);\r\n }\r\n }\r\n }\r\n}\r\n","import {Injectable, OnDestroy} from '@angular/core';\r\nimport {Subject} from 'rxjs';\r\nimport {ArticleFullObject} from '@colijnit/articleapi/build/model/article-full-object';\r\nimport {SuperArticle} from '@colijnit/articleapi/build/model/super-article';\r\nimport {ConfiguratorStatisticsEnvironment} from '@colijnit/articleapi/build/model/configurator-statistics-environment';\r\nimport {Articles} from '@colijnit/articleapi/build/articles';\r\nimport {Options} from '@colijnit/ioneconnector/build/model/options';\r\nimport {DataServiceResponseData} from '@colijnit/ioneconnector/build/model/data-service-response-data';\r\nimport {DeliveryPrognosis} from '@colijnit/articleapi/build/model/delivery-prognosis';\r\nimport {DocumentContent} from '@colijnit/articleapi/build/model/document-content';\r\nimport {BusinessObjectFactory} from '@colijnit/ioneconnector/build/service/business-object-factory';\r\nimport {Transaction} from '@colijnit/transactionapi/build/transaction';\r\nimport {ProductSettingsService} from './product-settings.service';\r\nimport {ProductSettings} from '../model/productSettings';\r\nimport {MainApi} from '@colijnit/mainapi';\r\nimport {TransactionInfoResponse} from '@colijnit/transactionapi/build/model/transaction-info-response.bo';\r\nimport {ArticleExtended} from '@colijnit/articleapi/build/model/article-extended.bo';\r\nimport {ArticleExtendedRequest} from '@colijnit/articleapi/build/model/article-extended-request';\r\n\r\n// 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.\r\n// Only to be used by the IOneControllerService.\r\n@Injectable()\r\nexport class ProductConnectorAdapterService implements OnDestroy {\r\n\r\n public readonly showLoader: Subject<boolean> = new Subject<boolean>();\r\n\r\n public articleConnector?: Articles;\r\n public transactionConnector: Transaction;\r\n\r\n private _boFactory: BusinessObjectFactory = new BusinessObjectFactory();\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.articleConnector.showLoader.unsubscribe();\r\n }\r\n\r\n public async initConnector(options: Options): Promise<void> {\r\n this.articleConnector = new Articles(options);\r\n await this.articleConnector.connect();\r\n this.transactionConnector = new Transaction(options);\r\n this.articleConnector.showLoader.subscribe(value => this.showLoader.next(value));\r\n }\r\n\r\n public setInstance(instanceId: string): void {\r\n // this.articleConnector.setInstanceToConfigure(instanceId, false);\r\n }\r\n\r\n public async getProductBundleSettings(url: string, upId: number): Promise<string> {\r\n const tempSettings: ProductSettings = new ProductSettings();\r\n tempSettings.url = url;\r\n tempSettings.schema = upId.toString();\r\n const tempMainConnector = new MainApi(tempSettings);\r\n const response: any = await tempMainConnector.getPublicParams(upId);\r\n if (response) {\r\n return response.productSettings;\r\n }\r\n return \"\";\r\n }\r\n\r\n public convertArticleFullObjectToArticleExtended(article: ArticleFullObject): ArticleExtended {\r\n if (article) {\r\n return this._boFactory.makeWithRawBackendData(ArticleExtended, article) as ArticleExtended;\r\n }\r\n }\r\n\r\n public async getDeliveryPrognosis(goodId: number, branchNr?: string): Promise<any> {\r\n const deliveryPrognosis: DeliveryPrognosis = await this.getSelectorDeliveryDate();\r\n if (!deliveryPrognosis || !deliveryPrognosis.returnValue) {\r\n return this.getDeliveryDate2(goodId);\r\n }\r\n return deliveryPrognosis;\r\n }\r\n\r\n public async getSelectorDeliveryDate(): Promise<DeliveryPrognosis> {\r\n const response: DataServiceResponseData = await this.articleConnector.getSelectorDeliveryDate();\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return this._boFactory.makeWithRawBackendData(DeliveryPrognosis, response.resultObject) as unknown as DeliveryPrognosis;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n public async getArtStockStatus(goodId: number): Promise<number> {\r\n const response: DataServiceResponseData = await this.articleConnector.getArtStockStatus(goodId);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return response.resultObject;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n public async getDeliveryDate2(goodId: number): Promise<DeliveryPrognosis> {\r\n const response: DataServiceResponseData = await this.articleConnector.getDeliveryDate2(goodId);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return this._boFactory.makeWithRawBackendData(DeliveryPrognosis, response.resultObject) as unknown as DeliveryPrognosis;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n public async getJsonConfiguredArticles(configuratorStatistics?: ConfiguratorStatisticsEnvironment): Promise<string> {\r\n const response: DataServiceResponseData = await this.articleConnector.getJsonConfiguredArticles(configuratorStatistics);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return response.resultObject;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n public async getJsonArticleFlatTree(\r\n goodId: number,\r\n goodType: string,\r\n quantity: number,\r\n showLoader: boolean = true,\r\n instanceId?: any,\r\n configuratorStatistics?: ConfiguratorStatisticsEnvironment\r\n ): Promise<string> {\r\n return this.articleConnector.getJsonArticleFlatTree(goodId, goodType, quantity, showLoader, instanceId, configuratorStatistics);\r\n }\r\n\r\n public async getGoodIdFromArticleNr(sku: string): Promise<number> {\r\n const response: DataServiceResponseData = await this.articleConnector.getGoodIdFromArticleNr(sku);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return response.resultObject;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n public async getArticleFullObject(goodId: number): Promise<ArticleFullObject> {\r\n const response: DataServiceResponseData = await this.articleConnector.getArticleFullObject(goodId);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return this._boFactory.makeWithRawBackendData(ArticleFullObject, response.resultObject) as ArticleFullObject;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n public async getSuperArticle(id: string, branch?: string): Promise<SuperArticle> {\r\n const response: DataServiceResponseData = await this.articleConnector.getSuperArticleQuickSel(id, branch);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return this._boFactory.makeWithRawBackendData(SuperArticle, response.resultObject) as SuperArticle;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n public async getDocumentContent(docId: number, thumbnail: boolean = true): Promise<DocumentContent> {\r\n const response: DataServiceResponseData = await this.articleConnector.getDocumentContent(docId, thumbnail);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return this._boFactory.makeWithRawBackendData(DocumentContent, response.resultObject) as unknown as DocumentContent;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n public async addWebSessionTransactionLine(transactionUuid: string, sku: string, quantity: number): Promise<string> {\r\n const response: DataServiceResponseData = await this.transactionConnector.addWebSessionTransactionLine(transactionUuid, sku, quantity);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n const infoResponse: TransactionInfoResponse = this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject) as TransactionInfoResponse;\r\n return infoResponse.transactionInfo.uuid;\r\n }\r\n return \"\";\r\n }\r\n}\r\n","import {Injectable, OnDestroy} from '@angular/core';\r\nimport {BehaviorSubject, Subscription} from 'rxjs';\r\nimport {Options} from '@colijnit/ioneconnector/build/model/options';\r\n\r\nimport {ProductConnectorAdapterService} from './product-connector-adapter.service';\r\nimport {ArticleFullObject} from '@colijnit/articleapi/build/model/article-full-object';\r\nimport {SuperArticle} from '@colijnit/articleapi/build/model/super-article';\r\nimport {ProductSettingsService} from './product-settings.service';\r\nimport {ProductSettings} from '../model/productSettings';\r\nimport {ConfiguratorStatisticsEnvironment} from '@colijnit/articleapi/build/model/configurator-statistics-environment';\r\nimport {DeliveryPrognosis} from '@colijnit/articleapi/build/model/delivery-prognosis';\r\nimport {DocumentContent} from '@colijnit/articleapi/build/model/document-content';\r\nimport {DataServiceResponseData} from '@colijnit/ioneconnector/build/model/data-service-response-data';\r\nimport {ArticleExtended} from '@colijnit/articleapi/build/model/article-extended.bo';\r\n\r\n// Holds all iONE backend related state and methods for a running HomeDecorator. To be used anywhere internally.\r\n@Injectable()\r\nexport class ProductConnectorService implements OnDestroy {\r\n\r\n public get shouldShowLoader(): boolean {\r\n return this._shouldShowLoader;\r\n }\r\n\r\n public controllerInitialized: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\r\n\r\n private _shouldShowLoader: boolean;\r\n private _initializing = false;\r\n private _initialized = false;\r\n private _instanceId: string;\r\n\r\n private connectorOptions: Options = new Options();\r\n\r\n private readonly subs: Subscription[] = [];\r\n\r\n constructor(\r\n private _adapterService: ProductConnectorAdapterService,\r\n private _settingsService: ProductSettingsService\r\n ) {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subs.forEach(sub => sub.unsubscribe());\r\n }\r\n\r\n public async initConnection(): Promise<void> {\r\n if (this._initialized || this._initializing) {\r\n return;\r\n }\r\n this._initializing = true;\r\n try {\r\n const settings: ProductSettings = this._settingsService.settings;\r\n if (!settings) {\r\n throw Error('Settings are not defined!');\r\n }\r\n this.connectorOptions = Object.assign(new Options(), settings);\r\n\r\n await this._adapterService.initConnector(this.connectorOptions);\r\n this.controllerInitialized.next(true);\r\n this._initialized = true;\r\n this._initializing = false;\r\n } catch (e) {\r\n this._initializing = false;\r\n }\r\n }\r\n\r\n public async getProductBundleSettings(url: string, upId: number): Promise<string> {\r\n return this._adapterService.getProductBundleSettings(url, upId);\r\n }\r\n\r\n public setInstance(instanceId: string): void {\r\n this._instanceId = instanceId;\r\n this._adapterService.setInstance(instanceId);\r\n }\r\n\r\n public convertArticleFullObjectToArticleExtended(article: ArticleFullObject): ArticleExtended {\r\n return this._adapterService.convertArticleFullObjectToArticleExtended(article);\r\n }\r\n\r\n public async getFullArticle(sku: string): Promise<ArticleFullObject> {\r\n const goodId: number = await this._adapterService.getGoodIdFromArticleNr(sku);\r\n if (goodId) {\r\n return this._adapterService.getArticleFullObject(goodId);\r\n }\r\n return null;\r\n }\r\n\r\n public getDocumentContent(docId: number, thumbnail: boolean = true): Promise<DocumentContent> {\r\n return this._adapterService.getDocumentContent(docId, thumbnail);\r\n }\r\n\r\n public getDeliveryPrognosis(goodId: number): Promise<DeliveryPrognosis> {\r\n return this._adapterService.getDeliveryPrognosis(goodId);\r\n }\r\n\r\n public async getSelectorDeliveryDate(): Promise<DeliveryPrognosis> {\r\n return this._adapterService.getSelectorDeliveryDate();\r\n }\r\n\r\n public getArtStockStatus(goodId: number): Promise<number> {\r\n return this._adapterService.getArtStockStatus(goodId);\r\n }\r\n\r\n public getDeliveryDate2(goodId: number): Promise<DeliveryPrognosis> {\r\n return this._adapterService.getDeliveryDate2(goodId);\r\n }\r\n\r\n public getSuperArticle(id: string): Promise<SuperArticle> {\r\n return this._adapterService.getSuperArticle(id);\r\n }\r\n\r\n public getJsonArticleFlatTree(\r\n goodId: number,\r\n goodType: string,\r\n quantity: number,\r\n showLoader: boolean = true,\r\n configuratorStatistics?: ConfiguratorStatisticsEnvironment): Promise<string> {\r\n return this._adapterService.getJsonArticleFlatTree(goodId, goodType, quantity, showLoader, this._instanceId, configuratorStatistics);\r\n }\r\n\r\n public async addWebSessionTransactionLine(transactionUuid: string, sku: string, quantity: number): Promise<string> {\r\n return await this._adapterService.addWebSessionTransactionLine(transactionUuid, sku, quantity);\r\n }\r\n\r\n public onShowLoaderChange(showLoader: boolean): void {\r\n this._shouldShowLoader = showLoader;\r\n }\r\n}\r\n","import {Directive, Injectable, Output} from '@angular/core';\r\nimport {Subject} from 'rxjs';\r\nimport {ArticleListObject} from '@colijnit/articleapi/build/model/article-list-object';\r\nimport {Selection} from '@colijnit/articleapi/build/model/selection';\r\nimport {ArticleQuickSel} from '@colijnit/articleapi/build/model/article-quick-sel';\r\nimport {ArticleExtended} from '@colijnit/articleapi/build/model/article-extended.bo';\r\n\r\n@Directive()\r\n@Injectable()\r\nexport class ProductEventService {\r\n\r\n @Output()\r\n public onAddToCart: Subject<{ article: string | ArticleExtended, quantity: number }> = new Subject<{ article: string | ArticleExtended, quantity: number }>();\r\n\r\n @Output()\r\n public onAlternativeClick: Subject<ArticleListObject> = new Subject<ArticleListObject>();\r\n\r\n @Output()\r\n public onAddToQuote: Subject<string> = new Subject<string>();\r\n\r\n @Output()\r\n public onForceRenderImage: Subject<void> = new Subject<void>();\r\n\r\n public onArticleReceived: Subject<ArticleQuickSel> = new Subject<ArticleQuickSel>();\r\n\r\n public onSelectionsReceived: Subject<Selection[]> = new Subject<Selection[]>();\r\n\r\n public onImageReceived: Subject<string> = new Subject<string>();\r\n\r\n public onRenderStarted: Subject<void> = new Subject<void>();\r\n\r\n public onRenderImageReceived: Subject<string> = new Subject<string>();\r\n\r\n public onDraftRenderImageReceived: Subject<string> = new Subject<string>();\r\n\r\n public onArticleInfoReceived: Subject<string> = new Subject<string>();\r\n\r\n public onUpdateProductInfoTab: Subject<number> = new Subject<number>();\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { JsonUtilsService } from '../utils/json-utils.service';\r\nimport { DictionaryService } from './dictionary.service';\r\nimport { ProductSettings } from '../model/productSettings';\r\nimport { SettingsOptions } from '../model/settings-options';\r\n\r\ndeclare let settings: any;\r\n\r\n@Injectable()\r\nexport class ProductSettingsService {\r\n\r\n public set settings(value: ProductSettings) {\r\n this._settings = value;\r\n }\r\n\r\n public get settings(): ProductSettings {\r\n return this._settings;\r\n }\r\n\r\n public settingsLoaded: BehaviorSubject<boolean> = new BehaviorSubject(false);\r\n\r\n private _settings: ProductSettings;\r\n\r\n constructor(\r\n private _jsonUtilsService: JsonUtilsService,\r\n private _dictionaryService: DictionaryService\r\n ) {\r\n }\r\n\r\n public async initializeSettings(finish: boolean = true): Promise<void> {\r\n // see if there's a json file for application settings\r\n if (typeof settings === 'undefined') {\r\n const jsonSettings = await this._jsonUtilsService.readJsonFile('product-settings.json');\r\n if (jsonSettings) {\r\n this.settings = Object.assign(new ProductSettings(), jsonSettings);\r\n this.settings.options = Object.assign(new SettingsOptions(), this.settings.options);\r\n if (finish) {\r\n this.settingsFinished();\r\n }\r\n }\r\n } else {\r\n this.settings = Object.assign(new ProductSettings(), settings);\r\n this.settings.options = Object.assign(new SettingsOptions(), this.settings.options);\r\n if (finish) {\r\n this.settingsFinished();\r\n }\r\n }\r\n }\r\n\r\n public async createSettingsFromObject(obj: any): Promise<void> {\r\n if (!this.settings) {\r\n this.settings = new ProductSettings();\r\n }\r\n const ownOptions = Object.assign({}, this.settings.options);\r\n const ownRenderParameters = Object.assign({}, this.settings.renderParameters);\r\n this.settings = Object.assign({}, this.settings, obj);\r\n if (obj.renderParameters) {\r\n this.settings.renderParameters = Object.assign({}, ownRenderParameters, obj.renderParameters);\r\n }\r\n if (obj.options) {\r\n this.settings.options = Object.assign({}, ownOptions, obj.options);\r\n }\r\n if (obj.hasOwnProperty('assetPath')) {\r\n this.settings.assetPath = obj['assetPath'];\r\n if (this.settings.assetPath[this.settings.assetPath.length - 1] !== '/') {\r\n this.settings.assetPath += '/';\r\n }\r\n this.settings.threeDAssetPath = this.settings.assetPath;\r\n }\r\n if (obj.hasOwnProperty('threeDAssetPath')) {\r\n this.settings.threeDAssetPath = obj['threeDAssetPath'];\r\n if (this.settings.threeDAssetPath[this.settings.threeDAssetPath.length - 1] !== '/') {\r\n this.settings.threeDAssetPath += '/';\r\n }\r\n }\r\n this.settingsFinished();\r\n }\r\n\r\n public async settingsFinished(): Promise<void> {\r\n await this._dictionaryService.setDictionary(this.settings.languageCode);\r\n this.settingsLoaded.next(true);\r\n }\r\n}\r\n","export class BitUtils {\r\n\r\n public static IsShortDescription(bit: number): boolean {\r\n return (1 & bit) > 0;\r\n }\r\n\r\n public static IsFullDescription(bit: number): boolean {\r\n return (2 & bit) > 0;\r\n }\r\n\r\n public static IsMetaTitle(bit: number): boolean {\r\n return (4 & bit) > 0;\r\n }\r\n\r\n public static IsMetaDescription(bit: number): boolean {\r\n return (8 & bit) > 0;\r\n }\r\n\r\n public static IsMetaKeys(bit: number): boolean {\r\n return (16 & bit) > 0;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class JsonUtilsService {\r\n\r\n public async readJsonFile(filePath: string): Promise<any> {\r\n try {\r\n const response = await fetch(filePath);\r\n if (!response.ok) {\r\n return null;\r\n } else {\r\n return response.json();\r\n }\r\n } catch (e) {\r\n console.error('Error getting file:', e.message);\r\n return '';\r\n }\r\n }\r\n}\r\n","export class Dictionary {\r\n\r\n public strings: {} = {\r\n \"nl\": {\r\n \"ADDITIONAL_DATA\": \"Extra informatie\",\r\n \"ALTERNATIVE_PRODUCTS\": \"Alternatieve producten\",\r\n \"ARTICLE_NUMBER\": \"Artikel nummer\",\r\n \"CATEGORY\": \"Categorie\",\r\n \"CATEGORY_TYPE\": \"Categorie type\",\r\n \"CONFIGURE\": \"Configureren\",\r\n \"DELIVERY_TIME_PERIOD\": \"Levertijd\",\r\n \"DESCRIPTION\": \"Omschrijving\",\r\n \"DOCUMENTS\": \"Documenten\",\r\n \"DOWNLOADS\": \"Downloads\",\r\n \"FEATURES\": \"Kenmerken\",\r\n \"HEIGHT\": \"Hoogte\",\r\n \"MATERIAL\": \"Materiaal\",\r\n \"PRODUCT_IN_STOCK\": \"Op voorraad\",\r\n \"PRODUCT_LIMITED_STOCK\": \"Beperkt op voorraad\",\r\n \"PRODUCT_NOT_IN_STOCK\": \"Niet op voorraad\",\r\n \"PROPERTIES\": \"Eigenschappen\",\r\n \"QUOTATION\": \"Quotatie\",\r\n \"READ_MORE\": \"Lees meer\",\r\n \"RELATED_PRODUCTS\": \"Gerelateerde producten\",\r\n \"SHOPPING_CART_IN\": \"In winkelwagen\",\r\n \"SHOW_IN\": \"Laat zien\",\r\n \"STOCK\": \"Voorraad\",\r\n \"SYMBOLS\": \"Symbolen\",\r\n \"TITLE\": \"Titel\",\r\n \"TURNOVERGROUP\": \"Omzetgroep\",\r\n \"VARIANTS\": \"Varianten\",\r\n \"WIDTH\": \"Breedte\"\r\n },\r\n \"de\": {\r\n \"ADDITIONAL_DATA\": \"Extra informatie\",\r\n \"ALTERNATIVE_PRODUCTS\": \"Alternative Produkte\",\r\n \"ARTICLE_NUMBER\": \"Artikelnummer\",\r\n \"CATEGORY\": \"Kategorie\",\r\n \"CATEGORY_TYPE\": \"Kategorietype\",\r\n \"CONFIGURE\": \"Konfigurieren\",\r\n \"DELIVERY_TIME_PERIOD\": \"Lieferzeit\",\r\n \"DESCRIPTION\": \"Beschreibung\",\r\n \"DOCUMENTS\": \"Dateien\",\r\n \"DOWNLOADS\": \"Downloads\",\r\n \"FEATURES\": \"Eigenschaften\",\r\n \"HEIGHT\": \"Höhe\",\r\n \"MATERIAL\": \"Material\",\r\n \"PRODUCT_IN_STOCK\": \"Auf lager\",\r\n \"PRODUCT_LIMITED_STOCK\": \"Begrentzt auf lager\",\r\n \"PRODUCT_NOT_IN_STOCK\": \"Nicht auf lager\",\r\n \"PROPERTIES\": \"Eigenschaften\",\r\n \"QUOTATION\": \"Angebot\",\r\n \"READ_MORE\": \"Lesen Sie mehr\",\r\n \"RELATED_PRODUCTS\": \"Verwandte Produkte\",\r\n \"SHOPPING_CART_IN\": \"Im Einkaufswagen\",\r\n \"SHOW_IN\": \"Zeigen\",\r\n \"STOCK\": \"Vorrat\",\r\n \"SYMBOLS\": \"Symbole\",\r\n \"TITLE\": \"Titulatur\",\r\n \"TURNOVERGROUP\": \"Umsatzgruppe\",\r\n \"VARIANTS\": \"Varianten\",\r\n \"WIDTH\": \"Breite\"\r\n }\r\n };\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { environment } from './environments/environment';\nimport { IoneProductModule } from './app/ione-product.module';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(IoneProductModule)\n .catch(err => console.error(err));\n"],"names":[],"sourceRoot":"webpack:///"}