angular / angular/components

feat(CdkMenu/CdkContextMenuTriggerFor): Allow CdkMenu to be programmatically opened/closed

Offen
#29,072 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
area: cdk/menu feature P3
Vorherrschende Sprache
TypeScript
Sterne
25k
Forks
6.8k
Ø Merge
1 T. 8 Std.
Gemergte PRs (30 T.)
91

Beschreibung

## 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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginnen Sie damit, die Directive-Einstiegspunkte CdkMenu und CdkContextMenuTriggerFor zu lesen und das vorhandene Verhalten zum Öffnen des Kontextmenüs und zum Schließen bei Klicks außerhalb nachzuverfolgen. Klären Sie die öffentliche API und die Ereignissemantik für das programmgesteuerte Öffnen/Schließen, das Deaktivieren des Schließens bei Klicks außerhalb sowie Benachrichtigungen über Kontextmenü-/Klicks außerhalb. Als erledigt gilt die Aufgabe, wenn das vereinbarte Verhalten implementiert und durch die relevanten Menütests abgedeckt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
angular, typescript
Bereich
frontend
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.