sea-chart 2.0.46 → 2.0.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/index.js +11 -4
- package/dist/components/cell-factory/FormatterConfig.js +62 -55
- package/dist/components/cell-factory/SimpleCellFormatter.js +11 -4
- package/dist/components/cell-factory/SingleSelectOption.js +18 -11
- package/dist/components/cell-factory/cell-editor-factory.js +12 -5
- package/dist/components/cell-factory/cell-formatter-factory.js +11 -4
- package/dist/components/cell-factory/link-content.js +35 -27
- package/dist/components/chart-color-selector/color-selector.js +18 -11
- package/dist/components/collaborator/index.js +14 -7
- package/dist/components/color-picker/index.js +18 -11
- package/dist/components/color-popover/color-rules/color-rule.js +33 -25
- package/dist/components/color-popover/color-rules/index.js +14 -6
- package/dist/components/color-popover/color-rules/rule-filters/filter.js +34 -27
- package/dist/components/color-popover/color-rules/rule-filters/index.js +25 -17
- package/dist/components/color-popover/color-rules/rule-filters/number-input.js +18 -10
- package/dist/components/color-popover/color-rules-popover.js +34 -26
- package/dist/components/color-popover/color-selector-popover.js +18 -10
- package/dist/components/color-setting/color-group-selector.js +20 -12
- package/dist/components/common-add-tool/index.js +13 -6
- package/dist/components/data-process-setter/data-setting-header.js +14 -7
- package/dist/components/data-process-setter/hide-column-setter.js +19 -12
- package/dist/components/data-process-setter/index.js +27 -4
- package/dist/components/data-process-setter/sort-setter.js +24 -16
- package/dist/components/draggable/Draggable.js +13 -7
- package/dist/components/drill-down-settings/drill-down-fields-popover/index.js +48 -40
- package/dist/components/drill-down-settings/drill-down-fields-settings/index.js +18 -10
- package/dist/components/drill-down-settings/index.js +18 -11
- package/dist/components/dtable-popover/index.js +20 -13
- package/dist/components/dtable-search-input/index.js +21 -13
- package/dist/components/font-settings/index.js +22 -14
- package/dist/components/goal-line-setting/goal-setting-item.js +14 -6
- package/dist/components/goal-line-setting/index.js +19 -12
- package/dist/components/highlighter/highlighter.js +14 -7
- package/dist/components/icon/index.js +11 -4
- package/dist/components/index.js +48 -7
- package/dist/components/loading/index.js +13 -6
- package/dist/components/number-input/index.js +11 -4
- package/dist/components/pixel-editor/index.js +23 -15
- package/dist/components/popover/hide-column-popover/hide-column-popover-widgets/hide-column-item.js +15 -8
- package/dist/components/popover/hide-column-popover/hide-column-popover.js +33 -25
- package/dist/components/popover/sort-popover/sort-popover-widgets/sort-utils.js +18 -9
- package/dist/components/popover/sort-popover/sort-popover.js +64 -54
- package/dist/components/resize-handle/ResizeHandle.js +13 -6
- package/dist/components/row-card/row-card-header-cell.js +22 -15
- package/dist/components/row-card/row-card-header.js +21 -14
- package/dist/components/row-card/row-card-item.js +41 -33
- package/dist/components/row-card/row-card.js +23 -15
- package/dist/components/statistic-record-dialog/index.js +64 -56
- package/dist/components/tooltip/index.js +22 -15
- package/dist/components/types-dialog/index.js +64 -56
- package/dist/components/types-dialog/use-force-update.js +10 -4
- package/dist/constants/color-rules.js +14 -8
- package/dist/constants/common-constants.js +14 -8
- package/dist/constants/error.js +8 -2
- package/dist/constants/geolocation.js +15 -9
- package/dist/constants/index.js +274 -145
- package/dist/constants/key-codes.js +2 -0
- package/dist/constants/model.js +9 -3
- package/dist/constants/regions.js +8 -3
- package/dist/constants/style.js +12 -6
- package/dist/constants/table.js +7 -1
- package/dist/constants/type-image.js +39 -33
- package/dist/constants/type.js +9 -3
- package/dist/context.js +18 -11
- package/dist/editor/index.js +15 -8
- package/dist/index.js +104 -13
- package/dist/intl.js +17 -10
- package/dist/locale/index.js +23 -16
- package/dist/locale/lang/de.js +7 -1
- package/dist/locale/lang/en.js +7 -1
- package/dist/locale/lang/es.js +7 -1
- package/dist/locale/lang/fr.js +7 -1
- package/dist/locale/lang/pt.js +7 -1
- package/dist/locale/lang/ru.js +7 -1
- package/dist/locale/lang/zh_CN.js +7 -1
- package/dist/model/area-group.js +19 -12
- package/dist/model/area.js +19 -12
- package/dist/model/bar-custom.js +18 -11
- package/dist/model/bar-group.js +19 -12
- package/dist/model/bar-stack.js +17 -10
- package/dist/model/bar.js +18 -11
- package/dist/model/base-model.js +11 -4
- package/dist/model/basic-number-card.js +20 -13
- package/dist/model/chart.js +13 -7
- package/dist/model/combination.js +22 -15
- package/dist/model/compare-bar.js +21 -14
- package/dist/model/completeness-group.js +18 -11
- package/dist/model/completeness.js +17 -10
- package/dist/model/dashboard.js +14 -7
- package/dist/model/funnel.js +21 -14
- package/dist/model/generic-model.js +143 -135
- package/dist/model/heat-map.js +16 -9
- package/dist/model/horizontal-bar.js +18 -11
- package/dist/model/horizontal-group-bar.js +17 -10
- package/dist/model/index.js +93 -69
- package/dist/model/line-group.js +20 -13
- package/dist/model/line.js +19 -12
- package/dist/model/map-bubble.js +19 -12
- package/dist/model/map.js +19 -12
- package/dist/model/mirror.js +20 -13
- package/dist/model/pie.js +19 -12
- package/dist/model/ring.js +19 -12
- package/dist/model/scatter.js +17 -10
- package/dist/model/stacked-horizontal-bar.js +18 -11
- package/dist/model/table-element.js +12 -5
- package/dist/model/table.js +14 -7
- package/dist/model/tree-map.js +14 -7
- package/dist/model/trend.js +18 -11
- package/dist/model/user.js +7 -1
- package/dist/model/world-map-bubble.js +19 -12
- package/dist/model/world-map.js +19 -12
- package/dist/services/map-json.js +13 -7
- package/dist/settings/advance-bar-settings/data-settings.js +44 -36
- package/dist/settings/advance-bar-settings/index.js +20 -3
- package/dist/settings/advance-bar-settings/style-settings.js +74 -66
- package/dist/settings/bar-settings/data-settings.js +47 -39
- package/dist/settings/bar-settings/index.js +20 -3
- package/dist/settings/bar-settings/style-settings.js +60 -52
- package/dist/settings/basic-number-card/data-settings.js +57 -49
- package/dist/settings/basic-number-card/index.js +20 -3
- package/dist/settings/basic-number-card/style-settings.js +26 -18
- package/dist/settings/combination-settings/data-settings.js +63 -55
- package/dist/settings/combination-settings/index.js +20 -3
- package/dist/settings/combination-settings/style-settings.js +77 -69
- package/dist/settings/completeness-settings/callbacks/callbacks.js +27 -16
- package/dist/settings/completeness-settings/data-settings/completion-settings.js +28 -21
- package/dist/settings/completeness-settings/data-settings/data-settings.js +32 -25
- package/dist/settings/completeness-settings/index.js +20 -3
- package/dist/settings/completeness-settings/style-settings.js +26 -19
- package/dist/settings/dashboard-settings/data-settings.js +51 -43
- package/dist/settings/dashboard-settings/index.js +13 -2
- package/dist/settings/data-settings.js +79 -72
- package/dist/settings/funnel-settings/components/dnd-item/dnd-item.js +19 -12
- package/dist/settings/funnel-settings/components/dnd-list.js +23 -15
- package/dist/settings/funnel-settings/components/funnel-label-setting.js +40 -32
- package/dist/settings/funnel-settings/components/funnel-layer-setting.js +28 -20
- package/dist/settings/funnel-settings/data-settings.js +31 -23
- package/dist/settings/funnel-settings/index.js +20 -3
- package/dist/settings/funnel-settings/style-settings.js +19 -11
- package/dist/settings/heat-map-settings/data-settings.js +26 -18
- package/dist/settings/heat-map-settings/index.js +20 -3
- package/dist/settings/heat-map-settings/style-settings.js +26 -18
- package/dist/settings/horizontal-bar-settings/data-settings.js +19 -12
- package/dist/settings/horizontal-bar-settings/index.js +20 -3
- package/dist/settings/horizontal-bar-settings/style-settings.js +19 -12
- package/dist/settings/index.js +70 -52
- package/dist/settings/map-settings/components/location-field-selector.js +17 -10
- package/dist/settings/map-settings/components/map-level-selector.js +18 -11
- package/dist/settings/map-settings/components/map-province-city-selector.js +26 -19
- package/dist/settings/map-settings/index.js +20 -3
- package/dist/settings/map-settings/map-data-settings.js +30 -23
- package/dist/settings/map-settings/map-style-settings.js +34 -26
- package/dist/settings/mirror-settings/data-settings.js +34 -26
- package/dist/settings/mirror-settings/index.js +13 -2
- package/dist/settings/pie-settings/data-settings.js +41 -33
- package/dist/settings/pie-settings/index.js +20 -3
- package/dist/settings/pie-settings/style-settings.js +55 -47
- package/dist/settings/scatter/data-settings.js +34 -27
- package/dist/settings/scatter/index.js +12 -3
- package/dist/settings/stacks-settings/index.js +27 -19
- package/dist/settings/stacks-settings/stack-item-settings.js +27 -19
- package/dist/settings/style-settings.js +72 -64
- package/dist/settings/table-element-settings/components/data-filter.js +38 -30
- package/dist/settings/table-element-settings/data-settings.js +29 -21
- package/dist/settings/table-element-settings/index.js +13 -2
- package/dist/settings/table-settings/data-settings.js +119 -111
- package/dist/settings/table-settings/index.js +13 -2
- package/dist/settings/time-comparison-settings/data-settings.js +51 -43
- package/dist/settings/time-comparison-settings/index.js +20 -3
- package/dist/settings/time-comparison-settings/style-settings.js +53 -45
- package/dist/settings/trend-settings/data-settings.js +32 -24
- package/dist/settings/trend-settings/index.js +20 -3
- package/dist/settings/trend-settings/style-setting.js +25 -17
- package/dist/settings/widgets/axis-title-font-settings/index.js +17 -10
- package/dist/settings/widgets/basic-summary/index.js +63 -55
- package/dist/settings/widgets/chart-type/index.js +26 -18
- package/dist/settings/widgets/color-settings/index.js +80 -72
- package/dist/settings/widgets/common-data-settings.js +29 -21
- package/dist/settings/widgets/data-filter/index.js +43 -35
- package/dist/settings/widgets/data-sort.js +24 -16
- package/dist/settings/widgets/date-summary-item.js +32 -24
- package/dist/settings/widgets/display-values-settings/index.js +22 -14
- package/dist/settings/widgets/divider/index.js +16 -8
- package/dist/settings/widgets/font-settings/font-color-settings.js +19 -11
- package/dist/settings/widgets/font-settings/font-size-settings.js +22 -14
- package/dist/settings/widgets/font-settings/font-weight-settings.js +25 -17
- package/dist/settings/widgets/font-settings/index.js +27 -4
- package/dist/settings/widgets/group-by.js +59 -51
- package/dist/settings/widgets/min-max-setting.js +18 -10
- package/dist/settings/widgets/mininum-slice-percent.js +18 -10
- package/dist/settings/widgets/numeric-summary-item.js +31 -23
- package/dist/settings/widgets/select-line-type/index.js +17 -10
- package/dist/settings/widgets/select-table/index.js +16 -9
- package/dist/settings/widgets/select-view/index.js +28 -20
- package/dist/settings/widgets/stack.js +22 -14
- package/dist/settings/widgets/summary-method-setting.js +25 -17
- package/dist/settings/widgets/summary-settings.js +80 -72
- package/dist/settings/widgets/switch/index.js +15 -8
- package/dist/settings/widgets/text-horizontal-settings.js +23 -15
- package/dist/settings/widgets/time-picker.js +37 -29
- package/dist/settings/widgets/title-settings/index.js +37 -29
- package/dist/settings/widgets/title-settings/title-text.js +12 -5
- package/dist/settings/widgets/x-axios.js +1 -0
- package/dist/settings/widgets/y-axis-group-settings.js +71 -63
- package/dist/utils/cell-format-utils.js +28 -18
- package/dist/utils/cell-value-utils.js +12 -5
- package/dist/utils/chart-utils/base-utils.js +354 -343
- package/dist/utils/chart-utils/index.js +41 -28
- package/dist/utils/chart-utils/original-data-utils/basic-chart-calculator.js +85 -78
- package/dist/utils/chart-utils/original-data-utils/card-calculator.js +20 -13
- package/dist/utils/chart-utils/original-data-utils/combination-calculator.js +52 -45
- package/dist/utils/chart-utils/original-data-utils/compare-bar-chart-calculator.js +26 -19
- package/dist/utils/chart-utils/original-data-utils/completeness-calculator.js +39 -32
- package/dist/utils/chart-utils/original-data-utils/dashboard-calculator.js +23 -16
- package/dist/utils/chart-utils/original-data-utils/index.js +57 -50
- package/dist/utils/chart-utils/original-data-utils/mirror-calculator.js +28 -21
- package/dist/utils/chart-utils/original-data-utils/pivot-table-calculator.js +97 -91
- package/dist/utils/chart-utils/original-data-utils/scatter-calculator.js +26 -19
- package/dist/utils/chart-utils/original-data-utils/trend-calculator.js +38 -31
- package/dist/utils/chart-utils/sql-statistics-utils.js +240 -232
- package/dist/utils/chart.js +17 -9
- package/dist/utils/collaborator-manager.js +9 -3
- package/dist/utils/collaborator-utils.js +30 -18
- package/dist/utils/collaborator.js +13 -4
- package/dist/utils/color-utils.js +29 -18
- package/dist/utils/column-utils.js +92 -65
- package/dist/utils/common-utils.js +52 -27
- package/dist/utils/concurrency-manager.js +7 -1
- package/dist/utils/contexts.js +12 -5
- package/dist/utils/date-translate.js +19 -11
- package/dist/utils/digital-sign-utils.js +14 -7
- package/dist/utils/event-bus.js +7 -1
- package/dist/utils/hotkey.js +11 -5
- package/dist/utils/index.js +221 -54
- package/dist/utils/key-generator.js +9 -2
- package/dist/utils/map.js +31 -22
- package/dist/utils/object-utils.js +7 -1
- package/dist/utils/options-utils.js +16 -8
- package/dist/utils/row-record-utils.js +180 -168
- package/dist/utils/row-utils.js +38 -27
- package/dist/utils/search.js +32 -24
- package/dist/utils/sql/chart-data-sql.js +55 -49
- package/dist/utils/sql/column-2-sql-column.js +156 -146
- package/dist/utils/sql/index.js +27 -3
- package/dist/utils/trend-utils.js +47 -39
- package/dist/view/index.js +95 -89
- package/dist/view/title/index.js +23 -15
- package/dist/view/wrapper/area-group.js +47 -39
- package/dist/view/wrapper/area.js +45 -37
- package/dist/view/wrapper/bar-compare.js +41 -33
- package/dist/view/wrapper/bar-custom-stack.js +39 -31
- package/dist/view/wrapper/bar-group.js +48 -40
- package/dist/view/wrapper/bar-stack.js +51 -43
- package/dist/view/wrapper/bar.js +43 -35
- package/dist/view/wrapper/basic-number-card.js +26 -18
- package/dist/view/wrapper/chart-component.js +112 -104
- package/dist/view/wrapper/combination.js +55 -47
- package/dist/view/wrapper/completeness-group.js +38 -30
- package/dist/view/wrapper/completeness.js +36 -28
- package/dist/view/wrapper/dashboard.js +33 -25
- package/dist/view/wrapper/funnel.js +38 -30
- package/dist/view/wrapper/heat-map.js +64 -56
- package/dist/view/wrapper/horizontal-bar-group.js +55 -47
- package/dist/view/wrapper/horizontal-bar-stack.js +49 -41
- package/dist/view/wrapper/horizontal-bar.js +43 -35
- package/dist/view/wrapper/index.js +115 -107
- package/dist/view/wrapper/line-group.js +45 -37
- package/dist/view/wrapper/line.js +44 -36
- package/dist/view/wrapper/map-bubble.js +46 -38
- package/dist/view/wrapper/map-world-bubble.js +45 -37
- package/dist/view/wrapper/map-world.js +47 -39
- package/dist/view/wrapper/map.js +48 -40
- package/dist/view/wrapper/mirror.js +41 -33
- package/dist/view/wrapper/pie.js +47 -39
- package/dist/view/wrapper/ring.js +50 -42
- package/dist/view/wrapper/scatter.js +45 -37
- package/dist/view/wrapper/table/index.js +21 -13
- package/dist/view/wrapper/table/one-dimension-table-no-numeric-columns.js +57 -49
- package/dist/view/wrapper/table/one-dimension-table-with-numeric-columns.js +58 -50
- package/dist/view/wrapper/table/pivot-table-display-name.js +91 -83
- package/dist/view/wrapper/table/two-dimension-table.js +84 -76
- package/dist/view/wrapper/table-element/components/dataset-utils.js +36 -23
- package/dist/view/wrapper/table-element/components/formatter.js +105 -96
- package/dist/view/wrapper/table-element/components/formatters/FileFormatter/index.js +31 -22
- package/dist/view/wrapper/table-element/components/formatters/formula-formatter.js +16 -9
- package/dist/view/wrapper/table-element/components/formatters/link-formatter.js +80 -73
- package/dist/view/wrapper/table-element/components/formula-formatter.js +16 -9
- package/dist/view/wrapper/table-element/components/link-formatter.js +80 -73
- package/dist/view/wrapper/table-element/components/record.js +17 -10
- package/dist/view/wrapper/table-element/components/records-body.js +17 -9
- package/dist/view/wrapper/table-element/components/records-header/index.js +15 -7
- package/dist/view/wrapper/table-element/components/records-header/records-header-cell.js +16 -8
- package/dist/view/wrapper/table-element/components/records.js +29 -21
- package/dist/view/wrapper/table-element/components/resize-column-handle/resize-column-handle.js +12 -5
- package/dist/view/wrapper/table-element/components/utils.js +15 -5
- package/dist/view/wrapper/table-element/components/value-display-utils.js +11 -4
- package/dist/view/wrapper/table-element/components/vertical-scrollbar/index.js +13 -6
- package/dist/view/wrapper/table-element/index.js +26 -18
- package/dist/view/wrapper/treemap.js +41 -33
- package/dist/view/wrapper/trend.js +49 -41
- package/package.json +6 -1
|
@@ -1,18 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
10
|
+
var _dtableUtils = require("dtable-utils");
|
|
11
|
+
var _lodash = require("lodash");
|
|
12
|
+
var _lodashEs = require("lodash-es");
|
|
13
|
+
var _constants = require("../../constants");
|
|
14
|
+
var _sql = require("../sql");
|
|
15
|
+
var _cellFormatUtils = require("../cell-format-utils");
|
|
16
|
+
var _column2SqlColumn = require("../sql/column-2-sql-column");
|
|
17
|
+
var _columnUtils = require("../column-utils");
|
|
18
|
+
var _trendUtils = require("../trend-utils");
|
|
19
|
+
var _map = require("../map");
|
|
20
|
+
var _intl = _interopRequireDefault(require("../../intl"));
|
|
21
|
+
var _dateTranslate = require("../date-translate");
|
|
22
|
+
var _baseUtils = _interopRequireWildcard(require("./base-utils"));
|
|
1
23
|
var _SQLStatisticsUtils;
|
|
2
|
-
import dayjs from 'dayjs';
|
|
3
|
-
import { CellType, MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP, getFormulaDisplayString, getGeolocationByGranularity, getGeolocationDisplayString, getPrecisionNumber, getTableById, getTableColumnByKey, GROUP_GEOLOCATION_GRANULARITY, isNumber, isEmpty } from 'dtable-utils';
|
|
4
|
-
import { isObject } from 'lodash';
|
|
5
|
-
import { cloneDeep } from 'lodash-es';
|
|
6
|
-
import { CHART_SUMMARY_TYPE, CHART_TYPE, SUPPORT_DATA_SORT_CHART_TYPES, TABLE_DIMENSIONS, Y_AXIS_TYPE_PREFIX, STYLE_COLORS, TREND_TYPES, CHART_STYLE_COLORS, MAP_CHART_TYPES } from '../../constants';
|
|
7
|
-
import { chartColumn2SqlColumn, summaryMethodColumn2SqlColumn } from '../sql';
|
|
8
|
-
import { getClientLinkDisplayString } from '../cell-format-utils';
|
|
9
|
-
import { column2SqlColumn } from '../sql/column-2-sql-column';
|
|
10
|
-
import { formatNumericValue, getFormattedValue, getSummaryResult } from '../column-utils';
|
|
11
|
-
import { getCompareDate } from '../trend-utils';
|
|
12
|
-
import { fixGeoGranularity } from '../map';
|
|
13
|
-
import intl from '../../intl';
|
|
14
|
-
import { convertQuarterToDate } from '../date-translate';
|
|
15
|
-
import BaseUtils, { findIfColumnDataIsArray } from './base-utils';
|
|
16
24
|
class SQLStatisticsUtils {}
|
|
17
25
|
_SQLStatisticsUtils = SQLStatisticsUtils;
|
|
18
26
|
SQLStatisticsUtils.DATA_SOURCE = 'sql_statistics';
|
|
@@ -22,57 +30,57 @@ SQLStatisticsUtils.getGroupLabelFromDB = async (cellValue, column, chart, isPivo
|
|
|
22
30
|
data
|
|
23
31
|
} = column;
|
|
24
32
|
switch (type) {
|
|
25
|
-
case CellType.TEXT:
|
|
33
|
+
case _dtableUtils.CellType.TEXT:
|
|
26
34
|
{
|
|
27
35
|
return cellValue || null;
|
|
28
36
|
}
|
|
29
|
-
case CellType.DATE:
|
|
30
|
-
case CellType.CTIME:
|
|
31
|
-
case CellType.MTIME:
|
|
37
|
+
case _dtableUtils.CellType.DATE:
|
|
38
|
+
case _dtableUtils.CellType.CTIME:
|
|
39
|
+
case _dtableUtils.CellType.MTIME:
|
|
32
40
|
{
|
|
33
41
|
return cellValue;
|
|
34
42
|
}
|
|
35
|
-
case CellType.NUMBER:
|
|
43
|
+
case _dtableUtils.CellType.NUMBER:
|
|
36
44
|
{
|
|
37
45
|
if (!cellValue && cellValue !== 0) return null;
|
|
38
|
-
return getPrecisionNumber(cellValue, data);
|
|
46
|
+
return (0, _dtableUtils.getPrecisionNumber)(cellValue, data);
|
|
39
47
|
}
|
|
40
|
-
case CellType.SINGLE_SELECT:
|
|
48
|
+
case _dtableUtils.CellType.SINGLE_SELECT:
|
|
41
49
|
{
|
|
42
50
|
let isInvalidValue = data && data.options && data.options.findIndex(opt => opt.id === cellValue) < 0;
|
|
43
51
|
return isInvalidValue ? null : cellValue;
|
|
44
52
|
}
|
|
45
|
-
case CellType.MULTIPLE_SELECT:
|
|
53
|
+
case _dtableUtils.CellType.MULTIPLE_SELECT:
|
|
46
54
|
{
|
|
47
55
|
let options = data && data.options;
|
|
48
56
|
if (!Array.isArray(options) || options.length === 0) return [];
|
|
49
57
|
if (!Array.isArray(cellValue) || cellValue.length === 0) return [];
|
|
50
58
|
return cellValue.filter(optionId => options.find(option => option.id === optionId));
|
|
51
59
|
}
|
|
52
|
-
case CellType.COLLABORATOR:
|
|
60
|
+
case _dtableUtils.CellType.COLLABORATOR:
|
|
53
61
|
{
|
|
54
62
|
if (!Array.isArray(cellValue) || cellValue.length === 0) return [];
|
|
55
63
|
return cellValue;
|
|
56
64
|
}
|
|
57
|
-
case CellType.CREATOR:
|
|
58
|
-
case CellType.LAST_MODIFIER:
|
|
65
|
+
case _dtableUtils.CellType.CREATOR:
|
|
66
|
+
case _dtableUtils.CellType.LAST_MODIFIER:
|
|
59
67
|
{
|
|
60
68
|
return cellValue ? cellValue : null;
|
|
61
69
|
}
|
|
62
|
-
case CellType.GEOLOCATION:
|
|
70
|
+
case _dtableUtils.CellType.GEOLOCATION:
|
|
63
71
|
{
|
|
64
72
|
if (typeof cellValue === 'string') return cellValue || null;
|
|
65
|
-
return getGeolocationDisplayString(cellValue, data) || null;
|
|
73
|
+
return (0, _dtableUtils.getGeolocationDisplayString)(cellValue, data) || null;
|
|
66
74
|
}
|
|
67
|
-
case CellType.FORMULA:
|
|
75
|
+
case _dtableUtils.CellType.FORMULA:
|
|
68
76
|
{
|
|
69
77
|
if (Array.isArray(cellValue)) {
|
|
70
|
-
const validValue = getFormulaDisplayString(cellValue, data) || [];
|
|
78
|
+
const validValue = (0, _dtableUtils.getFormulaDisplayString)(cellValue, data) || [];
|
|
71
79
|
return validValue;
|
|
72
80
|
}
|
|
73
81
|
return cellValue || null;
|
|
74
82
|
}
|
|
75
|
-
case CellType.LINK_FORMULA:
|
|
83
|
+
case _dtableUtils.CellType.LINK_FORMULA:
|
|
76
84
|
{
|
|
77
85
|
const {
|
|
78
86
|
result_type
|
|
@@ -81,21 +89,21 @@ SQLStatisticsUtils.getGroupLabelFromDB = async (cellValue, column, chart, isPivo
|
|
|
81
89
|
if (result_type === 'array') {
|
|
82
90
|
return cellValue;
|
|
83
91
|
}
|
|
84
|
-
const validValue = getFormulaDisplayString(cellValue, data) || [];
|
|
85
|
-
if (isEmpty(validValue)) {
|
|
92
|
+
const validValue = (0, _dtableUtils.getFormulaDisplayString)(cellValue, data) || [];
|
|
93
|
+
if ((0, _dtableUtils.isEmpty)(validValue)) {
|
|
86
94
|
return null;
|
|
87
95
|
}
|
|
88
96
|
return validValue;
|
|
89
97
|
}
|
|
90
|
-
case CellType.LINK:
|
|
98
|
+
case _dtableUtils.CellType.LINK:
|
|
91
99
|
{
|
|
92
|
-
return Array.isArray(cellValue) ? cellValue.map(linked => getClientLinkDisplayString([linked], data, {})) : [];
|
|
100
|
+
return Array.isArray(cellValue) ? cellValue.map(linked => (0, _cellFormatUtils.getClientLinkDisplayString)([linked], data, {})) : [];
|
|
93
101
|
}
|
|
94
|
-
case CellType.CHECKBOX:
|
|
102
|
+
case _dtableUtils.CellType.CHECKBOX:
|
|
95
103
|
{
|
|
96
104
|
return String(cellValue) === 'true' ? 'Checked' : 'Unchecked';
|
|
97
105
|
}
|
|
98
|
-
case CellType.RATE:
|
|
106
|
+
case _dtableUtils.CellType.RATE:
|
|
99
107
|
{
|
|
100
108
|
return cellValue ? String(cellValue) : null;
|
|
101
109
|
}
|
|
@@ -170,7 +178,7 @@ SQLStatisticsUtils.updateTwoDimensionRows = (chart, pivot_rows, pivot_columns, i
|
|
|
170
178
|
const {
|
|
171
179
|
summary_type
|
|
172
180
|
} = chart.config;
|
|
173
|
-
const isCount = summary_type === CHART_SUMMARY_TYPE.COUNT;
|
|
181
|
+
const isCount = summary_type === _constants.CHART_SUMMARY_TYPE.COUNT;
|
|
174
182
|
const {
|
|
175
183
|
sqlSummaryColumnKey,
|
|
176
184
|
summarySQLColumnName2ColumnKey = {}
|
|
@@ -190,11 +198,11 @@ SQLStatisticsUtils.updateTwoDimensionRows = (chart, pivot_rows, pivot_columns, i
|
|
|
190
198
|
let {
|
|
191
199
|
key
|
|
192
200
|
} = c;
|
|
193
|
-
if (
|
|
201
|
+
if (_baseUtils.default.isSameGroup(isColumnDataAsAnArray, cellValue, key)) {
|
|
194
202
|
if (cells[key]) {
|
|
195
203
|
cells[key].rows.push(row);
|
|
196
204
|
if (isCount) {
|
|
197
|
-
if (
|
|
205
|
+
if (_baseUtils.default.isCollaboratorColumnOrMultipleColumn(columnMap)) {
|
|
198
206
|
cells[key].total = total + row[sqlSummaryColumnKey];
|
|
199
207
|
} else {
|
|
200
208
|
cells[key].total = row[sqlSummaryColumnKey];
|
|
@@ -206,10 +214,10 @@ SQLStatisticsUtils.updateTwoDimensionRows = (chart, pivot_rows, pivot_columns, i
|
|
|
206
214
|
const nextValue = row[currentSqlName];
|
|
207
215
|
// use columnKey to find current value
|
|
208
216
|
const currentValue = Object.values(cells[key].total).find(item => item[2] === columnKey)[1];
|
|
209
|
-
const computedValue =
|
|
217
|
+
const computedValue = _baseUtils.default.getSummaryValue({
|
|
210
218
|
summaryMethod: current.summary_method.toUpperCase(),
|
|
211
219
|
summaryColumn: current.column
|
|
212
|
-
}, currentValue, nextValue,
|
|
220
|
+
}, currentValue, nextValue, _baseUtils.default.isCollaboratorColumnOrMultipleColumn(columnMap));
|
|
213
221
|
const columnName = current.column.name;
|
|
214
222
|
|
|
215
223
|
// keep column key to find currentValue on updating
|
|
@@ -247,7 +255,7 @@ SQLStatisticsUtils.updateTwoDimensionRows = (chart, pivot_rows, pivot_columns, i
|
|
|
247
255
|
} else {
|
|
248
256
|
updatedPivotRow.total = Object.values(cells).reduce((acc, item) => {
|
|
249
257
|
item.total.forEach(t => {
|
|
250
|
-
isNumber(t[1]) && (acc += t[1]);
|
|
258
|
+
(0, _dtableUtils.isNumber)(t[1]) && (acc += t[1]);
|
|
251
259
|
});
|
|
252
260
|
return acc;
|
|
253
261
|
}, 0);
|
|
@@ -263,7 +271,7 @@ SQLStatisticsUtils.updateTwoDimensionRows = (chart, pivot_rows, pivot_columns, i
|
|
|
263
271
|
let {
|
|
264
272
|
key
|
|
265
273
|
} = c;
|
|
266
|
-
if (
|
|
274
|
+
if (_baseUtils.default.isSameGroup(isColumnDataAsAnArray, cellValue, key)) {
|
|
267
275
|
let total;
|
|
268
276
|
if (isCount) {
|
|
269
277
|
total = row[sqlSummaryColumnKey];
|
|
@@ -288,9 +296,9 @@ SQLStatisticsUtils.updateTwoDimensionRows = (chart, pivot_rows, pivot_columns, i
|
|
|
288
296
|
const cellList = Object.values(cells);
|
|
289
297
|
total = cellList.reduce((acc, item) => {
|
|
290
298
|
let num;
|
|
291
|
-
if (isObject(item.total)) {
|
|
299
|
+
if ((0, _lodash.isObject)(item.total)) {
|
|
292
300
|
num = item.total.reduce((acc, item) => {
|
|
293
|
-
isNumber(item[1]) && (acc += item[1]);
|
|
301
|
+
(0, _dtableUtils.isNumber)(item[1]) && (acc += item[1]);
|
|
294
302
|
return acc;
|
|
295
303
|
}, 0);
|
|
296
304
|
} else {
|
|
@@ -320,7 +328,7 @@ SQLStatisticsUtils.getAndUpdateTwoDimensionTotal = (pivot_columns_total, pivot_c
|
|
|
320
328
|
if (cell) {
|
|
321
329
|
let pivot_column_total = pivot_columns_total && pivot_columns_total[key] ? pivot_columns_total[key] : 0;
|
|
322
330
|
const currentCellTotal = Array.isArray(cell.total) ? cell.total.reduce((acc, item) => {
|
|
323
|
-
isNumber(item[1]) && (acc += item[1]);
|
|
331
|
+
(0, _dtableUtils.isNumber)(item[1]) && (acc += item[1]);
|
|
324
332
|
return acc;
|
|
325
333
|
}, 0) : parseInt(cell.total);
|
|
326
334
|
pivot_columns_total[key] = pivot_column_total + currentCellTotal;
|
|
@@ -342,22 +350,22 @@ SQLStatisticsUtils.oneDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
342
350
|
} = chartSQLMap;
|
|
343
351
|
let pivot_columns = [];
|
|
344
352
|
let pivot_rows = [];
|
|
345
|
-
const isCount = summary_type === CHART_SUMMARY_TYPE.COUNT;
|
|
353
|
+
const isCount = summary_type === _constants.CHART_SUMMARY_TYPE.COUNT;
|
|
346
354
|
|
|
347
355
|
// if key is an array, handle it here ,currently only handle collaborator and multiple select
|
|
348
356
|
// MULTIPLE_CELL_VALUE_COLUMN_TYPE = [CellType.COLLABORATOR, CellType.MULTIPLE_SELECT, CellType.LINK]
|
|
349
|
-
const isGroupByColumnLinkFormula = groupbyColumn.type === CellType.LINK_FORMULA;
|
|
357
|
+
const isGroupByColumnLinkFormula = groupbyColumn.type === _dtableUtils.CellType.LINK_FORMULA;
|
|
350
358
|
let newSqlRows = sqlRows;
|
|
351
359
|
if (isGroupByColumnLinkFormula) {
|
|
352
360
|
const {
|
|
353
361
|
array_type
|
|
354
362
|
} = groupbyColumn.data;
|
|
355
|
-
if ([CellType.COLLABORATOR, CellType.MULTIPLE_SELECT].includes(array_type)) {
|
|
356
|
-
newSqlRows =
|
|
363
|
+
if ([_dtableUtils.CellType.COLLABORATOR, _dtableUtils.CellType.MULTIPLE_SELECT].includes(array_type)) {
|
|
364
|
+
newSqlRows = _baseUtils.default.formatedTableSqlRowsByCollaboratorAndMultiple(chart, sqlRows, chartSQLMap, columnMap);
|
|
357
365
|
}
|
|
358
366
|
}
|
|
359
|
-
if ([CellType.COLLABORATOR, CellType.MULTIPLE_SELECT].includes(groupbyColumn.type)) {
|
|
360
|
-
newSqlRows =
|
|
367
|
+
if ([_dtableUtils.CellType.COLLABORATOR, _dtableUtils.CellType.MULTIPLE_SELECT].includes(groupbyColumn.type)) {
|
|
368
|
+
newSqlRows = _baseUtils.default.formatedTableSqlRowsByCollaboratorAndMultiple(chart, sqlRows, chartSQLMap, columnMap);
|
|
361
369
|
}
|
|
362
370
|
if (isCount) {
|
|
363
371
|
let allTotal = 0;
|
|
@@ -373,7 +381,7 @@ SQLStatisticsUtils.oneDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
373
381
|
}
|
|
374
382
|
});
|
|
375
383
|
}
|
|
376
|
-
if (groupbyColumn.type === CellType.LINK_FORMULA && groupbyColumn.data.array_type === 'date') {
|
|
384
|
+
if (groupbyColumn.type === _dtableUtils.CellType.LINK_FORMULA && groupbyColumn.data.array_type === 'date') {
|
|
377
385
|
pivot_rows = pivot_rows.reduce((acc, item) => {
|
|
378
386
|
const {
|
|
379
387
|
name,
|
|
@@ -390,7 +398,7 @@ SQLStatisticsUtils.oneDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
390
398
|
return acc;
|
|
391
399
|
}, []);
|
|
392
400
|
}
|
|
393
|
-
|
|
401
|
+
_baseUtils.default.sortCharts(pivot_rows, groupbyColumn, 'name', true);
|
|
394
402
|
return {
|
|
395
403
|
pivot_columns,
|
|
396
404
|
pivot_rows: pivot_rows,
|
|
@@ -409,7 +417,7 @@ SQLStatisticsUtils.oneDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
409
417
|
let totalTemplate = {};
|
|
410
418
|
Object.values(summaryColumnKeys).forEach(key => {
|
|
411
419
|
const summaryMethod = summaryTableColumnKey2Method[key];
|
|
412
|
-
totalTemplate[key] =
|
|
420
|
+
totalTemplate[key] = _baseUtils.default.initTotal(summaryMethod);
|
|
413
421
|
pivot_columns.push({
|
|
414
422
|
key
|
|
415
423
|
});
|
|
@@ -426,14 +434,14 @@ SQLStatisticsUtils.oneDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
426
434
|
let columnKey = summarySQLColumnName2ColumnKey[key];
|
|
427
435
|
let summaryColumn = summaryTableColumnKey2Column[columnKey];
|
|
428
436
|
const summaryMethod = summaryTableColumnKey2Method[columnKey];
|
|
429
|
-
let value = row[key] ||
|
|
430
|
-
allTotal[columnKey] =
|
|
437
|
+
let value = row[key] || _baseUtils.default.initTotal(summaryMethod);
|
|
438
|
+
allTotal[columnKey] = _baseUtils.default.getSummaryValue({
|
|
431
439
|
summaryColumn,
|
|
432
440
|
summaryMethod
|
|
433
441
|
}, allTotal[columnKey], value);
|
|
434
|
-
if (
|
|
442
|
+
if (_baseUtils.default.isDateSummaryColumn(summaryColumn)) {
|
|
435
443
|
rowTotal[columnKey] = value;
|
|
436
|
-
} else if (
|
|
444
|
+
} else if (_baseUtils.default.isNumericSummaryColumn(summaryColumn)) {
|
|
437
445
|
rowTotal[columnKey] = rowTotal[columnKey] + value;
|
|
438
446
|
}
|
|
439
447
|
});
|
|
@@ -443,7 +451,7 @@ SQLStatisticsUtils.oneDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
443
451
|
total: rowTotal
|
|
444
452
|
});
|
|
445
453
|
}
|
|
446
|
-
if (groupbyColumn.type === CellType.LINK_FORMULA && groupbyColumn.data.array_type === 'date') {
|
|
454
|
+
if (groupbyColumn.type === _dtableUtils.CellType.LINK_FORMULA && groupbyColumn.data.array_type === 'date') {
|
|
447
455
|
pivot_rows = pivot_rows.reduce((acc, item) => {
|
|
448
456
|
const {
|
|
449
457
|
name,
|
|
@@ -476,12 +484,12 @@ SQLStatisticsUtils.oneDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
476
484
|
total: allTotal[key]
|
|
477
485
|
};
|
|
478
486
|
}
|
|
479
|
-
|
|
487
|
+
_baseUtils.default.sortCharts(pivot_rows, groupbyColumn, 'name', true);
|
|
480
488
|
return {
|
|
481
489
|
pivot_columns,
|
|
482
490
|
pivot_rows,
|
|
483
491
|
pivot_columns_total: allTotal,
|
|
484
|
-
dimensions: TABLE_DIMENSIONS.ONE
|
|
492
|
+
dimensions: _constants.TABLE_DIMENSIONS.ONE
|
|
485
493
|
};
|
|
486
494
|
};
|
|
487
495
|
SQLStatisticsUtils.twoDimensionTableSQLResult2JavaScript = async (chart, sqlRows, chartSQLMap, columnMap, tables) => {
|
|
@@ -509,8 +517,8 @@ SQLStatisticsUtils.twoDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
509
517
|
let newSqlRows = sqlRows;
|
|
510
518
|
|
|
511
519
|
// handle LINK_FORMULA
|
|
512
|
-
const isGroupByColumnLinkFormula = groupbyColumn.type === CellType.LINK_FORMULA;
|
|
513
|
-
const isColumnGroupByColumnLinkFormula = columnGroupbyColumn.type === CellType.LINK_FORMULA;
|
|
520
|
+
const isGroupByColumnLinkFormula = groupbyColumn.type === _dtableUtils.CellType.LINK_FORMULA;
|
|
521
|
+
const isColumnGroupByColumnLinkFormula = columnGroupbyColumn.type === _dtableUtils.CellType.LINK_FORMULA;
|
|
514
522
|
let isRowGroupbyColumnDataAsAnArray, isGroupbyColumnDataAsAnArray;
|
|
515
523
|
|
|
516
524
|
// Group by column
|
|
@@ -518,14 +526,14 @@ SQLStatisticsUtils.twoDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
518
526
|
if (isGroupByColumnLinkFormula && groupbyColumn.data.array_type !== 'date') {
|
|
519
527
|
isGroupbyColumnDataAsAnArray = true;
|
|
520
528
|
} else {
|
|
521
|
-
isGroupbyColumnDataAsAnArray = !!MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP[groupbyColumn.type];
|
|
529
|
+
isGroupbyColumnDataAsAnArray = !!_dtableUtils.MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP[groupbyColumn.type];
|
|
522
530
|
}
|
|
523
531
|
|
|
524
532
|
// column group by column
|
|
525
533
|
if (isColumnGroupByColumnLinkFormula && groupbyColumn.data.array_type !== 'date') {
|
|
526
534
|
isRowGroupbyColumnDataAsAnArray = true;
|
|
527
535
|
} else {
|
|
528
|
-
isRowGroupbyColumnDataAsAnArray = !!MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP[columnGroupbyColumn.type];
|
|
536
|
+
isRowGroupbyColumnDataAsAnArray = !!_dtableUtils.MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP[columnGroupbyColumn.type];
|
|
529
537
|
}
|
|
530
538
|
|
|
531
539
|
// if key is an array, handle it here ,currently only handle collaborator and multiple select
|
|
@@ -534,12 +542,12 @@ SQLStatisticsUtils.twoDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
534
542
|
const {
|
|
535
543
|
array_type
|
|
536
544
|
} = groupbyColumn.data;
|
|
537
|
-
if ([CellType.COLLABORATOR, CellType.MULTIPLE_SELECT].includes(array_type)) {
|
|
538
|
-
newSqlRows =
|
|
545
|
+
if ([_dtableUtils.CellType.COLLABORATOR, _dtableUtils.CellType.MULTIPLE_SELECT].includes(array_type)) {
|
|
546
|
+
newSqlRows = _baseUtils.default.formatedTableSqlRowsByCollaboratorAndMultiple(chart, sqlRows, chartSQLMap, columnMap);
|
|
539
547
|
}
|
|
540
548
|
}
|
|
541
|
-
if ([CellType.COLLABORATOR, CellType.MULTIPLE_SELECT].includes(groupbyColumn.type)) {
|
|
542
|
-
newSqlRows =
|
|
549
|
+
if ([_dtableUtils.CellType.COLLABORATOR, _dtableUtils.CellType.MULTIPLE_SELECT].includes(groupbyColumn.type)) {
|
|
550
|
+
newSqlRows = _baseUtils.default.formatedTableSqlRowsByCollaboratorAndMultiple(chart, sqlRows, chartSQLMap, columnMap);
|
|
543
551
|
}
|
|
544
552
|
let pivot_columns = [];
|
|
545
553
|
let pivot_rows = [];
|
|
@@ -550,12 +558,12 @@ SQLStatisticsUtils.twoDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
550
558
|
for (const row of newSqlRows) {
|
|
551
559
|
const columnGroupbyColumnCellValue = row[sqlColumnGroupbyColumnKey];
|
|
552
560
|
let columnGroupbyColumnCellValueKey;
|
|
553
|
-
if (
|
|
561
|
+
if (_baseUtils.default.isCollaborator(columnGroupbyColumn)) {
|
|
554
562
|
columnGroupbyColumnCellValueKey = columnGroupbyColumnCellValue || [];
|
|
555
563
|
} else {
|
|
556
564
|
columnGroupbyColumnCellValueKey = await _SQLStatisticsUtils.getGroupLabelFromDB(columnGroupbyColumnCellValue, columnGroupbyColumn, chart.config, true);
|
|
557
565
|
}
|
|
558
|
-
if (
|
|
566
|
+
if (_baseUtils.default.isValidCellValue(columnGroupbyColumnCellValue, groupby_include_empty_cells)) {
|
|
559
567
|
_SQLStatisticsUtils.updateTwoDimensionColumns(pivot_columns, columnGroupbyColumnCellValueKey, {
|
|
560
568
|
isIncludeEmpty: groupby_include_empty_cells,
|
|
561
569
|
isCellValueAsAnArray: isRowGroupbyColumnDataAsAnArray
|
|
@@ -565,19 +573,19 @@ SQLStatisticsUtils.twoDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
565
573
|
for (const row of newSqlRows) {
|
|
566
574
|
const groupbyColumnCellValue = row[sqlGroupbyColumnKey];
|
|
567
575
|
let groupbyColumnCellValueKey;
|
|
568
|
-
if (
|
|
576
|
+
if (_baseUtils.default.isCollaborator(groupbyColumn)) {
|
|
569
577
|
groupbyColumnCellValueKey = groupbyColumnCellValue || [];
|
|
570
578
|
} else {
|
|
571
579
|
groupbyColumnCellValueKey = await _SQLStatisticsUtils.getGroupLabelFromDB(groupbyColumnCellValue, groupbyColumn, chart.config, true);
|
|
572
580
|
}
|
|
573
581
|
const columnGroupbyColumnCellValue = row[sqlColumnGroupbyColumnKey];
|
|
574
582
|
let columnGroupbyColumnCellValueKey;
|
|
575
|
-
if (
|
|
583
|
+
if (_baseUtils.default.isCollaborator(columnGroupbyColumn)) {
|
|
576
584
|
columnGroupbyColumnCellValueKey = columnGroupbyColumnCellValue || [];
|
|
577
585
|
} else {
|
|
578
586
|
columnGroupbyColumnCellValueKey = await _SQLStatisticsUtils.getGroupLabelFromDB(columnGroupbyColumnCellValue, columnGroupbyColumn, chart.config, true);
|
|
579
587
|
}
|
|
580
|
-
if (
|
|
588
|
+
if (_baseUtils.default.isValidCellValue(groupbyColumnCellValue, groupby_include_empty_cells)) {
|
|
581
589
|
// data is an array is handled previously, but to keep capability, still use old code
|
|
582
590
|
if (isGroupbyColumnDataAsAnArray) {
|
|
583
591
|
if ((!Array.isArray(groupbyColumnCellValueKey) || groupbyColumnCellValueKey.length === 0) && groupby_include_empty_cells) {
|
|
@@ -614,15 +622,15 @@ SQLStatisticsUtils.twoDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
614
622
|
}
|
|
615
623
|
|
|
616
624
|
// update Collaborator and Multiple mean value
|
|
617
|
-
if (
|
|
618
|
-
const new_pivot_rows =
|
|
625
|
+
if (_baseUtils.default.isCollaboratorColumnOrMultipleColumn(columnMap)) {
|
|
626
|
+
const new_pivot_rows = _baseUtils.default.updateCollaboratorAndMultipleAvg(pivot_rows, [singleNumeriColumnWithMethod, ...multipleNumericColumnsWithMethod]);
|
|
619
627
|
pivot_rows = new_pivot_rows;
|
|
620
628
|
}
|
|
621
629
|
[pivot_columns_total, pivot_table_total] = _SQLStatisticsUtils.getAndUpdateTwoDimensionTotal(pivot_columns_total, pivot_columns, pivot_rows, pivot_table_total, chart);
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
if ((groupbyColumn === null || groupbyColumn === void 0 ? void 0 : groupbyColumn.type) === CellType.COLLABORATOR) {
|
|
625
|
-
pivot_rows =
|
|
630
|
+
_baseUtils.default.sortCharts(pivot_rows, groupbyColumn, 'name', true);
|
|
631
|
+
_baseUtils.default.sortCharts(pivot_columns, columnGroupbyColumn, 'key', true);
|
|
632
|
+
if ((groupbyColumn === null || groupbyColumn === void 0 ? void 0 : groupbyColumn.type) === _dtableUtils.CellType.COLLABORATOR) {
|
|
633
|
+
pivot_rows = _baseUtils.default.mergePivotTableSameCollaborator(pivot_rows);
|
|
626
634
|
}
|
|
627
635
|
const summary_columns = [summaryColumn, ...summaryColumnsWithMethod.map(item => item.column)];
|
|
628
636
|
return {
|
|
@@ -631,7 +639,7 @@ SQLStatisticsUtils.twoDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
631
639
|
pivot_rows,
|
|
632
640
|
pivot_columns_total,
|
|
633
641
|
pivot_table_total,
|
|
634
|
-
dimensions: TABLE_DIMENSIONS.TWO,
|
|
642
|
+
dimensions: _constants.TABLE_DIMENSIONS.TWO,
|
|
635
643
|
isSingleNumericColumn
|
|
636
644
|
};
|
|
637
645
|
};
|
|
@@ -651,7 +659,7 @@ SQLStatisticsUtils.basicChartSQLResult2JavaScript = async (chart, sqlRows, chart
|
|
|
651
659
|
groupbyColumn,
|
|
652
660
|
summaryColumn
|
|
653
661
|
} = columnMap;
|
|
654
|
-
const isGroupbyColumnDataAsAnArray = findIfColumnDataIsArray(groupbyColumn);
|
|
662
|
+
const isGroupbyColumnDataAsAnArray = (0, _baseUtils.findIfColumnDataIsArray)(groupbyColumn);
|
|
655
663
|
const {
|
|
656
664
|
sqlGroupbyColumnKey,
|
|
657
665
|
sqlSummaryColumnKey
|
|
@@ -661,10 +669,10 @@ SQLStatisticsUtils.basicChartSQLResult2JavaScript = async (chart, sqlRows, chart
|
|
|
661
669
|
const cellValue = row[sqlGroupbyColumnKey];
|
|
662
670
|
const summaryValue = row[sqlSummaryColumnKey];
|
|
663
671
|
let formatted_value = cellValue;
|
|
664
|
-
if (y_axis_summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
|
|
665
|
-
formatted_value = getFormattedValue(summaryValue, summaryColumn, y_axis_summary_method);
|
|
672
|
+
if (y_axis_summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
|
|
673
|
+
formatted_value = (0, _columnUtils.getFormattedValue)(summaryValue, summaryColumn, y_axis_summary_method);
|
|
666
674
|
}
|
|
667
|
-
if (
|
|
675
|
+
if (_baseUtils.default.isValidCellValue(cellValue, x_axis_include_empty_cells || groupby_include_empty_cells)) {
|
|
668
676
|
const key = await _SQLStatisticsUtils.getGroupLabelFromDB(cellValue, groupbyColumn, chart.config);
|
|
669
677
|
if (isGroupbyColumnDataAsAnArray) {
|
|
670
678
|
if (!Array.isArray(key) || key.length === 0) {
|
|
@@ -722,11 +730,11 @@ SQLStatisticsUtils.basicChartSQLResult2JavaScript = async (chart, sqlRows, chart
|
|
|
722
730
|
}
|
|
723
731
|
}
|
|
724
732
|
}
|
|
725
|
-
|
|
726
|
-
await
|
|
727
|
-
|
|
728
|
-
if (SUPPORT_DATA_SORT_CHART_TYPES.includes(type) && sort_type) {
|
|
729
|
-
|
|
733
|
+
_baseUtils.default.sortCharts(result, groupbyColumn, 'name');
|
|
734
|
+
await _baseUtils.default.updateTableViewList(result, groupbyColumn, 'name', 'color', false, true);
|
|
735
|
+
_baseUtils.default.updateSummaryValuePrecision(result, summaryColumn, 'value');
|
|
736
|
+
if (_constants.SUPPORT_DATA_SORT_CHART_TYPES.includes(type) && sort_type) {
|
|
737
|
+
_baseUtils.default.sortChartData(result, sort_type);
|
|
730
738
|
return result;
|
|
731
739
|
}
|
|
732
740
|
return result;
|
|
@@ -755,28 +763,28 @@ SQLStatisticsUtils.customChartSQLResult2JavaScript = async (chart, sqlRows, char
|
|
|
755
763
|
groupbyColumn,
|
|
756
764
|
summaryColumn
|
|
757
765
|
} = columnMap;
|
|
758
|
-
const table = getTableById(tables, table_id);
|
|
766
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
759
767
|
const stack = y_axises[index];
|
|
760
768
|
if (!stack) return [];
|
|
761
769
|
const {
|
|
762
770
|
column_groupby_numeric_columns
|
|
763
771
|
} = stack;
|
|
764
|
-
const y_axis_type = `${Y_AXIS_TYPE_PREFIX}${index}`;
|
|
772
|
+
const y_axis_type = `${_constants.Y_AXIS_TYPE_PREFIX}${index}`;
|
|
765
773
|
let summaryMethods = [];
|
|
766
774
|
let originalMethods = [];
|
|
767
775
|
let groupColumnNames = [];
|
|
768
776
|
let numericColumns = [];
|
|
769
777
|
column_groupby_numeric_columns.forEach(item => {
|
|
770
|
-
const numericColumn = getTableColumnByKey(table, item.column_key);
|
|
778
|
+
const numericColumn = (0, _dtableUtils.getTableColumnByKey)(table, item.column_key);
|
|
771
779
|
const groupColumnName = numericColumn.name;
|
|
772
780
|
numericColumns.push(numericColumn);
|
|
773
781
|
groupColumnNames.push(groupColumnName);
|
|
774
|
-
summaryMethods.push(summaryMethodColumn2SqlColumn(item.summary_method.toUpperCase(), numericColumn).key);
|
|
782
|
+
summaryMethods.push((0, _sql.summaryMethodColumn2SqlColumn)(item.summary_method.toUpperCase(), numericColumn).key);
|
|
775
783
|
originalMethods.push(item.summary_method);
|
|
776
784
|
});
|
|
777
785
|
const {
|
|
778
786
|
key: sqlGroupbyColumnKey
|
|
779
|
-
} = column2SqlColumn(groupbyColumn, {
|
|
787
|
+
} = (0, _column2SqlColumn.column2SqlColumn)(groupbyColumn, {
|
|
780
788
|
dateGranularity: x_axis_date_granularity,
|
|
781
789
|
geolocationGranularity: x_axis_geolocation_granularity
|
|
782
790
|
});
|
|
@@ -790,8 +798,8 @@ SQLStatisticsUtils.customChartSQLResult2JavaScript = async (chart, sqlRows, char
|
|
|
790
798
|
if (!(x_axis_include_empty_cells || x_axis_include_empty) && isEmptyLabel) return;
|
|
791
799
|
let value = row[summaryMethod] || 0;
|
|
792
800
|
let formatted_value = value;
|
|
793
|
-
value = formatNumericValue(value, numericColumns[index]);
|
|
794
|
-
formatted_value = getFormattedValue(value, numericColumns[index], originalMethods[index]);
|
|
801
|
+
value = (0, _columnUtils.formatNumericValue)(value, numericColumns[index]);
|
|
802
|
+
formatted_value = (0, _columnUtils.getFormattedValue)(value, numericColumns[index], originalMethods[index]);
|
|
795
803
|
groupItems.push({
|
|
796
804
|
name: label,
|
|
797
805
|
value,
|
|
@@ -803,7 +811,7 @@ SQLStatisticsUtils.customChartSQLResult2JavaScript = async (chart, sqlRows, char
|
|
|
803
811
|
});
|
|
804
812
|
result = result.concat(groupItems);
|
|
805
813
|
}
|
|
806
|
-
const isCellValueAsAnArray = findIfColumnDataIsArray(groupbyColumn);
|
|
814
|
+
const isCellValueAsAnArray = (0, _baseUtils.findIfColumnDataIsArray)(groupbyColumn);
|
|
807
815
|
if (isCellValueAsAnArray) {
|
|
808
816
|
const takenApart = [];
|
|
809
817
|
const assembled = [];
|
|
@@ -813,7 +821,7 @@ SQLStatisticsUtils.customChartSQLResult2JavaScript = async (chart, sqlRows, char
|
|
|
813
821
|
name: names
|
|
814
822
|
} = item;
|
|
815
823
|
if (!Array.isArray(names)) return;
|
|
816
|
-
if (!(names
|
|
824
|
+
if (!(names !== null && names !== void 0 && names.length)) {
|
|
817
825
|
takenApart.push({
|
|
818
826
|
...item,
|
|
819
827
|
name: null
|
|
@@ -844,9 +852,9 @@ SQLStatisticsUtils.customChartSQLResult2JavaScript = async (chart, sqlRows, char
|
|
|
844
852
|
});
|
|
845
853
|
result = assembled;
|
|
846
854
|
}
|
|
847
|
-
|
|
848
|
-
await
|
|
849
|
-
|
|
855
|
+
_baseUtils.default.sortCharts(result, groupbyColumn, 'name');
|
|
856
|
+
await _baseUtils.default.updateTableViewList(result, groupbyColumn, 'name', '', false, true);
|
|
857
|
+
_baseUtils.default.updateSummaryValuePrecision(result, summaryColumn, 'value');
|
|
850
858
|
return result;
|
|
851
859
|
};
|
|
852
860
|
SQLStatisticsUtils.compareSQLResult2Javascript = async (chart, sqlRows, chartSQLMap, columnMap, tables) => {
|
|
@@ -875,7 +883,7 @@ SQLStatisticsUtils.compareSQLResult2Javascript = async (chart, sqlRows, chartSQL
|
|
|
875
883
|
const groupName2 = `${x_axis_compared_date_range_start} - ${x_axis_compared_date_range_end}`;
|
|
876
884
|
const dateRangeResult = new Map();
|
|
877
885
|
let dateComparedResult = new Map();
|
|
878
|
-
const isAdvanced = y_axis_summary_type === CHART_SUMMARY_TYPE.ADVANCED;
|
|
886
|
+
const isAdvanced = y_axis_summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED;
|
|
879
887
|
const startDate = new Date(x_axis_date_range_start);
|
|
880
888
|
const endDate = new Date(x_axis_date_range_end);
|
|
881
889
|
const comparedStartDate = new Date(x_axis_compared_date_range_start);
|
|
@@ -885,7 +893,7 @@ SQLStatisticsUtils.compareSQLResult2Javascript = async (chart, sqlRows, chartSQL
|
|
|
885
893
|
if (!name) continue;
|
|
886
894
|
const label = await _SQLStatisticsUtils.getGroupLabelFromDB(name, groupbyColumn, chart.config);
|
|
887
895
|
if (x_axis_date_granularity === 'quarter') {
|
|
888
|
-
name = convertQuarterToDate(name);
|
|
896
|
+
name = (0, _dateTranslate.convertQuarterToDate)(name);
|
|
889
897
|
} else if (x_axis_date_granularity === 'year') {
|
|
890
898
|
// set the date to the first day of the year, and set the time to 8:05, cause the time zone is UTC+8,
|
|
891
899
|
// need to ensure time is at the range of user's slected time
|
|
@@ -965,8 +973,8 @@ SQLStatisticsUtils.compareSQLResult2Javascript = async (chart, sqlRows, chartSQL
|
|
|
965
973
|
let value = rawValue;
|
|
966
974
|
let formatted_value = value;
|
|
967
975
|
if (isAdvanced) {
|
|
968
|
-
value = getSummaryResult(rawValue, y_axis_summary_method, data.precision);
|
|
969
|
-
formatted_value = getFormattedValue(value, summaryColumn, y_axis_summary_method);
|
|
976
|
+
value = (0, _columnUtils.getSummaryResult)(rawValue, y_axis_summary_method, data.precision);
|
|
977
|
+
formatted_value = (0, _columnUtils.getFormattedValue)(value, summaryColumn, y_axis_summary_method);
|
|
970
978
|
}
|
|
971
979
|
rangeResult.push({
|
|
972
980
|
name: item[0],
|
|
@@ -987,8 +995,8 @@ SQLStatisticsUtils.compareSQLResult2Javascript = async (chart, sqlRows, chartSQL
|
|
|
987
995
|
const rows = item[1].rows;
|
|
988
996
|
let formatted_value = value;
|
|
989
997
|
if (isAdvanced) {
|
|
990
|
-
value = getSummaryResult(item[1].value, y_axis_summary_method, data.precision);
|
|
991
|
-
formatted_value = getFormattedValue(value, summaryColumn, y_axis_summary_method);
|
|
998
|
+
value = (0, _columnUtils.getSummaryResult)(item[1].value, y_axis_summary_method, data.precision);
|
|
999
|
+
formatted_value = (0, _columnUtils.getFormattedValue)(value, summaryColumn, y_axis_summary_method);
|
|
992
1000
|
}
|
|
993
1001
|
const newItem = {
|
|
994
1002
|
name: dateRangeItem.name,
|
|
@@ -1012,10 +1020,10 @@ SQLStatisticsUtils.compareSQLResult2Javascript = async (chart, sqlRows, chartSQL
|
|
|
1012
1020
|
if (comparedResult.length > rangeResult.length) {
|
|
1013
1021
|
comparedResult = comparedResult.slice(0, rangeResult.length);
|
|
1014
1022
|
}
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1023
|
+
_baseUtils.default.updateSummaryValuePrecision(comparedResult, summaryColumn, 'value');
|
|
1024
|
+
_baseUtils.default.updateSummaryValuePrecision(rangeResult, summaryColumn, 'value');
|
|
1025
|
+
_baseUtils.default.sortCharts(rangeResult, groupbyColumn, 'name');
|
|
1026
|
+
_baseUtils.default.sortCharts(comparedResult, groupbyColumn, 'name');
|
|
1019
1027
|
return [...comparedResult, ...rangeResult];
|
|
1020
1028
|
};
|
|
1021
1029
|
SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, chartSQLMap, columnMap, tables) => {
|
|
@@ -1032,7 +1040,7 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1032
1040
|
table_id,
|
|
1033
1041
|
y_axis_left_group_by_numeric_columns
|
|
1034
1042
|
} = config;
|
|
1035
|
-
const table = getTableById(tables, table_id);
|
|
1043
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
1036
1044
|
const {
|
|
1037
1045
|
groupbyColumn,
|
|
1038
1046
|
summaryColumn
|
|
@@ -1046,7 +1054,7 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1046
1054
|
sqlRightSummaryColumnKey,
|
|
1047
1055
|
sqlLeftSummaryColumnKey
|
|
1048
1056
|
} = chartSQLMap;
|
|
1049
|
-
const isGroupbyColumnDataAsAnArray = findIfColumnDataIsArray(groupbyColumn);
|
|
1057
|
+
const isGroupbyColumnDataAsAnArray = (0, _baseUtils.findIfColumnDataIsArray)(groupbyColumn);
|
|
1050
1058
|
let result = [];
|
|
1051
1059
|
if (!y_axis_left_group_by_multiple_numeric_column) {
|
|
1052
1060
|
// let leftSummaryColumn, rightSummaryColumn;
|
|
@@ -1073,7 +1081,7 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1073
1081
|
if (itemIdx < 0) {
|
|
1074
1082
|
result.push({
|
|
1075
1083
|
// color is defined by index of the name
|
|
1076
|
-
color: STYLE_COLORS[0].colors[index % 12],
|
|
1084
|
+
color: _constants.STYLE_COLORS[0].colors[index % 12],
|
|
1077
1085
|
name: null,
|
|
1078
1086
|
rows: [row],
|
|
1079
1087
|
value_left: valueLeft,
|
|
@@ -1090,7 +1098,7 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1090
1098
|
let itemIdx = result.findIndex(v => v.name === item);
|
|
1091
1099
|
if (itemIdx < 0) {
|
|
1092
1100
|
result.push({
|
|
1093
|
-
color: STYLE_COLORS[0].colors[index % 12],
|
|
1101
|
+
color: _constants.STYLE_COLORS[0].colors[index % 12],
|
|
1094
1102
|
name: item,
|
|
1095
1103
|
rows: [row],
|
|
1096
1104
|
value_left: valueLeft,
|
|
@@ -1108,7 +1116,7 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1108
1116
|
let itemIdx = result.findIndex(v => v.name === key);
|
|
1109
1117
|
if (itemIdx < 0) {
|
|
1110
1118
|
result.push({
|
|
1111
|
-
color: STYLE_COLORS[0].colors[index % 12],
|
|
1119
|
+
color: _constants.STYLE_COLORS[0].colors[index % 12],
|
|
1112
1120
|
name: key,
|
|
1113
1121
|
rows: [row],
|
|
1114
1122
|
value_left: valueLeft,
|
|
@@ -1128,11 +1136,11 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1128
1136
|
// rightSummaryColumn = getTableColumnByKey(table, y_axis_right_summary_column);
|
|
1129
1137
|
// }
|
|
1130
1138
|
const groupItems = [];
|
|
1131
|
-
let leftSummaryColumn = getTableColumnByKey(table, y_axis_left_summary_column);
|
|
1139
|
+
let leftSummaryColumn = (0, _dtableUtils.getTableColumnByKey)(table, y_axis_left_summary_column);
|
|
1132
1140
|
const summaryMethod = y_axis_left_summary_method.toUpperCase();
|
|
1133
1141
|
const {
|
|
1134
1142
|
key
|
|
1135
|
-
} = summaryMethodColumn2SqlColumn(summaryMethod, leftSummaryColumn || {});
|
|
1143
|
+
} = (0, _sql.summaryMethodColumn2SqlColumn)(summaryMethod, leftSummaryColumn || {});
|
|
1136
1144
|
const groupItem = {
|
|
1137
1145
|
sqlName: key,
|
|
1138
1146
|
column: leftSummaryColumn
|
|
@@ -1142,12 +1150,12 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1142
1150
|
groupItems.push(groupItem);
|
|
1143
1151
|
}
|
|
1144
1152
|
y_axis_left_group_by_numeric_columns.forEach((item, index) => {
|
|
1145
|
-
const column = getTableColumnByKey(table, item.column_key);
|
|
1153
|
+
const column = (0, _dtableUtils.getTableColumnByKey)(table, item.column_key);
|
|
1146
1154
|
if (column) {
|
|
1147
1155
|
const itemSummaryMethod = item.summary_method.toUpperCase();
|
|
1148
1156
|
const {
|
|
1149
1157
|
key
|
|
1150
|
-
} = summaryMethodColumn2SqlColumn(itemSummaryMethod, column || {});
|
|
1158
|
+
} = (0, _sql.summaryMethodColumn2SqlColumn)(itemSummaryMethod, column || {});
|
|
1151
1159
|
const groupItem = {
|
|
1152
1160
|
sqlName: key,
|
|
1153
1161
|
column
|
|
@@ -1188,7 +1196,7 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1188
1196
|
rows: [item],
|
|
1189
1197
|
group_name: groupName,
|
|
1190
1198
|
// for multiple numeric_columns, color is defined by group_name
|
|
1191
|
-
color: STYLE_COLORS[0].colors[index % 12]
|
|
1199
|
+
color: _constants.STYLE_COLORS[0].colors[index % 12]
|
|
1192
1200
|
});
|
|
1193
1201
|
} else {
|
|
1194
1202
|
const itemRow = result[itemIdx];
|
|
@@ -1213,16 +1221,16 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1213
1221
|
value_right: valueRight,
|
|
1214
1222
|
rows: [item],
|
|
1215
1223
|
group_name: groupName,
|
|
1216
|
-
color: STYLE_COLORS[0].colors[index % 12]
|
|
1224
|
+
color: _constants.STYLE_COLORS[0].colors[index % 12]
|
|
1217
1225
|
});
|
|
1218
1226
|
});
|
|
1219
1227
|
}
|
|
1220
1228
|
}
|
|
1221
1229
|
}
|
|
1222
|
-
await
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1230
|
+
await _baseUtils.default.updateTableViewList(result, groupbyColumn, 'name', '', false, true);
|
|
1231
|
+
_baseUtils.default.sortCharts(result, groupbyColumn, 'name');
|
|
1232
|
+
_baseUtils.default.updateSummaryValuePrecision(result, summaryColumnLeft, 'value_left');
|
|
1233
|
+
_baseUtils.default.updateSummaryValuePrecision(result, summaryColumnRight, 'value_right');
|
|
1226
1234
|
return result;
|
|
1227
1235
|
};
|
|
1228
1236
|
SQLStatisticsUtils.dashboardSQLResult2JavaScript = (chart, sqlRows, chartSQLMap, columnMap, tables) => {
|
|
@@ -1238,17 +1246,17 @@ SQLStatisticsUtils.dashboardSQLResult2JavaScript = (chart, sqlRows, chartSQLMap,
|
|
|
1238
1246
|
total_value_column_key,
|
|
1239
1247
|
table_id
|
|
1240
1248
|
} = config;
|
|
1241
|
-
const table = getTableById(tables, table_id);
|
|
1242
|
-
const targetColumn = getTableColumnByKey(table, target_value_column_key);
|
|
1243
|
-
const totalColumn = getTableColumnByKey(table, total_value_column_key);
|
|
1249
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
1250
|
+
const targetColumn = (0, _dtableUtils.getTableColumnByKey)(table, target_value_column_key);
|
|
1251
|
+
const totalColumn = (0, _dtableUtils.getTableColumnByKey)(table, total_value_column_key);
|
|
1244
1252
|
const targetSummaryMethod = target_value_column_summary_method.toUpperCase();
|
|
1245
1253
|
const totalSummaryMethod = total_value_column_summary_method.toUpperCase();
|
|
1246
1254
|
const {
|
|
1247
1255
|
key: targetResultKey
|
|
1248
|
-
} = summaryMethodColumn2SqlColumn(targetSummaryMethod, targetColumn);
|
|
1256
|
+
} = (0, _sql.summaryMethodColumn2SqlColumn)(targetSummaryMethod, targetColumn);
|
|
1249
1257
|
const {
|
|
1250
1258
|
key: totalResultKey
|
|
1251
|
-
} = summaryMethodColumn2SqlColumn(totalSummaryMethod, totalColumn);
|
|
1259
|
+
} = (0, _sql.summaryMethodColumn2SqlColumn)(totalSummaryMethod, totalColumn);
|
|
1252
1260
|
const targetResult = summaryResult[targetResultKey];
|
|
1253
1261
|
const totalResult = summaryResult[totalResultKey];
|
|
1254
1262
|
if (totalResult === 0) {
|
|
@@ -1303,12 +1311,12 @@ SQLStatisticsUtils.groupingTwoDimensionChartSQLResult2JavaScript = async (chart,
|
|
|
1303
1311
|
sqlSummaryColumnKey
|
|
1304
1312
|
} = chartSQLMap;
|
|
1305
1313
|
let result = [];
|
|
1306
|
-
const isGroupbyColumnDataAsAnArray = findIfColumnDataIsArray(groupbyColumn);
|
|
1307
|
-
const isColumnGroupbyColumnDataAsAnArray = findIfColumnDataIsArray(columnGroupbyColumn);
|
|
1314
|
+
const isGroupbyColumnDataAsAnArray = (0, _baseUtils.findIfColumnDataIsArray)(groupbyColumn);
|
|
1315
|
+
const isColumnGroupbyColumnDataAsAnArray = (0, _baseUtils.findIfColumnDataIsArray)(columnGroupbyColumn);
|
|
1308
1316
|
for (const row of sqlRows) {
|
|
1309
1317
|
const groupbyColumnCellValue = row[sqlGroupbyColumnKey];
|
|
1310
1318
|
const groupbyColumnCellValueKey = await _SQLStatisticsUtils.getGroupLabelFromDB(groupbyColumnCellValue, groupbyColumn, chart.config);
|
|
1311
|
-
if (
|
|
1319
|
+
if (_baseUtils.default.isValidCellValue(groupbyColumnCellValueKey, includeEmpty)) {
|
|
1312
1320
|
const columnGroupbyColumnCellValue = row[sqlColumnGroupbyColumnKey];
|
|
1313
1321
|
const columnGroupbyColumnCellValueKey = await _SQLStatisticsUtils.getGroupLabelFromDB(columnGroupbyColumnCellValue, columnGroupbyColumn, chart.config);
|
|
1314
1322
|
const count = row[sqlSummaryColumnKey];
|
|
@@ -1352,7 +1360,7 @@ SQLStatisticsUtils.groupingTwoDimensionChartSQLResult2JavaScript = async (chart,
|
|
|
1352
1360
|
groupNameRawValueMap.set(groupName, isColumnGroupbyColumnDataAsAnArray ? groupName : rawGroupName !== null && rawGroupName !== void 0 ? rawGroupName : groupName);
|
|
1353
1361
|
}
|
|
1354
1362
|
});
|
|
1355
|
-
const isEmptyGroupName = groupName => isEmpty(groupName);
|
|
1363
|
+
const isEmptyGroupName = groupName => (0, _dtableUtils.isEmpty)(groupName);
|
|
1356
1364
|
const groupNameList = Array.from(allGroupNames).sort((a, b) => {
|
|
1357
1365
|
const aEmpty = isEmptyGroupName(a);
|
|
1358
1366
|
const bEmpty = isEmptyGroupName(b);
|
|
@@ -1405,10 +1413,10 @@ SQLStatisticsUtils.groupingTwoDimensionChartSQLResult2JavaScript = async (chart,
|
|
|
1405
1413
|
orderedResult.push(...items);
|
|
1406
1414
|
});
|
|
1407
1415
|
result.splice(0, result.length, ...orderedResult);
|
|
1408
|
-
|
|
1409
|
-
await
|
|
1410
|
-
await
|
|
1411
|
-
|
|
1416
|
+
_baseUtils.default.sortCharts(result, groupbyColumn, 'name');
|
|
1417
|
+
await _baseUtils.default.updateTableViewList(result, groupbyColumn, 'name', 'color', false, true);
|
|
1418
|
+
await _baseUtils.default.updateTableViewList(result, columnGroupbyColumn, 'group_name', 'group_color', false, false);
|
|
1419
|
+
_baseUtils.default.updateSummaryValuePrecision(result, summaryColumn, 'value');
|
|
1412
1420
|
return result;
|
|
1413
1421
|
};
|
|
1414
1422
|
SQLStatisticsUtils.groupingChartSQLResult2JavaScript = async (chart, sqlRows, chartSQLMap, columnMap, tables) => {
|
|
@@ -1427,7 +1435,7 @@ SQLStatisticsUtils.groupingChartSQLResult2JavaScript = async (chart, sqlRows, ch
|
|
|
1427
1435
|
summaryColumn,
|
|
1428
1436
|
summaryColumnsWithMethod
|
|
1429
1437
|
} = columnMap;
|
|
1430
|
-
if (y_axis_summary_type === CHART_SUMMARY_TYPE.COUNT) {
|
|
1438
|
+
if (y_axis_summary_type === _constants.CHART_SUMMARY_TYPE.COUNT) {
|
|
1431
1439
|
if (!columnGroupbyColumn) return await _SQLStatisticsUtils.basicChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables);
|
|
1432
1440
|
return await _SQLStatisticsUtils.groupingTwoDimensionChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables);
|
|
1433
1441
|
}
|
|
@@ -1439,11 +1447,11 @@ SQLStatisticsUtils.groupingChartSQLResult2JavaScript = async (chart, sqlRows, ch
|
|
|
1439
1447
|
summaryColumns
|
|
1440
1448
|
} = chartSQLMap;
|
|
1441
1449
|
let result = [];
|
|
1442
|
-
const isGroupbyColumnDataAsAnArray = findIfColumnDataIsArray(groupbyColumn);
|
|
1450
|
+
const isGroupbyColumnDataAsAnArray = (0, _baseUtils.findIfColumnDataIsArray)(groupbyColumn);
|
|
1443
1451
|
for (const row of sqlRows) {
|
|
1444
1452
|
const groupbyColumnCellValue = row[sqlGroupbyColumnKey];
|
|
1445
1453
|
const groupbyColumnCellValueKey = await _SQLStatisticsUtils.getGroupLabelFromDB(groupbyColumnCellValue, groupbyColumn, chart.config);
|
|
1446
|
-
if (
|
|
1454
|
+
if (_baseUtils.default.isValidCellValue(groupbyColumnCellValueKey, includeEmpty)) {
|
|
1447
1455
|
Object.keys(summaryColumns).forEach(sqlSummaryColumnName => {
|
|
1448
1456
|
const {
|
|
1449
1457
|
sqlSummaryColumnKey,
|
|
@@ -1464,8 +1472,8 @@ SQLStatisticsUtils.groupingChartSQLResult2JavaScript = async (chart, sqlRows, ch
|
|
|
1464
1472
|
});
|
|
1465
1473
|
}
|
|
1466
1474
|
}
|
|
1467
|
-
|
|
1468
|
-
await
|
|
1475
|
+
_baseUtils.default.sortCharts(result, groupbyColumn, 'name');
|
|
1476
|
+
await _baseUtils.default.updateTableViewList(result, groupbyColumn, 'name', 'color', false, true);
|
|
1469
1477
|
const allSummaryColumns = [summaryColumn].concat(summaryColumnsWithMethod.map(item => item.column));
|
|
1470
1478
|
|
|
1471
1479
|
// format precision of enabled precision columns
|
|
@@ -1478,7 +1486,7 @@ SQLStatisticsUtils.groupingChartSQLResult2JavaScript = async (chart, sqlRows, ch
|
|
|
1478
1486
|
});
|
|
1479
1487
|
Object.values(columnNameResultMap).forEach(items => {
|
|
1480
1488
|
const targetColumn = allSummaryColumns.find(column => column.name === items[0].group_name);
|
|
1481
|
-
|
|
1489
|
+
_baseUtils.default.updateSummaryValuePrecision(items, targetColumn, 'value');
|
|
1482
1490
|
});
|
|
1483
1491
|
return result;
|
|
1484
1492
|
}
|
|
@@ -1501,11 +1509,11 @@ SQLStatisticsUtils.heatMapChartSQLResult2JavaScript = (chart, sqlRows, chartSQLM
|
|
|
1501
1509
|
if (currentValue || currentValue === 0) {
|
|
1502
1510
|
let value = item[sqlSummaryColumnKey];
|
|
1503
1511
|
if (summaryColumn) {
|
|
1504
|
-
value = formatNumericValue(value, summaryColumn);
|
|
1512
|
+
value = (0, _columnUtils.formatNumericValue)(value, summaryColumn);
|
|
1505
1513
|
}
|
|
1506
1514
|
const name = typeof currentValue === 'string' ? currentValue : currentValue.country_region;
|
|
1507
1515
|
result.push({
|
|
1508
|
-
name:
|
|
1516
|
+
name: (0, _dayjs.default)(name).format('YYYY-MM-DD'),
|
|
1509
1517
|
value
|
|
1510
1518
|
});
|
|
1511
1519
|
}
|
|
@@ -1517,7 +1525,7 @@ SQLStatisticsUtils.heatMapChartSQLResult2JavaScript = (chart, sqlRows, chartSQLM
|
|
|
1517
1525
|
data.push(item);
|
|
1518
1526
|
return;
|
|
1519
1527
|
}
|
|
1520
|
-
const year =
|
|
1528
|
+
const year = (0, _dayjs.default)(item.name).year();
|
|
1521
1529
|
data.push({
|
|
1522
1530
|
...item,
|
|
1523
1531
|
year
|
|
@@ -1556,7 +1564,7 @@ SQLStatisticsUtils.mirrorMapChartSQLResult2JavaScript = async (chart, sqlRows, c
|
|
|
1556
1564
|
const {
|
|
1557
1565
|
sqlSummaryColumnKey
|
|
1558
1566
|
} = chartSQLMap;
|
|
1559
|
-
const isAdvanced = summary_type === CHART_SUMMARY_TYPE.ADVANCED;
|
|
1567
|
+
const isAdvanced = summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED;
|
|
1560
1568
|
const newResult = [];
|
|
1561
1569
|
const groupData = _SQLStatisticsUtils.getGroupData(sqlRows, columnGroupbyColumn);
|
|
1562
1570
|
if (groupData.length > 0) {
|
|
@@ -1572,8 +1580,8 @@ SQLStatisticsUtils.mirrorMapChartSQLResult2JavaScript = async (chart, sqlRows, c
|
|
|
1572
1580
|
let value = item[sqlSummaryColumnKey];
|
|
1573
1581
|
let formattedValue = value;
|
|
1574
1582
|
if (isAdvanced) {
|
|
1575
|
-
value = formatNumericValue(value, summaryColumn);
|
|
1576
|
-
formattedValue = getFormattedValue(value, summary_column_key, summary_method);
|
|
1583
|
+
value = (0, _columnUtils.formatNumericValue)(value, summaryColumn);
|
|
1584
|
+
formattedValue = (0, _columnUtils.getFormattedValue)(value, summary_column_key, summary_method);
|
|
1577
1585
|
}
|
|
1578
1586
|
newResult.push({
|
|
1579
1587
|
name: label,
|
|
@@ -1581,7 +1589,7 @@ SQLStatisticsUtils.mirrorMapChartSQLResult2JavaScript = async (chart, sqlRows, c
|
|
|
1581
1589
|
value: equal2GroupData0 ? value : 0,
|
|
1582
1590
|
formatted_value: equal2GroupData0 ? formattedValue : 0,
|
|
1583
1591
|
group_name: ((_groupData$ = groupData[0]) === null || _groupData$ === void 0 ? void 0 : _groupData$.name) || '',
|
|
1584
|
-
color: ((_groupData$2 = groupData[0]) === null || _groupData$2 === void 0 ? void 0 : _groupData$2.color) || STYLE_COLORS[0].colors[0],
|
|
1592
|
+
color: ((_groupData$2 = groupData[0]) === null || _groupData$2 === void 0 ? void 0 : _groupData$2.color) || _constants.STYLE_COLORS[0].colors[0],
|
|
1585
1593
|
rows: [item]
|
|
1586
1594
|
});
|
|
1587
1595
|
groupData[1] && newResult.push({
|
|
@@ -1590,7 +1598,7 @@ SQLStatisticsUtils.mirrorMapChartSQLResult2JavaScript = async (chart, sqlRows, c
|
|
|
1590
1598
|
value: equal2GroupData1 ? value : 0,
|
|
1591
1599
|
formatted_value: equal2GroupData1 ? formattedValue : 0,
|
|
1592
1600
|
group_name: ((_groupData$3 = groupData[1]) === null || _groupData$3 === void 0 ? void 0 : _groupData$3.name) || '',
|
|
1593
|
-
color: ((_groupData$4 = groupData[1]) === null || _groupData$4 === void 0 ? void 0 : _groupData$4.color) || STYLE_COLORS[0].colors[0],
|
|
1601
|
+
color: ((_groupData$4 = groupData[1]) === null || _groupData$4 === void 0 ? void 0 : _groupData$4.color) || _constants.STYLE_COLORS[0].colors[0],
|
|
1594
1602
|
rows: [item]
|
|
1595
1603
|
});
|
|
1596
1604
|
}
|
|
@@ -1621,14 +1629,14 @@ SQLStatisticsUtils.trendMapChartSQLResult2JavaScript = (chart, sqlRows, chartSQL
|
|
|
1621
1629
|
const {
|
|
1622
1630
|
compareValue: value1,
|
|
1623
1631
|
comparedValue: value2
|
|
1624
|
-
} =
|
|
1632
|
+
} = _baseUtils.default.summaryDurationResult(sqlRows, date_granularity, summary_type, summary_method, true, sqlGroupbyColumnKey, sqlSummaryColumnKey);
|
|
1625
1633
|
compareValue = value1;
|
|
1626
1634
|
comparedValue = value2;
|
|
1627
1635
|
} else {
|
|
1628
1636
|
const {
|
|
1629
1637
|
compareDate,
|
|
1630
1638
|
comparedDate
|
|
1631
|
-
} = getCompareDate(date_granularity, 'app');
|
|
1639
|
+
} = (0, _trendUtils.getCompareDate)(date_granularity, 'app');
|
|
1632
1640
|
for (const item of sqlRows) {
|
|
1633
1641
|
if (!item[sqlGroupbyColumnKey]) continue;
|
|
1634
1642
|
const currentDate = item[sqlGroupbyColumnKey] + '';
|
|
@@ -1658,11 +1666,11 @@ SQLStatisticsUtils.trendMapChartSQLResult2JavaScript = (chart, sqlRows, chartSQL
|
|
|
1658
1666
|
}
|
|
1659
1667
|
let type;
|
|
1660
1668
|
if (compareValue > comparedValue) {
|
|
1661
|
-
type = TREND_TYPES.UP;
|
|
1669
|
+
type = _constants.TREND_TYPES.UP;
|
|
1662
1670
|
} else if (compareValue < comparedValue) {
|
|
1663
|
-
type = TREND_TYPES.DOWN;
|
|
1671
|
+
type = _constants.TREND_TYPES.DOWN;
|
|
1664
1672
|
} else if (compareValue === comparedValue) {
|
|
1665
|
-
type = TREND_TYPES.EQUAL;
|
|
1673
|
+
type = _constants.TREND_TYPES.EQUAL;
|
|
1666
1674
|
}
|
|
1667
1675
|
if (compareValue === 0 && comparedValue === 0) {
|
|
1668
1676
|
result = '0%';
|
|
@@ -1679,15 +1687,15 @@ SQLStatisticsUtils.sqlResult2JavaScript = async (chart, sqlRows, chartSQLMap, co
|
|
|
1679
1687
|
type
|
|
1680
1688
|
} = chart.config;
|
|
1681
1689
|
switch (type) {
|
|
1682
|
-
case CHART_TYPE.TABLE_ELEMENT:
|
|
1690
|
+
case _constants.CHART_TYPE.TABLE_ELEMENT:
|
|
1683
1691
|
{
|
|
1684
1692
|
return {
|
|
1685
1693
|
result: sqlRows
|
|
1686
1694
|
};
|
|
1687
1695
|
}
|
|
1688
|
-
case CHART_TYPE.TABLE:
|
|
1696
|
+
case _constants.CHART_TYPE.TABLE:
|
|
1689
1697
|
{
|
|
1690
|
-
sqlRows =
|
|
1698
|
+
sqlRows = _baseUtils.default.recalculateAvg(sqlRows);
|
|
1691
1699
|
const {
|
|
1692
1700
|
column_groupby_column_key
|
|
1693
1701
|
} = chart.config;
|
|
@@ -1703,106 +1711,106 @@ SQLStatisticsUtils.sqlResult2JavaScript = async (chart, sqlRows, chartSQLMap, co
|
|
|
1703
1711
|
}
|
|
1704
1712
|
return result;
|
|
1705
1713
|
}
|
|
1706
|
-
case CHART_TYPE.PIE:
|
|
1707
|
-
case CHART_TYPE.RING:
|
|
1708
|
-
case CHART_TYPE.TREE_MAP:
|
|
1714
|
+
case _constants.CHART_TYPE.PIE:
|
|
1715
|
+
case _constants.CHART_TYPE.RING:
|
|
1716
|
+
case _constants.CHART_TYPE.TREE_MAP:
|
|
1709
1717
|
{
|
|
1710
1718
|
return {
|
|
1711
1719
|
result: await _SQLStatisticsUtils.basicChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1712
1720
|
};
|
|
1713
1721
|
}
|
|
1714
|
-
case CHART_TYPE.BASIC_NUMBER_CARD:
|
|
1722
|
+
case _constants.CHART_TYPE.BASIC_NUMBER_CARD:
|
|
1715
1723
|
{
|
|
1716
1724
|
return {
|
|
1717
1725
|
result: _SQLStatisticsUtils.basicNumberCardSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1718
1726
|
};
|
|
1719
1727
|
}
|
|
1720
|
-
case CHART_TYPE.DASHBOARD:
|
|
1728
|
+
case _constants.CHART_TYPE.DASHBOARD:
|
|
1721
1729
|
{
|
|
1722
1730
|
return {
|
|
1723
1731
|
result: _SQLStatisticsUtils.dashboardSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1724
1732
|
};
|
|
1725
1733
|
}
|
|
1726
|
-
case CHART_TYPE.BAR:
|
|
1727
|
-
case CHART_TYPE.LINE:
|
|
1728
|
-
case CHART_TYPE.HORIZONTAL_BAR:
|
|
1729
|
-
case CHART_TYPE.AREA:
|
|
1730
|
-
case CHART_TYPE.FUNNEL:
|
|
1734
|
+
case _constants.CHART_TYPE.BAR:
|
|
1735
|
+
case _constants.CHART_TYPE.LINE:
|
|
1736
|
+
case _constants.CHART_TYPE.HORIZONTAL_BAR:
|
|
1737
|
+
case _constants.CHART_TYPE.AREA:
|
|
1738
|
+
case _constants.CHART_TYPE.FUNNEL:
|
|
1731
1739
|
{
|
|
1732
1740
|
return {
|
|
1733
1741
|
result: await _SQLStatisticsUtils.basicChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1734
1742
|
};
|
|
1735
1743
|
}
|
|
1736
|
-
case CHART_TYPE.COMPLETENESS:
|
|
1737
|
-
case CHART_TYPE.COMPLETENESS_GROUP:
|
|
1744
|
+
case _constants.CHART_TYPE.COMPLETENESS:
|
|
1745
|
+
case _constants.CHART_TYPE.COMPLETENESS_GROUP:
|
|
1738
1746
|
{
|
|
1739
1747
|
const result = await _SQLStatisticsUtils.completenessSQlResult(chart, sqlRows, chartSQLMap, tables);
|
|
1740
1748
|
return {
|
|
1741
1749
|
result
|
|
1742
1750
|
};
|
|
1743
1751
|
}
|
|
1744
|
-
case CHART_TYPE.COMBINATION:
|
|
1752
|
+
case _constants.CHART_TYPE.COMBINATION:
|
|
1745
1753
|
{
|
|
1746
1754
|
return {
|
|
1747
1755
|
result: await _SQLStatisticsUtils.combinationSQLResult2Javascript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1748
1756
|
};
|
|
1749
1757
|
}
|
|
1750
|
-
case CHART_TYPE.COMPARE_BAR:
|
|
1758
|
+
case _constants.CHART_TYPE.COMPARE_BAR:
|
|
1751
1759
|
{
|
|
1752
1760
|
return {
|
|
1753
1761
|
result: await _SQLStatisticsUtils.compareSQLResult2Javascript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1754
1762
|
};
|
|
1755
1763
|
}
|
|
1756
|
-
case CHART_TYPE.BAR_GROUP:
|
|
1757
|
-
case CHART_TYPE.BAR_STACK:
|
|
1758
|
-
case CHART_TYPE.LINE_GROUP:
|
|
1759
|
-
case CHART_TYPE.AREA_GROUP:
|
|
1760
|
-
case CHART_TYPE.HORIZONTAL_GROUP_BAR:
|
|
1761
|
-
case CHART_TYPE.STACKED_HORIZONTAL_BAR:
|
|
1764
|
+
case _constants.CHART_TYPE.BAR_GROUP:
|
|
1765
|
+
case _constants.CHART_TYPE.BAR_STACK:
|
|
1766
|
+
case _constants.CHART_TYPE.LINE_GROUP:
|
|
1767
|
+
case _constants.CHART_TYPE.AREA_GROUP:
|
|
1768
|
+
case _constants.CHART_TYPE.HORIZONTAL_GROUP_BAR:
|
|
1769
|
+
case _constants.CHART_TYPE.STACKED_HORIZONTAL_BAR:
|
|
1762
1770
|
{
|
|
1763
1771
|
return {
|
|
1764
1772
|
result: await _SQLStatisticsUtils.groupingChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1765
1773
|
};
|
|
1766
1774
|
}
|
|
1767
|
-
case CHART_TYPE.SCATTER:
|
|
1775
|
+
case _constants.CHART_TYPE.SCATTER:
|
|
1768
1776
|
{
|
|
1769
1777
|
return {
|
|
1770
1778
|
result: await _SQLStatisticsUtils.scatterSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1771
1779
|
};
|
|
1772
1780
|
}
|
|
1773
|
-
case CHART_TYPE.BAR_CUSTOM:
|
|
1781
|
+
case _constants.CHART_TYPE.BAR_CUSTOM:
|
|
1774
1782
|
{
|
|
1775
1783
|
return {
|
|
1776
1784
|
result: await _SQLStatisticsUtils.customChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables, params)
|
|
1777
1785
|
};
|
|
1778
1786
|
}
|
|
1779
|
-
case CHART_TYPE.MAP:
|
|
1780
|
-
case CHART_TYPE.MAP_BUBBLE:
|
|
1787
|
+
case _constants.CHART_TYPE.MAP:
|
|
1788
|
+
case _constants.CHART_TYPE.MAP_BUBBLE:
|
|
1781
1789
|
{
|
|
1782
1790
|
return {
|
|
1783
1791
|
result: _SQLStatisticsUtils.mapSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1784
1792
|
};
|
|
1785
1793
|
}
|
|
1786
|
-
case CHART_TYPE.WORLD_MAP:
|
|
1787
|
-
case CHART_TYPE.WORLD_MAP_BUBBLE:
|
|
1794
|
+
case _constants.CHART_TYPE.WORLD_MAP:
|
|
1795
|
+
case _constants.CHART_TYPE.WORLD_MAP_BUBBLE:
|
|
1788
1796
|
{
|
|
1789
1797
|
return {
|
|
1790
1798
|
result: _SQLStatisticsUtils.worldMapSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1791
1799
|
};
|
|
1792
1800
|
}
|
|
1793
|
-
case CHART_TYPE.HEAT_MAP:
|
|
1801
|
+
case _constants.CHART_TYPE.HEAT_MAP:
|
|
1794
1802
|
{
|
|
1795
1803
|
return {
|
|
1796
1804
|
result: _SQLStatisticsUtils.heatMapChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1797
1805
|
};
|
|
1798
1806
|
}
|
|
1799
|
-
case CHART_TYPE.MIRROR:
|
|
1807
|
+
case _constants.CHART_TYPE.MIRROR:
|
|
1800
1808
|
{
|
|
1801
1809
|
return {
|
|
1802
1810
|
result: await _SQLStatisticsUtils.mirrorMapChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1803
1811
|
};
|
|
1804
1812
|
}
|
|
1805
|
-
case CHART_TYPE.TREND:
|
|
1813
|
+
case _constants.CHART_TYPE.TREND:
|
|
1806
1814
|
{
|
|
1807
1815
|
return {
|
|
1808
1816
|
result: _SQLStatisticsUtils.trendMapChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
@@ -1832,23 +1840,23 @@ SQLStatisticsUtils.completenessSQlResult = async (chart, sqlRows, chartSQLMap, t
|
|
|
1832
1840
|
target_column,
|
|
1833
1841
|
column_groupby_column
|
|
1834
1842
|
} = sqlColumns;
|
|
1835
|
-
const nameColumnDataAsAnArray = findIfColumnDataIsArray(name_column);
|
|
1843
|
+
const nameColumnDataAsAnArray = (0, _baseUtils.findIfColumnDataIsArray)(name_column);
|
|
1836
1844
|
// group by name_column, so it can only have one value
|
|
1837
|
-
let originalSqlRows = cloneDeep(sqlRows);
|
|
1845
|
+
let originalSqlRows = (0, _lodashEs.cloneDeep)(sqlRows);
|
|
1838
1846
|
if (nameColumnDataAsAnArray) {
|
|
1839
1847
|
sqlRows.forEach(row => {
|
|
1840
1848
|
var _row$name_column$key;
|
|
1841
1849
|
row[name_column.key] = (_row$name_column$key = row[name_column.key]) === null || _row$name_column$key === void 0 ? void 0 : _row$name_column$key[0];
|
|
1842
1850
|
});
|
|
1843
1851
|
}
|
|
1844
|
-
await
|
|
1845
|
-
if (sqlColumnGroupbyColumnKey) await
|
|
1852
|
+
await _baseUtils.default.updateTableViewList(sqlRows, name_column, name_column.key, 'color', false, true);
|
|
1853
|
+
if (sqlColumnGroupbyColumnKey) await _baseUtils.default.updateTableViewList(sqlRows, column_groupby_column, sqlColumnGroupbyColumnKey, 'color', false, false);
|
|
1846
1854
|
const res = [];
|
|
1847
1855
|
sqlRows.forEach((row, index) => {
|
|
1848
1856
|
const nameValue = row[name_column.key];
|
|
1849
1857
|
const targetValue = row[`SUM(${target_column.name})`];
|
|
1850
1858
|
const completedValue = row[`SUM(${completed_column.name})`];
|
|
1851
|
-
const groupby = row[sqlColumnGroupbyColumnKey] ||
|
|
1859
|
+
const groupby = row[sqlColumnGroupbyColumnKey] || _intl.default.get('Empty');
|
|
1852
1860
|
let completedRate;
|
|
1853
1861
|
if (!targetValue && completedValue) {
|
|
1854
1862
|
completedRate = 100;
|
|
@@ -1865,7 +1873,7 @@ SQLStatisticsUtils.completenessSQlResult = async (chart, sqlRows, chartSQLMap, t
|
|
|
1865
1873
|
original_name,
|
|
1866
1874
|
group_name: 'completed',
|
|
1867
1875
|
groupby,
|
|
1868
|
-
color: row.color || CHART_STYLE_COLORS[0],
|
|
1876
|
+
color: row.color || _constants.CHART_STYLE_COLORS[0],
|
|
1869
1877
|
value: completedValue,
|
|
1870
1878
|
rows: [originalSqlRows[index]]
|
|
1871
1879
|
});
|
|
@@ -1889,7 +1897,7 @@ SQLStatisticsUtils.completenessSQlResult = async (chart, sqlRows, chartSQLMap, t
|
|
|
1889
1897
|
return 1;
|
|
1890
1898
|
}
|
|
1891
1899
|
});
|
|
1892
|
-
const isGroup = chart.config.type === CHART_TYPE.COMPLETENESS_GROUP;
|
|
1900
|
+
const isGroup = chart.config.type === _constants.CHART_TYPE.COMPLETENESS_GROUP;
|
|
1893
1901
|
const deduplicatedRes = [];
|
|
1894
1902
|
const keyMap = {};
|
|
1895
1903
|
res.forEach(item => {
|
|
@@ -1922,11 +1930,11 @@ SQLStatisticsUtils.scatterSQLResult2JavaScript = async (chart, sqlRows, chartSQL
|
|
|
1922
1930
|
summaryColumn
|
|
1923
1931
|
} = columnMap;
|
|
1924
1932
|
// format sql rows
|
|
1925
|
-
const originalSqlRows = cloneDeep(sqlRows);
|
|
1933
|
+
const originalSqlRows = (0, _lodashEs.cloneDeep)(sqlRows);
|
|
1926
1934
|
const isScatter = true;
|
|
1927
|
-
await
|
|
1928
|
-
await
|
|
1929
|
-
if (sqlColumnGroupbyColumnKey) await
|
|
1935
|
+
await _baseUtils.default.updateTableViewList(sqlRows, groupbyColumn, groupbyColumn.key, 'color', isScatter, true);
|
|
1936
|
+
await _baseUtils.default.updateTableViewList(sqlRows, summaryColumn, summaryColumn.key, 'color', isScatter, true);
|
|
1937
|
+
if (sqlColumnGroupbyColumnKey) await _baseUtils.default.updateTableViewList(sqlRows, columnGroupbyColumn, sqlColumnGroupbyColumnKey, 'color', isScatter, false);
|
|
1930
1938
|
const res = [];
|
|
1931
1939
|
sqlRows.forEach((row, index) => {
|
|
1932
1940
|
const xValue = row[sqlXColumnKey];
|
|
@@ -1948,21 +1956,21 @@ SQLStatisticsUtils.scatterSQLResult2JavaScript = async (chart, sqlRows, chartSQL
|
|
|
1948
1956
|
}
|
|
1949
1957
|
});
|
|
1950
1958
|
});
|
|
1951
|
-
|
|
1959
|
+
_baseUtils.default.sortCharts(res, groupbyColumn, 'name');
|
|
1952
1960
|
return res;
|
|
1953
1961
|
};
|
|
1954
1962
|
SQLStatisticsUtils.formatMapGeolocationName = (cellValue, mapLevel, mapLocation) => {
|
|
1955
|
-
if (isEmpty(cellValue)) return '';
|
|
1963
|
+
if ((0, _dtableUtils.isEmpty)(cellValue)) return '';
|
|
1956
1964
|
if (typeof cellValue === 'object' && !Array.isArray(cellValue)) {
|
|
1957
|
-
const granularity = fixGeoGranularity(mapLevel, mapLocation);
|
|
1958
|
-
return getGeolocationByGranularity(cellValue, granularity) || '';
|
|
1965
|
+
const granularity = (0, _map.fixGeoGranularity)(mapLevel, mapLocation);
|
|
1966
|
+
return (0, _dtableUtils.getGeolocationByGranularity)(cellValue, granularity) || '';
|
|
1959
1967
|
}
|
|
1960
1968
|
return cellValue;
|
|
1961
1969
|
};
|
|
1962
1970
|
SQLStatisticsUtils.formatWorldMapGeolocationName = cellValue => {
|
|
1963
|
-
if (isEmpty(cellValue)) return '';
|
|
1971
|
+
if ((0, _dtableUtils.isEmpty)(cellValue)) return '';
|
|
1964
1972
|
if (typeof cellValue === 'object' && !Array.isArray(cellValue)) {
|
|
1965
|
-
return getGeolocationByGranularity(cellValue, GROUP_GEOLOCATION_GRANULARITY.COUNTRY) || '';
|
|
1973
|
+
return (0, _dtableUtils.getGeolocationByGranularity)(cellValue, _dtableUtils.GROUP_GEOLOCATION_GRANULARITY.COUNTRY) || '';
|
|
1966
1974
|
}
|
|
1967
1975
|
return cellValue;
|
|
1968
1976
|
};
|
|
@@ -2068,8 +2076,8 @@ SQLStatisticsUtils.worldMapSQLResult2JavaScript = (chart, sqlRows, chartSQLMap,
|
|
|
2068
2076
|
let value = nameValueMap[name];
|
|
2069
2077
|
let formatted_value = value;
|
|
2070
2078
|
if (summary_type === 'advanced') {
|
|
2071
|
-
value = formatNumericValue(value, summaryColumn);
|
|
2072
|
-
formatted_value = getFormattedValue(value, summaryColumn, summary_method);
|
|
2079
|
+
value = (0, _columnUtils.formatNumericValue)(value, summaryColumn);
|
|
2080
|
+
formatted_value = (0, _columnUtils.getFormattedValue)(value, summaryColumn, summary_method);
|
|
2073
2081
|
}
|
|
2074
2082
|
acc.push({
|
|
2075
2083
|
name,
|
|
@@ -2085,8 +2093,8 @@ SQLStatisticsUtils.worldMapSQLResult2JavaScript = (chart, sqlRows, chartSQLMap,
|
|
|
2085
2093
|
let value = item[sqlSummaryColumnKey];
|
|
2086
2094
|
let formatted_value = value;
|
|
2087
2095
|
if (summary_type === 'advanced') {
|
|
2088
|
-
value = formatNumericValue(value, summaryColumn);
|
|
2089
|
-
formatted_value = getFormattedValue(value, summaryColumn, summary_method);
|
|
2096
|
+
value = (0, _columnUtils.formatNumericValue)(value, summaryColumn);
|
|
2097
|
+
formatted_value = (0, _columnUtils.getFormattedValue)(value, summaryColumn, summary_method);
|
|
2090
2098
|
}
|
|
2091
2099
|
const name = _SQLStatisticsUtils.formatWorldMapGeolocationName(currentValue);
|
|
2092
2100
|
if (name) {
|
|
@@ -2104,7 +2112,7 @@ SQLStatisticsUtils.calculateChart = async (chart, value, callback, sqlRows) => {
|
|
|
2104
2112
|
const {
|
|
2105
2113
|
tables
|
|
2106
2114
|
} = value;
|
|
2107
|
-
if (!
|
|
2115
|
+
if (!_baseUtils.default.isValidExistChart(tables, chart)) {
|
|
2108
2116
|
const tip_message = 'Please_complete_the_chart_configuration_first';
|
|
2109
2117
|
return callback && callback('', tip_message, null);
|
|
2110
2118
|
}
|
|
@@ -2114,7 +2122,7 @@ SQLStatisticsUtils.calculateChart = async (chart, value, callback, sqlRows) => {
|
|
|
2114
2122
|
type
|
|
2115
2123
|
} = chart;
|
|
2116
2124
|
const chartType = config.type;
|
|
2117
|
-
const newConfig =
|
|
2125
|
+
const newConfig = _baseUtils.default.convertConfig(config);
|
|
2118
2126
|
const newChart = {
|
|
2119
2127
|
id,
|
|
2120
2128
|
config: newConfig,
|
|
@@ -2123,11 +2131,11 @@ SQLStatisticsUtils.calculateChart = async (chart, value, callback, sqlRows) => {
|
|
|
2123
2131
|
const {
|
|
2124
2132
|
table_id
|
|
2125
2133
|
} = config;
|
|
2126
|
-
const table = getTableById(tables, table_id);
|
|
2127
|
-
const groupbyColumn =
|
|
2128
|
-
const columnGroupbyColumn =
|
|
2129
|
-
const summaryColumn =
|
|
2130
|
-
const summaryColumnsWithMethod =
|
|
2134
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
2135
|
+
const groupbyColumn = _baseUtils.default.getGroupColumn(table, newChart);
|
|
2136
|
+
const columnGroupbyColumn = _baseUtils.default.getColumnGroupColumn(table, newChart);
|
|
2137
|
+
const summaryColumn = _baseUtils.default.getSummaryColumn(table, newChart);
|
|
2138
|
+
const summaryColumnsWithMethod = _baseUtils.default.getSummaryColumnsWithMethod(table, newChart);
|
|
2131
2139
|
// summary column is referring to single_numeric_column, but summaryColumns is referring to multiple_numeric_column
|
|
2132
2140
|
// single_numeric_column is used as the first setting option when switched to multiple_numeric_column
|
|
2133
2141
|
const columnMap = {
|
|
@@ -2139,7 +2147,7 @@ SQLStatisticsUtils.calculateChart = async (chart, value, callback, sqlRows) => {
|
|
|
2139
2147
|
const chartTableColumns = table.columns;
|
|
2140
2148
|
let chartSQLMap = null;
|
|
2141
2149
|
try {
|
|
2142
|
-
chartSQLMap = chartColumn2SqlColumn(newChart, table);
|
|
2150
|
+
chartSQLMap = (0, _sql.chartColumn2SqlColumn)(newChart, table);
|
|
2143
2151
|
} catch (error) {
|
|
2144
2152
|
let error_message = 'There_are_some_problems_with_the_filters';
|
|
2145
2153
|
if (error.message) error_message = error.message;
|
|
@@ -2148,7 +2156,7 @@ SQLStatisticsUtils.calculateChart = async (chart, value, callback, sqlRows) => {
|
|
|
2148
2156
|
const tipMessage = 'There_are_no_statistic_results_yet';
|
|
2149
2157
|
|
|
2150
2158
|
// Custom Bar
|
|
2151
|
-
if (chartType === CHART_TYPE.BAR_CUSTOM) {
|
|
2159
|
+
if (chartType === _constants.CHART_TYPE.BAR_CUSTOM) {
|
|
2152
2160
|
const result = [];
|
|
2153
2161
|
for (const [index, item] of sqlRows.entries()) {
|
|
2154
2162
|
if (item.length !== 0) {
|
|
@@ -2175,7 +2183,7 @@ SQLStatisticsUtils.calculateChart = async (chart, value, callback, sqlRows) => {
|
|
|
2175
2183
|
}
|
|
2176
2184
|
|
|
2177
2185
|
// map is special, still need to show map even data is empty
|
|
2178
|
-
if (!Array.isArray(sqlRows) || sqlRows.length === 0 && !MAP_CHART_TYPES.includes(chartType)) {
|
|
2186
|
+
if (!Array.isArray(sqlRows) || sqlRows.length === 0 && !_constants.MAP_CHART_TYPES.includes(chartType)) {
|
|
2179
2187
|
callback && callback('', tipMessage, null);
|
|
2180
2188
|
return;
|
|
2181
2189
|
}
|
|
@@ -2188,7 +2196,7 @@ SQLStatisticsUtils.calculateChart = async (chart, value, callback, sqlRows) => {
|
|
|
2188
2196
|
}
|
|
2189
2197
|
|
|
2190
2198
|
// map is special
|
|
2191
|
-
if (
|
|
2199
|
+
if (_baseUtils.default.imEmptyChartResult(chartResult) && !chartType.includes('map')) {
|
|
2192
2200
|
callback && callback('', tipMessage, null);
|
|
2193
2201
|
return;
|
|
2194
2202
|
}
|
|
@@ -2208,7 +2216,7 @@ SQLStatisticsUtils.calculateStaticChart = (chart, value, statisticalResult, call
|
|
|
2208
2216
|
config
|
|
2209
2217
|
} = chart;
|
|
2210
2218
|
const tables = value.tables;
|
|
2211
|
-
const newConfig =
|
|
2219
|
+
const newConfig = _baseUtils.default.convertConfig(config);
|
|
2212
2220
|
const newChart = {
|
|
2213
2221
|
id,
|
|
2214
2222
|
config: newConfig
|
|
@@ -2216,31 +2224,31 @@ SQLStatisticsUtils.calculateStaticChart = (chart, value, statisticalResult, call
|
|
|
2216
2224
|
const {
|
|
2217
2225
|
type
|
|
2218
2226
|
} = config;
|
|
2219
|
-
if ([CHART_TYPE.TABLE, CHART_TYPE.TABLE_ELEMENT].includes(type)) return callback && callback('', '', statisticalResult);
|
|
2227
|
+
if ([_constants.CHART_TYPE.TABLE, _constants.CHART_TYPE.TABLE_ELEMENT].includes(type)) return callback && callback('', '', statisticalResult);
|
|
2220
2228
|
const {
|
|
2221
2229
|
table_id,
|
|
2222
2230
|
sort_type
|
|
2223
2231
|
} = config;
|
|
2224
|
-
const table = getTableById(tables, table_id);
|
|
2225
|
-
const groupbyColumn =
|
|
2232
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
2233
|
+
const groupbyColumn = _baseUtils.default.getGroupColumn(table, newChart);
|
|
2226
2234
|
let result = statisticalResult.result;
|
|
2227
2235
|
if (!result) {
|
|
2228
2236
|
const tip_message = 'There_are_no_statistic_results_yet';
|
|
2229
2237
|
return callback && callback('', tip_message, null);
|
|
2230
2238
|
}
|
|
2231
|
-
if (SUPPORT_DATA_SORT_CHART_TYPES.includes(type) && sort_type) {
|
|
2232
|
-
|
|
2239
|
+
if (_constants.SUPPORT_DATA_SORT_CHART_TYPES.includes(type) && sort_type) {
|
|
2240
|
+
_baseUtils.default.sortChartData(result, sort_type);
|
|
2233
2241
|
const newStatisticalResult = {
|
|
2234
2242
|
...statisticalResult,
|
|
2235
2243
|
result
|
|
2236
2244
|
};
|
|
2237
2245
|
return callback && callback('', '', newStatisticalResult);
|
|
2238
2246
|
}
|
|
2239
|
-
|
|
2247
|
+
_baseUtils.default.sortCharts(result, groupbyColumn, 'name');
|
|
2240
2248
|
const newStatisticalResult = {
|
|
2241
2249
|
...statisticalResult,
|
|
2242
2250
|
result
|
|
2243
2251
|
};
|
|
2244
2252
|
return callback && callback('', '', newStatisticalResult);
|
|
2245
2253
|
};
|
|
2246
|
-
|
|
2254
|
+
var _default = exports.default = SQLStatisticsUtils;
|