{"version":3,"sources":["webpack://CoveoForSitecore/./src/ui/scopes/CoveoForSitecoreLocalExpression.ts"],"names":["coveo_search_ui_1","__webpack_require__","ContextEvents_1","ExpressionEvents_1","CoveoForSitecoreLocalExpression","_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","languageFieldName","currentLanguage","scFilterOnLatestVersion","latestVersionFieldName","scFilterOnSitecoreContextDatabase","indexSourceName","isEmpty","add","build","externalSources","length","sourceExpression","buildBooleanOption","Component","exports","Initialization","registerAutoCreateComponent"],"mappings":"0fAAA,IAAAA,EAAAC,EAAA,GAEAC,EAAAD,EAAA,GACAE,EAAAF,EAAA,GAWAG,EAAA,SAAAC,GASI,SAAAD,EACWE,EACAC,EACAC,GAHX,IAAAC,EAKIJ,EAAAK,KAAAC,KAAML,EAASF,EAAgCQ,GAAIJ,IAASG,YAJrDF,EAAAH,UACAG,EAAAF,UACAE,EAAAD,WAIPC,EAAKF,QAAUP,EAAAa,iBAAiBC,qBAAqBR,EAASF,EAAiCG,GAC/FE,EAAKM,KAAKC,cAAcd,EAAAe,sBAAsBC,gCAAiCT,EAAKU,2BAgD5F,OAjEqDC,EAAAhB,EAAAC,GAoBzCD,EAAAiB,UAAAF,wBAAR,SAAgCG,GAAhC,IAAAb,EAAAE,KACIA,KAAKI,KAAKC,cACNb,EAAAoB,yBAAyBC,0CACzB,SAACC,GACG,OAAAhB,EAAKiB,2BAA2BD,EAAyBH,MAI7DlB,EAAAiB,UAAAK,2BAAR,SACIC,EACAL,GAEA,IAAKK,EAAkCC,8BAA+B,CAClED,EAAkCC,+BAAgC,EAClE,IAAMC,EAAa,IAAI7B,EAAA8B,kBAkBvB,GAhBInB,KAAKJ,QAAQwB,2BACbF,EAAWG,mBAAmB,IAAIV,EAAQW,kBAAqB,KAAM,CAACX,EAAQY,kBAG9EvB,KAAKJ,QAAQ4B,yBACbN,EAAWG,mBAAmB,IAAIV,EAAQc,uBAA0B,KAAM,CAAC,MAG3EzB,KAAKJ,QAAQ8B,mCACbR,EAAWG,mBAAmB,UAAW,KAAM,CAACV,EAAQgB,kBAGvDT,EAAWU,WACZZ,EAAkCE,WAAWW,IAAIX,EAAWY,SAI5Dd,EAAkCe,iBAClCf,EAAkCe,gBAAgBC,OAAS,EAC7D,CACE,IAAMC,EAAmB,IAAI5C,EAAA8B,kBAE7Bc,EAAiBZ,mBAAmB,UAAW,KAAML,EAAkCe,iBAClFE,EAAiBL,WAClBZ,EAAkCE,WAAWW,IAAII,EAAiBH,MAAM,YA3DjFrC,EAAAQ,GAAK,6BAELR,EAAAG,QAAmD,CACtD8B,kCAAmCrC,EAAAa,iBAAiBgC,qBACpDd,0BAA2B/B,EAAAa,iBAAiBgC,qBAC5CV,wBAAyBnC,EAAAa,iBAAiBgC,sBA2DlDzC,EAjEA,CAAqDJ,EAAA8C,WAAxCC,EAAA3C,kCAmEbJ,EAAAgD,eAAeC,4BAA4B7C","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":""}