@gingkoo/pandora-metabase 1.0.40 → 1.0.41

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.
@@ -5,12 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = void 0;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
10
8
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
10
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
11
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
12
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
13
14
  var _jsxRuntime = require("react/jsx-runtime");
15
+ var _react = require("react");
14
16
  var _classnames = _interopRequireDefault(require("classnames"));
15
17
  var _pandora = require("@gingkoo/pandora");
16
18
  var _pandoraIcons = require("@gingkoo/pandora-icons");
@@ -67,7 +69,7 @@ var menuOperator = operators.map(function (v) {
67
69
  };
68
70
  });
69
71
  var JoinData = function JoinData(props) {
70
- var _meta$subquery, _meta$subquery2, _meta$subquery3, _meta$table3, _meta$table4, _meta$table6, _meta$table7, _meta$table8, _meta$table9, _meta$expressions, _meta$table0, _meta$table1, _meta$expressions2, _store$showMainColumn, _store$showMainColumn2;
72
+ var _meta$subquery, _meta$subquery2, _meta$subquery3, _meta$table4, _meta$table5, _meta$table7, _meta$table8, _meta$table9, _meta$table0, _meta$expressions, _meta$table1, _meta$table10, _meta$expressions2, _store$showMainColumn, _store$showMainColumn2;
71
73
  var meta = props.meta,
72
74
  groupIndex = props.groupIndex;
73
75
  var store = (0, _useProvider.useStore)();
@@ -81,6 +83,45 @@ var JoinData = function JoinData(props) {
81
83
  var _getHelper = (0, _utils.getHelper)(store.metaList[groupIndex].list, meta),
82
84
  prevTables = _getHelper.prevTables,
83
85
  prevGroupBy = _getHelper.prevGroupBy;
86
+ var _useState = (0, _react.useState)(false),
87
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
88
+ isDel = _useState2[0],
89
+ setIsDel = _useState2[1];
90
+ var tableIsDel = /*#__PURE__*/function () {
91
+ var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
92
+ var _meta$table;
93
+ var tableName, tables, names;
94
+ return _regenerator["default"].wrap(function (_context) {
95
+ while (1) switch (_context.prev = _context.next) {
96
+ case 0:
97
+ tableName = (_meta$table = meta.table2) === null || _meta$table === void 0 ? void 0 : _meta$table.name;
98
+ _context.next = 1;
99
+ return store === null || store === void 0 ? void 0 : store.fetchDataset(meta.table2.datasourceId);
100
+ case 1:
101
+ tables = _context.sent;
102
+ names = (tables === null || tables === void 0 ? void 0 : tables.map(function (v) {
103
+ return v.name;
104
+ })) || [];
105
+ if (!names.includes(tableName)) {
106
+ setIsDel(true);
107
+ } else {
108
+ setIsDel(false);
109
+ }
110
+ case 2:
111
+ case "end":
112
+ return _context.stop();
113
+ }
114
+ }, _callee);
115
+ }));
116
+ return function tableIsDel() {
117
+ return _ref.apply(this, arguments);
118
+ };
119
+ }();
120
+ (0, _react.useEffect)(function () {
121
+ setTimeout(function () {
122
+ tableIsDel();
123
+ }, 0);
124
+ }, [meta]);
84
125
  // const ref = useRef(null);
85
126
  // useEffect(() => {
86
127
  // let newMetaList = store.metaList[groupIndex].list.slice();
@@ -520,6 +561,7 @@ var JoinData = function JoinData(props) {
520
561
  // store.setMeta(newMeta, groupIndex);
521
562
  });
522
563
  }
564
+ setIsDel(false);
523
565
  store.setPopup({
524
566
  visible: false
525
567
  });
@@ -933,10 +975,10 @@ var JoinData = function JoinData(props) {
933
975
  });
934
976
  }
935
977
  // 修改输入框类型
936
- function onChangeType(e, _ref) {
937
- var _ref$position = _ref.position,
938
- position = _ref$position === void 0 ? 'rhs' : _ref$position,
939
- _ind = _ref.index;
978
+ function onChangeType(e, _ref2) {
979
+ var _ref2$position = _ref2.position,
980
+ position = _ref2$position === void 0 ? 'rhs' : _ref2$position,
981
+ _ind = _ref2.index;
940
982
  var index = (0, _utils.findIndex)(store.metaList[groupIndex].list, meta);
941
983
  var newMeta = store.metaList[groupIndex].list.slice();
942
984
  store.setPopup({
@@ -1006,13 +1048,13 @@ var JoinData = function JoinData(props) {
1006
1048
  })
1007
1049
  });
1008
1050
  }
1009
- function onChangeString(val, _ref2) {
1010
- var _ref2$position = _ref2.position,
1011
- position = _ref2$position === void 0 ? 'rhs' : _ref2$position,
1012
- _ref2$index = _ref2.index1,
1013
- index1 = _ref2$index === void 0 ? 0 : _ref2$index,
1014
- _ref2$index2 = _ref2.index2,
1015
- index2 = _ref2$index2 === void 0 ? 0 : _ref2$index2;
1051
+ function onChangeString(val, _ref3) {
1052
+ var _ref3$position = _ref3.position,
1053
+ position = _ref3$position === void 0 ? 'rhs' : _ref3$position,
1054
+ _ref3$index = _ref3.index1,
1055
+ index1 = _ref3$index === void 0 ? 0 : _ref3$index,
1056
+ _ref3$index2 = _ref3.index2,
1057
+ index2 = _ref3$index2 === void 0 ? 0 : _ref3$index2;
1016
1058
  // : 'rhs'
1017
1059
  var index = (0, _utils.findIndex)(store.metaList[groupIndex].list, meta);
1018
1060
  var newMeta = store.metaList[groupIndex].list.slice();
@@ -1120,17 +1162,17 @@ var JoinData = function JoinData(props) {
1120
1162
  }
1121
1163
  }),
1122
1164
  onOk: function () {
1123
- var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
1165
+ var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
1124
1166
  var index, newMeta;
1125
- return _regenerator["default"].wrap(function (_context) {
1126
- while (1) switch (_context.prev = _context.next) {
1167
+ return _regenerator["default"].wrap(function (_context2) {
1168
+ while (1) switch (_context2.prev = _context2.next) {
1127
1169
  case 0:
1128
1170
  if ((0, _utils.isValidSQLAlias)(alias)) {
1129
- _context.next = 1;
1171
+ _context2.next = 1;
1130
1172
  break;
1131
1173
  }
1132
1174
  _pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasForRules'));
1133
- return _context.abrupt("return", false);
1175
+ return _context2.abrupt("return", false);
1134
1176
  case 1:
1135
1177
  index = (0, _utils.findIndex)(store.metaList[groupIndex].list, meta);
1136
1178
  newMeta = store.metaList[groupIndex].list.slice();
@@ -1139,9 +1181,9 @@ var JoinData = function JoinData(props) {
1139
1181
  store.setMeta(newMeta, groupIndex);
1140
1182
  case 2:
1141
1183
  case "end":
1142
- return _context.stop();
1184
+ return _context2.stop();
1143
1185
  }
1144
- }, _callee);
1186
+ }, _callee2);
1145
1187
  }));
1146
1188
  function onOk() {
1147
1189
  return _onOk.apply(this, arguments);
@@ -1360,12 +1402,12 @@ var JoinData = function JoinData(props) {
1360
1402
  }
1361
1403
  };
1362
1404
  var tableIsError = function tableIsError() {
1363
- var _store$preProps4, _meta$table;
1405
+ var _store$preProps4, _meta$table2;
1364
1406
  var aliass = ((_store$preProps4 = store.preProps) === null || _store$preProps4 === void 0 || (_store$preProps4 = _store$preProps4.notExistsColumns) === null || _store$preProps4 === void 0 ? void 0 : _store$preProps4.map(function (v) {
1365
1407
  return v.alias;
1366
1408
  })) || [];
1367
- var tableAlias = (_meta$table = meta.table2) === null || _meta$table === void 0 ? void 0 : _meta$table.alias;
1368
- if (tableAlias && aliass.includes(tableAlias)) {
1409
+ var tableAlias = (_meta$table2 = meta.table2) === null || _meta$table2 === void 0 ? void 0 : _meta$table2.alias;
1410
+ if (tableAlias && aliass.includes(tableAlias) || isDel) {
1369
1411
  return true;
1370
1412
  }
1371
1413
  return false;
@@ -1419,48 +1461,60 @@ var JoinData = function JoinData(props) {
1419
1461
  showSubQuery(meta.subquery);
1420
1462
  },
1421
1463
  children: [subQuerySelected && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1422
- title: (0, _locale.__)(tableIsError() ? 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
1464
+ title: (0, _locale.__)(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
1423
1465
  children: (0, _jsxRuntime.jsx)(_pandora.Button, {
1424
1466
  danger: tableIsError(),
1425
1467
  className: (0, _classnames["default"])(':Sqb-TableName-as', {
1426
1468
  isError: tableIsError()
1427
1469
  }),
1428
1470
  shape: 'circle',
1471
+ style: isDel ? {
1472
+ fontSize: 18,
1473
+ backgroundColor: '#fff',
1474
+ width: 'auto',
1475
+ height: 'auto'
1476
+ } : {},
1429
1477
  iconOnly: true,
1430
- primary: true,
1431
- icon: 'As',
1478
+ primary: !isDel,
1479
+ icon: isDel ? (0, _jsxRuntime.jsx)(_pandoraIcons.ExclamationCircleFill, {}) : 'As',
1432
1480
  size: 'small',
1433
1481
  onClick: function onClick(e) {
1434
- var _meta$table2;
1482
+ var _meta$table3;
1435
1483
  e.stopPropagation();
1436
- onChangeTableAlias(((_meta$table2 = meta.table2) === null || _meta$table2 === void 0 ? void 0 : _meta$table2.alias) || '');
1484
+ onChangeTableAlias(((_meta$table3 = meta.table2) === null || _meta$table3 === void 0 ? void 0 : _meta$table3.alias) || '');
1437
1485
  }
1438
1486
  })
1439
- }), 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$table3 = meta.table2) !== null && _meta$table3 !== void 0 && _meta$table3.alias ? "as ".concat((_meta$table4 = meta.table2) === null || _meta$table4 === void 0 ? void 0 : _meta$table4.alias) : '', " ") : (0, _locale.__)('SqlQueryBuilder.setSubQuery')]
1487
+ }), 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$table4 = meta.table2) !== null && _meta$table4 !== void 0 && _meta$table4.alias ? "as ".concat((_meta$table5 = meta.table2) === null || _meta$table5 === void 0 ? void 0 : _meta$table5.alias) : '', " ") : (0, _locale.__)('SqlQueryBuilder.setSubQuery')]
1440
1488
  }) : (0, _jsxRuntime.jsxs)("div", {
1441
1489
  className: (0, _classnames["default"])("Sqb-TableName", {
1442
1490
  notSelected: !table2Selected
1443
1491
  }),
1444
1492
  onClick: selectTable,
1445
1493
  children: [table2Selected && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1446
- title: (0, _locale.__)(tableIsError() ? 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
1494
+ title: (0, _locale.__)(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
1447
1495
  children: (0, _jsxRuntime.jsx)(_pandora.Button, {
1448
1496
  danger: tableIsError(),
1449
1497
  className: (0, _classnames["default"])(':Sqb-TableName-as', {
1450
1498
  isError: tableIsError()
1451
1499
  }),
1452
1500
  shape: 'circle',
1501
+ style: isDel ? {
1502
+ fontSize: 18,
1503
+ backgroundColor: '#fff',
1504
+ width: 'auto',
1505
+ height: 'auto'
1506
+ } : {},
1453
1507
  iconOnly: true,
1454
- primary: true,
1455
- icon: 'As',
1508
+ primary: !isDel,
1509
+ icon: isDel ? (0, _jsxRuntime.jsx)(_pandoraIcons.ExclamationCircleFill, {}) : 'As',
1456
1510
  size: 'small',
1457
1511
  onClick: function onClick(e) {
1458
- var _meta$table5;
1512
+ var _meta$table6;
1459
1513
  e.stopPropagation();
1460
- onChangeTableAlias(((_meta$table5 = meta.table2) === null || _meta$table5 === void 0 ? void 0 : _meta$table5.alias) || '');
1514
+ onChangeTableAlias(((_meta$table6 = meta.table2) === null || _meta$table6 === void 0 ? void 0 : _meta$table6.alias) || '');
1461
1515
  }
1462
1516
  })
1463
- }), table2Selected ? "".concat(meta.table2.datasourceName, ".").concat(meta.table2.name, " ").concat((_meta$table6 = meta.table2) !== null && _meta$table6 !== void 0 && _meta$table6.alias ? "as ".concat((_meta$table7 = meta.table2) === null || _meta$table7 === void 0 ? void 0 : _meta$table7.alias) : '') : (0, _locale.__)('SqlQueryBuilder.pickTable')]
1517
+ }), table2Selected ? "".concat(meta.table2.datasourceName, ".").concat(meta.table2.name, " ").concat((_meta$table7 = meta.table2) !== null && _meta$table7 !== void 0 && _meta$table7.alias ? "as ".concat((_meta$table8 = meta.table2) === null || _meta$table8 === void 0 ? void 0 : _meta$table8.alias) : '') : (0, _locale.__)('SqlQueryBuilder.pickTable')]
1464
1518
  }), store.showSubquery && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1465
1519
  title: (0, _locale.__)('SqlQueryBuilder.switchSubQuery'),
1466
1520
  children: (0, _jsxRuntime.jsx)(_pandora.Button, {
@@ -1471,7 +1525,7 @@ var JoinData = function JoinData(props) {
1471
1525
  icon: (0, _jsxRuntime.jsx)(_pandoraIcons.RelatedWork, {}),
1472
1526
  onClick: switchSubQuery
1473
1527
  })
1474
- }), ((_meta$table8 = meta.table2) === null || _meta$table8 === void 0 ? void 0 : _meta$table8.name) && ((_meta$table9 = meta.table1) === null || _meta$table9 === void 0 ? void 0 : _meta$table9.name) && ((_meta$expressions = meta.expressions) === null || _meta$expressions === void 0 ? void 0 : _meta$expressions.map(function (v, i) {
1528
+ }), ((_meta$table9 = meta.table2) === null || _meta$table9 === void 0 ? void 0 : _meta$table9.name) && ((_meta$table0 = meta.table1) === null || _meta$table0 === void 0 ? void 0 : _meta$table0.name) && ((_meta$expressions = meta.expressions) === null || _meta$expressions === void 0 ? void 0 : _meta$expressions.map(function (v, i) {
1475
1529
  if (v.type === _types.AtomsTypeEnum.JOIN_DEFAULT) {
1476
1530
  return (0, _jsxRuntime.jsxs)("div", {
1477
1531
  className: (0, _classnames["default"])("Sqb-where block"),
@@ -1698,7 +1752,7 @@ var JoinData = function JoinData(props) {
1698
1752
  })]
1699
1753
  }, i);
1700
1754
  }
1701
- })), ((_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$expressions2 = meta.expressions) === null || _meta$expressions2 === void 0 ? void 0 : _meta$expressions2.length) || 0) < 1 && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1755
+ })), ((_meta$table1 = meta.table2) === null || _meta$table1 === void 0 ? void 0 : _meta$table1.name) && ((_meta$table10 = meta.table1) === null || _meta$table10 === void 0 ? void 0 : _meta$table10.name) && (((_meta$expressions2 = meta.expressions) === null || _meta$expressions2 === void 0 ? void 0 : _meta$expressions2.length) || 0) < 1 && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1702
1756
  title: (0, _locale.__)('SqlQueryBuilder.add'),
1703
1757
  children: (0, _jsxRuntime.jsx)(_pandora.Dropdown, {
1704
1758
  trigger: ['click'],
@@ -8,9 +8,11 @@ exports["default"] = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
9
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
10
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
12
11
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
13
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
13
14
  var _jsxRuntime = require("react/jsx-runtime");
15
+ var _react = require("react");
14
16
  var _classnames = _interopRequireDefault(require("classnames"));
15
17
  var _locale = require("../../locale");
16
18
  var _pandora = require("@gingkoo/pandora");
@@ -27,12 +29,51 @@ var _header = _interopRequireDefault(require("./components/header"));
27
29
  var _useProvider = require("../../hooks/use-provider");
28
30
  var _excluded = ["subToolbar", "notExistsColumns", "isExit", "toolbar"];
29
31
  var TableData = function TableData(props) {
30
- var _meta$subquery, _meta$subquery2, _meta$subquery3, _meta$table3, _meta$table4, _meta$table6, _meta$table7, _store$showMainColumn;
32
+ var _meta$subquery, _meta$subquery2, _meta$subquery3, _meta$table4, _meta$table5, _meta$table7, _meta$table8, _store$showMainColumn;
31
33
  var meta = props.meta,
32
34
  groupIndex = props.groupIndex;
33
35
  var store = (0, _useProvider.useStore)();
34
36
  var selected = Boolean(meta.table.name);
35
37
  var subQuerySelected = Boolean((_meta$subquery = meta.subquery) === null || _meta$subquery === void 0 || (_meta$subquery = _meta$subquery[0]) === null || _meta$subquery === void 0 || (_meta$subquery = _meta$subquery.table) === null || _meta$subquery === void 0 ? void 0 : _meta$subquery.name);
38
+ var _useState = (0, _react.useState)(false),
39
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
40
+ isDel = _useState2[0],
41
+ setIsDel = _useState2[1];
42
+ var tableIsDel = /*#__PURE__*/function () {
43
+ var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
44
+ var _meta$table;
45
+ var tableName, tables, names;
46
+ return _regenerator["default"].wrap(function (_context) {
47
+ while (1) switch (_context.prev = _context.next) {
48
+ case 0:
49
+ tableName = (_meta$table = meta.table) === null || _meta$table === void 0 ? void 0 : _meta$table.name;
50
+ _context.next = 1;
51
+ return store === null || store === void 0 ? void 0 : store.fetchDataset(meta.table.datasourceId);
52
+ case 1:
53
+ tables = _context.sent;
54
+ names = (tables === null || tables === void 0 ? void 0 : tables.map(function (v) {
55
+ return v.name;
56
+ })) || [];
57
+ if (!names.includes(tableName)) {
58
+ setIsDel(true);
59
+ } else {
60
+ setIsDel(false);
61
+ }
62
+ case 2:
63
+ case "end":
64
+ return _context.stop();
65
+ }
66
+ }, _callee);
67
+ }));
68
+ return function tableIsDel() {
69
+ return _ref.apply(this, arguments);
70
+ };
71
+ }();
72
+ (0, _react.useEffect)(function () {
73
+ setTimeout(function () {
74
+ tableIsDel();
75
+ }, 0);
76
+ }, [meta]);
36
77
  function selectTable(e) {
37
78
  !meta.readonly && store.setPopup({
38
79
  visible: true,
@@ -60,6 +101,7 @@ var TableData = function TableData(props) {
60
101
  store.setPopup({
61
102
  visible: false
62
103
  });
104
+ setIsDel(false);
63
105
  }
64
106
  })
65
107
  });
@@ -93,17 +135,17 @@ var TableData = function TableData(props) {
93
135
  }
94
136
  }),
95
137
  onOk: function () {
96
- var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
138
+ var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
97
139
  var newMetaList;
98
- return _regenerator["default"].wrap(function (_context) {
99
- while (1) switch (_context.prev = _context.next) {
140
+ return _regenerator["default"].wrap(function (_context2) {
141
+ while (1) switch (_context2.prev = _context2.next) {
100
142
  case 0:
101
143
  if ((0, _utils.isValidSQLAlias)(alias)) {
102
- _context.next = 1;
144
+ _context2.next = 1;
103
145
  break;
104
146
  }
105
147
  _pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasForRules'));
106
- return _context.abrupt("return", false);
148
+ return _context2.abrupt("return", false);
107
149
  case 1:
108
150
  newMetaList = store.metaList[groupIndex].list.slice(); // @ts-ignore
109
151
  newMetaList[0].table.alias = alias;
@@ -111,9 +153,9 @@ var TableData = function TableData(props) {
111
153
  store.setMeta(newMetaList, groupIndex);
112
154
  case 2:
113
155
  case "end":
114
- return _context.stop();
156
+ return _context2.stop();
115
157
  }
116
- }, _callee);
158
+ }, _callee2);
117
159
  }));
118
160
  function onOk() {
119
161
  return _onOk.apply(this, arguments);
@@ -214,12 +256,12 @@ var TableData = function TableData(props) {
214
256
  store.setMeta(newMetaList, groupIndex);
215
257
  };
216
258
  var tableIsError = function tableIsError() {
217
- var _store$preProps3, _meta$table;
259
+ var _store$preProps3, _meta$table2;
218
260
  var aliass = ((_store$preProps3 = store.preProps) === null || _store$preProps3 === void 0 || (_store$preProps3 = _store$preProps3.notExistsColumns) === null || _store$preProps3 === void 0 ? void 0 : _store$preProps3.map(function (v) {
219
261
  return v.alias;
220
262
  })) || [];
221
- var tableAlias = (_meta$table = meta.table) === null || _meta$table === void 0 ? void 0 : _meta$table.alias;
222
- if (tableAlias && aliass.includes(tableAlias)) {
263
+ var tableAlias = (_meta$table2 = meta.table) === null || _meta$table2 === void 0 ? void 0 : _meta$table2.alias;
264
+ if (tableAlias && aliass.includes(tableAlias) || isDel) {
223
265
  return true;
224
266
  }
225
267
  return false;
@@ -242,48 +284,60 @@ var TableData = function TableData(props) {
242
284
  showSubQuery(meta.subquery);
243
285
  },
244
286
  children: [subQuerySelected && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
245
- title: (0, _locale.__)(tableIsError() ? 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
287
+ title: (0, _locale.__)(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
246
288
  children: (0, _jsxRuntime.jsx)(_pandora.Button, {
247
289
  danger: tableIsError(),
248
290
  className: (0, _classnames["default"])(':Sqb-TableName-as', {
249
291
  isError: tableIsError()
250
292
  }),
251
293
  shape: 'circle',
294
+ style: isDel ? {
295
+ fontSize: 18,
296
+ backgroundColor: '#fff',
297
+ width: 'auto',
298
+ height: 'auto'
299
+ } : {},
252
300
  iconOnly: true,
253
- primary: true,
254
- icon: 'As',
301
+ primary: !isDel,
302
+ icon: isDel ? (0, _jsxRuntime.jsx)(_pandoraIcons.ExclamationCircleFill, {}) : 'As',
255
303
  size: 'small',
256
304
  onClick: function onClick(e) {
257
- var _meta$table2;
305
+ var _meta$table3;
258
306
  e.stopPropagation();
259
- onChangeTableAlias(((_meta$table2 = meta.table) === null || _meta$table2 === void 0 ? void 0 : _meta$table2.alias) || '');
307
+ onChangeTableAlias(((_meta$table3 = meta.table) === null || _meta$table3 === void 0 ? void 0 : _meta$table3.alias) || '');
260
308
  }
261
309
  })
262
- }), 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$table3 = meta.table) !== null && _meta$table3 !== void 0 && _meta$table3.alias ? "as ".concat((_meta$table4 = meta.table) === null || _meta$table4 === void 0 ? void 0 : _meta$table4.alias) : '', " ") : (0, _locale.__)('SqlQueryBuilder.setSubQuery')]
310
+ }), 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$table4 = meta.table) !== null && _meta$table4 !== void 0 && _meta$table4.alias ? "as ".concat((_meta$table5 = meta.table) === null || _meta$table5 === void 0 ? void 0 : _meta$table5.alias) : '', " ") : (0, _locale.__)('SqlQueryBuilder.setSubQuery')]
263
311
  }) : (0, _jsxRuntime.jsxs)("div", {
264
312
  className: (0, _classnames["default"])("Sqb-TableName", {
265
313
  notSelected: !selected
266
314
  }),
267
315
  onClick: selectTable,
268
316
  children: [selected && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
269
- title: (0, _locale.__)(tableIsError() ? 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
317
+ title: (0, _locale.__)(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
270
318
  children: (0, _jsxRuntime.jsx)(_pandora.Button, {
271
319
  danger: tableIsError(),
272
320
  className: (0, _classnames["default"])(':Sqb-TableName-as', {
273
321
  isError: tableIsError()
274
322
  }),
275
323
  shape: 'circle',
324
+ style: isDel ? {
325
+ fontSize: 18,
326
+ backgroundColor: '#fff',
327
+ width: 'auto',
328
+ height: 'auto'
329
+ } : {},
276
330
  iconOnly: true,
277
- primary: true,
278
- icon: 'As',
331
+ primary: !isDel,
332
+ icon: isDel ? (0, _jsxRuntime.jsx)(_pandoraIcons.ExclamationCircleFill, {}) : 'As',
279
333
  size: 'small',
280
334
  onClick: function onClick(e) {
281
- var _meta$table5;
335
+ var _meta$table6;
282
336
  e.stopPropagation();
283
- onChangeTableAlias(((_meta$table5 = meta.table) === null || _meta$table5 === void 0 ? void 0 : _meta$table5.alias) || '');
337
+ onChangeTableAlias(((_meta$table6 = meta.table) === null || _meta$table6 === void 0 ? void 0 : _meta$table6.alias) || '');
284
338
  }
285
339
  })
286
- }), selected ? "".concat(meta.table.datasourceName, ".").concat(meta.table.name, " ").concat((_meta$table6 = meta.table) !== null && _meta$table6 !== void 0 && _meta$table6.alias ? "as ".concat((_meta$table7 = meta.table) === null || _meta$table7 === void 0 ? void 0 : _meta$table7.alias) : '') : (0, _locale.__)('SqlQueryBuilder.pickTable')]
340
+ }), selected ? "".concat(meta.table.datasourceName, ".").concat(meta.table.name, " ").concat((_meta$table7 = meta.table) !== null && _meta$table7 !== void 0 && _meta$table7.alias ? "as ".concat((_meta$table8 = meta.table) === null || _meta$table8 === void 0 ? void 0 : _meta$table8.alias) : '') : (0, _locale.__)('SqlQueryBuilder.pickTable')]
287
341
  }), store.showSubquery && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
288
342
  title: (0, _locale.__)('SqlQueryBuilder.switchSubQuery'),
289
343
  children: (0, _jsxRuntime.jsx)(_pandora.Button, {
@@ -1,10 +1,12 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
1
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
2
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
4
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
5
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
6
  var _excluded = ["subToolbar", "notExistsColumns", "isExit", "toolbar"];
6
7
  import _regeneratorRuntime from "@babel/runtime/regenerator";
7
8
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
9
+ import { useEffect, useState } from 'react';
8
10
  import cx from 'classnames';
9
11
  import { Button, Tooltip, Input, Modal2, Modal, Toast, Dropdown, InputNumber } from '@gingkoo/pandora';
10
12
  import { FfPlus, FfLine, Repeat, RelatedWork } from '@gingkoo/pandora-icons';
@@ -25,6 +27,7 @@ import Header from './components/header';
25
27
  import SelectList from '../dialog/select-list';
26
28
  import { LeftJoinIcon, InnerJoinIcon } from '../icons';
27
29
  import { SelectTable, SelectJoin, SelectColumnMultiple, SelectColumn, Expression, SelectPermissionTable, FormulaList, getTemplateItem } from '../dialog';
30
+ import { ExclamationCircleFill } from '@gingkoo/pandora-icons';
28
31
  import { useStore } from '../../hooks/use-provider';
29
32
  var PrevResult = 'Previous results';
30
33
  var operators = ['AND', 'OR', '(', ')', ',', '+', '-', '*', '/', '!=', '<=', '>=', '<', '>', '='];
@@ -61,7 +64,7 @@ var menuOperator = operators.map(function (v) {
61
64
  };
62
65
  });
63
66
  var JoinData = function JoinData(props) {
64
- var _meta$subquery, _meta$subquery2, _meta$subquery3, _meta$table3, _meta$table4, _meta$table6, _meta$table7, _meta$table8, _meta$table9, _meta$expressions, _meta$table0, _meta$table1, _meta$expressions2, _store$showMainColumn, _store$showMainColumn2;
67
+ var _meta$subquery, _meta$subquery2, _meta$subquery3, _meta$table4, _meta$table5, _meta$table7, _meta$table8, _meta$table9, _meta$table0, _meta$expressions, _meta$table1, _meta$table10, _meta$expressions2, _store$showMainColumn, _store$showMainColumn2;
65
68
  var meta = props.meta,
66
69
  groupIndex = props.groupIndex;
67
70
  var store = useStore();
@@ -75,6 +78,45 @@ var JoinData = function JoinData(props) {
75
78
  var _getHelper = getHelper(store.metaList[groupIndex].list, meta),
76
79
  prevTables = _getHelper.prevTables,
77
80
  prevGroupBy = _getHelper.prevGroupBy;
81
+ var _useState = useState(false),
82
+ _useState2 = _slicedToArray(_useState, 2),
83
+ isDel = _useState2[0],
84
+ setIsDel = _useState2[1];
85
+ var tableIsDel = /*#__PURE__*/function () {
86
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
87
+ var _meta$table;
88
+ var tableName, tables, names;
89
+ return _regeneratorRuntime.wrap(function (_context) {
90
+ while (1) switch (_context.prev = _context.next) {
91
+ case 0:
92
+ tableName = (_meta$table = meta.table2) === null || _meta$table === void 0 ? void 0 : _meta$table.name;
93
+ _context.next = 1;
94
+ return store === null || store === void 0 ? void 0 : store.fetchDataset(meta.table2.datasourceId);
95
+ case 1:
96
+ tables = _context.sent;
97
+ names = (tables === null || tables === void 0 ? void 0 : tables.map(function (v) {
98
+ return v.name;
99
+ })) || [];
100
+ if (!names.includes(tableName)) {
101
+ setIsDel(true);
102
+ } else {
103
+ setIsDel(false);
104
+ }
105
+ case 2:
106
+ case "end":
107
+ return _context.stop();
108
+ }
109
+ }, _callee);
110
+ }));
111
+ return function tableIsDel() {
112
+ return _ref.apply(this, arguments);
113
+ };
114
+ }();
115
+ useEffect(function () {
116
+ setTimeout(function () {
117
+ tableIsDel();
118
+ }, 0);
119
+ }, [meta]);
78
120
  // const ref = useRef(null);
79
121
  // useEffect(() => {
80
122
  // let newMetaList = store.metaList[groupIndex].list.slice();
@@ -514,6 +556,7 @@ var JoinData = function JoinData(props) {
514
556
  // store.setMeta(newMeta, groupIndex);
515
557
  });
516
558
  }
559
+ setIsDel(false);
517
560
  store.setPopup({
518
561
  visible: false
519
562
  });
@@ -927,10 +970,10 @@ var JoinData = function JoinData(props) {
927
970
  });
928
971
  }
929
972
  // 修改输入框类型
930
- function onChangeType(e, _ref) {
931
- var _ref$position = _ref.position,
932
- position = _ref$position === void 0 ? 'rhs' : _ref$position,
933
- _ind = _ref.index;
973
+ function onChangeType(e, _ref2) {
974
+ var _ref2$position = _ref2.position,
975
+ position = _ref2$position === void 0 ? 'rhs' : _ref2$position,
976
+ _ind = _ref2.index;
934
977
  var index = findIndex(store.metaList[groupIndex].list, meta);
935
978
  var newMeta = store.metaList[groupIndex].list.slice();
936
979
  store.setPopup({
@@ -1000,13 +1043,13 @@ var JoinData = function JoinData(props) {
1000
1043
  })
1001
1044
  });
1002
1045
  }
1003
- function onChangeString(val, _ref2) {
1004
- var _ref2$position = _ref2.position,
1005
- position = _ref2$position === void 0 ? 'rhs' : _ref2$position,
1006
- _ref2$index = _ref2.index1,
1007
- index1 = _ref2$index === void 0 ? 0 : _ref2$index,
1008
- _ref2$index2 = _ref2.index2,
1009
- index2 = _ref2$index2 === void 0 ? 0 : _ref2$index2;
1046
+ function onChangeString(val, _ref3) {
1047
+ var _ref3$position = _ref3.position,
1048
+ position = _ref3$position === void 0 ? 'rhs' : _ref3$position,
1049
+ _ref3$index = _ref3.index1,
1050
+ index1 = _ref3$index === void 0 ? 0 : _ref3$index,
1051
+ _ref3$index2 = _ref3.index2,
1052
+ index2 = _ref3$index2 === void 0 ? 0 : _ref3$index2;
1010
1053
  // : 'rhs'
1011
1054
  var index = findIndex(store.metaList[groupIndex].list, meta);
1012
1055
  var newMeta = store.metaList[groupIndex].list.slice();
@@ -1114,17 +1157,17 @@ var JoinData = function JoinData(props) {
1114
1157
  }
1115
1158
  }),
1116
1159
  onOk: function () {
1117
- var _onOk = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
1160
+ var _onOk = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
1118
1161
  var index, newMeta;
1119
- return _regeneratorRuntime.wrap(function (_context) {
1120
- while (1) switch (_context.prev = _context.next) {
1162
+ return _regeneratorRuntime.wrap(function (_context2) {
1163
+ while (1) switch (_context2.prev = _context2.next) {
1121
1164
  case 0:
1122
1165
  if (isValidSQLAlias(alias)) {
1123
- _context.next = 1;
1166
+ _context2.next = 1;
1124
1167
  break;
1125
1168
  }
1126
1169
  Toast.warning(__('SqlQueryBuilder.aliasForRules'));
1127
- return _context.abrupt("return", false);
1170
+ return _context2.abrupt("return", false);
1128
1171
  case 1:
1129
1172
  index = findIndex(store.metaList[groupIndex].list, meta);
1130
1173
  newMeta = store.metaList[groupIndex].list.slice();
@@ -1133,9 +1176,9 @@ var JoinData = function JoinData(props) {
1133
1176
  store.setMeta(newMeta, groupIndex);
1134
1177
  case 2:
1135
1178
  case "end":
1136
- return _context.stop();
1179
+ return _context2.stop();
1137
1180
  }
1138
- }, _callee);
1181
+ }, _callee2);
1139
1182
  }));
1140
1183
  function onOk() {
1141
1184
  return _onOk.apply(this, arguments);
@@ -1354,12 +1397,12 @@ var JoinData = function JoinData(props) {
1354
1397
  }
1355
1398
  };
1356
1399
  var tableIsError = function tableIsError() {
1357
- var _store$preProps4, _meta$table;
1400
+ var _store$preProps4, _meta$table2;
1358
1401
  var aliass = ((_store$preProps4 = store.preProps) === null || _store$preProps4 === void 0 || (_store$preProps4 = _store$preProps4.notExistsColumns) === null || _store$preProps4 === void 0 ? void 0 : _store$preProps4.map(function (v) {
1359
1402
  return v.alias;
1360
1403
  })) || [];
1361
- var tableAlias = (_meta$table = meta.table2) === null || _meta$table === void 0 ? void 0 : _meta$table.alias;
1362
- if (tableAlias && aliass.includes(tableAlias)) {
1404
+ var tableAlias = (_meta$table2 = meta.table2) === null || _meta$table2 === void 0 ? void 0 : _meta$table2.alias;
1405
+ if (tableAlias && aliass.includes(tableAlias) || isDel) {
1363
1406
  return true;
1364
1407
  }
1365
1408
  return false;
@@ -1413,48 +1456,60 @@ var JoinData = function JoinData(props) {
1413
1456
  showSubQuery(meta.subquery);
1414
1457
  },
1415
1458
  children: [subQuerySelected && _jsx(Tooltip, {
1416
- title: __(tableIsError() ? 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
1459
+ title: __(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
1417
1460
  children: _jsx(Button, {
1418
1461
  danger: tableIsError(),
1419
1462
  className: cx(':Sqb-TableName-as', {
1420
1463
  isError: tableIsError()
1421
1464
  }),
1422
1465
  shape: 'circle',
1466
+ style: isDel ? {
1467
+ fontSize: 18,
1468
+ backgroundColor: '#fff',
1469
+ width: 'auto',
1470
+ height: 'auto'
1471
+ } : {},
1423
1472
  iconOnly: true,
1424
- primary: true,
1425
- icon: 'As',
1473
+ primary: !isDel,
1474
+ icon: isDel ? _jsx(ExclamationCircleFill, {}) : 'As',
1426
1475
  size: 'small',
1427
1476
  onClick: function onClick(e) {
1428
- var _meta$table2;
1477
+ var _meta$table3;
1429
1478
  e.stopPropagation();
1430
- onChangeTableAlias(((_meta$table2 = meta.table2) === null || _meta$table2 === void 0 ? void 0 : _meta$table2.alias) || '');
1479
+ onChangeTableAlias(((_meta$table3 = meta.table2) === null || _meta$table3 === void 0 ? void 0 : _meta$table3.alias) || '');
1431
1480
  }
1432
1481
  })
1433
- }), 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$table3 = meta.table2) !== null && _meta$table3 !== void 0 && _meta$table3.alias ? "as ".concat((_meta$table4 = meta.table2) === null || _meta$table4 === void 0 ? void 0 : _meta$table4.alias) : '', " ") : __('SqlQueryBuilder.setSubQuery')]
1482
+ }), 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$table4 = meta.table2) !== null && _meta$table4 !== void 0 && _meta$table4.alias ? "as ".concat((_meta$table5 = meta.table2) === null || _meta$table5 === void 0 ? void 0 : _meta$table5.alias) : '', " ") : __('SqlQueryBuilder.setSubQuery')]
1434
1483
  }) : _jsxs("div", {
1435
1484
  className: cx("Sqb-TableName", {
1436
1485
  notSelected: !table2Selected
1437
1486
  }),
1438
1487
  onClick: selectTable,
1439
1488
  children: [table2Selected && _jsx(Tooltip, {
1440
- title: __(tableIsError() ? 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
1489
+ title: __(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
1441
1490
  children: _jsx(Button, {
1442
1491
  danger: tableIsError(),
1443
1492
  className: cx(':Sqb-TableName-as', {
1444
1493
  isError: tableIsError()
1445
1494
  }),
1446
1495
  shape: 'circle',
1496
+ style: isDel ? {
1497
+ fontSize: 18,
1498
+ backgroundColor: '#fff',
1499
+ width: 'auto',
1500
+ height: 'auto'
1501
+ } : {},
1447
1502
  iconOnly: true,
1448
- primary: true,
1449
- icon: 'As',
1503
+ primary: !isDel,
1504
+ icon: isDel ? _jsx(ExclamationCircleFill, {}) : 'As',
1450
1505
  size: 'small',
1451
1506
  onClick: function onClick(e) {
1452
- var _meta$table5;
1507
+ var _meta$table6;
1453
1508
  e.stopPropagation();
1454
- onChangeTableAlias(((_meta$table5 = meta.table2) === null || _meta$table5 === void 0 ? void 0 : _meta$table5.alias) || '');
1509
+ onChangeTableAlias(((_meta$table6 = meta.table2) === null || _meta$table6 === void 0 ? void 0 : _meta$table6.alias) || '');
1455
1510
  }
1456
1511
  })
1457
- }), table2Selected ? "".concat(meta.table2.datasourceName, ".").concat(meta.table2.name, " ").concat((_meta$table6 = meta.table2) !== null && _meta$table6 !== void 0 && _meta$table6.alias ? "as ".concat((_meta$table7 = meta.table2) === null || _meta$table7 === void 0 ? void 0 : _meta$table7.alias) : '') : __('SqlQueryBuilder.pickTable')]
1512
+ }), table2Selected ? "".concat(meta.table2.datasourceName, ".").concat(meta.table2.name, " ").concat((_meta$table7 = meta.table2) !== null && _meta$table7 !== void 0 && _meta$table7.alias ? "as ".concat((_meta$table8 = meta.table2) === null || _meta$table8 === void 0 ? void 0 : _meta$table8.alias) : '') : __('SqlQueryBuilder.pickTable')]
1458
1513
  }), store.showSubquery && _jsx(Tooltip, {
1459
1514
  title: __('SqlQueryBuilder.switchSubQuery'),
1460
1515
  children: _jsx(Button, {
@@ -1465,7 +1520,7 @@ var JoinData = function JoinData(props) {
1465
1520
  icon: _jsx(RelatedWork, {}),
1466
1521
  onClick: switchSubQuery
1467
1522
  })
1468
- }), ((_meta$table8 = meta.table2) === null || _meta$table8 === void 0 ? void 0 : _meta$table8.name) && ((_meta$table9 = meta.table1) === null || _meta$table9 === void 0 ? void 0 : _meta$table9.name) && ((_meta$expressions = meta.expressions) === null || _meta$expressions === void 0 ? void 0 : _meta$expressions.map(function (v, i) {
1523
+ }), ((_meta$table9 = meta.table2) === null || _meta$table9 === void 0 ? void 0 : _meta$table9.name) && ((_meta$table0 = meta.table1) === null || _meta$table0 === void 0 ? void 0 : _meta$table0.name) && ((_meta$expressions = meta.expressions) === null || _meta$expressions === void 0 ? void 0 : _meta$expressions.map(function (v, i) {
1469
1524
  if (v.type === AtomsTypeEnum.JOIN_DEFAULT) {
1470
1525
  return _jsxs("div", {
1471
1526
  className: cx("Sqb-where block"),
@@ -1692,7 +1747,7 @@ var JoinData = function JoinData(props) {
1692
1747
  })]
1693
1748
  }, i);
1694
1749
  }
1695
- })), ((_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$expressions2 = meta.expressions) === null || _meta$expressions2 === void 0 ? void 0 : _meta$expressions2.length) || 0) < 1 && _jsx(Tooltip, {
1750
+ })), ((_meta$table1 = meta.table2) === null || _meta$table1 === void 0 ? void 0 : _meta$table1.name) && ((_meta$table10 = meta.table1) === null || _meta$table10 === void 0 ? void 0 : _meta$table10.name) && (((_meta$expressions2 = meta.expressions) === null || _meta$expressions2 === void 0 ? void 0 : _meta$expressions2.length) || 0) < 1 && _jsx(Tooltip, {
1696
1751
  title: __('SqlQueryBuilder.add'),
1697
1752
  children: _jsx(Dropdown, {
1698
1753
  trigger: ['click'],
@@ -1,10 +1,12 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
4
3
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
5
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
6
  var _excluded = ["subToolbar", "notExistsColumns", "isExit", "toolbar"];
6
7
  import _regeneratorRuntime from "@babel/runtime/regenerator";
7
8
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
9
+ import { useEffect, useState } from 'react';
8
10
  import cx from 'classnames';
9
11
  import { __ } from '../../locale';
10
12
  import { Tooltip, Button, Modal, Modal2, Input, Toast } from '@gingkoo/pandora';
@@ -18,14 +20,54 @@ import { SelectTable, SelectColumn } from '../dialog';
18
20
  import Wrapper from './components/Wrapper';
19
21
  import NextDom from './components/meta-icon';
20
22
  import Header from './components/header';
23
+ import { ExclamationCircleFill } from '@gingkoo/pandora-icons';
21
24
  import { useStore } from '../../hooks/use-provider';
22
25
  var TableData = function TableData(props) {
23
- var _meta$subquery, _meta$subquery2, _meta$subquery3, _meta$table3, _meta$table4, _meta$table6, _meta$table7, _store$showMainColumn;
26
+ var _meta$subquery, _meta$subquery2, _meta$subquery3, _meta$table4, _meta$table5, _meta$table7, _meta$table8, _store$showMainColumn;
24
27
  var meta = props.meta,
25
28
  groupIndex = props.groupIndex;
26
29
  var store = useStore();
27
30
  var selected = Boolean(meta.table.name);
28
31
  var subQuerySelected = Boolean((_meta$subquery = meta.subquery) === null || _meta$subquery === void 0 || (_meta$subquery = _meta$subquery[0]) === null || _meta$subquery === void 0 || (_meta$subquery = _meta$subquery.table) === null || _meta$subquery === void 0 ? void 0 : _meta$subquery.name);
32
+ var _useState = useState(false),
33
+ _useState2 = _slicedToArray(_useState, 2),
34
+ isDel = _useState2[0],
35
+ setIsDel = _useState2[1];
36
+ var tableIsDel = /*#__PURE__*/function () {
37
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
38
+ var _meta$table;
39
+ var tableName, tables, names;
40
+ return _regeneratorRuntime.wrap(function (_context) {
41
+ while (1) switch (_context.prev = _context.next) {
42
+ case 0:
43
+ tableName = (_meta$table = meta.table) === null || _meta$table === void 0 ? void 0 : _meta$table.name;
44
+ _context.next = 1;
45
+ return store === null || store === void 0 ? void 0 : store.fetchDataset(meta.table.datasourceId);
46
+ case 1:
47
+ tables = _context.sent;
48
+ names = (tables === null || tables === void 0 ? void 0 : tables.map(function (v) {
49
+ return v.name;
50
+ })) || [];
51
+ if (!names.includes(tableName)) {
52
+ setIsDel(true);
53
+ } else {
54
+ setIsDel(false);
55
+ }
56
+ case 2:
57
+ case "end":
58
+ return _context.stop();
59
+ }
60
+ }, _callee);
61
+ }));
62
+ return function tableIsDel() {
63
+ return _ref.apply(this, arguments);
64
+ };
65
+ }();
66
+ useEffect(function () {
67
+ setTimeout(function () {
68
+ tableIsDel();
69
+ }, 0);
70
+ }, [meta]);
29
71
  function selectTable(e) {
30
72
  !meta.readonly && store.setPopup({
31
73
  visible: true,
@@ -53,6 +95,7 @@ var TableData = function TableData(props) {
53
95
  store.setPopup({
54
96
  visible: false
55
97
  });
98
+ setIsDel(false);
56
99
  }
57
100
  })
58
101
  });
@@ -86,17 +129,17 @@ var TableData = function TableData(props) {
86
129
  }
87
130
  }),
88
131
  onOk: function () {
89
- var _onOk = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
132
+ var _onOk = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
90
133
  var newMetaList;
91
- return _regeneratorRuntime.wrap(function (_context) {
92
- while (1) switch (_context.prev = _context.next) {
134
+ return _regeneratorRuntime.wrap(function (_context2) {
135
+ while (1) switch (_context2.prev = _context2.next) {
93
136
  case 0:
94
137
  if (isValidSQLAlias(alias)) {
95
- _context.next = 1;
138
+ _context2.next = 1;
96
139
  break;
97
140
  }
98
141
  Toast.warning(__('SqlQueryBuilder.aliasForRules'));
99
- return _context.abrupt("return", false);
142
+ return _context2.abrupt("return", false);
100
143
  case 1:
101
144
  newMetaList = store.metaList[groupIndex].list.slice(); // @ts-ignore
102
145
  newMetaList[0].table.alias = alias;
@@ -104,9 +147,9 @@ var TableData = function TableData(props) {
104
147
  store.setMeta(newMetaList, groupIndex);
105
148
  case 2:
106
149
  case "end":
107
- return _context.stop();
150
+ return _context2.stop();
108
151
  }
109
- }, _callee);
152
+ }, _callee2);
110
153
  }));
111
154
  function onOk() {
112
155
  return _onOk.apply(this, arguments);
@@ -207,12 +250,12 @@ var TableData = function TableData(props) {
207
250
  store.setMeta(newMetaList, groupIndex);
208
251
  };
209
252
  var tableIsError = function tableIsError() {
210
- var _store$preProps3, _meta$table;
253
+ var _store$preProps3, _meta$table2;
211
254
  var aliass = ((_store$preProps3 = store.preProps) === null || _store$preProps3 === void 0 || (_store$preProps3 = _store$preProps3.notExistsColumns) === null || _store$preProps3 === void 0 ? void 0 : _store$preProps3.map(function (v) {
212
255
  return v.alias;
213
256
  })) || [];
214
- var tableAlias = (_meta$table = meta.table) === null || _meta$table === void 0 ? void 0 : _meta$table.alias;
215
- if (tableAlias && aliass.includes(tableAlias)) {
257
+ var tableAlias = (_meta$table2 = meta.table) === null || _meta$table2 === void 0 ? void 0 : _meta$table2.alias;
258
+ if (tableAlias && aliass.includes(tableAlias) || isDel) {
216
259
  return true;
217
260
  }
218
261
  return false;
@@ -235,48 +278,60 @@ var TableData = function TableData(props) {
235
278
  showSubQuery(meta.subquery);
236
279
  },
237
280
  children: [subQuerySelected && _jsx(Tooltip, {
238
- title: __(tableIsError() ? 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
281
+ title: __(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
239
282
  children: _jsx(Button, {
240
283
  danger: tableIsError(),
241
284
  className: cx(':Sqb-TableName-as', {
242
285
  isError: tableIsError()
243
286
  }),
244
287
  shape: 'circle',
288
+ style: isDel ? {
289
+ fontSize: 18,
290
+ backgroundColor: '#fff',
291
+ width: 'auto',
292
+ height: 'auto'
293
+ } : {},
245
294
  iconOnly: true,
246
- primary: true,
247
- icon: 'As',
295
+ primary: !isDel,
296
+ icon: isDel ? _jsx(ExclamationCircleFill, {}) : 'As',
248
297
  size: 'small',
249
298
  onClick: function onClick(e) {
250
- var _meta$table2;
299
+ var _meta$table3;
251
300
  e.stopPropagation();
252
- onChangeTableAlias(((_meta$table2 = meta.table) === null || _meta$table2 === void 0 ? void 0 : _meta$table2.alias) || '');
301
+ onChangeTableAlias(((_meta$table3 = meta.table) === null || _meta$table3 === void 0 ? void 0 : _meta$table3.alias) || '');
253
302
  }
254
303
  })
255
- }), 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$table3 = meta.table) !== null && _meta$table3 !== void 0 && _meta$table3.alias ? "as ".concat((_meta$table4 = meta.table) === null || _meta$table4 === void 0 ? void 0 : _meta$table4.alias) : '', " ") : __('SqlQueryBuilder.setSubQuery')]
304
+ }), 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$table4 = meta.table) !== null && _meta$table4 !== void 0 && _meta$table4.alias ? "as ".concat((_meta$table5 = meta.table) === null || _meta$table5 === void 0 ? void 0 : _meta$table5.alias) : '', " ") : __('SqlQueryBuilder.setSubQuery')]
256
305
  }) : _jsxs("div", {
257
306
  className: cx("Sqb-TableName", {
258
307
  notSelected: !selected
259
308
  }),
260
309
  onClick: selectTable,
261
310
  children: [selected && _jsx(Tooltip, {
262
- title: __(tableIsError() ? 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
311
+ title: __(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
263
312
  children: _jsx(Button, {
264
313
  danger: tableIsError(),
265
314
  className: cx(':Sqb-TableName-as', {
266
315
  isError: tableIsError()
267
316
  }),
268
317
  shape: 'circle',
318
+ style: isDel ? {
319
+ fontSize: 18,
320
+ backgroundColor: '#fff',
321
+ width: 'auto',
322
+ height: 'auto'
323
+ } : {},
269
324
  iconOnly: true,
270
- primary: true,
271
- icon: 'As',
325
+ primary: !isDel,
326
+ icon: isDel ? _jsx(ExclamationCircleFill, {}) : 'As',
272
327
  size: 'small',
273
328
  onClick: function onClick(e) {
274
- var _meta$table5;
329
+ var _meta$table6;
275
330
  e.stopPropagation();
276
- onChangeTableAlias(((_meta$table5 = meta.table) === null || _meta$table5 === void 0 ? void 0 : _meta$table5.alias) || '');
331
+ onChangeTableAlias(((_meta$table6 = meta.table) === null || _meta$table6 === void 0 ? void 0 : _meta$table6.alias) || '');
277
332
  }
278
333
  })
279
- }), selected ? "".concat(meta.table.datasourceName, ".").concat(meta.table.name, " ").concat((_meta$table6 = meta.table) !== null && _meta$table6 !== void 0 && _meta$table6.alias ? "as ".concat((_meta$table7 = meta.table) === null || _meta$table7 === void 0 ? void 0 : _meta$table7.alias) : '') : __('SqlQueryBuilder.pickTable')]
334
+ }), selected ? "".concat(meta.table.datasourceName, ".").concat(meta.table.name, " ").concat((_meta$table7 = meta.table) !== null && _meta$table7 !== void 0 && _meta$table7.alias ? "as ".concat((_meta$table8 = meta.table) === null || _meta$table8 === void 0 ? void 0 : _meta$table8.alias) : '') : __('SqlQueryBuilder.pickTable')]
280
335
  }), store.showSubquery && _jsx(Tooltip, {
281
336
  title: __('SqlQueryBuilder.switchSubQuery'),
282
337
  children: _jsx(Button, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gingkoo/pandora-metabase",
3
- "version": "1.0.40",
3
+ "version": "1.0.41",
4
4
  "description": "",
5
5
  "main": "lib/es/index.js",
6
6
  "module": "lib/es/index.js",