{"version":3,"sources":["webpack://CoveoForSitecore/./src/ui/scopes/CoveoForSitecoreExpressions.ts"],"names":["coveo_search_ui_1","__webpack_require__","ContextEvents_1","ExpressionEvents_1","CoveoForSitecoreExpressions","_super","element","options","bindings","_this","call","this","ID","ComponentOptions","initComponentOptions","bind","onRootElement","SitecoreContextEvents","onSitecoreContextInitialization","afterComponentsInitialization","__extends","prototype","contextArgs","root","dataset","QueryEvents","buildingQuery","buildingQueryArgs","onBuildingQuery","externalContentArgs","triggerBuildingSitecoreExternalContent","localSitecoreInstanceArgs","triggerBuildingLocalSitecoreInstanceEvent","sources","expression","isEmpty","queryBuilder","constantExpression","add","build","trigger","SitecoreExpressionEvents","onBuildingSitecoreExternalContent","filterUnique","externalSources","ExpressionBuilder","buildingQueryAlreadyProcessed","onBuildingLocalSitecoreInstanceExpression","array","filter","value","index","self","indexOf","Component","exports","Initialization","registerAutoCreateComponent"],"mappings":"0fAAA,IAAAA,EAAAC,EAAA,GAUAC,EAAAD,EAAA,GACAE,EAAAF,EAAA,GAUAG,EAAA,SAAAC,GAKI,SAAAD,EAAmBE,EAA6BC,EAAoDC,GAApG,IAAAC,EACIJ,EAAAK,KAAAC,KAAML,EAASF,EAA4BQ,GAAIJ,IAASG,YADzCF,EAAAH,UAA6BG,EAAAF,UAAoDE,EAAAD,WAGhGC,EAAKF,QAAUP,EAAAa,iBAAiBC,qBAAqBR,EAASF,EAA6BG,GAC3FE,EAAKM,KAAKC,cAAcd,EAAAe,sBAAsBC,gCAAiCT,EAAKU,iCAgD5F,OAzDiDC,EAAAhB,EAAAC,GAYrCD,EAAAiB,UAAAF,8BAAR,SAAsCG,GAAtC,IAAAb,EAAAE,KACSA,KAAKY,KAAKC,QAA0D,kCACrEb,KAAKY,KAAKC,QAA0D,gCAAI,OACxEb,KAAKI,KAAKC,cAAchB,EAAAyB,YAAYC,cAAe,SAACC,GAChDlB,EAAKmB,gBAAgBD,EAAmBL,OAK5ClB,EAAAiB,UAAAO,gBAAR,SAAwBD,EAA4CL,GAChE,IAAMO,EAAyDlB,KAAKmB,yCAC9DC,EAA+EpB,KAAKqB,0CAA0CH,EAAoBI,SAEnJF,EAA0BG,WAAWC,WACtCR,EAAkBS,aAAaC,mBAAmBC,IAAIP,EAA0BG,WAAWK,MAAM,UAIjGnC,EAAAiB,UAAAS,uCAAR,WACI,IAAMD,EAAyD,CAC3DI,QAAS,IAKb,OAFAtB,KAAKI,KAAKyB,QAAQ7B,KAAKL,QAASH,EAAAsC,yBAAyBC,kCAAmCb,GAErF,CACHI,QAAStB,KAAKgC,aAAad,EAAoBI,WAI/C7B,EAAAiB,UAAAW,0CAAR,SAAkDY,GAC9C,IAAMb,EAA+E,CACjFG,WAAY,IAAIlC,EAAA6C,kBAChBD,gBAAiBA,EACjBE,+BAA+B,GAKnC,OAFAnC,KAAKI,KAAKyB,QAAQ7B,KAAKL,QAASH,EAAAsC,yBAAyBM,0CAA2ChB,GAE7FA,GAGH3B,EAAAiB,UAAAsB,aAAR,SAAwBK,GACpB,OAAOA,EAAMC,OAAO,SAACC,EAAOC,EAAOC,GAAS,OAAAA,EAAKC,QAAQH,KAAWC,KAtDjE/C,EAAAQ,GAAK,yBAELR,EAAAG,QAA8C,GAsDzDH,EAzDA,CAAiDJ,EAAAsD,WAApCC,EAAAnD,8BA2DbJ,EAAAwD,eAAeC,4BAA4BrD","file":"CoveoForSitecoreExpressions.min.js","sourcesContent":["import {\r\n Component,\r\n ComponentOptions,\r\n IComponentBindings,\r\n Initialization,\r\n IBuildingQueryEventArgs,\r\n QueryEvents,\r\n ExpressionBuilder\r\n} from \"coveo-search-ui\";\r\n\r\nimport { ISitecoreContextInitializationEventArgs, SitecoreContextEvents } from \"../../events/ContextEvents\";\r\nimport {\r\n IBuildingExternalContentEventArgs,\r\n IBuildingLocalSitecoreInstanceExpressionEventArgs,\r\n SitecoreExpressionEvents,\r\n} from \"../../events/ExpressionEvents\";\r\n\r\nexport interface ICoveoForSitecoreExpressionOptions { }\r\n\r\nconst IS_COVEO_FOR_SITECORE_EXPRESSIONS_EVENT_REGISTERED = \"coveoForSitecoreEventRegistered\";\r\n\r\nexport class CoveoForSitecoreExpressions extends Component {\r\n static ID = \"ForSitecoreExpressions\";\r\n\r\n static options: ICoveoForSitecoreExpressionOptions = {};\r\n\r\n constructor(public element: HTMLElement, public options: ICoveoForSitecoreExpressionOptions, public bindings: IComponentBindings) {\r\n super(element, CoveoForSitecoreExpressions.ID, bindings);\r\n\r\n this.options = ComponentOptions.initComponentOptions(element, CoveoForSitecoreExpressions, options);\r\n this.bind.onRootElement(SitecoreContextEvents.onSitecoreContextInitialization, this.afterComponentsInitialization);\r\n }\r\n\r\n private afterComponentsInitialization(contextArgs: ISitecoreContextInitializationEventArgs): void {\r\n if (!this.root.dataset[IS_COVEO_FOR_SITECORE_EXPRESSIONS_EVENT_REGISTERED]) {\r\n this.root.dataset[IS_COVEO_FOR_SITECORE_EXPRESSIONS_EVENT_REGISTERED] = \"true\";\r\n this.bind.onRootElement(QueryEvents.buildingQuery, (buildingQueryArgs: IBuildingQueryEventArgs) => {\r\n this.onBuildingQuery(buildingQueryArgs, contextArgs);\r\n });\r\n }\r\n }\r\n\r\n private onBuildingQuery(buildingQueryArgs: IBuildingQueryEventArgs, contextArgs: ISitecoreContextInitializationEventArgs): void {\r\n const externalContentArgs: IBuildingExternalContentEventArgs = this.triggerBuildingSitecoreExternalContent();\r\n const localSitecoreInstanceArgs: IBuildingLocalSitecoreInstanceExpressionEventArgs = this.triggerBuildingLocalSitecoreInstanceEvent(externalContentArgs.sources);\r\n\r\n if (!localSitecoreInstanceArgs.expression.isEmpty()) {\r\n buildingQueryArgs.queryBuilder.constantExpression.add(localSitecoreInstanceArgs.expression.build(\" OR \"));\r\n }\r\n }\r\n\r\n private triggerBuildingSitecoreExternalContent(): IBuildingExternalContentEventArgs {\r\n const externalContentArgs: IBuildingExternalContentEventArgs = {\r\n sources: []\r\n };\r\n\r\n this.bind.trigger(this.element, SitecoreExpressionEvents.onBuildingSitecoreExternalContent, externalContentArgs);\r\n\r\n return {\r\n sources: this.filterUnique(externalContentArgs.sources)\r\n };\r\n }\r\n\r\n private triggerBuildingLocalSitecoreInstanceEvent(externalSources: string[]): IBuildingLocalSitecoreInstanceExpressionEventArgs {\r\n const localSitecoreInstanceArgs: IBuildingLocalSitecoreInstanceExpressionEventArgs = {\r\n expression: new ExpressionBuilder(),\r\n externalSources: externalSources,\r\n buildingQueryAlreadyProcessed: false\r\n };\r\n\r\n this.bind.trigger(this.element, SitecoreExpressionEvents.onBuildingLocalSitecoreInstanceExpression, localSitecoreInstanceArgs);\r\n\r\n return localSitecoreInstanceArgs;\r\n }\r\n\r\n private filterUnique(array: T[]): T[] {\r\n return array.filter((value, index, self) => self.indexOf(value) === index);\r\n }\r\n}\r\n\r\nInitialization.registerAutoCreateComponent(CoveoForSitecoreExpressions);\r\n"],"sourceRoot":""}