@gingkoo/pandora-metabase 1.0.81 → 1.0.83

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.
Files changed (57) hide show
  1. package/lib/cjs/components/dialog/formula-list/index.js +139 -74
  2. package/lib/cjs/components/dialog/formula-list/index.less +13 -0
  3. package/lib/cjs/components/metabase/index.js +26 -4
  4. package/lib/cjs/components/metabase/index.less +32 -1
  5. package/lib/cjs/components/modules/components/header.d.ts +2 -0
  6. package/lib/cjs/components/modules/components/header.js +11 -6
  7. package/lib/cjs/components/modules/components/item-wrapper.d.ts +9 -0
  8. package/lib/cjs/components/modules/components/item-wrapper.js +45 -0
  9. package/lib/cjs/components/modules/components/meta-icon.d.ts +11 -0
  10. package/lib/cjs/components/modules/components/meta-icon.js +60 -12
  11. package/lib/cjs/components/modules/custom-column.js +34 -28
  12. package/lib/cjs/components/modules/filter.js +18 -12
  13. package/lib/cjs/components/modules/join-data.js +417 -411
  14. package/lib/cjs/components/modules/permission-table.js +17 -11
  15. package/lib/cjs/components/modules/row-limit.js +18 -12
  16. package/lib/cjs/components/modules/sort.js +33 -27
  17. package/lib/cjs/components/modules/summarize/index.js +26 -20
  18. package/lib/cjs/components/modules/table-data.js +137 -131
  19. package/lib/cjs/components/modules/union.js +14 -8
  20. package/lib/cjs/hooks/use-state.js +84 -31
  21. package/lib/cjs/index.js +9 -3
  22. package/lib/cjs/locale/en.js +5 -3
  23. package/lib/cjs/locale/zh.js +5 -3
  24. package/lib/cjs/types.d.ts +2 -0
  25. package/lib/cjs/utils/storage.d.ts +1 -0
  26. package/lib/cjs/utils/storage.js +2 -1
  27. package/lib/cjs/utils.d.ts +6 -0
  28. package/lib/cjs/utils.js +23 -3
  29. package/lib/es/components/dialog/formula-list/index.js +139 -76
  30. package/lib/es/components/dialog/formula-list/index.less +13 -0
  31. package/lib/es/components/metabase/index.js +26 -4
  32. package/lib/es/components/metabase/index.less +32 -1
  33. package/lib/es/components/modules/components/header.d.ts +2 -0
  34. package/lib/es/components/modules/components/header.js +12 -7
  35. package/lib/es/components/modules/components/item-wrapper.d.ts +9 -0
  36. package/lib/es/components/modules/components/item-wrapper.js +38 -0
  37. package/lib/es/components/modules/components/meta-icon.d.ts +11 -0
  38. package/lib/es/components/modules/components/meta-icon.js +60 -14
  39. package/lib/es/components/modules/custom-column.js +34 -28
  40. package/lib/es/components/modules/filter.js +18 -12
  41. package/lib/es/components/modules/join-data.js +417 -411
  42. package/lib/es/components/modules/permission-table.js +17 -11
  43. package/lib/es/components/modules/row-limit.js +18 -12
  44. package/lib/es/components/modules/sort.js +33 -27
  45. package/lib/es/components/modules/summarize/index.js +26 -20
  46. package/lib/es/components/modules/table-data.js +137 -131
  47. package/lib/es/components/modules/union.js +14 -8
  48. package/lib/es/hooks/use-state.js +84 -31
  49. package/lib/es/index.js +9 -3
  50. package/lib/es/locale/en.js +5 -3
  51. package/lib/es/locale/zh.js +5 -3
  52. package/lib/es/types.d.ts +2 -0
  53. package/lib/es/utils/storage.d.ts +1 -0
  54. package/lib/es/utils/storage.js +2 -1
  55. package/lib/es/utils.d.ts +6 -0
  56. package/lib/es/utils.js +21 -1
  57. package/package.json +1 -1
@@ -24,6 +24,7 @@ import ItemName from './components/item-name';
24
24
  import Wrapper from './components/Wrapper';
25
25
  import NextDom from './components/meta-icon';
26
26
  import Header from './components/header';
27
+ import ItemWrapper from './components/item-wrapper';
27
28
  import SelectList from '../dialog/select-list';
28
29
  import { LeftJoinIcon, InnerJoinIcon } from '../icons';
29
30
  import { SelectTable, SelectJoin, SelectColumnMultiple, SelectColumn, Expression, SelectPermissionTable, FormulaList, getTemplateItem } from '../dialog';
@@ -1454,451 +1455,456 @@ var JoinData = function JoinData(props) {
1454
1455
  className: cx("Sqb-hover-parent"),
1455
1456
  children: [_jsx(Header, {
1456
1457
  meta: meta,
1458
+ groupIndex: groupIndex,
1457
1459
  title: __('SqlQueryBuilder.joinData'),
1458
1460
  onClose: function onClose() {
1459
1461
  return store.delMeta(meta, groupIndex);
1460
1462
  }
1461
- }), _jsx("div", {
1462
- className: cx("Sqb-item--content"),
1463
- children: _jsxs("div", {
1464
- className: cx("Sqb-NotebookCell"),
1465
- children: [_jsx(ItemName, {
1466
- isError: leftTableIsError(),
1467
- children: _jsx("div", {
1463
+ }), _jsx(ItemWrapper, {
1464
+ meta: meta,
1465
+ groupIndex: groupIndex,
1466
+ children: _jsx("div", {
1467
+ className: cx("Sqb-item--content"),
1468
+ children: _jsxs("div", {
1469
+ className: cx("Sqb-NotebookCell"),
1470
+ children: [_jsx(ItemName, {
1471
+ isError: leftTableIsError(),
1472
+ children: _jsx("div", {
1473
+ className: cx("Sqb-TableName", {
1474
+ notSelected: !table1Selected
1475
+ }),
1476
+ onClick: selectLeftTable,
1477
+ children: getTable1Name() || __('SqlQueryBuilder.pickTable')
1478
+ })
1479
+ }), _jsx("div", {
1480
+ onClick: selectJoin,
1481
+ children: meta.joinType === JoinEnum.left ? _jsx(LeftJoinIcon, {
1482
+ style: {
1483
+ marginRight: '0.5rem',
1484
+ cursor: 'pointer'
1485
+ }
1486
+ }) : meta.joinType === JoinEnum.right ? _jsx(LeftJoinIcon, {
1487
+ style: {
1488
+ transform: 'rotate(-180deg)',
1489
+ marginRight: '0.5rem',
1490
+ cursor: 'pointer'
1491
+ }
1492
+ }) : _jsx(InnerJoinIcon, {
1493
+ style: {
1494
+ marginRight: '0.5rem',
1495
+ cursor: 'pointer'
1496
+ }
1497
+ })
1498
+ }), meta.isSubquery ? _jsxs("div", {
1468
1499
  className: cx("Sqb-TableName", {
1469
- notSelected: !table1Selected
1500
+ notSelected: !subQuerySelected
1470
1501
  }),
1471
- onClick: selectLeftTable,
1472
- children: getTable1Name() || __('SqlQueryBuilder.pickTable')
1473
- })
1474
- }), _jsx("div", {
1475
- onClick: selectJoin,
1476
- children: meta.joinType === JoinEnum.left ? _jsx(LeftJoinIcon, {
1477
- style: {
1478
- marginRight: '0.5rem',
1479
- cursor: 'pointer'
1480
- }
1481
- }) : meta.joinType === JoinEnum.right ? _jsx(LeftJoinIcon, {
1482
- style: {
1483
- transform: 'rotate(-180deg)',
1484
- marginRight: '0.5rem',
1485
- cursor: 'pointer'
1486
- }
1487
- }) : _jsx(InnerJoinIcon, {
1488
- style: {
1489
- marginRight: '0.5rem',
1490
- cursor: 'pointer'
1491
- }
1492
- })
1493
- }), meta.isSubquery ? _jsxs("div", {
1494
- className: cx("Sqb-TableName", {
1495
- notSelected: !subQuerySelected
1496
- }),
1497
- onClick: function onClick() {
1498
- showSubQuery(meta.subquery);
1499
- },
1500
- children: [subQuerySelected && _jsx(_Fragment, {
1501
- children: function () {
1502
- var showButton = store.tableEnableAlias || tableIsError() && isDel;
1503
- var icon = isDel ? _jsx(ExclamationCircleFill, {}) : store.tableEnableAlias ? 'As' : '';
1504
- return showButton ? _jsx(Tooltip, {
1505
- title: __(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
1506
- children: _jsx(Button, {
1507
- danger: tableIsError(),
1508
- className: cx(':Sqb-TableName-as', {
1509
- isError: tableIsError()
1510
- }),
1511
- shape: 'circle',
1512
- style: isDel ? {
1513
- fontSize: 18,
1514
- backgroundColor: '#fff',
1515
- width: 'auto',
1516
- height: 'auto'
1517
- } : {},
1518
- iconOnly: true,
1519
- primary: !isDel,
1520
- icon: icon,
1521
- size: 'small',
1522
- onClick: function onClick(e) {
1523
- if (store.tableEnableAlias) {
1524
- var _meta$table4;
1525
- e.stopPropagation();
1526
- onChangeTableAlias(((_meta$table4 = meta.table2) === null || _meta$table4 === void 0 ? void 0 : _meta$table4.alias) || '');
1502
+ onClick: function onClick() {
1503
+ showSubQuery(meta.subquery);
1504
+ },
1505
+ children: [subQuerySelected && _jsx(_Fragment, {
1506
+ children: function () {
1507
+ var showButton = store.tableEnableAlias || tableIsError() && isDel;
1508
+ var icon = isDel ? _jsx(ExclamationCircleFill, {}) : store.tableEnableAlias ? 'As' : '';
1509
+ return showButton ? _jsx(Tooltip, {
1510
+ title: __(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
1511
+ children: _jsx(Button, {
1512
+ danger: tableIsError(),
1513
+ className: cx(':Sqb-TableName-as', {
1514
+ isError: tableIsError()
1515
+ }),
1516
+ shape: 'circle',
1517
+ style: isDel ? {
1518
+ fontSize: 18,
1519
+ backgroundColor: '#fff',
1520
+ width: 'auto',
1521
+ height: 'auto'
1522
+ } : {},
1523
+ iconOnly: true,
1524
+ primary: !isDel,
1525
+ icon: icon,
1526
+ size: 'small',
1527
+ onClick: function onClick(e) {
1528
+ if (store.tableEnableAlias) {
1529
+ var _meta$table4;
1530
+ e.stopPropagation();
1531
+ onChangeTableAlias(((_meta$table4 = meta.table2) === null || _meta$table4 === void 0 ? void 0 : _meta$table4.alias) || '');
1532
+ }
1527
1533
  }
1528
- }
1529
- })
1530
- }) : null;
1531
- }()
1532
- })
1533
- // <Tooltip
1534
- // title={__(
1535
- // tableIsError()
1536
- // ? isDel
1537
- // ? 'metabase.verify'
1538
- // : 'SqlQueryBuilder.repeatAlias'
1539
- // : 'SqlQueryBuilder.alias',
1540
- // )}
1541
- // >
1542
- // <Button
1543
- // danger={tableIsError()}
1544
- // className={cx(':Sqb-TableName-as', {
1545
- // isError: tableIsError(),
1546
- // })}
1547
- // shape='circle'
1548
- // style={
1549
- // isDel
1550
- // ? {
1551
- // fontSize: 18,
1552
- // backgroundColor: '#fff',
1553
- // width: 'auto',
1554
- // height: 'auto',
1555
- // }
1556
- // : {}
1557
- // }
1558
- // iconOnly
1559
- // primary={!isDel}
1560
- // icon={isDel ? <ExclamationCircleFill /> : 'As'}
1561
- // size='small'
1562
- // onClick={(e) => {
1563
- // e.stopPropagation();
1564
- // onChangeTableAlias(meta.table2?.alias || '');
1565
- // }}
1566
- // ></Button>
1567
- // </Tooltip>
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) : '', " ") : __('SqlQueryBuilder.setSubQuery')]
1569
- }) : _jsxs("div", {
1570
- className: cx("Sqb-TableName", {
1571
- notSelected: !table2Selected
1572
- }),
1573
- onClick: selectTable,
1574
- children: [table2Selected && _jsx(_Fragment, {
1575
- children: function () {
1576
- var showButton = store.tableEnableAlias || tableIsError() && isDel;
1577
- var icon = isDel ? _jsx(ExclamationCircleFill, {}) : store.tableEnableAlias ? 'As' : '';
1578
- return showButton ? _jsx(Tooltip, {
1579
- title: __(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
1580
- children: _jsx(Button, {
1581
- danger: tableIsError(),
1582
- className: cx(':Sqb-TableName-as', {
1583
- isError: tableIsError()
1584
- }),
1585
- shape: 'circle',
1586
- style: isDel ? {
1587
- fontSize: 18,
1588
- backgroundColor: '#fff',
1589
- width: 'auto',
1590
- height: 'auto'
1591
- } : {},
1592
- iconOnly: true,
1593
- primary: !isDel,
1594
- icon: icon,
1595
- size: 'small',
1596
- onClick: function onClick(e) {
1597
- if (store.tableEnableAlias) {
1598
- var _meta$table7;
1599
- e.stopPropagation();
1600
- onChangeTableAlias(((_meta$table7 = meta.table2) === null || _meta$table7 === void 0 ? void 0 : _meta$table7.alias) || '');
1534
+ })
1535
+ }) : null;
1536
+ }()
1537
+ })
1538
+ // <Tooltip
1539
+ // title={__(
1540
+ // tableIsError()
1541
+ // ? isDel
1542
+ // ? 'metabase.verify'
1543
+ // : 'SqlQueryBuilder.repeatAlias'
1544
+ // : 'SqlQueryBuilder.alias',
1545
+ // )}
1546
+ // >
1547
+ // <Button
1548
+ // danger={tableIsError()}
1549
+ // className={cx(':Sqb-TableName-as', {
1550
+ // isError: tableIsError(),
1551
+ // })}
1552
+ // shape='circle'
1553
+ // style={
1554
+ // isDel
1555
+ // ? {
1556
+ // fontSize: 18,
1557
+ // backgroundColor: '#fff',
1558
+ // width: 'auto',
1559
+ // height: 'auto',
1560
+ // }
1561
+ // : {}
1562
+ // }
1563
+ // iconOnly
1564
+ // primary={!isDel}
1565
+ // icon={isDel ? <ExclamationCircleFill /> : 'As'}
1566
+ // size='small'
1567
+ // onClick={(e) => {
1568
+ // e.stopPropagation();
1569
+ // onChangeTableAlias(meta.table2?.alias || '');
1570
+ // }}
1571
+ // ></Button>
1572
+ // </Tooltip>
1573
+ , 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) : '', " ") : __('SqlQueryBuilder.setSubQuery')]
1574
+ }) : _jsxs("div", {
1575
+ className: cx("Sqb-TableName", {
1576
+ notSelected: !table2Selected
1577
+ }),
1578
+ onClick: selectTable,
1579
+ children: [table2Selected && _jsx(_Fragment, {
1580
+ children: function () {
1581
+ var showButton = store.tableEnableAlias || tableIsError() && isDel;
1582
+ var icon = isDel ? _jsx(ExclamationCircleFill, {}) : store.tableEnableAlias ? 'As' : '';
1583
+ return showButton ? _jsx(Tooltip, {
1584
+ title: __(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
1585
+ children: _jsx(Button, {
1586
+ danger: tableIsError(),
1587
+ className: cx(':Sqb-TableName-as', {
1588
+ isError: tableIsError()
1589
+ }),
1590
+ shape: 'circle',
1591
+ style: isDel ? {
1592
+ fontSize: 18,
1593
+ backgroundColor: '#fff',
1594
+ width: 'auto',
1595
+ height: 'auto'
1596
+ } : {},
1597
+ iconOnly: true,
1598
+ primary: !isDel,
1599
+ icon: icon,
1600
+ size: 'small',
1601
+ onClick: function onClick(e) {
1602
+ if (store.tableEnableAlias) {
1603
+ var _meta$table7;
1604
+ e.stopPropagation();
1605
+ onChangeTableAlias(((_meta$table7 = meta.table2) === null || _meta$table7 === void 0 ? void 0 : _meta$table7.alias) || '');
1606
+ }
1601
1607
  }
1602
- }
1603
- })
1604
- }) : null;
1605
- }()
1606
- })
1607
- // <Tooltip
1608
- // title={__(
1609
- // tableIsError()
1610
- // ? isDel
1611
- // ? 'metabase.verify'
1612
- // : 'SqlQueryBuilder.repeatAlias'
1613
- // : 'SqlQueryBuilder.alias',
1614
- // )}
1615
- // >
1616
- // <Button
1617
- // danger={tableIsError()}
1618
- // className={cx(':Sqb-TableName-as', {
1619
- // isError: tableIsError(),
1620
- // })}
1621
- // shape='circle'
1622
- // style={
1623
- // isDel
1624
- // ? {
1625
- // fontSize: 18,
1626
- // backgroundColor: '#fff',
1627
- // width: 'auto',
1628
- // height: 'auto',
1629
- // }
1630
- // : {}
1631
- // }
1632
- // iconOnly
1633
- // primary={!isDel}
1634
- // icon={isDel ? <ExclamationCircleFill /> : 'As'}
1635
- // size='small'
1636
- // onClick={(e) => {
1637
- // e.stopPropagation();
1638
- // onChangeTableAlias(meta.table2?.alias || '');
1639
- // }}
1640
- // ></Button>
1641
- // </Tooltip>
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) : '') : __('SqlQueryBuilder.pickTable')]
1643
- }), store.showSubquery && _jsx(Tooltip, {
1644
- title: __('SqlQueryBuilder.switchSubQuery'),
1645
- children: _jsx(Button, {
1646
- disabled: meta.readonly,
1647
- primary: meta.isSubquery,
1648
- ghost: true,
1649
- className: cx('mr-2 operator-icon', _defineProperty({}, 'subquery-icon', !meta.isSubquery)),
1650
- icon: _jsx(RelatedWork, {}),
1651
- onClick: switchSubQuery
1652
- })
1653
- }), ((_meta$table0 = meta.table2) === null || _meta$table0 === void 0 ? void 0 : _meta$table0.name) && ((_meta$table1 = meta.table1) === null || _meta$table1 === void 0 ? void 0 : _meta$table1.name) && ((_meta$expressions = meta.expressions) === null || _meta$expressions === void 0 ? void 0 : _meta$expressions.map(function (v, i) {
1654
- if (v.type === AtomsTypeEnum.JOIN_DEFAULT) {
1655
- return _jsxs("div", {
1656
- className: cx("Sqb-where block"),
1657
- children: [i == 0 && _jsx("span", {
1658
- className: 'ml-2 mr-4 text-gray-500',
1659
- children: "on"
1660
- }), renderItem(v.lhs, ExpressionsEnum.LEFT, i), _jsx(Tooltip, {
1661
- title: __('SqlQueryBuilder.switch'),
1662
- children: _jsx(Button, {
1663
- disabled: meta.readonly,
1664
- primary: true,
1665
- ghost: true,
1666
- className: 'mr-2 operator-icon',
1667
- icon: _jsx(Repeat, {}),
1668
- onClick: function onClick(e) {
1669
- onChangeType(e, {
1670
- position: ExpressionsEnum.LEFT,
1671
- index: i
1672
- });
1673
- }
1674
- })
1675
- }), _jsx("span", {
1676
- className: 'mr-2 text-gray-500',
1677
- children: "="
1678
- }), renderItem(v.rhs, ExpressionsEnum.RIGHT, i), _jsx(Tooltip, {
1679
- title: __('SqlQueryBuilder.switch'),
1680
- children: _jsx(Button, {
1681
- disabled: meta.readonly,
1682
- primary: true,
1683
- ghost: true,
1684
- className: 'mr-2 operator-icon',
1685
- icon: _jsx(Repeat, {}),
1686
- onClick: function onClick(e) {
1687
- onChangeType(e, {
1688
- position: ExpressionsEnum.RIGHT,
1689
- index: i
1690
- });
1691
- }
1692
- })
1693
- }), _jsx(Tooltip, {
1694
- title: __('SqlQueryBuilder.add'),
1695
- children: _jsx(Dropdown, {
1696
- trigger: ['click'],
1697
- onChange: function onChange(key) {
1698
- addExpression(key, i);
1699
- },
1700
- droplist: menuTypes,
1608
+ })
1609
+ }) : null;
1610
+ }()
1611
+ })
1612
+ // <Tooltip
1613
+ // title={__(
1614
+ // tableIsError()
1615
+ // ? isDel
1616
+ // ? 'metabase.verify'
1617
+ // : 'SqlQueryBuilder.repeatAlias'
1618
+ // : 'SqlQueryBuilder.alias',
1619
+ // )}
1620
+ // >
1621
+ // <Button
1622
+ // danger={tableIsError()}
1623
+ // className={cx(':Sqb-TableName-as', {
1624
+ // isError: tableIsError(),
1625
+ // })}
1626
+ // shape='circle'
1627
+ // style={
1628
+ // isDel
1629
+ // ? {
1630
+ // fontSize: 18,
1631
+ // backgroundColor: '#fff',
1632
+ // width: 'auto',
1633
+ // height: 'auto',
1634
+ // }
1635
+ // : {}
1636
+ // }
1637
+ // iconOnly
1638
+ // primary={!isDel}
1639
+ // icon={isDel ? <ExclamationCircleFill /> : 'As'}
1640
+ // size='small'
1641
+ // onClick={(e) => {
1642
+ // e.stopPropagation();
1643
+ // onChangeTableAlias(meta.table2?.alias || '');
1644
+ // }}
1645
+ // ></Button>
1646
+ // </Tooltip>
1647
+ , 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) : '') : __('SqlQueryBuilder.pickTable')]
1648
+ }), store.showSubquery && _jsx(Tooltip, {
1649
+ title: __('SqlQueryBuilder.switchSubQuery'),
1650
+ children: _jsx(Button, {
1651
+ disabled: meta.readonly,
1652
+ primary: meta.isSubquery,
1653
+ ghost: true,
1654
+ className: cx('mr-2 operator-icon', _defineProperty({}, 'subquery-icon', !meta.isSubquery)),
1655
+ icon: _jsx(RelatedWork, {}),
1656
+ onClick: switchSubQuery
1657
+ })
1658
+ }), ((_meta$table0 = meta.table2) === null || _meta$table0 === void 0 ? void 0 : _meta$table0.name) && ((_meta$table1 = meta.table1) === null || _meta$table1 === void 0 ? void 0 : _meta$table1.name) && ((_meta$expressions = meta.expressions) === null || _meta$expressions === void 0 ? void 0 : _meta$expressions.map(function (v, i) {
1659
+ if (v.type === AtomsTypeEnum.JOIN_DEFAULT) {
1660
+ return _jsxs("div", {
1661
+ className: cx("Sqb-where block"),
1662
+ children: [i == 0 && _jsx("span", {
1663
+ className: 'ml-2 mr-4 text-gray-500',
1664
+ children: "on"
1665
+ }), renderItem(v.lhs, ExpressionsEnum.LEFT, i), _jsx(Tooltip, {
1666
+ title: __('SqlQueryBuilder.switch'),
1701
1667
  children: _jsx(Button, {
1702
1668
  disabled: meta.readonly,
1703
1669
  primary: true,
1704
1670
  ghost: true,
1705
1671
  className: 'mr-2 operator-icon',
1706
- icon: _jsx(FfPlus, {})
1672
+ icon: _jsx(Repeat, {}),
1673
+ onClick: function onClick(e) {
1674
+ onChangeType(e, {
1675
+ position: ExpressionsEnum.LEFT,
1676
+ index: i
1677
+ });
1678
+ }
1707
1679
  })
1708
- })
1709
- }), _jsx(Tooltip, {
1710
- title: __('SqlQueryBuilder.del'),
1711
- children: _jsx(Button, {
1712
- disabled: meta.readonly,
1713
- danger: true,
1714
- className: 'mr-2 operator-icon',
1715
- icon: _jsx(FfLine, {}),
1716
- onClick: function onClick() {
1717
- var index = findIndex(store.metaList[groupIndex].list, meta);
1718
- var newMeta = store.metaList[groupIndex].list.slice();
1719
- newMeta[index].expressions.splice(i, 1);
1720
- store.setMeta(newMeta, groupIndex);
1721
- }
1722
- })
1723
- })]
1724
- }, i);
1725
- }
1726
- if (v.type === AtomsTypeEnum.OPERATOR) {
1727
- return _jsxs("div", {
1728
- className: cx("Sqb-where block"),
1729
- children: [i == 0 && _jsx("span", {
1730
- className: 'ml-2 mr-4 text-gray-500',
1731
- children: "on"
1732
- }), _jsx(Dropdown, {
1733
- trigger: ['click'],
1734
- onChange: function onChange(key) {
1735
- changeOperator(key, i);
1736
- },
1737
- droplist: menuOperator,
1738
- children: _jsx(Button, {
1739
- className: 'ml-2 mr-4 text-gray-500',
1740
- type: 'link',
1741
- children: v.val
1742
- })
1743
- }), _jsx(Tooltip, {
1744
- title: __('SqlQueryBuilder.add'),
1745
- children: _jsx(Dropdown, {
1746
- trigger: ['click'],
1747
- onChange: function onChange(key) {
1748
- addExpression(key, i);
1749
- },
1750
- droplist: menuTypes,
1680
+ }), _jsx("span", {
1681
+ className: 'mr-2 text-gray-500',
1682
+ children: "="
1683
+ }), renderItem(v.rhs, ExpressionsEnum.RIGHT, i), _jsx(Tooltip, {
1684
+ title: __('SqlQueryBuilder.switch'),
1751
1685
  children: _jsx(Button, {
1752
1686
  disabled: meta.readonly,
1753
1687
  primary: true,
1754
1688
  ghost: true,
1755
1689
  className: 'mr-2 operator-icon',
1756
- icon: _jsx(FfPlus, {})
1690
+ icon: _jsx(Repeat, {}),
1691
+ onClick: function onClick(e) {
1692
+ onChangeType(e, {
1693
+ position: ExpressionsEnum.RIGHT,
1694
+ index: i
1695
+ });
1696
+ }
1757
1697
  })
1758
- })
1759
- }), _jsx(Tooltip, {
1760
- title: __('SqlQueryBuilder.del'),
1761
- children: _jsx(Button, {
1762
- disabled: meta.readonly,
1763
- danger: true,
1764
- className: 'mr-2 operator-icon',
1765
- icon: _jsx(FfLine, {}),
1766
- onClick: function onClick() {
1767
- var index = findIndex(store.metaList[groupIndex].list, meta);
1768
- var newMeta = store.metaList[groupIndex].list.slice();
1769
- newMeta[index].expressions.splice(i, 1);
1770
- store.setMeta(newMeta, groupIndex);
1771
- }
1772
- })
1773
- })]
1774
- }, i);
1775
- }
1776
- if (v.type === AtomsTypeEnum.EXPRESSION) {
1777
- return _jsxs("div", {
1778
- className: cx("Sqb-where block"),
1779
- children: [i == 0 && _jsx("span", {
1780
- className: 'ml-2 mr-4 text-gray-500',
1781
- children: "on"
1782
- }), _jsx(ItemName, {
1783
- isError: isError(v, getTableColumns()),
1784
- children: _jsx("div", {
1785
- className: cx("Sqb-TableName purple-name", {
1786
- notSelected: !v.quotes
1787
- }),
1788
- onClick: function onClick(e) {
1789
- return changeExpression(e, i);
1790
- },
1791
- children: v.quotes || __('joinData.selectExpression')
1792
- }, i)
1793
- }), _jsx(Tooltip, {
1794
- title: __('SqlQueryBuilder.add'),
1795
- children: _jsx(Dropdown, {
1796
- trigger: ['click'],
1797
- onChange: function onChange(key) {
1798
- addExpression(key, i);
1799
- },
1800
- droplist: menuTypes,
1698
+ }), _jsx(Tooltip, {
1699
+ title: __('SqlQueryBuilder.add'),
1700
+ children: _jsx(Dropdown, {
1701
+ trigger: ['click'],
1702
+ onChange: function onChange(key) {
1703
+ addExpression(key, i);
1704
+ },
1705
+ droplist: menuTypes,
1706
+ children: _jsx(Button, {
1707
+ disabled: meta.readonly,
1708
+ primary: true,
1709
+ ghost: true,
1710
+ className: 'mr-2 operator-icon',
1711
+ icon: _jsx(FfPlus, {})
1712
+ })
1713
+ })
1714
+ }), _jsx(Tooltip, {
1715
+ title: __('SqlQueryBuilder.del'),
1801
1716
  children: _jsx(Button, {
1802
1717
  disabled: meta.readonly,
1803
- primary: true,
1804
- ghost: true,
1718
+ danger: true,
1805
1719
  className: 'mr-2 operator-icon',
1806
- icon: _jsx(FfPlus, {})
1720
+ icon: _jsx(FfLine, {}),
1721
+ onClick: function onClick() {
1722
+ var index = findIndex(store.metaList[groupIndex].list, meta);
1723
+ var newMeta = store.metaList[groupIndex].list.slice();
1724
+ newMeta[index].expressions.splice(i, 1);
1725
+ store.setMeta(newMeta, groupIndex);
1726
+ }
1807
1727
  })
1808
- })
1809
- }), _jsx(Tooltip, {
1810
- title: __('SqlQueryBuilder.del'),
1811
- children: _jsx(Button, {
1812
- disabled: meta.readonly,
1813
- danger: true,
1814
- className: 'mr-2 operator-icon',
1815
- icon: _jsx(FfLine, {}),
1816
- onClick: function onClick() {
1817
- var index = findIndex(store.metaList[groupIndex].list, meta);
1818
- var newMeta = store.metaList[groupIndex].list.slice();
1819
- newMeta[index].expressions.splice(i, 1);
1820
- store.setMeta(newMeta, groupIndex);
1821
- }
1822
- })
1823
- })]
1824
- }, i);
1825
- }
1826
- if (v.type === AtomsTypeEnum.COLLECTION) {
1827
- return _jsxs("div", {
1828
- className: cx(" Sqb-collection-box"),
1829
- children: [i == 0 && _jsx("span", {
1830
- className: 'ml-2 mr-4 text-gray-500',
1831
- children: "on"
1832
- }), _jsx(FormulaList, {
1833
- _type: FormulaTypeEnum.JOIN_DATA,
1834
- // showPreview={false}
1835
- // check={formulaList?.[fun.name]?.args?.[i]?.check || ''}
1836
- value: v.list,
1837
- data: getCollectionTableColumns(),
1838
- // ref={ref}
1839
- onChange: function onChange(data, _quotes) {
1840
- var newMeta = store.metaList[groupIndex].list.slice();
1841
- newMeta[index].expressions[i].list = data;
1842
- newMeta[index].expressions[i].quotes = _quotes;
1843
- store.setMeta(newMeta, groupIndex, {
1844
- obj: newMeta[index].expressions,
1845
- type: ChangeType.expressions
1846
- });
1847
- }
1848
- }), _jsx(Tooltip, {
1849
- title: __('SqlQueryBuilder.add'),
1850
- children: _jsx(Dropdown, {
1728
+ })]
1729
+ }, i);
1730
+ }
1731
+ if (v.type === AtomsTypeEnum.OPERATOR) {
1732
+ return _jsxs("div", {
1733
+ className: cx("Sqb-where block"),
1734
+ children: [i == 0 && _jsx("span", {
1735
+ className: 'ml-2 mr-4 text-gray-500',
1736
+ children: "on"
1737
+ }), _jsx(Dropdown, {
1851
1738
  trigger: ['click'],
1852
1739
  onChange: function onChange(key) {
1853
- addExpression(key, i);
1740
+ changeOperator(key, i);
1854
1741
  },
1855
- droplist: menuTypes,
1742
+ droplist: menuOperator,
1743
+ children: _jsx(Button, {
1744
+ className: 'ml-2 mr-4 text-gray-500',
1745
+ type: 'link',
1746
+ children: v.val
1747
+ })
1748
+ }), _jsx(Tooltip, {
1749
+ title: __('SqlQueryBuilder.add'),
1750
+ children: _jsx(Dropdown, {
1751
+ trigger: ['click'],
1752
+ onChange: function onChange(key) {
1753
+ addExpression(key, i);
1754
+ },
1755
+ droplist: menuTypes,
1756
+ children: _jsx(Button, {
1757
+ disabled: meta.readonly,
1758
+ primary: true,
1759
+ ghost: true,
1760
+ className: 'mr-2 operator-icon',
1761
+ icon: _jsx(FfPlus, {})
1762
+ })
1763
+ })
1764
+ }), _jsx(Tooltip, {
1765
+ title: __('SqlQueryBuilder.del'),
1856
1766
  children: _jsx(Button, {
1857
1767
  disabled: meta.readonly,
1858
- primary: true,
1859
- ghost: true,
1768
+ danger: true,
1860
1769
  className: 'mr-2 operator-icon',
1861
- icon: _jsx(FfPlus, {})
1770
+ icon: _jsx(FfLine, {}),
1771
+ onClick: function onClick() {
1772
+ var index = findIndex(store.metaList[groupIndex].list, meta);
1773
+ var newMeta = store.metaList[groupIndex].list.slice();
1774
+ newMeta[index].expressions.splice(i, 1);
1775
+ store.setMeta(newMeta, groupIndex);
1776
+ }
1862
1777
  })
1863
- })
1864
- }), _jsx(Tooltip, {
1865
- title: __('SqlQueryBuilder.del'),
1866
- children: _jsx(Button, {
1867
- disabled: meta.readonly,
1868
- danger: true,
1869
- className: 'mr-2 operator-icon',
1870
- icon: _jsx(FfLine, {}),
1871
- onClick: function onClick() {
1872
- var index = findIndex(store.metaList[groupIndex].list, meta);
1778
+ })]
1779
+ }, i);
1780
+ }
1781
+ if (v.type === AtomsTypeEnum.EXPRESSION) {
1782
+ return _jsxs("div", {
1783
+ className: cx("Sqb-where block"),
1784
+ children: [i == 0 && _jsx("span", {
1785
+ className: 'ml-2 mr-4 text-gray-500',
1786
+ children: "on"
1787
+ }), _jsx(ItemName, {
1788
+ isError: isError(v, getTableColumns()),
1789
+ children: _jsx("div", {
1790
+ className: cx("Sqb-TableName purple-name", {
1791
+ notSelected: !v.quotes
1792
+ }),
1793
+ onClick: function onClick(e) {
1794
+ return changeExpression(e, i);
1795
+ },
1796
+ children: v.quotes || __('joinData.selectExpression')
1797
+ }, i)
1798
+ }), _jsx(Tooltip, {
1799
+ title: __('SqlQueryBuilder.add'),
1800
+ children: _jsx(Dropdown, {
1801
+ trigger: ['click'],
1802
+ onChange: function onChange(key) {
1803
+ addExpression(key, i);
1804
+ },
1805
+ droplist: menuTypes,
1806
+ children: _jsx(Button, {
1807
+ disabled: meta.readonly,
1808
+ primary: true,
1809
+ ghost: true,
1810
+ className: 'mr-2 operator-icon',
1811
+ icon: _jsx(FfPlus, {})
1812
+ })
1813
+ })
1814
+ }), _jsx(Tooltip, {
1815
+ title: __('SqlQueryBuilder.del'),
1816
+ children: _jsx(Button, {
1817
+ disabled: meta.readonly,
1818
+ danger: true,
1819
+ className: 'mr-2 operator-icon',
1820
+ icon: _jsx(FfLine, {}),
1821
+ onClick: function onClick() {
1822
+ var index = findIndex(store.metaList[groupIndex].list, meta);
1823
+ var newMeta = store.metaList[groupIndex].list.slice();
1824
+ newMeta[index].expressions.splice(i, 1);
1825
+ store.setMeta(newMeta, groupIndex);
1826
+ }
1827
+ })
1828
+ })]
1829
+ }, i);
1830
+ }
1831
+ if (v.type === AtomsTypeEnum.COLLECTION) {
1832
+ return _jsxs("div", {
1833
+ className: cx(" Sqb-collection-box"),
1834
+ children: [i == 0 && _jsx("span", {
1835
+ className: 'ml-2 mr-4 text-gray-500',
1836
+ children: "on"
1837
+ }), _jsx(FormulaList, {
1838
+ _type: FormulaTypeEnum.JOIN_DATA,
1839
+ // showPreview={false}
1840
+ // check={formulaList?.[fun.name]?.args?.[i]?.check || ''}
1841
+ value: v.list,
1842
+ data: getCollectionTableColumns(),
1843
+ // ref={ref}
1844
+ onChange: function onChange(data, _quotes) {
1873
1845
  var newMeta = store.metaList[groupIndex].list.slice();
1874
- newMeta[index].expressions.splice(i, 1);
1875
- store.setMeta(newMeta, groupIndex);
1846
+ newMeta[index].expressions[i].list = data;
1847
+ newMeta[index].expressions[i].quotes = _quotes;
1848
+ store.setMeta(newMeta, groupIndex, {
1849
+ obj: newMeta[index].expressions,
1850
+ type: ChangeType.expressions
1851
+ });
1876
1852
  }
1877
- })
1878
- })]
1879
- }, i);
1880
- }
1881
- })), ((_meta$table10 = meta.table2) === null || _meta$table10 === void 0 ? void 0 : _meta$table10.name) && ((_meta$table11 = meta.table1) === null || _meta$table11 === void 0 ? void 0 : _meta$table11.name) && (((_meta$expressions2 = meta.expressions) === null || _meta$expressions2 === void 0 ? void 0 : _meta$expressions2.length) || 0) < 1 && _jsx(Tooltip, {
1882
- title: __('SqlQueryBuilder.add'),
1883
- children: _jsx(Dropdown, {
1884
- trigger: ['click'],
1885
- onChange: function onChange(key) {
1886
- addExpression(key);
1887
- },
1888
- droplist: menuTypes,
1889
- children: _jsx(Button, {
1890
- disabled: meta.readonly,
1891
- primary: true,
1892
- ghost: true,
1893
- className: 'mr-2 operator-icon',
1894
- icon: _jsx(FfPlus, {})
1853
+ }), _jsx(Tooltip, {
1854
+ title: __('SqlQueryBuilder.add'),
1855
+ children: _jsx(Dropdown, {
1856
+ trigger: ['click'],
1857
+ onChange: function onChange(key) {
1858
+ addExpression(key, i);
1859
+ },
1860
+ droplist: menuTypes,
1861
+ children: _jsx(Button, {
1862
+ disabled: meta.readonly,
1863
+ primary: true,
1864
+ ghost: true,
1865
+ className: 'mr-2 operator-icon',
1866
+ icon: _jsx(FfPlus, {})
1867
+ })
1868
+ })
1869
+ }), _jsx(Tooltip, {
1870
+ title: __('SqlQueryBuilder.del'),
1871
+ children: _jsx(Button, {
1872
+ disabled: meta.readonly,
1873
+ danger: true,
1874
+ className: 'mr-2 operator-icon',
1875
+ icon: _jsx(FfLine, {}),
1876
+ onClick: function onClick() {
1877
+ var index = findIndex(store.metaList[groupIndex].list, meta);
1878
+ var newMeta = store.metaList[groupIndex].list.slice();
1879
+ newMeta[index].expressions.splice(i, 1);
1880
+ store.setMeta(newMeta, groupIndex);
1881
+ }
1882
+ })
1883
+ })]
1884
+ }, i);
1885
+ }
1886
+ })), ((_meta$table10 = meta.table2) === null || _meta$table10 === void 0 ? void 0 : _meta$table10.name) && ((_meta$table11 = meta.table1) === null || _meta$table11 === void 0 ? void 0 : _meta$table11.name) && (((_meta$expressions2 = meta.expressions) === null || _meta$expressions2 === void 0 ? void 0 : _meta$expressions2.length) || 0) < 1 && _jsx(Tooltip, {
1887
+ title: __('SqlQueryBuilder.add'),
1888
+ children: _jsx(Dropdown, {
1889
+ trigger: ['click'],
1890
+ onChange: function onChange(key) {
1891
+ addExpression(key);
1892
+ },
1893
+ droplist: menuTypes,
1894
+ children: _jsx(Button, {
1895
+ disabled: meta.readonly,
1896
+ primary: true,
1897
+ ghost: true,
1898
+ className: 'mr-2 operator-icon',
1899
+ icon: _jsx(FfPlus, {})
1900
+ })
1895
1901
  })
1896
- })
1897
- }), columnsSelected && (((_store$showMainColumn = store.showMainColumn[groupIndex]) === null || _store$showMainColumn === void 0 ? void 0 : _store$showMainColumn.showColumn) || ((_store$showMainColumn2 = store.showMainColumn[groupIndex]) === null || _store$showMainColumn2 === void 0 ? void 0 : _store$showMainColumn2.index) < index) && !store.isExit && store.showFields && _jsx("div", {
1898
- className: "Sqb-TableColumns",
1899
- onClick: selectColumns,
1900
- children: __('SqlQueryBuilder.columns')
1901
- })]
1902
+ }), columnsSelected && (((_store$showMainColumn = store.showMainColumn[groupIndex]) === null || _store$showMainColumn === void 0 ? void 0 : _store$showMainColumn.showColumn) || ((_store$showMainColumn2 = store.showMainColumn[groupIndex]) === null || _store$showMainColumn2 === void 0 ? void 0 : _store$showMainColumn2.index) < index) && (!store.isExit || store.isSubquery) && store.showFields && _jsx("div", {
1903
+ className: "Sqb-TableColumns",
1904
+ onClick: selectColumns,
1905
+ children: __('SqlQueryBuilder.columns')
1906
+ })]
1907
+ })
1902
1908
  })
1903
1909
  }), _jsx(NextDom, {
1904
1910
  meta: meta,