UNPKG

armisa-models

Version:
37 lines (36 loc) 1.31 kB
/// <reference types="node" /> export type IValueOfListFilterType<T> = { value: T; }; export type IFilterMethodType = 'equal' | 'from' | 'to' | 'between' | 'list' | 'contain' | undefined; export interface IFilterBase<T, L> { key: string; method: IFilterMethodType; setMethodValue: (value: number | undefined) => void; getMethodValue: () => 0 | 1 | 2 | 3 | 4 | undefined; isFiltered: () => boolean; clearFilter: () => void; keyOfMethod: string; list: { value: L; }[] | undefined; itemOfListValue?: T; multiItem?: IValueOfListFilterType<L>; multiItemTimer?: NodeJS.Timeout; } export declare abstract class FilterBase<T, L, FILTERTYPE> implements IFilterBase<T, L> { abstract key: string; abstract method: IFilterMethodType; abstract setMethodValue: (value: number | undefined) => void; abstract getMethodValue: () => 0 | 1 | 2 | 3 | 4 | undefined; abstract getFilter: () => FILTERTYPE | undefined; abstract isFiltered: () => boolean; abstract clearFilter: () => void; abstract keyOfMethod: string; list: { value: L; }[] | undefined; abstract itemOfListValue?: T; abstract multiItem?: IValueOfListFilterType<L>; abstract multiItemTimer?: NodeJS.Timeout; }