@gingkoo/pandora-metabase 1.0.23 → 1.0.25

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 (89) 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 +2 -1
  5. package/lib/cjs/components/dialog/expression/index.js +13 -12
  6. package/lib/cjs/components/dialog/formula/index.d.ts +10 -0
  7. package/lib/cjs/components/dialog/formula/index.js +242 -0
  8. package/lib/cjs/components/dialog/formula/index.less +81 -0
  9. package/lib/cjs/components/dialog/formula/utils.d.ts +7 -0
  10. package/lib/cjs/components/dialog/formula/utils.js +45 -0
  11. package/lib/cjs/components/dialog/formula-list/index.d.ts +3 -1
  12. package/lib/cjs/components/dialog/formula-list/index.js +107 -43
  13. package/lib/cjs/components/dialog/formula-list/utils.d.ts +14 -1
  14. package/lib/cjs/components/dialog/formula-list/utils.js +159 -2
  15. package/lib/cjs/components/dialog/index.d.ts +1 -0
  16. package/lib/cjs/components/dialog/index.js +9 -2
  17. package/lib/cjs/components/dialog/select-column/index.js +6 -13
  18. package/lib/cjs/components/dialog/select-column-multiple/index.js +0 -1
  19. package/lib/cjs/components/dialog/select-table/index.js +7 -7
  20. package/lib/cjs/components/icons.js +36 -36
  21. package/lib/cjs/components/metabase/index.js +6 -6
  22. package/lib/cjs/components/metabase/index.less +10 -0
  23. package/lib/cjs/components/modules/components/Wrapper.js +6 -6
  24. package/lib/cjs/components/modules/custom-column.js +4 -4
  25. package/lib/cjs/components/modules/enum/filter-enum.d.ts +7 -2
  26. package/lib/cjs/components/modules/enum/filter-enum.js +8 -2
  27. package/lib/cjs/components/modules/join-data.js +78 -36
  28. package/lib/cjs/components/modules/summarize/group-by.js +6 -13
  29. package/lib/cjs/components/modules/summarize/select-index.js +6 -13
  30. package/lib/cjs/components/modules/table-data.js +9 -16
  31. package/lib/cjs/components/popup.js +2 -1
  32. package/lib/cjs/hooks/patch.js +106 -76
  33. package/lib/cjs/hooks/use-state.js +100 -65
  34. package/lib/cjs/index.js +5 -2
  35. package/lib/cjs/locale/en.js +6 -3
  36. package/lib/cjs/locale/zh.js +6 -3
  37. package/lib/cjs/store/helper.d.ts +1 -2
  38. package/lib/cjs/store/helper.js +1 -76
  39. package/lib/cjs/store/types.d.ts +36 -2
  40. package/lib/cjs/store/types.js +3 -0
  41. package/lib/cjs/types.d.ts +2 -1
  42. package/lib/cjs/utils.d.ts +1 -0
  43. package/lib/cjs/utils.js +16 -2
  44. package/lib/es/common/SplitView/index.js +10 -10
  45. package/lib/es/components/dialog/custom-editor/index.js +2 -1
  46. package/lib/es/components/dialog/expression/index.js +11 -11
  47. package/lib/es/components/dialog/formula/index.d.ts +10 -0
  48. package/lib/es/components/dialog/formula/index.js +236 -0
  49. package/lib/es/components/dialog/formula/index.less +81 -0
  50. package/lib/es/components/dialog/formula/utils.d.ts +7 -0
  51. package/lib/es/components/dialog/formula/utils.js +37 -0
  52. package/lib/es/components/dialog/formula-list/index.d.ts +3 -1
  53. package/lib/es/components/dialog/formula-list/index.js +104 -40
  54. package/lib/es/components/dialog/formula-list/utils.d.ts +14 -1
  55. package/lib/es/components/dialog/formula-list/utils.js +160 -2
  56. package/lib/es/components/dialog/index.d.ts +1 -0
  57. package/lib/es/components/dialog/index.js +2 -1
  58. package/lib/es/components/dialog/select-column/index.js +7 -14
  59. package/lib/es/components/dialog/select-column-multiple/index.js +0 -1
  60. package/lib/es/components/dialog/select-table/index.js +7 -7
  61. package/lib/es/components/icons.js +36 -36
  62. package/lib/es/components/metabase/index.js +6 -6
  63. package/lib/es/components/metabase/index.less +10 -0
  64. package/lib/es/components/modules/components/Wrapper.js +6 -6
  65. package/lib/es/components/modules/custom-column.js +4 -4
  66. package/lib/es/components/modules/enum/filter-enum.d.ts +7 -2
  67. package/lib/es/components/modules/enum/filter-enum.js +8 -2
  68. package/lib/es/components/modules/join-data.js +78 -36
  69. package/lib/es/components/modules/summarize/group-by.js +7 -14
  70. package/lib/es/components/modules/summarize/select-index.js +7 -14
  71. package/lib/es/components/modules/table-data.js +10 -17
  72. package/lib/es/hooks/patch.js +105 -75
  73. package/lib/es/hooks/use-state.js +101 -66
  74. package/lib/es/index.js +3 -1
  75. package/lib/es/locale/en.js +6 -3
  76. package/lib/es/locale/zh.js +6 -3
  77. package/lib/es/store/helper.d.ts +1 -2
  78. package/lib/es/store/helper.js +0 -75
  79. package/lib/es/store/types.d.ts +36 -2
  80. package/lib/es/store/types.js +3 -0
  81. package/lib/es/types.d.ts +2 -1
  82. package/lib/es/types.js +18 -1
  83. package/lib/es/utils.d.ts +1 -0
  84. package/lib/es/utils.js +13 -1
  85. package/package.json +2 -2
  86. package/lib/cjs/components/dialog/formula-list/enum.d.ts +0 -39
  87. package/lib/cjs/components/dialog/formula-list/enum.js +0 -123
  88. package/lib/es/components/dialog/formula-list/enum.d.ts +0 -39
  89. package/lib/es/components/dialog/formula-list/enum.js +0 -117
@@ -176,12 +176,12 @@ var LeftJoinIcon = exports.LeftJoinIcon = function LeftJoinIcon(_ref9) {
176
176
  })
177
177
  });
178
178
  };
179
- var InnerJoinIcon = exports.InnerJoinIcon = function InnerJoinIcon(_ref0) {
180
- var _ref0$width = _ref0.width,
181
- width = _ref0$width === void 0 ? 32 : _ref0$width,
182
- _ref0$height = _ref0.height,
183
- height = _ref0$height === void 0 ? 32 : _ref0$height,
184
- style = _ref0.style;
179
+ var InnerJoinIcon = exports.InnerJoinIcon = function InnerJoinIcon(_ref10) {
180
+ var _ref10$width = _ref10.width,
181
+ width = _ref10$width === void 0 ? 32 : _ref10$width,
182
+ _ref10$height = _ref10.height,
183
+ height = _ref10$height === void 0 ? 32 : _ref10$height,
184
+ style = _ref10.style;
185
185
  return (0, _jsxRuntime.jsx)("svg", {
186
186
  viewBox: '0 0 32 32',
187
187
  width: width,
@@ -195,11 +195,11 @@ var InnerJoinIcon = exports.InnerJoinIcon = function InnerJoinIcon(_ref0) {
195
195
  })
196
196
  });
197
197
  };
198
- var UpArrowIcon = exports.UpArrowIcon = function UpArrowIcon(_ref1) {
199
- var _ref1$width = _ref1.width,
200
- width = _ref1$width === void 0 ? 16 : _ref1$width,
201
- _ref1$height = _ref1.height,
202
- height = _ref1$height === void 0 ? 17 : _ref1$height;
198
+ var UpArrowIcon = exports.UpArrowIcon = function UpArrowIcon(_ref11) {
199
+ var _ref11$width = _ref11.width,
200
+ width = _ref11$width === void 0 ? 16 : _ref11$width,
201
+ _ref11$height = _ref11.height,
202
+ height = _ref11$height === void 0 ? 17 : _ref11$height;
203
203
  return (0, _jsxRuntime.jsx)("svg", {
204
204
  className: 'sort-arrow',
205
205
  viewBox: '0 0 32 34',
@@ -213,11 +213,11 @@ var UpArrowIcon = exports.UpArrowIcon = function UpArrowIcon(_ref1) {
213
213
  })
214
214
  });
215
215
  };
216
- var DownArrowIcon = exports.DownArrowIcon = function DownArrowIcon(_ref10) {
217
- var _ref10$width = _ref10.width,
218
- width = _ref10$width === void 0 ? 16 : _ref10$width,
219
- _ref10$height = _ref10.height,
220
- height = _ref10$height === void 0 ? 17 : _ref10$height;
216
+ var DownArrowIcon = exports.DownArrowIcon = function DownArrowIcon(_ref12) {
217
+ var _ref12$width = _ref12.width,
218
+ width = _ref12$width === void 0 ? 16 : _ref12$width,
219
+ _ref12$height = _ref12.height,
220
+ height = _ref12$height === void 0 ? 17 : _ref12$height;
221
221
  return (0, _jsxRuntime.jsx)("svg", {
222
222
  className: 'sort-arrow',
223
223
  viewBox: '0 0 32 34',
@@ -231,11 +231,11 @@ var DownArrowIcon = exports.DownArrowIcon = function DownArrowIcon(_ref10) {
231
231
  })
232
232
  });
233
233
  };
234
- var CloseIcon = exports.CloseIcon = function CloseIcon(_ref11) {
235
- var _ref11$width = _ref11.width,
236
- width = _ref11$width === void 0 ? 16 : _ref11$width,
237
- _ref11$height = _ref11.height,
238
- height = _ref11$height === void 0 ? 16 : _ref11$height;
234
+ var CloseIcon = exports.CloseIcon = function CloseIcon(_ref13) {
235
+ var _ref13$width = _ref13.width,
236
+ width = _ref13$width === void 0 ? 16 : _ref13$width,
237
+ _ref13$height = _ref13.height,
238
+ height = _ref13$height === void 0 ? 16 : _ref13$height;
239
239
  return (0, _jsxRuntime.jsx)("svg", {
240
240
  className: 'closeIcon',
241
241
  viewBox: '0 0 32 32',
@@ -249,11 +249,11 @@ var CloseIcon = exports.CloseIcon = function CloseIcon(_ref11) {
249
249
  })
250
250
  });
251
251
  };
252
- var AddIcon = exports.AddIcon = function AddIcon(_ref12) {
253
- var _ref12$width = _ref12.width,
254
- width = _ref12$width === void 0 ? 16 : _ref12$width,
255
- _ref12$height = _ref12.height,
256
- height = _ref12$height === void 0 ? 16 : _ref12$height;
252
+ var AddIcon = exports.AddIcon = function AddIcon(_ref14) {
253
+ var _ref14$width = _ref14.width,
254
+ width = _ref14$width === void 0 ? 16 : _ref14$width,
255
+ _ref14$height = _ref14.height,
256
+ height = _ref14$height === void 0 ? 16 : _ref14$height;
257
257
  return (0, _jsxRuntime.jsx)("svg", {
258
258
  viewBox: '0 0 32 32',
259
259
  width: width,
@@ -266,11 +266,11 @@ var AddIcon = exports.AddIcon = function AddIcon(_ref12) {
266
266
  })
267
267
  });
268
268
  };
269
- var TableIcon = exports.TableIcon = function TableIcon(_ref13) {
270
- var _ref13$width = _ref13.width,
271
- width = _ref13$width === void 0 ? 18 : _ref13$width,
272
- _ref13$height = _ref13.height,
273
- height = _ref13$height === void 0 ? 18 : _ref13$height;
269
+ var TableIcon = exports.TableIcon = function TableIcon(_ref15) {
270
+ var _ref15$width = _ref15.width,
271
+ width = _ref15$width === void 0 ? 18 : _ref15$width,
272
+ _ref15$height = _ref15.height,
273
+ height = _ref15$height === void 0 ? 18 : _ref15$height;
274
274
  return (0, _jsxRuntime.jsx)("svg", {
275
275
  viewBox: '0 0 32 32',
276
276
  width: width,
@@ -283,11 +283,11 @@ var TableIcon = exports.TableIcon = function TableIcon(_ref13) {
283
283
  })
284
284
  });
285
285
  };
286
- var SearchIcon = exports.SearchIcon = function SearchIcon(_ref14) {
287
- var _ref14$width = _ref14.width,
288
- width = _ref14$width === void 0 ? 16 : _ref14$width,
289
- _ref14$height = _ref14.height,
290
- height = _ref14$height === void 0 ? 16 : _ref14$height;
286
+ var SearchIcon = exports.SearchIcon = function SearchIcon(_ref16) {
287
+ var _ref16$width = _ref16.width,
288
+ width = _ref16$width === void 0 ? 16 : _ref16$width,
289
+ _ref16$height = _ref16.height,
290
+ height = _ref16$height === void 0 ? 16 : _ref16$height;
291
291
  return (0, _jsxRuntime.jsx)("svg", {
292
292
  viewBox: '0 0 32 32',
293
293
  width: width,
@@ -55,7 +55,7 @@ var Metabase = function Metabase(props) {
55
55
  var onSave = /*#__PURE__*/function () {
56
56
  var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
57
57
  var intercept, _metaList;
58
- return _regenerator["default"].wrap(function (_context) {
58
+ return _regenerator["default"].wrap(function _callee$(_context) {
59
59
  while (1) switch (_context.prev = _context.next) {
60
60
  case 0:
61
61
  intercept = false; // 是否返回
@@ -69,17 +69,17 @@ var Metabase = function Metabase(props) {
69
69
  }
70
70
  });
71
71
  if (!(saveLoading || intercept)) {
72
- _context.next = 1;
72
+ _context.next = 6;
73
73
  break;
74
74
  }
75
75
  return _context.abrupt("return", null);
76
- case 1:
76
+ case 6:
77
77
  setSaveLoading(true);
78
- _context.next = 2;
78
+ _context.next = 9;
79
79
  return onOk === null || onOk === void 0 ? void 0 : onOk(_metaList);
80
- case 2:
80
+ case 9:
81
81
  setSaveLoading(false);
82
- case 3:
82
+ case 10:
83
83
  case "end":
84
84
  return _context.stop();
85
85
  }
@@ -152,6 +152,7 @@
152
152
  -webkit-box-align: center;
153
153
  align-items: center;
154
154
  cursor: pointer;
155
+ height: 36px;
155
156
  // &-OPERATOR {
156
157
  // // 操作符
157
158
  // background-color: var(--link-5);
@@ -277,6 +278,15 @@
277
278
  width: 100%;
278
279
  }
279
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
+ }
280
290
  .operator-icon,
281
291
  .operator-icon button {
282
292
  font-size: 18px !important;
@@ -32,19 +32,19 @@ var Wrapper = function Wrapper(_ref) {
32
32
  function _animation() {
33
33
  _animation = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
34
34
  var _couterRef$current;
35
- return _regenerator["default"].wrap(function (_context) {
35
+ return _regenerator["default"].wrap(function _callee$(_context) {
36
36
  while (1) switch (_context.prev = _context.next) {
37
37
  case 0:
38
- _context.next = 1;
38
+ _context.next = 2;
39
39
  return (0, _helper.sleep)(10);
40
- case 1:
40
+ case 2:
41
41
  setOpacity(1);
42
42
  ((_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);
43
- _context.next = 2;
43
+ _context.next = 6;
44
44
  return (0, _helper.sleep)(500);
45
- case 2:
45
+ case 6:
46
46
  setMaxHeight('auto');
47
- case 3:
47
+ case 7:
48
48
  case "end":
49
49
  return _context.stop();
50
50
  }
@@ -73,14 +73,14 @@ var CustomColumn = function CustomColumn(props) {
73
73
  function _handleUpdate() {
74
74
  _handleUpdate = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(e, i) {
75
75
  var node, newMeta, value, columns;
76
- return _regenerator["default"].wrap(function (_context) {
76
+ return _regenerator["default"].wrap(function _callee$(_context) {
77
77
  while (1) switch (_context.prev = _context.next) {
78
78
  case 0:
79
79
  node = e.currentTarget;
80
80
  closePopup();
81
- _context.next = 1;
81
+ _context.next = 4;
82
82
  return (0, _helper.sleep)(100);
83
- case 1:
83
+ case 4:
84
84
  newMeta = store.metaList[groupIndex].list.slice();
85
85
  value = customColumn[i];
86
86
  columns = getAvailableColumns();
@@ -102,7 +102,7 @@ var CustomColumn = function CustomColumn(props) {
102
102
  onClose: closePopup
103
103
  })
104
104
  });
105
- case 2:
105
+ case 8:
106
106
  case "end":
107
107
  return _context.stop();
108
108
  }
@@ -28,7 +28,12 @@ export declare enum FunctionEnum {
28
28
  'COALESCE' = "coalesce"
29
29
  }
30
30
  export declare const operatorList: string[];
31
- export declare const customTypes: {
31
+ export declare const customTypes: ({
32
32
  value: AtomsTypeEnum;
33
33
  label: any;
34
- }[];
34
+ children?: undefined;
35
+ } | {
36
+ value: AtomsTypeEnum;
37
+ label: any;
38
+ children: string[];
39
+ })[];
@@ -104,12 +104,12 @@ var customTypes = exports.customTypes = [
104
104
  // 输入框
105
105
  {
106
106
  value: _types.AtomsTypeEnum.INPUT_STRING,
107
- label: (0, _locale.__)('SqlQueryBuilder.input')
107
+ label: (0, _locale.__)('customColumn.input')
108
108
  },
109
109
  // 数字输入框
110
110
  {
111
111
  value: _types.AtomsTypeEnum.INPUT_NUMBER,
112
- label: (0, _locale.__)('SqlQueryBuilder.numberInput')
112
+ label: (0, _locale.__)('customColumn.numberInput')
113
113
  },
114
114
  // 表达式
115
115
  {
@@ -121,6 +121,12 @@ var customTypes = exports.customTypes = [
121
121
  value: _types.AtomsTypeEnum.OPERATOR,
122
122
  label: (0, _locale.__)('customColumn.operator')
123
123
  },
124
+ // 函数
125
+ {
126
+ value: _types.AtomsTypeEnum.FORMULA,
127
+ label: (0, _locale.__)('customColumn.formula'),
128
+ children: operatorList
129
+ },
124
130
  // EXISTS
125
131
  {
126
132
  value: _types.AtomsTypeEnum.NOT_EXISTS,
@@ -14,7 +14,7 @@ var _jsxRuntime = require("react/jsx-runtime");
14
14
  var _classnames = _interopRequireDefault(require("classnames"));
15
15
  var _pandora = require("@gingkoo/pandora");
16
16
  var _pandoraIcons = require("@gingkoo/pandora-icons");
17
- var _index2 = _interopRequireDefault(require("../../index"));
17
+ var _index = _interopRequireDefault(require("../../index"));
18
18
  var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
19
19
  var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
20
20
  var _helper = require("../../utils/helper");
@@ -44,7 +44,7 @@ var ExpressionsEnum;
44
44
  ExpressionsEnum["RIGHT"] = "rhs";
45
45
  })(ExpressionsEnum || (ExpressionsEnum = {}));
46
46
  var getText = function getText(v) {
47
- return (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, _types.AtomsTypeEnum.JOIN_DEFAULT, 'joinData.default'), _types.AtomsTypeEnum.EXPRESSION, 'joinData.expression'), _types.AtomsTypeEnum.OPERATOR, 'customColumn.operator')[v];
47
+ return (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, _types.AtomsTypeEnum.JOIN_DEFAULT, 'joinData.default'), _types.AtomsTypeEnum.EXPRESSION, 'joinData.expression'), _types.AtomsTypeEnum.OPERATOR, 'customColumn.operator'), _types.AtomsTypeEnum.COLLECTION, 'customColumn.collection')[v];
48
48
  };
49
49
  var menuTypes = [{
50
50
  key: _types.AtomsTypeEnum.JOIN_DEFAULT,
@@ -55,6 +55,9 @@ var menuTypes = [{
55
55
  }, {
56
56
  key: _types.AtomsTypeEnum.OPERATOR,
57
57
  label: (0, _locale.__)(getText(_types.AtomsTypeEnum.OPERATOR))
58
+ }, {
59
+ key: _types.AtomsTypeEnum.COLLECTION,
60
+ label: (0, _locale.__)(getText(_types.AtomsTypeEnum.COLLECTION))
58
61
  }];
59
62
  var menuOperator = operators.map(function (v) {
60
63
  return {
@@ -63,7 +66,7 @@ var menuOperator = operators.map(function (v) {
63
66
  };
64
67
  });
65
68
  var JoinData = function JoinData(props) {
66
- 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;
69
+ 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;
67
70
  var meta = props.meta,
68
71
  groupIndex = props.groupIndex;
69
72
  var store = (0, _useProvider.useStore)();
@@ -74,6 +77,7 @@ var JoinData = function JoinData(props) {
74
77
  var table2Selected = Boolean(meta.table2.name);
75
78
  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
79
  var columnsSelected = meta.table1.name && meta.table2.name;
80
+ // const ref = useRef(null);
77
81
  // useEffect(() => {
78
82
  // let newMetaList = store.metaList[groupIndex].list.slice();
79
83
  // newMetaList[index] = setQuotes(meta);
@@ -377,7 +381,7 @@ var JoinData = function JoinData(props) {
377
381
  });
378
382
  newMeta[index].table2 = _table2;
379
383
  initExpressions();
380
- store.fetchColumns(_table2, data.datasourceId, function (columns) {
384
+ store.fetchColumns(_table2, data.datasourceId, [], function (columns) {
381
385
  newMeta[index].columns = columns;
382
386
  // 关联表变了 下面模块全部删除
383
387
  newMeta = newMeta.filter(function (v, i) {
@@ -693,10 +697,10 @@ var JoinData = function JoinData(props) {
693
697
  // value={(((newMeta[index] as MetaJoin).expressions[_ind] as AtomsExpression)[position])[`type`]}
694
698
  list: [{
695
699
  value: _types.AtomsTypeEnum.INPUT_STRING,
696
- label: (0, _locale.__)('SqlQueryBuilder.input')
700
+ label: (0, _locale.__)('customColumn.input')
697
701
  }, {
698
702
  value: _types.AtomsTypeEnum.INPUT_NUMBER,
699
- label: (0, _locale.__)('SqlQueryBuilder.numberInput')
703
+ label: (0, _locale.__)('customColumn.numberInput')
700
704
  }, {
701
705
  value: _types.AtomsTypeEnum.CONSTANT,
702
706
  label: (0, _locale.__)('customColumn.constant')
@@ -782,7 +786,7 @@ var JoinData = function JoinData(props) {
782
786
  title: (0, _locale.__)('SqlQueryBuilder.subquery'),
783
787
  transparentMask: true,
784
788
  content: (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
785
- children: (0, _jsxRuntime.jsx)(_index2["default"], (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, other), {}, {
789
+ children: (0, _jsxRuntime.jsx)(_index["default"], (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, other), {}, {
786
790
  showSubquery: store._showSubquery,
787
791
  toolbar: _toolbar,
788
792
  btnText: (0, _locale.__)('SqlQueryBuilder.confirm'),
@@ -860,30 +864,23 @@ var JoinData = function JoinData(props) {
860
864
  }),
861
865
  onOk: function () {
862
866
  var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
863
- var _index, newMeta;
864
- return _regenerator["default"].wrap(function (_context) {
867
+ var index, newMeta;
868
+ return _regenerator["default"].wrap(function _callee$(_context) {
865
869
  while (1) switch (_context.prev = _context.next) {
866
870
  case 0:
867
- if (alias) {
868
- _context.next = 1;
869
- break;
870
- }
871
- _pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasCannotEmpty'));
872
- return _context.abrupt("return", false);
873
- case 1:
874
- if (!(alias.length > 30)) {
875
- _context.next = 2;
871
+ if ((0, _utils.isValidSQLAlias)(alias)) {
872
+ _context.next = 3;
876
873
  break;
877
874
  }
878
- _pandora.Toast.warning('别名长度不能超过30');
875
+ _pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasForRules'));
879
876
  return _context.abrupt("return", false);
880
- case 2:
881
- _index = (0, _utils.findIndex)(store.metaList[groupIndex].list, meta);
877
+ case 3:
878
+ index = (0, _utils.findIndex)(store.metaList[groupIndex].list, meta);
882
879
  newMeta = store.metaList[groupIndex].list.slice();
883
- newMeta[_index].table2.alias = alias;
884
- newMeta = (0, _utils.changeTableAlias)(newMeta, newMeta[_index].table2);
880
+ newMeta[index].table2.alias = alias;
881
+ newMeta = (0, _utils.changeTableAlias)(newMeta, newMeta[index].table2);
885
882
  store.setMeta(newMeta, groupIndex);
886
- case 3:
883
+ case 8:
887
884
  case "end":
888
885
  return _context.stop();
889
886
  }
@@ -929,7 +926,8 @@ var JoinData = function JoinData(props) {
929
926
  var i = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : -1;
930
927
  var index = (0, _utils.findIndex)(store.metaList[groupIndex].list, meta);
931
928
  var newMeta = store.metaList[groupIndex].list.slice();
932
- var item = null;
929
+ var item = (0, _dialog.getTemplateItem)(type);
930
+ console.log('🚀 ~ addExpression ~ item:', item);
933
931
  if (type === _types.AtomsTypeEnum.JOIN_DEFAULT) {
934
932
  item = {
935
933
  lhs: [{
@@ -998,15 +996,6 @@ var JoinData = function JoinData(props) {
998
996
  type: type
999
997
  };
1000
998
  }
1001
- if (type === _types.AtomsTypeEnum.EXPRESSION) {
1002
- item = {
1003
- lhs: [],
1004
- condition: '',
1005
- rhs: [],
1006
- quotes: '',
1007
- type: type
1008
- };
1009
- }
1010
999
  if (!item) {
1011
1000
  return;
1012
1001
  }
@@ -1362,7 +1351,60 @@ var JoinData = function JoinData(props) {
1362
1351
  })]
1363
1352
  }, i);
1364
1353
  }
1365
- })), ((_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 && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1354
+ if (v.type === _types.AtomsTypeEnum.COLLECTION) {
1355
+ return (0, _jsxRuntime.jsxs)("div", {
1356
+ className: (0, _classnames["default"])(" Sqb-collection-box"),
1357
+ children: [(0, _jsxRuntime.jsx)("div", {
1358
+ children: (0, _jsxRuntime.jsx)(_dialog.FormulaList
1359
+ // showPreview={false}
1360
+ // check={formulaList?.[fun.name]?.args?.[i]?.check || ''}
1361
+ , {
1362
+ // showPreview={false}
1363
+ // check={formulaList?.[fun.name]?.args?.[i]?.check || ''}
1364
+ value: v.list,
1365
+ data: getTableColumns(),
1366
+ // ref={ref}
1367
+ onChange: function onChange(data, _quotes) {
1368
+ var newMeta = store.metaList[groupIndex].list.slice();
1369
+ newMeta[index].expressions[i].list = data;
1370
+ newMeta[index].expressions[i].quotes = _quotes;
1371
+ store.setMeta(newMeta, groupIndex);
1372
+ }
1373
+ })
1374
+ }), (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1375
+ title: (0, _locale.__)('SqlQueryBuilder.add'),
1376
+ children: (0, _jsxRuntime.jsx)(_pandora.Dropdown, {
1377
+ trigger: ['click'],
1378
+ onChange: function onChange(key) {
1379
+ addExpression(key, i);
1380
+ },
1381
+ droplist: menuTypes,
1382
+ children: (0, _jsxRuntime.jsx)(_pandora.Button, {
1383
+ disabled: meta.readonly,
1384
+ primary: true,
1385
+ ghost: true,
1386
+ className: 'mr-2 operator-icon',
1387
+ icon: (0, _jsxRuntime.jsx)(_pandoraIcons.FfPlus, {})
1388
+ })
1389
+ })
1390
+ }), (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1391
+ title: (0, _locale.__)('SqlQueryBuilder.del'),
1392
+ children: (0, _jsxRuntime.jsx)(_pandora.Button, {
1393
+ disabled: meta.readonly,
1394
+ danger: true,
1395
+ className: 'mr-2 operator-icon',
1396
+ icon: (0, _jsxRuntime.jsx)(_pandoraIcons.FfLine, {}),
1397
+ onClick: function onClick() {
1398
+ var index = (0, _utils.findIndex)(store.metaList[groupIndex].list, meta);
1399
+ var newMeta = store.metaList[groupIndex].list.slice();
1400
+ newMeta[index].expressions.splice(i, 1);
1401
+ store.setMeta(newMeta, groupIndex);
1402
+ }
1403
+ })
1404
+ })]
1405
+ }, i);
1406
+ }
1407
+ })), ((_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 && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1366
1408
  title: (0, _locale.__)('SqlQueryBuilder.add'),
1367
1409
  children: (0, _jsxRuntime.jsx)(_pandora.Dropdown, {
1368
1410
  trigger: ['click'],
@@ -1378,7 +1420,7 @@ var JoinData = function JoinData(props) {
1378
1420
  icon: (0, _jsxRuntime.jsx)(_pandoraIcons.FfPlus, {})
1379
1421
  })
1380
1422
  })
1381
- }), columnsSelected && store.showFields && (0, _jsxRuntime.jsx)("div", {
1423
+ }), 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 && (0, _jsxRuntime.jsx)("div", {
1382
1424
  className: "Sqb-TableColumns",
1383
1425
  onClick: selectColumns,
1384
1426
  children: (0, _locale.__)('SqlQueryBuilder.columns')
@@ -240,29 +240,22 @@ var GroupBy = function GroupBy(props) {
240
240
  onOk: function () {
241
241
  var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
242
242
  var newMeta;
243
- return _regenerator["default"].wrap(function (_context) {
243
+ return _regenerator["default"].wrap(function _callee$(_context) {
244
244
  while (1) switch (_context.prev = _context.next) {
245
245
  case 0:
246
- if (fieldAlias) {
247
- _context.next = 1;
246
+ if ((0, _utils.isValidSQLAlias)(fieldAlias)) {
247
+ _context.next = 3;
248
248
  break;
249
249
  }
250
- _pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasCannotEmpty'));
250
+ _pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasForRules'));
251
251
  return _context.abrupt("return", false);
252
- case 1:
253
- if (!(fieldAlias.length > 30)) {
254
- _context.next = 2;
255
- break;
256
- }
257
- _pandora.Toast.warning('别名长度不能超过30');
258
- return _context.abrupt("return", false);
259
- case 2:
252
+ case 3:
260
253
  newMeta = store.metaList[groupIndex].list.slice(); // @ts-ignore
261
254
  newMeta[index].by[i].sql = newMeta[index].by[i].sql.split('AS ')[0] + "AS ".concat(fieldAlias); //修改sql
262
255
  newMeta[index].by[i].fieldAlias = fieldAlias;
263
256
  newMeta = (0, _utils.changeFieldAlias)(newMeta, newMeta[index].by[i]);
264
257
  store.setMeta(newMeta, groupIndex);
265
- case 3:
258
+ case 8:
266
259
  case "end":
267
260
  return _context.stop();
268
261
  }
@@ -248,29 +248,22 @@ var SelectIndex = function SelectIndex(props) {
248
248
  onOk: function () {
249
249
  var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
250
250
  var newMeta;
251
- return _regenerator["default"].wrap(function (_context) {
251
+ return _regenerator["default"].wrap(function _callee$(_context) {
252
252
  while (1) switch (_context.prev = _context.next) {
253
253
  case 0:
254
- if (fieldAlias) {
255
- _context.next = 1;
254
+ if ((0, _utils.isValidSQLAlias)(fieldAlias)) {
255
+ _context.next = 3;
256
256
  break;
257
257
  }
258
- _pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasCannotEmpty'));
258
+ _pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasForRules'));
259
259
  return _context.abrupt("return", false);
260
- case 1:
261
- if (!(fieldAlias.length > 30)) {
262
- _context.next = 2;
263
- break;
264
- }
265
- _pandora.Toast.warning('别名长度不能超过30');
266
- return _context.abrupt("return", false);
267
- case 2:
260
+ case 3:
268
261
  newMeta = store.metaList[groupIndex].list.slice(); // @ts-ignore
269
262
  newMeta[index].group[i].fieldAlias = fieldAlias;
270
263
  newMeta[index].group[i].sql = newMeta[index].group[i].sql.split('AS ')[0] + "AS ".concat(fieldAlias); //修改sql
271
264
  newMeta = (0, _utils.changeFieldAlias)(newMeta, newMeta[index].group[i]);
272
265
  store.setMeta(newMeta, groupIndex);
273
- case 3:
266
+ case 8:
274
267
  case "end":
275
268
  return _context.stop();
276
269
  }
@@ -27,7 +27,7 @@ var _header = _interopRequireDefault(require("./components/header"));
27
27
  var _useProvider = require("../../hooks/use-provider");
28
28
  var _excluded = ["subToolbar", "toolbar"];
29
29
  var TableData = function TableData(props) {
30
- var _meta$subquery, _meta$subquery2, _meta$subquery3, _meta$table2, _meta$table3, _meta$table5, _meta$table6;
30
+ var _meta$subquery, _meta$subquery2, _meta$subquery3, _meta$table2, _meta$table3, _meta$table5, _meta$table6, _store$showMainColumn;
31
31
  var meta = props.meta,
32
32
  groupIndex = props.groupIndex;
33
33
  var store = (0, _useProvider.useStore)();
@@ -47,7 +47,7 @@ var TableData = function TableData(props) {
47
47
  tableUuid: (0, _helper.uuidv4)('table'),
48
48
  alias: (0, _helper.getAlias)(data.name, store.metaList[groupIndex].list.slice())
49
49
  });
50
- store.fetchColumns(data, data.datasourceId, function (columns) {
50
+ store.fetchColumns(data, data.datasourceId, [], function (columns) {
51
51
  newMetaList.columns = columns;
52
52
  // ① 主表动了 其他都得重新选
53
53
  store.setMeta([newMetaList], groupIndex);
@@ -91,28 +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 (_context) {
94
+ return _regenerator["default"].wrap(function _callee$(_context) {
95
95
  while (1) switch (_context.prev = _context.next) {
96
96
  case 0:
97
- if (alias) {
98
- _context.next = 1;
97
+ if ((0, _utils.isValidSQLAlias)(alias)) {
98
+ _context.next = 3;
99
99
  break;
100
100
  }
101
- _pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasCannotEmpty'));
101
+ _pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasForRules'));
102
102
  return _context.abrupt("return", false);
103
- case 1:
104
- if (!(alias.length > 30)) {
105
- _context.next = 2;
106
- break;
107
- }
108
- _pandora.Toast.warning('别名长度不能超过30');
109
- return _context.abrupt("return", false);
110
- case 2:
103
+ case 3:
111
104
  newMetaList = store.metaList[groupIndex].list.slice(); // @ts-ignore
112
105
  newMetaList[0].table.alias = alias;
113
106
  newMetaList = (0, _utils.changeTableAlias)(newMetaList, newMetaList[0].table);
114
107
  store.setMeta(newMetaList, groupIndex);
115
- case 3:
108
+ case 7:
116
109
  case "end":
117
110
  return _context.stop();
118
111
  }
@@ -266,7 +259,7 @@ var TableData = function TableData(props) {
266
259
  icon: (0, _jsxRuntime.jsx)(_pandoraIcons.RelatedWork, {}),
267
260
  onClick: switchSubQuery
268
261
  })
269
- }), selected && store.showFields && (0, _jsxRuntime.jsx)("div", {
262
+ }), selected && store.showFields && ((_store$showMainColumn = store.showMainColumn[groupIndex]) === null || _store$showMainColumn === void 0 ? void 0 : _store$showMainColumn.showColumn) && (0, _jsxRuntime.jsx)("div", {
270
263
  className: "Sqb-TableColumns",
271
264
  onClick: selectColumns,
272
265
  children: (0, _locale.__)('SqlQueryBuilder.columns')
@@ -19,7 +19,8 @@ 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 _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); }
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; }
23
24
  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)); }
24
25
  function returnDocument(element) {
25
26
  if (element) {