@gingkoo/pandora-metabase 1.0.152 → 1.0.154

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.
Files changed (65) hide show
  1. package/lib/cjs/components/dialog/custom-editor/index.d.ts +1 -0
  2. package/lib/cjs/components/dialog/custom-editor/index.js +10 -3
  3. package/lib/cjs/components/dialog/formula/index.d.ts +1 -0
  4. package/lib/cjs/components/dialog/formula/index.js +11 -3
  5. package/lib/cjs/components/dialog/formula-list/CaseWhenGroup.d.ts +2 -1
  6. package/lib/cjs/components/dialog/formula-list/CaseWhenGroup.js +7 -5
  7. package/lib/cjs/components/dialog/formula-list/LogicGroup.d.ts +2 -1
  8. package/lib/cjs/components/dialog/formula-list/LogicGroup.js +4 -2
  9. package/lib/cjs/components/dialog/formula-list/index.js +22 -11
  10. package/lib/cjs/components/dialog/select-column/index.d.ts +2 -1
  11. package/lib/cjs/components/dialog/select-column/index.js +10 -1
  12. package/lib/cjs/components/dialog/select-column-multiple/index.d.ts +2 -1
  13. package/lib/cjs/components/dialog/select-column-multiple/index.js +6 -3
  14. package/lib/cjs/components/dialog/select-summarize/index.d.ts +2 -1
  15. package/lib/cjs/components/dialog/select-summarize/index.js +5 -2
  16. package/lib/cjs/components/metabase/index.js +30 -2
  17. package/lib/cjs/components/modules/components/header.js +1 -1
  18. package/lib/cjs/components/modules/components/item-name.js +4 -1
  19. package/lib/cjs/components/modules/components/item-wrapper.js +1 -1
  20. package/lib/cjs/components/modules/components/meta-icon.js +4 -2
  21. package/lib/cjs/components/modules/custom-column.js +4 -2
  22. package/lib/cjs/components/modules/join-data.js +41 -41
  23. package/lib/cjs/components/modules/permission-table.js +1 -0
  24. package/lib/cjs/components/modules/row-limit.js +1 -0
  25. package/lib/cjs/components/modules/sort.js +2 -2
  26. package/lib/cjs/components/modules/summarize/group-by.js +8 -5
  27. package/lib/cjs/components/modules/summarize/select-index.js +5 -3
  28. package/lib/cjs/components/modules/table-data.js +7 -4
  29. package/lib/cjs/components/modules/union.js +1 -1
  30. package/lib/cjs/hooks/use-state.js +66 -52
  31. package/lib/cjs/index.js +7 -2
  32. package/lib/cjs/types.d.ts +1 -0
  33. package/lib/es/components/dialog/custom-editor/index.d.ts +1 -0
  34. package/lib/es/components/dialog/custom-editor/index.js +10 -3
  35. package/lib/es/components/dialog/formula/index.d.ts +1 -0
  36. package/lib/es/components/dialog/formula/index.js +11 -3
  37. package/lib/es/components/dialog/formula-list/CaseWhenGroup.d.ts +2 -1
  38. package/lib/es/components/dialog/formula-list/CaseWhenGroup.js +7 -5
  39. package/lib/es/components/dialog/formula-list/LogicGroup.d.ts +2 -1
  40. package/lib/es/components/dialog/formula-list/LogicGroup.js +4 -2
  41. package/lib/es/components/dialog/formula-list/index.js +22 -11
  42. package/lib/es/components/dialog/select-column/index.d.ts +2 -1
  43. package/lib/es/components/dialog/select-column/index.js +10 -1
  44. package/lib/es/components/dialog/select-column-multiple/index.d.ts +2 -1
  45. package/lib/es/components/dialog/select-column-multiple/index.js +6 -3
  46. package/lib/es/components/dialog/select-summarize/index.d.ts +2 -1
  47. package/lib/es/components/dialog/select-summarize/index.js +5 -2
  48. package/lib/es/components/metabase/index.js +30 -2
  49. package/lib/es/components/modules/components/header.js +1 -1
  50. package/lib/es/components/modules/components/item-name.js +4 -1
  51. package/lib/es/components/modules/components/item-wrapper.js +1 -1
  52. package/lib/es/components/modules/components/meta-icon.js +4 -2
  53. package/lib/es/components/modules/custom-column.js +4 -2
  54. package/lib/es/components/modules/join-data.js +41 -41
  55. package/lib/es/components/modules/permission-table.js +1 -0
  56. package/lib/es/components/modules/row-limit.js +1 -0
  57. package/lib/es/components/modules/sort.js +2 -2
  58. package/lib/es/components/modules/summarize/group-by.js +8 -5
  59. package/lib/es/components/modules/summarize/select-index.js +5 -3
  60. package/lib/es/components/modules/table-data.js +7 -4
  61. package/lib/es/components/modules/union.js +1 -1
  62. package/lib/es/hooks/use-state.js +66 -52
  63. package/lib/es/index.js +7 -2
  64. package/lib/es/types.d.ts +1 -0
  65. package/package.json +1 -1
@@ -323,8 +323,9 @@ var NextDom = function NextDom(props) {
323
323
  _storage["default"]._metabaseCopyModule = [];
324
324
  }
325
325
  };
326
+ if (store.snapshotMode) return null;
326
327
  return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
327
- children: [store.metabaseCopyModule && store.metabaseCopyModule.length > 0 && isShowAdd && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
328
+ children: [store.metabaseCopyModule && store.metabaseCopyModule.length > 0 && isShowAdd && !store.snapshotMode && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
328
329
  title: "\u5728\u6B64\u5904\u7C98\u8D34",
329
330
  children: (0, _jsxRuntime.jsxs)(_pandora.Button, {
330
331
  className: (0, _classnames["default"])(':Sqb-item-copy'),
@@ -348,7 +349,8 @@ var NextDom = function NextDom(props) {
348
349
  large: size === IconSIzeEnum.LARGE
349
350
  }),
350
351
  onClick: function onClick() {
351
- return handleClick(v);
352
+ if (store.snapshotMode) return;
353
+ handleClick(v);
352
354
  },
353
355
  children: (0, _jsxRuntime.jsxs)("div", {
354
356
  children: [info.icon, size === IconSIzeEnum.LARGE ? (0, _jsxRuntime.jsx)("div", {
@@ -227,6 +227,7 @@ var CustomColumn = function CustomColumn(props) {
227
227
  data: getColumns(),
228
228
  exitData: getColumns(),
229
229
  value: _value,
230
+ readonly: store.snapshotMode,
230
231
  onCancel: function onCancel() {
231
232
  o.close();
232
233
  },
@@ -319,10 +320,11 @@ var CustomColumn = function CustomColumn(props) {
319
320
  value: v,
320
321
  children: (0, _jsxRuntime.jsxs)("div", {
321
322
  className: (0, _classnames["default"])("Sqb-TableName gray-name"),
323
+ "data-sqb-snapshot-allow": 'true',
322
324
  onClick: function onClick(e) {
323
325
  return showSubQuery(e, i);
324
326
  },
325
- children: [v.name, (0, _jsxRuntime.jsx)("span", {
327
+ children: [v.name, !store.snapshotMode && (0, _jsxRuntime.jsx)("span", {
326
328
  style: {
327
329
  fontSize: 0
328
330
  },
@@ -334,7 +336,7 @@ var CustomColumn = function CustomColumn(props) {
334
336
  })
335
337
  })
336
338
  }, i);
337
- }), (0, _jsxRuntime.jsx)("div", {
339
+ }), !store.snapshotMode && (0, _jsxRuntime.jsx)("div", {
338
340
  className: "Sqb-TableName gray-name",
339
341
  onClick: function onClick(e) {
340
342
  showSubQuery(e, -1);
@@ -378,6 +378,7 @@ var JoinData = function JoinData(props) {
378
378
  table: meta.table2,
379
379
  metaIndex: index,
380
380
  groupIndex: groupIndex,
381
+ readonly: store.snapshotMode,
381
382
  onChange: function onChange(data, newMetaList) {
382
383
  var _newMetaList = newMetaList || store.metaList[groupIndex].list.slice();
383
384
  _newMetaList[index].columns = data;
@@ -1307,6 +1308,33 @@ var JoinData = function JoinData(props) {
1307
1308
  }
1308
1309
  return false;
1309
1310
  };
1311
+ var renderSwitchTypeButton = function renderSwitchTypeButton(position, expressionIndex) {
1312
+ if (store.snapshotMode) {
1313
+ return (0, _jsxRuntime.jsx)("span", {
1314
+ "aria-hidden": 'true',
1315
+ style: {
1316
+ display: 'inline-block',
1317
+ marginRight: 8
1318
+ }
1319
+ });
1320
+ }
1321
+ return (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1322
+ title: (0, _locale.__)('SqlQueryBuilder.switch'),
1323
+ children: (0, _jsxRuntime.jsx)(_pandora.Button, {
1324
+ disabled: meta.readonly,
1325
+ primary: true,
1326
+ ghost: true,
1327
+ className: 'mr-2 operator-icon',
1328
+ icon: (0, _jsxRuntime.jsx)(_pandoraIcons.Repeat, {}),
1329
+ onClick: function onClick(e) {
1330
+ onChangeType(e, {
1331
+ position: position,
1332
+ index: expressionIndex
1333
+ });
1334
+ }
1335
+ })
1336
+ });
1337
+ };
1310
1338
  return (0, _jsxRuntime.jsx)(_Wrapper["default"], {
1311
1339
  className: (0, _classnames["default"])("Sqb-item"),
1312
1340
  children: (0, _jsxRuntime.jsxs)("div", {
@@ -1362,12 +1390,13 @@ var JoinData = function JoinData(props) {
1362
1390
  className: (0, _classnames["default"])("Sqb-TableName", {
1363
1391
  notSelected: !subQuerySelected
1364
1392
  }),
1393
+ "data-sqb-snapshot-allow": 'true',
1365
1394
  onClick: function onClick() {
1366
1395
  showSubQuery(meta.subquery);
1367
1396
  },
1368
1397
  children: [subQuerySelected && (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
1369
1398
  children: function () {
1370
- var showButton = store.tableEnableAlias || tableIsError() && isDel;
1399
+ var showButton = !store.snapshotMode && (store.tableEnableAlias || tableIsError() && isDel);
1371
1400
  var icon = isDel ? (0, _jsxRuntime.jsx)(_pandoraIcons.ExclamationCircleFill, {}) : store.tableEnableAlias ? 'As' : '';
1372
1401
  return showButton ? (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1373
1402
  title: (0, _locale.__)(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
@@ -1408,7 +1437,7 @@ var JoinData = function JoinData(props) {
1408
1437
  onClick: selectTable,
1409
1438
  children: [table2Selected && (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
1410
1439
  children: function () {
1411
- var showButton = store.tableEnableAlias || tableIsError() && isDel;
1440
+ var showButton = !store.snapshotMode && (store.tableEnableAlias || tableIsError() && isDel);
1412
1441
  var icon = isDel ? (0, _jsxRuntime.jsx)(_pandoraIcons.ExclamationCircleFill, {}) : store.tableEnableAlias ? 'As' : '';
1413
1442
  return showButton ? (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1414
1443
  title: (0, _locale.__)(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
@@ -1440,7 +1469,7 @@ var JoinData = function JoinData(props) {
1440
1469
  }()
1441
1470
  }), table2Selected ? "".concat(meta.table2.datasourceName, ".").concat(meta.table2.name, " ").concat((_meta$table7 = meta.table2) !== null && _meta$table7 !== void 0 && _meta$table7.alias && store.tableEnableAlias ? "as ".concat((_meta$table8 = meta.table2) === null || _meta$table8 === void 0 ? void 0 : _meta$table8.alias) : '') : (0, _locale.__)('SqlQueryBuilder.pickTable')]
1442
1471
  })
1443
- }), store.showSubquery && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1472
+ }), store.showSubquery && (!store.snapshotMode || meta.isSubquery) && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1444
1473
  title: (0, _locale.__)('SqlQueryBuilder.switchSubQuery'),
1445
1474
  children: (0, _jsxRuntime.jsx)(_pandora.Button, {
1446
1475
  disabled: meta.readonly,
@@ -1457,40 +1486,10 @@ var JoinData = function JoinData(props) {
1457
1486
  children: [i == 0 && (0, _jsxRuntime.jsx)("span", {
1458
1487
  className: 'ml-2 mr-4 text-gray-500',
1459
1488
  children: "on"
1460
- }), renderItem(v.lhs, ExpressionsEnum.LEFT, i), (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1461
- title: (0, _locale.__)('SqlQueryBuilder.switch'),
1462
- children: (0, _jsxRuntime.jsx)(_pandora.Button, {
1463
- disabled: meta.readonly,
1464
- primary: true,
1465
- ghost: true,
1466
- className: 'mr-2 operator-icon',
1467
- icon: (0, _jsxRuntime.jsx)(_pandoraIcons.Repeat, {}),
1468
- onClick: function onClick(e) {
1469
- onChangeType(e, {
1470
- position: ExpressionsEnum.LEFT,
1471
- index: i
1472
- });
1473
- }
1474
- })
1475
- }), (0, _jsxRuntime.jsx)("span", {
1489
+ }), renderItem(v.lhs, ExpressionsEnum.LEFT, i), renderSwitchTypeButton(ExpressionsEnum.LEFT, i), (0, _jsxRuntime.jsx)("span", {
1476
1490
  className: 'mr-2 text-gray-500',
1477
1491
  children: "="
1478
- }), renderItem(v.rhs, ExpressionsEnum.RIGHT, i), (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1479
- title: (0, _locale.__)('SqlQueryBuilder.switch'),
1480
- children: (0, _jsxRuntime.jsx)(_pandora.Button, {
1481
- disabled: meta.readonly,
1482
- primary: true,
1483
- ghost: true,
1484
- className: 'mr-2 operator-icon',
1485
- icon: (0, _jsxRuntime.jsx)(_pandoraIcons.Repeat, {}),
1486
- onClick: function onClick(e) {
1487
- onChangeType(e, {
1488
- position: ExpressionsEnum.RIGHT,
1489
- index: i
1490
- });
1491
- }
1492
- })
1493
- }), (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1492
+ }), renderItem(v.rhs, ExpressionsEnum.RIGHT, i), renderSwitchTypeButton(ExpressionsEnum.RIGHT, i), !store.snapshotMode && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1494
1493
  title: (0, _locale.__)('SqlQueryBuilder.add'),
1495
1494
  children: (0, _jsxRuntime.jsx)(_pandora.Dropdown, {
1496
1495
  trigger: ['click'],
@@ -1506,7 +1505,7 @@ var JoinData = function JoinData(props) {
1506
1505
  icon: (0, _jsxRuntime.jsx)(_pandoraIcons.FfPlus, {})
1507
1506
  })
1508
1507
  })
1509
- }), (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1508
+ }), !store.snapshotMode && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1510
1509
  title: (0, _locale.__)('SqlQueryBuilder.del'),
1511
1510
  children: (0, _jsxRuntime.jsx)(_pandora.Button, {
1512
1511
  disabled: meta.readonly,
@@ -1562,7 +1561,7 @@ var JoinData = function JoinData(props) {
1562
1561
  children: v.quotes || (0, _locale.__)('joinData.selectExpression')
1563
1562
  }, i)
1564
1563
  })
1565
- }), (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1564
+ }), !store.snapshotMode && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1566
1565
  title: (0, _locale.__)('SqlQueryBuilder.add'),
1567
1566
  children: (0, _jsxRuntime.jsx)(_pandora.Dropdown, {
1568
1567
  trigger: ['click'],
@@ -1578,7 +1577,7 @@ var JoinData = function JoinData(props) {
1578
1577
  icon: (0, _jsxRuntime.jsx)(_pandoraIcons.FfPlus, {})
1579
1578
  })
1580
1579
  })
1581
- }), (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1580
+ }), !store.snapshotMode && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1582
1581
  title: (0, _locale.__)('SqlQueryBuilder.del'),
1583
1582
  children: (0, _jsxRuntime.jsx)(_pandora.Button, {
1584
1583
  disabled: meta.readonly,
@@ -1613,7 +1612,7 @@ var JoinData = function JoinData(props) {
1613
1612
  type: _types.ChangeType.expressions
1614
1613
  });
1615
1614
  }
1616
- }), (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1615
+ }), !store.snapshotMode && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1617
1616
  title: (0, _locale.__)('SqlQueryBuilder.add'),
1618
1617
  children: (0, _jsxRuntime.jsx)(_pandora.Dropdown, {
1619
1618
  trigger: ['click'],
@@ -1629,7 +1628,7 @@ var JoinData = function JoinData(props) {
1629
1628
  icon: (0, _jsxRuntime.jsx)(_pandoraIcons.FfPlus, {})
1630
1629
  })
1631
1630
  })
1632
- }), (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1631
+ }), !store.snapshotMode && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1633
1632
  title: (0, _locale.__)('SqlQueryBuilder.del'),
1634
1633
  children: (0, _jsxRuntime.jsx)(_pandora.Button, {
1635
1634
  disabled: meta.readonly,
@@ -1643,7 +1642,7 @@ var JoinData = function JoinData(props) {
1643
1642
  })]
1644
1643
  }, i);
1645
1644
  }
1646
- })), ((_meta$table1 = meta.table2) === null || _meta$table1 === void 0 ? void 0 : _meta$table1.name) && ((_meta$table10 = meta.table1) === null || _meta$table10 === void 0 ? void 0 : _meta$table10.name) && (((_meta$expressions2 = meta.expressions) === null || _meta$expressions2 === void 0 ? void 0 : _meta$expressions2.length) || 0) < 1 && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1645
+ })), !store.snapshotMode && ((_meta$table1 = meta.table2) === null || _meta$table1 === void 0 ? void 0 : _meta$table1.name) && ((_meta$table10 = meta.table1) === null || _meta$table10 === void 0 ? void 0 : _meta$table10.name) && (((_meta$expressions2 = meta.expressions) === null || _meta$expressions2 === void 0 ? void 0 : _meta$expressions2.length) || 0) < 1 && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
1647
1646
  title: (0, _locale.__)('SqlQueryBuilder.add'),
1648
1647
  children: (0, _jsxRuntime.jsx)(_pandora.Dropdown, {
1649
1648
  trigger: ['click'],
@@ -1661,6 +1660,7 @@ var JoinData = function JoinData(props) {
1661
1660
  })
1662
1661
  }), columnsSelected && (((_store$showMainColumn = store.showMainColumn[groupIndex]) === null || _store$showMainColumn === void 0 ? void 0 : _store$showMainColumn.showColumn) || ((_store$showMainColumn2 = store.showMainColumn[groupIndex]) === null || _store$showMainColumn2 === void 0 ? void 0 : _store$showMainColumn2.index) < index) && (!store.isExit || store.isSubquery) && store.showFields && (0, _jsxRuntime.jsx)("div", {
1663
1662
  className: "Sqb-TableColumns",
1663
+ "data-sqb-snapshot-allow": 'true',
1664
1664
  onClick: selectColumns,
1665
1665
  children: (0, _locale.__)('SqlQueryBuilder.columns')
1666
1666
  })]
@@ -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, {})
@@ -100,7 +100,8 @@ var buildAutoGroupByAlias = function buildAutoGroupByAlias(tableAlias, fieldName
100
100
  var GroupByEditor = function GroupByEditor(_ref) {
101
101
  var data = _ref.data,
102
102
  value = _ref.value,
103
- onChange = _ref.onChange;
103
+ onChange = _ref.onChange,
104
+ readonly = _ref.readonly;
104
105
  var _useState = (0, _react.useState)(function () {
105
106
  if (Array.isArray(value.atoms) && value.atoms.length) {
106
107
  return value.atoms;
@@ -155,7 +156,7 @@ var GroupByEditor = function GroupByEditor(_ref) {
155
156
  })
156
157
  })
157
158
  })
158
- }), (0, _jsxRuntime.jsx)("div", {
159
+ }), !readonly && (0, _jsxRuntime.jsx)("div", {
159
160
  className: 'Sqb-SelectSummarize-formula-footer',
160
161
  children: (0, _jsxRuntime.jsx)(_pandora.Button, {
161
162
  primary: true,
@@ -292,6 +293,7 @@ var GroupBy = function GroupBy(props) {
292
293
  content: (0, _jsxRuntime.jsx)(GroupByEditor, {
293
294
  data: data,
294
295
  value: value,
296
+ readonly: store.snapshotMode,
295
297
  onChange: function onChange(nextValue) {
296
298
  newMeta[index].by.splice(i, 1, normalizeByRecord(nextValue, i, newMeta));
297
299
  store.setMeta(newMeta, groupIndex, {
@@ -524,11 +526,12 @@ var GroupBy = function GroupBy(props) {
524
526
  value: v,
525
527
  children: (0, _jsxRuntime.jsxs)("div", {
526
528
  className: "Sqb-TableName green-name",
529
+ "data-sqb-snapshot-allow": store.snapshotMode ? 'true' : undefined,
527
530
  onClick: function onClick(e) {
528
531
  return handleUpdate(e, i);
529
532
  },
530
533
  children: [v.quotes && (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
531
- children: store.groupByEnableAlias && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
534
+ children: store.groupByEnableAlias && !store.snapshotMode && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
532
535
  title: !(0, _utils.isValidSQLAlias)(v === null || v === void 0 ? void 0 : v.fieldAlias) ? (0, _locale.__)('SqlQueryBuilder.aliasForRules') : (0, _locale.__)('SqlQueryBuilder.alias'),
533
536
  children: (0, _jsxRuntime.jsx)(_pandora.Button, {
534
537
  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))),
@@ -543,7 +546,7 @@ var GroupBy = function GroupBy(props) {
543
546
  }
544
547
  })
545
548
  })
546
- }), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), (0, _jsxRuntime.jsx)("span", {
549
+ }), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), !store.snapshotMode && (0, _jsxRuntime.jsx)("span", {
547
550
  style: {
548
551
  fontSize: 0
549
552
  },
@@ -555,7 +558,7 @@ var GroupBy = function GroupBy(props) {
555
558
  })
556
559
  })
557
560
  }, i);
558
- }), (0, _jsxRuntime.jsx)("div", {
561
+ }), !store.snapshotMode && (0, _jsxRuntime.jsx)("div", {
559
562
  className: (0, _classnames["default"])("Sqb-TableName green-name", {
560
563
  notSelected: notBySelected
561
564
  }),
@@ -157,6 +157,7 @@ var SelectIndex = function SelectIndex(props) {
157
157
  data: data,
158
158
  value: value,
159
159
  ignoreGroupByType: store.ignoreGroupByType,
160
+ readonly: store.snapshotMode,
160
161
  onChange: function onChange(data) {
161
162
  if (hasDuplicateNoArgumentMetric(newMeta[index].group, data.condition, i)) {
162
163
  _pandora.Toast.warning(summarizeWithoutArgumentMessage);
@@ -423,11 +424,12 @@ var SelectIndex = function SelectIndex(props) {
423
424
  value: v,
424
425
  children: (0, _jsxRuntime.jsxs)("div", {
425
426
  className: "Sqb-TableName green-name",
427
+ "data-sqb-snapshot-allow": store.snapshotMode ? 'true' : undefined,
426
428
  onClick: function onClick(e) {
427
429
  return handleUpdate(e, i);
428
430
  },
429
431
  children: [v.quotes && (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
430
- children: store.groupByEnableAlias && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
432
+ children: store.groupByEnableAlias && !store.snapshotMode && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
431
433
  title: !(0, _utils.isValidSQLAlias)(v === null || v === void 0 ? void 0 : v.fieldAlias) ? (0, _locale.__)('SqlQueryBuilder.aliasForRules') : (0, _locale.__)('SqlQueryBuilder.alias'),
432
434
  children: (0, _jsxRuntime.jsx)(_pandora.Button, {
433
435
  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 +444,7 @@ var SelectIndex = function SelectIndex(props) {
442
444
  }
443
445
  })
444
446
  })
445
- }), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), (0, _jsxRuntime.jsx)("span", {
447
+ }), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), !store.snapshotMode && (0, _jsxRuntime.jsx)("span", {
446
448
  style: {
447
449
  fontSize: 0
448
450
  },
@@ -454,7 +456,7 @@ var SelectIndex = function SelectIndex(props) {
454
456
  })
455
457
  })
456
458
  }, i);
457
- }), (0, _jsxRuntime.jsx)("div", {
459
+ }), !store.snapshotMode && (0, _jsxRuntime.jsx)("div", {
458
460
  className: (0, _classnames["default"])("Sqb-TableName green-name", {
459
461
  notSelected: notGroupSelected
460
462
  }),
@@ -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();
@@ -305,12 +306,13 @@ var TableData = function TableData(props) {
305
306
  className: (0, _classnames["default"])("Sqb-TableName", {
306
307
  notSelected: !subQuerySelected
307
308
  }),
309
+ "data-sqb-snapshot-allow": 'true',
308
310
  onClick: function onClick() {
309
311
  showSubQuery(meta.subquery);
310
312
  },
311
313
  children: [subQuerySelected && (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
312
314
  children: function () {
313
- var showButton = store.tableEnableAlias || tableIsError() && isDel;
315
+ var showButton = !store.snapshotMode && (store.tableEnableAlias || tableIsError() && isDel);
314
316
  var icon = isDel ? (0, _jsxRuntime.jsx)(_pandoraIcons.ExclamationCircleFill, {}) : store.tableEnableAlias ? 'As' : '';
315
317
  return showButton ? (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
316
318
  title: (0, _locale.__)(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
@@ -352,7 +354,7 @@ var TableData = function TableData(props) {
352
354
  onClick: selectTable,
353
355
  children: [selected && (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
354
356
  children: function () {
355
- var showButton = store.tableEnableAlias || tableIsError() && isDel;
357
+ var showButton = !store.snapshotMode && (store.tableEnableAlias || tableIsError() && isDel);
356
358
  var icon = isDel ? (0, _jsxRuntime.jsx)(_pandoraIcons.ExclamationCircleFill, {}) : store.tableEnableAlias ? 'As' : '';
357
359
  return showButton ? (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
358
360
  title: (0, _locale.__)(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
@@ -384,7 +386,7 @@ var TableData = function TableData(props) {
384
386
  }()
385
387
  }), 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
388
  })
387
- }), store.showSubquery && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
389
+ }), store.showSubquery && (!store.snapshotMode || meta.isSubquery) && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
388
390
  title: (0, _locale.__)('SqlQueryBuilder.switchSubQuery'),
389
391
  children: (0, _jsxRuntime.jsx)(_pandora.Button, {
390
392
  disabled: meta.readonly,
@@ -396,6 +398,7 @@ var TableData = function TableData(props) {
396
398
  })
397
399
  }), 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
400
  className: "Sqb-TableColumns",
401
+ "data-sqb-snapshot-allow": 'true',
399
402
  onClick: selectColumns,
400
403
  children: (0, _locale.__)('SqlQueryBuilder.columns')
401
404
  })]
@@ -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
- sourceTable = _useState52[0],
172
- setSourceTable = _useState52[1];
171
+ snapshotMode = _useState52[0],
172
+ setSnapshotMode = _useState52[1];
173
173
  var _useState53 = (0, _react.useState)([]),
174
174
  _useState54 = (0, _slicedToArray2["default"])(_useState53, 2),
175
- operatorList = _useState54[0],
176
- setOperatorList = _useState54[1];
175
+ sourceTable = _useState54[0],
176
+ setSourceTable = _useState54[1];
177
177
  var _useState55 = (0, _react.useState)([]),
178
178
  _useState56 = (0, _slicedToArray2["default"])(_useState55, 2),
179
- copyType = _useState56[0],
180
- setCopyType = _useState56[1];
181
- var _useState57 = (0, _react.useState)(false),
179
+ operatorList = _useState56[0],
180
+ setOperatorList = _useState56[1];
181
+ var _useState57 = (0, _react.useState)([]),
182
182
  _useState58 = (0, _slicedToArray2["default"])(_useState57, 2),
183
- metabaseCopy = _useState58[0],
184
- setMetabaseCopy = _useState58[1];
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
- moduleDiff = _useState60[0],
188
- setModuleDiff = _useState60[1];
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
- showFormulaSql = _useState62[0],
192
- setShowFormulaSql = _useState62[1];
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
- showFormulaDiff = _useState64[0],
196
- setShowFormulaDiff = _useState64[1];
197
- var _useState65 = (0, _react.useState)(true),
195
+ showFormulaSql = _useState64[0],
196
+ setShowFormulaSql = _useState64[1];
197
+ var _useState65 = (0, _react.useState)(false),
198
198
  _useState66 = (0, _slicedToArray2["default"])(_useState65, 2),
199
- matchBrackets = _useState66[0],
200
- setMatchBrackets = _useState66[1];
201
- var _useState67 = (0, _react.useState)(false),
199
+ showFormulaDiff = _useState66[0],
200
+ setShowFormulaDiff = _useState66[1];
201
+ var _useState67 = (0, _react.useState)(true),
202
202
  _useState68 = (0, _slicedToArray2["default"])(_useState67, 2),
203
- hasFormulaSqlCode = _useState68[0],
204
- setHasFormulaSqlCode = _useState68[1];
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
- hasFormulaDiffCode = _useState70[0],
208
- setHasFormulaDiffCode = _useState70[1];
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
- sourceData = _useState72[0],
212
- setSourceData = _useState72[1];
213
- var _useState73 = (0, _react.useState)(false),
211
+ hasFormulaDiffCode = _useState72[0],
212
+ setHasFormulaDiffCode = _useState72[1];
213
+ var _useState73 = (0, _react.useState)([]),
214
214
  _useState74 = (0, _slicedToArray2["default"])(_useState73, 2),
215
- moduleCopy = _useState74[0],
216
- setModuleCopy = _useState74[1];
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
- isMetabaseCopy = _useState76[0],
220
- setIsMetabaseCopy = _useState76[1];
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
- joinAliasConflictCheck = _useState78[0],
224
- setJoinAliasConflictCheck = _useState78[1];
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
- existsError = _useState80[0],
228
- setExistsError = _useState80[1];
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
- rightClickMenu = _useState82[0],
233
- setRightClickMenu = _useState82[1];
234
- var _useState83 = (0, _react.useState)(null),
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
- rightClickMenuState = _useState84[0],
237
- setRightClickMenuState = _useState84[1];
238
- var rightClickMenuClickRef = (0, _react.useRef)();
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
- metabaseCopyModule = _useState86[0],
242
- setMetabaseCopyModule = _useState86[1];
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 = 1;
627
+ _context9.next = 2;
618
628
  break;
619
629
  }
620
630
  return _context9.abrupt("return");
621
- case 1:
631
+ case 2:
622
632
  oldData = (0, _utils.splitByUnion)(prevMeta);
623
633
  newData = (0, _utils.splitByUnion)(newMeta);
624
- _context9.next = 2;
634
+ _context9.next = 3;
625
635
  return fetchChangeFn.current(oldData, changeObj, {
626
636
  isExit: isExit
627
637
  }, newData);
628
- case 2:
638
+ case 3:
629
639
  isChange = _context9.sent;
630
640
  if (isChange === false) {
631
641
  _setMeta(prevMeta);
632
642
  }
633
- case 3:
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,