@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;
|
|
@@ -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
|
}
|
|
@@ -46,10 +46,12 @@ var SelectColumn = function SelectColumn(_ref) {
|
|
|
46
46
|
(0, _react.useEffect)(function () {
|
|
47
47
|
setOriginList(function (currentList) {
|
|
48
48
|
return data.map(function (item) {
|
|
49
|
+
var _ref2, _existingItem$fieldAl;
|
|
49
50
|
var existingItem = currentList.find(function (current) {
|
|
50
51
|
return (0, _helper.isSameColumnByIdFirst)(current, item);
|
|
51
52
|
});
|
|
52
53
|
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, existingItem || {}), item), {}, {
|
|
54
|
+
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 : '',
|
|
53
55
|
fieldUuid: item.fieldUuid || (existingItem === null || existingItem === void 0 ? void 0 : existingItem.fieldUuid) || (0, _helper.uuidv4)('field')
|
|
54
56
|
});
|
|
55
57
|
});
|
|
@@ -88,8 +90,9 @@ var SelectColumn = function SelectColumn(_ref) {
|
|
|
88
90
|
}
|
|
89
91
|
}, [isAllSelect]);
|
|
90
92
|
function onSelect(columns, newMetaList) {
|
|
93
|
+
var useColumnsDirectly = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
91
94
|
var originalData = (0, _cloneDeep["default"])(originList);
|
|
92
|
-
var mergedColumns = originalData.map(function (item) {
|
|
95
|
+
var mergedColumns = useColumnsDirectly ? (0, _cloneDeep["default"])(columns) : originalData.map(function (item) {
|
|
93
96
|
var match = columns.find(function (col) {
|
|
94
97
|
return (0, _helper.isSameColumnByIdFirst)(col, item);
|
|
95
98
|
});
|
|
@@ -131,7 +134,7 @@ var SelectColumn = function SelectColumn(_ref) {
|
|
|
131
134
|
obj: newColumns[i],
|
|
132
135
|
type: _types.ChangeType.fieldAlias
|
|
133
136
|
});
|
|
134
|
-
onSelect(newColumns, newMetaList);
|
|
137
|
+
onSelect(newColumns, newMetaList, true);
|
|
135
138
|
setTimeout(function () {
|
|
136
139
|
store.setClosable(true);
|
|
137
140
|
}, 0);
|
|
@@ -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) {
|
|
@@ -186,30 +186,46 @@ var useStore = function useStore() {
|
|
|
186
186
|
_useState60 = (0, _slicedToArray2["default"])(_useState59, 2),
|
|
187
187
|
moduleDiff = _useState60[0],
|
|
188
188
|
setModuleDiff = _useState60[1];
|
|
189
|
-
var _useState61 = (0, _react.useState)(
|
|
189
|
+
var _useState61 = (0, _react.useState)(false),
|
|
190
190
|
_useState62 = (0, _slicedToArray2["default"])(_useState61, 2),
|
|
191
|
-
|
|
192
|
-
|
|
191
|
+
showFormulaSql = _useState62[0],
|
|
192
|
+
setShowFormulaSql = _useState62[1];
|
|
193
193
|
var _useState63 = (0, _react.useState)(false),
|
|
194
194
|
_useState64 = (0, _slicedToArray2["default"])(_useState63, 2),
|
|
195
|
-
|
|
196
|
-
|
|
195
|
+
showFormulaDiff = _useState64[0],
|
|
196
|
+
setShowFormulaDiff = _useState64[1];
|
|
197
197
|
var _useState65 = (0, _react.useState)(false),
|
|
198
198
|
_useState66 = (0, _slicedToArray2["default"])(_useState65, 2),
|
|
199
|
-
|
|
200
|
-
|
|
199
|
+
hasFormulaSqlCode = _useState66[0],
|
|
200
|
+
setHasFormulaSqlCode = _useState66[1];
|
|
201
201
|
var _useState67 = (0, _react.useState)(false),
|
|
202
202
|
_useState68 = (0, _slicedToArray2["default"])(_useState67, 2),
|
|
203
|
-
|
|
204
|
-
|
|
203
|
+
hasFormulaDiffCode = _useState68[0],
|
|
204
|
+
setHasFormulaDiffCode = _useState68[1];
|
|
205
205
|
var _useState69 = (0, _react.useState)([]),
|
|
206
206
|
_useState70 = (0, _slicedToArray2["default"])(_useState69, 2),
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
var _useState71 = (0, _react.useState)(
|
|
207
|
+
sourceData = _useState70[0],
|
|
208
|
+
setSourceData = _useState70[1];
|
|
209
|
+
var _useState71 = (0, _react.useState)(false),
|
|
210
210
|
_useState72 = (0, _slicedToArray2["default"])(_useState71, 2),
|
|
211
|
-
|
|
212
|
-
|
|
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];
|
|
213
229
|
var setFormulaTemplates = function setFormulaTemplates(data) {
|
|
214
230
|
var newData = data === null || data === void 0 ? void 0 : data.map(function (v) {
|
|
215
231
|
var children = v.children.map(function (vv) {
|
|
@@ -231,6 +247,8 @@ var useStore = function useStore() {
|
|
|
231
247
|
var fetchColumnsFn = (0, _react.useRef)();
|
|
232
248
|
var fetchChangeFn = (0, _react.useRef)();
|
|
233
249
|
var fetchDiffFn = (0, _react.useRef)();
|
|
250
|
+
var fetchFormulaSqlFn = (0, _react.useRef)();
|
|
251
|
+
var fetchFormulaDiffFn = (0, _react.useRef)();
|
|
234
252
|
var fetchExistsError = (0, _react.useRef)();
|
|
235
253
|
var setFetchChangeFn = function setFetchChangeFn(fn) {
|
|
236
254
|
fetchChangeFn.current = fn;
|
|
@@ -238,6 +256,14 @@ var useStore = function useStore() {
|
|
|
238
256
|
var setFetchDiffFn = function setFetchDiffFn(fn) {
|
|
239
257
|
fetchDiffFn.current = fn;
|
|
240
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
|
+
};
|
|
241
267
|
var setExistsErrorFn = function () {
|
|
242
268
|
var _ref = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(fn, value) {
|
|
243
269
|
var data;
|
|
@@ -295,6 +321,60 @@ var useStore = function useStore() {
|
|
|
295
321
|
return _ref2.apply(this, arguments);
|
|
296
322
|
};
|
|
297
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
|
+
}();
|
|
298
378
|
var setFetchColumnsFn = function setFetchColumnsFn(fn) {
|
|
299
379
|
fetchColumnsFn.current = fn;
|
|
300
380
|
};
|
|
@@ -328,84 +408,84 @@ var useStore = function useStore() {
|
|
|
328
408
|
}
|
|
329
409
|
}, [sourceList, isExit, tableFlat]);
|
|
330
410
|
var getSourceTable = function () {
|
|
331
|
-
var
|
|
411
|
+
var _ref5 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6(source) {
|
|
332
412
|
var results;
|
|
333
|
-
return _regenerator["default"].wrap(function (
|
|
334
|
-
while (1) switch (
|
|
413
|
+
return _regenerator["default"].wrap(function (_context6) {
|
|
414
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
335
415
|
case 0:
|
|
336
|
-
|
|
416
|
+
_context6.next = 1;
|
|
337
417
|
return Promise.all(source.map(function () {
|
|
338
|
-
var
|
|
418
|
+
var _ref6 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5(v) {
|
|
339
419
|
var tables;
|
|
340
|
-
return _regenerator["default"].wrap(function (
|
|
341
|
-
while (1) switch (
|
|
420
|
+
return _regenerator["default"].wrap(function (_context5) {
|
|
421
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
342
422
|
case 0:
|
|
343
|
-
|
|
423
|
+
_context5.next = 1;
|
|
344
424
|
return fetchDataset(v.datasourceId);
|
|
345
425
|
case 1:
|
|
346
|
-
tables =
|
|
347
|
-
return
|
|
426
|
+
tables = _context5.sent;
|
|
427
|
+
return _context5.abrupt("return", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
|
|
348
428
|
children: tables
|
|
349
429
|
}));
|
|
350
430
|
case 2:
|
|
351
431
|
case "end":
|
|
352
|
-
return
|
|
432
|
+
return _context5.stop();
|
|
353
433
|
}
|
|
354
|
-
},
|
|
434
|
+
}, _callee5);
|
|
355
435
|
}));
|
|
356
|
-
return function (
|
|
357
|
-
return
|
|
436
|
+
return function (_x6) {
|
|
437
|
+
return _ref6.apply(this, arguments);
|
|
358
438
|
};
|
|
359
439
|
}()));
|
|
360
440
|
case 1:
|
|
361
|
-
results =
|
|
441
|
+
results = _context6.sent;
|
|
362
442
|
setSourceTable(results || []);
|
|
363
443
|
case 2:
|
|
364
444
|
case "end":
|
|
365
|
-
return
|
|
445
|
+
return _context6.stop();
|
|
366
446
|
}
|
|
367
|
-
},
|
|
447
|
+
}, _callee6);
|
|
368
448
|
}));
|
|
369
|
-
return function getSourceTable(
|
|
370
|
-
return
|
|
449
|
+
return function getSourceTable(_x5) {
|
|
450
|
+
return _ref5.apply(this, arguments);
|
|
371
451
|
};
|
|
372
452
|
}();
|
|
373
453
|
var showToolbar = function showToolbar(name) {
|
|
374
454
|
return !!~toolbar.indexOf(name);
|
|
375
455
|
};
|
|
376
456
|
var fetchDataset = function () {
|
|
377
|
-
var
|
|
457
|
+
var _ref7 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7(datasourceId) {
|
|
378
458
|
var tables, _tables;
|
|
379
|
-
return _regenerator["default"].wrap(function (
|
|
380
|
-
while (1) switch (
|
|
459
|
+
return _regenerator["default"].wrap(function (_context7) {
|
|
460
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
381
461
|
case 0:
|
|
382
462
|
tables = getDataset(datasourceId);
|
|
383
463
|
if (!tables.length) {
|
|
384
|
-
|
|
464
|
+
_context7.next = 1;
|
|
385
465
|
break;
|
|
386
466
|
}
|
|
387
|
-
return
|
|
467
|
+
return _context7.abrupt("return", tables);
|
|
388
468
|
case 1:
|
|
389
|
-
|
|
469
|
+
_context7.next = 2;
|
|
390
470
|
return fetchDatasetFn.current(datasourceId, {
|
|
391
471
|
isExit: isExit
|
|
392
472
|
});
|
|
393
473
|
case 2:
|
|
394
|
-
_tables =
|
|
474
|
+
_tables = _context7.sent;
|
|
395
475
|
setDataset(datasourceId, _tables);
|
|
396
|
-
return
|
|
476
|
+
return _context7.abrupt("return", _tables);
|
|
397
477
|
case 3:
|
|
398
478
|
case "end":
|
|
399
|
-
return
|
|
479
|
+
return _context7.stop();
|
|
400
480
|
}
|
|
401
|
-
},
|
|
481
|
+
}, _callee7);
|
|
402
482
|
}));
|
|
403
|
-
return function fetchDataset(
|
|
404
|
-
return
|
|
483
|
+
return function fetchDataset(_x7) {
|
|
484
|
+
return _ref7.apply(this, arguments);
|
|
405
485
|
};
|
|
406
486
|
}();
|
|
407
487
|
var fetchColumns = function () {
|
|
408
|
-
var
|
|
488
|
+
var _ref8 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8(table, datasourceId) {
|
|
409
489
|
var _columns2;
|
|
410
490
|
var oldColumns,
|
|
411
491
|
callback,
|
|
@@ -423,15 +503,15 @@ var useStore = function useStore() {
|
|
|
423
503
|
tableName,
|
|
424
504
|
columns,
|
|
425
505
|
_columns,
|
|
426
|
-
|
|
427
|
-
return _regenerator["default"].wrap(function (
|
|
428
|
-
while (1) switch (
|
|
506
|
+
_args8 = arguments;
|
|
507
|
+
return _regenerator["default"].wrap(function (_context8) {
|
|
508
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
429
509
|
case 0:
|
|
430
|
-
oldColumns =
|
|
431
|
-
callback =
|
|
432
|
-
isSelect =
|
|
433
|
-
_isSubquery =
|
|
434
|
-
_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;
|
|
435
515
|
oldObj = {};
|
|
436
516
|
selectId = oldColumns.filter(function (v) {
|
|
437
517
|
oldObj[v.id] = v;
|
|
@@ -449,51 +529,53 @@ var useStore = function useStore() {
|
|
|
449
529
|
tableName = table.name;
|
|
450
530
|
columns = getColumns(tableName);
|
|
451
531
|
if (columns.length) {
|
|
452
|
-
|
|
532
|
+
_context8.next = 2;
|
|
453
533
|
break;
|
|
454
534
|
}
|
|
455
|
-
|
|
535
|
+
_context8.next = 1;
|
|
456
536
|
return fetchColumnsFn.current(extra, datasourceId, {
|
|
457
537
|
isExit: _isExit
|
|
458
538
|
});
|
|
459
539
|
case 1:
|
|
460
|
-
columns =
|
|
540
|
+
columns = _context8.sent;
|
|
461
541
|
setColumns(tableName, columns);
|
|
462
542
|
case 2:
|
|
463
543
|
_columns = (_columns2 = columns) === null || _columns2 === void 0 ? void 0 : _columns2.map(function (v) {
|
|
544
|
+
var _ref9, _obj$fieldAlias;
|
|
464
545
|
var obj = oldColumns.find(function (oldColumn) {
|
|
465
546
|
return (0, _helper.isSameColumnByIdFirst)(oldColumn, v);
|
|
466
547
|
});
|
|
467
548
|
var select = selectId.includes(v.id) || Boolean(obj === null || obj === void 0 ? void 0 : obj.select);
|
|
468
549
|
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, obj), v), {}, {
|
|
469
550
|
select: isSelect || select,
|
|
551
|
+
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 : '',
|
|
470
552
|
fieldUuid: (obj === null || obj === void 0 ? void 0 : obj.fieldUuid) || v.fieldUuid || (0, _helper.uuidv4)('field')
|
|
471
553
|
});
|
|
472
554
|
});
|
|
473
555
|
typeof callback === 'function' && callback(_columns);
|
|
474
556
|
case 3:
|
|
475
557
|
case "end":
|
|
476
|
-
return
|
|
558
|
+
return _context8.stop();
|
|
477
559
|
}
|
|
478
|
-
},
|
|
560
|
+
}, _callee8);
|
|
479
561
|
}));
|
|
480
|
-
return function fetchColumns(
|
|
481
|
-
return
|
|
562
|
+
return function fetchColumns(_x8, _x9) {
|
|
563
|
+
return _ref8.apply(this, arguments);
|
|
482
564
|
};
|
|
483
565
|
}();
|
|
484
566
|
var setMeta = function () {
|
|
485
|
-
var
|
|
567
|
+
var _ref0 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9(curData, groupInd) {
|
|
486
568
|
var changeObj,
|
|
487
569
|
_metaList,
|
|
488
570
|
prevMeta,
|
|
489
571
|
newMeta,
|
|
490
572
|
isChange,
|
|
491
|
-
|
|
492
|
-
return _regenerator["default"].wrap(function (
|
|
493
|
-
while (1) switch (
|
|
573
|
+
_args9 = arguments;
|
|
574
|
+
return _regenerator["default"].wrap(function (_context9) {
|
|
575
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
494
576
|
case 0:
|
|
495
|
-
changeObj =
|
|
496
|
-
_metaList =
|
|
577
|
+
changeObj = _args9.length > 2 && _args9[2] !== undefined ? _args9[2] : {};
|
|
578
|
+
_metaList = _args9.length > 3 ? _args9[3] : undefined;
|
|
497
579
|
prevMeta = (0, _cloneDeep["default"])(_metaList || latestMetaListRef.current);
|
|
498
580
|
newMeta = (0, _cloneDeep["default"])(prevMeta);
|
|
499
581
|
if (newMeta[groupInd]) {
|
|
@@ -501,28 +583,28 @@ var useStore = function useStore() {
|
|
|
501
583
|
_setMeta(newMeta);
|
|
502
584
|
}
|
|
503
585
|
if (!(changeObj === 'init')) {
|
|
504
|
-
|
|
586
|
+
_context9.next = 1;
|
|
505
587
|
break;
|
|
506
588
|
}
|
|
507
|
-
return
|
|
589
|
+
return _context9.abrupt("return");
|
|
508
590
|
case 1:
|
|
509
|
-
|
|
591
|
+
_context9.next = 2;
|
|
510
592
|
return fetchChangeFn.current((0, _utils.splitByUnion)(newMeta), changeObj, {
|
|
511
593
|
isExit: isExit
|
|
512
594
|
});
|
|
513
595
|
case 2:
|
|
514
|
-
isChange =
|
|
596
|
+
isChange = _context9.sent;
|
|
515
597
|
if (isChange === false) {
|
|
516
598
|
_setMeta(prevMeta);
|
|
517
599
|
}
|
|
518
600
|
case 3:
|
|
519
601
|
case "end":
|
|
520
|
-
return
|
|
602
|
+
return _context9.stop();
|
|
521
603
|
}
|
|
522
|
-
},
|
|
604
|
+
}, _callee9);
|
|
523
605
|
}));
|
|
524
|
-
return function setMeta(
|
|
525
|
-
return
|
|
606
|
+
return function setMeta(_x0, _x1) {
|
|
607
|
+
return _ref0.apply(this, arguments);
|
|
526
608
|
};
|
|
527
609
|
}();
|
|
528
610
|
var setPreData = function setPreData(data) {
|
|
@@ -1004,10 +1086,20 @@ var useStore = function useStore() {
|
|
|
1004
1086
|
setMetabaseCopy: setMetabaseCopy,
|
|
1005
1087
|
moduleDiff: moduleDiff,
|
|
1006
1088
|
setModuleDiff: setModuleDiff,
|
|
1089
|
+
showFormulaSql: showFormulaSql,
|
|
1090
|
+
setShowFormulaSql: setShowFormulaSql,
|
|
1091
|
+
showFormulaDiff: showFormulaDiff,
|
|
1092
|
+
setShowFormulaDiff: setShowFormulaDiff,
|
|
1093
|
+
hasFormulaSqlCode: hasFormulaSqlCode,
|
|
1094
|
+
hasFormulaDiffCode: hasFormulaDiffCode,
|
|
1007
1095
|
sourceData: sourceData,
|
|
1008
1096
|
setSourceData: setSourceData,
|
|
1009
1097
|
setFetchDiffFn: setFetchDiffFn,
|
|
1010
1098
|
getModuleDiffCode: getModuleDiffCode,
|
|
1099
|
+
setFetchFormulaSqlFn: setFetchFormulaSqlFn,
|
|
1100
|
+
getFormulaSqlCode: getFormulaSqlCode,
|
|
1101
|
+
setFetchFormulaDiffFn: setFetchFormulaDiffFn,
|
|
1102
|
+
getFormulaDiffCode: getFormulaDiffCode,
|
|
1011
1103
|
isSubquery: isSubquery,
|
|
1012
1104
|
setIsSubquery: setIsSubquery,
|
|
1013
1105
|
moduleCopy: moduleCopy,
|