@gingkoo/pandora-metabase 1.0.18 → 1.0.20
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/components/dialog/expression/index.js +4 -1
- package/lib/cjs/components/modules/join-data.js +13 -2
- package/lib/cjs/hooks/patch.d.ts +1 -0
- package/lib/cjs/hooks/patch.js +74 -14
- package/lib/cjs/hooks/use-state.js +3 -0
- package/lib/es/components/dialog/expression/index.js +4 -1
- package/lib/es/components/modules/join-data.js +13 -2
- package/lib/es/hooks/patch.d.ts +1 -0
- package/lib/es/hooks/patch.js +73 -13
- package/lib/es/hooks/use-state.js +4 -1
- package/package.json +1 -1
|
@@ -24,6 +24,7 @@ var _selectList = _interopRequireDefault(require("../select-list"));
|
|
|
24
24
|
var _selectColumnMultiple = _interopRequireDefault(require("../select-column-multiple"));
|
|
25
25
|
var _icons = require("../../icons");
|
|
26
26
|
var _useProvider = require("../../../hooks/use-provider");
|
|
27
|
+
var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
27
28
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
28
29
|
/**
|
|
29
30
|
* 关联模块 选择表字段
|
|
@@ -74,7 +75,7 @@ var SelectFilterColumn = function SelectFilterColumn(_ref) {
|
|
|
74
75
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
75
76
|
condition = _useState4[0],
|
|
76
77
|
setCondition = _useState4[1];
|
|
77
|
-
var _useState5 = (0, _react.useState)(value.rhs || []),
|
|
78
|
+
var _useState5 = (0, _react.useState)((0, _cloneDeep["default"])(value.rhs || [])),
|
|
78
79
|
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
79
80
|
rhsVal = _useState6[0],
|
|
80
81
|
setRhsVal = _useState6[1];
|
|
@@ -945,6 +946,7 @@ var SelectFilterColumn = function SelectFilterColumn(_ref) {
|
|
|
945
946
|
theme: _enum.ColumnsPopupThemeEnum.purple,
|
|
946
947
|
didUpdate: didUpdate,
|
|
947
948
|
showNextBtn: true,
|
|
949
|
+
multiple: false,
|
|
948
950
|
onNextStep: function onNextStep() {
|
|
949
951
|
setIsNext(true);
|
|
950
952
|
},
|
|
@@ -953,6 +955,7 @@ var SelectFilterColumn = function SelectFilterColumn(_ref) {
|
|
|
953
955
|
setCurColumn((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, curColumn), {}, {
|
|
954
956
|
lhs: fields
|
|
955
957
|
}));
|
|
958
|
+
setIsNext(true);
|
|
956
959
|
// setCurColumn(record);
|
|
957
960
|
/**
|
|
958
961
|
* 这里默认帮用户选好一部分数据
|
|
@@ -172,10 +172,21 @@ var JoinData = function JoinData(props) {
|
|
|
172
172
|
return mo;
|
|
173
173
|
}, []);
|
|
174
174
|
}
|
|
175
|
+
// 添加当前表
|
|
176
|
+
data = data.concat([{
|
|
177
|
+
alias: meta.table2.alias,
|
|
178
|
+
name: meta.table2.name,
|
|
179
|
+
name_zh: meta.table2.name_zh,
|
|
180
|
+
id: meta.table2.id,
|
|
181
|
+
tableUuid: meta.table2.tableUuid || (0, _helper.uuidv4)('table'),
|
|
182
|
+
datasourceId: meta.table2.datasourceId,
|
|
183
|
+
datasourceName: meta.table2.datasourceName,
|
|
184
|
+
columns: meta.columns
|
|
185
|
+
}]);
|
|
175
186
|
// 过滤为table1选中的表
|
|
176
187
|
var newMeta = store.metaList[groupIndex].list.slice();
|
|
177
188
|
data = data.filter(function (v) {
|
|
178
|
-
return newMeta[index][FlagLocation.TABLE_1].tableUuid == v.tableUuid || newMeta[index][FlagLocation.TABLE_2].tableUuid == v.tableUuid;
|
|
189
|
+
return newMeta[index][FlagLocation.TABLE_1].tableUuid == v.tableUuid || newMeta[index][FlagLocation.TABLE_1].name == _helper2.SummarizeAlias || newMeta[index][FlagLocation.TABLE_2].tableUuid == v.tableUuid;
|
|
179
190
|
});
|
|
180
191
|
return data;
|
|
181
192
|
};
|
|
@@ -564,7 +575,7 @@ var JoinData = function JoinData(props) {
|
|
|
564
575
|
var newMeta = store.metaList[groupIndex].list.slice();
|
|
565
576
|
if (newMeta[index][FlagLocation.TABLE_1].name) {
|
|
566
577
|
data = data.filter(function (v) {
|
|
567
|
-
return newMeta[index][FlagLocation.TABLE_1].tableUuid == v.tableUuid;
|
|
578
|
+
return newMeta[index][FlagLocation.TABLE_1].tableUuid == v.tableUuid || newMeta[index][FlagLocation.TABLE_1].name === _helper2.SummarizeAlias;
|
|
568
579
|
});
|
|
569
580
|
}
|
|
570
581
|
} else {
|
package/lib/cjs/hooks/patch.d.ts
CHANGED
package/lib/cjs/hooks/patch.js
CHANGED
|
@@ -4,15 +4,36 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.sortPatch = exports.joinDataPatch = exports.filterPatch = exports.customColumnPatch = void 0;
|
|
7
|
+
exports.sortPatch = exports.joinDataPatch = exports.filterPatch = exports.dataPatch = exports.customColumnPatch = void 0;
|
|
8
8
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
9
9
|
var _helper = require("../utils/helper");
|
|
10
10
|
var _types = require("../store/types");
|
|
11
|
+
var _enum = require("../store/enum");
|
|
12
|
+
var dataPatch = exports.dataPatch = function dataPatch(newMeta) {
|
|
13
|
+
var _newMeta$expressions;
|
|
14
|
+
var item = ((_newMeta$expressions = newMeta.expressions) === null || _newMeta$expressions === void 0 ? void 0 : _newMeta$expressions[0]) || {};
|
|
15
|
+
if (item !== null && item !== void 0 && item.type && Object.values(_types.AtomsTypeEnum).includes(item.type)) {
|
|
16
|
+
if (item.type === _types.AtomsTypeEnum.EXPRESSION && item.lhs) {
|
|
17
|
+
return newMeta;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
newMeta.subquery = renderExists(newMeta.subquery);
|
|
21
|
+
return newMeta;
|
|
22
|
+
};
|
|
11
23
|
var joinDataPatch = exports.joinDataPatch = function joinDataPatch(newMeta) {
|
|
12
|
-
var _newMeta$
|
|
13
|
-
|
|
14
|
-
|
|
24
|
+
var _newMeta$expressions2, _fields, _fields2, _fields3, _fields4, _newMeta$expressions3, _expressions2;
|
|
25
|
+
var item = ((_newMeta$expressions2 = newMeta.expressions) === null || _newMeta$expressions2 === void 0 ? void 0 : _newMeta$expressions2[0]) || {};
|
|
26
|
+
if (item !== null && item !== void 0 && item.type && Object.values(_types.AtomsTypeEnum).includes(item.type)) {
|
|
27
|
+
if ((item.type === _types.AtomsTypeEnum.EXPRESSION || item.type === _types.AtomsTypeEnum.JOIN_DEFAULT) && item.lhs) {
|
|
28
|
+
return newMeta;
|
|
29
|
+
}
|
|
15
30
|
}
|
|
31
|
+
// if (
|
|
32
|
+
// newMeta.expressions?.[0]?.type &&
|
|
33
|
+
// Object.values(AtomsTypeEnum).includes(newMeta.expressions[0].type)
|
|
34
|
+
// ) {
|
|
35
|
+
// return newMeta;
|
|
36
|
+
// }
|
|
16
37
|
var fields1 = newMeta.table1.fields || [];
|
|
17
38
|
var fields2 = newMeta.table2.fields || [];
|
|
18
39
|
// 处理老字段
|
|
@@ -96,7 +117,7 @@ var joinDataPatch = exports.joinDataPatch = function joinDataPatch(newMeta) {
|
|
|
96
117
|
type: 'default' // 默认是字段模式
|
|
97
118
|
}];
|
|
98
119
|
}
|
|
99
|
-
var expressions = (_newMeta$
|
|
120
|
+
var expressions = (_newMeta$expressions3 = newMeta.expressions) === null || _newMeta$expressions3 === void 0 ? void 0 : _newMeta$expressions3.map(function (v) {
|
|
100
121
|
var _left_fields, _right_fields;
|
|
101
122
|
var left_fields = v.left_fields || [];
|
|
102
123
|
var right_fields = v.right_fields || [];
|
|
@@ -224,13 +245,23 @@ var joinDataPatch = exports.joinDataPatch = function joinDataPatch(newMeta) {
|
|
|
224
245
|
delete newMeta.table1.fields;
|
|
225
246
|
// 清除table2中不用字段
|
|
226
247
|
delete newMeta.table2.fields;
|
|
248
|
+
newMeta.subquery = renderExists(newMeta.subquery);
|
|
227
249
|
newMeta.expressions = _expressions;
|
|
228
250
|
return newMeta;
|
|
229
251
|
};
|
|
230
252
|
var filterPatch = exports.filterPatch = function filterPatch(newMeta) {
|
|
231
253
|
var _newMeta$filter, _newMeta$filter2;
|
|
232
|
-
|
|
233
|
-
|
|
254
|
+
var item = ((_newMeta$filter = newMeta.filter) === null || _newMeta$filter === void 0 ? void 0 : _newMeta$filter[0]) || {};
|
|
255
|
+
if (item !== null && item !== void 0 && item.type && Object.values(_types.AtomsTypeEnum).includes(item.type)) {
|
|
256
|
+
if (item.type === _types.AtomsTypeEnum.EXPRESSION && item.lhs) {
|
|
257
|
+
return newMeta;
|
|
258
|
+
}
|
|
259
|
+
if (item.type === _types.AtomsTypeEnum.EXISTS && !item.tableUuid) {
|
|
260
|
+
return newMeta;
|
|
261
|
+
}
|
|
262
|
+
if (item.type === _types.AtomsTypeEnum.NOT_EXISTS && !item.tableUuid) {
|
|
263
|
+
return newMeta;
|
|
264
|
+
}
|
|
234
265
|
}
|
|
235
266
|
var _filter = (_newMeta$filter2 = newMeta.filter) === null || _newMeta$filter2 === void 0 ? void 0 : _newMeta$filter2.map(function (v) {
|
|
236
267
|
// 表达式
|
|
@@ -305,10 +336,16 @@ var filterPatch = exports.filterPatch = function filterPatch(newMeta) {
|
|
|
305
336
|
return tem;
|
|
306
337
|
} else if (v.type === 'notExists') {
|
|
307
338
|
return {
|
|
308
|
-
notExists: v.notExists,
|
|
339
|
+
notExists: renderExists(v.notExists),
|
|
309
340
|
quotes: v.quotes,
|
|
310
341
|
type: _types.AtomsTypeEnum.NOT_EXISTS
|
|
311
342
|
};
|
|
343
|
+
} else if (v.type === 'exists') {
|
|
344
|
+
return {
|
|
345
|
+
notExists: renderExists(v.notExists),
|
|
346
|
+
quotes: v.quotes,
|
|
347
|
+
type: _types.AtomsTypeEnum.EXISTS
|
|
348
|
+
};
|
|
312
349
|
}
|
|
313
350
|
return v;
|
|
314
351
|
});
|
|
@@ -316,9 +353,12 @@ var filterPatch = exports.filterPatch = function filterPatch(newMeta) {
|
|
|
316
353
|
return newMeta;
|
|
317
354
|
};
|
|
318
355
|
var customColumnPatch = exports.customColumnPatch = function customColumnPatch(newMeta) {
|
|
319
|
-
var _newMeta$customColumn
|
|
320
|
-
|
|
321
|
-
|
|
356
|
+
var _newMeta$customColumn;
|
|
357
|
+
var item = ((_newMeta$customColumn = newMeta.customColumn[0].formulaList) === null || _newMeta$customColumn === void 0 ? void 0 : _newMeta$customColumn[0]) || {};
|
|
358
|
+
if (item.type && Object.values(_types.AtomsTypeEnum).includes(item.type || '')) {
|
|
359
|
+
if (item.type === _types.AtomsTypeEnum.EXPRESSION && item.lhs) {
|
|
360
|
+
return newMeta;
|
|
361
|
+
}
|
|
322
362
|
}
|
|
323
363
|
newMeta.customColumn = newMeta.customColumn.map(function (v) {
|
|
324
364
|
var _formulaList = v.formulaList.map(function (formula) {
|
|
@@ -437,9 +477,12 @@ var customColumnPatch = exports.customColumnPatch = function customColumnPatch(n
|
|
|
437
477
|
return newMeta;
|
|
438
478
|
};
|
|
439
479
|
var sortPatch = exports.sortPatch = function sortPatch(newMeta) {
|
|
440
|
-
var _newMeta$sort, _newMeta$
|
|
441
|
-
|
|
442
|
-
|
|
480
|
+
var _newMeta$sort, _newMeta$sort2;
|
|
481
|
+
var item = ((_newMeta$sort = newMeta.sort) === null || _newMeta$sort === void 0 || (_newMeta$sort = _newMeta$sort[0].expression) === null || _newMeta$sort === void 0 ? void 0 : _newMeta$sort[0]) || {};
|
|
482
|
+
if (item !== null && item !== void 0 && item.type && Object.values(_types.AtomsTypeEnum).includes(item.type)) {
|
|
483
|
+
if (item.type === _types.AtomsTypeEnum.EXPRESSION && item.lhs) {
|
|
484
|
+
return newMeta;
|
|
485
|
+
}
|
|
443
486
|
}
|
|
444
487
|
var _sort = (_newMeta$sort2 = newMeta.sort) === null || _newMeta$sort2 === void 0 ? void 0 : _newMeta$sort2.map(function (v) {
|
|
445
488
|
return {
|
|
@@ -463,4 +506,21 @@ var sortPatch = exports.sortPatch = function sortPatch(newMeta) {
|
|
|
463
506
|
});
|
|
464
507
|
newMeta.sort = _sort;
|
|
465
508
|
return newMeta;
|
|
509
|
+
};
|
|
510
|
+
var renderExists = function renderExists(items) {
|
|
511
|
+
return (items === null || items === void 0 ? void 0 : items.map(function (v) {
|
|
512
|
+
if (v.type === _enum.TypeEnum.joinData) {
|
|
513
|
+
v = joinDataPatch(v);
|
|
514
|
+
}
|
|
515
|
+
if (v.type === _enum.TypeEnum.filter) {
|
|
516
|
+
v = filterPatch(v);
|
|
517
|
+
}
|
|
518
|
+
if (v.type === _enum.TypeEnum.sort) {
|
|
519
|
+
v = sortPatch(v);
|
|
520
|
+
}
|
|
521
|
+
if (v.type === _enum.TypeEnum.customColumn) {
|
|
522
|
+
v = customColumnPatch(v);
|
|
523
|
+
}
|
|
524
|
+
return v;
|
|
525
|
+
})) || [];
|
|
466
526
|
};
|
|
@@ -280,6 +280,9 @@ var useStore = function useStore() {
|
|
|
280
280
|
if (v.type === _enum.TypeEnum.customColumn) {
|
|
281
281
|
newMeta[i] = (0, _patch.customColumnPatch)(newMeta[i]);
|
|
282
282
|
}
|
|
283
|
+
if (v.type === _enum.TypeEnum.data) {
|
|
284
|
+
v = (0, _patch.dataPatch)(v);
|
|
285
|
+
}
|
|
283
286
|
// if (v.type === TypeEnum.filter) {
|
|
284
287
|
// newMeta[i] = setFilterQuotes(newMeta[i]);
|
|
285
288
|
// }
|
|
@@ -20,6 +20,7 @@ import SelectList from '../select-list';
|
|
|
20
20
|
import SelectColumnMultiple from '../select-column-multiple';
|
|
21
21
|
import { LeftArrowIcon } from '../../icons';
|
|
22
22
|
import { useStore } from '../../../hooks/use-provider';
|
|
23
|
+
import cloneDeep from 'lodash/cloneDeep';
|
|
23
24
|
var RangePicker = DatePicker.RangePicker;
|
|
24
25
|
var NUMBER_LIST = ['等于', '不等于', '大于', '小于', '介于之间', '大于或等于', '小于或等于', '为空', '不为空', '以...开始', '以...结束', '不以...开始', '不以...结束', 'In', 'Not In', '正则匹配'];
|
|
25
26
|
var STRING_LIST = ['等于', '不等于', '包含', '不包含', '为空', '不为空', '以...开始', '以...结束', '不以...开始', '不以...结束', 'In', 'Not In', '正则匹配'];
|
|
@@ -65,7 +66,7 @@ var SelectFilterColumn = function SelectFilterColumn(_ref) {
|
|
|
65
66
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
66
67
|
condition = _useState4[0],
|
|
67
68
|
setCondition = _useState4[1];
|
|
68
|
-
var _useState5 = useState(value.rhs || []),
|
|
69
|
+
var _useState5 = useState(cloneDeep(value.rhs || [])),
|
|
69
70
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
70
71
|
rhsVal = _useState6[0],
|
|
71
72
|
setRhsVal = _useState6[1];
|
|
@@ -936,6 +937,7 @@ var SelectFilterColumn = function SelectFilterColumn(_ref) {
|
|
|
936
937
|
theme: ColumnsPopupThemeEnum.purple,
|
|
937
938
|
didUpdate: didUpdate,
|
|
938
939
|
showNextBtn: true,
|
|
940
|
+
multiple: false,
|
|
939
941
|
onNextStep: function onNextStep() {
|
|
940
942
|
setIsNext(true);
|
|
941
943
|
},
|
|
@@ -944,6 +946,7 @@ var SelectFilterColumn = function SelectFilterColumn(_ref) {
|
|
|
944
946
|
setCurColumn(_objectSpread(_objectSpread({}, curColumn), {}, {
|
|
945
947
|
lhs: fields
|
|
946
948
|
}));
|
|
949
|
+
setIsNext(true);
|
|
947
950
|
// setCurColumn(record);
|
|
948
951
|
/**
|
|
949
952
|
* 这里默认帮用户选好一部分数据
|
|
@@ -166,10 +166,21 @@ var JoinData = function JoinData(props) {
|
|
|
166
166
|
return mo;
|
|
167
167
|
}, []);
|
|
168
168
|
}
|
|
169
|
+
// 添加当前表
|
|
170
|
+
data = data.concat([{
|
|
171
|
+
alias: meta.table2.alias,
|
|
172
|
+
name: meta.table2.name,
|
|
173
|
+
name_zh: meta.table2.name_zh,
|
|
174
|
+
id: meta.table2.id,
|
|
175
|
+
tableUuid: meta.table2.tableUuid || uuidv4('table'),
|
|
176
|
+
datasourceId: meta.table2.datasourceId,
|
|
177
|
+
datasourceName: meta.table2.datasourceName,
|
|
178
|
+
columns: meta.columns
|
|
179
|
+
}]);
|
|
169
180
|
// 过滤为table1选中的表
|
|
170
181
|
var newMeta = store.metaList[groupIndex].list.slice();
|
|
171
182
|
data = data.filter(function (v) {
|
|
172
|
-
return newMeta[index][FlagLocation.TABLE_1].tableUuid == v.tableUuid || newMeta[index][FlagLocation.TABLE_2].tableUuid == v.tableUuid;
|
|
183
|
+
return newMeta[index][FlagLocation.TABLE_1].tableUuid == v.tableUuid || newMeta[index][FlagLocation.TABLE_1].name == SummarizeAlias || newMeta[index][FlagLocation.TABLE_2].tableUuid == v.tableUuid;
|
|
173
184
|
});
|
|
174
185
|
return data;
|
|
175
186
|
};
|
|
@@ -558,7 +569,7 @@ var JoinData = function JoinData(props) {
|
|
|
558
569
|
var newMeta = store.metaList[groupIndex].list.slice();
|
|
559
570
|
if (newMeta[index][FlagLocation.TABLE_1].name) {
|
|
560
571
|
data = data.filter(function (v) {
|
|
561
|
-
return newMeta[index][FlagLocation.TABLE_1].tableUuid == v.tableUuid;
|
|
572
|
+
return newMeta[index][FlagLocation.TABLE_1].tableUuid == v.tableUuid || newMeta[index][FlagLocation.TABLE_1].name === SummarizeAlias;
|
|
562
573
|
});
|
|
563
574
|
}
|
|
564
575
|
} else {
|
package/lib/es/hooks/patch.d.ts
CHANGED
package/lib/es/hooks/patch.js
CHANGED
|
@@ -1,11 +1,32 @@
|
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
2
|
import { uuidv4 } from '../utils/helper';
|
|
3
3
|
import { AtomsTypeEnum } from '../store/types';
|
|
4
|
+
import { TypeEnum } from '../store/enum';
|
|
5
|
+
export var dataPatch = function dataPatch(newMeta) {
|
|
6
|
+
var _newMeta$expressions;
|
|
7
|
+
var item = ((_newMeta$expressions = newMeta.expressions) === null || _newMeta$expressions === void 0 ? void 0 : _newMeta$expressions[0]) || {};
|
|
8
|
+
if (item !== null && item !== void 0 && item.type && Object.values(AtomsTypeEnum).includes(item.type)) {
|
|
9
|
+
if (item.type === AtomsTypeEnum.EXPRESSION && item.lhs) {
|
|
10
|
+
return newMeta;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
newMeta.subquery = renderExists(newMeta.subquery);
|
|
14
|
+
return newMeta;
|
|
15
|
+
};
|
|
4
16
|
export var joinDataPatch = function joinDataPatch(newMeta) {
|
|
5
|
-
var _newMeta$
|
|
6
|
-
|
|
7
|
-
|
|
17
|
+
var _newMeta$expressions2, _fields, _fields2, _fields3, _fields4, _newMeta$expressions3, _expressions2;
|
|
18
|
+
var item = ((_newMeta$expressions2 = newMeta.expressions) === null || _newMeta$expressions2 === void 0 ? void 0 : _newMeta$expressions2[0]) || {};
|
|
19
|
+
if (item !== null && item !== void 0 && item.type && Object.values(AtomsTypeEnum).includes(item.type)) {
|
|
20
|
+
if ((item.type === AtomsTypeEnum.EXPRESSION || item.type === AtomsTypeEnum.JOIN_DEFAULT) && item.lhs) {
|
|
21
|
+
return newMeta;
|
|
22
|
+
}
|
|
8
23
|
}
|
|
24
|
+
// if (
|
|
25
|
+
// newMeta.expressions?.[0]?.type &&
|
|
26
|
+
// Object.values(AtomsTypeEnum).includes(newMeta.expressions[0].type)
|
|
27
|
+
// ) {
|
|
28
|
+
// return newMeta;
|
|
29
|
+
// }
|
|
9
30
|
var fields1 = newMeta.table1.fields || [];
|
|
10
31
|
var fields2 = newMeta.table2.fields || [];
|
|
11
32
|
// 处理老字段
|
|
@@ -89,7 +110,7 @@ export var joinDataPatch = function joinDataPatch(newMeta) {
|
|
|
89
110
|
type: 'default' // 默认是字段模式
|
|
90
111
|
}];
|
|
91
112
|
}
|
|
92
|
-
var expressions = (_newMeta$
|
|
113
|
+
var expressions = (_newMeta$expressions3 = newMeta.expressions) === null || _newMeta$expressions3 === void 0 ? void 0 : _newMeta$expressions3.map(function (v) {
|
|
93
114
|
var _left_fields, _right_fields;
|
|
94
115
|
var left_fields = v.left_fields || [];
|
|
95
116
|
var right_fields = v.right_fields || [];
|
|
@@ -217,13 +238,23 @@ export var joinDataPatch = function joinDataPatch(newMeta) {
|
|
|
217
238
|
delete newMeta.table1.fields;
|
|
218
239
|
// 清除table2中不用字段
|
|
219
240
|
delete newMeta.table2.fields;
|
|
241
|
+
newMeta.subquery = renderExists(newMeta.subquery);
|
|
220
242
|
newMeta.expressions = _expressions;
|
|
221
243
|
return newMeta;
|
|
222
244
|
};
|
|
223
245
|
export var filterPatch = function filterPatch(newMeta) {
|
|
224
246
|
var _newMeta$filter, _newMeta$filter2;
|
|
225
|
-
|
|
226
|
-
|
|
247
|
+
var item = ((_newMeta$filter = newMeta.filter) === null || _newMeta$filter === void 0 ? void 0 : _newMeta$filter[0]) || {};
|
|
248
|
+
if (item !== null && item !== void 0 && item.type && Object.values(AtomsTypeEnum).includes(item.type)) {
|
|
249
|
+
if (item.type === AtomsTypeEnum.EXPRESSION && item.lhs) {
|
|
250
|
+
return newMeta;
|
|
251
|
+
}
|
|
252
|
+
if (item.type === AtomsTypeEnum.EXISTS && !item.tableUuid) {
|
|
253
|
+
return newMeta;
|
|
254
|
+
}
|
|
255
|
+
if (item.type === AtomsTypeEnum.NOT_EXISTS && !item.tableUuid) {
|
|
256
|
+
return newMeta;
|
|
257
|
+
}
|
|
227
258
|
}
|
|
228
259
|
var _filter = (_newMeta$filter2 = newMeta.filter) === null || _newMeta$filter2 === void 0 ? void 0 : _newMeta$filter2.map(function (v) {
|
|
229
260
|
// 表达式
|
|
@@ -298,10 +329,16 @@ export var filterPatch = function filterPatch(newMeta) {
|
|
|
298
329
|
return tem;
|
|
299
330
|
} else if (v.type === 'notExists') {
|
|
300
331
|
return {
|
|
301
|
-
notExists: v.notExists,
|
|
332
|
+
notExists: renderExists(v.notExists),
|
|
302
333
|
quotes: v.quotes,
|
|
303
334
|
type: AtomsTypeEnum.NOT_EXISTS
|
|
304
335
|
};
|
|
336
|
+
} else if (v.type === 'exists') {
|
|
337
|
+
return {
|
|
338
|
+
notExists: renderExists(v.notExists),
|
|
339
|
+
quotes: v.quotes,
|
|
340
|
+
type: AtomsTypeEnum.EXISTS
|
|
341
|
+
};
|
|
305
342
|
}
|
|
306
343
|
return v;
|
|
307
344
|
});
|
|
@@ -309,9 +346,12 @@ export var filterPatch = function filterPatch(newMeta) {
|
|
|
309
346
|
return newMeta;
|
|
310
347
|
};
|
|
311
348
|
export var customColumnPatch = function customColumnPatch(newMeta) {
|
|
312
|
-
var _newMeta$customColumn
|
|
313
|
-
|
|
314
|
-
|
|
349
|
+
var _newMeta$customColumn;
|
|
350
|
+
var item = ((_newMeta$customColumn = newMeta.customColumn[0].formulaList) === null || _newMeta$customColumn === void 0 ? void 0 : _newMeta$customColumn[0]) || {};
|
|
351
|
+
if (item.type && Object.values(AtomsTypeEnum).includes(item.type || '')) {
|
|
352
|
+
if (item.type === AtomsTypeEnum.EXPRESSION && item.lhs) {
|
|
353
|
+
return newMeta;
|
|
354
|
+
}
|
|
315
355
|
}
|
|
316
356
|
newMeta.customColumn = newMeta.customColumn.map(function (v) {
|
|
317
357
|
var _formulaList = v.formulaList.map(function (formula) {
|
|
@@ -430,9 +470,12 @@ export var customColumnPatch = function customColumnPatch(newMeta) {
|
|
|
430
470
|
return newMeta;
|
|
431
471
|
};
|
|
432
472
|
export var sortPatch = function sortPatch(newMeta) {
|
|
433
|
-
var _newMeta$sort, _newMeta$
|
|
434
|
-
|
|
435
|
-
|
|
473
|
+
var _newMeta$sort, _newMeta$sort2;
|
|
474
|
+
var item = ((_newMeta$sort = newMeta.sort) === null || _newMeta$sort === void 0 || (_newMeta$sort = _newMeta$sort[0].expression) === null || _newMeta$sort === void 0 ? void 0 : _newMeta$sort[0]) || {};
|
|
475
|
+
if (item !== null && item !== void 0 && item.type && Object.values(AtomsTypeEnum).includes(item.type)) {
|
|
476
|
+
if (item.type === AtomsTypeEnum.EXPRESSION && item.lhs) {
|
|
477
|
+
return newMeta;
|
|
478
|
+
}
|
|
436
479
|
}
|
|
437
480
|
var _sort = (_newMeta$sort2 = newMeta.sort) === null || _newMeta$sort2 === void 0 ? void 0 : _newMeta$sort2.map(function (v) {
|
|
438
481
|
return {
|
|
@@ -456,4 +499,21 @@ export var sortPatch = function sortPatch(newMeta) {
|
|
|
456
499
|
});
|
|
457
500
|
newMeta.sort = _sort;
|
|
458
501
|
return newMeta;
|
|
502
|
+
};
|
|
503
|
+
var renderExists = function renderExists(items) {
|
|
504
|
+
return (items === null || items === void 0 ? void 0 : items.map(function (v) {
|
|
505
|
+
if (v.type === TypeEnum.joinData) {
|
|
506
|
+
v = joinDataPatch(v);
|
|
507
|
+
}
|
|
508
|
+
if (v.type === TypeEnum.filter) {
|
|
509
|
+
v = filterPatch(v);
|
|
510
|
+
}
|
|
511
|
+
if (v.type === TypeEnum.sort) {
|
|
512
|
+
v = sortPatch(v);
|
|
513
|
+
}
|
|
514
|
+
if (v.type === TypeEnum.customColumn) {
|
|
515
|
+
v = customColumnPatch(v);
|
|
516
|
+
}
|
|
517
|
+
return v;
|
|
518
|
+
})) || [];
|
|
459
519
|
};
|
|
@@ -9,7 +9,7 @@ import { useState, useRef, useMemo } from 'react';
|
|
|
9
9
|
import { uuidv4 } from '../utils/helper';
|
|
10
10
|
import { TypeEnum, JoinEnum, UnionEnum } from '../store/enum';
|
|
11
11
|
import { getSubColumns } from '../utils';
|
|
12
|
-
import { joinDataPatch, filterPatch, sortPatch, customColumnPatch } from './patch';
|
|
12
|
+
import { joinDataPatch, filterPatch, sortPatch, customColumnPatch, dataPatch } from './patch';
|
|
13
13
|
var metaKey = 1;
|
|
14
14
|
export var SummarizeAlias = 'source';
|
|
15
15
|
var useStore = function useStore() {
|
|
@@ -273,6 +273,9 @@ var useStore = function useStore() {
|
|
|
273
273
|
if (v.type === TypeEnum.customColumn) {
|
|
274
274
|
newMeta[i] = customColumnPatch(newMeta[i]);
|
|
275
275
|
}
|
|
276
|
+
if (v.type === TypeEnum.data) {
|
|
277
|
+
v = dataPatch(v);
|
|
278
|
+
}
|
|
276
279
|
// if (v.type === TypeEnum.filter) {
|
|
277
280
|
// newMeta[i] = setFilterQuotes(newMeta[i]);
|
|
278
281
|
// }
|