dtable-statistic 4.3.6 → 4.3.8
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/calculator/base-calculator.js +16 -5
- package/es/calculator/basic-chart-calculator.js +17 -31
- package/es/calculator/combination-calculator.js +20 -34
- package/es/calculator/compare-bar-calculator.js +9 -20
- package/es/calculator/completeness-calculator.js +10 -24
- package/es/calculator/dashboard-calculator.js +6 -20
- package/es/calculator/heat-map-calculator.js +6 -20
- package/es/calculator/horizontal-bar-calculator.js +2 -13
- package/es/calculator/index.js +2 -0
- package/es/calculator/map-calculator.js +7 -21
- package/es/calculator/mirror-calculator.js +8 -22
- package/es/calculator/number-card-calculator.js +4 -18
- package/es/calculator/pivot-table-calculator.js +40 -54
- package/es/calculator/scatter-calculator.js +6 -20
- package/es/calculator/thread-manager.js +41 -41
- package/es/calculator/trend-calculator.js +6 -20
- package/es/calculator/workers/basic-chart-calculator-worker.js +77 -45
- package/es/calculator/workers/calculator.worker.js +5 -2
- package/es/calculator/workers/card-calculator-worker.js +13 -9
- package/es/calculator/workers/combination-calculator-worker.js +20 -16
- package/es/calculator/workers/compare-bar-chart-calculator-worker.js +12 -8
- package/es/calculator/workers/completeness-calculator-worker.js +21 -17
- package/es/calculator/workers/dashboard-calculator-worker.js +16 -12
- package/es/calculator/workers/mirror-calculator-worker.js +14 -10
- package/es/calculator/workers/pivot-table-calculator-worker.js +53 -35
- package/es/calculator/workers/scatter-calculator-worker.js +15 -11
- package/es/calculator/workers/trend-calculator-worker.js +14 -10
- package/es/calculator/world-map-calculator.js +6 -20
- package/es/components/dialog/chart-addition-edit-dialog.js +1 -1
- package/es/components/dialog/chart-addition-widgets/chart-selector.js +1 -1
- package/es/components/dialog/statistic-record-dialog/index.js +21 -11
- package/es/components/dropdown-menu/statistic-dropdown-menu.js +1 -1
- package/es/components/popover/color-rules/rule-filters/number-input.js +5 -5
- package/es/components/popover/color-rules-popover.js +2 -2
- package/es/components/select/select.js +3 -3
- package/es/components/toast/alert.js +2 -0
- package/es/components/toast/toastManager.js +1 -0
- package/es/constants/color-rules.js +3 -3
- package/es/constants/index.js +9 -9
- package/es/dashboard.js +7 -13
- package/es/desktop-dashboard.js +1 -1
- package/es/locale/lang/de.js +10 -10
- package/es/locale/lang/en.js +8 -8
- package/es/locale/lang/fr.js +10 -10
- package/es/locale/lang/zh_CN.js +8 -8
- package/es/model/basic-number-card.js +3 -3
- package/es/model/compare-bar.js +2 -2
- package/es/model/generic-model.js +11 -11
- package/es/model/heat-map.js +2 -2
- package/es/model/horizontal-bar.js +2 -2
- package/es/model/index.js +3 -2
- package/es/model/map.js +3 -3
- package/es/model/mirror.js +2 -2
- package/es/model/trend.js +2 -2
- package/es/model/world-map.js +3 -3
- package/es/stat-editor/stat-settings/advance-chart-settings/combination-settings.js +7 -7
- package/es/stat-editor/stat-settings/advance-chart-settings/index.js +2 -2
- package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/combination-style-setting.js +2 -2
- package/es/stat-editor/stat-settings/advance-chart-settings/summary-settings.js +1 -1
- package/es/stat-editor/stat-settings/basic-chart-settings/bar-settings.js +1 -1
- package/es/stat-editor/stat-settings/basic-chart-settings/completeness-chart-settings.js +7 -7
- package/es/stat-editor/stat-settings/basic-chart-settings/groupby-settings.js +6 -6
- package/es/stat-editor/stat-settings/basic-chart-settings/index.js +4 -4
- package/es/stat-editor/stat-settings/basic-chart-settings/pivot-table-settings.js +5 -5
- package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/bar-chart-style-setting.js +3 -3
- package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/horizontal-bar-chart-style.js +3 -3
- package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/pie-chart-style-settings.js +3 -3
- package/es/stat-editor/stat-settings/basic-chart-settings/summary-method-setting.js +1 -1
- package/es/stat-editor/stat-settings/basic-chart-settings/summary-settings.js +1 -1
- package/es/stat-editor/stat-settings/basic-chart-settings/time-comparison-settings.js +4 -18
- package/es/stat-editor/stat-settings/color-setting/color-picker.js +1 -0
- package/es/stat-editor/stat-settings/public-setting/column-settings.js +1 -1
- package/es/stat-editor/stat-settings/public-setting/numeric-summary-item.js +1 -1
- package/es/stat-view/area-chart.js +4 -4
- package/es/stat-view/bar-chart.js +4 -4
- package/es/stat-view/base-chart.js +2 -2
- package/es/stat-view/basic-number-card.js +49 -49
- package/es/stat-view/combination-chart.js +69 -69
- package/es/stat-view/compare-chart.js +4 -4
- package/es/stat-view/completeness-chart.js +3 -3
- package/es/stat-view/custom-bar.js +2 -2
- package/es/stat-view/dashboard-chart.js +50 -50
- package/es/stat-view/heat-map.js +2 -2
- package/es/stat-view/horizontal-bar-chart.js +4 -4
- package/es/stat-view/line-chart.js +4 -4
- package/es/stat-view/map.js +3 -3
- package/es/stat-view/mirror.js +2 -2
- package/es/stat-view/pivot-table/index.js +6 -6
- package/es/stat-view/pivot-table/one-dimension-table-no-numeric-columns.js +5 -5
- package/es/stat-view/pivot-table/one-dimension-table-with-numeric-columns.js +3 -3
- package/es/stat-view/pivot-table/pivot-table-display-name.js +19 -19
- package/es/stat-view/pivot-table/two-dimension-table.js +7 -7
- package/es/stat-view/ring-chart.js +2 -2
- package/es/stat-view/scatter-chart.js +56 -56
- package/es/stat-view/treemap-chart.js +50 -49
- package/es/stat-view/trend-chart.js +52 -52
- package/es/stat-view/world-map.js +3 -3
- package/es/utils/cell-format.js +16 -16
- package/es/utils/cell-value.js +3 -3
- package/es/utils/color-utils.js +3 -3
- package/es/utils/column-utils.js +10 -10
- package/es/utils/column.js +2 -2
- package/es/utils/common-utils.js +10 -8
- package/es/utils/export-table-utils.js +38 -38
- package/es/utils/object.js +3 -3
- package/es/utils/pivot-table.js +3 -3
- package/es/utils/row-utils.js +17 -17
- package/es/utils/search.js +14 -14
- package/es/utils/sql-utils.js +23 -20
- package/es/utils/stat-utils.js +52 -52
- package/es/utils/trend-utils.js +1 -0
- package/package.json +6 -3
|
@@ -8,7 +8,7 @@ exports.default = void 0;
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
10
|
var _reactIntlUniversal = _interopRequireDefault(require("react-intl-universal"));
|
|
11
|
-
var
|
|
11
|
+
var _dtableUtils = require("dtable-utils");
|
|
12
12
|
var _baseChart = _interopRequireDefault(require("../base-chart"));
|
|
13
13
|
var _oneDimensionTableNoNumericColumns = _interopRequireDefault(require("./one-dimension-table-no-numeric-columns"));
|
|
14
14
|
var _twoDimensionTable = _interopRequireDefault(require("./two-dimension-table"));
|
|
@@ -93,10 +93,10 @@ class PivotTable extends _baseChart.default {
|
|
|
93
93
|
const {
|
|
94
94
|
format
|
|
95
95
|
} = data || {};
|
|
96
|
-
return (0,
|
|
96
|
+
return (0, _dtableUtils.getDateDisplayString)(summaryValue.replace(/[T|Z]/g, ' '), format);
|
|
97
97
|
}
|
|
98
98
|
if (typeof summaryValue !== 'number') return summaryValue;
|
|
99
|
-
return (0,
|
|
99
|
+
return (0, _dtableUtils.getNumberDisplayString)(summaryValue, data || _constants.DEFAULT_NUMBER_FORMAT_OBJECT);
|
|
100
100
|
};
|
|
101
101
|
this.getStatData = () => {
|
|
102
102
|
const {
|
|
@@ -110,9 +110,9 @@ class PivotTable extends _baseChart.default {
|
|
|
110
110
|
summary_column_key
|
|
111
111
|
} = statItem;
|
|
112
112
|
const table = getTableById(table_id);
|
|
113
|
-
const groupbyColumn = groupby_column_key &&
|
|
114
|
-
const columnGroupbyColumn = column_groupby_column_key &&
|
|
115
|
-
const summaryColumn =
|
|
113
|
+
const groupbyColumn = groupby_column_key && (0, _dtableUtils.getTableColumnByKey)(table, groupby_column_key);
|
|
114
|
+
const columnGroupbyColumn = column_groupby_column_key && (0, _dtableUtils.getTableColumnByKey)(table, column_groupby_column_key);
|
|
115
|
+
const summaryColumn = (0, _dtableUtils.getTableColumnByKey)(table, summary_column_key) || {};
|
|
116
116
|
return {
|
|
117
117
|
pivotResult: this.state.statData,
|
|
118
118
|
statisticTableColumns: table.columns,
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _reactIntlUniversal = _interopRequireDefault(require("react-intl-universal"));
|
|
11
|
-
var
|
|
11
|
+
var _dtableUtils = require("dtable-utils");
|
|
12
12
|
var _pivotTableDisplayName = _interopRequireDefault(require("./pivot-table-display-name"));
|
|
13
13
|
var _utils = require("../../utils");
|
|
14
14
|
var _constants = require("../../constants");
|
|
@@ -43,8 +43,8 @@ class OneDimensionTableNoNumericColumns extends _react.PureComponent {
|
|
|
43
43
|
view_id
|
|
44
44
|
} = statItem;
|
|
45
45
|
const table = getTableById(table_id);
|
|
46
|
-
const view =
|
|
47
|
-
const rows = !
|
|
46
|
+
const view = (0, _dtableUtils.getViewById)(table.views, view_id);
|
|
47
|
+
const rows = !(0, _dtableUtils.isArchiveView)(view) ? recordsList.flat() : [];
|
|
48
48
|
_this.props.toggleStatisticRecordsDialog({
|
|
49
49
|
rows
|
|
50
50
|
}, _this.props.statItem, {
|
|
@@ -89,7 +89,7 @@ class OneDimensionTableNoNumericColumns extends _react.PureComponent {
|
|
|
89
89
|
summary_method,
|
|
90
90
|
display_total = true
|
|
91
91
|
} = statItem;
|
|
92
|
-
const summaryColumn =
|
|
92
|
+
const summaryColumn = (0, _dtableUtils.getTableColumnByKey)(table, summary_column_key) || {};
|
|
93
93
|
const columnTotal = getSummaryValueDisplayString(summaryColumn, pivot_columns_total['total'], summary_method);
|
|
94
94
|
const isValidTColumnTotal = this.props.isValidValue(columnTotal);
|
|
95
95
|
let pivotColumnCells = [];
|
|
@@ -139,7 +139,7 @@ class OneDimensionTableNoNumericColumns extends _react.PureComponent {
|
|
|
139
139
|
groupby_column_key
|
|
140
140
|
} = statItem;
|
|
141
141
|
const table = getTableById(table_id);
|
|
142
|
-
const groupByColumn = groupby_column_key &&
|
|
142
|
+
const groupByColumn = groupby_column_key && (0, _dtableUtils.getTableColumnByKey)(table, groupby_column_key);
|
|
143
143
|
return /*#__PURE__*/_react.default.createElement("table", {
|
|
144
144
|
style: {
|
|
145
145
|
color: textColor
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _reactIntlUniversal = _interopRequireDefault(require("react-intl-universal"));
|
|
11
|
-
var
|
|
11
|
+
var _dtableUtils = require("dtable-utils");
|
|
12
12
|
var _pivotTableDisplayName = _interopRequireDefault(require("./pivot-table-display-name"));
|
|
13
13
|
var _utils = require("../../utils");
|
|
14
14
|
var _constants = require("../../constants");
|
|
@@ -42,7 +42,7 @@ class OneDimensionTableWithNumericColumns extends _react.PureComponent {
|
|
|
42
42
|
column_groupby_column_key
|
|
43
43
|
} = statItem;
|
|
44
44
|
const statisticTableColumns = table.columns;
|
|
45
|
-
const columnGroupbyColumn =
|
|
45
|
+
const columnGroupbyColumn = (0, _dtableUtils.getTableColumnByKey)(table, column_groupby_column_key);
|
|
46
46
|
const {
|
|
47
47
|
name: groupName
|
|
48
48
|
} = groupbyColumn;
|
|
@@ -157,7 +157,7 @@ class OneDimensionTableWithNumericColumns extends _react.PureComponent {
|
|
|
157
157
|
groupby_column_key
|
|
158
158
|
} = statItem;
|
|
159
159
|
const table = getTableById(table_id);
|
|
160
|
-
const groupbyColumn =
|
|
160
|
+
const groupbyColumn = (0, _dtableUtils.getTableColumnByKey)(table, groupby_column_key);
|
|
161
161
|
if (!groupbyColumn) return '';
|
|
162
162
|
return /*#__PURE__*/_react.default.createElement("table", {
|
|
163
163
|
style: {
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _reactIntlUniversal = _interopRequireDefault(require("react-intl-universal"));
|
|
11
|
-
var
|
|
11
|
+
var _dtableUtils = require("dtable-utils");
|
|
12
12
|
var _utils = require("../../utils");
|
|
13
13
|
var _commonUtils = require("../../utils/common-utils");
|
|
14
14
|
var _constants = require("../../constants");
|
|
@@ -59,11 +59,11 @@ class PivotTableDisplayName extends _react.default.Component {
|
|
|
59
59
|
} = window.app.state;
|
|
60
60
|
let displayName;
|
|
61
61
|
switch (type) {
|
|
62
|
-
case
|
|
63
|
-
case
|
|
62
|
+
case _dtableUtils.CellType.SINGLE_SELECT:
|
|
63
|
+
case _dtableUtils.CellType.MULTIPLE_SELECT:
|
|
64
64
|
{
|
|
65
65
|
let options = (0, _utils.getSelectColumnOptions)(column);
|
|
66
|
-
let option = (0,
|
|
66
|
+
let option = (0, _dtableUtils.getOption)(options, value) || {};
|
|
67
67
|
let {
|
|
68
68
|
name: optionName,
|
|
69
69
|
color,
|
|
@@ -80,25 +80,25 @@ class PivotTableDisplayName extends _react.default.Component {
|
|
|
80
80
|
}, optionName);
|
|
81
81
|
break;
|
|
82
82
|
}
|
|
83
|
-
case
|
|
84
|
-
case
|
|
85
|
-
case
|
|
83
|
+
case _dtableUtils.CellType.CREATOR:
|
|
84
|
+
case _dtableUtils.CellType.COLLABORATOR:
|
|
85
|
+
case _dtableUtils.CellType.LAST_MODIFIER:
|
|
86
86
|
{
|
|
87
87
|
displayName = /*#__PURE__*/_react.default.createElement(Collaborator, {
|
|
88
88
|
collaborator: this.state.user
|
|
89
89
|
});
|
|
90
90
|
break;
|
|
91
91
|
}
|
|
92
|
-
case
|
|
92
|
+
case _dtableUtils.CellType.NUMBER:
|
|
93
93
|
{
|
|
94
|
-
const displayValue = (0,
|
|
94
|
+
const displayValue = (0, _dtableUtils.isNumber)(value) ? (0, _dtableUtils.getNumberDisplayString)(value, data) : value;
|
|
95
95
|
displayName = /*#__PURE__*/_react.default.createElement("div", {
|
|
96
96
|
title: displayValue,
|
|
97
97
|
"aria-label": displayValue
|
|
98
98
|
}, displayValue);
|
|
99
99
|
break;
|
|
100
100
|
}
|
|
101
|
-
case
|
|
101
|
+
case _dtableUtils.CellType.LINK:
|
|
102
102
|
{
|
|
103
103
|
const displayValue = (0, _utils.getClientFormulaDisplayString)(Array.isArray(value) ? value : [value], data, {
|
|
104
104
|
collaborators
|
|
@@ -112,22 +112,22 @@ class PivotTableDisplayName extends _react.default.Component {
|
|
|
112
112
|
}, displayValue);
|
|
113
113
|
break;
|
|
114
114
|
}
|
|
115
|
-
case
|
|
116
|
-
case
|
|
115
|
+
case _dtableUtils.CellType.FORMULA:
|
|
116
|
+
case _dtableUtils.CellType.LINK_FORMULA:
|
|
117
117
|
{
|
|
118
118
|
let displayValue = value;
|
|
119
119
|
let {
|
|
120
120
|
result_type,
|
|
121
121
|
array_type
|
|
122
122
|
} = data || {};
|
|
123
|
-
if (result_type ===
|
|
123
|
+
if (result_type === _dtableUtils.FORMULA_RESULT_TYPE.NUMBER) {
|
|
124
124
|
let valueNumber = parseFloat(value);
|
|
125
|
-
displayValue = (0,
|
|
126
|
-
} else if (result_type ===
|
|
127
|
-
if (
|
|
125
|
+
displayValue = (0, _dtableUtils.isNumber)(valueNumber) ? (0, _dtableUtils.getNumberDisplayString)(valueNumber, data) : value;
|
|
126
|
+
} else if (result_type === _dtableUtils.FORMULA_RESULT_TYPE.ARRAY) {
|
|
127
|
+
if (_dtableUtils.COLLABORATOR_COLUMN_TYPES.includes(array_type)) {
|
|
128
128
|
const currentCollaborators = Array.isArray(value) ? value : [value];
|
|
129
129
|
displayValue = currentCollaborators.map(email => {
|
|
130
|
-
let user = array_type ===
|
|
130
|
+
let user = array_type === _dtableUtils.CellType.COLLABORATOR ? (0, _dtableUtils.getCollaborator)(collaborators, email) : (0, _utils.getKnownCreatorByEmail)(collaborators, email);
|
|
131
131
|
return (user || {}).name;
|
|
132
132
|
});
|
|
133
133
|
displayValue = displayValue + '';
|
|
@@ -163,7 +163,7 @@ class PivotTableDisplayName extends _react.default.Component {
|
|
|
163
163
|
const {
|
|
164
164
|
type
|
|
165
165
|
} = column;
|
|
166
|
-
if (!
|
|
166
|
+
if (!_dtableUtils.COLLABORATOR_COLUMN_TYPES.includes(type)) return;
|
|
167
167
|
this.updateUser(value);
|
|
168
168
|
}
|
|
169
169
|
UNSAFE_componentWillReceiveProps(nextProps) {
|
|
@@ -174,7 +174,7 @@ class PivotTableDisplayName extends _react.default.Component {
|
|
|
174
174
|
const {
|
|
175
175
|
type
|
|
176
176
|
} = column;
|
|
177
|
-
if (!
|
|
177
|
+
if (!_dtableUtils.COLLABORATOR_COLUMN_TYPES.includes(type)) return;
|
|
178
178
|
if (value !== this.props.value || (0, _commonUtils.shallowEqual)(nextProps.column, this.props.column)) {
|
|
179
179
|
this.updateUser(value);
|
|
180
180
|
}
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _reactIntlUniversal = _interopRequireDefault(require("react-intl-universal"));
|
|
11
|
-
var
|
|
11
|
+
var _dtableUtils = require("dtable-utils");
|
|
12
12
|
var _pivotTableDisplayName = _interopRequireDefault(require("./pivot-table-display-name"));
|
|
13
13
|
var _utils = require("../../utils");
|
|
14
14
|
var _pivotTable = require("../../utils/pivot-table");
|
|
@@ -44,9 +44,9 @@ class TwoDimensionTable extends _react.PureComponent {
|
|
|
44
44
|
view_id
|
|
45
45
|
} = statItem;
|
|
46
46
|
const table = getTableById(table_id);
|
|
47
|
-
const view =
|
|
47
|
+
const view = (0, _dtableUtils.getViewById)(table.views, view_id);
|
|
48
48
|
let rows = [];
|
|
49
|
-
if (!
|
|
49
|
+
if (!(0, _dtableUtils.isArchiveView)(view)) {
|
|
50
50
|
rows = recordsList.flat();
|
|
51
51
|
}
|
|
52
52
|
this.props.toggleStatisticRecordsDialog({
|
|
@@ -56,7 +56,7 @@ class TwoDimensionTable extends _react.PureComponent {
|
|
|
56
56
|
});
|
|
57
57
|
};
|
|
58
58
|
this.getNumberValue = val => {
|
|
59
|
-
if ((0,
|
|
59
|
+
if ((0, _dtableUtils.isNumber)(val)) {
|
|
60
60
|
return val;
|
|
61
61
|
}
|
|
62
62
|
return 0;
|
|
@@ -223,7 +223,7 @@ class TwoDimensionTable extends _react.PureComponent {
|
|
|
223
223
|
formulaRows,
|
|
224
224
|
isSqlQuery = false
|
|
225
225
|
} = pivotResult;
|
|
226
|
-
const summaryColumn =
|
|
226
|
+
const summaryColumn = (0, _dtableUtils.getTableColumnByKey)(table, summary_column_key) || {};
|
|
227
227
|
let allTotalDisplay = column_groupby_multiple_numeric_column ? 0 : getSummaryValueDisplayString(summaryColumn, pivot_table_total, summary_method);
|
|
228
228
|
let firstSummaryColumnFromMultiple = column_groupby_multiple_numeric_column && pivot_summary_multiple_columns[0] || null;
|
|
229
229
|
let pivotColumnCells = [];
|
|
@@ -361,8 +361,8 @@ class TwoDimensionTable extends _react.PureComponent {
|
|
|
361
361
|
column_groupby_column_key
|
|
362
362
|
} = statItem;
|
|
363
363
|
const table = getTableById(table_id);
|
|
364
|
-
const groupbyColumn =
|
|
365
|
-
const columnGroupbyColumn =
|
|
364
|
+
const groupbyColumn = (0, _dtableUtils.getTableColumnByKey)(table, groupby_column_key) || {};
|
|
365
|
+
const columnGroupbyColumn = (0, _dtableUtils.getTableColumnByKey)(table, column_groupby_column_key) || {};
|
|
366
366
|
return /*#__PURE__*/_react.default.createElement("table", {
|
|
367
367
|
style: {
|
|
368
368
|
color: textColor
|
|
@@ -8,7 +8,7 @@ exports.default = void 0;
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
10
|
var _reactIntlUniversal = _interopRequireDefault(require("react-intl-universal"));
|
|
11
|
-
var
|
|
11
|
+
var _dtableUtils = require("dtable-utils");
|
|
12
12
|
var _baseChart = _interopRequireDefault(require("./base-chart"));
|
|
13
13
|
var _customG = require("../custom-g2");
|
|
14
14
|
var _commonUtils = require("../utils/common-utils");
|
|
@@ -75,7 +75,7 @@ class RingChart extends _baseChart.default {
|
|
|
75
75
|
} = statItem;
|
|
76
76
|
const table = getTableById(table_id);
|
|
77
77
|
if (summary_type !== _constants.SUMMARY_TYPE.COUNT) {
|
|
78
|
-
summaryColumn = summary_column_key &&
|
|
78
|
+
summaryColumn = summary_column_key && (0, _dtableUtils.getTableColumnByKey)(table, summary_column_key);
|
|
79
79
|
summaryColumnData = summaryColumn && summaryColumn.data || _constants.DEFAULT_NUMBER_FORMAT_OBJECT;
|
|
80
80
|
}
|
|
81
81
|
this.chart.coordinate('theta', {
|
|
@@ -8,7 +8,7 @@ exports.default = void 0;
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
10
|
var _reactIntlUniversal = _interopRequireDefault(require("react-intl-universal"));
|
|
11
|
-
var
|
|
11
|
+
var _dtableUtils = require("dtable-utils");
|
|
12
12
|
var _baseChart = _interopRequireDefault(require("./base-chart"));
|
|
13
13
|
var _customG = require("../custom-g2");
|
|
14
14
|
var _commonUtils = require("../utils/common-utils");
|
|
@@ -26,57 +26,6 @@ const propTypes = {
|
|
|
26
26
|
class ScatterChart extends _baseChart.default {
|
|
27
27
|
constructor(props) {
|
|
28
28
|
super(props);
|
|
29
|
-
this.componentDidMount = async () => {
|
|
30
|
-
const {
|
|
31
|
-
statItem,
|
|
32
|
-
chartCalculator,
|
|
33
|
-
eventBus
|
|
34
|
-
} = this.props;
|
|
35
|
-
if (this.container) {
|
|
36
|
-
const data = await chartCalculator.calculate(statItem);
|
|
37
|
-
this.setState({
|
|
38
|
-
isCalculatingData: false
|
|
39
|
-
});
|
|
40
|
-
this.drawChart(data);
|
|
41
|
-
this.calculateData = data;
|
|
42
|
-
}
|
|
43
|
-
this.unsubscribeStyleChange = eventBus.subscribe(_constants.LABEL_CONFIG_CHANGED, newStatItem => {
|
|
44
|
-
this.renderAxisLabel(newStatItem);
|
|
45
|
-
});
|
|
46
|
-
};
|
|
47
|
-
this.componentDidUpdate = async (preProps, preState) => {
|
|
48
|
-
const {
|
|
49
|
-
statItem,
|
|
50
|
-
chartCalculator
|
|
51
|
-
} = this.props;
|
|
52
|
-
const {
|
|
53
|
-
isCalculatingData
|
|
54
|
-
} = this.state;
|
|
55
|
-
if (isCalculatingData !== preState.isCalculatingData) return;
|
|
56
|
-
if (this.shouldCalculateStatItem(preProps, this.props)) {
|
|
57
|
-
if (this.container) {
|
|
58
|
-
this.setState({
|
|
59
|
-
isCalculatingData: true
|
|
60
|
-
});
|
|
61
|
-
const data = await chartCalculator.calculate(statItem);
|
|
62
|
-
this.calculateData = data;
|
|
63
|
-
this.setState({
|
|
64
|
-
isCalculatingData: false
|
|
65
|
-
});
|
|
66
|
-
this.chart && this.chart.destroy();
|
|
67
|
-
this.drawChart(data);
|
|
68
|
-
if (this.props.isPreview) {
|
|
69
|
-
this.chart.forceFit();
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
} else {
|
|
73
|
-
this.chart && this.chart.destroy();
|
|
74
|
-
this.drawChart(this.calculateData);
|
|
75
|
-
if (this.props.isPreview) {
|
|
76
|
-
this.chart.forceFit();
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
29
|
this.drawChart = data => {
|
|
81
30
|
const {
|
|
82
31
|
getTableById,
|
|
@@ -91,8 +40,8 @@ class ScatterChart extends _baseChart.default {
|
|
|
91
40
|
y_axis_column
|
|
92
41
|
} = statItem;
|
|
93
42
|
const selectedTable = getTableById(table_id);
|
|
94
|
-
const selectedXAxisColumn =
|
|
95
|
-
const selectedYAxisColumn =
|
|
43
|
+
const selectedXAxisColumn = (0, _dtableUtils.getTableColumnByKey)(selectedTable, x_axis_column);
|
|
44
|
+
const selectedYAxisColumn = (0, _dtableUtils.getTableColumnByKey)(selectedTable, y_axis_column);
|
|
96
45
|
if (isPreview) {
|
|
97
46
|
this.chart = new _customG.Chart({
|
|
98
47
|
container: this.container,
|
|
@@ -218,7 +167,7 @@ class ScatterChart extends _baseChart.default {
|
|
|
218
167
|
const div = document.createElement('div');
|
|
219
168
|
div.id = xAxisID;
|
|
220
169
|
div.className = 'statistic-chart-axis-label';
|
|
221
|
-
const column =
|
|
170
|
+
const column = (0, _dtableUtils.getTableColumnByKey)(table, x_axis_column);
|
|
222
171
|
div.innerHTML = "".concat(column ? column.name : '');
|
|
223
172
|
div.setAttribute('style', "color:".concat(textColor, "; width: 100%; padding-left: ").concat(autoPadding.left, "px; text-align: ").concat(x_axis_label_position, "; bottom: -20px"));
|
|
224
173
|
chartContainer.appendChild(div);
|
|
@@ -236,7 +185,7 @@ class ScatterChart extends _baseChart.default {
|
|
|
236
185
|
const div = document.createElement('div');
|
|
237
186
|
div.id = yAxisID;
|
|
238
187
|
div.className = 'statistic-chart-axis-label';
|
|
239
|
-
const column =
|
|
188
|
+
const column = (0, _dtableUtils.getTableColumnByKey)(table, y_axis_column) || {};
|
|
240
189
|
div.innerHTML = column.name || '';
|
|
241
190
|
const containerHeight = chartContainer.offsetHeight;
|
|
242
191
|
let textAlign = 'center';
|
|
@@ -261,6 +210,24 @@ class ScatterChart extends _baseChart.default {
|
|
|
261
210
|
};
|
|
262
211
|
this.calculateData = null;
|
|
263
212
|
}
|
|
213
|
+
async componentDidMount() {
|
|
214
|
+
const {
|
|
215
|
+
statItem,
|
|
216
|
+
chartCalculator,
|
|
217
|
+
eventBus
|
|
218
|
+
} = this.props;
|
|
219
|
+
if (this.container) {
|
|
220
|
+
const data = await chartCalculator.calculate(statItem);
|
|
221
|
+
this.setState({
|
|
222
|
+
isCalculatingData: false
|
|
223
|
+
});
|
|
224
|
+
this.drawChart(data);
|
|
225
|
+
this.calculateData = data;
|
|
226
|
+
}
|
|
227
|
+
this.unsubscribeStyleChange = eventBus.subscribe(_constants.LABEL_CONFIG_CHANGED, newStatItem => {
|
|
228
|
+
this.renderAxisLabel(newStatItem);
|
|
229
|
+
});
|
|
230
|
+
}
|
|
264
231
|
shouldComponentUpdate(nextProps, nextState) {
|
|
265
232
|
const {
|
|
266
233
|
colorThemeName
|
|
@@ -276,6 +243,39 @@ class ScatterChart extends _baseChart.default {
|
|
|
276
243
|
}
|
|
277
244
|
return false;
|
|
278
245
|
}
|
|
246
|
+
async componentDidUpdate(preProps, preState) {
|
|
247
|
+
const {
|
|
248
|
+
statItem,
|
|
249
|
+
chartCalculator
|
|
250
|
+
} = this.props;
|
|
251
|
+
const {
|
|
252
|
+
isCalculatingData
|
|
253
|
+
} = this.state;
|
|
254
|
+
if (isCalculatingData !== preState.isCalculatingData) return;
|
|
255
|
+
if (this.shouldCalculateStatItem(preProps, this.props)) {
|
|
256
|
+
if (this.container) {
|
|
257
|
+
this.setState({
|
|
258
|
+
isCalculatingData: true
|
|
259
|
+
});
|
|
260
|
+
const data = await chartCalculator.calculate(statItem);
|
|
261
|
+
this.calculateData = data;
|
|
262
|
+
this.setState({
|
|
263
|
+
isCalculatingData: false
|
|
264
|
+
});
|
|
265
|
+
this.chart && this.chart.destroy();
|
|
266
|
+
this.drawChart(data);
|
|
267
|
+
if (this.props.isPreview) {
|
|
268
|
+
this.chart.forceFit();
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
} else {
|
|
272
|
+
this.chart && this.chart.destroy();
|
|
273
|
+
this.drawChart(this.calculateData);
|
|
274
|
+
if (this.props.isPreview) {
|
|
275
|
+
this.chart.forceFit();
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
279
|
componentWillUnmount() {
|
|
280
280
|
this.container = null;
|
|
281
281
|
this.unsubscribeStyleChange && this.unsubscribeStyleChange();
|
|
@@ -11,7 +11,7 @@ var _dataSet = _interopRequireDefault(require("@antv/data-set"));
|
|
|
11
11
|
var _reactIntlUniversal = _interopRequireDefault(require("react-intl-universal"));
|
|
12
12
|
var _util = require("@antv/util");
|
|
13
13
|
var _text = require("@antv/g2/esm/util/text");
|
|
14
|
-
var
|
|
14
|
+
var _dtableUtils = require("dtable-utils");
|
|
15
15
|
var _baseChart = _interopRequireDefault(require("./base-chart"));
|
|
16
16
|
var _customG = require("../custom-g2");
|
|
17
17
|
var _commonUtils = require("../utils/common-utils");
|
|
@@ -30,53 +30,6 @@ const propTypes = {
|
|
|
30
30
|
class TreemapChart extends _baseChart.default {
|
|
31
31
|
constructor(props) {
|
|
32
32
|
super(props);
|
|
33
|
-
this.componentDidMount = async () => {
|
|
34
|
-
const {
|
|
35
|
-
statItem,
|
|
36
|
-
chartCalculator
|
|
37
|
-
} = this.props;
|
|
38
|
-
if (this.container) {
|
|
39
|
-
const data = await chartCalculator.calculate(statItem);
|
|
40
|
-
this.setState({
|
|
41
|
-
isCalculatingData: false
|
|
42
|
-
});
|
|
43
|
-
this.drawChart(data);
|
|
44
|
-
this.calculateData = data;
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
this.componentDidUpdate = async (preProps, preState) => {
|
|
48
|
-
const {
|
|
49
|
-
statItem,
|
|
50
|
-
chartCalculator
|
|
51
|
-
} = this.props;
|
|
52
|
-
const {
|
|
53
|
-
isCalculatingData
|
|
54
|
-
} = this.state;
|
|
55
|
-
if (isCalculatingData !== preState.isCalculatingData) return;
|
|
56
|
-
if (this.shouldCalculateStatItem(preProps, this.props)) {
|
|
57
|
-
this.setState({
|
|
58
|
-
isCalculatingData: true
|
|
59
|
-
});
|
|
60
|
-
if (this.container) {
|
|
61
|
-
const data = await chartCalculator.calculate(statItem);
|
|
62
|
-
this.calculateData = data;
|
|
63
|
-
this.setState({
|
|
64
|
-
isCalculatingData: false
|
|
65
|
-
});
|
|
66
|
-
this.chart && this.chart.destroy();
|
|
67
|
-
this.drawChart(data);
|
|
68
|
-
if (this.props.isPreview) {
|
|
69
|
-
this.chart.forceFit();
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
} else {
|
|
73
|
-
this.chart && this.chart.destroy();
|
|
74
|
-
this.drawChart(this.calculateData);
|
|
75
|
-
if (this.props.isPreview) {
|
|
76
|
-
this.chart.forceFit();
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
33
|
this.drawChart = data => {
|
|
81
34
|
const {
|
|
82
35
|
getTableById,
|
|
@@ -90,7 +43,7 @@ class TreemapChart extends _baseChart.default {
|
|
|
90
43
|
summary_column_key
|
|
91
44
|
} = statItem;
|
|
92
45
|
const table = getTableById(table_id);
|
|
93
|
-
const selectedNumericColumn =
|
|
46
|
+
const selectedNumericColumn = (0, _dtableUtils.getTableColumnByKey)(table, summary_column_key);
|
|
94
47
|
if (isPreview) {
|
|
95
48
|
this.chart = new _customG.Chart({
|
|
96
49
|
container: this.container,
|
|
@@ -133,6 +86,7 @@ class TreemapChart extends _baseChart.default {
|
|
|
133
86
|
as: ['x', 'y']
|
|
134
87
|
});
|
|
135
88
|
const nodes = [];
|
|
89
|
+
// eslint-disable-next-line
|
|
136
90
|
for (const node of dv.getAllNodes()) {
|
|
137
91
|
if (node.data.name === 'root') {
|
|
138
92
|
continue;
|
|
@@ -220,6 +174,20 @@ class TreemapChart extends _baseChart.default {
|
|
|
220
174
|
}
|
|
221
175
|
(0, _customG.registerGeometryLabelLayout)('custom-limit-in-shape', limitInShape);
|
|
222
176
|
}
|
|
177
|
+
async componentDidMount() {
|
|
178
|
+
const {
|
|
179
|
+
statItem,
|
|
180
|
+
chartCalculator
|
|
181
|
+
} = this.props;
|
|
182
|
+
if (this.container) {
|
|
183
|
+
const data = await chartCalculator.calculate(statItem);
|
|
184
|
+
this.setState({
|
|
185
|
+
isCalculatingData: false
|
|
186
|
+
});
|
|
187
|
+
this.drawChart(data);
|
|
188
|
+
this.calculateData = data;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
223
191
|
shouldComponentUpdate(nextProps, nextState) {
|
|
224
192
|
const {
|
|
225
193
|
colorThemeName
|
|
@@ -235,6 +203,39 @@ class TreemapChart extends _baseChart.default {
|
|
|
235
203
|
}
|
|
236
204
|
return false;
|
|
237
205
|
}
|
|
206
|
+
async componentDidUpdate(preProps, preState) {
|
|
207
|
+
const {
|
|
208
|
+
statItem,
|
|
209
|
+
chartCalculator
|
|
210
|
+
} = this.props;
|
|
211
|
+
const {
|
|
212
|
+
isCalculatingData
|
|
213
|
+
} = this.state;
|
|
214
|
+
if (isCalculatingData !== preState.isCalculatingData) return;
|
|
215
|
+
if (this.shouldCalculateStatItem(preProps, this.props)) {
|
|
216
|
+
this.setState({
|
|
217
|
+
isCalculatingData: true
|
|
218
|
+
});
|
|
219
|
+
if (this.container) {
|
|
220
|
+
const data = await chartCalculator.calculate(statItem);
|
|
221
|
+
this.calculateData = data;
|
|
222
|
+
this.setState({
|
|
223
|
+
isCalculatingData: false
|
|
224
|
+
});
|
|
225
|
+
this.chart && this.chart.destroy();
|
|
226
|
+
this.drawChart(data);
|
|
227
|
+
if (this.props.isPreview) {
|
|
228
|
+
this.chart.forceFit();
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
} else {
|
|
232
|
+
this.chart && this.chart.destroy();
|
|
233
|
+
this.drawChart(this.calculateData);
|
|
234
|
+
if (this.props.isPreview) {
|
|
235
|
+
this.chart.forceFit();
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
238
239
|
componentWillUnmount() {
|
|
239
240
|
this.container = null;
|
|
240
241
|
}
|