sea-chart 2.0.38 → 2.0.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/index.js +15 -8
- package/dist/components/cell-factory/FormatterConfig.js +62 -55
- package/dist/components/cell-factory/SimpleCellFormatter.js +12 -5
- package/dist/components/cell-factory/SingleSelectOption.js +18 -11
- package/dist/components/cell-factory/cell-editor-factory.js +12 -5
- package/dist/components/cell-factory/cell-formatter-factory.js +11 -4
- package/dist/components/cell-factory/link-content.js +38 -30
- package/dist/components/chart-color-selector/color-selector.js +18 -11
- package/dist/components/collaborator/index.js +14 -7
- package/dist/components/color-picker/index.js +19 -12
- package/dist/components/color-popover/color-rules/color-rule.js +34 -26
- package/dist/components/color-popover/color-rules/index.js +15 -7
- package/dist/components/color-popover/color-rules/rule-filters/filter.js +34 -27
- package/dist/components/color-popover/color-rules/rule-filters/index.js +25 -17
- package/dist/components/color-popover/color-rules/rule-filters/number-input.js +17 -9
- package/dist/components/color-popover/color-rules-popover.js +38 -30
- package/dist/components/color-popover/color-selector-popover.js +20 -12
- package/dist/components/color-setting/color-group-selector.js +21 -13
- package/dist/components/common-add-tool/index.js +15 -8
- package/dist/components/data-process-setter/data-setting-header.js +14 -7
- package/dist/components/data-process-setter/hide-column-setter.js +20 -13
- package/dist/components/data-process-setter/index.js +27 -4
- package/dist/components/data-process-setter/sort-setter.js +26 -18
- package/dist/components/draggable/Draggable.js +13 -7
- package/dist/components/drill-down-settings/drill-down-fields-popover/index.js +48 -40
- package/dist/components/drill-down-settings/drill-down-fields-settings/index.js +18 -10
- package/dist/components/drill-down-settings/index.js +18 -11
- package/dist/components/dtable-popover/index.js +20 -13
- package/dist/components/dtable-search-input/index.js +21 -13
- package/dist/components/font-settings/index.js +22 -14
- package/dist/components/goal-line-setting/goal-setting-item.js +14 -6
- package/dist/components/goal-line-setting/index.js +19 -12
- package/dist/components/highlighter/highlighter.js +14 -7
- package/dist/components/icon/index.js +12 -5
- package/dist/components/index.js +48 -7
- package/dist/components/loading/index.js +13 -6
- package/dist/components/number-input/index.js +11 -4
- package/dist/components/pixel-editor/index.js +23 -15
- package/dist/components/popover/hide-column-popover/hide-column-popover-widgets/hide-column-item.js +15 -8
- package/dist/components/popover/hide-column-popover/hide-column-popover.js +34 -26
- package/dist/components/popover/sort-popover/sort-popover-widgets/sort-utils.js +18 -9
- package/dist/components/popover/sort-popover/sort-popover.js +65 -55
- package/dist/components/resize-handle/ResizeHandle.js +13 -6
- package/dist/components/row-card/row-card-header-cell.js +24 -17
- package/dist/components/row-card/row-card-header.js +22 -15
- package/dist/components/row-card/row-card-item.js +43 -35
- package/dist/components/row-card/row-card.js +25 -17
- package/dist/components/statistic-record-dialog/index.js +64 -56
- package/dist/components/tooltip/index.js +21 -14
- package/dist/components/types-dialog/index.js +70 -62
- package/dist/components/types-dialog/use-force-update.js +10 -4
- package/dist/constants/color-rules.js +14 -8
- package/dist/constants/common-constants.js +14 -8
- package/dist/constants/error.js +8 -2
- package/dist/constants/geolocation.js +15 -9
- package/dist/constants/index.js +271 -142
- package/dist/constants/key-codes.js +2 -0
- package/dist/constants/model.js +9 -3
- package/dist/constants/regions.js +8 -3
- package/dist/constants/style.js +12 -6
- package/dist/constants/table.js +7 -1
- package/dist/constants/type-image.js +39 -33
- package/dist/constants/type.js +9 -3
- package/dist/context.js +20 -13
- package/dist/editor/index.js +15 -8
- package/dist/index.js +104 -13
- package/dist/intl.js +17 -10
- package/dist/locale/index.js +23 -16
- package/dist/locale/lang/de.js +7 -1
- package/dist/locale/lang/en.js +7 -1
- package/dist/locale/lang/es.js +7 -1
- package/dist/locale/lang/fr.js +7 -1
- package/dist/locale/lang/pt.js +7 -1
- package/dist/locale/lang/ru.js +7 -1
- package/dist/locale/lang/zh_CN.js +7 -1
- package/dist/model/area-group.js +19 -12
- package/dist/model/area.js +19 -12
- package/dist/model/bar-custom.js +18 -11
- package/dist/model/bar-group.js +19 -12
- package/dist/model/bar-stack.js +17 -10
- package/dist/model/bar.js +18 -11
- package/dist/model/base-model.js +11 -4
- package/dist/model/basic-number-card.js +20 -13
- package/dist/model/chart.js +13 -7
- package/dist/model/combination.js +22 -15
- package/dist/model/compare-bar.js +21 -14
- package/dist/model/completeness-group.js +18 -11
- package/dist/model/completeness.js +17 -10
- package/dist/model/dashboard.js +14 -7
- package/dist/model/funnel.js +21 -14
- package/dist/model/generic-model.js +143 -135
- package/dist/model/heat-map.js +16 -9
- package/dist/model/horizontal-bar.js +18 -11
- package/dist/model/horizontal-group-bar.js +17 -10
- package/dist/model/index.js +93 -69
- package/dist/model/line-group.js +20 -13
- package/dist/model/line.js +19 -12
- package/dist/model/map-bubble.js +19 -12
- package/dist/model/map.js +19 -12
- package/dist/model/mirror.js +20 -13
- package/dist/model/pie.js +19 -12
- package/dist/model/ring.js +19 -12
- package/dist/model/scatter.js +17 -10
- package/dist/model/stacked-horizontal-bar.js +18 -11
- package/dist/model/table-element.js +12 -5
- package/dist/model/table.js +14 -7
- package/dist/model/tree-map.js +14 -7
- package/dist/model/trend.js +18 -11
- package/dist/model/user.js +7 -1
- package/dist/model/world-map-bubble.js +19 -12
- package/dist/model/world-map.js +19 -12
- package/dist/services/map-json.js +17 -11
- package/dist/settings/advance-bar-settings/data-settings.js +44 -36
- package/dist/settings/advance-bar-settings/index.js +20 -3
- package/dist/settings/advance-bar-settings/style-settings.js +71 -63
- package/dist/settings/bar-settings/data-settings.js +47 -39
- package/dist/settings/bar-settings/index.js +20 -3
- package/dist/settings/bar-settings/style-settings.js +57 -49
- package/dist/settings/basic-number-card/data-settings.js +57 -49
- package/dist/settings/basic-number-card/index.js +20 -3
- package/dist/settings/basic-number-card/style-settings.js +27 -19
- package/dist/settings/combination-settings/data-settings.js +63 -55
- package/dist/settings/combination-settings/index.js +20 -3
- package/dist/settings/combination-settings/style-settings.js +73 -65
- package/dist/settings/completeness-settings/callbacks/callbacks.js +27 -16
- package/dist/settings/completeness-settings/data-settings/completion-settings.js +28 -21
- package/dist/settings/completeness-settings/data-settings/data-settings.js +32 -25
- package/dist/settings/completeness-settings/index.js +20 -3
- package/dist/settings/completeness-settings/style-settings.js +26 -19
- package/dist/settings/dashboard-settings/data-settings.js +51 -43
- package/dist/settings/dashboard-settings/index.js +13 -2
- package/dist/settings/data-settings.js +79 -72
- package/dist/settings/funnel-settings/components/dnd-item/dnd-item.js +19 -12
- package/dist/settings/funnel-settings/components/dnd-list.js +23 -15
- package/dist/settings/funnel-settings/components/funnel-label-setting.js +40 -32
- package/dist/settings/funnel-settings/components/funnel-layer-setting.js +28 -20
- package/dist/settings/funnel-settings/data-settings.js +31 -23
- package/dist/settings/funnel-settings/index.js +20 -3
- package/dist/settings/funnel-settings/style-settings.js +19 -11
- package/dist/settings/heat-map-settings/data-settings.js +26 -18
- package/dist/settings/heat-map-settings/index.js +20 -3
- package/dist/settings/heat-map-settings/style-settings.js +26 -18
- package/dist/settings/horizontal-bar-settings/data-settings.js +19 -12
- package/dist/settings/horizontal-bar-settings/index.js +20 -3
- package/dist/settings/horizontal-bar-settings/style-settings.js +19 -12
- package/dist/settings/index.js +70 -52
- package/dist/settings/map-settings/components/location-field-selector.js +17 -10
- package/dist/settings/map-settings/components/map-level-selector.js +18 -11
- package/dist/settings/map-settings/components/map-province-city-selector.js +26 -19
- package/dist/settings/map-settings/index.js +20 -3
- package/dist/settings/map-settings/map-data-settings.js +30 -23
- package/dist/settings/map-settings/map-style-settings.js +35 -27
- package/dist/settings/mirror-settings/data-settings.js +34 -26
- package/dist/settings/mirror-settings/index.js +13 -2
- package/dist/settings/pie-settings/data-settings.js +41 -33
- package/dist/settings/pie-settings/index.js +20 -3
- package/dist/settings/pie-settings/style-settings.js +55 -47
- package/dist/settings/scatter/data-settings.js +34 -27
- package/dist/settings/scatter/index.js +12 -3
- package/dist/settings/stacks-settings/index.js +27 -19
- package/dist/settings/stacks-settings/stack-item-settings.js +27 -19
- package/dist/settings/style-settings.js +73 -65
- package/dist/settings/table-element-settings/components/data-filter.js +38 -30
- package/dist/settings/table-element-settings/data-settings.js +29 -21
- package/dist/settings/table-element-settings/index.js +13 -2
- package/dist/settings/table-settings/data-settings.js +120 -112
- package/dist/settings/table-settings/index.js +13 -2
- package/dist/settings/time-comparison-settings/data-settings.js +51 -43
- package/dist/settings/time-comparison-settings/index.js +20 -3
- package/dist/settings/time-comparison-settings/style-settings.js +50 -42
- package/dist/settings/trend-settings/data-settings.js +32 -24
- package/dist/settings/trend-settings/index.js +20 -3
- package/dist/settings/trend-settings/style-setting.js +27 -19
- package/dist/settings/widgets/basic-summary/index.js +63 -55
- package/dist/settings/widgets/chart-type/index.js +26 -18
- package/dist/settings/widgets/color-settings/index.js +80 -72
- package/dist/settings/widgets/common-data-settings.js +29 -21
- package/dist/settings/widgets/data-filter/index.js +43 -35
- package/dist/settings/widgets/data-sort.js +24 -16
- package/dist/settings/widgets/date-summary-item.js +34 -26
- package/dist/settings/widgets/display-values-settings/index.js +22 -14
- package/dist/settings/widgets/divider/index.js +16 -8
- package/dist/settings/widgets/font-settings/font-color-settings.js +19 -11
- package/dist/settings/widgets/font-settings/font-size-settings.js +22 -14
- package/dist/settings/widgets/font-settings/font-weight-settings.js +25 -17
- package/dist/settings/widgets/font-settings/index.js +27 -4
- package/dist/settings/widgets/group-by.js +59 -51
- package/dist/settings/widgets/min-max-setting.js +18 -10
- package/dist/settings/widgets/mininum-slice-percent.js +18 -10
- package/dist/settings/widgets/numeric-summary-item.js +33 -25
- package/dist/settings/widgets/select-line-type/index.js +17 -10
- package/dist/settings/widgets/select-table/index.js +16 -9
- package/dist/settings/widgets/select-view/index.js +28 -20
- package/dist/settings/widgets/stack.js +22 -14
- package/dist/settings/widgets/summary-method-setting.js +25 -17
- package/dist/settings/widgets/summary-settings.js +82 -74
- package/dist/settings/widgets/switch/index.js +16 -9
- package/dist/settings/widgets/text-horizontal-settings.js +23 -15
- package/dist/settings/widgets/time-picker.js +37 -29
- package/dist/settings/widgets/title-settings/index.js +37 -29
- package/dist/settings/widgets/title-settings/title-text.js +12 -5
- package/dist/settings/widgets/x-axios.js +1 -0
- package/dist/settings/widgets/y-axis-group-settings.js +72 -64
- package/dist/utils/cell-format-utils.js +27 -17
- package/dist/utils/cell-value-utils.js +11 -4
- package/dist/utils/chart-utils/base-utils.js +332 -324
- package/dist/utils/chart-utils/index.js +41 -28
- package/dist/utils/chart-utils/original-data-utils/basic-chart-calculator.js +84 -77
- package/dist/utils/chart-utils/original-data-utils/card-calculator.js +20 -13
- package/dist/utils/chart-utils/original-data-utils/combination-calculator.js +52 -45
- package/dist/utils/chart-utils/original-data-utils/compare-bar-chart-calculator.js +28 -21
- package/dist/utils/chart-utils/original-data-utils/completeness-calculator.js +40 -33
- package/dist/utils/chart-utils/original-data-utils/dashboard-calculator.js +23 -16
- package/dist/utils/chart-utils/original-data-utils/index.js +57 -50
- package/dist/utils/chart-utils/original-data-utils/mirror-calculator.js +26 -19
- package/dist/utils/chart-utils/original-data-utils/pivot-table-calculator.js +96 -90
- package/dist/utils/chart-utils/original-data-utils/scatter-calculator.js +26 -19
- package/dist/utils/chart-utils/original-data-utils/trend-calculator.js +38 -31
- package/dist/utils/chart-utils/sql-statistics-utils.js +237 -229
- package/dist/utils/chart.js +17 -9
- package/dist/utils/collaborator-manager.js +9 -3
- package/dist/utils/collaborator-utils.js +31 -19
- package/dist/utils/collaborator.js +15 -6
- package/dist/utils/color-utils.js +29 -18
- package/dist/utils/column-utils.js +104 -77
- package/dist/utils/common-utils.js +53 -28
- package/dist/utils/concurrency-manager.js +7 -1
- package/dist/utils/contexts.js +12 -5
- package/dist/utils/date-translate.js +20 -12
- package/dist/utils/digital-sign-utils.js +14 -7
- package/dist/utils/event-bus.js +7 -1
- package/dist/utils/hotkey.js +11 -5
- package/dist/utils/index.js +221 -54
- package/dist/utils/key-generator.js +9 -2
- package/dist/utils/map.js +31 -22
- package/dist/utils/object-utils.js +8 -2
- package/dist/utils/options-utils.js +18 -10
- package/dist/utils/row-record-utils.js +178 -166
- package/dist/utils/row-utils.js +38 -27
- package/dist/utils/search.js +32 -24
- package/dist/utils/sql/chart-data-sql.js +112 -106
- package/dist/utils/sql/column-2-sql-column.js +168 -158
- package/dist/utils/sql/index.js +27 -3
- package/dist/utils/trend-utils.js +47 -39
- package/dist/view/index.js +96 -90
- package/dist/view/title/index.js +24 -16
- package/dist/view/wrapper/area-group.js +53 -45
- package/dist/view/wrapper/area.js +51 -43
- package/dist/view/wrapper/bar-compare.js +46 -38
- package/dist/view/wrapper/bar-custom-stack.js +47 -39
- package/dist/view/wrapper/bar-group.js +53 -45
- package/dist/view/wrapper/bar-stack.js +56 -48
- package/dist/view/wrapper/bar.js +48 -40
- package/dist/view/wrapper/basic-number-card.js +34 -26
- package/dist/view/wrapper/chart-component.js +131 -123
- package/dist/view/wrapper/combination.js +63 -55
- package/dist/view/wrapper/completeness-group.js +48 -40
- package/dist/view/wrapper/completeness.js +44 -36
- package/dist/view/wrapper/dashboard.js +44 -39
- package/dist/view/wrapper/funnel.js +43 -40
- package/dist/view/wrapper/heat-map.js +70 -62
- package/dist/view/wrapper/horizontal-bar-group.js +60 -52
- package/dist/view/wrapper/horizontal-bar-stack.js +55 -47
- package/dist/view/wrapper/horizontal-bar.js +49 -41
- package/dist/view/wrapper/index.js +115 -107
- package/dist/view/wrapper/line-group.js +51 -43
- package/dist/view/wrapper/line.js +50 -42
- package/dist/view/wrapper/map-bubble.js +48 -40
- package/dist/view/wrapper/map-world-bubble.js +47 -39
- package/dist/view/wrapper/map-world.js +49 -41
- package/dist/view/wrapper/map.js +50 -42
- package/dist/view/wrapper/mirror.js +49 -41
- package/dist/view/wrapper/pie.js +52 -44
- package/dist/view/wrapper/ring.js +57 -49
- package/dist/view/wrapper/scatter.js +50 -42
- package/dist/view/wrapper/table/index.js +22 -14
- package/dist/view/wrapper/table/one-dimension-table-no-numeric-columns.js +57 -49
- package/dist/view/wrapper/table/one-dimension-table-with-numeric-columns.js +61 -53
- package/dist/view/wrapper/table/pivot-table-display-name.js +90 -82
- package/dist/view/wrapper/table/two-dimension-table.js +93 -85
- package/dist/view/wrapper/table-element/components/dataset-utils.js +36 -23
- package/dist/view/wrapper/table-element/components/formatter.js +99 -90
- package/dist/view/wrapper/table-element/components/formatters/FileFormatter/index.js +32 -23
- package/dist/view/wrapper/table-element/components/formatters/formula-formatter.js +16 -9
- package/dist/view/wrapper/table-element/components/formatters/link-formatter.js +97 -90
- package/dist/view/wrapper/table-element/components/formula-formatter.js +16 -9
- package/dist/view/wrapper/table-element/components/link-formatter.js +97 -90
- package/dist/view/wrapper/table-element/components/record.js +20 -13
- package/dist/view/wrapper/table-element/components/records-body.js +17 -9
- package/dist/view/wrapper/table-element/components/records-header/index.js +15 -7
- package/dist/view/wrapper/table-element/components/records-header/records-header-cell.js +16 -8
- package/dist/view/wrapper/table-element/components/records.js +33 -25
- package/dist/view/wrapper/table-element/components/resize-column-handle/resize-column-handle.js +12 -5
- package/dist/view/wrapper/table-element/components/utils.js +16 -6
- package/dist/view/wrapper/table-element/components/value-display-utils.js +11 -4
- package/dist/view/wrapper/table-element/components/vertical-scrollbar/index.js +13 -6
- package/dist/view/wrapper/table-element/index.js +26 -18
- package/dist/view/wrapper/treemap.js +46 -38
- package/dist/view/wrapper/trend.js +66 -58
- package/package.json +1 -1
|
@@ -1,20 +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 slugid from 'slugid';
|
|
5
|
-
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';
|
|
6
|
-
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';
|
|
7
|
-
import { getClientFormulaDisplayString } from '../cell-format-utils';
|
|
8
|
-
import { getKnownCollaboratorByEmail, generateDefaultUser } from '../collaborator-utils';
|
|
9
|
-
import { getDateColumnFormat, getColumnByKey } from '../column-utils';
|
|
10
|
-
import intl from '../../intl';
|
|
11
|
-
import context from '../../context';
|
|
12
|
-
import { isValidCollaboratorEmail } from '../collaborator';
|
|
13
|
-
import { formatRowTotal, getFirstDayOfWeekForGroupby } from '../index';
|
|
14
|
-
export function findIfColumnDataIsArray(column) {
|
|
22
|
+
function findIfColumnDataIsArray(column) {
|
|
15
23
|
// link-formula may also be an array type column
|
|
16
|
-
let isGroupbyColumnDataAsAnArray = !!MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP[column.type];
|
|
17
|
-
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) {
|
|
18
26
|
const {
|
|
19
27
|
result_type
|
|
20
28
|
} = column.data || {};
|
|
@@ -42,12 +50,12 @@ BaseUtils.updateSummaryValuePrecision = (result, summaryColumn, summaryValueKey)
|
|
|
42
50
|
if (enable_precision) {
|
|
43
51
|
result.forEach(item => {
|
|
44
52
|
if (format === 'percent') {
|
|
45
|
-
item[summaryValueKey] = parseFloat(getPrecisionNumber(item[summaryValueKey] * 100, {
|
|
53
|
+
item[summaryValueKey] = parseFloat((0, _dtableUtils.getPrecisionNumber)(item[summaryValueKey] * 100, {
|
|
46
54
|
enable_precision,
|
|
47
55
|
precision
|
|
48
56
|
})) / 100;
|
|
49
57
|
} else {
|
|
50
|
-
item[summaryValueKey] = parseFloat(getPrecisionNumber(item[summaryValueKey], {
|
|
58
|
+
item[summaryValueKey] = parseFloat((0, _dtableUtils.getPrecisionNumber)(item[summaryValueKey], {
|
|
51
59
|
enable_precision,
|
|
52
60
|
precision
|
|
53
61
|
}));
|
|
@@ -56,21 +64,21 @@ BaseUtils.updateSummaryValuePrecision = (result, summaryColumn, summaryValueKey)
|
|
|
56
64
|
}
|
|
57
65
|
};
|
|
58
66
|
BaseUtils.isCollaborator = column => {
|
|
59
|
-
return column.type === CellType.COLLABORATOR;
|
|
67
|
+
return column.type === _dtableUtils.CellType.COLLABORATOR;
|
|
60
68
|
};
|
|
61
69
|
// valid chart
|
|
62
70
|
BaseUtils.isValidCombinationChart = (config, table) => {
|
|
63
71
|
const summaryLeftColumnKey = config.y_axis_left_summary_column;
|
|
64
72
|
const summaryLeftType = config.y_axis_left_summary_type;
|
|
65
|
-
if (summaryLeftType === CHART_SUMMARY_TYPE.ADVANCED && !summaryLeftColumnKey) return false;
|
|
73
|
+
if (summaryLeftType === _constants.CHART_SUMMARY_TYPE.ADVANCED && !summaryLeftColumnKey) return false;
|
|
66
74
|
if (summaryLeftColumnKey) {
|
|
67
|
-
if (!getTableColumnByKey(table, summaryLeftColumnKey)) return false;
|
|
75
|
+
if (!(0, _dtableUtils.getTableColumnByKey)(table, summaryLeftColumnKey)) return false;
|
|
68
76
|
}
|
|
69
77
|
const summaryRightColumnKey = config.y_axis_right_summary_column;
|
|
70
78
|
const summaryRightType = config.y_axis_right_summary_type;
|
|
71
|
-
if (summaryRightType === CHART_SUMMARY_TYPE.ADVANCED && !summaryRightColumnKey) return false;
|
|
79
|
+
if (summaryRightType === _constants.CHART_SUMMARY_TYPE.ADVANCED && !summaryRightColumnKey) return false;
|
|
72
80
|
if (summaryRightColumnKey) {
|
|
73
|
-
return getTableColumnByKey(table, summaryRightColumnKey);
|
|
81
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, summaryRightColumnKey);
|
|
74
82
|
}
|
|
75
83
|
return true;
|
|
76
84
|
};
|
|
@@ -83,39 +91,39 @@ BaseUtils.isValidExistChart = (tables, chart) => {
|
|
|
83
91
|
table_id,
|
|
84
92
|
type
|
|
85
93
|
} = config;
|
|
86
|
-
const table = getTableById(tables, table_id);
|
|
94
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
87
95
|
if (!table) return false;
|
|
88
96
|
|
|
89
97
|
// if table exists then it's a valid TABLE_ELEMENT chart
|
|
90
|
-
if (type === CHART_TYPE.TABLE_ELEMENT) {
|
|
98
|
+
if (type === _constants.CHART_TYPE.TABLE_ELEMENT) {
|
|
91
99
|
return true;
|
|
92
100
|
}
|
|
93
|
-
if (type === CHART_TYPE.SCATTER) {
|
|
101
|
+
if (type === _constants.CHART_TYPE.SCATTER) {
|
|
94
102
|
const {
|
|
95
103
|
column_groupby_column_key
|
|
96
104
|
} = config;
|
|
97
105
|
if (!column_groupby_column_key) return false;
|
|
98
106
|
}
|
|
99
|
-
if (config.type === CHART_TYPE.BASIC_NUMBER_CARD) {
|
|
107
|
+
if (config.type === _constants.CHART_TYPE.BASIC_NUMBER_CARD) {
|
|
100
108
|
const {
|
|
101
109
|
summary_type
|
|
102
110
|
} = config;
|
|
103
|
-
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;
|
|
104
112
|
const numericColumnKey = config.numeric_column_key;
|
|
105
113
|
if (!numericColumnKey) return false;
|
|
106
|
-
return getTableColumnByKey(table, numericColumnKey);
|
|
114
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, numericColumnKey);
|
|
107
115
|
}
|
|
108
|
-
if (config.type === CHART_TYPE.DASHBOARD) {
|
|
116
|
+
if (config.type === _constants.CHART_TYPE.DASHBOARD) {
|
|
109
117
|
const targetColumnKey = config.target_value_column_key;
|
|
110
118
|
if (!targetColumnKey) return false;
|
|
111
119
|
const totalColumnKey = config.total_value_column_key;
|
|
112
120
|
if (!totalColumnKey) return false;
|
|
113
|
-
if (!getTableColumnByKey(table, targetColumnKey)) return false;
|
|
114
|
-
return getTableColumnByKey(table, totalColumnKey);
|
|
121
|
+
if (!(0, _dtableUtils.getTableColumnByKey)(table, targetColumnKey)) return false;
|
|
122
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, totalColumnKey);
|
|
115
123
|
}
|
|
116
124
|
|
|
117
125
|
// completeness chart requires groupby_column_key, completed_column_key, and target_column_key
|
|
118
|
-
if (config.type === CHART_TYPE.COMPLETENESS || config.type === CHART_TYPE.COMPLETENESS_GROUP) {
|
|
126
|
+
if (config.type === _constants.CHART_TYPE.COMPLETENESS || config.type === _constants.CHART_TYPE.COMPLETENESS_GROUP) {
|
|
119
127
|
const {
|
|
120
128
|
groupby_column_key,
|
|
121
129
|
completed_column_key,
|
|
@@ -124,52 +132,52 @@ BaseUtils.isValidExistChart = (tables, chart) => {
|
|
|
124
132
|
if (!groupby_column_key) return false;
|
|
125
133
|
if (!completed_column_key) return false;
|
|
126
134
|
if (!target_column_key) return false;
|
|
127
|
-
if (!getTableColumnByKey(table, groupby_column_key)) return false;
|
|
128
|
-
if (!getTableColumnByKey(table, completed_column_key)) return false;
|
|
129
|
-
if (!getTableColumnByKey(table, target_column_key)) return false;
|
|
135
|
+
if (!(0, _dtableUtils.getTableColumnByKey)(table, groupby_column_key)) return false;
|
|
136
|
+
if (!(0, _dtableUtils.getTableColumnByKey)(table, completed_column_key)) return false;
|
|
137
|
+
if (!(0, _dtableUtils.getTableColumnByKey)(table, target_column_key)) return false;
|
|
130
138
|
return true;
|
|
131
139
|
}
|
|
132
140
|
|
|
133
141
|
// if current chart is using "groupby_column_key" as key
|
|
134
142
|
// if groupby_column_key is null, still return false
|
|
135
143
|
let groupByColumnKey = config.groupby_column_key || config.x_axis_column_key || config.vertical_axis_column_key || config.columnKey || config.date_column_key;
|
|
136
|
-
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)) {
|
|
144
|
+
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)) {
|
|
137
145
|
groupByColumnKey = config.x_axis_column_key;
|
|
138
146
|
}
|
|
139
|
-
if ([CHART_TYPE.HORIZONTAL_BAR, CHART_TYPE.HORIZONTAL_GROUP_BAR, CHART_TYPE.STACKED_HORIZONTAL_BAR].includes(config.type)) {
|
|
147
|
+
if ([_constants.CHART_TYPE.HORIZONTAL_BAR, _constants.CHART_TYPE.HORIZONTAL_GROUP_BAR, _constants.CHART_TYPE.STACKED_HORIZONTAL_BAR].includes(config.type)) {
|
|
140
148
|
groupByColumnKey = config.vertical_axis_column_key;
|
|
141
149
|
}
|
|
142
|
-
if ([CHART_TYPE.MAP, CHART_TYPE.MAP_BUBBLE, CHART_TYPE.WORLD_MAP, CHART_TYPE.WORLD_MAP_BUBBLE].includes(config.type)) {
|
|
150
|
+
if ([_constants.CHART_TYPE.MAP, _constants.CHART_TYPE.MAP_BUBBLE, _constants.CHART_TYPE.WORLD_MAP, _constants.CHART_TYPE.WORLD_MAP_BUBBLE].includes(config.type)) {
|
|
143
151
|
groupByColumnKey = config.geo_column_key;
|
|
144
152
|
}
|
|
145
|
-
if ([CHART_TYPE.HEAT_MAP].includes(config.type)) {
|
|
153
|
+
if ([_constants.CHART_TYPE.HEAT_MAP].includes(config.type)) {
|
|
146
154
|
groupByColumnKey = config.time_column_key;
|
|
147
155
|
}
|
|
148
|
-
if ([CHART_TYPE.MIRROR].includes(config.type)) {
|
|
156
|
+
if ([_constants.CHART_TYPE.MIRROR].includes(config.type)) {
|
|
149
157
|
groupByColumnKey = config.column_key;
|
|
150
158
|
}
|
|
151
|
-
if ([CHART_TYPE.TREND].includes(config.type)) {
|
|
159
|
+
if ([_constants.CHART_TYPE.TREND].includes(config.type)) {
|
|
152
160
|
groupByColumnKey = config.date_column_key;
|
|
153
161
|
}
|
|
154
162
|
if (!groupByColumnKey) return false;
|
|
155
|
-
if (!getTableColumnByKey(table, groupByColumnKey)) return false;
|
|
156
|
-
if (type === CHART_TYPE.FUNNEL) {
|
|
157
|
-
const column = getColumnByKey(config.x_axis_column_key, table.columns);
|
|
158
|
-
if (!column || column.type !== CellType.SINGLE_SELECT) return false;
|
|
163
|
+
if (!(0, _dtableUtils.getTableColumnByKey)(table, groupByColumnKey)) return false;
|
|
164
|
+
if (type === _constants.CHART_TYPE.FUNNEL) {
|
|
165
|
+
const column = (0, _columnUtils.getColumnByKey)(config.x_axis_column_key, table.columns);
|
|
166
|
+
if (!column || column.type !== _dtableUtils.CellType.SINGLE_SELECT) return false;
|
|
159
167
|
}
|
|
160
|
-
if (type === CHART_TYPE.COMBINATION) {
|
|
168
|
+
if (type === _constants.CHART_TYPE.COMBINATION) {
|
|
161
169
|
const isExist = _BaseUtils.isValidCombinationChart(config, table);
|
|
162
170
|
if (!isExist) return false;
|
|
163
171
|
} else {
|
|
164
172
|
let summaryColumnKey = config.summary_column_key || config.y_axis_summary_column_key || config.horizontal_axis_column_key;
|
|
165
|
-
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) {
|
|
173
|
+
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) {
|
|
166
174
|
// "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"
|
|
167
175
|
summaryColumnKey = config.summary_columns[0].key || config.summary_columns[0].column_key;
|
|
168
176
|
}
|
|
169
177
|
const summaryType = _BaseUtils.getSummaryType(config);
|
|
170
|
-
if (summaryType === CHART_SUMMARY_TYPE.ADVANCED && !summaryColumnKey) return false;
|
|
178
|
+
if (summaryType === _constants.CHART_SUMMARY_TYPE.ADVANCED && !summaryColumnKey) return false;
|
|
171
179
|
if (summaryColumnKey) {
|
|
172
|
-
return getTableColumnByKey(table, summaryColumnKey);
|
|
180
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, summaryColumnKey);
|
|
173
181
|
}
|
|
174
182
|
}
|
|
175
183
|
return true;
|
|
@@ -182,34 +190,34 @@ BaseUtils.getGroupColumn = (table, chart) => {
|
|
|
182
190
|
const {
|
|
183
191
|
type
|
|
184
192
|
} = config;
|
|
185
|
-
if (COMPLTETELESS_CHART_TYPES.includes(type)) {
|
|
186
|
-
return getTableColumnByKey(table, config.completed_column_key);
|
|
193
|
+
if (_constants.COMPLTETELESS_CHART_TYPES.includes(type)) {
|
|
194
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.completed_column_key);
|
|
187
195
|
}
|
|
188
|
-
if (HORIZONTAL_BAR_CHART_TYPES.includes(type)) {
|
|
189
|
-
return getTableColumnByKey(table, config.vertical_axis_column_key);
|
|
196
|
+
if (_constants.HORIZONTAL_BAR_CHART_TYPES.includes(type)) {
|
|
197
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.vertical_axis_column_key);
|
|
190
198
|
}
|
|
191
|
-
if (X_AXIS_IS_GROUPBY_COLUMN_KEY_CHART_TYPES.includes(type)) {
|
|
192
|
-
return getTableColumnByKey(table, config.groupby_column_key);
|
|
199
|
+
if (_constants.X_AXIS_IS_GROUPBY_COLUMN_KEY_CHART_TYPES.includes(type)) {
|
|
200
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.groupby_column_key);
|
|
193
201
|
}
|
|
194
|
-
if (type === CHART_TYPE.BASIC_NUMBER_CARD) {
|
|
195
|
-
return getTableColumnByKey(table, config.numeric_column_key);
|
|
202
|
+
if (type === _constants.CHART_TYPE.BASIC_NUMBER_CARD) {
|
|
203
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.numeric_column_key);
|
|
196
204
|
}
|
|
197
|
-
if ([CHART_TYPE.WORLD_MAP, CHART_TYPE.WORLD_MAP_BUBBLE].includes(type)) {
|
|
198
|
-
return getTableColumnByKey(table, config.geo_column_key);
|
|
205
|
+
if ([_constants.CHART_TYPE.WORLD_MAP, _constants.CHART_TYPE.WORLD_MAP_BUBBLE].includes(type)) {
|
|
206
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.geo_column_key);
|
|
199
207
|
}
|
|
200
|
-
if (type === CHART_TYPE.MIRROR) {
|
|
201
|
-
return getTableColumnByKey(table, config.column_key);
|
|
208
|
+
if (type === _constants.CHART_TYPE.MIRROR) {
|
|
209
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.column_key);
|
|
202
210
|
}
|
|
203
|
-
if (type === CHART_TYPE.TREND) {
|
|
204
|
-
return getTableColumnByKey(table, config.date_column_key);
|
|
211
|
+
if (type === _constants.CHART_TYPE.TREND) {
|
|
212
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.date_column_key);
|
|
205
213
|
}
|
|
206
|
-
if (type === CHART_TYPE.HEAT_MAP) {
|
|
207
|
-
return getTableColumnByKey(table, config.time_column_key);
|
|
214
|
+
if (type === _constants.CHART_TYPE.HEAT_MAP) {
|
|
215
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.time_column_key);
|
|
208
216
|
}
|
|
209
|
-
if (MAP_CHART_TYPES.includes(type)) {
|
|
210
|
-
return getTableColumnByKey(table, config.geo_column_key);
|
|
217
|
+
if (_constants.MAP_CHART_TYPES.includes(type)) {
|
|
218
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.geo_column_key);
|
|
211
219
|
}
|
|
212
|
-
return getTableColumnByKey(table, config.x_axis_column_key);
|
|
220
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.x_axis_column_key);
|
|
213
221
|
};
|
|
214
222
|
BaseUtils.getColumnGroupColumn = (table, chart) => {
|
|
215
223
|
const {
|
|
@@ -218,19 +226,19 @@ BaseUtils.getColumnGroupColumn = (table, chart) => {
|
|
|
218
226
|
const {
|
|
219
227
|
type
|
|
220
228
|
} = config;
|
|
221
|
-
if (X_AXIS_IS_GROUPBY_COLUMN_KEY_CHART_TYPES.includes(type)) {
|
|
222
|
-
return getTableColumnByKey(table, config.column_groupby_column_key);
|
|
229
|
+
if (_constants.X_AXIS_IS_GROUPBY_COLUMN_KEY_CHART_TYPES.includes(type)) {
|
|
230
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.column_groupby_column_key);
|
|
223
231
|
}
|
|
224
|
-
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)) {
|
|
225
|
-
return getTableColumnByKey(table, config.column_groupby_column_key);
|
|
232
|
+
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)) {
|
|
233
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.column_groupby_column_key);
|
|
226
234
|
}
|
|
227
|
-
if ([CHART_TYPE.MIRROR].includes(type)) {
|
|
228
|
-
return getTableColumnByKey(table, config.group_column_key);
|
|
235
|
+
if ([_constants.CHART_TYPE.MIRROR].includes(type)) {
|
|
236
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.group_column_key);
|
|
229
237
|
}
|
|
230
|
-
if (type === CHART_TYPE.SCATTER) {
|
|
231
|
-
return getTableColumnByKey(table, config.column_groupby_column_key);
|
|
238
|
+
if (type === _constants.CHART_TYPE.SCATTER) {
|
|
239
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.column_groupby_column_key);
|
|
232
240
|
}
|
|
233
|
-
return getTableColumnByKey(table, config.y_axis_summary_column_key);
|
|
241
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.y_axis_summary_column_key);
|
|
234
242
|
};
|
|
235
243
|
BaseUtils.getSummaryColumn = (table, chart) => {
|
|
236
244
|
const {
|
|
@@ -244,39 +252,39 @@ BaseUtils.getSummaryColumn = (table, chart) => {
|
|
|
244
252
|
horizontal_axis_column_key
|
|
245
253
|
} = config;
|
|
246
254
|
switch (type) {
|
|
247
|
-
case CHART_TYPE.COMPLETENESS:
|
|
248
|
-
case CHART_TYPE.COMPLETENESS_GROUP:
|
|
255
|
+
case _constants.CHART_TYPE.COMPLETENESS:
|
|
256
|
+
case _constants.CHART_TYPE.COMPLETENESS_GROUP:
|
|
249
257
|
{
|
|
250
|
-
return getTableColumnByKey(table, config.target_column_key);
|
|
258
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.target_column_key);
|
|
251
259
|
}
|
|
252
|
-
case CHART_TYPE.HORIZONTAL_BAR:
|
|
253
|
-
case CHART_TYPE.STACKED_HORIZONTAL_BAR:
|
|
254
|
-
case CHART_TYPE.HORIZONTAL_GROUP_BAR:
|
|
260
|
+
case _constants.CHART_TYPE.HORIZONTAL_BAR:
|
|
261
|
+
case _constants.CHART_TYPE.STACKED_HORIZONTAL_BAR:
|
|
262
|
+
case _constants.CHART_TYPE.HORIZONTAL_GROUP_BAR:
|
|
255
263
|
{
|
|
256
|
-
return getTableColumnByKey(table, horizontal_axis_column_key);
|
|
264
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, horizontal_axis_column_key);
|
|
257
265
|
}
|
|
258
|
-
case CHART_TYPE.BAR:
|
|
259
|
-
case CHART_TYPE.BAR_GROUP:
|
|
260
|
-
case CHART_TYPE.LINE:
|
|
261
|
-
case CHART_TYPE.LINE_GROUP:
|
|
262
|
-
case CHART_TYPE.AREA:
|
|
263
|
-
case CHART_TYPE.AREA_GROUP:
|
|
264
|
-
case CHART_TYPE.BAR_STACK:
|
|
266
|
+
case _constants.CHART_TYPE.BAR:
|
|
267
|
+
case _constants.CHART_TYPE.BAR_GROUP:
|
|
268
|
+
case _constants.CHART_TYPE.LINE:
|
|
269
|
+
case _constants.CHART_TYPE.LINE_GROUP:
|
|
270
|
+
case _constants.CHART_TYPE.AREA:
|
|
271
|
+
case _constants.CHART_TYPE.AREA_GROUP:
|
|
272
|
+
case _constants.CHART_TYPE.BAR_STACK:
|
|
265
273
|
{
|
|
266
|
-
return getTableColumnByKey(table, y_axis_summary_column_key);
|
|
274
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, y_axis_summary_column_key);
|
|
267
275
|
}
|
|
268
|
-
case CHART_TYPE.BASIC_NUMBER_CARD:
|
|
276
|
+
case _constants.CHART_TYPE.BASIC_NUMBER_CARD:
|
|
269
277
|
{
|
|
270
|
-
return getTableColumnByKey(table, numeric_column_key);
|
|
278
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, numeric_column_key);
|
|
271
279
|
}
|
|
272
|
-
case CHART_TYPE.SCATTER:
|
|
280
|
+
case _constants.CHART_TYPE.SCATTER:
|
|
273
281
|
{
|
|
274
|
-
return getTableColumnByKey(table, config.y_axis_column_key);
|
|
282
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, config.y_axis_column_key);
|
|
275
283
|
}
|
|
276
|
-
case CHART_TYPE.COMBINATION:
|
|
284
|
+
case _constants.CHART_TYPE.COMBINATION:
|
|
277
285
|
{
|
|
278
|
-
const summaryColumnLeft = getTableColumnByKey(table, config.y_axis_left_summary_column);
|
|
279
|
-
const summaryColumnRight = getTableColumnByKey(table, config.y_axis_right_summary_column);
|
|
286
|
+
const summaryColumnLeft = (0, _dtableUtils.getTableColumnByKey)(table, config.y_axis_left_summary_column);
|
|
287
|
+
const summaryColumnRight = (0, _dtableUtils.getTableColumnByKey)(table, config.y_axis_right_summary_column);
|
|
280
288
|
return {
|
|
281
289
|
summaryColumnLeft,
|
|
282
290
|
summaryColumnRight
|
|
@@ -284,7 +292,7 @@ BaseUtils.getSummaryColumn = (table, chart) => {
|
|
|
284
292
|
}
|
|
285
293
|
default:
|
|
286
294
|
{
|
|
287
|
-
return getTableColumnByKey(table, summary_column_key);
|
|
295
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, summary_column_key);
|
|
288
296
|
}
|
|
289
297
|
}
|
|
290
298
|
};
|
|
@@ -310,7 +318,7 @@ BaseUtils.getSummaryColumnsWithMethod = (table, chart) => {
|
|
|
310
318
|
summary_method
|
|
311
319
|
} = summaryItem;
|
|
312
320
|
return {
|
|
313
|
-
column: getTableColumnByKey(table, columnKey),
|
|
321
|
+
column: (0, _dtableUtils.getTableColumnByKey)(table, columnKey),
|
|
314
322
|
summary_method
|
|
315
323
|
};
|
|
316
324
|
});
|
|
@@ -319,7 +327,7 @@ BaseUtils.getGroupName = (tables, chart) => {
|
|
|
319
327
|
const {
|
|
320
328
|
config
|
|
321
329
|
} = chart;
|
|
322
|
-
const table = getTableById(tables, config.table_id);
|
|
330
|
+
const table = (0, _dtableUtils.getTableById)(tables, config.table_id);
|
|
323
331
|
const column = _BaseUtils.getGroupColumn(table, chart);
|
|
324
332
|
return column.name;
|
|
325
333
|
};
|
|
@@ -366,24 +374,24 @@ BaseUtils.getSummaryValueDisplayString = function (summaryColumn, summaryValue)
|
|
|
366
374
|
};
|
|
367
375
|
|
|
368
376
|
// The date returned by db carries T and Z, so that there is a time difference in data formatting
|
|
369
|
-
return getDateDisplayString(summaryValue.replace(/[T|Z]/g, ' '), format);
|
|
377
|
+
return (0, _dtableUtils.getDateDisplayString)(summaryValue.replace(/[T|Z]/g, ' '), format);
|
|
370
378
|
}
|
|
371
|
-
if (typeof summaryValue !== 'number') return formatRowTotal(summaryValue);
|
|
372
|
-
return getNumberDisplayString(summaryValue, data || DEFAULT_NUMBER_FORMAT_OBJECT);
|
|
379
|
+
if (typeof summaryValue !== 'number') return (0, _index.formatRowTotal)(summaryValue);
|
|
380
|
+
return (0, _dtableUtils.getNumberDisplayString)(summaryValue, data || _constants.DEFAULT_NUMBER_FORMAT_OBJECT);
|
|
373
381
|
};
|
|
374
382
|
BaseUtils.isNumericSummaryColumn = summaryColumn => {
|
|
375
383
|
if (!summaryColumn) return false;
|
|
376
384
|
const {
|
|
377
385
|
type
|
|
378
386
|
} = summaryColumn;
|
|
379
|
-
return type !== CellType.LINK && isNumericColumn(summaryColumn);
|
|
387
|
+
return type !== _dtableUtils.CellType.LINK && (0, _dtableUtils.isNumericColumn)(summaryColumn);
|
|
380
388
|
};
|
|
381
389
|
BaseUtils.isDateSummaryColumn = summaryColumn => {
|
|
382
390
|
if (!summaryColumn) return false;
|
|
383
391
|
const {
|
|
384
392
|
type
|
|
385
393
|
} = summaryColumn;
|
|
386
|
-
return type !== CellType.LINK && isDateColumn(summaryColumn);
|
|
394
|
+
return type !== _dtableUtils.CellType.LINK && (0, _dtableUtils.isDateColumn)(summaryColumn);
|
|
387
395
|
};
|
|
388
396
|
BaseUtils.getSummaryValue = (_ref, currentValue, nextValue, isPivotCalculator) => {
|
|
389
397
|
let {
|
|
@@ -393,14 +401,14 @@ BaseUtils.getSummaryValue = (_ref, currentValue, nextValue, isPivotCalculator) =
|
|
|
393
401
|
if (_BaseUtils.isDateSummaryColumn(summaryColumn)) {
|
|
394
402
|
if (summaryMethod === 'MAX') {
|
|
395
403
|
if (currentValue && nextValue) {
|
|
396
|
-
return
|
|
404
|
+
return (0, _dayjs.default)(currentValue).isBefore(nextValue) ? nextValue : currentValue;
|
|
397
405
|
}
|
|
398
406
|
if (!currentValue && nextValue) return nextValue;
|
|
399
407
|
return currentValue;
|
|
400
408
|
}
|
|
401
409
|
if (summaryMethod === 'MIN') {
|
|
402
410
|
if (currentValue && nextValue) {
|
|
403
|
-
return
|
|
411
|
+
return (0, _dayjs.default)(currentValue).isBefore(nextValue) ? currentValue : nextValue;
|
|
404
412
|
}
|
|
405
413
|
if (!currentValue && nextValue) return nextValue;
|
|
406
414
|
return currentValue;
|
|
@@ -426,7 +434,7 @@ BaseUtils.getStatisticColumns = table => {
|
|
|
426
434
|
let {
|
|
427
435
|
columns
|
|
428
436
|
} = table;
|
|
429
|
-
let unStatisticalColumns = [CellType.LONG_TEXT, CellType.IMAGE, CellType.FILE, CellType.CHECKBOX];
|
|
437
|
+
let unStatisticalColumns = [_dtableUtils.CellType.LONG_TEXT, _dtableUtils.CellType.IMAGE, _dtableUtils.CellType.FILE, _dtableUtils.CellType.CHECKBOX];
|
|
430
438
|
return columns.filter(column => {
|
|
431
439
|
return unStatisticalColumns.indexOf(column.type) === -1;
|
|
432
440
|
});
|
|
@@ -434,7 +442,7 @@ BaseUtils.getStatisticColumns = table => {
|
|
|
434
442
|
BaseUtils.isChartEqual = (preChartElement, curChartElement) => {
|
|
435
443
|
const elementType = preChartElement.config.type;
|
|
436
444
|
if (elementType !== curChartElement.config.type) return false;
|
|
437
|
-
return
|
|
445
|
+
return (0, _shallowequal.default)(preChartElement.config, curChartElement.config);
|
|
438
446
|
};
|
|
439
447
|
BaseUtils.isChartStyleChange = (preChartElement, curChartElement) => {
|
|
440
448
|
var _preChartElement$heig, _curChartElement$heig;
|
|
@@ -446,10 +454,10 @@ BaseUtils.isChartStyleChange = (preChartElement, curChartElement) => {
|
|
|
446
454
|
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;
|
|
447
455
|
const hasStyleConfig = preChartElement.style_config && curChartElement.style_config;
|
|
448
456
|
if (hasStyleConfig) {
|
|
449
|
-
const chartStyleConfigChanged = CHART_STYLE_CONFIG_SETTING_KEYS.some(key => preChartElement.style_config[key] !== curChartElement.style_config[key]);
|
|
457
|
+
const chartStyleConfigChanged = _constants.CHART_STYLE_CONFIG_SETTING_KEYS.some(key => preChartElement.style_config[key] !== curChartElement.style_config[key]);
|
|
450
458
|
return chartStyleConfigChanged;
|
|
451
459
|
}
|
|
452
|
-
return !CHART_STYLE_SETTING_KEYS.every(key => preChartElement.config[key] === curChartElement.config[key]);
|
|
460
|
+
return !_constants.CHART_STYLE_SETTING_KEYS.every(key => preChartElement.config[key] === curChartElement.config[key]);
|
|
453
461
|
};
|
|
454
462
|
BaseUtils.isChartTypeChange = (preChartElement, curChartElement) => {
|
|
455
463
|
const elementType = preChartElement.config.type;
|
|
@@ -467,9 +475,9 @@ BaseUtils.isArchiveView = (chart, tables) => {
|
|
|
467
475
|
table_id,
|
|
468
476
|
view_id
|
|
469
477
|
} = chart;
|
|
470
|
-
const table = getTableById(tables, table_id);
|
|
471
|
-
const view = getViewById(table === null || table === void 0 ? void 0 : table.views, view_id);
|
|
472
|
-
return view && isArchiveView(view);
|
|
478
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
479
|
+
const view = (0, _dtableUtils.getViewById)(table === null || table === void 0 ? void 0 : table.views, view_id);
|
|
480
|
+
return view && (0, _dtableUtils.isArchiveView)(view);
|
|
473
481
|
};
|
|
474
482
|
BaseUtils.isChartSortChange = (preChartElement, curChartElement) => {
|
|
475
483
|
return preChartElement.config.sort_type !== curChartElement.config.sort_type;
|
|
@@ -477,7 +485,7 @@ BaseUtils.isChartSortChange = (preChartElement, curChartElement) => {
|
|
|
477
485
|
BaseUtils.isChartStyleChanged = (prevElement, currElement) => {
|
|
478
486
|
const prevStyleConfig = prevElement && prevElement.style_config;
|
|
479
487
|
const currStyleConfig = currElement && currElement.style_config;
|
|
480
|
-
if ((prevStyleConfig === null || prevStyleConfig === void 0 ? void 0 : prevStyleConfig.display_goal_line) !== (currStyleConfig === null || currStyleConfig === void 0 ? void 0 : currStyleConfig.display_goal_line) && (!(currStyleConfig
|
|
488
|
+
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))) {
|
|
481
489
|
return false;
|
|
482
490
|
}
|
|
483
491
|
if (!prevStyleConfig && !currStyleConfig) {
|
|
@@ -494,24 +502,24 @@ BaseUtils.isChartStyleChanged = (prevElement, currElement) => {
|
|
|
494
502
|
border: currBorder,
|
|
495
503
|
title: currTitle
|
|
496
504
|
} = currStyleConfig;
|
|
497
|
-
return !
|
|
505
|
+
return !(0, _shallowequal.default)(prevBorder, currBorder) || !(0, _shallowequal.default)(prevTitle, currTitle);
|
|
498
506
|
};
|
|
499
507
|
BaseUtils.shouldChartComponentUpdate = (prevProps, currentProps) => {
|
|
500
508
|
return !_BaseUtils.isChartEqual(prevProps.chart, currentProps.chart) ||
|
|
501
509
|
// chart attributes changed
|
|
502
|
-
!
|
|
510
|
+
!(0, _shallowequal.default)(prevProps.canvasStyle, currentProps.canvasStyle) ||
|
|
503
511
|
// canvasStyle
|
|
504
|
-
!
|
|
512
|
+
!(0, _shallowequal.default)(prevProps.groupbyColumn, currentProps.groupbyColumn) ||
|
|
505
513
|
// groupbyColumn's data、type changed or not exist
|
|
506
|
-
!
|
|
514
|
+
!(0, _shallowequal.default)(prevProps.columnGroupbyColumn, currentProps.columnGroupbyColumn) ||
|
|
507
515
|
// columnGroupbyColumn's data、type changed or not exist
|
|
508
|
-
!
|
|
516
|
+
!(0, _shallowequal.default)(prevProps.summaryColumn, currentProps.summaryColumn) ||
|
|
509
517
|
// summaryColumn's data、type changed or not exist
|
|
510
|
-
!
|
|
518
|
+
!(0, _shallowequal.default)(prevProps.globalTheme, currentProps.globalTheme) ||
|
|
511
519
|
// global theme changed
|
|
512
|
-
!
|
|
520
|
+
!(0, _shallowequal.default)(prevProps.chartColorTheme, currentProps.chartColorTheme) ||
|
|
513
521
|
// chart color theme changed
|
|
514
|
-
!
|
|
522
|
+
!(0, _shallowequal.default)(prevProps.resizeSignal, currentProps.resizeSignal) ||
|
|
515
523
|
// chart container resize changed
|
|
516
524
|
_BaseUtils._isChartDataChange(prevProps, currentProps) || _BaseUtils.isChartStyleChanged(prevProps.chart, currentProps.chart);
|
|
517
525
|
};
|
|
@@ -528,7 +536,7 @@ BaseUtils._isChartDataChange = (prevProps, currentProps) => {
|
|
|
528
536
|
const {
|
|
529
537
|
result: oldData
|
|
530
538
|
} = currentProps;
|
|
531
|
-
if (chart.config.type === CHART_TYPE.COMBINATION) {
|
|
539
|
+
if (chart.config.type === _constants.CHART_TYPE.COMBINATION) {
|
|
532
540
|
return _BaseUtils._isCombinationDataChange(newData, oldData);
|
|
533
541
|
}
|
|
534
542
|
if (!newData && !oldData) return false;
|
|
@@ -547,14 +555,14 @@ BaseUtils._isChartDataChange = (prevProps, currentProps) => {
|
|
|
547
555
|
for (let j = 0; j < (newDataItemRows === null || newDataItemRows === void 0 ? void 0 : newDataItemRows.length) || 0; j++) {
|
|
548
556
|
let newDataItemRow = newDataItemRows[j];
|
|
549
557
|
let oldDataItemRow = oldDataItemRows[j];
|
|
550
|
-
if (!
|
|
558
|
+
if (!(0, _shallowequal.default)(newDataItemRow, oldDataItemRow)) return true;
|
|
551
559
|
}
|
|
552
560
|
}
|
|
553
561
|
return false;
|
|
554
562
|
};
|
|
555
563
|
BaseUtils.getColumn = (tables, tableId, columnKey) => {
|
|
556
|
-
const table = getTableById(tables, tableId);
|
|
557
|
-
return getTableColumnByKey(table, columnKey);
|
|
564
|
+
const table = (0, _dtableUtils.getTableById)(tables, tableId);
|
|
565
|
+
return (0, _dtableUtils.getTableColumnByKey)(table, columnKey);
|
|
558
566
|
};
|
|
559
567
|
BaseUtils.formatEmptyName = (dataList, column_groupby_column_key, emptyName) => {
|
|
560
568
|
if (!Array.isArray(dataList)) return [];
|
|
@@ -569,7 +577,7 @@ BaseUtils.formatEmptyName = (dataList, column_groupby_column_key, emptyName) =>
|
|
|
569
577
|
item.group_name = emptyName;
|
|
570
578
|
}
|
|
571
579
|
if (!item.slugId) {
|
|
572
|
-
item.slugId =
|
|
580
|
+
item.slugId = _slugid.default.nice();
|
|
573
581
|
}
|
|
574
582
|
if (!item.value) {
|
|
575
583
|
item.value = 0;
|
|
@@ -595,10 +603,10 @@ BaseUtils.getPieColorSet = (tables, chart, result) => {
|
|
|
595
603
|
const {
|
|
596
604
|
type: columnType
|
|
597
605
|
} = column || {};
|
|
598
|
-
const pieChartColorsLength = PIE_CHART_COLORS.length - 1;
|
|
606
|
+
const pieChartColorsLength = _constants.PIE_CHART_COLORS.length - 1;
|
|
599
607
|
const backgroundColor = [];
|
|
600
608
|
result.forEach((item, index) => {
|
|
601
|
-
if (columnType === CellType.SINGLE_SELECT || columnType === CellType.MULTIPLE_SELECT) {
|
|
609
|
+
if (columnType === _dtableUtils.CellType.SINGLE_SELECT || columnType === _dtableUtils.CellType.MULTIPLE_SELECT) {
|
|
602
610
|
let {
|
|
603
611
|
color
|
|
604
612
|
} = item;
|
|
@@ -607,7 +615,7 @@ BaseUtils.getPieColorSet = (tables, chart, result) => {
|
|
|
607
615
|
if (index > pieChartColorsLength) {
|
|
608
616
|
index = index % pieChartColorsLength;
|
|
609
617
|
}
|
|
610
|
-
backgroundColor.push(PIE_CHART_COLORS[index]);
|
|
618
|
+
backgroundColor.push(_constants.PIE_CHART_COLORS[index]);
|
|
611
619
|
}
|
|
612
620
|
});
|
|
613
621
|
return backgroundColor;
|
|
@@ -646,8 +654,8 @@ BaseUtils.formatPieChartData = (data, chart, tables, currentTheme, useColumnColo
|
|
|
646
654
|
groupby_column_key,
|
|
647
655
|
minimum_slice_percent
|
|
648
656
|
} = chart.config;
|
|
649
|
-
const table = getTableById(tables, table_id);
|
|
650
|
-
const column = getColumnByKey(groupby_column_key, table ? table.columns : []);
|
|
657
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
658
|
+
const column = (0, _columnUtils.getColumnByKey)(groupby_column_key, table ? table.columns : []);
|
|
651
659
|
let sum = data.reduce((total, currentValue) => {
|
|
652
660
|
return total += currentValue.value;
|
|
653
661
|
}, 0);
|
|
@@ -700,9 +708,9 @@ BaseUtils.updateTableViewListItemNameAndColor = async (result, column, nameKey,
|
|
|
700
708
|
data: columnData
|
|
701
709
|
} = column;
|
|
702
710
|
let name = result[nameKey];
|
|
703
|
-
if (columnType === CellType.SINGLE_SELECT || columnType === CellType.MULTIPLE_SELECT) {
|
|
704
|
-
const options = getColumnOptions(column);
|
|
705
|
-
let selectedOption = getOption(options, name);
|
|
711
|
+
if (columnType === _dtableUtils.CellType.SINGLE_SELECT || columnType === _dtableUtils.CellType.MULTIPLE_SELECT) {
|
|
712
|
+
const options = (0, _dtableUtils.getColumnOptions)(column);
|
|
713
|
+
let selectedOption = (0, _dtableUtils.getOption)(options, name);
|
|
706
714
|
let {
|
|
707
715
|
name: optionName,
|
|
708
716
|
color: optionColor,
|
|
@@ -715,66 +723,66 @@ BaseUtils.updateTableViewListItemNameAndColor = async (result, column, nameKey,
|
|
|
715
723
|
} else {
|
|
716
724
|
result[colorKey] = '#dbdbdb';
|
|
717
725
|
}
|
|
718
|
-
} else if (columnType === CellType.COLLABORATOR) {
|
|
719
|
-
const users =
|
|
726
|
+
} else if (columnType === _dtableUtils.CellType.COLLABORATOR) {
|
|
727
|
+
const users = _context.default.getCollaboratorsFromCache();
|
|
720
728
|
const user = users.find(user => user.email === name);
|
|
721
729
|
if (user) {
|
|
722
730
|
result[nameKey] = (user === null || user === void 0 ? void 0 : user.name) || name;
|
|
723
731
|
isNameField && (result.original_name = name);
|
|
724
732
|
resolve();
|
|
725
733
|
} else {
|
|
726
|
-
|
|
734
|
+
_context.default.queryUsers([name], users => {
|
|
727
735
|
const userEmail = name;
|
|
728
|
-
const user = users[userEmail] || generateDefaultUser(userEmail);
|
|
736
|
+
const user = users[userEmail] || (0, _collaboratorUtils.generateDefaultUser)(userEmail);
|
|
729
737
|
const userName = user.name || userEmail;
|
|
730
738
|
result[nameKey] = userName;
|
|
731
739
|
isNameField && (result.original_name = userEmail);
|
|
732
740
|
user.loaded = true;
|
|
733
|
-
|
|
741
|
+
_context.default.updateCollaboratorsCache(userEmail, user);
|
|
734
742
|
resolve();
|
|
735
743
|
});
|
|
736
744
|
}
|
|
737
745
|
return;
|
|
738
|
-
} else if (columnType === CellType.CREATOR || columnType === CellType.LAST_MODIFIER) {
|
|
739
|
-
const users =
|
|
746
|
+
} else if (columnType === _dtableUtils.CellType.CREATOR || columnType === _dtableUtils.CellType.LAST_MODIFIER) {
|
|
747
|
+
const users = _context.default.getCollaboratorsFromCache();
|
|
740
748
|
const user = users.find(user => user.email === name);
|
|
741
749
|
if (user) {
|
|
742
750
|
result[nameKey] = (user === null || user === void 0 ? void 0 : user.name) || name;
|
|
743
751
|
isNameField && (result.original_name = name);
|
|
744
752
|
resolve();
|
|
745
753
|
} else {
|
|
746
|
-
|
|
754
|
+
_context.default.queryUsers([name], users => {
|
|
747
755
|
const userEmail = name;
|
|
748
|
-
const user = users[userEmail] || generateDefaultUser(userEmail);
|
|
756
|
+
const user = users[userEmail] || (0, _collaboratorUtils.generateDefaultUser)(userEmail);
|
|
749
757
|
const userName = user.name || userEmail;
|
|
750
758
|
result[nameKey] = userName;
|
|
751
759
|
isNameField && (result.original_name = userEmail);
|
|
752
760
|
user.loaded = true;
|
|
753
|
-
|
|
761
|
+
_context.default.updateCollaboratorsCache(userEmail, user);
|
|
754
762
|
resolve();
|
|
755
763
|
});
|
|
756
764
|
}
|
|
757
765
|
return;
|
|
758
|
-
} else if (columnType === CellType.NUMBER) {
|
|
766
|
+
} else if (columnType === _dtableUtils.CellType.NUMBER) {
|
|
759
767
|
let valueNumber = parseFloat(name);
|
|
760
|
-
result[nameKey] = isNumber(valueNumber) ? getNumberDisplayString(valueNumber, columnData) : name;
|
|
768
|
+
result[nameKey] = (0, _dtableUtils.isNumber)(valueNumber) ? (0, _dtableUtils.getNumberDisplayString)(valueNumber, columnData) : name;
|
|
761
769
|
isNameField && (result.original_name = name);
|
|
762
|
-
} else if (columnType === CellType.DATE) {
|
|
770
|
+
} else if (columnType === _dtableUtils.CellType.DATE) {
|
|
763
771
|
name = name + '';
|
|
764
772
|
if (name && name.split('-').length === 3) {
|
|
765
|
-
let format = getDateColumnFormat(column);
|
|
773
|
+
let format = (0, _columnUtils.getDateColumnFormat)(column);
|
|
766
774
|
let spaceIndex = format.indexOf(' ');
|
|
767
775
|
if (spaceIndex > -1) {
|
|
768
776
|
format = format.slice(0, spaceIndex);
|
|
769
777
|
}
|
|
770
|
-
result[nameKey] =
|
|
778
|
+
result[nameKey] = (0, _dayjs.default)(name).format(format);
|
|
771
779
|
}
|
|
772
|
-
} else if (columnType === CellType.LINK_FORMULA) {
|
|
780
|
+
} else if (columnType === _dtableUtils.CellType.LINK_FORMULA) {
|
|
773
781
|
// scatter only use number
|
|
774
782
|
if (isScatterChart) {
|
|
775
783
|
name.length && (name = name[0]);
|
|
776
784
|
let valueNumber = parseFloat(name);
|
|
777
|
-
result[nameKey] = isNumber(valueNumber) ? getNumberDisplayString(valueNumber, columnData) : name;
|
|
785
|
+
result[nameKey] = (0, _dtableUtils.isNumber)(valueNumber) ? (0, _dtableUtils.getNumberDisplayString)(valueNumber, columnData) : name;
|
|
778
786
|
}
|
|
779
787
|
const {
|
|
780
788
|
array_data,
|
|
@@ -787,18 +795,18 @@ BaseUtils.updateTableViewListItemNameAndColor = async (result, column, nameKey,
|
|
|
787
795
|
};
|
|
788
796
|
// for linked formula, need to call recursively, using it's result as the result of the promise
|
|
789
797
|
resultPromise = _BaseUtils.updateTableViewListItemNameAndColor(result, linkedColumn, nameKey, colorKey, isScatterChart);
|
|
790
|
-
} else if (columnType === CellType.FORMULA) {
|
|
798
|
+
} else if (columnType === _dtableUtils.CellType.FORMULA) {
|
|
791
799
|
const {
|
|
792
800
|
result_type: resultType,
|
|
793
801
|
array_type: arrayType,
|
|
794
802
|
array_data: arrayData
|
|
795
803
|
} = columnData || {};
|
|
796
|
-
if (resultType === FORMULA_RESULT_TYPE.NUMBER) {
|
|
804
|
+
if (resultType === _dtableUtils.FORMULA_RESULT_TYPE.NUMBER) {
|
|
797
805
|
const valueNumber = parseFloat(name);
|
|
798
|
-
result[nameKey] = isNumber(valueNumber) ? getNumberDisplayString(valueNumber, columnData) : name;
|
|
806
|
+
result[nameKey] = (0, _dtableUtils.isNumber)(valueNumber) ? (0, _dtableUtils.getNumberDisplayString)(valueNumber, columnData) : name;
|
|
799
807
|
isNameField && (result.original_name = name);
|
|
800
|
-
} else if (resultType === FORMULA_RESULT_TYPE.DATE || resultType === CellType.CTIME || resultType === CellType.MTIME) {
|
|
801
|
-
result[nameKey] = getFormulaDisplayString(name, columnData);
|
|
808
|
+
} else if (resultType === _dtableUtils.FORMULA_RESULT_TYPE.DATE || resultType === _dtableUtils.CellType.CTIME || resultType === _dtableUtils.CellType.MTIME) {
|
|
809
|
+
result[nameKey] = (0, _dtableUtils.getFormulaDisplayString)(name, columnData);
|
|
802
810
|
isNameField && (result.original_name = name);
|
|
803
811
|
} else if (arrayType && arrayData) {
|
|
804
812
|
const formulaArrayColumn = {
|
|
@@ -809,19 +817,19 @@ BaseUtils.updateTableViewListItemNameAndColor = async (result, column, nameKey,
|
|
|
809
817
|
resultPromise = _BaseUtils.updateTableViewListItemNameAndColor(result, formulaArrayColumn, nameKey, colorKey, isScatterChart, isNameField);
|
|
810
818
|
} else if (Array.isArray(name)) {
|
|
811
819
|
result[nameKey] = name.map(item => {
|
|
812
|
-
if (isValidCollaboratorEmail(item)) {
|
|
813
|
-
const collaborator = getKnownCollaboratorByEmail(item);
|
|
820
|
+
if ((0, _collaborator.isValidCollaboratorEmail)(item)) {
|
|
821
|
+
const collaborator = (0, _collaboratorUtils.getKnownCollaboratorByEmail)(item);
|
|
814
822
|
return collaborator ? collaborator.name : item;
|
|
815
823
|
}
|
|
816
824
|
return item;
|
|
817
825
|
}).join(', ');
|
|
818
826
|
isNameField && (result.original_name = name.join(', '));
|
|
819
|
-
} else if (typeof name === 'string' && isValidCollaboratorEmail(name)) {
|
|
820
|
-
const collaborator = getKnownCollaboratorByEmail(name);
|
|
827
|
+
} else if (typeof name === 'string' && (0, _collaborator.isValidCollaboratorEmail)(name)) {
|
|
828
|
+
const collaborator = (0, _collaboratorUtils.getKnownCollaboratorByEmail)(name);
|
|
821
829
|
result[nameKey] = collaborator ? collaborator.name : name;
|
|
822
830
|
isNameField && (result.original_name = name);
|
|
823
831
|
} else {
|
|
824
|
-
result[nameKey] = getFormulaDisplayString(name, columnData);
|
|
832
|
+
result[nameKey] = (0, _dtableUtils.getFormulaDisplayString)(name, columnData);
|
|
825
833
|
isNameField && (result.original_name = name);
|
|
826
834
|
}
|
|
827
835
|
}
|
|
@@ -848,8 +856,8 @@ BaseUtils.sortCharts = (results, column, sortKey, isPivot) => {
|
|
|
848
856
|
} = column;
|
|
849
857
|
const sortType = 'up';
|
|
850
858
|
const optionIdIndexMap = {};
|
|
851
|
-
const isPivotMultipleSelect = columnType === CellType.MULTIPLE_SELECT && isPivot;
|
|
852
|
-
if ([CellType.SINGLE_SELECT].includes(columnType) || isPivotMultipleSelect) {
|
|
859
|
+
const isPivotMultipleSelect = columnType === _dtableUtils.CellType.MULTIPLE_SELECT && isPivot;
|
|
860
|
+
if ([_dtableUtils.CellType.SINGLE_SELECT].includes(columnType) || isPivotMultipleSelect) {
|
|
853
861
|
const {
|
|
854
862
|
options
|
|
855
863
|
} = data || {};
|
|
@@ -857,7 +865,7 @@ BaseUtils.sortCharts = (results, column, sortKey, isPivot) => {
|
|
|
857
865
|
optionIdIndexMap[option.id] = index;
|
|
858
866
|
});
|
|
859
867
|
}
|
|
860
|
-
const isPivotLinkFormulaSingleAndMultipleSelect = columnType === CellType.LINK_FORMULA && [CellType.SINGLE_SELECT, CellType.MULTIPLE_SELECT].includes(column.data.array_type) && isPivot;
|
|
868
|
+
const isPivotLinkFormulaSingleAndMultipleSelect = columnType === _dtableUtils.CellType.LINK_FORMULA && [_dtableUtils.CellType.SINGLE_SELECT, _dtableUtils.CellType.MULTIPLE_SELECT].includes(column.data.array_type) && isPivot;
|
|
861
869
|
if (isPivotLinkFormulaSingleAndMultipleSelect) {
|
|
862
870
|
var _column$data;
|
|
863
871
|
let {
|
|
@@ -881,14 +889,14 @@ BaseUtils.sortCharts = (results, column, sortKey, isPivot) => {
|
|
|
881
889
|
if (!next && next !== 0) {
|
|
882
890
|
return 1;
|
|
883
891
|
}
|
|
884
|
-
if (CHART_SUPPORT_SORT_COLUMNS.includes(columnType)) {
|
|
892
|
+
if (_constants.CHART_SUPPORT_SORT_COLUMNS.includes(columnType)) {
|
|
885
893
|
let realColumnType = columnType;
|
|
886
|
-
if ([CellType.LINK_FORMULA, CellType.LINK].includes(columnType)) {
|
|
894
|
+
if ([_dtableUtils.CellType.LINK_FORMULA, _dtableUtils.CellType.LINK].includes(columnType)) {
|
|
887
895
|
realColumnType = column.data.array_type;
|
|
888
896
|
}
|
|
889
897
|
switch (realColumnType) {
|
|
890
|
-
case CellType.NUMBER:
|
|
891
|
-
case CellType.RATE:
|
|
898
|
+
case _dtableUtils.CellType.NUMBER:
|
|
899
|
+
case _dtableUtils.CellType.RATE:
|
|
892
900
|
{
|
|
893
901
|
if (current) {
|
|
894
902
|
current = current - 0;
|
|
@@ -896,15 +904,15 @@ BaseUtils.sortCharts = (results, column, sortKey, isPivot) => {
|
|
|
896
904
|
if (next) {
|
|
897
905
|
next = next - 0;
|
|
898
906
|
}
|
|
899
|
-
return sortNumber(current, next, sortType);
|
|
907
|
+
return (0, _dtableUtils.sortNumber)(current, next, sortType);
|
|
900
908
|
}
|
|
901
|
-
case CellType.DATE:
|
|
902
|
-
case CellType.CTIME:
|
|
903
|
-
case CellType.MTIME:
|
|
909
|
+
case _dtableUtils.CellType.DATE:
|
|
910
|
+
case _dtableUtils.CellType.CTIME:
|
|
911
|
+
case _dtableUtils.CellType.MTIME:
|
|
904
912
|
{
|
|
905
|
-
return sortDate(current, next, sortType);
|
|
913
|
+
return (0, _dtableUtils.sortDate)(current, next, sortType);
|
|
906
914
|
}
|
|
907
|
-
case CellType.SINGLE_SELECT:
|
|
915
|
+
case _dtableUtils.CellType.SINGLE_SELECT:
|
|
908
916
|
{
|
|
909
917
|
// key was used to sort "pivot columns" in pivot chart
|
|
910
918
|
const {
|
|
@@ -917,29 +925,29 @@ BaseUtils.sortCharts = (results, column, sortKey, isPivot) => {
|
|
|
917
925
|
} = nextResult || {};
|
|
918
926
|
const current = currentName || currentKey;
|
|
919
927
|
const next = nextName || nextKey;
|
|
920
|
-
return sortSingleSelect(current, next, {
|
|
928
|
+
return (0, _dtableUtils.sortSingleSelect)(current, next, {
|
|
921
929
|
sort_type: sortType,
|
|
922
930
|
option_id_index_map: optionIdIndexMap
|
|
923
931
|
});
|
|
924
932
|
}
|
|
925
|
-
case CellType.MULTIPLE_SELECT:
|
|
933
|
+
case _dtableUtils.CellType.MULTIPLE_SELECT:
|
|
926
934
|
{
|
|
927
|
-
return sortSingleSelect(current, next, {
|
|
935
|
+
return (0, _dtableUtils.sortSingleSelect)(current, next, {
|
|
928
936
|
sort_type: sortType,
|
|
929
937
|
option_id_index_map: optionIdIndexMap
|
|
930
938
|
});
|
|
931
939
|
}
|
|
932
|
-
case CellType.FORMULA:
|
|
933
|
-
case CellType.LINK_FORMULA:
|
|
940
|
+
case _dtableUtils.CellType.FORMULA:
|
|
941
|
+
case _dtableUtils.CellType.LINK_FORMULA:
|
|
934
942
|
{
|
|
935
|
-
return sortFormula(current, next, sortType, {
|
|
943
|
+
return (0, _dtableUtils.sortFormula)(current, next, sortType, {
|
|
936
944
|
columnData: data,
|
|
937
945
|
value: {}
|
|
938
946
|
});
|
|
939
947
|
}
|
|
940
948
|
default:
|
|
941
949
|
{
|
|
942
|
-
return sortText(current, next, sortType);
|
|
950
|
+
return (0, _dtableUtils.sortText)(current, next, sortType);
|
|
943
951
|
}
|
|
944
952
|
}
|
|
945
953
|
}
|
|
@@ -979,7 +987,7 @@ BaseUtils.sortDataByKey = (data, key, sortType) => {
|
|
|
979
987
|
if (!nextVal && nextVal !== 0) {
|
|
980
988
|
return 1;
|
|
981
989
|
}
|
|
982
|
-
if (sortType === CHART_DATA_SORT_TYPE.ASCENDING) {
|
|
990
|
+
if (sortType === _constants.CHART_DATA_SORT_TYPE.ASCENDING) {
|
|
983
991
|
return currentVal > nextVal ? 1 : -1;
|
|
984
992
|
} else {
|
|
985
993
|
return currentVal > nextVal ? -1 : 1;
|
|
@@ -1005,7 +1013,7 @@ BaseUtils.formatGroupsLabel = (results, chart, tables) => {
|
|
|
1005
1013
|
type,
|
|
1006
1014
|
config
|
|
1007
1015
|
} = chart;
|
|
1008
|
-
if (X_AXIS_IS_GROUPBY_COLUMN_KEY_CHART_TYPES.includes(type)) {
|
|
1016
|
+
if (_constants.X_AXIS_IS_GROUPBY_COLUMN_KEY_CHART_TYPES.includes(type)) {
|
|
1009
1017
|
groupby_column_key = config.groupby_column_key;
|
|
1010
1018
|
} else {
|
|
1011
1019
|
groupby_column_key = config.x_axis_column_key;
|
|
@@ -1014,9 +1022,9 @@ BaseUtils.formatGroupsLabel = (results, chart, tables) => {
|
|
|
1014
1022
|
const {
|
|
1015
1023
|
table_id
|
|
1016
1024
|
} = config;
|
|
1017
|
-
const table = getTableById(tables, table_id);
|
|
1018
|
-
const groupbyColumn = getTableColumnByKey(table, groupby_column_key);
|
|
1019
|
-
const columnGroupbyColumn = getTableColumnByKey(table, column_groupby_column_key);
|
|
1025
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
1026
|
+
const groupbyColumn = (0, _dtableUtils.getTableColumnByKey)(table, groupby_column_key);
|
|
1027
|
+
const columnGroupbyColumn = (0, _dtableUtils.getTableColumnByKey)(table, column_groupby_column_key);
|
|
1020
1028
|
results.forEach(item => {
|
|
1021
1029
|
const {
|
|
1022
1030
|
name,
|
|
@@ -1035,84 +1043,84 @@ BaseUtils.convertResultName = (result, column, name, nameKey, colorKey) => {
|
|
|
1035
1043
|
type: columnType,
|
|
1036
1044
|
data: columnData
|
|
1037
1045
|
} = column;
|
|
1038
|
-
if (columnType === CellType.SINGLE_SELECT || columnType === CellType.MULTIPLE_SELECT) {
|
|
1039
|
-
const options = getColumnOptions(column);
|
|
1040
|
-
const selectedOption = getOption(options, name);
|
|
1046
|
+
if (columnType === _dtableUtils.CellType.SINGLE_SELECT || columnType === _dtableUtils.CellType.MULTIPLE_SELECT) {
|
|
1047
|
+
const options = (0, _dtableUtils.getColumnOptions)(column);
|
|
1048
|
+
const selectedOption = (0, _dtableUtils.getOption)(options, name);
|
|
1041
1049
|
if (selectedOption) {
|
|
1042
1050
|
result[nameKey] = selectedOption.name;
|
|
1043
1051
|
result[colorKey] = selectedOption.color;
|
|
1044
1052
|
} else {
|
|
1045
1053
|
result[colorKey] = '#dbdbdb';
|
|
1046
1054
|
}
|
|
1047
|
-
} else if (columnType === CellType.COLLABORATOR) {
|
|
1048
|
-
let collaborator = getKnownCollaboratorByEmail(name);
|
|
1055
|
+
} else if (columnType === _dtableUtils.CellType.COLLABORATOR) {
|
|
1056
|
+
let collaborator = (0, _collaboratorUtils.getKnownCollaboratorByEmail)(name);
|
|
1049
1057
|
if (collaborator) {
|
|
1050
1058
|
result[nameKey] = collaborator.name;
|
|
1051
1059
|
}
|
|
1052
|
-
} else if (columnType === CellType.CREATOR || columnType === CellType.LAST_MODIFIER) {
|
|
1060
|
+
} else if (columnType === _dtableUtils.CellType.CREATOR || columnType === _dtableUtils.CellType.LAST_MODIFIER) {
|
|
1053
1061
|
if (name === 'anonymous') {
|
|
1054
1062
|
result[nameKey] = name;
|
|
1055
1063
|
} else {
|
|
1056
|
-
const collaborator = getKnownCollaboratorByEmail(name);
|
|
1064
|
+
const collaborator = (0, _collaboratorUtils.getKnownCollaboratorByEmail)(name);
|
|
1057
1065
|
const collaboratorTemplate = {
|
|
1058
1066
|
loaded: false,
|
|
1059
1067
|
email: name,
|
|
1060
1068
|
name: name
|
|
1061
1069
|
};
|
|
1062
|
-
|
|
1070
|
+
_context.default.updateCollaboratorsCache(name, collaboratorTemplate);
|
|
1063
1071
|
if (!collaborator) {
|
|
1064
|
-
|
|
1065
|
-
const collaborator = emailUserMap && emailUserMap[name] || generateDefaultUser(name);
|
|
1072
|
+
_context.default.queryUsers([name], emailUserMap => {
|
|
1073
|
+
const collaborator = emailUserMap && emailUserMap[name] || (0, _collaboratorUtils.generateDefaultUser)(name);
|
|
1066
1074
|
const loadedCollaborator = {
|
|
1067
1075
|
...collaborator,
|
|
1068
1076
|
loaded: true
|
|
1069
1077
|
};
|
|
1070
|
-
|
|
1078
|
+
_context.default.updateCollaboratorsCache(name, loadedCollaborator);
|
|
1071
1079
|
result[nameKey] = name;
|
|
1072
1080
|
});
|
|
1073
1081
|
} else {
|
|
1074
1082
|
result[nameKey] = collaborator.name;
|
|
1075
1083
|
}
|
|
1076
1084
|
}
|
|
1077
|
-
} else if (columnType === CellType.NUMBER) {
|
|
1085
|
+
} else if (columnType === _dtableUtils.CellType.NUMBER) {
|
|
1078
1086
|
const valueNumber = parseFloat(name);
|
|
1079
|
-
result[nameKey] = isNumber(valueNumber) ? getNumberDisplayString(valueNumber, columnData) : name;
|
|
1080
|
-
} else if (columnType === CellType.DATE) {
|
|
1087
|
+
result[nameKey] = (0, _dtableUtils.isNumber)(valueNumber) ? (0, _dtableUtils.getNumberDisplayString)(valueNumber, columnData) : name;
|
|
1088
|
+
} else if (columnType === _dtableUtils.CellType.DATE) {
|
|
1081
1089
|
if (name && name.split('-').length === 3) {
|
|
1082
|
-
let format = getDateColumnFormat(column);
|
|
1090
|
+
let format = (0, _columnUtils.getDateColumnFormat)(column);
|
|
1083
1091
|
const spaceIndex = format.indexOf(' ');
|
|
1084
1092
|
if (spaceIndex > -1) {
|
|
1085
1093
|
format = format.slice(0, spaceIndex);
|
|
1086
1094
|
}
|
|
1087
|
-
result[nameKey] =
|
|
1095
|
+
result[nameKey] = (0, _dayjs.default)(name).format(format);
|
|
1088
1096
|
}
|
|
1089
|
-
} else if (FORMULA_COLUMN_TYPES_MAP[columnType]) {
|
|
1097
|
+
} else if (_dtableUtils.FORMULA_COLUMN_TYPES_MAP[columnType]) {
|
|
1090
1098
|
const {
|
|
1091
1099
|
result_type,
|
|
1092
1100
|
array_type
|
|
1093
1101
|
} = columnData || {};
|
|
1094
|
-
if (result_type === FORMULA_RESULT_TYPE.NUMBER) {
|
|
1102
|
+
if (result_type === _dtableUtils.FORMULA_RESULT_TYPE.NUMBER) {
|
|
1095
1103
|
const valueNumber = parseFloat(name);
|
|
1096
|
-
result[nameKey] = isNumber(valueNumber) ? getNumberDisplayString(valueNumber, columnData) : name;
|
|
1097
|
-
} else if (result_type === FORMULA_RESULT_TYPE.ARRAY) {
|
|
1098
|
-
if (COLLABORATOR_COLUMN_TYPES.includes(array_type) && Array.isArray(name)) {
|
|
1104
|
+
result[nameKey] = (0, _dtableUtils.isNumber)(valueNumber) ? (0, _dtableUtils.getNumberDisplayString)(valueNumber, columnData) : name;
|
|
1105
|
+
} else if (result_type === _dtableUtils.FORMULA_RESULT_TYPE.ARRAY) {
|
|
1106
|
+
if (_dtableUtils.COLLABORATOR_COLUMN_TYPES.includes(array_type) && Array.isArray(name)) {
|
|
1099
1107
|
result[nameKey] = name.map(email => {
|
|
1100
|
-
let user = array_type === CellType.COLLABORATOR ? getKnownCollaboratorByEmail(email) : getKnownCollaboratorByEmail(email);
|
|
1108
|
+
let user = array_type === _dtableUtils.CellType.COLLABORATOR ? (0, _collaboratorUtils.getKnownCollaboratorByEmail)(email) : (0, _collaboratorUtils.getKnownCollaboratorByEmail)(email);
|
|
1101
1109
|
return (user || {}).name;
|
|
1102
1110
|
});
|
|
1103
1111
|
}
|
|
1104
1112
|
}
|
|
1105
|
-
} else if (columnType === CellType.LINK) {
|
|
1106
|
-
result[nameKey] = getClientFormulaDisplayString([name], columnData) || null;
|
|
1113
|
+
} else if (columnType === _dtableUtils.CellType.LINK) {
|
|
1114
|
+
result[nameKey] = (0, _cellFormatUtils.getClientFormulaDisplayString)([name], columnData) || null;
|
|
1107
1115
|
}
|
|
1108
1116
|
};
|
|
1109
1117
|
// theme
|
|
1110
1118
|
BaseUtils.getCurrentTheme = themeName => {
|
|
1111
1119
|
if (themeName) {
|
|
1112
|
-
const currentColorTheme = STYLE_COLORS.find(item => item.name === themeName);
|
|
1120
|
+
const currentColorTheme = _constants.STYLE_COLORS.find(item => item.name === themeName);
|
|
1113
1121
|
return currentColorTheme;
|
|
1114
1122
|
}
|
|
1115
|
-
return STYLE_COLORS[0];
|
|
1123
|
+
return _constants.STYLE_COLORS[0];
|
|
1116
1124
|
};
|
|
1117
1125
|
BaseUtils.getSummaryExplanation = chart => {
|
|
1118
1126
|
const {
|
|
@@ -1122,43 +1130,43 @@ BaseUtils.getSummaryExplanation = chart => {
|
|
|
1122
1130
|
type
|
|
1123
1131
|
} = config;
|
|
1124
1132
|
switch (type) {
|
|
1125
|
-
case CHART_TYPE.PIE:
|
|
1126
|
-
case CHART_TYPE.LINE:
|
|
1127
|
-
case CHART_TYPE.LINE_GROUP:
|
|
1128
|
-
case CHART_TYPE.RING:
|
|
1133
|
+
case _constants.CHART_TYPE.PIE:
|
|
1134
|
+
case _constants.CHART_TYPE.LINE:
|
|
1135
|
+
case _constants.CHART_TYPE.LINE_GROUP:
|
|
1136
|
+
case _constants.CHART_TYPE.RING:
|
|
1129
1137
|
{
|
|
1130
1138
|
return {
|
|
1131
|
-
count:
|
|
1132
|
-
advanced:
|
|
1139
|
+
count: _intl.default.get('Count_the_number_of_records_in_each_group'),
|
|
1140
|
+
advanced: _intl.default.get('Compute_the_sum_maximum_or_minimum_value_of_records_in_each_group_by_a_field')
|
|
1133
1141
|
};
|
|
1134
1142
|
}
|
|
1135
|
-
case CHART_TYPE.BAR:
|
|
1136
|
-
case CHART_TYPE.BAR_GROUP:
|
|
1143
|
+
case _constants.CHART_TYPE.BAR:
|
|
1144
|
+
case _constants.CHART_TYPE.BAR_GROUP:
|
|
1137
1145
|
{
|
|
1138
1146
|
return {
|
|
1139
|
-
count:
|
|
1140
|
-
advanced:
|
|
1147
|
+
count: _intl.default.get('Group_the_records_according_to_the_vertical_axis_and_count_the_records_in_each_group'),
|
|
1148
|
+
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')
|
|
1141
1149
|
};
|
|
1142
1150
|
}
|
|
1143
1151
|
default:
|
|
1144
1152
|
{
|
|
1145
1153
|
return {
|
|
1146
|
-
count:
|
|
1147
|
-
advanced:
|
|
1154
|
+
count: _intl.default.get('Count_the_records'),
|
|
1155
|
+
advanced: _intl.default.get('Compute_sum_max_min')
|
|
1148
1156
|
};
|
|
1149
1157
|
}
|
|
1150
1158
|
}
|
|
1151
1159
|
};
|
|
1152
1160
|
BaseUtils.getLabelFontSize = labelFontSize => {
|
|
1153
|
-
return isNumber(labelFontSize) ? labelFontSize : DEFAULT_LABEL_FONT_SIZE;
|
|
1161
|
+
return (0, _dtableUtils.isNumber)(labelFontSize) ? labelFontSize : _constants.DEFAULT_LABEL_FONT_SIZE;
|
|
1154
1162
|
};
|
|
1155
1163
|
BaseUtils.imEmptyChartResult = chartResult => {
|
|
1156
1164
|
return !chartResult || !chartResult.result && chartResult.result !== 0 || Array.isArray(chartResult.result) && chartResult.result.length === 0;
|
|
1157
1165
|
};
|
|
1158
1166
|
BaseUtils.getPrecisionNumber = (value, data) => {
|
|
1159
|
-
const valueString = getPrecisionNumber(value, data);
|
|
1167
|
+
const valueString = (0, _dtableUtils.getPrecisionNumber)(value, data);
|
|
1160
1168
|
const valueNumber = parseFloat(valueString);
|
|
1161
|
-
return isNumber(valueNumber) ? valueNumber : 0;
|
|
1169
|
+
return (0, _dtableUtils.isNumber)(valueNumber) ? valueNumber : 0;
|
|
1162
1170
|
};
|
|
1163
1171
|
BaseUtils.isValidCellValue = function (cellValue) {
|
|
1164
1172
|
let includeEmpty = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
@@ -1170,7 +1178,7 @@ BaseUtils.convertConfig = config => {
|
|
|
1170
1178
|
const {
|
|
1171
1179
|
type
|
|
1172
1180
|
} = config;
|
|
1173
|
-
if (type === CHART_TYPE.HORIZONTAL_BAR || type === CHART_TYPE.HORIZONTAL_GROUP_BAR || type === CHART_TYPE.STACKED_HORIZONTAL_BAR) {
|
|
1181
|
+
if (type === _constants.CHART_TYPE.HORIZONTAL_BAR || type === _constants.CHART_TYPE.HORIZONTAL_GROUP_BAR || type === _constants.CHART_TYPE.STACKED_HORIZONTAL_BAR) {
|
|
1174
1182
|
const {
|
|
1175
1183
|
vertical_axis_column_key,
|
|
1176
1184
|
vertical_axis_date_granularity,
|
|
@@ -1209,24 +1217,24 @@ BaseUtils.convertConfig = config => {
|
|
|
1209
1217
|
};
|
|
1210
1218
|
BaseUtils.getSummaryType = config => {
|
|
1211
1219
|
switch (config.type) {
|
|
1212
|
-
case CHART_TYPE.HORIZONTAL_BAR:
|
|
1213
|
-
case CHART_TYPE.HORIZONTAL_GROUP_BAR:
|
|
1214
|
-
case CHART_TYPE.STACKED_HORIZONTAL_BAR:
|
|
1220
|
+
case _constants.CHART_TYPE.HORIZONTAL_BAR:
|
|
1221
|
+
case _constants.CHART_TYPE.HORIZONTAL_GROUP_BAR:
|
|
1222
|
+
case _constants.CHART_TYPE.STACKED_HORIZONTAL_BAR:
|
|
1215
1223
|
{
|
|
1216
1224
|
return config.horizontal_axis_summary_type;
|
|
1217
1225
|
}
|
|
1218
|
-
case CHART_TYPE.BAR:
|
|
1219
|
-
case CHART_TYPE.BAR_GROUP:
|
|
1220
|
-
case CHART_TYPE.BAR_STACK:
|
|
1221
|
-
case CHART_TYPE.LINE:
|
|
1222
|
-
case CHART_TYPE.LINE_GROUP:
|
|
1223
|
-
case CHART_TYPE.AREA:
|
|
1224
|
-
case CHART_TYPE.AREA_GROUP:
|
|
1225
|
-
case CHART_TYPE.SCATTER:
|
|
1226
|
+
case _constants.CHART_TYPE.BAR:
|
|
1227
|
+
case _constants.CHART_TYPE.BAR_GROUP:
|
|
1228
|
+
case _constants.CHART_TYPE.BAR_STACK:
|
|
1229
|
+
case _constants.CHART_TYPE.LINE:
|
|
1230
|
+
case _constants.CHART_TYPE.LINE_GROUP:
|
|
1231
|
+
case _constants.CHART_TYPE.AREA:
|
|
1232
|
+
case _constants.CHART_TYPE.AREA_GROUP:
|
|
1233
|
+
case _constants.CHART_TYPE.SCATTER:
|
|
1226
1234
|
{
|
|
1227
1235
|
return config.y_axis_summary_type;
|
|
1228
1236
|
}
|
|
1229
|
-
case CHART_TYPE.TABLE:
|
|
1237
|
+
case _constants.CHART_TYPE.TABLE:
|
|
1230
1238
|
default:
|
|
1231
1239
|
{
|
|
1232
1240
|
return config.summary_type;
|
|
@@ -1240,20 +1248,20 @@ BaseUtils.getGroupLabel = (cellValue, formulaRow, column, dateGranularity, geoGr
|
|
|
1240
1248
|
data
|
|
1241
1249
|
} = column || {};
|
|
1242
1250
|
switch (type) {
|
|
1243
|
-
case CellType.TEXT:
|
|
1251
|
+
case _dtableUtils.CellType.TEXT:
|
|
1244
1252
|
{
|
|
1245
1253
|
return cellValue || null;
|
|
1246
1254
|
}
|
|
1247
|
-
case CellType.NUMBER:
|
|
1255
|
+
case _dtableUtils.CellType.NUMBER:
|
|
1248
1256
|
{
|
|
1249
1257
|
if (!cellValue && cellValue !== 0) {
|
|
1250
1258
|
return null;
|
|
1251
1259
|
}
|
|
1252
|
-
const number = getPrecisionNumber(cellValue, data);
|
|
1260
|
+
const number = (0, _dtableUtils.getPrecisionNumber)(cellValue, data);
|
|
1253
1261
|
let valueNumber = parseFloat(number);
|
|
1254
|
-
return isNumber(valueNumber) ? getNumberDisplayString(valueNumber, column.data) : valueNumber;
|
|
1262
|
+
return (0, _dtableUtils.isNumber)(valueNumber) ? (0, _dtableUtils.getNumberDisplayString)(valueNumber, column.data) : valueNumber;
|
|
1255
1263
|
}
|
|
1256
|
-
case CellType.SINGLE_SELECT:
|
|
1264
|
+
case _dtableUtils.CellType.SINGLE_SELECT:
|
|
1257
1265
|
{
|
|
1258
1266
|
let isInvalidValue = data && data.options.findIndex(opt => opt.id === cellValue) < 0;
|
|
1259
1267
|
if (isInvalidValue) {
|
|
@@ -1261,20 +1269,20 @@ BaseUtils.getGroupLabel = (cellValue, formulaRow, column, dateGranularity, geoGr
|
|
|
1261
1269
|
}
|
|
1262
1270
|
return cellValue;
|
|
1263
1271
|
}
|
|
1264
|
-
case CellType.DATE:
|
|
1265
|
-
case CellType.CTIME:
|
|
1266
|
-
case CellType.MTIME:
|
|
1272
|
+
case _dtableUtils.CellType.DATE:
|
|
1273
|
+
case _dtableUtils.CellType.CTIME:
|
|
1274
|
+
case _dtableUtils.CellType.MTIME:
|
|
1267
1275
|
{
|
|
1268
1276
|
if (!dateGranularity) {
|
|
1269
|
-
return getDateDisplayString(cellValue);
|
|
1277
|
+
return (0, _dtableUtils.getDateDisplayString)(cellValue);
|
|
1270
1278
|
}
|
|
1271
|
-
const firstDayOfWeek = getFirstDayOfWeekForGroupby('base');
|
|
1279
|
+
const firstDayOfWeek = (0, _index.getFirstDayOfWeekForGroupby)('base');
|
|
1272
1280
|
if (dateGranularity.toUpperCase() === 'QUARTER') {
|
|
1273
|
-
return DateUtils.getDateByGranularity(cellValue, 'QUARTAR', firstDayOfWeek);
|
|
1281
|
+
return _dtableUtils.DateUtils.getDateByGranularity(cellValue, 'QUARTAR', firstDayOfWeek);
|
|
1274
1282
|
}
|
|
1275
|
-
return DateUtils.getDateByGranularity(cellValue, dateGranularity, firstDayOfWeek);
|
|
1283
|
+
return _dtableUtils.DateUtils.getDateByGranularity(cellValue, dateGranularity, firstDayOfWeek);
|
|
1276
1284
|
}
|
|
1277
|
-
case CellType.MULTIPLE_SELECT:
|
|
1285
|
+
case _dtableUtils.CellType.MULTIPLE_SELECT:
|
|
1278
1286
|
{
|
|
1279
1287
|
let options = data && data.options;
|
|
1280
1288
|
if (!Array.isArray(cellValue)) {
|
|
@@ -1283,18 +1291,18 @@ BaseUtils.getGroupLabel = (cellValue, formulaRow, column, dateGranularity, geoGr
|
|
|
1283
1291
|
const newCellValue = cellValue.filter(id => options.findIndex(o => o.id === id) > -1);
|
|
1284
1292
|
return newCellValue.sort();
|
|
1285
1293
|
}
|
|
1286
|
-
case CellType.COLLABORATOR:
|
|
1294
|
+
case _dtableUtils.CellType.COLLABORATOR:
|
|
1287
1295
|
{
|
|
1288
1296
|
if (!Array.isArray(cellValue)) return [];
|
|
1289
|
-
return cellValue.filter(email => isValidCollaboratorEmail(email));
|
|
1297
|
+
return cellValue.filter(email => (0, _collaborator.isValidCollaboratorEmail)(email));
|
|
1290
1298
|
}
|
|
1291
|
-
case CellType.CREATOR:
|
|
1292
|
-
case CellType.LAST_MODIFIER:
|
|
1299
|
+
case _dtableUtils.CellType.CREATOR:
|
|
1300
|
+
case _dtableUtils.CellType.LAST_MODIFIER:
|
|
1293
1301
|
{
|
|
1294
1302
|
return cellValue ? cellValue : null;
|
|
1295
1303
|
}
|
|
1296
|
-
case CellType.LINK_FORMULA:
|
|
1297
|
-
case CellType.FORMULA:
|
|
1304
|
+
case _dtableUtils.CellType.LINK_FORMULA:
|
|
1305
|
+
case _dtableUtils.CellType.FORMULA:
|
|
1298
1306
|
{
|
|
1299
1307
|
if (!formulaRow) return '';
|
|
1300
1308
|
let formulaCellValue = formulaRow[key];
|
|
@@ -1302,34 +1310,34 @@ BaseUtils.getGroupLabel = (cellValue, formulaRow, column, dateGranularity, geoGr
|
|
|
1302
1310
|
result_type,
|
|
1303
1311
|
array_type
|
|
1304
1312
|
} = data || {};
|
|
1305
|
-
if (result_type === FORMULA_RESULT_TYPE.ARRAY) {
|
|
1313
|
+
if (result_type === _dtableUtils.FORMULA_RESULT_TYPE.ARRAY) {
|
|
1306
1314
|
if (array_type === 'date' && (formulaCellValue === null || formulaCellValue === void 0 ? void 0 : formulaCellValue.length) === 1) {
|
|
1307
1315
|
const dateCellValue = formulaCellValue[0];
|
|
1308
|
-
if (!dateGranularity) return getDateDisplayString(dateCellValue);
|
|
1309
|
-
const firstDayOfWeek = getFirstDayOfWeekForGroupby('base');
|
|
1310
|
-
if (dateGranularity.toUpperCase() === 'QUARTER') return DateUtils.getDateByGranularity(dateCellValue, 'QUARTAR', firstDayOfWeek);
|
|
1311
|
-
return DateUtils.getDateByGranularity(dateCellValue, dateGranularity, firstDayOfWeek);
|
|
1316
|
+
if (!dateGranularity) return (0, _dtableUtils.getDateDisplayString)(dateCellValue);
|
|
1317
|
+
const firstDayOfWeek = (0, _index.getFirstDayOfWeekForGroupby)('base');
|
|
1318
|
+
if (dateGranularity.toUpperCase() === 'QUARTER') return _dtableUtils.DateUtils.getDateByGranularity(dateCellValue, 'QUARTAR', firstDayOfWeek);
|
|
1319
|
+
return _dtableUtils.DateUtils.getDateByGranularity(dateCellValue, dateGranularity, firstDayOfWeek);
|
|
1312
1320
|
}
|
|
1313
|
-
return getFormulaDisplayString(formulaCellValue, data, {
|
|
1321
|
+
return (0, _dtableUtils.getFormulaDisplayString)(formulaCellValue, data, {
|
|
1314
1322
|
tables: value.tables
|
|
1315
1323
|
}) || null;
|
|
1316
1324
|
}
|
|
1317
|
-
if (result_type === FORMULA_RESULT_TYPE.NUMBER) {
|
|
1318
|
-
return getPrecisionNumber(formulaCellValue, data);
|
|
1325
|
+
if (result_type === _dtableUtils.FORMULA_RESULT_TYPE.NUMBER) {
|
|
1326
|
+
return (0, _dtableUtils.getPrecisionNumber)(formulaCellValue, data);
|
|
1319
1327
|
}
|
|
1320
1328
|
return formulaCellValue ? formulaCellValue + '' : null;
|
|
1321
1329
|
}
|
|
1322
|
-
case CellType.GEOLOCATION:
|
|
1330
|
+
case _dtableUtils.CellType.GEOLOCATION:
|
|
1323
1331
|
{
|
|
1324
1332
|
const {
|
|
1325
1333
|
geo_format
|
|
1326
1334
|
} = data || {};
|
|
1327
1335
|
if (geo_format === 'country_region' || geo_format === 'lng_lat' || !geoGranularity) {
|
|
1328
|
-
return getGeolocationDisplayString(cellValue, data);
|
|
1336
|
+
return (0, _dtableUtils.getGeolocationDisplayString)(cellValue, data);
|
|
1329
1337
|
}
|
|
1330
1338
|
return cellValue ? cellValue[geoGranularity] : null;
|
|
1331
1339
|
}
|
|
1332
|
-
case CellType.LINK:
|
|
1340
|
+
case _dtableUtils.CellType.LINK:
|
|
1333
1341
|
{
|
|
1334
1342
|
const linkCellValue = formulaRow && formulaRow[key];
|
|
1335
1343
|
if (!Array.isArray(linkCellValue)) {
|
|
@@ -1337,11 +1345,11 @@ BaseUtils.getGroupLabel = (cellValue, formulaRow, column, dateGranularity, geoGr
|
|
|
1337
1345
|
}
|
|
1338
1346
|
return linkCellValue.map(linkVal => linkVal.display_value);
|
|
1339
1347
|
}
|
|
1340
|
-
case CellType.CHECKBOX:
|
|
1348
|
+
case _dtableUtils.CellType.CHECKBOX:
|
|
1341
1349
|
{
|
|
1342
1350
|
return String(!!cellValue);
|
|
1343
1351
|
}
|
|
1344
|
-
case CellType.RATE:
|
|
1352
|
+
case _dtableUtils.CellType.RATE:
|
|
1345
1353
|
{
|
|
1346
1354
|
if (!cellValue) return null;
|
|
1347
1355
|
return cellValue + '';
|
|
@@ -1357,9 +1365,9 @@ BaseUtils.getTotal = function (summary_column_key, summary_column_type, summary_
|
|
|
1357
1365
|
let formula_rows = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};
|
|
1358
1366
|
let rowsLength = rows.length;
|
|
1359
1367
|
let total;
|
|
1360
|
-
if (summary_type === CHART_SUMMARY_TYPE.COUNT) {
|
|
1368
|
+
if (summary_type === _constants.CHART_SUMMARY_TYPE.COUNT) {
|
|
1361
1369
|
total = rowsLength;
|
|
1362
|
-
} else if (summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
|
|
1370
|
+
} else if (summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
|
|
1363
1371
|
switch (summary_method) {
|
|
1364
1372
|
case 'Distinct_values':
|
|
1365
1373
|
{
|
|
@@ -1367,7 +1375,7 @@ BaseUtils.getTotal = function (summary_column_key, summary_column_type, summary_
|
|
|
1367
1375
|
let existMap = {};
|
|
1368
1376
|
rows.forEach(r => {
|
|
1369
1377
|
let num;
|
|
1370
|
-
if (FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
|
|
1378
|
+
if (_dtableUtils.FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
|
|
1371
1379
|
const formulaRow = formula_rows[r._id] || {};
|
|
1372
1380
|
num = formulaRow[summary_column_key];
|
|
1373
1381
|
num = Array.isArray(num) ? num[0] : num;
|
|
@@ -1396,14 +1404,14 @@ BaseUtils.getTotal = function (summary_column_key, summary_column_type, summary_
|
|
|
1396
1404
|
let validNumbersCount = 0;
|
|
1397
1405
|
rows.forEach(r => {
|
|
1398
1406
|
let num;
|
|
1399
|
-
if (FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
|
|
1407
|
+
if (_dtableUtils.FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
|
|
1400
1408
|
let formulaRow = formula_rows[r._id] || {};
|
|
1401
1409
|
num = formulaRow[summary_column_key];
|
|
1402
1410
|
num = Array.isArray(num) ? num[0] : num;
|
|
1403
1411
|
} else {
|
|
1404
1412
|
num = r[summary_column_key];
|
|
1405
1413
|
}
|
|
1406
|
-
if (isNumber(num)) {
|
|
1414
|
+
if ((0, _dtableUtils.isNumber)(num)) {
|
|
1407
1415
|
validNumbersCount++;
|
|
1408
1416
|
sum += num;
|
|
1409
1417
|
}
|
|
@@ -1421,7 +1429,7 @@ BaseUtils.getTotal = function (summary_column_key, summary_column_type, summary_
|
|
|
1421
1429
|
if (rowsLength > 0) {
|
|
1422
1430
|
let result = rows.reduce((current, next) => {
|
|
1423
1431
|
let currentValue, nextValue;
|
|
1424
|
-
if (FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
|
|
1432
|
+
if (_dtableUtils.FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
|
|
1425
1433
|
let currentFormulaRow = formula_rows[current._id];
|
|
1426
1434
|
let nextFormulaRow = formula_rows[next._id];
|
|
1427
1435
|
currentValue = currentFormulaRow && currentFormulaRow[summary_column_key];
|
|
@@ -1442,7 +1450,7 @@ BaseUtils.getTotal = function (summary_column_key, summary_column_type, summary_
|
|
|
1442
1450
|
return isNextGreater ? next : current;
|
|
1443
1451
|
}
|
|
1444
1452
|
});
|
|
1445
|
-
if (FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
|
|
1453
|
+
if (_dtableUtils.FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
|
|
1446
1454
|
let formulaRow = formula_rows[result._id];
|
|
1447
1455
|
total = formulaRow && formulaRow[summary_column_key];
|
|
1448
1456
|
total = Array.isArray(total) ? total[0] : total;
|
|
@@ -1464,42 +1472,42 @@ BaseUtils.getFormattedValue = (value, column, summaryMethod) => {
|
|
|
1464
1472
|
if (!column) {
|
|
1465
1473
|
return value;
|
|
1466
1474
|
}
|
|
1467
|
-
if (summaryMethod === CHART_SUMMARY_TYPE.DISTINCT_VALUES) {
|
|
1475
|
+
if (summaryMethod === _constants.CHART_SUMMARY_TYPE.DISTINCT_VALUES) {
|
|
1468
1476
|
return value;
|
|
1469
1477
|
}
|
|
1470
1478
|
const {
|
|
1471
1479
|
type,
|
|
1472
1480
|
data
|
|
1473
1481
|
} = column;
|
|
1474
|
-
if (isNumericColumn(column)) {
|
|
1475
|
-
return getNumberDisplayString(value, data);
|
|
1482
|
+
if ((0, _dtableUtils.isNumericColumn)(column)) {
|
|
1483
|
+
return (0, _dtableUtils.getNumberDisplayString)(value, data);
|
|
1476
1484
|
}
|
|
1477
|
-
if (FORMULA_COLUMN_TYPES_MAP[type]) {
|
|
1478
|
-
return getClientFormulaDisplayString(value, data);
|
|
1485
|
+
if (_dtableUtils.FORMULA_COLUMN_TYPES_MAP[type]) {
|
|
1486
|
+
return (0, _cellFormatUtils.getClientFormulaDisplayString)(value, data);
|
|
1479
1487
|
}
|
|
1480
1488
|
return value;
|
|
1481
1489
|
};
|
|
1482
1490
|
BaseUtils.getSummaryResult = function (results, summaryMethod) {
|
|
1483
1491
|
let precision = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 8;
|
|
1484
|
-
const numericResults = Array.isArray(results) && results.length > 0 ? results.filter(res => isNumber(res)) : [];
|
|
1492
|
+
const numericResults = Array.isArray(results) && results.length > 0 ? results.filter(res => (0, _dtableUtils.isNumber)(res)) : [];
|
|
1485
1493
|
switch (summaryMethod) {
|
|
1486
|
-
case CHART_SUMMARY_TYPE.MAX:
|
|
1494
|
+
case _constants.CHART_SUMMARY_TYPE.MAX:
|
|
1487
1495
|
{
|
|
1488
1496
|
return _BaseUtils.getMax(numericResults);
|
|
1489
1497
|
}
|
|
1490
|
-
case CHART_SUMMARY_TYPE.MIN:
|
|
1498
|
+
case _constants.CHART_SUMMARY_TYPE.MIN:
|
|
1491
1499
|
{
|
|
1492
1500
|
return _BaseUtils.getMin(numericResults);
|
|
1493
1501
|
}
|
|
1494
|
-
case CHART_SUMMARY_TYPE.SUM:
|
|
1502
|
+
case _constants.CHART_SUMMARY_TYPE.SUM:
|
|
1495
1503
|
{
|
|
1496
1504
|
return _BaseUtils.getSum(numericResults, precision);
|
|
1497
1505
|
}
|
|
1498
|
-
case CHART_SUMMARY_TYPE.MEAN:
|
|
1506
|
+
case _constants.CHART_SUMMARY_TYPE.MEAN:
|
|
1499
1507
|
{
|
|
1500
1508
|
return _BaseUtils.getMean(numericResults, precision);
|
|
1501
1509
|
}
|
|
1502
|
-
case CHART_SUMMARY_TYPE.Distinct_values:
|
|
1510
|
+
case _constants.CHART_SUMMARY_TYPE.Distinct_values:
|
|
1503
1511
|
{
|
|
1504
1512
|
let count = 0;
|
|
1505
1513
|
let existMap = {};
|
|
@@ -1548,15 +1556,15 @@ BaseUtils.getMean = function (list) {
|
|
|
1548
1556
|
return Number.parseFloat((sum / list.length).toFixed(precision));
|
|
1549
1557
|
};
|
|
1550
1558
|
BaseUtils.summaryDurationResult = (result, duration, summaryType, summaryMethod, useDataDb, dbDateKey, valueKey) => {
|
|
1551
|
-
const currentTime =
|
|
1559
|
+
const currentTime = (0, _dayjs.default)();
|
|
1552
1560
|
const days = duration === 'days_30' ? 30 : 7;
|
|
1553
1561
|
// set date to start of the day
|
|
1554
1562
|
const formattedEndDate = currentTime.format('YYYY-MM-DD');
|
|
1555
1563
|
const formattedMiddleDate = currentTime.subtract(days, 'days').format('YYYY-MM-DD');
|
|
1556
|
-
const formattedStartDate =
|
|
1557
|
-
const endDate =
|
|
1558
|
-
const middleDate =
|
|
1559
|
-
const startDate =
|
|
1564
|
+
const formattedStartDate = (0, _dayjs.default)(formattedMiddleDate).subtract(days, 'days').format('YYYY-MM-DD');
|
|
1565
|
+
const endDate = (0, _dayjs.default)(formattedEndDate);
|
|
1566
|
+
const middleDate = (0, _dayjs.default)(formattedMiddleDate);
|
|
1567
|
+
const startDate = (0, _dayjs.default)(formattedStartDate);
|
|
1560
1568
|
let compareValue = [];
|
|
1561
1569
|
let comparedValue = [];
|
|
1562
1570
|
if (useDataDb) {
|
|
@@ -1564,7 +1572,7 @@ BaseUtils.summaryDurationResult = (result, duration, summaryType, summaryMethod,
|
|
|
1564
1572
|
const days2 = [];
|
|
1565
1573
|
for (let index = 0; index < result.length; index++) {
|
|
1566
1574
|
const item = result[index];
|
|
1567
|
-
const key =
|
|
1575
|
+
const key = (0, _dayjs.default)(item[dbDateKey]);
|
|
1568
1576
|
if (!key.isValid()) continue;
|
|
1569
1577
|
if (key >= startDate && key < middleDate) {
|
|
1570
1578
|
comparedValue.push(item[valueKey]);
|
|
@@ -1593,7 +1601,7 @@ BaseUtils.summaryDurationResult = (result, duration, summaryType, summaryMethod,
|
|
|
1593
1601
|
// }
|
|
1594
1602
|
// }
|
|
1595
1603
|
// }
|
|
1596
|
-
if (summaryType === CHART_SUMMARY_TYPE.ADVANCED) {
|
|
1604
|
+
if (summaryType === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
|
|
1597
1605
|
comparedValue = _BaseUtils.getSummaryResult(comparedValue, summaryMethod);
|
|
1598
1606
|
compareValue = _BaseUtils.getSummaryResult(compareValue, summaryMethod);
|
|
1599
1607
|
} else {
|
|
@@ -1619,13 +1627,13 @@ BaseUtils.formatedTableSqlRowsByCollaboratorAndMultiple = (chart, sqlRows, chart
|
|
|
1619
1627
|
sqlColumnGroupbyColumnKey
|
|
1620
1628
|
} = chartSQLMap;
|
|
1621
1629
|
let newSqlRows = JSON.parse(JSON.stringify(sqlRows));
|
|
1622
|
-
if (config.summary_type === CHART_SUMMARY_TYPE.COUNT) {
|
|
1630
|
+
if (config.summary_type === _constants.CHART_SUMMARY_TYPE.COUNT) {
|
|
1623
1631
|
// has column group
|
|
1624
1632
|
if (sqlColumnGroupbyColumnKey) {
|
|
1625
|
-
if ((columnGroupbyColumn === null || columnGroupbyColumn === void 0 ? void 0 : columnGroupbyColumn.type) === CellType.COLLABORATOR) {
|
|
1633
|
+
if ((columnGroupbyColumn === null || columnGroupbyColumn === void 0 ? void 0 : columnGroupbyColumn.type) === _dtableUtils.CellType.COLLABORATOR) {
|
|
1626
1634
|
return newSqlRows;
|
|
1627
1635
|
}
|
|
1628
|
-
if ((columnGroupbyColumn === null || columnGroupbyColumn === void 0 ? void 0 : columnGroupbyColumn.type) === CellType.MULTIPLE_SELECT) {
|
|
1636
|
+
if ((columnGroupbyColumn === null || columnGroupbyColumn === void 0 ? void 0 : columnGroupbyColumn.type) === _dtableUtils.CellType.MULTIPLE_SELECT) {
|
|
1629
1637
|
return newSqlRows;
|
|
1630
1638
|
}
|
|
1631
1639
|
}
|
|
@@ -1651,7 +1659,7 @@ BaseUtils.formatedTableSqlRowsByCollaboratorAndMultiple = (chart, sqlRows, chart
|
|
|
1651
1659
|
newSqlRows = Object.values(collaboratorsRowsMap);
|
|
1652
1660
|
}
|
|
1653
1661
|
}
|
|
1654
|
-
if (config.summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
|
|
1662
|
+
if (config.summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
|
|
1655
1663
|
let summarySQLColumnName2ColumnKeys;
|
|
1656
1664
|
if (summarySQLColumnName2ColumnKey) {
|
|
1657
1665
|
summarySQLColumnName2ColumnKeys = Object.keys(summarySQLColumnName2ColumnKey);
|
|
@@ -1664,10 +1672,10 @@ BaseUtils.formatedTableSqlRowsByCollaboratorAndMultiple = (chart, sqlRows, chart
|
|
|
1664
1672
|
|
|
1665
1673
|
// has column group
|
|
1666
1674
|
if (sqlColumnGroupbyColumnKey) {
|
|
1667
|
-
if ((columnGroupbyColumn === null || columnGroupbyColumn === void 0 ? void 0 : columnGroupbyColumn.type) === CellType.COLLABORATOR) {
|
|
1675
|
+
if ((columnGroupbyColumn === null || columnGroupbyColumn === void 0 ? void 0 : columnGroupbyColumn.type) === _dtableUtils.CellType.COLLABORATOR) {
|
|
1668
1676
|
return newSqlRows;
|
|
1669
1677
|
}
|
|
1670
|
-
if ((columnGroupbyColumn === null || columnGroupbyColumn === void 0 ? void 0 : columnGroupbyColumn.type) === CellType.MULTIPLE_SELECT) {
|
|
1678
|
+
if ((columnGroupbyColumn === null || columnGroupbyColumn === void 0 ? void 0 : columnGroupbyColumn.type) === _dtableUtils.CellType.MULTIPLE_SELECT) {
|
|
1671
1679
|
return newSqlRows;
|
|
1672
1680
|
}
|
|
1673
1681
|
|
|
@@ -1675,10 +1683,10 @@ BaseUtils.formatedTableSqlRowsByCollaboratorAndMultiple = (chart, sqlRows, chart
|
|
|
1675
1683
|
newSqlRows.forEach(item => {
|
|
1676
1684
|
summarySQLColumnName2ColumnKeys.forEach(key => {
|
|
1677
1685
|
if (key.startsWith('AVG')) {
|
|
1678
|
-
item[
|
|
1686
|
+
item["COUNT(".concat(key.slice(3), ")")] = item['COUNT(*)'];
|
|
1679
1687
|
// Update avg
|
|
1680
1688
|
const newKey = 'SUM' + key.slice(3);
|
|
1681
|
-
item[key] = item[newKey] / item[
|
|
1689
|
+
item[key] = item[newKey] / item["COUNT(".concat(key.slice(3), ")")];
|
|
1682
1690
|
}
|
|
1683
1691
|
});
|
|
1684
1692
|
});
|
|
@@ -1690,7 +1698,7 @@ BaseUtils.formatedTableSqlRowsByCollaboratorAndMultiple = (chart, sqlRows, chart
|
|
|
1690
1698
|
newSqlRows.forEach(item => {
|
|
1691
1699
|
summarySQLColumnName2ColumnKeys.forEach(key => {
|
|
1692
1700
|
if (key.startsWith('AVG')) {
|
|
1693
|
-
item[
|
|
1701
|
+
item["COUNT(".concat(key.slice(3), ")")] = item['COUNT(*)'];
|
|
1694
1702
|
}
|
|
1695
1703
|
});
|
|
1696
1704
|
});
|
|
@@ -1711,7 +1719,7 @@ BaseUtils.formatedTableSqlRowsByCollaboratorAndMultiple = (chart, sqlRows, chart
|
|
|
1711
1719
|
// Avg: The avg is calculated by sum / count
|
|
1712
1720
|
if (key.startsWith('AVG')) {
|
|
1713
1721
|
newKey = 'SUM' + key.slice(3);
|
|
1714
|
-
newSqlRows[rowIndex][
|
|
1722
|
+
newSqlRows[rowIndex]["COUNT(".concat(key.slice(3), ")")] = newSqlRows[rowIndex]["COUNT(".concat(key.slice(3), ")")] + item['COUNT(*)'];
|
|
1715
1723
|
}
|
|
1716
1724
|
// Sum
|
|
1717
1725
|
if (newKey.startsWith('SUM') && newSqlRows[rowIndex][newKey]) {
|
|
@@ -1745,7 +1753,7 @@ BaseUtils.formatedTableSqlRowsByCollaboratorAndMultiple = (chart, sqlRows, chart
|
|
|
1745
1753
|
// Avg: The avg is calculated by sum / count
|
|
1746
1754
|
if (key.startsWith('AVG')) {
|
|
1747
1755
|
newKey = 'SUM' + key.slice(3);
|
|
1748
|
-
obj[
|
|
1756
|
+
obj["COUNT(".concat(key.slice(3), ")")] = item['COUNT(*)'];
|
|
1749
1757
|
}
|
|
1750
1758
|
// Sum
|
|
1751
1759
|
if (newKey.startsWith('SUM')) {
|
|
@@ -1765,7 +1773,7 @@ BaseUtils.formatedTableSqlRowsByCollaboratorAndMultiple = (chart, sqlRows, chart
|
|
|
1765
1773
|
// Update avg
|
|
1766
1774
|
if (key.startsWith('AVG')) {
|
|
1767
1775
|
const newKey = 'SUM' + key.slice(3);
|
|
1768
|
-
item[key] = item[newKey] / item[
|
|
1776
|
+
item[key] = item[newKey] / item["COUNT(".concat(key.slice(3), ")")];
|
|
1769
1777
|
}
|
|
1770
1778
|
});
|
|
1771
1779
|
});
|
|
@@ -1809,16 +1817,16 @@ BaseUtils.getDateGranularityByType = chart => {
|
|
|
1809
1817
|
const {
|
|
1810
1818
|
type
|
|
1811
1819
|
} = chart;
|
|
1812
|
-
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)) {
|
|
1820
|
+
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)) {
|
|
1813
1821
|
return chart['x_axis_date_granularity'];
|
|
1814
1822
|
}
|
|
1815
|
-
if ([CHART_TYPE.COMPLETENESS_GROUP, CHART_TYPE.SCATTER, CHART_TYPE.TREND].includes(type)) {
|
|
1823
|
+
if ([_constants.CHART_TYPE.COMPLETENESS_GROUP, _constants.CHART_TYPE.SCATTER, _constants.CHART_TYPE.TREND].includes(type)) {
|
|
1816
1824
|
return chart['date_granularity'];
|
|
1817
1825
|
}
|
|
1818
|
-
if ([CHART_TYPE.HORIZONTAL_BAR, CHART_TYPE.HORIZONTAL_GROUP_BAR, CHART_TYPE.STACKED_HORIZONTAL_BAR].includes(type)) {
|
|
1826
|
+
if ([_constants.CHART_TYPE.HORIZONTAL_BAR, _constants.CHART_TYPE.HORIZONTAL_GROUP_BAR, _constants.CHART_TYPE.STACKED_HORIZONTAL_BAR].includes(type)) {
|
|
1819
1827
|
return chart['vertical_axis_date_granularity'];
|
|
1820
1828
|
}
|
|
1821
|
-
if ([CHART_TYPE.PIE, CHART_TYPE.RING, CHART_TYPE.TABLE, CHART_TYPE.TREE_MAP].includes(type)) {
|
|
1829
|
+
if ([_constants.CHART_TYPE.PIE, _constants.CHART_TYPE.RING, _constants.CHART_TYPE.TABLE, _constants.CHART_TYPE.TREE_MAP].includes(type)) {
|
|
1822
1830
|
return chart['groupby_date_granularity'];
|
|
1823
1831
|
}
|
|
1824
1832
|
return null;
|
|
@@ -1847,7 +1855,7 @@ BaseUtils.updateCollaboratorAndMultipleAvg = (pivot_rows, all) => {
|
|
|
1847
1855
|
let allSum = 0;
|
|
1848
1856
|
let allCount = 0;
|
|
1849
1857
|
cell.rows.forEach(r => {
|
|
1850
|
-
allSum = allSum + r[
|
|
1858
|
+
allSum = allSum + r["SUM(".concat(avgColumnName, ")")];
|
|
1851
1859
|
allCount = allCount + r['COUNT(*)'];
|
|
1852
1860
|
});
|
|
1853
1861
|
|
|
@@ -1869,13 +1877,13 @@ BaseUtils.isCollaboratorColumnOrMultipleColumn = columnMap => {
|
|
|
1869
1877
|
columnGroupbyColumn,
|
|
1870
1878
|
groupbyColumn
|
|
1871
1879
|
} = columnMap || {};
|
|
1872
|
-
if (columnGroupbyColumn && groupbyColumn && (groupbyColumn === null || groupbyColumn === void 0 ? void 0 : groupbyColumn.type) === CellType.COLLABORATOR) {
|
|
1880
|
+
if (columnGroupbyColumn && groupbyColumn && (groupbyColumn === null || groupbyColumn === void 0 ? void 0 : groupbyColumn.type) === _dtableUtils.CellType.COLLABORATOR) {
|
|
1873
1881
|
return true;
|
|
1874
1882
|
}
|
|
1875
|
-
if (columnGroupbyColumn && groupbyColumn && (groupbyColumn === null || groupbyColumn === void 0 ? void 0 : groupbyColumn.type) === CellType.MULTIPLE_SELECT) {
|
|
1883
|
+
if (columnGroupbyColumn && groupbyColumn && (groupbyColumn === null || groupbyColumn === void 0 ? void 0 : groupbyColumn.type) === _dtableUtils.CellType.MULTIPLE_SELECT) {
|
|
1876
1884
|
return true;
|
|
1877
1885
|
}
|
|
1878
|
-
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)) {
|
|
1886
|
+
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)) {
|
|
1879
1887
|
return true;
|
|
1880
1888
|
}
|
|
1881
1889
|
return false;
|
|
@@ -1889,10 +1897,10 @@ BaseUtils.sortDataByGroupName = function (data, groupKey, groupColumn) {
|
|
|
1889
1897
|
} = chart.config;
|
|
1890
1898
|
if (!column_groupby_multiple_numeric_column) {
|
|
1891
1899
|
if (groupColumn) {
|
|
1892
|
-
if ([CellType.SINGLE_SELECT].includes(groupColumn.type)) {
|
|
1900
|
+
if ([_dtableUtils.CellType.SINGLE_SELECT].includes(groupColumn.type)) {
|
|
1893
1901
|
data.forEach(item => {
|
|
1894
1902
|
const option = groupColumn.data.options.find(option => option.name === item[groupKey]);
|
|
1895
|
-
if (option
|
|
1903
|
+
if (option !== null && option !== void 0 && option.id) {
|
|
1896
1904
|
item['group_name_id'] = option.id;
|
|
1897
1905
|
item['oldName'] = item.name;
|
|
1898
1906
|
item.name = item['group_name_id'];
|
|
@@ -1912,4 +1920,4 @@ BaseUtils.sortDataByGroupName = function (data, groupKey, groupColumn) {
|
|
|
1912
1920
|
}
|
|
1913
1921
|
return data;
|
|
1914
1922
|
};
|
|
1915
|
-
|
|
1923
|
+
var _default = exports.default = BaseUtils;
|