@gingkoo/pandora-metabase 1.0.55 → 1.0.56

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.
@@ -15,6 +15,7 @@ var _react = require("react");
15
15
  var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
16
16
  var _classnames = _interopRequireDefault(require("classnames"));
17
17
  var _pandora = require("@gingkoo/pandora");
18
+ var _types = require("../../../store/types");
18
19
  var _locale = require("../../../locale");
19
20
  var _icons = require("../../icons");
20
21
  var _useProvider = require("../../../hooks/use-provider");
@@ -123,7 +124,10 @@ var SelectColumn = function SelectColumn(_ref) {
123
124
  newColumns[i].fieldAlias = fieldAlias;
124
125
  newColumns[i].fieldUuid = newColumns[i].fieldUuid || (0, _helper.uuidv4)('field');
125
126
  newMetaList = (0, _utils.changeFieldAlias)(newMetaList, newColumns[i]);
126
- store.setMeta(newMetaList, groupIndex);
127
+ store.setMeta(newMetaList, groupIndex, {
128
+ obj: newColumns[i],
129
+ type: _types.ChangeType.fieldAlias
130
+ });
127
131
  onSelect(newColumns);
128
132
  setTimeout(function () {
129
133
  store.setClosable(true);
@@ -16,6 +16,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
16
16
  var _locale = require("../../locale");
17
17
  var _utils = require("../../utils");
18
18
  var _helper = require("../../utils/helper");
19
+ var _types = require("../../store/types");
19
20
  var _enum = require("../../store/enum");
20
21
  var _customEditor = _interopRequireDefault(require("../../components/dialog/custom-editor"));
21
22
  var _icons = require("../icons");
@@ -99,7 +100,10 @@ var CustomColumn = function CustomColumn(props) {
99
100
  // if(data.name !== value.name){
100
101
  // newMeta = newMeta.filter((v: MetaListType, _i: number)=> _i<=index)
101
102
  // }
102
- store.setMeta(newMeta, groupIndex);
103
+ store.setMeta(newMeta, groupIndex, {
104
+ obj: data,
105
+ type: _types.ChangeType.customColumn
106
+ });
103
107
  closePopup();
104
108
  },
105
109
  onClose: closePopup
@@ -250,7 +254,10 @@ var CustomColumn = function CustomColumn(props) {
250
254
  } else {
251
255
  newMeta[index].customColumn[i] = data;
252
256
  }
253
- store.setMeta(newMeta, groupIndex);
257
+ store.setMeta(newMeta, groupIndex, {
258
+ obj: data,
259
+ type: _types.ChangeType.customColumn
260
+ });
254
261
  try {
255
262
  o.close();
256
263
  } catch (e) {
@@ -278,7 +285,10 @@ var CustomColumn = function CustomColumn(props) {
278
285
  meta: meta,
279
286
  onChange: function onChange(data) {
280
287
  newMeta[index].customColumn.push(data);
281
- store.setMeta(newMeta, groupIndex);
288
+ store.setMeta(newMeta, groupIndex, {
289
+ obj: data,
290
+ type: _types.ChangeType.customColumn
291
+ });
282
292
  closePopup();
283
293
  },
284
294
  onClose: closePopup
@@ -14,6 +14,7 @@ var _helper = require("../../utils/helper");
14
14
  var _utils = require("../../utils");
15
15
  var _enum = require("../../store/enum");
16
16
  var _formulaList = _interopRequireDefault(require("../dialog/formula-list"));
17
+ var _types = require("../../store/types");
17
18
  var _Wrapper = _interopRequireDefault(require("./components/Wrapper"));
18
19
  var _metaIcon = _interopRequireDefault(require("./components/meta-icon"));
19
20
  var _header = _interopRequireDefault(require("./components/header"));
@@ -148,7 +149,10 @@ var Filter = function Filter(props) {
148
149
  var selectFilter = function selectFilter(val) {
149
150
  var newMeta = store.metaList[groupIndex].list.slice();
150
151
  newMeta[index].filter = val;
151
- store.setMeta(newMeta, groupIndex);
152
+ store.setMeta(newMeta, groupIndex, {
153
+ obj: val,
154
+ type: _types.ChangeType.formula
155
+ });
152
156
  };
153
157
  var getPreColumns = function getPreColumns() {
154
158
  var data = [].concat((0, _toConsumableArray2["default"])(getColumns()), (0, _toConsumableArray2["default"])((0, _cloneDeep["default"])(notExistsColumns || [])));
@@ -382,7 +382,10 @@ var JoinData = function JoinData(props) {
382
382
  onChange: function onChange(data) {
383
383
  var newMetaList = store.metaList[groupIndex].list.slice();
384
384
  newMetaList[index].columns = data;
385
- store.setMeta(newMetaList, groupIndex);
385
+ store.setMeta(newMetaList, groupIndex, {
386
+ obj: data,
387
+ type: _types.ChangeType.field
388
+ });
386
389
  }
387
390
  })
388
391
  });
@@ -491,7 +494,7 @@ var JoinData = function JoinData(props) {
491
494
  }, []);
492
495
  }
493
496
  // // 过滤为table1选中的表
494
- var newMeta = store.metaList[groupIndex].list.slice();
497
+ var newMeta = (0, _cloneDeep["default"])(store.metaList[groupIndex].list);
495
498
  // if (((newMeta[index] as MetaJoin)[FlagLocation.TABLE_1] as MetaJoin_TalbeType).name) {
496
499
  // data = data.filter((v) => {
497
500
  // return (
@@ -518,8 +521,11 @@ var JoinData = function JoinData(props) {
518
521
  // }
519
522
  // }
520
523
  newMeta[index][table_type] = data;
521
- initExpressions();
522
- store.setMeta(newMeta, groupIndex);
524
+ initExpressions(newMeta);
525
+ store.setMeta(newMeta, groupIndex, {
526
+ obj: data,
527
+ type: _types.ChangeType[table_type]
528
+ });
523
529
  store.setPopup({
524
530
  visible: false
525
531
  });
@@ -547,7 +553,7 @@ var JoinData = function JoinData(props) {
547
553
  var tableName = data.name;
548
554
  if (meta.table2.name !== tableName || meta.table2.datasourceId !== data.datasourceId) {
549
555
  var _store$preProps;
550
- var newMeta = store.metaList[groupIndex].list.slice();
556
+ var newMeta = (0, _cloneDeep["default"])(store.metaList[groupIndex].list);
551
557
  var alias = (0, _helper.getAlias)(tableName, newMeta, ((_store$preProps = store.preProps) === null || _store$preProps === void 0 ? void 0 : _store$preProps.notExistsColumns) || []);
552
558
  var _table2 = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, data), {}, {
553
559
  name: tableName,
@@ -560,12 +566,15 @@ var JoinData = function JoinData(props) {
560
566
  datasourceName: data.datasourceName
561
567
  });
562
568
  newMeta[index].table2 = _table2;
563
- initExpressions();
569
+ initExpressions(newMeta);
564
570
  store.fetchColumns(_table2, data.datasourceId, [], function (columns) {
565
571
  newMeta[index].columns = columns;
566
572
  // 关联表变了 下面模块全部删除
567
573
  // newMeta = newMeta.filter((v: MetaListType, i: number) => i <= index);
568
- // store.setMeta(newMeta, groupIndex);
574
+ store.setMeta(newMeta, groupIndex, {
575
+ obj: data,
576
+ type: _types.ChangeType.table2
577
+ });
569
578
  });
570
579
  }
571
580
  setIsDel(false);
@@ -577,8 +586,8 @@ var JoinData = function JoinData(props) {
577
586
  });
578
587
  }
579
588
  // 切换表后重置数据
580
- function initExpressions() {
581
- var newMeta = store.metaList[groupIndex].list.slice();
589
+ function initExpressions(newMeta) {
590
+ // let newMeta: MetaListType[] = store.metaList[groupIndex].list.slice();
582
591
  if (newMeta[index].expressions && newMeta[index].expressions.length > 0) {
583
592
  return;
584
593
  }
@@ -660,7 +669,10 @@ var JoinData = function JoinData(props) {
660
669
  onChange: function onChange(type) {
661
670
  var newMeta = store.metaList[groupIndex].list.slice();
662
671
  newMeta[index].joinType = type;
663
- store.setMeta(newMeta, groupIndex);
672
+ store.setMeta(newMeta, groupIndex, {
673
+ obj: type,
674
+ type: _types.ChangeType.joinType
675
+ });
664
676
  store.setPopup({
665
677
  visible: false
666
678
  });
@@ -946,7 +958,10 @@ var JoinData = function JoinData(props) {
946
958
  // _ind2
947
959
  // ] as AtomsField
948
960
  // ).quotes = quotes;
949
- store.setMeta(newMeta, groupIndex);
961
+ store.setMeta(newMeta, groupIndex, {
962
+ obj: fields,
963
+ type: _types.ChangeType[_position]
964
+ });
950
965
  }
951
966
  })
952
967
  });
@@ -971,7 +986,10 @@ var JoinData = function JoinData(props) {
971
986
  var index = (0, _utils.findIndex)(store.metaList[groupIndex].list, meta);
972
987
  var newMeta = store.metaList[groupIndex].list.slice();
973
988
  newMeta[index].expressions[_ind][_position][_ind2].val = curObj.value;
974
- store.setMeta(newMeta, groupIndex);
989
+ store.setMeta(newMeta, groupIndex, {
990
+ obj: val,
991
+ type: _types.ChangeType[_position]
992
+ });
975
993
  }
976
994
  })
977
995
  });
@@ -1077,7 +1095,7 @@ var JoinData = function JoinData(props) {
1077
1095
  isExit = _store$preProps2.isExit,
1078
1096
  toolbar = _store$preProps2.toolbar,
1079
1097
  other = (0, _objectWithoutProperties2["default"])(_store$preProps2, _excluded);
1080
- var newMeta = store.metaList[groupIndex].list.slice();
1098
+ var newMeta = (0, _cloneDeep["default"])(store.metaList[groupIndex].list);
1081
1099
  var index = (0, _utils.findIndex)(store.metaList[groupIndex].list, meta);
1082
1100
  var oldList = (0, _cloneDeep["default"])(newMeta[index].subquery);
1083
1101
  var _toolbar = subToolbar || toolbar;
@@ -1125,10 +1143,13 @@ var JoinData = function JoinData(props) {
1125
1143
  return _column;
1126
1144
  });
1127
1145
  // (newMeta[index] as MetaJoin).columns = newColumns;
1128
- initExpressions();
1146
+ initExpressions(newMeta);
1129
1147
  // 关联表变了 下面模块全部删除
1130
1148
  // newMeta = newMeta.filter((v: MetaListType, i: number) => i <= index);
1131
- store.setMeta(newMeta, groupIndex);
1149
+ store.setMeta(newMeta, groupIndex, {
1150
+ obj: newList,
1151
+ type: _types.ChangeType.subQuery
1152
+ });
1132
1153
  o.close();
1133
1154
  } catch (e) {
1134
1155
  console.warn(e);
@@ -1189,7 +1210,10 @@ var JoinData = function JoinData(props) {
1189
1210
  newMeta = store.metaList[groupIndex].list.slice();
1190
1211
  newMeta[index].table2.alias = alias;
1191
1212
  newMeta = (0, _utils.changeTableAlias)(newMeta, newMeta[index].table2);
1192
- store.setMeta(newMeta, groupIndex);
1213
+ store.setMeta(newMeta, groupIndex, {
1214
+ obj: newMeta[index].table2,
1215
+ type: _types.ChangeType.tableAlias
1216
+ });
1193
1217
  case 2:
1194
1218
  case "end":
1195
1219
  return _context2.stop();
@@ -1225,7 +1249,10 @@ var JoinData = function JoinData(props) {
1225
1249
  value: value,
1226
1250
  onChange: function onChange(data) {
1227
1251
  newMeta[index].expressions.splice(i, 1, data);
1228
- store.setMeta(newMeta, groupIndex);
1252
+ store.setMeta(newMeta, groupIndex, {
1253
+ obj: newMeta[index].expressions,
1254
+ type: _types.ChangeType.expressions
1255
+ });
1229
1256
  closePopup();
1230
1257
  }
1231
1258
  })
@@ -1538,7 +1565,7 @@ var JoinData = function JoinData(props) {
1538
1565
  // }}
1539
1566
  // ></Button>
1540
1567
  // </Tooltip>
1541
- , subQuerySelected ? "".concat(((_meta$subquery2 = meta.subquery) === null || _meta$subquery2 === void 0 ? void 0 : _meta$subquery2[0]).table.datasourceName, ".").concat(((_meta$subquery3 = meta.subquery) === null || _meta$subquery3 === void 0 ? void 0 : _meta$subquery3[0]).table.name, " ").concat((_meta$table5 = meta.table2) !== null && _meta$table5 !== void 0 && _meta$table5.alias ? "as ".concat((_meta$table6 = meta.table2) === null || _meta$table6 === void 0 ? void 0 : _meta$table6.alias) : '', " ") : (0, _locale.__)('SqlQueryBuilder.setSubQuery')]
1568
+ , subQuerySelected ? "".concat(((_meta$subquery2 = meta.subquery) === null || _meta$subquery2 === void 0 ? void 0 : _meta$subquery2[0]).table.datasourceName, ".").concat(((_meta$subquery3 = meta.subquery) === null || _meta$subquery3 === void 0 ? void 0 : _meta$subquery3[0]).table.name, " ").concat((_meta$table5 = meta.table2) !== null && _meta$table5 !== void 0 && _meta$table5.alias && store.tableEnableAlias ? "as ".concat((_meta$table6 = meta.table2) === null || _meta$table6 === void 0 ? void 0 : _meta$table6.alias) : '', " ") : (0, _locale.__)('SqlQueryBuilder.setSubQuery')]
1542
1569
  }) : (0, _jsxRuntime.jsxs)("div", {
1543
1570
  className: (0, _classnames["default"])("Sqb-TableName", {
1544
1571
  notSelected: !table2Selected
@@ -1612,7 +1639,7 @@ var JoinData = function JoinData(props) {
1612
1639
  // }}
1613
1640
  // ></Button>
1614
1641
  // </Tooltip>
1615
- , table2Selected ? "".concat(meta.table2.datasourceName, ".").concat(meta.table2.name, " ").concat((_meta$table8 = meta.table2) !== null && _meta$table8 !== void 0 && _meta$table8.alias ? "as ".concat((_meta$table9 = meta.table2) === null || _meta$table9 === void 0 ? void 0 : _meta$table9.alias) : '') : (0, _locale.__)('SqlQueryBuilder.pickTable')]
1642
+ , table2Selected ? "".concat(meta.table2.datasourceName, ".").concat(meta.table2.name, " ").concat((_meta$table8 = meta.table2) !== null && _meta$table8 !== void 0 && _meta$table8.alias && store.tableEnableAlias ? "as ".concat((_meta$table9 = meta.table2) === null || _meta$table9 === void 0 ? void 0 : _meta$table9.alias) : '') : (0, _locale.__)('SqlQueryBuilder.pickTable')]
1616
1643
  }), store.showSubquery && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1617
1644
  title: (0, _locale.__)('SqlQueryBuilder.switchSubQuery'),
1618
1645
  children: (0, _jsxRuntime.jsx)(_pandora.Button, {
@@ -1815,7 +1842,10 @@ var JoinData = function JoinData(props) {
1815
1842
  var newMeta = store.metaList[groupIndex].list.slice();
1816
1843
  newMeta[index].expressions[i].list = data;
1817
1844
  newMeta[index].expressions[i].quotes = _quotes;
1818
- store.setMeta(newMeta, groupIndex);
1845
+ store.setMeta(newMeta, groupIndex, {
1846
+ obj: newMeta[index].expressions,
1847
+ type: _types.ChangeType.expressions
1848
+ });
1819
1849
  }
1820
1850
  }), (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1821
1851
  title: (0, _locale.__)('SqlQueryBuilder.add'),
@@ -157,7 +157,10 @@ var GroupBy = function GroupBy(props) {
157
157
  // if (value.quotes !== data.quotes) {
158
158
  // newMeta = newMeta.filter((_: MetaListType, _i: number) => _i <= index);
159
159
  // }
160
- store.setMeta(newMeta, groupIndex);
160
+ store.setMeta(newMeta, groupIndex, {
161
+ obj: newMeta[index].by,
162
+ type: _types.ChangeType.by
163
+ });
161
164
  closePopup();
162
165
  }
163
166
  })
@@ -209,7 +212,10 @@ var GroupBy = function GroupBy(props) {
209
212
  summarizeType: _types.MetaSummarize_Enum.BY
210
213
  });
211
214
  });
212
- store.setMeta(newMeta, groupIndex);
215
+ store.setMeta(newMeta, groupIndex, {
216
+ obj: newMeta[index].by,
217
+ type: _types.ChangeType.by
218
+ });
213
219
  closePopup();
214
220
  }
215
221
  })
@@ -259,7 +265,10 @@ var GroupBy = function GroupBy(props) {
259
265
  newMeta[index].by[i].sql = newMeta[index].by[i].sql.split('AS ')[0] + "AS ".concat(fieldAlias); //修改sql
260
266
  newMeta[index].by[i].fieldAlias = fieldAlias;
261
267
  newMeta = (0, _utils.changeFieldAlias)(newMeta, newMeta[index].by[i]);
262
- store.setMeta(newMeta, groupIndex);
268
+ store.setMeta(newMeta, groupIndex, {
269
+ obj: newMeta[index].by,
270
+ type: _types.ChangeType.by
271
+ });
263
272
  case 2:
264
273
  case "end":
265
274
  return _context.stop();
@@ -158,7 +158,10 @@ var SelectIndex = function SelectIndex(props) {
158
158
  // if (value.quotes !== data.quotes) {
159
159
  // newMeta = newMeta.filter((_: MetaListType, _i: number) => _i <= index);
160
160
  // }
161
- store.setMeta(newMeta, groupIndex);
161
+ store.setMeta(newMeta, groupIndex, {
162
+ obj: newMeta[index].group,
163
+ type: _types.ChangeType.group
164
+ });
162
165
  closePopup();
163
166
  }
164
167
  })
@@ -209,7 +212,10 @@ var SelectIndex = function SelectIndex(props) {
209
212
  summarizeType: _types.MetaSummarize_Enum.GROUP
210
213
  });
211
214
  });
212
- store.setMeta(newMeta, groupIndex);
215
+ store.setMeta(newMeta, groupIndex, {
216
+ obj: newMeta[index].group,
217
+ type: _types.ChangeType.group
218
+ });
213
219
  closePopup();
214
220
  }
215
221
  })
@@ -260,7 +266,10 @@ var SelectIndex = function SelectIndex(props) {
260
266
  newMeta[index].group[i].fieldAlias = fieldAlias;
261
267
  newMeta[index].group[i].sql = newMeta[index].group[i].sql.split('AS ')[0] + "AS ".concat(fieldAlias); //修改sql
262
268
  newMeta = (0, _utils.changeFieldAlias)(newMeta, newMeta[index].group[i]);
263
- store.setMeta(newMeta, groupIndex);
269
+ store.setMeta(newMeta, groupIndex, {
270
+ obj: newMeta[index].group,
271
+ type: _types.ChangeType.group
272
+ });
264
273
  case 2:
265
274
  case "end":
266
275
  return _context.stop();
@@ -15,6 +15,7 @@ var _jsxRuntime = require("react/jsx-runtime");
15
15
  var _react = require("react");
16
16
  var _classnames = _interopRequireDefault(require("classnames"));
17
17
  var _locale = require("../../locale");
18
+ var _types = require("../../store/types");
18
19
  var _pandora = require("@gingkoo/pandora");
19
20
  var _index = _interopRequireDefault(require("../../index"));
20
21
  var _helper = require("../../utils/helper");
@@ -89,6 +90,7 @@ var TableData = function TableData(props) {
89
90
  data: store.sourceList,
90
91
  value: meta.table,
91
92
  onChange: function onChange(data) {
93
+ console.log('🚀 ~ selectTable ~ data:', data);
92
94
  if (meta.table.datasourceId !== data.datasourceId || meta.table.name !== data.name) {
93
95
  var _store$preProps;
94
96
  var newMetaList = store.metaList[groupIndex].list.slice()[0];
@@ -101,7 +103,10 @@ var TableData = function TableData(props) {
101
103
  // ① 主表动了 其他都得重新选
102
104
  var newMetas = store.metaList[groupIndex].list.slice();
103
105
  newMetas[0] = newMetaList;
104
- store.setMeta(newMetas, groupIndex);
106
+ store.setMeta(newMetas, groupIndex, {
107
+ obj: data,
108
+ type: _types.ChangeType.datasource
109
+ });
105
110
  // store.setMeta([newMetaList], groupIndex);
106
111
  });
107
112
  }
@@ -125,7 +130,10 @@ var TableData = function TableData(props) {
125
130
  var newMetaList = store.metaList[groupIndex].list.slice();
126
131
  // @ts-ignore
127
132
  newMetaList[0].columns = data;
128
- store.setMeta(newMetaList, groupIndex);
133
+ store.setMeta(newMetaList, groupIndex, {
134
+ obj: data,
135
+ type: _types.ChangeType.columns
136
+ });
129
137
  }
130
138
  })
131
139
  });
@@ -157,7 +165,10 @@ var TableData = function TableData(props) {
157
165
  newMetaList = store.metaList[groupIndex].list.slice(); // @ts-ignore
158
166
  newMetaList[0].table.alias = alias;
159
167
  newMetaList = (0, _utils.changeTableAlias)(newMetaList, newMetaList[0].table);
160
- store.setMeta(newMetaList, groupIndex);
168
+ store.setMeta(newMetaList, groupIndex, {
169
+ obj: newMetaList[0].table,
170
+ type: _types.ChangeType.tableAlias
171
+ });
161
172
  case 2:
162
173
  case "end":
163
174
  return _context2.stop();
@@ -229,7 +240,10 @@ var TableData = function TableData(props) {
229
240
  // (newMeta[index] as MetaJoin).expressions = [];
230
241
  var newMetas = store.metaList[groupIndex].list.slice();
231
242
  newMetas[0] = newMetaList;
232
- store.setMeta(newMetas, groupIndex);
243
+ store.setMeta(newMetas, groupIndex, {
244
+ obj: newList,
245
+ type: _types.ChangeType.subQuery
246
+ });
233
247
  o.close();
234
248
  } catch (e) {
235
249
  console.warn(e);
@@ -324,7 +338,7 @@ var TableData = function TableData(props) {
324
338
  })
325
339
  }) : null;
326
340
  }()
327
- }), subQuerySelected ? "".concat(((_meta$subquery2 = meta.subquery) === null || _meta$subquery2 === void 0 ? void 0 : _meta$subquery2[0]).table.datasourceName, ".").concat(((_meta$subquery3 = meta.subquery) === null || _meta$subquery3 === void 0 ? void 0 : _meta$subquery3[0]).table.name, " ").concat((_meta$table5 = meta.table) !== null && _meta$table5 !== void 0 && _meta$table5.alias ? "as ".concat((_meta$table6 = meta.table) === null || _meta$table6 === void 0 ? void 0 : _meta$table6.alias) : '', " ") : (0, _locale.__)('SqlQueryBuilder.setSubQuery')]
341
+ }), subQuerySelected ? "".concat(((_meta$subquery2 = meta.subquery) === null || _meta$subquery2 === void 0 ? void 0 : _meta$subquery2[0]).table.datasourceName, ".").concat(((_meta$subquery3 = meta.subquery) === null || _meta$subquery3 === void 0 ? void 0 : _meta$subquery3[0]).table.name, " ").concat((_meta$table5 = meta.table) !== null && _meta$table5 !== void 0 && _meta$table5.alias && store.tableEnableAlias ? "as ".concat((_meta$table6 = meta.table) === null || _meta$table6 === void 0 ? void 0 : _meta$table6.alias) : '', " ") : (0, _locale.__)('SqlQueryBuilder.setSubQuery')]
328
342
  }) : (0, _jsxRuntime.jsxs)("div", {
329
343
  className: (0, _classnames["default"])("Sqb-TableName", {
330
344
  notSelected: !selected
@@ -398,7 +412,7 @@ var TableData = function TableData(props) {
398
412
  // }}
399
413
  // ></Button>
400
414
  // </Tooltip>
401
- , selected ? "".concat(meta.table.datasourceName, ".").concat(meta.table.name, " ").concat((_meta$table8 = meta.table) !== null && _meta$table8 !== void 0 && _meta$table8.alias ? "as ".concat((_meta$table9 = meta.table) === null || _meta$table9 === void 0 ? void 0 : _meta$table9.alias) : '') : (0, _locale.__)('SqlQueryBuilder.pickTable')]
415
+ , selected ? "".concat(meta.table.datasourceName, ".").concat(meta.table.name, " ").concat((_meta$table8 = meta.table) !== null && _meta$table8 !== void 0 && _meta$table8.alias && store.tableEnableAlias ? "as ".concat((_meta$table9 = meta.table) === null || _meta$table9 === void 0 ? void 0 : _meta$table9.alias) : '') : (0, _locale.__)('SqlQueryBuilder.pickTable')]
402
416
  }), store.showSubquery && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
403
417
  title: (0, _locale.__)('SqlQueryBuilder.switchSubQuery'),
404
418
  children: (0, _jsxRuntime.jsx)(_pandora.Button, {
@@ -15,6 +15,7 @@ var _react = require("react");
15
15
  var _helper = require("../utils/helper");
16
16
  var _enum = require("../store/enum");
17
17
  var _utils = require("../utils");
18
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
18
19
  var _excluded = ["alias", "datasourceName", "datasourceId", "column"];
19
20
  var metaKey = 1;
20
21
  var SummarizeAlias = exports.SummarizeAlias = 'source';
@@ -155,6 +156,10 @@ var useStore = function useStore() {
155
156
  fetchDatasetFn.current = fn;
156
157
  };
157
158
  var fetchColumnsFn = (0, _react.useRef)();
159
+ var fetchChangeFn = (0, _react.useRef)();
160
+ var setFetchChangeFn = function setFetchChangeFn(fn) {
161
+ fetchChangeFn.current = fn;
162
+ };
158
163
  var setFetchColumnsFn = function setFetchColumnsFn(fn) {
159
164
  fetchColumnsFn.current = fn;
160
165
  };
@@ -238,6 +243,7 @@ var useStore = function useStore() {
238
243
  var _columns2;
239
244
  var oldColumns,
240
245
  callback,
246
+ isSelect,
241
247
  oldObj,
242
248
  selectId,
243
249
  _table$alias,
@@ -255,6 +261,7 @@ var useStore = function useStore() {
255
261
  case 0:
256
262
  oldColumns = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : [];
257
263
  callback = _args2.length > 3 ? _args2[3] : undefined;
264
+ isSelect = _args2.length > 4 && _args2[4] !== undefined ? _args2[4] : isSelectFields;
258
265
  // 获取之前选中的数据
259
266
  oldObj = {};
260
267
  selectId = oldColumns.filter(function (v) {
@@ -283,7 +290,7 @@ var useStore = function useStore() {
283
290
  var obj = {};
284
291
  obj = oldObj[v.id] || {};
285
292
  return (0, _objectSpread2["default"])((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, obj), v), {}, {
286
- select: isSelectFields || select,
293
+ select: isSelect || select,
287
294
  fieldUuid: obj.fieldUuid || v.fieldUuid || (0, _helper.uuidv4)('field')
288
295
  });
289
296
  });
@@ -298,14 +305,47 @@ var useStore = function useStore() {
298
305
  return _ref2.apply(this, arguments);
299
306
  };
300
307
  }();
301
- var setMeta = function setMeta(curData, groupInd) {
302
- var _metaList = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : metaList;
303
- var newMeta = _metaList.slice();
304
- if (newMeta[groupInd]) {
305
- newMeta[groupInd].list = curData;
306
- _setMeta(newMeta);
307
- }
308
- };
308
+ var setMeta = /*#__PURE__*/function () {
309
+ var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(curData, groupInd) {
310
+ var changeObj,
311
+ _metaList,
312
+ newMeta,
313
+ isChange,
314
+ _args3 = arguments;
315
+ return _regenerator["default"].wrap(function (_context3) {
316
+ while (1) switch (_context3.prev = _context3.next) {
317
+ case 0:
318
+ changeObj = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : {};
319
+ _metaList = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : metaList;
320
+ newMeta = (0, _cloneDeep["default"])(_metaList);
321
+ if (newMeta[groupInd]) {
322
+ newMeta[groupInd].list = curData;
323
+ _setMeta(newMeta);
324
+ }
325
+ // 过滤掉初始化
326
+ if (!(changeObj === 'init')) {
327
+ _context3.next = 1;
328
+ break;
329
+ }
330
+ return _context3.abrupt("return");
331
+ case 1:
332
+ _context3.next = 2;
333
+ return fetchChangeFn.current((0, _utils.splitByUnion)(_metaList), changeObj);
334
+ case 2:
335
+ isChange = _context3.sent;
336
+ if (isChange === false) {
337
+ _setMeta(_metaList);
338
+ }
339
+ case 3:
340
+ case "end":
341
+ return _context3.stop();
342
+ }
343
+ }, _callee3);
344
+ }));
345
+ return function setMeta(_x4, _x5) {
346
+ return _ref3.apply(this, arguments);
347
+ };
348
+ }();
309
349
  // 回显
310
350
  var setPreData = function setPreData(data) {
311
351
  // let patchVersion = (data?.[0]?.list?.[0] as any)?.patchVersion || '';
@@ -330,8 +370,8 @@ var useStore = function useStore() {
330
370
  } else {
331
371
  newMeta[i].columns = columns || [];
332
372
  }
333
- setMeta(newMeta, groupIndex, data);
334
- });
373
+ setMeta(newMeta, groupIndex, 'init', data);
374
+ }, false);
335
375
  return (0, _objectSpread2["default"])({}, v);
336
376
  }
337
377
  // 设置column
@@ -349,8 +389,8 @@ var useStore = function useStore() {
349
389
  // if (v.type === TypeEnum.joinData) {
350
390
  // newMeta[i] = setQuotes(newMeta[i]);
351
391
  // }
352
- setMeta(newMeta, groupIndex, data);
353
- });
392
+ setMeta(newMeta, groupIndex, 'init', data);
393
+ }, false);
354
394
  return (0, _objectSpread2["default"])({}, v);
355
395
  }
356
396
  return (0, _objectSpread2["default"])({}, v);
@@ -592,6 +632,8 @@ var useStore = function useStore() {
592
632
  fetchDatasetFn: fetchDatasetFn.current,
593
633
  setFetchDatasetFn: setFetchDatasetFn,
594
634
  fetchColumnsFn: fetchColumnsFn.current,
635
+ setFetchChangeFn: setFetchChangeFn,
636
+ fetchChangeFn: fetchChangeFn.current,
595
637
  setFetchColumnsFn: setFetchColumnsFn,
596
638
  showMainColumn: showMainColumn,
597
639
  showToolbar: showToolbar,
package/lib/cjs/index.js CHANGED
@@ -33,6 +33,7 @@ var SqlVisionBuilder = _react["default"].forwardRef(function (props, ref) {
33
33
  showFields = _props$showFields === void 0 ? true : _props$showFields,
34
34
  getTables = props.getTables,
35
35
  getColumns = props.getColumns,
36
+ onChange = props.onChange,
36
37
  _props$tableNameTpl = props.tableNameTpl,
37
38
  tableNameTpl = _props$tableNameTpl === void 0 ? '${name}' : _props$tableNameTpl,
38
39
  _props$fieldNameTpl = props.fieldNameTpl,
@@ -67,6 +68,7 @@ var SqlVisionBuilder = _react["default"].forwardRef(function (props, ref) {
67
68
  (0, _react.useEffect)(function () {
68
69
  getTables && store.setFetchDatasetFn(getTables);
69
70
  getColumns && store.setFetchColumnsFn(getColumns);
71
+ onChange && store.setFetchChangeFn(onChange);
70
72
  }, []);
71
73
  (0, _react.useEffect)(function () {
72
74
  store.setProps(props);
@@ -1,5 +1,23 @@
1
1
  import type { DatasourceType } from '../types';
2
2
  import { TypeEnum, SpecialType, JoinEnum, SQL_COLUMN_TYPE, SortEnum } from './enum';
3
+ export declare enum ChangeType {
4
+ fieldAlias = "fieldAlias",// 修改字段别名
5
+ tableAlias = "tableAlias",// 修改字段别名
6
+ customColumn = "customColumn",// 自定义列
7
+ formula = "formula",
8
+ field = "field",// 修改字段别名
9
+ expressions = "expressions",// expressions
10
+ table1 = "table1",
11
+ table2 = "table2",
12
+ joinType = "joinType",
13
+ lhs = "lhs",
14
+ rhs = "rhs",
15
+ subQuery = "subQuery",
16
+ datasource = "datasource",
17
+ columns = "columns",
18
+ by = "by",
19
+ group = "group"
20
+ }
3
21
  export declare enum AtomsTypeEnum {
4
22
  JOIN_DEFAULT = "joinDefault",// join默认
5
23
  EXISTS = "exists",// notExists
@@ -3,7 +3,27 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.MetaSummarize_Enum = exports.AtomsTypeEnum = void 0;
6
+ exports.MetaSummarize_Enum = exports.ChangeType = exports.AtomsTypeEnum = void 0;
7
+ // 修改类型
8
+ var ChangeType;
9
+ (function (ChangeType) {
10
+ ChangeType["fieldAlias"] = "fieldAlias";
11
+ ChangeType["tableAlias"] = "tableAlias";
12
+ ChangeType["customColumn"] = "customColumn";
13
+ ChangeType["formula"] = "formula";
14
+ ChangeType["field"] = "field";
15
+ ChangeType["expressions"] = "expressions";
16
+ ChangeType["table1"] = "table1";
17
+ ChangeType["table2"] = "table2";
18
+ ChangeType["joinType"] = "joinType";
19
+ ChangeType["lhs"] = "lhs";
20
+ ChangeType["rhs"] = "rhs";
21
+ ChangeType["subQuery"] = "subQuery";
22
+ ChangeType["datasource"] = "datasource";
23
+ ChangeType["columns"] = "columns";
24
+ ChangeType["by"] = "by";
25
+ ChangeType["group"] = "group";
26
+ })(ChangeType || (exports.ChangeType = ChangeType = {}));
7
27
  // 表达式类型
8
28
  var AtomsTypeEnum;
9
29
  (function (AtomsTypeEnum) {
@@ -38,6 +38,7 @@ export interface MetabaseProps {
38
38
  tableEnableAlias?: boolean;
39
39
  fieldEnableAlias?: boolean;
40
40
  isSelectFields?: boolean;
41
+ onChange?: (newData: MetaListType[], curData: any) => Promise<void | Boolean>;
41
42
  }
42
43
  export interface OptionItem {
43
44
  value?: string;
@@ -14,6 +14,7 @@ import { useEffect, useMemo, useState } from 'react';
14
14
  import cloneDeep from 'lodash/cloneDeep';
15
15
  import cx from 'classnames';
16
16
  import { Button, Modal, Input, Tooltip, Toast } from '@gingkoo/pandora';
17
+ import { ChangeType } from '../../../store/types';
17
18
  import { __ } from '../../../locale';
18
19
  import { NotSelectIcon, SelectIcon } from '../../icons';
19
20
  import { useStore } from '../../../hooks/use-provider';
@@ -116,7 +117,10 @@ var SelectColumn = function SelectColumn(_ref) {
116
117
  newColumns[i].fieldAlias = fieldAlias;
117
118
  newColumns[i].fieldUuid = newColumns[i].fieldUuid || uuidv4('field');
118
119
  newMetaList = changeFieldAlias(newMetaList, newColumns[i]);
119
- store.setMeta(newMetaList, groupIndex);
120
+ store.setMeta(newMetaList, groupIndex, {
121
+ obj: newColumns[i],
122
+ type: ChangeType.fieldAlias
123
+ });
120
124
  onSelect(newColumns);
121
125
  setTimeout(function () {
122
126
  store.setClosable(true);