{"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,EACWE,EACAC,EACAC,GAHX,IAAAC,EAKIJ,EAAAK,KAAAC,KAAML,EAASF,EAA4BQ,GAAIJ,IAASG,YAJjDF,EAAAH,UACAG,EAAAF,UACAE,EAAAD,WAIPC,EAAKF,QAAUP,EAAAa,iBAAiBC,qBAAqBR,EAASF,EAA6BG,GAC3FE,EAAKM,KAAKC,cACNd,EAAAe,sBAAsBC,gCACtBT,EAAKU,iCAgEjB,OA/EiDC,EAAAhB,EAAAC,GAmBrCD,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,SACID,EACAL,GAEA,IAAMO,EAAyDlB,KAAKmB,yCAC9DC,EAA+EpB,KAAKqB,0CACtFH,EAAoBI,SAGnBF,EAA0BG,WAAWC,WACtCR,EAAkBS,aAAaC,mBAAmBC,IAAIP,EAA0BG,WAAWK,MAAM,UAIjGnC,EAAAiB,UAAAS,uCAAR,WACI,IAAMD,EAAyD,CAC3DI,QAAS,IASb,OANAtB,KAAKI,KAAKyB,QACN7B,KAAKL,QACLH,EAAAsC,yBAAyBC,kCACzBb,GAGG,CACHI,QAAStB,KAAKgC,aAAad,EAAoBI,WAI/C7B,EAAAiB,UAAAW,0CAAR,SACIY,GAEA,IAAMb,EAA+E,CACjFG,WAAY,IAAIlC,EAAA6C,kBAChBD,gBAAiBA,EACjBE,+BAA+B,GASnC,OANAnC,KAAKI,KAAKyB,QACN7B,KAAKL,QACLH,EAAAsC,yBAAyBM,0CACzBhB,GAGGA,GAGH3B,EAAAiB,UAAAsB,aAAR,SAAwBK,GACpB,OAAOA,EAAMC,OAAO,SAACC,EAAOC,EAAOC,GAAS,OAAAA,EAAKC,QAAQH,KAAWC,KA5EjE/C,EAAAQ,GAAK,yBAELR,EAAAG,QAA8C,GA4EzDH,EA/EA,CAAiDJ,EAAAsD,WAApCC,EAAAnD,8BAiFbJ,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(\r\n public element: HTMLElement,\r\n public options: ICoveoForSitecoreExpressionOptions,\r\n public bindings: IComponentBindings\r\n ) {\r\n super(element, CoveoForSitecoreExpressions.ID, bindings);\r\n\r\n this.options = ComponentOptions.initComponentOptions(element, CoveoForSitecoreExpressions, options);\r\n this.bind.onRootElement(\r\n SitecoreContextEvents.onSitecoreContextInitialization,\r\n this.afterComponentsInitialization\r\n );\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(\r\n buildingQueryArgs: IBuildingQueryEventArgs,\r\n contextArgs: ISitecoreContextInitializationEventArgs\r\n ): void {\r\n const externalContentArgs: IBuildingExternalContentEventArgs = this.triggerBuildingSitecoreExternalContent();\r\n const localSitecoreInstanceArgs: IBuildingLocalSitecoreInstanceExpressionEventArgs = this.triggerBuildingLocalSitecoreInstanceEvent(\r\n externalContentArgs.sources\r\n );\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(\r\n this.element,\r\n SitecoreExpressionEvents.onBuildingSitecoreExternalContent,\r\n externalContentArgs\r\n );\r\n\r\n return {\r\n sources: this.filterUnique(externalContentArgs.sources),\r\n };\r\n }\r\n\r\n private triggerBuildingLocalSitecoreInstanceEvent(\r\n externalSources: string[]\r\n ): 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(\r\n this.element,\r\n SitecoreExpressionEvents.onBuildingLocalSitecoreInstanceExpression,\r\n localSitecoreInstanceArgs\r\n );\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":""}