{"version":3,"sources":["archive/product/variant-selector-provider/rel-images-tiles-variant-selector-v2.ts"],"names":["html","repeat","ProductApi","TilesVariantSelectorBaseWithLitHtmlRendering","_","window","RelImagesTilesVariantSelectorV2Outlet","constructor","this","_productApi","template","variantSelectorData","variants","length","labels","select","variantTypeName","variant","id","image","thumbnailUrl","title","thumbnailDisplayWidth","thumbnailDisplayHeight","defaultArchiveImage","thumbnailImage","width","height","name","initialize","selectorContainerElement","product","variantTypeId","translations","showPricesInclVat","self","super","getVariantsShortInfo","productId","then","_variantsShortInfo","variantsShortInfo","_proccessOutletVariants","getDataBeforeRender","result","variantType","toLowerCase","sortVariants","get","changeSelection","thumbnailImageWidth","thumbnailImageMode","relatedImages","each","variantName","normalize","variantNameRegex","RegExp","variantRelImageMatchRegExp","replace","relatedImage","find","relImg","imageName","test","processAfterRender","_regularCaptionDivElement","querySelector","style","display","_regularSelectorDivElement","_outletCaptionDivElement","_outletSelectorDivElement","_isOutlet","variantId","variantShortInfoList","some","v","variantValues","value","isOutlet","_isOutletVariantsExists","removeProperty","querySelectorAll","forEach","parseInt","variantButton","getAttribute","outletVariantButton","removeChild","appendChild"],"mappings":"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","file":"rel-images-tiles-variant-selector-v2.js","sourcesContent":["import { html, nothing } from '../../../node_modules/lit-html/lit-html.js';\nimport { repeat } from '../../../node_modules/lit-html/directives/repeat.js';\nimport { ProductApi } from '../../../api/archive/product/product-api.js';\nimport { IVariantShortInfo } from '../../../api/archive/product/interfaces/i-variant-short-info.js';\nimport { IVariantShortInfoResponse } from '../../../api/archive/product/interfaces/i-variant-short-info-response.js';\nimport { TilesVariantSelectorBaseWithLitHtmlRendering } from \"./tiles-variant-selector-base.js\";\nimport { IVariantProduct } from './variant-selector-base.js';\n\nconst _ = window._;\n\nexport class RelImagesTilesVariantSelectorV2Outlet extends TilesVariantSelectorBaseWithLitHtmlRendering {\n private _productApi: ProductApi = new ProductApi();\n private _variantsShortInfo: IVariantShortInfoResponse;\n private _regularCaptionDivElement: HTMLDivElement;\n private _regularSelectorDivElement: HTMLDivElement;\n private _outletCaptionDivElement: HTMLDivElement;\n private _outletSelectorDivElement: HTMLDivElement;\n\n public initialize(selectorContainerElement: HTMLElement, product: any, variantTypeId: number, translations: Map, showPricesInclVat: boolean): void {\n const self = this;\n super.initialize(selectorContainerElement, product, variantTypeId, translations ,showPricesInclVat);\n\n this._productApi.getVariantsShortInfo(product.productId).then((variantsShortInfo) => {\n self._variantsShortInfo = variantsShortInfo;\n self._proccessOutletVariants();\n });\n }\n\n protected template = () => html`\n
\n \n
\n
\n ${repeat(this.variantSelectorData.variants, (variant: IVariantProduct) => html`\n \n `)}\n
\n
\n \n \n
\n
\n
\n `;\n\n protected getDataBeforeRender() {\n const self = this;\n\n const result = {\n variantTypeName: this.variantType.name.toLowerCase(),\n variants: this.sortVariants(this.selectorContainerElement, this.variantType.variants, this.product),\n labels: { select: this.translations.get('selectVariantPrefix'), changeSelection: this.translations.get('changeSelectionVariantPrefix') },\n defaultArchiveImage: '\\\\viewimage.aspx?imageid=0&width=' + this.product.thumbnailImageWidth + '&' + this.product.thumbnailImageMode,\n thumbnailImage: {\n width: this.product.thumbnailImageWidth,\n height: this.product.thumbnailImageWidth\n }\n };\n\n if (this.product.relatedImages && this.product.relatedImages.length > 0) {\n _.each(result.variants, function (variant: any) {\n const variantName = typeof (variant.name.normalize) === 'function' ? variant.name.normalize() : variant.name;\n const variantNameRegex = RegExp(self.product.variantRelImageMatchRegExp.replace('VARIANTNAME', variantName), 'gi');\n\n var relatedImage = _.find(self.product.relatedImages, function (relImg) {\n var imageName = typeof (relImg.title.normalize) === 'function' ? relImg.title.normalize() : relImg.title;\n return variantNameRegex.test(imageName);\n });\n\n if (relatedImage) {\n variant.image = relatedImage;\n }\n });\n }\n\n return result;\n }\n\n protected processAfterRender(): void {\n super.processAfterRender();\n\n this._regularCaptionDivElement = this.selectorContainerElement.querySelector('.ts-regular-caption') as HTMLDivElement;\n this._regularCaptionDivElement.style.display = 'none';\n this._regularSelectorDivElement = this.selectorContainerElement.querySelector('.ts-regular-selector') as HTMLDivElement;\n this._regularSelectorDivElement.style.display = 'none';\n this._outletCaptionDivElement = this.selectorContainerElement.querySelector('.ts-outlet-caption') as HTMLDivElement;\n this._outletCaptionDivElement.style.display = 'none';\n this._outletSelectorDivElement = this.selectorContainerElement.querySelector('.ts-outlet-selector') as HTMLDivElement;\n this._outletSelectorDivElement.style.display = 'none';\n }\n\n private _isOutlet(variantId: number): boolean {\n if(!this._variantsShortInfo || this._variantsShortInfo.variantShortInfoList.length === 0){\n return false;\n }\n\n return this._variantsShortInfo.variantShortInfoList.some((v: IVariantShortInfo) => v.variantValues.some(value => value === variantId) && v.isOutlet);\n }\n\n private _isOutletVariantsExists(): boolean {\n if(!this._variantsShortInfo || this._variantsShortInfo.variantShortInfoList.length === 0){\n return false;\n }\n\n return this._variantsShortInfo.variantShortInfoList.some((v: IVariantShortInfo) => v.isOutlet);\n }\n\n private _proccessOutletVariants() {\n this._regularCaptionDivElement.style.removeProperty('display');\n this._regularSelectorDivElement.style.removeProperty('display');\n\n if(!this._isOutletVariantsExists()){\n this.selectorContainerElement.removeChild(this._outletCaptionDivElement);\n this.selectorContainerElement.removeChild(this._outletSelectorDivElement);\n return;\n }\n\n this._regularSelectorDivElement.querySelectorAll('button').forEach((variantButton: HTMLButtonElement) => {\n const variantId = parseInt(variantButton.getAttribute('data-variantid'));\n if(this._isOutlet(variantId)){\n const outletVariantButton = this._regularSelectorDivElement.removeChild(variantButton);\n this._outletSelectorDivElement.appendChild(outletVariantButton);\n }\n });\n\n this._outletCaptionDivElement.style.removeProperty('display');\n this._outletSelectorDivElement.style.removeProperty('display');\n }\n}\n"]}