@deephaven/grid 0.4.1-modules.0 → 0.5.2-beta.0

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 (74) hide show
  1. package/dist/CellInputField.js +88 -40
  2. package/dist/CellInputField.js.map +1 -1
  3. package/dist/Grid.js +1484 -1449
  4. package/dist/Grid.js.map +1 -1
  5. package/dist/GridColorUtils.js +51 -18
  6. package/dist/GridColorUtils.js.map +1 -1
  7. package/dist/GridMetricCalculator.js +994 -1017
  8. package/dist/GridMetricCalculator.js.map +1 -1
  9. package/dist/GridModel.js +286 -171
  10. package/dist/GridModel.js.map +1 -1
  11. package/dist/GridMouseHandler.js +59 -39
  12. package/dist/GridMouseHandler.js.map +1 -1
  13. package/dist/GridRange.js +630 -572
  14. package/dist/GridRange.js.map +1 -1
  15. package/dist/GridRenderer.d.ts.map +1 -1
  16. package/dist/GridRenderer.js +1564 -1650
  17. package/dist/GridRenderer.js.map +1 -1
  18. package/dist/GridTestUtils.js +29 -15
  19. package/dist/GridTestUtils.js.map +1 -1
  20. package/dist/GridUtils.js +717 -679
  21. package/dist/GridUtils.js.map +1 -1
  22. package/dist/KeyHandler.js +18 -6
  23. package/dist/KeyHandler.js.map +1 -1
  24. package/dist/MockGridModel.js +210 -105
  25. package/dist/MockGridModel.js.map +1 -1
  26. package/dist/MockTreeGridModel.js +183 -113
  27. package/dist/MockTreeGridModel.js.map +1 -1
  28. package/dist/errors/PasteError.js +44 -5
  29. package/dist/errors/PasteError.js.map +1 -1
  30. package/dist/errors/index.js +1 -1
  31. package/dist/errors/index.js.map +1 -1
  32. package/dist/index.js +15 -15
  33. package/dist/index.js.map +1 -1
  34. package/dist/key-handlers/EditKeyHandler.js +75 -42
  35. package/dist/key-handlers/EditKeyHandler.js.map +1 -1
  36. package/dist/key-handlers/PasteKeyHandler.js +78 -42
  37. package/dist/key-handlers/PasteKeyHandler.js.map +1 -1
  38. package/dist/key-handlers/SelectionKeyHandler.js +234 -220
  39. package/dist/key-handlers/SelectionKeyHandler.js.map +1 -1
  40. package/dist/key-handlers/TreeKeyHandler.js +72 -42
  41. package/dist/key-handlers/TreeKeyHandler.js.map +1 -1
  42. package/dist/key-handlers/index.js +4 -4
  43. package/dist/key-handlers/index.js.map +1 -1
  44. package/dist/memoizeClear.js +1 -1
  45. package/dist/memoizeClear.js.map +1 -1
  46. package/dist/mouse-handlers/EditMouseHandler.js +50 -18
  47. package/dist/mouse-handlers/EditMouseHandler.js.map +1 -1
  48. package/dist/mouse-handlers/GridColumnMoveMouseHandler.js +163 -141
  49. package/dist/mouse-handlers/GridColumnMoveMouseHandler.js.map +1 -1
  50. package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js +86 -47
  51. package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js.map +1 -1
  52. package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.d.ts.map +1 -1
  53. package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js +171 -143
  54. package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js.map +1 -1
  55. package/dist/mouse-handlers/GridRowMoveMouseHandler.js +147 -125
  56. package/dist/mouse-handlers/GridRowMoveMouseHandler.js.map +1 -1
  57. package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js +86 -47
  58. package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js.map +1 -1
  59. package/dist/mouse-handlers/GridRowTreeMouseHandler.js +76 -46
  60. package/dist/mouse-handlers/GridRowTreeMouseHandler.js.map +1 -1
  61. package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.d.ts.map +1 -1
  62. package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.js +62 -31
  63. package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.js.map +1 -1
  64. package/dist/mouse-handlers/GridSelectionMouseHandler.js +222 -200
  65. package/dist/mouse-handlers/GridSelectionMouseHandler.js.map +1 -1
  66. package/dist/mouse-handlers/GridSeparatorMouseHandler.js +253 -206
  67. package/dist/mouse-handlers/GridSeparatorMouseHandler.js.map +1 -1
  68. package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.d.ts.map +1 -1
  69. package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js +172 -144
  70. package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js.map +1 -1
  71. package/dist/mouse-handlers/index.js +10 -10
  72. package/dist/mouse-handlers/index.js.map +1 -1
  73. package/dist/tsconfig.tsbuildinfo +1 -1
  74. package/package.json +4 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MockGridModel.js"],"names":["GridModel","GridRange","MockGridModel","constructor","rowCount","columnCount","floatingTopRowCount","floatingBottomRowCount","floatingLeftColumnCount","floatingRightColumnCount","isEditable","numRows","numColumns","floatingTop","floatingBottom","floatingLeft","floatingRight","editedData","editable","textForCell","column","row","colorForCell","theme","textColor","textForColumnHeader","textForRowHeader","textForRowFooter","setValueForCell","x","y","value","setValueForRanges","ranges","text","forEachCell","setValues","edits","i","length","edit","editValueForCell","isValidForCell"],"mappings":"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","sourcesContent":["/* eslint class-methods-use-this: \"off\" */\n/* eslint no-unused-vars: \"off\" */\nimport GridModel from './GridModel';\nimport GridRange from './GridRange';\n\nclass MockGridModel extends GridModel {\n constructor({\n rowCount = 1000000000,\n columnCount = 100,\n floatingTopRowCount = 0,\n floatingBottomRowCount = 0,\n floatingLeftColumnCount = 0,\n floatingRightColumnCount = 0,\n isEditable = false,\n } = {}) {\n super();\n\n this.numRows = rowCount;\n this.numColumns = columnCount;\n this.floatingTop = floatingTopRowCount;\n this.floatingBottom = floatingBottomRowCount;\n this.floatingLeft = floatingLeftColumnCount;\n this.floatingRight = floatingRightColumnCount;\n this.editedData = [];\n this.editable = isEditable;\n }\n\n get rowCount() {\n return this.numRows;\n }\n\n get columnCount() {\n return this.numColumns;\n }\n\n get floatingTopRowCount() {\n return this.floatingTop;\n }\n\n get floatingBottomRowCount() {\n return this.floatingBottom;\n }\n\n get floatingLeftColumnCount() {\n return this.floatingLeft;\n }\n\n get floatingRightColumnCount() {\n return this.floatingRight;\n }\n\n get isEditable() {\n return this.editable;\n }\n\n textForCell(column, row) {\n return this.editedData[column]?.[row] ?? `${column},${row}`;\n }\n\n colorForCell(column, row, theme) {\n return theme.textColor;\n }\n\n textForColumnHeader(column) {\n return `${column}`;\n }\n\n textForRowHeader(row) {\n return `${row}`;\n }\n\n textForRowFooter(row) {\n return `${row}`;\n }\n\n async setValueForCell(x, y, value) {\n if (this.editedData[x] == null) {\n this.editedData[x] = [];\n }\n this.editedData[x][y] = `${value}`;\n }\n\n async setValueForRanges(ranges, text) {\n GridRange.forEachCell(ranges, (x, y) => {\n this.setValueForCell(x, y, text);\n });\n }\n\n async setValues(edits) {\n for (let i = 0; i < edits.length; i += 1) {\n const edit = edits[i];\n this.setValueForCell(edit.x, edit.y, edit.text);\n }\n }\n\n editValueForCell(x, y) {\n return this.textForCell(x, y);\n }\n\n isValidForCell(x, y, value) {\n return true;\n }\n}\n\nexport default MockGridModel;\n"],"file":"MockGridModel.js"}
1
+ {"version":3,"sources":["../src/MockGridModel.js"],"names":["GridModel","GridRange","MockGridModel","rowCount","columnCount","floatingTopRowCount","floatingBottomRowCount","floatingLeftColumnCount","floatingRightColumnCount","isEditable","numRows","numColumns","floatingTop","floatingBottom","floatingLeft","floatingRight","editedData","editable","column","row","theme","textColor","x","y","value","ranges","text","forEachCell","setValueForCell","edits","i","length","edit","textForCell"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;AACA,OAAOA,SAAP,MAAsB,aAAtB;AACA,OAAOC,SAAP,MAAsB,aAAtB;;IAEMC,a;;;;;AACJ,2BAQQ;AAAA;;AAAA,mFAAJ,EAAI;AAAA,6BAPNC,QAOM;AAAA,QAPNA,QAOM,8BAPK,UAOL;AAAA,gCANNC,WAMM;AAAA,QANNA,WAMM,iCANQ,GAMR;AAAA,qCALNC,mBAKM;AAAA,QALNA,mBAKM,sCALgB,CAKhB;AAAA,qCAJNC,sBAIM;AAAA,QAJNA,sBAIM,sCAJmB,CAInB;AAAA,qCAHNC,uBAGM;AAAA,QAHNA,uBAGM,sCAHoB,CAGpB;AAAA,qCAFNC,wBAEM;AAAA,QAFNA,wBAEM,sCAFqB,CAErB;AAAA,+BADNC,UACM;AAAA,QADNA,UACM,gCADO,KACP;;AAAA;;AACN;AAEA,UAAKC,OAAL,GAAeP,QAAf;AACA,UAAKQ,UAAL,GAAkBP,WAAlB;AACA,UAAKQ,WAAL,GAAmBP,mBAAnB;AACA,UAAKQ,cAAL,GAAsBP,sBAAtB;AACA,UAAKQ,YAAL,GAAoBP,uBAApB;AACA,UAAKQ,aAAL,GAAqBP,wBAArB;AACA,UAAKQ,UAAL,GAAkB,EAAlB;AACA,UAAKC,QAAL,GAAgBR,UAAhB;AAVM;AAWP;;;;SAED,eAAe;AACb,aAAO,KAAKC,OAAZ;AACD;;;SAED,eAAkB;AAChB,aAAO,KAAKC,UAAZ;AACD;;;SAED,eAA0B;AACxB,aAAO,KAAKC,WAAZ;AACD;;;SAED,eAA6B;AAC3B,aAAO,KAAKC,cAAZ;AACD;;;SAED,eAA8B;AAC5B,aAAO,KAAKC,YAAZ;AACD;;;SAED,eAA+B;AAC7B,aAAO,KAAKC,aAAZ;AACD;;;SAED,eAAiB;AACf,aAAO,KAAKE,QAAZ;AACD;;;WAED,qBAAYC,MAAZ,EAAoBC,GAApB,EAAyB;AAAA;;AACvB,gEAAO,KAAKH,UAAL,CAAgBE,MAAhB,CAAP,2DAAO,uBAA0BC,GAA1B,CAAP,mFAA4CD,MAA5C,cAAsDC,GAAtD;AACD;;;WAED,sBAAaD,MAAb,EAAqBC,GAArB,EAA0BC,KAA1B,EAAiC;AAC/B,aAAOA,KAAK,CAACC,SAAb;AACD;;;WAED,6BAAoBH,MAApB,EAA4B;AAC1B,uBAAUA,MAAV;AACD;;;WAED,0BAAiBC,GAAjB,EAAsB;AACpB,uBAAUA,GAAV;AACD;;;WAED,0BAAiBA,GAAjB,EAAsB;AACpB,uBAAUA,GAAV;AACD;;;;qFAED,iBAAsBG,CAAtB,EAAyBC,CAAzB,EAA4BC,KAA5B;AAAA;AAAA;AAAA;AAAA;AACE,oBAAI,KAAKR,UAAL,CAAgBM,CAAhB,KAAsB,IAA1B,EAAgC;AAC9B,uBAAKN,UAAL,CAAgBM,CAAhB,IAAqB,EAArB;AACD;;AACD,qBAAKN,UAAL,CAAgBM,CAAhB,EAAmBC,CAAnB,cAA2BC,KAA3B;;AAJF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;uFAOA,kBAAwBC,MAAxB,EAAgCC,IAAhC;AAAA;;AAAA;AAAA;AAAA;AAAA;AACEzB,gBAAAA,SAAS,CAAC0B,WAAV,CAAsBF,MAAtB,EAA8B,UAACH,CAAD,EAAIC,CAAJ,EAAU;AACtC,kBAAA,MAAI,CAACK,eAAL,CAAqBN,CAArB,EAAwBC,CAAxB,EAA2BG,IAA3B;AACD,iBAFD;;AADF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+EAMA,kBAAgBG,KAAhB;AAAA;AAAA;AAAA;AAAA;AAAA;AACE,qBAASC,CAAT,GAAa,CAAb,EAAgBA,CAAC,GAAGD,KAAK,CAACE,MAA1B,EAAkCD,CAAC,IAAI,CAAvC,EAA0C;AAClCE,kBAAAA,IADkC,GAC3BH,KAAK,CAACC,CAAD,CADsB;AAExC,uBAAKF,eAAL,CAAqBI,IAAI,CAACV,CAA1B,EAA6BU,IAAI,CAACT,CAAlC,EAAqCS,IAAI,CAACN,IAA1C;AACD;;AAJH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAOA,0BAAiBJ,CAAjB,EAAoBC,CAApB,EAAuB;AACrB,aAAO,KAAKU,WAAL,CAAiBX,CAAjB,EAAoBC,CAApB,CAAP;AACD;;;WAED,wBAAeD,CAAf,EAAkBC,CAAlB,EAAqBC,KAArB,EAA4B;AAC1B,aAAO,IAAP;AACD;;;;EAhGyBxB,S;;AAmG5B,eAAeE,aAAf","sourcesContent":["/* eslint class-methods-use-this: \"off\" */\n/* eslint no-unused-vars: \"off\" */\nimport GridModel from './GridModel';\nimport GridRange from './GridRange';\n\nclass MockGridModel extends GridModel {\n constructor({\n rowCount = 1000000000,\n columnCount = 100,\n floatingTopRowCount = 0,\n floatingBottomRowCount = 0,\n floatingLeftColumnCount = 0,\n floatingRightColumnCount = 0,\n isEditable = false,\n } = {}) {\n super();\n\n this.numRows = rowCount;\n this.numColumns = columnCount;\n this.floatingTop = floatingTopRowCount;\n this.floatingBottom = floatingBottomRowCount;\n this.floatingLeft = floatingLeftColumnCount;\n this.floatingRight = floatingRightColumnCount;\n this.editedData = [];\n this.editable = isEditable;\n }\n\n get rowCount() {\n return this.numRows;\n }\n\n get columnCount() {\n return this.numColumns;\n }\n\n get floatingTopRowCount() {\n return this.floatingTop;\n }\n\n get floatingBottomRowCount() {\n return this.floatingBottom;\n }\n\n get floatingLeftColumnCount() {\n return this.floatingLeft;\n }\n\n get floatingRightColumnCount() {\n return this.floatingRight;\n }\n\n get isEditable() {\n return this.editable;\n }\n\n textForCell(column, row) {\n return this.editedData[column]?.[row] ?? `${column},${row}`;\n }\n\n colorForCell(column, row, theme) {\n return theme.textColor;\n }\n\n textForColumnHeader(column) {\n return `${column}`;\n }\n\n textForRowHeader(row) {\n return `${row}`;\n }\n\n textForRowFooter(row) {\n return `${row}`;\n }\n\n async setValueForCell(x, y, value) {\n if (this.editedData[x] == null) {\n this.editedData[x] = [];\n }\n this.editedData[x][y] = `${value}`;\n }\n\n async setValueForRanges(ranges, text) {\n GridRange.forEachCell(ranges, (x, y) => {\n this.setValueForCell(x, y, text);\n });\n }\n\n async setValues(edits) {\n for (let i = 0; i < edits.length; i += 1) {\n const edit = edits[i];\n this.setValueForCell(edit.x, edit.y, edit.text);\n }\n }\n\n editValueForCell(x, y) {\n return this.textForCell(x, y);\n }\n\n isValidForCell(x, y, value) {\n return true;\n }\n}\n\nexport default MockGridModel;\n"],"file":"MockGridModel.js"}
@@ -1,43 +1,105 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
2
+
3
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
+
5
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
6
+
7
+ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
8
+
9
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
10
+
11
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
12
+
13
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
+
15
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
+
17
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
18
+
19
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
20
+
21
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
22
+
23
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
24
+
25
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
26
+
27
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
28
+
29
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
30
+
31
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
32
+
33
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
34
+
35
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
36
+
37
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
38
+
39
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
40
+
41
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
42
+
1
43
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
44
 
3
45
  /* eslint class-methods-use-this: "off" */
4
46
 
5
47
  /* eslint no-unused-vars: "off" */
6
- import MockGridModel from "./MockGridModel.js";
7
- import memoizeClear from "./memoizeClear.js";
48
+ import MockGridModel from './MockGridModel';
49
+ import memoizeClear from './memoizeClear';
8
50
  /**
9
51
  * A class to mock a tree model so can test out tree models.
10
52
  * Whenever a row is expanded, it creates a child model for that row, which can then make a child for those rows, etc.
11
53
  */
12
54
 
13
- class MockTreeGridModel extends MockGridModel {
55
+ var MockTreeGridModel = /*#__PURE__*/function (_MockGridModel) {
56
+ _inherits(MockTreeGridModel, _MockGridModel);
57
+
58
+ var _super = _createSuper(MockTreeGridModel);
59
+
14
60
  /** How many rows a child tree should have related to the parent. Eg. if parent has 10000 rows, child will have 100 */
15
- constructor() {
16
- var {
17
- rowCount = MockTreeGridModel.DEFAULT_ROW_COUNT,
18
- columnCount = MockTreeGridModel.DEFAULT_COLUMN_COUNT,
19
- children: _children = new Map(),
20
- childRowCount: _childRowCount = Math.ceil(Math.max(MockTreeGridModel.MIN_CHILD_ROW_COUNT, rowCount * MockTreeGridModel.DEFAULT_CHILD_ROW_COUNT_FACTOR)),
21
- maxDepth: _maxDepth = MockTreeGridModel.MAX_DEPTH,
22
- movedColumns = [],
23
- movedRows = [],
24
- columnFormatMap = new Map()
25
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
26
- super({
27
- rowCount,
28
- columnCount,
29
- movedColumns,
30
- movedRows
61
+ function MockTreeGridModel() {
62
+ var _this;
63
+
64
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
65
+ _ref$rowCount = _ref.rowCount,
66
+ rowCount = _ref$rowCount === void 0 ? MockTreeGridModel.DEFAULT_ROW_COUNT : _ref$rowCount,
67
+ _ref$columnCount = _ref.columnCount,
68
+ columnCount = _ref$columnCount === void 0 ? MockTreeGridModel.DEFAULT_COLUMN_COUNT : _ref$columnCount,
69
+ _ref$children = _ref.children,
70
+ _children = _ref$children === void 0 ? new Map() : _ref$children,
71
+ _ref$childRowCount = _ref.childRowCount,
72
+ _childRowCount = _ref$childRowCount === void 0 ? Math.ceil(Math.max(MockTreeGridModel.MIN_CHILD_ROW_COUNT, rowCount * MockTreeGridModel.DEFAULT_CHILD_ROW_COUNT_FACTOR)) : _ref$childRowCount,
73
+ _ref$maxDepth = _ref.maxDepth,
74
+ _maxDepth = _ref$maxDepth === void 0 ? MockTreeGridModel.MAX_DEPTH : _ref$maxDepth,
75
+ _ref$movedColumns = _ref.movedColumns,
76
+ movedColumns = _ref$movedColumns === void 0 ? [] : _ref$movedColumns,
77
+ _ref$movedRows = _ref.movedRows,
78
+ movedRows = _ref$movedRows === void 0 ? [] : _ref$movedRows,
79
+ _ref$columnFormatMap = _ref.columnFormatMap,
80
+ columnFormatMap = _ref$columnFormatMap === void 0 ? new Map() : _ref$columnFormatMap;
81
+
82
+ _classCallCheck(this, MockTreeGridModel);
83
+
84
+ _this = _super.call(this, {
85
+ rowCount: rowCount,
86
+ columnCount: columnCount,
87
+ movedColumns: movedColumns,
88
+ movedRows: movedRows
31
89
  });
32
90
 
33
- _defineProperty(this, "getCachedModelRowOffset", memoizeClear((children, row) => {
91
+ _defineProperty(_assertThisInitialized(_this), "getCachedModelRowOffset", memoizeClear(function (children, row) {
34
92
  var key = null;
35
93
  var offsetRow = row; // Need to iterate through the map in order... sort it first
36
94
 
37
- var sortedEntries = [...children].sort((a, b) => a[0] - b[0]);
95
+ var sortedEntries = _toConsumableArray(children).sort(function (a, b) {
96
+ return a[0] - b[0];
97
+ });
38
98
 
39
99
  for (var i = 0; i < sortedEntries.length; i += 1) {
40
- var [childRow, childModel] = sortedEntries[i];
100
+ var _sortedEntries$i = _slicedToArray(sortedEntries[i], 2),
101
+ childRow = _sortedEntries$i[0],
102
+ childModel = _sortedEntries$i[1];
41
103
 
42
104
  if (offsetRow <= childRow) {
43
105
  break;
@@ -55,16 +117,15 @@ class MockTreeGridModel extends MockGridModel {
55
117
  }
56
118
 
57
119
  return {
58
- key,
59
- offsetRow
120
+ key: key,
121
+ offsetRow: offsetRow
60
122
  };
61
123
  }));
62
124
 
63
- _defineProperty(this, "getCachedTextForRowHeader", memoizeClear((children, row) => {
64
- var {
65
- key,
66
- offsetRow
67
- } = this.getCachedModelRowOffset(children, row);
125
+ _defineProperty(_assertThisInitialized(_this), "getCachedTextForRowHeader", memoizeClear(function (children, row) {
126
+ var _this$getCachedModelR = _this.getCachedModelRowOffset(children, row),
127
+ key = _this$getCachedModelR.key,
128
+ offsetRow = _this$getCachedModelR.offsetRow;
68
129
 
69
130
  if (key != null) {
70
131
  var model = children.get(key);
@@ -74,11 +135,10 @@ class MockTreeGridModel extends MockGridModel {
74
135
  return "".concat(offsetRow);
75
136
  }));
76
137
 
77
- _defineProperty(this, "getCachedTextForCell", memoizeClear((children, column, row) => {
78
- var {
79
- key,
80
- offsetRow
81
- } = this.getCachedModelRowOffset(children, row);
138
+ _defineProperty(_assertThisInitialized(_this), "getCachedTextForCell", memoizeClear(function (children, column, row) {
139
+ var _this$getCachedModelR2 = _this.getCachedModelRowOffset(children, row),
140
+ key = _this$getCachedModelR2.key,
141
+ offsetRow = _this$getCachedModelR2.offsetRow;
82
142
 
83
143
  if (key != null) {
84
144
  var model = children.get(key);
@@ -88,16 +148,16 @@ class MockTreeGridModel extends MockGridModel {
88
148
  return "".concat(column, ",").concat(offsetRow);
89
149
  }));
90
150
 
91
- _defineProperty(this, "getCachedIsRowExpandable", memoizeClear((children, row, maxDepth) => {
92
- var depth = this.getCachedDepthForRow(children, row);
151
+ _defineProperty(_assertThisInitialized(_this), "getCachedIsRowExpandable", memoizeClear(function (children, row, maxDepth) {
152
+ var depth = _this.getCachedDepthForRow(children, row);
153
+
93
154
  return depth < maxDepth;
94
155
  }));
95
156
 
96
- _defineProperty(this, "getCachedIsRowExpanded", memoizeClear((children, row) => {
97
- var {
98
- key,
99
- offsetRow
100
- } = this.getCachedModelRowOffset(children, row);
157
+ _defineProperty(_assertThisInitialized(_this), "getCachedIsRowExpanded", memoizeClear(function (children, row) {
158
+ var _this$getCachedModelR3 = _this.getCachedModelRowOffset(children, row),
159
+ key = _this$getCachedModelR3.key,
160
+ offsetRow = _this$getCachedModelR3.offsetRow;
101
161
 
102
162
  if (key != null) {
103
163
  var model = children.get(key);
@@ -107,11 +167,10 @@ class MockTreeGridModel extends MockGridModel {
107
167
  return children.has(offsetRow);
108
168
  }));
109
169
 
110
- _defineProperty(this, "getCachedDepthForRow", memoizeClear((children, row) => {
111
- var {
112
- key,
113
- offsetRow
114
- } = this.getCachedModelRowOffset(children, row);
170
+ _defineProperty(_assertThisInitialized(_this), "getCachedDepthForRow", memoizeClear(function (children, row) {
171
+ var _this$getCachedModelR4 = _this.getCachedModelRowOffset(children, row),
172
+ key = _this$getCachedModelR4.key,
173
+ offsetRow = _this$getCachedModelR4.offsetRow;
115
174
 
116
175
  if (key != null) {
117
176
  var model = children.get(key);
@@ -121,82 +180,93 @@ class MockTreeGridModel extends MockGridModel {
121
180
  return 0;
122
181
  }));
123
182
 
124
- this.children = _children;
125
- this.childRowCount = _childRowCount;
126
- this.maxDepth = _maxDepth;
127
- this.formatMap = columnFormatMap;
183
+ _this.children = _children;
184
+ _this.childRowCount = _childRowCount;
185
+ _this.maxDepth = _maxDepth;
186
+ _this.formatMap = columnFormatMap;
187
+ return _this;
128
188
  }
129
189
 
130
- textForCell(column, row) {
131
- return this.getCachedTextForCell(this.children, column, row);
132
- }
133
-
134
- textForRowHeader(row) {
135
- return this.getCachedTextForRowHeader(this.children, row);
136
- }
137
-
138
- isRowMovable(row) {
139
- return false;
140
- }
141
-
142
- get hasExpandableRows() {
143
- return true;
144
- }
190
+ _createClass(MockTreeGridModel, [{
191
+ key: "textForCell",
192
+ value: function textForCell(column, row) {
193
+ return this.getCachedTextForCell(this.children, column, row);
194
+ }
195
+ }, {
196
+ key: "textForRowHeader",
197
+ value: function textForRowHeader(row) {
198
+ return this.getCachedTextForRowHeader(this.children, row);
199
+ }
200
+ }, {
201
+ key: "isRowMovable",
202
+ value: function isRowMovable(row) {
203
+ return false;
204
+ }
205
+ }, {
206
+ key: "hasExpandableRows",
207
+ get: function get() {
208
+ return true;
209
+ }
210
+ }, {
211
+ key: "floatingBottomRowCount",
212
+ get: function get() {
213
+ return 0;
214
+ }
215
+ }, {
216
+ key: "isRowExpandable",
217
+ value: function isRowExpandable(row) {
218
+ return this.getCachedIsRowExpandable(this.children, row, this.maxDepth);
219
+ }
220
+ }, {
221
+ key: "isRowExpanded",
222
+ value: function isRowExpanded(row) {
223
+ return this.getCachedIsRowExpanded(this.children, row);
224
+ }
225
+ }, {
226
+ key: "setRowExpanded",
227
+ value: function setRowExpanded(row, isExpanded) {
228
+ var _this$getCachedModelR5 = this.getCachedModelRowOffset(this.children, row),
229
+ key = _this$getCachedModelR5.key,
230
+ offsetRow = _this$getCachedModelR5.offsetRow; // We always set a new map so that our memoize functions work properly
145
231
 
146
- get floatingBottomRowCount() {
147
- return 0;
148
- }
149
232
 
150
- isRowExpandable(row) {
151
- return this.getCachedIsRowExpandable(this.children, row, this.maxDepth);
152
- }
233
+ var children = new Map(this.children);
153
234
 
154
- isRowExpanded(row) {
155
- return this.getCachedIsRowExpanded(this.children, row);
156
- }
235
+ if (key != null) {
236
+ var model = this.children.get(key);
237
+ var originalChildRowCount = model.rowCount;
238
+ model.setRowExpanded(offsetRow, isExpanded);
239
+ this.numRows += model.rowCount - originalChildRowCount;
240
+ } else if (!isExpanded) {
241
+ var childModel = children.get(offsetRow);
242
+ this.numRows -= childModel.rowCount;
243
+ children["delete"](offsetRow);
244
+ } else {
245
+ var child = new MockTreeGridModel({
246
+ rowCount: this.childRowCount,
247
+ columnCount: this.numColumns
248
+ });
249
+ children.set(offsetRow, child);
250
+ this.numRows += child.rowCount;
251
+ }
157
252
 
158
- setRowExpanded(row, isExpanded) {
159
- var {
160
- key,
161
- offsetRow
162
- } = this.getCachedModelRowOffset(this.children, row); // We always set a new map so that our memoize functions work properly
163
-
164
- var children = new Map(this.children);
165
-
166
- if (key != null) {
167
- var model = this.children.get(key);
168
- var {
169
- rowCount: originalChildRowCount
170
- } = model;
171
- model.setRowExpanded(offsetRow, isExpanded);
172
- this.numRows += model.rowCount - originalChildRowCount;
173
- } else if (!isExpanded) {
174
- var childModel = children.get(offsetRow);
175
- this.numRows -= childModel.rowCount;
176
- children.delete(offsetRow);
177
- } else {
178
- var child = new MockTreeGridModel({
179
- rowCount: this.childRowCount,
180
- columnCount: this.numColumns
181
- });
182
- children.set(offsetRow, child);
183
- this.numRows += child.rowCount;
253
+ this.children = children;
184
254
  }
255
+ }, {
256
+ key: "depthForRow",
257
+ value: function depthForRow(row) {
258
+ return this.getCachedDepthForRow(this.children, row);
259
+ }
260
+ /**
261
+ * Returns the map key and the offsetRow given the provided children and row index.
262
+ * If the returned key is null, then this offset row is within this model.
263
+ * Only returning the key instead of the model so that memoize doesn't cache a bunch of the children models after they've been deleted (collapsed).
264
+ */
185
265
 
186
- this.children = children;
187
- }
188
-
189
- depthForRow(row) {
190
- return this.getCachedDepthForRow(this.children, row);
191
- }
192
- /**
193
- * Returns the map key and the offsetRow given the provided children and row index.
194
- * If the returned key is null, then this offset row is within this model.
195
- * Only returning the key instead of the model so that memoize doesn't cache a bunch of the children models after they've been deleted (collapsed).
196
- */
197
-
266
+ }]);
198
267
 
199
- }
268
+ return MockTreeGridModel;
269
+ }(MockGridModel);
200
270
 
201
271
  _defineProperty(MockTreeGridModel, "DEFAULT_ROW_COUNT", 1000000000);
202
272
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MockTreeGridModel.js"],"names":["MockGridModel","memoizeClear","MockTreeGridModel","constructor","rowCount","DEFAULT_ROW_COUNT","columnCount","DEFAULT_COLUMN_COUNT","children","Map","childRowCount","Math","ceil","max","MIN_CHILD_ROW_COUNT","DEFAULT_CHILD_ROW_COUNT_FACTOR","maxDepth","MAX_DEPTH","movedColumns","movedRows","columnFormatMap","row","key","offsetRow","sortedEntries","sort","a","b","i","length","childRow","childModel","getCachedModelRowOffset","model","get","textForRowHeader","column","textForCell","depth","getCachedDepthForRow","isRowExpanded","has","depthForRow","formatMap","getCachedTextForCell","getCachedTextForRowHeader","isRowMovable","hasExpandableRows","floatingBottomRowCount","isRowExpandable","getCachedIsRowExpandable","getCachedIsRowExpanded","setRowExpanded","isExpanded","originalChildRowCount","numRows","delete","child","numColumns","set"],"mappings":"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","sourcesContent":["/* eslint class-methods-use-this: \"off\" */\n/* eslint no-unused-vars: \"off\" */\nimport MockGridModel from './MockGridModel';\nimport memoizeClear from './memoizeClear';\n\n/**\n * A class to mock a tree model so can test out tree models.\n * Whenever a row is expanded, it creates a child model for that row, which can then make a child for those rows, etc.\n */\nclass MockTreeGridModel extends MockGridModel {\n static DEFAULT_ROW_COUNT = 1000000000;\n\n static DEFAULT_COLUMN_COUNT = 100;\n\n /** How many rows a child tree should have related to the parent. Eg. if parent has 10000 rows, child will have 100 */\n static DEFAULT_CHILD_ROW_COUNT_FACTOR = 0.01;\n\n static MIN_CHILD_ROW_COUNT = 10;\n\n static MAX_DEPTH = 10;\n\n constructor({\n rowCount = MockTreeGridModel.DEFAULT_ROW_COUNT,\n columnCount = MockTreeGridModel.DEFAULT_COLUMN_COUNT,\n children = new Map(),\n childRowCount = Math.ceil(\n Math.max(\n MockTreeGridModel.MIN_CHILD_ROW_COUNT,\n rowCount * MockTreeGridModel.DEFAULT_CHILD_ROW_COUNT_FACTOR\n )\n ),\n maxDepth = MockTreeGridModel.MAX_DEPTH,\n movedColumns = [],\n movedRows = [],\n columnFormatMap = new Map(),\n } = {}) {\n super({ rowCount, columnCount, movedColumns, movedRows });\n\n this.children = children;\n this.childRowCount = childRowCount;\n this.maxDepth = maxDepth;\n this.formatMap = columnFormatMap;\n }\n\n textForCell(column, row) {\n return this.getCachedTextForCell(this.children, column, row);\n }\n\n textForRowHeader(row) {\n return this.getCachedTextForRowHeader(this.children, row);\n }\n\n isRowMovable(row) {\n return false;\n }\n\n get hasExpandableRows() {\n return true;\n }\n\n get floatingBottomRowCount() {\n return 0;\n }\n\n isRowExpandable(row) {\n return this.getCachedIsRowExpandable(this.children, row, this.maxDepth);\n }\n\n isRowExpanded(row) {\n return this.getCachedIsRowExpanded(this.children, row);\n }\n\n setRowExpanded(row, isExpanded) {\n const { key, offsetRow } = this.getCachedModelRowOffset(this.children, row);\n\n // We always set a new map so that our memoize functions work properly\n const children = new Map(this.children);\n if (key != null) {\n const model = this.children.get(key);\n const { rowCount: originalChildRowCount } = model;\n model.setRowExpanded(offsetRow, isExpanded);\n this.numRows += model.rowCount - originalChildRowCount;\n } else if (!isExpanded) {\n const childModel = children.get(offsetRow);\n this.numRows -= childModel.rowCount;\n children.delete(offsetRow);\n } else {\n const child = new MockTreeGridModel({\n rowCount: this.childRowCount,\n columnCount: this.numColumns,\n });\n children.set(offsetRow, child);\n this.numRows += child.rowCount;\n }\n\n this.children = children;\n }\n\n depthForRow(row) {\n return this.getCachedDepthForRow(this.children, row);\n }\n\n /**\n * Returns the map key and the offsetRow given the provided children and row index.\n * If the returned key is null, then this offset row is within this model.\n * Only returning the key instead of the model so that memoize doesn't cache a bunch of the children models after they've been deleted (collapsed).\n */\n getCachedModelRowOffset = memoizeClear((children, row) => {\n let key = null;\n let offsetRow = row;\n // Need to iterate through the map in order... sort it first\n const sortedEntries = [...children].sort((a, b) => a[0] - b[0]);\n for (let i = 0; i < sortedEntries.length; i += 1) {\n const [childRow, childModel] = sortedEntries[i];\n if (offsetRow <= childRow) {\n break;\n }\n const childRowCount = childModel.rowCount;\n if (offsetRow <= childRow + childRowCount) {\n key = childRow;\n offsetRow = offsetRow - childRow - 1;\n break;\n }\n offsetRow -= childRowCount;\n }\n\n return { key, offsetRow };\n });\n\n getCachedTextForRowHeader = memoizeClear((children, row) => {\n const { key, offsetRow } = this.getCachedModelRowOffset(children, row);\n\n if (key != null) {\n const model = children.get(key);\n return `${key}.${model.textForRowHeader(offsetRow)}`;\n }\n\n return `${offsetRow}`;\n });\n\n getCachedTextForCell = memoizeClear((children, column, row) => {\n const { key, offsetRow } = this.getCachedModelRowOffset(children, row);\n\n if (key != null) {\n const model = children.get(key);\n return `${key}.${model.textForCell(column, offsetRow)}`;\n }\n\n return `${column},${offsetRow}`;\n });\n\n getCachedIsRowExpandable = memoizeClear((children, row, maxDepth) => {\n const depth = this.getCachedDepthForRow(children, row);\n\n return depth < maxDepth;\n });\n\n getCachedIsRowExpanded = memoizeClear((children, row) => {\n const { key, offsetRow } = this.getCachedModelRowOffset(children, row);\n\n if (key != null) {\n const model = children.get(key);\n return model.isRowExpanded(offsetRow);\n }\n\n return children.has(offsetRow);\n });\n\n getCachedDepthForRow = memoizeClear((children, row) => {\n const { key, offsetRow } = this.getCachedModelRowOffset(children, row);\n\n if (key != null) {\n const model = children.get(key);\n return model.depthForRow(offsetRow) + 1;\n }\n\n return 0;\n });\n}\n\nexport default MockTreeGridModel;\n"],"file":"MockTreeGridModel.js"}
1
+ {"version":3,"sources":["../src/MockTreeGridModel.js"],"names":["MockGridModel","memoizeClear","MockTreeGridModel","rowCount","DEFAULT_ROW_COUNT","columnCount","DEFAULT_COLUMN_COUNT","children","Map","childRowCount","Math","ceil","max","MIN_CHILD_ROW_COUNT","DEFAULT_CHILD_ROW_COUNT_FACTOR","maxDepth","MAX_DEPTH","movedColumns","movedRows","columnFormatMap","row","key","offsetRow","sortedEntries","sort","a","b","i","length","childRow","childModel","getCachedModelRowOffset","model","get","textForRowHeader","column","textForCell","depth","getCachedDepthForRow","isRowExpanded","has","depthForRow","formatMap","getCachedTextForCell","getCachedTextForRowHeader","getCachedIsRowExpandable","getCachedIsRowExpanded","isExpanded","originalChildRowCount","setRowExpanded","numRows","child","numColumns","set"],"mappings":"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","sourcesContent":["/* eslint class-methods-use-this: \"off\" */\n/* eslint no-unused-vars: \"off\" */\nimport MockGridModel from './MockGridModel';\nimport memoizeClear from './memoizeClear';\n\n/**\n * A class to mock a tree model so can test out tree models.\n * Whenever a row is expanded, it creates a child model for that row, which can then make a child for those rows, etc.\n */\nclass MockTreeGridModel extends MockGridModel {\n static DEFAULT_ROW_COUNT = 1000000000;\n\n static DEFAULT_COLUMN_COUNT = 100;\n\n /** How many rows a child tree should have related to the parent. Eg. if parent has 10000 rows, child will have 100 */\n static DEFAULT_CHILD_ROW_COUNT_FACTOR = 0.01;\n\n static MIN_CHILD_ROW_COUNT = 10;\n\n static MAX_DEPTH = 10;\n\n constructor({\n rowCount = MockTreeGridModel.DEFAULT_ROW_COUNT,\n columnCount = MockTreeGridModel.DEFAULT_COLUMN_COUNT,\n children = new Map(),\n childRowCount = Math.ceil(\n Math.max(\n MockTreeGridModel.MIN_CHILD_ROW_COUNT,\n rowCount * MockTreeGridModel.DEFAULT_CHILD_ROW_COUNT_FACTOR\n )\n ),\n maxDepth = MockTreeGridModel.MAX_DEPTH,\n movedColumns = [],\n movedRows = [],\n columnFormatMap = new Map(),\n } = {}) {\n super({ rowCount, columnCount, movedColumns, movedRows });\n\n this.children = children;\n this.childRowCount = childRowCount;\n this.maxDepth = maxDepth;\n this.formatMap = columnFormatMap;\n }\n\n textForCell(column, row) {\n return this.getCachedTextForCell(this.children, column, row);\n }\n\n textForRowHeader(row) {\n return this.getCachedTextForRowHeader(this.children, row);\n }\n\n isRowMovable(row) {\n return false;\n }\n\n get hasExpandableRows() {\n return true;\n }\n\n get floatingBottomRowCount() {\n return 0;\n }\n\n isRowExpandable(row) {\n return this.getCachedIsRowExpandable(this.children, row, this.maxDepth);\n }\n\n isRowExpanded(row) {\n return this.getCachedIsRowExpanded(this.children, row);\n }\n\n setRowExpanded(row, isExpanded) {\n const { key, offsetRow } = this.getCachedModelRowOffset(this.children, row);\n\n // We always set a new map so that our memoize functions work properly\n const children = new Map(this.children);\n if (key != null) {\n const model = this.children.get(key);\n const { rowCount: originalChildRowCount } = model;\n model.setRowExpanded(offsetRow, isExpanded);\n this.numRows += model.rowCount - originalChildRowCount;\n } else if (!isExpanded) {\n const childModel = children.get(offsetRow);\n this.numRows -= childModel.rowCount;\n children.delete(offsetRow);\n } else {\n const child = new MockTreeGridModel({\n rowCount: this.childRowCount,\n columnCount: this.numColumns,\n });\n children.set(offsetRow, child);\n this.numRows += child.rowCount;\n }\n\n this.children = children;\n }\n\n depthForRow(row) {\n return this.getCachedDepthForRow(this.children, row);\n }\n\n /**\n * Returns the map key and the offsetRow given the provided children and row index.\n * If the returned key is null, then this offset row is within this model.\n * Only returning the key instead of the model so that memoize doesn't cache a bunch of the children models after they've been deleted (collapsed).\n */\n getCachedModelRowOffset = memoizeClear((children, row) => {\n let key = null;\n let offsetRow = row;\n // Need to iterate through the map in order... sort it first\n const sortedEntries = [...children].sort((a, b) => a[0] - b[0]);\n for (let i = 0; i < sortedEntries.length; i += 1) {\n const [childRow, childModel] = sortedEntries[i];\n if (offsetRow <= childRow) {\n break;\n }\n const childRowCount = childModel.rowCount;\n if (offsetRow <= childRow + childRowCount) {\n key = childRow;\n offsetRow = offsetRow - childRow - 1;\n break;\n }\n offsetRow -= childRowCount;\n }\n\n return { key, offsetRow };\n });\n\n getCachedTextForRowHeader = memoizeClear((children, row) => {\n const { key, offsetRow } = this.getCachedModelRowOffset(children, row);\n\n if (key != null) {\n const model = children.get(key);\n return `${key}.${model.textForRowHeader(offsetRow)}`;\n }\n\n return `${offsetRow}`;\n });\n\n getCachedTextForCell = memoizeClear((children, column, row) => {\n const { key, offsetRow } = this.getCachedModelRowOffset(children, row);\n\n if (key != null) {\n const model = children.get(key);\n return `${key}.${model.textForCell(column, offsetRow)}`;\n }\n\n return `${column},${offsetRow}`;\n });\n\n getCachedIsRowExpandable = memoizeClear((children, row, maxDepth) => {\n const depth = this.getCachedDepthForRow(children, row);\n\n return depth < maxDepth;\n });\n\n getCachedIsRowExpanded = memoizeClear((children, row) => {\n const { key, offsetRow } = this.getCachedModelRowOffset(children, row);\n\n if (key != null) {\n const model = children.get(key);\n return model.isRowExpanded(offsetRow);\n }\n\n return children.has(offsetRow);\n });\n\n getCachedDepthForRow = memoizeClear((children, row) => {\n const { key, offsetRow } = this.getCachedModelRowOffset(children, row);\n\n if (key != null) {\n const model = children.get(key);\n return model.depthForRow(offsetRow) + 1;\n }\n\n return 0;\n });\n}\n\nexport default MockTreeGridModel;\n"],"file":"MockTreeGridModel.js"}
@@ -1,13 +1,52 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
2
+
3
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
4
+
5
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
6
+
7
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
8
+
9
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
10
+
11
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
12
+
13
+ function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }
14
+
15
+ function _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }
16
+
17
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
18
+
19
+ function _isNativeFunction(fn) { return Function.toString.call(fn).indexOf("[native code]") !== -1; }
20
+
21
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
22
+
23
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
24
+
1
25
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
26
 
3
- class PasteError extends Error {
4
- constructor() {
5
- super(...arguments);
27
+ var PasteError = /*#__PURE__*/function (_Error) {
28
+ _inherits(PasteError, _Error);
29
+
30
+ var _super = _createSuper(PasteError);
31
+
32
+ function PasteError() {
33
+ var _this;
34
+
35
+ _classCallCheck(this, PasteError);
36
+
37
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
38
+ args[_key] = arguments[_key];
39
+ }
40
+
41
+ _this = _super.call.apply(_super, [this].concat(args));
42
+
43
+ _defineProperty(_assertThisInitialized(_this), "isPasteError", true);
6
44
 
7
- _defineProperty(this, "isPasteError", true);
45
+ return _this;
8
46
  }
9
47
 
10
- }
48
+ return PasteError;
49
+ }( /*#__PURE__*/_wrapNativeSuper(Error));
11
50
 
12
51
  export default PasteError;
13
52
  //# sourceMappingURL=PasteError.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/errors/PasteError.ts"],"names":["PasteError","Error"],"mappings":";;AAAA,MAAMA,UAAN,SAAyBC,KAAzB,CAA+B;AAAA;AAAA;;AAAA,0CACd,IADc;AAAA;;AAAA;;AAI/B,eAAeD,UAAf","sourcesContent":["class PasteError extends Error {\n isPasteError = true;\n}\n\nexport default PasteError;\n"],"file":"PasteError.js"}
1
+ {"version":3,"sources":["../../src/errors/PasteError.ts"],"names":["PasteError","Error"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;IAAMA,U;;;;;;;;;;;;;;;;mEACW,I;;;;;;iCADQC,K;;AAIzB,eAAeD,UAAf","sourcesContent":["class PasteError extends Error {\n isPasteError = true;\n}\n\nexport default PasteError;\n"],"file":"PasteError.js"}
@@ -1,3 +1,3 @@
1
1
  // eslint-disable-next-line import/prefer-default-export
2
- export { default as PasteError } from "./PasteError.js";
2
+ export { default as PasteError } from './PasteError';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/errors/index.ts"],"names":["default","PasteError"],"mappings":"AAAA;SACSA,OAAO,IAAIC,U","sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nexport { default as PasteError } from './PasteError';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/errors/index.ts"],"names":["default","PasteError"],"mappings":"AAAA;AACA,SAASA,OAAO,IAAIC,UAApB,QAAsC,cAAtC","sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nexport { default as PasteError } from './PasteError';\n"],"file":"index.js"}
package/dist/index.js CHANGED
@@ -1,16 +1,16 @@
1
- export { default as Grid } from "./Grid.js";
2
- export { default as GridMetricCalculator } from "./GridMetricCalculator.js";
3
- export { default as GridModel } from "./GridModel.js";
4
- export { default as GridMouseHandler } from "./GridMouseHandler.js";
5
- export { default as GridRange } from "./GridRange.js";
6
- export { default as GridRenderer } from "./GridRenderer.js";
7
- export { default as GridTestUtils } from "./GridTestUtils.js";
8
- export { default as GridTheme } from "./GridTheme.js";
9
- export { default as GridUtils } from "./GridUtils.js";
10
- export { default as KeyHandler } from "./KeyHandler.js";
11
- export { default as MockGridModel } from "./MockGridModel.js";
12
- export { default as MockTreeGridModel } from "./MockTreeGridModel.js";
13
- export * from "./key-handlers/index.js";
14
- export * from "./mouse-handlers/index.js";
15
- export * from "./errors/index.js";
1
+ export { default as Grid } from './Grid';
2
+ export { default as GridMetricCalculator } from './GridMetricCalculator';
3
+ export { default as GridModel } from './GridModel';
4
+ export { default as GridMouseHandler } from './GridMouseHandler';
5
+ export { default as GridRange } from './GridRange';
6
+ export { default as GridRenderer } from './GridRenderer';
7
+ export { default as GridTestUtils } from './GridTestUtils';
8
+ export { default as GridTheme } from './GridTheme';
9
+ export { default as GridUtils } from './GridUtils';
10
+ export { default as KeyHandler } from './KeyHandler';
11
+ export { default as MockGridModel } from './MockGridModel';
12
+ export { default as MockTreeGridModel } from './MockTreeGridModel';
13
+ export * from './key-handlers';
14
+ export * from './mouse-handlers';
15
+ export * from './errors';
16
16
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["default","Grid","GridMetricCalculator","GridModel","GridMouseHandler","GridRange","GridRenderer","GridTestUtils","GridTheme","GridUtils","KeyHandler","MockGridModel","MockTreeGridModel"],"mappings":"SAASA,OAAO,IAAIC,I;SACXD,OAAO,IAAIE,oB;SACXF,OAAO,IAAIG,S;SACXH,OAAO,IAAII,gB;SACXJ,OAAO,IAAIK,S;SACXL,OAAO,IAAIM,Y;SACXN,OAAO,IAAIO,a;SACXP,OAAO,IAAIQ,S;SACXR,OAAO,IAAIS,S;SACXT,OAAO,IAAIU,U;SACXV,OAAO,IAAIW,a;SACXX,OAAO,IAAIY,iB","sourcesContent":["export { default as Grid } from './Grid';\nexport { default as GridMetricCalculator } from './GridMetricCalculator';\nexport { default as GridModel } from './GridModel';\nexport { default as GridMouseHandler } from './GridMouseHandler';\nexport { default as GridRange } from './GridRange';\nexport { default as GridRenderer } from './GridRenderer';\nexport { default as GridTestUtils } from './GridTestUtils';\nexport { default as GridTheme } from './GridTheme';\nexport { default as GridUtils } from './GridUtils';\nexport { default as KeyHandler } from './KeyHandler';\nexport { default as MockGridModel } from './MockGridModel';\nexport { default as MockTreeGridModel } from './MockTreeGridModel';\nexport * from './key-handlers';\nexport * from './mouse-handlers';\nexport * from './errors';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["default","Grid","GridMetricCalculator","GridModel","GridMouseHandler","GridRange","GridRenderer","GridTestUtils","GridTheme","GridUtils","KeyHandler","MockGridModel","MockTreeGridModel"],"mappings":"AAAA,SAASA,OAAO,IAAIC,IAApB,QAAgC,QAAhC;AACA,SAASD,OAAO,IAAIE,oBAApB,QAAgD,wBAAhD;AACA,SAASF,OAAO,IAAIG,SAApB,QAAqC,aAArC;AACA,SAASH,OAAO,IAAII,gBAApB,QAA4C,oBAA5C;AACA,SAASJ,OAAO,IAAIK,SAApB,QAAqC,aAArC;AACA,SAASL,OAAO,IAAIM,YAApB,QAAwC,gBAAxC;AACA,SAASN,OAAO,IAAIO,aAApB,QAAyC,iBAAzC;AACA,SAASP,OAAO,IAAIQ,SAApB,QAAqC,aAArC;AACA,SAASR,OAAO,IAAIS,SAApB,QAAqC,aAArC;AACA,SAAST,OAAO,IAAIU,UAApB,QAAsC,cAAtC;AACA,SAASV,OAAO,IAAIW,aAApB,QAAyC,iBAAzC;AACA,SAASX,OAAO,IAAIY,iBAApB,QAA6C,qBAA7C;AACA,cAAc,gBAAd;AACA,cAAc,kBAAd;AACA,cAAc,UAAd","sourcesContent":["export { default as Grid } from './Grid';\nexport { default as GridMetricCalculator } from './GridMetricCalculator';\nexport { default as GridModel } from './GridModel';\nexport { default as GridMouseHandler } from './GridMouseHandler';\nexport { default as GridRange } from './GridRange';\nexport { default as GridRenderer } from './GridRenderer';\nexport { default as GridTestUtils } from './GridTestUtils';\nexport { default as GridTheme } from './GridTheme';\nexport { default as GridUtils } from './GridUtils';\nexport { default as KeyHandler } from './KeyHandler';\nexport { default as MockGridModel } from './MockGridModel';\nexport { default as MockTreeGridModel } from './MockTreeGridModel';\nexport * from './key-handlers';\nexport * from './mouse-handlers';\nexport * from './errors';\n"],"file":"index.js"}