@tapsellorg/angular-material-library
Version:
Angular library for Tapsell
60 lines (59 loc) • 2.22 kB
TypeScript
import { Subject } from 'rxjs';
import { AbstractControl } from '@angular/forms';
import { PghFilterChipsMarkerDirective } from './filter-chips.directive';
import { TemplateRef } from '@angular/core';
export interface PghFilterChipItemsConnectorOptions {
directiveConnector$: Subject<PghFilterChipsMarkerDirective>;
}
export declare class PghFilterChipsItem<T extends any = any> {
markerDirective: PghFilterChipsMarkerDirective;
config: PghFilterChipConfig;
private _value$;
readonly filterControl?: AbstractControl | null;
value?: T | T[];
updateOn: PghFilterFieldUpdateOn;
valueDisplayedName?: string;
private _isActive;
private _isOverlayOpen;
get isActive(): boolean;
set isActive(value: boolean);
get isOverlayOpen(): boolean;
set isOverlayOpen(value: boolean);
/**
* Used for submit
* When a new value is emitted to this observable, The filters are submitted
*/
value$: import("rxjs").Observable<T | T[] | undefined>;
constructor(markerDirective: PghFilterChipsMarkerDirective, config: PghFilterChipConfig, initValue?: PghFilterChipInitValue<T> | PghFilterChipInitValue<T>[] | null);
private setSingleValue;
private setMultipleValue;
valueSetter: (value: T | T[], { closeOverlay, displayedName }?: PghFilterChipValueSetterConfig) => void;
closeOverlay: () => void;
private initFilterControlSetups;
private emitUpdatedValue;
onDestroy(): void;
clear(): void;
openOverlay(): void;
}
export interface PghFilterChipConfig {
field: string;
name: string;
filterControl?: AbstractControl | null;
panelClass?: string | null;
updateOn?: PghFilterFieldUpdateOn | null;
debounceValueChangeDelay?: number | null;
chipTemplate?: TemplateRef<any> | null;
alwaysActive?: boolean | null;
placeholder?: string | null;
noClearButton?: boolean | null;
}
export type PghFilterFieldUpdateOn = 'valueChange' | 'closeOverlay';
export interface PghFilterChipValueSetterConfig {
closeOverlay?: boolean;
displayedName?: string;
}
export interface PghFilterChipInitValue<T = any> {
value: T;
name?: string;
}
export type PghFilterChipsSearchEvent = Record<string, any>;