@deephaven/grid 0.7.3-beta.0 → 0.8.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 (147) hide show
  1. package/dist/CellInputField.d.ts +4 -4
  2. package/dist/CellInputField.d.ts.map +1 -1
  3. package/dist/CellInputField.js +10 -11
  4. package/dist/CellInputField.js.map +1 -1
  5. package/dist/EditableGridModel.d.ts +70 -0
  6. package/dist/EditableGridModel.d.ts.map +1 -0
  7. package/dist/EditableGridModel.js +13 -0
  8. package/dist/EditableGridModel.js.map +1 -0
  9. package/dist/EventHandlerResult.d.ts +17 -0
  10. package/dist/EventHandlerResult.d.ts.map +1 -0
  11. package/dist/EventHandlerResult.js +2 -0
  12. package/dist/EventHandlerResult.js.map +1 -0
  13. package/dist/ExpandableGridModel.d.ts +34 -0
  14. package/dist/ExpandableGridModel.d.ts.map +1 -0
  15. package/dist/ExpandableGridModel.js +7 -0
  16. package/dist/ExpandableGridModel.js.map +1 -0
  17. package/dist/Grid.d.ts +283 -234
  18. package/dist/Grid.d.ts.map +1 -1
  19. package/dist/Grid.js +397 -165
  20. package/dist/Grid.js.map +1 -1
  21. package/dist/GridColorUtils.d.ts +22 -12
  22. package/dist/GridColorUtils.d.ts.map +1 -1
  23. package/dist/GridColorUtils.js +26 -21
  24. package/dist/GridColorUtils.js.map +1 -1
  25. package/dist/GridMetricCalculator.d.ts.map +1 -1
  26. package/dist/GridMetricCalculator.js +8 -4
  27. package/dist/GridMetricCalculator.js.map +1 -1
  28. package/dist/GridModel.d.ts +54 -60
  29. package/dist/GridModel.d.ts.map +1 -1
  30. package/dist/GridModel.js +54 -122
  31. package/dist/GridModel.js.map +1 -1
  32. package/dist/GridMouseHandler.d.ts +23 -24
  33. package/dist/GridMouseHandler.d.ts.map +1 -1
  34. package/dist/GridMouseHandler.js +8 -14
  35. package/dist/GridMouseHandler.js.map +1 -1
  36. package/dist/GridRange.d.ts +2 -2
  37. package/dist/GridRange.d.ts.map +1 -1
  38. package/dist/GridRange.js +1 -1
  39. package/dist/GridRange.js.map +1 -1
  40. package/dist/GridRenderer.d.ts +117 -69
  41. package/dist/GridRenderer.d.ts.map +1 -1
  42. package/dist/GridRenderer.js +183 -168
  43. package/dist/GridRenderer.js.map +1 -1
  44. package/dist/GridUtils.d.ts +4 -4
  45. package/dist/GridUtils.js +4 -4
  46. package/dist/GridUtils.js.map +1 -1
  47. package/dist/KeyHandler.d.ts +10 -7
  48. package/dist/KeyHandler.d.ts.map +1 -1
  49. package/dist/KeyHandler.js +6 -5
  50. package/dist/KeyHandler.js.map +1 -1
  51. package/dist/MockGridData.d.ts +1 -1
  52. package/dist/MockGridData.d.ts.map +1 -1
  53. package/dist/MockGridData.js.map +1 -1
  54. package/dist/MockGridModel.d.ts +39 -12
  55. package/dist/MockGridModel.d.ts.map +1 -1
  56. package/dist/MockGridModel.js +43 -10
  57. package/dist/MockGridModel.js.map +1 -1
  58. package/dist/MockTreeGridModel.d.ts +37 -22
  59. package/dist/MockTreeGridModel.d.ts.map +1 -1
  60. package/dist/MockTreeGridModel.js +38 -20
  61. package/dist/MockTreeGridModel.js.map +1 -1
  62. package/dist/errors/AssertionError.d.ts +5 -0
  63. package/dist/errors/AssertionError.d.ts.map +1 -0
  64. package/dist/errors/AssertionError.js +12 -0
  65. package/dist/errors/AssertionError.js.map +1 -0
  66. package/dist/errors/PasteError.d.ts +1 -1
  67. package/dist/errors/PasteError.d.ts.map +1 -1
  68. package/dist/errors/PasteError.js +1 -2
  69. package/dist/errors/PasteError.js.map +1 -1
  70. package/dist/errors/assertIsDefined.d.ts +3 -0
  71. package/dist/errors/assertIsDefined.d.ts.map +1 -0
  72. package/dist/errors/assertIsDefined.js +8 -0
  73. package/dist/errors/assertIsDefined.js.map +1 -0
  74. package/dist/errors/index.d.ts +2 -0
  75. package/dist/errors/index.d.ts.map +1 -1
  76. package/dist/errors/index.js +2 -1
  77. package/dist/errors/index.js.map +1 -1
  78. package/dist/index.d.ts +1 -0
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +1 -0
  81. package/dist/index.js.map +1 -1
  82. package/dist/key-handlers/EditKeyHandler.d.ts +3 -2
  83. package/dist/key-handlers/EditKeyHandler.d.ts.map +1 -1
  84. package/dist/key-handlers/EditKeyHandler.js +10 -9
  85. package/dist/key-handlers/EditKeyHandler.js.map +1 -1
  86. package/dist/key-handlers/PasteKeyHandler.d.ts +3 -5
  87. package/dist/key-handlers/PasteKeyHandler.d.ts.map +1 -1
  88. package/dist/key-handlers/PasteKeyHandler.js +3 -3
  89. package/dist/key-handlers/PasteKeyHandler.js.map +1 -1
  90. package/dist/key-handlers/SelectionKeyHandler.d.ts +5 -5
  91. package/dist/key-handlers/SelectionKeyHandler.d.ts.map +1 -1
  92. package/dist/key-handlers/SelectionKeyHandler.js +16 -15
  93. package/dist/key-handlers/SelectionKeyHandler.js.map +1 -1
  94. package/dist/key-handlers/TreeKeyHandler.d.ts +2 -2
  95. package/dist/key-handlers/TreeKeyHandler.d.ts.map +1 -1
  96. package/dist/key-handlers/TreeKeyHandler.js +14 -12
  97. package/dist/key-handlers/TreeKeyHandler.js.map +1 -1
  98. package/dist/memoizeClear.d.ts +13 -3
  99. package/dist/memoizeClear.d.ts.map +1 -1
  100. package/dist/memoizeClear.js +7 -7
  101. package/dist/memoizeClear.js.map +1 -1
  102. package/dist/mouse-handlers/EditMouseHandler.d.ts +3 -4
  103. package/dist/mouse-handlers/EditMouseHandler.d.ts.map +1 -1
  104. package/dist/mouse-handlers/EditMouseHandler.js +3 -2
  105. package/dist/mouse-handlers/EditMouseHandler.js.map +1 -1
  106. package/dist/mouse-handlers/GridColumnMoveMouseHandler.d.ts +12 -5
  107. package/dist/mouse-handlers/GridColumnMoveMouseHandler.d.ts.map +1 -1
  108. package/dist/mouse-handlers/GridColumnMoveMouseHandler.js +13 -10
  109. package/dist/mouse-handlers/GridColumnMoveMouseHandler.js.map +1 -1
  110. package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.d.ts +24 -3
  111. package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.d.ts.map +1 -1
  112. package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js +2 -1
  113. package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js.map +1 -1
  114. package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.d.ts +16 -6
  115. package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.d.ts.map +1 -1
  116. package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js +41 -37
  117. package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js.map +1 -1
  118. package/dist/mouse-handlers/GridRowMoveMouseHandler.d.ts +10 -3
  119. package/dist/mouse-handlers/GridRowMoveMouseHandler.d.ts.map +1 -1
  120. package/dist/mouse-handlers/GridRowMoveMouseHandler.js +14 -11
  121. package/dist/mouse-handlers/GridRowMoveMouseHandler.js.map +1 -1
  122. package/dist/mouse-handlers/GridRowSeparatorMouseHandler.d.ts +24 -3
  123. package/dist/mouse-handlers/GridRowSeparatorMouseHandler.d.ts.map +1 -1
  124. package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js +4 -3
  125. package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js.map +1 -1
  126. package/dist/mouse-handlers/GridRowTreeMouseHandler.d.ts +8 -3
  127. package/dist/mouse-handlers/GridRowTreeMouseHandler.d.ts.map +1 -1
  128. package/dist/mouse-handlers/GridRowTreeMouseHandler.js +12 -7
  129. package/dist/mouse-handlers/GridRowTreeMouseHandler.js.map +1 -1
  130. package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.d.ts +9 -3
  131. package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.d.ts.map +1 -1
  132. package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.js +2 -1
  133. package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.js.map +1 -1
  134. package/dist/mouse-handlers/GridSelectionMouseHandler.d.ts +15 -9
  135. package/dist/mouse-handlers/GridSelectionMouseHandler.d.ts.map +1 -1
  136. package/dist/mouse-handlers/GridSelectionMouseHandler.js +26 -16
  137. package/dist/mouse-handlers/GridSelectionMouseHandler.js.map +1 -1
  138. package/dist/mouse-handlers/GridSeparatorMouseHandler.d.ts +46 -28
  139. package/dist/mouse-handlers/GridSeparatorMouseHandler.d.ts.map +1 -1
  140. package/dist/mouse-handlers/GridSeparatorMouseHandler.js +57 -74
  141. package/dist/mouse-handlers/GridSeparatorMouseHandler.js.map +1 -1
  142. package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.d.ts +16 -6
  143. package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.d.ts.map +1 -1
  144. package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js +41 -37
  145. package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js.map +1 -1
  146. package/dist/tsconfig.tsbuildinfo +1 -1
  147. package/package.json +3 -3
@@ -2,12 +2,17 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try
2
2
 
3
3
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
4
4
 
5
+ 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; }
6
+
5
7
  /* eslint class-methods-use-this: "off" */
6
8
 
7
9
  /* eslint no-unused-vars: "off" */
8
10
  import GridModel from "./GridModel.js";
9
11
  import GridRange from "./GridRange.js";
10
12
 
13
+ /**
14
+ * Mock model implementing GridModel for testing out grid functionality
15
+ */
11
16
  class MockGridModel extends GridModel {
12
17
  constructor() {
13
18
  var {
@@ -17,17 +22,35 @@ class MockGridModel extends GridModel {
17
22
  floatingBottomRowCount = 0,
18
23
  floatingLeftColumnCount = 0,
19
24
  floatingRightColumnCount = 0,
20
- isEditable = false
25
+ isEditable = false,
26
+ editedData = []
21
27
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
22
28
  super();
29
+
30
+ _defineProperty(this, "numRows", void 0);
31
+
32
+ _defineProperty(this, "numColumns", void 0);
33
+
34
+ _defineProperty(this, "floatingTop", void 0);
35
+
36
+ _defineProperty(this, "floatingBottom", void 0);
37
+
38
+ _defineProperty(this, "floatingLeft", void 0);
39
+
40
+ _defineProperty(this, "floatingRight", void 0);
41
+
42
+ _defineProperty(this, "editable", void 0);
43
+
44
+ _defineProperty(this, "editedData", void 0);
45
+
23
46
  this.numRows = rowCount;
24
47
  this.numColumns = columnCount;
25
48
  this.floatingTop = floatingTopRowCount;
26
49
  this.floatingBottom = floatingBottomRowCount;
27
50
  this.floatingLeft = floatingLeftColumnCount;
28
51
  this.floatingRight = floatingRightColumnCount;
29
- this.editedData = [];
30
52
  this.editable = isEditable;
53
+ this.editedData = editedData;
31
54
  }
32
55
 
33
56
  get rowCount() {
@@ -80,15 +103,15 @@ class MockGridModel extends GridModel {
80
103
  return "".concat(row);
81
104
  }
82
105
 
83
- setValueForCell(x, y, value) {
106
+ setValueForCell(column, row, value) {
84
107
  var _this = this;
85
108
 
86
109
  return _asyncToGenerator(function* () {
87
- if (_this.editedData[x] == null) {
88
- _this.editedData[x] = [];
110
+ if (_this.editedData[column] == null) {
111
+ _this.editedData[column] = [];
89
112
  }
90
113
 
91
- _this.editedData[x][y] = "".concat(value);
114
+ _this.editedData[column][row] = "".concat(value);
92
115
  })();
93
116
  }
94
117
 
@@ -107,21 +130,31 @@ class MockGridModel extends GridModel {
107
130
 
108
131
  return _asyncToGenerator(function* () {
109
132
  for (var i = 0; i < edits.length; i += 1) {
133
+ var _edit$column, _edit$row;
134
+
110
135
  var edit = edits[i];
111
136
 
112
- _this3.setValueForCell(edit.x, edit.y, edit.text);
137
+ _this3.setValueForCell((_edit$column = edit.column) !== null && _edit$column !== void 0 ? _edit$column : edit.x, (_edit$row = edit.row) !== null && _edit$row !== void 0 ? _edit$row : edit.y, edit.text);
113
138
  }
114
139
  })();
115
140
  }
116
141
 
117
- editValueForCell(x, y) {
118
- return this.textForCell(x, y);
142
+ editValueForCell(column, row) {
143
+ return this.textForCell(column, row);
119
144
  }
120
145
 
121
- isValidForCell(x, y, value) {
146
+ isValidForCell(column, row, value) {
122
147
  return true;
123
148
  }
124
149
 
150
+ isEditableRange(range) {
151
+ return this.isEditable;
152
+ }
153
+
154
+ delete(ranges) {
155
+ throw new Error('Method not implemented.');
156
+ }
157
+
125
158
  }
126
159
 
127
160
  export default MockGridModel;
@@ -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.ts"],"names":["GridModel","GridRange","MockGridModel","constructor","rowCount","columnCount","floatingTopRowCount","floatingBottomRowCount","floatingLeftColumnCount","floatingRightColumnCount","isEditable","editedData","numRows","numColumns","floatingTop","floatingBottom","floatingLeft","floatingRight","editable","textForCell","column","row","colorForCell","theme","textColor","textForColumnHeader","textForRowHeader","textForRowFooter","setValueForCell","value","setValueForRanges","ranges","text","forEachCell","x","y","setValues","edits","i","length","edit","editValueForCell","isValidForCell","isEditableRange","range","delete","Error"],"mappings":"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","sourcesContent":["/* eslint class-methods-use-this: \"off\" */\n/* eslint no-unused-vars: \"off\" */\nimport EditableGridModel, { EditOperation } from './EditableGridModel';\nimport { ModelIndex } from './GridMetrics';\nimport GridModel from './GridModel';\nimport GridRange from './GridRange';\nimport { GridColor, GridTheme } from './GridTheme';\n\n/**\n * Mock model implementing GridModel for testing out grid functionality\n */\nclass MockGridModel extends GridModel implements EditableGridModel {\n protected numRows: number;\n\n protected numColumns: number;\n\n protected floatingTop: number;\n\n protected floatingBottom: number;\n\n protected floatingLeft: number;\n\n protected floatingRight: number;\n\n protected editable: boolean;\n\n protected editedData: string[][];\n\n constructor({\n rowCount = 1000000000,\n columnCount = 100,\n floatingTopRowCount = 0,\n floatingBottomRowCount = 0,\n floatingLeftColumnCount = 0,\n floatingRightColumnCount = 0,\n isEditable = false,\n editedData = [],\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.editable = isEditable;\n this.editedData = editedData;\n }\n\n get rowCount(): number {\n return this.numRows;\n }\n\n get columnCount(): number {\n return this.numColumns;\n }\n\n get floatingTopRowCount(): number {\n return this.floatingTop;\n }\n\n get floatingBottomRowCount(): number {\n return this.floatingBottom;\n }\n\n get floatingLeftColumnCount(): number {\n return this.floatingLeft;\n }\n\n get floatingRightColumnCount(): number {\n return this.floatingRight;\n }\n\n get isEditable(): boolean {\n return this.editable;\n }\n\n textForCell(column: ModelIndex, row: ModelIndex): string {\n return this.editedData[column]?.[row] ?? `${column},${row}`;\n }\n\n colorForCell(\n column: ModelIndex,\n row: ModelIndex,\n theme: GridTheme\n ): GridColor {\n return theme.textColor;\n }\n\n textForColumnHeader(column: ModelIndex): string {\n return `${column}`;\n }\n\n textForRowHeader(row: ModelIndex): string {\n return `${row}`;\n }\n\n textForRowFooter(row: ModelIndex): string {\n return `${row}`;\n }\n\n async setValueForCell(\n column: ModelIndex,\n row: ModelIndex,\n value: string\n ): Promise<void> {\n if (this.editedData[column] == null) {\n this.editedData[column] = [];\n }\n this.editedData[column][row] = `${value}`;\n }\n\n async setValueForRanges(ranges: GridRange[], text: string): Promise<void> {\n GridRange.forEachCell(ranges, (x, y) => {\n this.setValueForCell(x, y, text);\n });\n }\n\n async setValues(edits: EditOperation[]): Promise<void> {\n for (let i = 0; i < edits.length; i += 1) {\n const edit = edits[i];\n this.setValueForCell(\n edit.column ?? edit.x,\n edit.row ?? edit.y,\n edit.text\n );\n }\n }\n\n editValueForCell(column: ModelIndex, row: ModelIndex): string {\n return this.textForCell(column, row);\n }\n\n isValidForCell(column: ModelIndex, row: ModelIndex, value: string): boolean {\n return true;\n }\n\n isEditableRange(range: GridRange): boolean {\n return this.isEditable;\n }\n\n delete(ranges: GridRange[]): Promise<void> {\n throw new Error('Method not implemented.');\n }\n}\n\nexport default MockGridModel;\n"],"file":"MockGridModel.js"}
@@ -1,40 +1,55 @@
1
- export default MockTreeGridModel;
1
+ /// <reference types="memoizee" />
2
+ import MockGridModel from './MockGridModel';
3
+ import ExpandableGridModel from './ExpandableGridModel';
4
+ import { ModelIndex } from './GridMetrics';
5
+ declare type ChildrenTreeMap = Map<ModelIndex, MockTreeGridModel>;
2
6
  /**
3
7
  * A class to mock a tree model so can test out tree models.
4
8
  * Whenever a row is expanded, it creates a child model for that row, which can then make a child for those rows, etc.
5
9
  */
6
- declare class MockTreeGridModel extends MockGridModel {
10
+ declare class MockTreeGridModel extends MockGridModel implements ExpandableGridModel {
7
11
  static DEFAULT_ROW_COUNT: number;
8
12
  static DEFAULT_COLUMN_COUNT: number;
9
13
  /** How many rows a child tree should have related to the parent. Eg. if parent has 10000 rows, child will have 100 */
10
14
  static DEFAULT_CHILD_ROW_COUNT_FACTOR: number;
11
15
  static MIN_CHILD_ROW_COUNT: number;
12
16
  static MAX_DEPTH: number;
13
- constructor({ rowCount, columnCount, children, childRowCount, maxDepth, movedColumns, movedRows, columnFormatMap, }?: {
14
- rowCount?: number | undefined;
15
- columnCount?: number | undefined;
16
- children?: Map<any, any> | undefined;
17
- childRowCount?: number | undefined;
18
- maxDepth?: number | undefined;
19
- movedColumns?: any[] | undefined;
20
- movedRows?: any[] | undefined;
21
- columnFormatMap?: Map<any, any> | undefined;
17
+ private children;
18
+ private childRowCount;
19
+ private maxDepth;
20
+ constructor({ rowCount, columnCount, children, childRowCount, maxDepth, }?: {
21
+ children?: ChildrenTreeMap;
22
+ columnCount?: number;
23
+ rowCount?: number;
24
+ childRowCount?: number;
25
+ maxDepth?: number;
22
26
  });
23
- children: Map<any, any>;
24
- childRowCount: number;
25
- maxDepth: number;
26
- formatMap: Map<any, any>;
27
+ textForCell(column: ModelIndex, row: ModelIndex): string;
28
+ textForRowHeader(row: ModelIndex): string;
29
+ isRowMovable(row: ModelIndex): boolean;
30
+ get hasExpandableRows(): boolean;
31
+ get floatingBottomRowCount(): number;
32
+ isRowExpandable(row: ModelIndex): boolean;
33
+ isRowExpanded(row: ModelIndex): boolean;
34
+ setRowExpanded(row: ModelIndex, isExpanded: boolean): void;
35
+ depthForRow(row: ModelIndex): number;
27
36
  /**
28
37
  * Returns the map key and the offsetRow given the provided children and row index.
29
38
  * If the returned key is null, then this offset row is within this model.
30
39
  * 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).
31
40
  */
32
- getCachedModelRowOffset: ((...args: any[]) => any) & import("memoizee").Memoized<(...args: any[]) => any>;
33
- getCachedTextForRowHeader: ((...args: any[]) => any) & import("memoizee").Memoized<(...args: any[]) => any>;
34
- getCachedTextForCell: ((...args: any[]) => any) & import("memoizee").Memoized<(...args: any[]) => any>;
35
- getCachedIsRowExpandable: ((...args: any[]) => any) & import("memoizee").Memoized<(...args: any[]) => any>;
36
- getCachedIsRowExpanded: ((...args: any[]) => any) & import("memoizee").Memoized<(...args: any[]) => any>;
37
- getCachedDepthForRow: ((...args: any[]) => any) & import("memoizee").Memoized<(...args: any[]) => any>;
41
+ getCachedModelRowOffset: ((children: ChildrenTreeMap, row: ModelIndex) => {
42
+ key: ModelIndex | null;
43
+ offsetRow: ModelIndex;
44
+ }) & import("memoizee").Memoized<(children: ChildrenTreeMap, row: ModelIndex) => {
45
+ key: ModelIndex | null;
46
+ offsetRow: ModelIndex;
47
+ }>;
48
+ getCachedTextForRowHeader: ((children: ChildrenTreeMap, row: ModelIndex) => string) & import("memoizee").Memoized<(children: ChildrenTreeMap, row: ModelIndex) => string>;
49
+ getCachedTextForCell: ((children: ChildrenTreeMap, column: ModelIndex, row: ModelIndex) => string) & import("memoizee").Memoized<(children: ChildrenTreeMap, column: ModelIndex, row: ModelIndex) => string>;
50
+ getCachedIsRowExpandable: ((children: ChildrenTreeMap, row: ModelIndex, maxDepth: number) => boolean) & import("memoizee").Memoized<(children: ChildrenTreeMap, row: ModelIndex, maxDepth: number) => boolean>;
51
+ getCachedIsRowExpanded: ((children: ChildrenTreeMap, row: ModelIndex) => boolean) & import("memoizee").Memoized<(children: ChildrenTreeMap, row: ModelIndex) => boolean>;
52
+ getCachedDepthForRow: ((children: ChildrenTreeMap, row: ModelIndex) => number) & import("memoizee").Memoized<(children: ChildrenTreeMap, row: ModelIndex) => number>;
38
53
  }
39
- import MockGridModel from "./MockGridModel";
54
+ export default MockTreeGridModel;
40
55
  //# sourceMappingURL=MockTreeGridModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MockTreeGridModel.d.ts","sourceRoot":"","sources":["../src/MockTreeGridModel.js"],"names":[],"mappings":";AAKA;;;GAGG;AACH;IACE,iCAAsC;IAEtC,oCAAkC;IAElC,sHAAsH;IACtH,8CAA6C;IAE7C,mCAAgC;IAEhC,yBAAsB;IAEtB;;;;;;;;;OAqBC;IAJC,wBAAwB;IACxB,sBAAkC;IAClC,iBAAwB;IACxB,yBAAgC;IA6DlC;;;;OAIG;IACH,0GAoBG;IAEH,4GASG;IAEH,uGASG;IAEH,2GAIG;IAEH,yGASG;IAEH,uGASG;CACJ"}
1
+ {"version":3,"file":"MockTreeGridModel.d.ts","sourceRoot":"","sources":["../src/MockTreeGridModel.ts"],"names":[],"mappings":";AAEA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,aAAK,eAAe,GAAG,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;AAE1D;;;GAGG;AACH,cAAM,iBAAkB,SAAQ,aAAc,YAAW,mBAAmB;IAC1E,MAAM,CAAC,iBAAiB,SAAc;IAEtC,MAAM,CAAC,oBAAoB,SAAO;IAElC,sHAAsH;IACtH,MAAM,CAAC,8BAA8B,SAAQ;IAE7C,MAAM,CAAC,mBAAmB,SAAM;IAEhC,MAAM,CAAC,SAAS,SAAM;IAEtB,OAAO,CAAC,QAAQ,CAAkB;IAElC,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,QAAQ,CAAS;gBAEb,EACV,QAA8C,EAC9C,WAAoD,EACpD,QAAoB,EACpB,aAKC,EACD,QAAsC,GACvC,GAAE;QACD,QAAQ,CAAC,EAAE,eAAe,CAAC;QAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd;IAQN,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM;IAIxD,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM;IAIzC,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;IAItC,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAED,IAAI,sBAAsB,IAAI,MAAM,CAEnC;IAED,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;IAIzC,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;IAIvC,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IA8B1D,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM;IAIpC;;;;OAIG;IACH,uBAAuB,oCAGd,UAAU;aACP,UAAU,GAAG,IAAI;mBAAa,UAAU;sEAD3C,UAAU;aACP,UAAU,GAAG,IAAI;mBAAa,UAAU;OAqBlD;IAEF,yBAAyB,oCACU,UAAU,KAAG,MAAM,iEAAnB,UAAU,KAAG,MAAM,EAYpD;IAEF,oBAAoB,uCAGR,UAAU,OACb,UAAU,KACd,MAAM,oEAFC,UAAU,OACb,UAAU,KACd,MAAM,EAYT;IAEF,wBAAwB,oCACW,UAAU,YAAY,MAAM,KAAG,OAAO,iEAAtC,UAAU,YAAY,MAAM,KAAG,OAAO,EAKvE;IAEF,sBAAsB,oCACa,UAAU,KAAG,OAAO,iEAApB,UAAU,KAAG,OAAO,EAYrD;IAEF,oBAAoB,oCACe,UAAU,KAAG,MAAM,iEAAnB,UAAU,KAAG,MAAM,EAYpD;CACH;AAED,eAAe,iBAAiB,CAAC"}
@@ -5,11 +5,11 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
5
5
  /* eslint no-unused-vars: "off" */
6
6
  import MockGridModel from "./MockGridModel.js";
7
7
  import memoizeClear from "./memoizeClear.js";
8
+
8
9
  /**
9
10
  * A class to mock a tree model so can test out tree models.
10
11
  * Whenever a row is expanded, it creates a child model for that row, which can then make a child for those rows, etc.
11
12
  */
12
-
13
13
  class MockTreeGridModel extends MockGridModel {
14
14
  /** How many rows a child tree should have related to the parent. Eg. if parent has 10000 rows, child will have 100 */
15
15
  constructor() {
@@ -18,18 +18,19 @@ class MockTreeGridModel extends MockGridModel {
18
18
  columnCount = MockTreeGridModel.DEFAULT_COLUMN_COUNT,
19
19
  children: _children = new Map(),
20
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()
21
+ maxDepth: _maxDepth = MockTreeGridModel.MAX_DEPTH
25
22
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
26
23
  super({
27
24
  rowCount,
28
- columnCount,
29
- movedColumns,
30
- movedRows
25
+ columnCount
31
26
  });
32
27
 
28
+ _defineProperty(this, "children", void 0);
29
+
30
+ _defineProperty(this, "childRowCount", void 0);
31
+
32
+ _defineProperty(this, "maxDepth", void 0);
33
+
33
34
  _defineProperty(this, "getCachedModelRowOffset", memoizeClear((children, row) => {
34
35
  var key = null;
35
36
  var offsetRow = row; // Need to iterate through the map in order... sort it first
@@ -68,7 +69,10 @@ class MockTreeGridModel extends MockGridModel {
68
69
 
69
70
  if (key != null) {
70
71
  var model = children.get(key);
71
- return "".concat(key, ".").concat(model.textForRowHeader(offsetRow));
72
+
73
+ if (model !== undefined) {
74
+ return "".concat(key, ".").concat(model.textForRowHeader(offsetRow));
75
+ }
72
76
  }
73
77
 
74
78
  return "".concat(offsetRow);
@@ -82,7 +86,10 @@ class MockTreeGridModel extends MockGridModel {
82
86
 
83
87
  if (key != null) {
84
88
  var model = children.get(key);
85
- return "".concat(key, ".").concat(model.textForCell(column, offsetRow));
89
+
90
+ if (model !== undefined) {
91
+ return "".concat(key, ".").concat(model.textForCell(column, offsetRow));
92
+ }
86
93
  }
87
94
 
88
95
  return "".concat(column, ",").concat(offsetRow);
@@ -101,7 +108,10 @@ class MockTreeGridModel extends MockGridModel {
101
108
 
102
109
  if (key != null) {
103
110
  var model = children.get(key);
104
- return model.isRowExpanded(offsetRow);
111
+
112
+ if (model !== undefined) {
113
+ return model.isRowExpanded(offsetRow);
114
+ }
105
115
  }
106
116
 
107
117
  return children.has(offsetRow);
@@ -115,7 +125,10 @@ class MockTreeGridModel extends MockGridModel {
115
125
 
116
126
  if (key != null) {
117
127
  var model = children.get(key);
118
- return model.depthForRow(offsetRow) + 1;
128
+
129
+ if (model !== undefined) {
130
+ return model.depthForRow(offsetRow) + 1;
131
+ }
119
132
  }
120
133
 
121
134
  return 0;
@@ -124,7 +137,6 @@ class MockTreeGridModel extends MockGridModel {
124
137
  this.children = _children;
125
138
  this.childRowCount = _childRowCount;
126
139
  this.maxDepth = _maxDepth;
127
- this.formatMap = columnFormatMap;
128
140
  }
129
141
 
130
142
  textForCell(column, row) {
@@ -165,15 +177,21 @@ class MockTreeGridModel extends MockGridModel {
165
177
 
166
178
  if (key != null) {
167
179
  var model = this.children.get(key);
168
- var {
169
- rowCount: originalChildRowCount
170
- } = model;
171
- model.setRowExpanded(offsetRow, isExpanded);
172
- this.numRows += model.rowCount - originalChildRowCount;
180
+
181
+ if (model !== undefined) {
182
+ var {
183
+ rowCount: originalChildRowCount
184
+ } = model;
185
+ model.setRowExpanded(offsetRow, isExpanded);
186
+ this.numRows += model.rowCount - originalChildRowCount;
187
+ }
173
188
  } else if (!isExpanded) {
174
189
  var childModel = children.get(offsetRow);
175
- this.numRows -= childModel.rowCount;
176
- children.delete(offsetRow);
190
+
191
+ if (childModel !== undefined) {
192
+ this.numRows -= childModel.rowCount;
193
+ children.delete(offsetRow);
194
+ }
177
195
  } else {
178
196
  var child = new MockTreeGridModel({
179
197
  rowCount: this.childRowCount,
@@ -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.ts"],"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","row","key","offsetRow","sortedEntries","sort","a","b","i","length","childRow","childModel","getCachedModelRowOffset","model","get","undefined","textForRowHeader","column","textForCell","depth","getCachedDepthForRow","isRowExpanded","has","depthForRow","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';\nimport ExpandableGridModel from './ExpandableGridModel';\nimport { ModelIndex } from './GridMetrics';\n\ntype ChildrenTreeMap = Map<ModelIndex, MockTreeGridModel>;\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 implements ExpandableGridModel {\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 private children: ChildrenTreeMap;\n\n private childRowCount: number;\n\n private maxDepth: number;\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 }: {\n children?: ChildrenTreeMap;\n columnCount?: number;\n rowCount?: number;\n childRowCount?: number;\n maxDepth?: number;\n } = {}) {\n super({ rowCount, columnCount });\n\n this.children = children;\n this.childRowCount = childRowCount;\n this.maxDepth = maxDepth;\n }\n\n textForCell(column: ModelIndex, row: ModelIndex): string {\n return this.getCachedTextForCell(this.children, column, row);\n }\n\n textForRowHeader(row: ModelIndex): string {\n return this.getCachedTextForRowHeader(this.children, row);\n }\n\n isRowMovable(row: ModelIndex): boolean {\n return false;\n }\n\n get hasExpandableRows(): boolean {\n return true;\n }\n\n get floatingBottomRowCount(): number {\n return 0;\n }\n\n isRowExpandable(row: ModelIndex): boolean {\n return this.getCachedIsRowExpandable(this.children, row, this.maxDepth);\n }\n\n isRowExpanded(row: ModelIndex): boolean {\n return this.getCachedIsRowExpanded(this.children, row);\n }\n\n setRowExpanded(row: ModelIndex, isExpanded: boolean): void {\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 if (model !== undefined) {\n const { rowCount: originalChildRowCount } = model;\n model.setRowExpanded(offsetRow, isExpanded);\n this.numRows += model.rowCount - originalChildRowCount;\n }\n } else if (!isExpanded) {\n const childModel = children.get(offsetRow);\n if (childModel !== undefined) {\n this.numRows -= childModel.rowCount;\n children.delete(offsetRow);\n }\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: ModelIndex): number {\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(\n (\n children: ChildrenTreeMap,\n row: ModelIndex\n ): { key: ModelIndex | null; offsetRow: ModelIndex } => {\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\n getCachedTextForRowHeader = memoizeClear(\n (children: ChildrenTreeMap, row: ModelIndex): string => {\n const { key, offsetRow } = this.getCachedModelRowOffset(children, row);\n\n if (key != null) {\n const model = children.get(key);\n if (model !== undefined) {\n return `${key}.${model.textForRowHeader(offsetRow)}`;\n }\n }\n\n return `${offsetRow}`;\n }\n );\n\n getCachedTextForCell = memoizeClear(\n (\n children: ChildrenTreeMap,\n column: ModelIndex,\n row: ModelIndex\n ): string => {\n const { key, offsetRow } = this.getCachedModelRowOffset(children, row);\n\n if (key != null) {\n const model = children.get(key);\n if (model !== undefined) {\n return `${key}.${model.textForCell(column, offsetRow)}`;\n }\n }\n\n return `${column},${offsetRow}`;\n }\n );\n\n getCachedIsRowExpandable = memoizeClear(\n (children: ChildrenTreeMap, row: ModelIndex, maxDepth: number): boolean => {\n const depth = this.getCachedDepthForRow(children, row);\n\n return depth < maxDepth;\n }\n );\n\n getCachedIsRowExpanded = memoizeClear(\n (children: ChildrenTreeMap, row: ModelIndex): boolean => {\n const { key, offsetRow } = this.getCachedModelRowOffset(children, row);\n\n if (key != null) {\n const model = children.get(key);\n if (model !== undefined) {\n return model.isRowExpanded(offsetRow);\n }\n }\n\n return children.has(offsetRow);\n }\n );\n\n getCachedDepthForRow = memoizeClear(\n (children: ChildrenTreeMap, row: ModelIndex): number => {\n const { key, offsetRow } = this.getCachedModelRowOffset(children, row);\n\n if (key != null) {\n const model = children.get(key);\n if (model !== undefined) {\n return model.depthForRow(offsetRow) + 1;\n }\n }\n\n return 0;\n }\n );\n}\n\nexport default MockTreeGridModel;\n"],"file":"MockTreeGridModel.js"}
@@ -0,0 +1,5 @@
1
+ export declare class AssertionError extends Error {
2
+ isAssertionFailed: boolean;
3
+ }
4
+ export default AssertionError;
5
+ //# sourceMappingURL=AssertionError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssertionError.d.ts","sourceRoot":"","sources":["../../src/errors/AssertionError.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;IACvC,iBAAiB,UAAQ;CAC1B;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,12 @@
1
+ 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
+
3
+ export class AssertionError extends Error {
4
+ constructor() {
5
+ super(...arguments);
6
+
7
+ _defineProperty(this, "isAssertionFailed", true);
8
+ }
9
+
10
+ }
11
+ export default AssertionError;
12
+ //# sourceMappingURL=AssertionError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/errors/AssertionError.ts"],"names":["AssertionError","Error"],"mappings":";;AAAA,OAAO,MAAMA,cAAN,SAA6BC,KAA7B,CAAmC;AAAA;AAAA;;AAAA,+CACpB,IADoB;AAAA;;AAAA;AAI1C,eAAeD,cAAf","sourcesContent":["export class AssertionError extends Error {\n isAssertionFailed = true;\n}\n\nexport default AssertionError;\n"],"file":"AssertionError.js"}
@@ -1,4 +1,4 @@
1
- declare class PasteError extends Error {
1
+ export declare class PasteError extends Error {
2
2
  isPasteError: boolean;
3
3
  }
4
4
  export default PasteError;
@@ -1 +1 @@
1
- {"version":3,"file":"PasteError.d.ts","sourceRoot":"","sources":["../../src/errors/PasteError.ts"],"names":[],"mappings":"AAAA,cAAM,UAAW,SAAQ,KAAK;IAC5B,YAAY,UAAQ;CACrB;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"PasteError.d.ts","sourceRoot":"","sources":["../../src/errors/PasteError.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAW,SAAQ,KAAK;IACnC,YAAY,UAAQ;CACrB;AAED,eAAe,UAAU,CAAC"}
@@ -1,6 +1,6 @@
1
1
  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
2
 
3
- class PasteError extends Error {
3
+ export class PasteError extends Error {
4
4
  constructor() {
5
5
  super(...arguments);
6
6
 
@@ -8,6 +8,5 @@ class PasteError extends Error {
8
8
  }
9
9
 
10
10
  }
11
-
12
11
  export default PasteError;
13
12
  //# 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":";;AAAA,OAAO,MAAMA,UAAN,SAAyBC,KAAzB,CAA+B;AAAA;AAAA;;AAAA,0CACrB,IADqB;AAAA;;AAAA;AAItC,eAAeD,UAAf","sourcesContent":["export class PasteError extends Error {\n isPasteError = true;\n}\n\nexport default PasteError;\n"],"file":"PasteError.js"}
@@ -0,0 +1,3 @@
1
+ export declare function assertIsDefined<T>(val: T): asserts val is NonNullable<T>;
2
+ export default assertIsDefined;
3
+ //# sourceMappingURL=assertIsDefined.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assertIsDefined.d.ts","sourceRoot":"","sources":["../../src/errors/assertIsDefined.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAMxE;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,8 @@
1
+ import AssertionError from "./AssertionError.js";
2
+ export function assertIsDefined(val) {
3
+ if (val === undefined || val === null) {
4
+ throw new AssertionError("Expected 'val' to be defined, but received ".concat(val));
5
+ }
6
+ }
7
+ export default assertIsDefined;
8
+ //# sourceMappingURL=assertIsDefined.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/errors/assertIsDefined.ts"],"names":["AssertionError","assertIsDefined","val","undefined"],"mappings":"OAAOA,c;AAEP,OAAO,SAASC,eAAT,CAA4BC,GAA5B,EAAmE;AACxE,MAAIA,GAAG,KAAKC,SAAR,IAAqBD,GAAG,KAAK,IAAjC,EAAuC;AACrC,UAAM,IAAIF,cAAJ,sDAC0CE,GAD1C,EAAN;AAGD;AACF;AAED,eAAeD,eAAf","sourcesContent":["import AssertionError from './AssertionError';\n\nexport function assertIsDefined<T>(val: T): asserts val is NonNullable<T> {\n if (val === undefined || val === null) {\n throw new AssertionError(\n `Expected 'val' to be defined, but received ${val}`\n );\n }\n}\n\nexport default assertIsDefined;\n"],"file":"assertIsDefined.js"}
@@ -1,2 +1,4 @@
1
+ export { default as assertIsDefined } from './assertIsDefined';
2
+ export { default as AssertionError } from './AssertionError';
1
3
  export { default as PasteError } from './PasteError';
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -1,3 +1,4 @@
1
- // eslint-disable-next-line import/prefer-default-export
1
+ export { default as assertIsDefined } from "./assertIsDefined.js";
2
+ export { default as AssertionError } from "./AssertionError.js";
2
3
  export { default as PasteError } from "./PasteError.js";
3
4
  //# 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","assertIsDefined","AssertionError","PasteError"],"mappings":"SAASA,OAAO,IAAIC,e;SACXD,OAAO,IAAIE,c;SACXF,OAAO,IAAIG,U","sourcesContent":["export { default as assertIsDefined } from './assertIsDefined';\nexport { default as AssertionError } from './AssertionError';\nexport { default as PasteError } from './PasteError';\n"],"file":"index.js"}
package/dist/index.d.ts CHANGED
@@ -10,6 +10,7 @@ export { default as GridUtils } from './GridUtils';
10
10
  export { default as KeyHandler } from './KeyHandler';
11
11
  export { default as MockGridModel } from './MockGridModel';
12
12
  export { default as MockTreeGridModel } from './MockTreeGridModel';
13
+ export { default as memoizeClear } from './memoizeClear';
13
14
  export * from './key-handlers';
14
15
  export * from './mouse-handlers';
15
16
  export * from './errors';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -10,6 +10,7 @@ export { default as GridUtils } from "./GridUtils.js";
10
10
  export { default as KeyHandler } from "./KeyHandler.js";
11
11
  export { default as MockGridModel } from "./MockGridModel.js";
12
12
  export { default as MockTreeGridModel } from "./MockTreeGridModel.js";
13
+ export { default as memoizeClear } from "./memoizeClear.js";
13
14
  export * from "./key-handlers/index.js";
14
15
  export * from "./mouse-handlers/index.js";
15
16
  export * from "./errors/index.js";
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","memoizeClear"],"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;SACXZ,OAAO,IAAIa,Y","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 { default as memoizeClear } from './memoizeClear';\nexport * from './key-handlers';\nexport * from './mouse-handlers';\nexport * from './errors';\n"],"file":"index.js"}
@@ -1,7 +1,8 @@
1
1
  import Grid from '../Grid';
2
- import KeyHandler from '../KeyHandler';
2
+ import KeyHandler, { GridKeyboardEvent } from '../KeyHandler';
3
+ import { EventHandlerResult } from '../EventHandlerResult';
3
4
  declare class EditKeyHandler extends KeyHandler {
4
- onDown(e: KeyboardEvent, grid: Grid): boolean;
5
+ onDown(event: GridKeyboardEvent, grid: Grid): EventHandlerResult;
5
6
  }
6
7
  export default EditKeyHandler;
7
8
  //# sourceMappingURL=EditKeyHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditKeyHandler.d.ts","sourceRoot":"","sources":["../../src/key-handlers/EditKeyHandler.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,UAAU,MAAM,eAAe,CAAC;AAEvC,cAAM,cAAe,SAAQ,UAAU;IACrC,MAAM,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO;CAyC9C;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"EditKeyHandler.d.ts","sourceRoot":"","sources":["../../src/key-handlers/EditKeyHandler.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,UAAU,EAAE,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,cAAM,cAAe,SAAQ,UAAU;IACrC,MAAM,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,GAAG,kBAAkB;CA0CjE;AAED,eAAe,cAAc,CAAC"}