@obliczeniowo/elementary
Version:
Library made in Angular version 20
160 lines (152 loc) • 7.87 kB
TypeScript
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 };