@vuu-ui/vuu-filters 3.4.1 → 3.5.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +12 -12
- package/src/FilterAggregator.js +61 -42
- package/src/filter-clause/operator-picker/operator-utils.js +2 -2
- package/src/filter-clause/value-editors/FilterClauseValueEditor.js +8 -5
- package/src/filter-clause/value-editors/FilterClauseValueEditorDate.js +11 -43
- package/src/filter-clause/value-editors/FilterClauseValueEditorTime.js +16 -42
- package/src/filter-container/ExtendedSingleValueFilterClause.js +21 -7
- package/src/filter-container/FilterContainer.js +2 -5
- package/src/filter-pill/getFilterTooltipText.js +2 -8
- package/src/filter-utils.js +5 -10
- package/src/quick-filters/useQuickFilters.js +6 -1
- package/types/filter-clause/value-editors/FilterClauseValueEditorDate.d.ts +13 -2
- package/types/filter-clause/value-editors/FilterClauseValueEditorTime.d.ts +15 -4
- package/types/filter-container/ExtendedSingleValueFilterClause.d.ts +6 -0
- package/types/src/FilterAggregator.d.ts +0 -28
- package/types/src/FilterModel.d.ts +0 -44
- package/types/src/column-filter/ColumnFilter.d.ts +0 -6
- package/types/src/column-filter/useColumnFilter.d.ts +0 -43
- package/types/src/column-filter/utils.d.ts +0 -4
- package/types/src/custom-filters/CustomFilters.d.ts +0 -7
- package/types/src/custom-filters/filterBarFocusManagement.d.ts +0 -1
- package/types/src/custom-filters/index.d.ts +0 -1
- package/types/src/custom-filters/useCustomFilters.d.ts +0 -33
- package/types/src/custom-filters/useFilterState.d.ts +0 -17
- package/types/src/filter-bar/FilterBar.d.ts +0 -33
- package/types/src/filter-bar/FilterBarMenu.d.ts +0 -1
- package/types/src/filter-bar/index.d.ts +0 -2
- package/types/src/filter-bar/useFilterBar.d.ts +0 -7
- package/types/src/filter-clause/ExpandoCombobox.d.ts +0 -10
- package/types/src/filter-clause/FilterClause.d.ts +0 -16
- package/types/src/filter-clause/column-picker/ColumnPicker.d.ts +0 -13
- package/types/src/filter-clause/column-picker/useColumnPicker.d.ts +0 -11
- package/types/src/filter-clause/filterClauseFocusManagement.d.ts +0 -15
- package/types/src/filter-clause/filterClauseTypes.d.ts +0 -12
- package/types/src/filter-clause/index.d.ts +0 -5
- package/types/src/filter-clause/operator-picker/OperatorPicker.d.ts +0 -14
- package/types/src/filter-clause/operator-picker/operator-utils.d.ts +0 -5
- package/types/src/filter-clause/operator-picker/useOperatorPicker.d.ts +0 -12
- package/types/src/filter-clause/useFilterClause.d.ts +0 -26
- package/types/src/filter-clause/value-editors/FilterClauseValueEditor.d.ts +0 -26
- package/types/src/filter-clause/value-editors/FilterClauseValueEditorDate.d.ts +0 -9
- package/types/src/filter-clause/value-editors/FilterClauseValueEditorNumber.d.ts +0 -9
- package/types/src/filter-clause/value-editors/FilterClauseValueEditorText.d.ts +0 -9
- package/types/src/filter-clause/value-editors/FilterClauseValueEditorTime.d.ts +0 -9
- package/types/src/filter-container/ExtendedSingleValueFilterClause.d.ts +0 -21
- package/types/src/filter-container/FilterContainer.d.ts +0 -23
- package/types/src/filter-container/useFilterContainer.d.ts +0 -22
- package/types/src/filter-context-menu/useFilterContextMenu.d.ts +0 -6
- package/types/src/filter-display/FilterDisplay.d.ts +0 -10
- package/types/src/filter-editor/FilterClauseCombinator.d.ts +0 -9
- package/types/src/filter-editor/FilterEditor.d.ts +0 -14
- package/types/src/filter-editor/index.d.ts +0 -1
- package/types/src/filter-editor/useFilterEditor.d.ts +0 -32
- package/types/src/filter-panel/FilterPanel.d.ts +0 -9
- package/types/src/filter-panel/useFilterPanel.d.ts +0 -14
- package/types/src/filter-pill/FilterMenu.d.ts +0 -24
- package/types/src/filter-pill/FilterPill.d.ts +0 -16
- package/types/src/filter-pill/FilterPillNext.d.ts +0 -15
- package/types/src/filter-pill/filterAsReactNode.d.ts +0 -3
- package/types/src/filter-pill/getFilterLabel.d.ts +0 -2
- package/types/src/filter-pill/getFilterTooltipText.d.ts +0 -2
- package/types/src/filter-pill/index.d.ts +0 -1
- package/types/src/filter-pill/useFilterPillNext.d.ts +0 -25
- package/types/src/filter-pill-menu/FilterPillMenu.d.ts +0 -17
- package/types/src/filter-pill-menu/FilterPillMenuOptions.d.ts +0 -12
- package/types/src/filter-pill-menu/index.d.ts +0 -1
- package/types/src/filter-provider/FilterContext.d.ts +0 -39
- package/types/src/filter-provider/FilterProvider.d.ts +0 -10
- package/types/src/filter-provider/filter-descriptor-utils.d.ts +0 -7
- package/types/src/filter-toggle-button/FilterToggleButton.d.ts +0 -9
- package/types/src/filter-utils.d.ts +0 -60
- package/types/src/index.d.ts +0 -24
- package/types/src/inline-filter/InlineFilter.d.ts +0 -12
- package/types/src/inline-filter/index.d.ts +0 -1
- package/types/src/inline-filter/useInlineFilter.d.ts +0 -5
- package/types/src/quick-filters/QuickFilters.d.ts +0 -17
- package/types/src/quick-filters/index.d.ts +0 -1
- package/types/src/quick-filters/useQuickFilters.d.ts +0 -12
- package/types/src/saved-filters/DeleteFilterPrompt.d.ts +0 -9
- package/types/src/saved-filters/FilterNamePrompt.d.ts +0 -6
- package/types/src/saved-filters/SavedFilterPanel.d.ts +0 -14
- package/types/src/saved-filters/useFilterNamePrompt.d.ts +0 -28
- package/types/src/saved-filters/useSavedFilterPanel.d.ts +0 -13
- package/types/src/tabbed-filter-container/TabbedFilterContainer.d.ts +0 -10
- package/types/src/toggle-filter/ToggleFilter.d.ts +0 -17
- package/types/src/toggle-filter/useToggleFilter.d.ts +0 -11
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { type SegmentedButtonGroupProps } from "@salt-ds/core";
|
|
2
|
-
import { DataItemEditControlProps } from "@vuu-ui/vuu-data-react";
|
|
3
|
-
import { ColumnFilterHookProps } from "./useColumnFilter";
|
|
4
|
-
export interface ColumnFilterProps extends ColumnFilterHookProps, Omit<SegmentedButtonGroupProps, "defaultValue">, Pick<DataItemEditControlProps, "TypeaheadProps" | "table" | "values" | "variant"> {
|
|
5
|
-
}
|
|
6
|
-
export declare const ColumnFilter: import("react").ForwardRefExoticComponent<ColumnFilterProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { ColumnFilterChangeHandler, ColumnFilterCommitHandler, ColumnFilterOp, ColumnFilterValue, ExtendedFilterOptions } from "@vuu-ui/vuu-filter-types";
|
|
2
|
-
import { ColumnDescriptor } from "@vuu-ui/vuu-table-types";
|
|
3
|
-
import { InputProps } from "@salt-ds/core";
|
|
4
|
-
import { CommitHandler } from "@vuu-ui/vuu-utils";
|
|
5
|
-
import { DataItemEditControlProps } from "@vuu-ui/vuu-data-react";
|
|
6
|
-
export interface ColumnFilterHookProps extends Pick<DataItemEditControlProps, "InputProps"> {
|
|
7
|
-
column: ColumnDescriptor;
|
|
8
|
-
/**
|
|
9
|
-
* Filter defaultValue. Pair of values expected when operator is
|
|
10
|
-
* 'between'. If provided, component is uncontrolled
|
|
11
|
-
*/
|
|
12
|
-
defaultValue?: ColumnFilterValue;
|
|
13
|
-
/**
|
|
14
|
-
* Provides for custom filters.
|
|
15
|
-
*/
|
|
16
|
-
extendedFilterOptions?: ExtendedFilterOptions;
|
|
17
|
-
/**
|
|
18
|
-
* Filter change events.
|
|
19
|
-
*/
|
|
20
|
-
onColumnFilterChange?: ColumnFilterChangeHandler;
|
|
21
|
-
/**
|
|
22
|
-
* Filter change events on second control in range filter
|
|
23
|
-
*/
|
|
24
|
-
onColumnRangeFilterChange?: ColumnFilterChangeHandler;
|
|
25
|
-
/**
|
|
26
|
-
* Called when user 'commits' filter value, either by pressing enter,
|
|
27
|
-
* tabbing away from control or making selection from list
|
|
28
|
-
*/
|
|
29
|
-
onCommit: ColumnFilterCommitHandler;
|
|
30
|
-
operator?: ColumnFilterOp;
|
|
31
|
-
/**
|
|
32
|
-
* Filter value. Pair of values expected when operator is
|
|
33
|
-
* 'between'. If provided, component is controlled.
|
|
34
|
-
*/
|
|
35
|
-
value?: ColumnFilterValue;
|
|
36
|
-
}
|
|
37
|
-
export declare const useColumnFilter: ({ InputProps: InputPropsProp, column, defaultValue, extendedFilterOptions, onColumnFilterChange, onColumnRangeFilterChange, onCommit, operator, value: valueProp, }: ColumnFilterHookProps) => {
|
|
38
|
-
InputProps: InputProps;
|
|
39
|
-
InputPropsRange: InputProps;
|
|
40
|
-
isInvalid: boolean;
|
|
41
|
-
onCommit: CommitHandler<HTMLElement>;
|
|
42
|
-
onCommitRange: CommitHandler<HTMLElement>;
|
|
43
|
-
};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { Filter } from "@vuu-ui/vuu-filter-types";
|
|
2
|
-
export declare const isStartsWithValue: (value: string) => boolean;
|
|
3
|
-
export declare const getTypeaheadFilter: (column: string, filterValues: string[], isStartsWithFilter?: boolean) => Filter | undefined;
|
|
4
|
-
export declare const getRangeFilter: (column: string, startValue?: number, endValue?: number) => Filter | undefined;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { ColumnDescriptor } from "@vuu-ui/vuu-table-types";
|
|
2
|
-
import { HTMLAttributes } from "react";
|
|
3
|
-
import { type FilterBarProps } from "../filter-bar";
|
|
4
|
-
export interface CustomFilterProps extends HTMLAttributes<HTMLDivElement>, Pick<FilterBarProps, "defaultFilterState" | "filterState" | "onApplyFilter" | "onClearFilter" | "onFilterDeleted" | "onFilterRenamed" | "onFilterStateChanged" | "vuuTable"> {
|
|
5
|
-
columnDescriptors: readonly ColumnDescriptor[];
|
|
6
|
-
}
|
|
7
|
-
export declare const CustomFilters: ({ columnDescriptors, defaultFilterState, filterState, onApplyFilter, onClearFilter, onFilterDeleted, onFilterRenamed, onFilterStateChanged, vuuTable, }: CustomFilterProps) => import("react").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const navigateToNextItem: (el: HTMLElement | EventTarget, direction?: "bwd" | "fwd") => void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./CustomFilters";
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { ColumnDescriptorsByName, Filter } from "@vuu-ui/vuu-filter-types";
|
|
2
|
-
import { PromptProps } from "@vuu-ui/vuu-ui-controls";
|
|
3
|
-
import { KeyboardEventHandler, RefObject } from "react";
|
|
4
|
-
import { FilterBarProps } from "../filter-bar";
|
|
5
|
-
import { FilterEditCancelHandler, FilterEditSaveHandler } from "../filter-editor";
|
|
6
|
-
import { FilterPillProps } from "../filter-pill";
|
|
7
|
-
export type EditFilterState = "create" | "edit";
|
|
8
|
-
export type FilterState = EditFilterState | "rename";
|
|
9
|
-
export declare const isEditFilterState: (filterState?: string) => filterState is EditFilterState;
|
|
10
|
-
type InteractedFilterState = {
|
|
11
|
-
filter?: Filter;
|
|
12
|
-
index: number;
|
|
13
|
-
state: FilterState;
|
|
14
|
-
};
|
|
15
|
-
export interface CustomFilterHookProps extends Pick<FilterBarProps, "columnDescriptors" | "defaultFilterState" | "filterState" | "onApplyFilter" | "onClearFilter" | "onFilterDeleted" | "onFilterRenamed" | "onFilterStateChanged"> {
|
|
16
|
-
containerRef: RefObject<HTMLDivElement | null>;
|
|
17
|
-
}
|
|
18
|
-
export declare const useCustomFilters: ({ columnDescriptors, containerRef, defaultFilterState, filterState, onApplyFilter, onClearFilter, onFilterDeleted, onFilterRenamed, onFilterStateChanged, }: CustomFilterHookProps) => {
|
|
19
|
-
FilterPillProps: Omit<FilterPillProps, "filter" | "selected">;
|
|
20
|
-
activeFilterIndex: number[];
|
|
21
|
-
addButtonProps: {
|
|
22
|
-
ref: RefObject<HTMLButtonElement | null>;
|
|
23
|
-
onClick: () => void;
|
|
24
|
-
onKeyDown: KeyboardEventHandler;
|
|
25
|
-
};
|
|
26
|
-
columnsByName: ColumnDescriptorsByName;
|
|
27
|
-
filters: Filter[];
|
|
28
|
-
interactedFilterState: InteractedFilterState | undefined;
|
|
29
|
-
onCancelEdit: FilterEditCancelHandler;
|
|
30
|
-
onSave: FilterEditSaveHandler;
|
|
31
|
-
promptProps: PromptProps | null;
|
|
32
|
-
};
|
|
33
|
-
export {};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Filter, FilterState } from "@vuu-ui/vuu-filter-types";
|
|
2
|
-
export interface FiltersHookProps {
|
|
3
|
-
defaultFilterState?: FilterState;
|
|
4
|
-
filterState?: FilterState;
|
|
5
|
-
onFilterDeleted?: (filter: Filter) => void;
|
|
6
|
-
onFilterRenamed?: (filter: Filter, name: string) => void;
|
|
7
|
-
onFilterStateChanged?: (s: FilterState) => void;
|
|
8
|
-
}
|
|
9
|
-
export declare const useFilterState: ({ defaultFilterState, onFilterDeleted, onFilterRenamed, onFilterStateChanged, filterState: filterStateProp, }: FiltersHookProps) => {
|
|
10
|
-
activeFilterIndex: number[];
|
|
11
|
-
filters: Filter[];
|
|
12
|
-
onToggleFilterActive: (filterIndex: number, preserveRemainingFilters?: boolean) => void;
|
|
13
|
-
onAddFilter: (filter: Filter) => number;
|
|
14
|
-
onChangeFilter: (oldFilter: Filter, newFilter: Filter) => number;
|
|
15
|
-
onDeleteFilter: (filter: Filter) => number;
|
|
16
|
-
onRenameFilter: (filter: Filter, name: string) => number;
|
|
17
|
-
};
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Filter, FilterHandler, FilterState } from "@vuu-ui/vuu-filter-types";
|
|
2
|
-
import { ColumnDescriptor } from "@vuu-ui/vuu-table-types";
|
|
3
|
-
import { HTMLAttributes } from "react";
|
|
4
|
-
import { QuickFilterProps } from "../quick-filters";
|
|
5
|
-
import { FilterMode } from "./useFilterBar";
|
|
6
|
-
import type { VuuTable } from "@vuu-ui/vuu-protocol-types";
|
|
7
|
-
export type FilterBarVariant = "custom-filters-only" | "quick-filters-only" | "full-filters";
|
|
8
|
-
export interface FilterBarProps extends HTMLAttributes<HTMLDivElement> {
|
|
9
|
-
QuickFilterProps?: Pick<QuickFilterProps, "quickFilterColumns" | "onChangeQuickFilterColumns">;
|
|
10
|
-
/**
|
|
11
|
-
* Used to ensure we present filter editors appropriate to the data type of column.
|
|
12
|
-
* NOTE: Always make sure that these are passed with proper re-render optimization (i.e make
|
|
13
|
-
* sure its a stable reference, in React terminology), otherwise might end up with infinite
|
|
14
|
-
* state updates.
|
|
15
|
-
*/
|
|
16
|
-
columnDescriptors: readonly ColumnDescriptor[];
|
|
17
|
-
defaultFilterMode?: FilterMode;
|
|
18
|
-
defaultFilterState?: FilterState;
|
|
19
|
-
filterMode?: FilterMode;
|
|
20
|
-
filterState?: FilterState;
|
|
21
|
-
onApplyFilter: FilterHandler;
|
|
22
|
-
onChangeFilterMode?: (filterMode: FilterMode) => void;
|
|
23
|
-
onClearFilter: () => void;
|
|
24
|
-
onFilterDeleted?: FilterHandler;
|
|
25
|
-
onFilterRenamed?: (filter: Filter, name: string) => void;
|
|
26
|
-
onFilterStateChanged?: (state: FilterState) => void;
|
|
27
|
-
/**
|
|
28
|
-
* Defines table used in call to Vuu Typeahead service
|
|
29
|
-
*/
|
|
30
|
-
vuuTable?: VuuTable;
|
|
31
|
-
variant?: FilterBarVariant;
|
|
32
|
-
}
|
|
33
|
-
export declare const FilterBar: ({ QuickFilterProps, className: classNameProp, columnDescriptors, defaultFilterMode, defaultFilterState, filterMode: filterModeProp, filterState, onApplyFilter, onChangeFilterMode: onChangeFilterModeProp, onClearFilter, onFilterDeleted, onFilterRenamed, onFilterStateChanged, vuuTable, variant, ...htmlAttributes }: FilterBarProps) => import("react").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const FilterBarMenu: () => import("react").JSX.Element;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { SyntheticEvent } from "react";
|
|
2
|
-
import { FilterBarProps } from "./FilterBar";
|
|
3
|
-
export type FilterMode = "custom-filter" | "quick-filter";
|
|
4
|
-
export declare const useFilterBar: ({ defaultFilterMode, filterMode: filterModeProp, onChangeFilterMode, }: Pick<FilterBarProps, "defaultFilterMode" | "filterMode" | "onChangeFilterMode">) => {
|
|
5
|
-
filterMode: FilterMode;
|
|
6
|
-
onChangeFilterMode: (e: SyntheticEvent<HTMLButtonElement>) => void;
|
|
7
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { ComboBoxProps } from "@salt-ds/core";
|
|
2
|
-
import { ReactElement, Ref } from "react";
|
|
3
|
-
export interface ExpandoComboboxProps<Item = string> extends Omit<ComboBoxProps<Item>, "onOpenChange"> {
|
|
4
|
-
itemToString?: (item: Item) => string;
|
|
5
|
-
dropdownOnAutofocus?: boolean;
|
|
6
|
-
onOpenChange?: (open: boolean, reason?: "manual" | "input" | "focus") => void;
|
|
7
|
-
}
|
|
8
|
-
export declare const ExpandoCombobox: <Item = string>(props: ExpandoComboboxProps<Item> & {
|
|
9
|
-
ref?: Ref<HTMLDivElement>;
|
|
10
|
-
}) => ReactElement;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { ColumnDescriptorsByName } from "@vuu-ui/vuu-filter-types";
|
|
2
|
-
import { HTMLAttributes } from "react";
|
|
3
|
-
import { FilterClauseModel } from "../FilterModel";
|
|
4
|
-
import { VuuTable } from "@vuu-ui/vuu-protocol-types";
|
|
5
|
-
export type FilterClauseCancelType = "Backspace" | "Escape";
|
|
6
|
-
export type FilterClauseCancelHandler = (filterClause: FilterClauseModel, reason: FilterClauseCancelType) => void;
|
|
7
|
-
export interface FilterClauseProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
|
|
8
|
-
columnsByName: ColumnDescriptorsByName;
|
|
9
|
-
filterClauseModel: FilterClauseModel;
|
|
10
|
-
onCancel?: FilterClauseCancelHandler;
|
|
11
|
-
onDropdownOpen?: () => void;
|
|
12
|
-
onFocusSave?: () => void;
|
|
13
|
-
dropdownOnAutofocus?: boolean;
|
|
14
|
-
vuuTable: VuuTable;
|
|
15
|
-
}
|
|
16
|
-
export declare const FilterClause: ({ className, columnsByName, onCancel, onDropdownOpen, onFocusSave, filterClauseModel, vuuTable, dropdownOnAutofocus, ...htmlAttributes }: FilterClauseProps) => import("react").JSX.Element;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { ColumnDescriptor } from "@vuu-ui/vuu-table-types";
|
|
2
|
-
import { ComboBoxProps } from "@salt-ds/core";
|
|
3
|
-
import { SyntheticEvent } from "react";
|
|
4
|
-
export type ColumnPickerProps = Pick<ComboBoxProps, "className" | "inputProps" | "value"> & {
|
|
5
|
-
columns: readonly ColumnDescriptor[];
|
|
6
|
-
onSelect: (evt: SyntheticEvent, columnName: string) => void;
|
|
7
|
-
dropdownOnAutofocus?: boolean;
|
|
8
|
-
};
|
|
9
|
-
export declare const ColumnPicker: import("react").ForwardRefExoticComponent<Pick<ComboBoxProps<string>, "className" | "inputProps" | "value"> & {
|
|
10
|
-
columns: readonly ColumnDescriptor[];
|
|
11
|
-
onSelect: (evt: SyntheticEvent, columnName: string) => void;
|
|
12
|
-
dropdownOnAutofocus?: boolean;
|
|
13
|
-
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { ChangeEvent, SyntheticEvent } from "react";
|
|
2
|
-
export declare const useColumnPicker: ({ onSelect, value: valueProp, }: {
|
|
3
|
-
onSelect: (evt: SyntheticEvent, columnName: string) => void;
|
|
4
|
-
value: string;
|
|
5
|
-
}) => {
|
|
6
|
-
onChange: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
7
|
-
onOpenChange: (isOpen: boolean, reason?: "manual" | "input" | "focus") => void;
|
|
8
|
-
onSelectionChange: (evt: SyntheticEvent, [newSelected]: string[]) => void;
|
|
9
|
-
ref: import("react").RefObject<HTMLDivElement | null>;
|
|
10
|
-
value: string;
|
|
11
|
-
};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { KeyboardEvent } from "react";
|
|
2
|
-
type FilterClauseFieldName = "column" | "operator" | "value";
|
|
3
|
-
export declare const getFocusedFieldDetails: () => [number, string] | [];
|
|
4
|
-
export declare const elementIsFilterCombinator: (element: Element | null) => element is HTMLElement;
|
|
5
|
-
export declare const elementIsFilterClause: (element: Element | null) => element is HTMLElement;
|
|
6
|
-
export declare const focusFilterClauseField: (filterEditor: HTMLElement, filterClauseIndex: number, fieldName?: FilterClauseFieldName) => void;
|
|
7
|
-
export declare const focusLastClauseValue: (filterEditor: HTMLElement) => void;
|
|
8
|
-
export declare const focusNextFocusableElement: (direction?: "fwd" | "bwd") => void;
|
|
9
|
-
export declare const focusNextElement: () => void;
|
|
10
|
-
export declare const clauseIsNotFirst: (el: HTMLElement) => boolean | undefined;
|
|
11
|
-
export declare const tabToPreviousFilterCombinator: (currentElement: HTMLElement) => void;
|
|
12
|
-
export declare const navigateToNextFilterClause: (currentElement: HTMLElement, direction?: "bwd" | "fwd") => void;
|
|
13
|
-
export declare const navigateToNextItemIfAtBoundary: (evt: KeyboardEvent<HTMLInputElement>) => void;
|
|
14
|
-
export declare const focusFirstClauseIfAllClausesValid: (filterEditor: HTMLElement) => void;
|
|
15
|
-
export {};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { TableSchemaTable } from "@vuu-ui/vuu-data-types";
|
|
2
|
-
import type { ColumnDescriptor } from "@vuu-ui/vuu-table-types";
|
|
3
|
-
import type { InputProps } from "@salt-ds/core";
|
|
4
|
-
import type { FilterClauseValueChangeHandler } from "./useFilterClause";
|
|
5
|
-
export interface FilterClauseValueEditor {
|
|
6
|
-
inputProps?: InputProps["inputProps"];
|
|
7
|
-
column: ColumnDescriptor;
|
|
8
|
-
onDeselect?: () => void;
|
|
9
|
-
onChangeValue: FilterClauseValueChangeHandler;
|
|
10
|
-
onOpenChange?: (open: boolean, reason?: "input" | "manual" | "focus") => void;
|
|
11
|
-
table?: TableSchemaTable;
|
|
12
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { FilterClauseOp } from "@vuu-ui/vuu-filter-types";
|
|
2
|
-
import type { ColumnDescriptor } from "@vuu-ui/vuu-table-types";
|
|
3
|
-
import { ComboBoxProps } from "@salt-ds/core";
|
|
4
|
-
import { SyntheticEvent } from "react";
|
|
5
|
-
export type OperatorPickerProps = Pick<ComboBoxProps, "className" | "inputProps" | "value"> & {
|
|
6
|
-
column: ColumnDescriptor;
|
|
7
|
-
onSelect: (evt: SyntheticEvent, operator: FilterClauseOp) => void;
|
|
8
|
-
dropdownOnAutofocus?: boolean;
|
|
9
|
-
};
|
|
10
|
-
export declare const OperatorPicker: import("react").ForwardRefExoticComponent<Pick<ComboBoxProps<string>, "className" | "inputProps" | "value"> & {
|
|
11
|
-
column: ColumnDescriptor;
|
|
12
|
-
onSelect: (evt: SyntheticEvent, operator: FilterClauseOp) => void;
|
|
13
|
-
dropdownOnAutofocus?: boolean;
|
|
14
|
-
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { ColumnDescriptor } from "@vuu-ui/vuu-table-types";
|
|
2
|
-
import type { FilterClauseOp, NumericFilterClauseOp } from "@vuu-ui/vuu-filter-types";
|
|
3
|
-
export declare const textOperators: FilterClauseOp[];
|
|
4
|
-
export declare const numericOperators: NumericFilterClauseOp[];
|
|
5
|
-
export declare const getOperators: (column: ColumnDescriptor) => FilterClauseOp[];
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ChangeEvent, SyntheticEvent } from "react";
|
|
2
|
-
import { FilterClauseOp } from "@vuu-ui/vuu-filter-types";
|
|
3
|
-
export declare const useOperatorPicker: ({ onSelect, value: valueProp, }: {
|
|
4
|
-
onSelect: (evt: SyntheticEvent, op: FilterClauseOp) => void;
|
|
5
|
-
value: string;
|
|
6
|
-
}) => {
|
|
7
|
-
onChange: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
8
|
-
onOpenChange: (isOpen: boolean, reason?: "manual" | "input" | "focus") => void;
|
|
9
|
-
onSelectionChange: (evt: SyntheticEvent, [newSelected]: FilterClauseOp[]) => void;
|
|
10
|
-
ref: import("react").RefObject<HTMLDivElement | null>;
|
|
11
|
-
value: string;
|
|
12
|
-
};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { FilterClause, FilterClauseOp } from "@vuu-ui/vuu-filter-types";
|
|
2
|
-
import { KeyboardEvent, RefCallback, SyntheticEvent } from "react";
|
|
3
|
-
import { FilterClauseProps } from "./FilterClause";
|
|
4
|
-
export type FilterClauseEditorHookProps = Pick<FilterClauseProps, "columnsByName" | "filterClauseModel" | "onCancel" | "onFocusSave"> & {
|
|
5
|
-
onOpenChange?: (open: boolean, reason?: "focus" | "input" | "manual") => void;
|
|
6
|
-
dropdownOnAutofocus?: boolean;
|
|
7
|
-
};
|
|
8
|
-
export type FilterClauseValueChangeHandler = (value: string | string[] | number | number[], isFinal?: boolean) => void;
|
|
9
|
-
export declare const useFilterClause: ({ filterClauseModel, onCancel, columnsByName, onFocusSave, onOpenChange, dropdownOnAutofocus, }: FilterClauseEditorHookProps) => {
|
|
10
|
-
inputProps: {
|
|
11
|
-
onKeyDownCapture: (evt: KeyboardEvent<HTMLInputElement>) => void;
|
|
12
|
-
tabIndex: number;
|
|
13
|
-
onFocus: () => true;
|
|
14
|
-
};
|
|
15
|
-
columnRef: import("react").RefObject<HTMLDivElement | null>;
|
|
16
|
-
filterClause: Partial<FilterClause>;
|
|
17
|
-
onChangeValue: FilterClauseValueChangeHandler;
|
|
18
|
-
onDeselectValue: () => void;
|
|
19
|
-
onSelectColumn: (evt: SyntheticEvent, selectedColumn: string) => void;
|
|
20
|
-
onSelectOperator: (_: SyntheticEvent, selectedOp: FilterClauseOp) => void;
|
|
21
|
-
onOpenChange: (open: boolean, closeReason?: "focus" | "input" | "manual") => void;
|
|
22
|
-
operatorRef: import("react").RefObject<HTMLDivElement | null>;
|
|
23
|
-
selectedColumn: import("@vuu-ui/vuu-table-types").ColumnDescriptor;
|
|
24
|
-
valueRef: RefCallback<HTMLDivElement>;
|
|
25
|
-
showDropdownOnAutoFocus: boolean;
|
|
26
|
-
};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { TableSchemaTable } from "@vuu-ui/vuu-data-types";
|
|
2
|
-
import { SingleValueFilterClauseOp } from "@vuu-ui/vuu-filter-types";
|
|
3
|
-
export declare const FilterClauseValueEditor: import("react").ForwardRefExoticComponent<Pick<{
|
|
4
|
-
inputProps: {
|
|
5
|
-
onKeyDownCapture: (evt: import("react").KeyboardEvent<HTMLInputElement>) => void;
|
|
6
|
-
tabIndex: number;
|
|
7
|
-
onFocus: () => true;
|
|
8
|
-
};
|
|
9
|
-
columnRef: import("react").RefObject<HTMLDivElement | null>;
|
|
10
|
-
filterClause: Partial<import("@vuu-ui/vuu-filter-types").FilterClause>;
|
|
11
|
-
onChangeValue: import("../useFilterClause").FilterClauseValueChangeHandler;
|
|
12
|
-
onDeselectValue: () => void;
|
|
13
|
-
onSelectColumn: (evt: import("react").SyntheticEvent, selectedColumn: string) => void;
|
|
14
|
-
onSelectOperator: (_: import("react").SyntheticEvent, selectedOp: import("@vuu-ui/vuu-filter-types").FilterClauseOp) => void;
|
|
15
|
-
onOpenChange: (open: boolean, closeReason?: "focus" | "input" | "manual") => void;
|
|
16
|
-
operatorRef: import("react").RefObject<HTMLDivElement | null>;
|
|
17
|
-
selectedColumn: import("@vuu-ui/vuu-table-types").ColumnDescriptor;
|
|
18
|
-
valueRef: import("react").RefCallback<HTMLDivElement>;
|
|
19
|
-
showDropdownOnAutoFocus: boolean;
|
|
20
|
-
}, "inputProps" | "onChangeValue" | "onDeselectValue" | "onOpenChange" | "selectedColumn"> & {
|
|
21
|
-
table?: TableSchemaTable;
|
|
22
|
-
} & {
|
|
23
|
-
operator?: SingleValueFilterClauseOp | "in";
|
|
24
|
-
value?: string | string[] | number | number[] | boolean | boolean[];
|
|
25
|
-
dropdownOnAutofocus?: boolean;
|
|
26
|
-
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { NumericFilterClauseOp } from "@vuu-ui/vuu-filter-types";
|
|
2
|
-
import type { FilterClauseValueEditor } from "../filterClauseTypes";
|
|
3
|
-
interface FilterClauseValueEditorDateProps extends Pick<FilterClauseValueEditor, "onChangeValue" | "inputProps"> {
|
|
4
|
-
className?: string;
|
|
5
|
-
value: number | undefined;
|
|
6
|
-
operator: NumericFilterClauseOp;
|
|
7
|
-
}
|
|
8
|
-
export declare const FilterClauseValueEditorDate: (props: FilterClauseValueEditorDateProps) => import("react").JSX.Element;
|
|
9
|
-
export {};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { HTMLAttributes, RefObject } from "react";
|
|
2
|
-
import { FilterClauseValueEditor } from "../filterClauseTypes";
|
|
3
|
-
export interface FilterClauseNumericValueEditorProps extends FilterClauseValueEditor, HTMLAttributes<HTMLDivElement> {
|
|
4
|
-
"data-field"?: string;
|
|
5
|
-
operatorInputRef?: RefObject<HTMLInputElement>;
|
|
6
|
-
operator: string;
|
|
7
|
-
value?: number;
|
|
8
|
-
}
|
|
9
|
-
export declare const FilterClauseValueEditorNumber: import("react").ForwardRefExoticComponent<FilterClauseNumericValueEditorProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { HTMLAttributes } from "react";
|
|
2
|
-
import { FilterClauseValueEditor } from "../filterClauseTypes";
|
|
3
|
-
export interface FilterClauseTextValueEditorProps extends FilterClauseValueEditor, HTMLAttributes<HTMLDivElement> {
|
|
4
|
-
"data-field"?: string;
|
|
5
|
-
operator: string;
|
|
6
|
-
value: string | string[];
|
|
7
|
-
dropdownOnAutofocus?: boolean;
|
|
8
|
-
}
|
|
9
|
-
export declare const FilterClauseValueEditorText: import("react").ForwardRefExoticComponent<FilterClauseTextValueEditorProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { NumericFilterClauseOp } from "@vuu-ui/vuu-filter-types";
|
|
2
|
-
import { FilterClauseValueEditor } from "../filterClauseTypes";
|
|
3
|
-
interface FilterClauseValueEditorTimeProps extends Pick<FilterClauseValueEditor, "onChangeValue" | "inputProps"> {
|
|
4
|
-
className?: string;
|
|
5
|
-
value: number | undefined;
|
|
6
|
-
operator: NumericFilterClauseOp;
|
|
7
|
-
}
|
|
8
|
-
export declare const FilterClauseValueEditorTime: (props: FilterClauseValueEditorTimeProps) => import("react").JSX.Element;
|
|
9
|
-
export {};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { ExtendedFilterOptions, SerializableSingleValueFilterClause, SingleValueFilterClauseOp, TimeTodayFilterOptions } from "@vuu-ui/vuu-filter-types";
|
|
2
|
-
import { VuuRowDataItemType } from "@vuu-ui/vuu-protocol-types";
|
|
3
|
-
export declare const isTimeToday: (options: ExtendedFilterOptions) => options is TimeTodayFilterOptions;
|
|
4
|
-
export interface SerializableFilter {
|
|
5
|
-
asQuery: () => string;
|
|
6
|
-
}
|
|
7
|
-
export declare class ExtendedSingleValueFilterClause implements SerializableSingleValueFilterClause {
|
|
8
|
-
#private;
|
|
9
|
-
column: string;
|
|
10
|
-
op: SingleValueFilterClauseOp;
|
|
11
|
-
value: VuuRowDataItemType;
|
|
12
|
-
constructor(column: string, op: SingleValueFilterClauseOp, value: VuuRowDataItemType, extendedOptions: ExtendedFilterOptions);
|
|
13
|
-
name?: string | undefined;
|
|
14
|
-
asQuery(): string;
|
|
15
|
-
toJSON(): {
|
|
16
|
-
column: string;
|
|
17
|
-
op: SingleValueFilterClauseOp;
|
|
18
|
-
value: VuuRowDataItemType;
|
|
19
|
-
extendedOptions: ExtendedFilterOptions;
|
|
20
|
-
};
|
|
21
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { type HTMLAttributes, type ReactNode } from "react";
|
|
2
|
-
import { type ColumnFilterContainerHookProps } from "./useFilterContainer";
|
|
3
|
-
import { ColumnFilterValue } from "@vuu-ui/vuu-filter-types";
|
|
4
|
-
import { ColumnFilterProps } from "../column-filter/ColumnFilter";
|
|
5
|
-
export interface FilterContainerProps extends HTMLAttributes<HTMLDivElement>, ColumnFilterContainerHookProps {
|
|
6
|
-
children: ReactNode;
|
|
7
|
-
filterProviderKey?: string;
|
|
8
|
-
}
|
|
9
|
-
export interface FilterContainerColumnFilterProps extends Omit<ColumnFilterProps, "defaultValue" | "onCommit" | "value"> {
|
|
10
|
-
defaultValue?: ColumnFilterValue;
|
|
11
|
-
}
|
|
12
|
-
export declare const FilterContainerColumnFilter: ({ column, operator, variant, ...props }: FilterContainerColumnFilterProps) => import("react").JSX.Element;
|
|
13
|
-
/**
|
|
14
|
-
* FilterContainer is a generic UI container for a collection of Filter
|
|
15
|
-
* controls. Each control manages a single filter clause and the Filter
|
|
16
|
-
* Container aggregates these clauses into a single filter. FilterContainer
|
|
17
|
-
* provides a FilterContainerFilter which can be used to provide children.
|
|
18
|
-
* This is a wrapper around ColumnFilter, which adds some plumbing to allow
|
|
19
|
-
* the container to track changes and manage each individual contribution to
|
|
20
|
-
* the top-level filter.
|
|
21
|
-
* See FilterPanel and InlineFilter for examples of FilterContainer usage.
|
|
22
|
-
*/
|
|
23
|
-
export declare const FilterContainer: ({ children, className, filter, filterProviderKey, onFilterApplied, onFilterCleared, ...htmlAttributes }: FilterContainerProps) => import("react").JSX.Element;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { ColumnFilterChangeHandler, ColumnFilterCommitHandler, ColumnFilterOp, ColumnFilterValue, Filter, FilterContainerFilter } from "@vuu-ui/vuu-filter-types";
|
|
2
|
-
import { ColumnDescriptor } from "@vuu-ui/vuu-table-types";
|
|
3
|
-
export interface ColumnFilterContextProps {
|
|
4
|
-
filterContainerInstalled: boolean;
|
|
5
|
-
filterProviderKey?: string;
|
|
6
|
-
onChange?: ColumnFilterChangeHandler;
|
|
7
|
-
onCommit?: ColumnFilterCommitHandler;
|
|
8
|
-
register?: (column: ColumnDescriptor, operator: ColumnFilterOp) => ColumnFilterValue;
|
|
9
|
-
getValue?: (column: ColumnDescriptor) => ColumnFilterValue;
|
|
10
|
-
}
|
|
11
|
-
export declare const ColumnFilterContext: import("react").Context<ColumnFilterContextProps>;
|
|
12
|
-
export declare function useFilterContext(column: ColumnDescriptor, throwIfNoContainer?: false): ColumnFilterContextProps;
|
|
13
|
-
export declare function useFilterContext(column: ColumnDescriptor, throwIfNoContainer: true): Required<ColumnFilterContextProps>;
|
|
14
|
-
export type FilterAppliedHandler<F extends Filter = Filter> = (filter: F) => void;
|
|
15
|
-
export type ColumnFilterContainerHookProps = {
|
|
16
|
-
filter?: FilterContainerFilter;
|
|
17
|
-
filterProviderKey?: string;
|
|
18
|
-
onFilterApplied?: FilterAppliedHandler<FilterContainerFilter>;
|
|
19
|
-
onFilterCleared?: () => void;
|
|
20
|
-
};
|
|
21
|
-
export declare const EmptyTuple: ColumnFilterValue;
|
|
22
|
-
export declare const useFilterContainer: ({ filter, filterProviderKey, onFilterApplied, onFilterCleared, }: ColumnFilterContainerHookProps) => ColumnFilterContextProps;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { TableContextMenuDef } from "@vuu-ui/vuu-table-types";
|
|
2
|
-
export interface FilterContextMenuHookProps {
|
|
3
|
-
filterColumns: string[] | "*";
|
|
4
|
-
filterProviderKey?: string;
|
|
5
|
-
}
|
|
6
|
-
export declare const useFilterContextMenu: ({ filterColumns, filterProviderKey, }?: FilterContextMenuHookProps) => TableContextMenuDef;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { FilterContainerFilter } from "@vuu-ui/vuu-filter-types";
|
|
2
|
-
import { HTMLAttributes } from "react";
|
|
3
|
-
import { ColumnDescriptor } from "@vuu-ui/vuu-table-types";
|
|
4
|
-
export interface FilterDisplayProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
|
-
allowDelete?: boolean;
|
|
6
|
-
columns?: readonly ColumnDescriptor[];
|
|
7
|
-
filter: FilterContainerFilter | undefined;
|
|
8
|
-
onDeleteFilterClause?: (columnName: string) => void;
|
|
9
|
-
}
|
|
10
|
-
export declare const FilterDisplay: import("react").ForwardRefExoticComponent<FilterDisplayProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { FilterCombinatorOp } from "@vuu-ui/vuu-filter-types";
|
|
2
|
-
import { KeyboardEventHandler } from "react";
|
|
3
|
-
export type FilterClauseCombinatorChangeHandler = (op: FilterCombinatorOp) => void;
|
|
4
|
-
export interface FilterClauseCombinatorProps {
|
|
5
|
-
onChange: FilterClauseCombinatorChangeHandler;
|
|
6
|
-
onKeyDown: KeyboardEventHandler;
|
|
7
|
-
operator: FilterCombinatorOp;
|
|
8
|
-
}
|
|
9
|
-
export declare const FilterClauseCombinator: ({ onChange, onKeyDown, operator, }: FilterClauseCombinatorProps) => import("react").JSX.Element;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { Filter } from "@vuu-ui/vuu-filter-types";
|
|
2
|
-
import { ColumnDescriptor } from "@vuu-ui/vuu-table-types";
|
|
3
|
-
import { HTMLAttributes } from "react";
|
|
4
|
-
import { VuuTable } from "@vuu-ui/vuu-protocol-types";
|
|
5
|
-
export type FilterEditSaveHandler = (filter: Filter) => void;
|
|
6
|
-
export type FilterEditCancelHandler = (filter?: Filter) => void;
|
|
7
|
-
export interface FilterEditorProps extends HTMLAttributes<HTMLDivElement> {
|
|
8
|
-
columnDescriptors: readonly ColumnDescriptor[];
|
|
9
|
-
filter?: Filter;
|
|
10
|
-
onCancel: FilterEditCancelHandler;
|
|
11
|
-
onSave: FilterEditSaveHandler;
|
|
12
|
-
vuuTable: VuuTable;
|
|
13
|
-
}
|
|
14
|
-
export declare const FilterEditor: ({ columnDescriptors, filter, onCancel, onSave, vuuTable, ...htmlAttributes }: FilterEditorProps) => import("react").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./FilterEditor";
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { ColumnDescriptorsByName } from "@vuu-ui/vuu-filter-types";
|
|
2
|
-
import { KeyboardEventHandler, RefCallback } from "react";
|
|
3
|
-
import { FilterEditorProps } from "./FilterEditor";
|
|
4
|
-
import { FilterModel } from "../FilterModel";
|
|
5
|
-
import { FilterClauseCancelHandler } from "../filter-clause";
|
|
6
|
-
import { FilterClauseCombinatorChangeHandler } from "./FilterClauseCombinator";
|
|
7
|
-
import { MenuActionHandler, MenuBuilder } from "@vuu-ui/vuu-context-menu";
|
|
8
|
-
export interface FilterEditorHookProps extends Pick<FilterEditorProps, "columnDescriptors" | "filter" | "onCancel" | "onSave"> {
|
|
9
|
-
label?: string;
|
|
10
|
-
}
|
|
11
|
-
export declare const useFilterEditor: ({ columnDescriptors, filter, onCancel, onSave, }: FilterEditorHookProps) => {
|
|
12
|
-
columnsByName: ColumnDescriptorsByName;
|
|
13
|
-
filterModel: FilterModel;
|
|
14
|
-
focusSaveButton: () => void;
|
|
15
|
-
isValid: boolean;
|
|
16
|
-
onCancelFilterClause: FilterClauseCancelHandler;
|
|
17
|
-
onCancelFilterEdit: () => void;
|
|
18
|
-
onChangeFilterCombinator: FilterClauseCombinatorChangeHandler;
|
|
19
|
-
onKeyDownCombinator: KeyboardEventHandler<HTMLElement>;
|
|
20
|
-
saveButtonProps: {
|
|
21
|
-
PopupMenuProps: {
|
|
22
|
-
icon: string;
|
|
23
|
-
menuBuilder: MenuBuilder;
|
|
24
|
-
menuActionHandler: MenuActionHandler;
|
|
25
|
-
menuLocation: string;
|
|
26
|
-
};
|
|
27
|
-
onClick: () => boolean | undefined;
|
|
28
|
-
onKeyDown: KeyboardEventHandler;
|
|
29
|
-
};
|
|
30
|
-
saveButtonRef: import("react").RefObject<HTMLDivElement | null>;
|
|
31
|
-
setContainer: RefCallback<HTMLDivElement>;
|
|
32
|
-
};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { HTMLAttributes } from "react";
|
|
2
|
-
import { FilterContainerProps } from "../filter-container/FilterContainer";
|
|
3
|
-
export type FilterPanelPermissions = {
|
|
4
|
-
allowSaveFilter: boolean;
|
|
5
|
-
};
|
|
6
|
-
export interface FilterPanelProps extends HTMLAttributes<HTMLDivElement>, Pick<FilterContainerProps, "filter" | "filterProviderKey" | "onFilterApplied" | "onFilterCleared"> {
|
|
7
|
-
permissions?: FilterPanelPermissions;
|
|
8
|
-
}
|
|
9
|
-
export declare const FilterPanel: import("react").ForwardRefExoticComponent<FilterPanelProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ReactElement } from "react";
|
|
2
|
-
import { FilterContainerProps } from "../filter-container/FilterContainer";
|
|
3
|
-
import { FilterAppliedHandler } from "../filter-container/useFilterContainer";
|
|
4
|
-
import { FilterContainerFilter } from "@vuu-ui/vuu-filter-types";
|
|
5
|
-
export declare const useFilterPanel: ({ filter, filterProviderKey, onFilterApplied, onFilterCleared, }: Pick<FilterContainerProps, "filter" | "filterProviderKey" | "onFilterApplied" | "onFilterCleared">) => {
|
|
6
|
-
clearFilter: () => void;
|
|
7
|
-
disableClear: boolean;
|
|
8
|
-
disableSave: boolean;
|
|
9
|
-
filter: FilterContainerFilter | undefined;
|
|
10
|
-
onFilterApplied: FilterAppliedHandler<FilterContainerFilter>;
|
|
11
|
-
onFilterCleared: () => void;
|
|
12
|
-
saveFilter: () => void;
|
|
13
|
-
saveFilterPrompt: ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | null;
|
|
14
|
-
};
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { MenuProps } from "@salt-ds/core";
|
|
2
|
-
import { ColumnDescriptor } from "@vuu-ui/vuu-table-types";
|
|
3
|
-
export type FilterPermissions = {
|
|
4
|
-
/** Closing a filter removes it from current display, without deleting*/
|
|
5
|
-
allowClose?: boolean;
|
|
6
|
-
/** Edit the details of the filter itself */
|
|
7
|
-
allowEdit?: boolean;
|
|
8
|
-
/** Rename the filter */
|
|
9
|
-
allowRename?: boolean;
|
|
10
|
-
/** Removing a filter deletes it entirely */
|
|
11
|
-
allowRemove?: boolean;
|
|
12
|
-
};
|
|
13
|
-
export type FilterMenuActionHandler = <T extends FilterAction = FilterAction>(filterId: string, filterAction: T,
|
|
14
|
-
/**
|
|
15
|
-
* Some menu action handlers may use columns to enrich filter display
|
|
16
|
-
*/
|
|
17
|
-
columns?: ColumnDescriptor[]) => void;
|
|
18
|
-
export interface FilterMenuProps extends Pick<MenuProps, "getVirtualElement" | "onOpenChange" | "open"> {
|
|
19
|
-
filterId: string;
|
|
20
|
-
onMenuAction: FilterMenuActionHandler;
|
|
21
|
-
permissions?: FilterPermissions;
|
|
22
|
-
}
|
|
23
|
-
export type FilterAction = "close" | "remove" | "edit" | "rename";
|
|
24
|
-
export declare const FilterMenu: ({ filterId, getVirtualElement, onMenuAction, onOpenChange, open, permissions, }: FilterMenuProps) => import("react").JSX.Element;
|