@gingkoo/pandora-metabase 1.0.119 → 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.
@@ -25,6 +25,7 @@ var _types = require("../../../store/types");
25
25
  var _pandora = require("@gingkoo/pandora");
26
26
  var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
27
27
  var _useProvider = require("../../../hooks/use-provider");
28
+ var _helperDom = require("../../../utils/helper-dom");
28
29
  var _templateObject;
29
30
  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); }
30
31
  var VisualBox = _styledComponents["default"].div.attrs({
@@ -147,7 +148,10 @@ var CaseEditor = _react["default"].forwardRef(function (props, ref) {
147
148
  message: '公式丢失',
148
149
  children: (0, _jsxRuntime.jsx)(_pandora.Select, {
149
150
  triggerProps: {
150
- clickToClose: true
151
+ clickToClose: true,
152
+ style: {
153
+ zIndex: (0, _helperDom.getTopLayerZIndex)() + 1
154
+ }
151
155
  },
152
156
  value: fun.id || fun.name,
153
157
  triggerElement: function triggerElement(value) {
@@ -1101,7 +1101,9 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
1101
1101
  }
1102
1102
  var showFunction = function showFunction(e, i) {
1103
1103
  var _value = caseList[i];
1104
- var o = _pandora.Modal2.openModal({
1104
+ var childModalZIndex = (0, _helperDom.getTopLayerZIndex)() + 1;
1105
+ var o = openChildModal({
1106
+ zIndex: childModalZIndex,
1105
1107
  title: (0, _locale.__)('customColumn.formula'),
1106
1108
  transparentMask: true,
1107
1109
  content: (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
@@ -1,8 +1,11 @@
1
1
  import './index.less';
2
- import { DataType, ColumnType } from '../select-join-column';
2
+ import { DataType, ColumnType } from '../select-column-multiple';
3
3
  import { AtomsItem } from '../../../store/types';
4
4
  export type ValueType = Partial<ColumnType> & {
5
5
  name_zh?: string;
6
+ table?: string;
7
+ tableId?: string;
8
+ tableUuid?: string;
6
9
  condition: string;
7
10
  quotes: string;
8
11
  atoms?: AtomsItem[];
@@ -170,8 +170,9 @@ var GroupBy = function GroupBy(props) {
170
170
  if (ExistAboveGroupBy) {
171
171
  var _prevGroupBy$group, _prevGroupBy$by;
172
172
  var _data = {
173
- table: prevGroupBy.alias,
174
- tableId: prevGroupBy.alias,
173
+ name: prevGroupBy.alias,
174
+ id: prevGroupBy.alias,
175
+ name_zh: prevGroupBy.alias,
175
176
  tableUuid: prevGroupBy.tableUuid || (0, _helper.uuidv4)('table'),
176
177
  alias: prevGroupBy.alias,
177
178
  columns: []
@@ -213,10 +214,11 @@ var GroupBy = function GroupBy(props) {
213
214
  if (joinData.length) {
214
215
  data = data.concat(joinData.map(function (v) {
215
216
  return {
217
+ name: v.table2.name,
218
+ id: v.table2.id,
219
+ name_zh: v.table2.name_zh || v.table2.name,
216
220
  alias: v.table2.alias,
217
221
  tableUuid: v.table2.tableUuid,
218
- tableId: v.table2.id,
219
- table: v.table2.name,
220
222
  datasourceId: v.table2.datasourceId,
221
223
  datasourceName: v.table2.datasourceName,
222
224
  columns: v.columns
@@ -227,19 +229,21 @@ var GroupBy = function GroupBy(props) {
227
229
  data = store.metaList[groupIndex].list.slice(0, index).map(function (v) {
228
230
  if (v.type === _enum.TypeEnum.data) {
229
231
  return {
232
+ name: v.table.name,
233
+ id: v.table.id,
234
+ name_zh: v.table.name_zh || v.table.name,
230
235
  alias: v.table.alias,
231
- table: v.table.name,
232
236
  tableUuid: v.table.tableUuid,
233
- tableId: v.table.id,
234
237
  datasourceId: v.table.datasourceId,
235
238
  datasourceName: v.table.datasourceName,
236
239
  columns: v.columns
237
240
  };
238
241
  } else if (v.type === _enum.TypeEnum.joinData) {
239
242
  return {
243
+ name: v.table2.name,
244
+ id: v.table2.id,
245
+ name_zh: v.table2.name_zh || v.table2.name,
240
246
  alias: v.table2.alias,
241
- table: v.table2.name,
242
- tableId: v.table2.id,
243
247
  tableUuid: v.table2.tableUuid,
244
248
  datasourceId: v.table2.datasourceId,
245
249
  datasourceName: v.table2.datasourceName,
@@ -247,11 +251,16 @@ var GroupBy = function GroupBy(props) {
247
251
  };
248
252
  } else {
249
253
  return {
250
- table: null
254
+ name: '',
255
+ id: '',
256
+ name_zh: '',
257
+ alias: '',
258
+ tableUuid: '',
259
+ columns: []
251
260
  };
252
261
  }
253
262
  }).filter(function (v) {
254
- return v.table;
263
+ return Boolean(v.name);
255
264
  });
256
265
  }
257
266
  return data;
@@ -378,9 +387,7 @@ var GroupBy = function GroupBy(props) {
378
387
  var _getColumns = function _getColumns() {
379
388
  return getColumns().map(function (v) {
380
389
  return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
381
- name: v.table,
382
- id: v.tableId,
383
- name_zh: '',
390
+ name_zh: v.name_zh || '',
384
391
  tableUuid: v.tableUuid,
385
392
  alias: v.alias,
386
393
  datasourceName: '',
@@ -42,8 +42,9 @@ var SelectIndex = function SelectIndex(props) {
42
42
  if (ExistAboveGroupBy) {
43
43
  var _prevGroupBy$group, _prevGroupBy$by;
44
44
  var _data = {
45
- table: prevGroupBy.alias,
46
- tableId: prevGroupBy.alias,
45
+ name: prevGroupBy.alias,
46
+ id: prevGroupBy.alias,
47
+ name_zh: prevGroupBy.alias,
47
48
  tableUuid: prevGroupBy.tableUuid || (0, _helper2.uuidv4)('table'),
48
49
  alias: prevGroupBy.alias,
49
50
  columns: []
@@ -89,10 +90,11 @@ var SelectIndex = function SelectIndex(props) {
89
90
  if (joinData.length) {
90
91
  data = data.concat(joinData.map(function (v) {
91
92
  return {
93
+ name: v.table2.name,
94
+ id: v.table2.id,
95
+ name_zh: v.table2.name_zh || v.table2.name,
92
96
  alias: v.table2.alias,
93
- table: v.table2.name,
94
97
  tableUuid: v.table2.tableUuid,
95
- tableId: v.table2.id,
96
98
  columns: v.columns
97
99
  };
98
100
  }));
@@ -101,27 +103,34 @@ var SelectIndex = function SelectIndex(props) {
101
103
  data = store.metaList[groupIndex].list.slice(0, index).map(function (v) {
102
104
  if (v.type === _enum.TypeEnum.data) {
103
105
  return {
106
+ name: v.table.name,
107
+ id: v.table.id,
108
+ name_zh: v.table.name_zh || v.table.name,
104
109
  alias: v.table.alias,
105
- table: v.table.name,
106
110
  tableUuid: v.table.tableUuid,
107
- tableId: v.table.id,
108
111
  columns: v.columns
109
112
  };
110
113
  } else if (v.type === _enum.TypeEnum.joinData) {
111
114
  return {
115
+ name: v.table2.name,
116
+ id: v.table2.id,
117
+ name_zh: v.table2.name_zh || v.table2.name,
112
118
  alias: v.table2.alias,
113
- table: v.table2.name,
114
119
  tableUuid: v.table2.tableUuid,
115
- tableId: v.table2.id,
116
120
  columns: v.columns
117
121
  };
118
122
  } else {
119
123
  return {
120
- table: null
124
+ name: '',
125
+ id: '',
126
+ name_zh: '',
127
+ alias: '',
128
+ tableUuid: '',
129
+ columns: []
121
130
  };
122
131
  }
123
132
  }).filter(function (v) {
124
- return v.table;
133
+ return Boolean(v.name);
125
134
  });
126
135
  }
127
136
  return data;
@@ -271,9 +280,7 @@ var SelectIndex = function SelectIndex(props) {
271
280
  var _getColumns = function _getColumns() {
272
281
  return getColumns().map(function (v) {
273
282
  return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
274
- name: v.table,
275
- id: v.tableId,
276
- name_zh: '',
283
+ name_zh: v.name_zh || '',
277
284
  tableUuid: v.tableUuid,
278
285
  alias: v.alias,
279
286
  datasourceName: '',
@@ -72,7 +72,7 @@ var _recursionArr2 = function _recursionArr(arr) {
72
72
  }
73
73
  return obj;
74
74
  };
75
- var _handleBaseType2Sql7 = exports.handleBaseType2Sql = function handleBaseType2Sql(list) {
75
+ var _handleBaseType2Sql8 = exports.handleBaseType2Sql = function handleBaseType2Sql(list) {
76
76
  var db = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : procEnum.mysql;
77
77
  var sql = '';
78
78
  var constants = [];
@@ -134,11 +134,11 @@ var _handleBaseType2Sql7 = exports.handleBaseType2Sql = function handleBaseType2
134
134
  if (type === BlockTypeEnum.joinDefault) {
135
135
  var lhs = item.lhs,
136
136
  rhs = item.rhs;
137
- var _handleBaseType2Sql = _handleBaseType2Sql7(lhs, db),
137
+ var _handleBaseType2Sql = _handleBaseType2Sql8(lhs, db),
138
138
  leftSql = _handleBaseType2Sql.sql,
139
139
  leftSqlItems = _handleBaseType2Sql.sql_items,
140
140
  joinDefaultLeftConstants = _handleBaseType2Sql.constants;
141
- var _handleBaseType2Sql2 = _handleBaseType2Sql7(rhs, db),
141
+ var _handleBaseType2Sql2 = _handleBaseType2Sql8(rhs, db),
142
142
  rightSql = _handleBaseType2Sql2.sql,
143
143
  rightSqlItems = _handleBaseType2Sql2.sql_items,
144
144
  joinDefaultRightConstants = _handleBaseType2Sql2.constants;
@@ -176,11 +176,11 @@ var _handleBaseType2Sql7 = exports.handleBaseType2Sql = function handleBaseType2
176
176
  condition = item.condition,
177
177
  database_type = item.database_type,
178
178
  formula = item.formula;
179
- var _handleBaseType2Sql3 = _handleBaseType2Sql7(_lhs, db),
179
+ var _handleBaseType2Sql3 = _handleBaseType2Sql8(_lhs, db),
180
180
  _leftSql = _handleBaseType2Sql3.sql,
181
181
  _leftSqlItems = _handleBaseType2Sql3.sql_items,
182
182
  _joinDefaultLeftConstants = _handleBaseType2Sql3.constants;
183
- var _handleBaseType2Sql4 = _handleBaseType2Sql7(_rhs, db),
183
+ var _handleBaseType2Sql4 = _handleBaseType2Sql8(_rhs, db),
184
184
  _rightSql = _handleBaseType2Sql4.sql,
185
185
  _rightSqlItems = _handleBaseType2Sql4.sql_items,
186
186
  _joinDefaultRightConstants = _handleBaseType2Sql4.constants;
@@ -450,16 +450,26 @@ var _handleBaseType2Sql7 = exports.handleBaseType2Sql = function handleBaseType2
450
450
  }
451
451
  }
452
452
  if (type === BlockTypeEnum.FORMULA) {
453
- var _handleBaseType2Sql5 = _handleBaseType2Sql7(item.args, db),
454
- argSql = _handleBaseType2Sql5.sql,
455
- formulaConstants = _handleBaseType2Sql5.constants;
456
- sql += " ".concat(item.name, "(").concat(argSql, ")");
457
- constants.push.apply(constants, (0, _toConsumableArray2["default"])(formulaConstants));
453
+ var argSqlList = (Array.isArray(item.args) ? item.args : []).map(function (arg) {
454
+ if ((arg === null || arg === void 0 ? void 0 : arg.type) === BlockTypeEnum.collection) {
455
+ var _handleBaseType2Sql5 = _handleBaseType2Sql8(arg.list, db),
456
+ collectionSql = _handleBaseType2Sql5.sql,
457
+ collectionConstants = _handleBaseType2Sql5.constants;
458
+ constants.push.apply(constants, (0, _toConsumableArray2["default"])(collectionConstants));
459
+ return collectionSql.trim();
460
+ }
461
+ var _handleBaseType2Sql6 = _handleBaseType2Sql8([arg], db),
462
+ nestedSql = _handleBaseType2Sql6.sql,
463
+ nestedConstants = _handleBaseType2Sql6.constants;
464
+ constants.push.apply(constants, (0, _toConsumableArray2["default"])(nestedConstants));
465
+ return nestedSql.trim();
466
+ }).filter(Boolean);
467
+ sql += " ".concat(item.name, "(").concat(argSqlList.join(', '), ")");
458
468
  }
459
469
  if (type === BlockTypeEnum.collection) {
460
- var _handleBaseType2Sql6 = _handleBaseType2Sql7(item.list, db),
461
- collectionSql = _handleBaseType2Sql6.sql,
462
- collectionConstants = _handleBaseType2Sql6.constants;
470
+ var _handleBaseType2Sql7 = _handleBaseType2Sql8(item.list, db),
471
+ collectionSql = _handleBaseType2Sql7.sql,
472
+ collectionConstants = _handleBaseType2Sql7.constants;
463
473
  sql += " ".concat(collectionSql);
464
474
  constants.push.apply(constants, (0, _toConsumableArray2["default"])(collectionConstants));
465
475
  }
@@ -483,9 +493,9 @@ var _handleJoinData = function _handleJoinData(joinData) {
483
493
  if (isSubquery) {
484
494
  subQuery = subquery;
485
495
  }
486
- var _handleBaseType2Sql8 = _handleBaseType2Sql7(expressions, db),
487
- sql = _handleBaseType2Sql8.sql,
488
- joinConstants = _handleBaseType2Sql8.constants;
496
+ var _handleBaseType2Sql9 = _handleBaseType2Sql8(expressions, db),
497
+ sql = _handleBaseType2Sql9.sql,
498
+ joinConstants = _handleBaseType2Sql9.constants;
489
499
  var joinCondition = "on ".concat(sql);
490
500
  constants = joinConstants;
491
501
  return {
@@ -568,9 +578,9 @@ var _handleNesting = function handleNesting(data) {
568
578
  var customColumnsConstants = [];
569
579
  var handleCustomColumn = function handleCustomColumn(data) {
570
580
  return data.map(function (it) {
571
- var _handleBaseType2Sql9 = _handleBaseType2Sql7(it.formulaList, db),
572
- field_sql = _handleBaseType2Sql9.sql,
573
- constants = _handleBaseType2Sql9.constants;
581
+ var _handleBaseType2Sql0 = _handleBaseType2Sql8(it.formulaList, db),
582
+ field_sql = _handleBaseType2Sql0.sql,
583
+ constants = _handleBaseType2Sql0.constants;
574
584
  customColumnsConstants.push.apply(customColumnsConstants, (0, _toConsumableArray2["default"])(constants));
575
585
  return {
576
586
  field_sql: "".concat(field_sql, " as ").concat(it.name),
@@ -585,9 +595,9 @@ var _handleNesting = function handleNesting(data) {
585
595
  obj.customColumnsConstants = customColumnsConstants;
586
596
  }
587
597
  if (filterData && filterData.filter.length) {
588
- var _handleBaseType2Sql0 = _handleBaseType2Sql7(filterData.filter, db),
589
- sql = _handleBaseType2Sql0.sql,
590
- constants = _handleBaseType2Sql0.constants;
598
+ var _handleBaseType2Sql1 = _handleBaseType2Sql8(filterData.filter, db),
599
+ sql = _handleBaseType2Sql1.sql,
600
+ constants = _handleBaseType2Sql1.constants;
591
601
  obj.filters = 'WHERE ' + sql;
592
602
  obj.filtersConstants = constants;
593
603
  }
@@ -612,7 +622,7 @@ var _handleNesting = function handleNesting(data) {
612
622
  if (summarize.by.length) {
613
623
  obj.groupBy.groupColumns = summarize.by.map(function (v) {
614
624
  var _v$atoms;
615
- var fieldSql = (_v$atoms = v.atoms) !== null && _v$atoms !== void 0 && _v$atoms.length ? _handleBaseType2Sql7(v.atoms, db).sql.trim() || v.sql : v.sql || "".concat(v.alias, ".").concat(v.realName || v.name);
625
+ var fieldSql = (_v$atoms = v.atoms) !== null && _v$atoms !== void 0 && _v$atoms.length ? _handleBaseType2Sql8(v.atoms, db).sql.trim() || v.sql : v.sql || "".concat(v.alias, ".").concat(v.realName || v.name);
616
626
  queryColumns.push({
617
627
  field_sql: "".concat(fieldSql, " as ").concat(v.fieldAlias),
618
628
  read_name: '',
@@ -630,8 +640,8 @@ var _handleNesting = function handleNesting(data) {
630
640
  }
631
641
  if (sortData && sortData.sort.length) {
632
642
  obj.orderInfos = "ORDER BY ".concat(sortData.sort.map(function (v) {
633
- var _handleBaseType2Sql1 = _handleBaseType2Sql7(v.expression, db),
634
- sql = _handleBaseType2Sql1.sql;
643
+ var _handleBaseType2Sql10 = _handleBaseType2Sql8(v.expression, db),
644
+ sql = _handleBaseType2Sql10.sql;
635
645
  return "".concat(sql, " ").concat(v.sort);
636
646
  }).join(', '));
637
647
  }
package/lib/cjs/utils.js CHANGED
@@ -508,6 +508,16 @@ function splitByUnion(data) {
508
508
  return result;
509
509
  }
510
510
  var summarizeNoArgumentConditions = ['总行数', '累积行数'];
511
+ var stripSummarizeTableFields = function stripSummarizeTableFields(record) {
512
+ return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, record), {}, {
513
+ table: '',
514
+ tableId: '',
515
+ tableUuid: '',
516
+ alias: '',
517
+ datasourceId: '',
518
+ datasourceName: ''
519
+ });
520
+ };
511
521
  var createSummarizeFieldAtom = function createSummarizeFieldAtom(record) {
512
522
  if (!record.name) return null;
513
523
  return {
@@ -529,20 +539,21 @@ var createSummarizeFieldAtom = function createSummarizeFieldAtom(record) {
529
539
  var normalizeSummarizeItemForSave = function normalizeSummarizeItemForSave(record) {
530
540
  var _record$atoms;
531
541
  if ((_record$atoms = record.atoms) !== null && _record$atoms !== void 0 && _record$atoms.length || summarizeNoArgumentConditions.includes(record.condition)) {
532
- return record;
542
+ var _record$atoms2;
543
+ return (_record$atoms2 = record.atoms) !== null && _record$atoms2 !== void 0 && _record$atoms2.length ? stripSummarizeTableFields(record) : record;
533
544
  }
534
545
  var fieldAtom = createSummarizeFieldAtom(record);
535
546
  if (!fieldAtom) return record;
536
- return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, record), {}, {
547
+ return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, stripSummarizeTableFields(record)), {}, {
537
548
  atoms: [fieldAtom]
538
549
  });
539
550
  };
540
551
  var normalizeSummarizeByForSave = function normalizeSummarizeByForSave(record) {
541
- var _record$atoms2;
542
- if ((_record$atoms2 = record.atoms) !== null && _record$atoms2 !== void 0 && _record$atoms2.length) return record;
552
+ var _record$atoms3;
553
+ if ((_record$atoms3 = record.atoms) !== null && _record$atoms3 !== void 0 && _record$atoms3.length) return stripSummarizeTableFields(record);
543
554
  var fieldAtom = createSummarizeFieldAtom(record);
544
555
  if (!fieldAtom) return record;
545
- return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, record), {}, {
556
+ return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, stripSummarizeTableFields(record)), {}, {
546
557
  atoms: [fieldAtom]
547
558
  });
548
559
  };
@@ -18,6 +18,7 @@ import { AtomsTypeEnum, FormulaTypeEnum } from '../../../store/types';
18
18
  import { Select, Button } from '@gingkoo/pandora';
19
19
  import cloneDeep from 'lodash/cloneDeep';
20
20
  import { useStore } from '../../../hooks/use-provider';
21
+ import { getTopLayerZIndex } from '../../../utils/helper-dom';
21
22
  var VisualBox = Styled.div.attrs({
22
23
  className: 'visual-box'
23
24
  })(_templateObject || (_templateObject = _taggedTemplateLiteral([""])));
@@ -138,7 +139,10 @@ var CaseEditor = React.forwardRef(function (props, ref) {
138
139
  message: '公式丢失',
139
140
  children: _jsx(Select, {
140
141
  triggerProps: {
141
- clickToClose: true
142
+ clickToClose: true,
143
+ style: {
144
+ zIndex: getTopLayerZIndex() + 1
145
+ }
142
146
  },
143
147
  value: fun.id || fun.name,
144
148
  triggerElement: function triggerElement(value) {
@@ -1092,7 +1092,9 @@ var FormulaList = forwardRef(function (props, ref) {
1092
1092
  }
1093
1093
  var showFunction = function showFunction(e, i) {
1094
1094
  var _value = caseList[i];
1095
- var o = Modal2.openModal({
1095
+ var childModalZIndex = getTopLayerZIndex() + 1;
1096
+ var o = openChildModal({
1097
+ zIndex: childModalZIndex,
1096
1098
  title: __('customColumn.formula'),
1097
1099
  transparentMask: true,
1098
1100
  content: _jsx(_Fragment, {
@@ -1,8 +1,11 @@
1
1
  import './index.less';
2
- import { DataType, ColumnType } from '../select-join-column';
2
+ import { DataType, ColumnType } from '../select-column-multiple';
3
3
  import { AtomsItem } from '../../../store/types';
4
4
  export type ValueType = Partial<ColumnType> & {
5
5
  name_zh?: string;
6
+ table?: string;
7
+ tableId?: string;
8
+ tableUuid?: string;
6
9
  condition: string;
7
10
  quotes: string;
8
11
  atoms?: AtomsItem[];
@@ -164,8 +164,9 @@ var GroupBy = function GroupBy(props) {
164
164
  if (ExistAboveGroupBy) {
165
165
  var _prevGroupBy$group, _prevGroupBy$by;
166
166
  var _data = {
167
- table: prevGroupBy.alias,
168
- tableId: prevGroupBy.alias,
167
+ name: prevGroupBy.alias,
168
+ id: prevGroupBy.alias,
169
+ name_zh: prevGroupBy.alias,
169
170
  tableUuid: prevGroupBy.tableUuid || uuidv4('table'),
170
171
  alias: prevGroupBy.alias,
171
172
  columns: []
@@ -207,10 +208,11 @@ var GroupBy = function GroupBy(props) {
207
208
  if (joinData.length) {
208
209
  data = data.concat(joinData.map(function (v) {
209
210
  return {
211
+ name: v.table2.name,
212
+ id: v.table2.id,
213
+ name_zh: v.table2.name_zh || v.table2.name,
210
214
  alias: v.table2.alias,
211
215
  tableUuid: v.table2.tableUuid,
212
- tableId: v.table2.id,
213
- table: v.table2.name,
214
216
  datasourceId: v.table2.datasourceId,
215
217
  datasourceName: v.table2.datasourceName,
216
218
  columns: v.columns
@@ -221,19 +223,21 @@ var GroupBy = function GroupBy(props) {
221
223
  data = store.metaList[groupIndex].list.slice(0, index).map(function (v) {
222
224
  if (v.type === TypeEnum.data) {
223
225
  return {
226
+ name: v.table.name,
227
+ id: v.table.id,
228
+ name_zh: v.table.name_zh || v.table.name,
224
229
  alias: v.table.alias,
225
- table: v.table.name,
226
230
  tableUuid: v.table.tableUuid,
227
- tableId: v.table.id,
228
231
  datasourceId: v.table.datasourceId,
229
232
  datasourceName: v.table.datasourceName,
230
233
  columns: v.columns
231
234
  };
232
235
  } else if (v.type === TypeEnum.joinData) {
233
236
  return {
237
+ name: v.table2.name,
238
+ id: v.table2.id,
239
+ name_zh: v.table2.name_zh || v.table2.name,
234
240
  alias: v.table2.alias,
235
- table: v.table2.name,
236
- tableId: v.table2.id,
237
241
  tableUuid: v.table2.tableUuid,
238
242
  datasourceId: v.table2.datasourceId,
239
243
  datasourceName: v.table2.datasourceName,
@@ -241,11 +245,16 @@ var GroupBy = function GroupBy(props) {
241
245
  };
242
246
  } else {
243
247
  return {
244
- table: null
248
+ name: '',
249
+ id: '',
250
+ name_zh: '',
251
+ alias: '',
252
+ tableUuid: '',
253
+ columns: []
245
254
  };
246
255
  }
247
256
  }).filter(function (v) {
248
- return v.table;
257
+ return Boolean(v.name);
249
258
  });
250
259
  }
251
260
  return data;
@@ -372,9 +381,7 @@ var GroupBy = function GroupBy(props) {
372
381
  var _getColumns = function _getColumns() {
373
382
  return getColumns().map(function (v) {
374
383
  return _objectSpread(_objectSpread({}, v), {}, {
375
- name: v.table,
376
- id: v.tableId,
377
- name_zh: '',
384
+ name_zh: v.name_zh || '',
378
385
  tableUuid: v.tableUuid,
379
386
  alias: v.alias,
380
387
  datasourceName: '',
@@ -36,8 +36,9 @@ var SelectIndex = function SelectIndex(props) {
36
36
  if (ExistAboveGroupBy) {
37
37
  var _prevGroupBy$group, _prevGroupBy$by;
38
38
  var _data = {
39
- table: prevGroupBy.alias,
40
- tableId: prevGroupBy.alias,
39
+ name: prevGroupBy.alias,
40
+ id: prevGroupBy.alias,
41
+ name_zh: prevGroupBy.alias,
41
42
  tableUuid: prevGroupBy.tableUuid || uuidv4('table'),
42
43
  alias: prevGroupBy.alias,
43
44
  columns: []
@@ -83,10 +84,11 @@ var SelectIndex = function SelectIndex(props) {
83
84
  if (joinData.length) {
84
85
  data = data.concat(joinData.map(function (v) {
85
86
  return {
87
+ name: v.table2.name,
88
+ id: v.table2.id,
89
+ name_zh: v.table2.name_zh || v.table2.name,
86
90
  alias: v.table2.alias,
87
- table: v.table2.name,
88
91
  tableUuid: v.table2.tableUuid,
89
- tableId: v.table2.id,
90
92
  columns: v.columns
91
93
  };
92
94
  }));
@@ -95,27 +97,34 @@ var SelectIndex = function SelectIndex(props) {
95
97
  data = store.metaList[groupIndex].list.slice(0, index).map(function (v) {
96
98
  if (v.type === TypeEnum.data) {
97
99
  return {
100
+ name: v.table.name,
101
+ id: v.table.id,
102
+ name_zh: v.table.name_zh || v.table.name,
98
103
  alias: v.table.alias,
99
- table: v.table.name,
100
104
  tableUuid: v.table.tableUuid,
101
- tableId: v.table.id,
102
105
  columns: v.columns
103
106
  };
104
107
  } else if (v.type === TypeEnum.joinData) {
105
108
  return {
109
+ name: v.table2.name,
110
+ id: v.table2.id,
111
+ name_zh: v.table2.name_zh || v.table2.name,
106
112
  alias: v.table2.alias,
107
- table: v.table2.name,
108
113
  tableUuid: v.table2.tableUuid,
109
- tableId: v.table2.id,
110
114
  columns: v.columns
111
115
  };
112
116
  } else {
113
117
  return {
114
- table: null
118
+ name: '',
119
+ id: '',
120
+ name_zh: '',
121
+ alias: '',
122
+ tableUuid: '',
123
+ columns: []
115
124
  };
116
125
  }
117
126
  }).filter(function (v) {
118
- return v.table;
127
+ return Boolean(v.name);
119
128
  });
120
129
  }
121
130
  return data;
@@ -265,9 +274,7 @@ var SelectIndex = function SelectIndex(props) {
265
274
  var _getColumns = function _getColumns() {
266
275
  return getColumns().map(function (v) {
267
276
  return _objectSpread(_objectSpread({}, v), {}, {
268
- name: v.table,
269
- id: v.tableId,
270
- name_zh: '',
277
+ name_zh: v.name_zh || '',
271
278
  tableUuid: v.tableUuid,
272
279
  alias: v.alias,
273
280
  datasourceName: '',
@@ -65,7 +65,7 @@ var _recursionArr2 = function _recursionArr(arr) {
65
65
  }
66
66
  return obj;
67
67
  };
68
- var _handleBaseType2Sql7 = function handleBaseType2Sql(list) {
68
+ var _handleBaseType2Sql8 = function handleBaseType2Sql(list) {
69
69
  var db = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : procEnum.mysql;
70
70
  var sql = '';
71
71
  var constants = [];
@@ -127,11 +127,11 @@ var _handleBaseType2Sql7 = function handleBaseType2Sql(list) {
127
127
  if (type === BlockTypeEnum.joinDefault) {
128
128
  var lhs = item.lhs,
129
129
  rhs = item.rhs;
130
- var _handleBaseType2Sql = _handleBaseType2Sql7(lhs, db),
130
+ var _handleBaseType2Sql = _handleBaseType2Sql8(lhs, db),
131
131
  leftSql = _handleBaseType2Sql.sql,
132
132
  leftSqlItems = _handleBaseType2Sql.sql_items,
133
133
  joinDefaultLeftConstants = _handleBaseType2Sql.constants;
134
- var _handleBaseType2Sql2 = _handleBaseType2Sql7(rhs, db),
134
+ var _handleBaseType2Sql2 = _handleBaseType2Sql8(rhs, db),
135
135
  rightSql = _handleBaseType2Sql2.sql,
136
136
  rightSqlItems = _handleBaseType2Sql2.sql_items,
137
137
  joinDefaultRightConstants = _handleBaseType2Sql2.constants;
@@ -169,11 +169,11 @@ var _handleBaseType2Sql7 = function handleBaseType2Sql(list) {
169
169
  condition = item.condition,
170
170
  database_type = item.database_type,
171
171
  formula = item.formula;
172
- var _handleBaseType2Sql3 = _handleBaseType2Sql7(_lhs, db),
172
+ var _handleBaseType2Sql3 = _handleBaseType2Sql8(_lhs, db),
173
173
  _leftSql = _handleBaseType2Sql3.sql,
174
174
  _leftSqlItems = _handleBaseType2Sql3.sql_items,
175
175
  _joinDefaultLeftConstants = _handleBaseType2Sql3.constants;
176
- var _handleBaseType2Sql4 = _handleBaseType2Sql7(_rhs, db),
176
+ var _handleBaseType2Sql4 = _handleBaseType2Sql8(_rhs, db),
177
177
  _rightSql = _handleBaseType2Sql4.sql,
178
178
  _rightSqlItems = _handleBaseType2Sql4.sql_items,
179
179
  _joinDefaultRightConstants = _handleBaseType2Sql4.constants;
@@ -443,16 +443,26 @@ var _handleBaseType2Sql7 = function handleBaseType2Sql(list) {
443
443
  }
444
444
  }
445
445
  if (type === BlockTypeEnum.FORMULA) {
446
- var _handleBaseType2Sql5 = _handleBaseType2Sql7(item.args, db),
447
- argSql = _handleBaseType2Sql5.sql,
448
- formulaConstants = _handleBaseType2Sql5.constants;
449
- sql += " ".concat(item.name, "(").concat(argSql, ")");
450
- constants.push.apply(constants, _toConsumableArray(formulaConstants));
446
+ var argSqlList = (Array.isArray(item.args) ? item.args : []).map(function (arg) {
447
+ if ((arg === null || arg === void 0 ? void 0 : arg.type) === BlockTypeEnum.collection) {
448
+ var _handleBaseType2Sql5 = _handleBaseType2Sql8(arg.list, db),
449
+ collectionSql = _handleBaseType2Sql5.sql,
450
+ collectionConstants = _handleBaseType2Sql5.constants;
451
+ constants.push.apply(constants, _toConsumableArray(collectionConstants));
452
+ return collectionSql.trim();
453
+ }
454
+ var _handleBaseType2Sql6 = _handleBaseType2Sql8([arg], db),
455
+ nestedSql = _handleBaseType2Sql6.sql,
456
+ nestedConstants = _handleBaseType2Sql6.constants;
457
+ constants.push.apply(constants, _toConsumableArray(nestedConstants));
458
+ return nestedSql.trim();
459
+ }).filter(Boolean);
460
+ sql += " ".concat(item.name, "(").concat(argSqlList.join(', '), ")");
451
461
  }
452
462
  if (type === BlockTypeEnum.collection) {
453
- var _handleBaseType2Sql6 = _handleBaseType2Sql7(item.list, db),
454
- collectionSql = _handleBaseType2Sql6.sql,
455
- collectionConstants = _handleBaseType2Sql6.constants;
463
+ var _handleBaseType2Sql7 = _handleBaseType2Sql8(item.list, db),
464
+ collectionSql = _handleBaseType2Sql7.sql,
465
+ collectionConstants = _handleBaseType2Sql7.constants;
456
466
  sql += " ".concat(collectionSql);
457
467
  constants.push.apply(constants, _toConsumableArray(collectionConstants));
458
468
  }
@@ -463,7 +473,7 @@ var _handleBaseType2Sql7 = function handleBaseType2Sql(list) {
463
473
  constants: constants
464
474
  };
465
475
  };
466
- export { _handleBaseType2Sql7 as handleBaseType2Sql };
476
+ export { _handleBaseType2Sql8 as handleBaseType2Sql };
467
477
  var _handleJoinData = function _handleJoinData(joinData) {
468
478
  var db = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : procEnum.mysql;
469
479
  var constants = [];
@@ -477,9 +487,9 @@ var _handleJoinData = function _handleJoinData(joinData) {
477
487
  if (isSubquery) {
478
488
  subQuery = subquery;
479
489
  }
480
- var _handleBaseType2Sql8 = _handleBaseType2Sql7(expressions, db),
481
- sql = _handleBaseType2Sql8.sql,
482
- joinConstants = _handleBaseType2Sql8.constants;
490
+ var _handleBaseType2Sql9 = _handleBaseType2Sql8(expressions, db),
491
+ sql = _handleBaseType2Sql9.sql,
492
+ joinConstants = _handleBaseType2Sql9.constants;
483
493
  var joinCondition = "on ".concat(sql);
484
494
  constants = joinConstants;
485
495
  return {
@@ -562,9 +572,9 @@ var _handleNesting = function handleNesting(data) {
562
572
  var customColumnsConstants = [];
563
573
  var handleCustomColumn = function handleCustomColumn(data) {
564
574
  return data.map(function (it) {
565
- var _handleBaseType2Sql9 = _handleBaseType2Sql7(it.formulaList, db),
566
- field_sql = _handleBaseType2Sql9.sql,
567
- constants = _handleBaseType2Sql9.constants;
575
+ var _handleBaseType2Sql0 = _handleBaseType2Sql8(it.formulaList, db),
576
+ field_sql = _handleBaseType2Sql0.sql,
577
+ constants = _handleBaseType2Sql0.constants;
568
578
  customColumnsConstants.push.apply(customColumnsConstants, _toConsumableArray(constants));
569
579
  return {
570
580
  field_sql: "".concat(field_sql, " as ").concat(it.name),
@@ -579,9 +589,9 @@ var _handleNesting = function handleNesting(data) {
579
589
  obj.customColumnsConstants = customColumnsConstants;
580
590
  }
581
591
  if (filterData && filterData.filter.length) {
582
- var _handleBaseType2Sql0 = _handleBaseType2Sql7(filterData.filter, db),
583
- sql = _handleBaseType2Sql0.sql,
584
- constants = _handleBaseType2Sql0.constants;
592
+ var _handleBaseType2Sql1 = _handleBaseType2Sql8(filterData.filter, db),
593
+ sql = _handleBaseType2Sql1.sql,
594
+ constants = _handleBaseType2Sql1.constants;
585
595
  obj.filters = 'WHERE ' + sql;
586
596
  obj.filtersConstants = constants;
587
597
  }
@@ -606,7 +616,7 @@ var _handleNesting = function handleNesting(data) {
606
616
  if (summarize.by.length) {
607
617
  obj.groupBy.groupColumns = summarize.by.map(function (v) {
608
618
  var _v$atoms;
609
- var fieldSql = (_v$atoms = v.atoms) !== null && _v$atoms !== void 0 && _v$atoms.length ? _handleBaseType2Sql7(v.atoms, db).sql.trim() || v.sql : v.sql || "".concat(v.alias, ".").concat(v.realName || v.name);
619
+ var fieldSql = (_v$atoms = v.atoms) !== null && _v$atoms !== void 0 && _v$atoms.length ? _handleBaseType2Sql8(v.atoms, db).sql.trim() || v.sql : v.sql || "".concat(v.alias, ".").concat(v.realName || v.name);
610
620
  queryColumns.push({
611
621
  field_sql: "".concat(fieldSql, " as ").concat(v.fieldAlias),
612
622
  read_name: '',
@@ -624,8 +634,8 @@ var _handleNesting = function handleNesting(data) {
624
634
  }
625
635
  if (sortData && sortData.sort.length) {
626
636
  obj.orderInfos = "ORDER BY ".concat(sortData.sort.map(function (v) {
627
- var _handleBaseType2Sql1 = _handleBaseType2Sql7(v.expression, db),
628
- sql = _handleBaseType2Sql1.sql;
637
+ var _handleBaseType2Sql10 = _handleBaseType2Sql8(v.expression, db),
638
+ sql = _handleBaseType2Sql10.sql;
629
639
  return "".concat(sql, " ").concat(v.sort);
630
640
  }).join(', '));
631
641
  }
package/lib/es/utils.js CHANGED
@@ -495,6 +495,16 @@ export function splitByUnion(data) {
495
495
  return result;
496
496
  }
497
497
  var summarizeNoArgumentConditions = ['总行数', '累积行数'];
498
+ var stripSummarizeTableFields = function stripSummarizeTableFields(record) {
499
+ return _objectSpread(_objectSpread({}, record), {}, {
500
+ table: '',
501
+ tableId: '',
502
+ tableUuid: '',
503
+ alias: '',
504
+ datasourceId: '',
505
+ datasourceName: ''
506
+ });
507
+ };
498
508
  var createSummarizeFieldAtom = function createSummarizeFieldAtom(record) {
499
509
  if (!record.name) return null;
500
510
  return {
@@ -516,20 +526,21 @@ var createSummarizeFieldAtom = function createSummarizeFieldAtom(record) {
516
526
  var normalizeSummarizeItemForSave = function normalizeSummarizeItemForSave(record) {
517
527
  var _record$atoms;
518
528
  if ((_record$atoms = record.atoms) !== null && _record$atoms !== void 0 && _record$atoms.length || summarizeNoArgumentConditions.includes(record.condition)) {
519
- return record;
529
+ var _record$atoms2;
530
+ return (_record$atoms2 = record.atoms) !== null && _record$atoms2 !== void 0 && _record$atoms2.length ? stripSummarizeTableFields(record) : record;
520
531
  }
521
532
  var fieldAtom = createSummarizeFieldAtom(record);
522
533
  if (!fieldAtom) return record;
523
- return _objectSpread(_objectSpread({}, record), {}, {
534
+ return _objectSpread(_objectSpread({}, stripSummarizeTableFields(record)), {}, {
524
535
  atoms: [fieldAtom]
525
536
  });
526
537
  };
527
538
  var normalizeSummarizeByForSave = function normalizeSummarizeByForSave(record) {
528
- var _record$atoms2;
529
- if ((_record$atoms2 = record.atoms) !== null && _record$atoms2 !== void 0 && _record$atoms2.length) return record;
539
+ var _record$atoms3;
540
+ if ((_record$atoms3 = record.atoms) !== null && _record$atoms3 !== void 0 && _record$atoms3.length) return stripSummarizeTableFields(record);
530
541
  var fieldAtom = createSummarizeFieldAtom(record);
531
542
  if (!fieldAtom) return record;
532
- return _objectSpread(_objectSpread({}, record), {}, {
543
+ return _objectSpread(_objectSpread({}, stripSummarizeTableFields(record)), {}, {
533
544
  atoms: [fieldAtom]
534
545
  });
535
546
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gingkoo/pandora-metabase",
3
- "version": "1.0.119",
3
+ "version": "1.0.120",
4
4
  "description": "",
5
5
  "main": "lib/es/index.js",
6
6
  "module": "lib/es/index.js",