@gingkoo/pandora-metabase 1.0.142 → 1.0.143-alpha.0

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.
@@ -46,10 +46,12 @@ var SelectColumn = function SelectColumn(_ref) {
46
46
  (0, _react.useEffect)(function () {
47
47
  setOriginList(function (currentList) {
48
48
  return data.map(function (item) {
49
+ var _ref2, _existingItem$fieldAl;
49
50
  var existingItem = currentList.find(function (current) {
50
51
  return (0, _helper.isSameColumnByIdFirst)(current, item);
51
52
  });
52
53
  return (0, _objectSpread2["default"])((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, existingItem || {}), item), {}, {
54
+ fieldAlias: (_ref2 = (_existingItem$fieldAl = existingItem === null || existingItem === void 0 ? void 0 : existingItem.fieldAlias) !== null && _existingItem$fieldAl !== void 0 ? _existingItem$fieldAl : item.fieldAlias) !== null && _ref2 !== void 0 ? _ref2 : '',
53
55
  fieldUuid: item.fieldUuid || (existingItem === null || existingItem === void 0 ? void 0 : existingItem.fieldUuid) || (0, _helper.uuidv4)('field')
54
56
  });
55
57
  });
@@ -88,8 +90,9 @@ var SelectColumn = function SelectColumn(_ref) {
88
90
  }
89
91
  }, [isAllSelect]);
90
92
  function onSelect(columns, newMetaList) {
93
+ var useColumnsDirectly = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
91
94
  var originalData = (0, _cloneDeep["default"])(originList);
92
- var mergedColumns = originalData.map(function (item) {
95
+ var mergedColumns = useColumnsDirectly ? (0, _cloneDeep["default"])(columns) : originalData.map(function (item) {
93
96
  var match = columns.find(function (col) {
94
97
  return (0, _helper.isSameColumnByIdFirst)(col, item);
95
98
  });
@@ -131,7 +134,7 @@ var SelectColumn = function SelectColumn(_ref) {
131
134
  obj: newColumns[i],
132
135
  type: _types.ChangeType.fieldAlias
133
136
  });
134
- onSelect(newColumns, newMetaList);
137
+ onSelect(newColumns, newMetaList, true);
135
138
  setTimeout(function () {
136
139
  store.setClosable(true);
137
140
  }, 0);
@@ -541,12 +541,14 @@ var useStore = function useStore() {
541
541
  setColumns(tableName, columns);
542
542
  case 2:
543
543
  _columns = (_columns2 = columns) === null || _columns2 === void 0 ? void 0 : _columns2.map(function (v) {
544
+ var _ref9, _obj$fieldAlias;
544
545
  var obj = oldColumns.find(function (oldColumn) {
545
546
  return (0, _helper.isSameColumnByIdFirst)(oldColumn, v);
546
547
  });
547
548
  var select = selectId.includes(v.id) || Boolean(obj === null || obj === void 0 ? void 0 : obj.select);
548
549
  return (0, _objectSpread2["default"])((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, obj), v), {}, {
549
550
  select: isSelect || select,
551
+ fieldAlias: (_ref9 = (_obj$fieldAlias = obj === null || obj === void 0 ? void 0 : obj.fieldAlias) !== null && _obj$fieldAlias !== void 0 ? _obj$fieldAlias : v.fieldAlias) !== null && _ref9 !== void 0 ? _ref9 : '',
550
552
  fieldUuid: (obj === null || obj === void 0 ? void 0 : obj.fieldUuid) || v.fieldUuid || (0, _helper.uuidv4)('field')
551
553
  });
552
554
  });
@@ -562,11 +564,13 @@ var useStore = function useStore() {
562
564
  };
563
565
  }();
564
566
  var setMeta = function () {
565
- var _ref9 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9(curData, groupInd) {
567
+ var _ref0 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9(curData, groupInd) {
566
568
  var changeObj,
567
569
  _metaList,
568
570
  prevMeta,
569
571
  newMeta,
572
+ oldData,
573
+ newData,
570
574
  isChange,
571
575
  _args9 = arguments;
572
576
  return _regenerator["default"].wrap(function (_context9) {
@@ -586,10 +590,12 @@ var useStore = function useStore() {
586
590
  }
587
591
  return _context9.abrupt("return");
588
592
  case 1:
593
+ oldData = (0, _utils.splitByUnion)(prevMeta);
594
+ newData = (0, _utils.splitByUnion)(newMeta);
589
595
  _context9.next = 2;
590
- return fetchChangeFn.current((0, _utils.splitByUnion)(newMeta), changeObj, {
596
+ return fetchChangeFn.current(oldData, changeObj, {
591
597
  isExit: isExit
592
- });
598
+ }, newData);
593
599
  case 2:
594
600
  isChange = _context9.sent;
595
601
  if (isChange === false) {
@@ -602,7 +608,7 @@ var useStore = function useStore() {
602
608
  }, _callee9);
603
609
  }));
604
610
  return function setMeta(_x0, _x1) {
605
- return _ref9.apply(this, arguments);
611
+ return _ref0.apply(this, arguments);
606
612
  };
607
613
  }();
608
614
  var setPreData = function setPreData(data) {
@@ -59,10 +59,10 @@ export interface MetabaseProps {
59
59
  groupByEnableAlias?: boolean;
60
60
  isSelectFields?: boolean;
61
61
  tableFlat?: boolean;
62
- onChange?: (newData: MetaListType[], curData: {
62
+ onChange?: (oldData: MetaListType[], curData: {
63
63
  data: any;
64
64
  type: ChangeType;
65
- }, options: FetchOptions) => Promise<void | Boolean>;
65
+ }, options: FetchOptions, newData: MetaListType[]) => Promise<void | Boolean>;
66
66
  copyType?: (FormulaTypeEnum | string)[];
67
67
  metabaseCopy?: boolean;
68
68
  moduleDiff?: boolean;
package/lib/cjs/utils.js CHANGED
@@ -1071,6 +1071,34 @@ var isAliasTargetSummarizeRecord = function isAliasTargetSummarizeRecord(record,
1071
1071
  type: _types.AtomsTypeEnum.FIELD
1072
1072
  }, target);
1073
1073
  };
1074
+ var isAliasTargetColumn = function isAliasTargetColumn(column, target, table) {
1075
+ return isAliasTargetField({
1076
+ fieldName: column.name || '',
1077
+ fieldNameZh: column.name_zh || '',
1078
+ fieldAlias: column.fieldAlias || '',
1079
+ fieldUuid: column.fieldUuid || '',
1080
+ fieldId: column.fieldId || column.id || '',
1081
+ tableName: (table === null || table === void 0 ? void 0 : table.name) || column.tableName || '',
1082
+ tableNameZh: (table === null || table === void 0 ? void 0 : table.name_zh) || column.tableNameZh || '',
1083
+ tableId: (table === null || table === void 0 ? void 0 : table.id) || column.tableId || '',
1084
+ tableAlias: (table === null || table === void 0 ? void 0 : table.alias) || column.tableAlias || '',
1085
+ tableUuid: (table === null || table === void 0 ? void 0 : table.tableUuid) || column.tableUuid || '',
1086
+ datasourceName: (table === null || table === void 0 ? void 0 : table.datasourceName) || column.datasourceName || '',
1087
+ datasourceId: (table === null || table === void 0 ? void 0 : table.datasourceId) || column.datasourceId || '',
1088
+ type: _types.AtomsTypeEnum.FIELD
1089
+ }, target);
1090
+ };
1091
+ var changeColumnAlias = function changeColumnAlias() {
1092
+ var columns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
1093
+ var target = arguments.length > 1 ? arguments[1] : undefined;
1094
+ var table = arguments.length > 2 ? arguments[2] : undefined;
1095
+ return columns.map(function (column) {
1096
+ return isAliasTargetColumn(column, target, table) ? (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, column), {}, {
1097
+ fieldAlias: target.alias,
1098
+ fieldUuid: column.fieldUuid || target.uuid || ''
1099
+ }) : column;
1100
+ });
1101
+ };
1074
1102
  var _changeAlias = function changeAlias(items, val, type) {
1075
1103
  return items.map(function (v) {
1076
1104
  var nextItem;
@@ -1279,8 +1307,15 @@ var changeFieldAlias = exports.changeFieldAlias = function changeFieldAlias(list
1279
1307
  };
1280
1308
  var newList = (0, _cloneDeep3["default"])(list);
1281
1309
  return (newList === null || newList === void 0 ? void 0 : newList.map(function (v) {
1282
- if (v.type === _enum.TypeEnum.data) {}
1310
+ if (v.type === _enum.TypeEnum.data) {
1311
+ if (v.columns && v.columns.length > 0) {
1312
+ v.columns = changeColumnAlias(v.columns, aliasTarget, v.table);
1313
+ }
1314
+ }
1283
1315
  if (v.type === _enum.TypeEnum.joinData) {
1316
+ if (v.columns && v.columns.length > 0) {
1317
+ v.columns = changeColumnAlias(v.columns, aliasTarget, v.table2);
1318
+ }
1284
1319
  if (v.expressions && v.expressions.length > 0) {
1285
1320
  v.expressions = _changeAlias(v.expressions, aliasTarget, AliasType.field);
1286
1321
  }
@@ -40,10 +40,12 @@ var SelectColumn = function SelectColumn(_ref) {
40
40
  useEffect(function () {
41
41
  setOriginList(function (currentList) {
42
42
  return data.map(function (item) {
43
+ var _ref2, _existingItem$fieldAl;
43
44
  var existingItem = currentList.find(function (current) {
44
45
  return isSameColumnByIdFirst(current, item);
45
46
  });
46
47
  return _objectSpread(_objectSpread(_objectSpread({}, existingItem || {}), item), {}, {
48
+ fieldAlias: (_ref2 = (_existingItem$fieldAl = existingItem === null || existingItem === void 0 ? void 0 : existingItem.fieldAlias) !== null && _existingItem$fieldAl !== void 0 ? _existingItem$fieldAl : item.fieldAlias) !== null && _ref2 !== void 0 ? _ref2 : '',
47
49
  fieldUuid: item.fieldUuid || (existingItem === null || existingItem === void 0 ? void 0 : existingItem.fieldUuid) || uuidv4('field')
48
50
  });
49
51
  });
@@ -82,8 +84,9 @@ var SelectColumn = function SelectColumn(_ref) {
82
84
  }
83
85
  }, [isAllSelect]);
84
86
  function onSelect(columns, newMetaList) {
87
+ var useColumnsDirectly = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
85
88
  var originalData = cloneDeep(originList);
86
- var mergedColumns = originalData.map(function (item) {
89
+ var mergedColumns = useColumnsDirectly ? cloneDeep(columns) : originalData.map(function (item) {
87
90
  var match = columns.find(function (col) {
88
91
  return isSameColumnByIdFirst(col, item);
89
92
  });
@@ -125,7 +128,7 @@ var SelectColumn = function SelectColumn(_ref) {
125
128
  obj: newColumns[i],
126
129
  type: ChangeType.fieldAlias
127
130
  });
128
- onSelect(newColumns, newMetaList);
131
+ onSelect(newColumns, newMetaList, true);
129
132
  setTimeout(function () {
130
133
  store.setClosable(true);
131
134
  }, 0);
@@ -535,12 +535,14 @@ var useStore = function useStore() {
535
535
  setColumns(tableName, columns);
536
536
  case 2:
537
537
  _columns = (_columns2 = columns) === null || _columns2 === void 0 ? void 0 : _columns2.map(function (v) {
538
+ var _ref9, _obj$fieldAlias;
538
539
  var obj = oldColumns.find(function (oldColumn) {
539
540
  return isSameColumnByIdFirst(oldColumn, v);
540
541
  });
541
542
  var select = selectId.includes(v.id) || Boolean(obj === null || obj === void 0 ? void 0 : obj.select);
542
543
  return _objectSpread(_objectSpread(_objectSpread({}, obj), v), {}, {
543
544
  select: isSelect || select,
545
+ fieldAlias: (_ref9 = (_obj$fieldAlias = obj === null || obj === void 0 ? void 0 : obj.fieldAlias) !== null && _obj$fieldAlias !== void 0 ? _obj$fieldAlias : v.fieldAlias) !== null && _ref9 !== void 0 ? _ref9 : '',
544
546
  fieldUuid: (obj === null || obj === void 0 ? void 0 : obj.fieldUuid) || v.fieldUuid || uuidv4('field')
545
547
  });
546
548
  });
@@ -556,11 +558,13 @@ var useStore = function useStore() {
556
558
  };
557
559
  }();
558
560
  var setMeta = function () {
559
- var _ref9 = _asyncToGenerator(_regeneratorRuntime.mark(function _callee9(curData, groupInd) {
561
+ var _ref0 = _asyncToGenerator(_regeneratorRuntime.mark(function _callee9(curData, groupInd) {
560
562
  var changeObj,
561
563
  _metaList,
562
564
  prevMeta,
563
565
  newMeta,
566
+ oldData,
567
+ newData,
564
568
  isChange,
565
569
  _args9 = arguments;
566
570
  return _regeneratorRuntime.wrap(function (_context9) {
@@ -580,10 +584,12 @@ var useStore = function useStore() {
580
584
  }
581
585
  return _context9.abrupt("return");
582
586
  case 1:
587
+ oldData = splitByUnion(prevMeta);
588
+ newData = splitByUnion(newMeta);
583
589
  _context9.next = 2;
584
- return fetchChangeFn.current(splitByUnion(newMeta), changeObj, {
590
+ return fetchChangeFn.current(oldData, changeObj, {
585
591
  isExit: isExit
586
- });
592
+ }, newData);
587
593
  case 2:
588
594
  isChange = _context9.sent;
589
595
  if (isChange === false) {
@@ -596,7 +602,7 @@ var useStore = function useStore() {
596
602
  }, _callee9);
597
603
  }));
598
604
  return function setMeta(_x0, _x1) {
599
- return _ref9.apply(this, arguments);
605
+ return _ref0.apply(this, arguments);
600
606
  };
601
607
  }();
602
608
  var setPreData = function setPreData(data) {
package/lib/es/types.d.ts CHANGED
@@ -59,10 +59,10 @@ export interface MetabaseProps {
59
59
  groupByEnableAlias?: boolean;
60
60
  isSelectFields?: boolean;
61
61
  tableFlat?: boolean;
62
- onChange?: (newData: MetaListType[], curData: {
62
+ onChange?: (oldData: MetaListType[], curData: {
63
63
  data: any;
64
64
  type: ChangeType;
65
- }, options: FetchOptions) => Promise<void | Boolean>;
65
+ }, options: FetchOptions, newData: MetaListType[]) => Promise<void | Boolean>;
66
66
  copyType?: (FormulaTypeEnum | string)[];
67
67
  metabaseCopy?: boolean;
68
68
  moduleDiff?: boolean;
package/lib/es/utils.js CHANGED
@@ -1057,6 +1057,34 @@ var isAliasTargetSummarizeRecord = function isAliasTargetSummarizeRecord(record,
1057
1057
  type: AtomsTypeEnum.FIELD
1058
1058
  }, target);
1059
1059
  };
1060
+ var isAliasTargetColumn = function isAliasTargetColumn(column, target, table) {
1061
+ return isAliasTargetField({
1062
+ fieldName: column.name || '',
1063
+ fieldNameZh: column.name_zh || '',
1064
+ fieldAlias: column.fieldAlias || '',
1065
+ fieldUuid: column.fieldUuid || '',
1066
+ fieldId: column.fieldId || column.id || '',
1067
+ tableName: (table === null || table === void 0 ? void 0 : table.name) || column.tableName || '',
1068
+ tableNameZh: (table === null || table === void 0 ? void 0 : table.name_zh) || column.tableNameZh || '',
1069
+ tableId: (table === null || table === void 0 ? void 0 : table.id) || column.tableId || '',
1070
+ tableAlias: (table === null || table === void 0 ? void 0 : table.alias) || column.tableAlias || '',
1071
+ tableUuid: (table === null || table === void 0 ? void 0 : table.tableUuid) || column.tableUuid || '',
1072
+ datasourceName: (table === null || table === void 0 ? void 0 : table.datasourceName) || column.datasourceName || '',
1073
+ datasourceId: (table === null || table === void 0 ? void 0 : table.datasourceId) || column.datasourceId || '',
1074
+ type: AtomsTypeEnum.FIELD
1075
+ }, target);
1076
+ };
1077
+ var changeColumnAlias = function changeColumnAlias() {
1078
+ var columns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
1079
+ var target = arguments.length > 1 ? arguments[1] : undefined;
1080
+ var table = arguments.length > 2 ? arguments[2] : undefined;
1081
+ return columns.map(function (column) {
1082
+ return isAliasTargetColumn(column, target, table) ? _objectSpread(_objectSpread({}, column), {}, {
1083
+ fieldAlias: target.alias,
1084
+ fieldUuid: column.fieldUuid || target.uuid || ''
1085
+ }) : column;
1086
+ });
1087
+ };
1060
1088
  var _changeAlias = function changeAlias(items, val, type) {
1061
1089
  return items.map(function (v) {
1062
1090
  var nextItem;
@@ -1265,8 +1293,15 @@ export var changeFieldAlias = function changeFieldAlias(list, curObj) {
1265
1293
  };
1266
1294
  var newList = cloneDeep(list);
1267
1295
  return (newList === null || newList === void 0 ? void 0 : newList.map(function (v) {
1268
- if (v.type === TypeEnum.data) {}
1296
+ if (v.type === TypeEnum.data) {
1297
+ if (v.columns && v.columns.length > 0) {
1298
+ v.columns = changeColumnAlias(v.columns, aliasTarget, v.table);
1299
+ }
1300
+ }
1269
1301
  if (v.type === TypeEnum.joinData) {
1302
+ if (v.columns && v.columns.length > 0) {
1303
+ v.columns = changeColumnAlias(v.columns, aliasTarget, v.table2);
1304
+ }
1270
1305
  if (v.expressions && v.expressions.length > 0) {
1271
1306
  v.expressions = _changeAlias(v.expressions, aliasTarget, AliasType.field);
1272
1307
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gingkoo/pandora-metabase",
3
- "version": "1.0.142",
3
+ "version": "1.0.143-alpha.0",
4
4
  "description": "",
5
5
  "main": "lib/es/index.js",
6
6
  "module": "lib/es/index.js",