UNPKG

angular-instantsearch

Version:

Lightning-fast search for Angular apps, by Algolia.

70 lines 7.94 kB
import { Component, Input, Inject, forwardRef, Optional } from '@angular/core'; import { connectClearRefinements } 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 NgAisClearRefinements extends TypedBaseWidget { constructor(parentIndex, instantSearchInstance) { super('ClearRefinements'); this.parentIndex = parentIndex; this.instantSearchInstance = instantSearchInstance; // rendering options this.resetLabel = 'Clear refinements'; this.state = { hasRefinements: false, canRefine: false, refine: noop, createURL: () => '#', }; } get isHidden() { return !this.state.hasRefinements && this.autoHideContainer; } ngOnInit() { this.createWidget(connectClearRefinements, { includedAttributes: this.includedAttributes, excludedAttributes: this.excludedAttributes, transformItems: this.transformItems, }, { $$widgetType: 'ais.clearRefinements', }); super.ngOnInit(); } handleClick(event) { event.preventDefault(); if (this.state.hasRefinements) { this.state.refine(); } } } NgAisClearRefinements.decorators = [ { type: Component, args: [{ selector: 'ais-clear-refinements', template: ` <div [class]="cx()" *ngIf="!isHidden" > <button [class]="cx('button') + (!state.hasRefinements ? (' ' + cx('button', 'disabled')) : '')" (click)="handleClick($event)" [disabled]="!state.hasRefinements" > {{resetLabel}} </button> </div> ` },] } ]; NgAisClearRefinements.ctorParameters = () => [ { type: NgAisIndex, decorators: [{ type: Inject, args: [forwardRef(() => NgAisIndex),] }, { type: Optional }] }, { type: NgAisInstantSearch, decorators: [{ type: Inject, args: [forwardRef(() => NgAisInstantSearch),] }] } ]; NgAisClearRefinements.propDecorators = { resetLabel: [{ type: Input }], includedAttributes: [{ type: Input }], excludedAttributes: [{ type: Input }], transformItems: [{ type: Input }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXItcmVmaW5lbWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xlYXItcmVmaW5lbWVudHMvY2xlYXItcmVmaW5lbWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFNekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBbUJoQyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFHMUM7SUF1QkMsWUFHUyxXQUF1QixFQUV2QixxQkFBeUM7UUFFaEQsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFKbkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFFdkIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFvQjtRQTNCbEQsb0JBQW9CO1FBQ0osZUFBVSxHQUFXLG1CQUFtQixDQUFDO1FBVWxELFVBQUssR0FBZ0M7WUFDMUMsY0FBYyxFQUFFLEtBQUs7WUFDckIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsTUFBTSxFQUFFLElBQUk7WUFDWixTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRztTQUNyQixDQUFDO0lBY0YsQ0FBQztJQVpELElBQUksUUFBUTtRQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDOUQsQ0FBQztJQVlNLFFBQVE7UUFDYixJQUFJLENBQUMsWUFBWSxDQUNmLHVCQUF1QixFQUN2QjtZQUNFLGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0I7WUFDM0Msa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtZQUMzQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDcEMsRUFDRDtZQUNFLFlBQVksRUFBRSxzQkFBc0I7U0FDckMsQ0FDRixDQUFDO1FBRUYsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTSxXQUFXLENBQUMsS0FBaUI7UUFDbEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXZCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUU7WUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNyQjtJQUNILENBQUM7OztZQTNFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7O0dBYVQ7YUFDRjs7O1lBbkJRLFVBQVUsdUJBK0NkLE1BQU0sU0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLGNBQ25DLFFBQVE7WUFqREosa0JBQWtCLHVCQW1EdEIsTUFBTSxTQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQzs7O3lCQXpCN0MsS0FBSztpQ0FHTCxLQUFLO2lDQUVMLEtBQUs7NkJBRUwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEluamVjdCwgZm9yd2FyZFJlZiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbm5lY3RDbGVhclJlZmluZW1lbnRzIH0gZnJvbSAnaW5zdGFudHNlYXJjaC5qcy9lcy9jb25uZWN0b3JzJztcbmltcG9ydCB7XG4gIENsZWFyUmVmaW5lbWVudHNDb25uZWN0b3JQYXJhbXMsXG4gIENsZWFyUmVmaW5lbWVudHNXaWRnZXREZXNjcmlwdGlvbixcbiAgQ2xlYXJSZWZpbmVtZW50c1JlbmRlclN0YXRlLFxufSBmcm9tICdpbnN0YW50c2VhcmNoLmpzL2VzL2Nvbm5lY3RvcnMvY2xlYXItcmVmaW5lbWVudHMvY29ubmVjdENsZWFyUmVmaW5lbWVudHMnO1xuaW1wb3J0IHsgVHlwZWRCYXNlV2lkZ2V0IH0gZnJvbSAnLi4vdHlwZWQtYmFzZS13aWRnZXQnO1xuaW1wb3J0IHsgTmdBaXNJbnN0YW50U2VhcmNoIH0gZnJvbSAnLi4vaW5zdGFudHNlYXJjaC9pbnN0YW50c2VhcmNoJztcbmltcG9ydCB7IE5nQWlzSW5kZXggfSBmcm9tICcuLi9pbmRleC13aWRnZXQvaW5kZXgtd2lkZ2V0JztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Fpcy1jbGVhci1yZWZpbmVtZW50cycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgW2NsYXNzXT1cImN4KClcIlxuICAgICAgKm5nSWY9XCIhaXNIaWRkZW5cIlxuICAgID5cbiAgICAgIDxidXR0b25cbiAgICAgICAgW2NsYXNzXT1cImN4KCdidXR0b24nKSArICghc3RhdGUuaGFzUmVmaW5lbWVudHMgPyAoJyAnICsgY3goJ2J1dHRvbicsICdkaXNhYmxlZCcpKSA6ICcnKVwiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFzdGF0ZS5oYXNSZWZpbmVtZW50c1wiXG4gICAgICA+XG4gICAgICAgIHt7cmVzZXRMYWJlbH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgTmdBaXNDbGVhclJlZmluZW1lbnRzIGV4dGVuZHMgVHlwZWRCYXNlV2lkZ2V0PFxuICBDbGVhclJlZmluZW1lbnRzV2lkZ2V0RGVzY3JpcHRpb24sXG4gIENsZWFyUmVmaW5lbWVudHNDb25uZWN0b3JQYXJhbXNcbj4ge1xuICAvLyByZW5kZXJpbmcgb3B0aW9uc1xuICBASW5wdXQoKSBwdWJsaWMgcmVzZXRMYWJlbDogc3RyaW5nID0gJ0NsZWFyIHJlZmluZW1lbnRzJztcblxuICAvLyBpbnN0YW5jZSBvcHRpb25zXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbmNsdWRlZEF0dHJpYnV0ZXM6IENsZWFyUmVmaW5lbWVudHNDb25uZWN0b3JQYXJhbXNbJ2luY2x1ZGVkQXR0cmlidXRlcyddO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZXhjbHVkZWRBdHRyaWJ1dGVzOiBDbGVhclJlZmluZW1lbnRzQ29ubmVjdG9yUGFyYW1zWydleGNsdWRlZEF0dHJpYnV0ZXMnXTtcbiAgQElucHV0KClcbiAgcHVibGljIHRyYW5zZm9ybUl0ZW1zPzogQ2xlYXJSZWZpbmVtZW50c0Nvbm5lY3RvclBhcmFtc1sndHJhbnNmb3JtSXRlbXMnXTtcblxuICBwdWJsaWMgc3RhdGU6IENsZWFyUmVmaW5lbWVudHNSZW5kZXJTdGF0ZSA9IHtcbiAgICBoYXNSZWZpbmVtZW50czogZmFsc2UsXG4gICAgY2FuUmVmaW5lOiBmYWxzZSxcbiAgICByZWZpbmU6IG5vb3AsXG4gICAgY3JlYXRlVVJMOiAoKSA9PiAnIycsXG4gIH07XG5cbiAgZ2V0IGlzSGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5zdGF0ZS5oYXNSZWZpbmVtZW50cyAmJiB0aGlzLmF1dG9IaWRlQ29udGFpbmVyO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IE5nQWlzSW5kZXgpKVxuICAgIEBPcHRpb25hbCgpXG4gICAgcHVibGljIHBhcmVudEluZGV4OiBOZ0Fpc0luZGV4LFxuICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBOZ0Fpc0luc3RhbnRTZWFyY2gpKVxuICAgIHB1YmxpYyBpbnN0YW50U2VhcmNoSW5zdGFuY2U6IE5nQWlzSW5zdGFudFNlYXJjaFxuICApIHtcbiAgICBzdXBlcignQ2xlYXJSZWZpbmVtZW50cycpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY3JlYXRlV2lkZ2V0KFxuICAgICAgY29ubmVjdENsZWFyUmVmaW5lbWVudHMsXG4gICAgICB7XG4gICAgICAgIGluY2x1ZGVkQXR0cmlidXRlczogdGhpcy5pbmNsdWRlZEF0dHJpYnV0ZXMsXG4gICAgICAgIGV4Y2x1ZGVkQXR0cmlidXRlczogdGhpcy5leGNsdWRlZEF0dHJpYnV0ZXMsXG4gICAgICAgIHRyYW5zZm9ybUl0ZW1zOiB0aGlzLnRyYW5zZm9ybUl0ZW1zLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgJCR3aWRnZXRUeXBlOiAnYWlzLmNsZWFyUmVmaW5lbWVudHMnLFxuICAgICAgfVxuICAgICk7XG5cbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGlmICh0aGlzLnN0YXRlLmhhc1JlZmluZW1lbnRzKSB7XG4gICAgICB0aGlzLnN0YXRlLnJlZmluZSgpO1xuICAgIH1cbiAgfVxufVxuIl19