@gingkoo/pandora-metabase 1.0.39 → 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.
@@ -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, {