@gingkoo/pandora-metabase 1.0.20 → 1.0.22

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.
@@ -60,6 +60,7 @@ var Metabase = function Metabase(props) {
60
60
  case 0:
61
61
  intercept = false; // 是否返回
62
62
  _metaList = (0, _utils.splitByUnion)(store.metaList);
63
+ _metaList[0].patchVersion = '1.0.0';
63
64
  store.metaList.map(function (v) {
64
65
  var _v$list;
65
66
  if (v.type !== 'union' && !((_v$list = v.list) === null || _v$list === void 0 ? void 0 : _v$list[0]).table.name) {
@@ -122,6 +122,9 @@ var CustomColumn = function CustomColumn(props) {
122
122
  var _prevGroupBy$group, _prevGroupBy$by;
123
123
  var _data = {
124
124
  table: prevGroupBy.alias,
125
+ name: prevGroupBy.alias,
126
+ name_zh: prevGroupBy.alias,
127
+ id: prevGroupBy.alias,
125
128
  tableId: prevGroupBy.alias,
126
129
  tableUuid: prevGroupBy.tableUuid || (0, _helper.uuidv4)('table'),
127
130
  alias: prevGroupBy.alias,
@@ -167,7 +170,7 @@ var CustomColumn = function CustomColumn(props) {
167
170
  data = data.concat(
168
171
  // @ts-ignore
169
172
  joinData.map(function (v) {
170
- return {
173
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v.table2), {}, {
171
174
  alias: v.table2.alias,
172
175
  table: v.table2.name,
173
176
  tableId: v.table2.id,
@@ -175,14 +178,14 @@ var CustomColumn = function CustomColumn(props) {
175
178
  columns: v.columns,
176
179
  datasourceId: mainTable.table.datasourceId,
177
180
  datasourceName: mainTable.table.datasourceName
178
- };
181
+ });
179
182
  }));
180
183
  }
181
184
  } else {
182
185
  // @ts-ignore
183
186
  data = store.metaList[groupIndex].list.slice(0, index).map(function (v) {
184
187
  if (v.type === _enum.TypeEnum.data) {
185
- return {
188
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v.table), {}, {
186
189
  alias: v.table.alias,
187
190
  table: v.table.name,
188
191
  tableId: v.table.id,
@@ -190,9 +193,9 @@ var CustomColumn = function CustomColumn(props) {
190
193
  columns: v.columns,
191
194
  datasourceId: mainTable.table.datasourceId,
192
195
  datasourceName: mainTable.table.datasourceName
193
- };
196
+ });
194
197
  } else if (v.type === _enum.TypeEnum.joinData) {
195
- return {
198
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v.table2), {}, {
196
199
  alias: v.table2.alias,
197
200
  table: v.table2.name,
198
201
  tableId: v.table2.id,
@@ -200,7 +203,7 @@ var CustomColumn = function CustomColumn(props) {
200
203
  columns: v.columns,
201
204
  datasourceId: mainTable.table.datasourceId,
202
205
  datasourceName: mainTable.table.datasourceName
203
- };
206
+ });
204
207
  } else {
205
208
  return {
206
209
  table: null
@@ -73,7 +73,7 @@ var JoinData = function JoinData(props) {
73
73
  var table1Selected = Boolean(meta.table1.name);
74
74
  var table2Selected = Boolean(meta.table2.name);
75
75
  var subQuerySelected = Boolean((_meta$subquery = meta.subquery) === null || _meta$subquery === void 0 || (_meta$subquery = _meta$subquery[0]) === null || _meta$subquery === void 0 || (_meta$subquery = _meta$subquery.table) === null || _meta$subquery === void 0 ? void 0 : _meta$subquery.name);
76
- var columnsSelected = meta.table1.id && meta.table2.id;
76
+ var columnsSelected = meta.table1.name && meta.table2.name;
77
77
  // useEffect(() => {
78
78
  // let newMetaList = store.metaList[groupIndex].list.slice();
79
79
  // newMetaList[index] = setQuotes(meta);
@@ -86,6 +86,7 @@ var JoinData = function JoinData(props) {
86
86
  ExistAboveGroupBy = _getHelper.ExistAboveGroupBy,
87
87
  prevList = _getHelper.prevList,
88
88
  prevGroupBy = _getHelper.prevGroupBy;
89
+ // 获取左侧表
89
90
  if (ExistAboveGroupBy) {
90
91
  var _prevGroupBy$group, _prevGroupBy$by;
91
92
  var _data = {
@@ -147,7 +148,7 @@ var JoinData = function JoinData(props) {
147
148
  } else {
148
149
  data = store.metaList[groupIndex].list.slice(0, index + 1).reduce(function (mo, v) {
149
150
  if (v.type === _enum.TypeEnum.data) {
150
- mo.push({
151
+ mo.push((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v.table), {}, {
151
152
  alias: v.table.alias,
152
153
  name: v.table.name,
153
154
  name_zh: v.table.name_zh,
@@ -156,7 +157,7 @@ var JoinData = function JoinData(props) {
156
157
  columns: v.columns,
157
158
  datasourceId: v.table.datasourceId,
158
159
  datasourceName: v.table.datasourceName
159
- });
160
+ }));
160
161
  } else if (v.type === _enum.TypeEnum.joinData) {
161
162
  mo.push({
162
163
  alias: v.table2.alias,
@@ -170,9 +171,12 @@ var JoinData = function JoinData(props) {
170
171
  });
171
172
  }
172
173
  return mo;
173
- }, []);
174
+ }, []).filter(function (v) {
175
+ return v.tableUuid === meta.table1.tableUuid;
176
+ });
174
177
  }
175
- // 添加当前表
178
+ // 获取右侧表
179
+ // 添加table2
176
180
  data = data.concat([{
177
181
  alias: meta.table2.alias,
178
182
  name: meta.table2.name,
@@ -389,71 +393,77 @@ var JoinData = function JoinData(props) {
389
393
  })
390
394
  });
391
395
  }
396
+ // 切换表后重置数据
392
397
  function initExpressions() {
393
- var _newMeta$index, _newMeta$index2;
398
+ console.log(11);
394
399
  var newMeta = store.metaList[groupIndex].list.slice();
395
- if (newMeta[index].table1.name && newMeta[index].table2.name && !((_newMeta$index = newMeta[index]) !== null && _newMeta$index !== void 0 && _newMeta$index.expressions) || ((_newMeta$index2 = newMeta[index]) === null || _newMeta$index2 === void 0 || (_newMeta$index2 = _newMeta$index2.expressions) === null || _newMeta$index2 === void 0 ? void 0 : _newMeta$index2.length) < 1) {
396
- newMeta[index].expressions = [{
397
- lhs: [{
398
- fieldName: '',
399
- // 字段名
400
- fieldNameZh: '',
401
- // 字段中文名
402
- fieldAlias: '',
403
- // 别名
404
- fieldUuid: '',
405
- // uuid
406
- fieldId: '',
407
- // 字段id
408
- // quotes?: string; // 字段展示的 不知道有没有用
409
- tableName: '',
410
- // 表名
411
- tableNameZh: '',
412
- tableId: '',
413
- // 表名
414
- tableAlias: '',
415
- // 别名
416
- tableUuid: '',
417
- // 表唯一标识
418
- datasourceName: '',
419
- // 数据源名
420
- datasourceId: '',
421
- // 数据源id
422
- type: _types.AtomsTypeEnum.FIELD
423
- }],
424
- condition: '',
425
- rhs: [{
426
- fieldName: '',
427
- // 字段名
428
- fieldNameZh: '',
429
- // 字段中文名
430
- fieldAlias: '',
431
- // 别名
432
- fieldUuid: '',
433
- // uuid
434
- fieldId: '',
435
- // 字段id
436
- // quotes?: string; // 字段展示的 不知道有没有用
437
- tableName: '',
438
- // 表名
439
- tableNameZh: '',
440
- tableId: '',
441
- // 表名
442
- tableAlias: '',
443
- // 别名
444
- tableUuid: '',
445
- // 表唯一标识
446
- datasourceName: '',
447
- // 数据源名
448
- datasourceId: '',
449
- // 数据源id
450
- type: _types.AtomsTypeEnum.FIELD
451
- }],
452
- // quotes: '',
453
- type: _types.AtomsTypeEnum.JOIN_DEFAULT
454
- }];
455
- store.setMeta(newMeta, groupIndex);
456
- }
400
+ newMeta[index].expressions = [{
401
+ lhs: [{
402
+ fieldName: '',
403
+ // 字段名
404
+ fieldNameZh: '',
405
+ // 字段中文名
406
+ fieldAlias: '',
407
+ // 别名
408
+ fieldUuid: '',
409
+ // uuid
410
+ fieldId: '',
411
+ // 字段id
412
+ // quotes?: string; // 字段展示的 不知道有没有用
413
+ tableName: '',
414
+ // 表名
415
+ tableNameZh: '',
416
+ tableId: '',
417
+ // 表名
418
+ tableAlias: '',
419
+ // 别名
420
+ tableUuid: '',
421
+ // 表唯一标识
422
+ datasourceName: '',
423
+ // 数据源名
424
+ datasourceId: '',
425
+ // 数据源id
426
+ type: _types.AtomsTypeEnum.FIELD
427
+ }],
428
+ condition: '',
429
+ rhs: [{
430
+ fieldName: '',
431
+ // 字段名
432
+ fieldNameZh: '',
433
+ // 字段中文名
434
+ fieldAlias: '',
435
+ // 别名
436
+ fieldUuid: '',
437
+ // uuid
438
+ fieldId: '',
439
+ // 字段id
440
+ // quotes?: string; // 字段展示的 不知道有没有用
441
+ tableName: '',
442
+ // 表名
443
+ tableNameZh: '',
444
+ tableId: '',
445
+ // 表名
446
+ tableAlias: '',
447
+ // 别名
448
+ tableUuid: '',
449
+ // 表唯一标识
450
+ datasourceName: '',
451
+ // 数据源名
452
+ datasourceId: '',
453
+ // 数据源id
454
+ type: _types.AtomsTypeEnum.FIELD
455
+ }],
456
+ // quotes: '',
457
+ type: _types.AtomsTypeEnum.JOIN_DEFAULT
458
+ }];
459
+ store.setMeta(newMeta, groupIndex);
460
+ // if (
461
+ // ((newMeta[index] as MetaJoin).table1.name &&
462
+ // (newMeta[index] as MetaJoin).table2.name &&
463
+ // !(newMeta[index] as MetaJoin)?.expressions) ||
464
+ // (newMeta[index] as MetaJoin)?.expressions?.length < 1
465
+ // ) {
466
+ // }
457
467
  }
458
468
  function selectJoin(e) {
459
469
  var newMeta = store.metaList[groupIndex].list.slice();
@@ -114,7 +114,7 @@ var Sort = function Sort(props) {
114
114
  newMeta[index].sort.forEach(function (v) {
115
115
  v.expression.forEach(function (vv) {
116
116
  if (vv.type === _types.AtomsTypeEnum.FIELD) {
117
- if (selectedSort[vv.fieldName]) {
117
+ if (selectedSort[vv.tableName]) {
118
118
  selectedSort[vv.tableAlias].push(vv.fieldName);
119
119
  } else {
120
120
  selectedSort[vv.tableAlias] = [vv.fieldName];
@@ -1,5 +1,7 @@
1
+ import { MetaListType } from '../store/types';
1
2
  export declare const dataPatch: (newMeta: any) => any;
2
3
  export declare const joinDataPatch: (newMeta: any) => any;
3
4
  export declare const filterPatch: (newMeta: any) => any;
4
5
  export declare const customColumnPatch: (newMeta: any) => any;
5
6
  export declare const sortPatch: (newMeta: any) => any;
7
+ export declare const patchMetas: (items: MetaListType[]) => MetaListType[];
@@ -4,9 +4,10 @@ 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.dataPatch = exports.customColumnPatch = void 0;
7
+ exports.sortPatch = exports.patchMetas = 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
+ var _utils = require("../utils");
10
11
  var _types = require("../store/types");
11
12
  var _enum = require("../store/enum");
12
13
  var dataPatch = exports.dataPatch = function dataPatch(newMeta) {
@@ -17,16 +18,25 @@ var dataPatch = exports.dataPatch = function dataPatch(newMeta) {
17
18
  return newMeta;
18
19
  }
19
20
  }
20
- newMeta.subquery = renderExists(newMeta.subquery);
21
+ newMeta.subquery = _patchMetas(newMeta.subquery);
21
22
  return newMeta;
22
23
  };
23
24
  var joinDataPatch = exports.joinDataPatch = function joinDataPatch(newMeta) {
24
- var _newMeta$expressions2, _fields, _fields2, _fields3, _fields4, _newMeta$expressions3, _expressions2;
25
+ var _newMeta$expressions2, _fields, _fields2, _fields3, _fields4, _newMeta$expressions3;
25
26
  var item = ((_newMeta$expressions2 = newMeta.expressions) === null || _newMeta$expressions2 === void 0 ? void 0 : _newMeta$expressions2[0]) || {};
26
27
  if (item !== null && item !== void 0 && item.type && Object.values(_types.AtomsTypeEnum).includes(item.type)) {
27
28
  if ((item.type === _types.AtomsTypeEnum.EXPRESSION || item.type === _types.AtomsTypeEnum.JOIN_DEFAULT) && item.lhs) {
28
29
  return newMeta;
29
30
  }
31
+ if (item.type === _types.AtomsTypeEnum.EXISTS && !item.tableUuid) {
32
+ return newMeta;
33
+ }
34
+ if (item.type === _types.AtomsTypeEnum.NOT_EXISTS && !item.tableUuid) {
35
+ return newMeta;
36
+ }
37
+ if (item.type === _types.AtomsTypeEnum.FIELD && item.fieldName) {
38
+ return newMeta;
39
+ }
30
40
  }
31
41
  // if (
32
42
  // newMeta.expressions?.[0]?.type &&
@@ -117,7 +127,7 @@ var joinDataPatch = exports.joinDataPatch = function joinDataPatch(newMeta) {
117
127
  type: 'default' // 默认是字段模式
118
128
  }];
119
129
  }
120
- var expressions = (_newMeta$expressions3 = newMeta.expressions) === null || _newMeta$expressions3 === void 0 ? void 0 : _newMeta$expressions3.map(function (v) {
130
+ var expressions = ((_newMeta$expressions3 = newMeta.expressions) === null || _newMeta$expressions3 === void 0 ? void 0 : _newMeta$expressions3.map(function (v) {
121
131
  var _left_fields, _right_fields;
122
132
  var left_fields = v.left_fields || [];
123
133
  var right_fields = v.right_fields || [];
@@ -168,9 +178,10 @@ var joinDataPatch = exports.joinDataPatch = function joinDataPatch(newMeta) {
168
178
  right_type: v.right_type || '',
169
179
  type: v.type || 'default' // 默认是字段模式
170
180
  };
171
- });
181
+ })) || [];
172
182
  var _expressions = beforeExpressions.concat(expressions);
173
- _expressions = (_expressions2 = _expressions) === null || _expressions2 === void 0 ? void 0 : _expressions2.map(function (v) {
183
+ var newExpressions = [];
184
+ _expressions === null || _expressions === void 0 || _expressions.map(function (v, i) {
174
185
  var lhs = [];
175
186
  var rhs = [];
176
187
  if (v.left_type === 'string') {
@@ -186,9 +197,9 @@ var joinDataPatch = exports.joinDataPatch = function joinDataPatch(newMeta) {
186
197
  } else {
187
198
  var _v$left_fields;
188
199
  lhs = (_v$left_fields = v.left_fields) === null || _v$left_fields === void 0 ? void 0 : _v$left_fields.map(function (vv) {
189
- return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, vv), {}, {
200
+ return (0, _objectSpread2["default"])({
190
201
  fieldNameZh: newMeta.table1.name_zh,
191
- fieldName: newMeta.table1.fieldName || newMeta.table1.name,
202
+ fieldName: vv.fieldName || vv.quotes || vv.fieldAlias || newMeta.table1.fieldName || newMeta.table1.name,
192
203
  tableAlias: newMeta.table1.alias,
193
204
  tableId: newMeta.table1.id,
194
205
  tableName: newMeta.table1.name,
@@ -199,7 +210,7 @@ var joinDataPatch = exports.joinDataPatch = function joinDataPatch(newMeta) {
199
210
  datasourceId: newMeta.table1.datasourceId,
200
211
  // 数据源id
201
212
  type: _types.AtomsTypeEnum.FIELD
202
- });
213
+ }, vv);
203
214
  });
204
215
  }
205
216
  if (v.right_type === 'string') {
@@ -215,9 +226,9 @@ var joinDataPatch = exports.joinDataPatch = function joinDataPatch(newMeta) {
215
226
  } else {
216
227
  var _v$right_fields;
217
228
  rhs = (_v$right_fields = v.right_fields) === null || _v$right_fields === void 0 ? void 0 : _v$right_fields.map(function (vv) {
218
- return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, vv), {}, {
229
+ return (0, _objectSpread2["default"])({
219
230
  fieldNameZh: newMeta.table2.name_zh,
220
- fieldName: newMeta.table2.fieldName || newMeta.table2.name,
231
+ fieldName: vv.fieldName || vv.quotes || vv.fieldAlias || newMeta.table2.fieldName || newMeta.table2.name,
221
232
  tableAlias: newMeta.table2.alias,
222
233
  tableId: newMeta.table2.id,
223
234
  tableName: newMeta.table2.name,
@@ -228,7 +239,7 @@ var joinDataPatch = exports.joinDataPatch = function joinDataPatch(newMeta) {
228
239
  datasourceId: newMeta.table2.datasourceId,
229
240
  // 数据源id
230
241
  type: _types.AtomsTypeEnum.FIELD
231
- });
242
+ }, vv);
232
243
  });
233
244
  }
234
245
  var item = {
@@ -239,14 +250,21 @@ var joinDataPatch = exports.joinDataPatch = function joinDataPatch(newMeta) {
239
250
  // quotes: '',
240
251
  type: _types.AtomsTypeEnum.JOIN_DEFAULT
241
252
  };
253
+ newExpressions.push(item);
254
+ if (_expressions.length - 1 > i) {
255
+ newExpressions.push({
256
+ val: 'AND',
257
+ type: _types.AtomsTypeEnum.OPERATOR
258
+ });
259
+ }
242
260
  return item;
243
261
  });
244
262
  // 清除table1中不用字段
245
263
  delete newMeta.table1.fields;
246
264
  // 清除table2中不用字段
247
265
  delete newMeta.table2.fields;
248
- newMeta.subquery = renderExists(newMeta.subquery);
249
- newMeta.expressions = _expressions;
266
+ newMeta.subquery = _patchMetas(newMeta.subquery);
267
+ newMeta.expressions = newExpressions;
250
268
  return newMeta;
251
269
  };
252
270
  var filterPatch = exports.filterPatch = function filterPatch(newMeta) {
@@ -262,6 +280,9 @@ var filterPatch = exports.filterPatch = function filterPatch(newMeta) {
262
280
  if (item.type === _types.AtomsTypeEnum.NOT_EXISTS && !item.tableUuid) {
263
281
  return newMeta;
264
282
  }
283
+ if (item.type === _types.AtomsTypeEnum.FIELD && item.fieldName) {
284
+ return newMeta;
285
+ }
265
286
  }
266
287
  var _filter = (_newMeta$filter2 = newMeta.filter) === null || _newMeta$filter2 === void 0 ? void 0 : _newMeta$filter2.map(function (v) {
267
288
  // 表达式
@@ -269,7 +290,7 @@ var filterPatch = exports.filterPatch = function filterPatch(newMeta) {
269
290
  if (typeof v === 'string') {
270
291
  return {
271
292
  val: v,
272
- type: _types.AtomsTypeEnum.INPUT_STRING
293
+ type: _types.AtomsTypeEnum.OPERATOR
273
294
  };
274
295
  } else if (v.type === 'expression') {
275
296
  var rhs;
@@ -335,15 +356,17 @@ var filterPatch = exports.filterPatch = function filterPatch(newMeta) {
335
356
  };
336
357
  return tem;
337
358
  } else if (v.type === 'notExists') {
359
+ var notExists = _patchMetas(v.notExists);
338
360
  return {
339
- notExists: renderExists(v.notExists),
340
- quotes: v.quotes,
361
+ notExists: notExists,
362
+ quotes: (0, _utils.buildSqlQuery)(notExists, v.type),
341
363
  type: _types.AtomsTypeEnum.NOT_EXISTS
342
364
  };
343
365
  } else if (v.type === 'exists') {
366
+ var _notExists = _patchMetas(v.notExists);
344
367
  return {
345
- notExists: renderExists(v.notExists),
346
- quotes: v.quotes,
368
+ notExists: _notExists,
369
+ quotes: (0, _utils.buildSqlQuery)(_notExists, v.type),
347
370
  type: _types.AtomsTypeEnum.EXISTS
348
371
  };
349
372
  }
@@ -353,14 +376,23 @@ var filterPatch = exports.filterPatch = function filterPatch(newMeta) {
353
376
  return newMeta;
354
377
  };
355
378
  var customColumnPatch = exports.customColumnPatch = function customColumnPatch(newMeta) {
356
- var _newMeta$customColumn;
379
+ var _newMeta$customColumn, _newMeta$customColumn2;
357
380
  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 || '')) {
381
+ if (item !== null && item !== void 0 && item.type && Object.values(_types.AtomsTypeEnum).includes(item.type)) {
359
382
  if (item.type === _types.AtomsTypeEnum.EXPRESSION && item.lhs) {
360
383
  return newMeta;
361
384
  }
385
+ if (item.type === _types.AtomsTypeEnum.EXISTS && !item.tableUuid) {
386
+ return newMeta;
387
+ }
388
+ if (item.type === _types.AtomsTypeEnum.NOT_EXISTS && !item.tableUuid) {
389
+ return newMeta;
390
+ }
391
+ if (item.type === _types.AtomsTypeEnum.FIELD && item.fieldName) {
392
+ return newMeta;
393
+ }
362
394
  }
363
- newMeta.customColumn = newMeta.customColumn.map(function (v) {
395
+ newMeta.customColumn = (newMeta === null || newMeta === void 0 || (_newMeta$customColumn2 = newMeta.customColumn) === null || _newMeta$customColumn2 === void 0 ? void 0 : _newMeta$customColumn2.map(function (v) {
364
396
  var _formulaList = v.formulaList.map(function (formula) {
365
397
  var tem = formula;
366
398
  if (formula.type === 'expression') {
@@ -473,7 +505,7 @@ var customColumnPatch = exports.customColumnPatch = function customColumnPatch(n
473
505
  return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
474
506
  formulaList: _formulaList
475
507
  });
476
- });
508
+ })) || newMeta.customColumn;
477
509
  return newMeta;
478
510
  };
479
511
  var sortPatch = exports.sortPatch = function sortPatch(newMeta) {
@@ -483,6 +515,15 @@ var sortPatch = exports.sortPatch = function sortPatch(newMeta) {
483
515
  if (item.type === _types.AtomsTypeEnum.EXPRESSION && item.lhs) {
484
516
  return newMeta;
485
517
  }
518
+ if (item.type === _types.AtomsTypeEnum.EXISTS && !item.tableUuid) {
519
+ return newMeta;
520
+ }
521
+ if (item.type === _types.AtomsTypeEnum.NOT_EXISTS && !item.tableUuid) {
522
+ return newMeta;
523
+ }
524
+ if (item.type === _types.AtomsTypeEnum.FIELD && item.fieldName) {
525
+ return newMeta;
526
+ }
486
527
  }
487
528
  var _sort = (_newMeta$sort2 = newMeta.sort) === null || _newMeta$sort2 === void 0 ? void 0 : _newMeta$sort2.map(function (v) {
488
529
  return {
@@ -507,7 +548,7 @@ var sortPatch = exports.sortPatch = function sortPatch(newMeta) {
507
548
  newMeta.sort = _sort;
508
549
  return newMeta;
509
550
  };
510
- var renderExists = function renderExists(items) {
551
+ var _patchMetas = exports.patchMetas = function patchMetas(items) {
511
552
  return (items === null || items === void 0 ? void 0 : items.map(function (v) {
512
553
  if (v.type === _enum.TypeEnum.joinData) {
513
554
  v = joinDataPatch(v);
@@ -521,6 +562,9 @@ var renderExists = function renderExists(items) {
521
562
  if (v.type === _enum.TypeEnum.customColumn) {
522
563
  v = customColumnPatch(v);
523
564
  }
565
+ if (v.type === _enum.TypeEnum.union) {
566
+ v.subquery = _patchMetas(v.subquery || []);
567
+ }
524
568
  return v;
525
569
  })) || [];
526
570
  };
@@ -15,7 +15,6 @@ var _react = require("react");
15
15
  var _helper = require("../utils/helper");
16
16
  var _enum = require("../store/enum");
17
17
  var _utils = require("../utils");
18
- var _patch = require("./patch");
19
18
  var _excluded = ["alias", "datasourceName", "datasourceId", "column"];
20
19
  var metaKey = 1;
21
20
  var SummarizeAlias = exports.SummarizeAlias = 'source';
@@ -259,6 +258,7 @@ var useStore = function useStore() {
259
258
  return newMeta;
260
259
  };
261
260
  var setPreData = function setPreData(data) {
261
+ // let patchVersion = (data?.[0]?.list?.[0] as any)?.patchVersion || '';
262
262
  if (data.length) {
263
263
  var _metaList = data === null || data === void 0 ? void 0 : data.map(function (item, groupIndex) {
264
264
  var _item$list;
@@ -268,21 +268,24 @@ var useStore = function useStore() {
268
268
  if (v.table) {
269
269
  v.table.tableUuid = v.table.tableUuid || (0, _helper.uuidv4)('table');
270
270
  }
271
- if (v.type === _enum.TypeEnum.joinData) {
272
- newMeta[i] = (0, _patch.joinDataPatch)(newMeta[i]);
273
- }
274
- if (v.type === _enum.TypeEnum.filter) {
275
- v = (0, _patch.filterPatch)(v);
276
- }
277
- if (v.type === _enum.TypeEnum.sort) {
278
- newMeta[i] = (0, _patch.sortPatch)(newMeta[i]);
279
- }
280
- if (v.type === _enum.TypeEnum.customColumn) {
281
- newMeta[i] = (0, _patch.customColumnPatch)(newMeta[i]);
282
- }
283
- if (v.type === _enum.TypeEnum.data) {
284
- v = (0, _patch.dataPatch)(v);
285
- }
271
+ // // 兼容
272
+ // if (patchVersion != '1.0.0') {
273
+ // if (v.type === TypeEnum.joinData) {
274
+ // v = joinDataPatch(v);
275
+ // }
276
+ // if (v.type === TypeEnum.filter) {
277
+ // v = filterPatch(v);
278
+ // }
279
+ // if (v.type === TypeEnum.sort) {
280
+ // v = sortPatch(v);
281
+ // }
282
+ // if (v.type === TypeEnum.customColumn) {
283
+ // v = customColumnPatch(v);
284
+ // }
285
+ // if (v.type === TypeEnum.data) {
286
+ // v = dataPatch(v);
287
+ // }
288
+ // }
286
289
  // if (v.type === TypeEnum.filter) {
287
290
  // newMeta[i] = setFilterQuotes(newMeta[i]);
288
291
  // }
package/lib/cjs/index.js CHANGED
@@ -61,7 +61,7 @@ var SqlVisionBuilder = _react["default"].forwardRef(function (props, ref) {
61
61
  store.setProps(props);
62
62
  }, [props]);
63
63
  (0, _react.useEffect)(function () {
64
- var _value = (0, _utils.reassembleByUnion)(value);
64
+ var _value = (0, _utils.reassembleByUnion)((0, _utils.patchData)(value));
65
65
  store.setPreData(_value);
66
66
  }, [value]);
67
67
  (0, _react.useEffect)(function () {
@@ -84,7 +84,7 @@ export interface AtomsUnknown {
84
84
  }
85
85
  export type AtomsItem = AtomsNotExists | AtomsExists | AtomsJoinDefault | AtomsExpression | AtomsField | AtomsInputString | AtomsInputStringList | AtomsInputNumberList | AtomsInputNumber | AtomsOprator | AtomsConstant | AtomsUnknown;
86
86
  export type ToolbarType = TypeEnum | 'filter' | 'summarize' | 'joinData' | 'permissionTable' | 'customColumn' | 'sort' | 'rowLimit' | 'union';
87
- export type MetaListType = MetaData | MetaJoin | MetaCustom | MetaFilter | MetaSummarize | MetaSort | MetaLimit | MetaPermissionTable;
87
+ export type MetaListType = MetaData | MetaJoin | MetaCustom | MetaFilter | MetaSummarize | MetaSort | MetaLimit | MetaPermissionTable | MetaUnion;
88
88
  export type initColumnsType = MetaData_ColumnsType;
89
89
  export interface TableColumnsMapType {
90
90
  [tableName: string]: initColumnsType[];
@@ -243,6 +243,11 @@ export interface MetaPermissionTable {
243
243
  type: TypeEnum.permissionTable;
244
244
  table: MetaData_TableType;
245
245
  }
246
+ export interface MetaUnion {
247
+ metaKey: number;
248
+ type: TypeEnum.union;
249
+ subquery: MetaListType[];
250
+ }
246
251
  export interface LooseObject {
247
252
  [TypeEnum.data]?: MetaData;
248
253
  [TypeEnum.joinData]?: MetaJoin[];
@@ -17,6 +17,7 @@ export declare const getSubColumns: (metaList: any) => DataType[];
17
17
  export declare const changeTableAlias: (list: MetaListType[] | [], curObj: Pick<MetaData_TableType, "tableUuid" | "alias">) => MetaListType[];
18
18
  export declare const changeFieldAlias: (list: MetaListType[], curObj: Pick<MetaData_ColumnsType, "fieldUuid" | "fieldAlias">) => MetaListType[];
19
19
  export declare function splitByUnion(data: any): any[];
20
+ export declare const patchData: (metas: MetaListType[]) => MetaListType[];
20
21
  export declare function reassembleByUnion(target?: any[]): any[];
21
22
  export declare const buildSqlQuery: (data: MetaListType[] | undefined, type: string) => string;
22
23
  export {};
package/lib/cjs/utils.js CHANGED
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.getSubColumns = exports.getHelper = exports.findIndex = exports.changeTableAlias = exports.changeFieldAlias = exports.buildSqlQuery = void 0;
7
+ exports.patchData = exports.getSubColumns = exports.getHelper = exports.findIndex = exports.changeTableAlias = exports.changeFieldAlias = exports.buildSqlQuery = void 0;
8
8
  exports.reassembleByUnion = reassembleByUnion;
9
9
  exports.splitByUnion = splitByUnion;
10
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
@@ -17,6 +17,7 @@ var _types = require("./store/types");
17
17
  var _helper = require("./store/helper");
18
18
  var _helper2 = require("./utils/helper");
19
19
  var _cloneDeep3 = _interopRequireDefault(require("lodash/cloneDeep"));
20
+ var _patch = require("./hooks/patch");
20
21
  var _excluded = ["list"];
21
22
  var findIndex = exports.findIndex = function findIndex(arr, item) {
22
23
  return arr.indexOf(item);
@@ -446,6 +447,14 @@ function splitByUnion(data) {
446
447
  }
447
448
  return result;
448
449
  }
450
+ var patchData = exports.patchData = function patchData(metas) {
451
+ var mainTable = metas[0] || {};
452
+ var version = (mainTable === null || mainTable === void 0 ? void 0 : mainTable.patchVersion) || '';
453
+ if (version != '1.0.0') {
454
+ return (0, _patch.patchMetas)(metas);
455
+ }
456
+ return metas;
457
+ };
449
458
  function reassembleByUnion() {
450
459
  var target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
451
460
  if (!target) return [];
@@ -532,7 +541,7 @@ var buildSqlQuery = exports.buildSqlQuery = function buildSqlQuery() {
532
541
  var tables = [];
533
542
  var joins = [];
534
543
  var wheres = [];
535
- data.forEach(function (item) {
544
+ data === null || data === void 0 || data.forEach(function (item) {
536
545
  if (item.type === _enum.TypeEnum.data) {
537
546
  var meta = item;
538
547
  var tableName = "".concat(meta.table.name);
@@ -606,7 +615,7 @@ var buildSqlQuery = exports.buildSqlQuery = function buildSqlQuery() {
606
615
  sqlClauses.push(joins.join(' '));
607
616
  }
608
617
  if (wheres.length > 0) {
609
- sqlClauses.push("WHERE ".concat(wheres.join(' AND ')));
618
+ sqlClauses.push("WHERE ".concat(wheres.join(' ')));
610
619
  }
611
620
  }
612
621
  sqlClauses.push(')');