@gingkoo/pandora-metabase 1.0.118 → 1.0.120

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 (195) hide show
  1. package/lib/cjs/common/Portal/index.js +0 -2
  2. package/lib/cjs/common/SplitView/index.d.ts +0 -4
  3. package/lib/cjs/common/SplitView/index.js +0 -10
  4. package/lib/cjs/components/dialog/custom-column/config.js +4 -48
  5. package/lib/cjs/components/dialog/custom-column/expression-editor.js +3 -14
  6. package/lib/cjs/components/dialog/custom-column/expressions/suggest.d.ts +2 -34
  7. package/lib/cjs/components/dialog/custom-column/expressions/suggest.js +2 -43
  8. package/lib/cjs/components/dialog/custom-column/expressions/tokenizer.js +8 -65
  9. package/lib/cjs/components/dialog/custom-column/index.js +2 -4
  10. package/lib/cjs/components/dialog/custom-column/tokenized-expression.js +2 -3
  11. package/lib/cjs/components/dialog/custom-column/tokenizedI-input.js +1 -1
  12. package/lib/cjs/components/dialog/custom-editor/index.js +2 -7
  13. package/lib/cjs/components/dialog/diff-viewer/index copy.js +1 -16
  14. package/lib/cjs/components/dialog/expression/date-format-picker.js +2 -20
  15. package/lib/cjs/components/dialog/expression/date-format.js +2 -8
  16. package/lib/cjs/components/dialog/expression/index.d.ts +0 -3
  17. package/lib/cjs/components/dialog/expression/index.js +2 -83
  18. package/lib/cjs/components/dialog/formula/index.js +6 -31
  19. package/lib/cjs/components/dialog/formula/utils.js +2 -10
  20. package/lib/cjs/components/dialog/formula-list/CaseWhenGroup.d.ts +19 -0
  21. package/lib/cjs/components/dialog/formula-list/CaseWhenGroup.js +109 -0
  22. package/lib/cjs/components/dialog/formula-list/LogicGroup.d.ts +9 -0
  23. package/lib/cjs/components/dialog/formula-list/LogicGroup.js +43 -0
  24. package/lib/cjs/components/dialog/formula-list/index.d.ts +3 -0
  25. package/lib/cjs/components/dialog/formula-list/index.js +970 -504
  26. package/lib/cjs/components/dialog/formula-list/index.less +724 -0
  27. package/lib/cjs/components/dialog/formula-list/utils.d.ts +0 -7
  28. package/lib/cjs/components/dialog/formula-list/utils.js +117 -113
  29. package/lib/cjs/components/dialog/select-column/index.d.ts +0 -6
  30. package/lib/cjs/components/dialog/select-column/index.js +4 -15
  31. package/lib/cjs/components/dialog/select-column-multiple/index.d.ts +0 -8
  32. package/lib/cjs/components/dialog/select-column-multiple/index.js +6 -45
  33. package/lib/cjs/components/dialog/select-join/index.d.ts +0 -5
  34. package/lib/cjs/components/dialog/select-join/index.js +0 -6
  35. package/lib/cjs/components/dialog/select-join-column/index.d.ts +0 -8
  36. package/lib/cjs/components/dialog/select-join-column/index.js +7 -21
  37. package/lib/cjs/components/dialog/select-join-column-multiple/index.d.ts +0 -8
  38. package/lib/cjs/components/dialog/select-join-column-multiple/index.js +5 -35
  39. package/lib/cjs/components/dialog/select-permission-table/index.d.ts +0 -5
  40. package/lib/cjs/components/dialog/select-permission-table/index.js +0 -6
  41. package/lib/cjs/components/dialog/select-summarize/index.d.ts +7 -4
  42. package/lib/cjs/components/dialog/select-summarize/index.js +105 -18
  43. package/lib/cjs/components/dialog/select-summarize/index.less +23 -0
  44. package/lib/cjs/components/dialog/select-table/index.d.ts +0 -6
  45. package/lib/cjs/components/dialog/select-table/index.js +1 -9
  46. package/lib/cjs/components/metabase/index.js +72 -86
  47. package/lib/cjs/components/metabase/index.less +7 -7
  48. package/lib/cjs/components/modules/components/Wrapper.js +1 -1
  49. package/lib/cjs/components/modules/components/header.js +2 -2
  50. package/lib/cjs/components/modules/components/meta-icon.d.ts +0 -3
  51. package/lib/cjs/components/modules/components/meta-icon.js +2 -47
  52. package/lib/cjs/components/modules/custom-column.js +3 -29
  53. package/lib/cjs/components/modules/enum/filter-enum.js +9 -88
  54. package/lib/cjs/components/modules/filter.js +2 -20
  55. package/lib/cjs/components/modules/index.d.ts +4 -2
  56. package/lib/cjs/components/modules/index.js +24 -1
  57. package/lib/cjs/components/modules/join-data.js +13 -291
  58. package/lib/cjs/components/modules/row-limit.js +0 -1
  59. package/lib/cjs/components/modules/sort.js +1 -61
  60. package/lib/cjs/components/modules/summarize/group-by.d.ts +0 -5
  61. package/lib/cjs/components/modules/summarize/group-by.js +251 -89
  62. package/lib/cjs/components/modules/summarize/select-index.js +116 -59
  63. package/lib/cjs/components/modules/table-data.js +11 -64
  64. package/lib/cjs/components/popup.js +26 -32
  65. package/lib/cjs/hooks/patch.d.ts +1 -0
  66. package/lib/cjs/hooks/patch.js +104 -6
  67. package/lib/cjs/hooks/patch2.js +3 -165
  68. package/lib/cjs/hooks/use-provider.js +0 -3
  69. package/lib/cjs/hooks/use-state.js +55 -135
  70. package/lib/cjs/index.js +0 -15
  71. package/lib/cjs/locale/en.js +5 -0
  72. package/lib/cjs/locale/index.js +1 -4
  73. package/lib/cjs/locale/zh.js +5 -0
  74. package/lib/cjs/sql-formula.js +0 -1
  75. package/lib/cjs/store/enum.d.ts +6 -6
  76. package/lib/cjs/store/enum.js +0 -13
  77. package/lib/cjs/store/helper.d.ts +2 -1
  78. package/lib/cjs/store/helper.js +15 -225
  79. package/lib/cjs/store/types.d.ts +45 -67
  80. package/lib/cjs/store/types.js +3 -49
  81. package/lib/cjs/types.d.ts +1 -0
  82. package/lib/cjs/utils/cookies.js +0 -3
  83. package/lib/cjs/utils/event.js +1 -1
  84. package/lib/cjs/utils/helper-dom.d.ts +1 -0
  85. package/lib/cjs/utils/helper-dom.js +17 -10
  86. package/lib/cjs/utils/helper.js +1 -24
  87. package/lib/cjs/utils/keydown.js +4 -7
  88. package/lib/cjs/utils/platform.d.ts +0 -9
  89. package/lib/cjs/utils/platform.js +0 -10
  90. package/lib/cjs/utils/selection.js +0 -6
  91. package/lib/cjs/utils/storage.d.ts +0 -9
  92. package/lib/cjs/utils/storage.js +1 -11
  93. package/lib/cjs/utils/transformSql.d.ts +5 -0
  94. package/lib/cjs/utils/transformSql.js +40 -101
  95. package/lib/cjs/utils.d.ts +1 -6
  96. package/lib/cjs/utils.js +126 -255
  97. package/lib/es/common/Portal/index.js +0 -2
  98. package/lib/es/common/SplitView/index.d.ts +0 -4
  99. package/lib/es/common/SplitView/index.js +0 -10
  100. package/lib/es/components/dialog/custom-column/config.js +4 -48
  101. package/lib/es/components/dialog/custom-column/expression-editor.js +3 -14
  102. package/lib/es/components/dialog/custom-column/expressions/suggest.d.ts +2 -34
  103. package/lib/es/components/dialog/custom-column/expressions/suggest.js +2 -43
  104. package/lib/es/components/dialog/custom-column/expressions/tokenizer.js +8 -65
  105. package/lib/es/components/dialog/custom-column/index.js +2 -4
  106. package/lib/es/components/dialog/custom-column/tokenized-expression.js +1 -3
  107. package/lib/es/components/dialog/custom-column/tokenizedI-input.js +1 -1
  108. package/lib/es/components/dialog/custom-editor/index.js +1 -7
  109. package/lib/es/components/dialog/diff-viewer/index copy.js +1 -15
  110. package/lib/es/components/dialog/expression/date-format-picker.js +2 -20
  111. package/lib/es/components/dialog/expression/date-format.js +2 -8
  112. package/lib/es/components/dialog/expression/index.d.ts +0 -3
  113. package/lib/es/components/dialog/expression/index.js +2 -82
  114. package/lib/es/components/dialog/formula/index.js +5 -31
  115. package/lib/es/components/dialog/formula/utils.js +2 -10
  116. package/lib/es/components/dialog/formula-list/CaseWhenGroup.d.ts +19 -0
  117. package/lib/es/components/dialog/formula-list/CaseWhenGroup.js +102 -0
  118. package/lib/es/components/dialog/formula-list/LogicGroup.d.ts +9 -0
  119. package/lib/es/components/dialog/formula-list/LogicGroup.js +36 -0
  120. package/lib/es/components/dialog/formula-list/index.d.ts +3 -0
  121. package/lib/es/components/dialog/formula-list/index.js +969 -504
  122. package/lib/es/components/dialog/formula-list/index.less +724 -0
  123. package/lib/es/components/dialog/formula-list/utils.d.ts +0 -7
  124. package/lib/es/components/dialog/formula-list/utils.js +117 -113
  125. package/lib/es/components/dialog/index.js +3 -3
  126. package/lib/es/components/dialog/select-column/index.d.ts +0 -6
  127. package/lib/es/components/dialog/select-column/index.js +4 -14
  128. package/lib/es/components/dialog/select-column-multiple/index.d.ts +0 -8
  129. package/lib/es/components/dialog/select-column-multiple/index.js +7 -47
  130. package/lib/es/components/dialog/select-join/index.d.ts +0 -5
  131. package/lib/es/components/dialog/select-join/index.js +0 -5
  132. package/lib/es/components/dialog/select-join-column/index.d.ts +0 -8
  133. package/lib/es/components/dialog/select-join-column/index.js +7 -20
  134. package/lib/es/components/dialog/select-join-column-multiple/index.d.ts +0 -8
  135. package/lib/es/components/dialog/select-join-column-multiple/index.js +5 -34
  136. package/lib/es/components/dialog/select-permission-table/index.d.ts +0 -5
  137. package/lib/es/components/dialog/select-permission-table/index.js +0 -5
  138. package/lib/es/components/dialog/select-summarize/index.d.ts +7 -4
  139. package/lib/es/components/dialog/select-summarize/index.js +106 -18
  140. package/lib/es/components/dialog/select-summarize/index.less +23 -0
  141. package/lib/es/components/dialog/select-table/index.d.ts +0 -6
  142. package/lib/es/components/dialog/select-table/index.js +1 -8
  143. package/lib/es/components/metabase/index.js +72 -87
  144. package/lib/es/components/metabase/index.less +7 -7
  145. package/lib/es/components/modules/components/Wrapper.js +1 -1
  146. package/lib/es/components/modules/components/header.js +2 -2
  147. package/lib/es/components/modules/components/meta-icon.d.ts +0 -3
  148. package/lib/es/components/modules/components/meta-icon.js +2 -46
  149. package/lib/es/components/modules/custom-column.js +3 -29
  150. package/lib/es/components/modules/enum/filter-enum.js +9 -88
  151. package/lib/es/components/modules/filter.js +2 -19
  152. package/lib/es/components/modules/index.d.ts +4 -2
  153. package/lib/es/components/modules/index.js +24 -1
  154. package/lib/es/components/modules/join-data.js +13 -291
  155. package/lib/es/components/modules/row-limit.js +0 -1
  156. package/lib/es/components/modules/sort.js +1 -61
  157. package/lib/es/components/modules/summarize/group-by.d.ts +0 -5
  158. package/lib/es/components/modules/summarize/group-by.js +253 -91
  159. package/lib/es/components/modules/summarize/select-index.js +116 -59
  160. package/lib/es/components/modules/table-data.js +11 -64
  161. package/lib/es/components/popup.js +27 -33
  162. package/lib/es/hooks/patch.d.ts +1 -0
  163. package/lib/es/hooks/patch.js +103 -5
  164. package/lib/es/hooks/patch2.js +2 -164
  165. package/lib/es/hooks/use-provider.js +0 -3
  166. package/lib/es/hooks/use-state.js +55 -135
  167. package/lib/es/index.js +0 -14
  168. package/lib/es/locale/en.js +5 -0
  169. package/lib/es/locale/index.js +1 -4
  170. package/lib/es/locale/zh.js +5 -0
  171. package/lib/es/sql-formula.js +0 -1
  172. package/lib/es/store/enum.d.ts +6 -6
  173. package/lib/es/store/enum.js +0 -13
  174. package/lib/es/store/helper.d.ts +2 -1
  175. package/lib/es/store/helper.js +13 -224
  176. package/lib/es/store/types.d.ts +45 -67
  177. package/lib/es/store/types.js +3 -49
  178. package/lib/es/types.d.ts +1 -0
  179. package/lib/es/types.js +1 -18
  180. package/lib/es/utils/cookies.js +0 -3
  181. package/lib/es/utils/event.js +1 -1
  182. package/lib/es/utils/helper-dom.d.ts +1 -0
  183. package/lib/es/utils/helper-dom.js +16 -9
  184. package/lib/es/utils/helper.js +1 -24
  185. package/lib/es/utils/keydown.js +4 -7
  186. package/lib/es/utils/platform.d.ts +0 -9
  187. package/lib/es/utils/platform.js +0 -10
  188. package/lib/es/utils/selection.js +0 -6
  189. package/lib/es/utils/storage.d.ts +0 -9
  190. package/lib/es/utils/storage.js +1 -10
  191. package/lib/es/utils/transformSql.d.ts +5 -0
  192. package/lib/es/utils/transformSql.js +40 -100
  193. package/lib/es/utils.d.ts +1 -6
  194. package/lib/es/utils.js +127 -255
  195. package/package.json +1 -1
@@ -1,9 +1,3 @@
1
- /**
2
- * 选择表弹框
3
- * 谁在用?
4
- * 1、数据模块
5
- * 2、关联模块
6
- */
7
1
  import './index.less';
8
2
  import { MetaData_TableType } from '../../../store/types';
9
3
  import { DatasourceType } from '../../../types';
@@ -21,13 +21,6 @@ var _Loading = _interopRequireDefault(require("../../../common/Loading"));
21
21
  var _locale = require("../../../locale");
22
22
  var _icons = require("../../icons");
23
23
  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
- /**
25
- * 选择表弹框
26
- * 谁在用?
27
- * 1、数据模块
28
- * 2、关联模块
29
- */
30
-
31
24
  var SelectTable = function SelectTable(_ref) {
32
25
  var _ref$data = _ref.data,
33
26
  data = _ref$data === void 0 ? [] : _ref$data,
@@ -72,7 +65,7 @@ var SelectTable = function SelectTable(_ref) {
72
65
  return _getTables.apply(this, arguments);
73
66
  }
74
67
  function _getTables() {
75
- _getTables = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(datasourceId) {
68
+ _getTables = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(datasourceId) {
76
69
  var tables;
77
70
  return _regenerator["default"].wrap(function (_context) {
78
71
  while (1) switch (_context.prev = _context.next) {
@@ -202,7 +195,6 @@ var SelectTable = function SelectTable(_ref) {
202
195
  });
203
196
  }
204
197
  var nextPage = !val.datasourceId;
205
- // 没有选 数据源 先选数据源
206
198
  if (nextPage) {
207
199
  return (0, _jsxRuntime.jsx)("div", {
208
200
  className: (0, _classnames["default"])("Sqb-SelectDataSource--box pb-2 pt-2"),
@@ -22,7 +22,7 @@ var _modules = _interopRequireDefault(require("../modules"));
22
22
  var _popup = _interopRequireDefault(require("../popup"));
23
23
  var _useProvider = require("../../hooks/use-provider");
24
24
  var _storage = _interopRequireDefault(require("../../utils/storage"));
25
- var _templateObject; // import { toJS } from 'mobx';
25
+ var _templateObject;
26
26
  var VisualBox = _styledComponents["default"].div.attrs({
27
27
  className: 'visual-box'
28
28
  })(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])([""])));
@@ -33,7 +33,8 @@ var Metabase = function Metabase(props) {
33
33
  readonly = _props$readonly === void 0 ? false : _props$readonly,
34
34
  onOk = props.onOk,
35
35
  metabaseCopy = props.metabaseCopy,
36
- moduleCopy = props.moduleCopy;
36
+ moduleCopy = props.moduleCopy,
37
+ popupZIndex = props.popupZIndex;
37
38
  var store = (0, _useProvider.useStore)();
38
39
  var _useState = (0, _react.useState)(false),
39
40
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
@@ -43,8 +44,6 @@ var Metabase = function Metabase(props) {
43
44
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
44
45
  isCopy = _useState4[0],
45
46
  setIsCopy = _useState4[1];
46
- // const popupContainer = useRef();
47
- // store.setPopupContainer(popupContainer);
48
47
  var popupContent = (0, _react.useMemo)(function () {
49
48
  var _store$popupData = store.popupData,
50
49
  visible = _store$popupData.visible,
@@ -66,9 +65,6 @@ var Metabase = function Metabase(props) {
66
65
  _pandora.Modal.error({
67
66
  title: (0, _locale.__)('metabase.prompt'),
68
67
  content: (0, _locale.__)('metabase.validationFilter')
69
- // onOk: async () => {
70
- // // await onSave();
71
- // },
72
68
  });
73
69
  return;
74
70
  }
@@ -77,7 +73,7 @@ var Metabase = function Metabase(props) {
77
73
  title: (0, _locale.__)('metabase.prompt'),
78
74
  content: (0, _locale.__)('metabase.validationFailed'),
79
75
  onOk: function () {
80
- var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
76
+ var _onOk = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() {
81
77
  return _regenerator["default"].wrap(function (_context) {
82
78
  while (1) switch (_context.prev = _context.next) {
83
79
  case 0:
@@ -99,18 +95,19 @@ var Metabase = function Metabase(props) {
99
95
  onSave();
100
96
  }
101
97
  };
102
- var onSave = /*#__PURE__*/function () {
103
- var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
98
+ var onSave = function () {
99
+ var _ref = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2() {
104
100
  var intercept, _metaList;
105
101
  return _regenerator["default"].wrap(function (_context2) {
106
102
  while (1) switch (_context2.prev = _context2.next) {
107
103
  case 0:
108
- intercept = false; // 是否返回
109
- _metaList = (0, _utils.splitByUnion)(store.metaList);
104
+ intercept = false;
105
+ _metaList = (0, _utils.normalizeLegacySummarizeForSave)((0, _utils.splitByUnion)(store.metaList));
110
106
  _metaList[0].patchVersion = '1.1.0';
111
107
  store.metaList.map(function (v) {
112
108
  var _v$list;
113
- if (v.type !== 'union' && !((_v$list = v.list) === null || _v$list === void 0 ? void 0 : _v$list[0]).table.name) {
109
+ var firstTableName = (_v$list = v.list) === null || _v$list === void 0 || (_v$list = _v$list[0]) === null || _v$list === void 0 || (_v$list = _v$list.table) === null || _v$list === void 0 ? void 0 : _v$list.name;
110
+ if (v.type !== 'union' && !firstTableName) {
114
111
  intercept = true;
115
112
  return _pandora.Toast.warning((0, _locale.__)('data.pleaseSelectDataTable'));
116
113
  }
@@ -136,7 +133,6 @@ var Metabase = function Metabase(props) {
136
133
  return _ref.apply(this, arguments);
137
134
  };
138
135
  }();
139
- // 复制功能
140
136
  var copy = function copy() {
141
137
  return (0, _jsxRuntime.jsxs)(_pandora.Space, {
142
138
  children: [moduleCopy && (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
@@ -150,9 +146,6 @@ var Metabase = function Metabase(props) {
150
146
  'primary-color': !store.isMetabaseCopy
151
147
  }),
152
148
  onClick: function onClick() {
153
- // if (store.isMetabaseCopy) {
154
- // storage._metabaseCopyModule = null;
155
- // }
156
149
  store.setIsMetabaseCopy(!store.isMetabaseCopy);
157
150
  store.setMetabaseCopyModule([]);
158
151
  _storage["default"]._metabaseCopyModule = [];
@@ -200,78 +193,71 @@ var Metabase = function Metabase(props) {
200
193
  })]
201
194
  });
202
195
  };
203
- return (
204
- // @ts-ignore
205
- (0, _jsxRuntime.jsx)(VisualBox, {
206
- ref: store.popupContainer,
207
- children: (0, _jsxRuntime.jsxs)("div", {
208
- className: 'Sqb',
209
- children: [(0, _jsxRuntime.jsx)("div", {
210
- className: 'Sqb-fun-btns',
211
- children: copy()
212
- }), store.metaList.map(function (v, index) {
213
- var _v$list2;
214
- if (v.type === 'union' && v.union) {
215
- return (0, _jsxRuntime.jsx)("div", {
216
- className: (0, _classnames["default"])("Sqb-list"),
217
- children: (0, _jsxRuntime.jsx)(_union["default"], {
218
- union: v.union,
219
- meta: v,
220
- groupIndex: index
221
- })
222
- }, 'union' + index);
223
- }
196
+ return (0, _jsxRuntime.jsx)(VisualBox, {
197
+ ref: store.popupContainer,
198
+ children: (0, _jsxRuntime.jsxs)("div", {
199
+ className: 'Sqb',
200
+ children: [(0, _jsxRuntime.jsx)("div", {
201
+ className: 'Sqb-fun-btns',
202
+ children: copy()
203
+ }), store.metaList.map(function (v, index) {
204
+ var _v$list2;
205
+ if (v.type === 'union' && v.union) {
224
206
  return (0, _jsxRuntime.jsx)("div", {
225
207
  className: (0, _classnames["default"])("Sqb-list"),
226
- children: v === null || v === void 0 || (_v$list2 = v.list) === null || _v$list2 === void 0 ? void 0 : _v$list2.map(function (meta) {
227
- var metaType = meta.type,
228
- metaKey = meta.metaKey,
229
- hidden = meta.hidden;
230
- if (hidden) return null;
231
- var Component = _modules["default"].get(metaType);
232
- return (0, _jsxRuntime.jsx)(Component, {
233
- meta: meta,
234
- groupIndex: index
235
- }, metaKey);
208
+ children: (0, _jsxRuntime.jsx)(_union["default"], {
209
+ union: v.union,
210
+ meta: v,
211
+ groupIndex: index
236
212
  })
237
- }, 'group' + index);
238
- }), !readonly && typeof onOk === 'function' ? (0, _jsxRuntime.jsx)(_pandora.Button, {
239
- type: 'primary',
240
- className: ":Sqb-btn",
241
- loading: saveLoading,
242
- disabled: saveLoading,
243
- onClick: onCheck,
244
- children: btnText || (0, _locale.__)('SqlQueryBuilder.visualize')
245
- }) : null, store.popupContainer.current && (0, _jsxRuntime.jsx)(_popup["default"]
246
- // container={store.popupData.container || store.popupContainer.current}
247
- , {
248
- // container={store.popupData.container || store.popupContainer.current}
249
- visible: store.popupData.visible,
250
- node: store.popupData.node,
251
- closable: store.popupClosable,
252
- hideVisible: function hideVisible() {
253
- store.setPopup({
254
- visible: false
255
- });
256
- },
257
- children: popupContent
258
- }), store.popupContainer.current && (0, _jsxRuntime.jsx)(_popup["default"]
259
- // container={store.popupData2.container || store.popupContainer.current}
260
- , {
261
- // container={store.popupData2.container || store.popupContainer.current}
262
- visible: store.popupData2.visible,
263
- node: store.popupData2.node,
264
- closable: store.popupClosable2,
265
- hideVisible: function hideVisible() {
266
- store.setClosable(true);
267
- store.setPopup2({
268
- visible: false
269
- });
270
- },
271
- children: popupContent2
272
- })]
273
- })
213
+ }, 'union' + index);
214
+ }
215
+ return (0, _jsxRuntime.jsx)("div", {
216
+ className: (0, _classnames["default"])("Sqb-list"),
217
+ children: v === null || v === void 0 || (_v$list2 = v.list) === null || _v$list2 === void 0 ? void 0 : _v$list2.map(function (meta) {
218
+ var metaType = meta.type,
219
+ metaKey = meta.metaKey,
220
+ hidden = meta.hidden;
221
+ if (hidden) return null;
222
+ var Component = _modules["default"].get(metaType);
223
+ return (0, _jsxRuntime.jsx)(Component, {
224
+ meta: meta,
225
+ groupIndex: index
226
+ }, metaKey);
227
+ })
228
+ }, 'group' + index);
229
+ }), !readonly && typeof onOk === 'function' ? (0, _jsxRuntime.jsx)(_pandora.Button, {
230
+ type: 'primary',
231
+ className: ":Sqb-btn",
232
+ loading: saveLoading,
233
+ disabled: saveLoading,
234
+ onClick: onCheck,
235
+ children: btnText || (0, _locale.__)('SqlQueryBuilder.visualize')
236
+ }) : null, store.popupContainer.current && (0, _jsxRuntime.jsx)(_popup["default"], {
237
+ visible: store.popupData.visible,
238
+ node: store.popupData.node,
239
+ zIndex: popupZIndex,
240
+ closable: store.popupClosable,
241
+ hideVisible: function hideVisible() {
242
+ store.setPopup({
243
+ visible: false
244
+ });
245
+ },
246
+ children: popupContent
247
+ }), store.popupContainer.current && (0, _jsxRuntime.jsx)(_popup["default"], {
248
+ visible: store.popupData2.visible,
249
+ node: store.popupData2.node,
250
+ zIndex: popupZIndex,
251
+ closable: store.popupClosable2,
252
+ hideVisible: function hideVisible() {
253
+ store.setClosable(true);
254
+ store.setPopup2({
255
+ visible: false
256
+ });
257
+ },
258
+ children: popupContent2
259
+ })]
274
260
  })
275
- );
261
+ });
276
262
  };
277
263
  var _default = exports["default"] = Metabase;
@@ -111,7 +111,7 @@
111
111
  .right-arrow,
112
112
  .left-arrow {
113
113
  position: absolute;
114
- top: 0;
114
+ top: 50%;
115
115
  height: 40px;
116
116
  width: 30px;
117
117
  display: flex;
@@ -119,7 +119,7 @@
119
119
  justify-content: center;
120
120
  opacity: 0.4;
121
121
  cursor: pointer;
122
- transform: scale(0);
122
+ transform: translateY(-50%) scale(0);
123
123
  transition: all 0.3s;
124
124
  img {
125
125
  transform: scale(0.8);
@@ -129,7 +129,7 @@
129
129
  }
130
130
  }
131
131
  .left-arrow {
132
- transform: rotate(180deg) scale(0);
132
+ transform: translateY(-50%) rotate(180deg) scale(0);
133
133
  transform-origin: 50% 50%;
134
134
  // padding-top: 10px;
135
135
  left: -30px;
@@ -139,11 +139,11 @@
139
139
  // padding-bottom: 10px;
140
140
  }
141
141
  &:not(.item-fixed).hover {
142
- .left-arrow {
143
- transform: rotate(180deg) scale(1);
142
+ > .left-arrow {
143
+ transform: translateY(-50%) rotate(180deg) scale(1);
144
144
  }
145
- .right-arrow {
146
- transform: scale(1);
145
+ > .right-arrow {
146
+ transform: translateY(-50%) scale(1);
147
147
  }
148
148
  }
149
149
  }
@@ -30,7 +30,7 @@ var Wrapper = function Wrapper(_ref) {
30
30
  return _animation.apply(this, arguments);
31
31
  }
32
32
  function _animation() {
33
- _animation = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
33
+ _animation = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() {
34
34
  var _couterRef$current;
35
35
  return _regenerator["default"].wrap(function (_context) {
36
36
  while (1) switch (_context.prev = _context.next) {
@@ -20,8 +20,8 @@ var Header = function Header(props) {
20
20
  groupIndex = props.groupIndex,
21
21
  isDataModule = props.isDataModule;
22
22
  var store = (0, _useProvider.useStore)();
23
- var diff = /*#__PURE__*/function () {
24
- var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
23
+ var diff = function () {
24
+ var _ref = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() {
25
25
  var _oldMeta, _newMeta, _yield$store$getModul, oldCode, newCode, o;
26
26
  return _regenerator["default"].wrap(function (_context) {
27
27
  while (1) switch (_context.prev = _context.next) {
@@ -10,9 +10,6 @@ type IconInfoType = {
10
10
  className?: string;
11
11
  };
12
12
  export declare const IconTypeMap: Map<TypeEnum, IconInfoType>;
13
- /**
14
- * 查找模块下面能放哪些icon (参考来源:metabase.com)
15
- */
16
13
  export declare const findNextIcon: (store: any, props: PropsType) => TypeEnum[];
17
14
  declare const NextDom: (props: PropsType) => import("react/jsx-runtime").JSX.Element | null;
18
15
  export default NextDom;
@@ -20,8 +20,6 @@ var _utils = require("../../../utils");
20
20
  var _useProvider = require("../../../hooks/use-provider");
21
21
  var _icons = require("../../icons");
22
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); }
23
- // import { type SqlVisionStoreType } from '../../../store/helper';
24
-
25
23
  var IconSIzeEnum;
26
24
  (function (IconSIzeEnum) {
27
25
  IconSIzeEnum["SMALL"] = "small";
@@ -60,11 +58,8 @@ var IconTypeMap = exports.IconTypeMap = new Map([[_enum.TypeEnum.filter, {
60
58
  icon: (0, _jsxRuntime.jsx)(_icons.GroupIcon, {}),
61
59
  className: 'union'
62
60
  }]]);
63
- // 前端展示的icon顺序 随便改不影响逻辑
64
61
  var DisplayOrder = [_enum.TypeEnum.filter, _enum.TypeEnum.summarize, _enum.TypeEnum.joinData, _enum.TypeEnum.permissionTable, _enum.TypeEnum.customColumn, _enum.TypeEnum.sort, _enum.TypeEnum.rowLimit, _enum.TypeEnum.union];
65
- // js逻辑顺序 正常顺序
66
62
  var OrderType = [_enum.TypeEnum.data, _enum.TypeEnum.joinData, _enum.TypeEnum.permissionTable, _enum.TypeEnum.customColumn, _enum.TypeEnum.filter, _enum.TypeEnum.summarize, _enum.TypeEnum.sort, _enum.TypeEnum.rowLimit, _enum.TypeEnum.union];
67
- // js逻辑顺序 聚合下面的顺序是这个样子
68
63
  var OrderNewType = [_enum.TypeEnum.sort, _enum.TypeEnum.rowLimit, _enum.TypeEnum.joinData, _enum.TypeEnum.permissionTable, _enum.TypeEnum.customColumn, _enum.TypeEnum.filter, _enum.TypeEnum.summarize, _enum.TypeEnum.union];
69
64
  var metaIcon = function metaIcon(size, handleClick) {
70
65
  return function (_ref) {
@@ -90,25 +85,6 @@ var metaIcon = function metaIcon(size, handleClick) {
90
85
  });
91
86
  };
92
87
  };
93
- /**
94
- * 如果选择了聚合 数据的 字段就不能选了
95
- */
96
- /*
97
- **** 该文件 主要是判断 模块下面该放的icon ****
98
-
99
- 这一块逻辑比较复杂 主要分两个部分
100
- 一、模块下面应该放哪些icon
101
- 1)正常顺序是上面的 OrderType,然后各自根据各自情况找出自己下面能放的icon,但是有两个瘪犊子 (关联、聚合)
102
- 2)关联比较特殊 可以有多个关联,关联选择了关联表之后,下面还可以继续选关联
103
- 3)聚合 ... 情况太大了 不一一写了 后面的人自己看下面代码逻辑吧
104
- 5)
105
- 6)
106
- 二、模块下面的icon size是large 还是small
107
- 1)正常情况,除了最后一个模块下面的icon是 large 其他的都是small 但是也有特殊情况,
108
- 2)特殊情况一 如果最后一个是聚合,且聚合没有选指标和groupby 下面是small
109
- 3)特殊情况二 如果最后一个是排序,下面是small
110
- */
111
- // 判断icon大小
112
88
  var judgeSize = function judgeSize(store, props, nextLen, groupIndex) {
113
89
  var meta = props.meta;
114
90
  var type = meta.type;
@@ -129,9 +105,6 @@ var judgeSize = function judgeSize(store, props, nextLen, groupIndex) {
129
105
  }
130
106
  return size;
131
107
  };
132
- /**
133
- * 查找模块下面能放哪些icon (参考来源:metabase.com)
134
- */
135
108
  var findNextIcon = exports.findNextIcon = function findNextIcon(store, props) {
136
109
  var _store$metaList$group;
137
110
  var meta = props.meta,
@@ -148,10 +121,8 @@ var findNextIcon = exports.findNextIcon = function findNextIcon(store, props) {
148
121
  prevGroupBy = _getHelper.prevGroupBy,
149
122
  nextGroupBy = _getHelper.nextGroupBy;
150
123
  var nextType = ((_store$metaList$group = store.metaList[groupIndex].list[index + 1]) === null || _store$metaList$group === void 0 ? void 0 : _store$metaList$group.type) || '';
151
- // @ts-ignore
152
124
  var isLast = nextType === '';
153
125
  var available = [];
154
- // 当前处在的位置
155
126
  var curLocation = OrderType.indexOf(type);
156
127
  var nextLocation = OrderType.indexOf(nextType);
157
128
  if (type === _enum.TypeEnum.data) {
@@ -166,7 +137,6 @@ var findNextIcon = exports.findNextIcon = function findNextIcon(store, props) {
166
137
  }
167
138
  if (type === _enum.TypeEnum.joinData) {
168
139
  if (ExistAboveGroupBy && isLast) {
169
- // 聚合在上面 且自己是最后一个
170
140
  if (meta.table2.name) {
171
141
  available = OrderType.slice(curLocation + 1);
172
142
  } else {
@@ -179,7 +149,6 @@ var findNextIcon = exports.findNextIcon = function findNextIcon(store, props) {
179
149
  available = OrderType.slice(curLocation + 1, nextLocation);
180
150
  }
181
151
  }
182
- // 关联比较特殊可以有多个
183
152
  if (nextType !== _enum.TypeEnum.joinData && meta.table2.name) {
184
153
  available.unshift(_enum.TypeEnum.joinData);
185
154
  }
@@ -189,9 +158,7 @@ var findNextIcon = exports.findNextIcon = function findNextIcon(store, props) {
189
158
  }
190
159
  if (type === _enum.TypeEnum.customColumn) {
191
160
  if (ExistAboveGroupBy && isLast) {
192
- // 聚合在上面 且自己是最后一个
193
161
  var joinIndex = prevTypes.indexOf(_enum.TypeEnum.joinData);
194
- // 如果自定义已经选了 或者 自定义没选但是他上面有个关联且关联选了 则展示排序和行限制 否则不展示
195
162
  if (meta.customColumn.length || ~joinIndex && prevList[joinIndex].table2.name) {
196
163
  available = OrderType.slice(curLocation + 1);
197
164
  } else {
@@ -207,10 +174,8 @@ var findNextIcon = exports.findNextIcon = function findNextIcon(store, props) {
207
174
  }
208
175
  if (type === _enum.TypeEnum.filter) {
209
176
  if (ExistAboveGroupBy && isLast) {
210
- // 聚合在上面 且自己是最后一个
211
177
  var _joinIndex = prevTypes.indexOf(_enum.TypeEnum.joinData);
212
178
  var customIndex = prevTypes.indexOf(_enum.TypeEnum.customColumn);
213
- // 如果自定义已经选了 或者 自定义没选但是他上面有个关联且关联选了 则展示排序和行限制 否则不展示
214
179
  if (meta.filter.length || ~_joinIndex && prevList[_joinIndex].table2.name || ~customIndex && prevList[customIndex].customColumn.length) {
215
180
  available = OrderType.slice(curLocation + 1);
216
181
  } else {
@@ -227,9 +192,7 @@ var findNextIcon = exports.findNextIcon = function findNextIcon(store, props) {
227
192
  if (type === _enum.TypeEnum.summarize) {
228
193
  if (isLast) {
229
194
  if (!ExistAboveGroupBy) {
230
- if (meta.group.length && !meta.by.length) {
231
- // 一个不显示
232
- } else if (!meta.group.length && !meta.by.length) {
195
+ if (meta.group.length && !meta.by.length) {} else if (!meta.group.length && !meta.by.length) {
233
196
  available = [_enum.TypeEnum.sort, _enum.TypeEnum.rowLimit, _enum.TypeEnum.union];
234
197
  } else {
235
198
  available = OrderNewType;
@@ -241,9 +204,7 @@ var findNextIcon = exports.findNextIcon = function findNextIcon(store, props) {
241
204
  var filterIndex = prevTypes.indexOf(_enum.TypeEnum.filter);
242
205
  if (~_joinIndex2 && prevList[_joinIndex2].table2.name || ~_customIndex && prevList[_customIndex].customColumn.length || ~filterIndex && prevList[filterIndex].filter.length) {
243
206
  available = OrderType.slice(curLocation + 1);
244
- } else {
245
- // 一个不显示
246
- }
207
+ } else {}
247
208
  } else {
248
209
  available = OrderNewType;
249
210
  }
@@ -318,7 +279,6 @@ var NextDom = function NextDom(props) {
318
279
  var meta = props.meta,
319
280
  groupIndex = props.groupIndex;
320
281
  var store = (0, _useProvider.useStore)();
321
- // @ts-ignore
322
282
  if (!((_store$metaList = store.metaList) !== null && _store$metaList !== void 0 && (_store$metaList = _store$metaList[groupIndex]) !== null && _store$metaList !== void 0 && (_store$metaList = _store$metaList.list) !== null && _store$metaList !== void 0 && (_store$metaList = _store$metaList[0]) !== null && _store$metaList !== void 0 && (_store$metaList = _store$metaList.table) !== null && _store$metaList !== void 0 && _store$metaList.name)) return null;
323
283
  var available = findNextIcon(store, props);
324
284
  if (!store.showToolbar(_enum.TypeEnum.permissionTable)) {
@@ -339,7 +299,6 @@ var NextDom = function NextDom(props) {
339
299
  setIsShowAdd = _React$useState2[1];
340
300
  (0, _react.useEffect)(function () {
341
301
  if (store.metabaseCopyModule) {
342
- // let { prevItem, nextItem } = getHelper(store.metaList[groupIndex].list, meta);
343
302
  var nextTypes = findNextIcon(store, {
344
303
  meta: meta,
345
304
  groupIndex: groupIndex
@@ -356,10 +315,8 @@ var NextDom = function NextDom(props) {
356
315
  var _store$metaList3;
357
316
  var index = (_store$metaList3 = store.metaList) === null || _store$metaList3 === void 0 || (_store$metaList3 = _store$metaList3[groupIndex]) === null || _store$metaList3 === void 0 || (_store$metaList3 = _store$metaList3.list) === null || _store$metaList3 === void 0 ? void 0 : _store$metaList3.indexOf(meta);
358
317
  var success = store.addMeta('', index + 1, groupIndex, store.metabaseCopyModule, function (conflictingAlias) {
359
- // 冲突提示
360
318
  _pandora.Toast.warning("\u8BE5\u8868\u5DF2\u5B58\u5728\u5173\u8054\uFF0C\u4E0D\u80FD\u590D\u5236");
361
319
  });
362
- // 仅在成功时重置
363
320
  if (success) {
364
321
  store.setMetabaseCopyModule([]);
365
322
  store.setIsMetabaseCopy(false);
@@ -372,8 +329,6 @@ var NextDom = function NextDom(props) {
372
329
  children: (0, _jsxRuntime.jsxs)(_pandora.Button, {
373
330
  className: (0, _classnames["default"])(':Sqb-item-copy'),
374
331
  onClick: handlePaste,
375
- // iconOnly={false}
376
- // icon={}
377
332
  dashed: true,
378
333
  ghost: true,
379
334
  children: [(0, _jsxRuntime.jsx)(_pandoraIcons.FfPlus, {}), "\u5C06\u5185\u5BB9\u7C98\u8D34\u5230\u6B64\u5904"]
@@ -39,14 +39,10 @@ var CustomColumn = function CustomColumn(props) {
39
39
  var _getHelper = (0, _utils.getHelper)(store.metaList[groupIndex].list, meta),
40
40
  ExistAboveGroupBy = _getHelper.ExistAboveGroupBy,
41
41
  prevList = _getHelper.prevList;
42
- // TIPS metabase 将自定义列也放进去了 但是他们拼sql的时候又没有实现 这里我们也暂时不加进来
43
- // TIPS metabase 将聚合的参数也弄进来了
44
42
  if (ExistAboveGroupBy) {
45
43
  columns = (0, _helper.flatArray)(prevList.filter(function (v) {
46
44
  return v.type === _enum.TypeEnum.joinData;
47
- })
48
- // @ts-ignore
49
- .map(function (v) {
45
+ }).map(function (v) {
50
46
  return v.columns.map(function (o) {
51
47
  return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, o), {}, {
52
48
  name: "".concat(v.table2.alias, " -> ").concat(o.name)
@@ -76,7 +72,7 @@ var CustomColumn = function CustomColumn(props) {
76
72
  return _handleUpdate.apply(this, arguments);
77
73
  }
78
74
  function _handleUpdate() {
79
- _handleUpdate = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(e, i) {
75
+ _handleUpdate = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(e, i) {
80
76
  var node, newMeta, value, columns;
81
77
  return _regenerator["default"].wrap(function (_context) {
82
78
  while (1) switch (_context.prev = _context.next) {
@@ -97,10 +93,6 @@ var CustomColumn = function CustomColumn(props) {
97
93
  value: value,
98
94
  onChange: function onChange(data) {
99
95
  newMeta[index].customColumn[i] = data;
100
- // TIPS 修改了名字后面都得删除 暂时不删除 因为过滤器和组合都没用到自定义列
101
- // if(data.name !== value.name){
102
- // newMeta = newMeta.filter((v: MetaListType, _i: number)=> _i<=index)
103
- // }
104
96
  store.setMeta(newMeta, groupIndex, {
105
97
  obj: data,
106
98
  type: _types.ChangeType.customColumn
@@ -218,20 +210,6 @@ var CustomColumn = function CustomColumn(props) {
218
210
  }
219
211
  return data;
220
212
  }
221
- // const getPreColumns = () => {
222
- // let data = [...getColumns(), ...cloneDeep(notExistsColumns || [])];
223
- // // 将source 拍到最前面
224
- // const priorityNames = ['source'];
225
- // const sorted = data.sort((a, b) => {
226
- // const aPriority = priorityNames.includes(a.name);
227
- // const bPriority = priorityNames.includes(b.name);
228
- // if (aPriority && !bPriority) return -1;
229
- // if (!aPriority && bPriority) return 1;
230
- // return 0;
231
- // });
232
- // return sorted;
233
- // };
234
- // 自定义弹窗
235
213
  var showSubQuery = function showSubQuery(e, i) {
236
214
  var newMeta = store.metaList[groupIndex].list.slice();
237
215
  var _value = newMeta[index].customColumn[i] || [];
@@ -243,7 +221,6 @@ var CustomColumn = function CustomColumn(props) {
243
221
  value: store,
244
222
  children: (0, _jsxRuntime.jsx)(_customEditor["default"], {
245
223
  data: getColumns(),
246
- // data={getPreColumns()}
247
224
  exitData: getColumns(),
248
225
  value: _value,
249
226
  onCancel: function onCancel() {
@@ -264,9 +241,7 @@ var CustomColumn = function CustomColumn(props) {
264
241
  });
265
242
  try {
266
243
  o.close();
267
- } catch (e) {
268
- console.warn(e);
269
- } finally {
244
+ } catch (e) {} finally {
270
245
  o.close();
271
246
  }
272
247
  }
@@ -303,7 +278,6 @@ var CustomColumn = function CustomColumn(props) {
303
278
  e.stopPropagation();
304
279
  closePopup();
305
280
  var newMeta = store.metaList[groupIndex].list.slice();
306
- // TIPS 删除了后面都得删除 暂时不删除 因为过滤器和组合都没用到自定义列
307
281
  newMeta[index].customColumn = customColumn.filter(function (_, i) {
308
282
  return i !== itemId;
309
283
  });