{"version":3,"sources":["webpack://CoveoForSitecore/./src/ui/scopes/CoveoForSitecoreLocalExpression.ts"],"names":["coveo_search_ui_1","__webpack_require__","ContextEvents_1","ExpressionEvents_1","CoveoForSitecoreLocalExpression","exports","_super","element","options","bindings","_this","call","this","ID","ComponentOptions","initComponentOptions","bind","onRootElement","SitecoreContextEvents","onSitecoreContextInitialization","onContextInitialization","__extends","prototype","context","SitecoreExpressionEvents","onBuildingLocalSitecoreInstanceExpression","builderFilterExpression","onBuildingFilterExpression","buildingFilterExpressionEventArgs","buildingQueryAlreadyProcessed","expression","ExpressionBuilder","scFilterOnCurrentLanguage","addFieldExpression","concat","languageFieldName","currentLanguage","scFilterOnLatestVersion","latestVersionFieldName","scFilterOnSitecoreContextDatabase","indexSourceName","isEmpty","add","build","externalSources","length","sourceExpression","buildBooleanOption","Component","Initialization","registerAutoCreateComponent"],"mappings":"irBAAA,IAAAA,EAAAC,EAAA,GAEAC,EAAAD,EAAA,GACAE,EAAAF,EAAA,GAWAG,EAAAC,EAAAD,gCAAA,SAAAE,GASI,SAAAF,EACWG,EACAC,EACAC,GAHX,IAAAC,EAKIJ,EAAAK,KAAAC,KAAML,EAASH,EAAgCS,GAAIJ,IAASG,YAJrDF,EAAAH,UACAG,EAAAF,UACAE,EAAAD,WAIPC,EAAKF,QAAUR,EAAAc,iBAAiBC,qBAAqBR,EAASH,EAAiCI,GAC/FE,EAAKM,KAAKC,cAAcf,EAAAgB,sBAAsBC,gCAAiCT,EAAKU,2BAgD5F,OAjEqDC,EAAAjB,EAAAE,GAoBzCF,EAAAkB,UAAAF,wBAAR,SAAgCG,GAAhC,IAAAb,EAAAE,KACIA,KAAKI,KAAKC,cACNd,EAAAqB,yBAAyBC,0CACzB,SAACC,GACG,OAAAhB,EAAKiB,2BAA2BD,EAAyBH,MAI7DnB,EAAAkB,UAAAK,2BAAR,SACIC,EACAL,GAEA,IAAKK,EAAkCC,8BAA+B,CAClED,EAAkCC,+BAAgC,EAClE,IAAMC,EAAa,IAAI9B,EAAA+B,kBAkBvB,GAhBInB,KAAKJ,QAAQwB,2BACbF,EAAWG,mBAAmB,IAAAC,OAAIX,EAAQY,mBAAqB,KAAM,CAACZ,EAAQa,kBAG9ExB,KAAKJ,QAAQ6B,yBACbP,EAAWG,mBAAmB,IAAAC,OAAIX,EAAQe,wBAA0B,KAAM,CAAC,MAG3E1B,KAAKJ,QAAQ+B,mCACbT,EAAWG,mBAAmB,UAAW,KAAM,CAACV,EAAQiB,kBAGvDV,EAAWW,WACZb,EAAkCE,WAAWY,IAAIZ,EAAWa,SAI5Df,EAAkCgB,iBAClChB,EAAkCgB,gBAAgBC,OAAS,EAC7D,CACE,IAAMC,EAAmB,IAAI9C,EAAA+B,kBAE7Be,EAAiBb,mBAAmB,UAAW,KAAML,EAAkCgB,iBAClFE,EAAiBL,WAClBb,EAAkCE,WAAWY,IAAII,EAAiBH,MAAM,YA3DjFvC,EAAAS,GAAK,6BAELT,EAAAI,QAAmD,CACtD+B,kCAAmCvC,EAAAc,iBAAiBiC,qBACpDf,0BAA2BhC,EAAAc,iBAAiBiC,qBAC5CV,wBAAyBrC,EAAAc,iBAAiBiC,sBA2DlD3C,EAjEA,CAAqDJ,EAAAgD,WAmErDhD,EAAAiD,eAAeC,4BAA4B9C","file":"CoveoForSitecoreLocalExpression.min.js","sourcesContent":["import { Component, ComponentOptions, ExpressionBuilder, IComponentBindings, Initialization } from 'coveo-search-ui';\r\n\r\nimport { ISitecoreContextInitializationEventArgs, SitecoreContextEvents } from '../../events/ContextEvents';\r\nimport {\r\n IBuildingLocalSitecoreInstanceExpressionEventArgs,\r\n SitecoreExpressionEvents,\r\n} from '../../events/ExpressionEvents';\r\n\r\nexport interface ICoveoForSitecoreLocalExpressionOptions {\r\n scFilterOnSitecoreContextDatabase: boolean;\r\n scFilterOnCurrentLanguage: boolean;\r\n scFilterOnLatestVersion: boolean;\r\n}\r\n\r\nexport class CoveoForSitecoreLocalExpression extends Component {\r\n static ID = 'ForSitecoreLocalExpression';\r\n\r\n static options: ICoveoForSitecoreLocalExpressionOptions = {\r\n scFilterOnSitecoreContextDatabase: ComponentOptions.buildBooleanOption(),\r\n scFilterOnCurrentLanguage: ComponentOptions.buildBooleanOption(),\r\n scFilterOnLatestVersion: ComponentOptions.buildBooleanOption(),\r\n };\r\n\r\n constructor(\r\n public element: HTMLElement,\r\n public options: ICoveoForSitecoreLocalExpressionOptions,\r\n public bindings: IComponentBindings\r\n ) {\r\n super(element, CoveoForSitecoreLocalExpression.ID, bindings);\r\n\r\n this.options = ComponentOptions.initComponentOptions(element, CoveoForSitecoreLocalExpression, options);\r\n this.bind.onRootElement(SitecoreContextEvents.onSitecoreContextInitialization, this.onContextInitialization);\r\n }\r\n\r\n private onContextInitialization(context: ISitecoreContextInitializationEventArgs): void {\r\n this.bind.onRootElement(\r\n SitecoreExpressionEvents.onBuildingLocalSitecoreInstanceExpression,\r\n (builderFilterExpression: IBuildingLocalSitecoreInstanceExpressionEventArgs) =>\r\n this.onBuildingFilterExpression(builderFilterExpression, context)\r\n );\r\n }\r\n\r\n private onBuildingFilterExpression(\r\n buildingFilterExpressionEventArgs: IBuildingLocalSitecoreInstanceExpressionEventArgs,\r\n context: ISitecoreContextInitializationEventArgs\r\n ): void {\r\n if (!buildingFilterExpressionEventArgs.buildingQueryAlreadyProcessed) {\r\n buildingFilterExpressionEventArgs.buildingQueryAlreadyProcessed = true;\r\n const expression = new ExpressionBuilder();\r\n\r\n if (this.options.scFilterOnCurrentLanguage) {\r\n expression.addFieldExpression(`@${context.languageFieldName}`, '==', [context.currentLanguage]);\r\n }\r\n\r\n if (this.options.scFilterOnLatestVersion) {\r\n expression.addFieldExpression(`@${context.latestVersionFieldName}`, '==', ['1']);\r\n }\r\n\r\n if (this.options.scFilterOnSitecoreContextDatabase) {\r\n expression.addFieldExpression('@source', '==', [context.indexSourceName]);\r\n }\r\n\r\n if (!expression.isEmpty()) {\r\n buildingFilterExpressionEventArgs.expression.add(expression.build());\r\n }\r\n\r\n if (\r\n buildingFilterExpressionEventArgs.externalSources &&\r\n buildingFilterExpressionEventArgs.externalSources.length > 0\r\n ) {\r\n const sourceExpression = new ExpressionBuilder();\r\n\r\n sourceExpression.addFieldExpression('@source', '==', buildingFilterExpressionEventArgs.externalSources);\r\n if (!sourceExpression.isEmpty()) {\r\n buildingFilterExpressionEventArgs.expression.add(sourceExpression.build(' OR '));\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nInitialization.registerAutoCreateComponent(CoveoForSitecoreLocalExpression);\r\n"],"sourceRoot":""}