UNPKG

@alfresco/adf-content-services

Version:
47 lines 12.7 kB
/*! * @license * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Component, ViewEncapsulation, Input } from '@angular/core'; import { SearchFilterComponent } from '../../components/search-filter/search-filter.component'; import { SearchFacetFiltersService } from '../../services/search-facet-filters.service'; import { CommonModule } from '@angular/common'; import { MatChipsModule } from '@angular/material/chips'; import { TranslateModule } from '@ngx-translate/core'; import { MatIconModule } from '@angular/material/icon'; import * as i0 from "@angular/core"; import * as i1 from "../../services/search-facet-filters.service"; import * as i2 from "@angular/common"; import * as i3 from "@angular/material/chips"; import * as i4 from "@ngx-translate/core"; import * as i5 from "@angular/material/icon"; export class SearchChipListComponent { constructor(facetFiltersService) { this.facetFiltersService = facetFiltersService; /** Flag used to enable the display of a clear-all-filters button. */ this.clearAll = false; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SearchChipListComponent, deps: [{ token: i1.SearchFacetFiltersService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: SearchChipListComponent, isStandalone: true, selector: "adf-search-chip-list", inputs: { searchFilter: "searchFilter", clearAll: "clearAll" }, host: { classAttribute: "adf-search-chip-list" }, ngImport: i0, template: "<mat-chip-listbox>\n <ng-container *ngIf=\"facetFiltersService.selectedBuckets.length\">\n <mat-chip-option *ngIf=\"clearAll && facetFiltersService.selectedBuckets.length > 1\"\n data-automation-id=\"reset-filter\"\n color=\"primary\"\n selected\n class=\"adf-search-chip-list-item\"\n title=\"{{ 'SEARCH.FILTER.BUTTONS.CLEAR-ALL.TOOLTIP' | translate }}\"\n (click)=\"facetFiltersService.resetAllSelectedBuckets()\">\n {{ 'SEARCH.FILTER.BUTTONS.CLEAR-ALL.LABEL' | translate }}\n </mat-chip-option>\n\n <mat-chip-option\n data-automation-id=\"chip-list-entry\"\n class=\"adf-search-chip-list-item\"\n *ngFor=\"let selection of facetFiltersService.selectedBuckets\"\n [removable]=\"true\"\n (removed)=\"facetFiltersService.unselectFacetBucket(selection.field, selection.bucket)\">\n {{ (selection.bucket.display || selection.bucket.label) | translate }}\n <mat-icon class=\"adf-search-chip-list-item-remove\" matChipRemove>cancel</mat-icon>\n </mat-chip-option>\n </ng-container>\n</mat-chip-listbox>\n", styles: [".adf-search-chip-list-item:focus{color:var(--theme-accent-color-default-contrast);background-color:var(--theme-accent-color)}.adf-search-chip-list-item:focus .adf-search-chip-list-item-remove{color:var(--theme-accent-color-default-contrast);opacity:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i3.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i3.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }, { kind: "directive", type: i3.MatChipRemove, selector: "[matChipRemove]" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SearchChipListComponent, decorators: [{ type: Component, args: [{ selector: 'adf-search-chip-list', standalone: true, imports: [CommonModule, MatChipsModule, TranslateModule, MatIconModule], encapsulation: ViewEncapsulation.None, host: { class: 'adf-search-chip-list' }, template: "<mat-chip-listbox>\n <ng-container *ngIf=\"facetFiltersService.selectedBuckets.length\">\n <mat-chip-option *ngIf=\"clearAll && facetFiltersService.selectedBuckets.length > 1\"\n data-automation-id=\"reset-filter\"\n color=\"primary\"\n selected\n class=\"adf-search-chip-list-item\"\n title=\"{{ 'SEARCH.FILTER.BUTTONS.CLEAR-ALL.TOOLTIP' | translate }}\"\n (click)=\"facetFiltersService.resetAllSelectedBuckets()\">\n {{ 'SEARCH.FILTER.BUTTONS.CLEAR-ALL.LABEL' | translate }}\n </mat-chip-option>\n\n <mat-chip-option\n data-automation-id=\"chip-list-entry\"\n class=\"adf-search-chip-list-item\"\n *ngFor=\"let selection of facetFiltersService.selectedBuckets\"\n [removable]=\"true\"\n (removed)=\"facetFiltersService.unselectFacetBucket(selection.field, selection.bucket)\">\n {{ (selection.bucket.display || selection.bucket.label) | translate }}\n <mat-icon class=\"adf-search-chip-list-item-remove\" matChipRemove>cancel</mat-icon>\n </mat-chip-option>\n </ng-container>\n</mat-chip-listbox>\n", styles: [".adf-search-chip-list-item:focus{color:var(--theme-accent-color-default-contrast);background-color:var(--theme-accent-color)}.adf-search-chip-list-item:focus .adf-search-chip-list-item-remove{color:var(--theme-accent-color-default-contrast);opacity:1}\n"] }] }], ctorParameters: () => [{ type: i1.SearchFacetFiltersService }], propDecorators: { searchFilter: [{ type: Input }], clearAll: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNoaXAtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3NlYXJjaC9jb21wb25lbnRzL3NlYXJjaC1jaGlwLWxpc3Qvc2VhcmNoLWNoaXAtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3NlYXJjaC9jb21wb25lbnRzL3NlYXJjaC1jaGlwLWxpc3Qvc2VhcmNoLWNoaXAtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUMvRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7QUFXdkQsTUFBTSxPQUFPLHVCQUF1QjtJQVloQyxZQUFtQixtQkFBOEM7UUFBOUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUEyQjtRQUpqRSxxRUFBcUU7UUFFckUsYUFBUSxHQUFZLEtBQUssQ0FBQztJQUUwQyxDQUFDOzhHQVo1RCx1QkFBdUI7a0dBQXZCLHVCQUF1QixrTUNsQ3BDLHNxQ0F1QkEsc1RES2MsWUFBWSwrUEFBRSxjQUFjLDBoQkFBRSxlQUFlLDJGQUFFLGFBQWE7OzJGQU03RCx1QkFBdUI7a0JBVG5DLFNBQVM7K0JBQ0ksc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQyxpQkFHeEQsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRTs4RkFRdkMsWUFBWTtzQkFEWCxLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlYXJjaEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2VhcmNoLWZpbHRlci9zZWFyY2gtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hGYWNldEZpbHRlcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2VhcmNoLWZhY2V0LWZpbHRlcnMuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtc2VhcmNoLWNoaXAtbGlzdCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRDaGlwc01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWNoaXAtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWNoaXAtbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDogeyBjbGFzczogJ2FkZi1zZWFyY2gtY2hpcC1saXN0JyB9XG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaENoaXBMaXN0Q29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiBTZWFyY2ggZmlsdGVyIHRvIHN1cHBseSB0aGUgZGF0YSBmb3IgdGhlIGNoaXBzLlxuICAgICAqIE5vdCByZXF1aXJlZCBmcm9tIDQuNS4wIGFuZCBsYXRlciB2ZXJzaW9ucyBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2VhcmNoRmlsdGVyOiBTZWFyY2hGaWx0ZXJDb21wb25lbnQ7XG5cbiAgICAvKiogRmxhZyB1c2VkIHRvIGVuYWJsZSB0aGUgZGlzcGxheSBvZiBhIGNsZWFyLWFsbC1maWx0ZXJzIGJ1dHRvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNsZWFyQWxsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZmFjZXRGaWx0ZXJzU2VydmljZTogU2VhcmNoRmFjZXRGaWx0ZXJzU2VydmljZSkge31cbn1cbiIsIjxtYXQtY2hpcC1saXN0Ym94PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmYWNldEZpbHRlcnNTZXJ2aWNlLnNlbGVjdGVkQnVja2V0cy5sZW5ndGhcIj5cbiAgICAgICAgPG1hdC1jaGlwLW9wdGlvbiAqbmdJZj1cImNsZWFyQWxsICYmIGZhY2V0RmlsdGVyc1NlcnZpY2Uuc2VsZWN0ZWRCdWNrZXRzLmxlbmd0aCA+IDFcIlxuICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwicmVzZXQtZmlsdGVyXCJcbiAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBzZWxlY3RlZFxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtc2VhcmNoLWNoaXAtbGlzdC1pdGVtXCJcbiAgICAgICAgICAgIHRpdGxlPVwie3sgJ1NFQVJDSC5GSUxURVIuQlVUVE9OUy5DTEVBUi1BTEwuVE9PTFRJUCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImZhY2V0RmlsdGVyc1NlcnZpY2UucmVzZXRBbGxTZWxlY3RlZEJ1Y2tldHMoKVwiPlxuICAgICAgICAgICAge3sgJ1NFQVJDSC5GSUxURVIuQlVUVE9OUy5DTEVBUi1BTEwuTEFCRUwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LWNoaXAtb3B0aW9uPlxuXG4gICAgICAgIDxtYXQtY2hpcC1vcHRpb25cbiAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImNoaXAtbGlzdC1lbnRyeVwiXG4gICAgICAgICAgICBjbGFzcz1cImFkZi1zZWFyY2gtY2hpcC1saXN0LWl0ZW1cIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNlbGVjdGlvbiBvZiBmYWNldEZpbHRlcnNTZXJ2aWNlLnNlbGVjdGVkQnVja2V0c1wiXG4gICAgICAgICAgICBbcmVtb3ZhYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgKHJlbW92ZWQpPVwiZmFjZXRGaWx0ZXJzU2VydmljZS51bnNlbGVjdEZhY2V0QnVja2V0KHNlbGVjdGlvbi5maWVsZCwgc2VsZWN0aW9uLmJ1Y2tldClcIj5cbiAgICAgICAgICAgIHt7IChzZWxlY3Rpb24uYnVja2V0LmRpc3BsYXkgfHwgc2VsZWN0aW9uLmJ1Y2tldC5sYWJlbCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFkZi1zZWFyY2gtY2hpcC1saXN0LWl0ZW0tcmVtb3ZlXCIgbWF0Q2hpcFJlbW92ZT5jYW5jZWw8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1jaGlwLW9wdGlvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LWNoaXAtbGlzdGJveD5cbiJdfQ==