sea-chart 2.0.47 → 2.0.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/index.js +11 -4
- package/dist/components/cell-factory/FormatterConfig.js +62 -55
- package/dist/components/cell-factory/SimpleCellFormatter.js +11 -4
- package/dist/components/cell-factory/SingleSelectOption.js +18 -11
- package/dist/components/cell-factory/cell-editor-factory.js +12 -5
- package/dist/components/cell-factory/cell-formatter-factory.js +11 -4
- package/dist/components/cell-factory/link-content.js +35 -27
- package/dist/components/chart-color-selector/color-selector.js +18 -11
- package/dist/components/collaborator/index.js +14 -7
- package/dist/components/color-picker/index.js +18 -11
- package/dist/components/color-popover/color-rules/color-rule.js +33 -25
- package/dist/components/color-popover/color-rules/index.js +14 -6
- package/dist/components/color-popover/color-rules/rule-filters/filter.js +34 -27
- package/dist/components/color-popover/color-rules/rule-filters/index.js +25 -17
- package/dist/components/color-popover/color-rules/rule-filters/number-input.js +18 -10
- package/dist/components/color-popover/color-rules-popover.js +34 -26
- package/dist/components/color-popover/color-selector-popover.js +18 -10
- package/dist/components/color-setting/color-group-selector.js +20 -12
- package/dist/components/common-add-tool/index.js +13 -6
- package/dist/components/data-process-setter/data-setting-header.js +14 -7
- package/dist/components/data-process-setter/hide-column-setter.js +19 -12
- package/dist/components/data-process-setter/index.js +27 -4
- package/dist/components/data-process-setter/sort-setter.js +24 -16
- package/dist/components/draggable/Draggable.js +13 -7
- package/dist/components/drill-down-settings/drill-down-fields-popover/index.js +48 -40
- package/dist/components/drill-down-settings/drill-down-fields-settings/index.js +18 -10
- package/dist/components/drill-down-settings/index.js +18 -11
- package/dist/components/dtable-popover/index.js +20 -13
- package/dist/components/dtable-search-input/index.js +21 -13
- package/dist/components/font-settings/index.js +22 -14
- package/dist/components/goal-line-setting/goal-setting-item.js +14 -6
- package/dist/components/goal-line-setting/index.js +19 -12
- package/dist/components/highlighter/highlighter.js +14 -7
- package/dist/components/icon/index.js +11 -4
- package/dist/components/index.js +48 -7
- package/dist/components/loading/index.js +13 -6
- package/dist/components/number-input/index.js +11 -4
- package/dist/components/pixel-editor/index.js +23 -15
- package/dist/components/popover/hide-column-popover/hide-column-popover-widgets/hide-column-item.js +15 -8
- package/dist/components/popover/hide-column-popover/hide-column-popover.js +33 -25
- package/dist/components/popover/sort-popover/sort-popover-widgets/sort-utils.js +18 -9
- package/dist/components/popover/sort-popover/sort-popover.js +64 -54
- package/dist/components/resize-handle/ResizeHandle.js +13 -6
- package/dist/components/row-card/row-card-header-cell.js +22 -15
- package/dist/components/row-card/row-card-header.js +21 -14
- package/dist/components/row-card/row-card-item.js +41 -33
- package/dist/components/row-card/row-card.js +23 -15
- package/dist/components/statistic-record-dialog/index.js +64 -56
- package/dist/components/tooltip/index.js +22 -15
- package/dist/components/types-dialog/index.js +64 -56
- package/dist/components/types-dialog/use-force-update.js +10 -4
- package/dist/constants/color-rules.js +14 -8
- package/dist/constants/common-constants.js +14 -8
- package/dist/constants/error.js +8 -2
- package/dist/constants/geolocation.js +15 -9
- package/dist/constants/index.js +274 -145
- package/dist/constants/key-codes.js +2 -0
- package/dist/constants/model.js +9 -3
- package/dist/constants/regions.js +8 -3
- package/dist/constants/style.js +12 -6
- package/dist/constants/table.js +7 -1
- package/dist/constants/type-image.js +39 -33
- package/dist/constants/type.js +9 -3
- package/dist/context.js +18 -11
- package/dist/editor/index.js +15 -8
- package/dist/index.js +104 -13
- package/dist/intl.js +17 -10
- package/dist/locale/index.js +23 -16
- package/dist/locale/lang/de.js +7 -1
- package/dist/locale/lang/en.js +7 -1
- package/dist/locale/lang/es.js +7 -1
- package/dist/locale/lang/fr.js +7 -1
- package/dist/locale/lang/pt.js +7 -1
- package/dist/locale/lang/ru.js +7 -1
- package/dist/locale/lang/zh_CN.js +7 -1
- package/dist/model/area-group.js +19 -12
- package/dist/model/area.js +19 -12
- package/dist/model/bar-custom.js +18 -11
- package/dist/model/bar-group.js +19 -12
- package/dist/model/bar-stack.js +17 -10
- package/dist/model/bar.js +18 -11
- package/dist/model/base-model.js +11 -4
- package/dist/model/basic-number-card.js +20 -13
- package/dist/model/chart.js +13 -7
- package/dist/model/combination.js +22 -15
- package/dist/model/compare-bar.js +21 -14
- package/dist/model/completeness-group.js +18 -11
- package/dist/model/completeness.js +17 -10
- package/dist/model/dashboard.js +14 -7
- package/dist/model/funnel.js +21 -14
- package/dist/model/generic-model.js +143 -135
- package/dist/model/heat-map.js +16 -9
- package/dist/model/horizontal-bar.js +18 -11
- package/dist/model/horizontal-group-bar.js +17 -10
- package/dist/model/index.js +93 -69
- package/dist/model/line-group.js +20 -13
- package/dist/model/line.js +19 -12
- package/dist/model/map-bubble.js +19 -12
- package/dist/model/map.js +19 -12
- package/dist/model/mirror.js +20 -13
- package/dist/model/pie.js +19 -12
- package/dist/model/ring.js +19 -12
- package/dist/model/scatter.js +17 -10
- package/dist/model/stacked-horizontal-bar.js +18 -11
- package/dist/model/table-element.js +12 -5
- package/dist/model/table.js +14 -7
- package/dist/model/tree-map.js +14 -7
- package/dist/model/trend.js +18 -11
- package/dist/model/user.js +7 -1
- package/dist/model/world-map-bubble.js +19 -12
- package/dist/model/world-map.js +19 -12
- package/dist/services/map-json.js +13 -7
- package/dist/settings/advance-bar-settings/data-settings.js +44 -36
- package/dist/settings/advance-bar-settings/index.js +20 -3
- package/dist/settings/advance-bar-settings/style-settings.js +74 -66
- package/dist/settings/bar-settings/data-settings.js +47 -39
- package/dist/settings/bar-settings/index.js +20 -3
- package/dist/settings/bar-settings/style-settings.js +60 -52
- package/dist/settings/basic-number-card/data-settings.js +57 -49
- package/dist/settings/basic-number-card/index.js +20 -3
- package/dist/settings/basic-number-card/style-settings.js +26 -18
- package/dist/settings/combination-settings/data-settings.js +63 -55
- package/dist/settings/combination-settings/index.js +20 -3
- package/dist/settings/combination-settings/style-settings.js +77 -69
- package/dist/settings/completeness-settings/callbacks/callbacks.js +27 -16
- package/dist/settings/completeness-settings/data-settings/completion-settings.js +28 -21
- package/dist/settings/completeness-settings/data-settings/data-settings.js +32 -25
- package/dist/settings/completeness-settings/index.js +20 -3
- package/dist/settings/completeness-settings/style-settings.js +26 -19
- package/dist/settings/dashboard-settings/data-settings.js +51 -43
- package/dist/settings/dashboard-settings/index.js +13 -2
- package/dist/settings/data-settings.js +79 -72
- package/dist/settings/funnel-settings/components/dnd-item/dnd-item.js +19 -12
- package/dist/settings/funnel-settings/components/dnd-list.js +23 -15
- package/dist/settings/funnel-settings/components/funnel-label-setting.js +40 -32
- package/dist/settings/funnel-settings/components/funnel-layer-setting.js +28 -20
- package/dist/settings/funnel-settings/data-settings.js +31 -23
- package/dist/settings/funnel-settings/index.js +20 -3
- package/dist/settings/funnel-settings/style-settings.js +19 -11
- package/dist/settings/heat-map-settings/data-settings.js +26 -18
- package/dist/settings/heat-map-settings/index.js +20 -3
- package/dist/settings/heat-map-settings/style-settings.js +26 -18
- package/dist/settings/horizontal-bar-settings/data-settings.js +19 -12
- package/dist/settings/horizontal-bar-settings/index.js +20 -3
- package/dist/settings/horizontal-bar-settings/style-settings.js +19 -12
- package/dist/settings/index.js +70 -52
- package/dist/settings/map-settings/components/location-field-selector.js +17 -10
- package/dist/settings/map-settings/components/map-level-selector.js +18 -11
- package/dist/settings/map-settings/components/map-province-city-selector.js +26 -19
- package/dist/settings/map-settings/index.js +20 -3
- package/dist/settings/map-settings/map-data-settings.js +30 -23
- package/dist/settings/map-settings/map-style-settings.js +34 -26
- package/dist/settings/mirror-settings/data-settings.js +34 -26
- package/dist/settings/mirror-settings/index.js +13 -2
- package/dist/settings/pie-settings/data-settings.js +41 -33
- package/dist/settings/pie-settings/index.js +20 -3
- package/dist/settings/pie-settings/style-settings.js +55 -47
- package/dist/settings/scatter/data-settings.js +34 -27
- package/dist/settings/scatter/index.js +12 -3
- package/dist/settings/stacks-settings/index.js +27 -19
- package/dist/settings/stacks-settings/stack-item-settings.js +27 -19
- package/dist/settings/style-settings.js +72 -64
- package/dist/settings/table-element-settings/components/data-filter.js +38 -30
- package/dist/settings/table-element-settings/data-settings.js +29 -21
- package/dist/settings/table-element-settings/index.js +13 -2
- package/dist/settings/table-settings/data-settings.js +119 -111
- package/dist/settings/table-settings/index.js +13 -2
- package/dist/settings/time-comparison-settings/data-settings.js +51 -43
- package/dist/settings/time-comparison-settings/index.js +20 -3
- package/dist/settings/time-comparison-settings/style-settings.js +53 -45
- package/dist/settings/trend-settings/data-settings.js +32 -24
- package/dist/settings/trend-settings/index.js +20 -3
- package/dist/settings/trend-settings/style-setting.js +25 -17
- package/dist/settings/widgets/axis-title-font-settings/index.js +17 -10
- package/dist/settings/widgets/basic-summary/index.js +63 -55
- package/dist/settings/widgets/chart-type/index.js +26 -18
- package/dist/settings/widgets/color-settings/index.js +80 -72
- package/dist/settings/widgets/common-data-settings.js +29 -21
- package/dist/settings/widgets/data-filter/index.js +43 -35
- package/dist/settings/widgets/data-sort.js +24 -16
- package/dist/settings/widgets/date-summary-item.js +32 -24
- package/dist/settings/widgets/display-values-settings/index.js +22 -14
- package/dist/settings/widgets/divider/index.js +16 -8
- package/dist/settings/widgets/font-settings/font-color-settings.js +19 -11
- package/dist/settings/widgets/font-settings/font-size-settings.js +22 -14
- package/dist/settings/widgets/font-settings/font-weight-settings.js +25 -17
- package/dist/settings/widgets/font-settings/index.js +27 -4
- package/dist/settings/widgets/group-by.js +59 -51
- package/dist/settings/widgets/min-max-setting.js +18 -10
- package/dist/settings/widgets/mininum-slice-percent.js +18 -10
- package/dist/settings/widgets/numeric-summary-item.js +31 -23
- package/dist/settings/widgets/select-line-type/index.js +17 -10
- package/dist/settings/widgets/select-table/index.js +16 -9
- package/dist/settings/widgets/select-view/index.js +28 -20
- package/dist/settings/widgets/stack.js +22 -14
- package/dist/settings/widgets/summary-method-setting.js +25 -17
- package/dist/settings/widgets/summary-settings.js +80 -72
- package/dist/settings/widgets/switch/index.js +15 -8
- package/dist/settings/widgets/text-horizontal-settings.js +23 -15
- package/dist/settings/widgets/time-picker.js +37 -29
- package/dist/settings/widgets/title-settings/index.js +37 -29
- package/dist/settings/widgets/title-settings/title-text.js +12 -5
- package/dist/settings/widgets/x-axios.js +1 -0
- package/dist/settings/widgets/y-axis-group-settings.js +71 -63
- package/dist/utils/cell-format-utils.js +28 -18
- package/dist/utils/cell-value-utils.js +12 -5
- package/dist/utils/chart-utils/base-utils.js +345 -337
- package/dist/utils/chart-utils/index.js +41 -28
- package/dist/utils/chart-utils/original-data-utils/basic-chart-calculator.js +85 -78
- package/dist/utils/chart-utils/original-data-utils/card-calculator.js +20 -13
- package/dist/utils/chart-utils/original-data-utils/combination-calculator.js +52 -45
- package/dist/utils/chart-utils/original-data-utils/compare-bar-chart-calculator.js +26 -19
- package/dist/utils/chart-utils/original-data-utils/completeness-calculator.js +39 -32
- package/dist/utils/chart-utils/original-data-utils/dashboard-calculator.js +23 -16
- package/dist/utils/chart-utils/original-data-utils/index.js +57 -50
- package/dist/utils/chart-utils/original-data-utils/mirror-calculator.js +28 -21
- package/dist/utils/chart-utils/original-data-utils/pivot-table-calculator.js +97 -91
- package/dist/utils/chart-utils/original-data-utils/scatter-calculator.js +26 -19
- package/dist/utils/chart-utils/original-data-utils/trend-calculator.js +38 -31
- package/dist/utils/chart-utils/sql-statistics-utils.js +240 -232
- package/dist/utils/chart.js +17 -9
- package/dist/utils/collaborator-manager.js +9 -3
- package/dist/utils/collaborator-utils.js +30 -18
- package/dist/utils/collaborator.js +13 -4
- package/dist/utils/color-utils.js +29 -18
- package/dist/utils/column-utils.js +92 -65
- package/dist/utils/common-utils.js +52 -27
- package/dist/utils/concurrency-manager.js +7 -1
- package/dist/utils/contexts.js +12 -5
- package/dist/utils/date-translate.js +19 -11
- package/dist/utils/digital-sign-utils.js +14 -7
- package/dist/utils/event-bus.js +7 -1
- package/dist/utils/hotkey.js +11 -5
- package/dist/utils/index.js +221 -54
- package/dist/utils/key-generator.js +9 -2
- package/dist/utils/map.js +31 -22
- package/dist/utils/object-utils.js +7 -1
- package/dist/utils/options-utils.js +16 -8
- package/dist/utils/row-record-utils.js +180 -168
- package/dist/utils/row-utils.js +38 -27
- package/dist/utils/search.js +32 -24
- package/dist/utils/sql/chart-data-sql.js +55 -49
- package/dist/utils/sql/column-2-sql-column.js +156 -146
- package/dist/utils/sql/index.js +27 -3
- package/dist/utils/trend-utils.js +47 -39
- package/dist/view/index.js +95 -89
- package/dist/view/title/index.js +23 -15
- package/dist/view/wrapper/area-group.js +47 -39
- package/dist/view/wrapper/area.js +45 -37
- package/dist/view/wrapper/bar-compare.js +41 -33
- package/dist/view/wrapper/bar-custom-stack.js +39 -31
- package/dist/view/wrapper/bar-group.js +48 -40
- package/dist/view/wrapper/bar-stack.js +51 -43
- package/dist/view/wrapper/bar.js +43 -35
- package/dist/view/wrapper/basic-number-card.js +26 -18
- package/dist/view/wrapper/chart-component.js +112 -104
- package/dist/view/wrapper/combination.js +55 -47
- package/dist/view/wrapper/completeness-group.js +38 -30
- package/dist/view/wrapper/completeness.js +36 -28
- package/dist/view/wrapper/dashboard.js +33 -25
- package/dist/view/wrapper/funnel.js +38 -30
- package/dist/view/wrapper/heat-map.js +64 -56
- package/dist/view/wrapper/horizontal-bar-group.js +55 -47
- package/dist/view/wrapper/horizontal-bar-stack.js +49 -41
- package/dist/view/wrapper/horizontal-bar.js +43 -35
- package/dist/view/wrapper/index.js +115 -107
- package/dist/view/wrapper/line-group.js +45 -37
- package/dist/view/wrapper/line.js +44 -36
- package/dist/view/wrapper/map-bubble.js +46 -38
- package/dist/view/wrapper/map-world-bubble.js +45 -37
- package/dist/view/wrapper/map-world.js +47 -39
- package/dist/view/wrapper/map.js +48 -40
- package/dist/view/wrapper/mirror.js +41 -33
- package/dist/view/wrapper/pie.js +47 -39
- package/dist/view/wrapper/ring.js +50 -42
- package/dist/view/wrapper/scatter.js +45 -37
- package/dist/view/wrapper/table/index.js +21 -13
- package/dist/view/wrapper/table/one-dimension-table-no-numeric-columns.js +57 -49
- package/dist/view/wrapper/table/one-dimension-table-with-numeric-columns.js +58 -50
- package/dist/view/wrapper/table/pivot-table-display-name.js +91 -83
- package/dist/view/wrapper/table/two-dimension-table.js +84 -76
- package/dist/view/wrapper/table-element/components/dataset-utils.js +36 -23
- package/dist/view/wrapper/table-element/components/formatter.js +105 -96
- package/dist/view/wrapper/table-element/components/formatters/FileFormatter/index.js +31 -22
- package/dist/view/wrapper/table-element/components/formatters/formula-formatter.js +16 -9
- package/dist/view/wrapper/table-element/components/formatters/link-formatter.js +80 -73
- package/dist/view/wrapper/table-element/components/formula-formatter.js +16 -9
- package/dist/view/wrapper/table-element/components/link-formatter.js +80 -73
- package/dist/view/wrapper/table-element/components/record.js +17 -10
- package/dist/view/wrapper/table-element/components/records-body.js +17 -9
- package/dist/view/wrapper/table-element/components/records-header/index.js +15 -7
- package/dist/view/wrapper/table-element/components/records-header/records-header-cell.js +16 -8
- package/dist/view/wrapper/table-element/components/records.js +29 -21
- package/dist/view/wrapper/table-element/components/resize-column-handle/resize-column-handle.js +12 -5
- package/dist/view/wrapper/table-element/components/utils.js +15 -5
- package/dist/view/wrapper/table-element/components/value-display-utils.js +11 -4
- package/dist/view/wrapper/table-element/components/vertical-scrollbar/index.js +13 -6
- package/dist/view/wrapper/table-element/index.js +26 -18
- package/dist/view/wrapper/treemap.js +41 -33
- package/dist/view/wrapper/trend.js +49 -41
- package/package.json +7 -2
package/dist/utils/row-utils.js
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getCellValue = getCellValue;
|
|
7
|
+
exports.resizeColumn = exports.isValidRow = exports.isEmptyGeolocationCell = exports.getFormattedLabel = void 0;
|
|
8
|
+
var _dtableUtils = require("dtable-utils");
|
|
9
|
+
var _cellFormatUtils = require("./cell-format-utils");
|
|
10
|
+
const resizeColumn = (resizedColumnKey, width, columns) => {
|
|
4
11
|
const columnIndex = columns.findIndex(column => column.key === resizedColumnKey);
|
|
5
12
|
const column = columns[columnIndex];
|
|
6
13
|
const newColumn = Object.assign({}, column, {
|
|
@@ -10,7 +17,8 @@ export const resizeColumn = (resizedColumnKey, width, columns) => {
|
|
|
10
17
|
updateColumns[columnIndex] = newColumn;
|
|
11
18
|
return updateColumns;
|
|
12
19
|
};
|
|
13
|
-
|
|
20
|
+
exports.resizeColumn = resizeColumn;
|
|
21
|
+
const isEmptyGeolocationCell = (cellValue, format) => {
|
|
14
22
|
if (!cellValue) return null;
|
|
15
23
|
if (format === 'lng_lat') {
|
|
16
24
|
return (cellValue.lng || cellValue.lng === 0) && (cellValue.lat || cellValue.lat === 0);
|
|
@@ -20,30 +28,32 @@ export const isEmptyGeolocationCell = (cellValue, format) => {
|
|
|
20
28
|
}
|
|
21
29
|
return cellValue.province;
|
|
22
30
|
};
|
|
23
|
-
|
|
31
|
+
exports.isEmptyGeolocationCell = isEmptyGeolocationCell;
|
|
32
|
+
const isValidRow = (row, formulaRow, column, includeEmpty) => {
|
|
24
33
|
const {
|
|
25
34
|
type: columnType,
|
|
26
35
|
key: columnKey
|
|
27
36
|
} = column;
|
|
28
|
-
if (includeEmpty || columnType === CellType.CHECKBOX) return true;
|
|
29
|
-
if (columnType === CellType.GEOLOCATION) {
|
|
37
|
+
if (includeEmpty || columnType === _dtableUtils.CellType.CHECKBOX) return true;
|
|
38
|
+
if (columnType === _dtableUtils.CellType.GEOLOCATION) {
|
|
30
39
|
const {
|
|
31
40
|
geo_format
|
|
32
41
|
} = column.data || {};
|
|
33
42
|
return isEmptyGeolocationCell(row[columnKey], geo_format);
|
|
34
43
|
}
|
|
35
44
|
let cellValue = row[columnKey];
|
|
36
|
-
if (FORMULA_COLUMN_TYPES_MAP[columnType] || columnType === CellType.LINK) {
|
|
45
|
+
if (_dtableUtils.FORMULA_COLUMN_TYPES_MAP[columnType] || columnType === _dtableUtils.CellType.LINK) {
|
|
37
46
|
cellValue = formulaRow ? formulaRow[columnKey] : null;
|
|
38
47
|
}
|
|
39
48
|
return cellValue || cellValue === 0;
|
|
40
49
|
};
|
|
41
|
-
|
|
50
|
+
exports.isValidRow = isValidRow;
|
|
51
|
+
const getFormattedLabel = (column, name, collaborators, chartType) => {
|
|
42
52
|
let {
|
|
43
53
|
type: columnType,
|
|
44
54
|
data: columnData
|
|
45
55
|
} = column || {};
|
|
46
|
-
if (columnType === CellType.SINGLE_SELECT) {
|
|
56
|
+
if (columnType === _dtableUtils.CellType.SINGLE_SELECT) {
|
|
47
57
|
let options = columnData ? columnData.options : [];
|
|
48
58
|
let selectedOption = options.find(o => {
|
|
49
59
|
let id = name;
|
|
@@ -58,9 +68,9 @@ export const getFormattedLabel = (column, name, collaborators, chartType) => {
|
|
|
58
68
|
if (selectedOption) {
|
|
59
69
|
return optionName;
|
|
60
70
|
}
|
|
61
|
-
} else if (columnType === CellType.MULTIPLE_SELECT) {
|
|
62
|
-
const options = getColumnOptions(column);
|
|
63
|
-
let selectedOption = getOption(options, name);
|
|
71
|
+
} else if (columnType === _dtableUtils.CellType.MULTIPLE_SELECT) {
|
|
72
|
+
const options = (0, _dtableUtils.getColumnOptions)(column);
|
|
73
|
+
let selectedOption = (0, _dtableUtils.getOption)(options, name);
|
|
64
74
|
let {
|
|
65
75
|
name: optionName,
|
|
66
76
|
color: optionColor
|
|
@@ -68,7 +78,7 @@ export const getFormattedLabel = (column, name, collaborators, chartType) => {
|
|
|
68
78
|
// TODO:use option‘s color
|
|
69
79
|
// return { name: optionName, color: optionColor };
|
|
70
80
|
return optionName;
|
|
71
|
-
} else if (columnType === CellType.COLLABORATOR) {
|
|
81
|
+
} else if (columnType === _dtableUtils.CellType.COLLABORATOR) {
|
|
72
82
|
let collaborator = collaborators.find(item => {
|
|
73
83
|
let email = name;
|
|
74
84
|
if (Array.isArray(name)) {
|
|
@@ -79,7 +89,7 @@ export const getFormattedLabel = (column, name, collaborators, chartType) => {
|
|
|
79
89
|
if (collaborator) {
|
|
80
90
|
return collaborator.name;
|
|
81
91
|
}
|
|
82
|
-
} else if (columnType === CellType.CREATOR || columnType === CellType.LAST_MODIFIER) {
|
|
92
|
+
} else if (columnType === _dtableUtils.CellType.CREATOR || columnType === _dtableUtils.CellType.LAST_MODIFIER) {
|
|
83
93
|
if (name === 'anonymous') {
|
|
84
94
|
return name;
|
|
85
95
|
} else {
|
|
@@ -88,25 +98,25 @@ export const getFormattedLabel = (column, name, collaborators, chartType) => {
|
|
|
88
98
|
return collaborator.name;
|
|
89
99
|
}
|
|
90
100
|
}
|
|
91
|
-
} else if (columnType === CellType.LINK) {
|
|
92
|
-
return getClientFormulaDisplayString(Array.isArray(name) ? name : [name], columnData, {
|
|
101
|
+
} else if (columnType === _dtableUtils.CellType.LINK) {
|
|
102
|
+
return (0, _cellFormatUtils.getClientFormulaDisplayString)(Array.isArray(name) ? name : [name], columnData, {
|
|
93
103
|
collaborators
|
|
94
104
|
});
|
|
95
|
-
} else if (columnType === CellType.CHECKBOX) {
|
|
105
|
+
} else if (columnType === _dtableUtils.CellType.CHECKBOX) {
|
|
96
106
|
return name === 'true' ? 'Checked' : 'Unchecked';
|
|
97
|
-
} else if (FORMULA_COLUMN_TYPES_MAP[columnType]) {
|
|
107
|
+
} else if (_dtableUtils.FORMULA_COLUMN_TYPES_MAP[columnType]) {
|
|
98
108
|
const {
|
|
99
109
|
result_type,
|
|
100
110
|
array_type
|
|
101
111
|
} = columnData || {};
|
|
102
|
-
if (!name && !isNumber(name)) return '';
|
|
103
|
-
if (result_type === FORMULA_RESULT_TYPE.NUMBER) {
|
|
112
|
+
if (!name && !(0, _dtableUtils.isNumber)(name)) return '';
|
|
113
|
+
if (result_type === _dtableUtils.FORMULA_RESULT_TYPE.NUMBER) {
|
|
104
114
|
const valueNumber = parseFloat(name);
|
|
105
|
-
return isNumber(valueNumber) ? getNumberDisplayString(valueNumber, column.data) : name;
|
|
115
|
+
return (0, _dtableUtils.isNumber)(valueNumber) ? (0, _dtableUtils.getNumberDisplayString)(valueNumber, column.data) : name;
|
|
106
116
|
}
|
|
107
|
-
if (result_type === FORMULA_RESULT_TYPE.ARRAY) {
|
|
108
|
-
if (COLLABORATOR_COLUMN_TYPES.includes(array_type)) {
|
|
109
|
-
if ([CellType.CREATOR, CellType.LAST_MODIFIER].includes(array_type) && name === 'anonymous') {
|
|
117
|
+
if (result_type === _dtableUtils.FORMULA_RESULT_TYPE.ARRAY) {
|
|
118
|
+
if (_dtableUtils.COLLABORATOR_COLUMN_TYPES.includes(array_type)) {
|
|
119
|
+
if ([_dtableUtils.CellType.CREATOR, _dtableUtils.CellType.LAST_MODIFIER].includes(array_type) && name === 'anonymous') {
|
|
110
120
|
return name;
|
|
111
121
|
}
|
|
112
122
|
const collaborator = collaborators.find(item => {
|
|
@@ -127,13 +137,14 @@ export const getFormattedLabel = (column, name, collaborators, chartType) => {
|
|
|
127
137
|
}
|
|
128
138
|
return name;
|
|
129
139
|
};
|
|
130
|
-
|
|
140
|
+
exports.getFormattedLabel = getFormattedLabel;
|
|
141
|
+
function getCellValue(row, formulaRow, column) {
|
|
131
142
|
if (!column) return null;
|
|
132
143
|
const {
|
|
133
144
|
type,
|
|
134
145
|
key
|
|
135
146
|
} = column;
|
|
136
|
-
if (FORMULA_COLUMN_TYPES_MAP[type]) {
|
|
147
|
+
if (_dtableUtils.FORMULA_COLUMN_TYPES_MAP[type]) {
|
|
137
148
|
const cellValue = formulaRow && formulaRow[key];
|
|
138
149
|
if (Array.isArray(cellValue)) {
|
|
139
150
|
return cellValue[0];
|
package/dist/utils/search.js
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.searchRows = void 0;
|
|
8
|
+
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
9
|
+
var _context = _interopRequireDefault(require("../context"));
|
|
10
|
+
var _dtableUtils = require("dtable-utils");
|
|
11
|
+
var _columnUtils = require("./column-utils");
|
|
12
|
+
const SUPPORT_SEARCH_COLUMN_TYPES = [_dtableUtils.CellType.DATE, _dtableUtils.CellType.TEXT, _dtableUtils.CellType.LONG_TEXT, _dtableUtils.CellType.NUMBER, _dtableUtils.CellType.URL, _dtableUtils.CellType.EMAIL, _dtableUtils.CellType.SINGLE_SELECT, _dtableUtils.CellType.CTIME, _dtableUtils.CellType.MTIME, _dtableUtils.CellType.MULTIPLE_SELECT, _dtableUtils.CellType.LAST_MODIFIER, _dtableUtils.CellType.CREATOR, _dtableUtils.CellType.COLLABORATOR, _dtableUtils.CellType.LINK, _dtableUtils.CellType.FORMULA, _dtableUtils.CellType.LINK_FORMULA, _dtableUtils.CellType.AUTO_NUMBER, _dtableUtils.CellType.GEOLOCATION, _dtableUtils.CellType.DURATION];
|
|
13
|
+
const searchRows = (rows, columns, val, processRow) => {
|
|
14
|
+
let dtableCollaborators = _context.default.getCollaboratorFromCache() || [];
|
|
15
|
+
let collaborators = _context.default.collaborators || [];
|
|
9
16
|
let searchResult = [];
|
|
10
17
|
rows.forEach(row => {
|
|
11
18
|
let column = columns.find(column => {
|
|
@@ -19,20 +26,20 @@ export const searchRows = (rows, columns, val, processRow) => {
|
|
|
19
26
|
const cellValue = row[columnKey];
|
|
20
27
|
if (cellValue) {
|
|
21
28
|
let text;
|
|
22
|
-
if (columnType === CellType.LONG_TEXT) {
|
|
29
|
+
if (columnType === _dtableUtils.CellType.LONG_TEXT) {
|
|
23
30
|
text = cellValue.text;
|
|
24
|
-
} else if (columnType === CellType.NUMBER || columnType === CellType.DURATION) {
|
|
25
|
-
text = getNumberDisplayString(cellValue, column.data);
|
|
26
|
-
} else if (columnType === CellType.SINGLE_SELECT) {
|
|
27
|
-
const options = getSelectColumnOptions(column);
|
|
31
|
+
} else if (columnType === _dtableUtils.CellType.NUMBER || columnType === _dtableUtils.CellType.DURATION) {
|
|
32
|
+
text = (0, _dtableUtils.getNumberDisplayString)(cellValue, column.data);
|
|
33
|
+
} else if (columnType === _dtableUtils.CellType.SINGLE_SELECT) {
|
|
34
|
+
const options = (0, _columnUtils.getSelectColumnOptions)(column);
|
|
28
35
|
const option = options.find(option => option.id === cellValue);
|
|
29
36
|
text = option ? option.name : '';
|
|
30
|
-
} else if (columnType === CellType.MULTIPLE_SELECT) {
|
|
31
|
-
const options = getSelectColumnOptions(column);
|
|
32
|
-
text = getMultipleOptionName(options, cellValue);
|
|
33
|
-
} else if (columnType === CellType.COLLABORATOR) {
|
|
34
|
-
text = getCollaboratorsName(collaborators, cellValue);
|
|
35
|
-
} else if (columnType === CellType.LAST_MODIFIER || columnType === CellType.CREATOR) {
|
|
37
|
+
} else if (columnType === _dtableUtils.CellType.MULTIPLE_SELECT) {
|
|
38
|
+
const options = (0, _columnUtils.getSelectColumnOptions)(column);
|
|
39
|
+
text = (0, _dtableUtils.getMultipleOptionName)(options, cellValue);
|
|
40
|
+
} else if (columnType === _dtableUtils.CellType.COLLABORATOR) {
|
|
41
|
+
text = (0, _dtableUtils.getCollaboratorsName)(collaborators, cellValue);
|
|
42
|
+
} else if (columnType === _dtableUtils.CellType.LAST_MODIFIER || columnType === _dtableUtils.CellType.CREATOR) {
|
|
36
43
|
if (cellValue === 'anonymous') {
|
|
37
44
|
text = cellValue;
|
|
38
45
|
} else {
|
|
@@ -44,10 +51,10 @@ export const searchRows = (rows, columns, val, processRow) => {
|
|
|
44
51
|
text = collaborator.name;
|
|
45
52
|
}
|
|
46
53
|
}
|
|
47
|
-
} else if (columnType === CellType.GEOLOCATION) {
|
|
48
|
-
text = getGeolocationDisplayString(cellValue, column.data);
|
|
49
|
-
} else if (columnType === CellType.CTIME || columnType === CellType.MTIME) {
|
|
50
|
-
text =
|
|
54
|
+
} else if (columnType === _dtableUtils.CellType.GEOLOCATION) {
|
|
55
|
+
text = (0, _dtableUtils.getGeolocationDisplayString)(cellValue, column.data);
|
|
56
|
+
} else if (columnType === _dtableUtils.CellType.CTIME || columnType === _dtableUtils.CellType.MTIME) {
|
|
57
|
+
text = (0, _dayjs.default)(cellValue).format('YYYY-MM-DD HH:mm:ss');
|
|
51
58
|
} else {
|
|
52
59
|
text = cellValue;
|
|
53
60
|
}
|
|
@@ -63,4 +70,5 @@ export const searchRows = (rows, columns, val, processRow) => {
|
|
|
63
70
|
}
|
|
64
71
|
});
|
|
65
72
|
return searchResult;
|
|
66
|
-
};
|
|
73
|
+
};
|
|
74
|
+
exports.searchRows = searchRows;
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
import dayjs from 'dayjs';
|
|
3
|
-
import { getSqlGroup } from '../column-utils';
|
|
4
|
-
import { CHART_TYPE, DTABLE_DB_SUMMARY_METHOD, CHART_SUMMARY_TYPE, CHART_Y_GROUP_TYPE } from '../../constants';
|
|
5
|
-
import { fixGeoGranularity } from '../map';
|
|
6
|
-
import { getDatabaseGroupName } from './column-2-sql-column';
|
|
1
|
+
"use strict";
|
|
7
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
|
+
var _dtableUtils = require("dtable-utils");
|
|
9
|
+
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
10
|
+
var _columnUtils = require("../column-utils");
|
|
11
|
+
var _constants = require("../../constants");
|
|
12
|
+
var _map = require("../map");
|
|
13
|
+
var _column2SqlColumn = require("./column-2-sql-column");
|
|
8
14
|
/*
|
|
9
15
|
query chart data by dtable-db
|
|
10
16
|
**/
|
|
@@ -20,7 +26,7 @@ class ChartDataSQL {
|
|
|
20
26
|
userDepartmentIdsMap
|
|
21
27
|
} = _ref;
|
|
22
28
|
this._chart_column_name_to_sql = (column, groupBy) => {
|
|
23
|
-
return getSqlGroup(column, groupBy);
|
|
29
|
+
return (0, _columnUtils.getSqlGroup)(column, groupBy);
|
|
24
30
|
};
|
|
25
31
|
this._get_column_by_key = key => {
|
|
26
32
|
return this.column_key_map[key];
|
|
@@ -51,11 +57,11 @@ class ChartDataSQL {
|
|
|
51
57
|
const valid_column_name = `\`${column_name}\``;
|
|
52
58
|
if (summary_method === 'DISTINCT_VALUES') return `COUNT(DISTINCT ${valid_column_name})`;
|
|
53
59
|
if (summary_method === 'ROW_COUNT') return `COUNT(${valid_column_name})`;
|
|
54
|
-
return `${DTABLE_DB_SUMMARY_METHOD[summary_method]}(${valid_column_name})`;
|
|
60
|
+
return `${_constants.DTABLE_DB_SUMMARY_METHOD[summary_method]}(${valid_column_name})`;
|
|
55
61
|
};
|
|
56
62
|
this._basic_statistic_2_sql = () => {
|
|
57
63
|
let x_axis_column_key, x_axis_date_granularity, x_axis_geolocation_granularity, x_axis_include_empty_cells, y_axis_summary_type, y_axis_summary_method, y_axis_summary_column_key;
|
|
58
|
-
if ([CHART_TYPE.HORIZONTAL_BAR, CHART_TYPE.STACKED_HORIZONTAL_BAR, CHART_TYPE.HORIZONTAL_GROUP_BAR].includes(this.chart_type)) {
|
|
64
|
+
if ([_constants.CHART_TYPE.HORIZONTAL_BAR, _constants.CHART_TYPE.STACKED_HORIZONTAL_BAR, _constants.CHART_TYPE.HORIZONTAL_GROUP_BAR].includes(this.chart_type)) {
|
|
59
65
|
x_axis_column_key = this.chart['vertical_axis_column_key'] || '';
|
|
60
66
|
x_axis_date_granularity = this.chart['vertical_axis_date_granularity'] || '';
|
|
61
67
|
x_axis_geolocation_granularity = this.chart['vertical_axis_geolocation_granularity'] || '';
|
|
@@ -117,7 +123,7 @@ class ChartDataSQL {
|
|
|
117
123
|
date_granularity: 'day'
|
|
118
124
|
});
|
|
119
125
|
let summary_column_name = this._summary_column_2_sql('COUNT', groupby_column);
|
|
120
|
-
if (summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
|
|
126
|
+
if (summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
|
|
121
127
|
const summary_column = this._get_column_by_key(summary_column_key);
|
|
122
128
|
if (!summary_column) {
|
|
123
129
|
this.error = 'Summary_column_not_found';
|
|
@@ -149,7 +155,7 @@ class ChartDataSQL {
|
|
|
149
155
|
const column_name = this._chart_column_name_to_sql(groupby_column, {});
|
|
150
156
|
const column_groupby_column_name = this._chart_column_name_to_sql(column_groupby_column, {});
|
|
151
157
|
let summary_column_name = this._summary_column_2_sql('COUNT', groupby_column);
|
|
152
|
-
if (summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
|
|
158
|
+
if (summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
|
|
153
159
|
const summary_column = this._get_column_by_key(summary_column_key);
|
|
154
160
|
if (!summary_column) {
|
|
155
161
|
this.error = 'Summary_column_not_found';
|
|
@@ -177,7 +183,7 @@ class ChartDataSQL {
|
|
|
177
183
|
'date_granularity': date_granularity
|
|
178
184
|
});
|
|
179
185
|
let summary_column_name = this._summary_column_2_sql('COUNT', groupby_column);
|
|
180
|
-
if (summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
|
|
186
|
+
if (summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
|
|
181
187
|
const summary_column = this._get_column_by_key(summary_column_key);
|
|
182
188
|
if (!summary_column) {
|
|
183
189
|
this.error = 'Summary_column_not_found';
|
|
@@ -189,7 +195,7 @@ class ChartDataSQL {
|
|
|
189
195
|
};
|
|
190
196
|
this._grouping_statistic_2_sql = () => {
|
|
191
197
|
let x_axis_column_key, x_axis_date_granularity, x_axis_geolocation_granularity, x_axis_include_empty_cells, y_axis_summary_type, y_axis_summary_method, y_axis_summary_column_key;
|
|
192
|
-
if ([CHART_TYPE.HORIZONTAL_GROUP_BAR, CHART_TYPE.STACKED_HORIZONTAL_BAR].includes(this.chart_type)) {
|
|
198
|
+
if ([_constants.CHART_TYPE.HORIZONTAL_GROUP_BAR, _constants.CHART_TYPE.STACKED_HORIZONTAL_BAR].includes(this.chart_type)) {
|
|
193
199
|
x_axis_column_key = this.chart['vertical_axis_column_key'] || '';
|
|
194
200
|
x_axis_date_granularity = this.chart['vertical_axis_date_granularity'] || '';
|
|
195
201
|
x_axis_geolocation_granularity = this.chart['vertical_axis_geolocation_granularity'] || '';
|
|
@@ -297,12 +303,12 @@ class ChartDataSQL {
|
|
|
297
303
|
column_groupby_numeric_columns
|
|
298
304
|
} = stack;
|
|
299
305
|
let sql = '';
|
|
300
|
-
if (y_axis_type === CHART_TYPE.BAR_STACK && column_groupby_numeric_columns && Array.isArray(column_groupby_numeric_columns) && column_groupby_numeric_columns.length !== 0) {
|
|
306
|
+
if (y_axis_type === _constants.CHART_TYPE.BAR_STACK && column_groupby_numeric_columns && Array.isArray(column_groupby_numeric_columns) && column_groupby_numeric_columns.length !== 0) {
|
|
301
307
|
// just support summary numeric columns.
|
|
302
308
|
let group_methods = [];
|
|
303
309
|
column_groupby_numeric_columns.forEach(item => {
|
|
304
310
|
const numeric_column = this._get_column_by_key(item.column_key);
|
|
305
|
-
group_methods.push(this._summary_column_2_sql(DTABLE_DB_SUMMARY_METHOD[item.summary_method.toUpperCase()], numeric_column));
|
|
311
|
+
group_methods.push(this._summary_column_2_sql(_constants.DTABLE_DB_SUMMARY_METHOD[item.summary_method.toUpperCase()], numeric_column));
|
|
306
312
|
});
|
|
307
313
|
sql = `SELECT ${groupby_column_name}, ${group_methods.join(',')} FROM ${this.table_name} ${this.filter_sql} GROUP BY ${groupby_column_name} LIMIT 5000`;
|
|
308
314
|
}
|
|
@@ -338,7 +344,7 @@ class ChartDataSQL {
|
|
|
338
344
|
'geolocation_granularity': x_axis_geolocation_granularity
|
|
339
345
|
});
|
|
340
346
|
let summary_column_name = this._summary_column_2_sql('COUNT', groupby_column);
|
|
341
|
-
if (y_axis_summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
|
|
347
|
+
if (y_axis_summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
|
|
342
348
|
const summary_column = this._get_column_by_key(y_axis_summary_column_key);
|
|
343
349
|
if (!summary_column) {
|
|
344
350
|
this.error = 'Summary_column_not_found';
|
|
@@ -351,8 +357,8 @@ class ChartDataSQL {
|
|
|
351
357
|
let filter_sql = this.filter_sql;
|
|
352
358
|
if (x_axis_date_range_start && x_axis_date_range_end && x_axis_compared_date_range_start && x_axis_compared_date_range_end) {
|
|
353
359
|
filter_sql = this.filter_sql.length === 0 ? 'where ' : this.filter_sql + ' AND';
|
|
354
|
-
const formattedXAxisDateRangeEnd =
|
|
355
|
-
const formattedXAxisComparedDateRangeEnd =
|
|
360
|
+
const formattedXAxisDateRangeEnd = (0, _dayjs.default)(x_axis_date_range_end).add(1, 'days').format('YYYY-MM-DD');
|
|
361
|
+
const formattedXAxisComparedDateRangeEnd = (0, _dayjs.default)(x_axis_compared_date_range_end).add(1, 'days').format('YYYY-MM-DD');
|
|
356
362
|
filter_sql = filter_sql + ` ((${groupby_column.name} >= '${x_axis_date_range_start}' AND ${groupby_column.name} < '${formattedXAxisDateRangeEnd}') Or (${groupby_column.name} >= '${x_axis_compared_date_range_start}' AND ${groupby_column.name} < '${formattedXAxisComparedDateRangeEnd}'))`;
|
|
357
363
|
}
|
|
358
364
|
return `SELECT ${groupby_column_name}, ${summary_column_name} FROM ${this.table_name} ${filter_sql} GROUP BY ${groupby_column_name} LIMIT 0, 5000`;
|
|
@@ -459,7 +465,7 @@ class ChartDataSQL {
|
|
|
459
465
|
const summary_column = this._get_column_by_key(summary_column_key);
|
|
460
466
|
summary_method = summary_method.toUpperCase();
|
|
461
467
|
let summary_column_names = [];
|
|
462
|
-
if (summary_column && (isNumericColumn(summary_column) || isDateColumn(summary_column))) {
|
|
468
|
+
if (summary_column && ((0, _dtableUtils.isNumericColumn)(summary_column) || (0, _dtableUtils.isDateColumn)(summary_column))) {
|
|
463
469
|
const summary_column_name = this._summary_column_2_sql(summary_method, summary_column);
|
|
464
470
|
summary_column_names.push(summary_column_name);
|
|
465
471
|
}
|
|
@@ -470,14 +476,14 @@ class ChartDataSQL {
|
|
|
470
476
|
} = column_option;
|
|
471
477
|
const method = summary_method === null || summary_method === void 0 ? void 0 : summary_method.toUpperCase();
|
|
472
478
|
const column = this._get_column_by_key(column_key);
|
|
473
|
-
if (column && (isNumericColumn(column) || isDateColumn(column))) {
|
|
479
|
+
if (column && ((0, _dtableUtils.isNumericColumn)(column) || (0, _dtableUtils.isDateColumn)(column))) {
|
|
474
480
|
const column_name = this._summary_column_2_sql(method, column);
|
|
475
481
|
summary_column_names.push(column_name);
|
|
476
482
|
}
|
|
477
483
|
});
|
|
478
484
|
|
|
479
485
|
// groupby_column is COLLABORATOR or MULTIPLE_SELECT, replace AVG with SUM, and add 'COUNT(*)'
|
|
480
|
-
if (groupby_column.type === CellType.COLLABORATOR || groupby_column.type === CellType.MULTIPLE_SELECT) {
|
|
486
|
+
if (groupby_column.type === _dtableUtils.CellType.COLLABORATOR || groupby_column.type === _dtableUtils.CellType.MULTIPLE_SELECT) {
|
|
481
487
|
summary_column_names.forEach((item, index) => {
|
|
482
488
|
if (item.startsWith('AVG')) {
|
|
483
489
|
summary_column_names[index] = 'SUM' + item.slice(3);
|
|
@@ -521,7 +527,7 @@ class ChartDataSQL {
|
|
|
521
527
|
let numeric_column_names = [];
|
|
522
528
|
new_numeric_column_keys.forEach(column_key => {
|
|
523
529
|
const column = this._get_column_by_key(column_key);
|
|
524
|
-
if (column && (isNumericColumn(column) || isDateColumn(column))) {
|
|
530
|
+
if (column && ((0, _dtableUtils.isNumericColumn)(column) || (0, _dtableUtils.isDateColumn)(column))) {
|
|
525
531
|
const column_name = this._summary_column_2_sql(summary_method, column);
|
|
526
532
|
numeric_column_names.append(column_name);
|
|
527
533
|
}
|
|
@@ -620,7 +626,7 @@ class ChartDataSQL {
|
|
|
620
626
|
};
|
|
621
627
|
this._basic_number_card_chart_statistic_2_sql = () => {
|
|
622
628
|
const summary_type = this.chart['summary_type'];
|
|
623
|
-
if (summary_type === CHART_Y_GROUP_TYPE.COUNT) {
|
|
629
|
+
if (summary_type === _constants.CHART_Y_GROUP_TYPE.COUNT) {
|
|
624
630
|
return `SELECT COUNT(*) FROM ${this.table_name} ${this.filter_sql} LIMIT 0, 5000`;
|
|
625
631
|
}
|
|
626
632
|
const numeric_column_key = this.chart['numeric_column_key'] || '';
|
|
@@ -766,7 +772,7 @@ class ChartDataSQL {
|
|
|
766
772
|
this.error = 'Geo_column_not_found';
|
|
767
773
|
return '';
|
|
768
774
|
}
|
|
769
|
-
const geolocation_granularity = fixGeoGranularity(map_level, map_location);
|
|
775
|
+
const geolocation_granularity = (0, _map.fixGeoGranularity)(map_level, map_location);
|
|
770
776
|
this._update_filter_sql(false, groupby_column);
|
|
771
777
|
|
|
772
778
|
// map do not have date column ,so date_granularity is not needed
|
|
@@ -808,7 +814,7 @@ class ChartDataSQL {
|
|
|
808
814
|
'geolocation_granularity': ''
|
|
809
815
|
});
|
|
810
816
|
let summary_column_name = this._summary_column_2_sql('COUNT', groupby_column);
|
|
811
|
-
if (summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
|
|
817
|
+
if (summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
|
|
812
818
|
const summary_column = this._get_column_by_key(summary_column_key);
|
|
813
819
|
if (!summary_column) {
|
|
814
820
|
this.error = 'Summary_column_not_found';
|
|
@@ -825,14 +831,14 @@ class ChartDataSQL {
|
|
|
825
831
|
error: this.error
|
|
826
832
|
};
|
|
827
833
|
}
|
|
828
|
-
if ([CHART_TYPE.BAR, CHART_TYPE.LINE, CHART_TYPE.HORIZONTAL_BAR, CHART_TYPE.AREA, CHART_TYPE.FUNNEL].includes(this.chart_type)) {
|
|
834
|
+
if ([_constants.CHART_TYPE.BAR, _constants.CHART_TYPE.LINE, _constants.CHART_TYPE.HORIZONTAL_BAR, _constants.CHART_TYPE.AREA, _constants.CHART_TYPE.FUNNEL].includes(this.chart_type)) {
|
|
829
835
|
const sql = this._basic_statistic_2_sql();
|
|
830
836
|
return {
|
|
831
837
|
sql,
|
|
832
838
|
error: this.error
|
|
833
839
|
};
|
|
834
840
|
}
|
|
835
|
-
if ([CHART_TYPE.BAR_GROUP, CHART_TYPE.LINE_GROUP, CHART_TYPE.AREA_GROUP, CHART_TYPE.HORIZONTAL_GROUP_BAR, CHART_TYPE.STACKED_HORIZONTAL_BAR, CHART_TYPE.BAR_STACK].includes(this.chart_type)) {
|
|
841
|
+
if ([_constants.CHART_TYPE.BAR_GROUP, _constants.CHART_TYPE.LINE_GROUP, _constants.CHART_TYPE.AREA_GROUP, _constants.CHART_TYPE.HORIZONTAL_GROUP_BAR, _constants.CHART_TYPE.STACKED_HORIZONTAL_BAR, _constants.CHART_TYPE.BAR_STACK].includes(this.chart_type)) {
|
|
836
842
|
const column_groupby_column_key = this.chart['column_groupby_column_key'] || '';
|
|
837
843
|
const column_groupby_multiple_numeric_column = this.chart['column_groupby_multiple_numeric_column'] || false;
|
|
838
844
|
if (!(column_groupby_column_key || column_groupby_multiple_numeric_column)) {
|
|
@@ -848,63 +854,63 @@ class ChartDataSQL {
|
|
|
848
854
|
error: this.error
|
|
849
855
|
};
|
|
850
856
|
}
|
|
851
|
-
if (this.chart_type === CHART_TYPE.COMPLETENESS || this.chart_type === CHART_TYPE.COMPLETENESS_GROUP) {
|
|
857
|
+
if (this.chart_type === _constants.CHART_TYPE.COMPLETENESS || this.chart_type === _constants.CHART_TYPE.COMPLETENESS_GROUP) {
|
|
852
858
|
const sql = this._completeness_chart_statistic_2_sql();
|
|
853
859
|
return {
|
|
854
860
|
sql,
|
|
855
861
|
error: this.error
|
|
856
862
|
};
|
|
857
863
|
}
|
|
858
|
-
if (this.chart_type === CHART_TYPE.SCATTER) {
|
|
864
|
+
if (this.chart_type === _constants.CHART_TYPE.SCATTER) {
|
|
859
865
|
const sql = this._scatter_statistic_2_sql();
|
|
860
866
|
return {
|
|
861
867
|
sql,
|
|
862
868
|
error: this.error
|
|
863
869
|
};
|
|
864
870
|
}
|
|
865
|
-
if (this.chart_type === CHART_TYPE.BAR_CUSTOM) {
|
|
871
|
+
if (this.chart_type === _constants.CHART_TYPE.BAR_CUSTOM) {
|
|
866
872
|
const sql = this._custom_statistic_2_sql();
|
|
867
873
|
return {
|
|
868
874
|
sql,
|
|
869
875
|
error: this.error
|
|
870
876
|
};
|
|
871
877
|
}
|
|
872
|
-
if (this.chart_type === CHART_TYPE.COMPARE_BAR) {
|
|
878
|
+
if (this.chart_type === _constants.CHART_TYPE.COMPARE_BAR) {
|
|
873
879
|
const sql = this._compare_chart_statistic_2_sql();
|
|
874
880
|
return {
|
|
875
881
|
sql,
|
|
876
882
|
error: this.error
|
|
877
883
|
};
|
|
878
884
|
}
|
|
879
|
-
if (this.chart_type === CHART_TYPE.COMBINATION) {
|
|
885
|
+
if (this.chart_type === _constants.CHART_TYPE.COMBINATION) {
|
|
880
886
|
const sql = this._combination_chart_statistic_2_sql();
|
|
881
887
|
return {
|
|
882
888
|
sql,
|
|
883
889
|
error: this.error
|
|
884
890
|
};
|
|
885
891
|
}
|
|
886
|
-
if ([CHART_TYPE.PIE, CHART_TYPE.RING, CHART_TYPE.TREE_MAP].includes(this.chart_type)) {
|
|
892
|
+
if ([_constants.CHART_TYPE.PIE, _constants.CHART_TYPE.RING, _constants.CHART_TYPE.TREE_MAP].includes(this.chart_type)) {
|
|
887
893
|
const sql = this._pie_chart_statistic_2_sql();
|
|
888
894
|
return {
|
|
889
895
|
sql,
|
|
890
896
|
error: this.error
|
|
891
897
|
};
|
|
892
898
|
}
|
|
893
|
-
if (this.chart_type === CHART_TYPE.BASIC_NUMBER_CARD) {
|
|
899
|
+
if (this.chart_type === _constants.CHART_TYPE.BASIC_NUMBER_CARD) {
|
|
894
900
|
const sql = this._basic_number_card_chart_statistic_2_sql();
|
|
895
901
|
return {
|
|
896
902
|
sql,
|
|
897
903
|
error: this.error
|
|
898
904
|
};
|
|
899
905
|
}
|
|
900
|
-
if (this.chart_type === CHART_TYPE.DASHBOARD) {
|
|
906
|
+
if (this.chart_type === _constants.CHART_TYPE.DASHBOARD) {
|
|
901
907
|
const sql = this._dashboard_chart_statistic_2_sql();
|
|
902
908
|
return {
|
|
903
909
|
sql,
|
|
904
910
|
error: this.error
|
|
905
911
|
};
|
|
906
912
|
}
|
|
907
|
-
const mapChart = [CHART_TYPE.MAP, CHART_TYPE.MAP_BUBBLE];
|
|
913
|
+
const mapChart = [_constants.CHART_TYPE.MAP, _constants.CHART_TYPE.MAP_BUBBLE];
|
|
908
914
|
if (mapChart.includes(this.chart_type)) {
|
|
909
915
|
const sql = this._map_statistic_2_sql();
|
|
910
916
|
return {
|
|
@@ -912,7 +918,7 @@ class ChartDataSQL {
|
|
|
912
918
|
error: this.error
|
|
913
919
|
};
|
|
914
920
|
}
|
|
915
|
-
if (this.chart_type === CHART_TYPE.TABLE) {
|
|
921
|
+
if (this.chart_type === _constants.CHART_TYPE.TABLE) {
|
|
916
922
|
const column_groupby_column_key = this.chart['column_groupby_column_key'] || '';
|
|
917
923
|
const groupby_column_key = this.chart['groupby_column_key'] || '';
|
|
918
924
|
if (!groupby_column_key) {
|
|
@@ -934,28 +940,28 @@ class ChartDataSQL {
|
|
|
934
940
|
error: this.error
|
|
935
941
|
};
|
|
936
942
|
}
|
|
937
|
-
if ([CHART_TYPE.WORLD_MAP, CHART_TYPE.WORLD_MAP_BUBBLE].includes(this.chart_type)) {
|
|
943
|
+
if ([_constants.CHART_TYPE.WORLD_MAP, _constants.CHART_TYPE.WORLD_MAP_BUBBLE].includes(this.chart_type)) {
|
|
938
944
|
const sql = this._world_map_basic_statistic_2_sql();
|
|
939
945
|
return {
|
|
940
946
|
sql,
|
|
941
947
|
error: this.error
|
|
942
948
|
};
|
|
943
949
|
}
|
|
944
|
-
if (this.chart_type === CHART_TYPE.HEAT_MAP) {
|
|
950
|
+
if (this.chart_type === _constants.CHART_TYPE.HEAT_MAP) {
|
|
945
951
|
const sql = this._heat_map_statistic_2_sql();
|
|
946
952
|
return {
|
|
947
953
|
sql,
|
|
948
954
|
error: this.error
|
|
949
955
|
};
|
|
950
956
|
}
|
|
951
|
-
if (this.chart_type === CHART_TYPE.MIRROR) {
|
|
957
|
+
if (this.chart_type === _constants.CHART_TYPE.MIRROR) {
|
|
952
958
|
const sql = this._mirror_map_statistic_2_sql();
|
|
953
959
|
return {
|
|
954
960
|
sql,
|
|
955
961
|
error: this.error
|
|
956
962
|
};
|
|
957
963
|
}
|
|
958
|
-
if (this.chart_type === CHART_TYPE.TREND) {
|
|
964
|
+
if (this.chart_type === _constants.CHART_TYPE.TREND) {
|
|
959
965
|
const sql = this._trend_map_statistic_2_sql();
|
|
960
966
|
return {
|
|
961
967
|
sql,
|
|
@@ -972,10 +978,10 @@ class ChartDataSQL {
|
|
|
972
978
|
const {
|
|
973
979
|
type
|
|
974
980
|
} = column || {};
|
|
975
|
-
if (type === CellType.SINGLE_SELECT || type === CellType.MULTIPLE_SELECT) {
|
|
981
|
+
if (type === _dtableUtils.CellType.SINGLE_SELECT || type === _dtableUtils.CellType.MULTIPLE_SELECT) {
|
|
976
982
|
return `'${name}'`;
|
|
977
983
|
}
|
|
978
|
-
if (type === CellType.NUMBER) {
|
|
984
|
+
if (type === _dtableUtils.CellType.NUMBER) {
|
|
979
985
|
const newName = Number(name);
|
|
980
986
|
if (!Number.isNaN(newName)) {
|
|
981
987
|
return newName;
|
|
@@ -1003,7 +1009,7 @@ class ChartDataSQL {
|
|
|
1003
1009
|
groupName,
|
|
1004
1010
|
selectedColumn,
|
|
1005
1011
|
columnSelectedColumn
|
|
1006
|
-
} = getDatabaseGroupName(statItem.config, this.table);
|
|
1012
|
+
} = (0, _column2SqlColumn.getDatabaseGroupName)(statItem.config, this.table);
|
|
1007
1013
|
let isGroup = column_groupby_column_key && !column_groupby_multiple_numeric_column;
|
|
1008
1014
|
let {
|
|
1009
1015
|
name,
|
|
@@ -1013,10 +1019,10 @@ class ChartDataSQL {
|
|
|
1013
1019
|
} = statisticRecord;
|
|
1014
1020
|
|
|
1015
1021
|
// No grouping required type
|
|
1016
|
-
if ([CHART_TYPE.COMPLETENESS_GROUP].includes(type)) {
|
|
1022
|
+
if ([_constants.CHART_TYPE.COMPLETENESS_GROUP].includes(type)) {
|
|
1017
1023
|
isGroup = false;
|
|
1018
1024
|
}
|
|
1019
|
-
if ([CHART_TYPE.PIE, CHART_TYPE.RING, CHART_TYPE.TREE_MAP].includes(type)) {
|
|
1025
|
+
if ([_constants.CHART_TYPE.PIE, _constants.CHART_TYPE.RING, _constants.CHART_TYPE.TREE_MAP].includes(type)) {
|
|
1020
1026
|
name = name.trim();
|
|
1021
1027
|
}
|
|
1022
1028
|
let sqlName = this.get_sql_group_name(name, original_name, selectedColumn);
|
|
@@ -1025,7 +1031,7 @@ class ChartDataSQL {
|
|
|
1025
1031
|
sqlGroupName = this.get_sql_group_name(group_name, group_original_name, columnSelectedColumn);
|
|
1026
1032
|
}
|
|
1027
1033
|
let sqlString;
|
|
1028
|
-
if (type === CHART_TYPE.TABLE) {
|
|
1034
|
+
if (type === _constants.CHART_TYPE.TABLE) {
|
|
1029
1035
|
let pivotGroupName = `${isGroup ? `${columnGroupName}=${sqlGroupName}` : ''}`;
|
|
1030
1036
|
if (isColumn) {
|
|
1031
1037
|
if (this.filter_sql && pivotGroupName) {
|
|
@@ -1075,7 +1081,7 @@ class ChartDataSQL {
|
|
|
1075
1081
|
Array.isArray(table.columns) && table.columns.forEach(column => {
|
|
1076
1082
|
this.column_key_map[column.key] = column;
|
|
1077
1083
|
});
|
|
1078
|
-
this.filter_sql = filter2SqlCondition(table, view, username, userId, userDepartmentIdsMap);
|
|
1084
|
+
this.filter_sql = (0, _dtableUtils.filter2SqlCondition)(table, view, username, userId, userDepartmentIdsMap);
|
|
1079
1085
|
}
|
|
1080
1086
|
}
|
|
1081
|
-
|
|
1087
|
+
var _default = exports.default = ChartDataSQL;
|