ng-hub-ui-table
Version:
Highly customizable Angular table and list components with pagination, sorting and filtering support.
60 lines (59 loc) • 2.96 kB
TypeScript
import { ControlValueAccessor, FormArray, FormGroup } from '@angular/forms';
import { MatchModes, MenuFilterOperators, MenuFilterRule, MenuFilterValue, NullMatchModes } from '../../interfaces/column-filter-event';
import { PaginableTableHeader } from '../../interfaces/paginable-table-header';
import * as i0 from "@angular/core";
export declare class MenuFilterComponent implements ControlValueAccessor {
#private;
get header(): PaginableTableHeader;
set header(v: PaginableTableHeader);
form: FormGroup<{
operator: import("@angular/forms").FormControl<MenuFilterOperators | null>;
rules: FormArray<import("@angular/forms").FormControl<unknown>>;
}>;
get rulesFA(): FormArray;
onChange: (value: MenuFilterValue | null) => void;
onTouched: () => void;
matchModes: Array<MatchModes>;
nullMatchModes: typeof NullMatchModes;
defaultValue: MenuFilterValue;
/**
* Clears existing rules, sets a default value if none is provided, adds rules based on the input value, and patches the form with the input value.
* @param {MenuFilterValue} value - MenuFilterValue
*/
writeValue(value: MenuFilterValue | null): void;
registerOnChange(fn: any): void;
registerOnTouched(fn: any): void;
/**
* Adds a new form group to a FormArray with default values or values provided as input.
*
* @param {MenuFilterRule} [value] - The `value` parameter in the `add` method is an optional parameter of type `MenuFilterRule`.
* It is used to provide a value that will be patched into the form group created within the method. If a `value` is provided, it
* will be used to patch the form group's
*/
add(value?: MenuFilterRule): void;
/**
* Clears all rules in a FormArray, adds a new rule, and applies the changes.
*/
clear(): void;
/**
* Filters rules based on certain conditions and then calls onChange with the filtered rules or null.
*/
apply(): void;
/**
* Determines the appropriate match modes based on the filter type and assigns them to the `matchModes` property.
*/
setMatchMode(): void;
/**
* Initializes a default value for a menu filter with an operator and a rule containing a null value and a match mode.
*/
setDefaultValue(): void;
/**
* Disables or enables a form control based on the selected match mode in a FormGroup.
*
* @param {FormGroup} group - The `group` parameter is a FormGroup object in Angular, which represents a collection of FormControl
* instances. It is typically used to manage the form controls within a form.
*/
enableOrDisableValueControl(group: FormGroup): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MenuFilterComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MenuFilterComponent, "menu-filter", never, { "header": { "alias": "header"; "required": false; }; }, {}, never, never, true, never>;
}