{"version":3,"sources":["archive/product/variant-selector-provider/tiles-variant-selector-v2.ts"],"names":["html","repeat","ProductApi","TilesVariantSelectorBaseWithLitHtmlRendering","$","window","jQuery","TilesVariantSelectorV2Outlet","constructor","this","_productApi","template","variantSelectorData","variants","length","labels","select","variantTypeName","variant","id","name","initialize","selectorContainerElement","product","variantTypeId","translations","showPricesInclVat","self","super","getVariantsShortInfo","productId","then","_variantsShortInfo","variantsShortInfo","_proccessOutletVariants","getDataBeforeRender","variantType","toLowerCase","sortVariants","get","changeSelection","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":"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 { 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';\nimport { IVariantShortInfo } from '../../../api/archive/product/interfaces/i-variant-short-info.js';\n\nconst $ = window.jQuery;\n\nexport class TilesVariantSelectorV2Outlet 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 return {\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 };\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"]}