sea-chart 1.1.114 → 1.1.115-beta.2
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.
|
@@ -5,10 +5,9 @@ import { eventStopPropagation, generatorKey } from '../../../utils';
|
|
|
5
5
|
import intl from '../../../intl';
|
|
6
6
|
import context from '../../../context';
|
|
7
7
|
import { DepartmentsContext, FirstDayOfWeekContext } from '../../../utils/contexts';
|
|
8
|
-
import { CHART_TYPE } from '../../../constants';
|
|
9
8
|
import './data-filter.css';
|
|
10
9
|
const DataFilter = _ref => {
|
|
11
|
-
var
|
|
10
|
+
var _window$dtable;
|
|
12
11
|
let {
|
|
13
12
|
chart,
|
|
14
13
|
tables,
|
|
@@ -25,38 +24,18 @@ const DataFilter = _ref => {
|
|
|
25
24
|
config
|
|
26
25
|
} = chart;
|
|
27
26
|
const {
|
|
28
|
-
type,
|
|
29
27
|
table_id,
|
|
30
|
-
shown_column_keys,
|
|
31
28
|
filters,
|
|
32
29
|
filter_conjunction
|
|
33
30
|
} = config;
|
|
34
|
-
const
|
|
31
|
+
const columns = useMemo(() => {
|
|
35
32
|
const table = getTableById(tables, table_id);
|
|
36
33
|
if (!table || !table.columns) return [];
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
} else {
|
|
40
|
-
return table.columns.filter(column => shown_column_keys.includes(column.key));
|
|
41
|
-
}
|
|
42
|
-
}, [shown_column_keys, table_id, tables]);
|
|
34
|
+
return table.columns;
|
|
35
|
+
}, [table_id, tables]);
|
|
43
36
|
const validFilters = useMemo(() => {
|
|
44
|
-
return getValidFilters(filters,
|
|
45
|
-
}, [filters,
|
|
46
|
-
let availableFilters = [];
|
|
47
|
-
// some of the filters of TABLE_ELEMENT maybe one of the hidden columns, so we need to filter them out
|
|
48
|
-
if (shown_column_keys && type === CHART_TYPE.TABLE_ELEMENT) {
|
|
49
|
-
availableFilters = validFilters === null || validFilters === void 0 ? void 0 : validFilters.filter(filter => {
|
|
50
|
-
// For filter groups, check if any sub-filter references shown columns
|
|
51
|
-
if (filter.filters) {
|
|
52
|
-
return filter.filters.some(subFilter => shown_column_keys.includes(subFilter.column_key));
|
|
53
|
-
}
|
|
54
|
-
// For regular filters, check directly
|
|
55
|
-
return shown_column_keys.includes(filter.column_key);
|
|
56
|
-
});
|
|
57
|
-
} else {
|
|
58
|
-
availableFilters = validFilters;
|
|
59
|
-
}
|
|
37
|
+
return getValidFilters(filters, columns);
|
|
38
|
+
}, [filters, columns]);
|
|
60
39
|
const toggleFilterPopover = useCallback(event => {
|
|
61
40
|
eventStopPropagation(event);
|
|
62
41
|
setIsFilterSetterShow(!isFilterSetterShow);
|
|
@@ -67,7 +46,7 @@ const DataFilter = _ref => {
|
|
|
67
46
|
const id = useMemo(() => {
|
|
68
47
|
return 'sea-chart-data-filter-' + generatorKey();
|
|
69
48
|
}, []);
|
|
70
|
-
const filterLength = (
|
|
49
|
+
const filterLength = (validFilters === null || validFilters === void 0 ? void 0 : validFilters.length) || 0;
|
|
71
50
|
const filterMessage = useMemo(() => {
|
|
72
51
|
let filterMessage = intl.get('Filter');
|
|
73
52
|
if (filterLength === 1) {
|
|
@@ -96,9 +75,9 @@ const DataFilter = _ref => {
|
|
|
96
75
|
userDepartmentIdsMap: userDepartmentIdsMap,
|
|
97
76
|
departments: departments,
|
|
98
77
|
target: id,
|
|
99
|
-
columns:
|
|
78
|
+
columns: columns,
|
|
100
79
|
filterConjunction: filterConjunction,
|
|
101
|
-
filters:
|
|
80
|
+
filters: validFilters,
|
|
102
81
|
collaborators: collaborators,
|
|
103
82
|
hidePopover: toggleFilterPopover,
|
|
104
83
|
update: updateFilters,
|