{"version":3,"file":"index-8d551a5c.js","sources":["../../../../src/scripts/coveo/modules/search-results-listing/generic-result-card.tsx","../../../../src/scripts/coveo/modules/search-results-listing/templates.tsx","../../../../src/scripts/coveo/modules/search-results-listing/index.tsx"],"sourcesContent":["import React from 'react';\nimport { SearchListingContext } from './context';\nimport { createDataLayerString } from '../../../helpers/helpers';\nimport { ResultLink } from '../../components/interactive-result';\nimport { Result } from '@coveo/headless';\n\ntype GenericResultCardProps = {\n resultType: string;\n url?: string;\n title: string;\n productType?: string;\n teaser: string;\n image?: string;\n imageAlt?: string;\n isVideo?: boolean;\n watchVideoLabel?: string;\n videoModalId?: string;\n videoId?: string;\n isSearchListing?: boolean;\n result: Result;\n};\n\nfunction GenericResultCard({\n resultType,\n url,\n title,\n productType,\n teaser,\n image,\n imageAlt,\n isVideo,\n watchVideoLabel,\n videoModalId,\n videoId,\n isSearchListing,\n result\n}: GenericResultCardProps) {\n const _productType = (): string => {\n if (productType) {\n if (productType.length > 1) {\n return productType[productType.length - 1].split('_')[1];\n } else {\n return productType;\n }\n } else return '';\n };\n\n return (\n \n {value => (\n \n
\n

{resultType}

\n

\n {url ? (\n \n {title}\n \n ) : (\n title\n )}\n

\n {_productType() && (\n

\n {_productType()}\n

\n )}\n

{teaser}

\n
\n {image && (\n \n {imageAlt}\n {isVideo && (\n \n {watchVideoLabel}\n \n )}\n \n )}\n \n )}\n
\n );\n}\n\nexport default GenericResultCard;\n","import React from 'react';\n\nimport {\n buildResultTemplatesManager,\n ResultTemplatesHelpers,\n ResultTemplate,\n Result,\n SearchEngine\n} from '@coveo/headless';\n\nimport { headlessEngine } from '../../engine';\nimport {\n fieldsToInclude,\n fieldsObject,\n templateTypes,\n certificationImagesResidential,\n certificationImagesCommercial,\n labelsObj\n} from '../../controllers/controller';\n\nimport GenericResultCard from './generic-result-card';\nimport SmallContractorCard from './small-contractor-card';\nimport DocumentCard from '../../../react-components/document-listing/document-card';\nimport { contractorImages } from '../../controllers/controller';\n\ntype ProjectListingResultProps = Result & {\n UniqueId: string;\n Uri: string;\n solutionType: string;\n title: string;\n image: string;\n imageAlt: string;\n copy: string;\n index: number;\n};\n\nexport const resultTemplatesManager = buildResultTemplatesManager(\n headlessEngine as SearchEngine\n);\n\nconst productResultTemplate: ResultTemplate = {\n conditions: [\n ResultTemplatesHelpers.fieldMustMatch(fieldsObject.resultType, [\n templateTypes.product\n ])\n ],\n fields: ['UniqueId', 'Uri', ...fieldsToInclude],\n content: (result: ProjectListingResultProps) => (\n
  • \n \n
  • \n )\n};\n\nconst productCategoryResultTemplate: ResultTemplate = {\n conditions: [\n ResultTemplatesHelpers.fieldMustMatch(fieldsObject.resultType, [\n templateTypes.productCategory\n ])\n ],\n fields: ['UniqueId', 'Uri', ...fieldsToInclude],\n content: (result: ProjectListingResultProps) => (\n
  • \n \n
  • \n )\n};\n\nconst documentResultTemplate: ResultTemplate = {\n conditions: [\n ResultTemplatesHelpers.fieldMustMatch(fieldsObject.resultType, [\n templateTypes.document\n ])\n ],\n fields: ['UniqueId', 'Uri', ...fieldsToInclude],\n content: (result: ProjectListingResultProps) => {\n const documentFiles: { extension: string; url: string }[] = [];\n const arrayDocuments = [\n 'documentPDFUrl',\n 'documentDWGUrl',\n 'documentRVTUrl',\n 'documentDOCUrl'\n ];\n\n arrayDocuments.forEach(docType => {\n if (result.raw[fieldsObject[docType]]) {\n documentFiles.push({\n extension: docType.replace('document', '').replace('Url', ''),\n url: result.raw[fieldsObject[docType]] as string\n });\n }\n });\n\n return (\n
  • \n \n
  • \n );\n }\n};\n\nconst contractorResultTemplate: ResultTemplate = {\n conditions: [\n ResultTemplatesHelpers.fieldMustMatch(fieldsObject.resultType, [\n templateTypes.contractorResidential,\n templateTypes.contractorCommercial\n ])\n ],\n fields: ['UniqueId', 'Uri', ...fieldsToInclude],\n content: (result: ProjectListingResultProps) => (\n
  • \n \n
  • \n )\n};\n\nconst videoResultTemplate: ResultTemplate = {\n conditions: [\n ResultTemplatesHelpers.fieldMustMatch(fieldsObject.resultType, [\n templateTypes.video\n ])\n ],\n fields: ['UniqueId', 'Uri', ...fieldsToInclude],\n content: (result: ProjectListingResultProps) => (\n
  • \n \n
  • \n )\n};\n\nconst blogPostResultTemplate: ResultTemplate = {\n conditions: [\n ResultTemplatesHelpers.fieldMustMatch(fieldsObject.resultType, [\n templateTypes.blog\n ])\n ],\n fields: ['UniqueId', 'Uri', ...fieldsToInclude],\n content: (result: ProjectListingResultProps) => (\n
  • \n \n
  • \n )\n};\n\nconst projectResultTemplate: ResultTemplate = {\n conditions: [\n ResultTemplatesHelpers.fieldMustMatch(fieldsObject.resultType, [\n templateTypes.project\n ])\n ],\n fields: ['UniqueId', 'Uri', ...fieldsToInclude],\n content: (result: ProjectListingResultProps) => (\n
  • \n \n
  • \n )\n};\n\nconst miscellaneousResultTemplate: ResultTemplate = {\n conditions: [],\n fields: ['UniqueId', 'Uri', ...fieldsToInclude],\n content: (result: ProjectListingResultProps) => (\n
  • \n \n
  • \n )\n};\n\nresultTemplatesManager.registerTemplates(\n productResultTemplate,\n productCategoryResultTemplate,\n documentResultTemplate,\n contractorResultTemplate,\n videoResultTemplate,\n blogPostResultTemplate,\n projectResultTemplate,\n miscellaneousResultTemplate\n);\n","import React, { useRef, useEffect, useState } from 'react';\n\nimport { SearchListingContext } from './context';\nimport {\n SearchBoxOptions,\n buildFacet,\n buildSearchBox,\n buildDidYouMean,\n SearchEngine,\n ResultList as ResultListType,\n loadQueryActions,\n loadAdvancedSearchQueryActions,\n loadSearchAnalyticsActions,\n loadSearchActions\n} from '@coveo/headless';\nimport { headlessEngine } from '../../engine';\nimport {\n resultList,\n facets,\n facetOptionsNumber,\n labelsObj\n} from '../../controllers/controller';\n\nimport Facet from '../../components/facet';\nimport MobileFilters from '../../components/mobile-filters';\nimport ResultList from '../../components/result-list';\nimport { resultTemplatesManager } from './templates';\nimport Pagination from '../../components/pagination';\nimport FacetBreadcrumbs from '../../components/facet-breadcrumbs';\nimport QuerySummary from '../../components/query-summary';\nimport { SearchBox } from '../../components/searchbox';\nimport DidYouMean, { SITE_TYPES } from '../../components/did-you-mean';\nimport { bindUrlManager } from '../../components/url-manager';\nimport { SEARCH_KEYS } from '../../controllers/search-keys';\nimport { secureStorage } from '../../../helpers/global-storage';\nimport { ExtendedWindowType } from '../../../helpers/global-types';\n\ntype SearchResultsListingProps = {\n defaultQuery: string;\n};\n\nconst facetsObj = facets.map(facet => ({\n title: facet.title,\n certificationsLabel: facet.certificationsLabel,\n controller: buildFacet(headlessEngine as SearchEngine, {\n options: {\n field: facet.field,\n filterFacetCount: true,\n numberOfValues: facetOptionsNumber\n }\n }),\n customOrder: facet.customOrder\n}));\n\nconst options: SearchBoxOptions = {\n clearFilters: true,\n numberOfSuggestions: 4,\n highlightOptions: {\n exactMatchDelimiters: {\n open: '',\n close: ''\n }\n }\n};\nconst searchBoxController = buildSearchBox(headlessEngine as SearchEngine, {\n options\n});\n\nconst didYouMeanController = buildDidYouMean(headlessEngine as SearchEngine);\n\nfunction SearchResultsListing({ defaultQuery }: SearchResultsListingProps) {\n const containerRef = useRef(null);\n const [searchType, setSearchType] = useState('external');\n const [searchBoxValue, setSearchBoxValue] = useState('');\n const [resultsState, setResultsState] = useState(\n (resultList as ResultListType).state\n );\n const renderFilters = (isMobile?: boolean) => {\n return (\n
    \n {facetsObj.map((facet, index) => (\n \n ))}\n
    \n );\n };\n\n useEffect(() => {\n if (headlessEngine) {\n bindUrlManager(headlessEngine);\n const { updateQuery } = loadQueryActions(headlessEngine);\n const data = secureStorage.get(SEARCH_KEYS.globalSearch);\n\n if (data) {\n localStorage.removeItem(SEARCH_KEYS.globalSearch);\n const { value, analytics } = JSON.parse(data);\n headlessEngine.dispatch(updateQuery({ q: value }));\n headlessEngine.executeFirstSearchAfterStandaloneSearchBoxRedirect(\n analytics\n );\n } else {\n headlessEngine.executeFirstSearch();\n }\n\n (resultList as ResultListType).subscribe(() => {\n setResultsState((resultList as ResultListType).state);\n });\n\n if (defaultQuery) {\n const advancedQuerySearchActionCreator =\n loadAdvancedSearchQueryActions(headlessEngine);\n\n headlessEngine?.dispatch(\n advancedQuerySearchActionCreator.registerAdvancedSearchQueries({\n aq: defaultQuery\n })\n );\n\n const { logInterfaceLoad } = loadSearchAnalyticsActions(headlessEngine);\n const { executeSearch } = loadSearchActions(headlessEngine);\n headlessEngine.dispatch(executeSearch(logInterfaceLoad()));\n }\n }\n }, []);\n\n useEffect(() => {\n if (resultsState.firstSearchExecuted) {\n (window as ExtendedWindowType).dataLayer.push({\n event_attributes: {\n results_count: resultsState.results.length,\n search_term: searchBoxController.state.value,\n did_you_mean_keyword:\n didYouMeanController.state.queryCorrection?.correctedQuery,\n search_type: searchType\n },\n event: 'results_viewed',\n event_category: 'results page viewed',\n event_action: '',\n event_label: resultsState.results.length > 0 ? 'success' : 'failure'\n });\n }\n }, [resultsState]);\n\n const handleSearchSubmit = (value: string, type?: string) => {\n setSearchBoxValue(value);\n if (type) setSearchType(type);\n };\n\n return (\n \n
    \n \n
    \n
    \n
    \n {renderFilters()}\n
    \n \n
    \n \n \n \n \n
    \n
    \n \n \n );\n}\n\nexport default SearchResultsListing;\n"],"names":["GenericResultCard","resultType","url","title","productType","teaser","image","imageAlt","isVideo","watchVideoLabel","videoModalId","videoId","isSearchListing","result","_productType","React","SearchListingContext","value","ResultLink","createDataLayerString","resultTemplatesManager","buildResultTemplatesManager","headlessEngine","productResultTemplate","ResultTemplatesHelpers","fieldsObject","templateTypes","fieldsToInclude","productCategoryResultTemplate","documentResultTemplate","documentFiles","docType","DocumentCard","labelsObj","contractorResultTemplate","SmallContractorCard","certificationImagesCommercial","certificationImagesResidential","_a","contractorImages","videoResultTemplate","blogPostResultTemplate","projectResultTemplate","miscellaneousResultTemplate","facetsObj","facets","facet","buildFacet","facetOptionsNumber","options","searchBoxController","buildSearchBox","didYouMeanController","buildDidYouMean","SearchResultsListing","defaultQuery","containerRef","useRef","searchType","setSearchType","useState","searchBoxValue","setSearchBoxValue","resultsState","setResultsState","resultList","renderFilters","isMobile","index","Facet","useEffect","bindUrlManager","updateQuery","loadQueryActions","data","secureStorage","SEARCH_KEYS","analytics","advancedQuerySearchActionCreator","loadAdvancedSearchQueryActions","logInterfaceLoad","loadSearchAnalyticsActions","executeSearch","loadSearchActions","handleSearchSubmit","type","DidYouMean","SITE_TYPES","SearchBox","MobileFilters","QuerySummary","FacetBreadcrumbs","ResultList","Pagination"],"mappings":"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"}