@gingkoo/pandora-metabase 1.0.27 → 1.0.28

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 (66) 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/tokenizedI-input.js +1 -2
  4. package/lib/cjs/components/dialog/expression/index.js +11 -12
  5. package/lib/cjs/components/dialog/formula-list/index.js +53 -43
  6. package/lib/cjs/components/dialog/index.js +2 -2
  7. package/lib/cjs/components/dialog/select-column/index.js +4 -4
  8. package/lib/cjs/components/dialog/select-column-multiple/index.js +7 -7
  9. package/lib/cjs/components/dialog/select-join-column/index.js +4 -0
  10. package/lib/cjs/components/dialog/select-permission-table/index.js +2 -2
  11. package/lib/cjs/components/dialog/select-table/index.js +7 -7
  12. package/lib/cjs/components/icons.js +36 -36
  13. package/lib/cjs/components/metabase/index.js +41 -12
  14. package/lib/cjs/components/metabase/index.less +3 -0
  15. package/lib/cjs/components/modules/components/Wrapper.js +6 -6
  16. package/lib/cjs/components/modules/components/item-name.d.ts +7 -0
  17. package/lib/cjs/components/modules/components/item-name.js +34 -0
  18. package/lib/cjs/components/modules/components/meta-icon.js +6 -0
  19. package/lib/cjs/components/modules/custom-column.js +25 -25
  20. package/lib/cjs/components/modules/filter.js +2 -2
  21. package/lib/cjs/components/modules/join-data.js +206 -80
  22. package/lib/cjs/components/modules/permission-table.js +24 -10
  23. package/lib/cjs/components/modules/sort.js +17 -13
  24. package/lib/cjs/components/modules/summarize/group-by.js +90 -38
  25. package/lib/cjs/components/modules/summarize/select-index.js +84 -38
  26. package/lib/cjs/components/modules/table-data.js +14 -6
  27. package/lib/cjs/components/popup.js +1 -2
  28. package/lib/cjs/hooks/use-state.js +58 -65
  29. package/lib/cjs/index.js +1 -2
  30. package/lib/cjs/locale/en.js +5 -2
  31. package/lib/cjs/locale/zh.js +5 -2
  32. package/lib/cjs/utils/transformSql.d.ts +6 -0
  33. package/lib/cjs/utils/transformSql.js +968 -0
  34. package/lib/cjs/utils.d.ts +7 -1
  35. package/lib/cjs/utils.js +112 -15
  36. package/lib/es/common/SplitView/index.js +10 -10
  37. package/lib/es/components/dialog/expression/index.js +10 -10
  38. package/lib/es/components/dialog/formula-list/index.js +54 -44
  39. package/lib/es/components/dialog/select-column/index.js +4 -4
  40. package/lib/es/components/dialog/select-column-multiple/index.js +7 -7
  41. package/lib/es/components/dialog/select-join-column/index.js +4 -0
  42. package/lib/es/components/dialog/select-permission-table/index.js +2 -2
  43. package/lib/es/components/dialog/select-table/index.js +7 -7
  44. package/lib/es/components/icons.js +36 -36
  45. package/lib/es/components/metabase/index.js +42 -13
  46. package/lib/es/components/metabase/index.less +3 -0
  47. package/lib/es/components/modules/components/Wrapper.js +6 -6
  48. package/lib/es/components/modules/components/item-name.d.ts +7 -0
  49. package/lib/es/components/modules/components/item-name.js +28 -0
  50. package/lib/es/components/modules/components/meta-icon.js +6 -0
  51. package/lib/es/components/modules/custom-column.js +26 -26
  52. package/lib/es/components/modules/filter.js +2 -2
  53. package/lib/es/components/modules/join-data.js +207 -81
  54. package/lib/es/components/modules/permission-table.js +24 -10
  55. package/lib/es/components/modules/sort.js +18 -14
  56. package/lib/es/components/modules/summarize/group-by.js +92 -40
  57. package/lib/es/components/modules/summarize/select-index.js +86 -40
  58. package/lib/es/components/modules/table-data.js +14 -6
  59. package/lib/es/hooks/use-state.js +58 -65
  60. package/lib/es/locale/en.js +5 -2
  61. package/lib/es/locale/zh.js +5 -2
  62. package/lib/es/utils/transformSql.d.ts +6 -0
  63. package/lib/es/utils/transformSql.js +961 -0
  64. package/lib/es/utils.d.ts +7 -1
  65. package/lib/es/utils.js +102 -4
  66. package/package.json +1 -1
@@ -17,8 +17,10 @@ var _types = require("../../../store/types");
17
17
  var _selectJoinColumn = _interopRequireDefault(require("../../dialog/select-join-column"));
18
18
  var _pandora = require("@gingkoo/pandora");
19
19
  var _helper = require("../../../utils/helper");
20
+ var _itemName = _interopRequireDefault(require("../components/item-name"));
20
21
  var _icons = require("../../icons");
21
22
  var _useProvider = require("../../../hooks/use-provider");
23
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
22
24
  var GroupBy = function GroupBy(props) {
23
25
  var meta = props.meta,
24
26
  groupIndex = props.groupIndex;
@@ -88,6 +90,8 @@ var GroupBy = function GroupBy(props) {
88
90
  tableUuid: v.table2.tableUuid,
89
91
  tableId: v.table2.id,
90
92
  table: v.table2.name,
93
+ datasourceId: v.table2.datasourceId,
94
+ datasourceName: v.table2.datasourceName,
91
95
  columns: v.columns
92
96
  };
93
97
  }));
@@ -101,6 +105,8 @@ var GroupBy = function GroupBy(props) {
101
105
  table: v.table.name,
102
106
  tableUuid: v.table.tableUuid,
103
107
  tableId: v.table.id,
108
+ datasourceId: v.table.datasourceId,
109
+ datasourceName: v.table.datasourceName,
104
110
  columns: v.columns
105
111
  };
106
112
  } else if (v.type === _enum.TypeEnum.joinData) {
@@ -109,6 +115,8 @@ var GroupBy = function GroupBy(props) {
109
115
  table: v.table2.name,
110
116
  tableId: v.table2.id,
111
117
  tableUuid: v.table2.tableUuid,
118
+ datasourceId: v.table2.datasourceId,
119
+ datasourceName: v.table2.datasourceName,
112
120
  columns: v.columns
113
121
  };
114
122
  } else {
@@ -146,11 +154,9 @@ var GroupBy = function GroupBy(props) {
146
154
  fieldAlias: fieldAlias
147
155
  });
148
156
  });
149
- if (value.quotes !== data.quotes) {
150
- newMeta = newMeta.filter(function (_, _i) {
151
- return _i <= index;
152
- });
153
- }
157
+ // if (value.quotes !== data.quotes) {
158
+ // newMeta = newMeta.filter((_: MetaListType, _i: number) => _i <= index);
159
+ // }
154
160
  store.setMeta(newMeta, groupIndex);
155
161
  closePopup();
156
162
  }
@@ -216,9 +222,7 @@ var GroupBy = function GroupBy(props) {
216
222
  newMeta[index].by = by.filter(function (_, i) {
217
223
  return i !== itemId;
218
224
  });
219
- newMeta = newMeta.filter(function (_, _i) {
220
- return _i <= index;
221
- });
225
+ // newMeta = newMeta.filter((_: MetaListType, _i: number) => _i <= index);
222
226
  store.setMeta(newMeta, groupIndex);
223
227
  }
224
228
  function closePopup() {
@@ -240,22 +244,22 @@ var GroupBy = function GroupBy(props) {
240
244
  onOk: function () {
241
245
  var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
242
246
  var newMeta;
243
- return _regenerator["default"].wrap(function _callee$(_context) {
247
+ return _regenerator["default"].wrap(function (_context) {
244
248
  while (1) switch (_context.prev = _context.next) {
245
249
  case 0:
246
250
  if ((0, _utils.isValidSQLAlias)(fieldAlias)) {
247
- _context.next = 3;
251
+ _context.next = 1;
248
252
  break;
249
253
  }
250
254
  _pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasForRules'));
251
255
  return _context.abrupt("return", false);
252
- case 3:
256
+ case 1:
253
257
  newMeta = store.metaList[groupIndex].list.slice(); // @ts-ignore
254
258
  newMeta[index].by[i].sql = newMeta[index].by[i].sql.split('AS ')[0] + "AS ".concat(fieldAlias); //修改sql
255
259
  newMeta[index].by[i].fieldAlias = fieldAlias;
256
260
  newMeta = (0, _utils.changeFieldAlias)(newMeta, newMeta[index].by[i]);
257
261
  store.setMeta(newMeta, groupIndex);
258
- case 8:
262
+ case 2:
259
263
  case "end":
260
264
  return _context.stop();
261
265
  }
@@ -269,36 +273,84 @@ var GroupBy = function GroupBy(props) {
269
273
  onCancel: function onCancel() {}
270
274
  });
271
275
  };
276
+ var _getColumns = function _getColumns() {
277
+ return getColumns().map(function (v) {
278
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
279
+ name: v.table,
280
+ id: v.tableId,
281
+ name_zh: '',
282
+ tableUuid: v.tableUuid,
283
+ alias: v.alias,
284
+ // 线上的都为空,默认会标红。 等统一格式后可隐藏
285
+ datasourceName: '',
286
+ // 数据源名
287
+ datasourceId: '' // 数据源id
288
+ });
289
+ });
290
+ };
291
+ var getField = function getField(v) {
292
+ var _v = (0, _cloneDeep["default"])(v);
293
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _v), {}, {
294
+ fieldName: v.name,
295
+ // 字段名
296
+ fieldNameZh: v.name_zh,
297
+ // 字段中文名
298
+ fieldAlias: v.fieldAlias,
299
+ // 别名
300
+ fieldUuid: v.fieldUuid,
301
+ // uuid
302
+ fieldId: v.fieldId,
303
+ // 字段id
304
+ tableName: v.table,
305
+ // 表名
306
+ tableNameZh: '',
307
+ tableId: v.tableId,
308
+ // 表名
309
+ tableAlias: v.alias,
310
+ // 别名
311
+ tableUuid: v.tableUuid,
312
+ // 表唯一标识
313
+ // 线上的都为空,默认会标红。 等统一格式后可隐藏
314
+ datasourceName: '',
315
+ // 数据源名
316
+ datasourceId: '',
317
+ // 数据源id
318
+ type: _types.AtomsTypeEnum.FIELD
319
+ });
320
+ };
272
321
  return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
273
322
  children: [meta.by.map(function (v, i) {
274
- return (0, _jsxRuntime.jsxs)("div", {
275
- className: "Sqb-TableName green-name",
276
- onClick: function onClick(e) {
277
- return handleUpdate(e, i);
278
- },
279
- children: [v.quotes && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
280
- title: (0, _locale.__)('SqlQueryBuilder.alias'),
281
- children: (0, _jsxRuntime.jsx)(_pandora.Button, {
282
- className: ':Sqb-TableName-as :Sqb-TableName green-name',
283
- shape: 'circle',
284
- iconOnly: true,
285
- primary: true,
286
- icon: 'As',
287
- size: 'small',
288
- onClick: function onClick(e) {
289
- e.stopPropagation();
290
- onChangeFieldAlias((v === null || v === void 0 ? void 0 : v.fieldAlias) || '', i);
291
- }
292
- })
293
- }), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), (0, _jsxRuntime.jsx)("span", {
294
- style: {
295
- fontSize: 0
296
- },
323
+ return (0, _jsxRuntime.jsx)(_itemName["default"], {
324
+ isError: (0, _utils.isError)(getField(v), _getColumns()),
325
+ children: (0, _jsxRuntime.jsxs)("div", {
326
+ className: "Sqb-TableName green-name",
297
327
  onClick: function onClick(e) {
298
- return handleDel(e, i);
328
+ return handleUpdate(e, i);
299
329
  },
300
- children: (0, _jsxRuntime.jsx)(_icons.CloseIcon, {})
301
- })]
330
+ children: [v.quotes && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
331
+ title: (0, _locale.__)('SqlQueryBuilder.alias'),
332
+ children: (0, _jsxRuntime.jsx)(_pandora.Button, {
333
+ className: ':Sqb-TableName-as :Sqb-TableName green-name',
334
+ shape: 'circle',
335
+ iconOnly: true,
336
+ primary: true,
337
+ icon: 'As',
338
+ size: 'small',
339
+ onClick: function onClick(e) {
340
+ e.stopPropagation();
341
+ onChangeFieldAlias((v === null || v === void 0 ? void 0 : v.fieldAlias) || '', i);
342
+ }
343
+ })
344
+ }), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), (0, _jsxRuntime.jsx)("span", {
345
+ style: {
346
+ fontSize: 0
347
+ },
348
+ onClick: function onClick(e) {
349
+ return handleDel(e, i);
350
+ },
351
+ children: (0, _jsxRuntime.jsx)(_icons.CloseIcon, {})
352
+ })]
353
+ })
302
354
  }, i);
303
355
  }), (0, _jsxRuntime.jsx)("div", {
304
356
  className: (0, _classnames["default"])("Sqb-TableName green-name", {
@@ -17,9 +17,11 @@ var _helper = require("../../../store/helper");
17
17
  var _pandora = require("@gingkoo/pandora");
18
18
  var _helper2 = require("../../../utils/helper");
19
19
  var _types = require("../../../store/types");
20
+ var _itemName = _interopRequireDefault(require("../components/item-name"));
20
21
  var _icons = require("../../icons");
21
22
  var _dialog = require("../../dialog");
22
23
  var _useProvider = require("../../../hooks/use-provider");
24
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
23
25
  var SelectIndex = function SelectIndex(props) {
24
26
  var meta = props.meta,
25
27
  groupIndex = props.groupIndex;
@@ -153,11 +155,9 @@ var SelectIndex = function SelectIndex(props) {
153
155
  fieldAlias: fieldAlias
154
156
  });
155
157
  });
156
- if (value.quotes !== data.quotes) {
157
- newMeta = newMeta.filter(function (_, _i) {
158
- return _i <= index;
159
- });
160
- }
158
+ // if (value.quotes !== data.quotes) {
159
+ // newMeta = newMeta.filter((_: MetaListType, _i: number) => _i <= index);
160
+ // }
161
161
  store.setMeta(newMeta, groupIndex);
162
162
  closePopup();
163
163
  }
@@ -223,9 +223,7 @@ var SelectIndex = function SelectIndex(props) {
223
223
  newMeta[index].group = group.filter(function (_, i) {
224
224
  return i !== itemId;
225
225
  });
226
- newMeta = newMeta.filter(function (_, _i) {
227
- return _i <= index;
228
- });
226
+ // newMeta = newMeta.filter((_: MetaListType, _i: number) => _i <= index);
229
227
  store.setMeta(newMeta, groupIndex);
230
228
  }
231
229
  function closePopup() {
@@ -248,22 +246,22 @@ var SelectIndex = function SelectIndex(props) {
248
246
  onOk: function () {
249
247
  var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
250
248
  var newMeta;
251
- return _regenerator["default"].wrap(function _callee$(_context) {
249
+ return _regenerator["default"].wrap(function (_context) {
252
250
  while (1) switch (_context.prev = _context.next) {
253
251
  case 0:
254
252
  if ((0, _utils.isValidSQLAlias)(fieldAlias)) {
255
- _context.next = 3;
253
+ _context.next = 1;
256
254
  break;
257
255
  }
258
256
  _pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasForRules'));
259
257
  return _context.abrupt("return", false);
260
- case 3:
258
+ case 1:
261
259
  newMeta = store.metaList[groupIndex].list.slice(); // @ts-ignore
262
260
  newMeta[index].group[i].fieldAlias = fieldAlias;
263
261
  newMeta[index].group[i].sql = newMeta[index].group[i].sql.split('AS ')[0] + "AS ".concat(fieldAlias); //修改sql
264
262
  newMeta = (0, _utils.changeFieldAlias)(newMeta, newMeta[index].group[i]);
265
263
  store.setMeta(newMeta, groupIndex);
266
- case 8:
264
+ case 2:
267
265
  case "end":
268
266
  return _context.stop();
269
267
  }
@@ -277,36 +275,84 @@ var SelectIndex = function SelectIndex(props) {
277
275
  onCancel: function onCancel() {}
278
276
  });
279
277
  };
278
+ var _getColumns = function _getColumns() {
279
+ return getColumns().map(function (v) {
280
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
281
+ name: v.table,
282
+ id: v.tableId,
283
+ name_zh: '',
284
+ tableUuid: v.tableUuid,
285
+ alias: v.alias,
286
+ // 线上的都为空,默认会标红。 等统一格式后可隐藏
287
+ datasourceName: '',
288
+ // 数据源名
289
+ datasourceId: '' // 数据源id
290
+ });
291
+ });
292
+ };
293
+ var getField = function getField(v) {
294
+ var _v = (0, _cloneDeep["default"])(v);
295
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _v), {}, {
296
+ fieldName: v.name,
297
+ // 字段名
298
+ fieldNameZh: v.name_zh,
299
+ // 字段中文名
300
+ fieldAlias: v.fieldAlias,
301
+ // 别名
302
+ fieldUuid: v.fieldUuid,
303
+ // uuid
304
+ fieldId: v.fieldId,
305
+ // 字段id
306
+ tableName: v.table,
307
+ // 表名
308
+ tableNameZh: '',
309
+ tableId: v.tableId,
310
+ // 表名
311
+ tableAlias: v.alias,
312
+ // 别名
313
+ tableUuid: v.tableUuid,
314
+ // 表唯一标识
315
+ // 线上的都为空,默认会标红。 等统一格式后可隐藏
316
+ datasourceName: '',
317
+ // 数据源名
318
+ datasourceId: '',
319
+ // 数据源id
320
+ type: _types.AtomsTypeEnum.FIELD
321
+ });
322
+ };
280
323
  return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
281
324
  children: [meta.group.map(function (v, i) {
282
- return (0, _jsxRuntime.jsxs)("div", {
283
- className: "Sqb-TableName green-name",
284
- onClick: function onClick(e) {
285
- return handleUpdate(e, i);
286
- },
287
- children: [v.quotes && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
288
- title: (0, _locale.__)('SqlQueryBuilder.alias'),
289
- children: (0, _jsxRuntime.jsx)(_pandora.Button, {
290
- className: ':Sqb-TableName-as :Sqb-TableName green-name',
291
- shape: 'circle',
292
- iconOnly: true,
293
- primary: true,
294
- icon: 'As',
295
- size: 'small',
296
- onClick: function onClick(e) {
297
- e.stopPropagation();
298
- onChangeFieldAlias((v === null || v === void 0 ? void 0 : v.fieldAlias) || '', i);
299
- }
300
- })
301
- }), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), (0, _jsxRuntime.jsx)("span", {
302
- style: {
303
- fontSize: 0
304
- },
325
+ return (0, _jsxRuntime.jsx)(_itemName["default"], {
326
+ isError: (0, _utils.isError)(getField(v), _getColumns()),
327
+ children: (0, _jsxRuntime.jsxs)("div", {
328
+ className: "Sqb-TableName green-name",
305
329
  onClick: function onClick(e) {
306
- return handleDel(e, i);
330
+ return handleUpdate(e, i);
307
331
  },
308
- children: (0, _jsxRuntime.jsx)(_icons.CloseIcon, {})
309
- })]
332
+ children: [v.quotes && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
333
+ title: (0, _locale.__)('SqlQueryBuilder.alias'),
334
+ children: (0, _jsxRuntime.jsx)(_pandora.Button, {
335
+ className: ':Sqb-TableName-as :Sqb-TableName green-name',
336
+ shape: 'circle',
337
+ iconOnly: true,
338
+ primary: true,
339
+ icon: 'As',
340
+ size: 'small',
341
+ onClick: function onClick(e) {
342
+ e.stopPropagation();
343
+ onChangeFieldAlias((v === null || v === void 0 ? void 0 : v.fieldAlias) || '', i);
344
+ }
345
+ })
346
+ }), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), (0, _jsxRuntime.jsx)("span", {
347
+ style: {
348
+ fontSize: 0
349
+ },
350
+ onClick: function onClick(e) {
351
+ return handleDel(e, i);
352
+ },
353
+ children: (0, _jsxRuntime.jsx)(_icons.CloseIcon, {})
354
+ })]
355
+ })
310
356
  }, i);
311
357
  }), (0, _jsxRuntime.jsx)("div", {
312
358
  className: (0, _classnames["default"])("Sqb-TableName green-name", {
@@ -91,21 +91,21 @@ var TableData = function TableData(props) {
91
91
  onOk: function () {
92
92
  var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
93
93
  var newMetaList;
94
- return _regenerator["default"].wrap(function _callee$(_context) {
94
+ return _regenerator["default"].wrap(function (_context) {
95
95
  while (1) switch (_context.prev = _context.next) {
96
96
  case 0:
97
97
  if ((0, _utils.isValidSQLAlias)(alias)) {
98
- _context.next = 3;
98
+ _context.next = 1;
99
99
  break;
100
100
  }
101
101
  _pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasForRules'));
102
102
  return _context.abrupt("return", false);
103
- case 3:
103
+ case 1:
104
104
  newMetaList = store.metaList[groupIndex].list.slice(); // @ts-ignore
105
105
  newMetaList[0].table.alias = alias;
106
106
  newMetaList = (0, _utils.changeTableAlias)(newMetaList, newMetaList[0].table);
107
107
  store.setMeta(newMetaList, groupIndex);
108
- case 7:
108
+ case 2:
109
109
  case "end":
110
110
  return _context.stop();
111
111
  }
@@ -141,7 +141,7 @@ var TableData = function TableData(props) {
141
141
  showSubquery: store._showSubquery,
142
142
  toolbar: _toolbar,
143
143
  btnText: (0, _locale.__)('SqlQueryBuilder.confirm'),
144
- value: val,
144
+ value: (0, _cloneDeep["default"])(val),
145
145
  onOk: function onOk(newList) {
146
146
  try {
147
147
  // 子查询未改变不做操作
@@ -158,7 +158,15 @@ var TableData = function TableData(props) {
158
158
  var newColumns = items.flatMap(function (item) {
159
159
  return item.columns;
160
160
  });
161
- newMetaList.columns = newColumns;
161
+ // newMetaList.columns = newColumns;
162
+ newMetaList.columns = newColumns.map(function (newCol) {
163
+ // 查找旧列中是否有相同 name 的列
164
+ var existingCol = newMetaList.columns.find(function (oldCol) {
165
+ return oldCol.name === newCol.name;
166
+ });
167
+ // 如果存在,返回旧列;否则返回新列
168
+ return existingCol ? existingCol : newCol;
169
+ });
162
170
  // (newMeta[index] as MetaJoin).expressions = [];
163
171
  store.setMeta([newMetaList], groupIndex);
164
172
  o.close();
@@ -19,8 +19,7 @@ var React = _interopRequireWildcard(require("react"));
19
19
  var _helperDom = require("../utils/helper-dom");
20
20
  var _event = require("../utils/event");
21
21
  var _Portal = _interopRequireDefault(require("../common/Portal"));
22
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
23
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
22
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
24
23
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, (0, _isNativeReflectConstruct2["default"])() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
25
24
  function returnDocument(element) {
26
25
  if (element) {
@@ -62,69 +62,73 @@ var useStore = function useStore() {
62
62
  toolbar = _useState8[0],
63
63
  setToolbar = _useState8[1]; //工具列表
64
64
  var _useState9 = (0, _react.useState)('${name}'),
65
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
66
- fieldNameTpl = _useState10[0],
67
- setFieldNameTpl = _useState10[1]; //显示字段
68
- var _useState11 = (0, _react.useState)('${name}'),
65
+ _useState0 = (0, _slicedToArray2["default"])(_useState9, 2),
66
+ fieldNameTpl = _useState0[0],
67
+ setFieldNameTpl = _useState0[1]; //显示字段
68
+ var _useState1 = (0, _react.useState)('${name}'),
69
+ _useState10 = (0, _slicedToArray2["default"])(_useState1, 2),
70
+ tableNameTpl = _useState10[0],
71
+ setTableNameTpl = _useState10[1]; //显示字段
72
+ var _useState11 = (0, _react.useState)([]),
69
73
  _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
70
- tableNameTpl = _useState12[0],
71
- setTableNameTpl = _useState12[1]; //显示字段
74
+ sourceList = _useState12[0],
75
+ setSourceList = _useState12[1]; //数据源列表
72
76
  var _useState13 = (0, _react.useState)([]),
73
77
  _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
74
- sourceList = _useState14[0],
75
- setSourceList = _useState14[1]; //数据源列表
78
+ constantList = _useState14[0],
79
+ setConstantList = _useState14[1]; //常量列表
76
80
  var _useState15 = (0, _react.useState)([]),
77
81
  _useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
78
- constantList = _useState16[0],
79
- setConstantList = _useState16[1]; //常量列表
80
- var _useState17 = (0, _react.useState)([]),
82
+ formulaTemplates = _useState16[0],
83
+ setFormulaTemplates = _useState16[1]; //公式配置数组
84
+ var _useState17 = (0, _react.useState)(false),
81
85
  _useState18 = (0, _slicedToArray2["default"])(_useState17, 2),
82
- formulaTemplates = _useState18[0],
83
- setFormulaTemplates = _useState18[1]; //公式配置数组
86
+ ignoreGroupByType = _useState18[0],
87
+ setIgnoreGroupByType = _useState18[1]; // 忽略groupBy类型
84
88
  var _useState19 = (0, _react.useState)(false),
85
89
  _useState20 = (0, _slicedToArray2["default"])(_useState19, 2),
86
- ignoreGroupByType = _useState20[0],
87
- setIgnoreGroupByType = _useState20[1]; // 忽略groupBy类型
88
- var _useState21 = (0, _react.useState)(false),
90
+ filterCustomType = _useState20[0],
91
+ setfilterCustomType = _useState20[1]; // 过滤器自定义类型
92
+ var _useState21 = (0, _react.useState)({}),
89
93
  _useState22 = (0, _slicedToArray2["default"])(_useState21, 2),
90
- filterCustomType = _useState22[0],
91
- setfilterCustomType = _useState22[1]; // 过滤器自定义类型
94
+ _cacheSource2TableMap = _useState22[0],
95
+ set_cacheSource2TableMap = _useState22[1]; //数据源id 对应数据集列表
92
96
  var _useState23 = (0, _react.useState)({}),
93
97
  _useState24 = (0, _slicedToArray2["default"])(_useState23, 2),
94
- _cacheSource2TableMap = _useState24[0],
95
- set_cacheSource2TableMap = _useState24[1]; //数据源id 对应数据集列表
96
- var _useState25 = (0, _react.useState)({}),
98
+ _cacheColumnsMap = _useState24[0],
99
+ set_cacheColumnsMap = _useState24[1]; //数据源id 对应数据集列表
100
+ var _useState25 = (0, _react.useState)(defaultMeta),
97
101
  _useState26 = (0, _slicedToArray2["default"])(_useState25, 2),
98
- _cacheColumnsMap = _useState26[0],
99
- set_cacheColumnsMap = _useState26[1]; //数据源id 对应数据集列表
100
- var _useState27 = (0, _react.useState)(defaultMeta),
101
- _useState28 = (0, _slicedToArray2["default"])(_useState27, 2),
102
- metaList = _useState28[0],
103
- _setMeta = _useState28[1]; //数据源id 对应数据集列表
104
- var _useState29 = (0, _react.useState)({
102
+ metaList = _useState26[0],
103
+ _setMeta = _useState26[1]; //数据源id 对应数据集列表
104
+ var _useState27 = (0, _react.useState)({
105
105
  visible: false,
106
106
  node: null,
107
107
  content: null
108
108
  }),
109
- _useState30 = (0, _slicedToArray2["default"])(_useState29, 2),
110
- popupData = _useState30[0],
111
- setPopup = _useState30[1]; //弹窗
112
- var _useState31 = (0, _react.useState)({
109
+ _useState28 = (0, _slicedToArray2["default"])(_useState27, 2),
110
+ popupData = _useState28[0],
111
+ setPopup = _useState28[1]; //弹窗
112
+ var _useState29 = (0, _react.useState)({
113
113
  visible: false,
114
114
  node: null,
115
115
  content: null
116
116
  }),
117
+ _useState30 = (0, _slicedToArray2["default"])(_useState29, 2),
118
+ popupData2 = _useState30[0],
119
+ setPopup2 = _useState30[1]; //弹窗
120
+ var _useState31 = (0, _react.useState)(true),
117
121
  _useState32 = (0, _slicedToArray2["default"])(_useState31, 2),
118
- popupData2 = _useState32[0],
119
- setPopup2 = _useState32[1]; //弹窗
122
+ popupClosable = _useState32[0],
123
+ setClosable = _useState32[1]; //是否可关闭 如果弹框里面再弹框 则不可关闭
120
124
  var _useState33 = (0, _react.useState)(true),
121
125
  _useState34 = (0, _slicedToArray2["default"])(_useState33, 2),
122
- popupClosable = _useState34[0],
123
- setClosable = _useState34[1]; //是否可关闭 如果弹框里面再弹框 则不可关闭
124
- var _useState35 = (0, _react.useState)(true),
126
+ popupClosable2 = _useState34[0],
127
+ setClosable2 = _useState34[1]; //是否可关闭 如果弹框里面再弹框 则不可关闭
128
+ var _useState35 = (0, _react.useState)({}),
125
129
  _useState36 = (0, _slicedToArray2["default"])(_useState35, 2),
126
- popupClosable2 = _useState36[0],
127
- setClosable2 = _useState36[1]; //是否可关闭 如果弹框里面再弹框 则不可关闭
130
+ currentTable = _useState36[0],
131
+ setCurrentTable = _useState36[1]; // 当前存在的表
128
132
  // 外层ref
129
133
  var popupContainer = (0, _react.useRef)();
130
134
  // const [fetchDatasetFn, setFetchDatasetFn] = useState<(id: string) => Promise<any>>(
@@ -184,23 +188,23 @@ var useStore = function useStore() {
184
188
  var fetchDataset = /*#__PURE__*/function () {
185
189
  var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(datasourceId) {
186
190
  var tables, _tables;
187
- return _regenerator["default"].wrap(function _callee$(_context) {
191
+ return _regenerator["default"].wrap(function (_context) {
188
192
  while (1) switch (_context.prev = _context.next) {
189
193
  case 0:
190
194
  tables = getDataset(datasourceId);
191
195
  if (!tables.length) {
192
- _context.next = 3;
196
+ _context.next = 1;
193
197
  break;
194
198
  }
195
199
  return _context.abrupt("return", tables);
196
- case 3:
197
- _context.next = 5;
200
+ case 1:
201
+ _context.next = 2;
198
202
  return fetchDatasetFn.current(datasourceId);
199
- case 5:
203
+ case 2:
200
204
  _tables = _context.sent;
201
205
  setDataset(datasourceId, _tables);
202
206
  return _context.abrupt("return", _tables);
203
- case 8:
207
+ case 3:
204
208
  case "end":
205
209
  return _context.stop();
206
210
  }
@@ -229,7 +233,7 @@ var useStore = function useStore() {
229
233
  columns,
230
234
  _columns,
231
235
  _args2 = arguments;
232
- return _regenerator["default"].wrap(function _callee2$(_context2) {
236
+ return _regenerator["default"].wrap(function (_context2) {
233
237
  while (1) switch (_context2.prev = _context2.next) {
234
238
  case 0:
235
239
  oldColumns = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : [];
@@ -239,20 +243,22 @@ var useStore = function useStore() {
239
243
  return v.select;
240
244
  }).map(function (v) {
241
245
  return v.id;
246
+ }).filter(function (v) {
247
+ return v;
242
248
  });
243
249
  _table$alias = table.alias, alias = _table$alias === void 0 ? '' : _table$alias, datasourceName = table.datasourceName, did = table.datasourceId, column = table.column, extra = (0, _objectWithoutProperties2["default"])(table, _excluded);
244
250
  tableName = table.name;
245
251
  columns = getColumns(tableName);
246
252
  if (columns.length) {
247
- _context2.next = 11;
253
+ _context2.next = 2;
248
254
  break;
249
255
  }
250
- _context2.next = 9;
256
+ _context2.next = 1;
251
257
  return fetchColumnsFn.current(extra, datasourceId);
252
- case 9:
258
+ case 1:
253
259
  columns = _context2.sent;
254
260
  setColumns(tableName, columns);
255
- case 11:
261
+ case 2:
256
262
  _columns = (_columns2 = columns) === null || _columns2 === void 0 ? void 0 : _columns2.map(function (v) {
257
263
  var select = selectId.includes(v.id);
258
264
  return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
@@ -261,7 +267,7 @@ var useStore = function useStore() {
261
267
  });
262
268
  });
263
269
  typeof callback === 'function' && callback(_columns);
264
- case 13:
270
+ case 3:
265
271
  case "end":
266
272
  return _context2.stop();
267
273
  }
@@ -277,19 +283,6 @@ var useStore = function useStore() {
277
283
  _setMeta(newMeta);
278
284
  };
279
285
  // 回显
280
- var setFilterQuotes = function setFilterQuotes(newMeta) {
281
- newMeta.filter = newMeta.filter.map(function (v) {
282
- if (!v.expression) {
283
- return {
284
- expression: (0, _objectSpread2["default"])({}, v),
285
- type: v.type
286
- };
287
- } else {
288
- return (0, _objectSpread2["default"])({}, v);
289
- }
290
- });
291
- return newMeta;
292
- };
293
286
  var setPreData = function setPreData(data) {
294
287
  // let patchVersion = (data?.[0]?.list?.[0] as any)?.patchVersion || '';
295
288
  if (data.length) {
@@ -516,7 +509,7 @@ var useStore = function useStore() {
516
509
  if (meta.type === _enum.TypeEnum.joinData) {
517
510
  if (meta.table2.name) {
518
511
  var _metaList2 = newMeta.filter(function (v, i) {
519
- return i < index;
512
+ return i != index;
520
513
  });
521
514
  setMeta(_metaList2, groupIndex);
522
515
  return void 0;