sea-chart 2.0.38 → 2.0.39
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 +15 -8
- package/dist/components/cell-factory/FormatterConfig.js +62 -55
- package/dist/components/cell-factory/SimpleCellFormatter.js +12 -5
- 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 +38 -30
- 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 +19 -12
- package/dist/components/color-popover/color-rules/color-rule.js +34 -26
- package/dist/components/color-popover/color-rules/index.js +15 -7
- 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 +17 -9
- package/dist/components/color-popover/color-rules-popover.js +38 -30
- package/dist/components/color-popover/color-selector-popover.js +20 -12
- package/dist/components/color-setting/color-group-selector.js +21 -13
- package/dist/components/common-add-tool/index.js +15 -8
- package/dist/components/data-process-setter/data-setting-header.js +14 -7
- package/dist/components/data-process-setter/hide-column-setter.js +20 -13
- package/dist/components/data-process-setter/index.js +27 -4
- package/dist/components/data-process-setter/sort-setter.js +26 -18
- 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 +12 -5
- 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 +34 -26
- package/dist/components/popover/sort-popover/sort-popover-widgets/sort-utils.js +18 -9
- package/dist/components/popover/sort-popover/sort-popover.js +65 -55
- package/dist/components/resize-handle/ResizeHandle.js +13 -6
- package/dist/components/row-card/row-card-header-cell.js +24 -17
- package/dist/components/row-card/row-card-header.js +22 -15
- package/dist/components/row-card/row-card-item.js +43 -35
- package/dist/components/row-card/row-card.js +25 -17
- package/dist/components/statistic-record-dialog/index.js +64 -56
- package/dist/components/tooltip/index.js +21 -14
- package/dist/components/types-dialog/index.js +70 -62
- 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 +271 -142
- 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 +20 -13
- 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 +17 -11
- 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 +71 -63
- 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 +57 -49
- 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 +27 -19
- 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 +73 -65
- 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 +35 -27
- 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 +73 -65
- 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 +120 -112
- 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 +50 -42
- 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 +27 -19
- 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 +34 -26
- 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 +33 -25
- 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 +82 -74
- package/dist/settings/widgets/switch/index.js +16 -9
- 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 +72 -64
- package/dist/utils/cell-format-utils.js +27 -17
- package/dist/utils/cell-value-utils.js +11 -4
- package/dist/utils/chart-utils/base-utils.js +332 -324
- package/dist/utils/chart-utils/index.js +41 -28
- package/dist/utils/chart-utils/original-data-utils/basic-chart-calculator.js +84 -77
- 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 +28 -21
- package/dist/utils/chart-utils/original-data-utils/completeness-calculator.js +40 -33
- 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 +26 -19
- package/dist/utils/chart-utils/original-data-utils/pivot-table-calculator.js +96 -90
- 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 +237 -229
- package/dist/utils/chart.js +17 -9
- package/dist/utils/collaborator-manager.js +9 -3
- package/dist/utils/collaborator-utils.js +31 -19
- package/dist/utils/collaborator.js +15 -6
- package/dist/utils/color-utils.js +29 -18
- package/dist/utils/column-utils.js +104 -77
- package/dist/utils/common-utils.js +53 -28
- package/dist/utils/concurrency-manager.js +7 -1
- package/dist/utils/contexts.js +12 -5
- package/dist/utils/date-translate.js +20 -12
- 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 +8 -2
- package/dist/utils/options-utils.js +18 -10
- package/dist/utils/row-record-utils.js +178 -166
- package/dist/utils/row-utils.js +38 -27
- package/dist/utils/search.js +32 -24
- package/dist/utils/sql/chart-data-sql.js +112 -106
- package/dist/utils/sql/column-2-sql-column.js +168 -158
- package/dist/utils/sql/index.js +27 -3
- package/dist/utils/trend-utils.js +47 -39
- package/dist/view/index.js +96 -90
- package/dist/view/title/index.js +24 -16
- package/dist/view/wrapper/area-group.js +53 -45
- package/dist/view/wrapper/area.js +51 -43
- package/dist/view/wrapper/bar-compare.js +46 -38
- package/dist/view/wrapper/bar-custom-stack.js +47 -39
- package/dist/view/wrapper/bar-group.js +53 -45
- package/dist/view/wrapper/bar-stack.js +56 -48
- package/dist/view/wrapper/bar.js +48 -40
- package/dist/view/wrapper/basic-number-card.js +34 -26
- package/dist/view/wrapper/chart-component.js +131 -123
- package/dist/view/wrapper/combination.js +63 -55
- package/dist/view/wrapper/completeness-group.js +48 -40
- package/dist/view/wrapper/completeness.js +44 -36
- package/dist/view/wrapper/dashboard.js +44 -39
- package/dist/view/wrapper/funnel.js +43 -40
- package/dist/view/wrapper/heat-map.js +70 -62
- package/dist/view/wrapper/horizontal-bar-group.js +60 -52
- package/dist/view/wrapper/horizontal-bar-stack.js +55 -47
- package/dist/view/wrapper/horizontal-bar.js +49 -41
- package/dist/view/wrapper/index.js +115 -107
- package/dist/view/wrapper/line-group.js +51 -43
- package/dist/view/wrapper/line.js +50 -42
- package/dist/view/wrapper/map-bubble.js +48 -40
- package/dist/view/wrapper/map-world-bubble.js +47 -39
- package/dist/view/wrapper/map-world.js +49 -41
- package/dist/view/wrapper/map.js +50 -42
- package/dist/view/wrapper/mirror.js +49 -41
- package/dist/view/wrapper/pie.js +52 -44
- package/dist/view/wrapper/ring.js +57 -49
- package/dist/view/wrapper/scatter.js +50 -42
- package/dist/view/wrapper/table/index.js +22 -14
- 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 +61 -53
- package/dist/view/wrapper/table/pivot-table-display-name.js +90 -82
- package/dist/view/wrapper/table/two-dimension-table.js +93 -85
- package/dist/view/wrapper/table-element/components/dataset-utils.js +36 -23
- package/dist/view/wrapper/table-element/components/formatter.js +99 -90
- package/dist/view/wrapper/table-element/components/formatters/FileFormatter/index.js +32 -23
- package/dist/view/wrapper/table-element/components/formatters/formula-formatter.js +16 -9
- package/dist/view/wrapper/table-element/components/formatters/link-formatter.js +97 -90
- package/dist/view/wrapper/table-element/components/formula-formatter.js +16 -9
- package/dist/view/wrapper/table-element/components/link-formatter.js +97 -90
- package/dist/view/wrapper/table-element/components/record.js +20 -13
- 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 +33 -25
- 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 +16 -6
- 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 +46 -38
- package/dist/view/wrapper/trend.js +66 -58
- package/package.json +1 -1
|
@@ -1,17 +1,25 @@
|
|
|
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 _intl = _interopRequireDefault(require("../../intl"));
|
|
20
|
+
var _dateTranslate = require("../date-translate");
|
|
21
|
+
var _baseUtils = _interopRequireWildcard(require("./base-utils"));
|
|
1
22
|
var _SQLStatisticsUtils;
|
|
2
|
-
import dayjs from 'dayjs';
|
|
3
|
-
import { CellType, MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP, getFormulaDisplayString, getPrecisionNumber, getTableById, getTableColumnByKey, isNumber } 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 intl from '../../intl';
|
|
13
|
-
import { convertQuarterToDate } from '../date-translate';
|
|
14
|
-
import BaseUtils, { findIfColumnDataIsArray } from './base-utils';
|
|
15
23
|
class SQLStatisticsUtils {}
|
|
16
24
|
_SQLStatisticsUtils = SQLStatisticsUtils;
|
|
17
25
|
SQLStatisticsUtils.DATA_SOURCE = 'sql_statistics';
|
|
@@ -21,56 +29,56 @@ SQLStatisticsUtils.getGroupLabelFromDB = async (cellValue, column, chart, isPivo
|
|
|
21
29
|
data
|
|
22
30
|
} = column;
|
|
23
31
|
switch (type) {
|
|
24
|
-
case CellType.TEXT:
|
|
32
|
+
case _dtableUtils.CellType.TEXT:
|
|
25
33
|
{
|
|
26
34
|
return cellValue || null;
|
|
27
35
|
}
|
|
28
|
-
case CellType.DATE:
|
|
29
|
-
case CellType.CTIME:
|
|
30
|
-
case CellType.MTIME:
|
|
36
|
+
case _dtableUtils.CellType.DATE:
|
|
37
|
+
case _dtableUtils.CellType.CTIME:
|
|
38
|
+
case _dtableUtils.CellType.MTIME:
|
|
31
39
|
{
|
|
32
40
|
return cellValue;
|
|
33
41
|
}
|
|
34
|
-
case CellType.NUMBER:
|
|
42
|
+
case _dtableUtils.CellType.NUMBER:
|
|
35
43
|
{
|
|
36
44
|
if (!cellValue && cellValue !== 0) return null;
|
|
37
|
-
return getPrecisionNumber(cellValue, data);
|
|
45
|
+
return (0, _dtableUtils.getPrecisionNumber)(cellValue, data);
|
|
38
46
|
}
|
|
39
|
-
case CellType.SINGLE_SELECT:
|
|
47
|
+
case _dtableUtils.CellType.SINGLE_SELECT:
|
|
40
48
|
{
|
|
41
49
|
let isInvalidValue = data && data.options && data.options.findIndex(opt => opt.id === cellValue) < 0;
|
|
42
50
|
return isInvalidValue ? null : cellValue;
|
|
43
51
|
}
|
|
44
|
-
case CellType.MULTIPLE_SELECT:
|
|
52
|
+
case _dtableUtils.CellType.MULTIPLE_SELECT:
|
|
45
53
|
{
|
|
46
54
|
let options = data && data.options;
|
|
47
55
|
if (!Array.isArray(options) || options.length === 0) return [];
|
|
48
56
|
if (!Array.isArray(cellValue) || cellValue.length === 0) return [];
|
|
49
57
|
return cellValue.filter(optionId => options.find(option => option.id === optionId));
|
|
50
58
|
}
|
|
51
|
-
case CellType.COLLABORATOR:
|
|
59
|
+
case _dtableUtils.CellType.COLLABORATOR:
|
|
52
60
|
{
|
|
53
61
|
if (!Array.isArray(cellValue) || cellValue.length === 0) return [];
|
|
54
62
|
return cellValue;
|
|
55
63
|
}
|
|
56
|
-
case CellType.CREATOR:
|
|
57
|
-
case CellType.LAST_MODIFIER:
|
|
64
|
+
case _dtableUtils.CellType.CREATOR:
|
|
65
|
+
case _dtableUtils.CellType.LAST_MODIFIER:
|
|
58
66
|
{
|
|
59
67
|
return cellValue ? cellValue : null;
|
|
60
68
|
}
|
|
61
|
-
case CellType.GEOLOCATION:
|
|
69
|
+
case _dtableUtils.CellType.GEOLOCATION:
|
|
62
70
|
{
|
|
63
71
|
return cellValue || null;
|
|
64
72
|
}
|
|
65
|
-
case CellType.FORMULA:
|
|
73
|
+
case _dtableUtils.CellType.FORMULA:
|
|
66
74
|
{
|
|
67
75
|
if (Array.isArray(cellValue)) {
|
|
68
|
-
const validValue = getFormulaDisplayString(cellValue, data) || [];
|
|
76
|
+
const validValue = (0, _dtableUtils.getFormulaDisplayString)(cellValue, data) || [];
|
|
69
77
|
return validValue;
|
|
70
78
|
}
|
|
71
79
|
return cellValue || null;
|
|
72
80
|
}
|
|
73
|
-
case CellType.LINK_FORMULA:
|
|
81
|
+
case _dtableUtils.CellType.LINK_FORMULA:
|
|
74
82
|
{
|
|
75
83
|
const {
|
|
76
84
|
result_type
|
|
@@ -79,21 +87,21 @@ SQLStatisticsUtils.getGroupLabelFromDB = async (cellValue, column, chart, isPivo
|
|
|
79
87
|
if (result_type === 'array') {
|
|
80
88
|
return cellValue;
|
|
81
89
|
}
|
|
82
|
-
const validValue = getFormulaDisplayString(cellValue, data) || [];
|
|
90
|
+
const validValue = (0, _dtableUtils.getFormulaDisplayString)(cellValue, data) || [];
|
|
83
91
|
if (!validValue && validValue !== 0) {
|
|
84
92
|
return null;
|
|
85
93
|
}
|
|
86
94
|
return validValue;
|
|
87
95
|
}
|
|
88
|
-
case CellType.LINK:
|
|
96
|
+
case _dtableUtils.CellType.LINK:
|
|
89
97
|
{
|
|
90
|
-
return Array.isArray(cellValue) ? cellValue.map(linked => getClientLinkDisplayString([linked], data, {})) : [];
|
|
98
|
+
return Array.isArray(cellValue) ? cellValue.map(linked => (0, _cellFormatUtils.getClientLinkDisplayString)([linked], data, {})) : [];
|
|
91
99
|
}
|
|
92
|
-
case CellType.CHECKBOX:
|
|
100
|
+
case _dtableUtils.CellType.CHECKBOX:
|
|
93
101
|
{
|
|
94
102
|
return String(cellValue) === 'true' ? 'Checked' : 'Unchecked';
|
|
95
103
|
}
|
|
96
|
-
case CellType.RATE:
|
|
104
|
+
case _dtableUtils.CellType.RATE:
|
|
97
105
|
{
|
|
98
106
|
return cellValue ? String(cellValue) : null;
|
|
99
107
|
}
|
|
@@ -168,7 +176,7 @@ SQLStatisticsUtils.updateTwoDimensionRows = (chart, pivot_rows, pivot_columns, i
|
|
|
168
176
|
const {
|
|
169
177
|
summary_type
|
|
170
178
|
} = chart.config;
|
|
171
|
-
const isCount = summary_type === CHART_SUMMARY_TYPE.COUNT;
|
|
179
|
+
const isCount = summary_type === _constants.CHART_SUMMARY_TYPE.COUNT;
|
|
172
180
|
const {
|
|
173
181
|
sqlSummaryColumnKey,
|
|
174
182
|
summarySQLColumnName2ColumnKey = {}
|
|
@@ -188,11 +196,11 @@ SQLStatisticsUtils.updateTwoDimensionRows = (chart, pivot_rows, pivot_columns, i
|
|
|
188
196
|
let {
|
|
189
197
|
key
|
|
190
198
|
} = c;
|
|
191
|
-
if (
|
|
199
|
+
if (_baseUtils.default.isSameGroup(isColumnDataAsAnArray, cellValue, key)) {
|
|
192
200
|
if (cells[key]) {
|
|
193
201
|
cells[key].rows.push(row);
|
|
194
202
|
if (isCount) {
|
|
195
|
-
if (
|
|
203
|
+
if (_baseUtils.default.isCollaboratorColumnOrMultipleColumn(columnMap)) {
|
|
196
204
|
cells[key].total = total + row[sqlSummaryColumnKey];
|
|
197
205
|
} else {
|
|
198
206
|
cells[key].total = row[sqlSummaryColumnKey];
|
|
@@ -204,10 +212,10 @@ SQLStatisticsUtils.updateTwoDimensionRows = (chart, pivot_rows, pivot_columns, i
|
|
|
204
212
|
const nextValue = row[currentSqlName];
|
|
205
213
|
// use columnKey to find current value
|
|
206
214
|
const currentValue = Object.values(cells[key].total).find(item => item[2] === columnKey)[1];
|
|
207
|
-
const computedValue =
|
|
215
|
+
const computedValue = _baseUtils.default.getSummaryValue({
|
|
208
216
|
summaryMethod: current.summary_method.toUpperCase(),
|
|
209
217
|
summaryColumn: current.column
|
|
210
|
-
}, currentValue, nextValue,
|
|
218
|
+
}, currentValue, nextValue, _baseUtils.default.isCollaboratorColumnOrMultipleColumn(columnMap));
|
|
211
219
|
const columnName = current.column.name;
|
|
212
220
|
|
|
213
221
|
// keep column key to find currentValue on updating
|
|
@@ -245,7 +253,7 @@ SQLStatisticsUtils.updateTwoDimensionRows = (chart, pivot_rows, pivot_columns, i
|
|
|
245
253
|
} else {
|
|
246
254
|
updatedPivotRow.total = Object.values(cells).reduce((acc, item) => {
|
|
247
255
|
item.total.forEach(t => {
|
|
248
|
-
isNumber(t[1]) && (acc += t[1]);
|
|
256
|
+
(0, _dtableUtils.isNumber)(t[1]) && (acc += t[1]);
|
|
249
257
|
});
|
|
250
258
|
return acc;
|
|
251
259
|
}, 0);
|
|
@@ -261,7 +269,7 @@ SQLStatisticsUtils.updateTwoDimensionRows = (chart, pivot_rows, pivot_columns, i
|
|
|
261
269
|
let {
|
|
262
270
|
key
|
|
263
271
|
} = c;
|
|
264
|
-
if (
|
|
272
|
+
if (_baseUtils.default.isSameGroup(isColumnDataAsAnArray, cellValue, key)) {
|
|
265
273
|
let total;
|
|
266
274
|
if (isCount) {
|
|
267
275
|
total = row[sqlSummaryColumnKey];
|
|
@@ -286,9 +294,9 @@ SQLStatisticsUtils.updateTwoDimensionRows = (chart, pivot_rows, pivot_columns, i
|
|
|
286
294
|
const cellList = Object.values(cells);
|
|
287
295
|
total = cellList.reduce((acc, item) => {
|
|
288
296
|
let num;
|
|
289
|
-
if (isObject(item.total)) {
|
|
297
|
+
if ((0, _lodash.isObject)(item.total)) {
|
|
290
298
|
num = item.total.reduce((acc, item) => {
|
|
291
|
-
isNumber(item[1]) && (acc += item[1]);
|
|
299
|
+
(0, _dtableUtils.isNumber)(item[1]) && (acc += item[1]);
|
|
292
300
|
return acc;
|
|
293
301
|
}, 0);
|
|
294
302
|
} else {
|
|
@@ -318,7 +326,7 @@ SQLStatisticsUtils.getAndUpdateTwoDimensionTotal = (pivot_columns_total, pivot_c
|
|
|
318
326
|
if (cell) {
|
|
319
327
|
let pivot_column_total = pivot_columns_total && pivot_columns_total[key] ? pivot_columns_total[key] : 0;
|
|
320
328
|
const currentCellTotal = Array.isArray(cell.total) ? cell.total.reduce((acc, item) => {
|
|
321
|
-
isNumber(item[1]) && (acc += item[1]);
|
|
329
|
+
(0, _dtableUtils.isNumber)(item[1]) && (acc += item[1]);
|
|
322
330
|
return acc;
|
|
323
331
|
}, 0) : parseInt(cell.total);
|
|
324
332
|
pivot_columns_total[key] = pivot_column_total + currentCellTotal;
|
|
@@ -340,22 +348,22 @@ SQLStatisticsUtils.oneDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
340
348
|
} = chartSQLMap;
|
|
341
349
|
let pivot_columns = [];
|
|
342
350
|
let pivot_rows = [];
|
|
343
|
-
const isCount = summary_type === CHART_SUMMARY_TYPE.COUNT;
|
|
351
|
+
const isCount = summary_type === _constants.CHART_SUMMARY_TYPE.COUNT;
|
|
344
352
|
|
|
345
353
|
// if key is an array, handle it here ,currently only handle collaborator and multiple select
|
|
346
354
|
// MULTIPLE_CELL_VALUE_COLUMN_TYPE = [CellType.COLLABORATOR, CellType.MULTIPLE_SELECT, CellType.LINK]
|
|
347
|
-
const isGroupByColumnLinkFormula = groupbyColumn.type === CellType.LINK_FORMULA;
|
|
355
|
+
const isGroupByColumnLinkFormula = groupbyColumn.type === _dtableUtils.CellType.LINK_FORMULA;
|
|
348
356
|
let newSqlRows = sqlRows;
|
|
349
357
|
if (isGroupByColumnLinkFormula) {
|
|
350
358
|
const {
|
|
351
359
|
array_type
|
|
352
360
|
} = groupbyColumn.data;
|
|
353
|
-
if ([CellType.COLLABORATOR, CellType.MULTIPLE_SELECT].includes(array_type)) {
|
|
354
|
-
newSqlRows =
|
|
361
|
+
if ([_dtableUtils.CellType.COLLABORATOR, _dtableUtils.CellType.MULTIPLE_SELECT].includes(array_type)) {
|
|
362
|
+
newSqlRows = _baseUtils.default.formatedTableSqlRowsByCollaboratorAndMultiple(chart, sqlRows, chartSQLMap, columnMap);
|
|
355
363
|
}
|
|
356
364
|
}
|
|
357
|
-
if ([CellType.COLLABORATOR, CellType.MULTIPLE_SELECT].includes(groupbyColumn.type)) {
|
|
358
|
-
newSqlRows =
|
|
365
|
+
if ([_dtableUtils.CellType.COLLABORATOR, _dtableUtils.CellType.MULTIPLE_SELECT].includes(groupbyColumn.type)) {
|
|
366
|
+
newSqlRows = _baseUtils.default.formatedTableSqlRowsByCollaboratorAndMultiple(chart, sqlRows, chartSQLMap, columnMap);
|
|
359
367
|
}
|
|
360
368
|
if (isCount) {
|
|
361
369
|
let allTotal = 0;
|
|
@@ -371,7 +379,7 @@ SQLStatisticsUtils.oneDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
371
379
|
}
|
|
372
380
|
});
|
|
373
381
|
}
|
|
374
|
-
if (groupbyColumn.type === CellType.LINK_FORMULA && groupbyColumn.data.array_type === 'date') {
|
|
382
|
+
if (groupbyColumn.type === _dtableUtils.CellType.LINK_FORMULA && groupbyColumn.data.array_type === 'date') {
|
|
375
383
|
pivot_rows = pivot_rows.reduce((acc, item) => {
|
|
376
384
|
const {
|
|
377
385
|
name,
|
|
@@ -388,7 +396,7 @@ SQLStatisticsUtils.oneDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
388
396
|
return acc;
|
|
389
397
|
}, []);
|
|
390
398
|
}
|
|
391
|
-
|
|
399
|
+
_baseUtils.default.sortCharts(pivot_rows, groupbyColumn, 'name', true);
|
|
392
400
|
return {
|
|
393
401
|
pivot_columns,
|
|
394
402
|
pivot_rows: pivot_rows,
|
|
@@ -407,7 +415,7 @@ SQLStatisticsUtils.oneDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
407
415
|
let totalTemplate = {};
|
|
408
416
|
Object.values(summaryColumnKeys).forEach(key => {
|
|
409
417
|
const summaryMethod = summaryTableColumnKey2Method[key];
|
|
410
|
-
totalTemplate[key] =
|
|
418
|
+
totalTemplate[key] = _baseUtils.default.initTotal(summaryMethod);
|
|
411
419
|
pivot_columns.push({
|
|
412
420
|
key
|
|
413
421
|
});
|
|
@@ -424,14 +432,14 @@ SQLStatisticsUtils.oneDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
424
432
|
let columnKey = summarySQLColumnName2ColumnKey[key];
|
|
425
433
|
let summaryColumn = summaryTableColumnKey2Column[columnKey];
|
|
426
434
|
const summaryMethod = summaryTableColumnKey2Method[columnKey];
|
|
427
|
-
let value = row[key] ||
|
|
428
|
-
allTotal[columnKey] =
|
|
435
|
+
let value = row[key] || _baseUtils.default.initTotal(summaryMethod);
|
|
436
|
+
allTotal[columnKey] = _baseUtils.default.getSummaryValue({
|
|
429
437
|
summaryColumn,
|
|
430
438
|
summaryMethod
|
|
431
439
|
}, allTotal[columnKey], value);
|
|
432
|
-
if (
|
|
440
|
+
if (_baseUtils.default.isDateSummaryColumn(summaryColumn)) {
|
|
433
441
|
rowTotal[columnKey] = value;
|
|
434
|
-
} else if (
|
|
442
|
+
} else if (_baseUtils.default.isNumericSummaryColumn(summaryColumn)) {
|
|
435
443
|
rowTotal[columnKey] = rowTotal[columnKey] + value;
|
|
436
444
|
}
|
|
437
445
|
});
|
|
@@ -441,7 +449,7 @@ SQLStatisticsUtils.oneDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
441
449
|
total: rowTotal
|
|
442
450
|
});
|
|
443
451
|
}
|
|
444
|
-
if (groupbyColumn.type === CellType.LINK_FORMULA && groupbyColumn.data.array_type === 'date') {
|
|
452
|
+
if (groupbyColumn.type === _dtableUtils.CellType.LINK_FORMULA && groupbyColumn.data.array_type === 'date') {
|
|
445
453
|
pivot_rows = pivot_rows.reduce((acc, item) => {
|
|
446
454
|
const {
|
|
447
455
|
name,
|
|
@@ -474,12 +482,12 @@ SQLStatisticsUtils.oneDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
474
482
|
total: allTotal[key]
|
|
475
483
|
};
|
|
476
484
|
}
|
|
477
|
-
|
|
485
|
+
_baseUtils.default.sortCharts(pivot_rows, groupbyColumn, 'name', true);
|
|
478
486
|
return {
|
|
479
487
|
pivot_columns,
|
|
480
488
|
pivot_rows,
|
|
481
489
|
pivot_columns_total: allTotal,
|
|
482
|
-
dimensions: TABLE_DIMENSIONS.ONE
|
|
490
|
+
dimensions: _constants.TABLE_DIMENSIONS.ONE
|
|
483
491
|
};
|
|
484
492
|
};
|
|
485
493
|
SQLStatisticsUtils.twoDimensionTableSQLResult2JavaScript = async (chart, sqlRows, chartSQLMap, columnMap, tables) => {
|
|
@@ -507,8 +515,8 @@ SQLStatisticsUtils.twoDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
507
515
|
let newSqlRows = sqlRows;
|
|
508
516
|
|
|
509
517
|
// handle LINK_FORMULA
|
|
510
|
-
const isGroupByColumnLinkFormula = groupbyColumn.type === CellType.LINK_FORMULA;
|
|
511
|
-
const isColumnGroupByColumnLinkFormula = columnGroupbyColumn.type === CellType.LINK_FORMULA;
|
|
518
|
+
const isGroupByColumnLinkFormula = groupbyColumn.type === _dtableUtils.CellType.LINK_FORMULA;
|
|
519
|
+
const isColumnGroupByColumnLinkFormula = columnGroupbyColumn.type === _dtableUtils.CellType.LINK_FORMULA;
|
|
512
520
|
let isRowGroupbyColumnDataAsAnArray, isGroupbyColumnDataAsAnArray;
|
|
513
521
|
|
|
514
522
|
// Group by column
|
|
@@ -516,14 +524,14 @@ SQLStatisticsUtils.twoDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
516
524
|
if (isGroupByColumnLinkFormula && groupbyColumn.data.array_type !== 'date') {
|
|
517
525
|
isGroupbyColumnDataAsAnArray = true;
|
|
518
526
|
} else {
|
|
519
|
-
isGroupbyColumnDataAsAnArray = !!MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP[groupbyColumn.type];
|
|
527
|
+
isGroupbyColumnDataAsAnArray = !!_dtableUtils.MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP[groupbyColumn.type];
|
|
520
528
|
}
|
|
521
529
|
|
|
522
530
|
// column group by column
|
|
523
531
|
if (isColumnGroupByColumnLinkFormula && groupbyColumn.data.array_type !== 'date') {
|
|
524
532
|
isRowGroupbyColumnDataAsAnArray = true;
|
|
525
533
|
} else {
|
|
526
|
-
isRowGroupbyColumnDataAsAnArray = !!MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP[columnGroupbyColumn.type];
|
|
534
|
+
isRowGroupbyColumnDataAsAnArray = !!_dtableUtils.MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP[columnGroupbyColumn.type];
|
|
527
535
|
}
|
|
528
536
|
|
|
529
537
|
// if key is an array, handle it here ,currently only handle collaborator and multiple select
|
|
@@ -532,12 +540,12 @@ SQLStatisticsUtils.twoDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
532
540
|
const {
|
|
533
541
|
array_type
|
|
534
542
|
} = groupbyColumn.data;
|
|
535
|
-
if ([CellType.COLLABORATOR, CellType.MULTIPLE_SELECT].includes(array_type)) {
|
|
536
|
-
newSqlRows =
|
|
543
|
+
if ([_dtableUtils.CellType.COLLABORATOR, _dtableUtils.CellType.MULTIPLE_SELECT].includes(array_type)) {
|
|
544
|
+
newSqlRows = _baseUtils.default.formatedTableSqlRowsByCollaboratorAndMultiple(chart, sqlRows, chartSQLMap, columnMap);
|
|
537
545
|
}
|
|
538
546
|
}
|
|
539
|
-
if ([CellType.COLLABORATOR, CellType.MULTIPLE_SELECT].includes(groupbyColumn.type)) {
|
|
540
|
-
newSqlRows =
|
|
547
|
+
if ([_dtableUtils.CellType.COLLABORATOR, _dtableUtils.CellType.MULTIPLE_SELECT].includes(groupbyColumn.type)) {
|
|
548
|
+
newSqlRows = _baseUtils.default.formatedTableSqlRowsByCollaboratorAndMultiple(chart, sqlRows, chartSQLMap, columnMap);
|
|
541
549
|
}
|
|
542
550
|
let pivot_columns = [];
|
|
543
551
|
let pivot_rows = [];
|
|
@@ -548,12 +556,12 @@ SQLStatisticsUtils.twoDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
548
556
|
for (const row of newSqlRows) {
|
|
549
557
|
const columnGroupbyColumnCellValue = row[sqlColumnGroupbyColumnKey];
|
|
550
558
|
let columnGroupbyColumnCellValueKey;
|
|
551
|
-
if (
|
|
559
|
+
if (_baseUtils.default.isCollaborator(columnGroupbyColumn)) {
|
|
552
560
|
columnGroupbyColumnCellValueKey = columnGroupbyColumnCellValue || [];
|
|
553
561
|
} else {
|
|
554
562
|
columnGroupbyColumnCellValueKey = await _SQLStatisticsUtils.getGroupLabelFromDB(columnGroupbyColumnCellValue, columnGroupbyColumn, chart.config, true);
|
|
555
563
|
}
|
|
556
|
-
if (
|
|
564
|
+
if (_baseUtils.default.isValidCellValue(columnGroupbyColumnCellValue, groupby_include_empty_cells)) {
|
|
557
565
|
_SQLStatisticsUtils.updateTwoDimensionColumns(pivot_columns, columnGroupbyColumnCellValueKey, {
|
|
558
566
|
isIncludeEmpty: groupby_include_empty_cells,
|
|
559
567
|
isCellValueAsAnArray: isRowGroupbyColumnDataAsAnArray
|
|
@@ -563,19 +571,19 @@ SQLStatisticsUtils.twoDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
563
571
|
for (const row of newSqlRows) {
|
|
564
572
|
const groupbyColumnCellValue = row[sqlGroupbyColumnKey];
|
|
565
573
|
let groupbyColumnCellValueKey;
|
|
566
|
-
if (
|
|
574
|
+
if (_baseUtils.default.isCollaborator(groupbyColumn)) {
|
|
567
575
|
groupbyColumnCellValueKey = groupbyColumnCellValue || [];
|
|
568
576
|
} else {
|
|
569
577
|
groupbyColumnCellValueKey = await _SQLStatisticsUtils.getGroupLabelFromDB(groupbyColumnCellValue, groupbyColumn, chart.config, true);
|
|
570
578
|
}
|
|
571
579
|
const columnGroupbyColumnCellValue = row[sqlColumnGroupbyColumnKey];
|
|
572
580
|
let columnGroupbyColumnCellValueKey;
|
|
573
|
-
if (
|
|
581
|
+
if (_baseUtils.default.isCollaborator(columnGroupbyColumn)) {
|
|
574
582
|
columnGroupbyColumnCellValueKey = columnGroupbyColumnCellValue || [];
|
|
575
583
|
} else {
|
|
576
584
|
columnGroupbyColumnCellValueKey = await _SQLStatisticsUtils.getGroupLabelFromDB(columnGroupbyColumnCellValue, columnGroupbyColumn, chart.config, true);
|
|
577
585
|
}
|
|
578
|
-
if (
|
|
586
|
+
if (_baseUtils.default.isValidCellValue(groupbyColumnCellValue, groupby_include_empty_cells)) {
|
|
579
587
|
// data is an array is handled previously, but to keep capability, still use old code
|
|
580
588
|
if (isGroupbyColumnDataAsAnArray) {
|
|
581
589
|
if ((!Array.isArray(groupbyColumnCellValueKey) || groupbyColumnCellValueKey.length === 0) && groupby_include_empty_cells) {
|
|
@@ -612,15 +620,15 @@ SQLStatisticsUtils.twoDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
612
620
|
}
|
|
613
621
|
|
|
614
622
|
// update Collaborator and Multiple mean value
|
|
615
|
-
if (
|
|
616
|
-
const new_pivot_rows =
|
|
623
|
+
if (_baseUtils.default.isCollaboratorColumnOrMultipleColumn(columnMap)) {
|
|
624
|
+
const new_pivot_rows = _baseUtils.default.updateCollaboratorAndMultipleAvg(pivot_rows, [singleNumeriColumnWithMethod, ...multipleNumericColumnsWithMethod]);
|
|
617
625
|
pivot_rows = new_pivot_rows;
|
|
618
626
|
}
|
|
619
627
|
[pivot_columns_total, pivot_table_total] = _SQLStatisticsUtils.getAndUpdateTwoDimensionTotal(pivot_columns_total, pivot_columns, pivot_rows, pivot_table_total, chart);
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
if ((groupbyColumn === null || groupbyColumn === void 0 ? void 0 : groupbyColumn.type) === CellType.COLLABORATOR) {
|
|
623
|
-
pivot_rows =
|
|
628
|
+
_baseUtils.default.sortCharts(pivot_rows, groupbyColumn, 'name', true);
|
|
629
|
+
_baseUtils.default.sortCharts(pivot_columns, columnGroupbyColumn, 'key', true);
|
|
630
|
+
if ((groupbyColumn === null || groupbyColumn === void 0 ? void 0 : groupbyColumn.type) === _dtableUtils.CellType.COLLABORATOR) {
|
|
631
|
+
pivot_rows = _baseUtils.default.mergePivotTableSameCollaborator(pivot_rows);
|
|
624
632
|
}
|
|
625
633
|
const summary_columns = [summaryColumn, ...summaryColumnsWithMethod.map(item => item.column)];
|
|
626
634
|
return {
|
|
@@ -629,7 +637,7 @@ SQLStatisticsUtils.twoDimensionTableSQLResult2JavaScript = async (chart, sqlRows
|
|
|
629
637
|
pivot_rows,
|
|
630
638
|
pivot_columns_total,
|
|
631
639
|
pivot_table_total,
|
|
632
|
-
dimensions: TABLE_DIMENSIONS.TWO,
|
|
640
|
+
dimensions: _constants.TABLE_DIMENSIONS.TWO,
|
|
633
641
|
isSingleNumericColumn
|
|
634
642
|
};
|
|
635
643
|
};
|
|
@@ -650,7 +658,7 @@ SQLStatisticsUtils.basicChartSQLResult2JavaScript = async (chart, sqlRows, chart
|
|
|
650
658
|
groupbyColumn,
|
|
651
659
|
summaryColumn
|
|
652
660
|
} = columnMap;
|
|
653
|
-
const isGroupbyColumnDataAsAnArray = findIfColumnDataIsArray(groupbyColumn);
|
|
661
|
+
const isGroupbyColumnDataAsAnArray = (0, _baseUtils.findIfColumnDataIsArray)(groupbyColumn);
|
|
654
662
|
const {
|
|
655
663
|
sqlGroupbyColumnKey,
|
|
656
664
|
sqlSummaryColumnKey
|
|
@@ -660,10 +668,10 @@ SQLStatisticsUtils.basicChartSQLResult2JavaScript = async (chart, sqlRows, chart
|
|
|
660
668
|
const cellValue = row[sqlGroupbyColumnKey];
|
|
661
669
|
const summaryValue = row[sqlSummaryColumnKey];
|
|
662
670
|
let formatted_value = cellValue;
|
|
663
|
-
if (y_axis_summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
|
|
664
|
-
formatted_value = getFormattedValue(cellValue, y_axis_summary_column_key, y_axis_summary_method);
|
|
671
|
+
if (y_axis_summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
|
|
672
|
+
formatted_value = (0, _columnUtils.getFormattedValue)(cellValue, y_axis_summary_column_key, y_axis_summary_method);
|
|
665
673
|
}
|
|
666
|
-
if (
|
|
674
|
+
if (_baseUtils.default.isValidCellValue(cellValue, x_axis_include_empty_cells || groupby_include_empty_cells)) {
|
|
667
675
|
const key = await _SQLStatisticsUtils.getGroupLabelFromDB(cellValue, groupbyColumn, chart.config);
|
|
668
676
|
if (isGroupbyColumnDataAsAnArray) {
|
|
669
677
|
if (!Array.isArray(key) || key.length === 0) {
|
|
@@ -721,11 +729,11 @@ SQLStatisticsUtils.basicChartSQLResult2JavaScript = async (chart, sqlRows, chart
|
|
|
721
729
|
}
|
|
722
730
|
}
|
|
723
731
|
}
|
|
724
|
-
|
|
725
|
-
await
|
|
726
|
-
|
|
727
|
-
if (SUPPORT_DATA_SORT_CHART_TYPES.includes(type) && sort_type) {
|
|
728
|
-
|
|
732
|
+
_baseUtils.default.sortCharts(result, groupbyColumn, 'name');
|
|
733
|
+
await _baseUtils.default.updateTableViewList(result, groupbyColumn, 'name', 'color', false, true);
|
|
734
|
+
_baseUtils.default.updateSummaryValuePrecision(result, summaryColumn, 'value');
|
|
735
|
+
if (_constants.SUPPORT_DATA_SORT_CHART_TYPES.includes(type) && sort_type) {
|
|
736
|
+
_baseUtils.default.sortChartData(result, sort_type);
|
|
729
737
|
return result;
|
|
730
738
|
}
|
|
731
739
|
return result;
|
|
@@ -754,28 +762,28 @@ SQLStatisticsUtils.customChartSQLResult2JavaScript = async (chart, sqlRows, char
|
|
|
754
762
|
groupbyColumn,
|
|
755
763
|
summaryColumn
|
|
756
764
|
} = columnMap;
|
|
757
|
-
const table = getTableById(tables, table_id);
|
|
765
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
758
766
|
const stack = y_axises[index];
|
|
759
767
|
if (!stack) return [];
|
|
760
768
|
const {
|
|
761
769
|
column_groupby_numeric_columns
|
|
762
770
|
} = stack;
|
|
763
|
-
const y_axis_type =
|
|
771
|
+
const y_axis_type = "".concat(_constants.Y_AXIS_TYPE_PREFIX).concat(index);
|
|
764
772
|
let summaryMethods = [];
|
|
765
773
|
let originalMethods = [];
|
|
766
774
|
let groupColumnNames = [];
|
|
767
775
|
let numericColumns = [];
|
|
768
776
|
column_groupby_numeric_columns.forEach(item => {
|
|
769
|
-
const numericColumn = getTableColumnByKey(table, item.column_key);
|
|
777
|
+
const numericColumn = (0, _dtableUtils.getTableColumnByKey)(table, item.column_key);
|
|
770
778
|
const groupColumnName = numericColumn.name;
|
|
771
779
|
numericColumns.push(numericColumn);
|
|
772
780
|
groupColumnNames.push(groupColumnName);
|
|
773
|
-
summaryMethods.push(summaryMethodColumn2SqlColumn(item.summary_method.toUpperCase(), numericColumn).key);
|
|
781
|
+
summaryMethods.push((0, _sql.summaryMethodColumn2SqlColumn)(item.summary_method.toUpperCase(), numericColumn).key);
|
|
774
782
|
originalMethods.push(item.summary_method);
|
|
775
783
|
});
|
|
776
784
|
const {
|
|
777
785
|
key: sqlGroupbyColumnKey
|
|
778
|
-
} = column2SqlColumn(groupbyColumn, {
|
|
786
|
+
} = (0, _column2SqlColumn.column2SqlColumn)(groupbyColumn, {
|
|
779
787
|
dateGranularity: x_axis_date_granularity,
|
|
780
788
|
geolocationGranularity: x_axis_geolocation_granularity
|
|
781
789
|
});
|
|
@@ -789,8 +797,8 @@ SQLStatisticsUtils.customChartSQLResult2JavaScript = async (chart, sqlRows, char
|
|
|
789
797
|
if (!(x_axis_include_empty_cells || x_axis_include_empty) && isEmpty) return;
|
|
790
798
|
let value = row[summaryMethod] || 0;
|
|
791
799
|
let formatted_value = value;
|
|
792
|
-
value = formatNumericValue(value, numericColumns[index]);
|
|
793
|
-
formatted_value = getFormattedValue(value, numericColumns[index], originalMethods[index]);
|
|
800
|
+
value = (0, _columnUtils.formatNumericValue)(value, numericColumns[index]);
|
|
801
|
+
formatted_value = (0, _columnUtils.getFormattedValue)(value, numericColumns[index], originalMethods[index]);
|
|
794
802
|
groupItems.push({
|
|
795
803
|
name: label,
|
|
796
804
|
value,
|
|
@@ -802,7 +810,7 @@ SQLStatisticsUtils.customChartSQLResult2JavaScript = async (chart, sqlRows, char
|
|
|
802
810
|
});
|
|
803
811
|
result = result.concat(groupItems);
|
|
804
812
|
}
|
|
805
|
-
const isCellValueAsAnArray = findIfColumnDataIsArray(groupbyColumn);
|
|
813
|
+
const isCellValueAsAnArray = (0, _baseUtils.findIfColumnDataIsArray)(groupbyColumn);
|
|
806
814
|
if (isCellValueAsAnArray) {
|
|
807
815
|
const takenApart = [];
|
|
808
816
|
const assembled = [];
|
|
@@ -812,7 +820,7 @@ SQLStatisticsUtils.customChartSQLResult2JavaScript = async (chart, sqlRows, char
|
|
|
812
820
|
name: names
|
|
813
821
|
} = item;
|
|
814
822
|
if (!Array.isArray(names)) return;
|
|
815
|
-
if (!(names
|
|
823
|
+
if (!(names !== null && names !== void 0 && names.length)) {
|
|
816
824
|
takenApart.push({
|
|
817
825
|
...item,
|
|
818
826
|
name: null
|
|
@@ -843,9 +851,9 @@ SQLStatisticsUtils.customChartSQLResult2JavaScript = async (chart, sqlRows, char
|
|
|
843
851
|
});
|
|
844
852
|
result = assembled;
|
|
845
853
|
}
|
|
846
|
-
|
|
847
|
-
await
|
|
848
|
-
|
|
854
|
+
_baseUtils.default.sortCharts(result, groupbyColumn, 'name');
|
|
855
|
+
await _baseUtils.default.updateTableViewList(result, groupbyColumn, 'name', '', false, true);
|
|
856
|
+
_baseUtils.default.updateSummaryValuePrecision(result, summaryColumn, 'value');
|
|
849
857
|
return result;
|
|
850
858
|
};
|
|
851
859
|
SQLStatisticsUtils.compareSQLResult2Javascript = async (chart, sqlRows, chartSQLMap, columnMap, tables) => {
|
|
@@ -870,11 +878,11 @@ SQLStatisticsUtils.compareSQLResult2Javascript = async (chart, sqlRows, chartSQL
|
|
|
870
878
|
y_axis_summary_method,
|
|
871
879
|
display_increase
|
|
872
880
|
} = config;
|
|
873
|
-
const groupName1 =
|
|
874
|
-
const groupName2 =
|
|
881
|
+
const groupName1 = "".concat(x_axis_date_range_start, " - ").concat(x_axis_date_range_end);
|
|
882
|
+
const groupName2 = "".concat(x_axis_compared_date_range_start, " - ").concat(x_axis_compared_date_range_end);
|
|
875
883
|
const dateRangeResult = new Map();
|
|
876
884
|
let dateComparedResult = new Map();
|
|
877
|
-
const isAdvanced = y_axis_summary_type === CHART_SUMMARY_TYPE.ADVANCED;
|
|
885
|
+
const isAdvanced = y_axis_summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED;
|
|
878
886
|
const startDate = new Date(x_axis_date_range_start);
|
|
879
887
|
const endDate = new Date(x_axis_date_range_end);
|
|
880
888
|
const comparedStartDate = new Date(x_axis_compared_date_range_start);
|
|
@@ -884,7 +892,7 @@ SQLStatisticsUtils.compareSQLResult2Javascript = async (chart, sqlRows, chartSQL
|
|
|
884
892
|
if (!name) continue;
|
|
885
893
|
const label = await _SQLStatisticsUtils.getGroupLabelFromDB(name, groupbyColumn, chart.config);
|
|
886
894
|
if (x_axis_date_granularity === 'quarter') {
|
|
887
|
-
name = convertQuarterToDate(name);
|
|
895
|
+
name = (0, _dateTranslate.convertQuarterToDate)(name);
|
|
888
896
|
} else if (x_axis_date_granularity === 'year') {
|
|
889
897
|
// set the date to the first day of the year, and set the time to 8:05, cause the time zone is UTC+8,
|
|
890
898
|
// need to ensure time is at the range of user's slected time
|
|
@@ -964,8 +972,8 @@ SQLStatisticsUtils.compareSQLResult2Javascript = async (chart, sqlRows, chartSQL
|
|
|
964
972
|
let value = rawValue;
|
|
965
973
|
let formatted_value = value;
|
|
966
974
|
if (isAdvanced) {
|
|
967
|
-
value = getSummaryResult(rawValue, y_axis_summary_method, data.precision);
|
|
968
|
-
formatted_value = getFormattedValue(value, summaryColumn, y_axis_summary_method);
|
|
975
|
+
value = (0, _columnUtils.getSummaryResult)(rawValue, y_axis_summary_method, data.precision);
|
|
976
|
+
formatted_value = (0, _columnUtils.getFormattedValue)(value, summaryColumn, y_axis_summary_method);
|
|
969
977
|
}
|
|
970
978
|
rangeResult.push({
|
|
971
979
|
name: item[0],
|
|
@@ -986,8 +994,8 @@ SQLStatisticsUtils.compareSQLResult2Javascript = async (chart, sqlRows, chartSQL
|
|
|
986
994
|
const rows = item[1].rows;
|
|
987
995
|
let formatted_value = value;
|
|
988
996
|
if (isAdvanced) {
|
|
989
|
-
value = getSummaryResult(item[1].value, y_axis_summary_method, data.precision);
|
|
990
|
-
formatted_value = getFormattedValue(value, summaryColumn, y_axis_summary_method);
|
|
997
|
+
value = (0, _columnUtils.getSummaryResult)(item[1].value, y_axis_summary_method, data.precision);
|
|
998
|
+
formatted_value = (0, _columnUtils.getFormattedValue)(value, summaryColumn, y_axis_summary_method);
|
|
991
999
|
}
|
|
992
1000
|
const newItem = {
|
|
993
1001
|
name: dateRangeItem.name,
|
|
@@ -1011,10 +1019,10 @@ SQLStatisticsUtils.compareSQLResult2Javascript = async (chart, sqlRows, chartSQL
|
|
|
1011
1019
|
if (comparedResult.length > rangeResult.length) {
|
|
1012
1020
|
comparedResult = comparedResult.slice(0, rangeResult.length);
|
|
1013
1021
|
}
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1022
|
+
_baseUtils.default.updateSummaryValuePrecision(comparedResult, summaryColumn, 'value');
|
|
1023
|
+
_baseUtils.default.updateSummaryValuePrecision(rangeResult, summaryColumn, 'value');
|
|
1024
|
+
_baseUtils.default.sortCharts(rangeResult, groupbyColumn, 'name');
|
|
1025
|
+
_baseUtils.default.sortCharts(comparedResult, groupbyColumn, 'name');
|
|
1018
1026
|
return [...comparedResult, ...rangeResult];
|
|
1019
1027
|
};
|
|
1020
1028
|
SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, chartSQLMap, columnMap, tables) => {
|
|
@@ -1031,7 +1039,7 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1031
1039
|
table_id,
|
|
1032
1040
|
y_axis_left_group_by_numeric_columns
|
|
1033
1041
|
} = config;
|
|
1034
|
-
const table = getTableById(tables, table_id);
|
|
1042
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
1035
1043
|
const {
|
|
1036
1044
|
groupbyColumn,
|
|
1037
1045
|
summaryColumn
|
|
@@ -1045,7 +1053,7 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1045
1053
|
sqlRightSummaryColumnKey,
|
|
1046
1054
|
sqlLeftSummaryColumnKey
|
|
1047
1055
|
} = chartSQLMap;
|
|
1048
|
-
const isGroupbyColumnDataAsAnArray = findIfColumnDataIsArray(groupbyColumn);
|
|
1056
|
+
const isGroupbyColumnDataAsAnArray = (0, _baseUtils.findIfColumnDataIsArray)(groupbyColumn);
|
|
1049
1057
|
let result = [];
|
|
1050
1058
|
if (!y_axis_left_group_by_multiple_numeric_column) {
|
|
1051
1059
|
// let leftSummaryColumn, rightSummaryColumn;
|
|
@@ -1072,7 +1080,7 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1072
1080
|
if (itemIdx < 0) {
|
|
1073
1081
|
result.push({
|
|
1074
1082
|
// color is defined by index of the name
|
|
1075
|
-
color: STYLE_COLORS[0].colors[index % 12],
|
|
1083
|
+
color: _constants.STYLE_COLORS[0].colors[index % 12],
|
|
1076
1084
|
name: null,
|
|
1077
1085
|
rows: [row],
|
|
1078
1086
|
value_left: valueLeft,
|
|
@@ -1089,7 +1097,7 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1089
1097
|
let itemIdx = result.findIndex(v => v.name === item);
|
|
1090
1098
|
if (itemIdx < 0) {
|
|
1091
1099
|
result.push({
|
|
1092
|
-
color: STYLE_COLORS[0].colors[index % 12],
|
|
1100
|
+
color: _constants.STYLE_COLORS[0].colors[index % 12],
|
|
1093
1101
|
name: item,
|
|
1094
1102
|
rows: [row],
|
|
1095
1103
|
value_left: valueLeft,
|
|
@@ -1107,7 +1115,7 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1107
1115
|
let itemIdx = result.findIndex(v => v.name === key);
|
|
1108
1116
|
if (itemIdx < 0) {
|
|
1109
1117
|
result.push({
|
|
1110
|
-
color: STYLE_COLORS[0].colors[index % 12],
|
|
1118
|
+
color: _constants.STYLE_COLORS[0].colors[index % 12],
|
|
1111
1119
|
name: key,
|
|
1112
1120
|
rows: [row],
|
|
1113
1121
|
value_left: valueLeft,
|
|
@@ -1127,11 +1135,11 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1127
1135
|
// rightSummaryColumn = getTableColumnByKey(table, y_axis_right_summary_column);
|
|
1128
1136
|
// }
|
|
1129
1137
|
const groupItems = [];
|
|
1130
|
-
let leftSummaryColumn = getTableColumnByKey(table, y_axis_left_summary_column);
|
|
1138
|
+
let leftSummaryColumn = (0, _dtableUtils.getTableColumnByKey)(table, y_axis_left_summary_column);
|
|
1131
1139
|
const summaryMethod = y_axis_left_summary_method.toUpperCase();
|
|
1132
1140
|
const {
|
|
1133
1141
|
key
|
|
1134
|
-
} = summaryMethodColumn2SqlColumn(summaryMethod, leftSummaryColumn || {});
|
|
1142
|
+
} = (0, _sql.summaryMethodColumn2SqlColumn)(summaryMethod, leftSummaryColumn || {});
|
|
1135
1143
|
const groupItem = {
|
|
1136
1144
|
sqlName: key,
|
|
1137
1145
|
column: leftSummaryColumn
|
|
@@ -1141,12 +1149,12 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1141
1149
|
groupItems.push(groupItem);
|
|
1142
1150
|
}
|
|
1143
1151
|
y_axis_left_group_by_numeric_columns.forEach((item, index) => {
|
|
1144
|
-
const column = getTableColumnByKey(table, item.column_key);
|
|
1152
|
+
const column = (0, _dtableUtils.getTableColumnByKey)(table, item.column_key);
|
|
1145
1153
|
if (column) {
|
|
1146
1154
|
const itemSummaryMethod = item.summary_method.toUpperCase();
|
|
1147
1155
|
const {
|
|
1148
1156
|
key
|
|
1149
|
-
} = summaryMethodColumn2SqlColumn(itemSummaryMethod, column || {});
|
|
1157
|
+
} = (0, _sql.summaryMethodColumn2SqlColumn)(itemSummaryMethod, column || {});
|
|
1150
1158
|
const groupItem = {
|
|
1151
1159
|
sqlName: key,
|
|
1152
1160
|
column
|
|
@@ -1187,7 +1195,7 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1187
1195
|
rows: [item],
|
|
1188
1196
|
group_name: groupName,
|
|
1189
1197
|
// for multiple numeric_columns, color is defined by group_name
|
|
1190
|
-
color: STYLE_COLORS[0].colors[index % 12]
|
|
1198
|
+
color: _constants.STYLE_COLORS[0].colors[index % 12]
|
|
1191
1199
|
});
|
|
1192
1200
|
} else {
|
|
1193
1201
|
const itemRow = result[itemIdx];
|
|
@@ -1212,16 +1220,16 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1212
1220
|
value_right: valueRight,
|
|
1213
1221
|
rows: [item],
|
|
1214
1222
|
group_name: groupName,
|
|
1215
|
-
color: STYLE_COLORS[0].colors[index % 12]
|
|
1223
|
+
color: _constants.STYLE_COLORS[0].colors[index % 12]
|
|
1216
1224
|
});
|
|
1217
1225
|
});
|
|
1218
1226
|
}
|
|
1219
1227
|
}
|
|
1220
1228
|
}
|
|
1221
|
-
await
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1229
|
+
await _baseUtils.default.updateTableViewList(result, groupbyColumn, 'name', '', false, true);
|
|
1230
|
+
_baseUtils.default.sortCharts(result, groupbyColumn, 'name');
|
|
1231
|
+
_baseUtils.default.updateSummaryValuePrecision(result, summaryColumnLeft, 'value_left');
|
|
1232
|
+
_baseUtils.default.updateSummaryValuePrecision(result, summaryColumnRight, 'value_right');
|
|
1225
1233
|
return result;
|
|
1226
1234
|
};
|
|
1227
1235
|
SQLStatisticsUtils.dashboardSQLResult2JavaScript = (chart, sqlRows, chartSQLMap, columnMap, tables) => {
|
|
@@ -1237,17 +1245,17 @@ SQLStatisticsUtils.dashboardSQLResult2JavaScript = (chart, sqlRows, chartSQLMap,
|
|
|
1237
1245
|
total_value_column_key,
|
|
1238
1246
|
table_id
|
|
1239
1247
|
} = config;
|
|
1240
|
-
const table = getTableById(tables, table_id);
|
|
1241
|
-
const targetColumn = getTableColumnByKey(table, target_value_column_key);
|
|
1242
|
-
const totalColumn = getTableColumnByKey(table, total_value_column_key);
|
|
1248
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
1249
|
+
const targetColumn = (0, _dtableUtils.getTableColumnByKey)(table, target_value_column_key);
|
|
1250
|
+
const totalColumn = (0, _dtableUtils.getTableColumnByKey)(table, total_value_column_key);
|
|
1243
1251
|
const targetSummaryMethod = target_value_column_summary_method.toUpperCase();
|
|
1244
1252
|
const totalSummaryMethod = total_value_column_summary_method.toUpperCase();
|
|
1245
1253
|
const {
|
|
1246
1254
|
key: targetResultKey
|
|
1247
|
-
} = summaryMethodColumn2SqlColumn(targetSummaryMethod, targetColumn);
|
|
1255
|
+
} = (0, _sql.summaryMethodColumn2SqlColumn)(targetSummaryMethod, targetColumn);
|
|
1248
1256
|
const {
|
|
1249
1257
|
key: totalResultKey
|
|
1250
|
-
} = summaryMethodColumn2SqlColumn(totalSummaryMethod, totalColumn);
|
|
1258
|
+
} = (0, _sql.summaryMethodColumn2SqlColumn)(totalSummaryMethod, totalColumn);
|
|
1251
1259
|
const targetResult = summaryResult[targetResultKey];
|
|
1252
1260
|
const totalResult = summaryResult[totalResultKey];
|
|
1253
1261
|
if (totalResult === 0) {
|
|
@@ -1302,12 +1310,12 @@ SQLStatisticsUtils.groupingTwoDimensionChartSQLResult2JavaScript = async (chart,
|
|
|
1302
1310
|
sqlSummaryColumnKey
|
|
1303
1311
|
} = chartSQLMap;
|
|
1304
1312
|
let result = [];
|
|
1305
|
-
const isGroupbyColumnDataAsAnArray = findIfColumnDataIsArray(groupbyColumn);
|
|
1306
|
-
const isColumnGroupbyColumnDataAsAnArray = findIfColumnDataIsArray(columnGroupbyColumn);
|
|
1313
|
+
const isGroupbyColumnDataAsAnArray = (0, _baseUtils.findIfColumnDataIsArray)(groupbyColumn);
|
|
1314
|
+
const isColumnGroupbyColumnDataAsAnArray = (0, _baseUtils.findIfColumnDataIsArray)(columnGroupbyColumn);
|
|
1307
1315
|
for (const row of sqlRows) {
|
|
1308
1316
|
const groupbyColumnCellValue = row[sqlGroupbyColumnKey];
|
|
1309
1317
|
const groupbyColumnCellValueKey = await _SQLStatisticsUtils.getGroupLabelFromDB(groupbyColumnCellValue, groupbyColumn, chart.config);
|
|
1310
|
-
if (
|
|
1318
|
+
if (_baseUtils.default.isValidCellValue(groupbyColumnCellValueKey, includeEmpty)) {
|
|
1311
1319
|
const columnGroupbyColumnCellValue = row[sqlColumnGroupbyColumnKey];
|
|
1312
1320
|
const columnGroupbyColumnCellValueKey = await _SQLStatisticsUtils.getGroupLabelFromDB(columnGroupbyColumnCellValue, columnGroupbyColumn, chart.config);
|
|
1313
1321
|
const count = row[sqlSummaryColumnKey];
|
|
@@ -1345,7 +1353,7 @@ SQLStatisticsUtils.groupingTwoDimensionChartSQLResult2JavaScript = async (chart,
|
|
|
1345
1353
|
const bEmpty = isEmptyGroupName(b);
|
|
1346
1354
|
if (aEmpty && !bEmpty) return 1;
|
|
1347
1355
|
if (!aEmpty && bEmpty) return -1;
|
|
1348
|
-
return
|
|
1356
|
+
return "".concat(a !== null && a !== void 0 ? a : '').localeCompare("".concat(b !== null && b !== void 0 ? b : ''));
|
|
1349
1357
|
});
|
|
1350
1358
|
nameGroupMap.forEach((groupSet, name) => {
|
|
1351
1359
|
groupNameList.forEach(groupName => {
|
|
@@ -1382,15 +1390,15 @@ SQLStatisticsUtils.groupingTwoDimensionChartSQLResult2JavaScript = async (chart,
|
|
|
1382
1390
|
const aOrder = groupOrder.has(a.group_name) ? groupOrder.get(a.group_name) : Number.MAX_SAFE_INTEGER;
|
|
1383
1391
|
const bOrder = groupOrder.has(b.group_name) ? groupOrder.get(b.group_name) : Number.MAX_SAFE_INTEGER;
|
|
1384
1392
|
if (aOrder !== bOrder) return aOrder - bOrder;
|
|
1385
|
-
return
|
|
1393
|
+
return "".concat((_a$group_name = a.group_name) !== null && _a$group_name !== void 0 ? _a$group_name : '').localeCompare("".concat((_b$group_name = b.group_name) !== null && _b$group_name !== void 0 ? _b$group_name : ''));
|
|
1386
1394
|
});
|
|
1387
1395
|
orderedResult.push(...items);
|
|
1388
1396
|
});
|
|
1389
1397
|
result.splice(0, result.length, ...orderedResult);
|
|
1390
|
-
|
|
1391
|
-
await
|
|
1392
|
-
await
|
|
1393
|
-
|
|
1398
|
+
_baseUtils.default.sortCharts(result, groupbyColumn, 'name');
|
|
1399
|
+
await _baseUtils.default.updateTableViewList(result, groupbyColumn, 'name', 'color', false, true);
|
|
1400
|
+
await _baseUtils.default.updateTableViewList(result, columnGroupbyColumn, 'group_name', 'group_color', false, false);
|
|
1401
|
+
_baseUtils.default.updateSummaryValuePrecision(result, summaryColumn, 'value');
|
|
1394
1402
|
return result;
|
|
1395
1403
|
};
|
|
1396
1404
|
SQLStatisticsUtils.groupingChartSQLResult2JavaScript = async (chart, sqlRows, chartSQLMap, columnMap, tables) => {
|
|
@@ -1409,7 +1417,7 @@ SQLStatisticsUtils.groupingChartSQLResult2JavaScript = async (chart, sqlRows, ch
|
|
|
1409
1417
|
summaryColumn,
|
|
1410
1418
|
summaryColumnsWithMethod
|
|
1411
1419
|
} = columnMap;
|
|
1412
|
-
if (y_axis_summary_type === CHART_SUMMARY_TYPE.COUNT) {
|
|
1420
|
+
if (y_axis_summary_type === _constants.CHART_SUMMARY_TYPE.COUNT) {
|
|
1413
1421
|
if (!columnGroupbyColumn) return await _SQLStatisticsUtils.basicChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables);
|
|
1414
1422
|
return await _SQLStatisticsUtils.groupingTwoDimensionChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables);
|
|
1415
1423
|
}
|
|
@@ -1421,11 +1429,11 @@ SQLStatisticsUtils.groupingChartSQLResult2JavaScript = async (chart, sqlRows, ch
|
|
|
1421
1429
|
summaryColumns
|
|
1422
1430
|
} = chartSQLMap;
|
|
1423
1431
|
let result = [];
|
|
1424
|
-
const isGroupbyColumnDataAsAnArray = findIfColumnDataIsArray(groupbyColumn);
|
|
1432
|
+
const isGroupbyColumnDataAsAnArray = (0, _baseUtils.findIfColumnDataIsArray)(groupbyColumn);
|
|
1425
1433
|
for (const row of sqlRows) {
|
|
1426
1434
|
const groupbyColumnCellValue = row[sqlGroupbyColumnKey];
|
|
1427
1435
|
const groupbyColumnCellValueKey = await _SQLStatisticsUtils.getGroupLabelFromDB(groupbyColumnCellValue, groupbyColumn, chart.config);
|
|
1428
|
-
if (
|
|
1436
|
+
if (_baseUtils.default.isValidCellValue(groupbyColumnCellValueKey, includeEmpty)) {
|
|
1429
1437
|
Object.keys(summaryColumns).forEach(sqlSummaryColumnName => {
|
|
1430
1438
|
const {
|
|
1431
1439
|
sqlSummaryColumnKey,
|
|
@@ -1446,8 +1454,8 @@ SQLStatisticsUtils.groupingChartSQLResult2JavaScript = async (chart, sqlRows, ch
|
|
|
1446
1454
|
});
|
|
1447
1455
|
}
|
|
1448
1456
|
}
|
|
1449
|
-
|
|
1450
|
-
await
|
|
1457
|
+
_baseUtils.default.sortCharts(result, groupbyColumn, 'name');
|
|
1458
|
+
await _baseUtils.default.updateTableViewList(result, groupbyColumn, 'name', 'color', false, true);
|
|
1451
1459
|
const allSummaryColumns = [summaryColumn].concat(summaryColumnsWithMethod.map(item => item.column));
|
|
1452
1460
|
|
|
1453
1461
|
// format precision of enabled precision columns
|
|
@@ -1460,7 +1468,7 @@ SQLStatisticsUtils.groupingChartSQLResult2JavaScript = async (chart, sqlRows, ch
|
|
|
1460
1468
|
});
|
|
1461
1469
|
Object.values(columnNameResultMap).forEach(items => {
|
|
1462
1470
|
const targetColumn = allSummaryColumns.find(column => column.name === items[0].group_name);
|
|
1463
|
-
|
|
1471
|
+
_baseUtils.default.updateSummaryValuePrecision(items, targetColumn, 'value');
|
|
1464
1472
|
});
|
|
1465
1473
|
return result;
|
|
1466
1474
|
}
|
|
@@ -1483,11 +1491,11 @@ SQLStatisticsUtils.heatMapChartSQLResult2JavaScript = (chart, sqlRows, chartSQLM
|
|
|
1483
1491
|
if (currentValue || currentValue === 0) {
|
|
1484
1492
|
let value = item[sqlSummaryColumnKey];
|
|
1485
1493
|
if (summaryColumn) {
|
|
1486
|
-
value = formatNumericValue(value, summaryColumn);
|
|
1494
|
+
value = (0, _columnUtils.formatNumericValue)(value, summaryColumn);
|
|
1487
1495
|
}
|
|
1488
1496
|
const name = typeof currentValue === 'string' ? currentValue : currentValue.country_region;
|
|
1489
1497
|
result.push({
|
|
1490
|
-
name:
|
|
1498
|
+
name: (0, _dayjs.default)(name).format('YYYY-MM-DD'),
|
|
1491
1499
|
value
|
|
1492
1500
|
});
|
|
1493
1501
|
}
|
|
@@ -1499,7 +1507,7 @@ SQLStatisticsUtils.heatMapChartSQLResult2JavaScript = (chart, sqlRows, chartSQLM
|
|
|
1499
1507
|
data.push(item);
|
|
1500
1508
|
return;
|
|
1501
1509
|
}
|
|
1502
|
-
const year =
|
|
1510
|
+
const year = (0, _dayjs.default)(item.name).year();
|
|
1503
1511
|
data.push({
|
|
1504
1512
|
...item,
|
|
1505
1513
|
year
|
|
@@ -1537,7 +1545,7 @@ SQLStatisticsUtils.mirrorMapChartSQLResult2JavaScript = async (chart, sqlRows, c
|
|
|
1537
1545
|
const {
|
|
1538
1546
|
sqlSummaryColumnKey
|
|
1539
1547
|
} = chartSQLMap;
|
|
1540
|
-
const isAdvanced = summary_type === CHART_SUMMARY_TYPE.ADVANCED;
|
|
1548
|
+
const isAdvanced = summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED;
|
|
1541
1549
|
const newResult = [];
|
|
1542
1550
|
const groupData = _SQLStatisticsUtils.getGroupData(sqlRows, columnGroupbyColumn);
|
|
1543
1551
|
if (groupData.length > 0) {
|
|
@@ -1553,8 +1561,8 @@ SQLStatisticsUtils.mirrorMapChartSQLResult2JavaScript = async (chart, sqlRows, c
|
|
|
1553
1561
|
let value = item[sqlSummaryColumnKey];
|
|
1554
1562
|
let formattedValue = value;
|
|
1555
1563
|
if (isAdvanced) {
|
|
1556
|
-
value = formatNumericValue(value, summaryColumn);
|
|
1557
|
-
formattedValue = getFormattedValue(value, summary_column_key, summary_method);
|
|
1564
|
+
value = (0, _columnUtils.formatNumericValue)(value, summaryColumn);
|
|
1565
|
+
formattedValue = (0, _columnUtils.getFormattedValue)(value, summary_column_key, summary_method);
|
|
1558
1566
|
}
|
|
1559
1567
|
newResult.push({
|
|
1560
1568
|
name: label,
|
|
@@ -1562,7 +1570,7 @@ SQLStatisticsUtils.mirrorMapChartSQLResult2JavaScript = async (chart, sqlRows, c
|
|
|
1562
1570
|
value: equal2GroupData0 ? value : 0,
|
|
1563
1571
|
formatted_value: equal2GroupData0 ? formattedValue : 0,
|
|
1564
1572
|
group_name: ((_groupData$ = groupData[0]) === null || _groupData$ === void 0 ? void 0 : _groupData$.name) || '',
|
|
1565
|
-
color: ((_groupData$2 = groupData[0]) === null || _groupData$2 === void 0 ? void 0 : _groupData$2.color) || STYLE_COLORS[0].colors[0],
|
|
1573
|
+
color: ((_groupData$2 = groupData[0]) === null || _groupData$2 === void 0 ? void 0 : _groupData$2.color) || _constants.STYLE_COLORS[0].colors[0],
|
|
1566
1574
|
rows: [item]
|
|
1567
1575
|
});
|
|
1568
1576
|
groupData[1] && newResult.push({
|
|
@@ -1571,7 +1579,7 @@ SQLStatisticsUtils.mirrorMapChartSQLResult2JavaScript = async (chart, sqlRows, c
|
|
|
1571
1579
|
value: equal2GroupData1 ? value : 0,
|
|
1572
1580
|
formatted_value: equal2GroupData1 ? formattedValue : 0,
|
|
1573
1581
|
group_name: ((_groupData$3 = groupData[1]) === null || _groupData$3 === void 0 ? void 0 : _groupData$3.name) || '',
|
|
1574
|
-
color: ((_groupData$4 = groupData[1]) === null || _groupData$4 === void 0 ? void 0 : _groupData$4.color) || STYLE_COLORS[0].colors[0],
|
|
1582
|
+
color: ((_groupData$4 = groupData[1]) === null || _groupData$4 === void 0 ? void 0 : _groupData$4.color) || _constants.STYLE_COLORS[0].colors[0],
|
|
1575
1583
|
rows: [item]
|
|
1576
1584
|
});
|
|
1577
1585
|
}
|
|
@@ -1602,14 +1610,14 @@ SQLStatisticsUtils.trendMapChartSQLResult2JavaScript = (chart, sqlRows, chartSQL
|
|
|
1602
1610
|
const {
|
|
1603
1611
|
compareValue: value1,
|
|
1604
1612
|
comparedValue: value2
|
|
1605
|
-
} =
|
|
1613
|
+
} = _baseUtils.default.summaryDurationResult(sqlRows, date_granularity, summary_type, summary_method, true, sqlGroupbyColumnKey, sqlSummaryColumnKey);
|
|
1606
1614
|
compareValue = value1;
|
|
1607
1615
|
comparedValue = value2;
|
|
1608
1616
|
} else {
|
|
1609
1617
|
const {
|
|
1610
1618
|
compareDate,
|
|
1611
1619
|
comparedDate
|
|
1612
|
-
} = getCompareDate(date_granularity, 'app');
|
|
1620
|
+
} = (0, _trendUtils.getCompareDate)(date_granularity, 'app');
|
|
1613
1621
|
for (const item of sqlRows) {
|
|
1614
1622
|
if (!item[sqlGroupbyColumnKey]) continue;
|
|
1615
1623
|
const currentDate = item[sqlGroupbyColumnKey] + '';
|
|
@@ -1639,11 +1647,11 @@ SQLStatisticsUtils.trendMapChartSQLResult2JavaScript = (chart, sqlRows, chartSQL
|
|
|
1639
1647
|
}
|
|
1640
1648
|
let type;
|
|
1641
1649
|
if (compareValue > comparedValue) {
|
|
1642
|
-
type = TREND_TYPES.UP;
|
|
1650
|
+
type = _constants.TREND_TYPES.UP;
|
|
1643
1651
|
} else if (compareValue < comparedValue) {
|
|
1644
|
-
type = TREND_TYPES.DOWN;
|
|
1652
|
+
type = _constants.TREND_TYPES.DOWN;
|
|
1645
1653
|
} else if (compareValue === comparedValue) {
|
|
1646
|
-
type = TREND_TYPES.EQUAL;
|
|
1654
|
+
type = _constants.TREND_TYPES.EQUAL;
|
|
1647
1655
|
}
|
|
1648
1656
|
if (compareValue === 0 && comparedValue === 0) {
|
|
1649
1657
|
result = '0%';
|
|
@@ -1660,15 +1668,15 @@ SQLStatisticsUtils.sqlResult2JavaScript = async (chart, sqlRows, chartSQLMap, co
|
|
|
1660
1668
|
type
|
|
1661
1669
|
} = chart.config;
|
|
1662
1670
|
switch (type) {
|
|
1663
|
-
case CHART_TYPE.TABLE_ELEMENT:
|
|
1671
|
+
case _constants.CHART_TYPE.TABLE_ELEMENT:
|
|
1664
1672
|
{
|
|
1665
1673
|
return {
|
|
1666
1674
|
result: sqlRows
|
|
1667
1675
|
};
|
|
1668
1676
|
}
|
|
1669
|
-
case CHART_TYPE.TABLE:
|
|
1677
|
+
case _constants.CHART_TYPE.TABLE:
|
|
1670
1678
|
{
|
|
1671
|
-
sqlRows =
|
|
1679
|
+
sqlRows = _baseUtils.default.recalculateAvg(sqlRows);
|
|
1672
1680
|
const {
|
|
1673
1681
|
column_groupby_column_key
|
|
1674
1682
|
} = chart.config;
|
|
@@ -1684,106 +1692,106 @@ SQLStatisticsUtils.sqlResult2JavaScript = async (chart, sqlRows, chartSQLMap, co
|
|
|
1684
1692
|
}
|
|
1685
1693
|
return result;
|
|
1686
1694
|
}
|
|
1687
|
-
case CHART_TYPE.PIE:
|
|
1688
|
-
case CHART_TYPE.RING:
|
|
1689
|
-
case CHART_TYPE.TREE_MAP:
|
|
1695
|
+
case _constants.CHART_TYPE.PIE:
|
|
1696
|
+
case _constants.CHART_TYPE.RING:
|
|
1697
|
+
case _constants.CHART_TYPE.TREE_MAP:
|
|
1690
1698
|
{
|
|
1691
1699
|
return {
|
|
1692
1700
|
result: await _SQLStatisticsUtils.basicChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1693
1701
|
};
|
|
1694
1702
|
}
|
|
1695
|
-
case CHART_TYPE.BASIC_NUMBER_CARD:
|
|
1703
|
+
case _constants.CHART_TYPE.BASIC_NUMBER_CARD:
|
|
1696
1704
|
{
|
|
1697
1705
|
return {
|
|
1698
1706
|
result: _SQLStatisticsUtils.basicNumberCardSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1699
1707
|
};
|
|
1700
1708
|
}
|
|
1701
|
-
case CHART_TYPE.DASHBOARD:
|
|
1709
|
+
case _constants.CHART_TYPE.DASHBOARD:
|
|
1702
1710
|
{
|
|
1703
1711
|
return {
|
|
1704
1712
|
result: _SQLStatisticsUtils.dashboardSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1705
1713
|
};
|
|
1706
1714
|
}
|
|
1707
|
-
case CHART_TYPE.BAR:
|
|
1708
|
-
case CHART_TYPE.LINE:
|
|
1709
|
-
case CHART_TYPE.HORIZONTAL_BAR:
|
|
1710
|
-
case CHART_TYPE.AREA:
|
|
1711
|
-
case CHART_TYPE.FUNNEL:
|
|
1715
|
+
case _constants.CHART_TYPE.BAR:
|
|
1716
|
+
case _constants.CHART_TYPE.LINE:
|
|
1717
|
+
case _constants.CHART_TYPE.HORIZONTAL_BAR:
|
|
1718
|
+
case _constants.CHART_TYPE.AREA:
|
|
1719
|
+
case _constants.CHART_TYPE.FUNNEL:
|
|
1712
1720
|
{
|
|
1713
1721
|
return {
|
|
1714
1722
|
result: await _SQLStatisticsUtils.basicChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1715
1723
|
};
|
|
1716
1724
|
}
|
|
1717
|
-
case CHART_TYPE.COMPLETENESS:
|
|
1718
|
-
case CHART_TYPE.COMPLETENESS_GROUP:
|
|
1725
|
+
case _constants.CHART_TYPE.COMPLETENESS:
|
|
1726
|
+
case _constants.CHART_TYPE.COMPLETENESS_GROUP:
|
|
1719
1727
|
{
|
|
1720
1728
|
const result = await _SQLStatisticsUtils.completenessSQlResult(chart, sqlRows, chartSQLMap, tables);
|
|
1721
1729
|
return {
|
|
1722
1730
|
result
|
|
1723
1731
|
};
|
|
1724
1732
|
}
|
|
1725
|
-
case CHART_TYPE.COMBINATION:
|
|
1733
|
+
case _constants.CHART_TYPE.COMBINATION:
|
|
1726
1734
|
{
|
|
1727
1735
|
return {
|
|
1728
1736
|
result: await _SQLStatisticsUtils.combinationSQLResult2Javascript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1729
1737
|
};
|
|
1730
1738
|
}
|
|
1731
|
-
case CHART_TYPE.COMPARE_BAR:
|
|
1739
|
+
case _constants.CHART_TYPE.COMPARE_BAR:
|
|
1732
1740
|
{
|
|
1733
1741
|
return {
|
|
1734
1742
|
result: await _SQLStatisticsUtils.compareSQLResult2Javascript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1735
1743
|
};
|
|
1736
1744
|
}
|
|
1737
|
-
case CHART_TYPE.BAR_GROUP:
|
|
1738
|
-
case CHART_TYPE.BAR_STACK:
|
|
1739
|
-
case CHART_TYPE.LINE_GROUP:
|
|
1740
|
-
case CHART_TYPE.AREA_GROUP:
|
|
1741
|
-
case CHART_TYPE.HORIZONTAL_GROUP_BAR:
|
|
1742
|
-
case CHART_TYPE.STACKED_HORIZONTAL_BAR:
|
|
1745
|
+
case _constants.CHART_TYPE.BAR_GROUP:
|
|
1746
|
+
case _constants.CHART_TYPE.BAR_STACK:
|
|
1747
|
+
case _constants.CHART_TYPE.LINE_GROUP:
|
|
1748
|
+
case _constants.CHART_TYPE.AREA_GROUP:
|
|
1749
|
+
case _constants.CHART_TYPE.HORIZONTAL_GROUP_BAR:
|
|
1750
|
+
case _constants.CHART_TYPE.STACKED_HORIZONTAL_BAR:
|
|
1743
1751
|
{
|
|
1744
1752
|
return {
|
|
1745
1753
|
result: await _SQLStatisticsUtils.groupingChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1746
1754
|
};
|
|
1747
1755
|
}
|
|
1748
|
-
case CHART_TYPE.SCATTER:
|
|
1756
|
+
case _constants.CHART_TYPE.SCATTER:
|
|
1749
1757
|
{
|
|
1750
1758
|
return {
|
|
1751
1759
|
result: await _SQLStatisticsUtils.scatterSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1752
1760
|
};
|
|
1753
1761
|
}
|
|
1754
|
-
case CHART_TYPE.BAR_CUSTOM:
|
|
1762
|
+
case _constants.CHART_TYPE.BAR_CUSTOM:
|
|
1755
1763
|
{
|
|
1756
1764
|
return {
|
|
1757
1765
|
result: await _SQLStatisticsUtils.customChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables, params)
|
|
1758
1766
|
};
|
|
1759
1767
|
}
|
|
1760
|
-
case CHART_TYPE.MAP:
|
|
1761
|
-
case CHART_TYPE.MAP_BUBBLE:
|
|
1768
|
+
case _constants.CHART_TYPE.MAP:
|
|
1769
|
+
case _constants.CHART_TYPE.MAP_BUBBLE:
|
|
1762
1770
|
{
|
|
1763
1771
|
return {
|
|
1764
1772
|
result: _SQLStatisticsUtils.mapSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1765
1773
|
};
|
|
1766
1774
|
}
|
|
1767
|
-
case CHART_TYPE.WORLD_MAP:
|
|
1768
|
-
case CHART_TYPE.WORLD_MAP_BUBBLE:
|
|
1775
|
+
case _constants.CHART_TYPE.WORLD_MAP:
|
|
1776
|
+
case _constants.CHART_TYPE.WORLD_MAP_BUBBLE:
|
|
1769
1777
|
{
|
|
1770
1778
|
return {
|
|
1771
1779
|
result: _SQLStatisticsUtils.worldMapSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1772
1780
|
};
|
|
1773
1781
|
}
|
|
1774
|
-
case CHART_TYPE.HEAT_MAP:
|
|
1782
|
+
case _constants.CHART_TYPE.HEAT_MAP:
|
|
1775
1783
|
{
|
|
1776
1784
|
return {
|
|
1777
1785
|
result: _SQLStatisticsUtils.heatMapChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1778
1786
|
};
|
|
1779
1787
|
}
|
|
1780
|
-
case CHART_TYPE.MIRROR:
|
|
1788
|
+
case _constants.CHART_TYPE.MIRROR:
|
|
1781
1789
|
{
|
|
1782
1790
|
return {
|
|
1783
1791
|
result: await _SQLStatisticsUtils.mirrorMapChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1784
1792
|
};
|
|
1785
1793
|
}
|
|
1786
|
-
case CHART_TYPE.TREND:
|
|
1794
|
+
case _constants.CHART_TYPE.TREND:
|
|
1787
1795
|
{
|
|
1788
1796
|
return {
|
|
1789
1797
|
result: _SQLStatisticsUtils.trendMapChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
@@ -1813,23 +1821,23 @@ SQLStatisticsUtils.completenessSQlResult = async (chart, sqlRows, chartSQLMap, t
|
|
|
1813
1821
|
target_column,
|
|
1814
1822
|
column_groupby_column
|
|
1815
1823
|
} = sqlColumns;
|
|
1816
|
-
const nameColumnDataAsAnArray = findIfColumnDataIsArray(name_column);
|
|
1824
|
+
const nameColumnDataAsAnArray = (0, _baseUtils.findIfColumnDataIsArray)(name_column);
|
|
1817
1825
|
// group by name_column, so it can only have one value
|
|
1818
|
-
let originalSqlRows = cloneDeep(sqlRows);
|
|
1826
|
+
let originalSqlRows = (0, _lodashEs.cloneDeep)(sqlRows);
|
|
1819
1827
|
if (nameColumnDataAsAnArray) {
|
|
1820
1828
|
sqlRows.forEach(row => {
|
|
1821
1829
|
var _row$name_column$key;
|
|
1822
1830
|
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];
|
|
1823
1831
|
});
|
|
1824
1832
|
}
|
|
1825
|
-
await
|
|
1826
|
-
if (sqlColumnGroupbyColumnKey) await
|
|
1833
|
+
await _baseUtils.default.updateTableViewList(sqlRows, name_column, name_column.key, 'color', false, true);
|
|
1834
|
+
if (sqlColumnGroupbyColumnKey) await _baseUtils.default.updateTableViewList(sqlRows, column_groupby_column, sqlColumnGroupbyColumnKey, 'color', false, false);
|
|
1827
1835
|
const res = [];
|
|
1828
1836
|
sqlRows.forEach((row, index) => {
|
|
1829
1837
|
const nameValue = row[name_column.key];
|
|
1830
|
-
const targetValue = row[
|
|
1831
|
-
const completedValue = row[
|
|
1832
|
-
const groupby = row[sqlColumnGroupbyColumnKey] ||
|
|
1838
|
+
const targetValue = row["SUM(".concat(target_column.name, ")")];
|
|
1839
|
+
const completedValue = row["SUM(".concat(completed_column.name, ")")];
|
|
1840
|
+
const groupby = row[sqlColumnGroupbyColumnKey] || _intl.default.get('Empty');
|
|
1833
1841
|
let completedRate;
|
|
1834
1842
|
if (!targetValue && completedValue) {
|
|
1835
1843
|
completedRate = 100;
|
|
@@ -1846,7 +1854,7 @@ SQLStatisticsUtils.completenessSQlResult = async (chart, sqlRows, chartSQLMap, t
|
|
|
1846
1854
|
original_name,
|
|
1847
1855
|
group_name: 'completed',
|
|
1848
1856
|
groupby,
|
|
1849
|
-
color: row.color || CHART_STYLE_COLORS[0],
|
|
1857
|
+
color: row.color || _constants.CHART_STYLE_COLORS[0],
|
|
1850
1858
|
value: completedValue,
|
|
1851
1859
|
rows: [originalSqlRows[index]]
|
|
1852
1860
|
});
|
|
@@ -1875,7 +1883,7 @@ SQLStatisticsUtils.completenessSQlResult = async (chart, sqlRows, chartSQLMap, t
|
|
|
1875
1883
|
const deduplicatedRes = [];
|
|
1876
1884
|
const keyMap = {};
|
|
1877
1885
|
res.forEach(item => {
|
|
1878
|
-
const key =
|
|
1886
|
+
const key = "".concat(item.name, "_").concat(item.group_name);
|
|
1879
1887
|
if (!keyMap[key]) {
|
|
1880
1888
|
keyMap[key] = item;
|
|
1881
1889
|
deduplicatedRes.push(item);
|
|
@@ -1904,11 +1912,11 @@ SQLStatisticsUtils.scatterSQLResult2JavaScript = async (chart, sqlRows, chartSQL
|
|
|
1904
1912
|
summaryColumn
|
|
1905
1913
|
} = columnMap;
|
|
1906
1914
|
// format sql rows
|
|
1907
|
-
const originalSqlRows = cloneDeep(sqlRows);
|
|
1915
|
+
const originalSqlRows = (0, _lodashEs.cloneDeep)(sqlRows);
|
|
1908
1916
|
const isScatter = true;
|
|
1909
|
-
await
|
|
1910
|
-
await
|
|
1911
|
-
if (sqlColumnGroupbyColumnKey) await
|
|
1917
|
+
await _baseUtils.default.updateTableViewList(sqlRows, groupbyColumn, groupbyColumn.key, 'color', isScatter, true);
|
|
1918
|
+
await _baseUtils.default.updateTableViewList(sqlRows, summaryColumn, summaryColumn.key, 'color', isScatter, true);
|
|
1919
|
+
if (sqlColumnGroupbyColumnKey) await _baseUtils.default.updateTableViewList(sqlRows, columnGroupbyColumn, sqlColumnGroupbyColumnKey, 'color', isScatter, false);
|
|
1912
1920
|
const res = [];
|
|
1913
1921
|
sqlRows.forEach((row, index) => {
|
|
1914
1922
|
const xValue = row[sqlXColumnKey];
|
|
@@ -1930,7 +1938,7 @@ SQLStatisticsUtils.scatterSQLResult2JavaScript = async (chart, sqlRows, chartSQL
|
|
|
1930
1938
|
}
|
|
1931
1939
|
});
|
|
1932
1940
|
});
|
|
1933
|
-
|
|
1941
|
+
_baseUtils.default.sortCharts(res, groupbyColumn, 'name');
|
|
1934
1942
|
return res;
|
|
1935
1943
|
};
|
|
1936
1944
|
SQLStatisticsUtils.mapSQLResult2JavaScript = (chart, sqlRows, chartSQLMap, columnMap, tables) => {
|
|
@@ -2028,8 +2036,8 @@ SQLStatisticsUtils.worldMapSQLResult2JavaScript = (chart, sqlRows, chartSQLMap,
|
|
|
2028
2036
|
let value = nameValueMap[name];
|
|
2029
2037
|
let formatted_value = value;
|
|
2030
2038
|
if (summary_type === 'advanced') {
|
|
2031
|
-
value = formatNumericValue(value, summaryColumn);
|
|
2032
|
-
formatted_value = getFormattedValue(value, summaryColumn, summary_method);
|
|
2039
|
+
value = (0, _columnUtils.formatNumericValue)(value, summaryColumn);
|
|
2040
|
+
formatted_value = (0, _columnUtils.getFormattedValue)(value, summaryColumn, summary_method);
|
|
2033
2041
|
}
|
|
2034
2042
|
acc.push({
|
|
2035
2043
|
name,
|
|
@@ -2045,8 +2053,8 @@ SQLStatisticsUtils.worldMapSQLResult2JavaScript = (chart, sqlRows, chartSQLMap,
|
|
|
2045
2053
|
let value = item[sqlSummaryColumnKey];
|
|
2046
2054
|
let formatted_value = value;
|
|
2047
2055
|
if (summary_type === 'advanced') {
|
|
2048
|
-
value = formatNumericValue(value, summaryColumn);
|
|
2049
|
-
formatted_value = getFormattedValue(value, summaryColumn, summary_method);
|
|
2056
|
+
value = (0, _columnUtils.formatNumericValue)(value, summaryColumn);
|
|
2057
|
+
formatted_value = (0, _columnUtils.getFormattedValue)(value, summaryColumn, summary_method);
|
|
2050
2058
|
}
|
|
2051
2059
|
if (currentValue) {
|
|
2052
2060
|
const name = typeof currentValue === 'string' ? currentValue : currentValue.country_region;
|
|
@@ -2064,7 +2072,7 @@ SQLStatisticsUtils.calculateChart = async (chart, value, callback, sqlRows) => {
|
|
|
2064
2072
|
const {
|
|
2065
2073
|
tables
|
|
2066
2074
|
} = value;
|
|
2067
|
-
if (!
|
|
2075
|
+
if (!_baseUtils.default.isValidExistChart(tables, chart)) {
|
|
2068
2076
|
const tip_message = 'Please_complete_the_chart_configuration_first';
|
|
2069
2077
|
return callback && callback('', tip_message, null);
|
|
2070
2078
|
}
|
|
@@ -2074,7 +2082,7 @@ SQLStatisticsUtils.calculateChart = async (chart, value, callback, sqlRows) => {
|
|
|
2074
2082
|
type
|
|
2075
2083
|
} = chart;
|
|
2076
2084
|
const chartType = config.type;
|
|
2077
|
-
const newConfig =
|
|
2085
|
+
const newConfig = _baseUtils.default.convertConfig(config);
|
|
2078
2086
|
const newChart = {
|
|
2079
2087
|
id,
|
|
2080
2088
|
config: newConfig,
|
|
@@ -2083,11 +2091,11 @@ SQLStatisticsUtils.calculateChart = async (chart, value, callback, sqlRows) => {
|
|
|
2083
2091
|
const {
|
|
2084
2092
|
table_id
|
|
2085
2093
|
} = config;
|
|
2086
|
-
const table = getTableById(tables, table_id);
|
|
2087
|
-
const groupbyColumn =
|
|
2088
|
-
const columnGroupbyColumn =
|
|
2089
|
-
const summaryColumn =
|
|
2090
|
-
const summaryColumnsWithMethod =
|
|
2094
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
2095
|
+
const groupbyColumn = _baseUtils.default.getGroupColumn(table, newChart);
|
|
2096
|
+
const columnGroupbyColumn = _baseUtils.default.getColumnGroupColumn(table, newChart);
|
|
2097
|
+
const summaryColumn = _baseUtils.default.getSummaryColumn(table, newChart);
|
|
2098
|
+
const summaryColumnsWithMethod = _baseUtils.default.getSummaryColumnsWithMethod(table, newChart);
|
|
2091
2099
|
// summary column is referring to single_numeric_column, but summaryColumns is referring to multiple_numeric_column
|
|
2092
2100
|
// single_numeric_column is used as the first setting option when switched to multiple_numeric_column
|
|
2093
2101
|
const columnMap = {
|
|
@@ -2099,7 +2107,7 @@ SQLStatisticsUtils.calculateChart = async (chart, value, callback, sqlRows) => {
|
|
|
2099
2107
|
const chartTableColumns = table.columns;
|
|
2100
2108
|
let chartSQLMap = null;
|
|
2101
2109
|
try {
|
|
2102
|
-
chartSQLMap = chartColumn2SqlColumn(newChart, table);
|
|
2110
|
+
chartSQLMap = (0, _sql.chartColumn2SqlColumn)(newChart, table);
|
|
2103
2111
|
} catch (error) {
|
|
2104
2112
|
let error_message = 'There_are_some_problems_with_the_filters';
|
|
2105
2113
|
if (error.message) error_message = error.message;
|
|
@@ -2108,7 +2116,7 @@ SQLStatisticsUtils.calculateChart = async (chart, value, callback, sqlRows) => {
|
|
|
2108
2116
|
const tipMessage = 'There_are_no_statistic_results_yet';
|
|
2109
2117
|
|
|
2110
2118
|
// Custom Bar
|
|
2111
|
-
if (chartType === CHART_TYPE.BAR_CUSTOM) {
|
|
2119
|
+
if (chartType === _constants.CHART_TYPE.BAR_CUSTOM) {
|
|
2112
2120
|
const result = [];
|
|
2113
2121
|
for (const [index, item] of sqlRows.entries()) {
|
|
2114
2122
|
if (item.length !== 0) {
|
|
@@ -2135,14 +2143,14 @@ SQLStatisticsUtils.calculateChart = async (chart, value, callback, sqlRows) => {
|
|
|
2135
2143
|
}
|
|
2136
2144
|
|
|
2137
2145
|
// map is special, still need to show map even data is empty
|
|
2138
|
-
if (!Array.isArray(sqlRows) || sqlRows.length === 0 && !MAP_CHART_TYPES.includes(chartType)) {
|
|
2146
|
+
if (!Array.isArray(sqlRows) || sqlRows.length === 0 && !_constants.MAP_CHART_TYPES.includes(chartType)) {
|
|
2139
2147
|
callback && callback('', tipMessage, null);
|
|
2140
2148
|
return;
|
|
2141
2149
|
}
|
|
2142
2150
|
const chartResult = await _SQLStatisticsUtils.sqlResult2JavaScript(newChart, sqlRows, chartSQLMap, columnMap, tables);
|
|
2143
2151
|
|
|
2144
2152
|
// map is special
|
|
2145
|
-
if (
|
|
2153
|
+
if (_baseUtils.default.imEmptyChartResult(chartResult) && !chartType.includes('map')) {
|
|
2146
2154
|
callback && callback('', tipMessage, null);
|
|
2147
2155
|
return;
|
|
2148
2156
|
}
|
|
@@ -2162,7 +2170,7 @@ SQLStatisticsUtils.calculateStaticChart = (chart, value, statisticalResult, call
|
|
|
2162
2170
|
config
|
|
2163
2171
|
} = chart;
|
|
2164
2172
|
const tables = value.tables;
|
|
2165
|
-
const newConfig =
|
|
2173
|
+
const newConfig = _baseUtils.default.convertConfig(config);
|
|
2166
2174
|
const newChart = {
|
|
2167
2175
|
id,
|
|
2168
2176
|
config: newConfig
|
|
@@ -2170,31 +2178,31 @@ SQLStatisticsUtils.calculateStaticChart = (chart, value, statisticalResult, call
|
|
|
2170
2178
|
const {
|
|
2171
2179
|
type
|
|
2172
2180
|
} = config;
|
|
2173
|
-
if ([CHART_TYPE.TABLE, CHART_TYPE.TABLE_ELEMENT].includes(type)) return callback && callback('', '', statisticalResult);
|
|
2181
|
+
if ([_constants.CHART_TYPE.TABLE, _constants.CHART_TYPE.TABLE_ELEMENT].includes(type)) return callback && callback('', '', statisticalResult);
|
|
2174
2182
|
const {
|
|
2175
2183
|
table_id,
|
|
2176
2184
|
sort_type
|
|
2177
2185
|
} = config;
|
|
2178
|
-
const table = getTableById(tables, table_id);
|
|
2179
|
-
const groupbyColumn =
|
|
2186
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
2187
|
+
const groupbyColumn = _baseUtils.default.getGroupColumn(table, newChart);
|
|
2180
2188
|
let result = statisticalResult.result;
|
|
2181
2189
|
if (!result) {
|
|
2182
2190
|
const tip_message = 'There_are_no_statistic_results_yet';
|
|
2183
2191
|
return callback && callback('', tip_message, null);
|
|
2184
2192
|
}
|
|
2185
|
-
if (SUPPORT_DATA_SORT_CHART_TYPES.includes(type) && sort_type) {
|
|
2186
|
-
|
|
2193
|
+
if (_constants.SUPPORT_DATA_SORT_CHART_TYPES.includes(type) && sort_type) {
|
|
2194
|
+
_baseUtils.default.sortChartData(result, sort_type);
|
|
2187
2195
|
const newStatisticalResult = {
|
|
2188
2196
|
...statisticalResult,
|
|
2189
2197
|
result
|
|
2190
2198
|
};
|
|
2191
2199
|
return callback && callback('', '', newStatisticalResult);
|
|
2192
2200
|
}
|
|
2193
|
-
|
|
2201
|
+
_baseUtils.default.sortCharts(result, groupbyColumn, 'name');
|
|
2194
2202
|
const newStatisticalResult = {
|
|
2195
2203
|
...statisticalResult,
|
|
2196
2204
|
result
|
|
2197
2205
|
};
|
|
2198
2206
|
return callback && callback('', '', newStatisticalResult);
|
|
2199
2207
|
};
|
|
2200
|
-
|
|
2208
|
+
var _default = exports.default = SQLStatisticsUtils;
|