@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.
@@ -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 {
@@ -1,3 +1,4 @@
1
+ export declare const dataPatch: (newMeta: any) => any;
1
2
  export declare const joinDataPatch: (newMeta: any) => any;
2
3
  export declare const filterPatch: (newMeta: any) => any;
3
4
  export declare const customColumnPatch: (newMeta: any) => any;
@@ -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$expressions, _fields, _fields2, _fields3, _fields4, _newMeta$expressions2, _expressions2;
13
- if ((_newMeta$expressions = newMeta.expressions) !== null && _newMeta$expressions !== void 0 && (_newMeta$expressions = _newMeta$expressions[0]) !== null && _newMeta$expressions !== void 0 && _newMeta$expressions.type && Object.values(_types.AtomsTypeEnum).includes(newMeta.expressions[0].type)) {
14
- return newMeta;
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.id,
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.id
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$expressions2 = newMeta.expressions) === null || _newMeta$expressions2 === void 0 ? void 0 : _newMeta$expressions2.map(function (v) {
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
- if ((_newMeta$filter = newMeta.filter) !== null && _newMeta$filter !== void 0 && (_newMeta$filter = _newMeta$filter[0]) !== null && _newMeta$filter !== void 0 && _newMeta$filter.type && Object.values(_types.AtomsTypeEnum).includes(newMeta.filter[0].type)) {
231
- return newMeta;
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, _newMeta$customColumn2;
318
- if ((_newMeta$customColumn = newMeta.customColumn[0].formulaList) !== null && _newMeta$customColumn !== void 0 && (_newMeta$customColumn = _newMeta$customColumn[0]) !== null && _newMeta$customColumn !== void 0 && _newMeta$customColumn.type && Object.values(_types.AtomsTypeEnum).includes(((_newMeta$customColumn2 = newMeta.customColumn[0].formulaList) === null || _newMeta$customColumn2 === void 0 || (_newMeta$customColumn2 = _newMeta$customColumn2[0]) === null || _newMeta$customColumn2 === void 0 ? void 0 : _newMeta$customColumn2.type) || '')) {
319
- return newMeta;
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$sort$, _newMeta$sort2;
439
- if ((_newMeta$sort = newMeta.sort) !== null && _newMeta$sort !== void 0 && (_newMeta$sort = _newMeta$sort[0].expression) !== null && _newMeta$sort !== void 0 && (_newMeta$sort = _newMeta$sort[0]) !== null && _newMeta$sort !== void 0 && _newMeta$sort.type && Object.values(_types.AtomsTypeEnum).includes(((_newMeta$sort$ = newMeta.sort[0]) === null || _newMeta$sort$ === void 0 || (_newMeta$sort$ = _newMeta$sort$.expression) === null || _newMeta$sort$ === void 0 || (_newMeta$sort$ = _newMeta$sort$[0]) === null || _newMeta$sort$ === void 0 ? void 0 : _newMeta$sort$.type) || '')) {
440
- return newMeta;
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 {
@@ -1,3 +1,4 @@
1
+ export declare const dataPatch: (newMeta: any) => any;
1
2
  export declare const joinDataPatch: (newMeta: any) => any;
2
3
  export declare const filterPatch: (newMeta: any) => any;
3
4
  export declare const customColumnPatch: (newMeta: any) => any;
@@ -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$expressions, _fields, _fields2, _fields3, _fields4, _newMeta$expressions2, _expressions2;
6
- if ((_newMeta$expressions = newMeta.expressions) !== null && _newMeta$expressions !== void 0 && (_newMeta$expressions = _newMeta$expressions[0]) !== null && _newMeta$expressions !== void 0 && _newMeta$expressions.type && Object.values(AtomsTypeEnum).includes(newMeta.expressions[0].type)) {
7
- return newMeta;
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.id,
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.id
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$expressions2 = newMeta.expressions) === null || _newMeta$expressions2 === void 0 ? void 0 : _newMeta$expressions2.map(function (v) {
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
- if ((_newMeta$filter = newMeta.filter) !== null && _newMeta$filter !== void 0 && (_newMeta$filter = _newMeta$filter[0]) !== null && _newMeta$filter !== void 0 && _newMeta$filter.type && Object.values(AtomsTypeEnum).includes(newMeta.filter[0].type)) {
224
- return newMeta;
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, _newMeta$customColumn2;
311
- if ((_newMeta$customColumn = newMeta.customColumn[0].formulaList) !== null && _newMeta$customColumn !== void 0 && (_newMeta$customColumn = _newMeta$customColumn[0]) !== null && _newMeta$customColumn !== void 0 && _newMeta$customColumn.type && Object.values(AtomsTypeEnum).includes(((_newMeta$customColumn2 = newMeta.customColumn[0].formulaList) === null || _newMeta$customColumn2 === void 0 || (_newMeta$customColumn2 = _newMeta$customColumn2[0]) === null || _newMeta$customColumn2 === void 0 ? void 0 : _newMeta$customColumn2.type) || '')) {
312
- return newMeta;
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$sort$, _newMeta$sort2;
432
- if ((_newMeta$sort = newMeta.sort) !== null && _newMeta$sort !== void 0 && (_newMeta$sort = _newMeta$sort[0].expression) !== null && _newMeta$sort !== void 0 && (_newMeta$sort = _newMeta$sort[0]) !== null && _newMeta$sort !== void 0 && _newMeta$sort.type && Object.values(AtomsTypeEnum).includes(((_newMeta$sort$ = newMeta.sort[0]) === null || _newMeta$sort$ === void 0 || (_newMeta$sort$ = _newMeta$sort$.expression) === null || _newMeta$sort$ === void 0 || (_newMeta$sort$ = _newMeta$sort$[0]) === null || _newMeta$sort$ === void 0 ? void 0 : _newMeta$sort$.type) || '')) {
433
- return newMeta;
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
  // }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gingkoo/pandora-metabase",
3
- "version": "1.0.17",
3
+ "version": "1.0.19",
4
4
  "description": "",
5
5
  "main": "lib/es/index.js",
6
6
  "module": "lib/es/index.js",