@gingkoo/pandora-metabase 1.0.141 → 1.0.143
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/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-column/index.js +5 -2
- 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 +167 -75
- package/lib/cjs/index.js +17 -3
- package/lib/cjs/store/types.d.ts +4 -4
- package/lib/cjs/types.d.ts +20 -1
- package/lib/cjs/utils/transformSql.js +51 -38
- package/lib/cjs/utils.d.ts +1 -0
- package/lib/cjs/utils.js +327 -57
- 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-column/index.js +5 -2
- 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 +167 -75
- package/lib/es/index.js +18 -4
- package/lib/es/store/types.d.ts +4 -4
- package/lib/es/types.d.ts +20 -1
- package/lib/es/utils/transformSql.js +52 -39
- package/lib/es/utils.d.ts +1 -0
- package/lib/es/utils.js +326 -56
- 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;
|
|
@@ -212,14 +212,17 @@ export var getTemplateItem = function getTemplateItem(type, item) {
|
|
|
212
212
|
};
|
|
213
213
|
} else if (type === AtomsTypeEnum.AND_OR) {
|
|
214
214
|
return {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
215
|
+
items: [{
|
|
216
|
+
atoms: [{
|
|
217
|
+
val: '',
|
|
218
|
+
type: AtomsTypeEnum.UNKNOWN
|
|
219
|
+
}]
|
|
220
|
+
}, {
|
|
221
|
+
operator: 'and',
|
|
222
|
+
atoms: [{
|
|
223
|
+
val: '',
|
|
224
|
+
type: AtomsTypeEnum.UNKNOWN
|
|
225
|
+
}]
|
|
223
226
|
}],
|
|
224
227
|
quotes: '',
|
|
225
228
|
type: type
|
|
@@ -270,12 +273,20 @@ var _isOk = function isOk(rhsVal) {
|
|
|
270
273
|
return _isOk(clause.whenAtoms || []) && _isOk(clause.thenAtoms || []);
|
|
271
274
|
}) && _isOk(v.caseAtoms || []) && _isOk(v.elseAtoms || []);
|
|
272
275
|
} else if (v.type === AtomsTypeEnum.AND_OR) {
|
|
273
|
-
|
|
276
|
+
if (Array.isArray(v.items) && v.items.length > 0) {
|
|
277
|
+
return v.items.every(function (item, index) {
|
|
278
|
+
var _item$atoms;
|
|
279
|
+
if (index > 0 && !item.operator) return false;
|
|
280
|
+
return Boolean((_item$atoms = item.atoms) === null || _item$atoms === void 0 ? void 0 : _item$atoms.length) && _isOk(item.atoms || []);
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
var legacyItem = v;
|
|
284
|
+
var hasBinarySides = Array.isArray(legacyItem.leftAtoms) || Array.isArray(legacyItem.rightAtoms);
|
|
274
285
|
if (hasBinarySides) {
|
|
275
|
-
var
|
|
276
|
-
return Boolean(
|
|
286
|
+
var _legacyItem$leftAtoms, _legacyItem$rightAtom;
|
|
287
|
+
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 || []);
|
|
277
288
|
}
|
|
278
|
-
return Boolean(
|
|
289
|
+
return Boolean(legacyItem.operator) && _isOk(legacyItem.atoms || []);
|
|
279
290
|
} else if (v.type === AtomsTypeEnum.FORMULA) {
|
|
280
291
|
if (!v.quotes) {
|
|
281
292
|
return false;
|
|
@@ -401,25 +412,42 @@ export function validateExpressionIntegrity(list) {
|
|
|
401
412
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
402
413
|
var item = _step2.value;
|
|
403
414
|
if (item.type === AtomsTypeEnum.AND_OR) {
|
|
404
|
-
if (
|
|
415
|
+
if (Array.isArray(item.items) && item.items.length > 0) {
|
|
416
|
+
for (var index = 0; index < item.items.length; index++) {
|
|
417
|
+
var logicItem = item.items[index];
|
|
418
|
+
if (index > 0 && !logicItem.operator) {
|
|
419
|
+
return {
|
|
420
|
+
isError: true,
|
|
421
|
+
error: 'AND / OR 结构缺少操作符'
|
|
422
|
+
};
|
|
423
|
+
}
|
|
424
|
+
var _nestedError = validateExpressionIntegrity(logicItem.atoms || []);
|
|
425
|
+
if (_nestedError.isError) {
|
|
426
|
+
return _nestedError;
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
continue;
|
|
430
|
+
}
|
|
431
|
+
var legacyItem = item;
|
|
432
|
+
if (!legacyItem.operator) {
|
|
405
433
|
return {
|
|
406
434
|
isError: true,
|
|
407
435
|
error: 'AND / OR 结构缺少操作符'
|
|
408
436
|
};
|
|
409
437
|
}
|
|
410
|
-
var hasBinarySides = Array.isArray(
|
|
438
|
+
var hasBinarySides = Array.isArray(legacyItem.leftAtoms) || Array.isArray(legacyItem.rightAtoms);
|
|
411
439
|
if (hasBinarySides) {
|
|
412
|
-
var leftError = validateExpressionIntegrity(
|
|
440
|
+
var leftError = validateExpressionIntegrity(legacyItem.leftAtoms || []);
|
|
413
441
|
if (leftError.isError) {
|
|
414
442
|
return leftError;
|
|
415
443
|
}
|
|
416
|
-
var rightError = validateExpressionIntegrity(
|
|
444
|
+
var rightError = validateExpressionIntegrity(legacyItem.rightAtoms || []);
|
|
417
445
|
if (rightError.isError) {
|
|
418
446
|
return rightError;
|
|
419
447
|
}
|
|
420
448
|
continue;
|
|
421
449
|
}
|
|
422
|
-
var nestedError = validateExpressionIntegrity(
|
|
450
|
+
var nestedError = validateExpressionIntegrity(legacyItem.atoms || []);
|
|
423
451
|
if (nestedError.isError) {
|
|
424
452
|
return nestedError;
|
|
425
453
|
}
|
|
@@ -40,10 +40,12 @@ var SelectColumn = function SelectColumn(_ref) {
|
|
|
40
40
|
useEffect(function () {
|
|
41
41
|
setOriginList(function (currentList) {
|
|
42
42
|
return data.map(function (item) {
|
|
43
|
+
var _ref2, _existingItem$fieldAl;
|
|
43
44
|
var existingItem = currentList.find(function (current) {
|
|
44
45
|
return isSameColumnByIdFirst(current, item);
|
|
45
46
|
});
|
|
46
47
|
return _objectSpread(_objectSpread(_objectSpread({}, existingItem || {}), item), {}, {
|
|
48
|
+
fieldAlias: (_ref2 = (_existingItem$fieldAl = existingItem === null || existingItem === void 0 ? void 0 : existingItem.fieldAlias) !== null && _existingItem$fieldAl !== void 0 ? _existingItem$fieldAl : item.fieldAlias) !== null && _ref2 !== void 0 ? _ref2 : '',
|
|
47
49
|
fieldUuid: item.fieldUuid || (existingItem === null || existingItem === void 0 ? void 0 : existingItem.fieldUuid) || uuidv4('field')
|
|
48
50
|
});
|
|
49
51
|
});
|
|
@@ -82,8 +84,9 @@ var SelectColumn = function SelectColumn(_ref) {
|
|
|
82
84
|
}
|
|
83
85
|
}, [isAllSelect]);
|
|
84
86
|
function onSelect(columns, newMetaList) {
|
|
87
|
+
var useColumnsDirectly = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
85
88
|
var originalData = cloneDeep(originList);
|
|
86
|
-
var mergedColumns = originalData.map(function (item) {
|
|
89
|
+
var mergedColumns = useColumnsDirectly ? cloneDeep(columns) : originalData.map(function (item) {
|
|
87
90
|
var match = columns.find(function (col) {
|
|
88
91
|
return isSameColumnByIdFirst(col, item);
|
|
89
92
|
});
|
|
@@ -125,7 +128,7 @@ var SelectColumn = function SelectColumn(_ref) {
|
|
|
125
128
|
obj: newColumns[i],
|
|
126
129
|
type: ChangeType.fieldAlias
|
|
127
130
|
});
|
|
128
|
-
onSelect(newColumns, newMetaList);
|
|
131
|
+
onSelect(newColumns, newMetaList, true);
|
|
129
132
|
setTimeout(function () {
|
|
130
133
|
store.setClosable(true);
|
|
131
134
|
}, 0);
|
|
@@ -133,6 +133,13 @@ var SelectSummarize = function SelectSummarize(_ref) {
|
|
|
133
133
|
return [lhs, item.condition, rhs].filter(Boolean).join(' ').trim();
|
|
134
134
|
}
|
|
135
135
|
if (item.type === AtomsTypeEnum.AND_OR) {
|
|
136
|
+
if (Array.isArray(item.items) && item.items.length > 0) {
|
|
137
|
+
var itemsText = item.items.map(function (logicItem, index) {
|
|
138
|
+
var atomsText = getFormulaSummary(logicItem.atoms || []);
|
|
139
|
+
return index === 0 ? atomsText : "".concat(logicItem.operator || 'and', " ").concat(atomsText);
|
|
140
|
+
}).join(' ');
|
|
141
|
+
return "( ".concat(itemsText, " )").replace(/\s+/g, ' ').trim();
|
|
142
|
+
}
|
|
136
143
|
var hasBinarySides = Array.isArray(item.leftAtoms) || Array.isArray(item.rightAtoms);
|
|
137
144
|
if (hasBinarySides) {
|
|
138
145
|
var leftText = getFormulaSummary(item.leftAtoms || []);
|
|
@@ -39,6 +39,13 @@ var _getSummaryText = function getSummaryText() {
|
|
|
39
39
|
return [lhs, item.condition, rhs].filter(Boolean).join(' ').trim();
|
|
40
40
|
}
|
|
41
41
|
if (item.type === AtomsTypeEnum.AND_OR) {
|
|
42
|
+
if (Array.isArray(item.items) && item.items.length > 0) {
|
|
43
|
+
var itemsText = item.items.map(function (logicItem, index) {
|
|
44
|
+
var atomsText = _getSummaryText(logicItem.atoms || []);
|
|
45
|
+
return index === 0 ? atomsText : "".concat(logicItem.operator || 'and', " ").concat(atomsText);
|
|
46
|
+
}).join(' ');
|
|
47
|
+
return "( ".concat(itemsText, " )").replace(/\s+/g, ' ').trim();
|
|
48
|
+
}
|
|
42
49
|
var hasBinarySides = Array.isArray(item.leftAtoms) || Array.isArray(item.rightAtoms);
|
|
43
50
|
if (hasBinarySides) {
|
|
44
51
|
var leftText = _getSummaryText(item.leftAtoms || []);
|
|
@@ -433,7 +440,9 @@ var GroupBy = function GroupBy(props) {
|
|
|
433
440
|
if (_found) return _found;
|
|
434
441
|
}
|
|
435
442
|
if (item.type === AtomsTypeEnum.AND_OR) {
|
|
436
|
-
var _found2 = _getFirstField([].concat(_toConsumableArray(item.
|
|
443
|
+
var _found2 = _getFirstField([].concat(_toConsumableArray((item.items || []).flatMap(function (logicItem) {
|
|
444
|
+
return logicItem.atoms || [];
|
|
445
|
+
})), _toConsumableArray(item.leftAtoms || []), _toConsumableArray(item.rightAtoms || []), _toConsumableArray(item.atoms || [])));
|
|
437
446
|
if (_found2) return _found2;
|
|
438
447
|
}
|
|
439
448
|
if (item.type === AtomsTypeEnum.CASE_WHEN) {
|
|
@@ -346,7 +346,9 @@ var SelectIndex = function SelectIndex(props) {
|
|
|
346
346
|
if (_found) return _found;
|
|
347
347
|
}
|
|
348
348
|
if (item.type === AtomsTypeEnum.AND_OR) {
|
|
349
|
-
var _found2 = _getFirstField([].concat(_toConsumableArray(item.
|
|
349
|
+
var _found2 = _getFirstField([].concat(_toConsumableArray((item.items || []).flatMap(function (logicItem) {
|
|
350
|
+
return logicItem.atoms || [];
|
|
351
|
+
})), _toConsumableArray(item.leftAtoms || []), _toConsumableArray(item.rightAtoms || []), _toConsumableArray(item.atoms || [])));
|
|
350
352
|
if (_found2) return _found2;
|
|
351
353
|
}
|
|
352
354
|
if (item.type === AtomsTypeEnum.CASE_WHEN) {
|
|
@@ -180,30 +180,46 @@ var useStore = function useStore() {
|
|
|
180
180
|
_useState60 = _slicedToArray(_useState59, 2),
|
|
181
181
|
moduleDiff = _useState60[0],
|
|
182
182
|
setModuleDiff = _useState60[1];
|
|
183
|
-
var _useState61 = useState(
|
|
183
|
+
var _useState61 = useState(false),
|
|
184
184
|
_useState62 = _slicedToArray(_useState61, 2),
|
|
185
|
-
|
|
186
|
-
|
|
185
|
+
showFormulaSql = _useState62[0],
|
|
186
|
+
setShowFormulaSql = _useState62[1];
|
|
187
187
|
var _useState63 = useState(false),
|
|
188
188
|
_useState64 = _slicedToArray(_useState63, 2),
|
|
189
|
-
|
|
190
|
-
|
|
189
|
+
showFormulaDiff = _useState64[0],
|
|
190
|
+
setShowFormulaDiff = _useState64[1];
|
|
191
191
|
var _useState65 = useState(false),
|
|
192
192
|
_useState66 = _slicedToArray(_useState65, 2),
|
|
193
|
-
|
|
194
|
-
|
|
193
|
+
hasFormulaSqlCode = _useState66[0],
|
|
194
|
+
setHasFormulaSqlCode = _useState66[1];
|
|
195
195
|
var _useState67 = useState(false),
|
|
196
196
|
_useState68 = _slicedToArray(_useState67, 2),
|
|
197
|
-
|
|
198
|
-
|
|
197
|
+
hasFormulaDiffCode = _useState68[0],
|
|
198
|
+
setHasFormulaDiffCode = _useState68[1];
|
|
199
199
|
var _useState69 = useState([]),
|
|
200
200
|
_useState70 = _slicedToArray(_useState69, 2),
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
var _useState71 = useState(
|
|
201
|
+
sourceData = _useState70[0],
|
|
202
|
+
setSourceData = _useState70[1];
|
|
203
|
+
var _useState71 = useState(false),
|
|
204
204
|
_useState72 = _slicedToArray(_useState71, 2),
|
|
205
|
-
|
|
206
|
-
|
|
205
|
+
moduleCopy = _useState72[0],
|
|
206
|
+
setModuleCopy = _useState72[1];
|
|
207
|
+
var _useState73 = useState(false),
|
|
208
|
+
_useState74 = _slicedToArray(_useState73, 2),
|
|
209
|
+
isMetabaseCopy = _useState74[0],
|
|
210
|
+
setIsMetabaseCopy = _useState74[1];
|
|
211
|
+
var _useState75 = useState(false),
|
|
212
|
+
_useState76 = _slicedToArray(_useState75, 2),
|
|
213
|
+
joinAliasConflictCheck = _useState76[0],
|
|
214
|
+
setJoinAliasConflictCheck = _useState76[1];
|
|
215
|
+
var _useState77 = useState([]),
|
|
216
|
+
_useState78 = _slicedToArray(_useState77, 2),
|
|
217
|
+
existsError = _useState78[0],
|
|
218
|
+
setExistsError = _useState78[1];
|
|
219
|
+
var _useState79 = useState(storage._metabaseCopyModule || []),
|
|
220
|
+
_useState80 = _slicedToArray(_useState79, 2),
|
|
221
|
+
metabaseCopyModule = _useState80[0],
|
|
222
|
+
setMetabaseCopyModule = _useState80[1];
|
|
207
223
|
var setFormulaTemplates = function setFormulaTemplates(data) {
|
|
208
224
|
var newData = data === null || data === void 0 ? void 0 : data.map(function (v) {
|
|
209
225
|
var children = v.children.map(function (vv) {
|
|
@@ -225,6 +241,8 @@ var useStore = function useStore() {
|
|
|
225
241
|
var fetchColumnsFn = useRef();
|
|
226
242
|
var fetchChangeFn = useRef();
|
|
227
243
|
var fetchDiffFn = useRef();
|
|
244
|
+
var fetchFormulaSqlFn = useRef();
|
|
245
|
+
var fetchFormulaDiffFn = useRef();
|
|
228
246
|
var fetchExistsError = useRef();
|
|
229
247
|
var setFetchChangeFn = function setFetchChangeFn(fn) {
|
|
230
248
|
fetchChangeFn.current = fn;
|
|
@@ -232,6 +250,14 @@ var useStore = function useStore() {
|
|
|
232
250
|
var setFetchDiffFn = function setFetchDiffFn(fn) {
|
|
233
251
|
fetchDiffFn.current = fn;
|
|
234
252
|
};
|
|
253
|
+
var setFetchFormulaSqlFn = function setFetchFormulaSqlFn(fn) {
|
|
254
|
+
fetchFormulaSqlFn.current = fn;
|
|
255
|
+
setHasFormulaSqlCode(Boolean(fn));
|
|
256
|
+
};
|
|
257
|
+
var setFetchFormulaDiffFn = function setFetchFormulaDiffFn(fn) {
|
|
258
|
+
fetchFormulaDiffFn.current = fn;
|
|
259
|
+
setHasFormulaDiffCode(Boolean(fn));
|
|
260
|
+
};
|
|
235
261
|
var setExistsErrorFn = function () {
|
|
236
262
|
var _ref = _asyncToGenerator(_regeneratorRuntime.mark(function _callee(fn, value) {
|
|
237
263
|
var data;
|
|
@@ -289,6 +315,60 @@ var useStore = function useStore() {
|
|
|
289
315
|
return _ref2.apply(this, arguments);
|
|
290
316
|
};
|
|
291
317
|
}();
|
|
318
|
+
var getFormulaSqlCode = function () {
|
|
319
|
+
var _ref3 = _asyncToGenerator(_regeneratorRuntime.mark(function _callee3(value) {
|
|
320
|
+
var data;
|
|
321
|
+
return _regeneratorRuntime.wrap(function (_context3) {
|
|
322
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
323
|
+
case 0:
|
|
324
|
+
if (fetchFormulaSqlFn.current) {
|
|
325
|
+
_context3.next = 1;
|
|
326
|
+
break;
|
|
327
|
+
}
|
|
328
|
+
return _context3.abrupt("return", '');
|
|
329
|
+
case 1:
|
|
330
|
+
_context3.next = 2;
|
|
331
|
+
return fetchFormulaSqlFn.current(value);
|
|
332
|
+
case 2:
|
|
333
|
+
data = _context3.sent;
|
|
334
|
+
return _context3.abrupt("return", data);
|
|
335
|
+
case 3:
|
|
336
|
+
case "end":
|
|
337
|
+
return _context3.stop();
|
|
338
|
+
}
|
|
339
|
+
}, _callee3);
|
|
340
|
+
}));
|
|
341
|
+
return function getFormulaSqlCode(_x3) {
|
|
342
|
+
return _ref3.apply(this, arguments);
|
|
343
|
+
};
|
|
344
|
+
}();
|
|
345
|
+
var getFormulaDiffCode = function () {
|
|
346
|
+
var _ref4 = _asyncToGenerator(_regeneratorRuntime.mark(function _callee4(params) {
|
|
347
|
+
var data;
|
|
348
|
+
return _regeneratorRuntime.wrap(function (_context4) {
|
|
349
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
350
|
+
case 0:
|
|
351
|
+
if (fetchFormulaDiffFn.current) {
|
|
352
|
+
_context4.next = 1;
|
|
353
|
+
break;
|
|
354
|
+
}
|
|
355
|
+
return _context4.abrupt("return", undefined);
|
|
356
|
+
case 1:
|
|
357
|
+
_context4.next = 2;
|
|
358
|
+
return fetchFormulaDiffFn.current(params);
|
|
359
|
+
case 2:
|
|
360
|
+
data = _context4.sent;
|
|
361
|
+
return _context4.abrupt("return", data);
|
|
362
|
+
case 3:
|
|
363
|
+
case "end":
|
|
364
|
+
return _context4.stop();
|
|
365
|
+
}
|
|
366
|
+
}, _callee4);
|
|
367
|
+
}));
|
|
368
|
+
return function getFormulaDiffCode(_x4) {
|
|
369
|
+
return _ref4.apply(this, arguments);
|
|
370
|
+
};
|
|
371
|
+
}();
|
|
292
372
|
var setFetchColumnsFn = function setFetchColumnsFn(fn) {
|
|
293
373
|
fetchColumnsFn.current = fn;
|
|
294
374
|
};
|
|
@@ -322,84 +402,84 @@ var useStore = function useStore() {
|
|
|
322
402
|
}
|
|
323
403
|
}, [sourceList, isExit, tableFlat]);
|
|
324
404
|
var getSourceTable = function () {
|
|
325
|
-
var
|
|
405
|
+
var _ref5 = _asyncToGenerator(_regeneratorRuntime.mark(function _callee6(source) {
|
|
326
406
|
var results;
|
|
327
|
-
return _regeneratorRuntime.wrap(function (
|
|
328
|
-
while (1) switch (
|
|
407
|
+
return _regeneratorRuntime.wrap(function (_context6) {
|
|
408
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
329
409
|
case 0:
|
|
330
|
-
|
|
410
|
+
_context6.next = 1;
|
|
331
411
|
return Promise.all(source.map(function () {
|
|
332
|
-
var
|
|
412
|
+
var _ref6 = _asyncToGenerator(_regeneratorRuntime.mark(function _callee5(v) {
|
|
333
413
|
var tables;
|
|
334
|
-
return _regeneratorRuntime.wrap(function (
|
|
335
|
-
while (1) switch (
|
|
414
|
+
return _regeneratorRuntime.wrap(function (_context5) {
|
|
415
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
336
416
|
case 0:
|
|
337
|
-
|
|
417
|
+
_context5.next = 1;
|
|
338
418
|
return fetchDataset(v.datasourceId);
|
|
339
419
|
case 1:
|
|
340
|
-
tables =
|
|
341
|
-
return
|
|
420
|
+
tables = _context5.sent;
|
|
421
|
+
return _context5.abrupt("return", _objectSpread(_objectSpread({}, v), {}, {
|
|
342
422
|
children: tables
|
|
343
423
|
}));
|
|
344
424
|
case 2:
|
|
345
425
|
case "end":
|
|
346
|
-
return
|
|
426
|
+
return _context5.stop();
|
|
347
427
|
}
|
|
348
|
-
},
|
|
428
|
+
}, _callee5);
|
|
349
429
|
}));
|
|
350
|
-
return function (
|
|
351
|
-
return
|
|
430
|
+
return function (_x6) {
|
|
431
|
+
return _ref6.apply(this, arguments);
|
|
352
432
|
};
|
|
353
433
|
}()));
|
|
354
434
|
case 1:
|
|
355
|
-
results =
|
|
435
|
+
results = _context6.sent;
|
|
356
436
|
setSourceTable(results || []);
|
|
357
437
|
case 2:
|
|
358
438
|
case "end":
|
|
359
|
-
return
|
|
439
|
+
return _context6.stop();
|
|
360
440
|
}
|
|
361
|
-
},
|
|
441
|
+
}, _callee6);
|
|
362
442
|
}));
|
|
363
|
-
return function getSourceTable(
|
|
364
|
-
return
|
|
443
|
+
return function getSourceTable(_x5) {
|
|
444
|
+
return _ref5.apply(this, arguments);
|
|
365
445
|
};
|
|
366
446
|
}();
|
|
367
447
|
var showToolbar = function showToolbar(name) {
|
|
368
448
|
return !!~toolbar.indexOf(name);
|
|
369
449
|
};
|
|
370
450
|
var fetchDataset = function () {
|
|
371
|
-
var
|
|
451
|
+
var _ref7 = _asyncToGenerator(_regeneratorRuntime.mark(function _callee7(datasourceId) {
|
|
372
452
|
var tables, _tables;
|
|
373
|
-
return _regeneratorRuntime.wrap(function (
|
|
374
|
-
while (1) switch (
|
|
453
|
+
return _regeneratorRuntime.wrap(function (_context7) {
|
|
454
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
375
455
|
case 0:
|
|
376
456
|
tables = getDataset(datasourceId);
|
|
377
457
|
if (!tables.length) {
|
|
378
|
-
|
|
458
|
+
_context7.next = 1;
|
|
379
459
|
break;
|
|
380
460
|
}
|
|
381
|
-
return
|
|
461
|
+
return _context7.abrupt("return", tables);
|
|
382
462
|
case 1:
|
|
383
|
-
|
|
463
|
+
_context7.next = 2;
|
|
384
464
|
return fetchDatasetFn.current(datasourceId, {
|
|
385
465
|
isExit: isExit
|
|
386
466
|
});
|
|
387
467
|
case 2:
|
|
388
|
-
_tables =
|
|
468
|
+
_tables = _context7.sent;
|
|
389
469
|
setDataset(datasourceId, _tables);
|
|
390
|
-
return
|
|
470
|
+
return _context7.abrupt("return", _tables);
|
|
391
471
|
case 3:
|
|
392
472
|
case "end":
|
|
393
|
-
return
|
|
473
|
+
return _context7.stop();
|
|
394
474
|
}
|
|
395
|
-
},
|
|
475
|
+
}, _callee7);
|
|
396
476
|
}));
|
|
397
|
-
return function fetchDataset(
|
|
398
|
-
return
|
|
477
|
+
return function fetchDataset(_x7) {
|
|
478
|
+
return _ref7.apply(this, arguments);
|
|
399
479
|
};
|
|
400
480
|
}();
|
|
401
481
|
var fetchColumns = function () {
|
|
402
|
-
var
|
|
482
|
+
var _ref8 = _asyncToGenerator(_regeneratorRuntime.mark(function _callee8(table, datasourceId) {
|
|
403
483
|
var _columns2;
|
|
404
484
|
var oldColumns,
|
|
405
485
|
callback,
|
|
@@ -417,15 +497,15 @@ var useStore = function useStore() {
|
|
|
417
497
|
tableName,
|
|
418
498
|
columns,
|
|
419
499
|
_columns,
|
|
420
|
-
|
|
421
|
-
return _regeneratorRuntime.wrap(function (
|
|
422
|
-
while (1) switch (
|
|
500
|
+
_args8 = arguments;
|
|
501
|
+
return _regeneratorRuntime.wrap(function (_context8) {
|
|
502
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
423
503
|
case 0:
|
|
424
|
-
oldColumns =
|
|
425
|
-
callback =
|
|
426
|
-
isSelect =
|
|
427
|
-
_isSubquery =
|
|
428
|
-
_isExit =
|
|
504
|
+
oldColumns = _args8.length > 2 && _args8[2] !== undefined ? _args8[2] : [];
|
|
505
|
+
callback = _args8.length > 3 ? _args8[3] : undefined;
|
|
506
|
+
isSelect = _args8.length > 4 && _args8[4] !== undefined ? _args8[4] : isSelectFields;
|
|
507
|
+
_isSubquery = _args8.length > 5 && _args8[5] !== undefined ? _args8[5] : isSubquery;
|
|
508
|
+
_isExit = _args8.length > 6 && _args8[6] !== undefined ? _args8[6] : isExit;
|
|
429
509
|
oldObj = {};
|
|
430
510
|
selectId = oldColumns.filter(function (v) {
|
|
431
511
|
oldObj[v.id] = v;
|
|
@@ -443,51 +523,53 @@ var useStore = function useStore() {
|
|
|
443
523
|
tableName = table.name;
|
|
444
524
|
columns = getColumns(tableName);
|
|
445
525
|
if (columns.length) {
|
|
446
|
-
|
|
526
|
+
_context8.next = 2;
|
|
447
527
|
break;
|
|
448
528
|
}
|
|
449
|
-
|
|
529
|
+
_context8.next = 1;
|
|
450
530
|
return fetchColumnsFn.current(extra, datasourceId, {
|
|
451
531
|
isExit: _isExit
|
|
452
532
|
});
|
|
453
533
|
case 1:
|
|
454
|
-
columns =
|
|
534
|
+
columns = _context8.sent;
|
|
455
535
|
setColumns(tableName, columns);
|
|
456
536
|
case 2:
|
|
457
537
|
_columns = (_columns2 = columns) === null || _columns2 === void 0 ? void 0 : _columns2.map(function (v) {
|
|
538
|
+
var _ref9, _obj$fieldAlias;
|
|
458
539
|
var obj = oldColumns.find(function (oldColumn) {
|
|
459
540
|
return isSameColumnByIdFirst(oldColumn, v);
|
|
460
541
|
});
|
|
461
542
|
var select = selectId.includes(v.id) || Boolean(obj === null || obj === void 0 ? void 0 : obj.select);
|
|
462
543
|
return _objectSpread(_objectSpread(_objectSpread({}, obj), v), {}, {
|
|
463
544
|
select: isSelect || select,
|
|
545
|
+
fieldAlias: (_ref9 = (_obj$fieldAlias = obj === null || obj === void 0 ? void 0 : obj.fieldAlias) !== null && _obj$fieldAlias !== void 0 ? _obj$fieldAlias : v.fieldAlias) !== null && _ref9 !== void 0 ? _ref9 : '',
|
|
464
546
|
fieldUuid: (obj === null || obj === void 0 ? void 0 : obj.fieldUuid) || v.fieldUuid || uuidv4('field')
|
|
465
547
|
});
|
|
466
548
|
});
|
|
467
549
|
typeof callback === 'function' && callback(_columns);
|
|
468
550
|
case 3:
|
|
469
551
|
case "end":
|
|
470
|
-
return
|
|
552
|
+
return _context8.stop();
|
|
471
553
|
}
|
|
472
|
-
},
|
|
554
|
+
}, _callee8);
|
|
473
555
|
}));
|
|
474
|
-
return function fetchColumns(
|
|
475
|
-
return
|
|
556
|
+
return function fetchColumns(_x8, _x9) {
|
|
557
|
+
return _ref8.apply(this, arguments);
|
|
476
558
|
};
|
|
477
559
|
}();
|
|
478
560
|
var setMeta = function () {
|
|
479
|
-
var
|
|
561
|
+
var _ref0 = _asyncToGenerator(_regeneratorRuntime.mark(function _callee9(curData, groupInd) {
|
|
480
562
|
var changeObj,
|
|
481
563
|
_metaList,
|
|
482
564
|
prevMeta,
|
|
483
565
|
newMeta,
|
|
484
566
|
isChange,
|
|
485
|
-
|
|
486
|
-
return _regeneratorRuntime.wrap(function (
|
|
487
|
-
while (1) switch (
|
|
567
|
+
_args9 = arguments;
|
|
568
|
+
return _regeneratorRuntime.wrap(function (_context9) {
|
|
569
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
488
570
|
case 0:
|
|
489
|
-
changeObj =
|
|
490
|
-
_metaList =
|
|
571
|
+
changeObj = _args9.length > 2 && _args9[2] !== undefined ? _args9[2] : {};
|
|
572
|
+
_metaList = _args9.length > 3 ? _args9[3] : undefined;
|
|
491
573
|
prevMeta = cloneDeep(_metaList || latestMetaListRef.current);
|
|
492
574
|
newMeta = cloneDeep(prevMeta);
|
|
493
575
|
if (newMeta[groupInd]) {
|
|
@@ -495,28 +577,28 @@ var useStore = function useStore() {
|
|
|
495
577
|
_setMeta(newMeta);
|
|
496
578
|
}
|
|
497
579
|
if (!(changeObj === 'init')) {
|
|
498
|
-
|
|
580
|
+
_context9.next = 1;
|
|
499
581
|
break;
|
|
500
582
|
}
|
|
501
|
-
return
|
|
583
|
+
return _context9.abrupt("return");
|
|
502
584
|
case 1:
|
|
503
|
-
|
|
585
|
+
_context9.next = 2;
|
|
504
586
|
return fetchChangeFn.current(splitByUnion(newMeta), changeObj, {
|
|
505
587
|
isExit: isExit
|
|
506
588
|
});
|
|
507
589
|
case 2:
|
|
508
|
-
isChange =
|
|
590
|
+
isChange = _context9.sent;
|
|
509
591
|
if (isChange === false) {
|
|
510
592
|
_setMeta(prevMeta);
|
|
511
593
|
}
|
|
512
594
|
case 3:
|
|
513
595
|
case "end":
|
|
514
|
-
return
|
|
596
|
+
return _context9.stop();
|
|
515
597
|
}
|
|
516
|
-
},
|
|
598
|
+
}, _callee9);
|
|
517
599
|
}));
|
|
518
|
-
return function setMeta(
|
|
519
|
-
return
|
|
600
|
+
return function setMeta(_x0, _x1) {
|
|
601
|
+
return _ref0.apply(this, arguments);
|
|
520
602
|
};
|
|
521
603
|
}();
|
|
522
604
|
var setPreData = function setPreData(data) {
|
|
@@ -998,10 +1080,20 @@ var useStore = function useStore() {
|
|
|
998
1080
|
setMetabaseCopy: setMetabaseCopy,
|
|
999
1081
|
moduleDiff: moduleDiff,
|
|
1000
1082
|
setModuleDiff: setModuleDiff,
|
|
1083
|
+
showFormulaSql: showFormulaSql,
|
|
1084
|
+
setShowFormulaSql: setShowFormulaSql,
|
|
1085
|
+
showFormulaDiff: showFormulaDiff,
|
|
1086
|
+
setShowFormulaDiff: setShowFormulaDiff,
|
|
1087
|
+
hasFormulaSqlCode: hasFormulaSqlCode,
|
|
1088
|
+
hasFormulaDiffCode: hasFormulaDiffCode,
|
|
1001
1089
|
sourceData: sourceData,
|
|
1002
1090
|
setSourceData: setSourceData,
|
|
1003
1091
|
setFetchDiffFn: setFetchDiffFn,
|
|
1004
1092
|
getModuleDiffCode: getModuleDiffCode,
|
|
1093
|
+
setFetchFormulaSqlFn: setFetchFormulaSqlFn,
|
|
1094
|
+
getFormulaSqlCode: getFormulaSqlCode,
|
|
1095
|
+
setFetchFormulaDiffFn: setFetchFormulaDiffFn,
|
|
1096
|
+
getFormulaDiffCode: getFormulaDiffCode,
|
|
1005
1097
|
isSubquery: isSubquery,
|
|
1006
1098
|
setIsSubquery: setIsSubquery,
|
|
1007
1099
|
moduleCopy: moduleCopy,
|