sea-chart 1.1.91 → 1.1.92
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.
|
@@ -1,24 +1,20 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import './index.css';
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
// eslint-disable-next-line no-console
|
|
10
|
-
console.log(error);
|
|
11
|
-
}
|
|
3
|
+
const components = {};
|
|
4
|
+
const requireContext = require.context('../../assets/icons', false, /\.svg$/);
|
|
5
|
+
requireContext.keys().forEach(path => {
|
|
6
|
+
const iconName = path.replace(/^\.\/(.*?)\.svg$/, '$1').toLowerCase();
|
|
7
|
+
components[iconName] = requireContext(path).default;
|
|
8
|
+
});
|
|
12
9
|
const Icon = props => {
|
|
13
10
|
const {
|
|
14
11
|
className,
|
|
15
12
|
symbol
|
|
16
13
|
} = props;
|
|
17
14
|
const iconClass = `sea-chart-icon sea-chart-icon-${symbol} ${className || ''}`;
|
|
18
|
-
|
|
15
|
+
const IconComponent = components[symbol];
|
|
16
|
+
return /*#__PURE__*/React.createElement(IconComponent, {
|
|
19
17
|
className: iconClass
|
|
20
|
-
}
|
|
21
|
-
xlinkHref: `#${symbol}`
|
|
22
|
-
}));
|
|
18
|
+
});
|
|
23
19
|
};
|
|
24
20
|
export default Icon;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _DTableFiltersPopover from "dtable-ui-component/lib/DTableFiltersPopover";
|
|
2
2
|
import React, { useCallback, useContext, useMemo, useState } from 'react';
|
|
3
|
-
import { getTableById } from 'dtable-utils';
|
|
3
|
+
import { getTableById, getValidFilters } from 'dtable-utils';
|
|
4
4
|
import { eventStopPropagation, generatorKey } from '../../../utils';
|
|
5
5
|
import intl from '../../../intl';
|
|
6
6
|
import context from '../../../context';
|
|
@@ -8,7 +8,7 @@ import { DepartmentsContext, FirstDayOfWeekContext } from '../../../utils/contex
|
|
|
8
8
|
import { CHART_TYPE } from '../../../constants';
|
|
9
9
|
import './data-filter.css';
|
|
10
10
|
const DataFilter = _ref => {
|
|
11
|
-
var _availableFilters;
|
|
11
|
+
var _availableFilters, _window$dtable;
|
|
12
12
|
let {
|
|
13
13
|
chart,
|
|
14
14
|
tables,
|
|
@@ -31,12 +31,24 @@ const DataFilter = _ref => {
|
|
|
31
31
|
filters,
|
|
32
32
|
filter_conjunction
|
|
33
33
|
} = config;
|
|
34
|
+
const shownColumns = useMemo(() => {
|
|
35
|
+
const table = getTableById(tables, table_id);
|
|
36
|
+
if (!table || !table.columns) return [];
|
|
37
|
+
if (!shown_column_keys) {
|
|
38
|
+
return table.columns;
|
|
39
|
+
} else {
|
|
40
|
+
return table.columns.filter(column => shown_column_keys.includes(column.key));
|
|
41
|
+
}
|
|
42
|
+
}, [shown_column_keys, table_id, tables]);
|
|
43
|
+
const validFilters = useMemo(() => {
|
|
44
|
+
return getValidFilters(filters, shownColumns);
|
|
45
|
+
}, [filters, shownColumns]);
|
|
34
46
|
let availableFilters = [];
|
|
35
47
|
// some of the filters of TABLE_ELEMENT maybe one of the hidden columns, so we need to filter them out
|
|
36
48
|
if (shown_column_keys && type === CHART_TYPE.TABLE_ELEMENT) {
|
|
37
|
-
availableFilters =
|
|
49
|
+
availableFilters = validFilters === null || validFilters === void 0 ? void 0 : validFilters.filter(filter => shown_column_keys.includes(filter.column_key));
|
|
38
50
|
} else {
|
|
39
|
-
availableFilters =
|
|
51
|
+
availableFilters = validFilters;
|
|
40
52
|
}
|
|
41
53
|
const toggleFilterPopover = useCallback(event => {
|
|
42
54
|
eventStopPropagation(event);
|
|
@@ -48,15 +60,6 @@ const DataFilter = _ref => {
|
|
|
48
60
|
const id = useMemo(() => {
|
|
49
61
|
return 'sea-chart-data-filter-' + generatorKey();
|
|
50
62
|
}, []);
|
|
51
|
-
const shownColumns = useMemo(() => {
|
|
52
|
-
const table = getTableById(tables, table_id);
|
|
53
|
-
if (!table || !table.columns) return [];
|
|
54
|
-
if (!shown_column_keys) {
|
|
55
|
-
return table.columns;
|
|
56
|
-
} else {
|
|
57
|
-
return table.columns.filter(column => shown_column_keys.includes(column.key));
|
|
58
|
-
}
|
|
59
|
-
}, [shown_column_keys, table_id, tables]);
|
|
60
63
|
const filterLength = ((_availableFilters = availableFilters) === null || _availableFilters === void 0 ? void 0 : _availableFilters.length) || 0;
|
|
61
64
|
const filterMessage = useMemo(() => {
|
|
62
65
|
let filterMessage = intl.get('Filter');
|
|
@@ -71,6 +74,10 @@ const DataFilter = _ref => {
|
|
|
71
74
|
return filter_conjunction || 'And';
|
|
72
75
|
}, [filter_conjunction]);
|
|
73
76
|
const collaborators = context.getCollaboratorsFromCache();
|
|
77
|
+
const userDepartmentIdsMap = ((_window$dtable = window.dtable) === null || _window$dtable === void 0 ? void 0 : _window$dtable.userDepartmentIdsMap) || {
|
|
78
|
+
'current_user_department_ids': [],
|
|
79
|
+
'current_user_department_and_sub_ids': []
|
|
80
|
+
};
|
|
74
81
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
75
82
|
id: id,
|
|
76
83
|
className: "sea-chart-data-filter mb-1",
|
|
@@ -79,15 +86,17 @@ const DataFilter = _ref => {
|
|
|
79
86
|
className: "dtable-font dtable-icon-filter"
|
|
80
87
|
}), /*#__PURE__*/React.createElement("span", null, filterMessage)), isFilterSetterShow && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_DTableFiltersPopover, {
|
|
81
88
|
isNeedSubmit: true,
|
|
89
|
+
userDepartmentIdsMap: userDepartmentIdsMap,
|
|
90
|
+
departments: departments,
|
|
82
91
|
target: id,
|
|
83
|
-
filters: availableFilters,
|
|
84
|
-
filterConjunction: filterConjunction,
|
|
85
92
|
columns: shownColumns,
|
|
86
|
-
|
|
93
|
+
filterConjunction: filterConjunction,
|
|
94
|
+
filters: availableFilters,
|
|
87
95
|
collaborators: collaborators,
|
|
88
96
|
hidePopover: toggleFilterPopover,
|
|
89
97
|
update: updateFilters,
|
|
90
|
-
firstDayOfWeek: firstDayOfWeek
|
|
98
|
+
firstDayOfWeek: firstDayOfWeek,
|
|
99
|
+
isSupportAdvanced: true
|
|
91
100
|
})));
|
|
92
101
|
};
|
|
93
102
|
export default DataFilter;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import _DTableFiltersPopover from "dtable-ui-component/lib/DTableFiltersPopover";
|
|
2
2
|
import React, { useCallback, useContext, useMemo, useState } from 'react';
|
|
3
3
|
import { Label, FormGroup } from 'reactstrap';
|
|
4
|
-
import { getTableById } from 'dtable-utils';
|
|
4
|
+
import { getTableById, getValidFilters } from 'dtable-utils';
|
|
5
5
|
import { eventStopPropagation, generatorKey } from '../../../utils';
|
|
6
6
|
import intl from '../../../intl';
|
|
7
7
|
import context from '../../../context';
|
|
8
8
|
import { DepartmentsContext, FirstDayOfWeekContext } from '../../../utils/contexts';
|
|
9
9
|
import './index.css';
|
|
10
10
|
const DataFilter = _ref => {
|
|
11
|
+
var _window$dtable;
|
|
11
12
|
let {
|
|
12
13
|
chart,
|
|
13
14
|
tables,
|
|
@@ -64,12 +65,19 @@ const DataFilter = _ref => {
|
|
|
64
65
|
return filter_conjunction || 'And';
|
|
65
66
|
}, [chart]);
|
|
66
67
|
const collaborators = context.getCollaboratorsFromCache();
|
|
68
|
+
const userDepartmentIdsMap = ((_window$dtable = window.dtable) === null || _window$dtable === void 0 ? void 0 : _window$dtable.userDepartmentIdsMap) || {
|
|
69
|
+
'current_user_department_ids': [],
|
|
70
|
+
'current_user_department_and_sub_ids': []
|
|
71
|
+
};
|
|
67
72
|
const {
|
|
68
73
|
config
|
|
69
74
|
} = chart;
|
|
70
75
|
const {
|
|
71
76
|
filters
|
|
72
77
|
} = config;
|
|
78
|
+
const validFilters = useMemo(() => {
|
|
79
|
+
return getValidFilters(filters, table.columns);
|
|
80
|
+
}, [filters, table.columns]);
|
|
73
81
|
return /*#__PURE__*/React.createElement(FormGroup, {
|
|
74
82
|
className: "sea-chart-parameter-item"
|
|
75
83
|
}, /*#__PURE__*/React.createElement(Label, null, intl.get('Data_settings')), table ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
@@ -78,18 +86,20 @@ const DataFilter = _ref => {
|
|
|
78
86
|
onClick: toggleFilterPopover
|
|
79
87
|
}, /*#__PURE__*/React.createElement("i", {
|
|
80
88
|
className: "dtable-font dtable-icon-filter"
|
|
81
|
-
}), /*#__PURE__*/React.createElement("span", null, filterMessage)), isFilterSetterShow && /*#__PURE__*/React.createElement(
|
|
89
|
+
}), /*#__PURE__*/React.createElement("span", null, filterMessage)), isFilterSetterShow && /*#__PURE__*/React.createElement(_DTableFiltersPopover, {
|
|
82
90
|
isNeedSubmit: true,
|
|
91
|
+
userDepartmentIdsMap: userDepartmentIdsMap,
|
|
92
|
+
departments: departments,
|
|
83
93
|
target: id,
|
|
84
|
-
filters: filters,
|
|
85
|
-
filterConjunction: filterConjunction,
|
|
86
94
|
columns: table.columns,
|
|
87
|
-
|
|
95
|
+
filterConjunction: filterConjunction,
|
|
96
|
+
filters: validFilters,
|
|
88
97
|
collaborators: collaborators,
|
|
89
98
|
hidePopover: toggleFilterPopover,
|
|
90
99
|
update: updateFilters,
|
|
91
|
-
firstDayOfWeek: firstDayOfWeek
|
|
92
|
-
|
|
100
|
+
firstDayOfWeek: firstDayOfWeek,
|
|
101
|
+
isSupportAdvanced: true
|
|
102
|
+
})) : /*#__PURE__*/React.createElement("div", {
|
|
93
103
|
id: id,
|
|
94
104
|
className: "sea-chart-data-filter disabled"
|
|
95
105
|
}, /*#__PURE__*/React.createElement("i", {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sea-chart",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.92",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@antv/data-set": "0.11.8",
|
|
@@ -143,7 +143,6 @@
|
|
|
143
143
|
"resolve": "1.12.0",
|
|
144
144
|
"resolve-url-loader": "5.0.0",
|
|
145
145
|
"rimraf": "^5.0.7",
|
|
146
|
-
"svg-sprite-loader": "^6.0.11",
|
|
147
146
|
"svgo-loader": "^3.0.0",
|
|
148
147
|
"sass-loader": "13.3.2",
|
|
149
148
|
"style-loader": "^1.0.1",
|