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,19 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
exports.findIfColumnDataIsArray = findIfColumnDataIsArray;
|
|
9
|
+
var _shallowequal = _interopRequireDefault(require("shallowequal"));
|
|
10
|
+
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
11
|
+
var _slugid = _interopRequireDefault(require("slugid"));
|
|
12
|
+
var _dtableUtils = require("dtable-utils");
|
|
13
|
+
var _constants = require("../../constants");
|
|
14
|
+
var _cellFormatUtils = require("../cell-format-utils");
|
|
15
|
+
var _collaboratorUtils = require("../collaborator-utils");
|
|
16
|
+
var _columnUtils = require("../column-utils");
|
|
17
|
+
var _intl = _interopRequireDefault(require("../../intl"));
|
|
18
|
+
var _context = _interopRequireDefault(require("../../context"));
|
|
19
|
+
var _collaborator = require("../collaborator");
|
|
20
|
+
var _index = require("../index");
|
|
1
21
|
var _BaseUtils;
|
|
2
|
-
|
|
3
|
-
import dayjs from 'dayjs';
|
|
4
|
-
import { CellType, COLLABORATOR_COLUMN_TYPES, FORMULA_COLUMN_TYPES_MAP, FORMULA_RESULT_TYPE, getDateDisplayString, getNumberDisplayString, getOption, getPrecisionNumber, getTableById, getTableColumnByKey, isNumber, isNumericColumn, isDateColumn, sortText, sortNumber, sortDate, sortSingleSelect, sortFormula, getColumnOptions, DateUtils, getGeolocationDisplayString, getFormulaDisplayString, isArchiveView, getViewById, MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP } from 'dtable-utils';
|
|
5
|
-
import { PIE_CHART_COLORS, CHART_SUMMARY_TYPE, CHART_SUPPORT_SORT_COLUMNS, CHART_TYPE, CHART_STYLE_SETTING_KEYS, DEFAULT_LABEL_FONT_SIZE, DEFAULT_NUMBER_FORMAT_OBJECT, X_AXIS_IS_GROUPBY_COLUMN_KEY_CHART_TYPES, STYLE_COLORS, CHART_DATA_SORT_TYPE, CHART_Y_GROUP_TYPE, HORIZONTAL_BAR_CHART_TYPES, COMPLTETELESS_CHART_TYPES, CHART_STYLE_CONFIG_SETTING_KEYS, MAP_CHART_TYPES } from '../../constants';
|
|
6
|
-
import { getClientFormulaDisplayString } from '../cell-format-utils';
|
|
7
|
-
import { getKnownCollaboratorByEmail, generateDefaultUser, getUsers } from '../collaborator-utils';
|
|
8
|
-
import { getDateColumnFormat, getColumnByKey } from '../column-utils';
|
|
9
|
-
import intl from '../../intl';
|
|
10
|
-
import context from '../../context';
|
|
11
|
-
import { isValidCollaboratorEmail } from '../collaborator';
|
|
12
|
-
import { formatRowTotal } from '../index';
|
|
13
|
-
export function findIfColumnDataIsArray(column) {
|
|
22
|
+
function findIfColumnDataIsArray(column) {
|
|
14
23
|
// link-formula may also be an array type column
|
|
15
|
-
let isGroupbyColumnDataAsAnArray = !!MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP[column.type];
|
|
16
|
-
if (column.type === CellType.LINK_FORMULA) {
|
|
24
|
+
let isGroupbyColumnDataAsAnArray = !!_dtableUtils.MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP[column.type];
|
|
25
|
+
if (column.type === _dtableUtils.CellType.LINK_FORMULA) {
|
|
17
26
|
const {
|
|
18
27
|
result_type
|
|
19
28
|
} = column.data || {};
|
|
@@ -41,12 +50,12 @@ BaseUtils.updateSummaryValuePrecision = (result, summaryColumn, summaryValueKey)
|
|
|
41
50
|
if (enable_precision) {
|
|
42
51
|
result.forEach(item => {
|
|
43
52
|
if (format === 'percent') {
|
|
44
|
-
item[summaryValueKey] = parseFloat(getPrecisionNumber(item[summaryValueKey] * 100, {
|
|
53
|
+
item[summaryValueKey] = parseFloat((0, _dtableUtils.getPrecisionNumber)(item[summaryValueKey] * 100, {
|
|
45
54
|
enable_precision,
|
|
46
55
|
precision
|
|
47
56
|
})) / 100;
|
|
48
57
|
} else {
|
|
49
|
-
item[summaryValueKey] = parseFloat(getPrecisionNumber(item[summaryValueKey], {
|
|
58
|
+
item[summaryValueKey] = parseFloat((0, _dtableUtils.getPrecisionNumber)(item[summaryValueKey], {
|
|
50
59
|
enable_precision,
|
|
51
60
|
precision
|
|
52
61
|
}));
|
|
@@ -55,21 +64,21 @@ BaseUtils.updateSummaryValuePrecision = (result, summaryColumn, summaryValueKey)
|
|
|
55
64
|
}
|
|
56
65
|
};
|
|
57
66
|
BaseUtils.isCollaborator = column => {
|
|
58
|
-
return column.type === CellType.COLLABORATOR;
|
|
67
|
+
return column.type === _dtableUtils.CellType.COLLABORATOR;
|
|
59
68
|
};
|
|
60
69
|
// valid chart
|
|
61
70
|
BaseUtils.isValidCombinationChart = (config, table) => {
|
|
62
71
|
const summaryLeftColumnKey = config.y_axis_left_summary_column;
|
|
63
72
|
const summaryLeftType = config.y_axis_left_summary_type;
|
|
64
|
-
if (summaryLeftType === CHART_SUMMARY_TYPE.ADVANCED && !summaryLeftColumnKey) return false;
|
|
73
|
+
if (summaryLeftType === _constants.CHART_SUMMARY_TYPE.ADVANCED && !summaryLeftColumnKey) return false;
|
|
65
74
|
if (summaryLeftColumnKey) {
|
|
66
|
-
if (!getTableColumnByKey(table, summaryLeftColumnKey)) return false;
|
|
75
|
+
if (!(0, _dtableUtils.getTableColumnByKey)(table, summaryLeftColumnKey)) return false;
|
|
67
76
|
}
|
|
68
77
|
const summaryRightColumnKey = config.y_axis_right_summary_column;
|
|
69
78
|
const summaryRightType = config.y_axis_right_summary_type;
|
|
70
|
-
if (summaryRightType === CHART_SUMMARY_TYPE.ADVANCED && !summaryRightColumnKey) return false;
|
|
79
|
+
if (summaryRightType === _constants.CHART_SUMMARY_TYPE.ADVANCED && !summaryRightColumnKey) return false;
|
|
71
80
|
if (summaryRightColumnKey) {
|
|
72
|
-
return getTableColumnByKey(table, summaryRightColumnKey);
|
|
81
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, summaryRightColumnKey);
|
|
73
82
|
}
|
|
74
83
|
return true;
|
|
75
84
|
};
|
|
@@ -82,77 +91,77 @@ BaseUtils.isValidExistChart = (tables, chart) => {
|
|
|
82
91
|
table_id,
|
|
83
92
|
type
|
|
84
93
|
} = config;
|
|
85
|
-
const table = getTableById(tables, table_id);
|
|
94
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
86
95
|
if (!table) return false;
|
|
87
96
|
|
|
88
97
|
// if table exists then it's a valid TABLE_ELEMENT chart
|
|
89
|
-
if (type === CHART_TYPE.TABLE_ELEMENT) {
|
|
98
|
+
if (type === _constants.CHART_TYPE.TABLE_ELEMENT) {
|
|
90
99
|
return true;
|
|
91
100
|
}
|
|
92
|
-
if (type === CHART_TYPE.SCATTER) {
|
|
101
|
+
if (type === _constants.CHART_TYPE.SCATTER) {
|
|
93
102
|
const {
|
|
94
103
|
column_groupby_column_key
|
|
95
104
|
} = config;
|
|
96
105
|
if (!column_groupby_column_key) return false;
|
|
97
106
|
}
|
|
98
|
-
if (config.type === CHART_TYPE.BASIC_NUMBER_CARD) {
|
|
107
|
+
if (config.type === _constants.CHART_TYPE.BASIC_NUMBER_CARD) {
|
|
99
108
|
const {
|
|
100
109
|
summary_type
|
|
101
110
|
} = config;
|
|
102
|
-
if (summary_type === CHART_Y_GROUP_TYPE.COUNT || !summary_type) return true;
|
|
111
|
+
if (summary_type === _constants.CHART_Y_GROUP_TYPE.COUNT || !summary_type) return true;
|
|
103
112
|
const numericColumnKey = config.numeric_column_key;
|
|
104
113
|
if (!numericColumnKey) return false;
|
|
105
|
-
return getTableColumnByKey(table, numericColumnKey);
|
|
114
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, numericColumnKey);
|
|
106
115
|
}
|
|
107
|
-
if (config.type === CHART_TYPE.DASHBOARD) {
|
|
116
|
+
if (config.type === _constants.CHART_TYPE.DASHBOARD) {
|
|
108
117
|
const targetColumnKey = config.target_value_column_key;
|
|
109
118
|
if (!targetColumnKey) return false;
|
|
110
119
|
const totalColumnKey = config.total_value_column_key;
|
|
111
120
|
if (!totalColumnKey) return false;
|
|
112
|
-
if (!getTableColumnByKey(table, targetColumnKey)) return false;
|
|
113
|
-
return getTableColumnByKey(table, totalColumnKey);
|
|
121
|
+
if (!(0, _dtableUtils.getTableColumnByKey)(table, targetColumnKey)) return false;
|
|
122
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, totalColumnKey);
|
|
114
123
|
}
|
|
115
124
|
|
|
116
125
|
// if current chart is using "groupby_column_key" as key
|
|
117
126
|
// if groupby_column_key is null, still return false
|
|
118
127
|
let groupByColumnKey = config.groupby_column_key || config.x_axis_column_key || config.vertical_axis_column_key || config.columnKey || config.date_column_key;
|
|
119
|
-
if ([CHART_TYPE.BAR, CHART_TYPE.BAR_GROUP, CHART_TYPE.BAR_CUSTOM, CHART_TYPE.BAR_STACK, CHART_TYPE.COMPARE_BAR, CHART_TYPE.LINE, CHART_TYPE.LINE_GROUP, CHART_TYPE.AREA, CHART_TYPE.AREA_GROUP, CHART_TYPE.SCATTER, CHART_TYPE.COMBINATION].includes(config.type)) {
|
|
128
|
+
if ([_constants.CHART_TYPE.BAR, _constants.CHART_TYPE.BAR_GROUP, _constants.CHART_TYPE.BAR_CUSTOM, _constants.CHART_TYPE.BAR_STACK, _constants.CHART_TYPE.COMPARE_BAR, _constants.CHART_TYPE.LINE, _constants.CHART_TYPE.LINE_GROUP, _constants.CHART_TYPE.AREA, _constants.CHART_TYPE.AREA_GROUP, _constants.CHART_TYPE.SCATTER, _constants.CHART_TYPE.COMBINATION].includes(config.type)) {
|
|
120
129
|
groupByColumnKey = config.x_axis_column_key;
|
|
121
130
|
}
|
|
122
|
-
if ([CHART_TYPE.HORIZONTAL_BAR, CHART_TYPE.HORIZONTAL_GROUP_BAR, CHART_TYPE.STACKED_HORIZONTAL_BAR].includes(config.type)) {
|
|
131
|
+
if ([_constants.CHART_TYPE.HORIZONTAL_BAR, _constants.CHART_TYPE.HORIZONTAL_GROUP_BAR, _constants.CHART_TYPE.STACKED_HORIZONTAL_BAR].includes(config.type)) {
|
|
123
132
|
groupByColumnKey = config.vertical_axis_column_key;
|
|
124
133
|
}
|
|
125
|
-
if ([CHART_TYPE.MAP, CHART_TYPE.MAP_BUBBLE, CHART_TYPE.WORLD_MAP, CHART_TYPE.WORLD_MAP_BUBBLE].includes(config.type)) {
|
|
134
|
+
if ([_constants.CHART_TYPE.MAP, _constants.CHART_TYPE.MAP_BUBBLE, _constants.CHART_TYPE.WORLD_MAP, _constants.CHART_TYPE.WORLD_MAP_BUBBLE].includes(config.type)) {
|
|
126
135
|
groupByColumnKey = config.geo_column_key;
|
|
127
136
|
}
|
|
128
|
-
if ([CHART_TYPE.HEAT_MAP].includes(config.type)) {
|
|
137
|
+
if ([_constants.CHART_TYPE.HEAT_MAP].includes(config.type)) {
|
|
129
138
|
groupByColumnKey = config.time_column_key;
|
|
130
139
|
}
|
|
131
|
-
if ([CHART_TYPE.MIRROR].includes(config.type)) {
|
|
140
|
+
if ([_constants.CHART_TYPE.MIRROR].includes(config.type)) {
|
|
132
141
|
groupByColumnKey = config.column_key;
|
|
133
142
|
}
|
|
134
|
-
if ([CHART_TYPE.TREND].includes(config.type)) {
|
|
143
|
+
if ([_constants.CHART_TYPE.TREND].includes(config.type)) {
|
|
135
144
|
groupByColumnKey = config.date_column_key;
|
|
136
145
|
}
|
|
137
146
|
if (!groupByColumnKey) return false;
|
|
138
|
-
if (!getTableColumnByKey(table, groupByColumnKey)) return false;
|
|
139
|
-
if (type === CHART_TYPE.FUNNEL) {
|
|
140
|
-
const column = getColumnByKey(config.x_axis_column_key, table.columns);
|
|
141
|
-
if (!column || column.type !== CellType.SINGLE_SELECT) return false;
|
|
147
|
+
if (!(0, _dtableUtils.getTableColumnByKey)(table, groupByColumnKey)) return false;
|
|
148
|
+
if (type === _constants.CHART_TYPE.FUNNEL) {
|
|
149
|
+
const column = (0, _columnUtils.getColumnByKey)(config.x_axis_column_key, table.columns);
|
|
150
|
+
if (!column || column.type !== _dtableUtils.CellType.SINGLE_SELECT) return false;
|
|
142
151
|
}
|
|
143
|
-
if (type === CHART_TYPE.COMBINATION) {
|
|
152
|
+
if (type === _constants.CHART_TYPE.COMBINATION) {
|
|
144
153
|
const isExist = _BaseUtils.isValidCombinationChart(config, table);
|
|
145
154
|
if (!isExist) return false;
|
|
146
155
|
} else {
|
|
147
156
|
let summaryColumnKey = config.summary_column_key || config.y_axis_summary_column_key || config.horizontal_axis_column_key;
|
|
148
|
-
if ([CHART_TYPE.TABLE].includes(config.type) && config.column_groupby_multiple_numeric_column && (config === null || config === void 0 ? void 0 : config.summary_columns.length) > 0) {
|
|
157
|
+
if ([_constants.CHART_TYPE.TABLE].includes(config.type) && config.column_groupby_multiple_numeric_column && (config === null || config === void 0 ? void 0 : config.summary_columns.length) > 0) {
|
|
149
158
|
// "key" and "column_key" are both exists currently, "column_key" is defined in public component, to avoid bugs, better not to change "column_key" to "key"
|
|
150
159
|
summaryColumnKey = config.summary_columns[0].key || config.summary_columns[0].column_key;
|
|
151
160
|
}
|
|
152
161
|
const summaryType = config.summary_type || config.y_axis_summary_type || config.horizontal_axis_summary_type;
|
|
153
|
-
if (summaryType === CHART_SUMMARY_TYPE.ADVANCED && !summaryColumnKey) return false;
|
|
162
|
+
if (summaryType === _constants.CHART_SUMMARY_TYPE.ADVANCED && !summaryColumnKey) return false;
|
|
154
163
|
if (summaryColumnKey) {
|
|
155
|
-
return getTableColumnByKey(table, summaryColumnKey);
|
|
164
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, summaryColumnKey);
|
|
156
165
|
}
|
|
157
166
|
}
|
|
158
167
|
return true;
|
|
@@ -165,34 +174,34 @@ BaseUtils.getGroupColumn = (table, chart) => {
|
|
|
165
174
|
const {
|
|
166
175
|
type
|
|
167
176
|
} = config;
|
|
168
|
-
if (COMPLTETELESS_CHART_TYPES.includes(type)) {
|
|
169
|
-
return getTableColumnByKey(table, config.completed_column_key);
|
|
177
|
+
if (_constants.COMPLTETELESS_CHART_TYPES.includes(type)) {
|
|
178
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.completed_column_key);
|
|
170
179
|
}
|
|
171
|
-
if (HORIZONTAL_BAR_CHART_TYPES.includes(type)) {
|
|
172
|
-
return getTableColumnByKey(table, config.vertical_axis_column_key);
|
|
180
|
+
if (_constants.HORIZONTAL_BAR_CHART_TYPES.includes(type)) {
|
|
181
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.vertical_axis_column_key);
|
|
173
182
|
}
|
|
174
|
-
if (X_AXIS_IS_GROUPBY_COLUMN_KEY_CHART_TYPES.includes(type)) {
|
|
175
|
-
return getTableColumnByKey(table, config.groupby_column_key);
|
|
183
|
+
if (_constants.X_AXIS_IS_GROUPBY_COLUMN_KEY_CHART_TYPES.includes(type)) {
|
|
184
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.groupby_column_key);
|
|
176
185
|
}
|
|
177
|
-
if (type === CHART_TYPE.BASIC_NUMBER_CARD) {
|
|
178
|
-
return getTableColumnByKey(table, config.numeric_column_key);
|
|
186
|
+
if (type === _constants.CHART_TYPE.BASIC_NUMBER_CARD) {
|
|
187
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.numeric_column_key);
|
|
179
188
|
}
|
|
180
|
-
if ([CHART_TYPE.WORLD_MAP, CHART_TYPE.WORLD_MAP_BUBBLE].includes(type)) {
|
|
181
|
-
return getTableColumnByKey(table, config.geo_column_key);
|
|
189
|
+
if ([_constants.CHART_TYPE.WORLD_MAP, _constants.CHART_TYPE.WORLD_MAP_BUBBLE].includes(type)) {
|
|
190
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.geo_column_key);
|
|
182
191
|
}
|
|
183
|
-
if (type === CHART_TYPE.MIRROR) {
|
|
184
|
-
return getTableColumnByKey(table, config.column_key);
|
|
192
|
+
if (type === _constants.CHART_TYPE.MIRROR) {
|
|
193
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.column_key);
|
|
185
194
|
}
|
|
186
|
-
if (type === CHART_TYPE.TREND) {
|
|
187
|
-
return getTableColumnByKey(table, config.date_column_key);
|
|
195
|
+
if (type === _constants.CHART_TYPE.TREND) {
|
|
196
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.date_column_key);
|
|
188
197
|
}
|
|
189
|
-
if (type === CHART_TYPE.HEAT_MAP) {
|
|
190
|
-
return getTableColumnByKey(table, config.time_column_key);
|
|
198
|
+
if (type === _constants.CHART_TYPE.HEAT_MAP) {
|
|
199
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.time_column_key);
|
|
191
200
|
}
|
|
192
|
-
if (MAP_CHART_TYPES.includes(type)) {
|
|
193
|
-
return getTableColumnByKey(table, config.geo_column_key);
|
|
201
|
+
if (_constants.MAP_CHART_TYPES.includes(type)) {
|
|
202
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.geo_column_key);
|
|
194
203
|
}
|
|
195
|
-
return getTableColumnByKey(table, config.x_axis_column_key);
|
|
204
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.x_axis_column_key);
|
|
196
205
|
};
|
|
197
206
|
BaseUtils.getColumnGroupColumn = (table, chart) => {
|
|
198
207
|
const {
|
|
@@ -201,19 +210,19 @@ BaseUtils.getColumnGroupColumn = (table, chart) => {
|
|
|
201
210
|
const {
|
|
202
211
|
type
|
|
203
212
|
} = config;
|
|
204
|
-
if (X_AXIS_IS_GROUPBY_COLUMN_KEY_CHART_TYPES.includes(type)) {
|
|
205
|
-
return getTableColumnByKey(table, config.column_groupby_column_key);
|
|
213
|
+
if (_constants.X_AXIS_IS_GROUPBY_COLUMN_KEY_CHART_TYPES.includes(type)) {
|
|
214
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.column_groupby_column_key);
|
|
206
215
|
}
|
|
207
|
-
if ([CHART_TYPE.BAR_GROUP, CHART_TYPE.BAR_STACK, CHART_TYPE.LINE_GROUP, CHART_TYPE.HORIZONTAL_GROUP_BAR, CHART_TYPE.STACKED_HORIZONTAL_BAR, CHART_TYPE.AREA_GROUP, CHART_TYPE.COMPLETENESS, CHART_TYPE.COMPLETENESS_GROUP].includes(type)) {
|
|
208
|
-
return getTableColumnByKey(table, config.column_groupby_column_key);
|
|
216
|
+
if ([_constants.CHART_TYPE.BAR_GROUP, _constants.CHART_TYPE.BAR_STACK, _constants.CHART_TYPE.LINE_GROUP, _constants.CHART_TYPE.HORIZONTAL_GROUP_BAR, _constants.CHART_TYPE.STACKED_HORIZONTAL_BAR, _constants.CHART_TYPE.AREA_GROUP, _constants.CHART_TYPE.COMPLETENESS, _constants.CHART_TYPE.COMPLETENESS_GROUP].includes(type)) {
|
|
217
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.column_groupby_column_key);
|
|
209
218
|
}
|
|
210
|
-
if ([CHART_TYPE.MIRROR].includes(type)) {
|
|
211
|
-
return getTableColumnByKey(table, config.group_column_key);
|
|
219
|
+
if ([_constants.CHART_TYPE.MIRROR].includes(type)) {
|
|
220
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.group_column_key);
|
|
212
221
|
}
|
|
213
|
-
if (type === CHART_TYPE.SCATTER) {
|
|
214
|
-
return getTableColumnByKey(table, config.column_groupby_column_key);
|
|
222
|
+
if (type === _constants.CHART_TYPE.SCATTER) {
|
|
223
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.column_groupby_column_key);
|
|
215
224
|
}
|
|
216
|
-
return getTableColumnByKey(table, config.y_axis_summary_column_key);
|
|
225
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.y_axis_summary_column_key);
|
|
217
226
|
};
|
|
218
227
|
BaseUtils.getSummaryColumn = (table, chart) => {
|
|
219
228
|
const {
|
|
@@ -227,39 +236,39 @@ BaseUtils.getSummaryColumn = (table, chart) => {
|
|
|
227
236
|
horizontal_axis_column_key
|
|
228
237
|
} = config;
|
|
229
238
|
switch (type) {
|
|
230
|
-
case CHART_TYPE.COMPLETENESS:
|
|
231
|
-
case CHART_TYPE.COMPLETENESS_GROUP:
|
|
239
|
+
case _constants.CHART_TYPE.COMPLETENESS:
|
|
240
|
+
case _constants.CHART_TYPE.COMPLETENESS_GROUP:
|
|
232
241
|
{
|
|
233
|
-
return getTableColumnByKey(table, config.target_column_key);
|
|
242
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.target_column_key);
|
|
234
243
|
}
|
|
235
|
-
case CHART_TYPE.HORIZONTAL_BAR:
|
|
236
|
-
case CHART_TYPE.STACKED_HORIZONTAL_BAR:
|
|
237
|
-
case CHART_TYPE.HORIZONTAL_GROUP_BAR:
|
|
244
|
+
case _constants.CHART_TYPE.HORIZONTAL_BAR:
|
|
245
|
+
case _constants.CHART_TYPE.STACKED_HORIZONTAL_BAR:
|
|
246
|
+
case _constants.CHART_TYPE.HORIZONTAL_GROUP_BAR:
|
|
238
247
|
{
|
|
239
|
-
return getTableColumnByKey(table, horizontal_axis_column_key);
|
|
248
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, horizontal_axis_column_key);
|
|
240
249
|
}
|
|
241
|
-
case CHART_TYPE.BAR:
|
|
242
|
-
case CHART_TYPE.BAR_GROUP:
|
|
243
|
-
case CHART_TYPE.LINE:
|
|
244
|
-
case CHART_TYPE.LINE_GROUP:
|
|
245
|
-
case CHART_TYPE.AREA:
|
|
246
|
-
case CHART_TYPE.AREA_GROUP:
|
|
247
|
-
case CHART_TYPE.BAR_STACK:
|
|
250
|
+
case _constants.CHART_TYPE.BAR:
|
|
251
|
+
case _constants.CHART_TYPE.BAR_GROUP:
|
|
252
|
+
case _constants.CHART_TYPE.LINE:
|
|
253
|
+
case _constants.CHART_TYPE.LINE_GROUP:
|
|
254
|
+
case _constants.CHART_TYPE.AREA:
|
|
255
|
+
case _constants.CHART_TYPE.AREA_GROUP:
|
|
256
|
+
case _constants.CHART_TYPE.BAR_STACK:
|
|
248
257
|
{
|
|
249
|
-
return getTableColumnByKey(table, y_axis_summary_column_key);
|
|
258
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, y_axis_summary_column_key);
|
|
250
259
|
}
|
|
251
|
-
case CHART_TYPE.BASIC_NUMBER_CARD:
|
|
260
|
+
case _constants.CHART_TYPE.BASIC_NUMBER_CARD:
|
|
252
261
|
{
|
|
253
|
-
return getTableColumnByKey(table, numeric_column_key);
|
|
262
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, numeric_column_key);
|
|
254
263
|
}
|
|
255
|
-
case CHART_TYPE.SCATTER:
|
|
264
|
+
case _constants.CHART_TYPE.SCATTER:
|
|
256
265
|
{
|
|
257
|
-
return getTableColumnByKey(table, config.y_axis_column_key);
|
|
266
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.y_axis_column_key);
|
|
258
267
|
}
|
|
259
|
-
case CHART_TYPE.COMBINATION:
|
|
268
|
+
case _constants.CHART_TYPE.COMBINATION:
|
|
260
269
|
{
|
|
261
|
-
const summaryColumnLeft = getTableColumnByKey(table, config.y_axis_left_summary_column);
|
|
262
|
-
const summaryColumnRight = getTableColumnByKey(table, config.y_axis_right_summary_column);
|
|
270
|
+
const summaryColumnLeft = (0, _dtableUtils.getTableColumnByKey)(table, config.y_axis_left_summary_column);
|
|
271
|
+
const summaryColumnRight = (0, _dtableUtils.getTableColumnByKey)(table, config.y_axis_right_summary_column);
|
|
263
272
|
return {
|
|
264
273
|
summaryColumnLeft,
|
|
265
274
|
summaryColumnRight
|
|
@@ -267,7 +276,7 @@ BaseUtils.getSummaryColumn = (table, chart) => {
|
|
|
267
276
|
}
|
|
268
277
|
default:
|
|
269
278
|
{
|
|
270
|
-
return getTableColumnByKey(table, summary_column_key);
|
|
279
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, summary_column_key);
|
|
271
280
|
}
|
|
272
281
|
}
|
|
273
282
|
};
|
|
@@ -293,7 +302,7 @@ BaseUtils.getSummaryColumnsWithMethod = (table, chart) => {
|
|
|
293
302
|
summary_method
|
|
294
303
|
} = summaryItem;
|
|
295
304
|
return {
|
|
296
|
-
column: getTableColumnByKey(table, columnKey),
|
|
305
|
+
column: (0, _dtableUtils.getTableColumnByKey)(table, columnKey),
|
|
297
306
|
summary_method
|
|
298
307
|
};
|
|
299
308
|
});
|
|
@@ -302,7 +311,7 @@ BaseUtils.getGroupName = (tables, chart) => {
|
|
|
302
311
|
const {
|
|
303
312
|
config
|
|
304
313
|
} = chart;
|
|
305
|
-
const table = getTableById(tables, config.table_id);
|
|
314
|
+
const table = (0, _dtableUtils.getTableById)(tables, config.table_id);
|
|
306
315
|
const column = _BaseUtils.getGroupColumn(table, chart);
|
|
307
316
|
return column.name;
|
|
308
317
|
};
|
|
@@ -349,24 +358,24 @@ BaseUtils.getSummaryValueDisplayString = function (summaryColumn, summaryValue)
|
|
|
349
358
|
};
|
|
350
359
|
|
|
351
360
|
// The date returned by db carries T and Z, so that there is a time difference in data formatting
|
|
352
|
-
return getDateDisplayString(summaryValue.replace(/[T|Z]/g, ' '), format);
|
|
361
|
+
return (0, _dtableUtils.getDateDisplayString)(summaryValue.replace(/[T|Z]/g, ' '), format);
|
|
353
362
|
}
|
|
354
|
-
if (typeof summaryValue !== 'number') return formatRowTotal(summaryValue);
|
|
355
|
-
return getNumberDisplayString(summaryValue, data || DEFAULT_NUMBER_FORMAT_OBJECT);
|
|
363
|
+
if (typeof summaryValue !== 'number') return (0, _index.formatRowTotal)(summaryValue);
|
|
364
|
+
return (0, _dtableUtils.getNumberDisplayString)(summaryValue, data || _constants.DEFAULT_NUMBER_FORMAT_OBJECT);
|
|
356
365
|
};
|
|
357
366
|
BaseUtils.isNumericSummaryColumn = summaryColumn => {
|
|
358
367
|
if (!summaryColumn) return false;
|
|
359
368
|
const {
|
|
360
369
|
type
|
|
361
370
|
} = summaryColumn;
|
|
362
|
-
return type !== CellType.LINK && isNumericColumn(summaryColumn);
|
|
371
|
+
return type !== _dtableUtils.CellType.LINK && (0, _dtableUtils.isNumericColumn)(summaryColumn);
|
|
363
372
|
};
|
|
364
373
|
BaseUtils.isDateSummaryColumn = summaryColumn => {
|
|
365
374
|
if (!summaryColumn) return false;
|
|
366
375
|
const {
|
|
367
376
|
type
|
|
368
377
|
} = summaryColumn;
|
|
369
|
-
return type !== CellType.LINK && isDateColumn(summaryColumn);
|
|
378
|
+
return type !== _dtableUtils.CellType.LINK && (0, _dtableUtils.isDateColumn)(summaryColumn);
|
|
370
379
|
};
|
|
371
380
|
BaseUtils.getSummaryValue = (_ref, currentValue, nextValue, isPivotCalculator) => {
|
|
372
381
|
let {
|
|
@@ -376,14 +385,14 @@ BaseUtils.getSummaryValue = (_ref, currentValue, nextValue, isPivotCalculator) =
|
|
|
376
385
|
if (_BaseUtils.isDateSummaryColumn(summaryColumn)) {
|
|
377
386
|
if (summaryMethod === 'MAX') {
|
|
378
387
|
if (currentValue && nextValue) {
|
|
379
|
-
return
|
|
388
|
+
return (0, _dayjs.default)(currentValue).isBefore(nextValue) ? nextValue : currentValue;
|
|
380
389
|
}
|
|
381
390
|
if (!currentValue && nextValue) return nextValue;
|
|
382
391
|
return currentValue;
|
|
383
392
|
}
|
|
384
393
|
if (summaryMethod === 'MIN') {
|
|
385
394
|
if (currentValue && nextValue) {
|
|
386
|
-
return
|
|
395
|
+
return (0, _dayjs.default)(currentValue).isBefore(nextValue) ? currentValue : nextValue;
|
|
387
396
|
}
|
|
388
397
|
if (!currentValue && nextValue) return nextValue;
|
|
389
398
|
return currentValue;
|
|
@@ -409,7 +418,7 @@ BaseUtils.getStatisticColumns = table => {
|
|
|
409
418
|
let {
|
|
410
419
|
columns
|
|
411
420
|
} = table;
|
|
412
|
-
let unStatisticalColumns = [CellType.LONG_TEXT, CellType.IMAGE, CellType.FILE, CellType.CHECKBOX];
|
|
421
|
+
let unStatisticalColumns = [_dtableUtils.CellType.LONG_TEXT, _dtableUtils.CellType.IMAGE, _dtableUtils.CellType.FILE, _dtableUtils.CellType.CHECKBOX];
|
|
413
422
|
return columns.filter(column => {
|
|
414
423
|
return unStatisticalColumns.indexOf(column.type) === -1;
|
|
415
424
|
});
|
|
@@ -417,7 +426,7 @@ BaseUtils.getStatisticColumns = table => {
|
|
|
417
426
|
BaseUtils.isChartEqual = (preChartElement, curChartElement) => {
|
|
418
427
|
const elementType = preChartElement.config.type;
|
|
419
428
|
if (elementType !== curChartElement.config.type) return false;
|
|
420
|
-
return
|
|
429
|
+
return (0, _shallowequal.default)(preChartElement.config, curChartElement.config);
|
|
421
430
|
};
|
|
422
431
|
BaseUtils.isChartStyleChange = (preChartElement, curChartElement) => {
|
|
423
432
|
var _preChartElement$heig, _curChartElement$heig;
|
|
@@ -429,10 +438,10 @@ BaseUtils.isChartStyleChange = (preChartElement, curChartElement) => {
|
|
|
429
438
|
if ((preChartElement === null || preChartElement === void 0 ? void 0 : preChartElement.width_in_unit) !== (curChartElement === null || curChartElement === void 0 ? void 0 : curChartElement.width_in_unit)) return true;
|
|
430
439
|
const hasStyleConfig = preChartElement.style_config && curChartElement.style_config;
|
|
431
440
|
if (hasStyleConfig) {
|
|
432
|
-
const chartStyleConfigChanged = CHART_STYLE_CONFIG_SETTING_KEYS.some(key => preChartElement.style_config[key] !== curChartElement.style_config[key]);
|
|
441
|
+
const chartStyleConfigChanged = _constants.CHART_STYLE_CONFIG_SETTING_KEYS.some(key => preChartElement.style_config[key] !== curChartElement.style_config[key]);
|
|
433
442
|
return chartStyleConfigChanged;
|
|
434
443
|
}
|
|
435
|
-
return !CHART_STYLE_SETTING_KEYS.every(key => preChartElement.config[key] === curChartElement.config[key]);
|
|
444
|
+
return !_constants.CHART_STYLE_SETTING_KEYS.every(key => preChartElement.config[key] === curChartElement.config[key]);
|
|
436
445
|
};
|
|
437
446
|
BaseUtils.isChartTypeChange = (preChartElement, curChartElement) => {
|
|
438
447
|
const elementType = preChartElement.config.type;
|
|
@@ -450,9 +459,9 @@ BaseUtils.isArchiveView = (chart, tables) => {
|
|
|
450
459
|
table_id,
|
|
451
460
|
view_id
|
|
452
461
|
} = chart;
|
|
453
|
-
const table = getTableById(tables, table_id);
|
|
454
|
-
const view = getViewById(table === null || table === void 0 ? void 0 : table.views, view_id);
|
|
455
|
-
return view && isArchiveView(view);
|
|
462
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
463
|
+
const view = (0, _dtableUtils.getViewById)(table === null || table === void 0 ? void 0 : table.views, view_id);
|
|
464
|
+
return view && (0, _dtableUtils.isArchiveView)(view);
|
|
456
465
|
};
|
|
457
466
|
BaseUtils.isChartSortChange = (preChartElement, curChartElement) => {
|
|
458
467
|
return preChartElement.config.sort_type !== curChartElement.config.sort_type;
|
|
@@ -460,7 +469,7 @@ BaseUtils.isChartSortChange = (preChartElement, curChartElement) => {
|
|
|
460
469
|
BaseUtils.isChartStyleChanged = (prevElement, currElement) => {
|
|
461
470
|
const prevStyleConfig = prevElement && prevElement.style_config;
|
|
462
471
|
const currStyleConfig = currElement && currElement.style_config;
|
|
463
|
-
if ((prevStyleConfig === null || prevStyleConfig === void 0 ? void 0 : prevStyleConfig.display_goal_line) !== (currStyleConfig === null || currStyleConfig === void 0 ? void 0 : currStyleConfig.display_goal_line) && (!(currStyleConfig
|
|
472
|
+
if ((prevStyleConfig === null || prevStyleConfig === void 0 ? void 0 : prevStyleConfig.display_goal_line) !== (currStyleConfig === null || currStyleConfig === void 0 ? void 0 : currStyleConfig.display_goal_line) && (!(currStyleConfig !== null && currStyleConfig !== void 0 && currStyleConfig.goal_lable) || !(currStyleConfig !== null && currStyleConfig !== void 0 && currStyleConfig.goal_value))) {
|
|
464
473
|
return false;
|
|
465
474
|
}
|
|
466
475
|
if (!prevStyleConfig && !currStyleConfig) {
|
|
@@ -477,22 +486,22 @@ BaseUtils.isChartStyleChanged = (prevElement, currElement) => {
|
|
|
477
486
|
border: currBorder,
|
|
478
487
|
title: currTitle
|
|
479
488
|
} = currStyleConfig;
|
|
480
|
-
return !
|
|
489
|
+
return !(0, _shallowequal.default)(prevBorder, currBorder) || !(0, _shallowequal.default)(prevTitle, currTitle);
|
|
481
490
|
};
|
|
482
491
|
BaseUtils.shouldChartComponentUpdate = (prevProps, currentProps) => {
|
|
483
492
|
return !_BaseUtils.isChartEqual(prevProps.chart, currentProps.chart) ||
|
|
484
493
|
// chart attributes changed
|
|
485
|
-
!
|
|
494
|
+
!(0, _shallowequal.default)(prevProps.canvasStyle, currentProps.canvasStyle) ||
|
|
486
495
|
// canvasStyle
|
|
487
|
-
!
|
|
496
|
+
!(0, _shallowequal.default)(prevProps.groupbyColumn, currentProps.groupbyColumn) ||
|
|
488
497
|
// groupbyColumn's data、type changed or not exist
|
|
489
|
-
!
|
|
498
|
+
!(0, _shallowequal.default)(prevProps.columnGroupbyColumn, currentProps.columnGroupbyColumn) ||
|
|
490
499
|
// columnGroupbyColumn's data、type changed or not exist
|
|
491
|
-
!
|
|
500
|
+
!(0, _shallowequal.default)(prevProps.summaryColumn, currentProps.summaryColumn) ||
|
|
492
501
|
// summaryColumn's data、type changed or not exist
|
|
493
|
-
!
|
|
502
|
+
!(0, _shallowequal.default)(prevProps.globalTheme, currentProps.globalTheme) ||
|
|
494
503
|
// global theme changed
|
|
495
|
-
!
|
|
504
|
+
!(0, _shallowequal.default)(prevProps.chartColorTheme, currentProps.chartColorTheme) ||
|
|
496
505
|
// chart color theme changed
|
|
497
506
|
_BaseUtils._isChartDataChange(prevProps, currentProps) || _BaseUtils.isChartStyleChanged(prevProps.chart, currentProps.chart);
|
|
498
507
|
};
|
|
@@ -509,7 +518,7 @@ BaseUtils._isChartDataChange = (prevProps, currentProps) => {
|
|
|
509
518
|
const {
|
|
510
519
|
result: oldData
|
|
511
520
|
} = currentProps;
|
|
512
|
-
if (chart.config.type === CHART_TYPE.COMBINATION) {
|
|
521
|
+
if (chart.config.type === _constants.CHART_TYPE.COMBINATION) {
|
|
513
522
|
return _BaseUtils._isCombinationDataChange(newData, oldData);
|
|
514
523
|
}
|
|
515
524
|
if (!newData && !oldData) return false;
|
|
@@ -528,27 +537,29 @@ BaseUtils._isChartDataChange = (prevProps, currentProps) => {
|
|
|
528
537
|
for (let j = 0; j < (newDataItemRows === null || newDataItemRows === void 0 ? void 0 : newDataItemRows.length) || 0; j++) {
|
|
529
538
|
let newDataItemRow = newDataItemRows[j];
|
|
530
539
|
let oldDataItemRow = oldDataItemRows[j];
|
|
531
|
-
if (!
|
|
540
|
+
if (!(0, _shallowequal.default)(newDataItemRow, oldDataItemRow)) return true;
|
|
532
541
|
}
|
|
533
542
|
}
|
|
534
543
|
return false;
|
|
535
544
|
};
|
|
536
545
|
BaseUtils.getColumn = (tables, tableId, columnKey) => {
|
|
537
|
-
const table = getTableById(tables, tableId);
|
|
538
|
-
return getTableColumnByKey(table, columnKey);
|
|
546
|
+
const table = (0, _dtableUtils.getTableById)(tables, tableId);
|
|
547
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, columnKey);
|
|
539
548
|
};
|
|
540
549
|
BaseUtils.formatEmptyName = (dataList, column_groupby_column_key, emptyName) => {
|
|
541
550
|
if (!Array.isArray(dataList)) return [];
|
|
542
551
|
let updatedStatistics = [];
|
|
543
552
|
for (let i = 0; i < dataList.length; i++) {
|
|
544
553
|
let item = dataList[i];
|
|
545
|
-
// let updated = {};
|
|
546
554
|
if (!item.name) {
|
|
547
555
|
item.name = emptyName;
|
|
548
556
|
}
|
|
549
557
|
if (column_groupby_column_key && !item.group_name) {
|
|
550
558
|
item.group_name = emptyName;
|
|
551
559
|
}
|
|
560
|
+
if (!item.slugId) {
|
|
561
|
+
item.slugId = _slugid.default.nice();
|
|
562
|
+
}
|
|
552
563
|
updatedStatistics.push(item);
|
|
553
564
|
}
|
|
554
565
|
return updatedStatistics;
|
|
@@ -570,10 +581,10 @@ BaseUtils.getPieColorSet = (tables, chart, result) => {
|
|
|
570
581
|
const {
|
|
571
582
|
type: columnType
|
|
572
583
|
} = column || {};
|
|
573
|
-
const pieChartColorsLength = PIE_CHART_COLORS.length - 1;
|
|
584
|
+
const pieChartColorsLength = _constants.PIE_CHART_COLORS.length - 1;
|
|
574
585
|
const backgroundColor = [];
|
|
575
586
|
result.forEach((item, index) => {
|
|
576
|
-
if (columnType === CellType.SINGLE_SELECT || columnType === CellType.MULTIPLE_SELECT) {
|
|
587
|
+
if (columnType === _dtableUtils.CellType.SINGLE_SELECT || columnType === _dtableUtils.CellType.MULTIPLE_SELECT) {
|
|
577
588
|
let {
|
|
578
589
|
color
|
|
579
590
|
} = item;
|
|
@@ -582,7 +593,7 @@ BaseUtils.getPieColorSet = (tables, chart, result) => {
|
|
|
582
593
|
if (index > pieChartColorsLength) {
|
|
583
594
|
index = index % pieChartColorsLength;
|
|
584
595
|
}
|
|
585
|
-
backgroundColor.push(PIE_CHART_COLORS[index]);
|
|
596
|
+
backgroundColor.push(_constants.PIE_CHART_COLORS[index]);
|
|
586
597
|
}
|
|
587
598
|
});
|
|
588
599
|
return backgroundColor;
|
|
@@ -621,8 +632,8 @@ BaseUtils.formatPieChartData = (data, chart, tables, currentTheme, useColumnColo
|
|
|
621
632
|
groupby_column_key,
|
|
622
633
|
minimum_slice_percent
|
|
623
634
|
} = chart.config;
|
|
624
|
-
const table = getTableById(tables, table_id);
|
|
625
|
-
const column = getColumnByKey(groupby_column_key, table ? table.columns : []);
|
|
635
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
636
|
+
const column = (0, _columnUtils.getColumnByKey)(groupby_column_key, table ? table.columns : []);
|
|
626
637
|
let sum = data.reduce((total, currentValue) => {
|
|
627
638
|
return total += currentValue.value;
|
|
628
639
|
}, 0);
|
|
@@ -673,9 +684,9 @@ BaseUtils.updateTableViewListItemNameAndColor = (result, column, nameKey, colorK
|
|
|
673
684
|
data: columnData
|
|
674
685
|
} = column;
|
|
675
686
|
let name = result[nameKey];
|
|
676
|
-
if (columnType === CellType.SINGLE_SELECT || columnType === CellType.MULTIPLE_SELECT) {
|
|
677
|
-
const options = getColumnOptions(column);
|
|
678
|
-
let selectedOption = getOption(options, name);
|
|
687
|
+
if (columnType === _dtableUtils.CellType.SINGLE_SELECT || columnType === _dtableUtils.CellType.MULTIPLE_SELECT) {
|
|
688
|
+
const options = (0, _dtableUtils.getColumnOptions)(column);
|
|
689
|
+
let selectedOption = (0, _dtableUtils.getOption)(options, name);
|
|
679
690
|
let {
|
|
680
691
|
name: optionName,
|
|
681
692
|
color: optionColor,
|
|
@@ -688,8 +699,8 @@ BaseUtils.updateTableViewListItemNameAndColor = (result, column, nameKey, colorK
|
|
|
688
699
|
} else {
|
|
689
700
|
result[colorKey] = '#dbdbdb';
|
|
690
701
|
}
|
|
691
|
-
} else if (columnType === CellType.COLLABORATOR) {
|
|
692
|
-
getUsers(name, users => {
|
|
702
|
+
} else if (columnType === _dtableUtils.CellType.COLLABORATOR) {
|
|
703
|
+
(0, _collaboratorUtils.getUsers)(name, users => {
|
|
693
704
|
// if users not found , use name instead
|
|
694
705
|
if (!users.length) {
|
|
695
706
|
if (!Array.isArray(name)) {
|
|
@@ -701,9 +712,9 @@ BaseUtils.updateTableViewListItemNameAndColor = (result, column, nameKey, colorK
|
|
|
701
712
|
result[nameKey] = users.map(user => user.name).join(', ');
|
|
702
713
|
isNameField && (result.original_name = users.map(user => user.email).join(', '));
|
|
703
714
|
});
|
|
704
|
-
} else if (columnType === CellType.CREATOR || columnType === CellType.LAST_MODIFIER) {
|
|
715
|
+
} else if (columnType === _dtableUtils.CellType.CREATOR || columnType === _dtableUtils.CellType.LAST_MODIFIER) {
|
|
705
716
|
// move collaborators logic to collaborator-utils.js
|
|
706
|
-
getUsers(name, users => {
|
|
717
|
+
(0, _collaboratorUtils.getUsers)(name, users => {
|
|
707
718
|
// if users not found , use name instead
|
|
708
719
|
if (!users.length) {
|
|
709
720
|
if (!Array.isArray(name)) {
|
|
@@ -715,26 +726,26 @@ BaseUtils.updateTableViewListItemNameAndColor = (result, column, nameKey, colorK
|
|
|
715
726
|
result[nameKey] = users.map(user => user.name).join(', ');
|
|
716
727
|
isNameField && (result.original_name = users.map(user => user.email).join(', '));
|
|
717
728
|
});
|
|
718
|
-
} else if (columnType === CellType.NUMBER) {
|
|
729
|
+
} else if (columnType === _dtableUtils.CellType.NUMBER) {
|
|
719
730
|
let valueNumber = parseFloat(name);
|
|
720
|
-
result[nameKey] = isNumber(valueNumber) ? getNumberDisplayString(valueNumber, columnData) : name;
|
|
731
|
+
result[nameKey] = (0, _dtableUtils.isNumber)(valueNumber) ? (0, _dtableUtils.getNumberDisplayString)(valueNumber, columnData) : name;
|
|
721
732
|
isNameField && (result.original_name = name);
|
|
722
|
-
} else if (columnType === CellType.DATE) {
|
|
733
|
+
} else if (columnType === _dtableUtils.CellType.DATE) {
|
|
723
734
|
name = name + '';
|
|
724
735
|
if (name && name.split('-').length === 3) {
|
|
725
|
-
let format = getDateColumnFormat(column);
|
|
736
|
+
let format = (0, _columnUtils.getDateColumnFormat)(column);
|
|
726
737
|
let spaceIndex = format.indexOf(' ');
|
|
727
738
|
if (spaceIndex > -1) {
|
|
728
739
|
format = format.slice(0, spaceIndex);
|
|
729
740
|
}
|
|
730
|
-
result[nameKey] =
|
|
741
|
+
result[nameKey] = (0, _dayjs.default)(name).format(format);
|
|
731
742
|
}
|
|
732
|
-
} else if (columnType === CellType.LINK_FORMULA) {
|
|
743
|
+
} else if (columnType === _dtableUtils.CellType.LINK_FORMULA) {
|
|
733
744
|
// scatter only use number
|
|
734
745
|
if (isScatterChart) {
|
|
735
746
|
name.length && (name = name[0]);
|
|
736
747
|
let valueNumber = parseFloat(name);
|
|
737
|
-
result[nameKey] = isNumber(valueNumber) ? getNumberDisplayString(valueNumber, columnData) : name;
|
|
748
|
+
result[nameKey] = (0, _dtableUtils.isNumber)(valueNumber) ? (0, _dtableUtils.getNumberDisplayString)(valueNumber, columnData) : name;
|
|
738
749
|
}
|
|
739
750
|
const {
|
|
740
751
|
array_data,
|
|
@@ -761,8 +772,8 @@ BaseUtils.sortCharts = (charts, column, sortKey, isPivot) => {
|
|
|
761
772
|
} = column;
|
|
762
773
|
const sortType = 'up';
|
|
763
774
|
const optionIdIndexMap = {};
|
|
764
|
-
const isPivotMultipleSelect = columnType === CellType.MULTIPLE_SELECT && isPivot;
|
|
765
|
-
if ([CellType.SINGLE_SELECT].includes(columnType) || isPivotMultipleSelect) {
|
|
775
|
+
const isPivotMultipleSelect = columnType === _dtableUtils.CellType.MULTIPLE_SELECT && isPivot;
|
|
776
|
+
if ([_dtableUtils.CellType.SINGLE_SELECT].includes(columnType) || isPivotMultipleSelect) {
|
|
766
777
|
const {
|
|
767
778
|
options
|
|
768
779
|
} = data || {};
|
|
@@ -770,7 +781,7 @@ BaseUtils.sortCharts = (charts, column, sortKey, isPivot) => {
|
|
|
770
781
|
optionIdIndexMap[option.id] = index;
|
|
771
782
|
});
|
|
772
783
|
}
|
|
773
|
-
const isPivotLinkFormulaSingleAndMultipleSelect = columnType === CellType.LINK_FORMULA && [CellType.SINGLE_SELECT, CellType.MULTIPLE_SELECT].includes(column.data.array_type) && isPivot;
|
|
784
|
+
const isPivotLinkFormulaSingleAndMultipleSelect = columnType === _dtableUtils.CellType.LINK_FORMULA && [_dtableUtils.CellType.SINGLE_SELECT, _dtableUtils.CellType.MULTIPLE_SELECT].includes(column.data.array_type) && isPivot;
|
|
774
785
|
if (isPivotLinkFormulaSingleAndMultipleSelect) {
|
|
775
786
|
var _column$data;
|
|
776
787
|
let {
|
|
@@ -794,14 +805,14 @@ BaseUtils.sortCharts = (charts, column, sortKey, isPivot) => {
|
|
|
794
805
|
if (!next && next !== 0) {
|
|
795
806
|
return 1;
|
|
796
807
|
}
|
|
797
|
-
if (CHART_SUPPORT_SORT_COLUMNS.includes(columnType)) {
|
|
808
|
+
if (_constants.CHART_SUPPORT_SORT_COLUMNS.includes(columnType)) {
|
|
798
809
|
let realColumnType = columnType;
|
|
799
|
-
if ([CellType.LINK_FORMULA, CellType.LINK].includes(columnType)) {
|
|
810
|
+
if ([_dtableUtils.CellType.LINK_FORMULA, _dtableUtils.CellType.LINK].includes(columnType)) {
|
|
800
811
|
realColumnType = column.data.array_type;
|
|
801
812
|
}
|
|
802
813
|
switch (realColumnType) {
|
|
803
|
-
case CellType.NUMBER:
|
|
804
|
-
case CellType.RATE:
|
|
814
|
+
case _dtableUtils.CellType.NUMBER:
|
|
815
|
+
case _dtableUtils.CellType.RATE:
|
|
805
816
|
{
|
|
806
817
|
if (current) {
|
|
807
818
|
current = current - 0;
|
|
@@ -809,15 +820,15 @@ BaseUtils.sortCharts = (charts, column, sortKey, isPivot) => {
|
|
|
809
820
|
if (next) {
|
|
810
821
|
next = next - 0;
|
|
811
822
|
}
|
|
812
|
-
return sortNumber(current, next, sortType);
|
|
823
|
+
return (0, _dtableUtils.sortNumber)(current, next, sortType);
|
|
813
824
|
}
|
|
814
|
-
case CellType.DATE:
|
|
815
|
-
case CellType.CTIME:
|
|
816
|
-
case CellType.MTIME:
|
|
825
|
+
case _dtableUtils.CellType.DATE:
|
|
826
|
+
case _dtableUtils.CellType.CTIME:
|
|
827
|
+
case _dtableUtils.CellType.MTIME:
|
|
817
828
|
{
|
|
818
|
-
return sortDate(current, next, sortType);
|
|
829
|
+
return (0, _dtableUtils.sortDate)(current, next, sortType);
|
|
819
830
|
}
|
|
820
|
-
case CellType.SINGLE_SELECT:
|
|
831
|
+
case _dtableUtils.CellType.SINGLE_SELECT:
|
|
821
832
|
{
|
|
822
833
|
// key was used to sort "pivot columns" in pivot chart
|
|
823
834
|
const {
|
|
@@ -830,29 +841,29 @@ BaseUtils.sortCharts = (charts, column, sortKey, isPivot) => {
|
|
|
830
841
|
} = nextResult || {};
|
|
831
842
|
const current = currentName || currentKey;
|
|
832
843
|
const next = nextName || nextKey;
|
|
833
|
-
return sortSingleSelect(current, next, {
|
|
844
|
+
return (0, _dtableUtils.sortSingleSelect)(current, next, {
|
|
834
845
|
sort_type: sortType,
|
|
835
846
|
option_id_index_map: optionIdIndexMap
|
|
836
847
|
});
|
|
837
848
|
}
|
|
838
|
-
case CellType.MULTIPLE_SELECT:
|
|
849
|
+
case _dtableUtils.CellType.MULTIPLE_SELECT:
|
|
839
850
|
{
|
|
840
|
-
return sortSingleSelect(current, next, {
|
|
851
|
+
return (0, _dtableUtils.sortSingleSelect)(current, next, {
|
|
841
852
|
sort_type: sortType,
|
|
842
853
|
option_id_index_map: optionIdIndexMap
|
|
843
854
|
});
|
|
844
855
|
}
|
|
845
|
-
case CellType.FORMULA:
|
|
846
|
-
case CellType.LINK_FORMULA:
|
|
856
|
+
case _dtableUtils.CellType.FORMULA:
|
|
857
|
+
case _dtableUtils.CellType.LINK_FORMULA:
|
|
847
858
|
{
|
|
848
|
-
return sortFormula(current, next, sortType, {
|
|
859
|
+
return (0, _dtableUtils.sortFormula)(current, next, sortType, {
|
|
849
860
|
columnData: data,
|
|
850
861
|
value: {}
|
|
851
862
|
});
|
|
852
863
|
}
|
|
853
864
|
default:
|
|
854
865
|
{
|
|
855
|
-
return sortText(current, next, sortType);
|
|
866
|
+
return (0, _dtableUtils.sortText)(current, next, sortType);
|
|
856
867
|
}
|
|
857
868
|
}
|
|
858
869
|
}
|
|
@@ -892,7 +903,7 @@ BaseUtils.sortDataByKey = (data, key, sortType) => {
|
|
|
892
903
|
if (!nextVal && nextVal !== 0) {
|
|
893
904
|
return 1;
|
|
894
905
|
}
|
|
895
|
-
if (sortType === CHART_DATA_SORT_TYPE.ASCENDING) {
|
|
906
|
+
if (sortType === _constants.CHART_DATA_SORT_TYPE.ASCENDING) {
|
|
896
907
|
return currentVal > nextVal ? 1 : -1;
|
|
897
908
|
} else {
|
|
898
909
|
return currentVal > nextVal ? -1 : 1;
|
|
@@ -918,7 +929,7 @@ BaseUtils.formatGroupsLabel = (results, chart, tables) => {
|
|
|
918
929
|
type,
|
|
919
930
|
config
|
|
920
931
|
} = chart;
|
|
921
|
-
if (X_AXIS_IS_GROUPBY_COLUMN_KEY_CHART_TYPES.includes(type)) {
|
|
932
|
+
if (_constants.X_AXIS_IS_GROUPBY_COLUMN_KEY_CHART_TYPES.includes(type)) {
|
|
922
933
|
groupby_column_key = config.groupby_column_key;
|
|
923
934
|
} else {
|
|
924
935
|
groupby_column_key = config.x_axis_column_key;
|
|
@@ -927,9 +938,9 @@ BaseUtils.formatGroupsLabel = (results, chart, tables) => {
|
|
|
927
938
|
const {
|
|
928
939
|
table_id
|
|
929
940
|
} = config;
|
|
930
|
-
const table = getTableById(tables, table_id);
|
|
931
|
-
const groupbyColumn = getTableColumnByKey(table, groupby_column_key);
|
|
932
|
-
const columnGroupbyColumn = getTableColumnByKey(table, column_groupby_column_key);
|
|
941
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
942
|
+
const groupbyColumn = (0, _dtableUtils.getTableColumnByKey)(table, groupby_column_key);
|
|
943
|
+
const columnGroupbyColumn = (0, _dtableUtils.getTableColumnByKey)(table, column_groupby_column_key);
|
|
933
944
|
results.forEach(item => {
|
|
934
945
|
const {
|
|
935
946
|
name,
|
|
@@ -948,84 +959,84 @@ BaseUtils.convertResultName = (result, column, name, nameKey, colorKey) => {
|
|
|
948
959
|
type: columnType,
|
|
949
960
|
data: columnData
|
|
950
961
|
} = column;
|
|
951
|
-
if (columnType === CellType.SINGLE_SELECT || columnType === CellType.MULTIPLE_SELECT) {
|
|
952
|
-
const options = getColumnOptions(column);
|
|
953
|
-
const selectedOption = getOption(options, name);
|
|
962
|
+
if (columnType === _dtableUtils.CellType.SINGLE_SELECT || columnType === _dtableUtils.CellType.MULTIPLE_SELECT) {
|
|
963
|
+
const options = (0, _dtableUtils.getColumnOptions)(column);
|
|
964
|
+
const selectedOption = (0, _dtableUtils.getOption)(options, name);
|
|
954
965
|
if (selectedOption) {
|
|
955
966
|
result[nameKey] = selectedOption.name;
|
|
956
967
|
result[colorKey] = selectedOption.color;
|
|
957
968
|
} else {
|
|
958
969
|
result[colorKey] = '#dbdbdb';
|
|
959
970
|
}
|
|
960
|
-
} else if (columnType === CellType.COLLABORATOR) {
|
|
961
|
-
let collaborator = getKnownCollaboratorByEmail(name);
|
|
971
|
+
} else if (columnType === _dtableUtils.CellType.COLLABORATOR) {
|
|
972
|
+
let collaborator = (0, _collaboratorUtils.getKnownCollaboratorByEmail)(name);
|
|
962
973
|
if (collaborator) {
|
|
963
974
|
result[nameKey] = collaborator.name;
|
|
964
975
|
}
|
|
965
|
-
} else if (columnType === CellType.CREATOR || columnType === CellType.LAST_MODIFIER) {
|
|
976
|
+
} else if (columnType === _dtableUtils.CellType.CREATOR || columnType === _dtableUtils.CellType.LAST_MODIFIER) {
|
|
966
977
|
if (name === 'anonymous') {
|
|
967
978
|
result[nameKey] = name;
|
|
968
979
|
} else {
|
|
969
|
-
const collaborator = getKnownCollaboratorByEmail(name);
|
|
980
|
+
const collaborator = (0, _collaboratorUtils.getKnownCollaboratorByEmail)(name);
|
|
970
981
|
const collaboratorTemplate = {
|
|
971
982
|
loaded: false,
|
|
972
983
|
email: name,
|
|
973
984
|
name: name
|
|
974
985
|
};
|
|
975
|
-
|
|
986
|
+
_context.default.updateCollaboratorsCache(name, collaboratorTemplate);
|
|
976
987
|
if (!collaborator) {
|
|
977
|
-
|
|
978
|
-
const collaborator = emailUserMap && emailUserMap[name] || generateDefaultUser(name);
|
|
988
|
+
_context.default.queryUsers([name], emailUserMap => {
|
|
989
|
+
const collaborator = emailUserMap && emailUserMap[name] || (0, _collaboratorUtils.generateDefaultUser)(name);
|
|
979
990
|
const loadedCollaborator = {
|
|
980
991
|
...collaborator,
|
|
981
992
|
loaded: true
|
|
982
993
|
};
|
|
983
|
-
|
|
994
|
+
_context.default.updateCollaboratorsCache(name, loadedCollaborator);
|
|
984
995
|
result[nameKey] = name;
|
|
985
996
|
});
|
|
986
997
|
} else {
|
|
987
998
|
result[nameKey] = collaborator.name;
|
|
988
999
|
}
|
|
989
1000
|
}
|
|
990
|
-
} else if (columnType === CellType.NUMBER) {
|
|
1001
|
+
} else if (columnType === _dtableUtils.CellType.NUMBER) {
|
|
991
1002
|
const valueNumber = parseFloat(name);
|
|
992
|
-
result[nameKey] = isNumber(valueNumber) ? getNumberDisplayString(valueNumber, columnData) : name;
|
|
993
|
-
} else if (columnType === CellType.DATE) {
|
|
1003
|
+
result[nameKey] = (0, _dtableUtils.isNumber)(valueNumber) ? (0, _dtableUtils.getNumberDisplayString)(valueNumber, columnData) : name;
|
|
1004
|
+
} else if (columnType === _dtableUtils.CellType.DATE) {
|
|
994
1005
|
if (name && name.split('-').length === 3) {
|
|
995
|
-
let format = getDateColumnFormat(column);
|
|
1006
|
+
let format = (0, _columnUtils.getDateColumnFormat)(column);
|
|
996
1007
|
const spaceIndex = format.indexOf(' ');
|
|
997
1008
|
if (spaceIndex > -1) {
|
|
998
1009
|
format = format.slice(0, spaceIndex);
|
|
999
1010
|
}
|
|
1000
|
-
result[nameKey] =
|
|
1011
|
+
result[nameKey] = (0, _dayjs.default)(name).format(format);
|
|
1001
1012
|
}
|
|
1002
|
-
} else if (FORMULA_COLUMN_TYPES_MAP[columnType]) {
|
|
1013
|
+
} else if (_dtableUtils.FORMULA_COLUMN_TYPES_MAP[columnType]) {
|
|
1003
1014
|
const {
|
|
1004
1015
|
result_type,
|
|
1005
1016
|
array_type
|
|
1006
1017
|
} = columnData || {};
|
|
1007
|
-
if (result_type === FORMULA_RESULT_TYPE.NUMBER) {
|
|
1018
|
+
if (result_type === _dtableUtils.FORMULA_RESULT_TYPE.NUMBER) {
|
|
1008
1019
|
const valueNumber = parseFloat(name);
|
|
1009
|
-
result[nameKey] = isNumber(valueNumber) ? getNumberDisplayString(valueNumber, columnData) : name;
|
|
1010
|
-
} else if (result_type === FORMULA_RESULT_TYPE.ARRAY) {
|
|
1011
|
-
if (COLLABORATOR_COLUMN_TYPES.includes(array_type) && Array.isArray(name)) {
|
|
1020
|
+
result[nameKey] = (0, _dtableUtils.isNumber)(valueNumber) ? (0, _dtableUtils.getNumberDisplayString)(valueNumber, columnData) : name;
|
|
1021
|
+
} else if (result_type === _dtableUtils.FORMULA_RESULT_TYPE.ARRAY) {
|
|
1022
|
+
if (_dtableUtils.COLLABORATOR_COLUMN_TYPES.includes(array_type) && Array.isArray(name)) {
|
|
1012
1023
|
result[nameKey] = name.map(email => {
|
|
1013
|
-
let user = array_type === CellType.COLLABORATOR ? getKnownCollaboratorByEmail(email) : getKnownCollaboratorByEmail(email);
|
|
1024
|
+
let user = array_type === _dtableUtils.CellType.COLLABORATOR ? (0, _collaboratorUtils.getKnownCollaboratorByEmail)(email) : (0, _collaboratorUtils.getKnownCollaboratorByEmail)(email);
|
|
1014
1025
|
return (user || {}).name;
|
|
1015
1026
|
});
|
|
1016
1027
|
}
|
|
1017
1028
|
}
|
|
1018
|
-
} else if (columnType === CellType.LINK) {
|
|
1019
|
-
result[nameKey] = getClientFormulaDisplayString([name], columnData) || null;
|
|
1029
|
+
} else if (columnType === _dtableUtils.CellType.LINK) {
|
|
1030
|
+
result[nameKey] = (0, _cellFormatUtils.getClientFormulaDisplayString)([name], columnData) || null;
|
|
1020
1031
|
}
|
|
1021
1032
|
};
|
|
1022
1033
|
// theme
|
|
1023
1034
|
BaseUtils.getCurrentTheme = themeName => {
|
|
1024
1035
|
if (themeName) {
|
|
1025
|
-
const currentColorTheme = STYLE_COLORS.find(item => item.name === themeName);
|
|
1036
|
+
const currentColorTheme = _constants.STYLE_COLORS.find(item => item.name === themeName);
|
|
1026
1037
|
return currentColorTheme;
|
|
1027
1038
|
}
|
|
1028
|
-
return STYLE_COLORS[0];
|
|
1039
|
+
return _constants.STYLE_COLORS[0];
|
|
1029
1040
|
};
|
|
1030
1041
|
BaseUtils.getSummaryExplanation = chart => {
|
|
1031
1042
|
const {
|
|
@@ -1035,43 +1046,43 @@ BaseUtils.getSummaryExplanation = chart => {
|
|
|
1035
1046
|
type
|
|
1036
1047
|
} = config;
|
|
1037
1048
|
switch (type) {
|
|
1038
|
-
case CHART_TYPE.PIE:
|
|
1039
|
-
case CHART_TYPE.LINE:
|
|
1040
|
-
case CHART_TYPE.LINE_GROUP:
|
|
1041
|
-
case CHART_TYPE.RING:
|
|
1049
|
+
case _constants.CHART_TYPE.PIE:
|
|
1050
|
+
case _constants.CHART_TYPE.LINE:
|
|
1051
|
+
case _constants.CHART_TYPE.LINE_GROUP:
|
|
1052
|
+
case _constants.CHART_TYPE.RING:
|
|
1042
1053
|
{
|
|
1043
1054
|
return {
|
|
1044
|
-
count:
|
|
1045
|
-
advanced:
|
|
1055
|
+
count: _intl.default.get('Count_the_number_of_records_in_each_group'),
|
|
1056
|
+
advanced: _intl.default.get('Compute_the_sum_maximum_or_minimum_value_of_records_in_each_group_by_a_field')
|
|
1046
1057
|
};
|
|
1047
1058
|
}
|
|
1048
|
-
case CHART_TYPE.BAR:
|
|
1049
|
-
case CHART_TYPE.BAR_GROUP:
|
|
1059
|
+
case _constants.CHART_TYPE.BAR:
|
|
1060
|
+
case _constants.CHART_TYPE.BAR_GROUP:
|
|
1050
1061
|
{
|
|
1051
1062
|
return {
|
|
1052
|
-
count:
|
|
1053
|
-
advanced:
|
|
1063
|
+
count: _intl.default.get('Group_the_records_according_to_the_vertical_axis_and_count_the_records_in_each_group'),
|
|
1064
|
+
advanced: _intl.default.get('Group_the_records_according_to_the_vertical_axis_and_compute_the_sum_maximum_or_minimum_of_records_in_each_group_by_a_field')
|
|
1054
1065
|
};
|
|
1055
1066
|
}
|
|
1056
1067
|
default:
|
|
1057
1068
|
{
|
|
1058
1069
|
return {
|
|
1059
|
-
count:
|
|
1060
|
-
advanced:
|
|
1070
|
+
count: _intl.default.get('Count_the_records'),
|
|
1071
|
+
advanced: _intl.default.get('Compute_sum_max_min')
|
|
1061
1072
|
};
|
|
1062
1073
|
}
|
|
1063
1074
|
}
|
|
1064
1075
|
};
|
|
1065
1076
|
BaseUtils.getLabelFontSize = labelFontSize => {
|
|
1066
|
-
return isNumber(labelFontSize) ? labelFontSize : DEFAULT_LABEL_FONT_SIZE;
|
|
1077
|
+
return (0, _dtableUtils.isNumber)(labelFontSize) ? labelFontSize : _constants.DEFAULT_LABEL_FONT_SIZE;
|
|
1067
1078
|
};
|
|
1068
1079
|
BaseUtils.imEmptyChartResult = chartResult => {
|
|
1069
1080
|
return !chartResult || !chartResult.result && chartResult.result !== 0 || Array.isArray(chartResult.result) && chartResult.result.length === 0;
|
|
1070
1081
|
};
|
|
1071
1082
|
BaseUtils.getPrecisionNumber = (value, data) => {
|
|
1072
|
-
const valueString = getPrecisionNumber(value, data);
|
|
1083
|
+
const valueString = (0, _dtableUtils.getPrecisionNumber)(value, data);
|
|
1073
1084
|
const valueNumber = parseFloat(valueString);
|
|
1074
|
-
return isNumber(valueNumber) ? valueNumber : 0;
|
|
1085
|
+
return (0, _dtableUtils.isNumber)(valueNumber) ? valueNumber : 0;
|
|
1075
1086
|
};
|
|
1076
1087
|
BaseUtils.isValidCellValue = function (cellValue) {
|
|
1077
1088
|
let includeEmpty = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
@@ -1083,7 +1094,7 @@ BaseUtils.convertConfig = config => {
|
|
|
1083
1094
|
const {
|
|
1084
1095
|
type
|
|
1085
1096
|
} = config;
|
|
1086
|
-
if (type === CHART_TYPE.HORIZONTAL_BAR || type === CHART_TYPE.HORIZONTAL_GROUP_BAR || type === CHART_TYPE.STACKED_HORIZONTAL_BAR) {
|
|
1097
|
+
if (type === _constants.CHART_TYPE.HORIZONTAL_BAR || type === _constants.CHART_TYPE.HORIZONTAL_GROUP_BAR || type === _constants.CHART_TYPE.STACKED_HORIZONTAL_BAR) {
|
|
1087
1098
|
const {
|
|
1088
1099
|
vertical_axis_column_key,
|
|
1089
1100
|
vertical_axis_date_granularity,
|
|
@@ -1127,20 +1138,20 @@ BaseUtils.getGroupLabel = (cellValue, formulaRow, column, dateGranularity, geoGr
|
|
|
1127
1138
|
data
|
|
1128
1139
|
} = column || {};
|
|
1129
1140
|
switch (type) {
|
|
1130
|
-
case CellType.TEXT:
|
|
1141
|
+
case _dtableUtils.CellType.TEXT:
|
|
1131
1142
|
{
|
|
1132
1143
|
return cellValue || null;
|
|
1133
1144
|
}
|
|
1134
|
-
case CellType.NUMBER:
|
|
1145
|
+
case _dtableUtils.CellType.NUMBER:
|
|
1135
1146
|
{
|
|
1136
1147
|
if (!cellValue && cellValue !== 0) {
|
|
1137
1148
|
return null;
|
|
1138
1149
|
}
|
|
1139
|
-
const number = getPrecisionNumber(cellValue, data);
|
|
1150
|
+
const number = (0, _dtableUtils.getPrecisionNumber)(cellValue, data);
|
|
1140
1151
|
let valueNumber = parseFloat(number);
|
|
1141
|
-
return isNumber(valueNumber) ? getNumberDisplayString(valueNumber, column.data) : valueNumber;
|
|
1152
|
+
return (0, _dtableUtils.isNumber)(valueNumber) ? (0, _dtableUtils.getNumberDisplayString)(valueNumber, column.data) : valueNumber;
|
|
1142
1153
|
}
|
|
1143
|
-
case CellType.SINGLE_SELECT:
|
|
1154
|
+
case _dtableUtils.CellType.SINGLE_SELECT:
|
|
1144
1155
|
{
|
|
1145
1156
|
let isInvalidValue = data && data.options.findIndex(opt => opt.id === cellValue) < 0;
|
|
1146
1157
|
if (isInvalidValue) {
|
|
@@ -1148,20 +1159,20 @@ BaseUtils.getGroupLabel = (cellValue, formulaRow, column, dateGranularity, geoGr
|
|
|
1148
1159
|
}
|
|
1149
1160
|
return cellValue;
|
|
1150
1161
|
}
|
|
1151
|
-
case CellType.DATE:
|
|
1152
|
-
case CellType.CTIME:
|
|
1153
|
-
case CellType.MTIME:
|
|
1162
|
+
case _dtableUtils.CellType.DATE:
|
|
1163
|
+
case _dtableUtils.CellType.CTIME:
|
|
1164
|
+
case _dtableUtils.CellType.MTIME:
|
|
1154
1165
|
{
|
|
1155
1166
|
if (!dateGranularity) {
|
|
1156
|
-
return getDateDisplayString(cellValue);
|
|
1167
|
+
return (0, _dtableUtils.getDateDisplayString)(cellValue);
|
|
1157
1168
|
}
|
|
1158
1169
|
if (dateGranularity.toUpperCase() === 'QUARTER') {
|
|
1159
1170
|
// TODO: fix the unknown word 'QUARTAR'
|
|
1160
|
-
return DateUtils.getDateByGranularity(cellValue, 'QUARTAR');
|
|
1171
|
+
return _dtableUtils.DateUtils.getDateByGranularity(cellValue, 'QUARTAR');
|
|
1161
1172
|
}
|
|
1162
|
-
return DateUtils.getDateByGranularity(cellValue, dateGranularity);
|
|
1173
|
+
return _dtableUtils.DateUtils.getDateByGranularity(cellValue, dateGranularity);
|
|
1163
1174
|
}
|
|
1164
|
-
case CellType.MULTIPLE_SELECT:
|
|
1175
|
+
case _dtableUtils.CellType.MULTIPLE_SELECT:
|
|
1165
1176
|
{
|
|
1166
1177
|
let options = data && data.options;
|
|
1167
1178
|
if (!Array.isArray(cellValue)) {
|
|
@@ -1170,18 +1181,18 @@ BaseUtils.getGroupLabel = (cellValue, formulaRow, column, dateGranularity, geoGr
|
|
|
1170
1181
|
const newCellValue = cellValue.filter(id => options.findIndex(o => o.id === id) > -1);
|
|
1171
1182
|
return newCellValue.sort();
|
|
1172
1183
|
}
|
|
1173
|
-
case CellType.COLLABORATOR:
|
|
1184
|
+
case _dtableUtils.CellType.COLLABORATOR:
|
|
1174
1185
|
{
|
|
1175
1186
|
if (!Array.isArray(cellValue)) return [];
|
|
1176
|
-
return cellValue.filter(email => isValidCollaboratorEmail(email));
|
|
1187
|
+
return cellValue.filter(email => (0, _collaborator.isValidCollaboratorEmail)(email));
|
|
1177
1188
|
}
|
|
1178
|
-
case CellType.CREATOR:
|
|
1179
|
-
case CellType.LAST_MODIFIER:
|
|
1189
|
+
case _dtableUtils.CellType.CREATOR:
|
|
1190
|
+
case _dtableUtils.CellType.LAST_MODIFIER:
|
|
1180
1191
|
{
|
|
1181
1192
|
return cellValue ? cellValue : null;
|
|
1182
1193
|
}
|
|
1183
|
-
case CellType.LINK_FORMULA:
|
|
1184
|
-
case CellType.FORMULA:
|
|
1194
|
+
case _dtableUtils.CellType.LINK_FORMULA:
|
|
1195
|
+
case _dtableUtils.CellType.FORMULA:
|
|
1185
1196
|
{
|
|
1186
1197
|
if (!formulaRow) return '';
|
|
1187
1198
|
let formulaCellValue = formulaRow[key];
|
|
@@ -1189,33 +1200,33 @@ BaseUtils.getGroupLabel = (cellValue, formulaRow, column, dateGranularity, geoGr
|
|
|
1189
1200
|
result_type,
|
|
1190
1201
|
array_type
|
|
1191
1202
|
} = data || {};
|
|
1192
|
-
if (result_type === FORMULA_RESULT_TYPE.ARRAY) {
|
|
1203
|
+
if (result_type === _dtableUtils.FORMULA_RESULT_TYPE.ARRAY) {
|
|
1193
1204
|
if (array_type === 'date' && (formulaCellValue === null || formulaCellValue === void 0 ? void 0 : formulaCellValue.length) === 1) {
|
|
1194
1205
|
const dateCellValue = formulaCellValue[0];
|
|
1195
|
-
if (!dateGranularity) return getDateDisplayString(dateCellValue);
|
|
1196
|
-
if (dateGranularity.toUpperCase() === 'QUARTER') return DateUtils.getDateByGranularity(dateCellValue, 'QUARTAR');
|
|
1197
|
-
return DateUtils.getDateByGranularity(dateCellValue, dateGranularity);
|
|
1206
|
+
if (!dateGranularity) return (0, _dtableUtils.getDateDisplayString)(dateCellValue);
|
|
1207
|
+
if (dateGranularity.toUpperCase() === 'QUARTER') return _dtableUtils.DateUtils.getDateByGranularity(dateCellValue, 'QUARTAR');
|
|
1208
|
+
return _dtableUtils.DateUtils.getDateByGranularity(dateCellValue, dateGranularity);
|
|
1198
1209
|
}
|
|
1199
|
-
return getFormulaDisplayString(formulaCellValue, data, {
|
|
1210
|
+
return (0, _dtableUtils.getFormulaDisplayString)(formulaCellValue, data, {
|
|
1200
1211
|
tables: value.tables
|
|
1201
1212
|
}) || null;
|
|
1202
1213
|
}
|
|
1203
|
-
if (result_type === FORMULA_RESULT_TYPE.NUMBER) {
|
|
1204
|
-
return getPrecisionNumber(formulaCellValue, data);
|
|
1214
|
+
if (result_type === _dtableUtils.FORMULA_RESULT_TYPE.NUMBER) {
|
|
1215
|
+
return (0, _dtableUtils.getPrecisionNumber)(formulaCellValue, data);
|
|
1205
1216
|
}
|
|
1206
1217
|
return formulaCellValue ? formulaCellValue + '' : null;
|
|
1207
1218
|
}
|
|
1208
|
-
case CellType.GEOLOCATION:
|
|
1219
|
+
case _dtableUtils.CellType.GEOLOCATION:
|
|
1209
1220
|
{
|
|
1210
1221
|
const {
|
|
1211
1222
|
geo_format
|
|
1212
1223
|
} = data || {};
|
|
1213
1224
|
if (geo_format === 'country_region' || geo_format === 'lng_lat' || !geoGranularity) {
|
|
1214
|
-
return getGeolocationDisplayString(cellValue, data);
|
|
1225
|
+
return (0, _dtableUtils.getGeolocationDisplayString)(cellValue, data);
|
|
1215
1226
|
}
|
|
1216
1227
|
return cellValue ? cellValue[geoGranularity] : null;
|
|
1217
1228
|
}
|
|
1218
|
-
case CellType.LINK:
|
|
1229
|
+
case _dtableUtils.CellType.LINK:
|
|
1219
1230
|
{
|
|
1220
1231
|
const linkCellValue = formulaRow && formulaRow[key];
|
|
1221
1232
|
if (!Array.isArray(linkCellValue)) {
|
|
@@ -1223,11 +1234,11 @@ BaseUtils.getGroupLabel = (cellValue, formulaRow, column, dateGranularity, geoGr
|
|
|
1223
1234
|
}
|
|
1224
1235
|
return linkCellValue.map(linkVal => linkVal.display_value);
|
|
1225
1236
|
}
|
|
1226
|
-
case CellType.CHECKBOX:
|
|
1237
|
+
case _dtableUtils.CellType.CHECKBOX:
|
|
1227
1238
|
{
|
|
1228
1239
|
return String(!!cellValue);
|
|
1229
1240
|
}
|
|
1230
|
-
case CellType.RATE:
|
|
1241
|
+
case _dtableUtils.CellType.RATE:
|
|
1231
1242
|
{
|
|
1232
1243
|
if (!cellValue) return null;
|
|
1233
1244
|
return cellValue + '';
|
|
@@ -1243,9 +1254,9 @@ BaseUtils.getTotal = function (summary_column_key, summary_column_type, summary_
|
|
|
1243
1254
|
let formula_rows = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};
|
|
1244
1255
|
let rowsLength = rows.length;
|
|
1245
1256
|
let total;
|
|
1246
|
-
if (summary_type === CHART_SUMMARY_TYPE.COUNT) {
|
|
1257
|
+
if (summary_type === _constants.CHART_SUMMARY_TYPE.COUNT) {
|
|
1247
1258
|
total = rowsLength;
|
|
1248
|
-
} else if (summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
|
|
1259
|
+
} else if (summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
|
|
1249
1260
|
switch (summary_method) {
|
|
1250
1261
|
case 'Distinct_values':
|
|
1251
1262
|
{
|
|
@@ -1253,7 +1264,7 @@ BaseUtils.getTotal = function (summary_column_key, summary_column_type, summary_
|
|
|
1253
1264
|
let existMap = {};
|
|
1254
1265
|
rows.forEach(r => {
|
|
1255
1266
|
let num;
|
|
1256
|
-
if (FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
|
|
1267
|
+
if (_dtableUtils.FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
|
|
1257
1268
|
const formulaRow = formula_rows[r._id] || {};
|
|
1258
1269
|
num = formulaRow[summary_column_key];
|
|
1259
1270
|
num = Array.isArray(num) ? num[0] : num;
|
|
@@ -1282,14 +1293,14 @@ BaseUtils.getTotal = function (summary_column_key, summary_column_type, summary_
|
|
|
1282
1293
|
let validNumbersCount = 0;
|
|
1283
1294
|
rows.forEach(r => {
|
|
1284
1295
|
let num;
|
|
1285
|
-
if (FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
|
|
1296
|
+
if (_dtableUtils.FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
|
|
1286
1297
|
let formulaRow = formula_rows[r._id] || {};
|
|
1287
1298
|
num = formulaRow[summary_column_key];
|
|
1288
1299
|
num = Array.isArray(num) ? num[0] : num;
|
|
1289
1300
|
} else {
|
|
1290
1301
|
num = r[summary_column_key];
|
|
1291
1302
|
}
|
|
1292
|
-
if (isNumber(num)) {
|
|
1303
|
+
if ((0, _dtableUtils.isNumber)(num)) {
|
|
1293
1304
|
validNumbersCount++;
|
|
1294
1305
|
sum += num;
|
|
1295
1306
|
}
|
|
@@ -1307,7 +1318,7 @@ BaseUtils.getTotal = function (summary_column_key, summary_column_type, summary_
|
|
|
1307
1318
|
if (rowsLength > 0) {
|
|
1308
1319
|
let result = rows.reduce((current, next) => {
|
|
1309
1320
|
let currentValue, nextValue;
|
|
1310
|
-
if (FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
|
|
1321
|
+
if (_dtableUtils.FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
|
|
1311
1322
|
let currentFormulaRow = formula_rows[current._id];
|
|
1312
1323
|
let nextFormulaRow = formula_rows[next._id];
|
|
1313
1324
|
currentValue = currentFormulaRow && currentFormulaRow[summary_column_key];
|
|
@@ -1328,7 +1339,7 @@ BaseUtils.getTotal = function (summary_column_key, summary_column_type, summary_
|
|
|
1328
1339
|
return isNextGreater ? next : current;
|
|
1329
1340
|
}
|
|
1330
1341
|
});
|
|
1331
|
-
if (FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
|
|
1342
|
+
if (_dtableUtils.FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
|
|
1332
1343
|
let formulaRow = formula_rows[result._id];
|
|
1333
1344
|
total = formulaRow && formulaRow[summary_column_key];
|
|
1334
1345
|
total = Array.isArray(total) ? total[0] : total;
|
|
@@ -1350,42 +1361,42 @@ BaseUtils.getFormattedValue = (value, column, summaryMethod) => {
|
|
|
1350
1361
|
if (!column) {
|
|
1351
1362
|
return value;
|
|
1352
1363
|
}
|
|
1353
|
-
if (summaryMethod === CHART_SUMMARY_TYPE.DISTINCT_VALUES) {
|
|
1364
|
+
if (summaryMethod === _constants.CHART_SUMMARY_TYPE.DISTINCT_VALUES) {
|
|
1354
1365
|
return value;
|
|
1355
1366
|
}
|
|
1356
1367
|
const {
|
|
1357
1368
|
type,
|
|
1358
1369
|
data
|
|
1359
1370
|
} = column;
|
|
1360
|
-
if (isNumericColumn(column)) {
|
|
1361
|
-
return getNumberDisplayString(value, data);
|
|
1371
|
+
if ((0, _dtableUtils.isNumericColumn)(column)) {
|
|
1372
|
+
return (0, _dtableUtils.getNumberDisplayString)(value, data);
|
|
1362
1373
|
}
|
|
1363
|
-
if (FORMULA_COLUMN_TYPES_MAP[type]) {
|
|
1364
|
-
return getClientFormulaDisplayString(value, data);
|
|
1374
|
+
if (_dtableUtils.FORMULA_COLUMN_TYPES_MAP[type]) {
|
|
1375
|
+
return (0, _cellFormatUtils.getClientFormulaDisplayString)(value, data);
|
|
1365
1376
|
}
|
|
1366
1377
|
return value;
|
|
1367
1378
|
};
|
|
1368
1379
|
BaseUtils.getSummaryResult = function (results, summaryMethod) {
|
|
1369
1380
|
let precision = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 8;
|
|
1370
|
-
const numericResults = Array.isArray(results) && results.length > 0 ? results.filter(res => isNumber(res)) : [];
|
|
1381
|
+
const numericResults = Array.isArray(results) && results.length > 0 ? results.filter(res => (0, _dtableUtils.isNumber)(res)) : [];
|
|
1371
1382
|
switch (summaryMethod) {
|
|
1372
|
-
case CHART_SUMMARY_TYPE.MAX:
|
|
1383
|
+
case _constants.CHART_SUMMARY_TYPE.MAX:
|
|
1373
1384
|
{
|
|
1374
1385
|
return _BaseUtils.getMax(numericResults);
|
|
1375
1386
|
}
|
|
1376
|
-
case CHART_SUMMARY_TYPE.MIN:
|
|
1387
|
+
case _constants.CHART_SUMMARY_TYPE.MIN:
|
|
1377
1388
|
{
|
|
1378
1389
|
return _BaseUtils.getMin(numericResults);
|
|
1379
1390
|
}
|
|
1380
|
-
case CHART_SUMMARY_TYPE.SUM:
|
|
1391
|
+
case _constants.CHART_SUMMARY_TYPE.SUM:
|
|
1381
1392
|
{
|
|
1382
1393
|
return _BaseUtils.getSum(numericResults, precision);
|
|
1383
1394
|
}
|
|
1384
|
-
case CHART_SUMMARY_TYPE.MEAN:
|
|
1395
|
+
case _constants.CHART_SUMMARY_TYPE.MEAN:
|
|
1385
1396
|
{
|
|
1386
1397
|
return _BaseUtils.getMean(numericResults, precision);
|
|
1387
1398
|
}
|
|
1388
|
-
case CHART_SUMMARY_TYPE.Distinct_values:
|
|
1399
|
+
case _constants.CHART_SUMMARY_TYPE.Distinct_values:
|
|
1389
1400
|
{
|
|
1390
1401
|
let count = 0;
|
|
1391
1402
|
let existMap = {};
|
|
@@ -1434,15 +1445,15 @@ BaseUtils.getMean = function (list) {
|
|
|
1434
1445
|
return Number.parseFloat((sum / list.length).toFixed(precision));
|
|
1435
1446
|
};
|
|
1436
1447
|
BaseUtils.summaryDurationResult = (result, duration, summaryType, summaryMethod, useDataDb, dbDateKey, valueKey) => {
|
|
1437
|
-
const currentTime =
|
|
1448
|
+
const currentTime = (0, _dayjs.default)();
|
|
1438
1449
|
const days = duration === 'days_30' ? 30 : 7;
|
|
1439
1450
|
// set date to start of the day
|
|
1440
1451
|
const formattedEndDate = currentTime.format('YYYY-MM-DD');
|
|
1441
1452
|
const formattedMiddleDate = currentTime.subtract(days, 'days').format('YYYY-MM-DD');
|
|
1442
|
-
const formattedStartDate =
|
|
1443
|
-
const endDate =
|
|
1444
|
-
const middleDate =
|
|
1445
|
-
const startDate =
|
|
1453
|
+
const formattedStartDate = (0, _dayjs.default)(formattedMiddleDate).subtract(days, 'days').format('YYYY-MM-DD');
|
|
1454
|
+
const endDate = (0, _dayjs.default)(formattedEndDate);
|
|
1455
|
+
const middleDate = (0, _dayjs.default)(formattedMiddleDate);
|
|
1456
|
+
const startDate = (0, _dayjs.default)(formattedStartDate);
|
|
1446
1457
|
let compareValue = [];
|
|
1447
1458
|
let comparedValue = [];
|
|
1448
1459
|
if (useDataDb) {
|
|
@@ -1450,7 +1461,7 @@ BaseUtils.summaryDurationResult = (result, duration, summaryType, summaryMethod,
|
|
|
1450
1461
|
const days2 = [];
|
|
1451
1462
|
for (let index = 0; index < result.length; index++) {
|
|
1452
1463
|
const item = result[index];
|
|
1453
|
-
const key =
|
|
1464
|
+
const key = (0, _dayjs.default)(item[dbDateKey]);
|
|
1454
1465
|
if (!key.isValid()) continue;
|
|
1455
1466
|
if (key >= startDate && key < middleDate) {
|
|
1456
1467
|
comparedValue.push(item[valueKey]);
|
|
@@ -1479,7 +1490,7 @@ BaseUtils.summaryDurationResult = (result, duration, summaryType, summaryMethod,
|
|
|
1479
1490
|
// }
|
|
1480
1491
|
// }
|
|
1481
1492
|
// }
|
|
1482
|
-
if (summaryType === CHART_SUMMARY_TYPE.ADVANCED) {
|
|
1493
|
+
if (summaryType === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
|
|
1483
1494
|
comparedValue = _BaseUtils.getSummaryResult(comparedValue, summaryMethod);
|
|
1484
1495
|
compareValue = _BaseUtils.getSummaryResult(compareValue, summaryMethod);
|
|
1485
1496
|
} else {
|
|
@@ -1505,13 +1516,13 @@ BaseUtils.formatedTableSqlRowsByCollaboratorAndMultiple = (chart, sqlRows, chart
|
|
|
1505
1516
|
sqlColumnGroupbyColumnKey
|
|
1506
1517
|
} = chartSQLMap;
|
|
1507
1518
|
let newSqlRows = JSON.parse(JSON.stringify(sqlRows));
|
|
1508
|
-
if (config.summary_type === CHART_SUMMARY_TYPE.COUNT) {
|
|
1519
|
+
if (config.summary_type === _constants.CHART_SUMMARY_TYPE.COUNT) {
|
|
1509
1520
|
// has column group
|
|
1510
1521
|
if (sqlColumnGroupbyColumnKey) {
|
|
1511
|
-
if ((columnGroupbyColumn === null || columnGroupbyColumn === void 0 ? void 0 : columnGroupbyColumn.type) === CellType.COLLABORATOR) {
|
|
1522
|
+
if ((columnGroupbyColumn === null || columnGroupbyColumn === void 0 ? void 0 : columnGroupbyColumn.type) === _dtableUtils.CellType.COLLABORATOR) {
|
|
1512
1523
|
return newSqlRows;
|
|
1513
1524
|
}
|
|
1514
|
-
if ((columnGroupbyColumn === null || columnGroupbyColumn === void 0 ? void 0 : columnGroupbyColumn.type) === CellType.MULTIPLE_SELECT) {
|
|
1525
|
+
if ((columnGroupbyColumn === null || columnGroupbyColumn === void 0 ? void 0 : columnGroupbyColumn.type) === _dtableUtils.CellType.MULTIPLE_SELECT) {
|
|
1515
1526
|
return newSqlRows;
|
|
1516
1527
|
}
|
|
1517
1528
|
}
|
|
@@ -1537,7 +1548,7 @@ BaseUtils.formatedTableSqlRowsByCollaboratorAndMultiple = (chart, sqlRows, chart
|
|
|
1537
1548
|
newSqlRows = Object.values(collaboratorsRowsMap);
|
|
1538
1549
|
}
|
|
1539
1550
|
}
|
|
1540
|
-
if (config.summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
|
|
1551
|
+
if (config.summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
|
|
1541
1552
|
let summarySQLColumnName2ColumnKeys;
|
|
1542
1553
|
if (summarySQLColumnName2ColumnKey) {
|
|
1543
1554
|
summarySQLColumnName2ColumnKeys = Object.keys(summarySQLColumnName2ColumnKey);
|
|
@@ -1550,10 +1561,10 @@ BaseUtils.formatedTableSqlRowsByCollaboratorAndMultiple = (chart, sqlRows, chart
|
|
|
1550
1561
|
|
|
1551
1562
|
// has column group
|
|
1552
1563
|
if (sqlColumnGroupbyColumnKey) {
|
|
1553
|
-
if ((columnGroupbyColumn === null || columnGroupbyColumn === void 0 ? void 0 : columnGroupbyColumn.type) === CellType.COLLABORATOR) {
|
|
1564
|
+
if ((columnGroupbyColumn === null || columnGroupbyColumn === void 0 ? void 0 : columnGroupbyColumn.type) === _dtableUtils.CellType.COLLABORATOR) {
|
|
1554
1565
|
return newSqlRows;
|
|
1555
1566
|
}
|
|
1556
|
-
if ((columnGroupbyColumn === null || columnGroupbyColumn === void 0 ? void 0 : columnGroupbyColumn.type) === CellType.MULTIPLE_SELECT) {
|
|
1567
|
+
if ((columnGroupbyColumn === null || columnGroupbyColumn === void 0 ? void 0 : columnGroupbyColumn.type) === _dtableUtils.CellType.MULTIPLE_SELECT) {
|
|
1557
1568
|
return newSqlRows;
|
|
1558
1569
|
}
|
|
1559
1570
|
|
|
@@ -1695,16 +1706,16 @@ BaseUtils.getDateGranularityByType = chart => {
|
|
|
1695
1706
|
const {
|
|
1696
1707
|
type
|
|
1697
1708
|
} = chart;
|
|
1698
|
-
if ([CHART_TYPE.AREA_GROUP, CHART_TYPE.AREA, CHART_TYPE.BAR, CHART_TYPE.BAR_CUSTOM, CHART_TYPE.BAR_GROUP, CHART_TYPE.BAR_STACK, CHART_TYPE.COMPARE_BAR, CHART_TYPE.COMBINATION, CHART_TYPE.LINE_GROUP, CHART_TYPE.LINE].includes(type)) {
|
|
1709
|
+
if ([_constants.CHART_TYPE.AREA_GROUP, _constants.CHART_TYPE.AREA, _constants.CHART_TYPE.BAR, _constants.CHART_TYPE.BAR_CUSTOM, _constants.CHART_TYPE.BAR_GROUP, _constants.CHART_TYPE.BAR_STACK, _constants.CHART_TYPE.COMPARE_BAR, _constants.CHART_TYPE.COMBINATION, _constants.CHART_TYPE.LINE_GROUP, _constants.CHART_TYPE.LINE].includes(type)) {
|
|
1699
1710
|
return chart['x_axis_date_granularity'];
|
|
1700
1711
|
}
|
|
1701
|
-
if ([CHART_TYPE.COMPLETENESS_GROUP, CHART_TYPE.SCATTER, CHART_TYPE.TREND].includes(type)) {
|
|
1712
|
+
if ([_constants.CHART_TYPE.COMPLETENESS_GROUP, _constants.CHART_TYPE.SCATTER, _constants.CHART_TYPE.TREND].includes(type)) {
|
|
1702
1713
|
return chart['date_granularity'];
|
|
1703
1714
|
}
|
|
1704
|
-
if ([CHART_TYPE.HORIZONTAL_BAR, CHART_TYPE.HORIZONTAL_GROUP_BAR, CHART_TYPE.STACKED_HORIZONTAL_BAR].includes(type)) {
|
|
1715
|
+
if ([_constants.CHART_TYPE.HORIZONTAL_BAR, _constants.CHART_TYPE.HORIZONTAL_GROUP_BAR, _constants.CHART_TYPE.STACKED_HORIZONTAL_BAR].includes(type)) {
|
|
1705
1716
|
return chart['vertical_axis_date_granularity'];
|
|
1706
1717
|
}
|
|
1707
|
-
if ([CHART_TYPE.PIE, CHART_TYPE.RING, CHART_TYPE.TABLE, CHART_TYPE.TREE_MAP].includes(type)) {
|
|
1718
|
+
if ([_constants.CHART_TYPE.PIE, _constants.CHART_TYPE.RING, _constants.CHART_TYPE.TABLE, _constants.CHART_TYPE.TREE_MAP].includes(type)) {
|
|
1708
1719
|
return chart['groupby_date_granularity'];
|
|
1709
1720
|
}
|
|
1710
1721
|
return null;
|
|
@@ -1755,15 +1766,15 @@ BaseUtils.isCollaboratorColumnOrMultipleColumn = columnMap => {
|
|
|
1755
1766
|
columnGroupbyColumn,
|
|
1756
1767
|
groupbyColumn
|
|
1757
1768
|
} = columnMap || {};
|
|
1758
|
-
if (columnGroupbyColumn && groupbyColumn && (groupbyColumn === null || groupbyColumn === void 0 ? void 0 : groupbyColumn.type) === CellType.COLLABORATOR) {
|
|
1769
|
+
if (columnGroupbyColumn && groupbyColumn && (groupbyColumn === null || groupbyColumn === void 0 ? void 0 : groupbyColumn.type) === _dtableUtils.CellType.COLLABORATOR) {
|
|
1759
1770
|
return true;
|
|
1760
1771
|
}
|
|
1761
|
-
if (columnGroupbyColumn && groupbyColumn && (groupbyColumn === null || groupbyColumn === void 0 ? void 0 : groupbyColumn.type) === CellType.MULTIPLE_SELECT) {
|
|
1772
|
+
if (columnGroupbyColumn && groupbyColumn && (groupbyColumn === null || groupbyColumn === void 0 ? void 0 : groupbyColumn.type) === _dtableUtils.CellType.MULTIPLE_SELECT) {
|
|
1762
1773
|
return true;
|
|
1763
1774
|
}
|
|
1764
|
-
if (columnGroupbyColumn && groupbyColumn && (groupbyColumn === null || groupbyColumn === void 0 ? void 0 : groupbyColumn.type) === CellType.LINK_FORMULA && [CellType.MULTIPLE_SELECT, CellType.COLLABORATOR].includes(groupbyColumn === null || groupbyColumn === void 0 ? void 0 : (_groupbyColumn$data = groupbyColumn.data) === null || _groupbyColumn$data === void 0 ? void 0 : _groupbyColumn$data.array_type)) {
|
|
1775
|
+
if (columnGroupbyColumn && groupbyColumn && (groupbyColumn === null || groupbyColumn === void 0 ? void 0 : groupbyColumn.type) === _dtableUtils.CellType.LINK_FORMULA && [_dtableUtils.CellType.MULTIPLE_SELECT, _dtableUtils.CellType.COLLABORATOR].includes(groupbyColumn === null || groupbyColumn === void 0 ? void 0 : (_groupbyColumn$data = groupbyColumn.data) === null || _groupbyColumn$data === void 0 ? void 0 : _groupbyColumn$data.array_type)) {
|
|
1765
1776
|
return true;
|
|
1766
1777
|
}
|
|
1767
1778
|
return false;
|
|
1768
1779
|
};
|
|
1769
|
-
|
|
1780
|
+
var _default = exports.default = BaseUtils;
|