material-react-table-narender 2.13.18 → 2.13.20

Sign up to get free protection for your applications and to get access to all the features.
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.13.18",
2
+ "version": "2.13.20",
3
3
  "license": "MIT",
4
4
  "name": "material-react-table-narender",
5
5
  "description": "A fully featured Material UI V5 implementation of TanStack React Table V8, written from the ground up in TypeScript.",
@@ -90,22 +90,40 @@ export const cellKeyboardShortcuts = <TData extends MRT_RowData = MRT_RowData>({
90
90
 
91
91
  const { enableKeyboardShortcuts } = getState();
92
92
 
93
- if (event.altKey) {
93
+ // alt + n
94
+ if (event.altKey && event.key.toLocaleLowerCase() === 'n') {
94
95
  event.preventDefault();
95
96
  setEnableKeyboardShortcuts(!enableKeyboardShortcuts);
96
97
  const currentCell = event.currentTarget;
97
98
 
98
99
 
99
- if (enableKeyboardShortcuts) {
100
- currentCell.style.outline = '2px solid red';
101
- // setTimeout(() => {
102
- // currentCell.style.outline = '';
103
- // },
104
- // 1000);
105
- currentCell.focus();
106
- return;
107
- }
100
+ if (enableKeyboardShortcuts) {
101
+ const input = currentCell.querySelector('input') as HTMLInputElement;
102
+ const select = currentCell.querySelector('select') as HTMLSelectElement;
103
+ const checkbox = currentCell.querySelector('input[type="checkbox"]') as HTMLInputElement;
104
+ const button = currentCell.querySelector('button') as HTMLButtonElement;
105
+ const autocomplete = currentCell.querySelector('.MuiAutocomplete-root input[type="text"]') as HTMLInputElement;
106
+
107
+
108
+ if (autocomplete) {
109
+ autocomplete.focus();
110
+ autocomplete.select?.();
111
+ } else if (input) {
112
+ input.focus();
113
+ input.select?.();
114
+ } else if (select) {
115
+ select.focus();
116
+ } else if (checkbox) {
117
+ checkbox.focus();
118
+ // checkbox.click();
119
+ } else if (button) {
120
+ button.focus();
121
+ } else {
122
+ currentCell.focus();
108
123
  }
124
+ }
125
+
126
+ }
109
127
 
110
128
  // if (!table.options.enableKeyboardShortcuts) return;
111
129
  if (!enableKeyboardShortcuts) return