@gingkoo/pandora-metabase 1.0.151 → 1.0.153
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/CaseWhenGroup.d.ts +2 -1
- package/lib/cjs/components/dialog/formula-list/CaseWhenGroup.js +7 -5
- package/lib/cjs/components/dialog/formula-list/LogicGroup.d.ts +2 -1
- package/lib/cjs/components/dialog/formula-list/LogicGroup.js +4 -2
- package/lib/cjs/components/dialog/formula-list/index.js +23 -14
- package/lib/cjs/components/dialog/select-column/index.d.ts +2 -1
- package/lib/cjs/components/dialog/select-column/index.js +10 -1
- package/lib/cjs/components/metabase/index.js +30 -2
- package/lib/cjs/components/modules/components/header.js +1 -1
- package/lib/cjs/components/modules/components/item-name.js +4 -1
- package/lib/cjs/components/modules/components/item-wrapper.js +1 -1
- package/lib/cjs/components/modules/components/meta-icon.js +4 -2
- package/lib/cjs/components/modules/custom-column.js +2 -2
- package/lib/cjs/components/modules/join-data.js +40 -41
- package/lib/cjs/components/modules/permission-table.js +1 -0
- package/lib/cjs/components/modules/row-limit.js +1 -0
- package/lib/cjs/components/modules/sort.js +2 -2
- package/lib/cjs/components/modules/summarize/group-by.js +6 -3
- package/lib/cjs/components/modules/summarize/select-index.js +3 -3
- package/lib/cjs/components/modules/table-data.js +6 -4
- package/lib/cjs/components/modules/union.js +1 -1
- package/lib/cjs/hooks/use-state.js +66 -52
- package/lib/cjs/index.js +7 -2
- package/lib/cjs/types.d.ts +1 -0
- package/lib/cjs/utils.d.ts +2 -0
- package/lib/cjs/utils.js +4 -4
- package/lib/es/components/dialog/formula-list/CaseWhenGroup.d.ts +2 -1
- package/lib/es/components/dialog/formula-list/CaseWhenGroup.js +7 -5
- package/lib/es/components/dialog/formula-list/LogicGroup.d.ts +2 -1
- package/lib/es/components/dialog/formula-list/LogicGroup.js +4 -2
- package/lib/es/components/dialog/formula-list/index.js +24 -15
- package/lib/es/components/dialog/select-column/index.d.ts +2 -1
- package/lib/es/components/dialog/select-column/index.js +10 -1
- package/lib/es/components/metabase/index.js +30 -2
- package/lib/es/components/modules/components/header.js +1 -1
- package/lib/es/components/modules/components/item-name.js +4 -1
- package/lib/es/components/modules/components/item-wrapper.js +1 -1
- package/lib/es/components/modules/components/meta-icon.js +4 -2
- package/lib/es/components/modules/custom-column.js +2 -2
- package/lib/es/components/modules/join-data.js +40 -41
- package/lib/es/components/modules/permission-table.js +1 -0
- package/lib/es/components/modules/row-limit.js +1 -0
- package/lib/es/components/modules/sort.js +2 -2
- package/lib/es/components/modules/summarize/group-by.js +7 -4
- package/lib/es/components/modules/summarize/select-index.js +3 -3
- package/lib/es/components/modules/table-data.js +6 -4
- package/lib/es/components/modules/union.js +1 -1
- package/lib/es/hooks/use-state.js +66 -52
- package/lib/es/index.js +7 -2
- package/lib/es/types.d.ts +1 -0
- package/lib/es/utils.d.ts +2 -0
- package/lib/es/utils.js +2 -1
- package/package.json +1 -1
|
@@ -28,6 +28,7 @@ var PermissionTable = function PermissionTable(props) {
|
|
|
28
28
|
var _getHelper = (0, _utils.getHelper)(store.metaList[groupIndex].list, meta),
|
|
29
29
|
prevTables = _getHelper.prevTables;
|
|
30
30
|
function selectTable(e) {
|
|
31
|
+
if (store.snapshotMode) return;
|
|
31
32
|
var _getHelper2 = (0, _utils.getHelper)(store.metaList[groupIndex].list, meta),
|
|
32
33
|
ExistAboveGroupBy = _getHelper2.ExistAboveGroupBy,
|
|
33
34
|
prevList = _getHelper2.prevList,
|
|
@@ -21,6 +21,7 @@ var RowLimit = function RowLimit(props) {
|
|
|
21
21
|
var store = (0, _useProvider.useStore)();
|
|
22
22
|
var index = (0, _utils.findIndex)(store.metaList[groupIndex].list, meta);
|
|
23
23
|
function handleChange(inputValue) {
|
|
24
|
+
if (store.snapshotMode) return;
|
|
24
25
|
var newMeta = store.metaList[groupIndex].list.slice();
|
|
25
26
|
newMeta[index].limit = inputValue;
|
|
26
27
|
store.setMeta(newMeta, groupIndex);
|
|
@@ -207,7 +207,7 @@ var Sort = function Sort(props) {
|
|
|
207
207
|
onClick: function onClick() {
|
|
208
208
|
return handleSort(i);
|
|
209
209
|
},
|
|
210
|
-
children: [v.sort === _enum.SortEnum.asc ? (0, _jsxRuntime.jsx)(_icons.UpArrowIcon, {}) : (0, _jsxRuntime.jsx)(_icons.DownArrowIcon, {}), getName(v.expression), (0, _jsxRuntime.jsx)("span", {
|
|
210
|
+
children: [v.sort === _enum.SortEnum.asc ? (0, _jsxRuntime.jsx)(_icons.UpArrowIcon, {}) : (0, _jsxRuntime.jsx)(_icons.DownArrowIcon, {}), getName(v.expression), !store.snapshotMode && (0, _jsxRuntime.jsx)("span", {
|
|
211
211
|
style: {
|
|
212
212
|
fontSize: 0
|
|
213
213
|
},
|
|
@@ -219,7 +219,7 @@ var Sort = function Sort(props) {
|
|
|
219
219
|
}, i)
|
|
220
220
|
})
|
|
221
221
|
}, i);
|
|
222
|
-
}), (0, _jsxRuntime.jsx)("div", {
|
|
222
|
+
}), !store.snapshotMode && (0, _jsxRuntime.jsx)("div", {
|
|
223
223
|
className: "Sqb-TableName gray-name",
|
|
224
224
|
onClick: addSortColumn,
|
|
225
225
|
children: (0, _jsxRuntime.jsx)(_icons.AddIcon, {})
|
|
@@ -32,6 +32,9 @@ var _getSummaryText = function getSummaryText() {
|
|
|
32
32
|
var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
33
33
|
var itemToText = function itemToText(item) {
|
|
34
34
|
if (!item) return '';
|
|
35
|
+
if (item.type === _types.AtomsTypeEnum.FIELD || item.type === _types.AtomsTypeEnum.EXPRESSION || item.type === _types.AtomsTypeEnum.FORMULA || item.type === _types.AtomsTypeEnum.COLLECTION || item.type === _types.AtomsTypeEnum.CASE_WHEN || item.type === _types.AtomsTypeEnum.AND_OR) {
|
|
36
|
+
return (0, _utils.getAtomDisplayText)(item);
|
|
37
|
+
}
|
|
35
38
|
if (item.quotes) return item.quotes;
|
|
36
39
|
if (item.fieldName) return item.fieldAlias || item.fieldName;
|
|
37
40
|
if (item.type === _types.AtomsTypeEnum.FORMULA) {
|
|
@@ -525,7 +528,7 @@ var GroupBy = function GroupBy(props) {
|
|
|
525
528
|
return handleUpdate(e, i);
|
|
526
529
|
},
|
|
527
530
|
children: [v.quotes && (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
528
|
-
children: store.groupByEnableAlias && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
|
|
531
|
+
children: store.groupByEnableAlias && !store.snapshotMode && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
|
|
529
532
|
title: !(0, _utils.isValidSQLAlias)(v === null || v === void 0 ? void 0 : v.fieldAlias) ? (0, _locale.__)('SqlQueryBuilder.aliasForRules') : (0, _locale.__)('SqlQueryBuilder.alias'),
|
|
530
533
|
children: (0, _jsxRuntime.jsx)(_pandora.Button, {
|
|
531
534
|
className: (0, _classnames["default"])(':Sqb-TableName-as :Sqb-TableName green-name', (0, _defineProperty2["default"])({}, 'isError', !(0, _utils.isValidSQLAlias)(v === null || v === void 0 ? void 0 : v.fieldAlias))),
|
|
@@ -540,7 +543,7 @@ var GroupBy = function GroupBy(props) {
|
|
|
540
543
|
}
|
|
541
544
|
})
|
|
542
545
|
})
|
|
543
|
-
}), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), (0, _jsxRuntime.jsx)("span", {
|
|
546
|
+
}), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), !store.snapshotMode && (0, _jsxRuntime.jsx)("span", {
|
|
544
547
|
style: {
|
|
545
548
|
fontSize: 0
|
|
546
549
|
},
|
|
@@ -552,7 +555,7 @@ var GroupBy = function GroupBy(props) {
|
|
|
552
555
|
})
|
|
553
556
|
})
|
|
554
557
|
}, i);
|
|
555
|
-
}), (0, _jsxRuntime.jsx)("div", {
|
|
558
|
+
}), !store.snapshotMode && (0, _jsxRuntime.jsx)("div", {
|
|
556
559
|
className: (0, _classnames["default"])("Sqb-TableName green-name", {
|
|
557
560
|
notSelected: notBySelected
|
|
558
561
|
}),
|
|
@@ -427,7 +427,7 @@ var SelectIndex = function SelectIndex(props) {
|
|
|
427
427
|
return handleUpdate(e, i);
|
|
428
428
|
},
|
|
429
429
|
children: [v.quotes && (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
430
|
-
children: store.groupByEnableAlias && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
|
|
430
|
+
children: store.groupByEnableAlias && !store.snapshotMode && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
|
|
431
431
|
title: !(0, _utils.isValidSQLAlias)(v === null || v === void 0 ? void 0 : v.fieldAlias) ? (0, _locale.__)('SqlQueryBuilder.aliasForRules') : (0, _locale.__)('SqlQueryBuilder.alias'),
|
|
432
432
|
children: (0, _jsxRuntime.jsx)(_pandora.Button, {
|
|
433
433
|
className: (0, _classnames["default"])(':Sqb-TableName-as :Sqb-TableName green-name', (0, _defineProperty2["default"])({}, 'isError', !(0, _utils.isValidSQLAlias)(v === null || v === void 0 ? void 0 : v.fieldAlias))),
|
|
@@ -442,7 +442,7 @@ var SelectIndex = function SelectIndex(props) {
|
|
|
442
442
|
}
|
|
443
443
|
})
|
|
444
444
|
})
|
|
445
|
-
}), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), (0, _jsxRuntime.jsx)("span", {
|
|
445
|
+
}), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), !store.snapshotMode && (0, _jsxRuntime.jsx)("span", {
|
|
446
446
|
style: {
|
|
447
447
|
fontSize: 0
|
|
448
448
|
},
|
|
@@ -454,7 +454,7 @@ var SelectIndex = function SelectIndex(props) {
|
|
|
454
454
|
})
|
|
455
455
|
})
|
|
456
456
|
}, i);
|
|
457
|
-
}), (0, _jsxRuntime.jsx)("div", {
|
|
457
|
+
}), !store.snapshotMode && (0, _jsxRuntime.jsx)("div", {
|
|
458
458
|
className: (0, _classnames["default"])("Sqb-TableName green-name", {
|
|
459
459
|
notSelected: notGroupSelected
|
|
460
460
|
}),
|
|
@@ -85,7 +85,7 @@ var TableData = function TableData(props) {
|
|
|
85
85
|
}, 0);
|
|
86
86
|
}, [meta]);
|
|
87
87
|
function selectTable(e) {
|
|
88
|
-
!meta.readonly && store.setPopup({
|
|
88
|
+
!meta.readonly && !store.snapshotMode && store.setPopup({
|
|
89
89
|
visible: true,
|
|
90
90
|
node: e.currentTarget,
|
|
91
91
|
content: (0, _jsxRuntime.jsx)(_dialog.SelectTable, {
|
|
@@ -128,6 +128,7 @@ var TableData = function TableData(props) {
|
|
|
128
128
|
groupIndex: groupIndex,
|
|
129
129
|
table: meta.table,
|
|
130
130
|
metaIndex: 0,
|
|
131
|
+
readonly: store.snapshotMode,
|
|
131
132
|
data: columns,
|
|
132
133
|
onChange: function onChange(data, newMetaList) {
|
|
133
134
|
var _newMetaList = newMetaList || store.metaList[groupIndex].list.slice();
|
|
@@ -310,7 +311,7 @@ var TableData = function TableData(props) {
|
|
|
310
311
|
},
|
|
311
312
|
children: [subQuerySelected && (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
312
313
|
children: function () {
|
|
313
|
-
var showButton = store.tableEnableAlias || tableIsError() && isDel;
|
|
314
|
+
var showButton = !store.snapshotMode && (store.tableEnableAlias || tableIsError() && isDel);
|
|
314
315
|
var icon = isDel ? (0, _jsxRuntime.jsx)(_pandoraIcons.ExclamationCircleFill, {}) : store.tableEnableAlias ? 'As' : '';
|
|
315
316
|
return showButton ? (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
|
|
316
317
|
title: (0, _locale.__)(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
|
|
@@ -352,7 +353,7 @@ var TableData = function TableData(props) {
|
|
|
352
353
|
onClick: selectTable,
|
|
353
354
|
children: [selected && (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
354
355
|
children: function () {
|
|
355
|
-
var showButton = store.tableEnableAlias || tableIsError() && isDel;
|
|
356
|
+
var showButton = !store.snapshotMode && (store.tableEnableAlias || tableIsError() && isDel);
|
|
356
357
|
var icon = isDel ? (0, _jsxRuntime.jsx)(_pandoraIcons.ExclamationCircleFill, {}) : store.tableEnableAlias ? 'As' : '';
|
|
357
358
|
return showButton ? (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
|
|
358
359
|
title: (0, _locale.__)(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
|
|
@@ -384,7 +385,7 @@ var TableData = function TableData(props) {
|
|
|
384
385
|
}()
|
|
385
386
|
}), selected ? "".concat(meta.table.datasourceName, ".").concat(meta.table.name, " ").concat((_meta$table7 = meta.table) !== null && _meta$table7 !== void 0 && _meta$table7.alias && store.tableEnableAlias ? "as ".concat((_meta$table8 = meta.table) === null || _meta$table8 === void 0 ? void 0 : _meta$table8.alias) : '') : (0, _locale.__)('SqlQueryBuilder.pickTable')]
|
|
386
387
|
})
|
|
387
|
-
}), store.showSubquery && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
|
|
388
|
+
}), store.showSubquery && (!store.snapshotMode || meta.isSubquery) && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
|
|
388
389
|
title: (0, _locale.__)('SqlQueryBuilder.switchSubQuery'),
|
|
389
390
|
children: (0, _jsxRuntime.jsx)(_pandora.Button, {
|
|
390
391
|
disabled: meta.readonly,
|
|
@@ -396,6 +397,7 @@ var TableData = function TableData(props) {
|
|
|
396
397
|
})
|
|
397
398
|
}), selected && store.showFields && (!store.isExit || store.isSubquery) && ((_store$showMainColumn = store.showMainColumn[groupIndex]) === null || _store$showMainColumn === void 0 ? void 0 : _store$showMainColumn.showColumn) && (0, _jsxRuntime.jsx)("div", {
|
|
398
399
|
className: "Sqb-TableColumns",
|
|
400
|
+
"data-sqb-snapshot-allow": 'true',
|
|
399
401
|
onClick: selectColumns,
|
|
400
402
|
children: (0, _locale.__)('SqlQueryBuilder.columns')
|
|
401
403
|
})]
|
|
@@ -27,7 +27,7 @@ var RowLimit = function RowLimit(props) {
|
|
|
27
27
|
groupIndex = props.groupIndex;
|
|
28
28
|
var store = (0, _useProvider.useStore)();
|
|
29
29
|
function selectOperator(e) {
|
|
30
|
-
!meta.readonly && store.setPopup({
|
|
30
|
+
!meta.readonly && !store.snapshotMode && store.setPopup({
|
|
31
31
|
visible: true,
|
|
32
32
|
node: e.currentTarget,
|
|
33
33
|
content: (0, _jsxRuntime.jsx)(_selectList["default"], {
|
|
@@ -166,80 +166,84 @@ var useStore = function useStore() {
|
|
|
166
166
|
_useState50 = (0, _slicedToArray2["default"])(_useState49, 2),
|
|
167
167
|
tableFlat = _useState50[0],
|
|
168
168
|
setTableFlat = _useState50[1];
|
|
169
|
-
var _useState51 = (0, _react.useState)(
|
|
169
|
+
var _useState51 = (0, _react.useState)(false),
|
|
170
170
|
_useState52 = (0, _slicedToArray2["default"])(_useState51, 2),
|
|
171
|
-
|
|
172
|
-
|
|
171
|
+
snapshotMode = _useState52[0],
|
|
172
|
+
setSnapshotMode = _useState52[1];
|
|
173
173
|
var _useState53 = (0, _react.useState)([]),
|
|
174
174
|
_useState54 = (0, _slicedToArray2["default"])(_useState53, 2),
|
|
175
|
-
|
|
176
|
-
|
|
175
|
+
sourceTable = _useState54[0],
|
|
176
|
+
setSourceTable = _useState54[1];
|
|
177
177
|
var _useState55 = (0, _react.useState)([]),
|
|
178
178
|
_useState56 = (0, _slicedToArray2["default"])(_useState55, 2),
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
var _useState57 = (0, _react.useState)(
|
|
179
|
+
operatorList = _useState56[0],
|
|
180
|
+
setOperatorList = _useState56[1];
|
|
181
|
+
var _useState57 = (0, _react.useState)([]),
|
|
182
182
|
_useState58 = (0, _slicedToArray2["default"])(_useState57, 2),
|
|
183
|
-
|
|
184
|
-
|
|
183
|
+
copyType = _useState58[0],
|
|
184
|
+
setCopyType = _useState58[1];
|
|
185
185
|
var _useState59 = (0, _react.useState)(false),
|
|
186
186
|
_useState60 = (0, _slicedToArray2["default"])(_useState59, 2),
|
|
187
|
-
|
|
188
|
-
|
|
187
|
+
metabaseCopy = _useState60[0],
|
|
188
|
+
setMetabaseCopy = _useState60[1];
|
|
189
189
|
var _useState61 = (0, _react.useState)(false),
|
|
190
190
|
_useState62 = (0, _slicedToArray2["default"])(_useState61, 2),
|
|
191
|
-
|
|
192
|
-
|
|
191
|
+
moduleDiff = _useState62[0],
|
|
192
|
+
setModuleDiff = _useState62[1];
|
|
193
193
|
var _useState63 = (0, _react.useState)(false),
|
|
194
194
|
_useState64 = (0, _slicedToArray2["default"])(_useState63, 2),
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
var _useState65 = (0, _react.useState)(
|
|
195
|
+
showFormulaSql = _useState64[0],
|
|
196
|
+
setShowFormulaSql = _useState64[1];
|
|
197
|
+
var _useState65 = (0, _react.useState)(false),
|
|
198
198
|
_useState66 = (0, _slicedToArray2["default"])(_useState65, 2),
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
var _useState67 = (0, _react.useState)(
|
|
199
|
+
showFormulaDiff = _useState66[0],
|
|
200
|
+
setShowFormulaDiff = _useState66[1];
|
|
201
|
+
var _useState67 = (0, _react.useState)(true),
|
|
202
202
|
_useState68 = (0, _slicedToArray2["default"])(_useState67, 2),
|
|
203
|
-
|
|
204
|
-
|
|
203
|
+
matchBrackets = _useState68[0],
|
|
204
|
+
setMatchBrackets = _useState68[1];
|
|
205
205
|
var _useState69 = (0, _react.useState)(false),
|
|
206
206
|
_useState70 = (0, _slicedToArray2["default"])(_useState69, 2),
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
var _useState71 = (0, _react.useState)(
|
|
207
|
+
hasFormulaSqlCode = _useState70[0],
|
|
208
|
+
setHasFormulaSqlCode = _useState70[1];
|
|
209
|
+
var _useState71 = (0, _react.useState)(false),
|
|
210
210
|
_useState72 = (0, _slicedToArray2["default"])(_useState71, 2),
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
var _useState73 = (0, _react.useState)(
|
|
211
|
+
hasFormulaDiffCode = _useState72[0],
|
|
212
|
+
setHasFormulaDiffCode = _useState72[1];
|
|
213
|
+
var _useState73 = (0, _react.useState)([]),
|
|
214
214
|
_useState74 = (0, _slicedToArray2["default"])(_useState73, 2),
|
|
215
|
-
|
|
216
|
-
|
|
215
|
+
sourceData = _useState74[0],
|
|
216
|
+
setSourceData = _useState74[1];
|
|
217
217
|
var _useState75 = (0, _react.useState)(false),
|
|
218
218
|
_useState76 = (0, _slicedToArray2["default"])(_useState75, 2),
|
|
219
|
-
|
|
220
|
-
|
|
219
|
+
moduleCopy = _useState76[0],
|
|
220
|
+
setModuleCopy = _useState76[1];
|
|
221
221
|
var _useState77 = (0, _react.useState)(false),
|
|
222
222
|
_useState78 = (0, _slicedToArray2["default"])(_useState77, 2),
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
var _useState79 = (0, _react.useState)(
|
|
223
|
+
isMetabaseCopy = _useState78[0],
|
|
224
|
+
setIsMetabaseCopy = _useState78[1];
|
|
225
|
+
var _useState79 = (0, _react.useState)(false),
|
|
226
226
|
_useState80 = (0, _slicedToArray2["default"])(_useState79, 2),
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
var rightClickButtonValueMap = (0, _react.useRef)({});
|
|
227
|
+
joinAliasConflictCheck = _useState80[0],
|
|
228
|
+
setJoinAliasConflictCheck = _useState80[1];
|
|
230
229
|
var _useState81 = (0, _react.useState)([]),
|
|
231
230
|
_useState82 = (0, _slicedToArray2["default"])(_useState81, 2),
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
var
|
|
231
|
+
existsError = _useState82[0],
|
|
232
|
+
setExistsError = _useState82[1];
|
|
233
|
+
var rightClickButtonValueMap = (0, _react.useRef)({});
|
|
234
|
+
var _useState83 = (0, _react.useState)([]),
|
|
235
235
|
_useState84 = (0, _slicedToArray2["default"])(_useState83, 2),
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
var
|
|
239
|
-
var _useState85 = (0, _react.useState)(_storage["default"]._metabaseCopyModule || []),
|
|
236
|
+
rightClickMenu = _useState84[0],
|
|
237
|
+
setRightClickMenu = _useState84[1];
|
|
238
|
+
var _useState85 = (0, _react.useState)(null),
|
|
240
239
|
_useState86 = (0, _slicedToArray2["default"])(_useState85, 2),
|
|
241
|
-
|
|
242
|
-
|
|
240
|
+
rightClickMenuState = _useState86[0],
|
|
241
|
+
setRightClickMenuState = _useState86[1];
|
|
242
|
+
var rightClickMenuClickRef = (0, _react.useRef)();
|
|
243
|
+
var _useState87 = (0, _react.useState)(_storage["default"]._metabaseCopyModule || []),
|
|
244
|
+
_useState88 = (0, _slicedToArray2["default"])(_useState87, 2),
|
|
245
|
+
metabaseCopyModule = _useState88[0],
|
|
246
|
+
setMetabaseCopyModule = _useState88[1];
|
|
243
247
|
var setRightClickMenuClick = function setRightClickMenuClick(fn) {
|
|
244
248
|
rightClickMenuClickRef.current = fn;
|
|
245
249
|
};
|
|
@@ -607,6 +611,12 @@ var useStore = function useStore() {
|
|
|
607
611
|
case 0:
|
|
608
612
|
changeObj = _args9.length > 2 && _args9[2] !== undefined ? _args9[2] : {};
|
|
609
613
|
_metaList = _args9.length > 3 ? _args9[3] : undefined;
|
|
614
|
+
if (!(snapshotMode && changeObj !== 'init')) {
|
|
615
|
+
_context9.next = 1;
|
|
616
|
+
break;
|
|
617
|
+
}
|
|
618
|
+
return _context9.abrupt("return");
|
|
619
|
+
case 1:
|
|
610
620
|
prevMeta = (0, _cloneDeep["default"])(_metaList || latestMetaListRef.current);
|
|
611
621
|
newMeta = (0, _cloneDeep["default"])(prevMeta);
|
|
612
622
|
if (newMeta[groupInd]) {
|
|
@@ -614,23 +624,23 @@ var useStore = function useStore() {
|
|
|
614
624
|
_setMeta(newMeta);
|
|
615
625
|
}
|
|
616
626
|
if (!(changeObj === 'init')) {
|
|
617
|
-
_context9.next =
|
|
627
|
+
_context9.next = 2;
|
|
618
628
|
break;
|
|
619
629
|
}
|
|
620
630
|
return _context9.abrupt("return");
|
|
621
|
-
case
|
|
631
|
+
case 2:
|
|
622
632
|
oldData = (0, _utils.splitByUnion)(prevMeta);
|
|
623
633
|
newData = (0, _utils.splitByUnion)(newMeta);
|
|
624
|
-
_context9.next =
|
|
634
|
+
_context9.next = 3;
|
|
625
635
|
return fetchChangeFn.current(oldData, changeObj, {
|
|
626
636
|
isExit: isExit
|
|
627
637
|
}, newData);
|
|
628
|
-
case
|
|
638
|
+
case 3:
|
|
629
639
|
isChange = _context9.sent;
|
|
630
640
|
if (isChange === false) {
|
|
631
641
|
_setMeta(prevMeta);
|
|
632
642
|
}
|
|
633
|
-
case
|
|
643
|
+
case 4:
|
|
634
644
|
case "end":
|
|
635
645
|
return _context9.stop();
|
|
636
646
|
}
|
|
@@ -935,6 +945,7 @@ var useStore = function useStore() {
|
|
|
935
945
|
};
|
|
936
946
|
};
|
|
937
947
|
var addMeta = function addMeta(type, index, groupIndex, obj, onConflict) {
|
|
948
|
+
if (snapshotMode) return false;
|
|
938
949
|
if (joinAliasConflictCheck && obj && obj.length > 0) {
|
|
939
950
|
var conflict = checkTable1Conflict(obj, index, groupIndex);
|
|
940
951
|
if (conflict.hasConflict && conflict.conflictingAlias && onConflict) {
|
|
@@ -970,6 +981,7 @@ var useStore = function useStore() {
|
|
|
970
981
|
return true;
|
|
971
982
|
};
|
|
972
983
|
var delMeta = function delMeta(meta, groupIndex) {
|
|
984
|
+
if (snapshotMode) return;
|
|
973
985
|
if (meta.type === 'group') {
|
|
974
986
|
var _newMeta = metaList.slice();
|
|
975
987
|
_newMeta.splice(groupIndex, 1);
|
|
@@ -1111,6 +1123,8 @@ var useStore = function useStore() {
|
|
|
1111
1123
|
setIsSelectFields: setIsSelectFields,
|
|
1112
1124
|
tableFlat: tableFlat,
|
|
1113
1125
|
setTableFlat: setTableFlat,
|
|
1126
|
+
snapshotMode: snapshotMode,
|
|
1127
|
+
setSnapshotMode: setSnapshotMode,
|
|
1114
1128
|
getSourceTable: getSourceTable,
|
|
1115
1129
|
sourceTable: sourceTable,
|
|
1116
1130
|
copyType: copyType,
|
package/lib/cjs/index.js
CHANGED
|
@@ -26,6 +26,8 @@ var SqlVisionBuilder = _react["default"].forwardRef(function (props, ref) {
|
|
|
26
26
|
loading = _props$loading === void 0 ? false : _props$loading,
|
|
27
27
|
_props$showFields = props.showFields,
|
|
28
28
|
showFields = _props$showFields === void 0 ? true : _props$showFields,
|
|
29
|
+
_props$snapshotMode = props.snapshotMode,
|
|
30
|
+
snapshotMode = _props$snapshotMode === void 0 ? false : _props$snapshotMode,
|
|
29
31
|
getTables = props.getTables,
|
|
30
32
|
getColumns = props.getColumns,
|
|
31
33
|
onChange = props.onChange,
|
|
@@ -131,6 +133,7 @@ var SqlVisionBuilder = _react["default"].forwardRef(function (props, ref) {
|
|
|
131
133
|
store.setGroupByEnableAlias(groupByEnableAlias);
|
|
132
134
|
store.setIsSelectFields(isSelectFields);
|
|
133
135
|
store.setTableFlat(tableFlat);
|
|
136
|
+
store.setSnapshotMode(snapshotMode);
|
|
134
137
|
store.setCopyType(copyType || EMPTY_ARRAY);
|
|
135
138
|
store.setMetabaseCopy(metabaseCopy);
|
|
136
139
|
store.setModuleDiff(moduleDiff);
|
|
@@ -141,7 +144,7 @@ var SqlVisionBuilder = _react["default"].forwardRef(function (props, ref) {
|
|
|
141
144
|
store.setModuleCopy(moduleCopy);
|
|
142
145
|
store.setJoinAliasConflictCheck(joinAliasConflictCheck);
|
|
143
146
|
store.setOperatorList(operatorList || EMPTY_ARRAY);
|
|
144
|
-
}, [showFields, fieldNameTpl, tableNameTpl, toolbar, showSubquery, subShowSubquery, constantList, formulaTemplates, ignoreGroupByType, filterCustomType, isExit, tableEnableAlias, fieldEnableAlias, groupByEnableAlias, isSelectFields, tableFlat, copyType, metabaseCopy, moduleDiff, showFormulaSql, showFormulaDiff, matchBrackets, getFormulaSqlCode, getFormulaDiffCode, isSubquery, moduleCopy, joinAliasConflictCheck, operatorList]);
|
|
147
|
+
}, [showFields, fieldNameTpl, tableNameTpl, toolbar, showSubquery, subShowSubquery, constantList, formulaTemplates, ignoreGroupByType, filterCustomType, isExit, tableEnableAlias, fieldEnableAlias, groupByEnableAlias, isSelectFields, tableFlat, snapshotMode, copyType, metabaseCopy, moduleDiff, showFormulaSql, showFormulaDiff, matchBrackets, getFormulaSqlCode, getFormulaDiffCode, isSubquery, moduleCopy, joinAliasConflictCheck, operatorList]);
|
|
145
148
|
_react["default"].useImperativeHandle(ref, function () {
|
|
146
149
|
return {
|
|
147
150
|
reset: function reset() {
|
|
@@ -161,7 +164,9 @@ var SqlVisionBuilder = _react["default"].forwardRef(function (props, ref) {
|
|
|
161
164
|
msg: (0, _locale.__)('loading')
|
|
162
165
|
});
|
|
163
166
|
return (0, _jsxRuntime.jsx)(_useProvider.Provider, {
|
|
164
|
-
value: store,
|
|
167
|
+
value: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, store), {}, {
|
|
168
|
+
snapshotMode: snapshotMode
|
|
169
|
+
}),
|
|
165
170
|
children: (0, _jsxRuntime.jsx)(_metabase["default"], (0, _objectSpread2["default"])({}, props))
|
|
166
171
|
});
|
|
167
172
|
});
|
package/lib/cjs/types.d.ts
CHANGED
package/lib/cjs/utils.d.ts
CHANGED
|
@@ -25,7 +25,9 @@ export declare const getHelper: (list: MetaListType[], item: MetaListType) => He
|
|
|
25
25
|
export declare const mergeSubQueryColumns: (columns: MetaData_ColumnsType[], oldColumns?: MetaData_ColumnsType[], isSelectFields?: boolean) => MetaData_ColumnsType[];
|
|
26
26
|
export declare const syncSubQueryFieldReferences: (list: MetaListType[], table: MetaData_TableType, columns: MetaData_ColumnsType[], oldColumns?: MetaData_ColumnsType[]) => MetaListType[];
|
|
27
27
|
export declare const getSubColumns: (metaList: any) => DataType[];
|
|
28
|
+
export declare const getAtomDisplayText: (item?: AtomsItem) => string;
|
|
28
29
|
export declare const normalizeAndOrStructure: <T>(data: T) => T;
|
|
30
|
+
export declare const syncAtomQuotes: (item: AtomsItem) => AtomsItem;
|
|
29
31
|
export declare function isValidSQLAlias(str: string): boolean;
|
|
30
32
|
export declare const changeTableAlias: (list: MetaListType[] | [], curObj: Pick<MetaData_TableType, "tableUuid" | "alias">) => MetaListType[];
|
|
31
33
|
export declare const changeFieldAlias: (list: MetaListType[], curObj: Pick<MetaData_ColumnsType, "fieldUuid" | "fieldAlias"> & Partial<Pick<MetaData_ColumnsType, "id" | "name" | "datasourceId">> & Partial<Pick<MetaSummarize_Group | MetaSummarize_By, "table" | "tableId" | "tableUuid" | "fieldId" | "name">>) => MetaListType[];
|
package/lib/cjs/utils.js
CHANGED
|
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.changeTableAlias = exports.changeFieldAlias = exports.changeExistsCopyField = exports.changeCopyField = exports.buildSqlQuery = void 0;
|
|
8
8
|
exports.containsSubset = containsSubset;
|
|
9
|
-
exports.isExistsError = exports.isError = exports.isCanPaste = exports.getSubQueryColumnInstanceUuid = exports.getSubColumns = exports.getObjTem = exports.getMetaTabels = exports.getHelper = exports.getColumnsTables = exports.findMetaKey = exports.findIndex = void 0;
|
|
9
|
+
exports.isExistsError = exports.isError = exports.isCanPaste = exports.getSubQueryColumnInstanceUuid = exports.getSubColumns = exports.getObjTem = exports.getMetaTabels = exports.getHelper = exports.getColumnsTables = exports.getAtomDisplayText = exports.findMetaKey = exports.findIndex = void 0;
|
|
10
10
|
exports.isValidSQLAlias = isValidSQLAlias;
|
|
11
11
|
exports.patchData = exports.normalizeLegacySummarizeForSave = exports.normalizeAndOrStructure = exports.metaIsCheck = exports.mergeSubQueryColumns = void 0;
|
|
12
12
|
exports.reassembleByUnion = reassembleByUnion;
|
|
13
13
|
exports.splitByUnion = splitByUnion;
|
|
14
|
-
exports.syncSubQueryFieldReferences = void 0;
|
|
14
|
+
exports.syncSubQueryFieldReferences = exports.syncAtomQuotes = void 0;
|
|
15
15
|
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createForOfIteratorHelper"));
|
|
16
16
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
|
|
17
17
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
@@ -598,7 +598,7 @@ var getSelectAtomText = function getSelectAtomText(item) {
|
|
|
598
598
|
}
|
|
599
599
|
return getOptionText(String(item.val || ''));
|
|
600
600
|
};
|
|
601
|
-
var _getAtomDisplayText = function getAtomDisplayText(item) {
|
|
601
|
+
var _getAtomDisplayText = exports.getAtomDisplayText = function getAtomDisplayText(item) {
|
|
602
602
|
if (!item) return '';
|
|
603
603
|
if (item.type === _types.AtomsTypeEnum.FIELD) {
|
|
604
604
|
if (item.tableId === _helper.SummarizeAlias) {
|
|
@@ -968,7 +968,7 @@ var buildExpressionQuotes = function buildExpressionQuotes(item) {
|
|
|
968
968
|
}
|
|
969
969
|
return normalizeAtomQuotes("".concat(lhsText, " ").concat(getExpressionConditionText(condition), " ").concat(rhsText || firstVal));
|
|
970
970
|
};
|
|
971
|
-
var syncAtomQuotes = function syncAtomQuotes(item) {
|
|
971
|
+
var syncAtomQuotes = exports.syncAtomQuotes = function syncAtomQuotes(item) {
|
|
972
972
|
if (item.type === _types.AtomsTypeEnum.JOIN_DEFAULT) {
|
|
973
973
|
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, item), {}, {
|
|
974
974
|
lhs: syncAtomQuotesList(item.lhs || []),
|
|
@@ -17,6 +17,7 @@ type Props = {
|
|
|
17
17
|
onZoomCase?: (e: any) => void;
|
|
18
18
|
onDeleteCase?: (e: any) => void;
|
|
19
19
|
showTools?: boolean;
|
|
20
|
+
readonly?: boolean;
|
|
20
21
|
isNested?: boolean;
|
|
21
22
|
useBranchScrollInner?: boolean;
|
|
22
23
|
caseRegionKey?: string;
|
|
@@ -24,5 +25,5 @@ type Props = {
|
|
|
24
25
|
activeRegionKey?: string | null;
|
|
25
26
|
onActivateRegion?: (key: string) => void;
|
|
26
27
|
};
|
|
27
|
-
declare const CaseWhenGroup: ({ caseAtomsContent, whenClauses, elseContent, onAddBranch, onAddElse, onRemoveElse, onZoomCase, onDeleteCase, showTools, isNested, useBranchScrollInner, caseRegionKey, elseRegionKey, activeRegionKey, onActivateRegion, }: Props) => React.JSX.Element;
|
|
28
|
+
declare const CaseWhenGroup: ({ caseAtomsContent, whenClauses, elseContent, onAddBranch, onAddElse, onRemoveElse, onZoomCase, onDeleteCase, showTools, readonly, isNested, useBranchScrollInner, caseRegionKey, elseRegionKey, activeRegionKey, onActivateRegion, }: Props) => React.JSX.Element;
|
|
28
29
|
export default CaseWhenGroup;
|
|
@@ -69,6 +69,8 @@ var CaseWhenGroup = function CaseWhenGroup(_ref) {
|
|
|
69
69
|
onDeleteCase = _ref.onDeleteCase,
|
|
70
70
|
_ref$showTools = _ref.showTools,
|
|
71
71
|
showTools = _ref$showTools === void 0 ? true : _ref$showTools,
|
|
72
|
+
_ref$readonly = _ref.readonly,
|
|
73
|
+
readonly = _ref$readonly === void 0 ? false : _ref$readonly,
|
|
72
74
|
_ref$isNested = _ref.isNested,
|
|
73
75
|
isNested = _ref$isNested === void 0 ? false : _ref$isNested,
|
|
74
76
|
_ref$useBranchScrollI = _ref.useBranchScrollInner,
|
|
@@ -105,7 +107,7 @@ var CaseWhenGroup = function CaseWhenGroup(_ref) {
|
|
|
105
107
|
className: cx('Sqb-FormulaGroup', 'flow-group', 'formula-node-group', 'Sqb-CaseWhenGroup', {
|
|
106
108
|
'Sqb-CaseWhenGroup--nested': isNested
|
|
107
109
|
}),
|
|
108
|
-
children: [showTools && _jsxs("div", {
|
|
110
|
+
children: [showTools && !readonly && _jsxs("div", {
|
|
109
111
|
className: 'Sqb-CaseWhenTools',
|
|
110
112
|
children: [onZoomCase && _jsx(Tooltip, {
|
|
111
113
|
title: "\u7F16\u8F91 caseWhen",
|
|
@@ -177,7 +179,7 @@ var CaseWhenGroup = function CaseWhenGroup(_ref) {
|
|
|
177
179
|
})]
|
|
178
180
|
})]
|
|
179
181
|
}))
|
|
180
|
-
}), _jsxs("div", {
|
|
182
|
+
}), !readonly && _jsxs("div", {
|
|
181
183
|
className: 'Sqb-CaseRow-actions when-row-actions',
|
|
182
184
|
children: [_jsx(Tooltip, {
|
|
183
185
|
title: "\u65B0\u589E when",
|
|
@@ -206,7 +208,7 @@ var CaseWhenGroup = function CaseWhenGroup(_ref) {
|
|
|
206
208
|
})]
|
|
207
209
|
})]
|
|
208
210
|
}, branch.key);
|
|
209
|
-
}), whenClauses.length < 1 && _jsx(Tooltip, {
|
|
211
|
+
}), !readonly && whenClauses.length < 1 && _jsx(Tooltip, {
|
|
210
212
|
title: "\u65B0\u589E when",
|
|
211
213
|
children: _jsxs("button", {
|
|
212
214
|
type: 'button',
|
|
@@ -237,7 +239,7 @@ var CaseWhenGroup = function CaseWhenGroup(_ref) {
|
|
|
237
239
|
children: elseContent
|
|
238
240
|
})]
|
|
239
241
|
}))
|
|
240
|
-
}), _jsx("div", {
|
|
242
|
+
}), !readonly && _jsx("div", {
|
|
241
243
|
className: 'Sqb-CaseRow-actions when-row-actions',
|
|
242
244
|
children: _jsx(Tooltip, {
|
|
243
245
|
title: "\u5220\u9664 else",
|
|
@@ -253,7 +255,7 @@ var CaseWhenGroup = function CaseWhenGroup(_ref) {
|
|
|
253
255
|
})
|
|
254
256
|
})
|
|
255
257
|
})]
|
|
256
|
-
}), !elseContent && _jsx(Tooltip, {
|
|
258
|
+
}), !readonly && !elseContent && _jsx(Tooltip, {
|
|
257
259
|
title: "\u65B0\u589E else",
|
|
258
260
|
children: _jsxs("button", {
|
|
259
261
|
type: 'button',
|
|
@@ -8,6 +8,7 @@ type Props = {
|
|
|
8
8
|
onAddItem: () => void;
|
|
9
9
|
onDeleteItem: (operatorIndex: number, side: 'left' | 'right') => void;
|
|
10
10
|
onDelete: (e: any) => void;
|
|
11
|
+
readonly?: boolean;
|
|
11
12
|
};
|
|
12
|
-
declare const LogicGroup: ({ items, onChangeOperator, onAddItem, onDeleteItem, onDelete, }: Props) => React.JSX.Element;
|
|
13
|
+
declare const LogicGroup: ({ items, onChangeOperator, onAddItem, onDeleteItem, onDelete, readonly, }: Props) => React.JSX.Element;
|
|
13
14
|
export default LogicGroup;
|
|
@@ -19,7 +19,9 @@ var LogicGroup = function LogicGroup(_ref) {
|
|
|
19
19
|
onChangeOperator = _ref.onChangeOperator,
|
|
20
20
|
onAddItem = _ref.onAddItem,
|
|
21
21
|
onDeleteItem = _ref.onDeleteItem,
|
|
22
|
-
onDelete = _ref.onDelete
|
|
22
|
+
onDelete = _ref.onDelete,
|
|
23
|
+
_ref$readonly = _ref.readonly,
|
|
24
|
+
readonly = _ref$readonly === void 0 ? false : _ref$readonly;
|
|
23
25
|
var canDeleteItem = items.length > 2;
|
|
24
26
|
var handleOperatorMenuChange = function handleOperatorMenuChange(operatorIndex, action) {
|
|
25
27
|
if (action === 'add') {
|
|
@@ -76,7 +78,7 @@ var LogicGroup = function LogicGroup(_ref) {
|
|
|
76
78
|
}), _jsx("span", {
|
|
77
79
|
className: 'Sqb-CaseKeyword',
|
|
78
80
|
children: ")"
|
|
79
|
-
}), _jsx(Tooltip, {
|
|
81
|
+
}), !readonly && _jsx(Tooltip, {
|
|
80
82
|
title: "\u5220\u9664 and/or",
|
|
81
83
|
children: _jsx("button", {
|
|
82
84
|
type: 'button',
|