@gingkoo/pandora-metabase 1.0.17 → 1.0.19
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 +2 -0
- 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 +80 -18
- package/lib/cjs/hooks/use-state.js +3 -0
- package/lib/es/components/dialog/expression/index.js +2 -0
- 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 +79 -17
- package/lib/es/hooks/use-state.js +4 -1
- package/package.json +1 -1
|
@@ -945,6 +945,7 @@ var SelectFilterColumn = function SelectFilterColumn(_ref) {
|
|
|
945
945
|
theme: _enum.ColumnsPopupThemeEnum.purple,
|
|
946
946
|
didUpdate: didUpdate,
|
|
947
947
|
showNextBtn: true,
|
|
948
|
+
multiple: false,
|
|
948
949
|
onNextStep: function onNextStep() {
|
|
949
950
|
setIsNext(true);
|
|
950
951
|
},
|
|
@@ -953,6 +954,7 @@ var SelectFilterColumn = function SelectFilterColumn(_ref) {
|
|
|
953
954
|
setCurColumn((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, curColumn), {}, {
|
|
954
955
|
lhs: fields
|
|
955
956
|
}));
|
|
957
|
+
setIsNext(true);
|
|
956
958
|
// setCurColumn(record);
|
|
957
959
|
/**
|
|
958
960
|
* 这里默认帮用户选好一部分数据
|
|
@@ -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,22 +4,43 @@ 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
|
// 处理老字段
|
|
19
40
|
var field1 = {
|
|
20
|
-
fieldAlias: newMeta.table1.fieldAlias || newMeta.table1.column,
|
|
41
|
+
fieldAlias: newMeta.table1.fieldAlias || newMeta.table1.column || newMeta.table1.name,
|
|
21
42
|
fieldUuid: newMeta.table1.fieldUuid || (0, _helper.uuidv4)('field'),
|
|
22
|
-
fieldId: newMeta.table1.
|
|
43
|
+
fieldId: newMeta.table1.fieldId,
|
|
23
44
|
fieldNameZh: newMeta.table1.name_zh,
|
|
24
45
|
fieldName: newMeta.table1.fieldName || newMeta.table1.name
|
|
25
46
|
// quotes: newMeta.table1.quotes || newMeta.table1.column,
|
|
@@ -28,9 +49,11 @@ var joinDataPatch = exports.joinDataPatch = function joinDataPatch(newMeta) {
|
|
|
28
49
|
// tableAlias: newMeta.table1.alias,
|
|
29
50
|
};
|
|
30
51
|
var field2 = {
|
|
31
|
-
fieldAlias: newMeta.table2.fieldAlias || newMeta.table2.column,
|
|
52
|
+
fieldAlias: newMeta.table2.fieldAlias || newMeta.table2.column || newMeta.table2.name,
|
|
32
53
|
fieldUuid: newMeta.table2.fieldUuid || (0, _helper.uuidv4)('field'),
|
|
33
|
-
fieldId: newMeta.table2.
|
|
54
|
+
fieldId: newMeta.table2.fieldId,
|
|
55
|
+
fieldNameZh: newMeta.table2.name_zh,
|
|
56
|
+
fieldName: newMeta.table2.fieldName || newMeta.table2.name
|
|
34
57
|
};
|
|
35
58
|
// 处理多选
|
|
36
59
|
if (field1.fieldAlias && ((_fields = fields1) === null || _fields === void 0 ? void 0 : _fields.length) < 1) {
|
|
@@ -94,7 +117,7 @@ var joinDataPatch = exports.joinDataPatch = function joinDataPatch(newMeta) {
|
|
|
94
117
|
type: 'default' // 默认是字段模式
|
|
95
118
|
}];
|
|
96
119
|
}
|
|
97
|
-
var expressions = (_newMeta$
|
|
120
|
+
var expressions = (_newMeta$expressions3 = newMeta.expressions) === null || _newMeta$expressions3 === void 0 ? void 0 : _newMeta$expressions3.map(function (v) {
|
|
98
121
|
var _left_fields, _right_fields;
|
|
99
122
|
var left_fields = v.left_fields || [];
|
|
100
123
|
var right_fields = v.right_fields || [];
|
|
@@ -222,13 +245,23 @@ var joinDataPatch = exports.joinDataPatch = function joinDataPatch(newMeta) {
|
|
|
222
245
|
delete newMeta.table1.fields;
|
|
223
246
|
// 清除table2中不用字段
|
|
224
247
|
delete newMeta.table2.fields;
|
|
248
|
+
newMeta.subquery = renderExists(newMeta.subquery);
|
|
225
249
|
newMeta.expressions = _expressions;
|
|
226
250
|
return newMeta;
|
|
227
251
|
};
|
|
228
252
|
var filterPatch = exports.filterPatch = function filterPatch(newMeta) {
|
|
229
253
|
var _newMeta$filter, _newMeta$filter2;
|
|
230
|
-
|
|
231
|
-
|
|
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
|
+
}
|
|
232
265
|
}
|
|
233
266
|
var _filter = (_newMeta$filter2 = newMeta.filter) === null || _newMeta$filter2 === void 0 ? void 0 : _newMeta$filter2.map(function (v) {
|
|
234
267
|
// 表达式
|
|
@@ -303,10 +336,16 @@ var filterPatch = exports.filterPatch = function filterPatch(newMeta) {
|
|
|
303
336
|
return tem;
|
|
304
337
|
} else if (v.type === 'notExists') {
|
|
305
338
|
return {
|
|
306
|
-
notExists: v.notExists,
|
|
339
|
+
notExists: renderExists(v.notExists),
|
|
307
340
|
quotes: v.quotes,
|
|
308
341
|
type: _types.AtomsTypeEnum.NOT_EXISTS
|
|
309
342
|
};
|
|
343
|
+
} else if (v.type === 'exists') {
|
|
344
|
+
return {
|
|
345
|
+
notExists: renderExists(v.notExists),
|
|
346
|
+
quotes: v.quotes,
|
|
347
|
+
type: _types.AtomsTypeEnum.EXISTS
|
|
348
|
+
};
|
|
310
349
|
}
|
|
311
350
|
return v;
|
|
312
351
|
});
|
|
@@ -314,9 +353,12 @@ var filterPatch = exports.filterPatch = function filterPatch(newMeta) {
|
|
|
314
353
|
return newMeta;
|
|
315
354
|
};
|
|
316
355
|
var customColumnPatch = exports.customColumnPatch = function customColumnPatch(newMeta) {
|
|
317
|
-
var _newMeta$customColumn
|
|
318
|
-
|
|
319
|
-
|
|
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
|
+
}
|
|
320
362
|
}
|
|
321
363
|
newMeta.customColumn = newMeta.customColumn.map(function (v) {
|
|
322
364
|
var _formulaList = v.formulaList.map(function (formula) {
|
|
@@ -435,9 +477,12 @@ var customColumnPatch = exports.customColumnPatch = function customColumnPatch(n
|
|
|
435
477
|
return newMeta;
|
|
436
478
|
};
|
|
437
479
|
var sortPatch = exports.sortPatch = function sortPatch(newMeta) {
|
|
438
|
-
var _newMeta$sort, _newMeta$
|
|
439
|
-
|
|
440
|
-
|
|
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
|
+
}
|
|
441
486
|
}
|
|
442
487
|
var _sort = (_newMeta$sort2 = newMeta.sort) === null || _newMeta$sort2 === void 0 ? void 0 : _newMeta$sort2.map(function (v) {
|
|
443
488
|
return {
|
|
@@ -461,4 +506,21 @@ var sortPatch = exports.sortPatch = function sortPatch(newMeta) {
|
|
|
461
506
|
});
|
|
462
507
|
newMeta.sort = _sort;
|
|
463
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
|
+
})) || [];
|
|
464
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
|
// }
|
|
@@ -936,6 +936,7 @@ var SelectFilterColumn = function SelectFilterColumn(_ref) {
|
|
|
936
936
|
theme: ColumnsPopupThemeEnum.purple,
|
|
937
937
|
didUpdate: didUpdate,
|
|
938
938
|
showNextBtn: true,
|
|
939
|
+
multiple: false,
|
|
939
940
|
onNextStep: function onNextStep() {
|
|
940
941
|
setIsNext(true);
|
|
941
942
|
},
|
|
@@ -944,6 +945,7 @@ var SelectFilterColumn = function SelectFilterColumn(_ref) {
|
|
|
944
945
|
setCurColumn(_objectSpread(_objectSpread({}, curColumn), {}, {
|
|
945
946
|
lhs: fields
|
|
946
947
|
}));
|
|
948
|
+
setIsNext(true);
|
|
947
949
|
// setCurColumn(record);
|
|
948
950
|
/**
|
|
949
951
|
* 这里默认帮用户选好一部分数据
|
|
@@ -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,18 +1,39 @@
|
|
|
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
|
// 处理老字段
|
|
12
33
|
var field1 = {
|
|
13
|
-
fieldAlias: newMeta.table1.fieldAlias || newMeta.table1.column,
|
|
34
|
+
fieldAlias: newMeta.table1.fieldAlias || newMeta.table1.column || newMeta.table1.name,
|
|
14
35
|
fieldUuid: newMeta.table1.fieldUuid || uuidv4('field'),
|
|
15
|
-
fieldId: newMeta.table1.
|
|
36
|
+
fieldId: newMeta.table1.fieldId,
|
|
16
37
|
fieldNameZh: newMeta.table1.name_zh,
|
|
17
38
|
fieldName: newMeta.table1.fieldName || newMeta.table1.name
|
|
18
39
|
// quotes: newMeta.table1.quotes || newMeta.table1.column,
|
|
@@ -21,9 +42,11 @@ export var joinDataPatch = function joinDataPatch(newMeta) {
|
|
|
21
42
|
// tableAlias: newMeta.table1.alias,
|
|
22
43
|
};
|
|
23
44
|
var field2 = {
|
|
24
|
-
fieldAlias: newMeta.table2.fieldAlias || newMeta.table2.column,
|
|
45
|
+
fieldAlias: newMeta.table2.fieldAlias || newMeta.table2.column || newMeta.table2.name,
|
|
25
46
|
fieldUuid: newMeta.table2.fieldUuid || uuidv4('field'),
|
|
26
|
-
fieldId: newMeta.table2.
|
|
47
|
+
fieldId: newMeta.table2.fieldId,
|
|
48
|
+
fieldNameZh: newMeta.table2.name_zh,
|
|
49
|
+
fieldName: newMeta.table2.fieldName || newMeta.table2.name
|
|
27
50
|
};
|
|
28
51
|
// 处理多选
|
|
29
52
|
if (field1.fieldAlias && ((_fields = fields1) === null || _fields === void 0 ? void 0 : _fields.length) < 1) {
|
|
@@ -87,7 +110,7 @@ export var joinDataPatch = function joinDataPatch(newMeta) {
|
|
|
87
110
|
type: 'default' // 默认是字段模式
|
|
88
111
|
}];
|
|
89
112
|
}
|
|
90
|
-
var expressions = (_newMeta$
|
|
113
|
+
var expressions = (_newMeta$expressions3 = newMeta.expressions) === null || _newMeta$expressions3 === void 0 ? void 0 : _newMeta$expressions3.map(function (v) {
|
|
91
114
|
var _left_fields, _right_fields;
|
|
92
115
|
var left_fields = v.left_fields || [];
|
|
93
116
|
var right_fields = v.right_fields || [];
|
|
@@ -215,13 +238,23 @@ export var joinDataPatch = function joinDataPatch(newMeta) {
|
|
|
215
238
|
delete newMeta.table1.fields;
|
|
216
239
|
// 清除table2中不用字段
|
|
217
240
|
delete newMeta.table2.fields;
|
|
241
|
+
newMeta.subquery = renderExists(newMeta.subquery);
|
|
218
242
|
newMeta.expressions = _expressions;
|
|
219
243
|
return newMeta;
|
|
220
244
|
};
|
|
221
245
|
export var filterPatch = function filterPatch(newMeta) {
|
|
222
246
|
var _newMeta$filter, _newMeta$filter2;
|
|
223
|
-
|
|
224
|
-
|
|
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
|
+
}
|
|
225
258
|
}
|
|
226
259
|
var _filter = (_newMeta$filter2 = newMeta.filter) === null || _newMeta$filter2 === void 0 ? void 0 : _newMeta$filter2.map(function (v) {
|
|
227
260
|
// 表达式
|
|
@@ -296,10 +329,16 @@ export var filterPatch = function filterPatch(newMeta) {
|
|
|
296
329
|
return tem;
|
|
297
330
|
} else if (v.type === 'notExists') {
|
|
298
331
|
return {
|
|
299
|
-
notExists: v.notExists,
|
|
332
|
+
notExists: renderExists(v.notExists),
|
|
300
333
|
quotes: v.quotes,
|
|
301
334
|
type: AtomsTypeEnum.NOT_EXISTS
|
|
302
335
|
};
|
|
336
|
+
} else if (v.type === 'exists') {
|
|
337
|
+
return {
|
|
338
|
+
notExists: renderExists(v.notExists),
|
|
339
|
+
quotes: v.quotes,
|
|
340
|
+
type: AtomsTypeEnum.EXISTS
|
|
341
|
+
};
|
|
303
342
|
}
|
|
304
343
|
return v;
|
|
305
344
|
});
|
|
@@ -307,9 +346,12 @@ export var filterPatch = function filterPatch(newMeta) {
|
|
|
307
346
|
return newMeta;
|
|
308
347
|
};
|
|
309
348
|
export var customColumnPatch = function customColumnPatch(newMeta) {
|
|
310
|
-
var _newMeta$customColumn
|
|
311
|
-
|
|
312
|
-
|
|
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
|
+
}
|
|
313
355
|
}
|
|
314
356
|
newMeta.customColumn = newMeta.customColumn.map(function (v) {
|
|
315
357
|
var _formulaList = v.formulaList.map(function (formula) {
|
|
@@ -428,9 +470,12 @@ export var customColumnPatch = function customColumnPatch(newMeta) {
|
|
|
428
470
|
return newMeta;
|
|
429
471
|
};
|
|
430
472
|
export var sortPatch = function sortPatch(newMeta) {
|
|
431
|
-
var _newMeta$sort, _newMeta$
|
|
432
|
-
|
|
433
|
-
|
|
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
|
+
}
|
|
434
479
|
}
|
|
435
480
|
var _sort = (_newMeta$sort2 = newMeta.sort) === null || _newMeta$sort2 === void 0 ? void 0 : _newMeta$sort2.map(function (v) {
|
|
436
481
|
return {
|
|
@@ -454,4 +499,21 @@ export var sortPatch = function sortPatch(newMeta) {
|
|
|
454
499
|
});
|
|
455
500
|
newMeta.sort = _sort;
|
|
456
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
|
+
})) || [];
|
|
457
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
|
// }
|