angular-instantsearch
Version:
Lightning-fast search for Angular apps, by Algolia.
54 lines • 6.71 kB
JavaScript
import { Component, Input, Inject, forwardRef, KeyValueDiffers, Optional, } from '@angular/core';
import { connectConfigure } from 'instantsearch.js/es/connectors';
import { TypedBaseWidget } from '../typed-base-widget';
import { NgAisInstantSearch } from '../instantsearch/instantsearch';
import { NgAisIndex } from '../index-widget/index-widget';
import { noop } from '../utils';
export class NgAisConfigure extends TypedBaseWidget {
constructor(differs, parentIndex, instantSearchInstance) {
super('Configure');
this.differs = differs;
this.parentIndex = parentIndex;
this.instantSearchInstance = instantSearchInstance;
this.state = {
refine: noop,
};
}
set searchParameters(values) {
this.internalSearchParameters = values;
if (!this.differ && values) {
this.differ = this.differs.find(values).create();
}
}
ngOnInit() {
this.createWidget(connectConfigure, {
searchParameters: this.internalSearchParameters,
}, {
$$widgetType: 'ais.configure',
});
super.ngOnInit();
}
ngDoCheck() {
if (this.differ) {
const changes = this.differ.diff(this.internalSearchParameters);
if (changes) {
this.state.refine(this.internalSearchParameters);
}
}
}
}
NgAisConfigure.decorators = [
{ type: Component, args: [{
selector: 'ais-configure',
template: ''
},] }
];
NgAisConfigure.ctorParameters = () => [
{ type: KeyValueDiffers },
{ type: NgAisIndex, decorators: [{ type: Inject, args: [forwardRef(() => NgAisIndex),] }, { type: Optional }] },
{ type: NgAisInstantSearch, decorators: [{ type: Inject, args: [forwardRef(() => NgAisInstantSearch),] }] }
];
NgAisConfigure.propDecorators = {
searchParameters: [{ type: Input }]
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZ3VyZS9jb25maWd1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFVBQVUsRUFFVixlQUFlLEVBQ2YsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBTWxFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQU1oQyxNQUFNLE9BQU8sY0FBZSxTQUFRLGVBR25DO0lBVUMsWUFDVSxPQUF3QixFQUd6QixXQUF1QixFQUV2QixxQkFBeUM7UUFFaEQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBUFgsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFHekIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFFdkIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFvQjtRQVYzQyxVQUFLLEdBQXlCO1lBQ25DLE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FBQztJQVdGLENBQUM7SUFFRCxJQUNJLGdCQUFnQixDQUFDLE1BQW9EO1FBQ3ZFLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxNQUFNLENBQUM7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxFQUFFO1lBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDbEQ7SUFDSCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxZQUFZLENBQ2YsZ0JBQWdCLEVBQ2hCO1lBQ0UsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLHdCQUF3QjtTQUNoRCxFQUNEO1lBQ0UsWUFBWSxFQUFFLGVBQWU7U0FDOUIsQ0FDRixDQUFDO1FBQ0YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDaEUsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7YUFDbEQ7U0FDRjtJQUNILENBQUM7OztZQXhERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFFBQVEsRUFBRSxFQUFFO2FBQ2I7OztZQWxCQyxlQUFlO1lBWVIsVUFBVSx1QkFzQmQsTUFBTSxTQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsY0FDbkMsUUFBUTtZQXhCSixrQkFBa0IsdUJBMEJ0QixNQUFNLFNBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDOzs7K0JBTTdDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBJbmplY3QsXG4gIGZvcndhcmRSZWYsXG4gIEtleVZhbHVlRGlmZmVyLFxuICBLZXlWYWx1ZURpZmZlcnMsXG4gIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgY29ubmVjdENvbmZpZ3VyZSB9IGZyb20gJ2luc3RhbnRzZWFyY2guanMvZXMvY29ubmVjdG9ycyc7XG5pbXBvcnQge1xuICBDb25maWd1cmVXaWRnZXREZXNjcmlwdGlvbixcbiAgQ29uZmlndXJlUmVuZGVyU3RhdGUsXG4gIENvbmZpZ3VyZUNvbm5lY3RvclBhcmFtcyxcbn0gZnJvbSAnaW5zdGFudHNlYXJjaC5qcy9lcy9jb25uZWN0b3JzL2NvbmZpZ3VyZS9jb25uZWN0Q29uZmlndXJlJztcbmltcG9ydCB7IFR5cGVkQmFzZVdpZGdldCB9IGZyb20gJy4uL3R5cGVkLWJhc2Utd2lkZ2V0JztcbmltcG9ydCB7IE5nQWlzSW5zdGFudFNlYXJjaCB9IGZyb20gJy4uL2luc3RhbnRzZWFyY2gvaW5zdGFudHNlYXJjaCc7XG5pbXBvcnQgeyBOZ0Fpc0luZGV4IH0gZnJvbSAnLi4vaW5kZXgtd2lkZ2V0L2luZGV4LXdpZGdldCc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhaXMtY29uZmlndXJlJyxcbiAgdGVtcGxhdGU6ICcnLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0Fpc0NvbmZpZ3VyZSBleHRlbmRzIFR5cGVkQmFzZVdpZGdldDxcbiAgQ29uZmlndXJlV2lkZ2V0RGVzY3JpcHRpb24sXG4gIENvbmZpZ3VyZUNvbm5lY3RvclBhcmFtc1xuPiB7XG4gIC8vIGluc3RhbmNlIG9wdGlvbnNcbiAgcHJpdmF0ZSBpbnRlcm5hbFNlYXJjaFBhcmFtZXRlcnM6IENvbmZpZ3VyZUNvbm5lY3RvclBhcmFtc1snc2VhcmNoUGFyYW1ldGVycyddO1xuXG4gIHByaXZhdGUgZGlmZmVyOiBLZXlWYWx1ZURpZmZlcjxzdHJpbmcsIGFueT47XG5cbiAgcHVibGljIHN0YXRlOiBDb25maWd1cmVSZW5kZXJTdGF0ZSA9IHtcbiAgICByZWZpbmU6IG5vb3AsXG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXG4gICAgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IE5nQWlzSW5kZXgpKVxuICAgIEBPcHRpb25hbCgpXG4gICAgcHVibGljIHBhcmVudEluZGV4OiBOZ0Fpc0luZGV4LFxuICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBOZ0Fpc0luc3RhbnRTZWFyY2gpKVxuICAgIHB1YmxpYyBpbnN0YW50U2VhcmNoSW5zdGFuY2U6IE5nQWlzSW5zdGFudFNlYXJjaFxuICApIHtcbiAgICBzdXBlcignQ29uZmlndXJlJyk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgc2VhcmNoUGFyYW1ldGVycyh2YWx1ZXM6IENvbmZpZ3VyZUNvbm5lY3RvclBhcmFtc1snc2VhcmNoUGFyYW1ldGVycyddKSB7XG4gICAgdGhpcy5pbnRlcm5hbFNlYXJjaFBhcmFtZXRlcnMgPSB2YWx1ZXM7XG4gICAgaWYgKCF0aGlzLmRpZmZlciAmJiB2YWx1ZXMpIHtcbiAgICAgIHRoaXMuZGlmZmVyID0gdGhpcy5kaWZmZXJzLmZpbmQodmFsdWVzKS5jcmVhdGUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jcmVhdGVXaWRnZXQoXG4gICAgICBjb25uZWN0Q29uZmlndXJlLFxuICAgICAge1xuICAgICAgICBzZWFyY2hQYXJhbWV0ZXJzOiB0aGlzLmludGVybmFsU2VhcmNoUGFyYW1ldGVycyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgICQkd2lkZ2V0VHlwZTogJ2Fpcy5jb25maWd1cmUnLFxuICAgICAgfVxuICAgICk7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgfVxuXG4gIG5nRG9DaGVjaygpIHtcbiAgICBpZiAodGhpcy5kaWZmZXIpIHtcbiAgICAgIGNvbnN0IGNoYW5nZXMgPSB0aGlzLmRpZmZlci5kaWZmKHRoaXMuaW50ZXJuYWxTZWFyY2hQYXJhbWV0ZXJzKTtcbiAgICAgIGlmIChjaGFuZ2VzKSB7XG4gICAgICAgIHRoaXMuc3RhdGUucmVmaW5lKHRoaXMuaW50ZXJuYWxTZWFyY2hQYXJhbWV0ZXJzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==