@malloy-publisher/sdk 0.0.153 → 0.0.155
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/dist/components/filter/utils.d.ts +1 -1
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/useDimensionFilters.d.ts +7 -5
- package/dist/hooks/useDimensionFiltersFromSpec.d.ts +1 -1
- package/dist/hooks/useDimensionalFilterRangeData.d.ts +10 -1
- package/dist/index.cjs.js +81 -81
- package/dist/index.es.js +6854 -6839
- package/package.json +1 -1
- package/src/components/Notebook/Notebook.tsx +19 -22
- package/src/components/filter/DimensionFilter.tsx +2 -0
- package/src/components/filter/utils.ts +8 -4
- package/src/hooks/index.ts +2 -0
- package/src/hooks/useDimensionFilters.ts +24 -20
- package/src/hooks/useDimensionalFilterRangeData.ts +35 -18
|
@@ -64,7 +64,7 @@ export declare function extractDimensionSpecs(sourceInfoMap: Map<string, Malloy.
|
|
|
64
64
|
* Generate a Malloy WHERE clause filter string from filter selections
|
|
65
65
|
* Uses source.dimension format only for joined sources (not the query's main source)
|
|
66
66
|
*/
|
|
67
|
-
export declare function generateFilterClause(activeFilters: FilterSelection[],
|
|
67
|
+
export declare function generateFilterClause(activeFilters: FilterSelection[], _dimensionToSourceMap: Map<string, string>, querySourceName: string | null): string;
|
|
68
68
|
/**
|
|
69
69
|
* Extract the source name from a Malloy query
|
|
70
70
|
* Handles patterns like:
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { useDimensionFilters, type DimensionFilterState, type FilterSelection, type MatchType, type UseDimensionFiltersParams, type UseDimensionFiltersResult, } from './useDimensionFilters';
|
|
2
2
|
export { useDimensionFiltersFromSpec, type DimensionFiltersConfig, type UseDimensionFiltersFromSpecOptions, } from './useDimensionFiltersFromSpec';
|
|
3
3
|
export { useDimensionFiltersQuery, type DimensionFiltersQueryResult, type UseDimensionFiltersQueryParams, } from './useDimensionFiltersQuery';
|
|
4
|
-
export { useDimensionalFilterRangeData, type DimensionalFilterRangeDataResult, type DimensionSpec, type DimensionValue, type DimensionValues, type FilterType, type UseDimensionalFilterRangeDataParams, } from './useDimensionalFilterRangeData';
|
|
4
|
+
export { useDimensionalFilterRangeData, getDimensionKey, makeDimensionKey, type DimensionalFilterRangeDataResult, type DimensionSpec, type DimensionValue, type DimensionValues, type FilterType, type UseDimensionalFilterRangeDataParams, } from './useDimensionalFilterRangeData';
|
|
@@ -16,6 +16,8 @@ export type FilterValue = FilterValuePrimitive | FilterValuePrimitive[];
|
|
|
16
16
|
*/
|
|
17
17
|
export interface FilterSelection {
|
|
18
18
|
dimensionName: string;
|
|
19
|
+
/** Source name - required to uniquely identify filters when same dimension name exists in multiple sources */
|
|
20
|
+
source: string;
|
|
19
21
|
matchType: MatchType;
|
|
20
22
|
value: FilterValue;
|
|
21
23
|
value2?: FilterValuePrimitive;
|
|
@@ -38,12 +40,12 @@ export interface UseDimensionFiltersParams {
|
|
|
38
40
|
* Result from the useDimensionFilters hook
|
|
39
41
|
*/
|
|
40
42
|
export interface UseDimensionFiltersResult {
|
|
41
|
-
/** Current filter states */
|
|
43
|
+
/** Current filter states, keyed by composite key (source:dimensionName) */
|
|
42
44
|
filterStates: Map<string, DimensionFilterState>;
|
|
43
|
-
/** Update a filter selection */
|
|
44
|
-
updateFilter: (
|
|
45
|
-
/** Clear a specific filter */
|
|
46
|
-
clearFilter: (
|
|
45
|
+
/** Update a filter selection using composite key */
|
|
46
|
+
updateFilter: (key: string, selection: FilterSelection | null) => void;
|
|
47
|
+
/** Clear a specific filter using composite key */
|
|
48
|
+
clearFilter: (key: string) => void;
|
|
47
49
|
/** Clear all filters */
|
|
48
50
|
clearAllFilters: () => void;
|
|
49
51
|
/** Get active filters (with selections) */
|
|
@@ -35,7 +35,7 @@ export interface UseDimensionFiltersFromSpecOptions {
|
|
|
35
35
|
*/
|
|
36
36
|
export declare function useDimensionFiltersFromSpec(config: DimensionFiltersConfig, queryLimit?: number): {
|
|
37
37
|
filterStates: Map<string, DimensionFilterState>;
|
|
38
|
-
updateFilter: (
|
|
38
|
+
updateFilter: (key: string, selection: FilterSelection | null) => void;
|
|
39
39
|
clearAllFilters: () => void;
|
|
40
40
|
activeFilters: FilterSelection[];
|
|
41
41
|
data: DimensionValues;
|
|
@@ -22,6 +22,15 @@ export interface DimensionSpec {
|
|
|
22
22
|
/** Optional list of static values to use for the dropdown instead of querying */
|
|
23
23
|
values?: string[];
|
|
24
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Generates a unique key from source and dimension name strings.
|
|
27
|
+
* This prevents collisions when the same dimension name exists in different sources.
|
|
28
|
+
*/
|
|
29
|
+
export declare function makeDimensionKey(source: string, dimensionName: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* Generates a unique key for a dimension by combining source and dimension name.
|
|
32
|
+
*/
|
|
33
|
+
export declare function getDimensionKey(spec: DimensionSpec): string;
|
|
25
34
|
/**
|
|
26
35
|
* Value information for a dimension
|
|
27
36
|
*/
|
|
@@ -30,7 +39,7 @@ export interface DimensionValue {
|
|
|
30
39
|
count?: number;
|
|
31
40
|
}
|
|
32
41
|
/**
|
|
33
|
-
* Result type mapping dimension
|
|
42
|
+
* Result type mapping dimension keys (source:dimensionName) to their values
|
|
34
43
|
*/
|
|
35
44
|
export type DimensionValues = Map<string, DimensionValue[]>;
|
|
36
45
|
/**
|