Skip to content
Projects
Groups
Snippets
Help
Sign in / Register
Toggle navigation
Minds Frontend
Project overview
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Locked Files
Issues
350
Merge Requests
60
CI / CD
Security & Compliance
Packages
Wiki
Snippets
Members
Collapse sidebar
Close sidebar
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Minds
Minds Frontend
Commits
e6fe8635
Commit
e6fe8635
authored
36 minutes ago
by
Emiliano Balbuena
Browse files
Options
Download
(feat): Keyboard navigation + esc key handling
parent
144389d7
epic/modal-pager
1 merge request
!716
WIP: Modal pager
Pipeline
#108181857
running with stages
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
50 additions
and
0 deletions
+50
-0
src/app/modules/media/modal/modal.component.ts
View file @
e6fe8635
...
...
@@ -608,6 +608,56 @@ export class MediaModalComponent implements OnInit, OnDestroy {
this
.
isFullscreen
=
false
;
}
// * KEYBOARD SHORTCUTS * --------------------------------------------------------------------------
@
HostListener
(
'
window:keydown
'
,
[
'
$event
'
])
onWindowKeyDown
(
$event
:
KeyboardEvent
)
{
if
(
!
$event
||
!
$event
.
target
)
{
return
true
;
}
const
tagName
=
(
(
$event
.
target
as
HTMLElement
).
tagName
||
''
).
toLowerCase
();
const
isContentEditable
=
(
$event
.
target
as
HTMLElement
).
contentEditable
===
'
true
'
;
if
(
tagName
===
'
input
'
||
tagName
===
'
textarea
'
||
isContentEditable
||
(
$event
.
key
!==
'
ArrowLeft
'
&&
$event
.
key
!==
'
ArrowRight
'
&&
$event
.
key
!==
'
Escape
'
)
)
{
return
true
;
}
$event
.
stopPropagation
();
$event
.
preventDefault
();
switch
(
$event
.
key
)
{
case
'
ArrowLeft
'
:
if
(
this
.
hasPrev
())
{
this
.
goToPrev
();
}
break
;
case
'
ArrowRight
'
:
if
(
this
.
hasNext
())
{
this
.
goToNext
();
}
break
;
case
'
Escape
'
:
if
(
this
.
isOpen
)
{
this
.
overlayModal
.
dismiss
();
}
break
;
}
return
true
;
}
// * MODAL DISMISSAL * --------------------------------------------------------------------------
// Dismiss modal when backdrop is clicked and modal is open
...
...
This diff is collapsed.
Please
register
or
sign in
to comment