@gingkoo/pandora-metabase 1.0.14 → 1.0.16

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.
Files changed (96) hide show
  1. package/lib/cjs/common/SplitView/index.js +11 -12
  2. package/lib/cjs/components/dialog/custom-column/expression-editor.js +1 -2
  3. package/lib/cjs/components/dialog/custom-column/expressions/suggest.js +1 -1
  4. package/lib/cjs/components/dialog/custom-column/tokenizedI-input.js +1 -2
  5. package/lib/cjs/components/dialog/{select-filter → expression}/index.d.ts +4 -4
  6. package/lib/cjs/components/dialog/{select-filter → expression}/index.js +345 -206
  7. package/lib/cjs/components/dialog/formula-list/enum.d.ts +9 -13
  8. package/lib/cjs/components/dialog/formula-list/enum.js +83 -39
  9. package/lib/cjs/components/dialog/formula-list/index.d.ts +4 -1
  10. package/lib/cjs/components/dialog/formula-list/index.js +110 -126
  11. package/lib/cjs/components/dialog/formula-list/utils.js +77 -46
  12. package/lib/cjs/components/dialog/index.d.ts +2 -2
  13. package/lib/cjs/components/dialog/index.js +20 -20
  14. package/lib/cjs/components/dialog/select-column/index.js +43 -12
  15. package/lib/cjs/components/dialog/select-column-multiple/index.d.ts +54 -0
  16. package/lib/cjs/components/dialog/select-column-multiple/index.js +341 -0
  17. package/lib/cjs/components/dialog/select-column-multiple/index.less +246 -0
  18. package/lib/cjs/components/dialog/select-table/index.js +9 -7
  19. package/lib/cjs/components/icons.js +36 -36
  20. package/lib/cjs/components/metabase/index.js +6 -6
  21. package/lib/cjs/components/metabase/index.less +12 -1
  22. package/lib/cjs/components/modules/components/Wrapper.js +6 -6
  23. package/lib/cjs/components/modules/custom-column.js +12 -14
  24. package/lib/cjs/components/modules/enum/filter-enum.d.ts +34 -0
  25. package/lib/cjs/components/modules/enum/filter-enum.js +137 -0
  26. package/lib/cjs/components/modules/filter.js +43 -460
  27. package/lib/cjs/components/modules/join-data.js +863 -525
  28. package/lib/cjs/components/modules/permission-table.js +4 -0
  29. package/lib/cjs/components/modules/sort.js +102 -91
  30. package/lib/cjs/components/modules/summarize/group-by.js +47 -16
  31. package/lib/cjs/components/modules/summarize/select-index.js +48 -17
  32. package/lib/cjs/components/modules/table-data.js +13 -4
  33. package/lib/cjs/components/popup.js +1 -2
  34. package/lib/cjs/hooks/patch.d.ts +4 -0
  35. package/lib/cjs/hooks/patch.js +464 -0
  36. package/lib/cjs/hooks/use-state.js +73 -138
  37. package/lib/cjs/index.d.ts +0 -1
  38. package/lib/cjs/index.js +3 -21
  39. package/lib/cjs/locale/en.js +9 -2
  40. package/lib/cjs/locale/zh.js +11 -4
  41. package/lib/cjs/store/helper.d.ts +2 -3
  42. package/lib/cjs/store/helper.js +288 -233
  43. package/lib/cjs/store/types.d.ts +94 -71
  44. package/lib/cjs/store/types.js +17 -12
  45. package/lib/cjs/utils.d.ts +3 -3
  46. package/lib/cjs/utils.js +152 -187
  47. package/lib/es/common/SplitView/index.js +10 -10
  48. package/lib/es/components/dialog/custom-column/expressions/suggest.js +1 -1
  49. package/lib/es/components/dialog/{select-filter → expression}/index.d.ts +4 -4
  50. package/lib/es/components/dialog/{select-filter → expression}/index.js +343 -206
  51. package/lib/es/components/dialog/formula-list/enum.d.ts +9 -13
  52. package/lib/es/components/dialog/formula-list/enum.js +82 -38
  53. package/lib/es/components/dialog/formula-list/index.d.ts +4 -1
  54. package/lib/es/components/dialog/formula-list/index.js +115 -131
  55. package/lib/es/components/dialog/formula-list/utils.js +77 -46
  56. package/lib/es/components/dialog/index.d.ts +2 -2
  57. package/lib/es/components/dialog/index.js +3 -3
  58. package/lib/es/components/dialog/select-column/index.js +44 -13
  59. package/lib/es/components/dialog/select-column-multiple/index.d.ts +54 -0
  60. package/lib/es/components/dialog/select-column-multiple/index.js +335 -0
  61. package/lib/es/components/dialog/select-column-multiple/index.less +246 -0
  62. package/lib/es/components/dialog/select-table/index.js +9 -7
  63. package/lib/es/components/icons.js +36 -36
  64. package/lib/es/components/metabase/index.js +6 -6
  65. package/lib/es/components/metabase/index.less +12 -1
  66. package/lib/es/components/modules/components/Wrapper.js +6 -6
  67. package/lib/es/components/modules/custom-column.js +12 -14
  68. package/lib/es/components/modules/enum/filter-enum.d.ts +34 -0
  69. package/lib/es/components/modules/enum/filter-enum.js +131 -0
  70. package/lib/es/components/modules/filter.js +45 -463
  71. package/lib/es/components/modules/join-data.js +865 -527
  72. package/lib/es/components/modules/permission-table.js +4 -0
  73. package/lib/es/components/modules/sort.js +102 -91
  74. package/lib/es/components/modules/summarize/group-by.js +48 -17
  75. package/lib/es/components/modules/summarize/select-index.js +49 -18
  76. package/lib/es/components/modules/table-data.js +13 -4
  77. package/lib/es/hooks/patch.d.ts +4 -0
  78. package/lib/es/hooks/patch.js +457 -0
  79. package/lib/es/hooks/use-state.js +73 -138
  80. package/lib/es/index.d.ts +0 -1
  81. package/lib/es/index.js +1 -1
  82. package/lib/es/locale/en.js +9 -2
  83. package/lib/es/locale/zh.js +11 -4
  84. package/lib/es/store/helper.d.ts +2 -3
  85. package/lib/es/store/helper.js +288 -233
  86. package/lib/es/store/types.d.ts +94 -71
  87. package/lib/es/store/types.js +16 -11
  88. package/lib/es/utils.d.ts +3 -3
  89. package/lib/es/utils.js +154 -190
  90. package/package.json +1 -1
  91. package/lib/cjs/components/modules/filter copy.d.ts +0 -7
  92. package/lib/cjs/components/modules/filter copy.js +0 -178
  93. package/lib/es/components/modules/filter copy.d.ts +0 -7
  94. package/lib/es/components/modules/filter copy.js +0 -171
  95. /package/lib/cjs/components/dialog/{select-filter → expression}/index.less +0 -0
  96. /package/lib/es/components/dialog/{select-filter → expression}/index.less +0 -0
package/lib/cjs/utils.js CHANGED
@@ -81,20 +81,20 @@ var getSubColumns = exports.getSubColumns = function getSubColumns(metaList) {
81
81
  if (ExistAboveGroupBy) {
82
82
  var _prevGroupBy$group, _prevGroupBy$by;
83
83
  var _data = {
84
- table: prevGroupBy.alias,
85
- tableId: prevGroupBy.alias,
86
- tableUuid: (0, _helper2.uuidv4)('table'),
87
84
  alias: prevGroupBy.alias,
85
+ name: prevGroupBy.alias,
86
+ name_zh: prevGroupBy.alias,
87
+ tableUuid: (0, _helper2.uuidv4)('table'),
88
+ id: prevGroupBy.alias,
88
89
  columns: []
89
90
  };
90
91
  if (prevGroupBy !== null && prevGroupBy !== void 0 && (_prevGroupBy$group = prevGroupBy.group) !== null && _prevGroupBy$group !== void 0 && _prevGroupBy$group.length) {
91
92
  _data.columns = _data.columns.concat(prevGroupBy.group.map(function (v) {
92
93
  var _v$sql;
93
- return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
94
- name_zh: v.quotes
95
- }, v), {}, {
96
- name: v.fieldAlias || v.name,
97
- fieldAlias: '',
94
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
95
+ name: v.name || v.quotes,
96
+ name_zh: v.name_zh || v.quotes,
97
+ id: v.id || v.fieldId,
98
98
  // fieldUuid: uuidv4('field'),
99
99
  realName: ((_v$sql = v.sql) === null || _v$sql === void 0 || (_v$sql = _v$sql.split(' AS ')) === null || _v$sql === void 0 ? void 0 : _v$sql[1]) || '',
100
100
  // name_zh: '',
@@ -107,12 +107,10 @@ var getSubColumns = exports.getSubColumns = function getSubColumns(metaList) {
107
107
  if (prevGroupBy !== null && prevGroupBy !== void 0 && (_prevGroupBy$by = prevGroupBy.by) !== null && _prevGroupBy$by !== void 0 && _prevGroupBy$by.length) {
108
108
  _data.columns = _data.columns.concat(prevGroupBy.by.map(function (v) {
109
109
  var _v$sql2;
110
- return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
111
- name_zh: v.quotes
112
- }, v), {}, {
113
- name: v.fieldAlias || v.name,
114
- fieldAlias: '',
115
- // fieldUuid: uuidv4('field'),
110
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
111
+ name: v.name || v.quotes,
112
+ name_zh: v.name_zh || v.quotes,
113
+ id: v.id || v.fieldId,
116
114
  realName: ((_v$sql2 = v.sql) === null || _v$sql2 === void 0 || (_v$sql2 = _v$sql2.split(' AS ')) === null || _v$sql2 === void 0 ? void 0 : _v$sql2[1]) || '',
117
115
  // name_zh: '',
118
116
  database_type: (v === null || v === void 0 ? void 0 : v.database_type) || _enum.SQL_COLUMN_TYPE.FLOAT,
@@ -216,6 +214,46 @@ var getSubColumns = exports.getSubColumns = function getSubColumns(metaList) {
216
214
  // summarize = 'summarize',
217
215
  // sort = 'sort',
218
216
  // rowLimit = 'rowLimit',
217
+ var AliasType;
218
+ (function (AliasType) {
219
+ AliasType["table"] = "table";
220
+ AliasType["field"] = "field";
221
+ })(AliasType || (AliasType = {}));
222
+ // 修改别名
223
+ var _changeAlias = function changeAlias(items, val, type) {
224
+ return items.map(function (v) {
225
+ if (v.type === _types.AtomsTypeEnum.JOIN_DEFAULT || v.type === _types.AtomsTypeEnum.EXPRESSION) {
226
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
227
+ lhs: _changeAlias(v.lhs, val, type),
228
+ rhs: _changeAlias(v.rhs, val, type)
229
+ });
230
+ } else if (v.type === _types.AtomsTypeEnum.FIELD) {
231
+ if (type === AliasType.table && v.tableUuid === val.uuid) {
232
+ v.tableAlias = val.alias;
233
+ }
234
+ if (type === AliasType.field && v.fieldUuid === val.uuid) {
235
+ v.fieldAlias = val.alias;
236
+ }
237
+ return v;
238
+ } else if (v.type === _types.AtomsTypeEnum.EXISTS || v.type === _types.AtomsTypeEnum.NOT_EXISTS) {
239
+ if (type === AliasType.table) {
240
+ v.notExists = changeTableAlias(v.notExists || [], {
241
+ tableUuid: val.uuid,
242
+ alias: val.alias
243
+ });
244
+ }
245
+ if (type === AliasType.field) {
246
+ v.notExists = changeFieldAlias(v.notExists || [], {
247
+ fieldUuid: val.uuid,
248
+ fieldAlias: val.alias
249
+ });
250
+ }
251
+ return v;
252
+ } else {
253
+ return v;
254
+ }
255
+ });
256
+ };
219
257
  var changeTableAlias = exports.changeTableAlias = function changeTableAlias(list, curObj) {
220
258
  var _cloneDeep = (0, _cloneDeep3["default"])(curObj),
221
259
  tableUuid = _cloneDeep.tableUuid,
@@ -228,21 +266,29 @@ var changeTableAlias = exports.changeTableAlias = function changeTableAlias(list
228
266
  }
229
267
  }
230
268
  if (v.type === _enum.TypeEnum.joinData) {
269
+ var _v$expressions;
231
270
  if (v.table1.tableUuid === tableUuid) {
232
271
  v.table1.alias = alias;
233
272
  }
234
273
  if (v.table2.tableUuid === tableUuid) {
235
274
  v.table2.alias = alias;
236
275
  }
276
+ if (((_v$expressions = v.expressions) === null || _v$expressions === void 0 ? void 0 : _v$expressions.length) > 0) {
277
+ v.expressions = _changeAlias(v.expressions, {
278
+ uuid: tableUuid,
279
+ alias: alias
280
+ }, AliasType.table);
281
+ }
237
282
  }
238
283
  if (v.type === _enum.TypeEnum.customColumn) {
239
284
  v.customColumn.map(function (item) {
240
285
  var _item$formulaList;
241
- (_item$formulaList = item.formulaList) === null || _item$formulaList === void 0 || _item$formulaList.map(function (formula) {
242
- if (formula.expression && formula.expression.tableUuid === tableUuid) {
243
- formula.expression.alias = alias;
244
- }
245
- });
286
+ if (item !== null && item !== void 0 && item.formulaList && ((_item$formulaList = item.formulaList) === null || _item$formulaList === void 0 ? void 0 : _item$formulaList.length) > 0) {
287
+ item.formulaList = _changeAlias(item.formulaList, {
288
+ uuid: tableUuid,
289
+ alias: alias
290
+ }, AliasType.table);
291
+ }
246
292
  });
247
293
  }
248
294
  if (v.type === _enum.TypeEnum.permissionTable) {
@@ -252,13 +298,13 @@ var changeTableAlias = exports.changeTableAlias = function changeTableAlias(list
252
298
  }
253
299
  if (v.type === _enum.TypeEnum.rowLimit) {}
254
300
  if (v.type === _enum.TypeEnum.sort) {
255
- v.sort.map(function (sort) {
256
- if (sort.alias === _helper.SummarizeAlias) {} else {
257
- if (sort.tableUuid === tableUuid) {
258
- sort.alias = alias;
259
- sort.sql = "".concat(alias, ".").concat(sort.name);
260
- }
261
- }
301
+ v.sort = v.sort.map(function (sort) {
302
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, sort), {}, {
303
+ expression: _changeAlias(sort.expression, {
304
+ uuid: tableUuid,
305
+ alias: alias
306
+ }, AliasType.table)
307
+ });
262
308
  });
263
309
  }
264
310
  if (v.type === _enum.TypeEnum.summarize) {
@@ -276,47 +322,12 @@ var changeTableAlias = exports.changeTableAlias = function changeTableAlias(list
276
322
  });
277
323
  }
278
324
  if (v.type === _enum.TypeEnum.filter) {
279
- v.filter.map(function (item) {
280
- if (item.tableUuid === tableUuid) {
281
- // if (item.alias === SummarizeAlias) {
282
- // //有groupBy 特殊处理
283
- // const { prevGroupBy } = getHelper(list, v);
284
- // let groupBy: any =
285
- // prevGroupBy?.by.filter((v) => v.fieldUuid === item.fieldUuid)[0] ||
286
- // prevGroupBy?.group.filter((v) => v.fieldUuid === item.fieldUuid)[0] ||
287
- // null;
288
- // groupBy.alias = alias;
289
- // const sql = groupBy.sql;
290
- // if (groupBy) {
291
- // item.sql = sql;
292
- // item.groupSql = sql;
293
- // }
294
- // }
295
- item.alias = alias;
296
- item.sql = '';
297
- }
298
- if (item.table2 && item.table2.tableUuid === tableUuid) {
299
- // if (item.table2.alias === SummarizeAlias) {
300
- // //有groupBy 特殊处理
301
- // const { prevGroupBy } = getHelper(list, v);
302
- // let groupBy: any =
303
- // prevGroupBy?.by.filter((v) => v.fieldUuid === item.table2?.fieldUuid)[0] ||
304
- // prevGroupBy?.group.filter((v) => v.fieldUuid === item.table2?.fieldUuid)[0] ||
305
- // null;
306
- // groupBy.alias = alias;
307
- // const sql = groupBy.sql;
308
- // if (groupBy) {
309
- // item.table2.sql = sql;
310
- // item.table2.groupSql = sql;
311
- // }
312
- // }
313
- item.table2.alias = alias;
314
- // item.table2.sql = '';
315
- }
316
- // if (item.subquery) {
317
- // item.subquery = changeTableAlias(item.subquery || [], curObj);
318
- // }
319
- });
325
+ if (v.filter && v.filter.length > 0) {
326
+ v.filter = _changeAlias(v.filter, {
327
+ uuid: tableUuid,
328
+ alias: alias
329
+ }, AliasType.table);
330
+ }
320
331
  }
321
332
  // if ((v as MetaData | MetaJoin).subquery) {
322
333
  // (v as MetaData | MetaJoin).subquery = changeTableAlias(
@@ -327,136 +338,66 @@ var changeTableAlias = exports.changeTableAlias = function changeTableAlias(list
327
338
  return v;
328
339
  })) || [];
329
340
  };
330
- var _changeFieldAlias = exports.changeFieldAlias = function changeFieldAlias(list, curObj) {
341
+ var changeFieldAlias = exports.changeFieldAlias = function changeFieldAlias(list, curObj) {
331
342
  var _cloneDeep2 = (0, _cloneDeep3["default"])(curObj),
332
- fieldUuid = _cloneDeep2.fieldUuid,
333
- fieldAlias = _cloneDeep2.fieldAlias;
343
+ uuid = _cloneDeep2.fieldUuid,
344
+ alias = _cloneDeep2.fieldAlias;
334
345
  var newList = (0, _cloneDeep3["default"])(list);
335
346
  return (newList === null || newList === void 0 ? void 0 : newList.map(function (v) {
336
347
  if (v.type === _enum.TypeEnum.data) {}
337
348
  if (v.type === _enum.TypeEnum.joinData) {
338
- var _v$expressions;
339
- if (v.table1.fieldUuid === fieldUuid) {
340
- v.table1.fieldAlias = fieldAlias;
349
+ if (v.expressions && v.expressions.length > 0) {
350
+ v.expressions = _changeAlias(v.expressions, {
351
+ uuid: uuid,
352
+ alias: alias
353
+ }, AliasType.field);
341
354
  }
342
- if (v.table2.fieldUuid === fieldUuid) {
343
- v.table2.fieldAlias = fieldAlias;
344
- }
345
- v.table1.fields.map(function (field) {
346
- if (field.fieldUuid === fieldUuid) {
347
- field.fieldAlias = fieldAlias;
348
- }
349
- });
350
- v.table2.fields.map(function (field) {
351
- if (field.fieldUuid === fieldUuid) {
352
- field.fieldAlias = fieldAlias;
353
- }
354
- });
355
- (_v$expressions = v.expressions) === null || _v$expressions === void 0 || _v$expressions.map(function (column) {
356
- column.left_fields.map(function (field) {
357
- if (field.fieldUuid === fieldUuid) {
358
- field.fieldAlias = fieldAlias;
359
- }
360
- });
361
- column.right_fields.map(function (field) {
362
- if (field.fieldUuid === fieldUuid) {
363
- field.fieldAlias = fieldAlias;
364
- }
365
- });
366
- if ((column === null || column === void 0 ? void 0 : column.left_fieldUuid) === fieldUuid) {
367
- column.left_fieldAlias = fieldAlias;
368
- }
369
- if ((column === null || column === void 0 ? void 0 : column.right_fieldUuid) === fieldUuid) {
370
- column.right_fieldAlias = fieldAlias;
371
- }
372
- });
373
- // if (v.table1.tableUuid === tableUuid) {
374
- // v.table1.alias = alias;
375
- // }
376
355
  }
377
356
  if (v.type === _enum.TypeEnum.customColumn) {
378
357
  v.customColumn.map(function (item) {
379
- var _item$formulaList2;
380
- (_item$formulaList2 = item.formulaList) === null || _item$formulaList2 === void 0 || _item$formulaList2.map(function (formula) {
381
- if (formula.expression && formula.expression.fieldUuid === fieldUuid) {
382
- formula.expression.fieldAlias = fieldAlias;
383
- }
384
- });
358
+ if (item.formulaList && item.formulaList.length > 0) {
359
+ item.formulaList = _changeAlias(item.formulaList, {
360
+ uuid: uuid,
361
+ alias: alias
362
+ }, AliasType.field);
363
+ }
385
364
  });
386
365
  }
387
- // if (v.type === TypeEnum.permissionTable) {
388
- // if (v.table.tableUuid === tableUuid) {
389
- // v.table.alias = alias;
390
- // }
391
- // }
392
366
  if (v.type === _enum.TypeEnum.rowLimit) {}
393
- // if (v.type === TypeEnum.sort) {
394
- // v.sort.map((sort) => {
395
- // if (sort.alias === SummarizeAlias) {
396
- // } else {
397
- // if (sort.tableUuid === tableUuid) {
398
- // sort.alias = alias;
399
- // sort.sql = `${alias}.${sort.name}`;
400
- // }
401
- // }
402
- // });
403
- // }
404
367
  if (v.type === _enum.TypeEnum.summarize) {
405
368
  v.group.map(function (group) {
406
- if (group.fieldUuid === fieldUuid) {
407
- group.fieldAlias = fieldAlias;
369
+ if (group.fieldUuid === uuid) {
370
+ group.fieldAlias = alias;
408
371
  group.sql = (0, _helper.summarizeToSql)(v.group, group).sql;
409
372
  }
410
373
  });
411
374
  v.by.map(function (by) {
412
- if (by.fieldUuid === fieldUuid) {
413
- by.fieldAlias = fieldAlias;
375
+ if (by.fieldUuid === uuid) {
376
+ by.fieldAlias = alias;
414
377
  by.sql = "".concat(by.alias, ".").concat(by.realName || by.name);
415
378
  }
416
379
  });
417
380
  }
418
381
  if (v.type === _enum.TypeEnum.filter) {
419
- v.filter.map(function (item) {
420
- if (item.fieldUuid === fieldUuid) {
421
- item.fieldAlias = fieldAlias;
422
- if (item.alias === _helper.SummarizeAlias) {
423
- //有groupBy 特殊处理
424
- var _getHelper2 = getHelper(list, v),
425
- prevGroupBy = _getHelper2.prevGroupBy;
426
- var groupBy = (prevGroupBy === null || prevGroupBy === void 0 ? void 0 : prevGroupBy.by.filter(function (v) {
427
- return v.fieldUuid === item.fieldUuid;
428
- })[0]) || (prevGroupBy === null || prevGroupBy === void 0 ? void 0 : prevGroupBy.group.filter(function (v) {
429
- return v.fieldUuid === item.fieldUuid;
430
- })[0]) || null;
431
- if (groupBy) {
432
- groupBy.fieldAlias = fieldAlias;
433
- var sql = groupBy.sql;
434
- item.sql = sql;
435
- item.groupSql = sql;
436
- }
437
- }
438
- }
439
- if (item.table2 && item.table2.fieldUuid === fieldUuid) {
440
- item.table2.fieldAlias = fieldAlias;
441
- // if (item.table2.alias === SummarizeAlias) {
442
- // //有groupBy 特殊处理
443
- // const { prevGroupBy } = getHelper(list, v);
444
- // let groupBy: any =
445
- // prevGroupBy?.by.filter((v) => v.fieldUuid === item.table2?.fieldUuid)[0] ||
446
- // prevGroupBy?.group.filter((v) => v.fieldUuid === item.table2?.fieldUuid)[0] ||
447
- // null;
448
- // groupBy.fieldAlias = fieldAlias;
449
- // const sql = groupBy.sql;
450
- // if (groupBy) {
451
- // item.table2.sql = sql;
452
- // item.table2.groupSql = sql;
453
- // }
454
- // }
455
- }
456
- if (item.notExists) {
457
- item.notExists = _changeFieldAlias(item.notExists || [], curObj);
458
- }
459
- });
382
+ if (v.filter && v.filter.length > 0) {
383
+ console.log(v.filter);
384
+ v.filter = _changeAlias(v.filter, {
385
+ uuid: uuid,
386
+ alias: alias
387
+ }, AliasType.field);
388
+ }
389
+ }
390
+ if (v.type === _enum.TypeEnum.sort) {
391
+ if (v.sort && v.sort.length > 0) {
392
+ v.sort = v.sort.map(function (sort) {
393
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, sort), {}, {
394
+ expression: _changeAlias(sort.expression, {
395
+ uuid: uuid,
396
+ alias: alias
397
+ }, AliasType.field)
398
+ });
399
+ });
400
+ }
460
401
  }
461
402
  return (0, _objectSpread2["default"])({}, v);
462
403
  })) || [];
@@ -586,7 +527,7 @@ var buildSqlQuery = exports.buildSqlQuery = function buildSqlQuery() {
586
527
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
587
528
  var type = arguments.length > 1 ? arguments[1] : undefined;
588
529
  if (!data || data.length === 0) return '';
589
- var name = type === _types.Filter_TypeEnum.EXISTS ? 'EXISTS' : 'NOT EXISTS';
530
+ var name = type === _types.AtomsTypeEnum.EXISTS ? 'EXISTS' : 'NOT EXISTS';
590
531
  var sqlClauses = ["".concat(name, " (")];
591
532
  var tables = [];
592
533
  var joins = [];
@@ -605,29 +546,53 @@ var buildSqlQuery = exports.buildSqlQuery = function buildSqlQuery() {
605
546
  var alias2 = _meta.table2.alias ? " AS ".concat(_meta.table2.alias) : '';
606
547
  var table2 = "".concat(_meta.table2.alias || _meta.table2.name);
607
548
  var table1 = "".concat(_meta.table1.alias || _meta.table1.name);
608
- joins.push("LEFT JOIN ".concat(table2Name).concat(alias2, " ON ").concat(table1, ".").concat(_meta.table1.fieldAlias, " = ").concat(table2, ".").concat(_meta.table2.fieldAlias));
549
+ joins.push("LEFT JOIN ".concat(table2Name).concat(alias2, " ON "));
609
550
  if (Array.isArray(item.expressions) && ((_item$expressions = item.expressions) === null || _item$expressions === void 0 ? void 0 : _item$expressions.length) > 0) {
610
551
  var _item$expressions2;
611
552
  (_item$expressions2 = item.expressions) === null || _item$expressions2 === void 0 || _item$expressions2.forEach(function (expression) {
612
553
  var left = '',
613
554
  right = '';
614
- if (expression.left_type === 'field') {
615
- left = "".concat(table1, ".").concat(expression.left_fieldAlias);
616
- } else {
617
- left = expression.left_string;
618
- }
619
- if (expression.right_type === 'field') {
620
- right = "".concat(table2, ".").concat(expression.right_fieldAlias);
621
- } else {
622
- right = expression.right_string;
555
+ if (expression.type === _types.AtomsTypeEnum.JOIN_DEFAULT) {
556
+ if (expression.lhs[0].type === _types.AtomsTypeEnum.FIELD) {
557
+ left = expression.lhs.map(function (v) {
558
+ if (v.type === _types.AtomsTypeEnum.FIELD) {
559
+ return v.fieldName;
560
+ } else {
561
+ return '';
562
+ }
563
+ }).join(' || ');
564
+ } else if (expression.lhs[0].type === _types.AtomsTypeEnum.CONSTANT || expression.lhs[0].type === _types.AtomsTypeEnum.INPUT_STRING) {
565
+ left = expression.lhs[0].val;
566
+ }
567
+ if (expression.rhs[0].type === _types.AtomsTypeEnum.FIELD) {
568
+ right = expression.rhs.map(function (v) {
569
+ if (v.type === _types.AtomsTypeEnum.FIELD) {
570
+ return v.fieldName;
571
+ } else {
572
+ return '';
573
+ }
574
+ }).join(' || ');
575
+ } else if (expression.rhs[0].type === _types.AtomsTypeEnum.CONSTANT || expression.rhs[0].type === _types.AtomsTypeEnum.INPUT_STRING) {
576
+ right = expression.rhs[0].val;
577
+ }
623
578
  }
624
- joins.push("AND ".concat(left, " = ").concat(right));
579
+ joins.push("".concat(left, " = ").concat(right));
625
580
  });
626
581
  }
627
582
  }
628
583
  if (item.type === _enum.TypeEnum.filter) {
629
584
  var filterStrings = item.filter.map(function (f) {
630
- return f.quotes;
585
+ if (f.type === _types.AtomsTypeEnum.FIELD) {
586
+ return f.fieldName;
587
+ } else if (f.type === _types.AtomsTypeEnum.EXPRESSION || f.type === _types.AtomsTypeEnum.EXISTS || f.type === _types.AtomsTypeEnum.NOT_EXISTS) {
588
+ return f.quotes;
589
+ } else if (f.type === _types.AtomsTypeEnum.JOIN_DEFAULT) {
590
+ return '';
591
+ } else if (f.type === _types.AtomsTypeEnum.INPUT_NUMBER || f.type === _types.AtomsTypeEnum.INPUT_NUMBER_LIST || f.type === _types.AtomsTypeEnum.INPUT_STRING_LIST) {
592
+ return '';
593
+ } else {
594
+ return f.val;
595
+ }
631
596
  }).filter(Boolean);
632
597
  if (filterStrings.length > 0) {
633
598
  wheres.push.apply(wheres, (0, _toConsumableArray2["default"])(filterStrings));
@@ -51,17 +51,17 @@ var SplitView = React.forwardRef(function (props, ref) {
51
51
  hMaximum = _useState8[0],
52
52
  setHMaximum = _useState8[1];
53
53
  var _useState9 = useState(false),
54
- _useState10 = _slicedToArray(_useState9, 2),
55
- vMinimum = _useState10[0],
56
- setVMinimum = _useState10[1];
57
- var _useState11 = useState(false),
54
+ _useState0 = _slicedToArray(_useState9, 2),
55
+ vMinimum = _useState0[0],
56
+ setVMinimum = _useState0[1];
57
+ var _useState1 = useState(false),
58
+ _useState10 = _slicedToArray(_useState1, 2),
59
+ vMaximum = _useState10[0],
60
+ setVMaximum = _useState10[1];
61
+ var _useState11 = useState(0),
58
62
  _useState12 = _slicedToArray(_useState11, 2),
59
- vMaximum = _useState12[0],
60
- setVMaximum = _useState12[1];
61
- var _useState13 = useState(0),
62
- _useState14 = _slicedToArray(_useState13, 2),
63
- bottomHeight = _useState14[0],
64
- setBottomHeight = _useState14[1];
63
+ bottomHeight = _useState12[0],
64
+ setBottomHeight = _useState12[1];
65
65
  React.useImperativeHandle(ref, function () {
66
66
  return {
67
67
  open: function open() {
@@ -114,7 +114,7 @@ var Suggest = /*#__PURE__*/function () {
114
114
  type: OptionsTypeEnum.FUNCTION,
115
115
  list: Object.keys(functions)
116
116
  }, {
117
- name: __('customColumn.other'),
117
+ name: __('customColumn.operatorMore'),
118
118
  type: OptionsTypeEnum.OTHER,
119
119
  list: ['(']
120
120
  }]
@@ -2,12 +2,12 @@
2
2
  * 关联模块 选择表字段
3
3
  */
4
4
  import './index.less';
5
- import { MetaFilter_Item } from '../../../store/types';
6
- import { DataType } from '../select-join-column';
5
+ import { AtomsExpression } from '../../../store/types';
6
+ import { DataType } from '../select-column-multiple';
7
7
  interface PropsType {
8
8
  data: DataType[];
9
- value: MetaFilter_Item;
10
- onChange: (reocrd: MetaFilter_Item) => void;
9
+ value: AtomsExpression;
10
+ onChange: (reocrd: AtomsExpression) => void;
11
11
  didUpdate?: Function;
12
12
  isCustom?: boolean;
13
13
  container?: any;