From 28b6b1e5ea14bc02fc6d3d23b03f8e607380dc80 Mon Sep 17 00:00:00 2001 From: vincent Date: Fri, 4 Jul 2025 20:05:00 +0200 Subject: [PATCH] Ajoute des raccourcis clavier --- TODO.md | 2 +- assets/app.js | 24 +++++++++++++++++++++++- config/packages/workflow.yaml | 4 ++++ templates/project/index.html.twig | 2 +- templates/project/show.html.twig | 16 ++++++++-------- templates/task/show.html.twig | 11 ++++++----- 6 files changed, 43 insertions(+), 16 deletions(-) diff --git a/TODO.md b/TODO.md index 4dd93c6..92bc36d 100644 --- a/TODO.md +++ b/TODO.md @@ -3,5 +3,5 @@ * [ ] Mettre plus d’aide directement sur le site, avec des liens vers le forum, les sources, etc. * [ ] Se faire héberger sur histoire d’avoir une adresse web mémorisable * [ ] Mettre des projets en avant sur la page d’accueil (genre ceux pour lesquels il y a eu de l’activité récemment, ceux qui viennent d’être créés, etc) -* [ ] Mettre des raccourcis clavier sur les boutons +* [X] Mettre des raccourcis clavier sur les boutons * [ ] Internationaliser tout ça et y localiser au moins en anglais diff --git a/assets/app.js b/assets/app.js index 6f8974d..183ac72 100644 --- a/assets/app.js +++ b/assets/app.js @@ -27,7 +27,29 @@ document.addEventListener('keydown', function (event) { } }, false); document.addEventListener('keyup', function (event) { - if (event.key === "Control") { + if (event.key === 'Control') { document.body.classList.remove('yolo-balek'); } }, false); + +// Affiche les accesskeys quand on appuie sur Alt +document.addEventListener('keydown', function (event) { + if (event.key === 'Alt') { + document.querySelectorAll('main [accesskey]').forEach(function (element) { + const tooltip = Tooltip.getOrCreateInstance(element, { + 'title': element.getAttribute('accesskey'), + 'trigger': 'manual', + }); + tooltip.show(); + }); + } +}, false); +document.addEventListener('keyup', function (event) { + if (event.key === 'Alt') { + document.querySelectorAll('main [accesskey]').forEach(function (element) { + const tooltip = Tooltip.getInstance(element); + tooltip.hide(); + }); + } +}, false); + diff --git a/config/packages/workflow.yaml b/config/packages/workflow.yaml index abd4d44..39cf70e 100644 --- a/config/packages/workflow.yaml +++ b/config/packages/workflow.yaml @@ -33,6 +33,7 @@ framework: metadata: title: 'Commencer la tâche' short: 'Commencer' + accesskey: 'S' route: 'app_task_start' lock: true unlock: false @@ -42,6 +43,7 @@ framework: metadata: title: 'Terminer la tâche' short: 'Terminer' + accesskey: 'F' route: 'app_task_finish' lock: false unlock: true @@ -51,6 +53,7 @@ framework: metadata: title: 'Abandonner la tâche' short: 'Abandonner' + accesskey: 'S' route: 'app_task_cancel' lock: false unlock: true @@ -60,6 +63,7 @@ framework: metadata: title: 'Recommencer la tâche' short: 'Recommencer' + accesskey: 'S' route: 'app_task_reset' lock: false unlock: false diff --git a/templates/project/index.html.twig b/templates/project/index.html.twig index 6022a1c..2c3a77e 100644 --- a/templates/project/index.html.twig +++ b/templates/project/index.html.twig @@ -11,7 +11,7 @@ diff --git a/templates/project/show.html.twig b/templates/project/show.html.twig index 3577234..1eb2e26 100644 --- a/templates/project/show.html.twig +++ b/templates/project/show.html.twig @@ -18,7 +18,7 @@