@deephaven/grid 0.51.1-beta.0 → 0.52.1-alpha-mock-css-imports.2

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.
@@ -38,8 +38,8 @@ declare class MockGridModel extends GridModel implements EditableGridModel {
38
38
  textForRowHeader(row: ModelIndex): string;
39
39
  textForRowFooter(row: ModelIndex): string;
40
40
  setValueForCell(column: ModelIndex, row: ModelIndex, value: string): Promise<void>;
41
- setValueForRanges(ranges: GridRange[], text: string): Promise<void>;
42
- setValues(edits: EditOperation[]): Promise<void>;
41
+ setValueForRanges(ranges: readonly GridRange[], text: string): Promise<void>;
42
+ setValues(edits: readonly EditOperation[]): Promise<void>;
43
43
  editValueForCell(column: ModelIndex, row: ModelIndex): string;
44
44
  isValidForCell(column: ModelIndex, row: ModelIndex, value: string): boolean;
45
45
  isEditableRange(range: GridRange): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"MockGridModel.d.ts","sourceRoot":"","sources":["../src/MockGridModel.ts"],"names":[],"mappings":"AAEA,OAAO,iBAAiB,EAAE,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,cAAM,aAAc,SAAQ,SAAU,YAAW,iBAAiB;IAChE,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAE1B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAE7B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAE9B,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IAEjC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAE/B,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAEhC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE5B,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;gBAErB,EACV,QAAqB,EACrB,WAAiB,EACjB,mBAAuB,EACvB,sBAA0B,EAC1B,uBAA2B,EAC3B,wBAA4B,EAC5B,UAAkB,EAClB,UAAe,GAChB,GAAE;QACD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;KACpB;IAaN,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,mBAAmB,IAAI,MAAM,CAEhC;IAED,IAAI,sBAAsB,IAAI,MAAM,CAEnC;IAED,IAAI,uBAAuB,IAAI,MAAM,CAEpC;IAED,IAAI,wBAAwB,IAAI,MAAM,CAErC;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM;IAIxD,YAAY,CACV,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,SAAS,GACf,SAAS;IAIZ,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,SAAI,GAAG,MAAM;IAI1D,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM;IAIzC,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM;IAInC,eAAe,CACnB,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAOV,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnE,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtD,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM;IAI7D,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAI3E,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAI1C,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3C;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"MockGridModel.d.ts","sourceRoot":"","sources":["../src/MockGridModel.ts"],"names":[],"mappings":"AAEA,OAAO,iBAAiB,EAAE,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,cAAM,aAAc,SAAQ,SAAU,YAAW,iBAAiB;IAChE,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAE1B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAE7B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAE9B,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IAEjC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAE/B,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAEhC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE5B,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;gBAErB,EACV,QAAqB,EACrB,WAAiB,EACjB,mBAAuB,EACvB,sBAA0B,EAC1B,uBAA2B,EAC3B,wBAA4B,EAC5B,UAAkB,EAClB,UAAe,GAChB,GAAE;QACD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;KACpB;IAaN,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,mBAAmB,IAAI,MAAM,CAEhC;IAED,IAAI,sBAAsB,IAAI,MAAM,CAEnC;IAED,IAAI,uBAAuB,IAAI,MAAM,CAEpC;IAED,IAAI,wBAAwB,IAAI,MAAM,CAErC;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM;IAIxD,YAAY,CACV,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,SAAS,GACf,SAAS;IAIZ,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,SAAI,GAAG,MAAM;IAI1D,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM;IAIzC,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM;IAInC,eAAe,CACnB,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAOV,iBAAiB,CACrB,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IAMV,SAAS,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/D,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM;IAI7D,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAI3E,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAI1C,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3C;AAED,eAAe,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MockGridModel.js","names":["GridModel","GridRange","MockGridModel","constructor","rowCount","columnCount","floatingTopRowCount","floatingBottomRowCount","floatingLeftColumnCount","floatingRightColumnCount","isEditable","editedData","arguments","length","undefined","_defineProperty","numRows","numColumns","floatingTop","floatingBottom","floatingLeft","floatingRight","editable","textForCell","column","row","_this$editedData$colu","_this$editedData$colu2","concat","colorForCell","theme","textColor","textForColumnHeader","depth","textForRowHeader","textForRowFooter","setValueForCell","value","_this","_asyncToGenerator","setValueForRanges","ranges","text","_this2","forEachCell","x","y","setValues","edits","_this3","i","_edit$column","_edit$row","edit","editValueForCell","isValidForCell","isEditableRange","range","delete","Error"],"sources":["../src/MockGridModel.ts"],"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 rowCount?: number;\n columnCount?: number;\n floatingTopRowCount?: number;\n floatingBottomRowCount?: number;\n floatingLeftColumnCount?: number;\n floatingRightColumnCount?: number;\n isEditable?: boolean;\n editedData?: string[][];\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, depth = 0): 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"],"mappings":"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"}
1
+ {"version":3,"file":"MockGridModel.js","names":["GridModel","GridRange","MockGridModel","constructor","rowCount","columnCount","floatingTopRowCount","floatingBottomRowCount","floatingLeftColumnCount","floatingRightColumnCount","isEditable","editedData","arguments","length","undefined","_defineProperty","numRows","numColumns","floatingTop","floatingBottom","floatingLeft","floatingRight","editable","textForCell","column","row","_this$editedData$colu","_this$editedData$colu2","concat","colorForCell","theme","textColor","textForColumnHeader","depth","textForRowHeader","textForRowFooter","setValueForCell","value","_this","_asyncToGenerator","setValueForRanges","ranges","text","_this2","forEachCell","x","y","setValues","edits","_this3","i","_edit$column","_edit$row","edit","editValueForCell","isValidForCell","isEditableRange","range","delete","Error"],"sources":["../src/MockGridModel.ts"],"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 rowCount?: number;\n columnCount?: number;\n floatingTopRowCount?: number;\n floatingBottomRowCount?: number;\n floatingLeftColumnCount?: number;\n floatingRightColumnCount?: number;\n isEditable?: boolean;\n editedData?: string[][];\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, depth = 0): 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(\n ranges: readonly GridRange[],\n text: string\n ): Promise<void> {\n GridRange.forEachCell(ranges, (x, y) => {\n this.setValueForCell(x, y, text);\n });\n }\n\n async setValues(edits: readonly 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"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { GridRenderState } from './GridRendererTypes';
4
4
  import { TokenBox } from './GridUtils';
5
5
  export declare function isTokenBoxCellRenderer(cellRenderer: CellRenderer): cellRenderer is TokenBoxCellRenderer;
6
6
  interface TokenBoxCellRenderer extends CellRenderer {
7
- getTokenBoxesForVisibleCell(column: VisibleIndex, row: VisibleIndex, state: GridRenderState): TokenBox[];
7
+ getTokenBoxesForVisibleCell: (column: VisibleIndex, row: VisibleIndex, state: GridRenderState) => TokenBox[];
8
8
  }
9
9
  export default TokenBoxCellRenderer;
10
10
  //# sourceMappingURL=TokenBoxCellRenderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenBoxCellRenderer.d.ts","sourceRoot":"","sources":["../src/TokenBoxCellRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,YAAY,GACzB,YAAY,IAAI,oBAAoB,CAKtC;AAED,UAAU,oBAAqB,SAAQ,YAAY;IACjD,2BAA2B,CACzB,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,eAAe,GACrB,QAAQ,EAAE,CAAC;CACf;AAED,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"TokenBoxCellRenderer.d.ts","sourceRoot":"","sources":["../src/TokenBoxCellRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,YAAY,GACzB,YAAY,IAAI,oBAAoB,CAKtC;AAED,UAAU,oBAAqB,SAAQ,YAAY;IACjD,2BAA2B,EAAE,CAC3B,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,eAAe,KACnB,QAAQ,EAAE,CAAC;CACjB;AAED,eAAe,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TokenBoxCellRenderer.js","names":["isTokenBoxCellRenderer","cellRenderer","getTokenBoxesForVisibleCell","undefined"],"sources":["../src/TokenBoxCellRenderer.ts"],"sourcesContent":["import CellRenderer from './CellRenderer';\nimport { VisibleIndex } from './GridMetrics';\nimport { GridRenderState } from './GridRendererTypes';\nimport { TokenBox } from './GridUtils';\n\nexport function isTokenBoxCellRenderer(\n cellRenderer: CellRenderer\n): cellRenderer is TokenBoxCellRenderer {\n return (\n (cellRenderer as TokenBoxCellRenderer)?.getTokenBoxesForVisibleCell !==\n undefined\n );\n}\n\ninterface TokenBoxCellRenderer extends CellRenderer {\n getTokenBoxesForVisibleCell(\n column: VisibleIndex,\n row: VisibleIndex,\n state: GridRenderState\n ): TokenBox[];\n}\n\nexport default TokenBoxCellRenderer;\n"],"mappings":"AAKA,OAAO,SAASA,sBAAsBA,CACpCC,YAA0B,EACY;EACtC,OACE,CAACA,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAA2BC,2BAA2B,MACnEC,SAAS;AAEb"}
1
+ {"version":3,"file":"TokenBoxCellRenderer.js","names":["isTokenBoxCellRenderer","cellRenderer","getTokenBoxesForVisibleCell","undefined"],"sources":["../src/TokenBoxCellRenderer.ts"],"sourcesContent":["import CellRenderer from './CellRenderer';\nimport { VisibleIndex } from './GridMetrics';\nimport { GridRenderState } from './GridRendererTypes';\nimport { TokenBox } from './GridUtils';\n\nexport function isTokenBoxCellRenderer(\n cellRenderer: CellRenderer\n): cellRenderer is TokenBoxCellRenderer {\n return (\n (cellRenderer as TokenBoxCellRenderer)?.getTokenBoxesForVisibleCell !==\n undefined\n );\n}\n\ninterface TokenBoxCellRenderer extends CellRenderer {\n getTokenBoxesForVisibleCell: (\n column: VisibleIndex,\n row: VisibleIndex,\n state: GridRenderState\n ) => TokenBox[];\n}\n\nexport default TokenBoxCellRenderer;\n"],"mappings":"AAKA,OAAO,SAASA,sBAAsBA,CACpCC,YAA0B,EACY;EACtC,OACE,CAACA,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAA2BC,2BAA2B,MACnEC,SAAS;AAEb"}
@@ -5,7 +5,7 @@ declare class SelectionKeyHandler extends KeyHandler {
5
5
  onDown(event: GridKeyboardEvent, grid: Grid): EventHandlerResult;
6
6
  handleArrowMove(deltaColumn: number, deltaRow: number, event: GridKeyboardEvent, grid: Grid): boolean;
7
7
  handlePageUp(e: GridKeyboardEvent, grid: Grid): boolean;
8
- handlePageDown(e: GridKeyboardEvent, grid: Grid): boolean;
8
+ handlePageDown(event: GridKeyboardEvent, grid: Grid): boolean;
9
9
  }
10
10
  export default SelectionKeyHandler;
11
11
  //# sourceMappingURL=SelectionKeyHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionKeyHandler.d.ts","sourceRoot":"","sources":["../../src/key-handlers/SelectionKeyHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,IAAI,MAAM,SAAS,CAAC;AAG3B,OAAO,UAAU,EAAE,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE9D,cAAM,mBAAoB,SAAQ,UAAU;IAC1C,MAAM,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,GAAG,kBAAkB;IAuHhE,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,iBAAiB,EACxB,IAAI,EAAE,IAAI,GACT,OAAO;IAuEV,YAAY,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO;IAwCvD,cAAc,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO;CAyC1D;AAED,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"SelectionKeyHandler.d.ts","sourceRoot":"","sources":["../../src/key-handlers/SelectionKeyHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,IAAuB,MAAM,SAAS,CAAC;AAG9C,OAAO,UAAU,EAAE,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE9D,cAAM,mBAAoB,SAAQ,UAAU;IAC1C,MAAM,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,GAAG,kBAAkB;IAuHhE,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,iBAAiB,EACxB,IAAI,EAAE,IAAI,GACT,OAAO;IA8EV,YAAY,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO;IAwCvD,cAAc,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO;CA8C9D;AAED,eAAe,mBAAmB,CAAC"}
@@ -124,6 +124,10 @@ class SelectionKeyHandler extends KeyHandler {
124
124
  } = grid.state;
125
125
  var column = isShiftKey ? selectionEndColumn : cursorColumn;
126
126
  var row = isShiftKey ? selectionEndRow : cursorRow;
127
+ var stickyOptions = {
128
+ shouldStickBottom: deltaRow > 0,
129
+ shouldStickRight: deltaColumn > 0
130
+ };
127
131
  if (isModifierKey) {
128
132
  var {
129
133
  model
@@ -149,7 +153,7 @@ class SelectionKeyHandler extends KeyHandler {
149
153
  moveToRow = rowCount - 1;
150
154
  }
151
155
  if (moveToColumn != null && moveToRow != null) {
152
- grid.moveCursorToPosition(moveToColumn, moveToRow, isShiftKey, true, maximizePreviousRange);
156
+ grid.moveCursorToPosition(moveToColumn, moveToRow, isShiftKey, true, maximizePreviousRange, stickyOptions);
153
157
  }
154
158
  } else {
155
159
  if (!grid.metrics) throw new Error('grid.metrics are not set');
@@ -171,7 +175,7 @@ class SelectionKeyHandler extends KeyHandler {
171
175
  grid.moveCursorToPosition(left, cursorRow, isShiftKey, false);
172
176
  grid.setViewState({
173
177
  left
174
- });
178
+ }, false, stickyOptions);
175
179
  } else if (autoSelectColumn && deltaRow !== 0) {
176
180
  var {
177
181
  lastTop
@@ -183,9 +187,9 @@ class SelectionKeyHandler extends KeyHandler {
183
187
  grid.moveCursorToPosition(top, cursorColumn, isShiftKey, false);
184
188
  grid.setViewState({
185
189
  top
186
- });
190
+ }, false, stickyOptions);
187
191
  } else {
188
- grid.moveCursor(deltaColumn, deltaRow, isShiftKey);
192
+ grid.moveCursor(deltaColumn, deltaRow, isShiftKey, stickyOptions);
189
193
  }
190
194
  }
191
195
  return true;
@@ -227,8 +231,8 @@ class SelectionKeyHandler extends KeyHandler {
227
231
  });
228
232
  return true;
229
233
  }
230
- handlePageDown(e, grid) {
231
- var isShiftKey = e.shiftKey;
234
+ handlePageDown(event, grid) {
235
+ var isShiftKey = event.shiftKey;
232
236
  if (isShiftKey) {
233
237
  grid.trimSelectedRanges();
234
238
  } else {
@@ -262,9 +266,13 @@ class SelectionKeyHandler extends KeyHandler {
262
266
  selectRangeEndPosition = Math.min(selectRangeEndPosition, lastRowIndex);
263
267
  var viewportPosition = Math.min(lastTop, selectRangeEndPosition - (row - topVisible));
264
268
  grid.moveCursorToPosition(column, selectRangeEndPosition, isShiftKey, false);
269
+ var stickyOptions = {
270
+ shouldStickBottom: true,
271
+ shouldStickRight: false
272
+ };
265
273
  grid.setViewState({
266
274
  top: viewportPosition
267
- });
275
+ }, false, stickyOptions);
268
276
  return true;
269
277
  }
270
278
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionKeyHandler.js","names":["clamp","GridRange","GridUtils","KeyHandler","SelectionKeyHandler","onDown","event","grid","key","isModifierKeyDown","selectAll","handleArrowMove","handlePageUp","handlePageDown","shiftKey","clearSelectedRanges","moveCursorToPosition","state","cursorRow","model","props","columnCount","cursorColumn","rowCount","preventDefault","stopPropagation","selectedRanges","length","moveCursorInDirection","SELECTION_DIRECTION","UP","DOWN","LEFT","RIGHT","deltaColumn","deltaRow","isShiftKey","isModifierKey","trimSelectedRanges","selectionEndColumn","selectionEndRow","column","row","maximizePreviousRange","moveToColumn","moveToRow","metrics","Error","theme","autoSelectRow","autoSelectColumn","lastLeft","left","setViewState","lastTop","top","moveCursor","e","metricState","getMetricState","metricCalculator","bottomVisible","topVisible","hasHorizontalBar","getMetrics","selectRangeEndPosition","Math","max","viewportPosition","lastRowIndex","min"],"sources":["../../src/key-handlers/SelectionKeyHandler.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport clamp from 'lodash.clamp';\nimport { EventHandlerResult } from '../EventHandlerResult';\nimport Grid from '../Grid';\nimport GridRange from '../GridRange';\nimport GridUtils from '../GridUtils';\nimport KeyHandler, { GridKeyboardEvent } from '../KeyHandler';\n\nclass SelectionKeyHandler extends KeyHandler {\n onDown(event: GridKeyboardEvent, grid: Grid): EventHandlerResult {\n switch (event.key) {\n case 'a':\n if (GridUtils.isModifierKeyDown(event)) {\n grid.selectAll();\n return true;\n }\n break;\n case 'ArrowUp':\n return this.handleArrowMove(0, -1, event, grid);\n case 'ArrowDown':\n return this.handleArrowMove(0, 1, event, grid);\n case 'ArrowRight':\n return this.handleArrowMove(1, 0, event, grid);\n case 'ArrowLeft':\n return this.handleArrowMove(-1, 0, event, grid);\n /**\n * h/j/k/l keys are grouped together for quick navigation by power users.\n * Bender added these as shortcuts in the original commit of keyboard shortcuts.\n * We have no idea why, or what might have inspired them (not excel, not swing, vim?).\n * Maybe lack of page up keys on a laptop at the time?\n */\n case 'k':\n case 'K':\n if (GridUtils.isModifierKeyDown(event)) return false;\n return this.handlePageUp(event, grid);\n case 'j':\n case 'J':\n if (GridUtils.isModifierKeyDown(event)) return false;\n return this.handlePageDown(event, grid);\n case 'h':\n case 'H':\n if (GridUtils.isModifierKeyDown(event)) return false;\n if (!event.shiftKey) {\n grid.clearSelectedRanges();\n }\n grid.moveCursorToPosition(0, grid.state.cursorRow, event.shiftKey);\n return true;\n case 'l':\n case 'L': {\n if (GridUtils.isModifierKeyDown(event)) return false;\n const { model } = grid.props;\n const { columnCount } = model;\n if (!event.shiftKey) {\n grid.clearSelectedRanges();\n }\n grid.moveCursorToPosition(\n columnCount - 1,\n grid.state.cursorRow,\n event.shiftKey\n );\n return true;\n }\n case 'PageDown':\n return this.handlePageDown(event, grid);\n case 'PageUp':\n return this.handlePageUp(event, grid);\n case 'Home':\n if (!event.shiftKey) {\n grid.clearSelectedRanges();\n }\n grid.moveCursorToPosition(\n GridUtils.isModifierKeyDown(event) ? grid.state.cursorColumn : 0,\n GridUtils.isModifierKeyDown(event) ? 0 : grid.state.cursorRow,\n event.shiftKey,\n true,\n true\n );\n return true;\n case 'End': {\n const { model } = grid.props;\n const { columnCount, rowCount } = model;\n if (!event.shiftKey) {\n grid.clearSelectedRanges();\n }\n grid.moveCursorToPosition(\n GridUtils.isModifierKeyDown(event)\n ? grid.state.cursorColumn\n : columnCount - 1,\n GridUtils.isModifierKeyDown(event)\n ? rowCount - 1\n : grid.state.cursorRow,\n event.shiftKey,\n true,\n true\n );\n return true;\n }\n case 'Escape':\n grid.clearSelectedRanges();\n // Event consumed, but propagation not stopped\n // so the shortcut could be handled by the global handler\n return { preventDefault: false, stopPropagation: false };\n case 'Enter':\n if (grid.state.selectedRanges.length > 0) {\n grid.moveCursorInDirection(\n event.shiftKey\n ? GridRange.SELECTION_DIRECTION.UP\n : GridRange.SELECTION_DIRECTION.DOWN\n );\n return true;\n }\n break;\n case 'Tab':\n if (grid.state.selectedRanges.length > 0) {\n grid.moveCursorInDirection(\n event.shiftKey\n ? GridRange.SELECTION_DIRECTION.LEFT\n : GridRange.SELECTION_DIRECTION.RIGHT\n );\n return true;\n }\n break;\n default:\n break;\n }\n return false;\n }\n\n handleArrowMove(\n deltaColumn: number,\n deltaRow: number,\n event: GridKeyboardEvent,\n grid: Grid\n ): boolean {\n const isShiftKey = event.shiftKey;\n const isModifierKey = GridUtils.isModifierKeyDown(event);\n if (isShiftKey) {\n grid.trimSelectedRanges();\n } else {\n grid.clearSelectedRanges();\n }\n\n const { cursorRow, cursorColumn, selectionEndColumn, selectionEndRow } =\n grid.state;\n const column = isShiftKey ? selectionEndColumn : cursorColumn;\n const row = isShiftKey ? selectionEndRow : cursorRow;\n if (isModifierKey) {\n const { model } = grid.props;\n const { columnCount, rowCount } = model;\n const maximizePreviousRange = isModifierKey && isShiftKey;\n let moveToColumn = null;\n let moveToRow = null;\n if (deltaColumn < 0) {\n moveToColumn = 0;\n moveToRow = row;\n } else if (deltaColumn > 0) {\n moveToColumn = columnCount - 1;\n moveToRow = row;\n } else if (deltaRow < 0) {\n moveToColumn = column;\n moveToRow = 0;\n } else if (deltaRow > 0) {\n moveToColumn = column;\n moveToRow = rowCount - 1;\n }\n if (moveToColumn != null && moveToRow != null) {\n grid.moveCursorToPosition(\n moveToColumn,\n moveToRow,\n isShiftKey,\n true,\n maximizePreviousRange\n );\n }\n } else {\n if (!grid.metrics) throw new Error('grid.metrics are not set');\n\n const { theme } = grid.props;\n const { autoSelectRow = false, autoSelectColumn = false } = theme;\n if (autoSelectRow && deltaColumn !== 0) {\n const { lastLeft } = grid.metrics;\n let { left } = grid.state;\n\n left = clamp(left + deltaColumn, 0, lastLeft);\n\n grid.moveCursorToPosition(left, cursorRow, isShiftKey, false);\n\n grid.setViewState({ left });\n } else if (autoSelectColumn && deltaRow !== 0) {\n const { lastTop } = grid.metrics;\n let { top } = grid.state;\n\n top = clamp(top + deltaRow, 0, lastTop);\n\n grid.moveCursorToPosition(top, cursorColumn, isShiftKey, false);\n\n grid.setViewState({ top });\n } else {\n grid.moveCursor(deltaColumn, deltaRow, isShiftKey);\n }\n }\n return true;\n }\n\n handlePageUp(e: GridKeyboardEvent, grid: Grid): boolean {\n const isShiftKey = e.shiftKey;\n\n if (isShiftKey) {\n grid.trimSelectedRanges();\n } else {\n grid.clearSelectedRanges();\n }\n\n const { cursorColumn, selectionEndRow } = grid.state;\n const row: number | null = selectionEndRow;\n const column: number | null = cursorColumn;\n if (row == null) {\n return false;\n }\n const metricState = grid.getMetricState();\n const { metricCalculator } = grid;\n const { bottomVisible, topVisible, hasHorizontalBar } =\n metricCalculator.getMetrics(metricState);\n\n let selectRangeEndPosition = row - (bottomVisible - topVisible);\n selectRangeEndPosition -= hasHorizontalBar ? 0 : 1;\n\n // Don't move beyond the top table row.\n selectRangeEndPosition = Math.max(selectRangeEndPosition, 0);\n const viewportPosition = Math.max(\n selectRangeEndPosition - (row - topVisible),\n 0\n );\n\n grid.moveCursorToPosition(\n column,\n selectRangeEndPosition,\n isShiftKey,\n false\n );\n grid.setViewState({ top: viewportPosition });\n return true;\n }\n\n handlePageDown(e: GridKeyboardEvent, grid: Grid): boolean {\n const isShiftKey = e.shiftKey;\n\n if (isShiftKey) {\n grid.trimSelectedRanges();\n } else {\n grid.clearSelectedRanges();\n }\n\n const { selectionEndRow, cursorColumn } = grid.state;\n const row: number | null = selectionEndRow;\n const column: number | null = cursorColumn;\n if (row === null) {\n return false;\n }\n const metricState = grid.getMetricState();\n const { metricCalculator } = grid;\n const { bottomVisible, topVisible, hasHorizontalBar, rowCount, lastTop } =\n metricCalculator.getMetrics(metricState);\n const lastRowIndex = rowCount - 1;\n\n let selectRangeEndPosition = bottomVisible - topVisible + row;\n selectRangeEndPosition += hasHorizontalBar ? 0 : 1;\n\n // Don't move beyond the bottom table row.\n selectRangeEndPosition = Math.min(selectRangeEndPosition, lastRowIndex);\n\n const viewportPosition = Math.min(\n lastTop,\n selectRangeEndPosition - (row - topVisible)\n );\n grid.moveCursorToPosition(\n column,\n selectRangeEndPosition,\n isShiftKey,\n false\n );\n grid.setViewState({ top: viewportPosition });\n\n return true;\n }\n}\n\nexport default SelectionKeyHandler;\n"],"mappings":"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"}
1
+ {"version":3,"file":"SelectionKeyHandler.js","names":["clamp","GridRange","GridUtils","KeyHandler","SelectionKeyHandler","onDown","event","grid","key","isModifierKeyDown","selectAll","handleArrowMove","handlePageUp","handlePageDown","shiftKey","clearSelectedRanges","moveCursorToPosition","state","cursorRow","model","props","columnCount","cursorColumn","rowCount","preventDefault","stopPropagation","selectedRanges","length","moveCursorInDirection","SELECTION_DIRECTION","UP","DOWN","LEFT","RIGHT","deltaColumn","deltaRow","isShiftKey","isModifierKey","trimSelectedRanges","selectionEndColumn","selectionEndRow","column","row","stickyOptions","shouldStickBottom","shouldStickRight","maximizePreviousRange","moveToColumn","moveToRow","metrics","Error","theme","autoSelectRow","autoSelectColumn","lastLeft","left","setViewState","lastTop","top","moveCursor","e","metricState","getMetricState","metricCalculator","bottomVisible","topVisible","hasHorizontalBar","getMetrics","selectRangeEndPosition","Math","max","viewportPosition","lastRowIndex","min"],"sources":["../../src/key-handlers/SelectionKeyHandler.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport clamp from 'lodash.clamp';\nimport { EventHandlerResult } from '../EventHandlerResult';\nimport Grid, { StickyOptions } from '../Grid';\nimport GridRange from '../GridRange';\nimport GridUtils from '../GridUtils';\nimport KeyHandler, { GridKeyboardEvent } from '../KeyHandler';\n\nclass SelectionKeyHandler extends KeyHandler {\n onDown(event: GridKeyboardEvent, grid: Grid): EventHandlerResult {\n switch (event.key) {\n case 'a':\n if (GridUtils.isModifierKeyDown(event)) {\n grid.selectAll();\n return true;\n }\n break;\n case 'ArrowUp':\n return this.handleArrowMove(0, -1, event, grid);\n case 'ArrowDown':\n return this.handleArrowMove(0, 1, event, grid);\n case 'ArrowRight':\n return this.handleArrowMove(1, 0, event, grid);\n case 'ArrowLeft':\n return this.handleArrowMove(-1, 0, event, grid);\n /**\n * h/j/k/l keys are grouped together for quick navigation by power users.\n * Bender added these as shortcuts in the original commit of keyboard shortcuts.\n * We have no idea why, or what might have inspired them (not excel, not swing, vim?).\n * Maybe lack of page up keys on a laptop at the time?\n */\n case 'k':\n case 'K':\n if (GridUtils.isModifierKeyDown(event)) return false;\n return this.handlePageUp(event, grid);\n case 'j':\n case 'J':\n if (GridUtils.isModifierKeyDown(event)) return false;\n return this.handlePageDown(event, grid);\n case 'h':\n case 'H':\n if (GridUtils.isModifierKeyDown(event)) return false;\n if (!event.shiftKey) {\n grid.clearSelectedRanges();\n }\n grid.moveCursorToPosition(0, grid.state.cursorRow, event.shiftKey);\n return true;\n case 'l':\n case 'L': {\n if (GridUtils.isModifierKeyDown(event)) return false;\n const { model } = grid.props;\n const { columnCount } = model;\n if (!event.shiftKey) {\n grid.clearSelectedRanges();\n }\n grid.moveCursorToPosition(\n columnCount - 1,\n grid.state.cursorRow,\n event.shiftKey\n );\n return true;\n }\n case 'PageDown':\n return this.handlePageDown(event, grid);\n case 'PageUp':\n return this.handlePageUp(event, grid);\n case 'Home':\n if (!event.shiftKey) {\n grid.clearSelectedRanges();\n }\n grid.moveCursorToPosition(\n GridUtils.isModifierKeyDown(event) ? grid.state.cursorColumn : 0,\n GridUtils.isModifierKeyDown(event) ? 0 : grid.state.cursorRow,\n event.shiftKey,\n true,\n true\n );\n return true;\n case 'End': {\n const { model } = grid.props;\n const { columnCount, rowCount } = model;\n if (!event.shiftKey) {\n grid.clearSelectedRanges();\n }\n grid.moveCursorToPosition(\n GridUtils.isModifierKeyDown(event)\n ? grid.state.cursorColumn\n : columnCount - 1,\n GridUtils.isModifierKeyDown(event)\n ? rowCount - 1\n : grid.state.cursorRow,\n event.shiftKey,\n true,\n true\n );\n return true;\n }\n case 'Escape':\n grid.clearSelectedRanges();\n // Event consumed, but propagation not stopped\n // so the shortcut could be handled by the global handler\n return { preventDefault: false, stopPropagation: false };\n case 'Enter':\n if (grid.state.selectedRanges.length > 0) {\n grid.moveCursorInDirection(\n event.shiftKey\n ? GridRange.SELECTION_DIRECTION.UP\n : GridRange.SELECTION_DIRECTION.DOWN\n );\n return true;\n }\n break;\n case 'Tab':\n if (grid.state.selectedRanges.length > 0) {\n grid.moveCursorInDirection(\n event.shiftKey\n ? GridRange.SELECTION_DIRECTION.LEFT\n : GridRange.SELECTION_DIRECTION.RIGHT\n );\n return true;\n }\n break;\n default:\n break;\n }\n return false;\n }\n\n handleArrowMove(\n deltaColumn: number,\n deltaRow: number,\n event: GridKeyboardEvent,\n grid: Grid\n ): boolean {\n const isShiftKey = event.shiftKey;\n const isModifierKey = GridUtils.isModifierKeyDown(event);\n if (isShiftKey) {\n grid.trimSelectedRanges();\n } else {\n grid.clearSelectedRanges();\n }\n\n const { cursorRow, cursorColumn, selectionEndColumn, selectionEndRow } =\n grid.state;\n const column = isShiftKey ? selectionEndColumn : cursorColumn;\n const row = isShiftKey ? selectionEndRow : cursorRow;\n const stickyOptions: StickyOptions = {\n shouldStickBottom: deltaRow > 0,\n shouldStickRight: deltaColumn > 0,\n };\n\n if (isModifierKey) {\n const { model } = grid.props;\n const { columnCount, rowCount } = model;\n const maximizePreviousRange = isModifierKey && isShiftKey;\n let moveToColumn = null;\n let moveToRow = null;\n if (deltaColumn < 0) {\n moveToColumn = 0;\n moveToRow = row;\n } else if (deltaColumn > 0) {\n moveToColumn = columnCount - 1;\n moveToRow = row;\n } else if (deltaRow < 0) {\n moveToColumn = column;\n moveToRow = 0;\n } else if (deltaRow > 0) {\n moveToColumn = column;\n moveToRow = rowCount - 1;\n }\n if (moveToColumn != null && moveToRow != null) {\n grid.moveCursorToPosition(\n moveToColumn,\n moveToRow,\n isShiftKey,\n true,\n maximizePreviousRange,\n stickyOptions\n );\n }\n } else {\n if (!grid.metrics) throw new Error('grid.metrics are not set');\n\n const { theme } = grid.props;\n const { autoSelectRow = false, autoSelectColumn = false } = theme;\n\n if (autoSelectRow && deltaColumn !== 0) {\n const { lastLeft } = grid.metrics;\n let { left } = grid.state;\n\n left = clamp(left + deltaColumn, 0, lastLeft);\n\n grid.moveCursorToPosition(left, cursorRow, isShiftKey, false);\n\n grid.setViewState({ left }, false, stickyOptions);\n } else if (autoSelectColumn && deltaRow !== 0) {\n const { lastTop } = grid.metrics;\n let { top } = grid.state;\n\n top = clamp(top + deltaRow, 0, lastTop);\n\n grid.moveCursorToPosition(top, cursorColumn, isShiftKey, false);\n\n grid.setViewState({ top }, false, stickyOptions);\n } else {\n grid.moveCursor(deltaColumn, deltaRow, isShiftKey, stickyOptions);\n }\n }\n return true;\n }\n\n handlePageUp(e: GridKeyboardEvent, grid: Grid): boolean {\n const isShiftKey = e.shiftKey;\n\n if (isShiftKey) {\n grid.trimSelectedRanges();\n } else {\n grid.clearSelectedRanges();\n }\n\n const { cursorColumn, selectionEndRow } = grid.state;\n const row: number | null = selectionEndRow;\n const column: number | null = cursorColumn;\n if (row == null) {\n return false;\n }\n const metricState = grid.getMetricState();\n const { metricCalculator } = grid;\n const { bottomVisible, topVisible, hasHorizontalBar } =\n metricCalculator.getMetrics(metricState);\n\n let selectRangeEndPosition = row - (bottomVisible - topVisible);\n selectRangeEndPosition -= hasHorizontalBar ? 0 : 1;\n\n // Don't move beyond the top table row.\n selectRangeEndPosition = Math.max(selectRangeEndPosition, 0);\n const viewportPosition = Math.max(\n selectRangeEndPosition - (row - topVisible),\n 0\n );\n\n grid.moveCursorToPosition(\n column,\n selectRangeEndPosition,\n isShiftKey,\n false\n );\n grid.setViewState({ top: viewportPosition });\n return true;\n }\n\n handlePageDown(event: GridKeyboardEvent, grid: Grid): boolean {\n const isShiftKey = event.shiftKey;\n\n if (isShiftKey) {\n grid.trimSelectedRanges();\n } else {\n grid.clearSelectedRanges();\n }\n\n const { selectionEndRow, cursorColumn } = grid.state;\n const row: number | null = selectionEndRow;\n const column: number | null = cursorColumn;\n if (row === null) {\n return false;\n }\n const metricState = grid.getMetricState();\n const { metricCalculator } = grid;\n const { bottomVisible, topVisible, hasHorizontalBar, rowCount, lastTop } =\n metricCalculator.getMetrics(metricState);\n const lastRowIndex = rowCount - 1;\n\n let selectRangeEndPosition = bottomVisible - topVisible + row;\n selectRangeEndPosition += hasHorizontalBar ? 0 : 1;\n\n // Don't move beyond the bottom table row.\n selectRangeEndPosition = Math.min(selectRangeEndPosition, lastRowIndex);\n\n const viewportPosition = Math.min(\n lastTop,\n selectRangeEndPosition - (row - topVisible)\n );\n grid.moveCursorToPosition(\n column,\n selectRangeEndPosition,\n isShiftKey,\n false\n );\n\n const stickyOptions: StickyOptions = {\n shouldStickBottom: true,\n shouldStickRight: false,\n };\n grid.setViewState({ top: viewportPosition }, false, stickyOptions);\n\n return true;\n }\n}\n\nexport default SelectionKeyHandler;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/grid",
3
- "version": "0.51.1-beta.0+54f7cc5d",
3
+ "version": "0.52.1-alpha-mock-css-imports.2+8f22bf9c",
4
4
  "description": "Deephaven React grid component",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -31,7 +31,7 @@
31
31
  "*.css"
32
32
  ],
33
33
  "dependencies": {
34
- "@deephaven/utils": "^0.51.1-beta.0+54f7cc5d",
34
+ "@deephaven/utils": "^0.52.1-alpha-mock-css-imports.2+8f22bf9c",
35
35
  "classnames": "^2.3.1",
36
36
  "color-convert": "^2.0.1",
37
37
  "event-target-shim": "^6.0.2",
@@ -44,5 +44,5 @@
44
44
  "publishConfig": {
45
45
  "access": "public"
46
46
  },
47
- "gitHead": "54f7cc5d08a9c1a390b2e89a9fb84fe1018008eb"
47
+ "gitHead": "8f22bf9c6e5d829c880263e83b4e88aca9d6e26b"
48
48
  }