sea-chart 1.1.64 → 2.0.0
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 +13 -6
- package/dist/assets/css/sea-chart-d3-tooltip.css +64 -0
- 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 +17 -9
- package/dist/components/color-popover/color-rules-popover.js +33 -25
- 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 +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 +14 -7
- package/dist/components/popover/hide-column-popover/hide-column-popover.js +35 -27
- 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 +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 +63 -55
- package/dist/components/types-dialog/index.js +63 -55
- 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 +19 -12
- package/dist/editor/index.js +15 -12
- 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 +17 -10
- 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 +46 -42
- package/dist/settings/advance-bar-settings/index.js +20 -3
- package/dist/settings/advance-bar-settings/style-settings.js +73 -69
- package/dist/settings/bar-settings/data-settings.js +49 -45
- package/dist/settings/bar-settings/index.js +20 -3
- package/dist/settings/bar-settings/style-settings.js +59 -55
- 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 +65 -60
- package/dist/settings/combination-settings/index.js +20 -3
- package/dist/settings/combination-settings/style-settings.js +74 -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 +30 -22
- 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 +75 -58
- 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 +37 -29
- 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 +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 +25 -17
- package/dist/settings/widgets/basic-summary/index.js +66 -66
- package/dist/settings/widgets/chart-type/index.js +34 -19
- package/dist/settings/widgets/color-settings/index.js +80 -72
- package/dist/settings/widgets/common-data-settings.js +30 -25
- package/dist/settings/widgets/data-filter/index.js +40 -32
- 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 +29 -19
- package/dist/utils/cell-value-utils.js +11 -4
- package/dist/utils/chart-utils/base-utils.js +290 -279
- package/dist/utils/chart-utils/index.js +39 -26
- 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 +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 +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 +25 -18
- package/dist/utils/chart-utils/original-data-utils/trend-calculator.js +34 -27
- 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 +30 -18
- package/dist/utils/collaborator.js +13 -4
- package/dist/utils/color-utils.js +29 -18
- package/dist/utils/column-utils.js +88 -63
- package/dist/utils/common-utils.js +52 -27
- package/dist/utils/concurrency-manager.js +7 -1
- package/dist/utils/contexts.js +11 -4
- package/dist/utils/custom-g2.js +241 -212
- 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 +219 -53
- 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 +164 -152
- 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 +153 -143
- package/dist/utils/sql/index.js +27 -3
- package/dist/utils/trend-utils.js +45 -37
- package/dist/view/index.js +96 -87
- package/dist/view/title/index.js +23 -15
- package/dist/view/wrapper/area.js +46 -39
- package/dist/view/wrapper/bar-custom.js +40 -33
- package/dist/view/wrapper/bar-group.js +58 -51
- package/dist/view/wrapper/bar.js +42 -35
- package/dist/view/wrapper/basic-number-card.js +25 -17
- package/dist/view/wrapper/chart-component.js +116 -54
- package/dist/view/wrapper/combination.js +82 -75
- package/dist/view/wrapper/compare.js +57 -50
- package/dist/view/wrapper/completeness.js +32 -24
- package/dist/view/wrapper/dashboard.js +21 -14
- package/dist/view/wrapper/funnel.js +26 -19
- package/dist/view/wrapper/heat-map.js +60 -53
- package/dist/view/wrapper/horizontal-bar-group.js +48 -41
- package/dist/view/wrapper/horizontal-bar.js +39 -32
- package/dist/view/wrapper/horizontal-component.js +23 -15
- package/dist/view/wrapper/index.js +148 -96
- package/dist/view/wrapper/line-group.js +41 -34
- package/dist/view/wrapper/line.js +39 -32
- package/dist/view/wrapper/map.js +54 -46
- package/dist/view/wrapper/mirror.js +38 -31
- package/dist/view/wrapper/pie.js +50 -43
- package/dist/view/wrapper/ring.js +59 -52
- package/dist/view/wrapper/scatter.js +30 -22
- 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 +90 -82
- 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 +98 -89
- 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 +16 -8
- 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 +13 -6
- 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 +24 -16
- package/dist/view/wrapper/treemap.js +43 -36
- package/dist/view/wrapper/trend.js +47 -39
- package/dist/view/wrapper/world-map.js +60 -52
- package/dist/view/wrapper/wrappers-d3/bar.js +262 -0
- package/package.json +15 -17
|
@@ -1,81 +1,89 @@
|
|
|
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, DateUtils } 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';
|
|
18
26
|
SQLStatisticsUtils.getGroupLabelFromDB = async (cellValue, column, chart, isPivot) => {
|
|
19
|
-
const dateGranularity =
|
|
27
|
+
const dateGranularity = _baseUtils.default.getDateGranularityByType(chart);
|
|
20
28
|
const {
|
|
21
29
|
type,
|
|
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
|
// handled in sql query result
|
|
34
42
|
return cellValue;
|
|
35
43
|
}
|
|
36
|
-
case CellType.NUMBER:
|
|
44
|
+
case _dtableUtils.CellType.NUMBER:
|
|
37
45
|
{
|
|
38
46
|
if (!cellValue && cellValue !== 0) return null;
|
|
39
|
-
return getPrecisionNumber(cellValue, data);
|
|
47
|
+
return (0, _dtableUtils.getPrecisionNumber)(cellValue, data);
|
|
40
48
|
}
|
|
41
|
-
case CellType.SINGLE_SELECT:
|
|
49
|
+
case _dtableUtils.CellType.SINGLE_SELECT:
|
|
42
50
|
{
|
|
43
51
|
let isInvalidValue = data && data.options && data.options.findIndex(opt => opt.id === cellValue) < 0;
|
|
44
52
|
return isInvalidValue ? null : cellValue;
|
|
45
53
|
}
|
|
46
|
-
case CellType.MULTIPLE_SELECT:
|
|
54
|
+
case _dtableUtils.CellType.MULTIPLE_SELECT:
|
|
47
55
|
{
|
|
48
56
|
let options = data && data.options;
|
|
49
57
|
if (!Array.isArray(options) || options.length === 0) return [];
|
|
50
58
|
if (!Array.isArray(cellValue) || cellValue.length === 0) return [];
|
|
51
59
|
return cellValue.filter(optionId => options.find(option => option.id === optionId));
|
|
52
60
|
}
|
|
53
|
-
case CellType.COLLABORATOR:
|
|
61
|
+
case _dtableUtils.CellType.COLLABORATOR:
|
|
54
62
|
{
|
|
55
63
|
if (!Array.isArray(cellValue) || cellValue.length === 0) return [];
|
|
56
64
|
return cellValue;
|
|
57
65
|
}
|
|
58
|
-
case CellType.CREATOR:
|
|
59
|
-
case CellType.LAST_MODIFIER:
|
|
66
|
+
case _dtableUtils.CellType.CREATOR:
|
|
67
|
+
case _dtableUtils.CellType.LAST_MODIFIER:
|
|
60
68
|
{
|
|
61
69
|
return cellValue ? cellValue : null;
|
|
62
70
|
}
|
|
63
|
-
case CellType.GEOLOCATION:
|
|
71
|
+
case _dtableUtils.CellType.GEOLOCATION:
|
|
64
72
|
{
|
|
65
73
|
return cellValue || null;
|
|
66
74
|
}
|
|
67
|
-
case CellType.FORMULA:
|
|
68
|
-
case CellType.LINK_FORMULA:
|
|
75
|
+
case _dtableUtils.CellType.FORMULA:
|
|
76
|
+
case _dtableUtils.CellType.LINK_FORMULA:
|
|
69
77
|
{
|
|
70
78
|
const {
|
|
71
79
|
array_type,
|
|
72
80
|
result_type
|
|
73
81
|
} = data || {};
|
|
74
|
-
const validValue = getFormulaDisplayString(cellValue, data) || [];
|
|
82
|
+
const validValue = (0, _dtableUtils.getFormulaDisplayString)(cellValue, data) || [];
|
|
75
83
|
if (array_type === 'date' && (cellValue === null || cellValue === void 0 ? void 0 : cellValue.length) === 1) {
|
|
76
84
|
if (!dateGranularity) return validValue;
|
|
77
|
-
if (dateGranularity.toUpperCase() === 'QUARTER') return DateUtils.getDateByGranularity(validValue, 'QUARTAR');
|
|
78
|
-
return DateUtils.getDateByGranularity(validValue, dateGranularity);
|
|
85
|
+
if (dateGranularity.toUpperCase() === 'QUARTER') return _dtableUtils.DateUtils.getDateByGranularity(validValue, 'QUARTAR');
|
|
86
|
+
return _dtableUtils.DateUtils.getDateByGranularity(validValue, dateGranularity);
|
|
79
87
|
}
|
|
80
88
|
|
|
81
89
|
// handles mutiple select
|
|
@@ -87,15 +95,15 @@ SQLStatisticsUtils.getGroupLabelFromDB = async (cellValue, column, chart, isPivo
|
|
|
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
|
};
|
|
@@ -652,7 +660,7 @@ SQLStatisticsUtils.basicChartSQLResult2JavaScript = async (chart, sqlRows, chart
|
|
|
652
660
|
groupbyColumn,
|
|
653
661
|
summaryColumn
|
|
654
662
|
} = columnMap;
|
|
655
|
-
const isGroupbyColumnDataAsAnArray = findIfColumnDataIsArray(groupbyColumn);
|
|
663
|
+
const isGroupbyColumnDataAsAnArray = (0, _baseUtils.findIfColumnDataIsArray)(groupbyColumn);
|
|
656
664
|
const {
|
|
657
665
|
sqlGroupbyColumnKey,
|
|
658
666
|
sqlSummaryColumnKey
|
|
@@ -662,10 +670,10 @@ SQLStatisticsUtils.basicChartSQLResult2JavaScript = async (chart, sqlRows, chart
|
|
|
662
670
|
const cellValue = row[sqlGroupbyColumnKey];
|
|
663
671
|
const summaryValue = row[sqlSummaryColumnKey];
|
|
664
672
|
let formatted_value = cellValue;
|
|
665
|
-
if (y_axis_summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
|
|
666
|
-
formatted_value = getFormattedValue(cellValue, y_axis_summary_column_key, y_axis_summary_method);
|
|
673
|
+
if (y_axis_summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
|
|
674
|
+
formatted_value = (0, _columnUtils.getFormattedValue)(cellValue, y_axis_summary_column_key, y_axis_summary_method);
|
|
667
675
|
}
|
|
668
|
-
if (
|
|
676
|
+
if (_baseUtils.default.isValidCellValue(cellValue, x_axis_include_empty_cells || groupby_include_empty_cells)) {
|
|
669
677
|
const key = await _SQLStatisticsUtils.getGroupLabelFromDB(cellValue, groupbyColumn, chart.config);
|
|
670
678
|
if (isGroupbyColumnDataAsAnArray) {
|
|
671
679
|
if (!Array.isArray(key) || key.length === 0) {
|
|
@@ -723,11 +731,11 @@ SQLStatisticsUtils.basicChartSQLResult2JavaScript = async (chart, sqlRows, chart
|
|
|
723
731
|
}
|
|
724
732
|
}
|
|
725
733
|
}
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
if (SUPPORT_DATA_SORT_CHART_TYPES.includes(type) && sort_type) {
|
|
730
|
-
|
|
734
|
+
_baseUtils.default.sortCharts(result, groupbyColumn, 'name');
|
|
735
|
+
_baseUtils.default.updateTableViewList(result, groupbyColumn, 'name', 'color', false, true);
|
|
736
|
+
_baseUtils.default.updateSummaryValuePrecision(result, summaryColumn, 'value');
|
|
737
|
+
if (_constants.SUPPORT_DATA_SORT_CHART_TYPES.includes(type) && sort_type) {
|
|
738
|
+
_baseUtils.default.sortChartData(result, sort_type);
|
|
731
739
|
return result;
|
|
732
740
|
}
|
|
733
741
|
return result;
|
|
@@ -756,28 +764,28 @@ SQLStatisticsUtils.customChartSQLResult2JavaScript = async (chart, sqlRows, char
|
|
|
756
764
|
groupbyColumn,
|
|
757
765
|
summaryColumn
|
|
758
766
|
} = columnMap;
|
|
759
|
-
const table = getTableById(tables, table_id);
|
|
767
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
760
768
|
const stack = y_axises[index];
|
|
761
769
|
if (!stack) return [];
|
|
762
770
|
const {
|
|
763
771
|
column_groupby_numeric_columns
|
|
764
772
|
} = stack;
|
|
765
|
-
const y_axis_type = "".concat(Y_AXIS_TYPE_PREFIX).concat(index);
|
|
773
|
+
const y_axis_type = "".concat(_constants.Y_AXIS_TYPE_PREFIX).concat(index);
|
|
766
774
|
let summaryMethods = [];
|
|
767
775
|
let originalMethods = [];
|
|
768
776
|
let groupColumnNames = [];
|
|
769
777
|
let numericColumns = [];
|
|
770
778
|
column_groupby_numeric_columns.forEach(item => {
|
|
771
|
-
const numericColumn = getTableColumnByKey(table, item.column_key);
|
|
779
|
+
const numericColumn = (0, _dtableUtils.getTableColumnByKey)(table, item.column_key);
|
|
772
780
|
const groupColumnName = numericColumn.name;
|
|
773
781
|
numericColumns.push(numericColumn);
|
|
774
782
|
groupColumnNames.push(groupColumnName);
|
|
775
|
-
summaryMethods.push(summaryMethodColumn2SqlColumn(item.summary_method.toUpperCase(), numericColumn).key);
|
|
783
|
+
summaryMethods.push((0, _sql.summaryMethodColumn2SqlColumn)(item.summary_method.toUpperCase(), numericColumn).key);
|
|
776
784
|
originalMethods.push(item.summary_method);
|
|
777
785
|
});
|
|
778
786
|
const {
|
|
779
787
|
key: sqlGroupbyColumnKey
|
|
780
|
-
} = column2SqlColumn(groupbyColumn, {
|
|
788
|
+
} = (0, _column2SqlColumn.column2SqlColumn)(groupbyColumn, {
|
|
781
789
|
dateGranularity: x_axis_date_granularity,
|
|
782
790
|
geolocationGranularity: x_axis_geolocation_granularity
|
|
783
791
|
});
|
|
@@ -791,8 +799,8 @@ SQLStatisticsUtils.customChartSQLResult2JavaScript = async (chart, sqlRows, char
|
|
|
791
799
|
if (!(x_axis_include_empty_cells || x_axis_include_empty) && isEmpty) return;
|
|
792
800
|
let value = row[summaryMethod] || 0;
|
|
793
801
|
let formatted_value = value;
|
|
794
|
-
value = formatNumericValue(value, numericColumns[index]);
|
|
795
|
-
formatted_value = getFormattedValue(value, numericColumns[index], originalMethods[index]);
|
|
802
|
+
value = (0, _columnUtils.formatNumericValue)(value, numericColumns[index]);
|
|
803
|
+
formatted_value = (0, _columnUtils.getFormattedValue)(value, numericColumns[index], originalMethods[index]);
|
|
796
804
|
groupItems.push({
|
|
797
805
|
name: label,
|
|
798
806
|
value,
|
|
@@ -804,7 +812,7 @@ SQLStatisticsUtils.customChartSQLResult2JavaScript = async (chart, sqlRows, char
|
|
|
804
812
|
});
|
|
805
813
|
result = result.concat(groupItems);
|
|
806
814
|
}
|
|
807
|
-
const isCellValueAsAnArray = findIfColumnDataIsArray(groupbyColumn);
|
|
815
|
+
const isCellValueAsAnArray = (0, _baseUtils.findIfColumnDataIsArray)(groupbyColumn);
|
|
808
816
|
if (isCellValueAsAnArray) {
|
|
809
817
|
const takenApart = [];
|
|
810
818
|
const assembled = [];
|
|
@@ -814,7 +822,7 @@ SQLStatisticsUtils.customChartSQLResult2JavaScript = async (chart, sqlRows, char
|
|
|
814
822
|
name: names
|
|
815
823
|
} = item;
|
|
816
824
|
if (!Array.isArray(names)) return;
|
|
817
|
-
if (!(names
|
|
825
|
+
if (!(names !== null && names !== void 0 && names.length)) {
|
|
818
826
|
takenApart.push({
|
|
819
827
|
...item,
|
|
820
828
|
name: null
|
|
@@ -845,9 +853,9 @@ SQLStatisticsUtils.customChartSQLResult2JavaScript = async (chart, sqlRows, char
|
|
|
845
853
|
});
|
|
846
854
|
result = assembled;
|
|
847
855
|
}
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
856
|
+
_baseUtils.default.sortCharts(result, groupbyColumn, 'name');
|
|
857
|
+
_baseUtils.default.updateTableViewList(result, groupbyColumn, 'name', '', false, true);
|
|
858
|
+
_baseUtils.default.updateSummaryValuePrecision(result, summaryColumn, 'value');
|
|
851
859
|
return result;
|
|
852
860
|
};
|
|
853
861
|
SQLStatisticsUtils.compareSQLResult2Javascript = async (chart, sqlRows, chartSQLMap, columnMap, tables) => {
|
|
@@ -876,7 +884,7 @@ SQLStatisticsUtils.compareSQLResult2Javascript = async (chart, sqlRows, chartSQL
|
|
|
876
884
|
const groupName2 = "".concat(x_axis_compared_date_range_start, " - ").concat(x_axis_compared_date_range_end);
|
|
877
885
|
const dateRangeResult = new Map();
|
|
878
886
|
let dateComparedResult = new Map();
|
|
879
|
-
const isAdvanced = y_axis_summary_type === CHART_SUMMARY_TYPE.ADVANCED;
|
|
887
|
+
const isAdvanced = y_axis_summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED;
|
|
880
888
|
const startDate = new Date(x_axis_date_range_start);
|
|
881
889
|
const endDate = new Date(x_axis_date_range_end);
|
|
882
890
|
const comparedStartDate = new Date(x_axis_compared_date_range_start);
|
|
@@ -885,7 +893,7 @@ SQLStatisticsUtils.compareSQLResult2Javascript = async (chart, sqlRows, chartSQL
|
|
|
885
893
|
let name = item[sqlGroupbyColumnKey];
|
|
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
|
|
@@ -933,8 +941,8 @@ SQLStatisticsUtils.compareSQLResult2Javascript = async (chart, sqlRows, chartSQL
|
|
|
933
941
|
let value = item[1];
|
|
934
942
|
let formatted_value = value;
|
|
935
943
|
if (isAdvanced) {
|
|
936
|
-
value = getSummaryResult(item[1], y_axis_summary_method, data.precision);
|
|
937
|
-
formatted_value = getFormattedValue(value, summaryColumn, y_axis_summary_method);
|
|
944
|
+
value = (0, _columnUtils.getSummaryResult)(item[1], y_axis_summary_method, data.precision);
|
|
945
|
+
formatted_value = (0, _columnUtils.getFormattedValue)(value, summaryColumn, y_axis_summary_method);
|
|
938
946
|
}
|
|
939
947
|
rangeResult.push({
|
|
940
948
|
name: item[0],
|
|
@@ -953,8 +961,8 @@ SQLStatisticsUtils.compareSQLResult2Javascript = async (chart, sqlRows, chartSQL
|
|
|
953
961
|
let value = item[1];
|
|
954
962
|
let formatted_value = value;
|
|
955
963
|
if (isAdvanced) {
|
|
956
|
-
value = getSummaryResult(item[1], y_axis_summary_method, data.precision);
|
|
957
|
-
formatted_value = getFormattedValue(value, summaryColumn, y_axis_summary_method);
|
|
964
|
+
value = (0, _columnUtils.getSummaryResult)(item[1], y_axis_summary_method, data.precision);
|
|
965
|
+
formatted_value = (0, _columnUtils.getFormattedValue)(value, summaryColumn, y_axis_summary_method);
|
|
958
966
|
}
|
|
959
967
|
const newItem = {
|
|
960
968
|
name: dateRangeItem.name,
|
|
@@ -977,8 +985,8 @@ SQLStatisticsUtils.compareSQLResult2Javascript = async (chart, sqlRows, chartSQL
|
|
|
977
985
|
if (comparedResult.length > rangeResult.length) {
|
|
978
986
|
comparedResult = comparedResult.slice(0, rangeResult.length);
|
|
979
987
|
}
|
|
980
|
-
|
|
981
|
-
|
|
988
|
+
_baseUtils.default.updateSummaryValuePrecision(comparedResult, summaryColumn, 'value');
|
|
989
|
+
_baseUtils.default.updateSummaryValuePrecision(rangeResult, summaryColumn, 'value');
|
|
982
990
|
return [...comparedResult, ...rangeResult];
|
|
983
991
|
};
|
|
984
992
|
SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, chartSQLMap, columnMap, tables) => {
|
|
@@ -995,7 +1003,7 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
995
1003
|
table_id,
|
|
996
1004
|
y_axis_left_group_by_numeric_columns
|
|
997
1005
|
} = config;
|
|
998
|
-
const table = getTableById(tables, table_id);
|
|
1006
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
999
1007
|
const {
|
|
1000
1008
|
groupbyColumn,
|
|
1001
1009
|
summaryColumn
|
|
@@ -1009,7 +1017,7 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1009
1017
|
sqlRightSummaryColumnKey,
|
|
1010
1018
|
sqlLeftSummaryColumnKey
|
|
1011
1019
|
} = chartSQLMap;
|
|
1012
|
-
const isGroupbyColumnDataAsAnArray = findIfColumnDataIsArray(groupbyColumn);
|
|
1020
|
+
const isGroupbyColumnDataAsAnArray = (0, _baseUtils.findIfColumnDataIsArray)(groupbyColumn);
|
|
1013
1021
|
let result = [];
|
|
1014
1022
|
if (!y_axis_left_group_by_multiple_numeric_column) {
|
|
1015
1023
|
// let leftSummaryColumn, rightSummaryColumn;
|
|
@@ -1036,7 +1044,7 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1036
1044
|
if (itemIdx < 0) {
|
|
1037
1045
|
result.push({
|
|
1038
1046
|
// color is defined by index of the name
|
|
1039
|
-
color: STYLE_COLORS[0].colors[index % 12],
|
|
1047
|
+
color: _constants.STYLE_COLORS[0].colors[index % 12],
|
|
1040
1048
|
name: null,
|
|
1041
1049
|
rows: [row],
|
|
1042
1050
|
value_left: valueLeft,
|
|
@@ -1053,7 +1061,7 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1053
1061
|
let itemIdx = result.findIndex(v => v.name === item);
|
|
1054
1062
|
if (itemIdx < 0) {
|
|
1055
1063
|
result.push({
|
|
1056
|
-
color: STYLE_COLORS[0].colors[index % 12],
|
|
1064
|
+
color: _constants.STYLE_COLORS[0].colors[index % 12],
|
|
1057
1065
|
name: item,
|
|
1058
1066
|
rows: [row],
|
|
1059
1067
|
value_left: valueLeft,
|
|
@@ -1071,7 +1079,7 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1071
1079
|
let itemIdx = result.findIndex(v => v.name === key);
|
|
1072
1080
|
if (itemIdx < 0) {
|
|
1073
1081
|
result.push({
|
|
1074
|
-
color: STYLE_COLORS[0].colors[index % 12],
|
|
1082
|
+
color: _constants.STYLE_COLORS[0].colors[index % 12],
|
|
1075
1083
|
name: key,
|
|
1076
1084
|
rows: [row],
|
|
1077
1085
|
value_left: valueLeft,
|
|
@@ -1091,11 +1099,11 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1091
1099
|
// rightSummaryColumn = getTableColumnByKey(table, y_axis_right_summary_column);
|
|
1092
1100
|
// }
|
|
1093
1101
|
const groupItems = [];
|
|
1094
|
-
let leftSummaryColumn = getTableColumnByKey(table, y_axis_left_summary_column);
|
|
1102
|
+
let leftSummaryColumn = (0, _dtableUtils.getTableColumnByKey)(table, y_axis_left_summary_column);
|
|
1095
1103
|
const summaryMethod = y_axis_left_summary_method.toUpperCase();
|
|
1096
1104
|
const {
|
|
1097
1105
|
key
|
|
1098
|
-
} = summaryMethodColumn2SqlColumn(summaryMethod, leftSummaryColumn || {});
|
|
1106
|
+
} = (0, _sql.summaryMethodColumn2SqlColumn)(summaryMethod, leftSummaryColumn || {});
|
|
1099
1107
|
const groupItem = {
|
|
1100
1108
|
sqlName: key,
|
|
1101
1109
|
column: leftSummaryColumn
|
|
@@ -1105,12 +1113,12 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1105
1113
|
groupItems.push(groupItem);
|
|
1106
1114
|
}
|
|
1107
1115
|
y_axis_left_group_by_numeric_columns.forEach((item, index) => {
|
|
1108
|
-
const column = getTableColumnByKey(table, item.column_key);
|
|
1116
|
+
const column = (0, _dtableUtils.getTableColumnByKey)(table, item.column_key);
|
|
1109
1117
|
if (column) {
|
|
1110
1118
|
const itemSummaryMethod = item.summary_method.toUpperCase();
|
|
1111
1119
|
const {
|
|
1112
1120
|
key
|
|
1113
|
-
} = summaryMethodColumn2SqlColumn(itemSummaryMethod, column || {});
|
|
1121
|
+
} = (0, _sql.summaryMethodColumn2SqlColumn)(itemSummaryMethod, column || {});
|
|
1114
1122
|
const groupItem = {
|
|
1115
1123
|
sqlName: key,
|
|
1116
1124
|
column
|
|
@@ -1151,7 +1159,7 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1151
1159
|
rows: [item],
|
|
1152
1160
|
group_name: groupName,
|
|
1153
1161
|
// for multiple numeric_columns, color is defined by group_name
|
|
1154
|
-
color: STYLE_COLORS[0].colors[index % 12]
|
|
1162
|
+
color: _constants.STYLE_COLORS[0].colors[index % 12]
|
|
1155
1163
|
});
|
|
1156
1164
|
} else {
|
|
1157
1165
|
const itemRow = result[itemIdx];
|
|
@@ -1176,16 +1184,16 @@ SQLStatisticsUtils.combinationSQLResult2Javascript = async (chart, sqlRows, char
|
|
|
1176
1184
|
value_right: valueRight,
|
|
1177
1185
|
rows: [item],
|
|
1178
1186
|
group_name: groupName,
|
|
1179
|
-
color: STYLE_COLORS[0].colors[index % 12]
|
|
1187
|
+
color: _constants.STYLE_COLORS[0].colors[index % 12]
|
|
1180
1188
|
});
|
|
1181
1189
|
});
|
|
1182
1190
|
}
|
|
1183
1191
|
}
|
|
1184
1192
|
}
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1193
|
+
_baseUtils.default.updateTableViewList(result, groupbyColumn, 'name', '', false, true);
|
|
1194
|
+
_baseUtils.default.sortCharts(result, groupbyColumn, 'name');
|
|
1195
|
+
_baseUtils.default.updateSummaryValuePrecision(result, summaryColumnLeft, 'value_left');
|
|
1196
|
+
_baseUtils.default.updateSummaryValuePrecision(result, summaryColumnRight, 'value_right');
|
|
1189
1197
|
return result;
|
|
1190
1198
|
};
|
|
1191
1199
|
SQLStatisticsUtils.dashboardSQLResult2JavaScript = (chart, sqlRows, chartSQLMap, columnMap, tables) => {
|
|
@@ -1201,17 +1209,17 @@ SQLStatisticsUtils.dashboardSQLResult2JavaScript = (chart, sqlRows, chartSQLMap,
|
|
|
1201
1209
|
total_value_column_key,
|
|
1202
1210
|
table_id
|
|
1203
1211
|
} = config;
|
|
1204
|
-
const table = getTableById(tables, table_id);
|
|
1205
|
-
const targetColumn = getTableColumnByKey(table, target_value_column_key);
|
|
1206
|
-
const totalColumn = getTableColumnByKey(table, total_value_column_key);
|
|
1212
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
1213
|
+
const targetColumn = (0, _dtableUtils.getTableColumnByKey)(table, target_value_column_key);
|
|
1214
|
+
const totalColumn = (0, _dtableUtils.getTableColumnByKey)(table, total_value_column_key);
|
|
1207
1215
|
const targetSummaryMethod = target_value_column_summary_method.toUpperCase();
|
|
1208
1216
|
const totalSummaryMethod = total_value_column_summary_method.toUpperCase();
|
|
1209
1217
|
const {
|
|
1210
1218
|
key: targetResultKey
|
|
1211
|
-
} = summaryMethodColumn2SqlColumn(targetSummaryMethod, targetColumn);
|
|
1219
|
+
} = (0, _sql.summaryMethodColumn2SqlColumn)(targetSummaryMethod, targetColumn);
|
|
1212
1220
|
const {
|
|
1213
1221
|
key: totalResultKey
|
|
1214
|
-
} = summaryMethodColumn2SqlColumn(totalSummaryMethod, totalColumn);
|
|
1222
|
+
} = (0, _sql.summaryMethodColumn2SqlColumn)(totalSummaryMethod, totalColumn);
|
|
1215
1223
|
const targetResult = summaryResult[targetResultKey];
|
|
1216
1224
|
const totalResult = summaryResult[totalResultKey];
|
|
1217
1225
|
if (totalResult === 0) {
|
|
@@ -1266,12 +1274,12 @@ SQLStatisticsUtils.groupingTwoDimensionChartSQLResult2JavaScript = async (chart,
|
|
|
1266
1274
|
sqlSummaryColumnKey
|
|
1267
1275
|
} = chartSQLMap;
|
|
1268
1276
|
let result = [];
|
|
1269
|
-
const isGroupbyColumnDataAsAnArray = findIfColumnDataIsArray(groupbyColumn);
|
|
1270
|
-
const isColumnGroupbyColumnDataAsAnArray = findIfColumnDataIsArray(columnGroupbyColumn);
|
|
1277
|
+
const isGroupbyColumnDataAsAnArray = (0, _baseUtils.findIfColumnDataIsArray)(groupbyColumn);
|
|
1278
|
+
const isColumnGroupbyColumnDataAsAnArray = (0, _baseUtils.findIfColumnDataIsArray)(columnGroupbyColumn);
|
|
1271
1279
|
for (const row of sqlRows) {
|
|
1272
1280
|
const groupbyColumnCellValue = row[sqlGroupbyColumnKey];
|
|
1273
1281
|
const groupbyColumnCellValueKey = await _SQLStatisticsUtils.getGroupLabelFromDB(groupbyColumnCellValue, groupbyColumn, chart.config);
|
|
1274
|
-
if (
|
|
1282
|
+
if (_baseUtils.default.isValidCellValue(groupbyColumnCellValueKey, includeEmpty)) {
|
|
1275
1283
|
const columnGroupbyColumnCellValue = row[sqlColumnGroupbyColumnKey];
|
|
1276
1284
|
const columnGroupbyColumnCellValueKey = await _SQLStatisticsUtils.getGroupLabelFromDB(columnGroupbyColumnCellValue, columnGroupbyColumn, chart.config);
|
|
1277
1285
|
const count = row[sqlSummaryColumnKey];
|
|
@@ -1288,10 +1296,10 @@ SQLStatisticsUtils.groupingTwoDimensionChartSQLResult2JavaScript = async (chart,
|
|
|
1288
1296
|
}
|
|
1289
1297
|
}
|
|
1290
1298
|
}
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1299
|
+
_baseUtils.default.sortCharts(result, groupbyColumn, 'name');
|
|
1300
|
+
_baseUtils.default.updateTableViewList(result, groupbyColumn, 'name', 'color', false, true);
|
|
1301
|
+
_baseUtils.default.updateTableViewList(result, columnGroupbyColumn, 'group_name', 'group_color', false, false);
|
|
1302
|
+
_baseUtils.default.updateSummaryValuePrecision(result, summaryColumn, 'value');
|
|
1295
1303
|
return result;
|
|
1296
1304
|
};
|
|
1297
1305
|
SQLStatisticsUtils.groupingChartSQLResult2JavaScript = async (chart, sqlRows, chartSQLMap, columnMap, tables) => {
|
|
@@ -1310,7 +1318,7 @@ SQLStatisticsUtils.groupingChartSQLResult2JavaScript = async (chart, sqlRows, ch
|
|
|
1310
1318
|
summaryColumn,
|
|
1311
1319
|
summaryColumnsWithMethod
|
|
1312
1320
|
} = columnMap;
|
|
1313
|
-
if (y_axis_summary_type === CHART_SUMMARY_TYPE.COUNT) {
|
|
1321
|
+
if (y_axis_summary_type === _constants.CHART_SUMMARY_TYPE.COUNT) {
|
|
1314
1322
|
if (!columnGroupbyColumn) return await _SQLStatisticsUtils.basicChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables);
|
|
1315
1323
|
return await _SQLStatisticsUtils.groupingTwoDimensionChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables);
|
|
1316
1324
|
}
|
|
@@ -1322,11 +1330,11 @@ SQLStatisticsUtils.groupingChartSQLResult2JavaScript = async (chart, sqlRows, ch
|
|
|
1322
1330
|
summaryColumns
|
|
1323
1331
|
} = chartSQLMap;
|
|
1324
1332
|
let result = [];
|
|
1325
|
-
const isGroupbyColumnDataAsAnArray = findIfColumnDataIsArray(groupbyColumn);
|
|
1333
|
+
const isGroupbyColumnDataAsAnArray = (0, _baseUtils.findIfColumnDataIsArray)(groupbyColumn);
|
|
1326
1334
|
for (const row of sqlRows) {
|
|
1327
1335
|
const groupbyColumnCellValue = row[sqlGroupbyColumnKey];
|
|
1328
1336
|
const groupbyColumnCellValueKey = await _SQLStatisticsUtils.getGroupLabelFromDB(groupbyColumnCellValue, groupbyColumn, chart.config);
|
|
1329
|
-
if (
|
|
1337
|
+
if (_baseUtils.default.isValidCellValue(groupbyColumnCellValueKey, includeEmpty)) {
|
|
1330
1338
|
Object.keys(summaryColumns).forEach(sqlSummaryColumnName => {
|
|
1331
1339
|
const {
|
|
1332
1340
|
sqlSummaryColumnKey,
|
|
@@ -1347,8 +1355,8 @@ SQLStatisticsUtils.groupingChartSQLResult2JavaScript = async (chart, sqlRows, ch
|
|
|
1347
1355
|
});
|
|
1348
1356
|
}
|
|
1349
1357
|
}
|
|
1350
|
-
|
|
1351
|
-
|
|
1358
|
+
_baseUtils.default.sortCharts(result, groupbyColumn, 'name');
|
|
1359
|
+
_baseUtils.default.updateTableViewList(result, groupbyColumn, 'name', 'color', false, true);
|
|
1352
1360
|
const allSummaryColumns = [summaryColumn].concat(summaryColumnsWithMethod.map(item => item.column));
|
|
1353
1361
|
|
|
1354
1362
|
// format precision of enabled precision columns
|
|
@@ -1361,7 +1369,7 @@ SQLStatisticsUtils.groupingChartSQLResult2JavaScript = async (chart, sqlRows, ch
|
|
|
1361
1369
|
});
|
|
1362
1370
|
Object.values(columnNameResultMap).forEach(items => {
|
|
1363
1371
|
const targetColumn = allSummaryColumns.find(column => column.name === items[0].group_name);
|
|
1364
|
-
|
|
1372
|
+
_baseUtils.default.updateSummaryValuePrecision(items, targetColumn, 'value');
|
|
1365
1373
|
});
|
|
1366
1374
|
return result;
|
|
1367
1375
|
}
|
|
@@ -1384,11 +1392,11 @@ SQLStatisticsUtils.heatMapChartSQLResult2JavaScript = (chart, sqlRows, chartSQLM
|
|
|
1384
1392
|
if (currentValue || currentValue === 0) {
|
|
1385
1393
|
let value = item[sqlSummaryColumnKey];
|
|
1386
1394
|
if (summaryColumn) {
|
|
1387
|
-
value = formatNumericValue(value, summaryColumn);
|
|
1395
|
+
value = (0, _columnUtils.formatNumericValue)(value, summaryColumn);
|
|
1388
1396
|
}
|
|
1389
1397
|
const name = typeof currentValue === 'string' ? currentValue : currentValue.country_region;
|
|
1390
1398
|
result.push({
|
|
1391
|
-
name:
|
|
1399
|
+
name: (0, _dayjs.default)(name).format('YYYY-MM-DD'),
|
|
1392
1400
|
value
|
|
1393
1401
|
});
|
|
1394
1402
|
}
|
|
@@ -1400,7 +1408,7 @@ SQLStatisticsUtils.heatMapChartSQLResult2JavaScript = (chart, sqlRows, chartSQLM
|
|
|
1400
1408
|
data.push(item);
|
|
1401
1409
|
return;
|
|
1402
1410
|
}
|
|
1403
|
-
const year =
|
|
1411
|
+
const year = (0, _dayjs.default)(item.name).year();
|
|
1404
1412
|
data.push({
|
|
1405
1413
|
...item,
|
|
1406
1414
|
year
|
|
@@ -1438,7 +1446,7 @@ SQLStatisticsUtils.mirrorMapChartSQLResult2JavaScript = async (chart, sqlRows, c
|
|
|
1438
1446
|
const {
|
|
1439
1447
|
sqlSummaryColumnKey
|
|
1440
1448
|
} = chartSQLMap;
|
|
1441
|
-
const isAdvanced = summary_type === CHART_SUMMARY_TYPE.ADVANCED;
|
|
1449
|
+
const isAdvanced = summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED;
|
|
1442
1450
|
const newResult = [];
|
|
1443
1451
|
const groupData = _SQLStatisticsUtils.getGroupData(sqlRows, columnGroupbyColumn);
|
|
1444
1452
|
if (groupData.length > 0) {
|
|
@@ -1454,8 +1462,8 @@ SQLStatisticsUtils.mirrorMapChartSQLResult2JavaScript = async (chart, sqlRows, c
|
|
|
1454
1462
|
let value = item[sqlSummaryColumnKey];
|
|
1455
1463
|
let formattedValue = value;
|
|
1456
1464
|
if (isAdvanced) {
|
|
1457
|
-
value = formatNumericValue(value, summaryColumn);
|
|
1458
|
-
formattedValue = getFormattedValue(value, summary_column_key, summary_method);
|
|
1465
|
+
value = (0, _columnUtils.formatNumericValue)(value, summaryColumn);
|
|
1466
|
+
formattedValue = (0, _columnUtils.getFormattedValue)(value, summary_column_key, summary_method);
|
|
1459
1467
|
}
|
|
1460
1468
|
newResult.push({
|
|
1461
1469
|
name: label,
|
|
@@ -1463,7 +1471,7 @@ SQLStatisticsUtils.mirrorMapChartSQLResult2JavaScript = async (chart, sqlRows, c
|
|
|
1463
1471
|
value: equal2GroupData0 ? value : 0,
|
|
1464
1472
|
formatted_value: equal2GroupData0 ? formattedValue : 0,
|
|
1465
1473
|
group_name: ((_groupData$ = groupData[0]) === null || _groupData$ === void 0 ? void 0 : _groupData$.name) || '',
|
|
1466
|
-
color: ((_groupData$2 = groupData[0]) === null || _groupData$2 === void 0 ? void 0 : _groupData$2.color) || STYLE_COLORS[0].colors[0],
|
|
1474
|
+
color: ((_groupData$2 = groupData[0]) === null || _groupData$2 === void 0 ? void 0 : _groupData$2.color) || _constants.STYLE_COLORS[0].colors[0],
|
|
1467
1475
|
rows: [item]
|
|
1468
1476
|
});
|
|
1469
1477
|
groupData[1] && newResult.push({
|
|
@@ -1472,7 +1480,7 @@ SQLStatisticsUtils.mirrorMapChartSQLResult2JavaScript = async (chart, sqlRows, c
|
|
|
1472
1480
|
value: equal2GroupData1 ? value : 0,
|
|
1473
1481
|
formatted_value: equal2GroupData1 ? formattedValue : 0,
|
|
1474
1482
|
group_name: ((_groupData$3 = groupData[1]) === null || _groupData$3 === void 0 ? void 0 : _groupData$3.name) || '',
|
|
1475
|
-
color: ((_groupData$4 = groupData[1]) === null || _groupData$4 === void 0 ? void 0 : _groupData$4.color) || STYLE_COLORS[0].colors[0],
|
|
1483
|
+
color: ((_groupData$4 = groupData[1]) === null || _groupData$4 === void 0 ? void 0 : _groupData$4.color) || _constants.STYLE_COLORS[0].colors[0],
|
|
1476
1484
|
rows: [item]
|
|
1477
1485
|
});
|
|
1478
1486
|
}
|
|
@@ -1503,14 +1511,14 @@ SQLStatisticsUtils.trendMapChartSQLResult2JavaScript = (chart, sqlRows, chartSQL
|
|
|
1503
1511
|
const {
|
|
1504
1512
|
compareValue: value1,
|
|
1505
1513
|
comparedValue: value2
|
|
1506
|
-
} =
|
|
1514
|
+
} = _baseUtils.default.summaryDurationResult(sqlRows, date_granularity, summary_type, summary_method, true, sqlGroupbyColumnKey, sqlSummaryColumnKey);
|
|
1507
1515
|
compareValue = value1;
|
|
1508
1516
|
comparedValue = value2;
|
|
1509
1517
|
} else {
|
|
1510
1518
|
const {
|
|
1511
1519
|
compareDate,
|
|
1512
1520
|
comparedDate
|
|
1513
|
-
} = getCompareDate(date_granularity);
|
|
1521
|
+
} = (0, _trendUtils.getCompareDate)(date_granularity);
|
|
1514
1522
|
for (const item of sqlRows) {
|
|
1515
1523
|
if (!item[sqlGroupbyColumnKey]) continue;
|
|
1516
1524
|
const currentDate = item[sqlGroupbyColumnKey] + '';
|
|
@@ -1540,11 +1548,11 @@ SQLStatisticsUtils.trendMapChartSQLResult2JavaScript = (chart, sqlRows, chartSQL
|
|
|
1540
1548
|
}
|
|
1541
1549
|
let type;
|
|
1542
1550
|
if (compareValue > comparedValue) {
|
|
1543
|
-
type = TREND_TYPES.UP;
|
|
1551
|
+
type = _constants.TREND_TYPES.UP;
|
|
1544
1552
|
} else if (compareValue < comparedValue) {
|
|
1545
|
-
type = TREND_TYPES.DOWN;
|
|
1553
|
+
type = _constants.TREND_TYPES.DOWN;
|
|
1546
1554
|
} else if (compareValue === comparedValue) {
|
|
1547
|
-
type = TREND_TYPES.EQUAL;
|
|
1555
|
+
type = _constants.TREND_TYPES.EQUAL;
|
|
1548
1556
|
}
|
|
1549
1557
|
if (compareValue === 0 && comparedValue === 0) {
|
|
1550
1558
|
result = '0%';
|
|
@@ -1561,15 +1569,15 @@ SQLStatisticsUtils.sqlResult2JavaScript = async (chart, sqlRows, chartSQLMap, co
|
|
|
1561
1569
|
type
|
|
1562
1570
|
} = chart.config;
|
|
1563
1571
|
switch (type) {
|
|
1564
|
-
case CHART_TYPE.TABLE_ELEMENT:
|
|
1572
|
+
case _constants.CHART_TYPE.TABLE_ELEMENT:
|
|
1565
1573
|
{
|
|
1566
1574
|
return {
|
|
1567
1575
|
result: sqlRows
|
|
1568
1576
|
};
|
|
1569
1577
|
}
|
|
1570
|
-
case CHART_TYPE.TABLE:
|
|
1578
|
+
case _constants.CHART_TYPE.TABLE:
|
|
1571
1579
|
{
|
|
1572
|
-
sqlRows =
|
|
1580
|
+
sqlRows = _baseUtils.default.recalculateAvg(sqlRows);
|
|
1573
1581
|
const {
|
|
1574
1582
|
column_groupby_column_key
|
|
1575
1583
|
} = chart.config;
|
|
@@ -1585,106 +1593,106 @@ SQLStatisticsUtils.sqlResult2JavaScript = async (chart, sqlRows, chartSQLMap, co
|
|
|
1585
1593
|
}
|
|
1586
1594
|
return result;
|
|
1587
1595
|
}
|
|
1588
|
-
case CHART_TYPE.PIE:
|
|
1589
|
-
case CHART_TYPE.RING:
|
|
1590
|
-
case CHART_TYPE.TREE_MAP:
|
|
1596
|
+
case _constants.CHART_TYPE.PIE:
|
|
1597
|
+
case _constants.CHART_TYPE.RING:
|
|
1598
|
+
case _constants.CHART_TYPE.TREE_MAP:
|
|
1591
1599
|
{
|
|
1592
1600
|
return {
|
|
1593
1601
|
result: await _SQLStatisticsUtils.basicChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1594
1602
|
};
|
|
1595
1603
|
}
|
|
1596
|
-
case CHART_TYPE.BASIC_NUMBER_CARD:
|
|
1604
|
+
case _constants.CHART_TYPE.BASIC_NUMBER_CARD:
|
|
1597
1605
|
{
|
|
1598
1606
|
return {
|
|
1599
1607
|
result: _SQLStatisticsUtils.basicNumberCardSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1600
1608
|
};
|
|
1601
1609
|
}
|
|
1602
|
-
case CHART_TYPE.DASHBOARD:
|
|
1610
|
+
case _constants.CHART_TYPE.DASHBOARD:
|
|
1603
1611
|
{
|
|
1604
1612
|
return {
|
|
1605
1613
|
result: _SQLStatisticsUtils.dashboardSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1606
1614
|
};
|
|
1607
1615
|
}
|
|
1608
|
-
case CHART_TYPE.BAR:
|
|
1609
|
-
case CHART_TYPE.LINE:
|
|
1610
|
-
case CHART_TYPE.HORIZONTAL_BAR:
|
|
1611
|
-
case CHART_TYPE.AREA:
|
|
1612
|
-
case CHART_TYPE.FUNNEL:
|
|
1616
|
+
case _constants.CHART_TYPE.BAR:
|
|
1617
|
+
case _constants.CHART_TYPE.LINE:
|
|
1618
|
+
case _constants.CHART_TYPE.HORIZONTAL_BAR:
|
|
1619
|
+
case _constants.CHART_TYPE.AREA:
|
|
1620
|
+
case _constants.CHART_TYPE.FUNNEL:
|
|
1613
1621
|
{
|
|
1614
1622
|
return {
|
|
1615
1623
|
result: await _SQLStatisticsUtils.basicChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1616
1624
|
};
|
|
1617
1625
|
}
|
|
1618
|
-
case CHART_TYPE.COMPLETENESS:
|
|
1619
|
-
case CHART_TYPE.COMPLETENESS_GROUP:
|
|
1626
|
+
case _constants.CHART_TYPE.COMPLETENESS:
|
|
1627
|
+
case _constants.CHART_TYPE.COMPLETENESS_GROUP:
|
|
1620
1628
|
{
|
|
1621
1629
|
const result = _SQLStatisticsUtils.completenessSQlResult(chart, sqlRows, chartSQLMap, tables);
|
|
1622
1630
|
return {
|
|
1623
1631
|
result
|
|
1624
1632
|
};
|
|
1625
1633
|
}
|
|
1626
|
-
case CHART_TYPE.COMBINATION:
|
|
1634
|
+
case _constants.CHART_TYPE.COMBINATION:
|
|
1627
1635
|
{
|
|
1628
1636
|
return {
|
|
1629
1637
|
result: await _SQLStatisticsUtils.combinationSQLResult2Javascript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1630
1638
|
};
|
|
1631
1639
|
}
|
|
1632
|
-
case CHART_TYPE.COMPARE_BAR:
|
|
1640
|
+
case _constants.CHART_TYPE.COMPARE_BAR:
|
|
1633
1641
|
{
|
|
1634
1642
|
return {
|
|
1635
1643
|
result: await _SQLStatisticsUtils.compareSQLResult2Javascript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1636
1644
|
};
|
|
1637
1645
|
}
|
|
1638
|
-
case CHART_TYPE.BAR_GROUP:
|
|
1639
|
-
case CHART_TYPE.BAR_STACK:
|
|
1640
|
-
case CHART_TYPE.LINE_GROUP:
|
|
1641
|
-
case CHART_TYPE.AREA_GROUP:
|
|
1642
|
-
case CHART_TYPE.HORIZONTAL_GROUP_BAR:
|
|
1643
|
-
case CHART_TYPE.STACKED_HORIZONTAL_BAR:
|
|
1646
|
+
case _constants.CHART_TYPE.BAR_GROUP:
|
|
1647
|
+
case _constants.CHART_TYPE.BAR_STACK:
|
|
1648
|
+
case _constants.CHART_TYPE.LINE_GROUP:
|
|
1649
|
+
case _constants.CHART_TYPE.AREA_GROUP:
|
|
1650
|
+
case _constants.CHART_TYPE.HORIZONTAL_GROUP_BAR:
|
|
1651
|
+
case _constants.CHART_TYPE.STACKED_HORIZONTAL_BAR:
|
|
1644
1652
|
{
|
|
1645
1653
|
return {
|
|
1646
1654
|
result: await _SQLStatisticsUtils.groupingChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1647
1655
|
};
|
|
1648
1656
|
}
|
|
1649
|
-
case CHART_TYPE.SCATTER:
|
|
1657
|
+
case _constants.CHART_TYPE.SCATTER:
|
|
1650
1658
|
{
|
|
1651
1659
|
return {
|
|
1652
1660
|
result: _SQLStatisticsUtils.scatterSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1653
1661
|
};
|
|
1654
1662
|
}
|
|
1655
|
-
case CHART_TYPE.BAR_CUSTOM:
|
|
1663
|
+
case _constants.CHART_TYPE.BAR_CUSTOM:
|
|
1656
1664
|
{
|
|
1657
1665
|
return {
|
|
1658
1666
|
result: await _SQLStatisticsUtils.customChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables, params)
|
|
1659
1667
|
};
|
|
1660
1668
|
}
|
|
1661
|
-
case CHART_TYPE.MAP:
|
|
1662
|
-
case CHART_TYPE.MAP_BUBBLE:
|
|
1669
|
+
case _constants.CHART_TYPE.MAP:
|
|
1670
|
+
case _constants.CHART_TYPE.MAP_BUBBLE:
|
|
1663
1671
|
{
|
|
1664
1672
|
return {
|
|
1665
1673
|
result: _SQLStatisticsUtils.mapSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1666
1674
|
};
|
|
1667
1675
|
}
|
|
1668
|
-
case CHART_TYPE.WORLD_MAP:
|
|
1669
|
-
case CHART_TYPE.WORLD_MAP_BUBBLE:
|
|
1676
|
+
case _constants.CHART_TYPE.WORLD_MAP:
|
|
1677
|
+
case _constants.CHART_TYPE.WORLD_MAP_BUBBLE:
|
|
1670
1678
|
{
|
|
1671
1679
|
return {
|
|
1672
1680
|
result: _SQLStatisticsUtils.worldMapSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1673
1681
|
};
|
|
1674
1682
|
}
|
|
1675
|
-
case CHART_TYPE.HEAT_MAP:
|
|
1683
|
+
case _constants.CHART_TYPE.HEAT_MAP:
|
|
1676
1684
|
{
|
|
1677
1685
|
return {
|
|
1678
1686
|
result: _SQLStatisticsUtils.heatMapChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1679
1687
|
};
|
|
1680
1688
|
}
|
|
1681
|
-
case CHART_TYPE.MIRROR:
|
|
1689
|
+
case _constants.CHART_TYPE.MIRROR:
|
|
1682
1690
|
{
|
|
1683
1691
|
return {
|
|
1684
1692
|
result: await _SQLStatisticsUtils.mirrorMapChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
1685
1693
|
};
|
|
1686
1694
|
}
|
|
1687
|
-
case CHART_TYPE.TREND:
|
|
1695
|
+
case _constants.CHART_TYPE.TREND:
|
|
1688
1696
|
{
|
|
1689
1697
|
return {
|
|
1690
1698
|
result: _SQLStatisticsUtils.trendMapChartSQLResult2JavaScript(chart, sqlRows, chartSQLMap, columnMap, tables)
|
|
@@ -1709,7 +1717,7 @@ SQLStatisticsUtils.completenessSQlResult = (chart, sqlRows, chartSQLMap, tables)
|
|
|
1709
1717
|
type
|
|
1710
1718
|
}
|
|
1711
1719
|
} = chart;
|
|
1712
|
-
const isGroup = type === CHART_TYPE.COMPLETENESS_GROUP;
|
|
1720
|
+
const isGroup = type === _constants.CHART_TYPE.COMPLETENESS_GROUP;
|
|
1713
1721
|
const {
|
|
1714
1722
|
sqlColumns,
|
|
1715
1723
|
sqlColumnGroupByColumnKey
|
|
@@ -1722,14 +1730,14 @@ SQLStatisticsUtils.completenessSQlResult = (chart, sqlRows, chartSQLMap, tables)
|
|
|
1722
1730
|
} = sqlColumns;
|
|
1723
1731
|
const res = [];
|
|
1724
1732
|
let summedSqlRows;
|
|
1725
|
-
const nameColumnDataAsAnArray = findIfColumnDataIsArray(name_column);
|
|
1733
|
+
const nameColumnDataAsAnArray = (0, _baseUtils.findIfColumnDataIsArray)(name_column);
|
|
1726
1734
|
if (!isGroup) {
|
|
1727
1735
|
if (nameColumnDataAsAnArray) {
|
|
1728
1736
|
const sumSqlRows = sqlRows.reduce((acc, row) => {
|
|
1729
1737
|
const names = row[name_column.key];
|
|
1730
1738
|
if (!names) {
|
|
1731
|
-
row[name_column.key] =
|
|
1732
|
-
acc[
|
|
1739
|
+
row[name_column.key] = _intl.default.get('Empty');
|
|
1740
|
+
acc[_intl.default.get('Empty')] = row;
|
|
1733
1741
|
return acc;
|
|
1734
1742
|
}
|
|
1735
1743
|
names.forEach(name => {
|
|
@@ -1759,8 +1767,8 @@ SQLStatisticsUtils.completenessSQlResult = (chart, sqlRows, chartSQLMap, tables)
|
|
|
1759
1767
|
const sumSqlRows = sqlRows.reduce((acc, row) => {
|
|
1760
1768
|
const nameValue = row[name_column.key];
|
|
1761
1769
|
if (!nameValue) {
|
|
1762
|
-
row[name_column.key] =
|
|
1763
|
-
acc[
|
|
1770
|
+
row[name_column.key] = _intl.default.get('Empty');
|
|
1771
|
+
acc[_intl.default.get('Empty')] = row;
|
|
1764
1772
|
return acc;
|
|
1765
1773
|
}
|
|
1766
1774
|
if (!acc[nameValue]) {
|
|
@@ -1784,7 +1792,7 @@ SQLStatisticsUtils.completenessSQlResult = (chart, sqlRows, chartSQLMap, tables)
|
|
|
1784
1792
|
const names = row[name_column.key];
|
|
1785
1793
|
if (!names) {
|
|
1786
1794
|
const key = "empty_".concat(groupby);
|
|
1787
|
-
row[name_column.key] =
|
|
1795
|
+
row[name_column.key] = _intl.default.get('Empty');
|
|
1788
1796
|
acc[key] = row;
|
|
1789
1797
|
return acc;
|
|
1790
1798
|
}
|
|
@@ -1811,7 +1819,7 @@ SQLStatisticsUtils.completenessSQlResult = (chart, sqlRows, chartSQLMap, tables)
|
|
|
1811
1819
|
const groupby = row[sqlColumnGroupByColumnKey];
|
|
1812
1820
|
if (!nameValue) {
|
|
1813
1821
|
const key = "empty_".concat(groupby);
|
|
1814
|
-
row[name_column.key] =
|
|
1822
|
+
row[name_column.key] = _intl.default.get('Empty');
|
|
1815
1823
|
acc[key] = row;
|
|
1816
1824
|
return acc;
|
|
1817
1825
|
}
|
|
@@ -1833,8 +1841,8 @@ SQLStatisticsUtils.completenessSQlResult = (chart, sqlRows, chartSQLMap, tables)
|
|
|
1833
1841
|
}
|
|
1834
1842
|
|
|
1835
1843
|
// format the fetched value
|
|
1836
|
-
|
|
1837
|
-
if (sqlColumnGroupByColumnKey)
|
|
1844
|
+
_baseUtils.default.updateTableViewList(sqlRows, name_column, name_column.key, 'color', false, true);
|
|
1845
|
+
if (sqlColumnGroupByColumnKey) _baseUtils.default.updateTableViewList(sqlRows, column_groupby_column, sqlColumnGroupByColumnKey, 'color', false, false);
|
|
1838
1846
|
summedSqlRows.forEach(row => {
|
|
1839
1847
|
const nameValue = row[name_column.key];
|
|
1840
1848
|
let targetValue;
|
|
@@ -1843,7 +1851,7 @@ SQLStatisticsUtils.completenessSQlResult = (chart, sqlRows, chartSQLMap, tables)
|
|
|
1843
1851
|
if (sqlColumnGroupByColumnKey) {
|
|
1844
1852
|
targetValue = row["SUM(".concat(target_column.name, ")")];
|
|
1845
1853
|
completedValue = row["SUM(".concat(completed_column.name, ")")];
|
|
1846
|
-
groupby = row[sqlColumnGroupByColumnKey] ||
|
|
1854
|
+
groupby = row[sqlColumnGroupByColumnKey] || _intl.default.get('Empty');
|
|
1847
1855
|
} else {
|
|
1848
1856
|
completedValue = _SQLStatisticsUtils._get_completeness_name(row, completed_column);
|
|
1849
1857
|
targetValue = _SQLStatisticsUtils._get_completeness_name(row, target_column);
|
|
@@ -1864,7 +1872,7 @@ SQLStatisticsUtils.completenessSQlResult = (chart, sqlRows, chartSQLMap, tables)
|
|
|
1864
1872
|
original_name,
|
|
1865
1873
|
group_name: 'completed',
|
|
1866
1874
|
groupby,
|
|
1867
|
-
color: row.color || CHART_STYLE_COLORS[0],
|
|
1875
|
+
color: row.color || _constants.CHART_STYLE_COLORS[0],
|
|
1868
1876
|
value: completedValue
|
|
1869
1877
|
});
|
|
1870
1878
|
res.push({
|
|
@@ -1900,15 +1908,15 @@ SQLStatisticsUtils.scatterSQLResult2JavaScript = (chart, sqlRows, chartSQLMap, c
|
|
|
1900
1908
|
summaryColumn
|
|
1901
1909
|
} = columnMap;
|
|
1902
1910
|
// format sql rows
|
|
1903
|
-
const originalSqlRows = cloneDeep(sqlRows);
|
|
1911
|
+
const originalSqlRows = (0, _lodashEs.cloneDeep)(sqlRows);
|
|
1904
1912
|
const isScatter = true;
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
if (sqlColumnGroupbyColumnKey)
|
|
1913
|
+
_baseUtils.default.updateTableViewList(sqlRows, groupbyColumn, groupbyColumn.key, 'color', isScatter, true);
|
|
1914
|
+
_baseUtils.default.updateTableViewList(sqlRows, summaryColumn, summaryColumn.key, 'color', isScatter, true);
|
|
1915
|
+
if (sqlColumnGroupbyColumnKey) _baseUtils.default.updateTableViewList(sqlRows, columnGroupbyColumn, sqlColumnGroupbyColumnKey, 'color', isScatter, false);
|
|
1908
1916
|
const res = [];
|
|
1909
1917
|
sqlRows.forEach((row, index) => {
|
|
1910
|
-
const xValue = row[sqlXColumnKey] ? '' + row[sqlXColumnKey] :
|
|
1911
|
-
const yValue = row[sqlYColumnKey] ? '' + row[sqlYColumnKey] :
|
|
1918
|
+
const xValue = row[sqlXColumnKey] ? '' + row[sqlXColumnKey] : _intl.default.get('Empty');
|
|
1919
|
+
const yValue = row[sqlYColumnKey] ? '' + row[sqlYColumnKey] : _intl.default.get('Empty');
|
|
1912
1920
|
const groupby = row[sqlColumnGroupbyColumnKey] ? '' + row[sqlColumnGroupbyColumnKey] : null;
|
|
1913
1921
|
const originalSqlRow = originalSqlRows[index];
|
|
1914
1922
|
const originalXValue = originalSqlRow[sqlXColumnKey];
|
|
@@ -2023,8 +2031,8 @@ SQLStatisticsUtils.worldMapSQLResult2JavaScript = (chart, sqlRows, chartSQLMap,
|
|
|
2023
2031
|
let value = nameValueMap[name];
|
|
2024
2032
|
let formatted_value = value;
|
|
2025
2033
|
if (summary_type === 'advanced') {
|
|
2026
|
-
value = formatNumericValue(value, summaryColumn);
|
|
2027
|
-
formatted_value = getFormattedValue(value, summaryColumn, summary_method);
|
|
2034
|
+
value = (0, _columnUtils.formatNumericValue)(value, summaryColumn);
|
|
2035
|
+
formatted_value = (0, _columnUtils.getFormattedValue)(value, summaryColumn, summary_method);
|
|
2028
2036
|
}
|
|
2029
2037
|
acc.push({
|
|
2030
2038
|
name,
|
|
@@ -2040,8 +2048,8 @@ SQLStatisticsUtils.worldMapSQLResult2JavaScript = (chart, sqlRows, chartSQLMap,
|
|
|
2040
2048
|
let value = item[sqlSummaryColumnKey];
|
|
2041
2049
|
let formatted_value = value;
|
|
2042
2050
|
if (summary_type === 'advanced') {
|
|
2043
|
-
value = formatNumericValue(value, summaryColumn);
|
|
2044
|
-
formatted_value = getFormattedValue(value, summaryColumn, summary_method);
|
|
2051
|
+
value = (0, _columnUtils.formatNumericValue)(value, summaryColumn);
|
|
2052
|
+
formatted_value = (0, _columnUtils.getFormattedValue)(value, summaryColumn, summary_method);
|
|
2045
2053
|
}
|
|
2046
2054
|
if (currentValue) {
|
|
2047
2055
|
const name = typeof currentValue === 'string' ? currentValue : currentValue.country_region;
|
|
@@ -2059,7 +2067,7 @@ SQLStatisticsUtils.calculateChart = async (chart, value, callback, sqlRows) => {
|
|
|
2059
2067
|
const {
|
|
2060
2068
|
tables
|
|
2061
2069
|
} = value;
|
|
2062
|
-
if (!
|
|
2070
|
+
if (!_baseUtils.default.isValidExistChart(tables, chart)) {
|
|
2063
2071
|
const tip_message = 'Please_complete_the_chart_configuration_first';
|
|
2064
2072
|
return callback && callback('', tip_message, null);
|
|
2065
2073
|
}
|
|
@@ -2069,7 +2077,7 @@ SQLStatisticsUtils.calculateChart = async (chart, value, callback, sqlRows) => {
|
|
|
2069
2077
|
type
|
|
2070
2078
|
} = chart;
|
|
2071
2079
|
const chartType = config.type;
|
|
2072
|
-
const newConfig =
|
|
2080
|
+
const newConfig = _baseUtils.default.convertConfig(config);
|
|
2073
2081
|
const newChart = {
|
|
2074
2082
|
id,
|
|
2075
2083
|
config: newConfig,
|
|
@@ -2078,11 +2086,11 @@ SQLStatisticsUtils.calculateChart = async (chart, value, callback, sqlRows) => {
|
|
|
2078
2086
|
const {
|
|
2079
2087
|
table_id
|
|
2080
2088
|
} = config;
|
|
2081
|
-
const table = getTableById(tables, table_id);
|
|
2082
|
-
const groupbyColumn =
|
|
2083
|
-
const columnGroupbyColumn =
|
|
2084
|
-
const summaryColumn =
|
|
2085
|
-
const summaryColumnsWithMethod =
|
|
2089
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
2090
|
+
const groupbyColumn = _baseUtils.default.getGroupColumn(table, newChart);
|
|
2091
|
+
const columnGroupbyColumn = _baseUtils.default.getColumnGroupColumn(table, newChart);
|
|
2092
|
+
const summaryColumn = _baseUtils.default.getSummaryColumn(table, newChart);
|
|
2093
|
+
const summaryColumnsWithMethod = _baseUtils.default.getSummaryColumnsWithMethod(table, newChart);
|
|
2086
2094
|
// summary column is referring to single_numeric_column, but summaryColumns is referring to multiple_numeric_column
|
|
2087
2095
|
// single_numeric_column is used as the first setting option when switched to multiple_numeric_column
|
|
2088
2096
|
const columnMap = {
|
|
@@ -2094,7 +2102,7 @@ SQLStatisticsUtils.calculateChart = async (chart, value, callback, sqlRows) => {
|
|
|
2094
2102
|
const chartTableColumns = table.columns;
|
|
2095
2103
|
let chartSQLMap = null;
|
|
2096
2104
|
try {
|
|
2097
|
-
chartSQLMap = chartColumn2SqlColumn(newChart, table);
|
|
2105
|
+
chartSQLMap = (0, _sql.chartColumn2SqlColumn)(newChart, table);
|
|
2098
2106
|
} catch (error) {
|
|
2099
2107
|
let error_message = 'There_are_some_problems_with_the_filters';
|
|
2100
2108
|
if (error.message) error_message = error.message;
|
|
@@ -2103,7 +2111,7 @@ SQLStatisticsUtils.calculateChart = async (chart, value, callback, sqlRows) => {
|
|
|
2103
2111
|
const tipMessage = 'There_are_no_statistic_results_yet';
|
|
2104
2112
|
|
|
2105
2113
|
// Custom Bar
|
|
2106
|
-
if (chartType === CHART_TYPE.BAR_CUSTOM) {
|
|
2114
|
+
if (chartType === _constants.CHART_TYPE.BAR_CUSTOM) {
|
|
2107
2115
|
const result = [];
|
|
2108
2116
|
for (const [index, item] of sqlRows.entries()) {
|
|
2109
2117
|
if (item.length !== 0) {
|
|
@@ -2130,14 +2138,14 @@ SQLStatisticsUtils.calculateChart = async (chart, value, callback, sqlRows) => {
|
|
|
2130
2138
|
}
|
|
2131
2139
|
|
|
2132
2140
|
// map is special, still need to show map even data is empty
|
|
2133
|
-
if (!Array.isArray(sqlRows) || sqlRows.length === 0 && !MAP_CHART_TYPES.includes(chartType)) {
|
|
2141
|
+
if (!Array.isArray(sqlRows) || sqlRows.length === 0 && !_constants.MAP_CHART_TYPES.includes(chartType)) {
|
|
2134
2142
|
callback && callback('', tipMessage, null);
|
|
2135
2143
|
return;
|
|
2136
2144
|
}
|
|
2137
2145
|
const chartResult = await _SQLStatisticsUtils.sqlResult2JavaScript(newChart, sqlRows, chartSQLMap, columnMap, tables);
|
|
2138
2146
|
|
|
2139
2147
|
// map is special
|
|
2140
|
-
if (
|
|
2148
|
+
if (_baseUtils.default.imEmptyChartResult(chartResult) && !chartType.includes('map')) {
|
|
2141
2149
|
callback && callback('', tipMessage, null);
|
|
2142
2150
|
return;
|
|
2143
2151
|
}
|
|
@@ -2157,7 +2165,7 @@ SQLStatisticsUtils.calculateStaticChart = (chart, value, statisticalResult, call
|
|
|
2157
2165
|
config
|
|
2158
2166
|
} = chart;
|
|
2159
2167
|
const tables = value.tables;
|
|
2160
|
-
const newConfig =
|
|
2168
|
+
const newConfig = _baseUtils.default.convertConfig(config);
|
|
2161
2169
|
const newChart = {
|
|
2162
2170
|
id,
|
|
2163
2171
|
config: newConfig
|
|
@@ -2165,31 +2173,31 @@ SQLStatisticsUtils.calculateStaticChart = (chart, value, statisticalResult, call
|
|
|
2165
2173
|
const {
|
|
2166
2174
|
type
|
|
2167
2175
|
} = config;
|
|
2168
|
-
if ([CHART_TYPE.TABLE, CHART_TYPE.TABLE_ELEMENT].includes(type)) return callback && callback('', '', statisticalResult);
|
|
2176
|
+
if ([_constants.CHART_TYPE.TABLE, _constants.CHART_TYPE.TABLE_ELEMENT].includes(type)) return callback && callback('', '', statisticalResult);
|
|
2169
2177
|
const {
|
|
2170
2178
|
table_id,
|
|
2171
2179
|
sort_type
|
|
2172
2180
|
} = config;
|
|
2173
|
-
const table = getTableById(tables, table_id);
|
|
2174
|
-
const groupbyColumn =
|
|
2181
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
2182
|
+
const groupbyColumn = _baseUtils.default.getGroupColumn(table, newChart);
|
|
2175
2183
|
let result = statisticalResult.result;
|
|
2176
2184
|
if (!result) {
|
|
2177
2185
|
const tip_message = 'There_are_no_statistic_results_yet';
|
|
2178
2186
|
return callback && callback('', tip_message, null);
|
|
2179
2187
|
}
|
|
2180
|
-
if (SUPPORT_DATA_SORT_CHART_TYPES.includes(type) && sort_type) {
|
|
2181
|
-
|
|
2188
|
+
if (_constants.SUPPORT_DATA_SORT_CHART_TYPES.includes(type) && sort_type) {
|
|
2189
|
+
_baseUtils.default.sortChartData(result, sort_type);
|
|
2182
2190
|
const newStatisticalResult = {
|
|
2183
2191
|
...statisticalResult,
|
|
2184
2192
|
result
|
|
2185
2193
|
};
|
|
2186
2194
|
return callback && callback('', '', newStatisticalResult);
|
|
2187
2195
|
}
|
|
2188
|
-
|
|
2196
|
+
_baseUtils.default.sortCharts(result, groupbyColumn, 'name');
|
|
2189
2197
|
const newStatisticalResult = {
|
|
2190
2198
|
...statisticalResult,
|
|
2191
2199
|
result
|
|
2192
2200
|
};
|
|
2193
2201
|
return callback && callback('', '', newStatisticalResult);
|
|
2194
2202
|
};
|
|
2195
|
-
|
|
2203
|
+
var _default = exports.default = SQLStatisticsUtils;
|