dtable-statistic 4.4.23 → 4.4.24-alpha.1
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/es/assets/css/dashboard.css +1 -0
- package/es/assets/css/dialog.css +30 -0
- package/es/components/dialog/chart-edit-dialog.js +92 -0
- package/es/components/dialog/enlarged-chart-dialog.js +8 -13
- package/es/components/dialog/statistic-record-dialog/index.js +22 -30
- package/es/components/dropdown-menu/statistic-dropdown-menu.js +2 -2
- package/es/components/index.js +1 -15
- package/es/constants/index.js +1 -2
- package/es/dashboard.js +5 -31
- package/es/desktop-dashboard.js +51 -32
- package/es/mobile-dashboard.js +8 -16
- package/es/model/conver-statItem.js +124 -0
- package/es/service/chart-service.js +8 -15
- package/es/service/dashboard-service.js +25 -29
- package/es/stat-list/chart-preview.js +19 -20
- package/es/stat-list/index.js +13 -19
- package/es/stat-view/index.js +46 -156
- package/es/utils/common-utils.js +2 -352
- package/es/utils/export-table-utils.js +0 -69
- package/es/utils/index.js +0 -89
- package/package.json +5 -7
- package/es/assets/css/color-picker.css +0 -53
- package/es/assets/css/color-rules-popover.css +0 -144
- package/es/assets/css/slider.css +0 -77
- package/es/assets/css/statistic-chart.module.css +0 -11
- package/es/assets/css/statistic-custom-title.module.css +0 -3
- package/es/assets/css/statistic-custom.module.css +0 -4
- package/es/assets/css/statistic-numeric-column-item.module.css +0 -43
- package/es/assets/css/statistic-time-picker.module.css +0 -21
- package/es/calculator/base-calculator.js +0 -80
- package/es/calculator/basic-chart-calculator.js +0 -349
- package/es/calculator/combination-calculator.js +0 -246
- package/es/calculator/compare-bar-calculator.js +0 -197
- package/es/calculator/completeness-calculator.js +0 -215
- package/es/calculator/copy-value.js +0 -53
- package/es/calculator/dashboard-calculator.js +0 -70
- package/es/calculator/heat-map-calculator.js +0 -148
- package/es/calculator/horizontal-bar-calculator.js +0 -67
- package/es/calculator/index.js +0 -81
- package/es/calculator/map-calculator.js +0 -103
- package/es/calculator/mirror-calculator.js +0 -146
- package/es/calculator/number-card-calculator.js +0 -60
- package/es/calculator/pivot-table-calculator.js +0 -821
- package/es/calculator/scatter-calculator.js +0 -75
- package/es/calculator/thread-manager.js +0 -57
- package/es/calculator/trend-calculator.js +0 -113
- package/es/calculator/workers/basic-chart-calculator-worker.js +0 -495
- package/es/calculator/workers/calculator.worker.js +0 -44
- package/es/calculator/workers/card-calculator-worker.js +0 -40
- package/es/calculator/workers/combination-calculator-worker.js +0 -276
- package/es/calculator/workers/compare-bar-chart-calculator-worker.js +0 -150
- package/es/calculator/workers/completeness-calculator-worker.js +0 -208
- package/es/calculator/workers/dashboard-calculator-worker.js +0 -68
- package/es/calculator/workers/mirror-calculator-worker.js +0 -152
- package/es/calculator/workers/pivot-table-calculator-worker.js +0 -718
- package/es/calculator/workers/scatter-calculator-worker.js +0 -80
- package/es/calculator/workers/trend-calculator-worker.js +0 -108
- package/es/calculator/world-map-calculator.js +0 -124
- package/es/components/common-add-tool.js +0 -28
- package/es/components/dialog/chart-addition-edit-dialog.js +0 -90
- package/es/components/dialog/chart-addition-widgets/chart-selector.js +0 -259
- package/es/components/dialog/chart-addition-widgets/statistic-chart-selector.module.css +0 -83
- package/es/components/dialog/statistic-types-dialog/index.css +0 -14
- package/es/components/dialog/statistic-types-dialog/index.js +0 -62
- package/es/components/popover/color-rules/color-rule.js +0 -183
- package/es/components/popover/color-rules/index.js +0 -87
- package/es/components/popover/color-rules/rule-filters/filter.js +0 -221
- package/es/components/popover/color-rules/rule-filters/index.css +0 -210
- package/es/components/popover/color-rules/rule-filters/index.js +0 -97
- package/es/components/popover/color-rules/rule-filters/number-input.js +0 -78
- package/es/components/popover/color-rules-popover.js +0 -217
- package/es/components/popover/color-selector-popover.js +0 -82
- package/es/components/seatable-radio/index.css +0 -51
- package/es/components/seatable-radio/index.js +0 -35
- package/es/custom-g2.js +0 -644
- package/es/model/bar-group.js +0 -58
- package/es/model/bar.js +0 -47
- package/es/model/base-model.js +0 -18
- package/es/model/basic-number-card.js +0 -25
- package/es/model/combination.js +0 -48
- package/es/model/compare-bar.js +0 -56
- package/es/model/completeness-group.js +0 -31
- package/es/model/completeness.js +0 -25
- package/es/model/custom-bar.js +0 -25
- package/es/model/dashboard.js +0 -20
- package/es/model/generic-model.js +0 -222
- package/es/model/heat-map.js +0 -33
- package/es/model/horizontal-bar-group.js +0 -55
- package/es/model/horizontal-bar.js +0 -47
- package/es/model/index.js +0 -187
- package/es/model/map.js +0 -38
- package/es/model/mirror.js +0 -33
- package/es/model/pie.js +0 -38
- package/es/model/ring.js +0 -40
- package/es/model/scatter.js +0 -22
- package/es/model/table.js +0 -32
- package/es/model/trend.js +0 -32
- package/es/model/world-map.js +0 -34
- package/es/stat-editor/chart-name-editor.js +0 -68
- package/es/stat-editor/index.js +0 -75
- package/es/stat-editor/stat-settings/advance-chart-settings/basic-number-card-settings.js +0 -153
- package/es/stat-editor/stat-settings/advance-chart-settings/combination-settings.js +0 -422
- package/es/stat-editor/stat-settings/advance-chart-settings/dashboard-chart-settings.js +0 -203
- package/es/stat-editor/stat-settings/advance-chart-settings/geo-granularity-settings.js +0 -23
- package/es/stat-editor/stat-settings/advance-chart-settings/heat-map-settings.js +0 -104
- package/es/stat-editor/stat-settings/advance-chart-settings/index.js +0 -334
- package/es/stat-editor/stat-settings/advance-chart-settings/map-settings.js +0 -119
- package/es/stat-editor/stat-settings/advance-chart-settings/mirror-settings.js +0 -132
- package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/combination-style-setting.js +0 -240
- package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/heat-map-settings.js +0 -89
- package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/map-setting.js +0 -138
- package/es/stat-editor/stat-settings/advance-chart-settings/summary-settings.js +0 -331
- package/es/stat-editor/stat-settings/advance-chart-settings/trend-chart-settings.js +0 -143
- package/es/stat-editor/stat-settings/advance-chart-settings/world-map-settings.js +0 -109
- package/es/stat-editor/stat-settings/basic-chart-settings/advance-bar-chart-settings.js +0 -153
- package/es/stat-editor/stat-settings/basic-chart-settings/bar-settings.js +0 -144
- package/es/stat-editor/stat-settings/basic-chart-settings/completeness-chart-settings.js +0 -214
- package/es/stat-editor/stat-settings/basic-chart-settings/custom-bar-settings.js +0 -121
- package/es/stat-editor/stat-settings/basic-chart-settings/groupby-settings.js +0 -172
- package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-axis-group-settings.js +0 -366
- package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-bar-settings.js +0 -142
- package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-group-chart-settings.js +0 -150
- package/es/stat-editor/stat-settings/basic-chart-settings/index.js +0 -473
- package/es/stat-editor/stat-settings/basic-chart-settings/pie-settings.js +0 -182
- package/es/stat-editor/stat-settings/basic-chart-settings/pivot-table-settings.js +0 -564
- package/es/stat-editor/stat-settings/basic-chart-settings/scatter-settings.js +0 -112
- package/es/stat-editor/stat-settings/basic-chart-settings/stack-item-settings.js +0 -87
- package/es/stat-editor/stat-settings/basic-chart-settings/stacks-settings.js +0 -187
- package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/bar-chart-style-setting.js +0 -300
- package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/completeness-style.js +0 -113
- package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/horizontal-bar-chart-style.js +0 -289
- package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/label-font-size-editor.js +0 -58
- package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/pie-chart-style-settings.js +0 -359
- package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/time-compare-style.js +0 -48
- package/es/stat-editor/stat-settings/basic-chart-settings/summary-method-setting.js +0 -121
- package/es/stat-editor/stat-settings/basic-chart-settings/summary-settings.js +0 -143
- package/es/stat-editor/stat-settings/basic-chart-settings/time-comparison-settings.js +0 -269
- package/es/stat-editor/stat-settings/basic-chart-settings/timer-picker.js +0 -104
- package/es/stat-editor/stat-settings/basic-chart-settings/y-axis-group-settings.js +0 -366
- package/es/stat-editor/stat-settings/color-setting/color-group-selector.js +0 -55
- package/es/stat-editor/stat-settings/color-setting/color-picker.js +0 -130
- package/es/stat-editor/stat-settings/color-setting/color-use-type-selector.js +0 -374
- package/es/stat-editor/stat-settings/map/map-level.js +0 -72
- package/es/stat-editor/stat-settings/map/map-province-city.js +0 -151
- package/es/stat-editor/stat-settings/public-setting/axis-label-position-setting.js +0 -108
- package/es/stat-editor/stat-settings/public-setting/base-settings.js +0 -154
- package/es/stat-editor/stat-settings/public-setting/calender.js +0 -125
- package/es/stat-editor/stat-settings/public-setting/column-settings.js +0 -24
- package/es/stat-editor/stat-settings/public-setting/custom-title-setting.js +0 -62
- package/es/stat-editor/stat-settings/public-setting/data-sort-setting.js +0 -61
- package/es/stat-editor/stat-settings/public-setting/ind-toggle-setting.js +0 -35
- package/es/stat-editor/stat-settings/public-setting/min-max-setting.js +0 -60
- package/es/stat-editor/stat-settings/public-setting/numeric-summary-item.js +0 -123
- package/es/stat-editor/stat-settings/public-setting/toggle-setting.js +0 -33
- package/es/stat-editor/stat-settings/public-setting/type-settings/index.css +0 -29
- package/es/stat-editor/stat-settings/public-setting/type-settings/index.js +0 -82
- package/es/stat-view/area-chart.js +0 -551
- package/es/stat-view/bar-chart.js +0 -582
- package/es/stat-view/base-chart.js +0 -132
- package/es/stat-view/basic-number-card.js +0 -201
- package/es/stat-view/combination-chart.js +0 -546
- package/es/stat-view/compare-chart.js +0 -483
- package/es/stat-view/completeness-chart.js +0 -390
- package/es/stat-view/custom-bar.js +0 -418
- package/es/stat-view/dashboard-chart.js +0 -266
- package/es/stat-view/heat-map.js +0 -463
- package/es/stat-view/horizontal-bar-chart.js +0 -562
- package/es/stat-view/line-chart.js +0 -518
- package/es/stat-view/map.js +0 -448
- package/es/stat-view/mirror.js +0 -275
- package/es/stat-view/pie-chart.js +0 -290
- package/es/stat-view/pivot-table/index.js +0 -196
- package/es/stat-view/pivot-table/one-dimension-table-no-numeric-columns.js +0 -156
- package/es/stat-view/pivot-table/one-dimension-table-with-numeric-columns.js +0 -176
- package/es/stat-view/pivot-table/pivot-table-display-name.js +0 -215
- package/es/stat-view/pivot-table/statistic-pivot-table.module.css +0 -132
- package/es/stat-view/pivot-table/two-dimension-table.js +0 -384
- package/es/stat-view/ring-chart.js +0 -392
- package/es/stat-view/scatter-chart.js +0 -306
- package/es/stat-view/treemap-chart.js +0 -253
- package/es/stat-view/trend-chart.js +0 -249
- package/es/stat-view/world-map.js +0 -431
- package/es/utils/basic-chart-utils.js +0 -29
- package/es/utils/cell-format.js +0 -115
- package/es/utils/collaborator.js +0 -50
- package/es/utils/color-utils.js +0 -134
- package/es/utils/column-utils.js +0 -110
- package/es/utils/column.js +0 -20
- package/es/utils/date-format.js +0 -71
- package/es/utils/map.js +0 -114
- package/es/utils/model.js +0 -19
- package/es/utils/row-utils.js +0 -134
- package/es/utils/search.js +0 -73
- package/es/utils/sql-utils.js +0 -359
- package/es/utils/stat-utils.js +0 -351
- package/es/utils/trend-utils.js +0 -135
package/es/stat-view/index.js
CHANGED
|
@@ -6,170 +6,60 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var _compareChart = _interopRequireDefault(require("./compare-chart"));
|
|
12
|
-
var _horizontalBarChart = _interopRequireDefault(require("./horizontal-bar-chart"));
|
|
13
|
-
var _completenessChart = _interopRequireDefault(require("./completeness-chart"));
|
|
14
|
-
var _lineChart = _interopRequireDefault(require("./line-chart"));
|
|
15
|
-
var _areaChart = _interopRequireDefault(require("./area-chart"));
|
|
16
|
-
var _pieChart = _interopRequireDefault(require("./pie-chart"));
|
|
17
|
-
var _ringChart = _interopRequireDefault(require("./ring-chart"));
|
|
18
|
-
var _scatterChart = _interopRequireDefault(require("./scatter-chart"));
|
|
19
|
-
var _combinationChart = _interopRequireDefault(require("./combination-chart"));
|
|
20
|
-
var _map = _interopRequireDefault(require("./map"));
|
|
21
|
-
var _worldMap = _interopRequireDefault(require("./world-map"));
|
|
22
|
-
var _heatMap = _interopRequireDefault(require("./heat-map"));
|
|
23
|
-
var _mirror = _interopRequireDefault(require("./mirror"));
|
|
24
|
-
var _basicNumberCard = _interopRequireDefault(require("./basic-number-card"));
|
|
25
|
-
var _trendChart = _interopRequireDefault(require("./trend-chart"));
|
|
26
|
-
var _dashboardChart = _interopRequireDefault(require("./dashboard-chart"));
|
|
27
|
-
var _treemapChart = _interopRequireDefault(require("./treemap-chart"));
|
|
28
|
-
var _customBar = _interopRequireDefault(require("./custom-bar"));
|
|
29
|
-
var _constants = require("../constants");
|
|
9
|
+
var _seaChart = require("sea-chart");
|
|
10
|
+
var _dtableUtils = require("dtable-utils");
|
|
30
11
|
class StatView extends _react.default.Component {
|
|
31
|
-
constructor() {
|
|
32
|
-
super(
|
|
12
|
+
constructor(props) {
|
|
13
|
+
super(props);
|
|
14
|
+
this.getViewRef = ref => {
|
|
15
|
+
this.viewRef = ref;
|
|
16
|
+
};
|
|
33
17
|
this.getStatData = () => {
|
|
34
|
-
|
|
35
|
-
|
|
18
|
+
const {
|
|
19
|
+
getTableById,
|
|
20
|
+
statItem
|
|
21
|
+
} = this.props;
|
|
22
|
+
const {
|
|
23
|
+
table_id,
|
|
24
|
+
groupby_column_key,
|
|
25
|
+
column_groupby_column_key,
|
|
26
|
+
summary_column_key
|
|
27
|
+
} = statItem.config;
|
|
28
|
+
const table = getTableById(table_id);
|
|
29
|
+
const groupbyColumn = groupby_column_key && (0, _dtableUtils.getTableColumnByKey)(table, groupby_column_key);
|
|
30
|
+
const columnGroupbyColumn = column_groupby_column_key && (0, _dtableUtils.getTableColumnByKey)(table, column_groupby_column_key);
|
|
31
|
+
const summaryColumn = (0, _dtableUtils.getTableColumnByKey)(table, summary_column_key) || {};
|
|
32
|
+
return {
|
|
33
|
+
pivotResult: this.viewRef.state.data.result,
|
|
34
|
+
statisticTableColumns: table.columns,
|
|
35
|
+
groupbyColumn,
|
|
36
|
+
columnGroupbyColumn,
|
|
37
|
+
summaryColumn
|
|
38
|
+
};
|
|
36
39
|
};
|
|
40
|
+
this.viewRef = null;
|
|
37
41
|
}
|
|
38
42
|
render() {
|
|
39
43
|
const {
|
|
40
|
-
isPreview,
|
|
41
|
-
isEnlarge,
|
|
42
|
-
isEdit,
|
|
43
|
-
dtableChangedTime,
|
|
44
|
-
theme,
|
|
45
|
-
colorThemeName,
|
|
46
44
|
statItem,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
getTableById,
|
|
50
|
-
toggleStatisticRecordsDialog
|
|
51
|
-
} = this.props;
|
|
52
|
-
let viewProps = {
|
|
53
|
-
isPreview,
|
|
54
|
-
isEnlarge,
|
|
55
|
-
isEdit,
|
|
56
|
-
dtableChangedTime,
|
|
45
|
+
api,
|
|
46
|
+
value,
|
|
57
47
|
theme,
|
|
58
|
-
colorThemeName
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
{
|
|
74
|
-
return /*#__PURE__*/_react.default.createElement(_barChart.default, viewProps);
|
|
75
|
-
}
|
|
76
|
-
case _constants.STAT_TYPE.COMPARE_BAR:
|
|
77
|
-
{
|
|
78
|
-
return /*#__PURE__*/_react.default.createElement(_compareChart.default, viewProps);
|
|
79
|
-
}
|
|
80
|
-
case _constants.STAT_TYPE.HORIZONTAL_BAR:
|
|
81
|
-
case _constants.STAT_TYPE.HORIZONTAL_GROUP_BAR:
|
|
82
|
-
case _constants.STAT_TYPE.STACKED_HORIZONTAL_BAR:
|
|
83
|
-
{
|
|
84
|
-
return /*#__PURE__*/_react.default.createElement(_horizontalBarChart.default, viewProps);
|
|
85
|
-
}
|
|
86
|
-
case _constants.STAT_TYPE.COMPLETENESS_CHART:
|
|
87
|
-
case _constants.STAT_TYPE.GROUP_COMPLETENESS_CHART:
|
|
88
|
-
{
|
|
89
|
-
return /*#__PURE__*/_react.default.createElement(_completenessChart.default, viewProps);
|
|
90
|
-
}
|
|
91
|
-
case _constants.STAT_TYPE.LINE:
|
|
92
|
-
case _constants.STAT_TYPE.GROUP_LINE:
|
|
93
|
-
{
|
|
94
|
-
return /*#__PURE__*/_react.default.createElement(_lineChart.default, viewProps);
|
|
95
|
-
}
|
|
96
|
-
case _constants.STAT_TYPE.AREA_CHART:
|
|
97
|
-
case _constants.STAT_TYPE.AREA_GROUP_CHART:
|
|
98
|
-
{
|
|
99
|
-
return /*#__PURE__*/_react.default.createElement(_areaChart.default, viewProps);
|
|
100
|
-
}
|
|
101
|
-
case _constants.STAT_TYPE.PIE:
|
|
102
|
-
{
|
|
103
|
-
return /*#__PURE__*/_react.default.createElement(_pieChart.default, viewProps);
|
|
104
|
-
}
|
|
105
|
-
case _constants.STAT_TYPE.RING:
|
|
106
|
-
{
|
|
107
|
-
return /*#__PURE__*/_react.default.createElement(_ringChart.default, viewProps);
|
|
108
|
-
}
|
|
109
|
-
case _constants.STAT_TYPE.SCATTER:
|
|
110
|
-
{
|
|
111
|
-
return /*#__PURE__*/_react.default.createElement(_scatterChart.default, viewProps);
|
|
112
|
-
}
|
|
113
|
-
case _constants.STAT_TYPE.COMBINATION_CHART:
|
|
114
|
-
{
|
|
115
|
-
return /*#__PURE__*/_react.default.createElement(_combinationChart.default, viewProps);
|
|
116
|
-
}
|
|
117
|
-
case _constants.STAT_TYPE.MAP:
|
|
118
|
-
case _constants.STAT_TYPE.MAP_BUBBLE:
|
|
119
|
-
{
|
|
120
|
-
viewProps.isPreview = viewProps.isEnlarge ? false : viewProps.isPreview;
|
|
121
|
-
return /*#__PURE__*/_react.default.createElement(_map.default, viewProps);
|
|
122
|
-
}
|
|
123
|
-
case _constants.STAT_TYPE.WORLD_MAP:
|
|
124
|
-
case _constants.STAT_TYPE.WORLD_MAP_BUBBLE:
|
|
125
|
-
{
|
|
126
|
-
viewProps.isPreview = viewProps.isEnlarge ? false : viewProps.isPreview;
|
|
127
|
-
return /*#__PURE__*/_react.default.createElement(_worldMap.default, viewProps);
|
|
128
|
-
}
|
|
129
|
-
case _constants.STAT_TYPE.HEAT_MAP:
|
|
130
|
-
{
|
|
131
|
-
viewProps.isPreview = viewProps.isEnlarge ? false : viewProps.isPreview;
|
|
132
|
-
return /*#__PURE__*/_react.default.createElement(_heatMap.default, viewProps);
|
|
133
|
-
}
|
|
134
|
-
case _constants.STAT_TYPE.MIRROR:
|
|
135
|
-
{
|
|
136
|
-
viewProps.isPreview = viewProps.isEnlarge ? false : viewProps.isPreview;
|
|
137
|
-
return /*#__PURE__*/_react.default.createElement(_mirror.default, viewProps);
|
|
138
|
-
}
|
|
139
|
-
case _constants.STAT_TYPE.BASIC_NUMBER_CARD:
|
|
140
|
-
{
|
|
141
|
-
return /*#__PURE__*/_react.default.createElement(_basicNumberCard.default, viewProps);
|
|
142
|
-
}
|
|
143
|
-
case _constants.STAT_TYPE.TREND_CHART:
|
|
144
|
-
{
|
|
145
|
-
return /*#__PURE__*/_react.default.createElement(_trendChart.default, viewProps);
|
|
146
|
-
}
|
|
147
|
-
case _constants.STAT_TYPE.DASHBOARD:
|
|
148
|
-
{
|
|
149
|
-
return /*#__PURE__*/_react.default.createElement(_dashboardChart.default, viewProps);
|
|
150
|
-
}
|
|
151
|
-
case _constants.STAT_TYPE.TREEMAP:
|
|
152
|
-
{
|
|
153
|
-
return /*#__PURE__*/_react.default.createElement(_treemapChart.default, viewProps);
|
|
154
|
-
}
|
|
155
|
-
case _constants.STAT_TYPE.PIVOT_TABLE:
|
|
156
|
-
{
|
|
157
|
-
return /*#__PURE__*/_react.default.createElement(_pivotTable.default, viewProps);
|
|
158
|
-
}
|
|
159
|
-
case _constants.STAT_TYPE.CUSTOM_BAR:
|
|
160
|
-
{
|
|
161
|
-
return /*#__PURE__*/_react.default.createElement(_customBar.default, viewProps);
|
|
162
|
-
}
|
|
163
|
-
default:
|
|
164
|
-
{
|
|
165
|
-
return null;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
48
|
+
colorThemeName
|
|
49
|
+
} = this.props;
|
|
50
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
51
|
+
className: "statistic-chart-container"
|
|
52
|
+
}, /*#__PURE__*/_react.default.createElement(_seaChart.View, {
|
|
53
|
+
chart: statItem,
|
|
54
|
+
api: api,
|
|
55
|
+
config: window.dtable,
|
|
56
|
+
tables: value.tables,
|
|
57
|
+
collaborators: value.collaborators,
|
|
58
|
+
hideTitle: true,
|
|
59
|
+
globalTheme: theme,
|
|
60
|
+
chartColorTheme: colorThemeName,
|
|
61
|
+
onViewRef: this.getViewRef
|
|
62
|
+
}));
|
|
168
63
|
}
|
|
169
64
|
}
|
|
170
|
-
StatView.defaultProps = {
|
|
171
|
-
isPreview: false,
|
|
172
|
-
isEnlarge: false,
|
|
173
|
-
isEdit: false
|
|
174
|
-
};
|
|
175
65
|
var _default = exports.default = StatView;
|
package/es/utils/common-utils.js
CHANGED
|
@@ -1,20 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
|
-
exports.
|
|
8
|
-
exports.formatNumericValue = void 0;
|
|
9
|
-
exports.formatPieChartData = formatPieChartData;
|
|
10
|
-
exports.isShapeEqual = exports.isBoolean = exports.isArrayCellValue = exports.getSummaryResult = exports.getSummaryColumnMethod = exports.getLabelFontSize = exports.getImageUrl = exports.getCurrentTheme = exports.generatorUniqueId = void 0;
|
|
11
|
-
exports.isStatItemEqual = isStatItemEqual;
|
|
12
|
-
exports.shallowEqual = shallowEqual;
|
|
13
|
-
exports.sortDataByGroupSum = exports.shouldCalculateStatItem = void 0;
|
|
6
|
+
exports.generatorUniqueId = void 0;
|
|
14
7
|
var _dtableUtils = require("dtable-utils");
|
|
15
|
-
var _reactIntlUniversal = _interopRequireDefault(require("react-intl-universal"));
|
|
16
|
-
var _constants = require("../constants");
|
|
17
|
-
var _statUtils = _interopRequireDefault(require("./stat-utils"));
|
|
18
8
|
const generatorUniqueId = list => {
|
|
19
9
|
let uniqueId;
|
|
20
10
|
let isUnique = false;
|
|
@@ -34,344 +24,4 @@ const generatorUniqueId = list => {
|
|
|
34
24
|
}
|
|
35
25
|
return uniqueId;
|
|
36
26
|
};
|
|
37
|
-
exports.generatorUniqueId = generatorUniqueId;
|
|
38
|
-
const getImageUrl = imageName => {
|
|
39
|
-
const {
|
|
40
|
-
mediaUrl
|
|
41
|
-
} = window.dtable;
|
|
42
|
-
return "".concat(mediaUrl, "dtable-statistic/img/").concat(imageName);
|
|
43
|
-
};
|
|
44
|
-
exports.getImageUrl = getImageUrl;
|
|
45
|
-
const isShapeEqual = (position1, position2) => {
|
|
46
|
-
if (position1 && position2) {
|
|
47
|
-
return position1.w === position2.w && position1.h === position2.h;
|
|
48
|
-
}
|
|
49
|
-
if (!position1 && !position2) return true;
|
|
50
|
-
return false;
|
|
51
|
-
};
|
|
52
|
-
exports.isShapeEqual = isShapeEqual;
|
|
53
|
-
function isStatItemEqual(prevStatItem, chart) {
|
|
54
|
-
let statItemType = prevStatItem.type;
|
|
55
|
-
if (statItemType !== chart.type) return false;
|
|
56
|
-
return shallowEqual(prevStatItem, chart);
|
|
57
|
-
}
|
|
58
|
-
function shallowEqual(objA, objB) {
|
|
59
|
-
if (objA === objB) {
|
|
60
|
-
return true;
|
|
61
|
-
}
|
|
62
|
-
if (typeof objA !== 'object' || !objA || typeof objB !== 'object' || !objB) {
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
const keysA = Object.keys(objA);
|
|
66
|
-
const keysB = Object.keys(objB);
|
|
67
|
-
if (keysA.length !== keysB.length) {
|
|
68
|
-
return false;
|
|
69
|
-
}
|
|
70
|
-
for (let i = 0; i < keysA.length; i++) {
|
|
71
|
-
let key = keysA[i];
|
|
72
|
-
let valueA = objA[key];
|
|
73
|
-
let valueB = objB[key];
|
|
74
|
-
if (key === 'layout') continue;
|
|
75
|
-
// line | chart-bar | chart-bar-stack | chart-bar-group
|
|
76
|
-
if (key === 'show_x_axis_label') continue;
|
|
77
|
-
if (key === 'show_y_axis_label') continue;
|
|
78
|
-
if (key === 'x_axis_label_position') continue;
|
|
79
|
-
if (key === 'y_axis_label_position') continue;
|
|
80
|
-
|
|
81
|
-
// horizontal bar | horizontal group bar
|
|
82
|
-
if (key === 'show_vertical_axis_label') continue;
|
|
83
|
-
if (key === 'show_horizontal_axis_label') continue;
|
|
84
|
-
if (key === 'vertical_axis_label_position') continue;
|
|
85
|
-
if (key === 'horizontal_axis_label_position') continue;
|
|
86
|
-
|
|
87
|
-
// combination chart
|
|
88
|
-
if (key === 'show_y_axis_left_label') continue;
|
|
89
|
-
if (key === 'show_y_axis_right_label') continue;
|
|
90
|
-
if (key === 'y_axis_left_label_position') continue;
|
|
91
|
-
if (key === 'y_axis_right_label_position') continue;
|
|
92
|
-
if (objA.type !== 'basic_number_card' && objA.type !== _constants.STAT_TYPE.DASHBOARD && key === 'name') continue;
|
|
93
|
-
if (Object.prototype.hasOwnProperty.call(objB, key)) {
|
|
94
|
-
if (Array.isArray(valueA) && Array.isArray(valueB)) {
|
|
95
|
-
let isArrayEqual = arraysEqual(valueA, valueB);
|
|
96
|
-
if (!isArrayEqual) return false;
|
|
97
|
-
} else if (valueA !== valueB) {
|
|
98
|
-
return false;
|
|
99
|
-
}
|
|
100
|
-
} else {
|
|
101
|
-
return false;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
if (!isShapeEqual(objA.layout, objB.layout)) {
|
|
105
|
-
return false;
|
|
106
|
-
}
|
|
107
|
-
return true;
|
|
108
|
-
}
|
|
109
|
-
const IGNORE_STAT_KEYS = ['layout', 'name', 'show_y_axis_label', 'show_x_axis_label', 'show_vertical_axis_label', 'show_horizontal_axis_label', 'vertical_axis_label_position', 'horizontal_axis_label_position', 'horizontal_axis_label_color', 'y_axis_label_color', 'data_color', 'display_data', 'show_y_axis_left_label', 'show_y_axis_right_label', 'x_axis_label_position', 'y_axis_label_position', 'y_axis_left_color', 'y_axis_right_color', 'y_axis_left_label_position', 'y_axis_right_label_position', 'minimum_slice_percent', 'bubble_color', 'map_type', 'legend_direction', 'legend_size', 'completed_color', 'uncompleted_color', 'display_percentage', 'label_font_size'];
|
|
110
|
-
const shouldCalculateStatItem = (prevStatItem, chart) => {
|
|
111
|
-
let statItemType = prevStatItem.type;
|
|
112
|
-
if (statItemType !== chart.type) return true;
|
|
113
|
-
if (prevStatItem === chart) {
|
|
114
|
-
return false;
|
|
115
|
-
}
|
|
116
|
-
if (typeof prevStatItem !== 'object' || !prevStatItem || typeof chart !== 'object' || !chart) {
|
|
117
|
-
return true;
|
|
118
|
-
}
|
|
119
|
-
const keysA = Object.keys(prevStatItem);
|
|
120
|
-
const keysB = Object.keys(chart);
|
|
121
|
-
if (keysA.length !== keysB.length) {
|
|
122
|
-
return true;
|
|
123
|
-
}
|
|
124
|
-
for (let i = 0; i < keysA.length; i++) {
|
|
125
|
-
let key = keysA[i];
|
|
126
|
-
let valueA = prevStatItem[key];
|
|
127
|
-
let valueB = chart[key];
|
|
128
|
-
if (IGNORE_STAT_KEYS.includes(key)) continue;
|
|
129
|
-
if (Object.prototype.hasOwnProperty.call(chart, key)) {
|
|
130
|
-
if (Array.isArray(valueA) && Array.isArray(valueB)) {
|
|
131
|
-
let isArrayEqual = arraysEqual(valueA, valueB);
|
|
132
|
-
if (!isArrayEqual) return true;
|
|
133
|
-
} else if (valueA !== valueB) {
|
|
134
|
-
return true;
|
|
135
|
-
}
|
|
136
|
-
} else {
|
|
137
|
-
return true;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
return false;
|
|
141
|
-
};
|
|
142
|
-
exports.shouldCalculateStatItem = shouldCalculateStatItem;
|
|
143
|
-
function arraysEqual(arrayA, arrayB) {
|
|
144
|
-
if (arrayA === null || arrayB === null) return false;
|
|
145
|
-
if (arrayA.length !== arrayB.length) return false;
|
|
146
|
-
for (let i = 0; i < arrayA.length; i++) {
|
|
147
|
-
if (!shallowEqual(arrayA[i], arrayB[i])) return false;
|
|
148
|
-
}
|
|
149
|
-
return true;
|
|
150
|
-
}
|
|
151
|
-
const isArrayCellValue = column => {
|
|
152
|
-
if (!column) return false;
|
|
153
|
-
const {
|
|
154
|
-
type,
|
|
155
|
-
data
|
|
156
|
-
} = column;
|
|
157
|
-
return _constants.MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP[type] || _dtableUtils.FORMULA_COLUMN_TYPES_MAP[type] && data && data.result_type === _dtableUtils.FORMULA_RESULT_TYPE.ARRAY && _dtableUtils.COLLABORATOR_COLUMN_TYPES.includes(data.array_type) // the collaborator lookup is not formatted
|
|
158
|
-
;
|
|
159
|
-
};
|
|
160
|
-
exports.isArrayCellValue = isArrayCellValue;
|
|
161
|
-
const getSummaryResult = function (results, summaryMethod) {
|
|
162
|
-
let precision = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 8;
|
|
163
|
-
const numericResults = Array.isArray(results) && results.length > 0 ? results.filter(res => (0, _dtableUtils.isNumber)(res)) : [];
|
|
164
|
-
switch (summaryMethod) {
|
|
165
|
-
case _constants.SUMMARY_METHOD_MAP.Max:
|
|
166
|
-
{
|
|
167
|
-
return getMax(numericResults);
|
|
168
|
-
}
|
|
169
|
-
case _constants.SUMMARY_METHOD_MAP.Min:
|
|
170
|
-
{
|
|
171
|
-
return getMin(numericResults);
|
|
172
|
-
}
|
|
173
|
-
case _constants.SUMMARY_METHOD_MAP.Sum:
|
|
174
|
-
{
|
|
175
|
-
return getSum(numericResults, precision);
|
|
176
|
-
}
|
|
177
|
-
case _constants.SUMMARY_METHOD_MAP.Mean:
|
|
178
|
-
{
|
|
179
|
-
return getMean(numericResults, precision);
|
|
180
|
-
}
|
|
181
|
-
case _constants.SUMMARY_METHOD_MAP.Distinct_values:
|
|
182
|
-
{
|
|
183
|
-
let count = 0;
|
|
184
|
-
let existMap = {};
|
|
185
|
-
Array.isArray(results) && results.forEach(resNum => {
|
|
186
|
-
let num = resNum;
|
|
187
|
-
if (!num) {
|
|
188
|
-
if (num === 0) {
|
|
189
|
-
num = '0';
|
|
190
|
-
} else {
|
|
191
|
-
num = !!num;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
if (!existMap[num]) {
|
|
195
|
-
existMap[num] = true;
|
|
196
|
-
count++;
|
|
197
|
-
}
|
|
198
|
-
});
|
|
199
|
-
return count;
|
|
200
|
-
}
|
|
201
|
-
default:
|
|
202
|
-
{
|
|
203
|
-
return 0;
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
};
|
|
207
|
-
exports.getSummaryResult = getSummaryResult;
|
|
208
|
-
const getMax = list => {
|
|
209
|
-
if (list.length === 0) return 0;
|
|
210
|
-
return Number.parseFloat(Math.max.apply(null, list));
|
|
211
|
-
};
|
|
212
|
-
const getMin = list => {
|
|
213
|
-
if (list.length === 0) return 0;
|
|
214
|
-
return Number.parseFloat(Math.min.apply(null, list).toFixed(8));
|
|
215
|
-
};
|
|
216
|
-
const getSum = function (list) {
|
|
217
|
-
let precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 8;
|
|
218
|
-
if (list.length === 0) return 0;
|
|
219
|
-
const sum = list.reduce((a, b) => {
|
|
220
|
-
return a + b;
|
|
221
|
-
}, 0);
|
|
222
|
-
return Number.parseFloat(Number(sum).toFixed(8));
|
|
223
|
-
};
|
|
224
|
-
const getMean = function (list) {
|
|
225
|
-
let precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 8;
|
|
226
|
-
if (list.length === 0) return 0;
|
|
227
|
-
const sum = getSum(list);
|
|
228
|
-
return Number.parseFloat((sum / list.length).toFixed(precision));
|
|
229
|
-
};
|
|
230
|
-
const getPieColor = (color_option, column, index, data, currentTheme) => {
|
|
231
|
-
let {
|
|
232
|
-
type: columnType,
|
|
233
|
-
data: columnData
|
|
234
|
-
} = column;
|
|
235
|
-
const {
|
|
236
|
-
colors
|
|
237
|
-
} = currentTheme;
|
|
238
|
-
if (color_option === _constants.PIE_COLOR_OPTIONS[1] && (columnType === _dtableUtils.CellType.SINGLE_SELECT || columnType === _dtableUtils.CellType.MULTIPLE_SELECT)) {
|
|
239
|
-
if (columnData && columnData.options) {
|
|
240
|
-
const selectedItem = columnData.options.find(item => item.name === data.name) || {};
|
|
241
|
-
return selectedItem.color || '#dbdbdb';
|
|
242
|
-
}
|
|
243
|
-
} else {
|
|
244
|
-
const sIndex = String(index);
|
|
245
|
-
const colorIndex = sIndex.charAt(sIndex.length - 1);
|
|
246
|
-
return colors[colorIndex];
|
|
247
|
-
}
|
|
248
|
-
};
|
|
249
|
-
function formatPieChartData(data, statItem, table, currentTheme) {
|
|
250
|
-
const {
|
|
251
|
-
groupby_column_key,
|
|
252
|
-
color_option,
|
|
253
|
-
summary_column_key,
|
|
254
|
-
summary_method: summaryMethod,
|
|
255
|
-
summary_type
|
|
256
|
-
} = statItem;
|
|
257
|
-
const isAdvanced = summary_type === 'advanced';
|
|
258
|
-
const column = (0, _dtableUtils.getTableColumnByKey)(table, groupby_column_key);
|
|
259
|
-
let sum = data.reduce((total, currentValue) => {
|
|
260
|
-
return total += currentValue.value;
|
|
261
|
-
}, 0);
|
|
262
|
-
const minimumSlicePercentage = typeof statItem.minimum_slice_percent === 'number' ? statItem.minimum_slice_percent : 1.5;
|
|
263
|
-
const threshold = sum * (minimumSlicePercentage / 100 || 0);
|
|
264
|
-
const filteredItems = [];
|
|
265
|
-
const colorSet = [];
|
|
266
|
-
const filteredData = [];
|
|
267
|
-
let stepIndex = 0;
|
|
268
|
-
data.forEach((item, index) => {
|
|
269
|
-
const value = item.value;
|
|
270
|
-
if (value >= threshold) {
|
|
271
|
-
const colorIndex = index - stepIndex;
|
|
272
|
-
item.percent = String(Number.parseFloat(value / sum * 100).toFixed(1)) + '%';
|
|
273
|
-
const color = getPieColor(color_option, column, colorIndex, item, currentTheme);
|
|
274
|
-
item.color = color;
|
|
275
|
-
colorSet.push(color);
|
|
276
|
-
filteredData.push(item);
|
|
277
|
-
} else {
|
|
278
|
-
stepIndex += 1;
|
|
279
|
-
filteredItems.push(item);
|
|
280
|
-
}
|
|
281
|
-
});
|
|
282
|
-
data = filteredData;
|
|
283
|
-
if (filteredItems.length > 0) {
|
|
284
|
-
const filteredSum = filteredItems.reduce((total, currentValue) => {
|
|
285
|
-
return total += currentValue.value;
|
|
286
|
-
}, 0);
|
|
287
|
-
let formattedValueSum = filteredSum;
|
|
288
|
-
if (isAdvanced) {
|
|
289
|
-
const summaryColumn = (0, _dtableUtils.getTableColumnByKey)(table, summary_column_key);
|
|
290
|
-
formattedValueSum = _statUtils.default.getFormattedValue(filteredSum, summaryColumn, summaryMethod);
|
|
291
|
-
}
|
|
292
|
-
let original_name_list = [];
|
|
293
|
-
let name_list = [];
|
|
294
|
-
let rows = [];
|
|
295
|
-
filteredItems.forEach(item => {
|
|
296
|
-
if (item.original_name) {
|
|
297
|
-
original_name_list.push(item.original_name);
|
|
298
|
-
}
|
|
299
|
-
if (item.name) {
|
|
300
|
-
name_list.push(item.name);
|
|
301
|
-
}
|
|
302
|
-
if (item.rows) {
|
|
303
|
-
rows.push(...item.rows);
|
|
304
|
-
}
|
|
305
|
-
});
|
|
306
|
-
data.push({
|
|
307
|
-
rows,
|
|
308
|
-
name_list,
|
|
309
|
-
original_name_list,
|
|
310
|
-
name: _reactIntlUniversal.default.get('Others'),
|
|
311
|
-
value: filteredSum,
|
|
312
|
-
formatted_value: formattedValueSum,
|
|
313
|
-
color: '#dbdbdb',
|
|
314
|
-
original_name: 'Others',
|
|
315
|
-
percent: String(Number.parseFloat(filteredSum / sum * 100).toFixed(1)) + '%'
|
|
316
|
-
});
|
|
317
|
-
colorSet.push('#dbdbdb');
|
|
318
|
-
}
|
|
319
|
-
data.total = sum;
|
|
320
|
-
data.colorSet = colorSet;
|
|
321
|
-
return data;
|
|
322
|
-
}
|
|
323
|
-
const formatNumericValue = function (value) {
|
|
324
|
-
let column = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
325
|
-
const data = column.data || {};
|
|
326
|
-
let {
|
|
327
|
-
precision = 8
|
|
328
|
-
} = data;
|
|
329
|
-
value = value || 0;
|
|
330
|
-
return parseFloat(value.toFixed(precision));
|
|
331
|
-
};
|
|
332
|
-
exports.formatNumericValue = formatNumericValue;
|
|
333
|
-
const getLabelFontSize = label_font_size => {
|
|
334
|
-
return (0, _dtableUtils.isNumber)(label_font_size) ? label_font_size : _constants.DEFAULT_LABEL_FONT_SIZE;
|
|
335
|
-
};
|
|
336
|
-
exports.getLabelFontSize = getLabelFontSize;
|
|
337
|
-
const getSummaryColumnMethod = function (method, summaryColumnName) {
|
|
338
|
-
let useSingleQuote = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
339
|
-
if (method === 'Distinct_values') {
|
|
340
|
-
return "COUNT(DISTINCT ".concat(summaryColumnName, ")");
|
|
341
|
-
}
|
|
342
|
-
return "".concat(method, "(").concat(useSingleQuote ? '`' : '').concat(summaryColumnName).concat(useSingleQuote ? '`' : '', ")");
|
|
343
|
-
};
|
|
344
|
-
exports.getSummaryColumnMethod = getSummaryColumnMethod;
|
|
345
|
-
const getCurrentTheme = colorThemeName => {
|
|
346
|
-
if (colorThemeName) {
|
|
347
|
-
const currentColorTheme = _constants.CHART_STYLE_COLORS.find(item => item.name === colorThemeName);
|
|
348
|
-
return currentColorTheme || _constants.CHART_STYLE_COLORS[0];
|
|
349
|
-
}
|
|
350
|
-
return _constants.CHART_STYLE_COLORS[0];
|
|
351
|
-
};
|
|
352
|
-
|
|
353
|
-
// for stacked bar, stacked horizontal bar
|
|
354
|
-
exports.getCurrentTheme = getCurrentTheme;
|
|
355
|
-
const sortDataByGroupSum = (data, sortType) => {
|
|
356
|
-
const nameSumMap = [];
|
|
357
|
-
data.forEach(item => {
|
|
358
|
-
if (nameSumMap.filter(filteredItem => filteredItem.name === item.name).length === 0) {
|
|
359
|
-
const items = data.filter(originItem => originItem.name === item.name);
|
|
360
|
-
const valueSum = items.reduce((accumulator, currentItem) => accumulator + currentItem.value, 0);
|
|
361
|
-
nameSumMap.push({
|
|
362
|
-
name: item.name,
|
|
363
|
-
items,
|
|
364
|
-
valueSum
|
|
365
|
-
});
|
|
366
|
-
}
|
|
367
|
-
});
|
|
368
|
-
|
|
369
|
-
// sort group
|
|
370
|
-
_statUtils.default.sortDataByKey(nameSumMap, 'valueSum', sortType);
|
|
371
|
-
return nameSumMap.reduce((accumulator, currentItem) => accumulator.concat(currentItem.items), []);
|
|
372
|
-
};
|
|
373
|
-
exports.sortDataByGroupSum = sortDataByGroupSum;
|
|
374
|
-
const isBoolean = val => {
|
|
375
|
-
return typeof val === 'boolean';
|
|
376
|
-
};
|
|
377
|
-
exports.isBoolean = isBoolean;
|
|
27
|
+
exports.generatorUniqueId = generatorUniqueId;
|
|
@@ -9,8 +9,6 @@ var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
|
9
9
|
var _reactIntlUniversal = _interopRequireDefault(require("react-intl-universal"));
|
|
10
10
|
var _dtableUtils = require("dtable-utils");
|
|
11
11
|
var _cellValue = require("./cell-value");
|
|
12
|
-
var _column = require("./column");
|
|
13
|
-
var _collaborator = require("./collaborator");
|
|
14
12
|
var _constants = require("../constants");
|
|
15
13
|
var _pivotTable = require("./pivot-table");
|
|
16
14
|
const isEmptyName = title => {
|
|
@@ -23,73 +21,6 @@ const isSummaryDateColumn = summaryColumn => {
|
|
|
23
21
|
} = summaryColumn;
|
|
24
22
|
return type !== _dtableUtils.CellType.LINK && (0, _dtableUtils.isDateColumn)(summaryColumn);
|
|
25
23
|
};
|
|
26
|
-
|
|
27
|
-
// eslint-disable-next-line
|
|
28
|
-
const getTableValueDisplayName = (value, column) => {
|
|
29
|
-
let {
|
|
30
|
-
type,
|
|
31
|
-
data
|
|
32
|
-
} = column || {};
|
|
33
|
-
let {
|
|
34
|
-
collaborators
|
|
35
|
-
} = window.app.state;
|
|
36
|
-
switch (type) {
|
|
37
|
-
case _dtableUtils.CellType.SINGLE_SELECT:
|
|
38
|
-
case _dtableUtils.CellType.MULTIPLE_SELECT:
|
|
39
|
-
{
|
|
40
|
-
let options = (0, _column.getSelectColumnOptions)(column);
|
|
41
|
-
let option = (0, _dtableUtils.getOption)(options, value) || {};
|
|
42
|
-
return option.name;
|
|
43
|
-
}
|
|
44
|
-
case _dtableUtils.CellType.COLLABORATOR:
|
|
45
|
-
{
|
|
46
|
-
let collaborator = (0, _dtableUtils.getCollaborator)(collaborators, value) || {};
|
|
47
|
-
return collaborator.name;
|
|
48
|
-
}
|
|
49
|
-
case _dtableUtils.CellType.CREATOR:
|
|
50
|
-
case _dtableUtils.CellType.LAST_MODIFIER:
|
|
51
|
-
{
|
|
52
|
-
let collaborator = (0, _collaborator.getKnownCreatorByEmail)(collaborators, value) || {};
|
|
53
|
-
return collaborator.name;
|
|
54
|
-
}
|
|
55
|
-
case _dtableUtils.CellType.NUMBER:
|
|
56
|
-
{
|
|
57
|
-
let valueNumber = parseFloat(value);
|
|
58
|
-
let displayValue = (0, _dtableUtils.isNumber)(valueNumber) ? (0, _dtableUtils.getNumberDisplayString)(valueNumber, data) : value;
|
|
59
|
-
return displayValue;
|
|
60
|
-
}
|
|
61
|
-
case _dtableUtils.CellType.DATE:
|
|
62
|
-
{
|
|
63
|
-
let displayValue = value;
|
|
64
|
-
if (value && value.split('-').length === 3) {
|
|
65
|
-
let format = (0, _column.getDateColumnFormat)(column);
|
|
66
|
-
let spaceIndex = format.indexOf(' ');
|
|
67
|
-
if (spaceIndex > -1) {
|
|
68
|
-
format = format.slice(0, spaceIndex);
|
|
69
|
-
}
|
|
70
|
-
displayValue = (0, _dayjs.default)(value).format(format);
|
|
71
|
-
}
|
|
72
|
-
return displayValue;
|
|
73
|
-
}
|
|
74
|
-
case _dtableUtils.CellType.FORMULA:
|
|
75
|
-
case _dtableUtils.CellType.LINK_FORMULA:
|
|
76
|
-
{
|
|
77
|
-
let displayValue = value;
|
|
78
|
-
let {
|
|
79
|
-
result_type
|
|
80
|
-
} = data || {};
|
|
81
|
-
if (result_type === _dtableUtils.FORMULA_RESULT_TYPE.NUMBER) {
|
|
82
|
-
let valueNumber = parseFloat(value);
|
|
83
|
-
displayValue = (0, _dtableUtils.isNumber)(valueNumber) ? (0, _dtableUtils.getNumberDisplayString)(valueNumber, data) : value;
|
|
84
|
-
}
|
|
85
|
-
return displayValue;
|
|
86
|
-
}
|
|
87
|
-
default:
|
|
88
|
-
{
|
|
89
|
-
return value;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
24
|
const getValidValueForColumn = (column, value) => {
|
|
94
25
|
if (!column) return '';
|
|
95
26
|
const {
|