sea-chart 2.0.36 → 2.0.37
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/api/index.js +59 -17
- package/dist/assets/css/sea-chart-d3-tooltip.css +1 -0
- package/dist/components/color-popover/color-rules-popover.js +2 -4
- package/dist/components/drill-down-settings/drill-down-fields-popover/index.js +4 -5
- package/dist/components/icon/index.js +13 -9
- package/dist/components/number-input/index.js +13 -7
- package/dist/components/popover/hide-column-popover/hide-column-popover-widgets/hide-column-item.js +3 -7
- package/dist/components/popover/hide-column-popover/hide-column-popover.css +1 -5
- package/dist/components/popover/hide-column-popover/hide-column-popover.js +4 -2
- package/dist/components/popover/sort-popover/sort-popover.js +7 -6
- package/dist/components/statistic-record-dialog/index.js +8 -9
- package/dist/components/tooltip/index.js +8 -26
- package/dist/editor/index.js +1 -5
- package/dist/locale/lang/de.js +0 -1
- package/dist/locale/lang/en.js +0 -1
- package/dist/locale/lang/es.js +0 -1
- package/dist/locale/lang/fr.js +0 -1
- package/dist/locale/lang/pt.js +0 -1
- package/dist/locale/lang/ru.js +0 -1
- package/dist/locale/lang/zh_CN.js +0 -1
- package/dist/model/funnel.js +2 -2
- package/dist/model/map-bubble.js +0 -4
- package/dist/services/map-json.js +0 -3
- package/dist/settings/advance-bar-settings/data-settings.js +1 -1
- package/dist/settings/advance-bar-settings/style-settings.js +3 -4
- package/dist/settings/bar-settings/data-settings.js +1 -1
- package/dist/settings/bar-settings/style-settings.js +2 -2
- package/dist/settings/basic-number-card/data-settings.js +2 -3
- package/dist/settings/combination-settings/data-settings.js +1 -0
- package/dist/settings/combination-settings/style-settings.js +2 -2
- package/dist/settings/dashboard-settings/data-settings.js +2 -3
- package/dist/settings/funnel-settings/components/funnel-layer-setting.js +7 -7
- package/dist/settings/index.js +3 -8
- package/dist/settings/table-element-settings/components/data-filter.js +25 -24
- package/dist/settings/table-element-settings/index.css +31 -1
- package/dist/settings/table-settings/data-settings.js +2 -3
- package/dist/settings/time-comparison-settings/style-settings.js +2 -2
- package/dist/settings/widgets/basic-summary/index.js +7 -8
- package/dist/settings/widgets/common-data-settings.js +6 -7
- package/dist/settings/widgets/data-filter/index.js +22 -30
- package/dist/settings/widgets/group-by.js +3 -4
- package/dist/settings/widgets/summary-settings.js +2 -3
- package/dist/settings/widgets/y-axis-group-settings.js +2 -3
- package/dist/utils/cell-format-utils.js +7 -9
- package/dist/utils/chart-utils/base-utils.js +86 -194
- package/dist/utils/chart-utils/index.js +3 -5
- package/dist/utils/chart-utils/original-data-utils/basic-chart-calculator.js +5 -5
- package/dist/utils/chart-utils/original-data-utils/card-calculator.js +2 -8
- package/dist/utils/chart-utils/original-data-utils/dashboard-calculator.js +3 -12
- package/dist/utils/chart-utils/original-data-utils/pivot-table-calculator.js +1 -4
- package/dist/utils/chart-utils/original-data-utils/scatter-calculator.js +0 -1
- package/dist/utils/chart-utils/original-data-utils/trend-calculator.js +3 -24
- package/dist/utils/chart-utils/sql-statistics-utils.js +177 -182
- package/dist/utils/column-utils.js +7 -20
- package/dist/utils/contexts.js +2 -5
- package/dist/utils/index.js +4 -25
- package/dist/utils/row-record-utils.js +20 -100
- package/dist/utils/sql/column-2-sql-column.js +10 -10
- package/dist/utils/trend-utils.js +2 -15
- package/dist/view/index.css +8 -2
- package/dist/view/index.js +9 -14
- package/dist/view/wrapper/area-group.js +7 -15
- package/dist/view/wrapper/bar-compare.js +2 -18
- package/dist/view/wrapper/bar-custom-stack.js +9 -35
- package/dist/view/wrapper/bar-group.js +26 -55
- package/dist/view/wrapper/bar-stack.js +2 -2
- package/dist/view/wrapper/basic-number-card.js +3 -27
- package/dist/view/wrapper/chart-component.js +440 -43
- package/dist/view/wrapper/completeness-group.js +49 -104
- package/dist/view/wrapper/dashboard.js +18 -68
- package/dist/view/wrapper/horizontal-bar-group.js +6 -26
- package/dist/view/wrapper/horizontal-bar-stack.js +2 -2
- package/dist/view/wrapper/line-group.js +3 -8
- package/dist/view/wrapper/map-world-bubble.js +0 -1
- package/dist/view/wrapper/map-world.js +0 -1
- package/dist/view/wrapper/pie.js +1 -1
- package/dist/view/wrapper/ring.js +1 -1
- package/dist/view/wrapper/scatter.js +6 -8
- package/dist/view/wrapper/table/two-dimension-table.js +2 -3
- package/dist/view/wrapper/table-element/components/records-header/index.js +1 -0
- package/dist/view/wrapper/table-element/components/resize-column-handle/resize-column-handle.js +1 -3
- package/dist/view/wrapper/table-element/index.js +21 -16
- package/dist/view/wrapper/trend.js +1 -24
- package/package.json +14 -17
|
@@ -71,7 +71,7 @@ const StyleSettings = _ref => {
|
|
|
71
71
|
});
|
|
72
72
|
}, [chart, onChange]);
|
|
73
73
|
const onYAxisMinChange = (0, _react.useCallback)(min => {
|
|
74
|
-
const newMin =
|
|
74
|
+
const newMin = parseInt(min);
|
|
75
75
|
if (Number.isNaN(newMin)) return;
|
|
76
76
|
const {
|
|
77
77
|
config
|
|
@@ -85,7 +85,7 @@ const StyleSettings = _ref => {
|
|
|
85
85
|
});
|
|
86
86
|
}, [chart, onChange]);
|
|
87
87
|
const onYAxisMaxChange = (0, _react.useCallback)(max => {
|
|
88
|
-
const newMax =
|
|
88
|
+
const newMax = parseInt(max);
|
|
89
89
|
if (Number.isNaN(newMax)) return;
|
|
90
90
|
const {
|
|
91
91
|
config
|
|
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _DTableSelect2 = _interopRequireDefault(require("dtable-ui-component/lib/DTableSelect"));
|
|
10
|
-
var _DTableColumnIcon2 = _interopRequireDefault(require("dtable-ui-component/lib/DTableColumnIcon"));
|
|
11
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
11
|
var _reactstrap = require("reactstrap");
|
|
13
12
|
var _dtableUtils = require("dtable-utils");
|
|
@@ -68,8 +67,8 @@ const DataSettings = _ref => {
|
|
|
68
67
|
value: column,
|
|
69
68
|
label: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
|
|
70
69
|
className: "sea-chart-column-icon"
|
|
71
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
72
|
-
|
|
70
|
+
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
71
|
+
className: _dtableUtils.COLUMNS_ICON_CONFIG[column.type]
|
|
73
72
|
})), /*#__PURE__*/_react.default.createElement("span", {
|
|
74
73
|
className: 'select-module select-module-name ml-0'
|
|
75
74
|
}, column.name))
|
|
@@ -13,6 +13,7 @@ var _commonDataSettings = _interopRequireDefault(require("../widgets/common-data
|
|
|
13
13
|
var _divider = _interopRequireDefault(require("../widgets/divider"));
|
|
14
14
|
var _groupBy = _interopRequireDefault(require("../widgets/group-by"));
|
|
15
15
|
var _summarySettings = _interopRequireDefault(require("../widgets/summary-settings"));
|
|
16
|
+
var _utils = require("../../utils");
|
|
16
17
|
var _constants = require("../../constants");
|
|
17
18
|
var _intl = _interopRequireDefault(require("../../intl"));
|
|
18
19
|
const DataSettings = _ref => {
|
|
@@ -63,7 +63,7 @@ const StyleSettings = _ref => {
|
|
|
63
63
|
onChange && onChange(update);
|
|
64
64
|
}, [chart, onChange]);
|
|
65
65
|
const onYAxisMinChange = (0, _react.useCallback)((key, min) => {
|
|
66
|
-
const newMin =
|
|
66
|
+
const newMin = parseInt(min);
|
|
67
67
|
if (Number.isNaN(newMin)) return;
|
|
68
68
|
const update = {
|
|
69
69
|
[key]: newMin
|
|
@@ -71,7 +71,7 @@ const StyleSettings = _ref => {
|
|
|
71
71
|
onChange && onChange(update);
|
|
72
72
|
}, [onChange]);
|
|
73
73
|
const onYAxisMaxChange = (0, _react.useCallback)((key, max) => {
|
|
74
|
-
const newMax =
|
|
74
|
+
const newMax = parseInt(max);
|
|
75
75
|
if (Number.isNaN(newMax)) return;
|
|
76
76
|
const update = {
|
|
77
77
|
[key]: newMax
|
|
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _DTableSelect2 = _interopRequireDefault(require("dtable-ui-component/lib/DTableSelect"));
|
|
10
|
-
var _DTableColumnIcon2 = _interopRequireDefault(require("dtable-ui-component/lib/DTableColumnIcon"));
|
|
11
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
11
|
var _reactstrap = require("reactstrap");
|
|
13
12
|
var _dtableUtils = require("dtable-utils");
|
|
@@ -53,8 +52,8 @@ const DataSettings = _ref => {
|
|
|
53
52
|
value: column,
|
|
54
53
|
label: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
|
|
55
54
|
className: "sea-chart-column-icon"
|
|
56
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
57
|
-
|
|
55
|
+
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
56
|
+
className: _dtableUtils.COLUMNS_ICON_CONFIG[column.type]
|
|
58
57
|
})), /*#__PURE__*/_react.default.createElement("span", {
|
|
59
58
|
className: 'select-module select-module-name ml-0'
|
|
60
59
|
}, column.name))
|
|
@@ -7,10 +7,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = FunnelLayerSetting;
|
|
9
9
|
var _DTableSelect2 = _interopRequireDefault(require("dtable-ui-component/lib/DTableSelect"));
|
|
10
|
-
var
|
|
10
|
+
var _dtableUtils = require("dtable-utils");
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _reactstrap = require("reactstrap");
|
|
13
|
-
var
|
|
13
|
+
var _lodashEs = require("lodash-es");
|
|
14
14
|
var _intl = _interopRequireDefault(require("../../../intl"));
|
|
15
15
|
var _dndList = _interopRequireDefault(require("./dnd-list"));
|
|
16
16
|
function FunnelLayerSetting(_ref) {
|
|
@@ -25,8 +25,8 @@ function FunnelLayerSetting(_ref) {
|
|
|
25
25
|
value: column,
|
|
26
26
|
label: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
|
|
27
27
|
className: "header-icon"
|
|
28
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
29
|
-
|
|
28
|
+
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
29
|
+
className: _dtableUtils.COLUMNS_ICON_CONFIG[column.type]
|
|
30
30
|
})), /*#__PURE__*/_react.default.createElement("span", {
|
|
31
31
|
className: 'select-option-name'
|
|
32
32
|
}, column.name))
|
|
@@ -45,8 +45,8 @@ function FunnelLayerSetting(_ref) {
|
|
|
45
45
|
value: selectedColumn,
|
|
46
46
|
label: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
|
|
47
47
|
className: "header-icon"
|
|
48
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
49
|
-
|
|
48
|
+
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
49
|
+
className: _dtableUtils.COLUMNS_ICON_CONFIG[selectedColumn.type]
|
|
50
50
|
})), /*#__PURE__*/_react.default.createElement("span", {
|
|
51
51
|
className: 'select-option-name'
|
|
52
52
|
}, selectedColumn.name))
|
|
@@ -57,7 +57,7 @@ function FunnelLayerSetting(_ref) {
|
|
|
57
57
|
const {
|
|
58
58
|
value
|
|
59
59
|
} = option;
|
|
60
|
-
const newList = (0,
|
|
60
|
+
const newList = (0, _lodashEs.cloneDeep)(value.data.options);
|
|
61
61
|
onChange({
|
|
62
62
|
'x_axis_column_key': value.key,
|
|
63
63
|
'x_axis_option_list': newList
|
package/dist/settings/index.js
CHANGED
|
@@ -41,8 +41,7 @@ const Settings = _ref => {
|
|
|
41
41
|
children,
|
|
42
42
|
departments,
|
|
43
43
|
globalTheme,
|
|
44
|
-
lang
|
|
45
|
-
firstDayOfWeek
|
|
44
|
+
lang
|
|
46
45
|
} = _ref;
|
|
47
46
|
const [type, setType] = (0, _react.useState)(_constants.CHART_SETTINGS_TYPE.DATA);
|
|
48
47
|
const [labelColorConfigs, setLabelColorConfigs] = (0, _react.useState)([]);
|
|
@@ -120,11 +119,7 @@ const Settings = _ref => {
|
|
|
120
119
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
121
120
|
id: "sea-chart-settings-content",
|
|
122
121
|
className: "chart-settings-content"
|
|
123
|
-
}, type === _constants.CHART_SETTINGS_TYPE.DATA && /*#__PURE__*/_react.default.createElement(_contexts.
|
|
124
|
-
value: {
|
|
125
|
-
firstDayOfWeek
|
|
126
|
-
}
|
|
127
|
-
}, /*#__PURE__*/_react.default.createElement(_contexts.DepartmentsContext.Provider, {
|
|
122
|
+
}, type === _constants.CHART_SETTINGS_TYPE.DATA && /*#__PURE__*/_react.default.createElement(_contexts.DepartmentsContext.Provider, {
|
|
128
123
|
value: {
|
|
129
124
|
departments
|
|
130
125
|
}
|
|
@@ -133,7 +128,7 @@ const Settings = _ref => {
|
|
|
133
128
|
chart: chart,
|
|
134
129
|
tables: tables,
|
|
135
130
|
onChange: modifyStatistic
|
|
136
|
-
}))
|
|
131
|
+
})), type === _constants.CHART_SETTINGS_TYPE.CHART_STYLE && /*#__PURE__*/_react.default.createElement(_styleSettings.default, {
|
|
137
132
|
chart: chart,
|
|
138
133
|
tables: tables,
|
|
139
134
|
labelColorConfigs: labelColorConfigs,
|
|
@@ -13,9 +13,10 @@ var _utils = require("../../../utils");
|
|
|
13
13
|
var _intl = _interopRequireDefault(require("../../../intl"));
|
|
14
14
|
var _context = _interopRequireDefault(require("../../../context"));
|
|
15
15
|
var _contexts = require("../../../utils/contexts");
|
|
16
|
+
var _constants = require("../../../constants");
|
|
16
17
|
require("./data-filter.css");
|
|
17
18
|
const DataFilter = _ref => {
|
|
18
|
-
var
|
|
19
|
+
var _availableFilters;
|
|
19
20
|
let {
|
|
20
21
|
chart,
|
|
21
22
|
tables,
|
|
@@ -25,25 +26,23 @@ const DataFilter = _ref => {
|
|
|
25
26
|
const {
|
|
26
27
|
departments
|
|
27
28
|
} = (0, _react.useContext)(_contexts.DepartmentsContext);
|
|
28
|
-
const {
|
|
29
|
-
firstDayOfWeek
|
|
30
|
-
} = (0, _react.useContext)(_contexts.FirstDayOfWeekContext);
|
|
31
29
|
const {
|
|
32
30
|
config
|
|
33
31
|
} = chart;
|
|
34
32
|
const {
|
|
33
|
+
type,
|
|
35
34
|
table_id,
|
|
35
|
+
shown_column_keys,
|
|
36
36
|
filters,
|
|
37
37
|
filter_conjunction
|
|
38
38
|
} = config;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}, [filters, columns]);
|
|
39
|
+
let availableFilters = [];
|
|
40
|
+
// some of the filters of TABLE_ELEMENT maybe one of the hidden columns, so we need to filter them out
|
|
41
|
+
if (shown_column_keys && type === _constants.CHART_TYPE.TABLE_ELEMENT) {
|
|
42
|
+
availableFilters = filters === null || filters === void 0 ? void 0 : filters.filter(filter => shown_column_keys.includes(filter.column_key));
|
|
43
|
+
} else {
|
|
44
|
+
availableFilters = filters;
|
|
45
|
+
}
|
|
47
46
|
const toggleFilterPopover = (0, _react.useCallback)(event => {
|
|
48
47
|
(0, _utils.eventStopPropagation)(event);
|
|
49
48
|
setIsFilterSetterShow(!isFilterSetterShow);
|
|
@@ -54,7 +53,16 @@ const DataFilter = _ref => {
|
|
|
54
53
|
const id = (0, _react.useMemo)(() => {
|
|
55
54
|
return 'sea-chart-data-filter-' + (0, _utils.generatorKey)();
|
|
56
55
|
}, []);
|
|
57
|
-
const
|
|
56
|
+
const shownColumns = (0, _react.useMemo)(() => {
|
|
57
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
58
|
+
if (!table || !table.columns) return [];
|
|
59
|
+
if (!shown_column_keys) {
|
|
60
|
+
return table.columns;
|
|
61
|
+
} else {
|
|
62
|
+
return table.columns.filter(column => shown_column_keys.includes(column.key));
|
|
63
|
+
}
|
|
64
|
+
}, [shown_column_keys, table_id, tables]);
|
|
65
|
+
const filterLength = ((_availableFilters = availableFilters) === null || _availableFilters === void 0 ? void 0 : _availableFilters.length) || 0;
|
|
58
66
|
const filterMessage = (0, _react.useMemo)(() => {
|
|
59
67
|
let filterMessage = _intl.default.get('Filter');
|
|
60
68
|
if (filterLength === 1) {
|
|
@@ -68,10 +76,6 @@ const DataFilter = _ref => {
|
|
|
68
76
|
return filter_conjunction || 'And';
|
|
69
77
|
}, [filter_conjunction]);
|
|
70
78
|
const collaborators = _context.default.getCollaboratorsFromCache();
|
|
71
|
-
const userDepartmentIdsMap = ((_window$dtable = window.dtable) === null || _window$dtable === void 0 ? void 0 : _window$dtable.userDepartmentIdsMap) || {
|
|
72
|
-
'current_user_department_ids': [],
|
|
73
|
-
'current_user_department_and_sub_ids': []
|
|
74
|
-
};
|
|
75
79
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
76
80
|
id: id,
|
|
77
81
|
className: "sea-chart-data-filter mb-1",
|
|
@@ -80,17 +84,14 @@ const DataFilter = _ref => {
|
|
|
80
84
|
className: "dtable-font dtable-icon-filter"
|
|
81
85
|
}), /*#__PURE__*/_react.default.createElement("span", null, filterMessage)), isFilterSetterShow && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_DTableFiltersPopover2.default, {
|
|
82
86
|
isNeedSubmit: true,
|
|
83
|
-
userDepartmentIdsMap: userDepartmentIdsMap,
|
|
84
|
-
departments: departments,
|
|
85
87
|
target: id,
|
|
86
|
-
|
|
88
|
+
filters: availableFilters,
|
|
87
89
|
filterConjunction: filterConjunction,
|
|
88
|
-
|
|
90
|
+
columns: shownColumns,
|
|
91
|
+
departments: departments,
|
|
89
92
|
collaborators: collaborators,
|
|
90
93
|
hidePopover: toggleFilterPopover,
|
|
91
|
-
update: updateFilters
|
|
92
|
-
firstDayOfWeek: firstDayOfWeek,
|
|
93
|
-
isSupportAdvanced: true
|
|
94
|
+
update: updateFilters
|
|
94
95
|
})));
|
|
95
96
|
};
|
|
96
97
|
var _default = exports.default = DataFilter;
|
|
@@ -127,7 +127,16 @@
|
|
|
127
127
|
color: #666666;
|
|
128
128
|
}
|
|
129
129
|
|
|
130
|
-
.setting-item
|
|
130
|
+
.setting-item-permission-title:hover {
|
|
131
|
+
cursor: pointer;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.setting-item-permission-title.disable:hover {
|
|
135
|
+
cursor: default;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.setting-item .filters-setting-btn.disable:hover,
|
|
139
|
+
.setting-item .setting-item-permission-title.disabled:hover {
|
|
131
140
|
cursor: not-allowed;
|
|
132
141
|
color: hsl(0, 0%, 60%);
|
|
133
142
|
background-color: hsl(0, 0%, 95%);
|
|
@@ -142,6 +151,27 @@
|
|
|
142
151
|
color: #666666;
|
|
143
152
|
}
|
|
144
153
|
|
|
154
|
+
.setting-item .setting-item-permission-title .dtable-icon-right {
|
|
155
|
+
color: #ccc;
|
|
156
|
+
font-size: 10px;
|
|
157
|
+
cursor: pointer;
|
|
158
|
+
transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.setting-item .setting-item-permission-title .dtable-icon-right:hover {
|
|
162
|
+
color: #666666;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.setting-item .setting-item-permission-title .dtable-icon-right.rotate {
|
|
166
|
+
transform: rotate(90deg);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.setting-item .setting-item-permission-title.disabled {
|
|
170
|
+
padding: 3px 4px;
|
|
171
|
+
border-radius: 4px;
|
|
172
|
+
line-height: 22px;
|
|
173
|
+
}
|
|
174
|
+
|
|
145
175
|
.setting-item .check-record-format-switch .custom-switch .custom-switch-description {
|
|
146
176
|
width: 230px;
|
|
147
177
|
white-space: break-spaces;
|
|
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _DTableSelect2 = _interopRequireDefault(require("dtable-ui-component/lib/DTableSelect"));
|
|
10
10
|
var _DTableSwitch2 = _interopRequireDefault(require("dtable-ui-component/lib/DTableSwitch"));
|
|
11
|
-
var _DTableColumnIcon2 = _interopRequireDefault(require("dtable-ui-component/lib/DTableColumnIcon"));
|
|
12
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
12
|
var _reactstrap = require("reactstrap");
|
|
14
13
|
var _dtableUtils = require("dtable-utils");
|
|
@@ -46,8 +45,8 @@ const DataSettings = _ref => {
|
|
|
46
45
|
value: column,
|
|
47
46
|
label: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
|
|
48
47
|
className: "sea-chart-column-icon"
|
|
49
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
50
|
-
|
|
48
|
+
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
49
|
+
className: _dtableUtils.COLUMNS_ICON_CONFIG[column.type]
|
|
51
50
|
})), /*#__PURE__*/_react.default.createElement("span", {
|
|
52
51
|
className: "select-module select-module-name ml-0"
|
|
53
52
|
}, column.name))
|
|
@@ -55,7 +55,7 @@ const StyleSettings = _ref => {
|
|
|
55
55
|
});
|
|
56
56
|
}, [chart, onChange]);
|
|
57
57
|
const onYAxisMinChange = (0, _react.useCallback)(min => {
|
|
58
|
-
const newMin =
|
|
58
|
+
const newMin = parseInt(min);
|
|
59
59
|
if (Number.isNaN(newMin)) return;
|
|
60
60
|
const {
|
|
61
61
|
config
|
|
@@ -69,7 +69,7 @@ const StyleSettings = _ref => {
|
|
|
69
69
|
});
|
|
70
70
|
}, [chart, onChange]);
|
|
71
71
|
const onYAxisMaxChange = (0, _react.useCallback)(max => {
|
|
72
|
-
const newMax =
|
|
72
|
+
const newMax = parseInt(max);
|
|
73
73
|
if (Number.isNaN(newMax)) return;
|
|
74
74
|
const {
|
|
75
75
|
config
|
|
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _DTableSelect2 = _interopRequireDefault(require("dtable-ui-component/lib/DTableSelect"));
|
|
10
|
-
var _DTableColumnIcon2 = _interopRequireDefault(require("dtable-ui-component/lib/DTableColumnIcon"));
|
|
11
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
11
|
var _reactstrap = require("reactstrap");
|
|
13
12
|
var _dtableUtils = require("dtable-utils");
|
|
@@ -21,13 +20,13 @@ const BasicSummary = _ref => {
|
|
|
21
20
|
tables,
|
|
22
21
|
chart,
|
|
23
22
|
onChange,
|
|
24
|
-
|
|
23
|
+
summaryTypeOptions: oldSummaryTypeOptions = _constants.CHART_SUMMARY_TYPES,
|
|
25
24
|
summaryTypeKey = 'y_axis_summary_type',
|
|
26
|
-
summaryMethodKey = 'y_axis_summary_method',
|
|
27
25
|
summaryColumnKey = 'y_axis_summary_column_key',
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
label
|
|
26
|
+
summaryMethodKey = 'y_axis_summary_method',
|
|
27
|
+
showSummaryTypes = true,
|
|
28
|
+
label,
|
|
29
|
+
supportColumnTypes = [_dtableUtils.CellType.NUMBER, _dtableUtils.CellType.DATE]
|
|
31
30
|
} = _ref;
|
|
32
31
|
const selectedTable = (0, _react.useMemo)(() => {
|
|
33
32
|
const {
|
|
@@ -53,8 +52,8 @@ const BasicSummary = _ref => {
|
|
|
53
52
|
column: column,
|
|
54
53
|
label: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
|
|
55
54
|
className: "sea-chart-column-icon"
|
|
56
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
57
|
-
|
|
55
|
+
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
56
|
+
className: _dtableUtils.COLUMNS_ICON_CONFIG[column.type]
|
|
58
57
|
})), /*#__PURE__*/_react.default.createElement("span", {
|
|
59
58
|
className: "select-module select-module-name ml-0"
|
|
60
59
|
}, column.name))
|
|
@@ -21,7 +21,6 @@ const CommonDataSettings = _ref => {
|
|
|
21
21
|
tables,
|
|
22
22
|
onChange
|
|
23
23
|
} = _ref;
|
|
24
|
-
const validTables = Array.isArray(tables) ? tables : [];
|
|
25
24
|
const {
|
|
26
25
|
config
|
|
27
26
|
} = chart;
|
|
@@ -58,14 +57,14 @@ const CommonDataSettings = _ref => {
|
|
|
58
57
|
});
|
|
59
58
|
}, [onChange]);
|
|
60
59
|
const generateConfig = (0, _react.useCallback)(config => {
|
|
61
|
-
return (0, _utils.generateChartConfig)(config,
|
|
62
|
-
}, [
|
|
60
|
+
return (0, _utils.generateChartConfig)(config, tables);
|
|
61
|
+
}, [tables]);
|
|
63
62
|
const {
|
|
64
63
|
table_id,
|
|
65
64
|
drill_down_status,
|
|
66
65
|
drill_down_fields
|
|
67
66
|
} = config;
|
|
68
|
-
const selectedTable =
|
|
67
|
+
const selectedTable = tables.find(table => table._id === table_id);
|
|
69
68
|
const columns = selectedTable ? selectedTable.columns : [];
|
|
70
69
|
const drillDownStatus = drill_down_status !== undefined && drill_down_status !== null ? drill_down_status : true;
|
|
71
70
|
// use all columns as default
|
|
@@ -76,15 +75,15 @@ const CommonDataSettings = _ref => {
|
|
|
76
75
|
generateChartConfig: generateConfig,
|
|
77
76
|
onChange: onChange
|
|
78
77
|
}), /*#__PURE__*/_react.default.createElement(_selectTable.default, {
|
|
79
|
-
tables:
|
|
78
|
+
tables: tables,
|
|
80
79
|
selectedTableId: table_id,
|
|
81
80
|
onChange: onTableChange
|
|
82
81
|
}), dataSources === 'filter' && /*#__PURE__*/_react.default.createElement(_dataFilter.default, {
|
|
83
|
-
tables:
|
|
82
|
+
tables: tables,
|
|
84
83
|
chart: chart,
|
|
85
84
|
onChange: onChange
|
|
86
85
|
}), dataSources === 'view' && /*#__PURE__*/_react.default.createElement(_selectView.default, {
|
|
87
|
-
tables:
|
|
86
|
+
tables: tables,
|
|
88
87
|
selectedTableId: table_id,
|
|
89
88
|
selectedViewId: chart.config.view_id,
|
|
90
89
|
onChange: onViewChange
|
|
@@ -16,7 +16,6 @@ var _context = _interopRequireDefault(require("../../../context"));
|
|
|
16
16
|
var _contexts = require("../../../utils/contexts");
|
|
17
17
|
require("./index.css");
|
|
18
18
|
const DataFilter = _ref => {
|
|
19
|
-
var _window$dtable;
|
|
20
19
|
let {
|
|
21
20
|
chart,
|
|
22
21
|
tables,
|
|
@@ -26,9 +25,6 @@ const DataFilter = _ref => {
|
|
|
26
25
|
const {
|
|
27
26
|
departments
|
|
28
27
|
} = (0, _react.useContext)(_contexts.DepartmentsContext);
|
|
29
|
-
const {
|
|
30
|
-
firstDayOfWeek
|
|
31
|
-
} = (0, _react.useContext)(_contexts.FirstDayOfWeekContext);
|
|
32
28
|
const toggleFilterPopover = (0, _react.useCallback)(event => {
|
|
33
29
|
(0, _utils.eventStopPropagation)(event);
|
|
34
30
|
setIsFilterSetterShow(!isFilterSetterShow);
|
|
@@ -48,24 +44,21 @@ const DataFilter = _ref => {
|
|
|
48
44
|
} = config;
|
|
49
45
|
return (0, _dtableUtils.getTableById)(tables, table_id);
|
|
50
46
|
}, [tables, chart]);
|
|
51
|
-
const {
|
|
52
|
-
config
|
|
53
|
-
} = chart;
|
|
54
|
-
const {
|
|
55
|
-
filters
|
|
56
|
-
} = config;
|
|
57
|
-
const validFilters = (0, _react.useMemo)(() => {
|
|
58
|
-
return (0, _dtableUtils.getValidFilters)(filters, table === null || table === void 0 ? void 0 : table.columns);
|
|
59
|
-
}, [filters, table]);
|
|
60
47
|
const filterMessage = (0, _react.useMemo)(() => {
|
|
48
|
+
const {
|
|
49
|
+
config
|
|
50
|
+
} = chart;
|
|
51
|
+
const {
|
|
52
|
+
filters
|
|
53
|
+
} = config;
|
|
61
54
|
let filterMessage = _intl.default.get('Filter');
|
|
62
|
-
if (
|
|
55
|
+
if (filters.length === 1) {
|
|
63
56
|
filterMessage = _intl.default.get('1 Filter');
|
|
64
|
-
} else if (
|
|
65
|
-
filterMessage =
|
|
57
|
+
} else if (filters.length > 1) {
|
|
58
|
+
filterMessage = filters.length + ' ' + _intl.default.get('Filters');
|
|
66
59
|
}
|
|
67
60
|
return filterMessage;
|
|
68
|
-
}, [
|
|
61
|
+
}, [chart]);
|
|
69
62
|
const filterConjunction = (0, _react.useMemo)(() => {
|
|
70
63
|
const {
|
|
71
64
|
config
|
|
@@ -76,10 +69,12 @@ const DataFilter = _ref => {
|
|
|
76
69
|
return filter_conjunction || 'And';
|
|
77
70
|
}, [chart]);
|
|
78
71
|
const collaborators = _context.default.getCollaboratorsFromCache();
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
72
|
+
const {
|
|
73
|
+
config
|
|
74
|
+
} = chart;
|
|
75
|
+
const {
|
|
76
|
+
filters
|
|
77
|
+
} = config;
|
|
83
78
|
return /*#__PURE__*/_react.default.createElement(_reactstrap.FormGroup, {
|
|
84
79
|
className: "sea-chart-parameter-item"
|
|
85
80
|
}, /*#__PURE__*/_react.default.createElement(_reactstrap.Label, null, _intl.default.get('Data_settings')), table ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -88,20 +83,17 @@ const DataFilter = _ref => {
|
|
|
88
83
|
onClick: toggleFilterPopover
|
|
89
84
|
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
90
85
|
className: "dtable-font dtable-icon-filter"
|
|
91
|
-
}), /*#__PURE__*/_react.default.createElement("span", null, filterMessage)), isFilterSetterShow && /*#__PURE__*/_react.default.createElement(_DTableFiltersPopover2.default, {
|
|
86
|
+
}), /*#__PURE__*/_react.default.createElement("span", null, filterMessage)), isFilterSetterShow && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_DTableFiltersPopover2.default, {
|
|
92
87
|
isNeedSubmit: true,
|
|
93
|
-
userDepartmentIdsMap: userDepartmentIdsMap,
|
|
94
|
-
departments: departments,
|
|
95
88
|
target: id,
|
|
96
|
-
|
|
89
|
+
filters: filters,
|
|
97
90
|
filterConjunction: filterConjunction,
|
|
98
|
-
|
|
91
|
+
columns: table.columns,
|
|
92
|
+
departments: departments,
|
|
99
93
|
collaborators: collaborators,
|
|
100
94
|
hidePopover: toggleFilterPopover,
|
|
101
|
-
update: updateFilters
|
|
102
|
-
|
|
103
|
-
isSupportAdvanced: true
|
|
104
|
-
})) : /*#__PURE__*/_react.default.createElement("div", {
|
|
95
|
+
update: updateFilters
|
|
96
|
+
}))) : /*#__PURE__*/_react.default.createElement("div", {
|
|
105
97
|
id: id,
|
|
106
98
|
className: "sea-chart-data-filter disabled"
|
|
107
99
|
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _DTableSelect2 = _interopRequireDefault(require("dtable-ui-component/lib/DTableSelect"));
|
|
10
10
|
var _DTableCustomizeSelect2 = _interopRequireDefault(require("dtable-ui-component/lib/DTableCustomizeSelect"));
|
|
11
|
-
var _DTableColumnIcon2 = _interopRequireDefault(require("dtable-ui-component/lib/DTableColumnIcon"));
|
|
12
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
12
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
14
13
|
var _reactstrap = require("reactstrap");
|
|
@@ -101,8 +100,8 @@ class GroupBy extends _react.Component {
|
|
|
101
100
|
value: column,
|
|
102
101
|
label: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
|
|
103
102
|
className: "header-icon"
|
|
104
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
105
|
-
|
|
103
|
+
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
104
|
+
className: _dtableUtils.COLUMNS_ICON_CONFIG[column.type]
|
|
106
105
|
})), /*#__PURE__*/_react.default.createElement("span", {
|
|
107
106
|
className: 'select-option-name'
|
|
108
107
|
}, column.name))
|
|
@@ -194,7 +193,7 @@ class GroupBy extends _react.Component {
|
|
|
194
193
|
const {
|
|
195
194
|
type: groupbyColumnType
|
|
196
195
|
} = groupbyColumn;
|
|
197
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (_dtableUtils.DATE_COLUMN_OPTIONS.includes(groupbyColumnType) || (0, _columnUtils.
|
|
196
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (_dtableUtils.DATE_COLUMN_OPTIONS.includes(groupbyColumnType) || (0, _columnUtils.islinkDateFormula)(groupbyColumn)) && this.renderGroupbyDateGranulates(), groupbyColumnType === _dtableUtils.CellType.GEOLOCATION && this.geolocationGranulatesOptions.length > 0 && this.renderGroupbyGeolocationGranulates());
|
|
198
197
|
};
|
|
199
198
|
this.dateGranulatesOptions = this.generatorGranulatesOptions(_constants.DATE_GRANULATES);
|
|
200
199
|
this.initOptions(_props);
|
|
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _DTableSelect2 = _interopRequireDefault(require("dtable-ui-component/lib/DTableSelect"));
|
|
10
|
-
var _DTableColumnIcon2 = _interopRequireDefault(require("dtable-ui-component/lib/DTableColumnIcon"));
|
|
11
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
11
|
var _dtableUtils = require("dtable-utils");
|
|
13
12
|
var _reactstrap = require("reactstrap");
|
|
@@ -51,8 +50,8 @@ class SummarySettings extends _react.Component {
|
|
|
51
50
|
value: column,
|
|
52
51
|
label: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
|
|
53
52
|
className: "sea-chart-column-icon"
|
|
54
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
55
|
-
|
|
53
|
+
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
54
|
+
className: _dtableUtils.COLUMNS_ICON_CONFIG[column.type]
|
|
56
55
|
})), /*#__PURE__*/_react.default.createElement("span", {
|
|
57
56
|
className: 'select-module select-module-name ml-0'
|
|
58
57
|
}, column.name))
|
|
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _DTableSelect2 = _interopRequireDefault(require("dtable-ui-component/lib/DTableSelect"));
|
|
10
|
-
var _DTableColumnIcon2 = _interopRequireDefault(require("dtable-ui-component/lib/DTableColumnIcon"));
|
|
11
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
11
|
var _reactstrap = require("reactstrap");
|
|
13
12
|
var _dtableUtils = require("dtable-utils");
|
|
@@ -83,8 +82,8 @@ class YAxisGroupSettings extends _react.Component {
|
|
|
83
82
|
value: column,
|
|
84
83
|
label: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
|
|
85
84
|
className: "sea-chart-column-icon"
|
|
86
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
87
|
-
|
|
85
|
+
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
86
|
+
className: _dtableUtils.COLUMNS_ICON_CONFIG[column.type]
|
|
88
87
|
})), /*#__PURE__*/_react.default.createElement("span", {
|
|
89
88
|
className: 'select-module select-module-name ml-0'
|
|
90
89
|
}, column.name))
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.getClientLinkDisplayString = exports.getClientFormulaDisplayString = exports.getClientCellValueDisplayString = void 0;
|
|
8
8
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
9
9
|
var _dtableUtils = require("dtable-utils");
|
|
10
|
+
var _objectUtils = _interopRequireDefault(require("./object-utils"));
|
|
10
11
|
const getClientFormulaDisplayString = function (value, columnData) {
|
|
11
12
|
let {
|
|
12
13
|
collaborators = []
|
|
@@ -37,15 +38,12 @@ const getClientLinkDisplayString = (links, columnData, _ref) => {
|
|
|
37
38
|
if (!columnData || !Array.isArray(links) || links.length === 0) {
|
|
38
39
|
return null;
|
|
39
40
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
array_type: 'text'
|
|
47
|
-
};
|
|
48
|
-
}
|
|
41
|
+
|
|
42
|
+
// eslint-disable-next-line
|
|
43
|
+
const formulaData = _objectUtils.default.hasOwnProperty(columnData, 'result_type') ? columnData : {
|
|
44
|
+
...columnData,
|
|
45
|
+
result_type: _dtableUtils.FORMULA_RESULT_TYPE.ARRAY
|
|
46
|
+
};
|
|
49
47
|
const displayValue = links.map(link => link.display_value);
|
|
50
48
|
return getClientFormulaDisplayString(displayValue, formulaData, {
|
|
51
49
|
collaborators
|