@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
@@ -63,7 +63,7 @@ var Header = function Header(props) {
63
63
  })
64
64
  }), _jsx(Space, {
65
65
  className: cx(':Sqb-item-actions'),
66
- children: props.onClose && !store.isMetabaseCopy && _jsx(Tooltip, {
66
+ children: props.onClose && !store.isMetabaseCopy && !store.snapshotMode && _jsx(Tooltip, {
67
67
  placement: 'top',
68
68
  title: __('data.del'),
69
69
  children: _jsx(CloseIcon2, {
@@ -2,12 +2,15 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Badge, Button, Tooltip } from '@gingkoo/pandora';
3
3
  import { ExclamationCircleFill } from '@gingkoo/pandora-icons';
4
4
  import { __ } from '../../../locale';
5
+ import { useStore } from '../../../hooks/use-provider';
5
6
  var ItemName = function ItemName(props) {
6
7
  var children = props.children,
7
8
  isError = props.isError,
8
9
  message = props.message;
10
+ var store = useStore();
11
+ var showError = isError && !store.snapshotMode;
9
12
  return _jsx(Badge, {
10
- count: isError ? _jsx(Tooltip, {
13
+ count: showError ? _jsx(Tooltip, {
11
14
  title: message || __('metabase.verify'),
12
15
  children: _jsx(Button, {
13
16
  className: 'isError',
@@ -23,7 +23,7 @@ var ItemWrapper = function ItemWrapper(props) {
23
23
  store.setMetabaseCopyModule(data);
24
24
  storage._metabaseCopyModule = data;
25
25
  };
26
- if (store.isMetabaseCopy && meta.type !== 'union' && meta.type !== 'data') {
26
+ if (store.isMetabaseCopy && !store.snapshotMode && meta.type !== 'union' && meta.type !== 'data') {
27
27
  return _jsx(Checkbox, {
28
28
  checked: metaIsCheck(store.metabaseCopyModule, meta),
29
29
  onChange: function onChange(val) {
@@ -314,8 +314,9 @@ var NextDom = function NextDom(props) {
314
314
  storage._metabaseCopyModule = [];
315
315
  }
316
316
  };
317
+ if (store.snapshotMode) return null;
317
318
  return _jsxs(_Fragment, {
318
- children: [store.metabaseCopyModule && store.metabaseCopyModule.length > 0 && isShowAdd && _jsx(Tooltip, {
319
+ children: [store.metabaseCopyModule && store.metabaseCopyModule.length > 0 && isShowAdd && !store.snapshotMode && _jsx(Tooltip, {
319
320
  title: "\u5728\u6B64\u5904\u7C98\u8D34",
320
321
  children: _jsxs(Button, {
321
322
  className: cx(':Sqb-item-copy'),
@@ -339,7 +340,8 @@ var NextDom = function NextDom(props) {
339
340
  large: size === IconSIzeEnum.LARGE
340
341
  }),
341
342
  onClick: function onClick() {
342
- return handleClick(v);
343
+ if (store.snapshotMode) return;
344
+ handleClick(v);
343
345
  },
344
346
  children: _jsxs("div", {
345
347
  children: [info.icon, size === IconSIzeEnum.LARGE ? _jsx("div", {
@@ -223,6 +223,7 @@ var CustomColumn = function CustomColumn(props) {
223
223
  data: getColumns(),
224
224
  exitData: getColumns(),
225
225
  value: _value,
226
+ readonly: store.snapshotMode,
226
227
  onCancel: function onCancel() {
227
228
  o.close();
228
229
  },
@@ -315,10 +316,11 @@ var CustomColumn = function CustomColumn(props) {
315
316
  value: v,
316
317
  children: _jsxs("div", {
317
318
  className: cx("Sqb-TableName gray-name"),
319
+ "data-sqb-snapshot-allow": 'true',
318
320
  onClick: function onClick(e) {
319
321
  return showSubQuery(e, i);
320
322
  },
321
- children: [v.name, _jsx("span", {
323
+ children: [v.name, !store.snapshotMode && _jsx("span", {
322
324
  style: {
323
325
  fontSize: 0
324
326
  },
@@ -330,7 +332,7 @@ var CustomColumn = function CustomColumn(props) {
330
332
  })
331
333
  })
332
334
  }, i);
333
- }), _jsx("div", {
335
+ }), !store.snapshotMode && _jsx("div", {
334
336
  className: "Sqb-TableName gray-name",
335
337
  onClick: function onClick(e) {
336
338
  showSubQuery(e, -1);
@@ -373,6 +373,7 @@ var JoinData = function JoinData(props) {
373
373
  table: meta.table2,
374
374
  metaIndex: index,
375
375
  groupIndex: groupIndex,
376
+ readonly: store.snapshotMode,
376
377
  onChange: function onChange(data, newMetaList) {
377
378
  var _newMetaList = newMetaList || store.metaList[groupIndex].list.slice();
378
379
  _newMetaList[index].columns = data;
@@ -1302,6 +1303,33 @@ var JoinData = function JoinData(props) {
1302
1303
  }
1303
1304
  return false;
1304
1305
  };
1306
+ var renderSwitchTypeButton = function renderSwitchTypeButton(position, expressionIndex) {
1307
+ if (store.snapshotMode) {
1308
+ return _jsx("span", {
1309
+ "aria-hidden": 'true',
1310
+ style: {
1311
+ display: 'inline-block',
1312
+ marginRight: 8
1313
+ }
1314
+ });
1315
+ }
1316
+ return _jsx(Tooltip, {
1317
+ title: __('SqlQueryBuilder.switch'),
1318
+ children: _jsx(Button, {
1319
+ disabled: meta.readonly,
1320
+ primary: true,
1321
+ ghost: true,
1322
+ className: 'mr-2 operator-icon',
1323
+ icon: _jsx(Repeat, {}),
1324
+ onClick: function onClick(e) {
1325
+ onChangeType(e, {
1326
+ position: position,
1327
+ index: expressionIndex
1328
+ });
1329
+ }
1330
+ })
1331
+ });
1332
+ };
1305
1333
  return _jsx(Wrapper, {
1306
1334
  className: cx("Sqb-item"),
1307
1335
  children: _jsxs("div", {
@@ -1357,12 +1385,13 @@ var JoinData = function JoinData(props) {
1357
1385
  className: cx("Sqb-TableName", {
1358
1386
  notSelected: !subQuerySelected
1359
1387
  }),
1388
+ "data-sqb-snapshot-allow": 'true',
1360
1389
  onClick: function onClick() {
1361
1390
  showSubQuery(meta.subquery);
1362
1391
  },
1363
1392
  children: [subQuerySelected && _jsx(_Fragment, {
1364
1393
  children: function () {
1365
- var showButton = store.tableEnableAlias || tableIsError() && isDel;
1394
+ var showButton = !store.snapshotMode && (store.tableEnableAlias || tableIsError() && isDel);
1366
1395
  var icon = isDel ? _jsx(ExclamationCircleFill, {}) : store.tableEnableAlias ? 'As' : '';
1367
1396
  return showButton ? _jsx(Tooltip, {
1368
1397
  title: __(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
@@ -1403,7 +1432,7 @@ var JoinData = function JoinData(props) {
1403
1432
  onClick: selectTable,
1404
1433
  children: [table2Selected && _jsx(_Fragment, {
1405
1434
  children: function () {
1406
- var showButton = store.tableEnableAlias || tableIsError() && isDel;
1435
+ var showButton = !store.snapshotMode && (store.tableEnableAlias || tableIsError() && isDel);
1407
1436
  var icon = isDel ? _jsx(ExclamationCircleFill, {}) : store.tableEnableAlias ? 'As' : '';
1408
1437
  return showButton ? _jsx(Tooltip, {
1409
1438
  title: __(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
@@ -1435,7 +1464,7 @@ var JoinData = function JoinData(props) {
1435
1464
  }()
1436
1465
  }), 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) : '') : __('SqlQueryBuilder.pickTable')]
1437
1466
  })
1438
- }), store.showSubquery && _jsx(Tooltip, {
1467
+ }), store.showSubquery && (!store.snapshotMode || meta.isSubquery) && _jsx(Tooltip, {
1439
1468
  title: __('SqlQueryBuilder.switchSubQuery'),
1440
1469
  children: _jsx(Button, {
1441
1470
  disabled: meta.readonly,
@@ -1452,40 +1481,10 @@ var JoinData = function JoinData(props) {
1452
1481
  children: [i == 0 && _jsx("span", {
1453
1482
  className: 'ml-2 mr-4 text-gray-500',
1454
1483
  children: "on"
1455
- }), renderItem(v.lhs, ExpressionsEnum.LEFT, i), _jsx(Tooltip, {
1456
- title: __('SqlQueryBuilder.switch'),
1457
- children: _jsx(Button, {
1458
- disabled: meta.readonly,
1459
- primary: true,
1460
- ghost: true,
1461
- className: 'mr-2 operator-icon',
1462
- icon: _jsx(Repeat, {}),
1463
- onClick: function onClick(e) {
1464
- onChangeType(e, {
1465
- position: ExpressionsEnum.LEFT,
1466
- index: i
1467
- });
1468
- }
1469
- })
1470
- }), _jsx("span", {
1484
+ }), renderItem(v.lhs, ExpressionsEnum.LEFT, i), renderSwitchTypeButton(ExpressionsEnum.LEFT, i), _jsx("span", {
1471
1485
  className: 'mr-2 text-gray-500',
1472
1486
  children: "="
1473
- }), renderItem(v.rhs, ExpressionsEnum.RIGHT, i), _jsx(Tooltip, {
1474
- title: __('SqlQueryBuilder.switch'),
1475
- children: _jsx(Button, {
1476
- disabled: meta.readonly,
1477
- primary: true,
1478
- ghost: true,
1479
- className: 'mr-2 operator-icon',
1480
- icon: _jsx(Repeat, {}),
1481
- onClick: function onClick(e) {
1482
- onChangeType(e, {
1483
- position: ExpressionsEnum.RIGHT,
1484
- index: i
1485
- });
1486
- }
1487
- })
1488
- }), _jsx(Tooltip, {
1487
+ }), renderItem(v.rhs, ExpressionsEnum.RIGHT, i), renderSwitchTypeButton(ExpressionsEnum.RIGHT, i), !store.snapshotMode && _jsx(Tooltip, {
1489
1488
  title: __('SqlQueryBuilder.add'),
1490
1489
  children: _jsx(Dropdown, {
1491
1490
  trigger: ['click'],
@@ -1501,7 +1500,7 @@ var JoinData = function JoinData(props) {
1501
1500
  icon: _jsx(FfPlus, {})
1502
1501
  })
1503
1502
  })
1504
- }), _jsx(Tooltip, {
1503
+ }), !store.snapshotMode && _jsx(Tooltip, {
1505
1504
  title: __('SqlQueryBuilder.del'),
1506
1505
  children: _jsx(Button, {
1507
1506
  disabled: meta.readonly,
@@ -1557,7 +1556,7 @@ var JoinData = function JoinData(props) {
1557
1556
  children: v.quotes || __('joinData.selectExpression')
1558
1557
  }, i)
1559
1558
  })
1560
- }), _jsx(Tooltip, {
1559
+ }), !store.snapshotMode && _jsx(Tooltip, {
1561
1560
  title: __('SqlQueryBuilder.add'),
1562
1561
  children: _jsx(Dropdown, {
1563
1562
  trigger: ['click'],
@@ -1573,7 +1572,7 @@ var JoinData = function JoinData(props) {
1573
1572
  icon: _jsx(FfPlus, {})
1574
1573
  })
1575
1574
  })
1576
- }), _jsx(Tooltip, {
1575
+ }), !store.snapshotMode && _jsx(Tooltip, {
1577
1576
  title: __('SqlQueryBuilder.del'),
1578
1577
  children: _jsx(Button, {
1579
1578
  disabled: meta.readonly,
@@ -1608,7 +1607,7 @@ var JoinData = function JoinData(props) {
1608
1607
  type: ChangeType.expressions
1609
1608
  });
1610
1609
  }
1611
- }), _jsx(Tooltip, {
1610
+ }), !store.snapshotMode && _jsx(Tooltip, {
1612
1611
  title: __('SqlQueryBuilder.add'),
1613
1612
  children: _jsx(Dropdown, {
1614
1613
  trigger: ['click'],
@@ -1624,7 +1623,7 @@ var JoinData = function JoinData(props) {
1624
1623
  icon: _jsx(FfPlus, {})
1625
1624
  })
1626
1625
  })
1627
- }), _jsx(Tooltip, {
1626
+ }), !store.snapshotMode && _jsx(Tooltip, {
1628
1627
  title: __('SqlQueryBuilder.del'),
1629
1628
  children: _jsx(Button, {
1630
1629
  disabled: meta.readonly,
@@ -1638,7 +1637,7 @@ var JoinData = function JoinData(props) {
1638
1637
  })]
1639
1638
  }, i);
1640
1639
  }
1641
- })), ((_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 && _jsx(Tooltip, {
1640
+ })), !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 && _jsx(Tooltip, {
1642
1641
  title: __('SqlQueryBuilder.add'),
1643
1642
  children: _jsx(Dropdown, {
1644
1643
  trigger: ['click'],
@@ -1656,6 +1655,7 @@ var JoinData = function JoinData(props) {
1656
1655
  })
1657
1656
  }), 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 && _jsx("div", {
1658
1657
  className: "Sqb-TableColumns",
1658
+ "data-sqb-snapshot-allow": 'true',
1659
1659
  onClick: selectColumns,
1660
1660
  children: __('SqlQueryBuilder.columns')
1661
1661
  })]
@@ -22,6 +22,7 @@ var PermissionTable = function PermissionTable(props) {
22
22
  var _getHelper = getHelper(store.metaList[groupIndex].list, meta),
23
23
  prevTables = _getHelper.prevTables;
24
24
  function selectTable(e) {
25
+ if (store.snapshotMode) return;
25
26
  var _getHelper2 = getHelper(store.metaList[groupIndex].list, meta),
26
27
  ExistAboveGroupBy = _getHelper2.ExistAboveGroupBy,
27
28
  prevList = _getHelper2.prevList,
@@ -14,6 +14,7 @@ var RowLimit = function RowLimit(props) {
14
14
  var store = useStore();
15
15
  var index = findIndex(store.metaList[groupIndex].list, meta);
16
16
  function handleChange(inputValue) {
17
+ if (store.snapshotMode) return;
17
18
  var newMeta = store.metaList[groupIndex].list.slice();
18
19
  newMeta[index].limit = inputValue;
19
20
  store.setMeta(newMeta, groupIndex);
@@ -200,7 +200,7 @@ var Sort = function Sort(props) {
200
200
  onClick: function onClick() {
201
201
  return handleSort(i);
202
202
  },
203
- children: [v.sort === SortEnum.asc ? _jsx(UpArrowIcon, {}) : _jsx(DownArrowIcon, {}), getName(v.expression), _jsx("span", {
203
+ children: [v.sort === SortEnum.asc ? _jsx(UpArrowIcon, {}) : _jsx(DownArrowIcon, {}), getName(v.expression), !store.snapshotMode && _jsx("span", {
204
204
  style: {
205
205
  fontSize: 0
206
206
  },
@@ -212,7 +212,7 @@ var Sort = function Sort(props) {
212
212
  }, i)
213
213
  })
214
214
  }, i);
215
- }), _jsx("div", {
215
+ }), !store.snapshotMode && _jsx("div", {
216
216
  className: "Sqb-TableName gray-name",
217
217
  onClick: addSortColumn,
218
218
  children: _jsx(AddIcon, {})
@@ -94,7 +94,8 @@ var buildAutoGroupByAlias = function buildAutoGroupByAlias(tableAlias, fieldName
94
94
  var GroupByEditor = function GroupByEditor(_ref) {
95
95
  var data = _ref.data,
96
96
  value = _ref.value,
97
- onChange = _ref.onChange;
97
+ onChange = _ref.onChange,
98
+ readonly = _ref.readonly;
98
99
  var _useState = useState(function () {
99
100
  if (Array.isArray(value.atoms) && value.atoms.length) {
100
101
  return value.atoms;
@@ -149,7 +150,7 @@ var GroupByEditor = function GroupByEditor(_ref) {
149
150
  })
150
151
  })
151
152
  })
152
- }), _jsx("div", {
153
+ }), !readonly && _jsx("div", {
153
154
  className: 'Sqb-SelectSummarize-formula-footer',
154
155
  children: _jsx(Button, {
155
156
  primary: true,
@@ -286,6 +287,7 @@ var GroupBy = function GroupBy(props) {
286
287
  content: _jsx(GroupByEditor, {
287
288
  data: data,
288
289
  value: value,
290
+ readonly: store.snapshotMode,
289
291
  onChange: function onChange(nextValue) {
290
292
  newMeta[index].by.splice(i, 1, normalizeByRecord(nextValue, i, newMeta));
291
293
  store.setMeta(newMeta, groupIndex, {
@@ -518,11 +520,12 @@ var GroupBy = function GroupBy(props) {
518
520
  value: v,
519
521
  children: _jsxs("div", {
520
522
  className: "Sqb-TableName green-name",
523
+ "data-sqb-snapshot-allow": store.snapshotMode ? 'true' : undefined,
521
524
  onClick: function onClick(e) {
522
525
  return handleUpdate(e, i);
523
526
  },
524
527
  children: [v.quotes && _jsx(_Fragment, {
525
- children: store.groupByEnableAlias && _jsx(Tooltip, {
528
+ children: store.groupByEnableAlias && !store.snapshotMode && _jsx(Tooltip, {
526
529
  title: !isValidSQLAlias(v === null || v === void 0 ? void 0 : v.fieldAlias) ? __('SqlQueryBuilder.aliasForRules') : __('SqlQueryBuilder.alias'),
527
530
  children: _jsx(Button, {
528
531
  className: cx(':Sqb-TableName-as :Sqb-TableName green-name', _defineProperty({}, 'isError', !isValidSQLAlias(v === null || v === void 0 ? void 0 : v.fieldAlias))),
@@ -537,7 +540,7 @@ var GroupBy = function GroupBy(props) {
537
540
  }
538
541
  })
539
542
  })
540
- }), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), _jsx("span", {
543
+ }), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), !store.snapshotMode && _jsx("span", {
541
544
  style: {
542
545
  fontSize: 0
543
546
  },
@@ -549,7 +552,7 @@ var GroupBy = function GroupBy(props) {
549
552
  })
550
553
  })
551
554
  }, i);
552
- }), _jsx("div", {
555
+ }), !store.snapshotMode && _jsx("div", {
553
556
  className: cx("Sqb-TableName green-name", {
554
557
  notSelected: notBySelected
555
558
  }),
@@ -151,6 +151,7 @@ var SelectIndex = function SelectIndex(props) {
151
151
  data: data,
152
152
  value: value,
153
153
  ignoreGroupByType: store.ignoreGroupByType,
154
+ readonly: store.snapshotMode,
154
155
  onChange: function onChange(data) {
155
156
  if (hasDuplicateNoArgumentMetric(newMeta[index].group, data.condition, i)) {
156
157
  Toast.warning(summarizeWithoutArgumentMessage);
@@ -417,11 +418,12 @@ var SelectIndex = function SelectIndex(props) {
417
418
  value: v,
418
419
  children: _jsxs("div", {
419
420
  className: "Sqb-TableName green-name",
421
+ "data-sqb-snapshot-allow": store.snapshotMode ? 'true' : undefined,
420
422
  onClick: function onClick(e) {
421
423
  return handleUpdate(e, i);
422
424
  },
423
425
  children: [v.quotes && _jsx(_Fragment, {
424
- children: store.groupByEnableAlias && _jsx(Tooltip, {
426
+ children: store.groupByEnableAlias && !store.snapshotMode && _jsx(Tooltip, {
425
427
  title: !isValidSQLAlias(v === null || v === void 0 ? void 0 : v.fieldAlias) ? __('SqlQueryBuilder.aliasForRules') : __('SqlQueryBuilder.alias'),
426
428
  children: _jsx(Button, {
427
429
  className: cx(':Sqb-TableName-as :Sqb-TableName green-name', _defineProperty({}, 'isError', !isValidSQLAlias(v === null || v === void 0 ? void 0 : v.fieldAlias))),
@@ -436,7 +438,7 @@ var SelectIndex = function SelectIndex(props) {
436
438
  }
437
439
  })
438
440
  })
439
- }), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), _jsx("span", {
441
+ }), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), !store.snapshotMode && _jsx("span", {
440
442
  style: {
441
443
  fontSize: 0
442
444
  },
@@ -448,7 +450,7 @@ var SelectIndex = function SelectIndex(props) {
448
450
  })
449
451
  })
450
452
  }, i);
451
- }), _jsx("div", {
453
+ }), !store.snapshotMode && _jsx("div", {
452
454
  className: cx("Sqb-TableName green-name", {
453
455
  notSelected: notGroupSelected
454
456
  }),
@@ -79,7 +79,7 @@ var TableData = function TableData(props) {
79
79
  }, 0);
80
80
  }, [meta]);
81
81
  function selectTable(e) {
82
- !meta.readonly && store.setPopup({
82
+ !meta.readonly && !store.snapshotMode && store.setPopup({
83
83
  visible: true,
84
84
  node: e.currentTarget,
85
85
  content: _jsx(SelectTable, {
@@ -122,6 +122,7 @@ var TableData = function TableData(props) {
122
122
  groupIndex: groupIndex,
123
123
  table: meta.table,
124
124
  metaIndex: 0,
125
+ readonly: store.snapshotMode,
125
126
  data: columns,
126
127
  onChange: function onChange(data, newMetaList) {
127
128
  var _newMetaList = newMetaList || store.metaList[groupIndex].list.slice();
@@ -299,12 +300,13 @@ var TableData = function TableData(props) {
299
300
  className: cx("Sqb-TableName", {
300
301
  notSelected: !subQuerySelected
301
302
  }),
303
+ "data-sqb-snapshot-allow": 'true',
302
304
  onClick: function onClick() {
303
305
  showSubQuery(meta.subquery);
304
306
  },
305
307
  children: [subQuerySelected && _jsx(_Fragment, {
306
308
  children: function () {
307
- var showButton = store.tableEnableAlias || tableIsError() && isDel;
309
+ var showButton = !store.snapshotMode && (store.tableEnableAlias || tableIsError() && isDel);
308
310
  var icon = isDel ? _jsx(ExclamationCircleFill, {}) : store.tableEnableAlias ? 'As' : '';
309
311
  return showButton ? _jsx(Tooltip, {
310
312
  title: __(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
@@ -346,7 +348,7 @@ var TableData = function TableData(props) {
346
348
  onClick: selectTable,
347
349
  children: [selected && _jsx(_Fragment, {
348
350
  children: function () {
349
- var showButton = store.tableEnableAlias || tableIsError() && isDel;
351
+ var showButton = !store.snapshotMode && (store.tableEnableAlias || tableIsError() && isDel);
350
352
  var icon = isDel ? _jsx(ExclamationCircleFill, {}) : store.tableEnableAlias ? 'As' : '';
351
353
  return showButton ? _jsx(Tooltip, {
352
354
  title: __(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
@@ -378,7 +380,7 @@ var TableData = function TableData(props) {
378
380
  }()
379
381
  }), 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) : '') : __('SqlQueryBuilder.pickTable')]
380
382
  })
381
- }), store.showSubquery && _jsx(Tooltip, {
383
+ }), store.showSubquery && (!store.snapshotMode || meta.isSubquery) && _jsx(Tooltip, {
382
384
  title: __('SqlQueryBuilder.switchSubQuery'),
383
385
  children: _jsx(Button, {
384
386
  disabled: meta.readonly,
@@ -390,6 +392,7 @@ var TableData = function TableData(props) {
390
392
  })
391
393
  }), selected && store.showFields && (!store.isExit || store.isSubquery) && ((_store$showMainColumn = store.showMainColumn[groupIndex]) === null || _store$showMainColumn === void 0 ? void 0 : _store$showMainColumn.showColumn) && _jsx("div", {
392
394
  className: "Sqb-TableColumns",
395
+ "data-sqb-snapshot-allow": 'true',
393
396
  onClick: selectColumns,
394
397
  children: __('SqlQueryBuilder.columns')
395
398
  })]
@@ -20,7 +20,7 @@ var RowLimit = function RowLimit(props) {
20
20
  groupIndex = props.groupIndex;
21
21
  var store = useStore();
22
22
  function selectOperator(e) {
23
- !meta.readonly && store.setPopup({
23
+ !meta.readonly && !store.snapshotMode && store.setPopup({
24
24
  visible: true,
25
25
  node: e.currentTarget,
26
26
  content: _jsx(SelectList, {