@progress/kendo-vue-grid
Version:
130 lines (129 loc) • 5.02 kB
TypeScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { CompositeFilterDescriptor } from '@progress/kendo-data-query';
import { GridColumnMenuFilterBaseProps } from '../interfaces/GridColumnMenuFilterBaseProps';
import { PropType } from 'vue';
/**
* @hidden
*/
export declare const rootFilterOrDefault: (rootFilter: CompositeFilterDescriptor | undefined) => CompositeFilterDescriptor;
/**
* Can be used to check if filtering is applied to a specific field ([see example]({% slug column_menu_grid %}#toc-styling-the-column-menu-icon)). Useful for creating active filter indicators.
*/
export declare const filterGroupByField: (field: string, filter: CompositeFilterDescriptor | undefined) => CompositeFilterDescriptor | null;
/**
* The props of the GridColumnMenuFilter component.
*/
export interface GridColumnMenuFilterProps extends GridColumnMenuFilterBaseProps {
/**
* Controls the expand state of the filter component.
*/
expanded?: boolean;
/**
* Triggers on each subsequent expand state of the filter component.
*/
onExpandchange?: (nextExpandState: boolean) => void;
/**
* If set to `false`, the second filter operator and the input will be hidden.
*/
hideSecondFilter?: boolean;
filterUI?: any;
/**
* Triggers when a filter is focused.
*/
onFilterfocus?: (e: any) => void;
}
/**
* @hidden
*/
export interface GridColumnMenuFilterStateProps {
expanded: boolean;
filterGroup: CompositeFilterDescriptor;
}
/**
* @hidden
*/
export interface GridColumnMenuFilterData {
currentExpanded: boolean;
filterGroup: any;
}
/**
* Represents the GridColumnMenuFilter component.
*
* @hidden
*/
declare const GridColumnMenuFilter: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
column: PropType<import('../interfaces/GridColumnMenuColumnProps').GridColumnMenuColumnProps>;
filter: PropType<CompositeFilterDescriptor>;
expanded: {
type: PropType<boolean>;
default: any;
};
filterable: PropType<boolean>;
filterOperators: {
type: PropType<import('../interfaces/GridFilterOperators').GridFilterOperators>;
default: () => import('../interfaces/GridFilterOperators').GridFilterOperators;
};
hideSecondFilter: {
type: PropType<boolean>;
default: () => any;
};
filterUI: PropType<any>;
onFilterfocus: PropType<(e: any) => void>;
onFilterchange: PropType<(filter: CompositeFilterDescriptor, syntheticEvent: any) => any>;
onExpandchange: PropType<(nextExpandState: boolean) => void>;
onClosemenu: PropType<Function>;
}>, {
kendoLocalizationService: {};
}, {
currentExpanded: boolean;
filterGroup: any;
}, {}, {
removeGroup(group: CompositeFilterDescriptor, rootFilter: CompositeFilterDescriptor): CompositeFilterDescriptor;
insertGroup(group: CompositeFilterDescriptor, rootFilter: CompositeFilterDescriptor): CompositeFilterDescriptor;
isControlled(): boolean;
onFilterExpand(): void;
filterChangeHandler(e: any, filterIndex?: number): void;
firstFilterChange(e: any): void;
secondFilterChange(e: any): void;
filterChange(filterIndex: number, e: {
value: number;
operator: string;
}): void;
logicChange(e: any): void;
clear(e: any): void;
currentFilterGroup(): CompositeFilterDescriptor;
submit(e: any): void;
handleFocus(e: any): void;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
column: PropType<import('../interfaces/GridColumnMenuColumnProps').GridColumnMenuColumnProps>;
filter: PropType<CompositeFilterDescriptor>;
expanded: {
type: PropType<boolean>;
default: any;
};
filterable: PropType<boolean>;
filterOperators: {
type: PropType<import('../interfaces/GridFilterOperators').GridFilterOperators>;
default: () => import('../interfaces/GridFilterOperators').GridFilterOperators;
};
hideSecondFilter: {
type: PropType<boolean>;
default: () => any;
};
filterUI: PropType<any>;
onFilterfocus: PropType<(e: any) => void>;
onFilterchange: PropType<(filter: CompositeFilterDescriptor, syntheticEvent: any) => any>;
onExpandchange: PropType<(nextExpandState: boolean) => void>;
onClosemenu: PropType<Function>;
}>> & Readonly<{}>, {
expanded: boolean;
filterOperators: import('../interfaces/GridFilterOperators').GridFilterOperators;
hideSecondFilter: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export { GridColumnMenuFilter };