@turquoisehealth/pit-viper 2.149.0 → 2.150.1-dev.0

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.
@@ -2,6 +2,7 @@ import { AdvancedFilterModel, FilterModel, GridState, SetFilter, SetFilterValues
2
2
  import { QueryBuilderOutput } from '../../../base/PvQueryBuilderInput/useQueryBuilder';
3
3
  import { ColDef, GridApi, IMultiFilterModel } from 'ag-grid-community';
4
4
  import { FilterValueResponseOption } from '../types';
5
+ export type AnyFilterModel = FilterModel | AdvancedFilterModel | null | undefined;
5
6
  export declare const mapFilterBasedOnColDef: (filter: any, colDef: ColDef | undefined | null) => any;
6
7
  /**
7
8
  * Constructs an advanced filter model condition for a single column with text equals filter.
@@ -30,6 +31,8 @@ export declare const updateColumnSetFilterModel: (gridApi: GridApi, colDef: ColD
30
31
  values: (string | null)[] | null;
31
32
  } | null>;
32
33
  export declare const getSelectedValuesFromFilterModel: (colDef: ColDef, filterModel: FilterModel | null) => any;
34
+ export declare const isAdvancedFilterModel: (model: FilterModel | AdvancedFilterModel | null | undefined) => model is AdvancedFilterModel;
35
+ export declare const isFilterModelEmpty: (model: FilterModel | AdvancedFilterModel | null | undefined) => boolean;
33
36
  export declare const filterModelsEqual: (modelA: FilterModel | AdvancedFilterModel | null | undefined, modelB: FilterModel | AdvancedFilterModel | null | undefined) => boolean;
34
37
  /**
35
38
  * Merges a new filter condition into an existing advanced filter model.
@@ -46,3 +49,35 @@ export declare const removeColumnFromAdvancedFilter: (model: AdvancedFilterModel
46
49
  * Only extracts values from text equals conditions.
47
50
  */
48
51
  export declare const getSelectedValuesFromAdvancedFilterModel: (colId: string, model: AdvancedFilterModel | null) => string[];
52
+ /**
53
+ * Like `getSelectedValuesFromFilterModel` but takes a `colId` string instead of
54
+ * a `ColDef`. For multi-filters, finds the set filter by scanning filterModels
55
+ * for `filterType === "set"` rather than relying on colDef index.
56
+ */
57
+ export declare const getSelectedValuesFromFilterModelByColId: (colId: string, filterModel: FilterModel | null) => string[];
58
+ /**
59
+ * Unified getter: extracts set-filter values for a column from either a regular
60
+ * or advanced filter model. Returns null when no filter exists for the column.
61
+ */
62
+ export declare const getSelectedValues: (model: AnyFilterModel, colId: string) => string[] | null;
63
+ /**
64
+ * Unified remove: returns a new model with the given column's filter removed.
65
+ */
66
+ export declare const removeColumnFilter: (model: AnyFilterModel, colId: string) => AnyFilterModel;
67
+ /**
68
+ * Unified set-filter update: returns a new model with the column's set-filter
69
+ * values replaced. For advanced models, constructs an equals condition tree.
70
+ * The `advanced` flag is only consulted when `model` is null.
71
+ */
72
+ export declare const updateSetFilter: (model: AnyFilterModel, colId: string, values: string[], advanced?: boolean) => AnyFilterModel;
73
+ /**
74
+ * Like `updateSetFilter` but preserves multi-filter structure for regular models.
75
+ * If the existing column filter is a multi-filter, only the nested set filter is
76
+ * updated; other filter models (e.g. text) are preserved.
77
+ */
78
+ export declare const updateMultiOrSetFilter: (model: AnyFilterModel, colId: string, values: string[], advanced?: boolean) => AnyFilterModel;
79
+ /**
80
+ * Unified exclude: removes a single value from a column's set filter.
81
+ * If removing the value leaves no values, the column filter is removed entirely.
82
+ */
83
+ export declare const excludeValueFromSetFilter: (model: AnyFilterModel, colId: string, valueToExclude: string, advanced?: boolean) => AnyFilterModel;
@@ -3,4 +3,5 @@ export { default as PvDataTableWithChart } from '../charts/PvDataTableWithChart/
3
3
  export { default as PvMapChart } from '../charts/PvMapChart/PvMapChart.vue';
4
4
  export { default as PvDataTable } from '../tables/PvDataTable/PvDataTable.vue';
5
5
  export type { FocusUpdateEvent, FilterValueResponseOption, FilterRendererProps } from '../tables/PvDataTable/types';
6
- export { constructAdvancedFilterCondition, convertFilterModelToAdvanced, filterModelContainsColId, mergeFilterModels, getSelectedValuesFromFilterModel, filterModelsEqual, mergeAdvancedFilterCondition, removeColumnFromAdvancedFilter, getSelectedValuesFromAdvancedFilterModel, } from '../tables/PvDataTable/filters/filterHelpers';
6
+ export { constructAdvancedFilterCondition, convertFilterModelToAdvanced, filterModelContainsColId, mergeFilterModels, getSelectedValuesFromFilterModel, filterModelsEqual, mergeAdvancedFilterCondition, removeColumnFromAdvancedFilter, getSelectedValuesFromAdvancedFilterModel, isAdvancedFilterModel, isFilterModelEmpty, getSelectedValues, getSelectedValuesFromFilterModelByColId, updateSetFilter, updateMultiOrSetFilter, removeColumnFilter, excludeValueFromSetFilter, } from '../tables/PvDataTable/filters/filterHelpers';
7
+ export type { AnyFilterModel } from '../tables/PvDataTable/filters/filterHelpers';