{"version":3,"sources":["webpack:///./src/js/modules/coveo/components/category-facet.js","webpack:///./src/js/modules/coveo/modules/document-tab-listing/DocumentTabListing.js","webpack:///./src/js/modules/coveo/modules/document-tab-listing/DocumentTabListingContext.js","webpack:///./src/js/modules/coveo/modules/document-tab-listing/index.js"],"names":["CategoryFacet","props","controller","labels","sortedFacets","numberOfValues","initialCategoriesCount","state","setState","useState","expanded","setExpanded","hideCount","setHideCount","firstLoad","setFirstLoad","facetList","useRef","facetListHeight","setFacetListHeight","sortedValues","setSortedValues","showMore","setShowMore","showLess","setShowLess","categoriesCount","setCategoriesCount","useEffect","subscribe","handleShowMore","handleShowLess","handleCollapseEvent","_a","_b","selected","values","find","value","length","parents","sortFiltersBySitecore","resizeFacetHeight","current","height","offsetHeight","window","addEventListener","handleDeselectFacetTree","removeEventListener","e","toggleSelect","detail","getUniqueKeyForValue","path","join","clickableTreeFacet","parent","React","className","key","data-expanded","onClick","handleClickableTreeFacetClick","numberOfResults","aria-label","title","aria-expanded","aria-controls","role","viewBox","width","xlinkHref","id","style","ref","deselectAll","categoryFacetAllCategories","_c","map","index","Fragment","CoveoListing","fieldsToInclude","Controllers","headlessEngine","engine","resultTemplatesManager","fields","JSON","parse","fieldTree","localization","coveoConfig","coveo","searchFields","toggleFilter","setToggleFilter","relatedProducts","relatedSystem","fieldsControllers","setFieldControllers","initialCriterion","criteria","buildSort","initialState","criterion","field","buildCategoryFacet","options","delimitingCharacter","filterFacetCount","fieldId","buildFacet","logInterfaceLoad","loadSearchAnalyticsActions","setPipeline","loadPipelineActions","executeSearch","loadSearchActions","setSearchHub","loadSearchHubActions","registerFieldsToInclude","loadFieldActions","registerAdvancedSearchQueries","loadAdvancedSearchQueryActions","dispatch","aq","language","QuerySearchHubName","bindUrlManager","closeAllFacets","filterExpanded","customEvent","CustomEvent","dispatchEvent","page","document","querySelector","classList","add","remove","updateList","_$","innerHTML","documentRemoved","_on","aria-live","data-expand","body","toggle","tabIndex","hideFilters","showFilters","BreadcrumbManager","buildBreadcrumbManager","label","Facet","ResultList","additionalClasses","buildResultList","Pager","buildPager","numberOfPages","DocumentTabListingContext","resultActionAnalytics","useMemo","ResultActionAnalytics","buildEngine","analyticsClientMiddleware","getAnalyticsMiddleware","buildSearchEngine","configuration","__spreadProps","__spreadValues","config","analytics","dataset","getElementsByClassName","buildResultTemplatesManager","registerTemplates","conditions","content","result","uniqueId","InteractiveResultWithActionLink","ariaLabel","preview","raw","documentname","documentpdfurl","target","href","documenttechnology","DocumentListFile","docName","docTech","docType","docUrl","documentdwgurl","documentrvturl","documentdocurl","ResultActionAnalyticsProvider","DocumentTabListing","memo"],"mappings":"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","file":"45.c24657fa70051cdddb29.js?v=0911cb6ae2b9243ea58e","sourcesContent":["import React, { useEffect, useState, useRef } from 'react';\nimport { sortFiltersBySitecore } from '../../../helpers';\nimport { set } from 'lodash';\n\nexport const CategoryFacet = props => {\n const { controller, labels } = props;\n const { sortedFacets, numberOfValues = 999, initialCategoriesCount } = props;\n const [state, setState] = useState(controller.state);\n const [expanded, setExpanded] = useState(true);\n const [hideCount, setHideCount] = useState(true);\n const [firstLoad, setFirstLoad] = useState(true);\n const facetList = useRef(null);\n const [facetListHeight, setFacetListHeight] = useState(0);\n const [sortedValues, setSortedValues] = useState([]);\n const [showMore, setShowMore] = useState(null);\n const [showLess, setShowLess] = useState(null);\n const [categoriesCount, setCategoriesCount] = useState(\n initialCategoriesCount\n );\n\n useEffect(() => controller.subscribe(() => setState(controller.state)), []);\n\n const handleShowMore = () => {\n setCategoriesCount(categoriesCount + 999999); //set to a high number to show all categories\n setShowLess(true);\n };\n\n const handleShowLess = () => {\n setCategoriesCount(initialCategoriesCount);\n setShowLess(false);\n };\n\n const handleCollapseEvent = () => {\n setExpanded(false);\n setCategoriesCount(initialCategoriesCount);\n };\n\n useEffect(() => {\n const selected = state.values.find(value => value.state === 'selected');\n if (state?.values?.length > 0 || state?.parents?.length > 0) {\n setSortedValues(sortFiltersBySitecore(state.values, sortedFacets));\n if (firstLoad) {\n setFirstLoad(false);\n if (\n state.parents.length >= 1 &&\n state.values.length > categoriesCount\n ) {\n setShowMore(true);\n }\n if (selected) {\n setExpanded(true);\n }\n }\n resizeFacetHeight();\n }\n if (!firstLoad) {\n if (state.values.length <= categoriesCount) {\n setShowMore(null);\n } else {\n setShowMore(true);\n }\n }\n }, [state.values.length, state.parents.length, expanded, categoriesCount]);\n\n useEffect(() => {\n if (sortedValues.length > 0) {\n if (facetList.current && facetListHeight !== facetList.current.height) {\n resizeFacetHeight();\n }\n }\n }, [sortedValues, state.values.length, state.parents.length]);\n\n const resizeFacetHeight = () => {\n setFacetListHeight(facetList.current.offsetHeight);\n };\n\n useEffect(() => {\n window.addEventListener('coveoFacet.collapseAll', handleCollapseEvent);\n window.addEventListener('deselectFacetTree', handleDeselectFacetTree);\n window.addEventListener('resize', resizeFacetHeight);\n window.addEventListener('clickontab', resizeFacetHeight);\n return () => {\n window.removeEventListener('coveoFacet.collapseAll', handleCollapseEvent);\n window.removeEventListener('deselectFacetTree', handleDeselectFacetTree);\n window.removeEventListener('resize', resizeFacetHeight);\n window.removeEventListener('clickontab', resizeFacetHeight);\n };\n }, []);\n\n const handleDeselectFacetTree = e => {\n controller.toggleSelect(e.detail.value);\n };\n\n const handleAllCategoriesClick = () => {\n controller.deselectAll();\n setCategoriesCount(initialCategoriesCount);\n setShowLess(false);\n };\n\n const handleClickableTreeFacetClick = value => {\n controller.toggleSelect(value);\n setShowLess(false);\n };\n\n function getUniqueKeyForValue(value) {\n return value.path.join('>');\n }\n\n if (!state.values.length && !state.parents.length) {\n return;\n }\n\n const renderParentsChildren = () => {\n return (\n <>\n {state.parents?.length > 0 ? (\n <>\n \n \n ) : (\n <>{sortedValues.map(value => clickableTreeFacet(value))}\n )}\n \n );\n };\n\n const clickableTreeFacet = (value, parent = false) => (\n \n {\n handleClickableTreeFacetClick(value);\n }}\n >\n {value.value}\n \n {!hideCount && (\n \n ({value.numberOfResults})\n \n )}\n \n );\n\n return (\n
\n \n {\n setExpanded(!expanded);\n }}\n >\n {expanded === true ? (\n \n \n \n ) : (\n \n \n \n )}\n {props.title}\n \n \n \n
\n
\n
    \n {renderParentsChildren()}\n
\n
\n
\n
\n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport {\n loadSearchAnalyticsActions,\n loadSearchActions,\n loadPipelineActions,\n loadSearchHubActions,\n loadAdvancedSearchQueryActions,\n buildFacet,\n buildBreadcrumbManager,\n buildSort,\n buildCategoryFacet,\n loadFieldActions,\n buildResultList,\n buildPager\n} from '@coveo/headless';\nimport { ResultList } from '../../components/result-list';\nimport { Facet } from '../../components/facet';\nimport { CategoryFacet } from '../../components/category-facet';\nimport { bindUrlManager } from '../../components/url-manager';\nimport { Pager } from '../../components/pager';\nimport { BreadcrumbManager } from '../../components/facet-breadcrumb';\nimport { criteriaDocuments as criteria } from '../../controllers/sort-criteria';\nimport * as Controllers from '../../controllers/controllers';\n\nconst CoveoListing = props => {\n const fieldsToInclude = Controllers.fieldsToInclude;\n const headlessEngine = props.engine;\n const resultTemplatesManager = props.resultTemplatesManager;\n const fields = JSON.parse(props.fields);\n const fieldTree = props.fieldTree;\n const localization = JSON.parse(props.localization);\n const coveoConfig = JSON.parse(props.coveo);\n const searchFields = JSON.parse(props.searchFields);\n const sortedFacets = JSON.parse(props.sortedFacets);\n const [toggleFilter, setToggleFilter] = useState(false);\n const relatedProducts = props.relatedProducts;\n const relatedSystem = props.relatedSystem;\n const [fieldsControllers, setFieldControllers] = useState([]);\n const initialCriterion = criteria[0][1];\n const sortController = buildSort(headlessEngine, {\n initialState: { criterion: initialCriterion }\n });\n const initialCategoriesCount = JSON.parse(props.initialCategoriesCount);\n\n // Map the fields to the facet controllers\n useEffect(() => {\n setFieldControllers(\n fields.map(field => {\n if (field.value === fieldTree) {\n field.controller = buildCategoryFacet(headlessEngine, {\n options: {\n delimitingCharacter: '_',\n field: field.value,\n filterFacetCount: true,\n numberOfValues: 999,\n fieldId: field.value\n }\n });\n } else {\n field.controller = buildFacet(headlessEngine, {\n options: {\n field: field.value,\n filterFacetCount: true,\n numberOfValues: 999,\n fieldId: field.value\n }\n });\n }\n return field;\n })\n );\n }, []);\n\n // Setting up the custom properties for the search engine (Pipeline, SearchHub, fields, etc.)\n useEffect(() => {\n if (fieldsControllers.length > 0) {\n const { logInterfaceLoad } = loadSearchAnalyticsActions(headlessEngine);\n const { setPipeline } = loadPipelineActions(headlessEngine);\n const { executeSearch } = loadSearchActions(headlessEngine);\n const { setSearchHub } = loadSearchHubActions(headlessEngine);\n const { registerFieldsToInclude } = loadFieldActions(headlessEngine);\n const { registerAdvancedSearchQueries } =\n loadAdvancedSearchQueryActions(headlessEngine);\n headlessEngine.dispatch(\n registerAdvancedSearchQueries({\n aq: `@pagelanguage=${props.language} @contenttype==document ${\n relatedProducts\n ? ` (@fdocumentrelatedproducts==(${relatedProducts}) OR @fdocumentrelatedsystem==(${relatedSystem}))`\n : ''\n }`\n })\n );\n\n headlessEngine.dispatch(registerFieldsToInclude(searchFields));\n headlessEngine.dispatch(setSearchHub(coveoConfig.QuerySearchHubName));\n headlessEngine.dispatch(setPipeline(coveoConfig.QuerySearchHubName));\n bindUrlManager(headlessEngine);\n headlessEngine.dispatch(executeSearch(logInterfaceLoad()));\n }\n }, [fieldsControllers]);\n\n const handleToggleClick = () => {\n setToggleFilter(!toggleFilter);\n if (!toggleFilter) {\n closeAllFacets();\n }\n document.body.classList.toggle('fullscreen-filters');\n };\n\n const closeAllFacets = filterExpanded => {\n const customEvent = new CustomEvent('coveoFacet.collapseAll');\n window.dispatchEvent(customEvent);\n const page = document.querySelector('html');\n\n if (filterExpanded) {\n page.classList.add('filterModalOverride');\n } else {\n page.classList.remove('filterModalOverride');\n }\n };\n\n const updateList = () => {\n document._$('#sr-notify').innerHTML = localization.documentRemoved;\n };\n\n useEffect(() => {\n window._on('removedfromcart', updateList);\n\n return () => {\n window.removeEventListener('removedfromcart', updateList);\n };\n }, []);\n\n return (\n <>\n
\n
\n
\n
\n \n \n \n {toggleFilter\n ? localization.hideFilters\n : localization.showFilters}\n \n
\n \n {fieldsControllers?.map((field, index) => {\n if (field.value === fieldTree)\n return (\n \n );\n\n return (\n \n );\n })}\n
\n
\n
\n
\n
\n \n \n\n \n
\n \n \n \n );\n};\n\nexport default CoveoListing;\n","import React, { useEffect, useState, useMemo } from 'react';\nimport { buildSearchEngine } from '@coveo/headless';\nimport { config } from '../../engine';\nimport {\n ResultActionAnalytics,\n ResultActionAnalyticsProvider\n} from '../../context/ResultActionAnalyticsContext';\nimport DocumentTabListing from './DocumentTabListing';\nimport { buildResultTemplatesManager } from '@coveo/headless';\nimport DocumentListFile from '../../components/document-list-file';\nimport { InteractiveResultWithActionLink } from '../../components/interactive-result-with-action';\n\nfunction DocumentTabListingContext(props) {\n const resultActionAnalytics = useMemo(() => new ResultActionAnalytics(), []);\n\n const buildEngine = options => {\n const engine = buildSearchEngine({\n configuration: {\n ...config,\n analytics: {\n analyticsClientMiddleware: options.analyticsClientMiddleware\n }\n }\n });\n\n return engine;\n };\n\n const engine = useMemo(() => {\n return buildEngine({\n analyticsClientMiddleware: resultActionAnalytics.getAnalyticsMiddleware()\n });\n }, [resultActionAnalytics]);\n\n const { dataset } = document.getElementsByClassName(\n 'coveo-search-results__main-wrapper'\n )[0];\n\n const localization = JSON.parse(dataset.localization);\n\n // this function is used to convert unicode to string\n function covertUnicode(str) {\n if (typeof str === 'string') {\n return str.replace(/\\\\u[\\dA-F]{4}/gi, match =>\n String.fromCharCode(parseInt(match.replace(/\\\\u/g, ''), 16))\n );\n }\n return str;\n }\n\n const resultTemplatesManager = buildResultTemplatesManager(engine);\n\n resultTemplatesManager.registerTemplates({\n conditions: [],\n fields: [\n 'uniqueId',\n 'documentname',\n 'documentpdfurl',\n 'documenttechnology',\n 'documentdwgurl',\n 'documentrvturl',\n 'documentdocurl'\n ],\n content: result => (\n
  • \n
    \n \n \n \n \n \n

    \n {result.raw.documenttechnology}\n

    \n

    {result.raw.documentname}

    \n
    \n
      \n {result.raw.documentpdfurl && (\n \n )}\n {result.raw.documentdwgurl && (\n \n )}\n {result.raw.documentrvturl && (\n \n )}\n {result.raw.documentdocurl && (\n \n )}\n
    \n
  • \n )\n });\n\n return (\n \n \n \n );\n}\n\nexport default DocumentTabListingContext;\n","import React from 'react';\nimport DocumentTabListingContext from './DocumentTabListingContext';\n\nexport default React.memo(DocumentTabListingContext);\n"],"sourceRoot":""}