@gingkoo/pandora-metabase 1.0.23 → 1.0.25
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/lib/cjs/common/SplitView/index.js +12 -11
- package/lib/cjs/components/dialog/custom-column/expression-editor.js +2 -1
- package/lib/cjs/components/dialog/custom-column/tokenizedI-input.js +2 -1
- package/lib/cjs/components/dialog/custom-editor/index.js +2 -1
- package/lib/cjs/components/dialog/expression/index.js +13 -12
- package/lib/cjs/components/dialog/formula/index.d.ts +10 -0
- package/lib/cjs/components/dialog/formula/index.js +242 -0
- package/lib/cjs/components/dialog/formula/index.less +81 -0
- package/lib/cjs/components/dialog/formula/utils.d.ts +7 -0
- package/lib/cjs/components/dialog/formula/utils.js +45 -0
- package/lib/cjs/components/dialog/formula-list/index.d.ts +3 -1
- package/lib/cjs/components/dialog/formula-list/index.js +107 -43
- package/lib/cjs/components/dialog/formula-list/utils.d.ts +14 -1
- package/lib/cjs/components/dialog/formula-list/utils.js +159 -2
- package/lib/cjs/components/dialog/index.d.ts +1 -0
- package/lib/cjs/components/dialog/index.js +9 -2
- package/lib/cjs/components/dialog/select-column/index.js +6 -13
- package/lib/cjs/components/dialog/select-column-multiple/index.js +0 -1
- package/lib/cjs/components/dialog/select-table/index.js +7 -7
- package/lib/cjs/components/icons.js +36 -36
- package/lib/cjs/components/metabase/index.js +6 -6
- package/lib/cjs/components/metabase/index.less +10 -0
- package/lib/cjs/components/modules/components/Wrapper.js +6 -6
- package/lib/cjs/components/modules/custom-column.js +4 -4
- package/lib/cjs/components/modules/enum/filter-enum.d.ts +7 -2
- package/lib/cjs/components/modules/enum/filter-enum.js +8 -2
- package/lib/cjs/components/modules/join-data.js +78 -36
- package/lib/cjs/components/modules/summarize/group-by.js +6 -13
- package/lib/cjs/components/modules/summarize/select-index.js +6 -13
- package/lib/cjs/components/modules/table-data.js +9 -16
- package/lib/cjs/components/popup.js +2 -1
- package/lib/cjs/hooks/patch.js +106 -76
- package/lib/cjs/hooks/use-state.js +100 -65
- package/lib/cjs/index.js +5 -2
- package/lib/cjs/locale/en.js +6 -3
- package/lib/cjs/locale/zh.js +6 -3
- package/lib/cjs/store/helper.d.ts +1 -2
- package/lib/cjs/store/helper.js +1 -76
- package/lib/cjs/store/types.d.ts +36 -2
- package/lib/cjs/store/types.js +3 -0
- package/lib/cjs/types.d.ts +2 -1
- package/lib/cjs/utils.d.ts +1 -0
- package/lib/cjs/utils.js +16 -2
- package/lib/es/common/SplitView/index.js +10 -10
- package/lib/es/components/dialog/custom-editor/index.js +2 -1
- package/lib/es/components/dialog/expression/index.js +11 -11
- package/lib/es/components/dialog/formula/index.d.ts +10 -0
- package/lib/es/components/dialog/formula/index.js +236 -0
- package/lib/es/components/dialog/formula/index.less +81 -0
- package/lib/es/components/dialog/formula/utils.d.ts +7 -0
- package/lib/es/components/dialog/formula/utils.js +37 -0
- package/lib/es/components/dialog/formula-list/index.d.ts +3 -1
- package/lib/es/components/dialog/formula-list/index.js +104 -40
- package/lib/es/components/dialog/formula-list/utils.d.ts +14 -1
- package/lib/es/components/dialog/formula-list/utils.js +160 -2
- package/lib/es/components/dialog/index.d.ts +1 -0
- package/lib/es/components/dialog/index.js +2 -1
- package/lib/es/components/dialog/select-column/index.js +7 -14
- package/lib/es/components/dialog/select-column-multiple/index.js +0 -1
- package/lib/es/components/dialog/select-table/index.js +7 -7
- package/lib/es/components/icons.js +36 -36
- package/lib/es/components/metabase/index.js +6 -6
- package/lib/es/components/metabase/index.less +10 -0
- package/lib/es/components/modules/components/Wrapper.js +6 -6
- package/lib/es/components/modules/custom-column.js +4 -4
- package/lib/es/components/modules/enum/filter-enum.d.ts +7 -2
- package/lib/es/components/modules/enum/filter-enum.js +8 -2
- package/lib/es/components/modules/join-data.js +78 -36
- package/lib/es/components/modules/summarize/group-by.js +7 -14
- package/lib/es/components/modules/summarize/select-index.js +7 -14
- package/lib/es/components/modules/table-data.js +10 -17
- package/lib/es/hooks/patch.js +105 -75
- package/lib/es/hooks/use-state.js +101 -66
- package/lib/es/index.js +3 -1
- package/lib/es/locale/en.js +6 -3
- package/lib/es/locale/zh.js +6 -3
- package/lib/es/store/helper.d.ts +1 -2
- package/lib/es/store/helper.js +0 -75
- package/lib/es/store/types.d.ts +36 -2
- package/lib/es/store/types.js +3 -0
- package/lib/es/types.d.ts +2 -1
- package/lib/es/types.js +18 -1
- package/lib/es/utils.d.ts +1 -0
- package/lib/es/utils.js +13 -1
- package/package.json +2 -2
- package/lib/cjs/components/dialog/formula-list/enum.d.ts +0 -39
- package/lib/cjs/components/dialog/formula-list/enum.js +0 -123
- package/lib/es/components/dialog/formula-list/enum.d.ts +0 -39
- package/lib/es/components/dialog/formula-list/enum.js +0 -117
package/lib/cjs/hooks/patch.js
CHANGED
|
@@ -11,33 +11,35 @@ var _utils = require("../utils");
|
|
|
11
11
|
var _types = require("../store/types");
|
|
12
12
|
var _enum = require("../store/enum");
|
|
13
13
|
var dataPatch = exports.dataPatch = function dataPatch(newMeta) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if (item
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
14
|
+
// let item = newMeta.expressions?.[0] || {};
|
|
15
|
+
// if (item?.type && Object.values(AtomsTypeEnum).includes(item.type)) {
|
|
16
|
+
// if (item.type === AtomsTypeEnum.EXPRESSION && item.lhs) {
|
|
17
|
+
// return newMeta;
|
|
18
|
+
// }
|
|
19
|
+
// }
|
|
21
20
|
newMeta.subquery = _patchMetas(newMeta.subquery);
|
|
22
21
|
return newMeta;
|
|
23
22
|
};
|
|
24
23
|
var joinDataPatch = exports.joinDataPatch = function joinDataPatch(newMeta) {
|
|
25
|
-
var
|
|
26
|
-
|
|
27
|
-
if (item
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
24
|
+
var _fields, _fields2, _fields3, _fields4, _newMeta$expressions;
|
|
25
|
+
// let item = newMeta.expressions?.[0] || {};
|
|
26
|
+
// if (item?.type && Object.values(AtomsTypeEnum).includes(item.type)) {
|
|
27
|
+
// if (
|
|
28
|
+
// (item.type === AtomsTypeEnum.EXPRESSION || item.type === AtomsTypeEnum.JOIN_DEFAULT) &&
|
|
29
|
+
// item.lhs
|
|
30
|
+
// ) {
|
|
31
|
+
// return newMeta;
|
|
32
|
+
// }
|
|
33
|
+
// if (item.type === AtomsTypeEnum.EXISTS && !item.tableUuid) {
|
|
34
|
+
// return newMeta;
|
|
35
|
+
// }
|
|
36
|
+
// if (item.type === AtomsTypeEnum.NOT_EXISTS && !item.tableUuid) {
|
|
37
|
+
// return newMeta;
|
|
38
|
+
// }
|
|
39
|
+
// if (item.type === AtomsTypeEnum.FIELD && item.fieldName) {
|
|
40
|
+
// return newMeta;
|
|
41
|
+
// }
|
|
42
|
+
// }
|
|
41
43
|
// if (
|
|
42
44
|
// newMeta.expressions?.[0]?.type &&
|
|
43
45
|
// Object.values(AtomsTypeEnum).includes(newMeta.expressions[0].type)
|
|
@@ -127,7 +129,7 @@ var joinDataPatch = exports.joinDataPatch = function joinDataPatch(newMeta) {
|
|
|
127
129
|
type: 'default' // 默认是字段模式
|
|
128
130
|
}];
|
|
129
131
|
}
|
|
130
|
-
var expressions = ((_newMeta$
|
|
132
|
+
var expressions = ((_newMeta$expressions = newMeta.expressions) === null || _newMeta$expressions === void 0 ? void 0 : _newMeta$expressions.map(function (v) {
|
|
131
133
|
var _left_fields, _right_fields;
|
|
132
134
|
var left_fields = v.left_fields || [];
|
|
133
135
|
var right_fields = v.right_fields || [];
|
|
@@ -268,23 +270,23 @@ var joinDataPatch = exports.joinDataPatch = function joinDataPatch(newMeta) {
|
|
|
268
270
|
return newMeta;
|
|
269
271
|
};
|
|
270
272
|
var filterPatch = exports.filterPatch = function filterPatch(newMeta) {
|
|
271
|
-
var _newMeta$filter
|
|
272
|
-
|
|
273
|
-
if (item
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
}
|
|
287
|
-
var _filter = (_newMeta$
|
|
273
|
+
var _newMeta$filter;
|
|
274
|
+
// let item = newMeta.filter?.[0] || {};
|
|
275
|
+
// if (item?.type && Object.values(AtomsTypeEnum).includes(item.type)) {
|
|
276
|
+
// if (item.type === AtomsTypeEnum.EXPRESSION && item.lhs) {
|
|
277
|
+
// return newMeta;
|
|
278
|
+
// }
|
|
279
|
+
// if (item.type === AtomsTypeEnum.EXISTS && !item.tableUuid) {
|
|
280
|
+
// return newMeta;
|
|
281
|
+
// }
|
|
282
|
+
// if (item.type === AtomsTypeEnum.NOT_EXISTS && !item.tableUuid) {
|
|
283
|
+
// return newMeta;
|
|
284
|
+
// }
|
|
285
|
+
// if (item.type === AtomsTypeEnum.FIELD && item.fieldName) {
|
|
286
|
+
// return newMeta;
|
|
287
|
+
// }
|
|
288
|
+
// }
|
|
289
|
+
var _filter = (_newMeta$filter = newMeta.filter) === null || _newMeta$filter === void 0 ? void 0 : _newMeta$filter.map(function (v) {
|
|
288
290
|
// 表达式
|
|
289
291
|
var tem;
|
|
290
292
|
if (typeof v === 'string') {
|
|
@@ -376,23 +378,23 @@ var filterPatch = exports.filterPatch = function filterPatch(newMeta) {
|
|
|
376
378
|
return newMeta;
|
|
377
379
|
};
|
|
378
380
|
var customColumnPatch = exports.customColumnPatch = function customColumnPatch(newMeta) {
|
|
379
|
-
var _newMeta$customColumn
|
|
380
|
-
|
|
381
|
-
if (item
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
}
|
|
395
|
-
newMeta.customColumn = (newMeta === null || newMeta === void 0 || (_newMeta$
|
|
381
|
+
var _newMeta$customColumn;
|
|
382
|
+
// let item = newMeta.customColumn?.[0]?.formulaList?.[0] || {};
|
|
383
|
+
// if (item?.type && Object.values(AtomsTypeEnum).includes(item.type)) {
|
|
384
|
+
// if (item.type === AtomsTypeEnum.EXPRESSION && item.lhs) {
|
|
385
|
+
// return newMeta;
|
|
386
|
+
// }
|
|
387
|
+
// if (item.type === AtomsTypeEnum.EXISTS && !item.tableUuid) {
|
|
388
|
+
// return newMeta;
|
|
389
|
+
// }
|
|
390
|
+
// if (item.type === AtomsTypeEnum.NOT_EXISTS && !item.tableUuid) {
|
|
391
|
+
// return newMeta;
|
|
392
|
+
// }
|
|
393
|
+
// if (item.type === AtomsTypeEnum.FIELD && item.fieldName) {
|
|
394
|
+
// return newMeta;
|
|
395
|
+
// }
|
|
396
|
+
// }
|
|
397
|
+
newMeta.customColumn = (newMeta === null || newMeta === void 0 || (_newMeta$customColumn = newMeta.customColumn) === null || _newMeta$customColumn === void 0 ? void 0 : _newMeta$customColumn.map(function (v) {
|
|
396
398
|
var _formulaList = v.formulaList.map(function (formula) {
|
|
397
399
|
var tem = formula;
|
|
398
400
|
if (formula.type === 'expression') {
|
|
@@ -509,23 +511,23 @@ var customColumnPatch = exports.customColumnPatch = function customColumnPatch(n
|
|
|
509
511
|
return newMeta;
|
|
510
512
|
};
|
|
511
513
|
var sortPatch = exports.sortPatch = function sortPatch(newMeta) {
|
|
512
|
-
var _newMeta$sort
|
|
513
|
-
|
|
514
|
-
if (item
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
}
|
|
528
|
-
var _sort = (_newMeta$
|
|
514
|
+
var _newMeta$sort;
|
|
515
|
+
// let item = newMeta.sort?.[0].expression?.[0] || {};
|
|
516
|
+
// if (item?.type && Object.values(AtomsTypeEnum).includes(item.type)) {
|
|
517
|
+
// if (item.type === AtomsTypeEnum.EXPRESSION && item.lhs) {
|
|
518
|
+
// return newMeta;
|
|
519
|
+
// }
|
|
520
|
+
// if (item.type === AtomsTypeEnum.EXISTS && !item.tableUuid) {
|
|
521
|
+
// return newMeta;
|
|
522
|
+
// }
|
|
523
|
+
// if (item.type === AtomsTypeEnum.NOT_EXISTS && !item.tableUuid) {
|
|
524
|
+
// return newMeta;
|
|
525
|
+
// }
|
|
526
|
+
// if (item.type === AtomsTypeEnum.FIELD && item.fieldName) {
|
|
527
|
+
// return newMeta;
|
|
528
|
+
// }
|
|
529
|
+
// }
|
|
530
|
+
var _sort = (_newMeta$sort = newMeta.sort) === null || _newMeta$sort === void 0 ? void 0 : _newMeta$sort.map(function (v) {
|
|
529
531
|
return {
|
|
530
532
|
expression: [{
|
|
531
533
|
fieldName: v.name,
|
|
@@ -550,6 +552,9 @@ var sortPatch = exports.sortPatch = function sortPatch(newMeta) {
|
|
|
550
552
|
};
|
|
551
553
|
var _patchMetas = exports.patchMetas = function patchMetas(items) {
|
|
552
554
|
return (items === null || items === void 0 ? void 0 : items.map(function (v) {
|
|
555
|
+
if (v.type === _enum.TypeEnum.data) {
|
|
556
|
+
v = dataPatch(v);
|
|
557
|
+
}
|
|
553
558
|
if (v.type === _enum.TypeEnum.joinData) {
|
|
554
559
|
v = joinDataPatch(v);
|
|
555
560
|
}
|
|
@@ -567,4 +572,29 @@ var _patchMetas = exports.patchMetas = function patchMetas(items) {
|
|
|
567
572
|
}
|
|
568
573
|
return v;
|
|
569
574
|
})) || [];
|
|
570
|
-
};
|
|
575
|
+
};
|
|
576
|
+
// export const patchMetas1 = (items: MetaListType[]) => {
|
|
577
|
+
// return (
|
|
578
|
+
// items?.map((v: MetaListType): MetaListType => {
|
|
579
|
+
// // if (v.type === TypeEnum.data) {
|
|
580
|
+
// // v = dataPatch(v);
|
|
581
|
+
// // }
|
|
582
|
+
// // if (v.type === TypeEnum.joinData) {
|
|
583
|
+
// // v = joinDataPatch(v);
|
|
584
|
+
// // }
|
|
585
|
+
// // if (v.type === TypeEnum.filter) {
|
|
586
|
+
// // v = filterPatch(v);
|
|
587
|
+
// // }
|
|
588
|
+
// // if (v.type === TypeEnum.sort) {
|
|
589
|
+
// // v = sortPatch(v);
|
|
590
|
+
// // }
|
|
591
|
+
// // if (v.type === TypeEnum.customColumn) {
|
|
592
|
+
// // v = customColumnPatch(v);
|
|
593
|
+
// // }
|
|
594
|
+
// if (v.type === TypeEnum.union) {
|
|
595
|
+
// v.subquery = patchMetas(v.subquery || []);
|
|
596
|
+
// }
|
|
597
|
+
// return v;
|
|
598
|
+
// }) || []
|
|
599
|
+
// );
|
|
600
|
+
// };
|
|
@@ -62,65 +62,69 @@ var useStore = function useStore() {
|
|
|
62
62
|
toolbar = _useState8[0],
|
|
63
63
|
setToolbar = _useState8[1]; //工具列表
|
|
64
64
|
var _useState9 = (0, _react.useState)('${name}'),
|
|
65
|
-
|
|
66
|
-
fieldNameTpl =
|
|
67
|
-
setFieldNameTpl =
|
|
68
|
-
var
|
|
69
|
-
_useState10 = (0, _slicedToArray2["default"])(_useState1, 2),
|
|
70
|
-
tableNameTpl = _useState10[0],
|
|
71
|
-
setTableNameTpl = _useState10[1]; //显示字段
|
|
72
|
-
var _useState11 = (0, _react.useState)([]),
|
|
65
|
+
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
66
|
+
fieldNameTpl = _useState10[0],
|
|
67
|
+
setFieldNameTpl = _useState10[1]; //显示字段
|
|
68
|
+
var _useState11 = (0, _react.useState)('${name}'),
|
|
73
69
|
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
74
|
-
|
|
75
|
-
|
|
70
|
+
tableNameTpl = _useState12[0],
|
|
71
|
+
setTableNameTpl = _useState12[1]; //显示字段
|
|
76
72
|
var _useState13 = (0, _react.useState)([]),
|
|
77
73
|
_useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
var _useState15 = (0, _react.useState)(
|
|
74
|
+
sourceList = _useState14[0],
|
|
75
|
+
setSourceList = _useState14[1]; //数据源列表
|
|
76
|
+
var _useState15 = (0, _react.useState)([]),
|
|
81
77
|
_useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
var _useState17 = (0, _react.useState)(
|
|
78
|
+
constantList = _useState16[0],
|
|
79
|
+
setConstantList = _useState16[1]; //常量列表
|
|
80
|
+
var _useState17 = (0, _react.useState)([]),
|
|
85
81
|
_useState18 = (0, _slicedToArray2["default"])(_useState17, 2),
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
var _useState19 = (0, _react.useState)(
|
|
82
|
+
formulaTemplates = _useState18[0],
|
|
83
|
+
setFormulaTemplates = _useState18[1]; //公式配置数组
|
|
84
|
+
var _useState19 = (0, _react.useState)(false),
|
|
89
85
|
_useState20 = (0, _slicedToArray2["default"])(_useState19, 2),
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
var _useState21 = (0, _react.useState)(
|
|
86
|
+
ignoreGroupByType = _useState20[0],
|
|
87
|
+
setIgnoreGroupByType = _useState20[1]; // 忽略groupBy类型
|
|
88
|
+
var _useState21 = (0, _react.useState)(false),
|
|
93
89
|
_useState22 = (0, _slicedToArray2["default"])(_useState21, 2),
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
var _useState23 = (0, _react.useState)(
|
|
90
|
+
filterCustomType = _useState22[0],
|
|
91
|
+
setfilterCustomType = _useState22[1]; // 过滤器自定义类型
|
|
92
|
+
var _useState23 = (0, _react.useState)({}),
|
|
97
93
|
_useState24 = (0, _slicedToArray2["default"])(_useState23, 2),
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
var _useState25 = (0, _react.useState)({
|
|
94
|
+
_cacheSource2TableMap = _useState24[0],
|
|
95
|
+
set_cacheSource2TableMap = _useState24[1]; //数据源id 对应数据集列表
|
|
96
|
+
var _useState25 = (0, _react.useState)({}),
|
|
97
|
+
_useState26 = (0, _slicedToArray2["default"])(_useState25, 2),
|
|
98
|
+
_cacheColumnsMap = _useState26[0],
|
|
99
|
+
set_cacheColumnsMap = _useState26[1]; //数据源id 对应数据集列表
|
|
100
|
+
var _useState27 = (0, _react.useState)(defaultMeta),
|
|
101
|
+
_useState28 = (0, _slicedToArray2["default"])(_useState27, 2),
|
|
102
|
+
metaList = _useState28[0],
|
|
103
|
+
_setMeta = _useState28[1]; //数据源id 对应数据集列表
|
|
104
|
+
var _useState29 = (0, _react.useState)({
|
|
101
105
|
visible: false,
|
|
102
106
|
node: null,
|
|
103
107
|
content: null
|
|
104
108
|
}),
|
|
105
|
-
|
|
106
|
-
popupData =
|
|
107
|
-
setPopup =
|
|
108
|
-
var
|
|
109
|
+
_useState30 = (0, _slicedToArray2["default"])(_useState29, 2),
|
|
110
|
+
popupData = _useState30[0],
|
|
111
|
+
setPopup = _useState30[1]; //弹窗
|
|
112
|
+
var _useState31 = (0, _react.useState)({
|
|
109
113
|
visible: false,
|
|
110
114
|
node: null,
|
|
111
115
|
content: null
|
|
112
116
|
}),
|
|
113
|
-
_useState28 = (0, _slicedToArray2["default"])(_useState27, 2),
|
|
114
|
-
popupData2 = _useState28[0],
|
|
115
|
-
setPopup2 = _useState28[1]; //弹窗
|
|
116
|
-
var _useState29 = (0, _react.useState)(true),
|
|
117
|
-
_useState30 = (0, _slicedToArray2["default"])(_useState29, 2),
|
|
118
|
-
popupClosable = _useState30[0],
|
|
119
|
-
setClosable = _useState30[1]; //是否可关闭 如果弹框里面再弹框 则不可关闭
|
|
120
|
-
var _useState31 = (0, _react.useState)(true),
|
|
121
117
|
_useState32 = (0, _slicedToArray2["default"])(_useState31, 2),
|
|
122
|
-
|
|
123
|
-
|
|
118
|
+
popupData2 = _useState32[0],
|
|
119
|
+
setPopup2 = _useState32[1]; //弹窗
|
|
120
|
+
var _useState33 = (0, _react.useState)(true),
|
|
121
|
+
_useState34 = (0, _slicedToArray2["default"])(_useState33, 2),
|
|
122
|
+
popupClosable = _useState34[0],
|
|
123
|
+
setClosable = _useState34[1]; //是否可关闭 如果弹框里面再弹框 则不可关闭
|
|
124
|
+
var _useState35 = (0, _react.useState)(true),
|
|
125
|
+
_useState36 = (0, _slicedToArray2["default"])(_useState35, 2),
|
|
126
|
+
popupClosable2 = _useState36[0],
|
|
127
|
+
setClosable2 = _useState36[1]; //是否可关闭 如果弹框里面再弹框 则不可关闭
|
|
124
128
|
// 外层ref
|
|
125
129
|
var popupContainer = (0, _react.useRef)();
|
|
126
130
|
// const [fetchDatasetFn, setFetchDatasetFn] = useState<(id: string) => Promise<any>>(
|
|
@@ -145,14 +149,21 @@ var useStore = function useStore() {
|
|
|
145
149
|
var summarizeItems = item.list.filter(function (v) {
|
|
146
150
|
return v.type === _enum.TypeEnum.summarize;
|
|
147
151
|
});
|
|
152
|
+
var index = (0, _utils.findIndex)(item.list, summarizeItems[summarizeItems.length - 1]);
|
|
148
153
|
// 如果没有汇总项,默认显示主列
|
|
149
154
|
if (summarizeItems.length === 0) {
|
|
150
|
-
return
|
|
155
|
+
return {
|
|
156
|
+
showColumn: true,
|
|
157
|
+
index: -1
|
|
158
|
+
};
|
|
151
159
|
}
|
|
152
160
|
// 如果只有一个汇总项,并且 group 和 by 都为空,则也显示主列
|
|
153
161
|
var onlyItem = summarizeItems[0];
|
|
154
162
|
var hasGroupOrBy = Array.isArray(onlyItem.group) && onlyItem.group.length > 0 || Array.isArray(onlyItem.by) && onlyItem.by.length > 0;
|
|
155
|
-
return
|
|
163
|
+
return {
|
|
164
|
+
showColumn: !hasGroupOrBy,
|
|
165
|
+
index: index
|
|
166
|
+
};
|
|
156
167
|
});
|
|
157
168
|
}, [metaList]);
|
|
158
169
|
// const showMainColumn = useMemo(() => {
|
|
@@ -173,23 +184,23 @@ var useStore = function useStore() {
|
|
|
173
184
|
var fetchDataset = /*#__PURE__*/function () {
|
|
174
185
|
var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(datasourceId) {
|
|
175
186
|
var tables, _tables;
|
|
176
|
-
return _regenerator["default"].wrap(function (_context) {
|
|
187
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
177
188
|
while (1) switch (_context.prev = _context.next) {
|
|
178
189
|
case 0:
|
|
179
190
|
tables = getDataset(datasourceId);
|
|
180
191
|
if (!tables.length) {
|
|
181
|
-
_context.next =
|
|
192
|
+
_context.next = 3;
|
|
182
193
|
break;
|
|
183
194
|
}
|
|
184
195
|
return _context.abrupt("return", tables);
|
|
185
|
-
case
|
|
186
|
-
_context.next =
|
|
196
|
+
case 3:
|
|
197
|
+
_context.next = 5;
|
|
187
198
|
return fetchDatasetFn.current(datasourceId);
|
|
188
|
-
case
|
|
199
|
+
case 5:
|
|
189
200
|
_tables = _context.sent;
|
|
190
201
|
setDataset(datasourceId, _tables);
|
|
191
202
|
return _context.abrupt("return", _tables);
|
|
192
|
-
case
|
|
203
|
+
case 8:
|
|
193
204
|
case "end":
|
|
194
205
|
return _context.stop();
|
|
195
206
|
}
|
|
@@ -203,38 +214,60 @@ var useStore = function useStore() {
|
|
|
203
214
|
// fetchDataset():
|
|
204
215
|
// 查询表字段
|
|
205
216
|
var fetchColumns = /*#__PURE__*/function () {
|
|
206
|
-
var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(table, datasourceId
|
|
217
|
+
var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(table, datasourceId) {
|
|
207
218
|
var _columns2;
|
|
208
|
-
var
|
|
209
|
-
|
|
219
|
+
var oldColumns,
|
|
220
|
+
callback,
|
|
221
|
+
selectId,
|
|
222
|
+
_table$alias,
|
|
223
|
+
alias,
|
|
224
|
+
datasourceName,
|
|
225
|
+
did,
|
|
226
|
+
column,
|
|
227
|
+
extra,
|
|
228
|
+
tableName,
|
|
229
|
+
columns,
|
|
230
|
+
_columns,
|
|
231
|
+
_args2 = arguments;
|
|
232
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
210
233
|
while (1) switch (_context2.prev = _context2.next) {
|
|
211
234
|
case 0:
|
|
235
|
+
oldColumns = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : [];
|
|
236
|
+
callback = _args2.length > 3 ? _args2[3] : undefined;
|
|
237
|
+
// 获取之前选中的数据
|
|
238
|
+
selectId = oldColumns.filter(function (v) {
|
|
239
|
+
return v.select;
|
|
240
|
+
}).map(function (v) {
|
|
241
|
+
return v.id;
|
|
242
|
+
});
|
|
212
243
|
_table$alias = table.alias, alias = _table$alias === void 0 ? '' : _table$alias, datasourceName = table.datasourceName, did = table.datasourceId, column = table.column, extra = (0, _objectWithoutProperties2["default"])(table, _excluded);
|
|
213
244
|
tableName = table.name;
|
|
214
245
|
columns = getColumns(tableName);
|
|
215
246
|
if (columns.length) {
|
|
216
|
-
_context2.next =
|
|
247
|
+
_context2.next = 11;
|
|
217
248
|
break;
|
|
218
249
|
}
|
|
219
|
-
_context2.next =
|
|
250
|
+
_context2.next = 9;
|
|
220
251
|
return fetchColumnsFn.current(extra, datasourceId);
|
|
221
|
-
case
|
|
252
|
+
case 9:
|
|
222
253
|
columns = _context2.sent;
|
|
223
254
|
setColumns(tableName, columns);
|
|
224
|
-
case
|
|
255
|
+
case 11:
|
|
225
256
|
_columns = (_columns2 = columns) === null || _columns2 === void 0 ? void 0 : _columns2.map(function (v) {
|
|
257
|
+
var select = selectId.includes(v.id);
|
|
226
258
|
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
|
|
227
|
-
|
|
259
|
+
select: select,
|
|
260
|
+
fieldUuid: v.fieldUuid || (0, _helper.uuidv4)('field')
|
|
228
261
|
});
|
|
229
262
|
});
|
|
230
263
|
typeof callback === 'function' && callback(_columns);
|
|
231
|
-
case
|
|
264
|
+
case 13:
|
|
232
265
|
case "end":
|
|
233
266
|
return _context2.stop();
|
|
234
267
|
}
|
|
235
268
|
}, _callee2);
|
|
236
269
|
}));
|
|
237
|
-
return function fetchColumns(_x2, _x3
|
|
270
|
+
return function fetchColumns(_x2, _x3) {
|
|
238
271
|
return _ref2.apply(this, arguments);
|
|
239
272
|
};
|
|
240
273
|
}();
|
|
@@ -290,8 +323,8 @@ var useStore = function useStore() {
|
|
|
290
323
|
// newMeta[i] = setFilterQuotes(newMeta[i]);
|
|
291
324
|
// }
|
|
292
325
|
// 设置右侧column
|
|
293
|
-
if ((_v$table = v.table2) !== null && _v$table !== void 0 && _v$table.datasourceId
|
|
294
|
-
fetchColumns(newMeta[i].table2, newMeta[i].table2.datasourceId, function () {
|
|
326
|
+
if ((_v$table = v.table2) !== null && _v$table !== void 0 && _v$table.datasourceId) {
|
|
327
|
+
fetchColumns(newMeta[i].table2, newMeta[i].table2.datasourceId, v.columns, function () {
|
|
295
328
|
var columns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
296
329
|
if (v.isSubquery) {
|
|
297
330
|
var newColumns = [];
|
|
@@ -308,8 +341,8 @@ var useStore = function useStore() {
|
|
|
308
341
|
return (0, _objectSpread2["default"])({}, v);
|
|
309
342
|
}
|
|
310
343
|
// 设置column
|
|
311
|
-
if ((_v$table2 = v.table) !== null && _v$table2 !== void 0 && _v$table2.datasourceId
|
|
312
|
-
fetchColumns(newMeta[i].table, newMeta[i].table.datasourceId, function () {
|
|
344
|
+
if ((_v$table2 = v.table) !== null && _v$table2 !== void 0 && _v$table2.datasourceId) {
|
|
345
|
+
fetchColumns(newMeta[i].table, newMeta[i].table.datasourceId, v.columns, function () {
|
|
313
346
|
var columns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
314
347
|
if (v.isSubquery) {
|
|
315
348
|
var newColumns = [];
|
|
@@ -592,7 +625,9 @@ var useStore = function useStore() {
|
|
|
592
625
|
ignoreGroupByType: ignoreGroupByType,
|
|
593
626
|
setIgnoreGroupByType: setIgnoreGroupByType,
|
|
594
627
|
filterCustomType: filterCustomType,
|
|
595
|
-
setfilterCustomType: setfilterCustomType
|
|
628
|
+
setfilterCustomType: setfilterCustomType,
|
|
629
|
+
formulaTemplates: formulaTemplates,
|
|
630
|
+
setFormulaTemplates: setFormulaTemplates
|
|
596
631
|
};
|
|
597
632
|
};
|
|
598
633
|
var _default = exports["default"] = useStore;
|
package/lib/cjs/index.js
CHANGED
|
@@ -17,7 +17,8 @@ var _locale = require("./locale");
|
|
|
17
17
|
var _Loading = _interopRequireDefault(require("./common/Loading"));
|
|
18
18
|
var _metabase = _interopRequireDefault(require("./components/metabase"));
|
|
19
19
|
var _utils = require("./utils");
|
|
20
|
-
function
|
|
20
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
21
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
21
22
|
// export { restoreStructure, handleSqlStruct, compressionStructure } from './store/helper';
|
|
22
23
|
|
|
23
24
|
/**
|
|
@@ -48,6 +49,7 @@ var SqlVisionBuilder = _react["default"].forwardRef(function (props, ref) {
|
|
|
48
49
|
_props$subShowSubquer = props.subShowSubquery,
|
|
49
50
|
subShowSubquery = _props$subShowSubquer === void 0 ? false : _props$subShowSubquer,
|
|
50
51
|
constantList = props.constantList,
|
|
52
|
+
formulaTemplates = props.formulaTemplates,
|
|
51
53
|
_props$ignoreGroupByT = props.ignoreGroupByType,
|
|
52
54
|
ignoreGroupByType = _props$ignoreGroupByT === void 0 ? false : _props$ignoreGroupByT,
|
|
53
55
|
_props$filterCustomTy = props.filterCustomType,
|
|
@@ -75,9 +77,10 @@ var SqlVisionBuilder = _react["default"].forwardRef(function (props, ref) {
|
|
|
75
77
|
store.setShowSubquery(showSubquery);
|
|
76
78
|
store._setShowSubquery(subShowSubquery);
|
|
77
79
|
store.setConstantList(constantList || []);
|
|
80
|
+
store.setFormulaTemplates(formulaTemplates || []);
|
|
78
81
|
store.setIgnoreGroupByType(ignoreGroupByType);
|
|
79
82
|
store.setfilterCustomType(filterCustomType);
|
|
80
|
-
}, [showFields, fieldNameTpl, tableNameTpl, toolbar, showSubquery, subShowSubquery, constantList, ignoreGroupByType, filterCustomType]);
|
|
83
|
+
}, [showFields, fieldNameTpl, tableNameTpl, toolbar, showSubquery, subShowSubquery, constantList, formulaTemplates, ignoreGroupByType, filterCustomType]);
|
|
81
84
|
_react["default"].useImperativeHandle(ref, function () {
|
|
82
85
|
return {
|
|
83
86
|
// setDatasource: (list) => {
|
package/lib/cjs/locale/en.js
CHANGED
|
@@ -39,8 +39,10 @@ var _default = exports["default"] = (0, _index.register)('en', {
|
|
|
39
39
|
'SqlQueryBuilder.customExpression': 'customExpression',
|
|
40
40
|
'SqlQueryBuilder.pickTable': 'Select data table...',
|
|
41
41
|
'SqlQueryBuilder.pickConstant': 'Select constant...',
|
|
42
|
-
'
|
|
43
|
-
'
|
|
42
|
+
'customColumn.input': 'Input',
|
|
43
|
+
'customColumn.numberInput': 'Number input',
|
|
44
|
+
'customColumn.formula': 'Formula',
|
|
45
|
+
'customColumn.selectFormula': 'Select formula...',
|
|
44
46
|
'SqlQueryBuilder.switchSubQuery': 'Open subquery',
|
|
45
47
|
'SqlQueryBuilder.setSubQuery': 'Set Subquery...',
|
|
46
48
|
'SqlQueryBuilder.subquery': 'Subquery',
|
|
@@ -53,8 +55,9 @@ var _default = exports["default"] = (0, _index.register)('en', {
|
|
|
53
55
|
'SqlQueryBuilder.visualize': 'visualize',
|
|
54
56
|
'SqlQueryBuilder.selectColumnAll': 'select all',
|
|
55
57
|
'SqlQueryBuilder.alias': 'alias',
|
|
56
|
-
'SqlQueryBuilder.
|
|
58
|
+
'SqlQueryBuilder.aliasForRules': 'Please modify the alias according to the rules, and ensure its length does not exceed 30 characters',
|
|
57
59
|
'customColumn.operator': 'operator',
|
|
60
|
+
'customColumn.collection': 'collection',
|
|
58
61
|
'customColumn.field': 'field',
|
|
59
62
|
'customColumn.constant': 'constant',
|
|
60
63
|
'customColumn.str': 'string',
|
package/lib/cjs/locale/zh.js
CHANGED
|
@@ -39,8 +39,6 @@ var _default = exports["default"] = (0, _index.register)('zh', {
|
|
|
39
39
|
'SqlQueryBuilder.customExpression': '自定义表达方式',
|
|
40
40
|
'SqlQueryBuilder.pickTable': '选择数据表...',
|
|
41
41
|
'SqlQueryBuilder.pickConstant': '选择常量...',
|
|
42
|
-
'SqlQueryBuilder.input': '输入框',
|
|
43
|
-
'SqlQueryBuilder.numberInput': '数字输入框',
|
|
44
42
|
'SqlQueryBuilder.switchSubQuery': '切换子查询',
|
|
45
43
|
'SqlQueryBuilder.setSubQuery': '设置子查询...',
|
|
46
44
|
'SqlQueryBuilder.subquery': '子查询',
|
|
@@ -53,8 +51,9 @@ var _default = exports["default"] = (0, _index.register)('zh', {
|
|
|
53
51
|
'SqlQueryBuilder.visualize': '可视化',
|
|
54
52
|
'SqlQueryBuilder.selectColumnAll': '全选',
|
|
55
53
|
'SqlQueryBuilder.alias': '别名',
|
|
56
|
-
'SqlQueryBuilder.
|
|
54
|
+
'SqlQueryBuilder.aliasForRules': '请按规则修改别名,且长度不能超过30',
|
|
57
55
|
'customColumn.operator': '操作符',
|
|
56
|
+
'customColumn.collection': '自定义组合',
|
|
58
57
|
'customColumn.field': '字段',
|
|
59
58
|
'customColumn.constant': '常量',
|
|
60
59
|
'customColumn.str': '字符串',
|
|
@@ -71,6 +70,10 @@ var _default = exports["default"] = (0, _index.register)('zh', {
|
|
|
71
70
|
'customColumn.selectExpression': '选择表达式',
|
|
72
71
|
'customColumn.selectOtherSyntax': '选择其他语法',
|
|
73
72
|
'customColumn.selectCustomInput': '选择自定义输入框',
|
|
73
|
+
'customColumn.formula': '公式',
|
|
74
|
+
'customColumn.selectFormula': '选择公式...',
|
|
75
|
+
'customColumn.input': '输入框',
|
|
76
|
+
'customColumn.numberInput': '数字输入框',
|
|
74
77
|
'filter.addFilter': '添加过滤器',
|
|
75
78
|
'filter.confirm': '确认',
|
|
76
79
|
'filter.pleaseEnter': '请输入',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MetaListType, MetaSummarize_Group
|
|
1
|
+
import { MetaListType, MetaSummarize_Group } from './types';
|
|
2
2
|
export declare const SummarizeAlias = "source";
|
|
3
3
|
export declare const summarizeToSql: (arr: MetaSummarize_Group[], record: MetaSummarize_Group) => {
|
|
4
4
|
sql: string;
|
|
@@ -6,4 +6,3 @@ export declare const summarizeToSql: (arr: MetaSummarize_Group[], record: MetaSu
|
|
|
6
6
|
};
|
|
7
7
|
export declare const compressionStructure: (data: MetaListType[]) => string;
|
|
8
8
|
export declare const restoreStructure: (data: string) => MetaListType[];
|
|
9
|
-
export declare const getTemItem: (type: AtomsTypeEnum) => AtomsItem;
|