{"version":3,"file":"factFinderNgFacetFragment-CIrlUR3D.js","sources":["../../src/components/search-fact-finder-fi/technicalFacets.js","../../src/components/search-fact-finder-fi/mergeFacets.js"],"sourcesContent":["// these should not be visible to the user\nexport default [\n 'Type',\n 'CategoryPathName',\n 'CategoryPathNameId',\n 'CategoryPathId',\n 'ValidFrom',\n 'ValidUntil',\n 'ProductGroup',\n 'FamilyPage',\n 'Documenttype',\n '3D-CAD Modell_B',\n 'Inhalt_A',\n 'GTIN (EAN-Code)_A',\n 'Menge_A',\n 'Preis_N',\n];\n","import technicalFacets from './technicalFacets';\n\nexport default (unselectedGroups, groups, baseFacets, activeFilters = []) => {\n const nonTechnicalBaseFacets = (baseFacets || []).filter(\n (group) => !technicalFacets.includes(group.associatedFieldName),\n );\n const allGroups = nonTechnicalBaseFacets.map((baseFacet) => {\n const updatedFacet =\n (unselectedGroups || []).find((item) => item?.name === baseFacet.name) ||\n (groups || []).find((item) => item?.name === baseFacet.name);\n\n let hasEnabledElements = false;\n let hidden = false;\n const elements = (baseFacet.elements || baseFacet.values).map((baseElement) => {\n const { associatedFieldName } = baseFacet;\n\n const element = {\n ...baseElement,\n disabled: true,\n selected: false,\n selectedBool: false,\n recordCount: null,\n totalHits: null,\n associatedFieldName,\n };\n\n const activeFilter = activeFilters.find((filter) => {\n const filterName = filter.fakeValue || filter.name;\n return (\n filter.associatedFieldName === associatedFieldName &&\n (filterName === baseElement.name ||\n filterName === baseElement.text ||\n filter.selectedMaxValue)\n );\n });\n const updatedElement = updatedFacet?.elements.find(\n (facetElement) =>\n (facetElement.text && facetElement.text === baseElement.text) ||\n facetElement.absoluteMaxValue,\n );\n if (updatedElement) {\n const isSingleValueRange =\n !updatedElement.selectedBool &&\n updatedElement.absoluteMaxValue !== null &&\n (updatedElement.absoluteMaxValue === updatedElement.absoluteMinValue || // single value range (eg. minValue = 5 && maxValue = 5\n ((!Number.isInteger(updatedElement.absoluteMinValue) ||\n !Number.isInteger(updatedElement.absoluteMaxValue)) &&\n Math.ceil(updatedElement.absoluteMaxValue) <=\n Math.floor(updatedElement.absoluteMinValue) + 1)); // fraction facets when min and max are within 1, eg. min: 2.3 max: 2.8 -> hidden\n\n if (isSingleValueRange) {\n hidden = true;\n }\n\n if (baseFacet.type === 'FLOAT' || baseFacet.type === 'INTEGER') {\n element.absoluteMaxValue = updatedElement.absoluteMaxValue;\n element.absoluteMinValue = updatedElement.absoluteMinValue;\n element.selectedMaxValue = updatedElement.selectedMaxValue;\n element.selectedMinValue = updatedElement.selectedMinValue;\n }\n\n element.recordCount = updatedElement.recordCount;\n element.totalHits = updatedElement.totalHits;\n element.disabled = isSingleValueRange;\n hasEnabledElements = hasEnabledElements || !isSingleValueRange;\n }\n if (activeFilter) {\n element.selected = true;\n element.selectedBool = true;\n element.disabled = false;\n hasEnabledElements = true;\n if (baseFacet.type === 'FLOAT' || baseFacet.type === 'INTEGER') {\n const srcElement = updatedElement || baseElement;\n element.absoluteMaxValue = srcElement.absoluteMaxValue;\n element.absoluteMinValue = srcElement.absoluteMinValue;\n element.selectedMaxValue = activeFilter.selectedMaxValue;\n element.selectedMinValue = activeFilter.selectedMinValue;\n }\n }\n\n return element;\n });\n\n return {\n ...baseFacet,\n elements,\n disabled: !hasEnabledElements,\n hidden,\n };\n });\n\n // workaround FF bug\n return allGroups.filter((filter) => !filter.hidden);\n};\n"],"names":["technicalFacets","mergeFacets","unselectedGroups","groups","baseFacets","activeFilters","group","baseFacet","updatedFacet","item","hasEnabledElements","hidden","elements","baseElement","associatedFieldName","element","activeFilter","filter","filterName","updatedElement","facetElement","isSingleValueRange","srcElement"],"mappings":"AACA,MAAeA,EAAA,CACb,OACA,mBACA,qBACA,iBACA,YACA,aACA,eACA,aACA,eACA,kBACA,WACA,oBACA,UACA,SACF,ECdeC,EAAA,CAACC,EAAkBC,EAAQC,EAAYC,EAAgB,CAAA,KACpCD,GAAc,CAAA,GAAI,OAC/CE,GAAU,CAACN,EAAgB,SAASM,EAAM,mBAAmB,CAClE,EAC2C,IAAKC,GAAc,CAC1D,MAAMC,GACHN,GAAoB,CAAE,GAAE,KAAMO,IAASA,GAAA,YAAAA,EAAM,QAASF,EAAU,IAAI,IACpEJ,GAAU,IAAI,KAAMM,IAASA,GAAA,YAAAA,EAAM,QAASF,EAAU,IAAI,EAE7D,IAAIG,EAAqB,GACrBC,EAAS,GACb,MAAMC,GAAYL,EAAU,UAAYA,EAAU,QAAQ,IAAKM,GAAgB,CAC7E,KAAM,CAAE,oBAAAC,CAAqB,EAAGP,EAE1BQ,EAAU,CACd,GAAGF,EACH,SAAU,GACV,SAAU,GACV,aAAc,GACd,YAAa,KACb,UAAW,KACX,oBAAAC,CACR,EAEYE,EAAeX,EAAc,KAAMY,GAAW,CAClD,MAAMC,EAAaD,EAAO,WAAaA,EAAO,KAC9C,OACEA,EAAO,sBAAwBH,IAC9BI,IAAeL,EAAY,MAC1BK,IAAeL,EAAY,MAC3BI,EAAO,iBAEnB,CAAO,EACKE,EAAiBX,GAAA,YAAAA,EAAc,SAAS,KAC3CY,GACEA,EAAa,MAAQA,EAAa,OAASP,EAAY,MACxDO,EAAa,kBAEjB,GAAID,EAAgB,CAClB,MAAME,EACJ,CAACF,EAAe,cAChBA,EAAe,mBAAqB,OACnCA,EAAe,mBAAqBA,EAAe,mBAChD,CAAC,OAAO,UAAUA,EAAe,gBAAgB,GACjD,CAAC,OAAO,UAAUA,EAAe,gBAAgB,IACjD,KAAK,KAAKA,EAAe,gBAAgB,GACvC,KAAK,MAAMA,EAAe,gBAAgB,EAAI,GAElDE,IACFV,EAAS,KAGPJ,EAAU,OAAS,SAAWA,EAAU,OAAS,aACnDQ,EAAQ,iBAAmBI,EAAe,iBAC1CJ,EAAQ,iBAAmBI,EAAe,iBAC1CJ,EAAQ,iBAAmBI,EAAe,iBAC1CJ,EAAQ,iBAAmBI,EAAe,kBAG5CJ,EAAQ,YAAcI,EAAe,YACrCJ,EAAQ,UAAYI,EAAe,UACnCJ,EAAQ,SAAWM,EACnBX,EAAqBA,GAAsB,CAACW,CAC7C,CACD,GAAIL,IACFD,EAAQ,SAAW,GACnBA,EAAQ,aAAe,GACvBA,EAAQ,SAAW,GACnBL,EAAqB,GACjBH,EAAU,OAAS,SAAWA,EAAU,OAAS,WAAW,CAC9D,MAAMe,EAAaH,GAAkBN,EACrCE,EAAQ,iBAAmBO,EAAW,iBACtCP,EAAQ,iBAAmBO,EAAW,iBACtCP,EAAQ,iBAAmBC,EAAa,iBACxCD,EAAQ,iBAAmBC,EAAa,gBACzC,CAGH,OAAOD,CACb,CAAK,EAED,MAAO,CACL,GAAGR,EACH,SAAAK,EACA,SAAU,CAACF,EACX,OAAAC,CACN,CACA,CAAG,EAGgB,OAAQM,GAAW,CAACA,EAAO,MAAM;;;;;;;;;;;;;;;"}