Skip to content

Commit 54e4816

Browse files
committed
keeps resize handle in view when resizing with the keyboard
1 parent 1276c50 commit 54e4816

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

packages/components/src/components/hds/advanced-table/th-resize-handle.hbs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
aria-valuemax={{@column.pxMaxWidth}}
1010
tabindex="0"
1111
aria-label="Resize {{@column.label}} column"
12+
{{this.registerHandleElement}}
1213
{{on "pointerdown" this.startResize}}
1314
{{on "keydown" this.handleKeydown}}
1415
{{style height=this.height}}

packages/components/src/components/hds/advanced-table/th-resize-handle.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import Component from '@glimmer/component';
77
import { tracked } from '@glimmer/tracking';
88
import { action } from '@ember/object';
99
import { assert } from '@ember/debug';
10+
import { modifier } from 'ember-modifier';
1011

1112
import type HdsAdvancedTableColumn from './models/column';
1213

@@ -67,9 +68,16 @@ export default class HdsAdvancedTableThResizeHandle extends Component<HdsAdvance
6768
startNextColumnPxWidth?: number;
6869
} | null = null;
6970

71+
private handleElement!: HdsAdvancedTableThResizeHandleSignature['Element'];
7072
private boundResize: (event: PointerEvent) => void;
7173
private boundStopResize: () => void;
7274

75+
private registerHandleElement = modifier(
76+
(element: HdsAdvancedTableThResizeHandleSignature['Element']) => {
77+
this.handleElement = element;
78+
}
79+
);
80+
7381
constructor(
7482
owner: unknown,
7583
args: HdsAdvancedTableThResizeHandleSignature['Args']
@@ -135,6 +143,12 @@ export default class HdsAdvancedTableThResizeHandle extends Component<HdsAdvance
135143
nextColumn,
136144
currentNextColumnPxWidth // Current next col width before keyboard step
137145
);
146+
147+
this.handleElement.scrollIntoView({
148+
behavior: 'smooth',
149+
block: 'nearest',
150+
inline: 'nearest',
151+
});
138152
}
139153

140154
@action

0 commit comments

Comments
 (0)