@gingkoo/pandora-metabase 1.0.55 → 1.0.57
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.
- package/lib/cjs/components/dialog/select-column/index.js +5 -1
- package/lib/cjs/components/modules/custom-column.js +13 -3
- package/lib/cjs/components/modules/filter.js +5 -1
- package/lib/cjs/components/modules/join-data.js +50 -20
- package/lib/cjs/components/modules/summarize/group-by.js +12 -3
- package/lib/cjs/components/modules/summarize/select-index.js +12 -3
- package/lib/cjs/components/modules/table-data.js +20 -6
- package/lib/cjs/hooks/use-state.js +55 -13
- package/lib/cjs/index.js +2 -0
- package/lib/cjs/store/types.d.ts +18 -0
- package/lib/cjs/store/types.js +21 -1
- package/lib/cjs/types.d.ts +5 -1
- package/lib/es/components/dialog/select-column/index.js +5 -1
- package/lib/es/components/modules/custom-column.js +13 -3
- package/lib/es/components/modules/filter.js +5 -1
- package/lib/es/components/modules/join-data.js +51 -21
- package/lib/es/components/modules/summarize/group-by.js +13 -4
- package/lib/es/components/modules/summarize/select-index.js +13 -4
- package/lib/es/components/modules/table-data.js +20 -6
- package/lib/es/hooks/use-state.js +56 -13
- package/lib/es/index.js +2 -0
- package/lib/es/store/types.d.ts +18 -0
- package/lib/es/store/types.js +20 -0
- package/lib/es/types.d.ts +5 -1
- package/package.json +1 -1
|
@@ -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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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:
|
|
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
|
|
302
|
-
var
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
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);
|
package/lib/cjs/store/types.d.ts
CHANGED
|
@@ -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
|
package/lib/cjs/store/types.js
CHANGED
|
@@ -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) {
|
package/lib/cjs/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MetaListType, ToolbarType, FormulaTemplatesItem } from './store/types';
|
|
1
|
+
import type { MetaListType, ToolbarType, FormulaTemplatesItem, ChangeType } from './store/types';
|
|
2
2
|
import { UnionEnum } from './store/enum';
|
|
3
3
|
import { DataType } from './components/dialog/select-join-column';
|
|
4
4
|
export interface MetaListProps {
|
|
@@ -38,6 +38,10 @@ export interface MetabaseProps {
|
|
|
38
38
|
tableEnableAlias?: boolean;
|
|
39
39
|
fieldEnableAlias?: boolean;
|
|
40
40
|
isSelectFields?: boolean;
|
|
41
|
+
onChange?: (newData: MetaListType[], curData?: {
|
|
42
|
+
data: any;
|
|
43
|
+
type: ChangeType;
|
|
44
|
+
}) => Promise<void | Boolean>;
|
|
41
45
|
}
|
|
42
46
|
export interface OptionItem {
|
|
43
47
|
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);
|