Carlos Cifuentes
Migración de librerías AngularJS · atajos de teclado

Migrar angular-hotkeys a Angular moderno

angular-hotkeys registraba atajos de teclado con un servicio hotkeys sobre Mousetrap, los asociaba a scopes o rutas y mostraba un cheat sheet cuando el usuario presionaba la tecla de signo de interrogación. Está atada a AngularJS.

Qué la reemplaza

OpciónCuándo elegirla
Angular key event bindingsBindings como (keydown.control.s) o (document:keydown.escape) cubren los atajos que pertenecen a un componente.
Your own shortcut serviceUn registro de atajos globales con descripciones, que además puede alimentar un diálogo de ayuda como el cheat sheet anterior.
tinykeysUna librería muy pequeña e independiente del framework que soporta secuencias de teclas; envuélvela en un servicio.

Cómo migrarla

  1. Exporta la lista de atajos con sus descripciones; el cheat sheet ya la tiene.
  2. Usa bindings de teclas en el template o en el host para los atajos que pertenecen a un componente.
  3. Deja los atajos globales en un solo servicio que los registre y los quite según el ciclo de vida de la ruta o del componente.

Cuidado con. Mousetrap ignoraba los atajos mientras el usuario escribía en inputs, selects y textareas. Tu reemplazo debe hacer lo mismo, o los atajos de una sola tecla se van a disparar en medio de un formulario.

Otras librerías

¿Planeas una migración o una plataforma de microfrontends?

En una llamada de 20 minutos me cuentas tu situación y te digo cómo la abordaría. Si todavía no vale la pena, también te lo digo.

Escríbeme por LinkedIn