Menu: Overlay is blocking click and contextmenu events
- 主要言語
- TypeScript
- スター
- 25k
- フォーク
- 6.8k
- 平均マージ
- 1日 8時間
- マージ済み PR(30日)
- 91
説明
#### Bug, feature request, or proposal:
Bug
#### What is the expected behavior?
When menu is open, any click event (including context menu events) outside of the menu and targeting clickable items, is expected to work from the first time. Menu should be closed along with the action handled by the clicked item.
#### What is the current behavior?
Overlay is blocking click events (context menu events). Clicking on the overlay first closes the menu and the user needs to click again to do his desired action (e.g. clicking navigation item that).
#### What are the steps to reproduce?
1. Go to documents/demo page.
1. Navigate to Components -> Menu
1. Click on the first example for demo
1. Try to click any other component page from the left navigation - Component page will open after second click attempt ( after the menu is closed ).
#### What is the use-case or motivation for changing an existing behavior?
The current functionality is a bad UX decision. Users usually expect to execute actions with one click (closing menu is counted towards the executed action). Making the user to click twice to close the menu and then proceed to the desired action is frustrating and not likely acceptable by most projects.
It also causes issues if developers want to do custom context menu with the Menu component.
#### Which versions of Angular, Material, OS, TypeScript, browsers are affected?
* Angular 5.1.0
* Material 5.0.2
コントリビューションガイド
調査の方向性
まず、Components -> Menu の下にある documents/demo ページで、最初の例と左側のナビゲーションを使って問題を再現します。メニューオーバーレイによる click および contextmenu イベントの処理を追跡します。外側のクリック可能な対象が、最初のインタラクションでメニューを閉じ、そのアクションを実行すれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- angular, typescript
- 領域
- frontend
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100