Skip to content

Add the event command library component#677

Merged
Palbolsky merged 29 commits intodevelopfrom
428-create-the-component-for-the-event-command-library
Dec 9, 2025
Merged

Add the event command library component#677
Palbolsky merged 29 commits intodevelopfrom
428-create-the-component-for-the-event-command-library

Conversation

@Palbolsky
Copy link
Collaborator

@Palbolsky Palbolsky commented Oct 24, 2025

Description

This PR implements the event command library. For the moment, the editor is available in the event editor poc page.
The style of the nodes is still the default. The command type is transmitted correctly but for the moment only the text change. So it is theoretically possible to display the correct node command in react flow.

The user can:

  • Drag & drop a command
  • Click on a category to show the commands
  • Search a command

The component has been implemented in such a way as to make it easy to add new categories or commands. (we can add this in the documentation)

In the files src\models\entities\event\command.ts and src\models\entities\event\category.ts, we can add a command, a category and a command in a category.
In the file src\views\components\event\EventCategoryIcon.tsx, in the const IconsFromCategory we can link an icon and a color to a category.

Don't forget to add in i18n files the translation. The rules for the keys:

  • Category: event_category_{category_name}
  • Command: event_command_{command_name}
  • Helper for a command: event_command_{command_name}_helper

Improvement:

  • Change the style to match the current Studio style
  • The color for a category in currenty a string. Maybe use stronger typing (type EventCategoryColor = 'violet' | 'blue' ...)

Closes #428

Tests to perform

  • The user can drag & drop a command
  • The user can search a command
  • The user can select a category and show the commands

Screenshot

Pokemon.Studio.2025-12-08.21-03-49.mp4

@Palbolsky Palbolsky self-assigned this Oct 24, 2025
@Palbolsky Palbolsky added User story Issues related to a new feature or request UX Design Issues related to UX design labels Oct 24, 2025
@Palbolsky Palbolsky linked an issue Oct 24, 2025 that may be closed by this pull request
10 tasks
Copy link
Collaborator

@AerunDev AerunDev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello ! J'ai pu tester ta PR et c'est vraiment top ! 😄
Je mets ici quelques remarques et bugs que j'ai trouvé au fur et à mesure.

Important

On en parlera lors du point design, lors d'une démo avec Walven, ce commentaire n'appelle pas une réponse ici pour le moment.

Remarques

  1. Après usage, c'est la deuxième fois que je me surprends à vouloir drag & drop une catégorie sur le canva, alors qu'il me faut aller dans une catégorie pour obtenir la liste des commandes à drag & drop. Aelysya a eu la même problématique, je pense qu'il faudra qu'on revoit la partie catégorie pour qu'on ne soit pas tenté de drag & drop.
  2. La librairie de base rend la liaison entre deux nodes assez pénible. Il faudra vraiment qu'on soit vigilant sur cette partie lors de la réalisation du design car le branchement entre les nodes doit être agréable à réaliser, et surtout ne pas demander à l'utilisateur de maîtriser son curseur de façon abusive.
  3. On peut relier une node à elle-même en reliant les deux entrées. Mais on ne peut pas connecter 1000 nodes. Prenez un chewing-gum Emile.

Bugs

  1. Problème avec l'icône d'une catégorie
    Lorsque le nom d'une catégorie fait 3 lignes, l'icône est écrasée en hauteur.
Image Image Image
  1. Le nom de la commande dépasse de la boite de commande quand le texte est trop long
Image
  1. Lorsqu'on sélectionne une commande et qu'on la maintien en drag & drop au dessus du canva, et qu'on fait du gauche/droite rapide avec la node "Shadow" affichée, le curseur semble s'emballer et passer de drag & drop à impossible de drag & drop.
    a. Si on drop la commande au moment où l'icône est en interdit, la node reste "Shadow", et ajouter une nouvelle commande sur le canva viendra la supprimer.

  2. Lorsqu'on sélectionne une commande et qu'on la maintien en drag & drop au dessus du canva, et qu'on fait des mouvements circulaires lentement avec le curseur, les deux composants que sont le visuel de la boite de commande (carré provenant de la liste dans la bibliothèque) et la node "Shadow" bougent de façon désynchronisés.

  3. Lorsqu'on manipule les nodes, à certains moments, la nouvelle commande drag & drop depuis la bibliothèque possède déjà une liaison avec une node existance dès son apparition. Sans doute liée à un état actif / focus / selected d'une node existante avant de drag & drop. Le style actuel ne permet pas de bien voir, mais on règlera ça avec un premier design.

Copy link
Collaborator

@AntoinePoree AntoinePoree left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dans l'ensemble, c'est good malgré les points qu'on a vu avec Aerun, et je me permet de revoir la création de données, pour préparer le plus tard aussi. Je sais que c'est embétant, mais plutôt on s'y prend mieux c'est.
Si besoin d'aide, n'hésite pas, je peux m'occuper de deux trois sujets !

@Palbolsky
Copy link
Collaborator Author

Tout ce qui concerne les nodes pour le moment c'est expérimental. J'ai ajouté très rapidement la node shadow car j'ai eu une idée pour l'ajouter, qui a plutôt bien fonctionné, mais je n'ai pas testé les cas limites (parce que la partie node reste du poc pour le moment)

Pour les problèmes de textes qui débordent, c'est la raison pour laquelle la PR est en draft. (je cite : In draft because I need to fix the text overflow.) :p

Quand j'ai ajouté le français pendant que j'écrivais la description de la PR, j'ai vu qu'il y avait des problèmes d'où le draft. ^^'

@Palbolsky Palbolsky marked this pull request as ready for review October 25, 2025 12:56
@Palbolsky
Copy link
Collaborator Author

Palbolsky commented Oct 25, 2025

Changements apportés :

  • Ajout du text-overflow ellipsis pour éviter les débordements. Un tooltip s'ajoute automatiquement si le texte déborde pour que les utilisateurs puissent toujours lire la catégorie ou la commande.
  • Amélioration du TooltipContext pour gérer les text-overflow verticaux. C'était prévu que dans le cas horizontal donc j'ai complété une condition. J'ai testé les exemples de tooltip dans le design system et je n'ai pas vu de régression.
  • Des éléments qui étaient dans le fichier event ont été déplacé dans des fichiers respectifs (category et command) en prévision du grand nombre de commandes qui seront ajoutées. J'ai aussi créé un dossier event dans les entities pour plus de clarté.
  • Correction pour les devs : l'import auto mettait depuis un petit moment @root/toto/etc. J'ai changé l'ordre dans la config de l'application pour avoir des imports auto plus intelligent en premier (@src, @modelEntities, etc.) comme avant.

Correction non réalisée de la node shadow car je n'ai pas trouvé cmt faire (mais ça reste expérimental on verra plus tard)

La PR n'est plus en draft :)

@AerunDev
Copy link
Collaborator

@AerunDev AerunDev changed the title Feature: Create the component for the event command library Add the event command library component Nov 22, 2025
Copy link
Collaborator

@AerunDev AerunDev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Il faudra juste gérer les conflits i18n, et on sera bon pour cette première PR concernant la bibliothèque des commandes. Bien joué ! 😄

@Palbolsky Palbolsky force-pushed the 428-create-the-component-for-the-event-command-library branch from 83c445d to d3e477b Compare November 23, 2025 00:58
@Palbolsky Palbolsky force-pushed the 428-create-the-component-for-the-event-command-library branch from 7f341e9 to cc148fe Compare December 8, 2025 19:58
@Palbolsky Palbolsky merged commit 88cd798 into develop Dec 9, 2025
5 checks passed
@Palbolsky Palbolsky deleted the 428-create-the-component-for-the-event-command-library branch December 9, 2025 13:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

User story Issues related to a new feature or request UX Design Issues related to UX design

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create the component for the event command library

4 participants