Skip to content

Commit 11c996f

Browse files
committed
fix(spp_change_request_v2): remove global keyboard hotkeys
Single-letter hotkeys (A, R, D, N, P) were interfering with normal typing. Removed global_shortcuts service and keydown handler from review panel.
1 parent 9cba283 commit 11c996f

2 files changed

Lines changed: 1 addition & 217 deletions

File tree

spp_change_request_v2/static/src/components/global_shortcuts/global_shortcuts.js

Lines changed: 0 additions & 163 deletions
This file was deleted.

spp_change_request_v2/static/src/components/review_panel/review_panel.js

Lines changed: 1 addition & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/** @odoo-module **/
22

3-
import {Component, onMounted, onWillUnmount, useRef, useState} from "@odoo/owl";
3+
import {Component, onMounted, useRef, useState} from "@odoo/owl";
44
import {useService} from "@web/core/utils/hooks";
55
import {_t} from "@web/core/l10n/translation";
66

@@ -10,14 +10,6 @@ import {_t} from "@web/core/l10n/translation";
1010
* Provides a side-by-side view of:
1111
* - Left: Current registrant data
1212
* - Right: Proposed changes
13-
*
14-
* Keyboard shortcuts:
15-
* - A: Approve
16-
* - R: Request changes
17-
* - D: Decline
18-
* - N: Next in queue
19-
* - P: Previous in queue
20-
* - Escape: Close panel
2113
*/
2214
export class CRReviewPanel extends Component {
2315
static template = "spp_change_request_v2.CRReviewPanel";
@@ -54,11 +46,6 @@ export class CRReviewPanel extends Component {
5446

5547
onMounted(() => {
5648
this.loadData();
57-
document.addEventListener("keydown", this.onKeydown.bind(this));
58-
});
59-
60-
onWillUnmount(() => {
61-
document.removeEventListener("keydown", this.onKeydown.bind(this));
6249
});
6350
}
6451

@@ -163,46 +150,6 @@ export class CRReviewPanel extends Component {
163150
}
164151
}
165152

166-
// Keyboard handler
167-
onKeydown(event) {
168-
// Don't handle if we're in an input
169-
if (event.target.tagName === "INPUT" || event.target.tagName === "TEXTAREA") {
170-
return;
171-
}
172-
173-
switch (event.key.toLowerCase()) {
174-
case "a":
175-
if (this.state.canApprove) {
176-
event.preventDefault();
177-
this.onApprove();
178-
}
179-
break;
180-
case "r":
181-
if (this.state.canReject) {
182-
event.preventDefault();
183-
this.onRequestChanges();
184-
}
185-
break;
186-
case "d":
187-
if (this.state.canReject) {
188-
event.preventDefault();
189-
this.onDecline();
190-
}
191-
break;
192-
case "n":
193-
event.preventDefault();
194-
this.onNext();
195-
break;
196-
case "p":
197-
event.preventDefault();
198-
this.onPrevious();
199-
break;
200-
case "escape":
201-
event.preventDefault();
202-
this.onClose();
203-
break;
204-
}
205-
}
206153

207154
// Action handlers
208155
async onApprove() {

0 commit comments

Comments
 (0)