@gingkoo/pandora-metabase 1.0.24 → 1.0.26

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 (55) hide show
  1. package/lib/cjs/common/SplitView/index.js +12 -11
  2. package/lib/cjs/components/dialog/custom-column/expression-editor.js +2 -1
  3. package/lib/cjs/components/dialog/custom-column/tokenizedI-input.js +2 -1
  4. package/lib/cjs/components/dialog/custom-editor/index.js +1 -0
  5. package/lib/cjs/components/dialog/expression/index.js +12 -11
  6. package/lib/cjs/components/dialog/formula-list/index.d.ts +3 -1
  7. package/lib/cjs/components/dialog/formula-list/index.js +25 -19
  8. package/lib/cjs/components/dialog/index.d.ts +1 -0
  9. package/lib/cjs/components/dialog/index.js +9 -2
  10. package/lib/cjs/components/dialog/select-column/index.js +6 -13
  11. package/lib/cjs/components/dialog/select-column-multiple/index.js +0 -1
  12. package/lib/cjs/components/dialog/select-table/index.js +7 -7
  13. package/lib/cjs/components/icons.js +36 -36
  14. package/lib/cjs/components/metabase/index.js +6 -6
  15. package/lib/cjs/components/metabase/index.less +9 -0
  16. package/lib/cjs/components/modules/components/Wrapper.js +6 -6
  17. package/lib/cjs/components/modules/custom-column.js +4 -4
  18. package/lib/cjs/components/modules/join-data.js +76 -59
  19. package/lib/cjs/components/modules/summarize/group-by.js +6 -13
  20. package/lib/cjs/components/modules/summarize/select-index.js +6 -13
  21. package/lib/cjs/components/modules/table-data.js +9 -16
  22. package/lib/cjs/components/popup.js +2 -1
  23. package/lib/cjs/hooks/patch.js +29 -1
  24. package/lib/cjs/hooks/use-state.js +91 -62
  25. package/lib/cjs/index.js +2 -1
  26. package/lib/cjs/locale/en.js +2 -1
  27. package/lib/cjs/locale/zh.js +2 -1
  28. package/lib/cjs/utils.d.ts +1 -0
  29. package/lib/cjs/utils.js +14 -1
  30. package/lib/es/common/SplitView/index.js +10 -10
  31. package/lib/es/components/dialog/custom-editor/index.js +1 -0
  32. package/lib/es/components/dialog/expression/index.js +10 -10
  33. package/lib/es/components/dialog/formula-list/index.d.ts +3 -1
  34. package/lib/es/components/dialog/formula-list/index.js +25 -19
  35. package/lib/es/components/dialog/index.d.ts +1 -0
  36. package/lib/es/components/dialog/index.js +2 -1
  37. package/lib/es/components/dialog/select-column/index.js +7 -14
  38. package/lib/es/components/dialog/select-column-multiple/index.js +0 -1
  39. package/lib/es/components/dialog/select-table/index.js +7 -7
  40. package/lib/es/components/icons.js +36 -36
  41. package/lib/es/components/metabase/index.js +6 -6
  42. package/lib/es/components/metabase/index.less +9 -0
  43. package/lib/es/components/modules/components/Wrapper.js +6 -6
  44. package/lib/es/components/modules/custom-column.js +4 -4
  45. package/lib/es/components/modules/join-data.js +76 -59
  46. package/lib/es/components/modules/summarize/group-by.js +7 -14
  47. package/lib/es/components/modules/summarize/select-index.js +7 -14
  48. package/lib/es/components/modules/table-data.js +10 -17
  49. package/lib/es/hooks/patch.js +28 -0
  50. package/lib/es/hooks/use-state.js +92 -63
  51. package/lib/es/locale/en.js +2 -1
  52. package/lib/es/locale/zh.js +2 -1
  53. package/lib/es/utils.d.ts +1 -0
  54. package/lib/es/utils.js +11 -0
  55. package/package.json +2 -2
@@ -169,12 +169,12 @@ export var LeftJoinIcon = function LeftJoinIcon(_ref9) {
169
169
  })
170
170
  });
171
171
  };
172
- export var InnerJoinIcon = function InnerJoinIcon(_ref0) {
173
- var _ref0$width = _ref0.width,
174
- width = _ref0$width === void 0 ? 32 : _ref0$width,
175
- _ref0$height = _ref0.height,
176
- height = _ref0$height === void 0 ? 32 : _ref0$height,
177
- style = _ref0.style;
172
+ export var InnerJoinIcon = function InnerJoinIcon(_ref10) {
173
+ var _ref10$width = _ref10.width,
174
+ width = _ref10$width === void 0 ? 32 : _ref10$width,
175
+ _ref10$height = _ref10.height,
176
+ height = _ref10$height === void 0 ? 32 : _ref10$height,
177
+ style = _ref10.style;
178
178
  return _jsx("svg", {
179
179
  viewBox: '0 0 32 32',
180
180
  width: width,
@@ -188,11 +188,11 @@ export var InnerJoinIcon = function InnerJoinIcon(_ref0) {
188
188
  })
189
189
  });
190
190
  };
191
- export var UpArrowIcon = function UpArrowIcon(_ref1) {
192
- var _ref1$width = _ref1.width,
193
- width = _ref1$width === void 0 ? 16 : _ref1$width,
194
- _ref1$height = _ref1.height,
195
- height = _ref1$height === void 0 ? 17 : _ref1$height;
191
+ export var UpArrowIcon = function UpArrowIcon(_ref11) {
192
+ var _ref11$width = _ref11.width,
193
+ width = _ref11$width === void 0 ? 16 : _ref11$width,
194
+ _ref11$height = _ref11.height,
195
+ height = _ref11$height === void 0 ? 17 : _ref11$height;
196
196
  return _jsx("svg", {
197
197
  className: 'sort-arrow',
198
198
  viewBox: '0 0 32 34',
@@ -206,11 +206,11 @@ export var UpArrowIcon = function UpArrowIcon(_ref1) {
206
206
  })
207
207
  });
208
208
  };
209
- export var DownArrowIcon = function DownArrowIcon(_ref10) {
210
- var _ref10$width = _ref10.width,
211
- width = _ref10$width === void 0 ? 16 : _ref10$width,
212
- _ref10$height = _ref10.height,
213
- height = _ref10$height === void 0 ? 17 : _ref10$height;
209
+ export var DownArrowIcon = function DownArrowIcon(_ref12) {
210
+ var _ref12$width = _ref12.width,
211
+ width = _ref12$width === void 0 ? 16 : _ref12$width,
212
+ _ref12$height = _ref12.height,
213
+ height = _ref12$height === void 0 ? 17 : _ref12$height;
214
214
  return _jsx("svg", {
215
215
  className: 'sort-arrow',
216
216
  viewBox: '0 0 32 34',
@@ -224,11 +224,11 @@ export var DownArrowIcon = function DownArrowIcon(_ref10) {
224
224
  })
225
225
  });
226
226
  };
227
- export var CloseIcon = function CloseIcon(_ref11) {
228
- var _ref11$width = _ref11.width,
229
- width = _ref11$width === void 0 ? 16 : _ref11$width,
230
- _ref11$height = _ref11.height,
231
- height = _ref11$height === void 0 ? 16 : _ref11$height;
227
+ export var CloseIcon = function CloseIcon(_ref13) {
228
+ var _ref13$width = _ref13.width,
229
+ width = _ref13$width === void 0 ? 16 : _ref13$width,
230
+ _ref13$height = _ref13.height,
231
+ height = _ref13$height === void 0 ? 16 : _ref13$height;
232
232
  return _jsx("svg", {
233
233
  className: 'closeIcon',
234
234
  viewBox: '0 0 32 32',
@@ -242,11 +242,11 @@ export var CloseIcon = function CloseIcon(_ref11) {
242
242
  })
243
243
  });
244
244
  };
245
- export var AddIcon = function AddIcon(_ref12) {
246
- var _ref12$width = _ref12.width,
247
- width = _ref12$width === void 0 ? 16 : _ref12$width,
248
- _ref12$height = _ref12.height,
249
- height = _ref12$height === void 0 ? 16 : _ref12$height;
245
+ export var AddIcon = function AddIcon(_ref14) {
246
+ var _ref14$width = _ref14.width,
247
+ width = _ref14$width === void 0 ? 16 : _ref14$width,
248
+ _ref14$height = _ref14.height,
249
+ height = _ref14$height === void 0 ? 16 : _ref14$height;
250
250
  return _jsx("svg", {
251
251
  viewBox: '0 0 32 32',
252
252
  width: width,
@@ -259,11 +259,11 @@ export var AddIcon = function AddIcon(_ref12) {
259
259
  })
260
260
  });
261
261
  };
262
- export var TableIcon = function TableIcon(_ref13) {
263
- var _ref13$width = _ref13.width,
264
- width = _ref13$width === void 0 ? 18 : _ref13$width,
265
- _ref13$height = _ref13.height,
266
- height = _ref13$height === void 0 ? 18 : _ref13$height;
262
+ export var TableIcon = function TableIcon(_ref15) {
263
+ var _ref15$width = _ref15.width,
264
+ width = _ref15$width === void 0 ? 18 : _ref15$width,
265
+ _ref15$height = _ref15.height,
266
+ height = _ref15$height === void 0 ? 18 : _ref15$height;
267
267
  return _jsx("svg", {
268
268
  viewBox: '0 0 32 32',
269
269
  width: width,
@@ -276,11 +276,11 @@ export var TableIcon = function TableIcon(_ref13) {
276
276
  })
277
277
  });
278
278
  };
279
- export var SearchIcon = function SearchIcon(_ref14) {
280
- var _ref14$width = _ref14.width,
281
- width = _ref14$width === void 0 ? 16 : _ref14$width,
282
- _ref14$height = _ref14.height,
283
- height = _ref14$height === void 0 ? 16 : _ref14$height;
279
+ export var SearchIcon = function SearchIcon(_ref16) {
280
+ var _ref16$width = _ref16.width,
281
+ width = _ref16$width === void 0 ? 16 : _ref16$width,
282
+ _ref16$height = _ref16.height,
283
+ height = _ref16$height === void 0 ? 16 : _ref16$height;
284
284
  return _jsx("svg", {
285
285
  viewBox: '0 0 32 32',
286
286
  width: width,
@@ -49,7 +49,7 @@ var Metabase = function Metabase(props) {
49
49
  var onSave = /*#__PURE__*/function () {
50
50
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
51
51
  var intercept, _metaList;
52
- return _regeneratorRuntime.wrap(function (_context) {
52
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
53
53
  while (1) switch (_context.prev = _context.next) {
54
54
  case 0:
55
55
  intercept = false; // 是否返回
@@ -63,17 +63,17 @@ var Metabase = function Metabase(props) {
63
63
  }
64
64
  });
65
65
  if (!(saveLoading || intercept)) {
66
- _context.next = 1;
66
+ _context.next = 6;
67
67
  break;
68
68
  }
69
69
  return _context.abrupt("return", null);
70
- case 1:
70
+ case 6:
71
71
  setSaveLoading(true);
72
- _context.next = 2;
72
+ _context.next = 9;
73
73
  return onOk === null || onOk === void 0 ? void 0 : onOk(_metaList);
74
- case 2:
74
+ case 9:
75
75
  setSaveLoading(false);
76
- case 3:
76
+ case 10:
77
77
  case "end":
78
78
  return _context.stop();
79
79
  }
@@ -278,6 +278,15 @@
278
278
  width: 100%;
279
279
  }
280
280
  }
281
+ .Sqb-collection-box {
282
+ display: flex;
283
+ align-items: center;
284
+ margin-bottom: 8px;
285
+ .Sqb-NotebookCell {
286
+ padding-bottom: 0;
287
+ padding-top: 8px;
288
+ }
289
+ }
281
290
  .operator-icon,
282
291
  .operator-icon button {
283
292
  font-size: 18px !important;
@@ -25,19 +25,19 @@ var Wrapper = function Wrapper(_ref) {
25
25
  function _animation() {
26
26
  _animation = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
27
27
  var _couterRef$current;
28
- return _regeneratorRuntime.wrap(function (_context) {
28
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
29
29
  while (1) switch (_context.prev = _context.next) {
30
30
  case 0:
31
- _context.next = 1;
31
+ _context.next = 2;
32
32
  return sleep(10);
33
- case 1:
33
+ case 2:
34
34
  setOpacity(1);
35
35
  ((_couterRef$current = couterRef.current) === null || _couterRef$current === void 0 || (_couterRef$current = _couterRef$current.childNodes) === null || _couterRef$current === void 0 ? void 0 : _couterRef$current.length) && setMaxHeight(couterRef.current.childNodes[0].clientHeight + 16);
36
- _context.next = 2;
36
+ _context.next = 6;
37
37
  return sleep(500);
38
- case 2:
38
+ case 6:
39
39
  setMaxHeight('auto');
40
- case 3:
40
+ case 7:
41
41
  case "end":
42
42
  return _context.stop();
43
43
  }
@@ -69,14 +69,14 @@ var CustomColumn = function CustomColumn(props) {
69
69
  function _handleUpdate() {
70
70
  _handleUpdate = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(e, i) {
71
71
  var node, newMeta, value, columns;
72
- return _regeneratorRuntime.wrap(function (_context) {
72
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
73
73
  while (1) switch (_context.prev = _context.next) {
74
74
  case 0:
75
75
  node = e.currentTarget;
76
76
  closePopup();
77
- _context.next = 1;
77
+ _context.next = 4;
78
78
  return sleep(100);
79
- case 1:
79
+ case 4:
80
80
  newMeta = store.metaList[groupIndex].list.slice();
81
81
  value = customColumn[i];
82
82
  columns = getAvailableColumns();
@@ -98,7 +98,7 @@ var CustomColumn = function CustomColumn(props) {
98
98
  onClose: closePopup
99
99
  })
100
100
  });
101
- case 2:
101
+ case 8:
102
102
  case "end":
103
103
  return _context.stop();
104
104
  }
@@ -17,13 +17,13 @@ import { findIndex, getSubColumns } from '../../utils';
17
17
  import { TypeEnum, ColumnsPopupThemeEnum, JoinEnum, SQL_COLUMN_TYPE } from '../../store/enum';
18
18
  import { AtomsTypeEnum } from '../../store/types';
19
19
  import { SummarizeAlias } from '../../store/helper';
20
- import { getHelper, changeTableAlias } from '../../utils';
20
+ import { getHelper, changeTableAlias, isValidSQLAlias } from '../../utils';
21
21
  import Wrapper from './components/Wrapper';
22
22
  import NextDom from './components/meta-icon';
23
23
  import Header from './components/header';
24
24
  import SelectList from '../dialog/select-list';
25
25
  import { LeftJoinIcon, InnerJoinIcon } from '../icons';
26
- import { SelectTable, SelectJoin, SelectColumnMultiple, SelectColumn, Expression, SelectPermissionTable } from '../dialog';
26
+ import { SelectTable, SelectJoin, SelectColumnMultiple, SelectColumn, Expression, SelectPermissionTable, FormulaList, getTemplateItem } from '../dialog';
27
27
  import { useStore } from '../../hooks/use-provider';
28
28
  var PrevResult = 'Previous results';
29
29
  var operators = ['AND', 'OR', '(', ')', ',', '+', '-', '*', '/', '!=', '<=', '>=', '<', '>', '='];
@@ -38,7 +38,7 @@ var ExpressionsEnum;
38
38
  ExpressionsEnum["RIGHT"] = "rhs";
39
39
  })(ExpressionsEnum || (ExpressionsEnum = {}));
40
40
  var getText = function getText(v) {
41
- return _defineProperty(_defineProperty(_defineProperty({}, AtomsTypeEnum.JOIN_DEFAULT, 'joinData.default'), AtomsTypeEnum.EXPRESSION, 'joinData.expression'), AtomsTypeEnum.OPERATOR, 'customColumn.operator')[v];
41
+ return _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, AtomsTypeEnum.JOIN_DEFAULT, 'joinData.default'), AtomsTypeEnum.EXPRESSION, 'joinData.expression'), AtomsTypeEnum.OPERATOR, 'customColumn.operator'), AtomsTypeEnum.COLLECTION, 'customColumn.collection')[v];
42
42
  };
43
43
  var menuTypes = [{
44
44
  key: AtomsTypeEnum.JOIN_DEFAULT,
@@ -49,6 +49,9 @@ var menuTypes = [{
49
49
  }, {
50
50
  key: AtomsTypeEnum.OPERATOR,
51
51
  label: __(getText(AtomsTypeEnum.OPERATOR))
52
+ }, {
53
+ key: AtomsTypeEnum.COLLECTION,
54
+ label: __(getText(AtomsTypeEnum.COLLECTION))
52
55
  }];
53
56
  var menuOperator = operators.map(function (v) {
54
57
  return {
@@ -57,7 +60,7 @@ var menuOperator = operators.map(function (v) {
57
60
  };
58
61
  });
59
62
  var JoinData = function JoinData(props) {
60
- var _meta$subquery, _meta$subquery2, _meta$subquery3, _meta$table2, _meta$table3, _meta$table5, _meta$table6, _meta$table7, _meta$table8, _meta$expressions, _meta$table9, _meta$table0, _meta$expressions2;
63
+ var _meta$subquery, _meta$subquery2, _meta$subquery3, _meta$table2, _meta$table3, _meta$table5, _meta$table6, _meta$table7, _meta$table8, _meta$expressions, _meta$table9, _meta$table10, _meta$expressions2, _store$showMainColumn, _store$showMainColumn2;
61
64
  var meta = props.meta,
62
65
  groupIndex = props.groupIndex;
63
66
  var store = useStore();
@@ -68,6 +71,7 @@ var JoinData = function JoinData(props) {
68
71
  var table2Selected = Boolean(meta.table2.name);
69
72
  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);
70
73
  var columnsSelected = meta.table1.name && meta.table2.name;
74
+ // const ref = useRef(null);
71
75
  // useEffect(() => {
72
76
  // let newMetaList = store.metaList[groupIndex].list.slice();
73
77
  // newMetaList[index] = setQuotes(meta);
@@ -371,7 +375,7 @@ var JoinData = function JoinData(props) {
371
375
  });
372
376
  newMeta[index].table2 = _table2;
373
377
  initExpressions();
374
- store.fetchColumns(_table2, data.datasourceId, function (columns) {
378
+ store.fetchColumns(_table2, data.datasourceId, [], function (columns) {
375
379
  newMeta[index].columns = columns;
376
380
  // 关联表变了 下面模块全部删除
377
381
  newMeta = newMeta.filter(function (v, i) {
@@ -854,30 +858,23 @@ var JoinData = function JoinData(props) {
854
858
  }),
855
859
  onOk: function () {
856
860
  var _onOk = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
857
- var _index, newMeta;
858
- return _regeneratorRuntime.wrap(function (_context) {
861
+ var index, newMeta;
862
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
859
863
  while (1) switch (_context.prev = _context.next) {
860
864
  case 0:
861
- if (alias) {
862
- _context.next = 1;
863
- break;
864
- }
865
- Toast.warning(__('SqlQueryBuilder.aliasCannotEmpty'));
866
- return _context.abrupt("return", false);
867
- case 1:
868
- if (!(alias.length > 30)) {
869
- _context.next = 2;
865
+ if (isValidSQLAlias(alias)) {
866
+ _context.next = 3;
870
867
  break;
871
868
  }
872
- Toast.warning('别名长度不能超过30');
869
+ Toast.warning(__('SqlQueryBuilder.aliasForRules'));
873
870
  return _context.abrupt("return", false);
874
- case 2:
875
- _index = findIndex(store.metaList[groupIndex].list, meta);
871
+ case 3:
872
+ index = findIndex(store.metaList[groupIndex].list, meta);
876
873
  newMeta = store.metaList[groupIndex].list.slice();
877
- newMeta[_index].table2.alias = alias;
878
- newMeta = changeTableAlias(newMeta, newMeta[_index].table2);
874
+ newMeta[index].table2.alias = alias;
875
+ newMeta = changeTableAlias(newMeta, newMeta[index].table2);
879
876
  store.setMeta(newMeta, groupIndex);
880
- case 3:
877
+ case 8:
881
878
  case "end":
882
879
  return _context.stop();
883
880
  }
@@ -923,7 +920,8 @@ var JoinData = function JoinData(props) {
923
920
  var i = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : -1;
924
921
  var index = findIndex(store.metaList[groupIndex].list, meta);
925
922
  var newMeta = store.metaList[groupIndex].list.slice();
926
- var item = null;
923
+ var item = getTemplateItem(type);
924
+ console.log('🚀 ~ addExpression ~ item:', item);
927
925
  if (type === AtomsTypeEnum.JOIN_DEFAULT) {
928
926
  item = {
929
927
  lhs: [{
@@ -992,15 +990,6 @@ var JoinData = function JoinData(props) {
992
990
  type: type
993
991
  };
994
992
  }
995
- if (type === AtomsTypeEnum.EXPRESSION) {
996
- item = {
997
- lhs: [],
998
- condition: '',
999
- rhs: [],
1000
- quotes: '',
1001
- type: type
1002
- };
1003
- }
1004
993
  if (!item) {
1005
994
  return;
1006
995
  }
@@ -1356,32 +1345,60 @@ var JoinData = function JoinData(props) {
1356
1345
  })]
1357
1346
  }, i);
1358
1347
  }
1359
- // if (v.type === AtomsTypeEnum.COLLECTION) {
1360
- // return (
1361
- // <FormulaList
1362
- // // check={formulaList?.[fun.name]?.args?.[i]?.check || ''}
1363
- // value={v.list}
1364
- // data={data}
1365
- // ref={ref}
1366
- // onChange={(data, _quotes) => {
1367
- // const _args = cloneDeep(fun.args);
1368
- // (_args[i] as AtomsCollection).list = data;
1369
- // (_args[i] as AtomsCollection).quotes = _quotes || '';
1370
- // const quotes = (_args as AtomsCollection[])
1371
- // .map((v) => {
1372
- // return v.quotes;
1373
- // })
1374
- // .join(' , ');
1375
- // setFun({
1376
- // ...fun,
1377
- // quotes: fun.name + ' ( ' + quotes + ' ) ',
1378
- // args: _args,
1379
- // });
1380
- // }}
1381
- // ></FormulaList>
1382
- // );
1383
- // }
1384
- })), ((_meta$table9 = meta.table2) === null || _meta$table9 === void 0 ? void 0 : _meta$table9.name) && ((_meta$table0 = meta.table1) === null || _meta$table0 === void 0 ? void 0 : _meta$table0.name) && (((_meta$expressions2 = meta.expressions) === null || _meta$expressions2 === void 0 ? void 0 : _meta$expressions2.length) || 0) < 1 && _jsx(Tooltip, {
1348
+ if (v.type === AtomsTypeEnum.COLLECTION) {
1349
+ return _jsxs("div", {
1350
+ className: cx(" Sqb-collection-box"),
1351
+ children: [_jsx("div", {
1352
+ children: _jsx(FormulaList
1353
+ // showPreview={false}
1354
+ // check={formulaList?.[fun.name]?.args?.[i]?.check || ''}
1355
+ , {
1356
+ // showPreview={false}
1357
+ // check={formulaList?.[fun.name]?.args?.[i]?.check || ''}
1358
+ value: v.list,
1359
+ data: getTableColumns(),
1360
+ // ref={ref}
1361
+ onChange: function onChange(data, _quotes) {
1362
+ var newMeta = store.metaList[groupIndex].list.slice();
1363
+ newMeta[index].expressions[i].list = data;
1364
+ newMeta[index].expressions[i].quotes = _quotes;
1365
+ store.setMeta(newMeta, groupIndex);
1366
+ }
1367
+ })
1368
+ }), _jsx(Tooltip, {
1369
+ title: __('SqlQueryBuilder.add'),
1370
+ children: _jsx(Dropdown, {
1371
+ trigger: ['click'],
1372
+ onChange: function onChange(key) {
1373
+ addExpression(key, i);
1374
+ },
1375
+ droplist: menuTypes,
1376
+ children: _jsx(Button, {
1377
+ disabled: meta.readonly,
1378
+ primary: true,
1379
+ ghost: true,
1380
+ className: 'mr-2 operator-icon',
1381
+ icon: _jsx(FfPlus, {})
1382
+ })
1383
+ })
1384
+ }), _jsx(Tooltip, {
1385
+ title: __('SqlQueryBuilder.del'),
1386
+ children: _jsx(Button, {
1387
+ disabled: meta.readonly,
1388
+ danger: true,
1389
+ className: 'mr-2 operator-icon',
1390
+ icon: _jsx(FfLine, {}),
1391
+ onClick: function onClick() {
1392
+ var index = findIndex(store.metaList[groupIndex].list, meta);
1393
+ var newMeta = store.metaList[groupIndex].list.slice();
1394
+ newMeta[index].expressions.splice(i, 1);
1395
+ store.setMeta(newMeta, groupIndex);
1396
+ }
1397
+ })
1398
+ })]
1399
+ }, i);
1400
+ }
1401
+ })), ((_meta$table9 = meta.table2) === null || _meta$table9 === void 0 ? void 0 : _meta$table9.name) && ((_meta$table10 = meta.table1) === null || _meta$table10 === void 0 ? void 0 : _meta$table10.name) && (((_meta$expressions2 = meta.expressions) === null || _meta$expressions2 === void 0 ? void 0 : _meta$expressions2.length) || 0) < 1 && _jsx(Tooltip, {
1385
1402
  title: __('SqlQueryBuilder.add'),
1386
1403
  children: _jsx(Dropdown, {
1387
1404
  trigger: ['click'],
@@ -1397,7 +1414,7 @@ var JoinData = function JoinData(props) {
1397
1414
  icon: _jsx(FfPlus, {})
1398
1415
  })
1399
1416
  })
1400
- }), columnsSelected && store.showFields && _jsx("div", {
1417
+ }), columnsSelected && (((_store$showMainColumn = store.showMainColumn[groupIndex]) === null || _store$showMainColumn === void 0 ? void 0 : _store$showMainColumn.showColumn) || ((_store$showMainColumn2 = store.showMainColumn[groupIndex]) === null || _store$showMainColumn2 === void 0 ? void 0 : _store$showMainColumn2.index) < index) && store.showFields && _jsx("div", {
1401
1418
  className: "Sqb-TableColumns",
1402
1419
  onClick: selectColumns,
1403
1420
  children: __('SqlQueryBuilder.columns')
@@ -10,7 +10,7 @@ import { MetaSummarize_Enum } from '../../../store/types';
10
10
  import SelectJoinColumn from '../../dialog/select-join-column';
11
11
  import { Tooltip, Button, Modal, Input, Toast } from '@gingkoo/pandora';
12
12
  import { uuidv4 } from '../../../utils/helper';
13
- import { changeFieldAlias } from '../../../utils';
13
+ import { changeFieldAlias, isValidSQLAlias } from '../../../utils';
14
14
  import { AddIcon, CloseIcon } from '../../icons';
15
15
  import { useStore } from '../../../hooks/use-provider';
16
16
  var GroupBy = function GroupBy(props) {
@@ -234,29 +234,22 @@ var GroupBy = function GroupBy(props) {
234
234
  onOk: function () {
235
235
  var _onOk = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
236
236
  var newMeta;
237
- return _regeneratorRuntime.wrap(function (_context) {
237
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
238
238
  while (1) switch (_context.prev = _context.next) {
239
239
  case 0:
240
- if (fieldAlias) {
241
- _context.next = 1;
240
+ if (isValidSQLAlias(fieldAlias)) {
241
+ _context.next = 3;
242
242
  break;
243
243
  }
244
- Toast.warning(__('SqlQueryBuilder.aliasCannotEmpty'));
244
+ Toast.warning(__('SqlQueryBuilder.aliasForRules'));
245
245
  return _context.abrupt("return", false);
246
- case 1:
247
- if (!(fieldAlias.length > 30)) {
248
- _context.next = 2;
249
- break;
250
- }
251
- Toast.warning('别名长度不能超过30');
252
- return _context.abrupt("return", false);
253
- case 2:
246
+ case 3:
254
247
  newMeta = store.metaList[groupIndex].list.slice(); // @ts-ignore
255
248
  newMeta[index].by[i].sql = newMeta[index].by[i].sql.split('AS ')[0] + "AS ".concat(fieldAlias); //修改sql
256
249
  newMeta[index].by[i].fieldAlias = fieldAlias;
257
250
  newMeta = changeFieldAlias(newMeta, newMeta[index].by[i]);
258
251
  store.setMeta(newMeta, groupIndex);
259
- case 3:
252
+ case 8:
260
253
  case "end":
261
254
  return _context.stop();
262
255
  }
@@ -10,7 +10,7 @@ import { summarizeToSql } from '../../../store/helper';
10
10
  import { Tooltip, Button, Modal, Input, Toast } from '@gingkoo/pandora';
11
11
  import { uuidv4 } from '../../../utils/helper';
12
12
  import { MetaSummarize_Enum } from '../../../store/types';
13
- import { changeFieldAlias } from '../../../utils';
13
+ import { changeFieldAlias, isValidSQLAlias } from '../../../utils';
14
14
  import { AddIcon, CloseIcon } from '../../icons';
15
15
  import { SelectSummarize } from '../../dialog';
16
16
  import { useStore } from '../../../hooks/use-provider';
@@ -242,29 +242,22 @@ var SelectIndex = function SelectIndex(props) {
242
242
  onOk: function () {
243
243
  var _onOk = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
244
244
  var newMeta;
245
- return _regeneratorRuntime.wrap(function (_context) {
245
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
246
246
  while (1) switch (_context.prev = _context.next) {
247
247
  case 0:
248
- if (fieldAlias) {
249
- _context.next = 1;
248
+ if (isValidSQLAlias(fieldAlias)) {
249
+ _context.next = 3;
250
250
  break;
251
251
  }
252
- Toast.warning(__('SqlQueryBuilder.aliasCannotEmpty'));
252
+ Toast.warning(__('SqlQueryBuilder.aliasForRules'));
253
253
  return _context.abrupt("return", false);
254
- case 1:
255
- if (!(fieldAlias.length > 30)) {
256
- _context.next = 2;
257
- break;
258
- }
259
- Toast.warning('别名长度不能超过30');
260
- return _context.abrupt("return", false);
261
- case 2:
254
+ case 3:
262
255
  newMeta = store.metaList[groupIndex].list.slice(); // @ts-ignore
263
256
  newMeta[index].group[i].fieldAlias = fieldAlias;
264
257
  newMeta[index].group[i].sql = newMeta[index].group[i].sql.split('AS ')[0] + "AS ".concat(fieldAlias); //修改sql
265
258
  newMeta = changeFieldAlias(newMeta, newMeta[index].group[i]);
266
259
  store.setMeta(newMeta, groupIndex);
267
- case 3:
260
+ case 8:
268
261
  case "end":
269
262
  return _context.stop();
270
263
  }
@@ -10,7 +10,7 @@ import { __ } from '../../locale';
10
10
  import { Tooltip, Button, Modal, Modal2, Input, Toast } from '@gingkoo/pandora';
11
11
  import Metabase from '../../index';
12
12
  import { uuidv4, getAlias } from '../../utils/helper';
13
- import { changeTableAlias, getSubColumns } from '../../utils';
13
+ import { changeTableAlias, getSubColumns, isValidSQLAlias } from '../../utils';
14
14
  import { RelatedWork } from '@gingkoo/pandora-icons';
15
15
  import cloneDeep from 'lodash/cloneDeep';
16
16
  import isEqual from 'lodash/isEqual';
@@ -20,7 +20,7 @@ import NextDom from './components/meta-icon';
20
20
  import Header from './components/header';
21
21
  import { useStore } from '../../hooks/use-provider';
22
22
  var TableData = function TableData(props) {
23
- var _meta$subquery, _meta$subquery2, _meta$subquery3, _meta$table2, _meta$table3, _meta$table5, _meta$table6;
23
+ var _meta$subquery, _meta$subquery2, _meta$subquery3, _meta$table2, _meta$table3, _meta$table5, _meta$table6, _store$showMainColumn;
24
24
  var meta = props.meta,
25
25
  groupIndex = props.groupIndex;
26
26
  var store = useStore();
@@ -40,7 +40,7 @@ var TableData = function TableData(props) {
40
40
  tableUuid: uuidv4('table'),
41
41
  alias: getAlias(data.name, store.metaList[groupIndex].list.slice())
42
42
  });
43
- store.fetchColumns(data, data.datasourceId, function (columns) {
43
+ store.fetchColumns(data, data.datasourceId, [], function (columns) {
44
44
  newMetaList.columns = columns;
45
45
  // ① 主表动了 其他都得重新选
46
46
  store.setMeta([newMetaList], groupIndex);
@@ -84,28 +84,21 @@ var TableData = function TableData(props) {
84
84
  onOk: function () {
85
85
  var _onOk = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
86
86
  var newMetaList;
87
- return _regeneratorRuntime.wrap(function (_context) {
87
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
88
88
  while (1) switch (_context.prev = _context.next) {
89
89
  case 0:
90
- if (alias) {
91
- _context.next = 1;
90
+ if (isValidSQLAlias(alias)) {
91
+ _context.next = 3;
92
92
  break;
93
93
  }
94
- Toast.warning(__('SqlQueryBuilder.aliasCannotEmpty'));
94
+ Toast.warning(__('SqlQueryBuilder.aliasForRules'));
95
95
  return _context.abrupt("return", false);
96
- case 1:
97
- if (!(alias.length > 30)) {
98
- _context.next = 2;
99
- break;
100
- }
101
- Toast.warning('别名长度不能超过30');
102
- return _context.abrupt("return", false);
103
- case 2:
96
+ case 3:
104
97
  newMetaList = store.metaList[groupIndex].list.slice(); // @ts-ignore
105
98
  newMetaList[0].table.alias = alias;
106
99
  newMetaList = changeTableAlias(newMetaList, newMetaList[0].table);
107
100
  store.setMeta(newMetaList, groupIndex);
108
- case 3:
101
+ case 7:
109
102
  case "end":
110
103
  return _context.stop();
111
104
  }
@@ -259,7 +252,7 @@ var TableData = function TableData(props) {
259
252
  icon: _jsx(RelatedWork, {}),
260
253
  onClick: switchSubQuery
261
254
  })
262
- }), selected && store.showFields && _jsx("div", {
255
+ }), selected && store.showFields && ((_store$showMainColumn = store.showMainColumn[groupIndex]) === null || _store$showMainColumn === void 0 ? void 0 : _store$showMainColumn.showColumn) && _jsx("div", {
263
256
  className: "Sqb-TableColumns",
264
257
  onClick: selectColumns,
265
258
  children: __('SqlQueryBuilder.columns')
@@ -545,6 +545,9 @@ export var sortPatch = function sortPatch(newMeta) {
545
545
  };
546
546
  var _patchMetas = function patchMetas(items) {
547
547
  return (items === null || items === void 0 ? void 0 : items.map(function (v) {
548
+ if (v.type === TypeEnum.data) {
549
+ v = dataPatch(v);
550
+ }
548
551
  if (v.type === TypeEnum.joinData) {
549
552
  v = joinDataPatch(v);
550
553
  }
@@ -563,4 +566,29 @@ var _patchMetas = function patchMetas(items) {
563
566
  return v;
564
567
  })) || [];
565
568
  };
569
+ // export const patchMetas1 = (items: MetaListType[]) => {
570
+ // return (
571
+ // items?.map((v: MetaListType): MetaListType => {
572
+ // // if (v.type === TypeEnum.data) {
573
+ // // v = dataPatch(v);
574
+ // // }
575
+ // // if (v.type === TypeEnum.joinData) {
576
+ // // v = joinDataPatch(v);
577
+ // // }
578
+ // // if (v.type === TypeEnum.filter) {
579
+ // // v = filterPatch(v);
580
+ // // }
581
+ // // if (v.type === TypeEnum.sort) {
582
+ // // v = sortPatch(v);
583
+ // // }
584
+ // // if (v.type === TypeEnum.customColumn) {
585
+ // // v = customColumnPatch(v);
586
+ // // }
587
+ // if (v.type === TypeEnum.union) {
588
+ // v.subquery = patchMetas(v.subquery || []);
589
+ // }
590
+ // return v;
591
+ // }) || []
592
+ // );
593
+ // };
566
594
  export { _patchMetas as patchMetas };