feat(CdkMenu/CdkContextMenuTriggerFor): Allow CdkMenu to be programmatically opened/closed
- Langage dominant
- TypeScript
- Étoiles
- 25k
- Forks
- 6.8k
- Merge moyen
- 1 j 8 h
- PR mergées (30 j)
- 91
Description
## Feature Description
### Current Behaviour
The directive `CdkMenu` is used with combination of `CdkContextMenuTriggerFor`. When user right-clicks (context-menu event), the menu gets opened and clicking on outside of the menu will close the menu.
### New Feature Requested
It would be great if user can manually/programmatically open/close the menu. And also disable closing the menu clicking outside.
#### Possible Solutions
1. Add a boolean input property `cdkContextMenuDisableCloseOnOutsideClick` - This will disable closing the `CdkMenu` on outside click
2. Add an event emitter property `cdkContextMenuTriggered` - This will emit everytime user right-clicks (context-menu event) with the coordinates
3. Add an event emitter property `cdkContextMenuClickedOutside` - This will emit everytime user clicks outside of the `CdkMenu`
### Use Case
This will allow users to handle animations with `CdkMenu` if they want to apply on open/close.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par lire les points d’entrée des directives CdkMenu et CdkContextMenuTriggerFor et par retracer le comportement existant d’ouverture du menu contextuel et de fermeture lors d’un clic à l’extérieur. Clarifiez l’API publique et la sémantique des événements pour l’ouverture/la fermeture programmatiques, la désactivation de la fermeture lors d’un clic à l’extérieur et les notifications de menu contextuel/clic à l’extérieur. Le travail est considéré comme terminé lorsque le comportement convenu est implémenté et couvert par les tests de menu pertinents.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- angular, typescript
- Domaine
- frontend
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100