Cannot capture keydown event in a modal
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- android, angular, typescript
- Área
- mobile-dev
Línea de trabajo
Comienza con la implementación extendida de dispatchKeyEvent en activity.android.ts y reproduce el problema con un modal que no ocupa toda la pantalla y que contiene el dropdown. Compara el manejo de teclas en el modal con el caso del componente que funciona y verifica que los eventos de las teclas de dirección se puedan capturar y registrar sin romper la navegación del dropdown.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Environment
Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):
- CLI: 14
- Cross-platform modules:
- Android Runtime: 8.2
- iOS Runtime:
- Plugin(s):
- NativeScript-Angular: 13
- Angular: 13.2
Describe the bug
I am unable to capture the keydown event in a modal dialog.
The key press is coming from a hardware keyboard, not the onscreen one.
I can accomplish this in any other component using:
application.on('KEYCODE_DPAD_DOWN', (() => {
console.log('Keyboard Down Arrow Pressed');
}));
And it works fine.
This is after extending activity.android.ts, and adding:
public dispatchKeyEvent(event) {
let keyCode = event.getKeyCode();
switch (keyCode) {
case android.view.KeyEvent.KEYCODE_DPAD_LEFT:
case android.view.KeyEvent.KEYCODE_DPAD_UP:
application.notify({
eventName: 'KEYCODE_DPAD_UP',
})
return true;
case android.view.KeyEvent.KEYCODE_DPAD_RIGHT:
case android.view.KeyEvent.KEYCODE_DPAD_DOWN:
application.notify({
eventName: 'KEYCODE_DPAD_DOWN',
})
return true;
default:
return super.dispatchKeyEvent(event);
}
}
I have tried every manner of capturing the keypress in a modal that I could, none work.
To Reproduce
Extend android activity to capture a keypress, try to capture a keypress in a non-fullscreen modal.
Expected behavior
Should be able to capture the keypress and console log it, similar to how it is in a component.
Sample project
Additional context
In my modal, I have a dropdown. If I open the dropdown and then press the up/down arrow keys, it navigates through the selections, so the buttons work in the modal, I just don't know how to capture and console log them.
Please let me know if additional info is required.
- Lenguaje dominante
- TypeScript
- Estrellas
- 55
- Forks
- 13
- Merge medio
- 16 min
- PR fusionados (30 d)
- 1
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de NativeScript/angular
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
NativeScript/angular#170 · 1 comentario ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
NativeScript/angular#164 ·
-
My types are gone Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
NativeScript/angular#163 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
NativeScript/angular#158 · 1 reacción ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
NativeScript/angular#155 ·
Todos los issues de NativeScript/angular
Issues similares
-
Type/Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
OpenNSW/nsw-srilanka#497 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
0xMiden/bridge-portal#132 ·
-
react-doctor severity:warning tech-debt
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
digidem/comapeo-cloud-app#403 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100