diff --git a/packages/datalib/src/GridDisplay.ts b/packages/datalib/src/GridDisplay.ts index 00fb8031c..6b7a78c66 100644 --- a/packages/datalib/src/GridDisplay.ts +++ b/packages/datalib/src/GridDisplay.ts @@ -288,8 +288,8 @@ export abstract class GridDisplay { return this.config.expandedColumns.includes(uniqueName); } - toggleExpandedColumn(uniqueName: string) { - this.includeInColumnSet('expandedColumns', uniqueName, !this.isExpandedColumn(uniqueName)); + toggleExpandedColumn(uniqueName: string, value?: boolean) { + this.includeInColumnSet('expandedColumns', uniqueName, value == null ? !this.isExpandedColumn(uniqueName) : value); } getFilter(uniqueName: string) { diff --git a/packages/datalib/src/TableFormViewDisplay.ts b/packages/datalib/src/TableFormViewDisplay.ts index 3335b39d3..6043ca7b1 100644 --- a/packages/datalib/src/TableFormViewDisplay.ts +++ b/packages/datalib/src/TableFormViewDisplay.ts @@ -265,8 +265,8 @@ export class TableFormViewDisplay extends FormViewDisplay { }; } - toggleExpandedColumn(uniqueName: string) { - this.gridDisplay.toggleExpandedColumn(uniqueName); + toggleExpandedColumn(uniqueName: string, value?: boolean) { + this.gridDisplay.toggleExpandedColumn(uniqueName, value); this.gridDisplay.reload(); } diff --git a/packages/web/src/formview/FormView.svelte b/packages/web/src/formview/FormView.svelte index ff7ce8103..b9617935b 100644 --- a/packages/web/src/formview/FormView.svelte +++ b/packages/web/src/formview/FormView.svelte @@ -406,6 +406,20 @@ })); } + if (event.keyCode == keycodes.numPadAdd) { + const col = getCellColumn(currentCell); + if (col.foreignKey) { + formDisplay.toggleExpandedColumn(col.uniqueName, true); + } + } + + if (event.keyCode == keycodes.numPadSub) { + const col = getCellColumn(currentCell); + if (col.foreignKey) { + formDisplay.toggleExpandedColumn(col.uniqueName, false); + } + } + if (event.keyCode == keycodes.f2) { // @ts-ignore dispatchInsplaceEditor({ type: 'show', cell: currentCell, selectAll: true }); diff --git a/packages/web/src/utility/keycodes.js b/packages/web/src/utility/keycodes.js index 4c02d1af1..30f930921 100644 --- a/packages/web/src/utility/keycodes.js +++ b/packages/web/src/utility/keycodes.js @@ -67,6 +67,8 @@ export default { numPad7: 103, numPad8: 104, numPad9: 105, + numPadAdd: 107, + numPadSub: 109, multiply: 106, add: 107, subtract: 109,