@gingkoo/pandora-metabase 1.0.140 → 1.0.141-alpha.4
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/README.md +2 -3
- package/lib/cjs/components/dialog/formula-list/LogicGroup.d.ts +8 -5
- package/lib/cjs/components/dialog/formula-list/LogicGroup.js +64 -18
- package/lib/cjs/components/dialog/formula-list/index.js +374 -153
- package/lib/cjs/components/dialog/formula-list/index.less +18 -5
- package/lib/cjs/components/dialog/formula-list/utils.js +45 -17
- package/lib/cjs/components/dialog/select-summarize/index.js +7 -0
- package/lib/cjs/components/modules/summarize/group-by.js +10 -1
- package/lib/cjs/components/modules/summarize/select-index.js +3 -1
- package/lib/cjs/hooks/use-state.js +181 -80
- package/lib/cjs/index.js +24 -3
- package/lib/cjs/store/types.d.ts +4 -4
- package/lib/cjs/types.d.ts +21 -1
- package/lib/cjs/utils/transformSql.js +51 -38
- package/lib/cjs/utils.d.ts +1 -0
- package/lib/cjs/utils.js +291 -56
- package/lib/es/components/dialog/formula-list/LogicGroup.d.ts +8 -5
- package/lib/es/components/dialog/formula-list/LogicGroup.js +65 -19
- package/lib/es/components/dialog/formula-list/index.js +373 -152
- package/lib/es/components/dialog/formula-list/index.less +18 -5
- package/lib/es/components/dialog/formula-list/utils.js +45 -17
- package/lib/es/components/dialog/select-summarize/index.js +7 -0
- package/lib/es/components/modules/summarize/group-by.js +10 -1
- package/lib/es/components/modules/summarize/select-index.js +3 -1
- package/lib/es/hooks/use-state.js +182 -81
- package/lib/es/index.js +25 -4
- package/lib/es/store/types.d.ts +4 -4
- package/lib/es/types.d.ts +21 -1
- package/lib/es/utils/transformSql.js +52 -39
- package/lib/es/utils.d.ts +1 -0
- package/lib/es/utils.js +290 -55
- package/package.json +1 -1
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
.preview-box {
|
|
2
|
-
.pd-Radio-button-solid .pd-Radio-button.pd-Radio-checked {
|
|
3
|
-
background-color: #509ee3;
|
|
4
|
-
border-color: #509ee3;
|
|
5
|
-
}
|
|
6
2
|
.preview-container {
|
|
7
3
|
width: 100%;
|
|
8
4
|
}
|
|
9
5
|
|
|
6
|
+
.Sqb-FormulaPreviewHeader {
|
|
7
|
+
display: flex;
|
|
8
|
+
align-items: center;
|
|
9
|
+
gap: 8px;
|
|
10
|
+
flex-wrap: wrap;
|
|
11
|
+
|
|
12
|
+
p {
|
|
13
|
+
margin: 0;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
10
17
|
.isSqlError {
|
|
11
18
|
background-color: rgba(255, 0, 0, 0.1) !important;
|
|
12
19
|
padding: 5px;
|
|
@@ -20,6 +27,12 @@
|
|
|
20
27
|
// font-size: 10px;
|
|
21
28
|
}
|
|
22
29
|
}
|
|
30
|
+
|
|
31
|
+
.Sqb-FormulaSqlPreview {
|
|
32
|
+
max-height: 100%;
|
|
33
|
+
overflow: auto;
|
|
34
|
+
}
|
|
35
|
+
|
|
23
36
|
.Sqb-Filter-item {
|
|
24
37
|
--sqb-item-shell-margin-x: 14px;
|
|
25
38
|
--sqb-item-gap-x: 8px;
|
|
@@ -1441,7 +1454,7 @@
|
|
|
1441
1454
|
vertical-align: middle;
|
|
1442
1455
|
}
|
|
1443
1456
|
|
|
1444
|
-
.Sqb-FormulaGroup.logic-group
|
|
1457
|
+
.Sqb-FormulaGroup.logic-group .Sqb-TableName.logic-operator {
|
|
1445
1458
|
justify-content: center;
|
|
1446
1459
|
flex: 0 0 32px;
|
|
1447
1460
|
width: 32px;
|
|
@@ -220,14 +220,17 @@ var getTemplateItem = exports.getTemplateItem = function getTemplateItem(type, i
|
|
|
220
220
|
};
|
|
221
221
|
} else if (type === _types.AtomsTypeEnum.AND_OR) {
|
|
222
222
|
return {
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
223
|
+
items: [{
|
|
224
|
+
atoms: [{
|
|
225
|
+
val: '',
|
|
226
|
+
type: _types.AtomsTypeEnum.UNKNOWN
|
|
227
|
+
}]
|
|
228
|
+
}, {
|
|
229
|
+
operator: 'and',
|
|
230
|
+
atoms: [{
|
|
231
|
+
val: '',
|
|
232
|
+
type: _types.AtomsTypeEnum.UNKNOWN
|
|
233
|
+
}]
|
|
231
234
|
}],
|
|
232
235
|
quotes: '',
|
|
233
236
|
type: type
|
|
@@ -278,12 +281,20 @@ var _isOk = exports.isOk = function isOk(rhsVal) {
|
|
|
278
281
|
return _isOk(clause.whenAtoms || []) && _isOk(clause.thenAtoms || []);
|
|
279
282
|
}) && _isOk(v.caseAtoms || []) && _isOk(v.elseAtoms || []);
|
|
280
283
|
} else if (v.type === _types.AtomsTypeEnum.AND_OR) {
|
|
281
|
-
|
|
284
|
+
if (Array.isArray(v.items) && v.items.length > 0) {
|
|
285
|
+
return v.items.every(function (item, index) {
|
|
286
|
+
var _item$atoms;
|
|
287
|
+
if (index > 0 && !item.operator) return false;
|
|
288
|
+
return Boolean((_item$atoms = item.atoms) === null || _item$atoms === void 0 ? void 0 : _item$atoms.length) && _isOk(item.atoms || []);
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
var legacyItem = v;
|
|
292
|
+
var hasBinarySides = Array.isArray(legacyItem.leftAtoms) || Array.isArray(legacyItem.rightAtoms);
|
|
282
293
|
if (hasBinarySides) {
|
|
283
|
-
var
|
|
284
|
-
return Boolean(
|
|
294
|
+
var _legacyItem$leftAtoms, _legacyItem$rightAtom;
|
|
295
|
+
return Boolean(legacyItem.operator) && Boolean((_legacyItem$leftAtoms = legacyItem.leftAtoms) === null || _legacyItem$leftAtoms === void 0 ? void 0 : _legacyItem$leftAtoms.length) && Boolean((_legacyItem$rightAtom = legacyItem.rightAtoms) === null || _legacyItem$rightAtom === void 0 ? void 0 : _legacyItem$rightAtom.length) && _isOk(legacyItem.leftAtoms || []) && _isOk(legacyItem.rightAtoms || []);
|
|
285
296
|
}
|
|
286
|
-
return Boolean(
|
|
297
|
+
return Boolean(legacyItem.operator) && _isOk(legacyItem.atoms || []);
|
|
287
298
|
} else if (v.type === _types.AtomsTypeEnum.FORMULA) {
|
|
288
299
|
if (!v.quotes) {
|
|
289
300
|
return false;
|
|
@@ -408,25 +419,42 @@ function validateExpressionIntegrity(list) {
|
|
|
408
419
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
409
420
|
var item = _step2.value;
|
|
410
421
|
if (item.type === _types.AtomsTypeEnum.AND_OR) {
|
|
411
|
-
if (
|
|
422
|
+
if (Array.isArray(item.items) && item.items.length > 0) {
|
|
423
|
+
for (var index = 0; index < item.items.length; index++) {
|
|
424
|
+
var logicItem = item.items[index];
|
|
425
|
+
if (index > 0 && !logicItem.operator) {
|
|
426
|
+
return {
|
|
427
|
+
isError: true,
|
|
428
|
+
error: 'AND / OR 结构缺少操作符'
|
|
429
|
+
};
|
|
430
|
+
}
|
|
431
|
+
var _nestedError = validateExpressionIntegrity(logicItem.atoms || []);
|
|
432
|
+
if (_nestedError.isError) {
|
|
433
|
+
return _nestedError;
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
continue;
|
|
437
|
+
}
|
|
438
|
+
var legacyItem = item;
|
|
439
|
+
if (!legacyItem.operator) {
|
|
412
440
|
return {
|
|
413
441
|
isError: true,
|
|
414
442
|
error: 'AND / OR 结构缺少操作符'
|
|
415
443
|
};
|
|
416
444
|
}
|
|
417
|
-
var hasBinarySides = Array.isArray(
|
|
445
|
+
var hasBinarySides = Array.isArray(legacyItem.leftAtoms) || Array.isArray(legacyItem.rightAtoms);
|
|
418
446
|
if (hasBinarySides) {
|
|
419
|
-
var leftError = validateExpressionIntegrity(
|
|
447
|
+
var leftError = validateExpressionIntegrity(legacyItem.leftAtoms || []);
|
|
420
448
|
if (leftError.isError) {
|
|
421
449
|
return leftError;
|
|
422
450
|
}
|
|
423
|
-
var rightError = validateExpressionIntegrity(
|
|
451
|
+
var rightError = validateExpressionIntegrity(legacyItem.rightAtoms || []);
|
|
424
452
|
if (rightError.isError) {
|
|
425
453
|
return rightError;
|
|
426
454
|
}
|
|
427
455
|
continue;
|
|
428
456
|
}
|
|
429
|
-
var nestedError = validateExpressionIntegrity(
|
|
457
|
+
var nestedError = validateExpressionIntegrity(legacyItem.atoms || []);
|
|
430
458
|
if (nestedError.isError) {
|
|
431
459
|
return nestedError;
|
|
432
460
|
}
|
|
@@ -140,6 +140,13 @@ var SelectSummarize = function SelectSummarize(_ref) {
|
|
|
140
140
|
return [lhs, item.condition, rhs].filter(Boolean).join(' ').trim();
|
|
141
141
|
}
|
|
142
142
|
if (item.type === _types.AtomsTypeEnum.AND_OR) {
|
|
143
|
+
if (Array.isArray(item.items) && item.items.length > 0) {
|
|
144
|
+
var itemsText = item.items.map(function (logicItem, index) {
|
|
145
|
+
var atomsText = getFormulaSummary(logicItem.atoms || []);
|
|
146
|
+
return index === 0 ? atomsText : "".concat(logicItem.operator || 'and', " ").concat(atomsText);
|
|
147
|
+
}).join(' ');
|
|
148
|
+
return "( ".concat(itemsText, " )").replace(/\s+/g, ' ').trim();
|
|
149
|
+
}
|
|
143
150
|
var hasBinarySides = Array.isArray(item.leftAtoms) || Array.isArray(item.rightAtoms);
|
|
144
151
|
if (hasBinarySides) {
|
|
145
152
|
var leftText = getFormulaSummary(item.leftAtoms || []);
|
|
@@ -45,6 +45,13 @@ var _getSummaryText = function getSummaryText() {
|
|
|
45
45
|
return [lhs, item.condition, rhs].filter(Boolean).join(' ').trim();
|
|
46
46
|
}
|
|
47
47
|
if (item.type === _types.AtomsTypeEnum.AND_OR) {
|
|
48
|
+
if (Array.isArray(item.items) && item.items.length > 0) {
|
|
49
|
+
var itemsText = item.items.map(function (logicItem, index) {
|
|
50
|
+
var atomsText = _getSummaryText(logicItem.atoms || []);
|
|
51
|
+
return index === 0 ? atomsText : "".concat(logicItem.operator || 'and', " ").concat(atomsText);
|
|
52
|
+
}).join(' ');
|
|
53
|
+
return "( ".concat(itemsText, " )").replace(/\s+/g, ' ').trim();
|
|
54
|
+
}
|
|
48
55
|
var hasBinarySides = Array.isArray(item.leftAtoms) || Array.isArray(item.rightAtoms);
|
|
49
56
|
if (hasBinarySides) {
|
|
50
57
|
var leftText = _getSummaryText(item.leftAtoms || []);
|
|
@@ -439,7 +446,9 @@ var GroupBy = function GroupBy(props) {
|
|
|
439
446
|
if (_found) return _found;
|
|
440
447
|
}
|
|
441
448
|
if (item.type === _types.AtomsTypeEnum.AND_OR) {
|
|
442
|
-
var _found2 = _getFirstField([].concat((0, _toConsumableArray2["default"])(item.
|
|
449
|
+
var _found2 = _getFirstField([].concat((0, _toConsumableArray2["default"])((item.items || []).flatMap(function (logicItem) {
|
|
450
|
+
return logicItem.atoms || [];
|
|
451
|
+
})), (0, _toConsumableArray2["default"])(item.leftAtoms || []), (0, _toConsumableArray2["default"])(item.rightAtoms || []), (0, _toConsumableArray2["default"])(item.atoms || [])));
|
|
443
452
|
if (_found2) return _found2;
|
|
444
453
|
}
|
|
445
454
|
if (item.type === _types.AtomsTypeEnum.CASE_WHEN) {
|
|
@@ -352,7 +352,9 @@ var SelectIndex = function SelectIndex(props) {
|
|
|
352
352
|
if (_found) return _found;
|
|
353
353
|
}
|
|
354
354
|
if (item.type === _types.AtomsTypeEnum.AND_OR) {
|
|
355
|
-
var _found2 = _getFirstField([].concat((0, _toConsumableArray2["default"])(item.
|
|
355
|
+
var _found2 = _getFirstField([].concat((0, _toConsumableArray2["default"])((item.items || []).flatMap(function (logicItem) {
|
|
356
|
+
return logicItem.atoms || [];
|
|
357
|
+
})), (0, _toConsumableArray2["default"])(item.leftAtoms || []), (0, _toConsumableArray2["default"])(item.rightAtoms || []), (0, _toConsumableArray2["default"])(item.atoms || [])));
|
|
356
358
|
if (_found2) return _found2;
|
|
357
359
|
}
|
|
358
360
|
if (item.type === _types.AtomsTypeEnum.CASE_WHEN) {
|
|
@@ -104,7 +104,12 @@ var useStore = function useStore() {
|
|
|
104
104
|
var _useState25 = (0, _react.useState)(defaultMeta),
|
|
105
105
|
_useState26 = (0, _slicedToArray2["default"])(_useState25, 2),
|
|
106
106
|
metaList = _useState26[0],
|
|
107
|
-
|
|
107
|
+
setMetaState = _useState26[1];
|
|
108
|
+
var latestMetaListRef = (0, _react.useRef)((0, _cloneDeep["default"])(defaultMeta));
|
|
109
|
+
var _setMeta = (0, _react.useCallback)(function (data) {
|
|
110
|
+
latestMetaListRef.current = (0, _cloneDeep["default"])(data);
|
|
111
|
+
setMetaState(data);
|
|
112
|
+
}, []);
|
|
108
113
|
var _useState27 = (0, _react.useState)({
|
|
109
114
|
visible: false,
|
|
110
115
|
node: null,
|
|
@@ -181,30 +186,46 @@ var useStore = function useStore() {
|
|
|
181
186
|
_useState60 = (0, _slicedToArray2["default"])(_useState59, 2),
|
|
182
187
|
moduleDiff = _useState60[0],
|
|
183
188
|
setModuleDiff = _useState60[1];
|
|
184
|
-
var _useState61 = (0, _react.useState)(
|
|
189
|
+
var _useState61 = (0, _react.useState)(false),
|
|
185
190
|
_useState62 = (0, _slicedToArray2["default"])(_useState61, 2),
|
|
186
|
-
|
|
187
|
-
|
|
191
|
+
showFormulaSql = _useState62[0],
|
|
192
|
+
setShowFormulaSql = _useState62[1];
|
|
188
193
|
var _useState63 = (0, _react.useState)(false),
|
|
189
194
|
_useState64 = (0, _slicedToArray2["default"])(_useState63, 2),
|
|
190
|
-
|
|
191
|
-
|
|
195
|
+
showFormulaDiff = _useState64[0],
|
|
196
|
+
setShowFormulaDiff = _useState64[1];
|
|
192
197
|
var _useState65 = (0, _react.useState)(false),
|
|
193
198
|
_useState66 = (0, _slicedToArray2["default"])(_useState65, 2),
|
|
194
|
-
|
|
195
|
-
|
|
199
|
+
hasFormulaSqlCode = _useState66[0],
|
|
200
|
+
setHasFormulaSqlCode = _useState66[1];
|
|
196
201
|
var _useState67 = (0, _react.useState)(false),
|
|
197
202
|
_useState68 = (0, _slicedToArray2["default"])(_useState67, 2),
|
|
198
|
-
|
|
199
|
-
|
|
203
|
+
hasFormulaDiffCode = _useState68[0],
|
|
204
|
+
setHasFormulaDiffCode = _useState68[1];
|
|
200
205
|
var _useState69 = (0, _react.useState)([]),
|
|
201
206
|
_useState70 = (0, _slicedToArray2["default"])(_useState69, 2),
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
var _useState71 = (0, _react.useState)(
|
|
207
|
+
sourceData = _useState70[0],
|
|
208
|
+
setSourceData = _useState70[1];
|
|
209
|
+
var _useState71 = (0, _react.useState)(false),
|
|
205
210
|
_useState72 = (0, _slicedToArray2["default"])(_useState71, 2),
|
|
206
|
-
|
|
207
|
-
|
|
211
|
+
moduleCopy = _useState72[0],
|
|
212
|
+
setModuleCopy = _useState72[1];
|
|
213
|
+
var _useState73 = (0, _react.useState)(false),
|
|
214
|
+
_useState74 = (0, _slicedToArray2["default"])(_useState73, 2),
|
|
215
|
+
isMetabaseCopy = _useState74[0],
|
|
216
|
+
setIsMetabaseCopy = _useState74[1];
|
|
217
|
+
var _useState75 = (0, _react.useState)(false),
|
|
218
|
+
_useState76 = (0, _slicedToArray2["default"])(_useState75, 2),
|
|
219
|
+
joinAliasConflictCheck = _useState76[0],
|
|
220
|
+
setJoinAliasConflictCheck = _useState76[1];
|
|
221
|
+
var _useState77 = (0, _react.useState)([]),
|
|
222
|
+
_useState78 = (0, _slicedToArray2["default"])(_useState77, 2),
|
|
223
|
+
existsError = _useState78[0],
|
|
224
|
+
setExistsError = _useState78[1];
|
|
225
|
+
var _useState79 = (0, _react.useState)(_storage["default"]._metabaseCopyModule || []),
|
|
226
|
+
_useState80 = (0, _slicedToArray2["default"])(_useState79, 2),
|
|
227
|
+
metabaseCopyModule = _useState80[0],
|
|
228
|
+
setMetabaseCopyModule = _useState80[1];
|
|
208
229
|
var setFormulaTemplates = function setFormulaTemplates(data) {
|
|
209
230
|
var newData = data === null || data === void 0 ? void 0 : data.map(function (v) {
|
|
210
231
|
var children = v.children.map(function (vv) {
|
|
@@ -226,6 +247,8 @@ var useStore = function useStore() {
|
|
|
226
247
|
var fetchColumnsFn = (0, _react.useRef)();
|
|
227
248
|
var fetchChangeFn = (0, _react.useRef)();
|
|
228
249
|
var fetchDiffFn = (0, _react.useRef)();
|
|
250
|
+
var fetchFormulaSqlFn = (0, _react.useRef)();
|
|
251
|
+
var fetchFormulaDiffFn = (0, _react.useRef)();
|
|
229
252
|
var fetchExistsError = (0, _react.useRef)();
|
|
230
253
|
var setFetchChangeFn = function setFetchChangeFn(fn) {
|
|
231
254
|
fetchChangeFn.current = fn;
|
|
@@ -233,6 +256,14 @@ var useStore = function useStore() {
|
|
|
233
256
|
var setFetchDiffFn = function setFetchDiffFn(fn) {
|
|
234
257
|
fetchDiffFn.current = fn;
|
|
235
258
|
};
|
|
259
|
+
var setFetchFormulaSqlFn = function setFetchFormulaSqlFn(fn) {
|
|
260
|
+
fetchFormulaSqlFn.current = fn;
|
|
261
|
+
setHasFormulaSqlCode(Boolean(fn));
|
|
262
|
+
};
|
|
263
|
+
var setFetchFormulaDiffFn = function setFetchFormulaDiffFn(fn) {
|
|
264
|
+
fetchFormulaDiffFn.current = fn;
|
|
265
|
+
setHasFormulaDiffCode(Boolean(fn));
|
|
266
|
+
};
|
|
236
267
|
var setExistsErrorFn = function () {
|
|
237
268
|
var _ref = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(fn, value) {
|
|
238
269
|
var data;
|
|
@@ -290,6 +321,60 @@ var useStore = function useStore() {
|
|
|
290
321
|
return _ref2.apply(this, arguments);
|
|
291
322
|
};
|
|
292
323
|
}();
|
|
324
|
+
var getFormulaSqlCode = function () {
|
|
325
|
+
var _ref3 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(value) {
|
|
326
|
+
var data;
|
|
327
|
+
return _regenerator["default"].wrap(function (_context3) {
|
|
328
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
329
|
+
case 0:
|
|
330
|
+
if (fetchFormulaSqlFn.current) {
|
|
331
|
+
_context3.next = 1;
|
|
332
|
+
break;
|
|
333
|
+
}
|
|
334
|
+
return _context3.abrupt("return", '');
|
|
335
|
+
case 1:
|
|
336
|
+
_context3.next = 2;
|
|
337
|
+
return fetchFormulaSqlFn.current(value);
|
|
338
|
+
case 2:
|
|
339
|
+
data = _context3.sent;
|
|
340
|
+
return _context3.abrupt("return", data);
|
|
341
|
+
case 3:
|
|
342
|
+
case "end":
|
|
343
|
+
return _context3.stop();
|
|
344
|
+
}
|
|
345
|
+
}, _callee3);
|
|
346
|
+
}));
|
|
347
|
+
return function getFormulaSqlCode(_x3) {
|
|
348
|
+
return _ref3.apply(this, arguments);
|
|
349
|
+
};
|
|
350
|
+
}();
|
|
351
|
+
var getFormulaDiffCode = function () {
|
|
352
|
+
var _ref4 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4(params) {
|
|
353
|
+
var data;
|
|
354
|
+
return _regenerator["default"].wrap(function (_context4) {
|
|
355
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
356
|
+
case 0:
|
|
357
|
+
if (fetchFormulaDiffFn.current) {
|
|
358
|
+
_context4.next = 1;
|
|
359
|
+
break;
|
|
360
|
+
}
|
|
361
|
+
return _context4.abrupt("return", undefined);
|
|
362
|
+
case 1:
|
|
363
|
+
_context4.next = 2;
|
|
364
|
+
return fetchFormulaDiffFn.current(params);
|
|
365
|
+
case 2:
|
|
366
|
+
data = _context4.sent;
|
|
367
|
+
return _context4.abrupt("return", data);
|
|
368
|
+
case 3:
|
|
369
|
+
case "end":
|
|
370
|
+
return _context4.stop();
|
|
371
|
+
}
|
|
372
|
+
}, _callee4);
|
|
373
|
+
}));
|
|
374
|
+
return function getFormulaDiffCode(_x4) {
|
|
375
|
+
return _ref4.apply(this, arguments);
|
|
376
|
+
};
|
|
377
|
+
}();
|
|
293
378
|
var setFetchColumnsFn = function setFetchColumnsFn(fn) {
|
|
294
379
|
fetchColumnsFn.current = fn;
|
|
295
380
|
};
|
|
@@ -323,84 +408,84 @@ var useStore = function useStore() {
|
|
|
323
408
|
}
|
|
324
409
|
}, [sourceList, isExit, tableFlat]);
|
|
325
410
|
var getSourceTable = function () {
|
|
326
|
-
var
|
|
411
|
+
var _ref5 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6(source) {
|
|
327
412
|
var results;
|
|
328
|
-
return _regenerator["default"].wrap(function (
|
|
329
|
-
while (1) switch (
|
|
413
|
+
return _regenerator["default"].wrap(function (_context6) {
|
|
414
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
330
415
|
case 0:
|
|
331
|
-
|
|
416
|
+
_context6.next = 1;
|
|
332
417
|
return Promise.all(source.map(function () {
|
|
333
|
-
var
|
|
418
|
+
var _ref6 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5(v) {
|
|
334
419
|
var tables;
|
|
335
|
-
return _regenerator["default"].wrap(function (
|
|
336
|
-
while (1) switch (
|
|
420
|
+
return _regenerator["default"].wrap(function (_context5) {
|
|
421
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
337
422
|
case 0:
|
|
338
|
-
|
|
423
|
+
_context5.next = 1;
|
|
339
424
|
return fetchDataset(v.datasourceId);
|
|
340
425
|
case 1:
|
|
341
|
-
tables =
|
|
342
|
-
return
|
|
426
|
+
tables = _context5.sent;
|
|
427
|
+
return _context5.abrupt("return", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
|
|
343
428
|
children: tables
|
|
344
429
|
}));
|
|
345
430
|
case 2:
|
|
346
431
|
case "end":
|
|
347
|
-
return
|
|
432
|
+
return _context5.stop();
|
|
348
433
|
}
|
|
349
|
-
},
|
|
434
|
+
}, _callee5);
|
|
350
435
|
}));
|
|
351
|
-
return function (
|
|
352
|
-
return
|
|
436
|
+
return function (_x6) {
|
|
437
|
+
return _ref6.apply(this, arguments);
|
|
353
438
|
};
|
|
354
439
|
}()));
|
|
355
440
|
case 1:
|
|
356
|
-
results =
|
|
441
|
+
results = _context6.sent;
|
|
357
442
|
setSourceTable(results || []);
|
|
358
443
|
case 2:
|
|
359
444
|
case "end":
|
|
360
|
-
return
|
|
445
|
+
return _context6.stop();
|
|
361
446
|
}
|
|
362
|
-
},
|
|
447
|
+
}, _callee6);
|
|
363
448
|
}));
|
|
364
|
-
return function getSourceTable(
|
|
365
|
-
return
|
|
449
|
+
return function getSourceTable(_x5) {
|
|
450
|
+
return _ref5.apply(this, arguments);
|
|
366
451
|
};
|
|
367
452
|
}();
|
|
368
453
|
var showToolbar = function showToolbar(name) {
|
|
369
454
|
return !!~toolbar.indexOf(name);
|
|
370
455
|
};
|
|
371
456
|
var fetchDataset = function () {
|
|
372
|
-
var
|
|
457
|
+
var _ref7 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7(datasourceId) {
|
|
373
458
|
var tables, _tables;
|
|
374
|
-
return _regenerator["default"].wrap(function (
|
|
375
|
-
while (1) switch (
|
|
459
|
+
return _regenerator["default"].wrap(function (_context7) {
|
|
460
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
376
461
|
case 0:
|
|
377
462
|
tables = getDataset(datasourceId);
|
|
378
463
|
if (!tables.length) {
|
|
379
|
-
|
|
464
|
+
_context7.next = 1;
|
|
380
465
|
break;
|
|
381
466
|
}
|
|
382
|
-
return
|
|
467
|
+
return _context7.abrupt("return", tables);
|
|
383
468
|
case 1:
|
|
384
|
-
|
|
469
|
+
_context7.next = 2;
|
|
385
470
|
return fetchDatasetFn.current(datasourceId, {
|
|
386
471
|
isExit: isExit
|
|
387
472
|
});
|
|
388
473
|
case 2:
|
|
389
|
-
_tables =
|
|
474
|
+
_tables = _context7.sent;
|
|
390
475
|
setDataset(datasourceId, _tables);
|
|
391
|
-
return
|
|
476
|
+
return _context7.abrupt("return", _tables);
|
|
392
477
|
case 3:
|
|
393
478
|
case "end":
|
|
394
|
-
return
|
|
479
|
+
return _context7.stop();
|
|
395
480
|
}
|
|
396
|
-
},
|
|
481
|
+
}, _callee7);
|
|
397
482
|
}));
|
|
398
|
-
return function fetchDataset(
|
|
399
|
-
return
|
|
483
|
+
return function fetchDataset(_x7) {
|
|
484
|
+
return _ref7.apply(this, arguments);
|
|
400
485
|
};
|
|
401
486
|
}();
|
|
402
487
|
var fetchColumns = function () {
|
|
403
|
-
var
|
|
488
|
+
var _ref8 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8(table, datasourceId) {
|
|
404
489
|
var _columns2;
|
|
405
490
|
var oldColumns,
|
|
406
491
|
callback,
|
|
@@ -418,15 +503,15 @@ var useStore = function useStore() {
|
|
|
418
503
|
tableName,
|
|
419
504
|
columns,
|
|
420
505
|
_columns,
|
|
421
|
-
|
|
422
|
-
return _regenerator["default"].wrap(function (
|
|
423
|
-
while (1) switch (
|
|
506
|
+
_args8 = arguments;
|
|
507
|
+
return _regenerator["default"].wrap(function (_context8) {
|
|
508
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
424
509
|
case 0:
|
|
425
|
-
oldColumns =
|
|
426
|
-
callback =
|
|
427
|
-
isSelect =
|
|
428
|
-
_isSubquery =
|
|
429
|
-
_isExit =
|
|
510
|
+
oldColumns = _args8.length > 2 && _args8[2] !== undefined ? _args8[2] : [];
|
|
511
|
+
callback = _args8.length > 3 ? _args8[3] : undefined;
|
|
512
|
+
isSelect = _args8.length > 4 && _args8[4] !== undefined ? _args8[4] : isSelectFields;
|
|
513
|
+
_isSubquery = _args8.length > 5 && _args8[5] !== undefined ? _args8[5] : isSubquery;
|
|
514
|
+
_isExit = _args8.length > 6 && _args8[6] !== undefined ? _args8[6] : isExit;
|
|
430
515
|
oldObj = {};
|
|
431
516
|
selectId = oldColumns.filter(function (v) {
|
|
432
517
|
oldObj[v.id] = v;
|
|
@@ -444,15 +529,15 @@ var useStore = function useStore() {
|
|
|
444
529
|
tableName = table.name;
|
|
445
530
|
columns = getColumns(tableName);
|
|
446
531
|
if (columns.length) {
|
|
447
|
-
|
|
532
|
+
_context8.next = 2;
|
|
448
533
|
break;
|
|
449
534
|
}
|
|
450
|
-
|
|
535
|
+
_context8.next = 1;
|
|
451
536
|
return fetchColumnsFn.current(extra, datasourceId, {
|
|
452
537
|
isExit: _isExit
|
|
453
538
|
});
|
|
454
539
|
case 1:
|
|
455
|
-
columns =
|
|
540
|
+
columns = _context8.sent;
|
|
456
541
|
setColumns(tableName, columns);
|
|
457
542
|
case 2:
|
|
458
543
|
_columns = (_columns2 = columns) === null || _columns2 === void 0 ? void 0 : _columns2.map(function (v) {
|
|
@@ -468,54 +553,56 @@ var useStore = function useStore() {
|
|
|
468
553
|
typeof callback === 'function' && callback(_columns);
|
|
469
554
|
case 3:
|
|
470
555
|
case "end":
|
|
471
|
-
return
|
|
556
|
+
return _context8.stop();
|
|
472
557
|
}
|
|
473
|
-
},
|
|
558
|
+
}, _callee8);
|
|
474
559
|
}));
|
|
475
|
-
return function fetchColumns(
|
|
476
|
-
return
|
|
560
|
+
return function fetchColumns(_x8, _x9) {
|
|
561
|
+
return _ref8.apply(this, arguments);
|
|
477
562
|
};
|
|
478
563
|
}();
|
|
479
564
|
var setMeta = function () {
|
|
480
|
-
var
|
|
565
|
+
var _ref9 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9(curData, groupInd) {
|
|
481
566
|
var changeObj,
|
|
482
567
|
_metaList,
|
|
568
|
+
prevMeta,
|
|
483
569
|
newMeta,
|
|
484
570
|
isChange,
|
|
485
|
-
|
|
486
|
-
return _regenerator["default"].wrap(function (
|
|
487
|
-
while (1) switch (
|
|
571
|
+
_args9 = arguments;
|
|
572
|
+
return _regenerator["default"].wrap(function (_context9) {
|
|
573
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
488
574
|
case 0:
|
|
489
|
-
changeObj =
|
|
490
|
-
_metaList =
|
|
491
|
-
|
|
575
|
+
changeObj = _args9.length > 2 && _args9[2] !== undefined ? _args9[2] : {};
|
|
576
|
+
_metaList = _args9.length > 3 ? _args9[3] : undefined;
|
|
577
|
+
prevMeta = (0, _cloneDeep["default"])(_metaList || latestMetaListRef.current);
|
|
578
|
+
newMeta = (0, _cloneDeep["default"])(prevMeta);
|
|
492
579
|
if (newMeta[groupInd]) {
|
|
493
|
-
newMeta[groupInd].list = curData;
|
|
580
|
+
newMeta[groupInd].list = (0, _cloneDeep["default"])(curData);
|
|
494
581
|
_setMeta(newMeta);
|
|
495
582
|
}
|
|
496
583
|
if (!(changeObj === 'init')) {
|
|
497
|
-
|
|
584
|
+
_context9.next = 1;
|
|
498
585
|
break;
|
|
499
586
|
}
|
|
500
|
-
return
|
|
587
|
+
return _context9.abrupt("return");
|
|
501
588
|
case 1:
|
|
502
|
-
|
|
503
|
-
return fetchChangeFn.current((0, _utils.splitByUnion)(
|
|
589
|
+
_context9.next = 2;
|
|
590
|
+
return fetchChangeFn.current((0, _utils.splitByUnion)(newMeta), changeObj, {
|
|
504
591
|
isExit: isExit
|
|
505
592
|
});
|
|
506
593
|
case 2:
|
|
507
|
-
isChange =
|
|
594
|
+
isChange = _context9.sent;
|
|
508
595
|
if (isChange === false) {
|
|
509
|
-
_setMeta(
|
|
596
|
+
_setMeta(prevMeta);
|
|
510
597
|
}
|
|
511
598
|
case 3:
|
|
512
599
|
case "end":
|
|
513
|
-
return
|
|
600
|
+
return _context9.stop();
|
|
514
601
|
}
|
|
515
|
-
},
|
|
602
|
+
}, _callee9);
|
|
516
603
|
}));
|
|
517
|
-
return function setMeta(
|
|
518
|
-
return
|
|
604
|
+
return function setMeta(_x0, _x1) {
|
|
605
|
+
return _ref9.apply(this, arguments);
|
|
519
606
|
};
|
|
520
607
|
}();
|
|
521
608
|
var setPreData = function setPreData(data) {
|
|
@@ -914,6 +1001,9 @@ var useStore = function useStore() {
|
|
|
914
1001
|
set_cacheSource2TableMap({});
|
|
915
1002
|
set_cacheColumnsMap({});
|
|
916
1003
|
};
|
|
1004
|
+
var getCurrentMetaList = function getCurrentMetaList() {
|
|
1005
|
+
return (0, _cloneDeep["default"])(latestMetaListRef.current);
|
|
1006
|
+
};
|
|
917
1007
|
return {
|
|
918
1008
|
showFields: showFields,
|
|
919
1009
|
setShowFields: setShowFields,
|
|
@@ -958,6 +1048,7 @@ var useStore = function useStore() {
|
|
|
958
1048
|
setDataset: setDataset,
|
|
959
1049
|
getDataset: getDataset,
|
|
960
1050
|
reset: reset,
|
|
1051
|
+
getCurrentMetaList: getCurrentMetaList,
|
|
961
1052
|
setProps: setProps,
|
|
962
1053
|
preProps: preProps.current,
|
|
963
1054
|
showSubquery: showSubquery,
|
|
@@ -993,10 +1084,20 @@ var useStore = function useStore() {
|
|
|
993
1084
|
setMetabaseCopy: setMetabaseCopy,
|
|
994
1085
|
moduleDiff: moduleDiff,
|
|
995
1086
|
setModuleDiff: setModuleDiff,
|
|
1087
|
+
showFormulaSql: showFormulaSql,
|
|
1088
|
+
setShowFormulaSql: setShowFormulaSql,
|
|
1089
|
+
showFormulaDiff: showFormulaDiff,
|
|
1090
|
+
setShowFormulaDiff: setShowFormulaDiff,
|
|
1091
|
+
hasFormulaSqlCode: hasFormulaSqlCode,
|
|
1092
|
+
hasFormulaDiffCode: hasFormulaDiffCode,
|
|
996
1093
|
sourceData: sourceData,
|
|
997
1094
|
setSourceData: setSourceData,
|
|
998
1095
|
setFetchDiffFn: setFetchDiffFn,
|
|
999
1096
|
getModuleDiffCode: getModuleDiffCode,
|
|
1097
|
+
setFetchFormulaSqlFn: setFetchFormulaSqlFn,
|
|
1098
|
+
getFormulaSqlCode: getFormulaSqlCode,
|
|
1099
|
+
setFetchFormulaDiffFn: setFetchFormulaDiffFn,
|
|
1100
|
+
getFormulaDiffCode: getFormulaDiffCode,
|
|
1000
1101
|
isSubquery: isSubquery,
|
|
1001
1102
|
setIsSubquery: setIsSubquery,
|
|
1002
1103
|
moduleCopy: moduleCopy,
|