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.
Files changed (84) hide show
  1. package/dist/api/index.js +59 -17
  2. package/dist/assets/css/sea-chart-d3-tooltip.css +1 -0
  3. package/dist/components/color-popover/color-rules-popover.js +2 -4
  4. package/dist/components/drill-down-settings/drill-down-fields-popover/index.js +4 -5
  5. package/dist/components/icon/index.js +13 -9
  6. package/dist/components/number-input/index.js +13 -7
  7. package/dist/components/popover/hide-column-popover/hide-column-popover-widgets/hide-column-item.js +3 -7
  8. package/dist/components/popover/hide-column-popover/hide-column-popover.css +1 -5
  9. package/dist/components/popover/hide-column-popover/hide-column-popover.js +4 -2
  10. package/dist/components/popover/sort-popover/sort-popover.js +7 -6
  11. package/dist/components/statistic-record-dialog/index.js +8 -9
  12. package/dist/components/tooltip/index.js +8 -26
  13. package/dist/editor/index.js +1 -5
  14. package/dist/locale/lang/de.js +0 -1
  15. package/dist/locale/lang/en.js +0 -1
  16. package/dist/locale/lang/es.js +0 -1
  17. package/dist/locale/lang/fr.js +0 -1
  18. package/dist/locale/lang/pt.js +0 -1
  19. package/dist/locale/lang/ru.js +0 -1
  20. package/dist/locale/lang/zh_CN.js +0 -1
  21. package/dist/model/funnel.js +2 -2
  22. package/dist/model/map-bubble.js +0 -4
  23. package/dist/services/map-json.js +0 -3
  24. package/dist/settings/advance-bar-settings/data-settings.js +1 -1
  25. package/dist/settings/advance-bar-settings/style-settings.js +3 -4
  26. package/dist/settings/bar-settings/data-settings.js +1 -1
  27. package/dist/settings/bar-settings/style-settings.js +2 -2
  28. package/dist/settings/basic-number-card/data-settings.js +2 -3
  29. package/dist/settings/combination-settings/data-settings.js +1 -0
  30. package/dist/settings/combination-settings/style-settings.js +2 -2
  31. package/dist/settings/dashboard-settings/data-settings.js +2 -3
  32. package/dist/settings/funnel-settings/components/funnel-layer-setting.js +7 -7
  33. package/dist/settings/index.js +3 -8
  34. package/dist/settings/table-element-settings/components/data-filter.js +25 -24
  35. package/dist/settings/table-element-settings/index.css +31 -1
  36. package/dist/settings/table-settings/data-settings.js +2 -3
  37. package/dist/settings/time-comparison-settings/style-settings.js +2 -2
  38. package/dist/settings/widgets/basic-summary/index.js +7 -8
  39. package/dist/settings/widgets/common-data-settings.js +6 -7
  40. package/dist/settings/widgets/data-filter/index.js +22 -30
  41. package/dist/settings/widgets/group-by.js +3 -4
  42. package/dist/settings/widgets/summary-settings.js +2 -3
  43. package/dist/settings/widgets/y-axis-group-settings.js +2 -3
  44. package/dist/utils/cell-format-utils.js +7 -9
  45. package/dist/utils/chart-utils/base-utils.js +86 -194
  46. package/dist/utils/chart-utils/index.js +3 -5
  47. package/dist/utils/chart-utils/original-data-utils/basic-chart-calculator.js +5 -5
  48. package/dist/utils/chart-utils/original-data-utils/card-calculator.js +2 -8
  49. package/dist/utils/chart-utils/original-data-utils/dashboard-calculator.js +3 -12
  50. package/dist/utils/chart-utils/original-data-utils/pivot-table-calculator.js +1 -4
  51. package/dist/utils/chart-utils/original-data-utils/scatter-calculator.js +0 -1
  52. package/dist/utils/chart-utils/original-data-utils/trend-calculator.js +3 -24
  53. package/dist/utils/chart-utils/sql-statistics-utils.js +177 -182
  54. package/dist/utils/column-utils.js +7 -20
  55. package/dist/utils/contexts.js +2 -5
  56. package/dist/utils/index.js +4 -25
  57. package/dist/utils/row-record-utils.js +20 -100
  58. package/dist/utils/sql/column-2-sql-column.js +10 -10
  59. package/dist/utils/trend-utils.js +2 -15
  60. package/dist/view/index.css +8 -2
  61. package/dist/view/index.js +9 -14
  62. package/dist/view/wrapper/area-group.js +7 -15
  63. package/dist/view/wrapper/bar-compare.js +2 -18
  64. package/dist/view/wrapper/bar-custom-stack.js +9 -35
  65. package/dist/view/wrapper/bar-group.js +26 -55
  66. package/dist/view/wrapper/bar-stack.js +2 -2
  67. package/dist/view/wrapper/basic-number-card.js +3 -27
  68. package/dist/view/wrapper/chart-component.js +440 -43
  69. package/dist/view/wrapper/completeness-group.js +49 -104
  70. package/dist/view/wrapper/dashboard.js +18 -68
  71. package/dist/view/wrapper/horizontal-bar-group.js +6 -26
  72. package/dist/view/wrapper/horizontal-bar-stack.js +2 -2
  73. package/dist/view/wrapper/line-group.js +3 -8
  74. package/dist/view/wrapper/map-world-bubble.js +0 -1
  75. package/dist/view/wrapper/map-world.js +0 -1
  76. package/dist/view/wrapper/pie.js +1 -1
  77. package/dist/view/wrapper/ring.js +1 -1
  78. package/dist/view/wrapper/scatter.js +6 -8
  79. package/dist/view/wrapper/table/two-dimension-table.js +2 -3
  80. package/dist/view/wrapper/table-element/components/records-header/index.js +1 -0
  81. package/dist/view/wrapper/table-element/components/resize-column-handle/resize-column-handle.js +1 -3
  82. package/dist/view/wrapper/table-element/index.js +21 -16
  83. package/dist/view/wrapper/trend.js +1 -24
  84. 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 = parseFloat(min);
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 = parseFloat(max);
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(_DTableColumnIcon2.default, {
72
- column: column
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 = parseFloat(min);
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 = parseFloat(max);
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(_DTableColumnIcon2.default, {
57
- column: column
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 _DTableColumnIcon2 = _interopRequireDefault(require("dtable-ui-component/lib/DTableColumnIcon"));
10
+ var _dtableUtils = require("dtable-utils");
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _reactstrap = require("reactstrap");
13
- var _lodash = require("lodash");
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(_DTableColumnIcon2.default, {
29
- column: column
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(_DTableColumnIcon2.default, {
49
- column: selectedColumn
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, _lodash.cloneDeep)(value.data.options);
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
@@ -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.FirstDayOfWeekContext.Provider, {
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
- }))), type === _constants.CHART_SETTINGS_TYPE.CHART_STYLE && /*#__PURE__*/_react.default.createElement(_styleSettings.default, {
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 _window$dtable;
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
- 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]);
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 filterLength = (validFilters === null || validFilters === void 0 ? void 0 : validFilters.length) || 0;
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
- columns: columns,
88
+ filters: availableFilters,
87
89
  filterConjunction: filterConjunction,
88
- filters: validFilters,
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 .filters-setting-btn.disable:hover {
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(_DTableColumnIcon2.default, {
50
- column: column
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 = parseFloat(min);
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 = parseFloat(max);
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
- showSummaryTypes = true,
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
- supportColumnTypes = [_dtableUtils.CellType.NUMBER, _dtableUtils.CellType.DATE],
29
- summaryTypeOptions: oldSummaryTypeOptions = _constants.CHART_SUMMARY_TYPES,
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(_DTableColumnIcon2.default, {
57
- column: column
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, validTables);
62
- }, [validTables]);
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 = validTables.find(table => table._id === table_id);
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: validTables,
78
+ tables: tables,
80
79
  selectedTableId: table_id,
81
80
  onChange: onTableChange
82
81
  }), dataSources === 'filter' && /*#__PURE__*/_react.default.createElement(_dataFilter.default, {
83
- tables: validTables,
82
+ tables: tables,
84
83
  chart: chart,
85
84
  onChange: onChange
86
85
  }), dataSources === 'view' && /*#__PURE__*/_react.default.createElement(_selectView.default, {
87
- tables: validTables,
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 (validFilters.length === 1) {
55
+ if (filters.length === 1) {
63
56
  filterMessage = _intl.default.get('1 Filter');
64
- } else if (validFilters.length > 1) {
65
- filterMessage = validFilters.length + ' ' + _intl.default.get('Filters');
57
+ } else if (filters.length > 1) {
58
+ filterMessage = filters.length + ' ' + _intl.default.get('Filters');
66
59
  }
67
60
  return filterMessage;
68
- }, [validFilters]);
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 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
- };
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
- columns: table.columns,
89
+ filters: filters,
97
90
  filterConjunction: filterConjunction,
98
- filters: validFilters,
91
+ columns: table.columns,
92
+ departments: departments,
99
93
  collaborators: collaborators,
100
94
  hidePopover: toggleFilterPopover,
101
- update: updateFilters,
102
- firstDayOfWeek: firstDayOfWeek,
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(_DTableColumnIcon2.default, {
105
- column: column
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.isDateFormulaColumn)(groupbyColumn)) && this.renderGroupbyDateGranulates(), groupbyColumnType === _dtableUtils.CellType.GEOLOCATION && this.geolocationGranulatesOptions.length > 0 && this.renderGroupbyGeolocationGranulates());
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(_DTableColumnIcon2.default, {
55
- column: column
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(_DTableColumnIcon2.default, {
87
- column: column
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
- 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
- }
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