@cratis/components 2.0.1 → 2.1.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.
- package/dist/cjs/Filter/FilterEditor.js +28 -0
- package/dist/cjs/Filter/FilterEditor.js.map +1 -0
- package/dist/cjs/Filter/FilterPanel.css +412 -0
- package/dist/cjs/Filter/FilterPanel.js +87 -0
- package/dist/cjs/Filter/FilterPanel.js.map +1 -0
- package/dist/cjs/Filter/RangeHistogramFilter.js.map +1 -0
- package/dist/cjs/Filter/index.js +18 -0
- package/dist/cjs/Filter/index.js.map +1 -0
- package/dist/cjs/Filter/useFilterState.js +104 -0
- package/dist/cjs/Filter/useFilterState.js.map +1 -0
- package/dist/cjs/Filter/utils.js +28 -0
- package/dist/cjs/Filter/utils.js.map +1 -0
- package/dist/cjs/PivotViewer/components/FilterPanel.js +20 -54
- package/dist/cjs/PivotViewer/components/FilterPanel.js.map +1 -1
- package/dist/cjs/PivotViewer/types.js.map +1 -1
- package/dist/cjs/PivotViewer/utils/utils.js +0 -2
- package/dist/cjs/PivotViewer/utils/utils.js.map +1 -1
- package/dist/cjs/index.js +16 -14
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/CommandDialog/CommandDialog.d.ts +2 -2
- package/dist/esm/CommandDialog/CommandStepper.d.ts +2 -2
- package/dist/esm/CommandDialog/CommandStepper.d.ts.map +1 -1
- package/dist/esm/CommandDialog/StepperCommandDialog.d.ts +1 -1
- package/dist/esm/CommandDialog/StepperCommandDialog.d.ts.map +1 -1
- package/dist/esm/Common/CratisComponentsProvider.d.ts +1 -1
- package/dist/esm/Common/CratisComponentsProvider.d.ts.map +1 -1
- package/dist/esm/Common/ErrorBoundary.d.ts +1 -1
- package/dist/esm/Common/FormElement.d.ts +1 -1
- package/dist/esm/Common/FormElement.d.ts.map +1 -1
- package/dist/esm/Common/Icon.d.ts +1 -1
- package/dist/esm/Common/Icon.d.ts.map +1 -1
- package/dist/esm/Common/Page.d.ts +1 -1
- package/dist/esm/Common/Page.d.ts.map +1 -1
- package/dist/esm/DataPage/DataPage.d.ts +5 -5
- package/dist/esm/DataPage/DataPage.d.ts.map +1 -1
- package/dist/esm/DataTables/DataTableForObservableQuery.d.ts +1 -1
- package/dist/esm/DataTables/DataTableForObservableQuery.d.ts.map +1 -1
- package/dist/esm/DataTables/DataTableForQuery.d.ts +1 -1
- package/dist/esm/DataTables/DataTableForQuery.d.ts.map +1 -1
- package/dist/esm/Dialogs/BusyIndicatorDialog.d.ts +1 -1
- package/dist/esm/Dialogs/BusyIndicatorDialog.d.ts.map +1 -1
- package/dist/esm/Dialogs/ConfirmationDialog.d.ts +1 -1
- package/dist/esm/Dialogs/ConfirmationDialog.d.ts.map +1 -1
- package/dist/esm/Dialogs/Dialog.d.ts +1 -1
- package/dist/esm/Dialogs/Dialog.d.ts.map +1 -1
- package/dist/esm/Filter/FilterEditor.d.ts +8 -0
- package/dist/esm/Filter/FilterEditor.d.ts.map +1 -0
- package/dist/esm/Filter/FilterEditor.js +26 -0
- package/dist/esm/Filter/FilterEditor.js.map +1 -0
- package/dist/esm/Filter/FilterPanel.css +412 -0
- package/dist/esm/Filter/FilterPanel.d.ts +24 -0
- package/dist/esm/Filter/FilterPanel.d.ts.map +1 -0
- package/dist/esm/Filter/FilterPanel.js +85 -0
- package/dist/esm/Filter/FilterPanel.js.map +1 -0
- package/dist/esm/Filter/RangeHistogramFilter.d.ts +11 -0
- package/dist/esm/Filter/RangeHistogramFilter.d.ts.map +1 -0
- package/dist/esm/Filter/RangeHistogramFilter.js +122 -0
- package/dist/esm/Filter/RangeHistogramFilter.js.map +1 -0
- package/dist/esm/Filter/index.d.ts +11 -0
- package/dist/esm/Filter/index.d.ts.map +1 -0
- package/dist/esm/Filter/index.js +9 -0
- package/dist/esm/Filter/index.js.map +1 -0
- package/dist/esm/Filter/types.d.ts +28 -0
- package/dist/esm/Filter/types.d.ts.map +1 -0
- package/dist/esm/Filter/types.js +2 -0
- package/dist/esm/Filter/types.js.map +1 -0
- package/dist/esm/Filter/useFilterState.d.ts +14 -0
- package/dist/esm/Filter/useFilterState.d.ts.map +1 -0
- package/dist/esm/Filter/useFilterState.js +102 -0
- package/dist/esm/Filter/useFilterState.js.map +1 -0
- package/dist/esm/Filter/utils.d.ts +4 -0
- package/dist/esm/Filter/utils.d.ts.map +1 -0
- package/dist/esm/Filter/utils.js +25 -0
- package/dist/esm/Filter/utils.js.map +1 -0
- package/dist/esm/ObjectContentEditor/ObjectContentEditor.d.ts +2 -1
- package/dist/esm/ObjectContentEditor/ObjectContentEditor.d.ts.map +1 -1
- package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.d.ts +1 -1
- package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.d.ts.map +1 -1
- package/dist/esm/PivotViewer/PivotViewer.d.ts +1 -1
- package/dist/esm/PivotViewer/PivotViewer.d.ts.map +1 -1
- package/dist/esm/PivotViewer/components/AxisLabels.d.ts +1 -1
- package/dist/esm/PivotViewer/components/AxisLabels.d.ts.map +1 -1
- package/dist/esm/PivotViewer/components/DetailPanel.d.ts +1 -1
- package/dist/esm/PivotViewer/components/DetailPanel.d.ts.map +1 -1
- package/dist/esm/PivotViewer/components/FilterPanel.d.ts +1 -1
- package/dist/esm/PivotViewer/components/FilterPanel.d.ts.map +1 -1
- package/dist/esm/PivotViewer/components/FilterPanel.js +21 -55
- package/dist/esm/PivotViewer/components/FilterPanel.js.map +1 -1
- package/dist/esm/PivotViewer/components/FilterPanelContainer.d.ts +1 -1
- package/dist/esm/PivotViewer/components/FilterPanelContainer.d.ts.map +1 -1
- package/dist/esm/PivotViewer/components/PivotViewerMain.d.ts +1 -1
- package/dist/esm/PivotViewer/components/PivotViewerMain.d.ts.map +1 -1
- package/dist/esm/PivotViewer/components/RangeHistogramFilter.d.ts +1 -1
- package/dist/esm/PivotViewer/components/RangeHistogramFilter.d.ts.map +1 -1
- package/dist/esm/PivotViewer/components/RangeHistogramFilter.js +8 -11
- package/dist/esm/PivotViewer/components/RangeHistogramFilter.js.map +1 -1
- package/dist/esm/PivotViewer/components/Spinner.d.ts +1 -1
- package/dist/esm/PivotViewer/components/Spinner.d.ts.map +1 -1
- package/dist/esm/PivotViewer/components/Toolbar.d.ts +1 -1
- package/dist/esm/PivotViewer/components/Toolbar.d.ts.map +1 -1
- package/dist/esm/PivotViewer/components/ToolbarContainer.d.ts +1 -1
- package/dist/esm/PivotViewer/components/ToolbarContainer.d.ts.map +1 -1
- package/dist/esm/PivotViewer/types.d.ts +3 -1
- package/dist/esm/PivotViewer/types.d.ts.map +1 -1
- package/dist/esm/PivotViewer/types.js.map +1 -1
- package/dist/esm/PivotViewer/utils/utils.js +1 -2
- package/dist/esm/PivotViewer/utils/utils.js.map +1 -1
- package/dist/esm/SchemaEditor/NameCell.d.ts +1 -1
- package/dist/esm/SchemaEditor/NameCell.d.ts.map +1 -1
- package/dist/esm/SchemaEditor/SchemaEditor.d.ts +1 -1
- package/dist/esm/SchemaEditor/SchemaEditor.d.ts.map +1 -1
- package/dist/esm/SchemaEditor/TypeCell.d.ts +1 -1
- package/dist/esm/SchemaEditor/TypeCell.d.ts.map +1 -1
- package/dist/esm/Toolbar/Toolbar.d.ts +1 -1
- package/dist/esm/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/esm/Toolbar/ToolbarButton.d.ts +1 -1
- package/dist/esm/Toolbar/ToolbarButton.d.ts.map +1 -1
- package/dist/esm/Toolbar/ToolbarFanOutItem.d.ts +1 -1
- package/dist/esm/Toolbar/ToolbarFanOutItem.d.ts.map +1 -1
- package/dist/esm/Toolbar/ToolbarFolder.d.ts +1 -1
- package/dist/esm/Toolbar/ToolbarFolder.d.ts.map +1 -1
- package/dist/esm/Toolbar/ToolbarGroup.d.ts +1 -1
- package/dist/esm/Toolbar/ToolbarGroup.d.ts.map +1 -1
- package/dist/esm/Toolbar/ToolbarLayout.d.ts +1 -1
- package/dist/esm/Toolbar/ToolbarLayout.d.ts.map +1 -1
- package/dist/esm/Toolbar/ToolbarSection.d.ts +1 -1
- package/dist/esm/Toolbar/ToolbarSection.d.ts.map +1 -1
- package/dist/esm/Toolbar/ToolbarSeparator.d.ts +1 -1
- package/dist/esm/Toolbar/ToolbarSeparator.d.ts.map +1 -1
- package/dist/esm/Toolbar/ToolbarSlot.d.ts +1 -1
- package/dist/esm/Toolbar/ToolbarSlot.d.ts.map +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +16 -14
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -1
- package/dist/cjs/PivotViewer/components/RangeHistogramFilter.js.map +0 -1
- /package/dist/cjs/{PivotViewer/components → Filter}/RangeHistogramFilter.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RangeHistogramFilter.js","sources":["../../../Filter/RangeHistogramFilter.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { FilterPanel } from './FilterPanel';
|
|
2
|
+
export type { FilterPanelProps } from './FilterPanel';
|
|
3
|
+
export { FilterEditor } from './FilterEditor';
|
|
4
|
+
export type { FilterEditorSlotProps } from './FilterEditor';
|
|
5
|
+
export { RangeHistogramFilter } from './RangeHistogramFilter';
|
|
6
|
+
export type { RangeHistogramFilterProps } from './RangeHistogramFilter';
|
|
7
|
+
export { useFilterState } from './useFilterState';
|
|
8
|
+
export type { UseFilterStateResult } from './useFilterState';
|
|
9
|
+
export { buildFilterValues, buildRangeValues } from './utils';
|
|
10
|
+
export type { FilterValue, FilterOption, FilterEditorProps, FilterDefinition, FilterValues, RangeValues, CustomFilterValues, } from './types';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Filter/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC9D,YAAY,EACV,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,kBAAkB,GACnB,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { FilterPanel } from './FilterPanel.js';
|
|
2
|
+
export { FilterEditor } from './FilterEditor.js';
|
|
3
|
+
export { RangeHistogramFilter } from './RangeHistogramFilter.js';
|
|
4
|
+
export { useFilterState } from './useFilterState.js';
|
|
5
|
+
export { buildFilterValues, buildRangeValues } from './utils.js';
|
|
6
|
+
|
|
7
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
8
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../Filter/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAAA;AACA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export type FilterValue = string | number | boolean | Date | null | undefined;
|
|
2
|
+
export interface FilterOption {
|
|
3
|
+
key: string;
|
|
4
|
+
label: string;
|
|
5
|
+
value: FilterValue;
|
|
6
|
+
count?: number;
|
|
7
|
+
}
|
|
8
|
+
export interface FilterEditorProps {
|
|
9
|
+
value: unknown;
|
|
10
|
+
onChange: (value: unknown) => void;
|
|
11
|
+
}
|
|
12
|
+
export interface FilterDefinition {
|
|
13
|
+
key: string;
|
|
14
|
+
label: string;
|
|
15
|
+
type?: 'string' | 'number' | 'date' | 'custom';
|
|
16
|
+
multi?: boolean;
|
|
17
|
+
options?: FilterOption[];
|
|
18
|
+
numericRange?: {
|
|
19
|
+
min: number;
|
|
20
|
+
max: number;
|
|
21
|
+
values: FilterValue[];
|
|
22
|
+
};
|
|
23
|
+
buckets?: number;
|
|
24
|
+
}
|
|
25
|
+
export type FilterValues = Record<string, Set<string>>;
|
|
26
|
+
export type RangeValues = Record<string, [number, number] | null>;
|
|
27
|
+
export type CustomFilterValues = Record<string, unknown>;
|
|
28
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../Filter/types.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;AAE9E,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IAKd,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IAE/C,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IAEzB,YAAY,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC;IAEnE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAGvD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;AAGlE,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../Filter/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { FilterDefinition, FilterValues, RangeValues, CustomFilterValues } from './types';
|
|
2
|
+
export interface UseFilterStateResult {
|
|
3
|
+
filterValues: FilterValues;
|
|
4
|
+
rangeValues: RangeValues;
|
|
5
|
+
customValues: CustomFilterValues;
|
|
6
|
+
expandedFilterKey: string | null;
|
|
7
|
+
setExpandedFilterKey: (key: string | null) => void;
|
|
8
|
+
handleToggleFilter: (filterKey: string, optionKey: string, multi: boolean) => void;
|
|
9
|
+
handleClearFilter: (filterKey: string) => void;
|
|
10
|
+
handleRangeChange: (filterKey: string, range: [number, number] | null) => void;
|
|
11
|
+
handleCustomValueChange: (filterKey: string, value: unknown) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function useFilterState(filters: FilterDefinition[] | undefined): UseFilterStateResult;
|
|
14
|
+
//# sourceMappingURL=useFilterState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFilterState.d.ts","sourceRoot":"","sources":["../../../Filter/useFilterState.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG/F,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,kBAAkB,CAAC;IACjC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnF,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/E,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACtE;AASD,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,SAAS,GAAG,oBAAoB,CA4F5F"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { useState, useEffect, useCallback } from 'react';
|
|
2
|
+
import { buildFilterValues, buildRangeValues } from './utils.js';
|
|
3
|
+
|
|
4
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
5
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
6
|
+
/**
|
|
7
|
+
* State management hook for the standalone FilterPanel.
|
|
8
|
+
*
|
|
9
|
+
* Tracks selected options, numeric ranges, and custom values for every
|
|
10
|
+
* filter in the provided `filters` array. Pass the returned values and
|
|
11
|
+
* handlers directly to <FilterPanel>.
|
|
12
|
+
*/
|
|
13
|
+
function useFilterState(filters) {
|
|
14
|
+
const [filterValues, setFilterValues] = useState(() => buildFilterValues(filters));
|
|
15
|
+
const [rangeValues, setRangeValues] = useState(() => buildRangeValues(filters));
|
|
16
|
+
const [customValues, setCustomValues] = useState({});
|
|
17
|
+
const [expandedFilterKey, setExpandedFilterKey] = useState(filters?.[0]?.key ?? null);
|
|
18
|
+
// Sync state when the filter definitions change
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
setFilterValues((prev) => {
|
|
21
|
+
const next = buildFilterValues(filters);
|
|
22
|
+
if (!filters)
|
|
23
|
+
return next;
|
|
24
|
+
filters.forEach((filter) => {
|
|
25
|
+
if (prev[filter.key]) {
|
|
26
|
+
next[filter.key] = new Set(prev[filter.key]);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
return next;
|
|
30
|
+
});
|
|
31
|
+
setRangeValues((prev) => {
|
|
32
|
+
const next = buildRangeValues(filters);
|
|
33
|
+
if (!filters)
|
|
34
|
+
return next;
|
|
35
|
+
filters.forEach((filter) => {
|
|
36
|
+
if (filter.type === 'number' && filter.key in prev) {
|
|
37
|
+
next[filter.key] = prev[filter.key];
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
return next;
|
|
41
|
+
});
|
|
42
|
+
}, [filters]);
|
|
43
|
+
useEffect(() => {
|
|
44
|
+
if (!filters?.length) {
|
|
45
|
+
setExpandedFilterKey(null);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
setExpandedFilterKey((current) => {
|
|
49
|
+
if (current && filters.some((f) => f.key === current))
|
|
50
|
+
return current;
|
|
51
|
+
return filters[0]?.key ?? null;
|
|
52
|
+
});
|
|
53
|
+
}, [filters]);
|
|
54
|
+
const handleToggleFilter = useCallback((filterKey, optionKey, multi) => {
|
|
55
|
+
setFilterValues((prev) => {
|
|
56
|
+
const next = { ...prev };
|
|
57
|
+
const current = new Set(prev[filterKey] ?? []);
|
|
58
|
+
if (multi) {
|
|
59
|
+
if (current.has(optionKey)) {
|
|
60
|
+
current.delete(optionKey);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
current.add(optionKey);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
if (current.has(optionKey)) {
|
|
68
|
+
current.clear();
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
current.clear();
|
|
72
|
+
current.add(optionKey);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
next[filterKey] = current;
|
|
76
|
+
return next;
|
|
77
|
+
});
|
|
78
|
+
}, []);
|
|
79
|
+
const handleClearFilter = useCallback((filterKey) => {
|
|
80
|
+
setFilterValues((prev) => ({ ...prev, [filterKey]: new Set() }));
|
|
81
|
+
}, []);
|
|
82
|
+
const handleRangeChange = useCallback((filterKey, range) => {
|
|
83
|
+
setRangeValues((prev) => ({ ...prev, [filterKey]: range }));
|
|
84
|
+
}, []);
|
|
85
|
+
const handleCustomValueChange = useCallback((filterKey, value) => {
|
|
86
|
+
setCustomValues((prev) => ({ ...prev, [filterKey]: value }));
|
|
87
|
+
}, []);
|
|
88
|
+
return {
|
|
89
|
+
filterValues,
|
|
90
|
+
rangeValues,
|
|
91
|
+
customValues,
|
|
92
|
+
expandedFilterKey,
|
|
93
|
+
setExpandedFilterKey,
|
|
94
|
+
handleToggleFilter,
|
|
95
|
+
handleClearFilter,
|
|
96
|
+
handleRangeChange,
|
|
97
|
+
handleCustomValueChange,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export { useFilterState };
|
|
102
|
+
//# sourceMappingURL=useFilterState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFilterState.js","sources":["../../../Filter/useFilterState.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { FilterDefinition, FilterValues, RangeValues } from './types';
|
|
2
|
+
export declare function buildFilterValues(filters: FilterDefinition[] | undefined): FilterValues;
|
|
3
|
+
export declare function buildRangeValues(filters: FilterDefinition[] | undefined): RangeValues;
|
|
4
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../Filter/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,SAAS,GAAG,YAAY,CAQvF;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,SAAS,GAAG,WAAW,CAQrF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
/** Initialise the string/option selection map for all string/date filters. */
|
|
4
|
+
function buildFilterValues(filters) {
|
|
5
|
+
const state = {};
|
|
6
|
+
filters?.forEach((filter) => {
|
|
7
|
+
if (!filter.type || filter.type === 'string' || filter.type === 'date') {
|
|
8
|
+
state[filter.key] = new Set();
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
return state;
|
|
12
|
+
}
|
|
13
|
+
/** Initialise the numeric range map for all number filters. */
|
|
14
|
+
function buildRangeValues(filters) {
|
|
15
|
+
const state = {};
|
|
16
|
+
filters?.forEach((filter) => {
|
|
17
|
+
if (filter.type === 'number') {
|
|
18
|
+
state[filter.key] = null;
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
return state;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export { buildFilterValues, buildRangeValues };
|
|
25
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../Filter/utils.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AAIA;AACM,SAAU,iBAAiB,CAAC,OAAuC,EAAA;IACrE,MAAM,KAAK,GAAiB,EAAE;AAC9B,IAAA,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,KAAI;AACxB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;YACpE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAU;QACzC;AACJ,IAAA,CAAC,CAAC;AACF,IAAA,OAAO,KAAK;AAChB;AAEA;AACM,SAAU,gBAAgB,CAAC,OAAuC,EAAA;IACpE,MAAM,KAAK,GAAgB,EAAE;AAC7B,IAAA,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,KAAI;AACxB,QAAA,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC1B,YAAA,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI;QAC5B;AACJ,IAAA,CAAC,CAAC;AACF,IAAA,OAAO,KAAK;AAChB;;;;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { Json, JsonSchema } from '../types/JsonSchema';
|
|
2
3
|
export interface ObjectContentEditorProps {
|
|
3
4
|
object: Json;
|
|
@@ -8,5 +9,5 @@ export interface ObjectContentEditorProps {
|
|
|
8
9
|
onValidationChange?: (hasErrors: boolean) => void;
|
|
9
10
|
className?: string;
|
|
10
11
|
}
|
|
11
|
-
export declare const ObjectContentEditor: ({ object, timestamp, schema, editMode, onChange, onValidationChange, className }: ObjectContentEditorProps) =>
|
|
12
|
+
export declare const ObjectContentEditor: ({ object, timestamp, schema, editMode, onChange, onValidationChange, className }: ObjectContentEditorProps) => React.JSX.Element;
|
|
12
13
|
//# sourceMappingURL=ObjectContentEditor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectContentEditor.d.ts","sourceRoot":"","sources":["../../../ObjectContentEditor/ObjectContentEditor.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ObjectContentEditor.d.ts","sourceRoot":"","sources":["../../../ObjectContentEditor/ObjectContentEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAGzE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAsB,MAAM,qBAAqB,CAAC;AAW3E,MAAM,WAAW,wBAAwB;IAErC,MAAM,EAAE,IAAI,CAAC;IAGb,SAAS,CAAC,EAAE,IAAI,CAAC;IAOjB,MAAM,EAAE,UAAU,CAAC;IAMnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAMnB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,KAAK,IAAI,CAAC;IAOlC,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAOlD,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAcD,eAAO,MAAM,mBAAmB,GAAI,kFAA0F,wBAAwB,sBAiarJ,CAAC"}
|
|
@@ -4,5 +4,5 @@ export interface ObjectNavigationalBarProps {
|
|
|
4
4
|
onNavigate: (index: number) => void;
|
|
5
5
|
className?: string;
|
|
6
6
|
}
|
|
7
|
-
export declare function ObjectNavigationalBar({ navigationPath, onNavigate, className }: ObjectNavigationalBarProps): import("react
|
|
7
|
+
export declare function ObjectNavigationalBar({ navigationPath, onNavigate, className }: ObjectNavigationalBarProps): import("react").JSX.Element;
|
|
8
8
|
//# sourceMappingURL=ObjectNavigationalBar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectNavigationalBar.d.ts","sourceRoot":"","sources":["../../../ObjectNavigationalBar/ObjectNavigationalBar.tsx"],"names":[],"mappings":"AAOA,OAAO,6BAA6B,CAAC;AAKrC,MAAM,WAAW,0BAA0B;IAMvC,cAAc,EAAE,MAAM,EAAE,CAAC;IAMzB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAGpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAUD,wBAAgB,qBAAqB,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,0BAA0B
|
|
1
|
+
{"version":3,"file":"ObjectNavigationalBar.d.ts","sourceRoot":"","sources":["../../../ObjectNavigationalBar/ObjectNavigationalBar.tsx"],"names":[],"mappings":"AAOA,OAAO,6BAA6B,CAAC;AAKrC,MAAM,WAAW,0BAA0B;IAMvC,cAAc,EAAE,MAAM,EAAE,CAAC;IAMzB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAGpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAUD,wBAAgB,qBAAqB,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,0BAA0B,+BAqC1G"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { PivotViewerProps } from './types';
|
|
2
2
|
import './PivotViewer.css';
|
|
3
|
-
export declare function PivotViewer<TItem extends object>({ data, dimensions, filters, defaultDimensionKey, cardRenderer, detailRenderer, getItemId, searchFields, className, emptyContent, isLoading, colors, }: PivotViewerProps<TItem>): import("react
|
|
3
|
+
export declare function PivotViewer<TItem extends object>({ data, dimensions, filters, defaultDimensionKey, cardRenderer, detailRenderer, getItemId, searchFields, className, emptyContent, isLoading, colors, }: PivotViewerProps<TItem>): import("react").JSX.Element;
|
|
4
4
|
//# sourceMappingURL=PivotViewer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PivotViewer.d.ts","sourceRoot":"","sources":["../../../PivotViewer/PivotViewer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAQhD,OAAO,mBAAmB,CAAC;AAkC3B,wBAAgB,WAAW,CAAC,KAAK,SAAS,MAAM,EAAE,EAC9C,IAAI,EACJ,UAAU,EACV,OAAO,EACP,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,SAAS,EACT,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,SAAiB,EACjB,MAAM,GACT,EAAE,gBAAgB,CAAC,KAAK,CAAC
|
|
1
|
+
{"version":3,"file":"PivotViewer.d.ts","sourceRoot":"","sources":["../../../PivotViewer/PivotViewer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAQhD,OAAO,mBAAmB,CAAC;AAkC3B,wBAAgB,WAAW,CAAC,KAAK,SAAS,MAAM,EAAE,EAC9C,IAAI,EACJ,UAAU,EACV,OAAO,EACP,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,SAAS,EACT,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,SAAiB,EACjB,MAAM,GACT,EAAE,gBAAgB,CAAC,KAAK,CAAC,+BAsYzB"}
|
|
@@ -10,5 +10,5 @@ export interface AxisLabelsProps<TItem extends object> {
|
|
|
10
10
|
onClick: (key: string) => void;
|
|
11
11
|
containerRef: React.RefObject<HTMLDivElement | null>;
|
|
12
12
|
}
|
|
13
|
-
export declare function AxisLabels<TItem extends object>({ groups, bucketWidths, dimensionFilter, hoveredGroup, zoomLevel, visible, onHover, onClick, containerRef, }: AxisLabelsProps<TItem>): import("react
|
|
13
|
+
export declare function AxisLabels<TItem extends object>({ groups, bucketWidths, dimensionFilter, hoveredGroup, zoomLevel, visible, onHover, onClick, containerRef, }: AxisLabelsProps<TItem>): import("react").JSX.Element;
|
|
14
14
|
//# sourceMappingURL=AxisLabels.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AxisLabels.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/components/AxisLabels.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,MAAM,WAAW,eAAe,CAAC,KAAK,SAAS,MAAM;IACnD,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACtD;AAED,wBAAgB,UAAU,CAAC,KAAK,SAAS,MAAM,EAAE,EAC/C,MAAM,EACN,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,SAAS,EACT,OAAO,EACP,OAAO,EACP,OAAO,EACP,YAAY,GACb,EAAE,eAAe,CAAC,KAAK,CAAC
|
|
1
|
+
{"version":3,"file":"AxisLabels.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/components/AxisLabels.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,MAAM,WAAW,eAAe,CAAC,KAAK,SAAS,MAAM;IACnD,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACtD;AAED,wBAAgB,UAAU,CAAC,KAAK,SAAS,MAAM,EAAE,EAC/C,MAAM,EACN,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,SAAS,EACT,OAAO,EACP,OAAO,EACP,OAAO,EACP,YAAY,GACb,EAAE,eAAe,CAAC,KAAK,CAAC,+BA0CxB"}
|
|
@@ -4,5 +4,5 @@ export interface DetailPanelProps<TItem extends object> {
|
|
|
4
4
|
onClose: () => void;
|
|
5
5
|
contentRenderer?: (item: TItem, onClose: () => void) => ReactNode;
|
|
6
6
|
}
|
|
7
|
-
export declare function DetailPanel<TItem extends object>({ selectedItem, onClose, contentRenderer, }: DetailPanelProps<TItem>): import("react
|
|
7
|
+
export declare function DetailPanel<TItem extends object>({ selectedItem, onClose, contentRenderer, }: DetailPanelProps<TItem>): import("react").JSX.Element;
|
|
8
8
|
//# sourceMappingURL=DetailPanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailPanel.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/components/DetailPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,WAAW,gBAAgB,CAAC,KAAK,SAAS,MAAM;IACpD,YAAY,EAAE,KAAK,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC;CACnE;AAED,wBAAgB,WAAW,CAAC,KAAK,SAAS,MAAM,EAAE,EAChD,YAAY,EACZ,OAAO,EACP,eAAe,GAChB,EAAE,gBAAgB,CAAC,KAAK,CAAC
|
|
1
|
+
{"version":3,"file":"DetailPanel.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/components/DetailPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,WAAW,gBAAgB,CAAC,KAAK,SAAS,MAAM;IACpD,YAAY,EAAE,KAAK,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC;CACnE;AAED,wBAAgB,WAAW,CAAC,KAAK,SAAS,MAAM,EAAE,EAChD,YAAY,EACZ,OAAO,EACP,eAAe,GAChB,EAAE,gBAAgB,CAAC,KAAK,CAAC,+BAyGzB"}
|
|
@@ -23,5 +23,5 @@ export interface FilterPanelProps<TItem extends object> {
|
|
|
23
23
|
onRangeChange: (filterKey: string, range: [number, number] | null) => void;
|
|
24
24
|
onExpandedFilterChange: (key: string | null) => void;
|
|
25
25
|
}
|
|
26
|
-
export declare function FilterPanel<TItem extends object>({ isOpen, search, filterState, rangeFilterState, expandedFilterKey, filterOptions, anchorRef, onClose, onSearchChange, onFilterToggle, onFilterClear, onRangeChange, onExpandedFilterChange, }: FilterPanelProps<TItem>): import("react").
|
|
26
|
+
export declare function FilterPanel<TItem extends object>({ isOpen, search, filterState, rangeFilterState, expandedFilterKey, filterOptions, anchorRef, onClose, onSearchChange, onFilterToggle, onFilterClear, onRangeChange, onExpandedFilterChange, }: FilterPanelProps<TItem>): import("react").JSX.Element;
|
|
27
27
|
//# sourceMappingURL=FilterPanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterPanel.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/components/FilterPanel.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"FilterPanel.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/components/FilterPanel.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEpE,MAAM,WAAW,gBAAgB,CAAC,KAAK,SAAS,MAAM;IACpD,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,aAAa,EAAE;QACb,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,EAAE,iBAAiB,EAAE,CAAC;QAC7B,YAAY,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,cAAc,EAAE,CAAA;SAAE,CAAC;KACvE,EAAE,CAAC;IACJ,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACrD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,KAAK,IAAI,CAAC;IAC3F,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3E,sBAAsB,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACtD;AAED,wBAAgB,WAAW,CAAC,KAAK,SAAS,MAAM,EAAE,EAChD,MAAM,EACN,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,OAAO,EACP,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,EACb,sBAAsB,GACvB,EAAE,gBAAgB,CAAC,KAAK,CAAC,+BA2CzB"}
|
|
@@ -1,60 +1,26 @@
|
|
|
1
|
-
import { jsx
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { AnimatePresence, motion } from 'framer-motion';
|
|
5
|
-
import { renderOptionCount } from '../utils/utils.js';
|
|
6
|
-
import { RangeHistogramFilter } from './RangeHistogramFilter.js';
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { FilterPanel as FilterPanel$1 } from '../../Filter/FilterPanel.js';
|
|
3
|
+
import { FilterEditor } from '../../Filter/FilterEditor.js';
|
|
7
4
|
|
|
8
5
|
function FilterPanel({ isOpen, search, filterState, rangeFilterState, expandedFilterKey, filterOptions, anchorRef, onClose, onSearchChange, onFilterToggle, onFilterClear, onRangeChange, onExpandedFilterChange, }) {
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const panel = panelRef.current;
|
|
28
|
-
const anchor = anchorRef.current;
|
|
29
|
-
if (panel && !panel.contains(target) && anchor && !anchor.contains(target)) {
|
|
30
|
-
onClose();
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
// Use capture phase to ensure we catch the event before any other handlers
|
|
34
|
-
// Use timeout to avoid closing immediately when clicking the button to open
|
|
35
|
-
const timeoutId = setTimeout(() => {
|
|
36
|
-
document.addEventListener('mousedown', handleClickOutside, true);
|
|
37
|
-
}, 0);
|
|
38
|
-
return () => {
|
|
39
|
-
clearTimeout(timeoutId);
|
|
40
|
-
document.removeEventListener('mousedown', handleClickOutside, true);
|
|
41
|
-
};
|
|
42
|
-
}, [isOpen, anchorRef, onClose]);
|
|
43
|
-
return createPortal(jsx(AnimatePresence, { initial: false, children: isOpen && (jsx(motion.aside, { ref: panelRef, className: "pv-filter-dropdown", style: {
|
|
44
|
-
position: 'fixed',
|
|
45
|
-
left: position.left,
|
|
46
|
-
top: position.top,
|
|
47
|
-
}, initial: { opacity: 0, y: -8 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -8 }, transition: { duration: 0.15 }, children: jsxs("div", { className: "pv-filter-dropdown-content", children: [jsx("div", { className: "pv-search", children: jsx("input", { type: "search", placeholder: "Search events", value: search, onChange: (event) => onSearchChange(event.target.value) }) }), jsx("div", { className: "pv-filter-groups", children: filterOptions.map(({ filter, options, numericRange }) => {
|
|
48
|
-
const selections = filterState[filter.key] ?? new Set();
|
|
49
|
-
const rangeSelection = rangeFilterState[filter.key];
|
|
50
|
-
const isExpanded = expandedFilterKey === filter.key;
|
|
51
|
-
const isNumeric = filter.type === 'number';
|
|
52
|
-
return (jsxs("div", { className: `pv-filter ${isExpanded ? 'expanded' : ''}`, children: [jsxs("button", { type: "button", className: "pv-filter-trigger", onClick: () => onExpandedFilterChange(isExpanded ? null : filter.key), children: [jsx("span", { className: "pv-filter-label", children: filter.label }), jsxs("span", { className: "pv-filter-trigger-meta", children: [!isNumeric && selections.size > 0 && jsx("span", { className: "pv-filter-count", children: selections.size }), isNumeric && rangeSelection && jsx("span", { className: "pv-filter-count", children: "Range" }), jsx("span", { className: "pv-filter-chevron" })] })] }), jsx("div", { className: `pv-filter-content ${isExpanded ? 'expanded' : ''}`, children: isNumeric && numericRange ? (jsx(RangeHistogramFilter, { values: numericRange.values, min: numericRange.min, max: numericRange.max, buckets: filter.buckets ?? 20, selectedRange: rangeSelection ?? null, onChange: (range) => onRangeChange(filter.key, range) })) : (jsxs(Fragment, { children: [jsx("ul", { children: options.map((option) => {
|
|
53
|
-
const optionKey = option.key;
|
|
54
|
-
const checked = selections.has(optionKey);
|
|
55
|
-
return (jsx("li", { children: jsxs("label", { children: [jsx("input", { type: filter.multi ? 'checkbox' : 'radio', name: `filter-${filter.key}`, checked: checked, onChange: () => onFilterToggle(filter.key, optionKey, filter.multi ?? false) }), jsx("span", { children: option.label }), jsx("span", { className: "pv-option-count", children: renderOptionCount(option.count) })] }) }, option.key));
|
|
56
|
-
}) }), selections.size > 0 && (jsx("button", { type: "button", className: "pv-filter-clear", onClick: () => onFilterClear(filter.key), children: "Clear" }))] })) })] }, filter.key));
|
|
57
|
-
}) })] }) })) }), document.body);
|
|
6
|
+
// Adapt from PivotViewer-specific types to the generic FilterDefinition format
|
|
7
|
+
const filters = filterOptions.map(({ filter, options, numericRange }) => ({
|
|
8
|
+
key: filter.key,
|
|
9
|
+
label: filter.label,
|
|
10
|
+
type: filter.type,
|
|
11
|
+
multi: filter.multi,
|
|
12
|
+
options: options.map((o) => ({
|
|
13
|
+
key: o.key,
|
|
14
|
+
label: o.label,
|
|
15
|
+
value: o.value,
|
|
16
|
+
count: o.count,
|
|
17
|
+
})),
|
|
18
|
+
numericRange,
|
|
19
|
+
buckets: filter.buckets,
|
|
20
|
+
}));
|
|
21
|
+
return (jsx(FilterPanel$1, { isOpen: isOpen, filters: filters, filterValues: filterState, rangeValues: rangeFilterState, search: search, searchPlaceholder: "Search\u2026", expandedFilterKey: expandedFilterKey, anchorRef: anchorRef, onClose: onClose, onSearchChange: onSearchChange, onFilterToggle: onFilterToggle, onFilterClear: onFilterClear, onRangeChange: onRangeChange, onExpandedFilterChange: onExpandedFilterChange, children: filterOptions
|
|
22
|
+
.filter(({ filter }) => filter.renderEditor !== undefined)
|
|
23
|
+
.map(({ filter }) => (jsx(FilterEditor, { filterKey: filter.key, children: (editorProps) => filter.renderEditor(editorProps) }, filter.key))) }));
|
|
58
24
|
}
|
|
59
25
|
|
|
60
26
|
export { FilterPanel };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterPanel.js","sources":["../../../../PivotViewer/components/FilterPanel.tsx"],"sourcesContent":[null],"names":["_jsx","
|
|
1
|
+
{"version":3,"file":"FilterPanel.js","sources":["../../../../PivotViewer/components/FilterPanel.tsx"],"sourcesContent":[null],"names":["_jsx","StandaloneFilterPanel"],"mappings":";;;;AA6BM,SAAU,WAAW,CAAuB,EAChD,MAAM,EACN,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,OAAO,EACP,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,EACb,sBAAsB,GACE,EAAA;;AAExB,IAAA,MAAM,OAAO,GAAuB,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM;QAC5F,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;YAC3B,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,KAAK;AACf,SAAA,CAAC,CAAC;QACH,YAAY;QACZ,OAAO,EAAE,MAAM,CAAC,OAAO;AACxB,KAAA,CAAC,CAAC;AAEH,IAAA,QACEA,GAAA,CAACC,aAAqB,EAAA,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,WAAW,EACzB,WAAW,EAAE,gBAAgB,EAC7B,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAC,cAAS,EAC3B,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,sBAAsB,EAAE,sBAAsB,EAAA,QAAA,EAE7C;AACE,aAAA,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC,YAAY,KAAK,SAAS;AACxD,aAAA,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MACdD,GAAA,CAAC,YAAY,EAAA,EAAkB,SAAS,EAAE,MAAM,CAAC,GAAG,EAAA,QAAA,EACjD,CAAC,WAAW,KAAK,MAAM,CAAC,YAAa,CAAC,WAAW,CAAC,EAAA,EADlC,MAAM,CAAC,GAAG,CAEd,CAChB,CAAC,EAAA,CACkB;AAE5B;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { type FilterPanelProps } from './FilterPanel';
|
|
2
2
|
export type FilterPanelContainerProps<TItem extends object> = FilterPanelProps<TItem>;
|
|
3
|
-
export declare function FilterPanelContainer<TItem extends object>(props: FilterPanelContainerProps<TItem>): import("react
|
|
3
|
+
export declare function FilterPanelContainer<TItem extends object>(props: FilterPanelContainerProps<TItem>): import("react").JSX.Element;
|
|
4
4
|
//# sourceMappingURL=FilterPanelContainer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterPanelContainer.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/components/FilterPanelContainer.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEnE,MAAM,MAAM,yBAAyB,CAAC,KAAK,SAAS,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAEtF,wBAAgB,oBAAoB,CAAC,KAAK,SAAS,MAAM,EAAE,KAAK,EAAE,yBAAyB,CAAC,KAAK,CAAC
|
|
1
|
+
{"version":3,"file":"FilterPanelContainer.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/components/FilterPanelContainer.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEnE,MAAM,MAAM,yBAAyB,CAAC,KAAK,SAAS,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAEtF,wBAAgB,oBAAoB,CAAC,KAAK,SAAS,MAAM,EAAE,KAAK,EAAE,yBAAyB,CAAC,KAAK,CAAC,+BAEjG"}
|
|
@@ -44,5 +44,5 @@ export interface PivotViewerMainProps<TItem extends object> {
|
|
|
44
44
|
axisLabelsRef: React.RefObject<HTMLDivElement | null>;
|
|
45
45
|
spacerRef: React.RefObject<HTMLDivElement | null>;
|
|
46
46
|
}
|
|
47
|
-
export declare function PivotViewerMain<TItem extends object>({ data, ready, isLoading, visibleIds, grouping, layout, cardWidth, cardHeight, zoomLevel, scrollPosition, containerDimensions, selectedItem, hoveredGroupIndex, isZooming, viewMode, cardRenderer, detailRenderer, resolveId, emptyContent, dimensionFilter, onCardClick, onPanStart, onPanMove, onPanEnd, onGroupHover, onAxisLabelClick, onCloseDetail, containerRef, axisLabelsRef, spacerRef, }: PivotViewerMainProps<TItem>): import("react
|
|
47
|
+
export declare function PivotViewerMain<TItem extends object>({ data, ready, isLoading, visibleIds, grouping, layout, cardWidth, cardHeight, zoomLevel, scrollPosition, containerDimensions, selectedItem, hoveredGroupIndex, isZooming, viewMode, cardRenderer, detailRenderer, resolveId, emptyContent, dimensionFilter, onCardClick, onPanStart, onPanMove, onPanEnd, onGroupHover, onAxisLabelClick, onCloseDetail, containerRef, axisLabelsRef, spacerRef, }: PivotViewerMainProps<TItem>): import("react").JSX.Element;
|
|
48
48
|
//# sourceMappingURL=PivotViewerMain.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PivotViewerMain.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/components/PivotViewerMain.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PivotViewerMain.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/components/PivotViewerMain.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,5 +7,5 @@ export interface RangeHistogramFilterProps {
|
|
|
7
7
|
selectedRange: [number, number] | null;
|
|
8
8
|
onChange: (range: [number, number] | null) => void;
|
|
9
9
|
}
|
|
10
|
-
export declare function RangeHistogramFilter({ values, min, max, buckets, selectedRange, onChange, }: RangeHistogramFilterProps): import("react
|
|
10
|
+
export declare function RangeHistogramFilter({ values, min, max, buckets, selectedRange, onChange, }: RangeHistogramFilterProps): import("react").JSX.Element;
|
|
11
11
|
//# sourceMappingURL=RangeHistogramFilter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RangeHistogramFilter.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/components/RangeHistogramFilter.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;CACpD;AASD,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,GAAG,EACH,GAAG,EACH,OAAY,EACZ,aAAa,EACb,QAAQ,GACT,EAAE,yBAAyB
|
|
1
|
+
{"version":3,"file":"RangeHistogramFilter.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/components/RangeHistogramFilter.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;CACpD;AASD,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,GAAG,EACH,GAAG,EACH,OAAY,EACZ,aAAa,EACb,QAAQ,GACT,EAAE,yBAAyB,+BA8L3B"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
function RangeHistogramFilter({ values, min, max, buckets = 20, selectedRange, onChange, }) {
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
3
|
+
export function RangeHistogramFilter({ values, min, max, buckets = 20, selectedRange, onChange, }) {
|
|
5
4
|
const containerRef = useRef(null);
|
|
6
5
|
const [isDragging, setIsDragging] = useState(null);
|
|
7
6
|
const [dragStart, setDragStart] = useState(null);
|
|
@@ -107,16 +106,14 @@ function RangeHistogramFilter({ values, min, max, buckets = 20, selectedRange, o
|
|
|
107
106
|
return value.toString();
|
|
108
107
|
return value.toFixed(1);
|
|
109
108
|
};
|
|
110
|
-
return (
|
|
109
|
+
return (_jsxs("div", { className: "pv-range-histogram", ref: containerRef, children: [_jsx("div", { className: "pv-histogram-bars", children: histogram.map((bucket, i) => {
|
|
111
110
|
const heightPercent = (bucket.count / bucket.maxCount) * 100;
|
|
112
111
|
const isInRange = bucket.start >= currentRange[0] && bucket.end <= currentRange[1];
|
|
113
112
|
const isPartiallyInRange = bucket.end > currentRange[0] && bucket.start < currentRange[1];
|
|
114
|
-
return (
|
|
115
|
-
}) }),
|
|
113
|
+
return (_jsx("button", { className: `pv-histogram-bar ${isInRange ? 'in-range' : ''} ${isPartiallyInRange && !isInRange ? 'partial' : ''}`, style: { height: `${heightPercent}%` }, onClick: () => handleBarClick(bucket), title: `${formatValue(bucket.start)} - ${formatValue(bucket.end)}: ${bucket.count} items`, type: "button" }, i));
|
|
114
|
+
}) }), _jsxs("div", { className: "pv-range-slider", children: [_jsx("div", { className: "pv-range-track" }), _jsx("div", { className: "pv-range-selection", style: {
|
|
116
115
|
left: `${leftPos}%`,
|
|
117
116
|
width: `${rightPos - leftPos}%`,
|
|
118
|
-
}, onMouseDown: (e) => handleMouseDown(e, 'range') }),
|
|
117
|
+
}, onMouseDown: (e) => handleMouseDown(e, 'range') }), _jsx("div", { className: "pv-range-handle pv-range-handle-left", style: { left: `${leftPos}%` }, onMouseDown: (e) => handleMouseDown(e, 'left') }), _jsx("div", { className: "pv-range-handle pv-range-handle-right", style: { left: `${rightPos}%` }, onMouseDown: (e) => handleMouseDown(e, 'right') })] }), _jsxs("div", { className: "pv-range-labels", children: [_jsx("span", { className: "pv-range-value", children: formatValue(currentRange[0]) }), _jsx("span", { className: "pv-range-value", children: formatValue(currentRange[1]) })] }), selectedRange && (_jsx("button", { type: "button", className: "pv-range-clear", onClick: handleClear, children: "Clear Range" }))] }));
|
|
119
118
|
}
|
|
120
|
-
|
|
121
|
-
export { RangeHistogramFilter };
|
|
122
|
-
//# sourceMappingURL=RangeHistogramFilter.js.map
|
|
119
|
+
//# sourceMappingURL=RangeHistogramFilter.js.map
|