@gingkoo/pandora-metabase 1.0.26 → 1.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/common/SplitView/index.js +11 -12
- package/lib/cjs/components/dialog/custom-column/expression-editor.js +1 -2
- package/lib/cjs/components/dialog/custom-column/tokenizedI-input.js +1 -2
- package/lib/cjs/components/dialog/expression/index.js +11 -12
- package/lib/cjs/components/dialog/formula-list/index.js +53 -43
- package/lib/cjs/components/dialog/index.js +2 -2
- package/lib/cjs/components/dialog/select-column/index.js +4 -4
- package/lib/cjs/components/dialog/select-column-multiple/index.js +7 -7
- package/lib/cjs/components/dialog/select-join-column/index.js +4 -0
- package/lib/cjs/components/dialog/select-permission-table/index.js +2 -2
- package/lib/cjs/components/dialog/select-table/index.js +7 -7
- package/lib/cjs/components/icons.js +36 -36
- package/lib/cjs/components/metabase/index.js +41 -12
- package/lib/cjs/components/metabase/index.less +3 -0
- package/lib/cjs/components/modules/components/Wrapper.js +6 -6
- package/lib/cjs/components/modules/components/item-name.d.ts +7 -0
- package/lib/cjs/components/modules/components/item-name.js +34 -0
- package/lib/cjs/components/modules/components/meta-icon.js +6 -0
- package/lib/cjs/components/modules/custom-column.js +25 -25
- package/lib/cjs/components/modules/filter.js +2 -2
- package/lib/cjs/components/modules/join-data.js +206 -80
- package/lib/cjs/components/modules/permission-table.js +24 -10
- package/lib/cjs/components/modules/sort.js +17 -13
- package/lib/cjs/components/modules/summarize/group-by.js +90 -38
- package/lib/cjs/components/modules/summarize/select-index.js +84 -38
- package/lib/cjs/components/modules/table-data.js +14 -6
- package/lib/cjs/components/popup.js +1 -2
- package/lib/cjs/hooks/use-state.js +58 -65
- package/lib/cjs/index.js +1 -2
- package/lib/cjs/locale/en.js +5 -2
- package/lib/cjs/locale/zh.js +5 -2
- package/lib/cjs/utils/transformSql.d.ts +6 -0
- package/lib/cjs/utils/transformSql.js +968 -0
- package/lib/cjs/utils.d.ts +7 -1
- package/lib/cjs/utils.js +112 -15
- package/lib/es/common/SplitView/index.js +10 -10
- package/lib/es/components/dialog/expression/index.js +10 -10
- package/lib/es/components/dialog/formula-list/index.js +54 -44
- package/lib/es/components/dialog/select-column/index.js +4 -4
- package/lib/es/components/dialog/select-column-multiple/index.js +7 -7
- package/lib/es/components/dialog/select-join-column/index.js +4 -0
- package/lib/es/components/dialog/select-permission-table/index.js +2 -2
- package/lib/es/components/dialog/select-table/index.js +7 -7
- package/lib/es/components/icons.js +36 -36
- package/lib/es/components/metabase/index.js +42 -13
- package/lib/es/components/metabase/index.less +3 -0
- package/lib/es/components/modules/components/Wrapper.js +6 -6
- package/lib/es/components/modules/components/item-name.d.ts +7 -0
- package/lib/es/components/modules/components/item-name.js +28 -0
- package/lib/es/components/modules/components/meta-icon.js +6 -0
- package/lib/es/components/modules/custom-column.js +26 -26
- package/lib/es/components/modules/filter.js +2 -2
- package/lib/es/components/modules/join-data.js +207 -81
- package/lib/es/components/modules/permission-table.js +24 -10
- package/lib/es/components/modules/sort.js +18 -14
- package/lib/es/components/modules/summarize/group-by.js +92 -40
- package/lib/es/components/modules/summarize/select-index.js +86 -40
- package/lib/es/components/modules/table-data.js +14 -6
- package/lib/es/hooks/use-state.js +58 -65
- package/lib/es/locale/en.js +5 -2
- package/lib/es/locale/zh.js +5 -2
- package/lib/es/utils/transformSql.d.ts +6 -0
- package/lib/es/utils/transformSql.js +961 -0
- package/lib/es/utils.d.ts +7 -1
- package/lib/es/utils.js +102 -4
- package/package.json +1 -1
|
@@ -32,19 +32,19 @@ var Wrapper = function Wrapper(_ref) {
|
|
|
32
32
|
function _animation() {
|
|
33
33
|
_animation = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
34
34
|
var _couterRef$current;
|
|
35
|
-
return _regenerator["default"].wrap(function
|
|
35
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
36
36
|
while (1) switch (_context.prev = _context.next) {
|
|
37
37
|
case 0:
|
|
38
|
-
_context.next =
|
|
38
|
+
_context.next = 1;
|
|
39
39
|
return (0, _helper.sleep)(10);
|
|
40
|
-
case
|
|
40
|
+
case 1:
|
|
41
41
|
setOpacity(1);
|
|
42
42
|
((_couterRef$current = couterRef.current) === null || _couterRef$current === void 0 || (_couterRef$current = _couterRef$current.childNodes) === null || _couterRef$current === void 0 ? void 0 : _couterRef$current.length) && setMaxHeight(couterRef.current.childNodes[0].clientHeight + 16);
|
|
43
|
-
_context.next =
|
|
43
|
+
_context.next = 2;
|
|
44
44
|
return (0, _helper.sleep)(500);
|
|
45
|
-
case
|
|
45
|
+
case 2:
|
|
46
46
|
setMaxHeight('auto');
|
|
47
|
-
case
|
|
47
|
+
case 3:
|
|
48
48
|
case "end":
|
|
49
49
|
return _context.stop();
|
|
50
50
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
+
var _pandora = require("@gingkoo/pandora");
|
|
9
|
+
var _pandoraIcons = require("@gingkoo/pandora-icons");
|
|
10
|
+
var _locale = require("../../../locale");
|
|
11
|
+
var ItemName = function ItemName(props) {
|
|
12
|
+
var children = props.children,
|
|
13
|
+
isError = props.isError;
|
|
14
|
+
return (0, _jsxRuntime.jsx)(_pandora.Badge, {
|
|
15
|
+
offset: [-8, 0],
|
|
16
|
+
count: isError ? (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
|
|
17
|
+
title: (0, _locale.__)('metabase.verify'),
|
|
18
|
+
children: (0, _jsxRuntime.jsx)(_pandora.Button, {
|
|
19
|
+
className: 'isError',
|
|
20
|
+
style: {
|
|
21
|
+
width: '100%',
|
|
22
|
+
height: '100%',
|
|
23
|
+
fontSize: 18
|
|
24
|
+
},
|
|
25
|
+
danger: true,
|
|
26
|
+
size: 'small',
|
|
27
|
+
icon: (0, _jsxRuntime.jsx)(_pandoraIcons.ExclamationCircleFill, {}),
|
|
28
|
+
iconOnly: true
|
|
29
|
+
})
|
|
30
|
+
}) : '',
|
|
31
|
+
children: children
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var _default = exports["default"] = ItemName;
|
|
@@ -153,6 +153,9 @@ var findNextIcon = function findNextIcon(store, props) {
|
|
|
153
153
|
} else {
|
|
154
154
|
available = OrderType.slice(curLocation + 1, nextLocation);
|
|
155
155
|
}
|
|
156
|
+
if (nextType === _enum.TypeEnum.joinData) {
|
|
157
|
+
available = [_enum.TypeEnum.joinData];
|
|
158
|
+
}
|
|
156
159
|
}
|
|
157
160
|
if (type === _enum.TypeEnum.joinData) {
|
|
158
161
|
if (ExistAboveGroupBy && isLast) {
|
|
@@ -173,6 +176,9 @@ var findNextIcon = function findNextIcon(store, props) {
|
|
|
173
176
|
if (nextType !== _enum.TypeEnum.joinData && meta.table2.name) {
|
|
174
177
|
available.unshift(_enum.TypeEnum.joinData);
|
|
175
178
|
}
|
|
179
|
+
if (nextType === _enum.TypeEnum.joinData) {
|
|
180
|
+
available = [_enum.TypeEnum.joinData];
|
|
181
|
+
}
|
|
176
182
|
}
|
|
177
183
|
if (type === _enum.TypeEnum.customColumn) {
|
|
178
184
|
if (ExistAboveGroupBy && isLast) {
|
|
@@ -12,6 +12,7 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/
|
|
|
12
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
13
|
var _pandora = require("@gingkoo/pandora");
|
|
14
14
|
var _useProvider = require("../../hooks/use-provider");
|
|
15
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
16
|
var _locale = require("../../locale");
|
|
16
17
|
var _utils = require("../../utils");
|
|
17
18
|
var _helper = require("../../utils/helper");
|
|
@@ -22,6 +23,7 @@ var _dialog = require("../dialog");
|
|
|
22
23
|
var _Wrapper = _interopRequireDefault(require("./components/Wrapper"));
|
|
23
24
|
var _metaIcon = _interopRequireDefault(require("./components/meta-icon"));
|
|
24
25
|
var _header = _interopRequireDefault(require("./components/header"));
|
|
26
|
+
var _itemName = _interopRequireDefault(require("./components/item-name"));
|
|
25
27
|
var CustomColumn = function CustomColumn(props) {
|
|
26
28
|
var meta = props.meta,
|
|
27
29
|
groupIndex = props.groupIndex;
|
|
@@ -73,14 +75,14 @@ var CustomColumn = function CustomColumn(props) {
|
|
|
73
75
|
function _handleUpdate() {
|
|
74
76
|
_handleUpdate = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(e, i) {
|
|
75
77
|
var node, newMeta, value, columns;
|
|
76
|
-
return _regenerator["default"].wrap(function
|
|
78
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
77
79
|
while (1) switch (_context.prev = _context.next) {
|
|
78
80
|
case 0:
|
|
79
81
|
node = e.currentTarget;
|
|
80
82
|
closePopup();
|
|
81
|
-
_context.next =
|
|
83
|
+
_context.next = 1;
|
|
82
84
|
return (0, _helper.sleep)(100);
|
|
83
|
-
case
|
|
85
|
+
case 1:
|
|
84
86
|
newMeta = store.metaList[groupIndex].list.slice();
|
|
85
87
|
value = customColumn[i];
|
|
86
88
|
columns = getAvailableColumns();
|
|
@@ -102,7 +104,7 @@ var CustomColumn = function CustomColumn(props) {
|
|
|
102
104
|
onClose: closePopup
|
|
103
105
|
})
|
|
104
106
|
});
|
|
105
|
-
case
|
|
107
|
+
case 2:
|
|
106
108
|
case "end":
|
|
107
109
|
return _context.stop();
|
|
108
110
|
}
|
|
@@ -128,8 +130,8 @@ var CustomColumn = function CustomColumn(props) {
|
|
|
128
130
|
tableId: prevGroupBy.alias,
|
|
129
131
|
tableUuid: prevGroupBy.tableUuid || (0, _helper.uuidv4)('table'),
|
|
130
132
|
alias: prevGroupBy.alias,
|
|
131
|
-
datasourceId:
|
|
132
|
-
datasourceName:
|
|
133
|
+
datasourceId: '',
|
|
134
|
+
datasourceName: '',
|
|
133
135
|
columns: []
|
|
134
136
|
};
|
|
135
137
|
if (prevGroupBy !== null && prevGroupBy !== void 0 && (_prevGroupBy$group = prevGroupBy.group) !== null && _prevGroupBy$group !== void 0 && _prevGroupBy$group.length) {
|
|
@@ -161,15 +163,11 @@ var CustomColumn = function CustomColumn(props) {
|
|
|
161
163
|
data = [_data];
|
|
162
164
|
var joinData = prevList.filter(function (v) {
|
|
163
165
|
return v.type === _enum.TypeEnum.joinData;
|
|
164
|
-
})
|
|
165
|
-
// @ts-ignore
|
|
166
|
-
.filter(function (v) {
|
|
166
|
+
}).filter(function (v) {
|
|
167
167
|
return v && v.table2.name;
|
|
168
168
|
});
|
|
169
169
|
if (joinData.length) {
|
|
170
|
-
data = data.concat(
|
|
171
|
-
// @ts-ignore
|
|
172
|
-
joinData.map(function (v) {
|
|
170
|
+
data = data.concat(joinData.map(function (v) {
|
|
173
171
|
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v.table2), {}, {
|
|
174
172
|
alias: v.table2.alias,
|
|
175
173
|
table: v.table2.name,
|
|
@@ -182,7 +180,6 @@ var CustomColumn = function CustomColumn(props) {
|
|
|
182
180
|
}));
|
|
183
181
|
}
|
|
184
182
|
} else {
|
|
185
|
-
// @ts-ignore
|
|
186
183
|
data = store.metaList[groupIndex].list.slice(0, index).map(function (v) {
|
|
187
184
|
if (v.type === _enum.TypeEnum.data) {
|
|
188
185
|
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v.table), {}, {
|
|
@@ -303,20 +300,23 @@ var CustomColumn = function CustomColumn(props) {
|
|
|
303
300
|
children: (0, _jsxRuntime.jsxs)("div", {
|
|
304
301
|
className: "Sqb-NotebookCell gray-bg",
|
|
305
302
|
children: [meta.customColumn.map(function (v, i) {
|
|
306
|
-
return (0, _jsxRuntime.
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
},
|
|
311
|
-
children: [v.name, (0, _jsxRuntime.jsx)("span", {
|
|
312
|
-
style: {
|
|
313
|
-
fontSize: 0
|
|
314
|
-
},
|
|
303
|
+
return (0, _jsxRuntime.jsx)(_itemName["default"], {
|
|
304
|
+
isError: (0, _utils.isError)(v.formulaList, getColumns()),
|
|
305
|
+
children: (0, _jsxRuntime.jsxs)("div", {
|
|
306
|
+
className: (0, _classnames["default"])("Sqb-TableName gray-name"),
|
|
315
307
|
onClick: function onClick(e) {
|
|
316
|
-
return
|
|
308
|
+
return showSubQuery(e, i);
|
|
317
309
|
},
|
|
318
|
-
children: (0, _jsxRuntime.jsx)(
|
|
319
|
-
|
|
310
|
+
children: [v.name, (0, _jsxRuntime.jsx)("span", {
|
|
311
|
+
style: {
|
|
312
|
+
fontSize: 0
|
|
313
|
+
},
|
|
314
|
+
onClick: function onClick(e) {
|
|
315
|
+
return handleDel(e, i);
|
|
316
|
+
},
|
|
317
|
+
children: (0, _jsxRuntime.jsx)(_icons.CloseIcon, {})
|
|
318
|
+
})]
|
|
319
|
+
})
|
|
320
320
|
}, i);
|
|
321
321
|
}), (0, _jsxRuntime.jsx)("div", {
|
|
322
322
|
className: "Sqb-TableName gray-name",
|
|
@@ -47,8 +47,8 @@ var Filter = function Filter(props) {
|
|
|
47
47
|
id: prevGroupBy.alias,
|
|
48
48
|
tableUuid: prevGroupBy.tableUuid,
|
|
49
49
|
// alias: (prevGroupBy as MetaSummarize).alias,
|
|
50
|
-
datasourceId: mainTable.table.datasourceId,
|
|
51
|
-
datasourceName: mainTable.table.datasourceName,
|
|
50
|
+
// datasourceId: mainTable.table.datasourceId,
|
|
51
|
+
// datasourceName: mainTable.table.datasourceName,
|
|
52
52
|
columns: []
|
|
53
53
|
};
|
|
54
54
|
if (prevGroupBy !== null && prevGroupBy !== void 0 && (_prevGroupBy$group = prevGroupBy.group) !== null && _prevGroupBy$group !== void 0 && _prevGroupBy$group.length) {
|