@difizen/libro-core 0.1.18 → 0.1.20

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 (36) hide show
  1. package/es/cell/libro-cell-view.js +2 -2
  2. package/es/command/document-commands.d.ts.map +1 -1
  3. package/es/command/document-commands.js +6 -1
  4. package/es/command/libro-command-contribution.d.ts.map +1 -1
  5. package/es/command/libro-command-contribution.js +75 -45
  6. package/es/components/dnd-component/default-dnd-content.d.ts.map +1 -1
  7. package/es/components/dnd-component/default-dnd-content.js +3 -24
  8. package/es/components/libro-virtualized-render.js +1 -1
  9. package/es/libro-model.d.ts +7 -8
  10. package/es/libro-model.d.ts.map +1 -1
  11. package/es/libro-model.js +32 -21
  12. package/es/libro-protocol.d.ts +28 -6
  13. package/es/libro-protocol.d.ts.map +1 -1
  14. package/es/libro-service.d.ts +36 -3
  15. package/es/libro-service.d.ts.map +1 -1
  16. package/es/libro-service.js +97 -2
  17. package/es/libro-view.d.ts +5 -0
  18. package/es/libro-view.d.ts.map +1 -1
  19. package/es/libro-view.js +26 -61
  20. package/es/toolbar/libro-toolbar.d.ts.map +1 -1
  21. package/es/toolbar/libro-toolbar.js +16 -0
  22. package/es/virtualized-manager.d.ts +4 -0
  23. package/es/virtualized-manager.d.ts.map +1 -1
  24. package/es/virtualized-manager.js +7 -3
  25. package/package.json +5 -5
  26. package/src/cell/libro-cell-view.tsx +2 -2
  27. package/src/command/document-commands.ts +6 -1
  28. package/src/command/libro-command-contribution.ts +20 -1
  29. package/src/components/dnd-component/default-dnd-content.tsx +3 -19
  30. package/src/components/libro-virtualized-render.tsx +1 -1
  31. package/src/libro-model.ts +27 -20
  32. package/src/libro-protocol.ts +31 -8
  33. package/src/libro-service.ts +109 -3
  34. package/src/libro-view.tsx +22 -46
  35. package/src/toolbar/libro-toolbar.tsx +13 -0
  36. package/src/virtualized-manager.ts +14 -1
@@ -86,12 +86,12 @@ export var LibroCellView = (_dec = view('libro-cell-view'), _dec2 = prop(), _dec
86
86
  this.toDispose.push(watch(this.model, 'value', function () {
87
87
  var _this2$parent$model$o, _this2$parent$model, _this2$parent$model$o2, _this2$parent$model2;
88
88
  (_this2$parent$model$o = (_this2$parent$model = _this2.parent.model).onChange) === null || _this2$parent$model$o === void 0 || _this2$parent$model$o.call(_this2$parent$model);
89
- (_this2$parent$model$o2 = (_this2$parent$model2 = _this2.parent.model).onSourceChange) === null || _this2$parent$model$o2 === void 0 || _this2$parent$model$o2.call(_this2$parent$model2);
89
+ (_this2$parent$model$o2 = (_this2$parent$model2 = _this2.parent.model).onSourceChange) === null || _this2$parent$model$o2 === void 0 || _this2$parent$model$o2.call(_this2$parent$model2, [_this2]);
90
90
  }));
91
91
  this.toDispose.push(watch(this.model, 'type', function () {
92
92
  var _this2$parent$model$o3, _this2$parent$model3, _this2$parent$model$o4, _this2$parent$model4;
93
93
  (_this2$parent$model$o3 = (_this2$parent$model3 = _this2.parent.model).onChange) === null || _this2$parent$model$o3 === void 0 || _this2$parent$model$o3.call(_this2$parent$model3);
94
- (_this2$parent$model$o4 = (_this2$parent$model4 = _this2.parent.model).onSourceChange) === null || _this2$parent$model$o4 === void 0 || _this2$parent$model$o4.call(_this2$parent$model4);
94
+ (_this2$parent$model$o4 = (_this2$parent$model4 = _this2.parent.model).onSourceChange) === null || _this2$parent$model$o4 === void 0 || _this2$parent$model$o4.call(_this2$parent$model4, [_this2]);
95
95
  }));
96
96
  if (ExecutableCellModel.is(this.model)) {
97
97
  this.toDispose.push(watch(this.model, 'executeCount', function () {
@@ -1 +1 @@
1
- {"version":3,"file":"document-commands.d.ts","sourceRoot":"","sources":["../../src/command/document-commands.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAY3E,CAAC"}
1
+ {"version":3,"file":"document-commands.d.ts","sourceRoot":"","sources":["../../src/command/document-commands.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAiB3E,CAAC"}
@@ -1,4 +1,4 @@
1
- import { SaveOutlined, SettingOutlined } from '@ant-design/icons';
1
+ import { ClearOutlined, SaveOutlined, SettingOutlined } from '@ant-design/icons';
2
2
  export var DocumentCommands = {
3
3
  Save: {
4
4
  id: 'document:save',
@@ -10,5 +10,10 @@ export var DocumentCommands = {
10
10
  id: 'document.notebook.open_setting',
11
11
  icon: SettingOutlined,
12
12
  label: 'Setting'
13
+ },
14
+ FormatCell: {
15
+ id: 'document.notebook.format_cell',
16
+ icon: ClearOutlined,
17
+ label: 'format cell code'
13
18
  }
14
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"libro-command-contribution.d.ts","sourceRoot":"","sources":["../../src/command/libro-command-contribution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAEL,YAAY,EAEZ,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE,qBACa,wBAAyB,YAAW,mBAAmB;IAC5C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAC9D,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAC3C,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAE7E,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;CA0yCjD"}
1
+ {"version":3,"file":"libro-command-contribution.d.ts","sourceRoot":"","sources":["../../src/command/libro-command-contribution.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAEL,YAAY,EAEZ,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE,qBACa,wBAAyB,YAAW,mBAAmB;IAC5C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAC9D,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAC3C,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAE7E,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;CA4zCjD"}
@@ -11,10 +11,11 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
11
11
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
12
12
  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
13
13
  function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); }
14
+ import { MIME } from '@difizen/libro-common';
14
15
  import { inject, ModalService, singleton, CommandContribution } from '@difizen/mana-app';
15
16
  import { equals } from '@difizen/mana-app';
16
17
  import { v4 } from 'uuid';
17
- import { LibroCellView, ExecutableCellModel } from "../cell/index.js";
18
+ import { LibroCellView, ExecutableCellModel, EditorCellView } from "../cell/index.js";
18
19
  import { LirboContextKey } from "../libro-context-key.js";
19
20
  import { LibroToolbarArea } from "../libro-protocol.js";
20
21
  import { LibroService } from "../libro-service.js";
@@ -1512,27 +1513,56 @@ export var LibroCommandContribution = (_dec = singleton({
1512
1513
  return !(libro !== null && libro !== void 0 && libro.model.readOnly) && path === LibroToolbarArea.HeaderRight;
1513
1514
  }
1514
1515
  });
1515
- this.libroCommand.registerLibroCommand(command, NotebookCommands['UndoCellAction'], {
1516
+ this.libroCommand.registerLibroCommand(command, DocumentCommands['FormatCell'], {
1516
1517
  execute: function () {
1517
- var _execute45 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee45(cell, libro) {
1518
+ var _execute45 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee45(cell) {
1519
+ var _cell$editor;
1520
+ var _cell$editor2;
1518
1521
  return _regeneratorRuntime().wrap(function _callee45$(_context45) {
1519
1522
  while (1) switch (_context45.prev = _context45.next) {
1523
+ case 0:
1524
+ if (EditorCellView.is(cell) && ((_cell$editor = cell.editor) === null || _cell$editor === void 0 ? void 0 : _cell$editor.model.mimeType) === MIME.python) {
1525
+ (_cell$editor2 = cell.editor) === null || _cell$editor2 === void 0 || _cell$editor2.format();
1526
+ }
1527
+ case 1:
1528
+ case "end":
1529
+ return _context45.stop();
1530
+ }
1531
+ }, _callee45);
1532
+ }));
1533
+ function execute(_x87) {
1534
+ return _execute45.apply(this, arguments);
1535
+ }
1536
+ return execute;
1537
+ }(),
1538
+ isVisible: function isVisible(cell, libro, path) {
1539
+ if (!libro || !(libro instanceof LibroView)) {
1540
+ return false;
1541
+ }
1542
+ return !(libro !== null && libro !== void 0 && libro.model.readOnly) && EditorCellView.is(cell) && cell.model.mimeType === MIME.python && path === LibroToolbarArea.CellRight;
1543
+ }
1544
+ });
1545
+ this.libroCommand.registerLibroCommand(command, NotebookCommands['UndoCellAction'], {
1546
+ execute: function () {
1547
+ var _execute46 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee46(cell, libro) {
1548
+ return _regeneratorRuntime().wrap(function _callee46$(_context46) {
1549
+ while (1) switch (_context46.prev = _context46.next) {
1520
1550
  case 0:
1521
1551
  if (!(!libro || !(libro instanceof LibroView))) {
1522
- _context45.next = 2;
1552
+ _context46.next = 2;
1523
1553
  break;
1524
1554
  }
1525
- return _context45.abrupt("return");
1555
+ return _context46.abrupt("return");
1526
1556
  case 2:
1527
1557
  libro.model.undo();
1528
1558
  case 3:
1529
1559
  case "end":
1530
- return _context45.stop();
1560
+ return _context46.stop();
1531
1561
  }
1532
- }, _callee45);
1562
+ }, _callee46);
1533
1563
  }));
1534
- function execute(_x87, _x88) {
1535
- return _execute45.apply(this, arguments);
1564
+ function execute(_x88, _x89) {
1565
+ return _execute46.apply(this, arguments);
1536
1566
  }
1537
1567
  return execute;
1538
1568
  }(),
@@ -1552,25 +1582,25 @@ export var LibroCommandContribution = (_dec = singleton({
1552
1582
  });
1553
1583
  this.libroCommand.registerLibroCommand(command, NotebookCommands['RedoCellAction'], {
1554
1584
  execute: function () {
1555
- var _execute46 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee46(cell, libro) {
1556
- return _regeneratorRuntime().wrap(function _callee46$(_context46) {
1557
- while (1) switch (_context46.prev = _context46.next) {
1585
+ var _execute47 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee47(cell, libro) {
1586
+ return _regeneratorRuntime().wrap(function _callee47$(_context47) {
1587
+ while (1) switch (_context47.prev = _context47.next) {
1558
1588
  case 0:
1559
1589
  if (!(!libro || !(libro instanceof LibroView))) {
1560
- _context46.next = 2;
1590
+ _context47.next = 2;
1561
1591
  break;
1562
1592
  }
1563
- return _context46.abrupt("return");
1593
+ return _context47.abrupt("return");
1564
1594
  case 2:
1565
1595
  libro.model.redo();
1566
1596
  case 3:
1567
1597
  case "end":
1568
- return _context46.stop();
1598
+ return _context47.stop();
1569
1599
  }
1570
- }, _callee46);
1600
+ }, _callee47);
1571
1601
  }));
1572
- function execute(_x89, _x90) {
1573
- return _execute46.apply(this, arguments);
1602
+ function execute(_x90, _x91) {
1603
+ return _execute47.apply(this, arguments);
1574
1604
  }
1575
1605
  return execute;
1576
1606
  }(),
@@ -1604,25 +1634,25 @@ export var LibroCommandContribution = (_dec = singleton({
1604
1634
  });
1605
1635
  this.libroCommand.registerLibroCommand(command, NotebookCommands['Redo'], {
1606
1636
  execute: function () {
1607
- var _execute47 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee47(cell) {
1608
- return _regeneratorRuntime().wrap(function _callee47$(_context47) {
1609
- while (1) switch (_context47.prev = _context47.next) {
1637
+ var _execute48 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee48(cell) {
1638
+ return _regeneratorRuntime().wrap(function _callee48$(_context48) {
1639
+ while (1) switch (_context48.prev = _context48.next) {
1610
1640
  case 0:
1611
1641
  if (!(!cell || !(cell instanceof LibroCellView))) {
1612
- _context47.next = 2;
1642
+ _context48.next = 2;
1613
1643
  break;
1614
1644
  }
1615
- return _context47.abrupt("return");
1645
+ return _context48.abrupt("return");
1616
1646
  case 2:
1617
1647
  cell.redo();
1618
1648
  case 3:
1619
1649
  case "end":
1620
- return _context47.stop();
1650
+ return _context48.stop();
1621
1651
  }
1622
- }, _callee47);
1652
+ }, _callee48);
1623
1653
  }));
1624
- function execute(_x91) {
1625
- return _execute47.apply(this, arguments);
1654
+ function execute(_x92) {
1655
+ return _execute48.apply(this, arguments);
1626
1656
  }
1627
1657
  return execute;
1628
1658
  }(),
@@ -1635,25 +1665,25 @@ export var LibroCommandContribution = (_dec = singleton({
1635
1665
  });
1636
1666
  this.libroCommand.registerLibroCommand(command, NotebookCommands['Undo'], {
1637
1667
  execute: function () {
1638
- var _execute48 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee48(cell) {
1639
- return _regeneratorRuntime().wrap(function _callee48$(_context48) {
1640
- while (1) switch (_context48.prev = _context48.next) {
1668
+ var _execute49 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee49(cell) {
1669
+ return _regeneratorRuntime().wrap(function _callee49$(_context49) {
1670
+ while (1) switch (_context49.prev = _context49.next) {
1641
1671
  case 0:
1642
1672
  if (!(!cell || !(cell instanceof LibroCellView))) {
1643
- _context48.next = 2;
1673
+ _context49.next = 2;
1644
1674
  break;
1645
1675
  }
1646
- return _context48.abrupt("return");
1676
+ return _context49.abrupt("return");
1647
1677
  case 2:
1648
1678
  cell.undo();
1649
1679
  case 3:
1650
1680
  case "end":
1651
- return _context48.stop();
1681
+ return _context49.stop();
1652
1682
  }
1653
- }, _callee48);
1683
+ }, _callee49);
1654
1684
  }));
1655
- function execute(_x92) {
1656
- return _execute48.apply(this, arguments);
1685
+ function execute(_x93) {
1686
+ return _execute49.apply(this, arguments);
1657
1687
  }
1658
1688
  return execute;
1659
1689
  }(),
@@ -1750,23 +1780,23 @@ export var LibroCommandContribution = (_dec = singleton({
1750
1780
  });
1751
1781
  this.libroCommand.registerLibroCommand(command, NotebookCommands['More'], {
1752
1782
  execute: function () {
1753
- var _execute49 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee49(cell, libro) {
1754
- return _regeneratorRuntime().wrap(function _callee49$(_context49) {
1755
- while (1) switch (_context49.prev = _context49.next) {
1783
+ var _execute50 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee50(cell, libro) {
1784
+ return _regeneratorRuntime().wrap(function _callee50$(_context50) {
1785
+ while (1) switch (_context50.prev = _context50.next) {
1756
1786
  case 0:
1757
1787
  if (!(!libro || !(libro instanceof LibroView))) {
1758
- _context49.next = 2;
1788
+ _context50.next = 2;
1759
1789
  break;
1760
1790
  }
1761
- return _context49.abrupt("return");
1791
+ return _context50.abrupt("return");
1762
1792
  case 2:
1763
1793
  case "end":
1764
- return _context49.stop();
1794
+ return _context50.stop();
1765
1795
  }
1766
- }, _callee49);
1796
+ }, _callee50);
1767
1797
  }));
1768
- function execute(_x93, _x94) {
1769
- return _execute49.apply(this, arguments);
1798
+ function execute(_x94, _x95) {
1799
+ return _execute50.apply(this, arguments);
1770
1800
  }
1771
1801
  return execute;
1772
1802
  }(),
@@ -1 +1 @@
1
- {"version":3,"file":"default-dnd-content.d.ts","sourceRoot":"","sources":["../../../src/components/dnd-component/default-dnd-content.tsx"],"names":[],"mappings":"AAIA,OAAO,KAQN,MAAM,OAAO,CAAC;AAGf,OAAO,0BAA0B,CAAC;AAMlC,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAKzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAkTtD,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,mBAIrC,CAAC"}
1
+ {"version":3,"file":"default-dnd-content.d.ts","sourceRoot":"","sources":["../../../src/components/dnd-component/default-dnd-content.tsx"],"names":[],"mappings":"AAIA,OAAO,KAQN,MAAM,OAAO,CAAC;AAGf,OAAO,0BAA0B,CAAC;AAMlC,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAIzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAmStD,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,mBAIrC,CAAC"}
@@ -22,7 +22,6 @@ import { CellCollapsible } from "../../collapse-service.js";
22
22
  import { DragAreaKey, isCellView } from "../../libro-protocol.js";
23
23
  import { MultiSelectionWhenShiftClick } from "../../libro-setting.js";
24
24
  import { HolderOutlined, PlusOutlined } from "../../material-from-designer.js";
25
- import { VirtualizedManagerHelper } from "../../virtualized-manager-helper.js";
26
25
  import { BetweenCellProvider } from "../cell-protocol.js";
27
26
  import { jsx as _jsx } from "react/jsx-runtime";
28
27
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -37,8 +36,6 @@ export var DndCellContainer = function DndCellContainer(_ref) {
37
36
  multiSelectionWhenShiftClick = _useConfigurationValu2[0];
38
37
  var BetweenCellContent = useInject(BetweenCellProvider);
39
38
  var cellService = useInject(LibroCellService);
40
- var virtualizedManagerHelper = useInject(VirtualizedManagerHelper);
41
- var virtualizedManager = virtualizedManagerHelper.getOrCreate(cell.parent.model);
42
39
  var dragDropManager = useDragDropManager();
43
40
  var dragDropMonitor = dragDropManager.getMonitor();
44
41
  var ItemRender = getOrigin(instance.dndItemRender);
@@ -193,35 +190,17 @@ export var DndCellContainer = function DndCellContainer(_ref) {
193
190
  }
194
191
  if (isDragInSelections) {
195
192
  instance.model.exchangeCells(instance.model.selections, dropIndex);
196
- if (virtualizedManager.isVirtualized) {
197
- instance.model.scrollToCellView({
198
- cellIndex: dropIndex
199
- });
200
- } else {
201
- instance.model.scrollToView(cell);
202
- }
193
+ instance.model.scrollToView(cell);
203
194
  return;
204
195
  }
205
196
  }
206
197
  if (dragIndex < dropIndex) {
207
198
  instance.model.exchangeCell(dragIndex, dropIndex - 1);
208
- if (virtualizedManager.isVirtualized) {
209
- instance.model.scrollToCellView({
210
- cellIndex: dropIndex
211
- });
212
- } else {
213
- instance.model.scrollToView(cell);
214
- }
199
+ instance.model.scrollToView(cell);
215
200
  }
216
201
  if (dragIndex > dropIndex) {
217
202
  instance.model.exchangeCell(dragIndex, dropIndex);
218
- if (virtualizedManager.isVirtualized) {
219
- instance.model.scrollToCellView({
220
- cellIndex: dropIndex
221
- });
222
- } else {
223
- instance.model.scrollToView(cell);
224
- }
203
+ instance.model.scrollToView(cell);
225
204
  }
226
205
  }
227
206
  return;
@@ -88,7 +88,7 @@ export var LibroCellsOutputRender = function LibroCellsOutputRender(_ref2) {
88
88
  }
89
89
  libroView.model.onScrollToCellView(function (params) {
90
90
  // listRef.current!.scrollToRow(index);
91
- listRef.current.scrollToLine(params.cellIndex, params.lineIndex || 1);
91
+ listRef.current.scrollToCellPosition(params.cellIndex, params.cellOffset);
92
92
  });
93
93
  return function () {
94
94
  libroView.model.disposeScrollToCellViewEmitter();
@@ -4,7 +4,7 @@ import { ConfigurationService } from '@difizen/mana-app';
4
4
  import { Emitter } from '@difizen/mana-app';
5
5
  import { LibroContentService } from './content/index.js';
6
6
  import { NotebookOption } from './libro-protocol.js';
7
- import type { CellOptions, CellViewChange, DndListModel, NotebookModel, ScrollParams, CellView, MouseMode } from './libro-protocol.js';
7
+ import type { CellOptions, CellViewChange, DndListModel, NotebookModel, CellView, MouseMode, ICellContentChange } from './libro-protocol.js';
8
8
  import { VirtualizedManagerHelper } from './virtualized-manager-helper.js';
9
9
  export declare class LibroModel implements NotebookModel, DndListModel {
10
10
  options: NotebookOption;
@@ -15,14 +15,16 @@ export declare class LibroModel implements NotebookModel, DndListModel {
15
15
  get onScrollToCellView(): import("@difizen/mana-app").Event<any>;
16
16
  protected cellViewChangeEmitter: Emitter<CellViewChange>;
17
17
  get onCellViewChanged(): import("@difizen/mana-app").Event<CellViewChange>;
18
- scrollToCellView: (params: ScrollParams) => void;
19
18
  disposeScrollToCellViewEmitter(): void;
20
19
  protected onCommandModeChangedEmitter: Emitter<boolean>;
21
20
  get onCommandModeChanged(): import("@difizen/mana-app").Event<boolean>;
22
- protected onContentChangedEmitter: Emitter<boolean>;
23
- get onContentChanged(): import("@difizen/mana-app").Event<boolean>;
21
+ protected onChangedEmitter: Emitter<boolean>;
22
+ get onChanged(): import("@difizen/mana-app").Event<boolean>;
24
23
  protected onSourceChangedEmitter: Emitter<boolean>;
25
24
  get onSourceChanged(): import("@difizen/mana-app").Event<boolean>;
25
+ protected onCellContentChangedEmitter: Emitter<ICellContentChange>;
26
+ get onCellContentChanged(): import("@difizen/mana-app").Event<ICellContentChange>;
27
+ onCellContentChange(change: ICellContentChange): void;
26
28
  id: string;
27
29
  /**
28
30
  * The shared notebook model.
@@ -83,9 +85,6 @@ export declare class LibroModel implements NotebookModel, DndListModel {
83
85
  * Should emit a [contentChanged] signal.
84
86
  */
85
87
  fromJSON(value: INotebookContent): void;
86
- /**
87
- * cell list change or cell content change
88
- */
89
88
  onChange(): void;
90
89
  onSourceChange(): void;
91
90
  /**
@@ -101,7 +100,7 @@ export declare class LibroModel implements NotebookModel, DndListModel {
101
100
  /**
102
101
  * 自动滚动到可视范围内
103
102
  */
104
- scrollToView(cell: CellView): void;
103
+ scrollToView(cell: CellView, cellOffset?: number): void;
105
104
  addCell: (cell: CellView, position?: number, mode?: string) => void;
106
105
  insertCells: (cells: CellView[], position?: number, mode?: string) => void;
107
106
  invertCell: (toAddcell: CellView, position: number) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"libro-model.d.ts","sourceRoot":"","sources":["../src/libro-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libro-model.d.ts","sourceRoot":"","sources":["../src/libro-model.ts"],"names":[],"mappings":"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"}
package/es/libro-model.js CHANGED
@@ -39,12 +39,10 @@ export var LibroModel = (_dec = transient(), _dec2 = inject(NotebookOption), _de
39
39
  _initializerDefineProperty(this, "configurationService", _descriptor4, this);
40
40
  this.scrollToCellViewEmitter = void 0;
41
41
  this.cellViewChangeEmitter = new Emitter();
42
- this.scrollToCellView = function (params) {
43
- _this.scrollToCellViewEmitter.fire(params);
44
- };
45
42
  this.onCommandModeChangedEmitter = new Emitter();
46
- this.onContentChangedEmitter = new Emitter();
43
+ this.onChangedEmitter = new Emitter();
47
44
  this.onSourceChangedEmitter = new Emitter();
45
+ this.onCellContentChangedEmitter = new Emitter();
48
46
  this.id = void 0;
49
47
  /**
50
48
  * The shared notebook model.
@@ -106,11 +104,13 @@ export var LibroModel = (_dec = transient(), _dec2 = inject(NotebookOption), _de
106
104
  }
107
105
  });
108
106
  } else if (delta.delete !== null && delta.delete !== undefined) {
107
+ var _cellViews = _this.cells.slice(currpos, currpos + delta.delete);
109
108
  _this.removeRange(currpos, currpos + delta.delete);
110
109
  _this.cellViewChangeEmitter.fire({
111
110
  delete: {
112
111
  index: currpos,
113
- number: delta.delete
112
+ number: delta.delete,
113
+ cells: _cellViews
114
114
  }
115
115
  });
116
116
  } else if (delta.retain !== null && delta.retain !== undefined) {
@@ -294,15 +294,25 @@ export var LibroModel = (_dec = transient(), _dec2 = inject(NotebookOption), _de
294
294
  return this.onCommandModeChangedEmitter.event;
295
295
  }
296
296
  }, {
297
- key: "onContentChanged",
297
+ key: "onChanged",
298
298
  get: function get() {
299
- return this.onContentChangedEmitter.event;
299
+ return this.onChangedEmitter.event;
300
300
  }
301
301
  }, {
302
302
  key: "onSourceChanged",
303
303
  get: function get() {
304
304
  return this.onSourceChangedEmitter.event;
305
305
  }
306
+ }, {
307
+ key: "onCellContentChanged",
308
+ get: function get() {
309
+ return this.onCellContentChangedEmitter.event;
310
+ }
311
+ }, {
312
+ key: "onCellContentChange",
313
+ value: function onCellContentChange(change) {
314
+ this.onCellContentChangedEmitter.fire(change);
315
+ }
306
316
  }, {
307
317
  key: "getCells",
308
318
  value: function getCells() {
@@ -374,15 +384,11 @@ export var LibroModel = (_dec = transient(), _dec2 = inject(NotebookOption), _de
374
384
  _this2.sharedModel.deleteCellRange(0, _this2.sharedModel.cells.length);
375
385
  });
376
386
  }
377
-
378
- /**
379
- * cell list change or cell content change
380
- */
381
387
  }, {
382
388
  key: "onChange",
383
389
  value: function onChange() {
384
390
  this.dirty = true;
385
- this.onContentChangedEmitter.fire(true);
391
+ this.onChangedEmitter.fire(true);
386
392
  }
387
393
  }, {
388
394
  key: "onSourceChange",
@@ -496,12 +502,24 @@ export var LibroModel = (_dec = transient(), _dec2 = inject(NotebookOption), _de
496
502
  */
497
503
  function scrollToView(cell) {
498
504
  var _target, _target2, _target7;
505
+ var cellOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
506
+ var virtualizedManager = this.virtualizedManagerHelper.getOrCreate(this);
507
+ if (virtualizedManager.isVirtualized) {
508
+ var cellIndex = this.cells.findIndex(function (_cell) {
509
+ return _cell.id === cell.id;
510
+ });
511
+ this.scrollToCellViewEmitter.fire({
512
+ cellIndex: cellIndex,
513
+ cellOffset: cellOffset
514
+ });
515
+ return;
516
+ }
499
517
  var target = document.getElementById(cell.id);
500
518
  if (!target) {
501
519
  return;
502
520
  }
503
521
  var _targetheight = ((_target = target) === null || _target === void 0 ? void 0 : _target.offsetHeight) || 0;
504
- var offsetTop = ((_target2 = target) === null || _target2 === void 0 ? void 0 : _target2.offsetTop) || 0;
522
+ var offsetTop = (((_target2 = target) === null || _target2 === void 0 ? void 0 : _target2.offsetTop) || 0) + cellOffset;
505
523
  while ((_target3 = target) !== null && _target3 !== void 0 && _target3.offsetParent && !((_target4 = target) !== null && _target4 !== void 0 && (_target4 = _target4.offsetParent) !== null && _target4 !== void 0 && (_target4 = _target4.className) !== null && _target4 !== void 0 && _target4.includes('libro-view-content-left'))) {
506
524
  var _target3, _target4, _target5, _target6;
507
525
  target = (_target5 = target) === null || _target5 === void 0 ? void 0 : _target5.offsetParent;
@@ -648,16 +666,9 @@ export var LibroModel = (_dec = transient(), _dec2 = inject(NotebookOption), _de
648
666
  cells.splice(sourceIndex, 1);
649
667
  cells.splice(targetIndex, 0, sourceItem);
650
668
  this.cells = cells;
651
- var virtualizedManager = this.virtualizedManagerHelper.getOrCreate(this);
652
669
  setTimeout(function () {
653
670
  // 上下移动也需要调整可视区域范围
654
- if (virtualizedManager.isVirtualized) {
655
- _this6.scrollToCellView({
656
- cellIndex: sourceIndex
657
- });
658
- } else {
659
- _this6.scrollToView(sourceItem);
660
- }
671
+ _this6.scrollToView(sourceItem);
661
672
  }, 300);
662
673
  return true;
663
674
  }
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" resolution-mode="require"/>
2
- import type { IModel } from '@difizen/libro-code-editor';
2
+ import type { IModel, IModelContentChange } from '@difizen/libro-code-editor';
3
3
  import type { CellType, ICell, ICellMetadata, INotebookContent, INotebookMetadata } from '@difizen/libro-common';
4
4
  import type { ISharedNotebook } from '@difizen/libro-shared-model';
5
5
  import type { Disposable, Event } from '@difizen/mana-app';
@@ -45,9 +45,13 @@ export type Options = {
45
45
  };
46
46
  export interface ScrollParams {
47
47
  cellIndex: number;
48
- lineIndex?: number;
48
+ cellOffset?: number;
49
49
  }
50
50
  export type NotebookModel = BaseNotebookModel & DndListModel;
51
+ export interface ICellContentChange {
52
+ cell: CellView;
53
+ changes: IModelContentChange[];
54
+ }
51
55
  export interface BaseNotebookModel {
52
56
  id: string;
53
57
  /**
@@ -77,9 +81,22 @@ export interface BaseNotebookModel {
77
81
  commandMode: boolean;
78
82
  trusted: boolean;
79
83
  onCommandModeChanged: Event<boolean>;
80
- onContentChanged: Event<boolean>;
84
+ /**
85
+ * all changes
86
+ */
87
+ onChanged: Event<boolean>;
88
+ /**
89
+ * cell content & type
90
+ */
81
91
  onSourceChanged: Event<boolean>;
92
+ /**
93
+ * cell create & delete
94
+ */
82
95
  onCellViewChanged: Event<CellViewChange>;
96
+ /**
97
+ * cell content change detail
98
+ */
99
+ onCellContentChanged: Event<ICellContentChange>;
83
100
  getCells: () => CellView[];
84
101
  /**
85
102
  * Serialize the model to a string.
@@ -130,8 +147,13 @@ export interface BaseNotebookModel {
130
147
  */
131
148
  enterCommandMode?: () => void;
132
149
  enterEditMode?: () => void;
150
+ /**
151
+ * all changes: cell value\cell type\cell output\ cell executecount\ cell or notebook metadata\cell create & delete
152
+ * @returns
153
+ */
133
154
  onChange?: () => void;
134
- onSourceChange?: () => void;
155
+ onSourceChange?: (cells: CellView[]) => void;
156
+ onCellContentChange: (changes: ICellContentChange) => void;
135
157
  interrupt?: () => void;
136
158
  canRun?: () => boolean;
137
159
  restart?: () => void;
@@ -139,13 +161,12 @@ export interface BaseNotebookModel {
139
161
  undo: () => void;
140
162
  redo: () => void;
141
163
  readonly sharedModel: ISharedNotebook;
142
- scrollToView: (cell: CellView) => void;
164
+ scrollToView: (cell: CellView, cellOffset?: number) => void;
143
165
  customParams: Record<string, any>;
144
166
  getCustomKey: (key: string) => any;
145
167
  setCustomKey: (key: string, val: any) => void;
146
168
  libroViewClass: string;
147
169
  onScrollToCellView: Event<ScrollParams>;
148
- scrollToCellView: (params: ScrollParams) => void;
149
170
  disposeScrollToCellViewEmitter: () => void;
150
171
  }
151
172
  export declare const notebookViewFactoryId = "notebook-view-factory";
@@ -201,6 +222,7 @@ export interface CellViewChange {
201
222
  delete?: {
202
223
  index: number;
203
224
  number: number;
225
+ cells: CellView[];
204
226
  };
205
227
  }
206
228
  export interface CellModel extends IModel, Disposable {
@@ -1 +1 @@
1
- {"version":3,"file":"libro-protocol.d.ts","sourceRoot":"","sources":["../src/libro-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libro-protocol.d.ts","sourceRoot":"","sources":["../src/libro-protocol.ts"],"names":[],"mappings":"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"}