UNPKG

@obliczeniowo/elementary

Version:
160 lines (152 loc) 7.87 kB
import * as _angular_core from '@angular/core'; import { TemplateRef, EventEmitter, ElementRef, SimpleChanges } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { NameItem } from '@obliczeniowo/elementary/sorting'; import * as i4 from '@obliczeniowo/elementary/dropdown-select'; import { DropdownSelectItem, DropdownSelectComponent } from '@obliczeniowo/elementary/dropdown-select'; import * as i5 from '@obliczeniowo/elementary/input'; import { InputWrappersDefaultSettingsService } from '@obliczeniowo/elementary/input'; import * as i3 from '@angular/common'; import * as i6 from '@obliczeniowo/elementary/buttons'; import * as i7 from '@obliczeniowo/elementary/switcher'; import * as i8 from '@angular/cdk/overlay'; import * as i9 from '@angular/cdk/drag-drop'; import * as i10 from '@obliczeniowo/elementary/text-pipes'; import * as i11 from '@obliczeniowo/elementary/badge'; interface Filter { id: number; valueName: string; filterValue: string | number; filterType: 'less' | 'less-eq' | 'eq' | 'not-eq' | 'more-eq' | 'more' | 'like' | 'regex' | 'not-regex' | 'and' | 'or'; filters?: Filter[]; } interface FilterOption { step?: number; min?: number; max?: number; default?: string | number; } interface FilterNameItem extends NameItem { type: 'number' | 'text' | 'group'; options?: FilterOption; } declare class FiltersService { checkItemCondition(item: { [key: string]: any; }, filters: Filter): boolean; operation(filter: Filter, item: { [key: string]: any; }): boolean; filter(input: { [key: string]: any; }, filters: Filter): any; static ɵfac: _angular_core.ɵɵFactoryDeclaration<FiltersService, never>; static ɵprov: _angular_core.ɵɵInjectableDeclaration<FiltersService>; } declare class FiltersComponent implements ControlValueAccessor { protected filtersService: FiltersService; protected readonly globalSettings: InputWrappersDefaultSettingsService; protected touchedDragBar: boolean; protected settingsItems: DropdownSelectItem<Filter>[]; protected errors: { [key: string]: { [key: string]: boolean; } | null; }; /** define if list is opened */ isOpen: boolean; /** define if element is touched */ touched: boolean; filters?: Filter; settings?: { [name: string]: Filter; }; translations: _angular_core.InputSignal<{ [en: string]: string; }>; names: _angular_core.InputSignal<FilterNameItem[]>; input: _angular_core.InputSignal<{ [key: string]: any; }[] | undefined>; suffix: _angular_core.InputSignal<TemplateRef<any> | undefined>; /** * Enable type text animation for label */ labelAnimation: boolean; disabled: boolean; filtersType: _angular_core.InputSignal<"full" | "no-regex">; settingsChanged: EventEmitter<{ [name: string]: Filter; }>; changed: EventEmitter<Filter>; output: EventEmitter<{ [key: string]: any; }[]>; selected?: DropdownSelectComponent; settingsName?: ElementRef<HTMLInputElement>; constructor(filtersService: FiltersService, globalSettings: InputWrappersDefaultSettingsService); ngOnChanges(changes: SimpleChanges): void; toggle(event: any, touched?: boolean): void; close(touched?: boolean): void; open(): void; onChange: (value: Filter) => void; onTouched: () => void; onTouchedDragBar(touched: boolean, element: any): void; checkSettingSelection(): void; writeValue(value: Filter): void; registerOnChange(onChange: any): void; registerOnTouched(onTouched: any): void; setDisabledState(disabled: boolean): void; saveSettings(input: HTMLInputElement): void; check(): void; onChanged(): void; protected setSettings(item: DropdownSelectItem<Filter>): void; protected removeSettings(name?: string | number): void; protected filterInput(): void; protected updateSettingsItems(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration<FiltersComponent, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration<FiltersComponent, "obl-filters", never, { "filters": { "alias": "filters"; "required": false; }; "settings": { "alias": "settings"; "required": false; }; "translations": { "alias": "translations"; "required": false; "isSignal": true; }; "names": { "alias": "names"; "required": false; "isSignal": true; }; "input": { "alias": "input"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "labelAnimation": { "alias": "labelAnimation"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "filtersType": { "alias": "filtersType"; "required": false; "isSignal": true; }; }, { "settingsChanged": "settingsChanged"; "changed": "changed"; "output": "output"; }, never, never, false, never>; } declare class FilterComponent { filter: _angular_core.InputSignal<Partial<Filter>>; names: _angular_core.InputSignal<FilterNameItem[]>; haveParent: _angular_core.InputSignal<boolean>; mode: _angular_core.InputSignal<"adding" | "removing">; translations: _angular_core.InputSignal<{ [en: string]: string; }>; suffix: _angular_core.InputSignal<TemplateRef<any> | undefined>; labelAnimation: _angular_core.InputSignal<boolean>; filtersType: _angular_core.InputSignal<"full" | "no-regex">; /** filters changed */ changed: EventEmitter<Filter>; /** filter added */ add: EventEmitter<Filter>; /** filter remove */ remove: EventEmitter<Filter>; expanded: boolean; protected nameItems: DropdownSelectItem<FilterNameItem>[]; protected filtersItems: DropdownSelectItem<any>[]; protected group: string[]; protected numeric: string[]; protected text: _angular_core.Signal<string[]>; ngOnChanges(changes: SimpleChanges): void; setName(name: DropdownSelectItem<FilterNameItem>): void; setFilter(filter: DropdownSelectItem<any>): void; setValue: (value: string | number) => void; action(): void; onRemove(filter: Filter): void; onAdd(filter: Filter): void; addGroup(): void; setGroupType(orAnd: boolean): void; removeGroup(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration<FilterComponent, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterComponent, "obl-filter", never, { "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "names": { "alias": "names"; "required": false; "isSignal": true; }; "haveParent": { "alias": "haveParent"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "translations": { "alias": "translations"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "labelAnimation": { "alias": "labelAnimation"; "required": false; "isSignal": true; }; "filtersType": { "alias": "filtersType"; "required": false; "isSignal": true; }; }, { "changed": "changed"; "add": "add"; "remove": "remove"; }, never, never, false, never>; } declare class FiltersModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration<FiltersModule, never>; static ɵmod: _angular_core.ɵɵNgModuleDeclaration<FiltersModule, [typeof FiltersComponent, typeof FilterComponent], [typeof i3.CommonModule, typeof i4.DropdownSelectModule, typeof i5.InputModule, typeof i6.ButtonsModule, typeof i7.SwitcherModule, typeof i8.OverlayModule, typeof i9.DragDropModule, typeof i10.TextPipesModule, typeof i11.BadgeDirective], [typeof FiltersComponent]>; static ɵinj: _angular_core.ɵɵInjectorDeclaration<FiltersModule>; } export { FiltersComponent, FiltersModule, FiltersService }; export type { Filter, FilterNameItem, FilterOption };