sea-chart 1.1.65 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/index.js +13 -6
- package/dist/assets/css/sea-chart-d3-tooltip.css +64 -0
- package/dist/components/cell-factory/FormatterConfig.js +62 -55
- package/dist/components/cell-factory/SimpleCellFormatter.js +11 -4
- package/dist/components/cell-factory/SingleSelectOption.js +18 -11
- package/dist/components/cell-factory/cell-editor-factory.js +12 -5
- package/dist/components/cell-factory/cell-formatter-factory.js +11 -4
- package/dist/components/cell-factory/link-content.js +35 -27
- package/dist/components/chart-color-selector/color-selector.js +18 -11
- package/dist/components/collaborator/index.js +14 -7
- package/dist/components/color-picker/index.js +18 -11
- package/dist/components/color-popover/color-rules/color-rule.js +33 -25
- package/dist/components/color-popover/color-rules/index.js +14 -6
- package/dist/components/color-popover/color-rules/rule-filters/filter.js +34 -27
- package/dist/components/color-popover/color-rules/rule-filters/index.js +25 -17
- package/dist/components/color-popover/color-rules/rule-filters/number-input.js +17 -9
- package/dist/components/color-popover/color-rules-popover.js +33 -25
- package/dist/components/color-popover/color-selector-popover.js +18 -10
- package/dist/components/color-setting/color-group-selector.js +20 -12
- package/dist/components/common-add-tool/index.js +13 -6
- package/dist/components/data-process-setter/data-setting-header.js +14 -7
- package/dist/components/data-process-setter/hide-column-setter.js +19 -12
- package/dist/components/data-process-setter/index.js +27 -4
- package/dist/components/data-process-setter/sort-setter.js +24 -16
- package/dist/components/draggable/Draggable.js +13 -7
- package/dist/components/drill-down-settings/drill-down-fields-popover/index.js +48 -40
- package/dist/components/drill-down-settings/drill-down-fields-settings/index.js +18 -10
- package/dist/components/drill-down-settings/index.js +18 -11
- package/dist/components/dtable-popover/index.js +20 -13
- package/dist/components/dtable-search-input/index.js +21 -13
- package/dist/components/font-settings/index.js +22 -14
- package/dist/components/goal-line-setting/goal-setting-item.js +14 -6
- package/dist/components/goal-line-setting/index.js +19 -12
- package/dist/components/highlighter/highlighter.js +14 -7
- package/dist/components/icon/index.js +12 -5
- package/dist/components/index.js +48 -7
- package/dist/components/loading/index.js +13 -6
- package/dist/components/number-input/index.js +11 -4
- package/dist/components/pixel-editor/index.js +23 -15
- package/dist/components/popover/hide-column-popover/hide-column-popover-widgets/hide-column-item.js +14 -7
- package/dist/components/popover/hide-column-popover/hide-column-popover.js +35 -27
- package/dist/components/popover/sort-popover/sort-popover-widgets/sort-utils.js +18 -9
- package/dist/components/popover/sort-popover/sort-popover.js +65 -55
- package/dist/components/resize-handle/ResizeHandle.js +13 -6
- package/dist/components/row-card/row-card-header-cell.js +22 -15
- package/dist/components/row-card/row-card-header.js +21 -14
- package/dist/components/row-card/row-card-item.js +41 -33
- package/dist/components/row-card/row-card.js +23 -15
- package/dist/components/statistic-record-dialog/index.js +63 -55
- package/dist/components/types-dialog/index.js +63 -55
- package/dist/components/types-dialog/use-force-update.js +10 -4
- package/dist/constants/color-rules.js +14 -8
- package/dist/constants/common-constants.js +14 -8
- package/dist/constants/error.js +8 -2
- package/dist/constants/geolocation.js +15 -9
- package/dist/constants/index.js +271 -142
- package/dist/constants/key-codes.js +2 -0
- package/dist/constants/model.js +9 -3
- package/dist/constants/regions.js +8 -3
- package/dist/constants/style.js +12 -6
- package/dist/constants/table.js +7 -1
- package/dist/constants/type-image.js +39 -33
- package/dist/constants/type.js +9 -3
- package/dist/context.js +19 -12
- package/dist/editor/index.js +15 -12
- package/dist/index.js +104 -13
- package/dist/intl.js +17 -10
- package/dist/locale/index.js +23 -16
- package/dist/locale/lang/de.js +7 -1
- package/dist/locale/lang/en.js +7 -1
- package/dist/locale/lang/es.js +7 -1
- package/dist/locale/lang/fr.js +7 -1
- package/dist/locale/lang/pt.js +7 -1
- package/dist/locale/lang/ru.js +7 -1
- package/dist/locale/lang/zh_CN.js +7 -1
- package/dist/model/area-group.js +19 -12
- package/dist/model/area.js +19 -12
- package/dist/model/bar-custom.js +18 -11
- package/dist/model/bar-group.js +19 -12
- package/dist/model/bar-stack.js +17 -10
- package/dist/model/bar.js +18 -11
- package/dist/model/base-model.js +11 -4
- package/dist/model/basic-number-card.js +20 -13
- package/dist/model/chart.js +13 -7
- package/dist/model/combination.js +22 -15
- package/dist/model/compare-bar.js +21 -14
- package/dist/model/completeness-group.js +18 -11
- package/dist/model/completeness.js +17 -10
- package/dist/model/dashboard.js +14 -7
- package/dist/model/funnel.js +21 -14
- package/dist/model/generic-model.js +143 -135
- package/dist/model/heat-map.js +16 -9
- package/dist/model/horizontal-bar.js +18 -11
- package/dist/model/horizontal-group-bar.js +17 -10
- package/dist/model/index.js +93 -69
- package/dist/model/line-group.js +20 -13
- package/dist/model/line.js +19 -12
- package/dist/model/map-bubble.js +17 -10
- package/dist/model/map.js +19 -12
- package/dist/model/mirror.js +20 -13
- package/dist/model/pie.js +19 -12
- package/dist/model/ring.js +19 -12
- package/dist/model/scatter.js +17 -10
- package/dist/model/stacked-horizontal-bar.js +18 -11
- package/dist/model/table-element.js +12 -5
- package/dist/model/table.js +14 -7
- package/dist/model/tree-map.js +14 -7
- package/dist/model/trend.js +18 -11
- package/dist/model/user.js +7 -1
- package/dist/model/world-map-bubble.js +19 -12
- package/dist/model/world-map.js +19 -12
- package/dist/services/map-json.js +13 -7
- package/dist/settings/advance-bar-settings/data-settings.js +46 -42
- package/dist/settings/advance-bar-settings/index.js +20 -3
- package/dist/settings/advance-bar-settings/style-settings.js +73 -69
- package/dist/settings/bar-settings/data-settings.js +49 -45
- package/dist/settings/bar-settings/index.js +20 -3
- package/dist/settings/bar-settings/style-settings.js +59 -55
- package/dist/settings/basic-number-card/data-settings.js +57 -49
- package/dist/settings/basic-number-card/index.js +20 -3
- package/dist/settings/basic-number-card/style-settings.js +26 -18
- package/dist/settings/combination-settings/data-settings.js +65 -60
- package/dist/settings/combination-settings/index.js +20 -3
- package/dist/settings/combination-settings/style-settings.js +74 -69
- package/dist/settings/completeness-settings/callbacks/callbacks.js +27 -16
- package/dist/settings/completeness-settings/data-settings/completion-settings.js +28 -21
- package/dist/settings/completeness-settings/data-settings/data-settings.js +32 -25
- package/dist/settings/completeness-settings/index.js +20 -3
- package/dist/settings/completeness-settings/style-settings.js +26 -19
- package/dist/settings/dashboard-settings/data-settings.js +51 -43
- package/dist/settings/dashboard-settings/index.js +13 -2
- package/dist/settings/data-settings.js +79 -72
- package/dist/settings/funnel-settings/components/dnd-item/dnd-item.js +19 -12
- package/dist/settings/funnel-settings/components/dnd-list.js +23 -15
- package/dist/settings/funnel-settings/components/funnel-label-setting.js +40 -32
- package/dist/settings/funnel-settings/components/funnel-layer-setting.js +30 -22
- package/dist/settings/funnel-settings/data-settings.js +31 -23
- package/dist/settings/funnel-settings/index.js +20 -3
- package/dist/settings/funnel-settings/style-settings.js +19 -11
- package/dist/settings/heat-map-settings/data-settings.js +26 -18
- package/dist/settings/heat-map-settings/index.js +20 -3
- package/dist/settings/heat-map-settings/style-settings.js +26 -18
- package/dist/settings/horizontal-bar-settings/data-settings.js +19 -12
- package/dist/settings/horizontal-bar-settings/index.js +20 -3
- package/dist/settings/horizontal-bar-settings/style-settings.js +19 -12
- package/dist/settings/index.js +75 -58
- package/dist/settings/map-settings/components/location-field-selector.js +17 -10
- package/dist/settings/map-settings/components/map-level-selector.js +18 -11
- package/dist/settings/map-settings/components/map-province-city-selector.js +26 -19
- package/dist/settings/map-settings/index.js +20 -3
- package/dist/settings/map-settings/map-data-settings.js +30 -23
- package/dist/settings/map-settings/map-style-settings.js +34 -26
- package/dist/settings/mirror-settings/data-settings.js +34 -26
- package/dist/settings/mirror-settings/index.js +13 -2
- package/dist/settings/pie-settings/data-settings.js +41 -33
- package/dist/settings/pie-settings/index.js +20 -3
- package/dist/settings/pie-settings/style-settings.js +55 -47
- package/dist/settings/scatter/data-settings.js +34 -27
- package/dist/settings/scatter/index.js +12 -3
- package/dist/settings/stacks-settings/index.js +27 -19
- package/dist/settings/stacks-settings/stack-item-settings.js +27 -19
- package/dist/settings/style-settings.js +72 -64
- package/dist/settings/table-element-settings/components/data-filter.js +37 -29
- package/dist/settings/table-element-settings/data-settings.js +29 -21
- package/dist/settings/table-element-settings/index.js +13 -2
- package/dist/settings/table-settings/data-settings.js +119 -111
- package/dist/settings/table-settings/index.js +13 -2
- package/dist/settings/time-comparison-settings/data-settings.js +51 -43
- package/dist/settings/time-comparison-settings/index.js +20 -3
- package/dist/settings/time-comparison-settings/style-settings.js +50 -42
- package/dist/settings/trend-settings/data-settings.js +32 -24
- package/dist/settings/trend-settings/index.js +20 -3
- package/dist/settings/trend-settings/style-setting.js +25 -17
- package/dist/settings/widgets/basic-summary/index.js +66 -66
- package/dist/settings/widgets/chart-type/index.js +34 -19
- package/dist/settings/widgets/color-settings/index.js +80 -72
- package/dist/settings/widgets/common-data-settings.js +30 -25
- package/dist/settings/widgets/data-filter/index.js +40 -32
- package/dist/settings/widgets/data-sort.js +24 -16
- package/dist/settings/widgets/date-summary-item.js +32 -24
- package/dist/settings/widgets/display-values-settings/index.js +22 -14
- package/dist/settings/widgets/divider/index.js +16 -8
- package/dist/settings/widgets/font-settings/font-color-settings.js +19 -11
- package/dist/settings/widgets/font-settings/font-size-settings.js +22 -14
- package/dist/settings/widgets/font-settings/font-weight-settings.js +25 -17
- package/dist/settings/widgets/font-settings/index.js +27 -4
- package/dist/settings/widgets/group-by.js +59 -51
- package/dist/settings/widgets/min-max-setting.js +18 -10
- package/dist/settings/widgets/mininum-slice-percent.js +18 -10
- package/dist/settings/widgets/numeric-summary-item.js +31 -23
- package/dist/settings/widgets/select-line-type/index.js +17 -10
- package/dist/settings/widgets/select-table/index.js +16 -9
- package/dist/settings/widgets/select-view/index.js +28 -20
- package/dist/settings/widgets/stack.js +22 -14
- package/dist/settings/widgets/summary-method-setting.js +25 -17
- package/dist/settings/widgets/summary-settings.js +80 -72
- package/dist/settings/widgets/switch/index.js +15 -8
- package/dist/settings/widgets/text-horizontal-settings.js +23 -15
- package/dist/settings/widgets/time-picker.js +37 -29
- package/dist/settings/widgets/title-settings/index.js +37 -29
- package/dist/settings/widgets/title-settings/title-text.js +12 -5
- package/dist/settings/widgets/x-axios.js +1 -0
- package/dist/settings/widgets/y-axis-group-settings.js +71 -63
- package/dist/utils/cell-format-utils.js +29 -19
- package/dist/utils/cell-value-utils.js +11 -4
- package/dist/utils/chart-utils/base-utils.js +290 -279
- package/dist/utils/chart-utils/index.js +39 -26
- package/dist/utils/chart-utils/original-data-utils/basic-chart-calculator.js +84 -77
- package/dist/utils/chart-utils/original-data-utils/card-calculator.js +20 -13
- package/dist/utils/chart-utils/original-data-utils/combination-calculator.js +52 -45
- package/dist/utils/chart-utils/original-data-utils/compare-bar-chart-calculator.js +26 -19
- package/dist/utils/chart-utils/original-data-utils/completeness-calculator.js +39 -32
- package/dist/utils/chart-utils/original-data-utils/dashboard-calculator.js +23 -16
- package/dist/utils/chart-utils/original-data-utils/index.js +57 -50
- package/dist/utils/chart-utils/original-data-utils/mirror-calculator.js +26 -19
- package/dist/utils/chart-utils/original-data-utils/pivot-table-calculator.js +96 -90
- package/dist/utils/chart-utils/original-data-utils/scatter-calculator.js +25 -18
- package/dist/utils/chart-utils/original-data-utils/trend-calculator.js +34 -27
- package/dist/utils/chart-utils/sql-statistics-utils.js +237 -229
- package/dist/utils/chart.js +17 -9
- package/dist/utils/collaborator-manager.js +9 -3
- package/dist/utils/collaborator-utils.js +30 -18
- package/dist/utils/collaborator.js +13 -4
- package/dist/utils/color-utils.js +29 -18
- package/dist/utils/column-utils.js +88 -63
- package/dist/utils/common-utils.js +52 -27
- package/dist/utils/concurrency-manager.js +7 -1
- package/dist/utils/contexts.js +11 -4
- package/dist/utils/custom-g2.js +241 -212
- package/dist/utils/date-translate.js +19 -11
- package/dist/utils/digital-sign-utils.js +14 -7
- package/dist/utils/event-bus.js +7 -1
- package/dist/utils/hotkey.js +11 -5
- package/dist/utils/index.js +219 -53
- package/dist/utils/key-generator.js +9 -2
- package/dist/utils/map.js +31 -22
- package/dist/utils/object-utils.js +7 -1
- package/dist/utils/options-utils.js +16 -8
- package/dist/utils/row-record-utils.js +164 -152
- package/dist/utils/row-utils.js +38 -27
- package/dist/utils/search.js +32 -24
- package/dist/utils/sql/chart-data-sql.js +55 -49
- package/dist/utils/sql/column-2-sql-column.js +153 -143
- package/dist/utils/sql/index.js +27 -3
- package/dist/utils/trend-utils.js +45 -37
- package/dist/view/index.js +96 -87
- package/dist/view/title/index.js +23 -15
- package/dist/view/wrapper/area.js +46 -39
- package/dist/view/wrapper/bar-custom.js +40 -33
- package/dist/view/wrapper/bar-group.js +58 -51
- package/dist/view/wrapper/bar.js +42 -35
- package/dist/view/wrapper/basic-number-card.js +25 -17
- package/dist/view/wrapper/chart-component.js +116 -54
- package/dist/view/wrapper/combination.js +82 -75
- package/dist/view/wrapper/compare.js +57 -50
- package/dist/view/wrapper/completeness.js +32 -24
- package/dist/view/wrapper/dashboard.js +21 -14
- package/dist/view/wrapper/funnel.js +26 -19
- package/dist/view/wrapper/heat-map.js +60 -53
- package/dist/view/wrapper/horizontal-bar-group.js +48 -41
- package/dist/view/wrapper/horizontal-bar.js +39 -32
- package/dist/view/wrapper/horizontal-component.js +23 -15
- package/dist/view/wrapper/index.js +148 -96
- package/dist/view/wrapper/line-group.js +41 -34
- package/dist/view/wrapper/line.js +39 -32
- package/dist/view/wrapper/map.js +54 -46
- package/dist/view/wrapper/mirror.js +38 -31
- package/dist/view/wrapper/pie.js +50 -43
- package/dist/view/wrapper/ring.js +59 -52
- package/dist/view/wrapper/scatter.js +30 -22
- package/dist/view/wrapper/table/index.js +21 -13
- package/dist/view/wrapper/table/one-dimension-table-no-numeric-columns.js +57 -49
- package/dist/view/wrapper/table/one-dimension-table-with-numeric-columns.js +58 -50
- package/dist/view/wrapper/table/pivot-table-display-name.js +90 -82
- package/dist/view/wrapper/table/two-dimension-table.js +84 -76
- package/dist/view/wrapper/table-element/components/dataset-utils.js +36 -23
- package/dist/view/wrapper/table-element/components/formatter.js +98 -89
- package/dist/view/wrapper/table-element/components/formatters/FileFormatter/index.js +31 -22
- package/dist/view/wrapper/table-element/components/formatters/formula-formatter.js +16 -9
- package/dist/view/wrapper/table-element/components/formatters/link-formatter.js +80 -73
- package/dist/view/wrapper/table-element/components/formula-formatter.js +16 -9
- package/dist/view/wrapper/table-element/components/link-formatter.js +80 -73
- package/dist/view/wrapper/table-element/components/record.js +17 -10
- package/dist/view/wrapper/table-element/components/records-body.js +17 -9
- package/dist/view/wrapper/table-element/components/records-header/index.js +16 -8
- package/dist/view/wrapper/table-element/components/records-header/records-header-cell.js +16 -8
- package/dist/view/wrapper/table-element/components/records.js +29 -21
- package/dist/view/wrapper/table-element/components/resize-column-handle/resize-column-handle.js +13 -6
- package/dist/view/wrapper/table-element/components/utils.js +15 -5
- package/dist/view/wrapper/table-element/components/value-display-utils.js +11 -4
- package/dist/view/wrapper/table-element/components/vertical-scrollbar/index.js +13 -6
- package/dist/view/wrapper/table-element/index.js +24 -16
- package/dist/view/wrapper/treemap.js +43 -36
- package/dist/view/wrapper/trend.js +47 -39
- package/dist/view/wrapper/world-map.js +60 -52
- package/dist/view/wrapper/wrappers-d3/bar.js +262 -0
- package/package.json +15 -17
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 = "`".concat(column_name, "`");
|
|
52
58
|
if (summary_method === 'DISTINCT_VALUES') return "COUNT(DISTINCT ".concat(valid_column_name, ")");
|
|
53
59
|
if (summary_method === 'ROW_COUNT') return "COUNT(".concat(valid_column_name, ")");
|
|
54
|
-
return "".concat(DTABLE_DB_SUMMARY_METHOD[summary_method], "(").concat(valid_column_name, ")");
|
|
60
|
+
return "".concat(_constants.DTABLE_DB_SUMMARY_METHOD[summary_method], "(").concat(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 ".concat(groupby_column_name, ", ").concat(group_methods.join(','), " FROM ").concat(this.table_name, " ").concat(this.filter_sql, " GROUP BY ").concat(groupby_column_name, " LIMIT 5000");
|
|
308
314
|
}
|
|
@@ -337,7 +343,7 @@ class ChartDataSQL {
|
|
|
337
343
|
'geolocation_granularity': x_axis_geolocation_granularity
|
|
338
344
|
});
|
|
339
345
|
let summary_column_name = this._summary_column_2_sql('COUNT', groupby_column);
|
|
340
|
-
if (y_axis_summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
|
|
346
|
+
if (y_axis_summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
|
|
341
347
|
const summary_column = this._get_column_by_key(y_axis_summary_column_key);
|
|
342
348
|
if (!summary_column) {
|
|
343
349
|
this.error = 'Summary_column_not_found';
|
|
@@ -350,8 +356,8 @@ class ChartDataSQL {
|
|
|
350
356
|
let filter_sql = this.filter_sql;
|
|
351
357
|
if (x_axis_date_range_start && x_axis_date_range_end && x_axis_compared_date_range_start && x_axis_compared_date_range_end) {
|
|
352
358
|
filter_sql = this.filter_sql.length === 0 ? 'where ' : this.filter_sql + ' AND';
|
|
353
|
-
const formattedXAxisDateRangeEnd =
|
|
354
|
-
const formattedXAxisComparedDateRangeEnd =
|
|
359
|
+
const formattedXAxisDateRangeEnd = (0, _dayjs.default)(x_axis_date_range_end).add(1, 'days').format('YYYY-MM-DD');
|
|
360
|
+
const formattedXAxisComparedDateRangeEnd = (0, _dayjs.default)(x_axis_compared_date_range_end).add(1, 'days').format('YYYY-MM-DD');
|
|
355
361
|
filter_sql = filter_sql + " ((".concat(groupby_column.name, " >= '").concat(x_axis_date_range_start, "' AND ").concat(groupby_column.name, " < '").concat(formattedXAxisDateRangeEnd, "') Or (").concat(groupby_column.name, " >= '").concat(x_axis_compared_date_range_start, "' AND ").concat(groupby_column.name, " < '").concat(formattedXAxisComparedDateRangeEnd, "'))");
|
|
356
362
|
}
|
|
357
363
|
return "SELECT ".concat(groupby_column_name, ", ").concat(summary_column_name, " FROM ").concat(this.table_name, " ").concat(filter_sql, " GROUP BY ").concat(groupby_column_name, " LIMIT 0, 5000");
|
|
@@ -458,7 +464,7 @@ class ChartDataSQL {
|
|
|
458
464
|
const summary_column = this._get_column_by_key(summary_column_key);
|
|
459
465
|
summary_method = summary_method.toUpperCase();
|
|
460
466
|
let summary_column_names = [];
|
|
461
|
-
if (summary_column && (isNumericColumn(summary_column) || isDateColumn(summary_column))) {
|
|
467
|
+
if (summary_column && ((0, _dtableUtils.isNumericColumn)(summary_column) || (0, _dtableUtils.isDateColumn)(summary_column))) {
|
|
462
468
|
const summary_column_name = this._summary_column_2_sql(summary_method, summary_column);
|
|
463
469
|
summary_column_names.push(summary_column_name);
|
|
464
470
|
}
|
|
@@ -469,14 +475,14 @@ class ChartDataSQL {
|
|
|
469
475
|
} = column_option;
|
|
470
476
|
const method = summary_method === null || summary_method === void 0 ? void 0 : summary_method.toUpperCase();
|
|
471
477
|
const column = this._get_column_by_key(column_key);
|
|
472
|
-
if (column && (isNumericColumn(column) || isDateColumn(column))) {
|
|
478
|
+
if (column && ((0, _dtableUtils.isNumericColumn)(column) || (0, _dtableUtils.isDateColumn)(column))) {
|
|
473
479
|
const column_name = this._summary_column_2_sql(method, column);
|
|
474
480
|
summary_column_names.push(column_name);
|
|
475
481
|
}
|
|
476
482
|
});
|
|
477
483
|
|
|
478
484
|
// groupby_column is COLLABORATOR or MULTIPLE_SELECT, replace AVG with SUM, and add 'COUNT(*)'
|
|
479
|
-
if (groupby_column.type === CellType.COLLABORATOR || groupby_column.type === CellType.MULTIPLE_SELECT) {
|
|
485
|
+
if (groupby_column.type === _dtableUtils.CellType.COLLABORATOR || groupby_column.type === _dtableUtils.CellType.MULTIPLE_SELECT) {
|
|
480
486
|
summary_column_names.forEach((item, index) => {
|
|
481
487
|
if (item.startsWith('AVG')) {
|
|
482
488
|
summary_column_names[index] = 'SUM' + item.slice(3);
|
|
@@ -520,7 +526,7 @@ class ChartDataSQL {
|
|
|
520
526
|
let numeric_column_names = [];
|
|
521
527
|
new_numeric_column_keys.forEach(column_key => {
|
|
522
528
|
const column = this._get_column_by_key(column_key);
|
|
523
|
-
if (column && (isNumericColumn(column) || isDateColumn(column))) {
|
|
529
|
+
if (column && ((0, _dtableUtils.isNumericColumn)(column) || (0, _dtableUtils.isDateColumn)(column))) {
|
|
524
530
|
const column_name = this._summary_column_2_sql(summary_method, column);
|
|
525
531
|
numeric_column_names.append(column_name);
|
|
526
532
|
}
|
|
@@ -619,7 +625,7 @@ class ChartDataSQL {
|
|
|
619
625
|
};
|
|
620
626
|
this._basic_number_card_chart_statistic_2_sql = () => {
|
|
621
627
|
const summary_type = this.chart['summary_type'];
|
|
622
|
-
if (summary_type === CHART_Y_GROUP_TYPE.COUNT) {
|
|
628
|
+
if (summary_type === _constants.CHART_Y_GROUP_TYPE.COUNT) {
|
|
623
629
|
return "SELECT COUNT(*) FROM ".concat(this.table_name, " ").concat(this.filter_sql, " LIMIT 0, 5000");
|
|
624
630
|
}
|
|
625
631
|
const numeric_column_key = this.chart['numeric_column_key'] || '';
|
|
@@ -765,7 +771,7 @@ class ChartDataSQL {
|
|
|
765
771
|
this.error = 'Geo_column_not_found';
|
|
766
772
|
return '';
|
|
767
773
|
}
|
|
768
|
-
const geolocation_granularity = fixGeoGranularity(map_level, map_location);
|
|
774
|
+
const geolocation_granularity = (0, _map.fixGeoGranularity)(map_level, map_location);
|
|
769
775
|
this._update_filter_sql(false, groupby_column);
|
|
770
776
|
|
|
771
777
|
// map do not have date column ,so date_granularity is not needed
|
|
@@ -807,7 +813,7 @@ class ChartDataSQL {
|
|
|
807
813
|
'geolocation_granularity': ''
|
|
808
814
|
});
|
|
809
815
|
let summary_column_name = this._summary_column_2_sql('COUNT', groupby_column);
|
|
810
|
-
if (summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
|
|
816
|
+
if (summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
|
|
811
817
|
const summary_column = this._get_column_by_key(summary_column_key);
|
|
812
818
|
if (!summary_column) {
|
|
813
819
|
this.error = 'Summary_column_not_found';
|
|
@@ -824,14 +830,14 @@ class ChartDataSQL {
|
|
|
824
830
|
error: this.error
|
|
825
831
|
};
|
|
826
832
|
}
|
|
827
|
-
if ([CHART_TYPE.BAR, CHART_TYPE.LINE, CHART_TYPE.HORIZONTAL_BAR, CHART_TYPE.AREA, CHART_TYPE.FUNNEL].includes(this.chart_type)) {
|
|
833
|
+
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)) {
|
|
828
834
|
const sql = this._basic_statistic_2_sql();
|
|
829
835
|
return {
|
|
830
836
|
sql,
|
|
831
837
|
error: this.error
|
|
832
838
|
};
|
|
833
839
|
}
|
|
834
|
-
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)) {
|
|
840
|
+
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)) {
|
|
835
841
|
const column_groupby_column_key = this.chart['column_groupby_column_key'] || '';
|
|
836
842
|
const column_groupby_multiple_numeric_column = this.chart['column_groupby_multiple_numeric_column'] || false;
|
|
837
843
|
if (!(column_groupby_column_key || column_groupby_multiple_numeric_column)) {
|
|
@@ -847,63 +853,63 @@ class ChartDataSQL {
|
|
|
847
853
|
error: this.error
|
|
848
854
|
};
|
|
849
855
|
}
|
|
850
|
-
if (this.chart_type === CHART_TYPE.COMPLETENESS || this.chart_type === CHART_TYPE.COMPLETENESS_GROUP) {
|
|
856
|
+
if (this.chart_type === _constants.CHART_TYPE.COMPLETENESS || this.chart_type === _constants.CHART_TYPE.COMPLETENESS_GROUP) {
|
|
851
857
|
const sql = this._completeness_chart_statistic_2_sql();
|
|
852
858
|
return {
|
|
853
859
|
sql,
|
|
854
860
|
error: this.error
|
|
855
861
|
};
|
|
856
862
|
}
|
|
857
|
-
if (this.chart_type === CHART_TYPE.SCATTER) {
|
|
863
|
+
if (this.chart_type === _constants.CHART_TYPE.SCATTER) {
|
|
858
864
|
const sql = this._scatter_statistic_2_sql();
|
|
859
865
|
return {
|
|
860
866
|
sql,
|
|
861
867
|
error: this.error
|
|
862
868
|
};
|
|
863
869
|
}
|
|
864
|
-
if (this.chart_type === CHART_TYPE.BAR_CUSTOM) {
|
|
870
|
+
if (this.chart_type === _constants.CHART_TYPE.BAR_CUSTOM) {
|
|
865
871
|
const sql = this._custom_statistic_2_sql();
|
|
866
872
|
return {
|
|
867
873
|
sql,
|
|
868
874
|
error: this.error
|
|
869
875
|
};
|
|
870
876
|
}
|
|
871
|
-
if (this.chart_type === CHART_TYPE.COMPARE_BAR) {
|
|
877
|
+
if (this.chart_type === _constants.CHART_TYPE.COMPARE_BAR) {
|
|
872
878
|
const sql = this._compare_chart_statistic_2_sql();
|
|
873
879
|
return {
|
|
874
880
|
sql,
|
|
875
881
|
error: this.error
|
|
876
882
|
};
|
|
877
883
|
}
|
|
878
|
-
if (this.chart_type === CHART_TYPE.COMBINATION) {
|
|
884
|
+
if (this.chart_type === _constants.CHART_TYPE.COMBINATION) {
|
|
879
885
|
const sql = this._combination_chart_statistic_2_sql();
|
|
880
886
|
return {
|
|
881
887
|
sql,
|
|
882
888
|
error: this.error
|
|
883
889
|
};
|
|
884
890
|
}
|
|
885
|
-
if ([CHART_TYPE.PIE, CHART_TYPE.RING, CHART_TYPE.TREE_MAP].includes(this.chart_type)) {
|
|
891
|
+
if ([_constants.CHART_TYPE.PIE, _constants.CHART_TYPE.RING, _constants.CHART_TYPE.TREE_MAP].includes(this.chart_type)) {
|
|
886
892
|
const sql = this._pie_chart_statistic_2_sql();
|
|
887
893
|
return {
|
|
888
894
|
sql,
|
|
889
895
|
error: this.error
|
|
890
896
|
};
|
|
891
897
|
}
|
|
892
|
-
if (this.chart_type === CHART_TYPE.BASIC_NUMBER_CARD) {
|
|
898
|
+
if (this.chart_type === _constants.CHART_TYPE.BASIC_NUMBER_CARD) {
|
|
893
899
|
const sql = this._basic_number_card_chart_statistic_2_sql();
|
|
894
900
|
return {
|
|
895
901
|
sql,
|
|
896
902
|
error: this.error
|
|
897
903
|
};
|
|
898
904
|
}
|
|
899
|
-
if (this.chart_type === CHART_TYPE.DASHBOARD) {
|
|
905
|
+
if (this.chart_type === _constants.CHART_TYPE.DASHBOARD) {
|
|
900
906
|
const sql = this._dashboard_chart_statistic_2_sql();
|
|
901
907
|
return {
|
|
902
908
|
sql,
|
|
903
909
|
error: this.error
|
|
904
910
|
};
|
|
905
911
|
}
|
|
906
|
-
const mapChart = [CHART_TYPE.MAP, CHART_TYPE.MAP_BUBBLE];
|
|
912
|
+
const mapChart = [_constants.CHART_TYPE.MAP, _constants.CHART_TYPE.MAP_BUBBLE];
|
|
907
913
|
if (mapChart.includes(this.chart_type)) {
|
|
908
914
|
const sql = this._map_statistic_2_sql();
|
|
909
915
|
return {
|
|
@@ -911,7 +917,7 @@ class ChartDataSQL {
|
|
|
911
917
|
error: this.error
|
|
912
918
|
};
|
|
913
919
|
}
|
|
914
|
-
if (this.chart_type === CHART_TYPE.TABLE) {
|
|
920
|
+
if (this.chart_type === _constants.CHART_TYPE.TABLE) {
|
|
915
921
|
const column_groupby_column_key = this.chart['column_groupby_column_key'] || '';
|
|
916
922
|
const groupby_column_key = this.chart['groupby_column_key'] || '';
|
|
917
923
|
if (!groupby_column_key) {
|
|
@@ -933,28 +939,28 @@ class ChartDataSQL {
|
|
|
933
939
|
error: this.error
|
|
934
940
|
};
|
|
935
941
|
}
|
|
936
|
-
if ([CHART_TYPE.WORLD_MAP, CHART_TYPE.WORLD_MAP_BUBBLE].includes(this.chart_type)) {
|
|
942
|
+
if ([_constants.CHART_TYPE.WORLD_MAP, _constants.CHART_TYPE.WORLD_MAP_BUBBLE].includes(this.chart_type)) {
|
|
937
943
|
const sql = this._world_map_basic_statistic_2_sql();
|
|
938
944
|
return {
|
|
939
945
|
sql,
|
|
940
946
|
error: this.error
|
|
941
947
|
};
|
|
942
948
|
}
|
|
943
|
-
if (this.chart_type === CHART_TYPE.HEAT_MAP) {
|
|
949
|
+
if (this.chart_type === _constants.CHART_TYPE.HEAT_MAP) {
|
|
944
950
|
const sql = this._heat_map_statistic_2_sql();
|
|
945
951
|
return {
|
|
946
952
|
sql,
|
|
947
953
|
error: this.error
|
|
948
954
|
};
|
|
949
955
|
}
|
|
950
|
-
if (this.chart_type === CHART_TYPE.MIRROR) {
|
|
956
|
+
if (this.chart_type === _constants.CHART_TYPE.MIRROR) {
|
|
951
957
|
const sql = this._mirror_map_statistic_2_sql();
|
|
952
958
|
return {
|
|
953
959
|
sql,
|
|
954
960
|
error: this.error
|
|
955
961
|
};
|
|
956
962
|
}
|
|
957
|
-
if (this.chart_type === CHART_TYPE.TREND) {
|
|
963
|
+
if (this.chart_type === _constants.CHART_TYPE.TREND) {
|
|
958
964
|
const sql = this._trend_map_statistic_2_sql();
|
|
959
965
|
return {
|
|
960
966
|
sql,
|
|
@@ -971,10 +977,10 @@ class ChartDataSQL {
|
|
|
971
977
|
const {
|
|
972
978
|
type
|
|
973
979
|
} = column || {};
|
|
974
|
-
if (type === CellType.SINGLE_SELECT || type === CellType.MULTIPLE_SELECT) {
|
|
980
|
+
if (type === _dtableUtils.CellType.SINGLE_SELECT || type === _dtableUtils.CellType.MULTIPLE_SELECT) {
|
|
975
981
|
return "'".concat(name, "'");
|
|
976
982
|
}
|
|
977
|
-
if (type === CellType.NUMBER) {
|
|
983
|
+
if (type === _dtableUtils.CellType.NUMBER) {
|
|
978
984
|
const newName = Number(name);
|
|
979
985
|
if (!Number.isNaN(newName)) {
|
|
980
986
|
return newName;
|
|
@@ -1002,7 +1008,7 @@ class ChartDataSQL {
|
|
|
1002
1008
|
groupName,
|
|
1003
1009
|
selectedColumn,
|
|
1004
1010
|
columnSelectedColumn
|
|
1005
|
-
} = getDatabaseGroupName(statItem.config, this.table);
|
|
1011
|
+
} = (0, _column2SqlColumn.getDatabaseGroupName)(statItem.config, this.table);
|
|
1006
1012
|
let isGroup = column_groupby_column_key && !column_groupby_multiple_numeric_column;
|
|
1007
1013
|
let {
|
|
1008
1014
|
name,
|
|
@@ -1012,10 +1018,10 @@ class ChartDataSQL {
|
|
|
1012
1018
|
} = statisticRecord;
|
|
1013
1019
|
|
|
1014
1020
|
// No grouping required type
|
|
1015
|
-
if ([CHART_TYPE.COMPLETENESS_GROUP].includes(type)) {
|
|
1021
|
+
if ([_constants.CHART_TYPE.COMPLETENESS_GROUP].includes(type)) {
|
|
1016
1022
|
isGroup = false;
|
|
1017
1023
|
}
|
|
1018
|
-
if ([CHART_TYPE.PIE, CHART_TYPE.RING, CHART_TYPE.TREE_MAP].includes(type)) {
|
|
1024
|
+
if ([_constants.CHART_TYPE.PIE, _constants.CHART_TYPE.RING, _constants.CHART_TYPE.TREE_MAP].includes(type)) {
|
|
1019
1025
|
name = name.trim();
|
|
1020
1026
|
}
|
|
1021
1027
|
let sqlName = this.get_sql_group_name(name, original_name, selectedColumn);
|
|
@@ -1024,7 +1030,7 @@ class ChartDataSQL {
|
|
|
1024
1030
|
sqlGroupName = this.get_sql_group_name(group_name, group_original_name, columnSelectedColumn);
|
|
1025
1031
|
}
|
|
1026
1032
|
let sqlString;
|
|
1027
|
-
if (type === CHART_TYPE.TABLE) {
|
|
1033
|
+
if (type === _constants.CHART_TYPE.TABLE) {
|
|
1028
1034
|
let pivotGroupName = "".concat(isGroup ? "".concat(columnGroupName, "=").concat(sqlGroupName) : '');
|
|
1029
1035
|
if (isColumn) {
|
|
1030
1036
|
if (this.filter_sql && pivotGroupName) {
|
|
@@ -1074,7 +1080,7 @@ class ChartDataSQL {
|
|
|
1074
1080
|
Array.isArray(table.columns) && table.columns.forEach(column => {
|
|
1075
1081
|
this.column_key_map[column.key] = column;
|
|
1076
1082
|
});
|
|
1077
|
-
this.filter_sql = filter2SqlCondition(table, view, username, userId, userDepartmentIdsMap);
|
|
1083
|
+
this.filter_sql = (0, _dtableUtils.filter2SqlCondition)(table, view, username, userId, userDepartmentIdsMap);
|
|
1078
1084
|
}
|
|
1079
1085
|
}
|
|
1080
|
-
|
|
1086
|
+
var _default = exports.default = ChartDataSQL;
|