@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$
|
|
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
|
|
138
|
+
var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
97
139
|
var newMetaList;
|
|
98
|
-
return _regenerator["default"].wrap(function (
|
|
99
|
-
while (1) switch (
|
|
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
|
-
|
|
144
|
+
_context2.next = 1;
|
|
103
145
|
break;
|
|
104
146
|
}
|
|
105
147
|
_pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasForRules'));
|
|
106
|
-
return
|
|
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
|
|
156
|
+
return _context2.stop();
|
|
115
157
|
}
|
|
116
|
-
},
|
|
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$
|
|
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$
|
|
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:
|
|
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$
|
|
305
|
+
var _meta$table3;
|
|
258
306
|
e.stopPropagation();
|
|
259
|
-
onChangeTableAlias(((_meta$
|
|
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$
|
|
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:
|
|
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$
|
|
335
|
+
var _meta$table6;
|
|
282
336
|
e.stopPropagation();
|
|
283
|
-
onChangeTableAlias(((_meta$
|
|
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$
|
|
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, {
|