@gingkoo/pandora-metabase 1.0.53 → 1.0.55
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 +1 -1
- package/lib/cjs/components/modules/components/meta-icon.js +4 -2
- package/lib/cjs/components/modules/join-data.js +143 -51
- package/lib/cjs/components/modules/summarize/group-by.js +15 -13
- package/lib/cjs/components/modules/summarize/select-index.js +15 -13
- package/lib/cjs/components/modules/table-data.js +104 -50
- package/lib/cjs/hooks/use-state.js +20 -2
- package/lib/cjs/index.js +15 -4
- package/lib/cjs/types.d.ts +4 -0
- package/lib/es/components/dialog/select-column/index.js +1 -1
- package/lib/es/components/modules/components/meta-icon.js +4 -2
- package/lib/es/components/modules/join-data.js +143 -51
- package/lib/es/components/modules/summarize/group-by.js +16 -14
- package/lib/es/components/modules/summarize/select-index.js +16 -14
- package/lib/es/components/modules/table-data.js +104 -50
- package/lib/es/hooks/use-state.js +20 -2
- package/lib/es/index.js +15 -4
- package/lib/es/types.d.ts +4 -0
- package/package.json +1 -1
|
@@ -299,11 +299,12 @@ var sortList = function sortList(arr) {
|
|
|
299
299
|
});
|
|
300
300
|
};
|
|
301
301
|
var NextDom = function NextDom(props) {
|
|
302
|
+
var _store$metaList;
|
|
302
303
|
var meta = props.meta,
|
|
303
304
|
groupIndex = props.groupIndex;
|
|
304
305
|
var store = useStore();
|
|
305
306
|
// @ts-ignore
|
|
306
|
-
if (!store.metaList[groupIndex].list[0].table.name) return null;
|
|
307
|
+
if (!((_store$metaList = store.metaList) !== null && _store$metaList !== void 0 && (_store$metaList = _store$metaList[groupIndex]) !== null && _store$metaList !== void 0 && (_store$metaList = _store$metaList.list) !== null && _store$metaList !== void 0 && (_store$metaList = _store$metaList[0]) !== null && _store$metaList !== void 0 && (_store$metaList = _store$metaList.table) !== null && _store$metaList !== void 0 && _store$metaList.name)) return null;
|
|
307
308
|
var available = findNextIcon(store, props);
|
|
308
309
|
if (!store.showToolbar(TypeEnum.permissionTable)) {
|
|
309
310
|
available = available.filter(function (v) {
|
|
@@ -312,7 +313,8 @@ var NextDom = function NextDom(props) {
|
|
|
312
313
|
}
|
|
313
314
|
var size = judgeSize(store, props, available.length, groupIndex);
|
|
314
315
|
function handleClick(type) {
|
|
315
|
-
var
|
|
316
|
+
var _store$metaList2;
|
|
317
|
+
var index = (_store$metaList2 = store.metaList) === null || _store$metaList2 === void 0 || (_store$metaList2 = _store$metaList2[groupIndex]) === null || _store$metaList2 === void 0 || (_store$metaList2 = _store$metaList2.list) === null || _store$metaList2 === void 0 ? void 0 : _store$metaList2.indexOf(meta);
|
|
316
318
|
store.addMeta(type, index + 1, groupIndex);
|
|
317
319
|
}
|
|
318
320
|
var MetaIconDom = metaIcon(size, handleClick);
|
|
@@ -1113,7 +1113,11 @@ var JoinData = function JoinData(props) {
|
|
|
1113
1113
|
return oldCol.name === newCol.name;
|
|
1114
1114
|
});
|
|
1115
1115
|
// 如果存在,返回旧列;否则返回新列
|
|
1116
|
-
return existingCol ? existingCol : newCol;
|
|
1116
|
+
// return existingCol ? existingCol : newCol;
|
|
1117
|
+
var _column = existingCol ? existingCol : newCol;
|
|
1118
|
+
_column.select = store.isSelectFields || _column.select;
|
|
1119
|
+
// 如果存在,返回旧列;否则返回新列
|
|
1120
|
+
return _column;
|
|
1117
1121
|
});
|
|
1118
1122
|
// (newMeta[index] as MetaJoin).columns = newColumns;
|
|
1119
1123
|
initExpressions();
|
|
@@ -1461,61 +1465,149 @@ var JoinData = function JoinData(props) {
|
|
|
1461
1465
|
onClick: function onClick() {
|
|
1462
1466
|
showSubQuery(meta.subquery);
|
|
1463
1467
|
},
|
|
1464
|
-
children: [subQuerySelected && _jsx(
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1468
|
+
children: [subQuerySelected && _jsx(_Fragment, {
|
|
1469
|
+
children: function () {
|
|
1470
|
+
var showButton = store.tableEnableAlias || tableIsError() && isDel;
|
|
1471
|
+
var icon = isDel ? _jsx(ExclamationCircleFill, {}) : store.tableEnableAlias ? 'As' : '';
|
|
1472
|
+
return showButton ? _jsx(Tooltip, {
|
|
1473
|
+
title: __(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
|
|
1474
|
+
children: _jsx(Button, {
|
|
1475
|
+
danger: tableIsError(),
|
|
1476
|
+
className: cx(':Sqb-TableName-as', {
|
|
1477
|
+
isError: tableIsError()
|
|
1478
|
+
}),
|
|
1479
|
+
shape: 'circle',
|
|
1480
|
+
style: isDel ? {
|
|
1481
|
+
fontSize: 18,
|
|
1482
|
+
backgroundColor: '#fff',
|
|
1483
|
+
width: 'auto',
|
|
1484
|
+
height: 'auto'
|
|
1485
|
+
} : {},
|
|
1486
|
+
iconOnly: true,
|
|
1487
|
+
primary: !isDel,
|
|
1488
|
+
icon: icon,
|
|
1489
|
+
size: 'small',
|
|
1490
|
+
onClick: function onClick(e) {
|
|
1491
|
+
if (store.tableEnableAlias) {
|
|
1492
|
+
var _meta$table4;
|
|
1493
|
+
e.stopPropagation();
|
|
1494
|
+
onChangeTableAlias(((_meta$table4 = meta.table2) === null || _meta$table4 === void 0 ? void 0 : _meta$table4.alias) || '');
|
|
1495
|
+
}
|
|
1496
|
+
}
|
|
1497
|
+
})
|
|
1498
|
+
}) : null;
|
|
1499
|
+
}()
|
|
1500
|
+
})
|
|
1501
|
+
// <Tooltip
|
|
1502
|
+
// title={__(
|
|
1503
|
+
// tableIsError()
|
|
1504
|
+
// ? isDel
|
|
1505
|
+
// ? 'metabase.verify'
|
|
1506
|
+
// : 'SqlQueryBuilder.repeatAlias'
|
|
1507
|
+
// : 'SqlQueryBuilder.alias',
|
|
1508
|
+
// )}
|
|
1509
|
+
// >
|
|
1510
|
+
// <Button
|
|
1511
|
+
// danger={tableIsError()}
|
|
1512
|
+
// className={cx(':Sqb-TableName-as', {
|
|
1513
|
+
// isError: tableIsError(),
|
|
1514
|
+
// })}
|
|
1515
|
+
// shape='circle'
|
|
1516
|
+
// style={
|
|
1517
|
+
// isDel
|
|
1518
|
+
// ? {
|
|
1519
|
+
// fontSize: 18,
|
|
1520
|
+
// backgroundColor: '#fff',
|
|
1521
|
+
// width: 'auto',
|
|
1522
|
+
// height: 'auto',
|
|
1523
|
+
// }
|
|
1524
|
+
// : {}
|
|
1525
|
+
// }
|
|
1526
|
+
// iconOnly
|
|
1527
|
+
// primary={!isDel}
|
|
1528
|
+
// icon={isDel ? <ExclamationCircleFill /> : 'As'}
|
|
1529
|
+
// size='small'
|
|
1530
|
+
// onClick={(e) => {
|
|
1531
|
+
// e.stopPropagation();
|
|
1532
|
+
// onChangeTableAlias(meta.table2?.alias || '');
|
|
1533
|
+
// }}
|
|
1534
|
+
// ></Button>
|
|
1535
|
+
// </Tooltip>
|
|
1536
|
+
, 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) : '', " ") : __('SqlQueryBuilder.setSubQuery')]
|
|
1489
1537
|
}) : _jsxs("div", {
|
|
1490
1538
|
className: cx("Sqb-TableName", {
|
|
1491
1539
|
notSelected: !table2Selected
|
|
1492
1540
|
}),
|
|
1493
1541
|
onClick: selectTable,
|
|
1494
|
-
children: [table2Selected && _jsx(
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1542
|
+
children: [table2Selected && _jsx(_Fragment, {
|
|
1543
|
+
children: function () {
|
|
1544
|
+
var showButton = store.tableEnableAlias || tableIsError() && isDel;
|
|
1545
|
+
var icon = isDel ? _jsx(ExclamationCircleFill, {}) : store.tableEnableAlias ? 'As' : '';
|
|
1546
|
+
return showButton ? _jsx(Tooltip, {
|
|
1547
|
+
title: __(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
|
|
1548
|
+
children: _jsx(Button, {
|
|
1549
|
+
danger: tableIsError(),
|
|
1550
|
+
className: cx(':Sqb-TableName-as', {
|
|
1551
|
+
isError: tableIsError()
|
|
1552
|
+
}),
|
|
1553
|
+
shape: 'circle',
|
|
1554
|
+
style: isDel ? {
|
|
1555
|
+
fontSize: 18,
|
|
1556
|
+
backgroundColor: '#fff',
|
|
1557
|
+
width: 'auto',
|
|
1558
|
+
height: 'auto'
|
|
1559
|
+
} : {},
|
|
1560
|
+
iconOnly: true,
|
|
1561
|
+
primary: !isDel,
|
|
1562
|
+
icon: icon,
|
|
1563
|
+
size: 'small',
|
|
1564
|
+
onClick: function onClick(e) {
|
|
1565
|
+
if (store.tableEnableAlias) {
|
|
1566
|
+
var _meta$table7;
|
|
1567
|
+
e.stopPropagation();
|
|
1568
|
+
onChangeTableAlias(((_meta$table7 = meta.table2) === null || _meta$table7 === void 0 ? void 0 : _meta$table7.alias) || '');
|
|
1569
|
+
}
|
|
1570
|
+
}
|
|
1571
|
+
})
|
|
1572
|
+
}) : null;
|
|
1573
|
+
}()
|
|
1574
|
+
})
|
|
1575
|
+
// <Tooltip
|
|
1576
|
+
// title={__(
|
|
1577
|
+
// tableIsError()
|
|
1578
|
+
// ? isDel
|
|
1579
|
+
// ? 'metabase.verify'
|
|
1580
|
+
// : 'SqlQueryBuilder.repeatAlias'
|
|
1581
|
+
// : 'SqlQueryBuilder.alias',
|
|
1582
|
+
// )}
|
|
1583
|
+
// >
|
|
1584
|
+
// <Button
|
|
1585
|
+
// danger={tableIsError()}
|
|
1586
|
+
// className={cx(':Sqb-TableName-as', {
|
|
1587
|
+
// isError: tableIsError(),
|
|
1588
|
+
// })}
|
|
1589
|
+
// shape='circle'
|
|
1590
|
+
// style={
|
|
1591
|
+
// isDel
|
|
1592
|
+
// ? {
|
|
1593
|
+
// fontSize: 18,
|
|
1594
|
+
// backgroundColor: '#fff',
|
|
1595
|
+
// width: 'auto',
|
|
1596
|
+
// height: 'auto',
|
|
1597
|
+
// }
|
|
1598
|
+
// : {}
|
|
1599
|
+
// }
|
|
1600
|
+
// iconOnly
|
|
1601
|
+
// primary={!isDel}
|
|
1602
|
+
// icon={isDel ? <ExclamationCircleFill /> : 'As'}
|
|
1603
|
+
// size='small'
|
|
1604
|
+
// onClick={(e) => {
|
|
1605
|
+
// e.stopPropagation();
|
|
1606
|
+
// onChangeTableAlias(meta.table2?.alias || '');
|
|
1607
|
+
// }}
|
|
1608
|
+
// ></Button>
|
|
1609
|
+
// </Tooltip>
|
|
1610
|
+
, 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) : '') : __('SqlQueryBuilder.pickTable')]
|
|
1519
1611
|
}), store.showSubquery && _jsx(Tooltip, {
|
|
1520
1612
|
title: __('SqlQueryBuilder.switchSubQuery'),
|
|
1521
1613
|
children: _jsx(Button, {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
2
2
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
3
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
4
|
-
import { jsx as _jsx,
|
|
4
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
5
|
import cx from 'classnames';
|
|
6
6
|
import { __ } from '../../../locale';
|
|
7
7
|
import { findIndex, getHelper } from '../../../utils';
|
|
@@ -322,19 +322,21 @@ var GroupBy = function GroupBy(props) {
|
|
|
322
322
|
onClick: function onClick(e) {
|
|
323
323
|
return handleUpdate(e, i);
|
|
324
324
|
},
|
|
325
|
-
children: [v.quotes && _jsx(
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
e
|
|
336
|
-
|
|
337
|
-
|
|
325
|
+
children: [v.quotes && _jsx(_Fragment, {
|
|
326
|
+
children: store.fieldEnableAlias && _jsx(Tooltip, {
|
|
327
|
+
title: __('SqlQueryBuilder.alias'),
|
|
328
|
+
children: _jsx(Button, {
|
|
329
|
+
className: ':Sqb-TableName-as :Sqb-TableName green-name',
|
|
330
|
+
shape: 'circle',
|
|
331
|
+
iconOnly: true,
|
|
332
|
+
primary: true,
|
|
333
|
+
icon: 'As',
|
|
334
|
+
size: 'small',
|
|
335
|
+
onClick: function onClick(e) {
|
|
336
|
+
e.stopPropagation();
|
|
337
|
+
onChangeFieldAlias((v === null || v === void 0 ? void 0 : v.fieldAlias) || '', i);
|
|
338
|
+
}
|
|
339
|
+
})
|
|
338
340
|
})
|
|
339
341
|
}), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), _jsx("span", {
|
|
340
342
|
style: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
2
2
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
3
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
4
|
-
import { jsx as _jsx,
|
|
4
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
5
|
import cx from 'classnames';
|
|
6
6
|
import { __ } from '../../../locale';
|
|
7
7
|
import { findIndex, getHelper } from '../../../utils';
|
|
@@ -323,19 +323,21 @@ var SelectIndex = function SelectIndex(props) {
|
|
|
323
323
|
onClick: function onClick(e) {
|
|
324
324
|
return handleUpdate(e, i);
|
|
325
325
|
},
|
|
326
|
-
children: [v.quotes && _jsx(
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
e
|
|
337
|
-
|
|
338
|
-
|
|
326
|
+
children: [v.quotes && _jsx(_Fragment, {
|
|
327
|
+
children: store.fieldEnableAlias && _jsx(Tooltip, {
|
|
328
|
+
title: __('SqlQueryBuilder.alias'),
|
|
329
|
+
children: _jsx(Button, {
|
|
330
|
+
className: ':Sqb-TableName-as :Sqb-TableName green-name',
|
|
331
|
+
shape: 'circle',
|
|
332
|
+
iconOnly: true,
|
|
333
|
+
primary: true,
|
|
334
|
+
icon: 'As',
|
|
335
|
+
size: 'small',
|
|
336
|
+
onClick: function onClick(e) {
|
|
337
|
+
e.stopPropagation();
|
|
338
|
+
onChangeFieldAlias((v === null || v === void 0 ? void 0 : v.fieldAlias) || '', i);
|
|
339
|
+
}
|
|
340
|
+
})
|
|
339
341
|
})
|
|
340
342
|
}), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), _jsx("span", {
|
|
341
343
|
style: {
|
|
@@ -215,8 +215,10 @@ var TableData = function TableData(props) {
|
|
|
215
215
|
var existingCol = newMetaList.columns.find(function (oldCol) {
|
|
216
216
|
return oldCol.name === newCol.name;
|
|
217
217
|
});
|
|
218
|
+
var _column = existingCol ? existingCol : newCol;
|
|
219
|
+
_column.select = store.isSelectFields || _column.select;
|
|
218
220
|
// 如果存在,返回旧列;否则返回新列
|
|
219
|
-
return
|
|
221
|
+
return _column;
|
|
220
222
|
});
|
|
221
223
|
// (newMeta[index] as MetaJoin).expressions = [];
|
|
222
224
|
var newMetas = store.metaList[groupIndex].list.slice();
|
|
@@ -284,61 +286,113 @@ var TableData = function TableData(props) {
|
|
|
284
286
|
onClick: function onClick() {
|
|
285
287
|
showSubQuery(meta.subquery);
|
|
286
288
|
},
|
|
287
|
-
children: [subQuerySelected && _jsx(
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
289
|
+
children: [subQuerySelected && _jsx(_Fragment, {
|
|
290
|
+
children: function () {
|
|
291
|
+
var showButton = store.tableEnableAlias || tableIsError() && isDel;
|
|
292
|
+
var icon = isDel ? _jsx(ExclamationCircleFill, {}) : store.tableEnableAlias ? 'As' : '';
|
|
293
|
+
return showButton ? _jsx(Tooltip, {
|
|
294
|
+
title: __(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
|
|
295
|
+
children: _jsx(Button, {
|
|
296
|
+
danger: tableIsError(),
|
|
297
|
+
className: cx(':Sqb-TableName-as', {
|
|
298
|
+
isError: tableIsError()
|
|
299
|
+
}),
|
|
300
|
+
shape: 'circle',
|
|
301
|
+
style: isDel ? {
|
|
302
|
+
fontSize: 18,
|
|
303
|
+
backgroundColor: '#fff',
|
|
304
|
+
width: 'auto',
|
|
305
|
+
height: 'auto'
|
|
306
|
+
} : {},
|
|
307
|
+
iconOnly: true,
|
|
308
|
+
primary: !isDel,
|
|
309
|
+
icon: icon,
|
|
310
|
+
size: 'small',
|
|
311
|
+
onClick: function onClick(e) {
|
|
312
|
+
if (store.tableEnableAlias) {
|
|
313
|
+
var _meta$table4;
|
|
314
|
+
e.stopPropagation();
|
|
315
|
+
onChangeTableAlias(((_meta$table4 = meta.table) === null || _meta$table4 === void 0 ? void 0 : _meta$table4.alias) || '');
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
})
|
|
319
|
+
}) : null;
|
|
320
|
+
}()
|
|
311
321
|
}), 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) : '', " ") : __('SqlQueryBuilder.setSubQuery')]
|
|
312
322
|
}) : _jsxs("div", {
|
|
313
323
|
className: cx("Sqb-TableName", {
|
|
314
324
|
notSelected: !selected
|
|
315
325
|
}),
|
|
316
326
|
onClick: selectTable,
|
|
317
|
-
children: [selected && _jsx(
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
327
|
+
children: [selected && _jsx(_Fragment, {
|
|
328
|
+
children: function () {
|
|
329
|
+
var showButton = store.tableEnableAlias || tableIsError() && isDel;
|
|
330
|
+
var icon = isDel ? _jsx(ExclamationCircleFill, {}) : store.tableEnableAlias ? 'As' : '';
|
|
331
|
+
return showButton ? _jsx(Tooltip, {
|
|
332
|
+
title: __(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
|
|
333
|
+
children: _jsx(Button, {
|
|
334
|
+
danger: tableIsError(),
|
|
335
|
+
className: cx(':Sqb-TableName-as', {
|
|
336
|
+
isError: tableIsError()
|
|
337
|
+
}),
|
|
338
|
+
shape: 'circle',
|
|
339
|
+
style: isDel ? {
|
|
340
|
+
fontSize: 18,
|
|
341
|
+
backgroundColor: '#fff',
|
|
342
|
+
width: 'auto',
|
|
343
|
+
height: 'auto'
|
|
344
|
+
} : {},
|
|
345
|
+
iconOnly: true,
|
|
346
|
+
primary: !isDel,
|
|
347
|
+
icon: icon,
|
|
348
|
+
size: 'small',
|
|
349
|
+
onClick: function onClick(e) {
|
|
350
|
+
if (store.tableEnableAlias) {
|
|
351
|
+
var _meta$table7;
|
|
352
|
+
e.stopPropagation();
|
|
353
|
+
onChangeTableAlias(((_meta$table7 = meta.table) === null || _meta$table7 === void 0 ? void 0 : _meta$table7.alias) || '');
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
})
|
|
357
|
+
}) : null;
|
|
358
|
+
}()
|
|
359
|
+
})
|
|
360
|
+
// <Tooltip
|
|
361
|
+
// title={__(
|
|
362
|
+
// tableIsError()
|
|
363
|
+
// ? isDel
|
|
364
|
+
// ? 'metabase.verify'
|
|
365
|
+
// : 'SqlQueryBuilder.repeatAlias'
|
|
366
|
+
// : 'SqlQueryBuilder.alias',
|
|
367
|
+
// )}
|
|
368
|
+
// >
|
|
369
|
+
// <Button
|
|
370
|
+
// danger={tableIsError()}
|
|
371
|
+
// className={cx(':Sqb-TableName-as', {
|
|
372
|
+
// isError: tableIsError(),
|
|
373
|
+
// })}
|
|
374
|
+
// shape='circle'
|
|
375
|
+
// style={
|
|
376
|
+
// isDel
|
|
377
|
+
// ? {
|
|
378
|
+
// fontSize: 18,
|
|
379
|
+
// backgroundColor: '#fff',
|
|
380
|
+
// width: 'auto',
|
|
381
|
+
// height: 'auto',
|
|
382
|
+
// }
|
|
383
|
+
// : {}
|
|
384
|
+
// }
|
|
385
|
+
// iconOnly
|
|
386
|
+
// primary={!isDel}
|
|
387
|
+
// icon={isDel ? <ExclamationCircleFill /> : 'As'}
|
|
388
|
+
// size='small'
|
|
389
|
+
// onClick={(e) => {
|
|
390
|
+
// e.stopPropagation();
|
|
391
|
+
// onChangeTableAlias(meta.table?.alias || '');
|
|
392
|
+
// }}
|
|
393
|
+
// ></Button>
|
|
394
|
+
// </Tooltip>
|
|
395
|
+
, 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) : '') : __('SqlQueryBuilder.pickTable')]
|
|
342
396
|
}), store.showSubquery && _jsx(Tooltip, {
|
|
343
397
|
title: __('SqlQueryBuilder.switchSubQuery'),
|
|
344
398
|
children: _jsx(Button, {
|
|
@@ -126,6 +126,18 @@ var useStore = function useStore() {
|
|
|
126
126
|
_useState38 = _slicedToArray(_useState37, 2),
|
|
127
127
|
isExit = _useState38[0],
|
|
128
128
|
setIsExit = _useState38[1]; // 是否是notExit
|
|
129
|
+
var _useState39 = useState(true),
|
|
130
|
+
_useState40 = _slicedToArray(_useState39, 2),
|
|
131
|
+
tableEnableAlias = _useState40[0],
|
|
132
|
+
setTableEnableAlias = _useState40[1]; // 表名是否开启别名
|
|
133
|
+
var _useState41 = useState(true),
|
|
134
|
+
_useState42 = _slicedToArray(_useState41, 2),
|
|
135
|
+
fieldEnableAlias = _useState42[0],
|
|
136
|
+
setFieldEnableAlias = _useState42[1]; // 字段名是否开启别名
|
|
137
|
+
var _useState43 = useState(true),
|
|
138
|
+
_useState44 = _slicedToArray(_useState43, 2),
|
|
139
|
+
isSelectFields = _useState44[0],
|
|
140
|
+
setIsSelectFields = _useState44[1]; // 是否默认勾选字段
|
|
129
141
|
// 外层ref
|
|
130
142
|
var popupContainer = useRef();
|
|
131
143
|
// const [fetchDatasetFn, setFetchDatasetFn] = useState<(id: string) => Promise<any>>(
|
|
@@ -264,7 +276,7 @@ var useStore = function useStore() {
|
|
|
264
276
|
var obj = {};
|
|
265
277
|
obj = oldObj[v.id] || {};
|
|
266
278
|
return _objectSpread(_objectSpread(_objectSpread({}, obj), v), {}, {
|
|
267
|
-
select: select,
|
|
279
|
+
select: isSelectFields || select,
|
|
268
280
|
fieldUuid: obj.fieldUuid || v.fieldUuid || uuidv4('field')
|
|
269
281
|
});
|
|
270
282
|
});
|
|
@@ -602,7 +614,13 @@ var useStore = function useStore() {
|
|
|
602
614
|
formulaTemplates: formulaTemplates,
|
|
603
615
|
setFormulaTemplates: setFormulaTemplates,
|
|
604
616
|
isExit: isExit,
|
|
605
|
-
setIsExit: setIsExit
|
|
617
|
+
setIsExit: setIsExit,
|
|
618
|
+
tableEnableAlias: tableEnableAlias,
|
|
619
|
+
setTableEnableAlias: setTableEnableAlias,
|
|
620
|
+
fieldEnableAlias: fieldEnableAlias,
|
|
621
|
+
setFieldEnableAlias: setFieldEnableAlias,
|
|
622
|
+
isSelectFields: isSelectFields,
|
|
623
|
+
setIsSelectFields: setIsSelectFields
|
|
606
624
|
};
|
|
607
625
|
};
|
|
608
626
|
export default useStore;
|
package/lib/es/index.js
CHANGED
|
@@ -33,6 +33,8 @@ var SqlVisionBuilder = React.forwardRef(function (props, ref) {
|
|
|
33
33
|
value = _props$value === void 0 ? [] : _props$value,
|
|
34
34
|
_props$sourceList = props.sourceList,
|
|
35
35
|
sourceList = _props$sourceList === void 0 ? [] : _props$sourceList,
|
|
36
|
+
_props$exitSourceList = props.exitSourceList,
|
|
37
|
+
exitSourceList = _props$exitSourceList === void 0 ? [] : _props$exitSourceList,
|
|
36
38
|
_props$showSubquery = props.showSubquery,
|
|
37
39
|
showSubquery = _props$showSubquery === void 0 ? true : _props$showSubquery,
|
|
38
40
|
_props$subShowSubquer = props.subShowSubquery,
|
|
@@ -44,7 +46,13 @@ var SqlVisionBuilder = React.forwardRef(function (props, ref) {
|
|
|
44
46
|
_props$filterCustomTy = props.filterCustomType,
|
|
45
47
|
filterCustomType = _props$filterCustomTy === void 0 ? false : _props$filterCustomTy,
|
|
46
48
|
_props$isExit = props.isExit,
|
|
47
|
-
isExit = _props$isExit === void 0 ? false : _props$isExit
|
|
49
|
+
isExit = _props$isExit === void 0 ? false : _props$isExit,
|
|
50
|
+
_props$tableEnableAli = props.tableEnableAlias,
|
|
51
|
+
tableEnableAlias = _props$tableEnableAli === void 0 ? true : _props$tableEnableAli,
|
|
52
|
+
_props$fieldEnableAli = props.fieldEnableAlias,
|
|
53
|
+
fieldEnableAlias = _props$fieldEnableAli === void 0 ? true : _props$fieldEnableAli,
|
|
54
|
+
_props$isSelectFields = props.isSelectFields,
|
|
55
|
+
isSelectFields = _props$isSelectFields === void 0 ? true : _props$isSelectFields;
|
|
48
56
|
var store = useData();
|
|
49
57
|
useEffect(function () {
|
|
50
58
|
getTables && store.setFetchDatasetFn(getTables);
|
|
@@ -58,8 +66,8 @@ var SqlVisionBuilder = React.forwardRef(function (props, ref) {
|
|
|
58
66
|
store.setPreData(_value);
|
|
59
67
|
}, [value]);
|
|
60
68
|
useEffect(function () {
|
|
61
|
-
store.setSourceList(sourceList);
|
|
62
|
-
}, [sourceList]);
|
|
69
|
+
store.setSourceList(isExit && exitSourceList && Array.from(exitSourceList).length > 0 ? exitSourceList || sourceList : sourceList);
|
|
70
|
+
}, [sourceList, exitSourceList, isExit]);
|
|
63
71
|
useEffect(function () {
|
|
64
72
|
store.setShowFields(showFields);
|
|
65
73
|
store.setFieldNameTpl(fieldNameTpl || '${name}');
|
|
@@ -72,7 +80,10 @@ var SqlVisionBuilder = React.forwardRef(function (props, ref) {
|
|
|
72
80
|
store.setIgnoreGroupByType(ignoreGroupByType);
|
|
73
81
|
store.setfilterCustomType(filterCustomType);
|
|
74
82
|
store.setIsExit(isExit);
|
|
75
|
-
|
|
83
|
+
store.setTableEnableAlias(tableEnableAlias);
|
|
84
|
+
store.setFieldEnableAlias(fieldEnableAlias);
|
|
85
|
+
store.setIsSelectFields(isSelectFields);
|
|
86
|
+
}, [showFields, fieldNameTpl, tableNameTpl, toolbar, showSubquery, subShowSubquery, constantList, formulaTemplates, ignoreGroupByType, filterCustomType, isExit, tableEnableAlias, fieldEnableAlias, isSelectFields]);
|
|
76
87
|
React.useImperativeHandle(ref, function () {
|
|
77
88
|
return {
|
|
78
89
|
// setDatasource: (list) => {
|
package/lib/es/types.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ export interface MetabaseProps {
|
|
|
25
25
|
onOk?: (params: any) => void;
|
|
26
26
|
value?: MetaListType[];
|
|
27
27
|
sourceList?: DatasourceType[];
|
|
28
|
+
exitSourceList?: DatasourceType[];
|
|
28
29
|
showSubquery?: boolean;
|
|
29
30
|
subShowSubquery?: boolean;
|
|
30
31
|
constantList?: OptionItem[];
|
|
@@ -34,6 +35,9 @@ export interface MetabaseProps {
|
|
|
34
35
|
notExistsColumns?: DataType[];
|
|
35
36
|
formulaTemplates?: FormulaTemplatesItem[];
|
|
36
37
|
isExit?: boolean;
|
|
38
|
+
tableEnableAlias?: boolean;
|
|
39
|
+
fieldEnableAlias?: boolean;
|
|
40
|
+
isSelectFields?: boolean;
|
|
37
41
|
}
|
|
38
42
|
export interface OptionItem {
|
|
39
43
|
value?: string;
|