{"version":3,"file":"query-summary-dd5936c0.js","sources":["../../../../src/scripts/coveo/components/query-summary.tsx"],"sourcesContent":["/* eslint-disable no-use-before-define */\nimport React, { useContext, useEffect, useState } from 'react';\nimport { querySummary } from '../controllers/controller';\nimport { QuerySummary as QuerySummaryType } from '@coveo/headless';\nimport SecondCall from './second-call-context';\n\ntype QuerySummaryProps = {\n extraClasses?: string;\n};\n\nconst SUMMARY_PLACEHOLDERS = Object.freeze({\n firstResult: '{{firstResult}}',\n lastResult: '{{lastResult}}',\n total: '{{totalResults}}',\n query: '{{query}}'\n});\n\nfunction QuerySummary({ extraClasses = '' }: QuerySummaryProps) {\n const { dataset } = document.getElementsByClassName(\n 'coveo-listing__data-wrapper'\n )[0] as HTMLElement;\n const summaryText = (dataset.summaryText as string).split('|')[0];\n const queryText = (dataset.summaryText as string).split('|')[1];\n const [state, setState] = useState((querySummary as QuerySummaryType).state);\n const secondCallContext = useContext(SecondCall);\n\n const text = Object.keys(SUMMARY_PLACEHOLDERS).reduce((acc, placeholder) => {\n if (\n acc.includes(\n SUMMARY_PLACEHOLDERS[placeholder as keyof typeof SUMMARY_PLACEHOLDERS]\n )\n ) {\n if (placeholder === 'query' && state.query != '') {\n acc += queryText;\n }\n\n let replaceVal = state[placeholder as keyof typeof SUMMARY_PLACEHOLDERS]\n ? state[placeholder as keyof typeof SUMMARY_PLACEHOLDERS].toString()\n : '';\n\n if (secondCallContext.secondCall) {\n if (placeholder === 'firstResult') {\n if (secondCallContext.selectedPage === 1) {\n replaceVal = '1';\n } else if (secondCallContext.selectedPage === 2) {\n replaceVal = '11';\n }\n }\n\n if (placeholder === 'lastResult') {\n if (secondCallContext.selectedPage === 1) {\n if (secondCallContext.filteredResults.length < 10)\n replaceVal = secondCallContext.filteredResults.length.toString();\n else {\n replaceVal = '10';\n }\n } else if (secondCallContext.selectedPage === 2) {\n if (\n secondCallContext.limitValue &&\n parseInt(replaceVal) > secondCallContext.limitValue\n ) {\n replaceVal = secondCallContext.limitValue.toString();\n }\n\n if (\n secondCallContext.filteredResults.length <\n secondCallContext.limitValue\n )\n replaceVal = secondCallContext.filteredResults.length.toString();\n }\n }\n\n if (placeholder === 'total') {\n if (parseInt(replaceVal) > secondCallContext.limitValue) {\n replaceVal = secondCallContext.limitValue.toString();\n }\n if (parseInt(replaceVal) > secondCallContext.filteredResults.length)\n replaceVal = secondCallContext.filteredResults.length.toString();\n }\n }\n acc = acc.replace(\n SUMMARY_PLACEHOLDERS[placeholder as keyof typeof SUMMARY_PLACEHOLDERS],\n replaceVal\n );\n }\n\n return acc;\n }, summaryText);\n\n useEffect(\n () =>\n (querySummary as QuerySummaryType).subscribe(() =>\n setState((querySummary as QuerySummaryType).state)\n ),\n [querySummary]\n );\n\n return (\n <>\n {state.total > 0 && (\n <div\n className={`query-summary ${extraClasses}`}\n dangerouslySetInnerHTML={{ __html: text }}\n />\n )}\n </>\n );\n}\n\nexport default QuerySummary;\n"],"names":["SUMMARY_PLACEHOLDERS","QuerySummary","extraClasses","dataset","summaryText","queryText","state","setState","useState","querySummary","secondCallContext","useContext","SecondCall","text","acc","placeholder","replaceVal","useEffect","React"],"mappings":"mJAUA,MAAMA,EAAuB,OAAO,OAAO,CACzC,YAAa,kBACb,WAAY,iBACZ,MAAO,mBACP,MAAO,WACT,CAAC,EAED,SAASC,EAAa,CAAE,aAAAC,EAAe,IAAyB,CACxD,KAAA,CAAE,QAAAC,GAAY,SAAS,uBAC3B,+BACA,CAAC,EACGC,EAAeD,EAAQ,YAAuB,MAAM,GAAG,EAAE,CAAC,EAC1DE,EAAaF,EAAQ,YAAuB,MAAM,GAAG,EAAE,CAAC,EACxD,CAACG,EAAOC,CAAQ,EAAIC,EAAAA,SAAUC,EAAkC,KAAK,EACrEC,EAAoBC,aAAWC,CAAU,EAEzCC,EAAO,OAAO,KAAKb,CAAoB,EAAE,OAAO,CAACc,EAAKC,IAAgB,CAC1E,GACED,EAAI,SACFd,EAAqBe,CAAgD,CAAA,EAEvE,CACIA,IAAgB,SAAWT,EAAM,OAAS,KACrCQ,GAAAT,GAGL,IAAAW,EAAaV,EAAMS,CAAgD,EACnET,EAAMS,CAAgD,EAAE,SACxD,EAAA,GAEAL,EAAkB,aAChBK,IAAgB,gBACdL,EAAkB,eAAiB,EACxBM,EAAA,IACJN,EAAkB,eAAiB,IAC/BM,EAAA,OAIbD,IAAgB,eACdL,EAAkB,eAAiB,EACjCA,EAAkB,gBAAgB,OAAS,GAChCM,EAAAN,EAAkB,gBAAgB,OAAO,SAAS,EAElDM,EAAA,KAENN,EAAkB,eAAiB,IAE1CA,EAAkB,YAClB,SAASM,CAAU,EAAIN,EAAkB,aAE5BM,EAAAN,EAAkB,WAAW,YAI1CA,EAAkB,gBAAgB,OAClCA,EAAkB,aAELM,EAAAN,EAAkB,gBAAgB,OAAO,SAAS,KAIjEK,IAAgB,UACd,SAASC,CAAU,EAAIN,EAAkB,aAC9BM,EAAAN,EAAkB,WAAW,YAExC,SAASM,CAAU,EAAIN,EAAkB,gBAAgB,SAC9CM,EAAAN,EAAkB,gBAAgB,OAAO,SAAS,KAGrEI,EAAMA,EAAI,QACRd,EAAqBe,CAAgD,EACrEC,CAAA,EAIG,OAAAF,GACNV,CAAW,EAEda,OAAAA,EAAA,UACE,IACGR,EAAkC,UAAU,IAC3CF,EAAUE,EAAkC,KAAK,CACnD,EACF,CAACA,CAAY,CAAA,EAIbS,EAAA,cAAAA,EAAA,SAAA,KACGZ,EAAM,MAAQ,GACbY,EAAA,cAAC,MAAA,CACC,UAAW,iBAAiBhB,IAC5B,wBAAyB,CAAE,OAAQW,CAAK,CAAA,CAAA,CAG9C,CAEJ"}