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