Implement submenu behavior for "more actions" and overflow |
||||||||||||||||||||
Issue descriptionIn https://bugs.chromium.org/p/chromium/issues/detail?id=740821 we decided to use the popup instead of the submenu pattern for M61. Starting a new bug to track implementing the submenu pattern. IxD spec (image 6-8): https://gallery.googleplex.com/projects/MCHbtQVoQ2HCZbHF01iRNpsj/files/MCEVSrWNo2D1o3JYgiwZAP0nwMSJbxAVNpw
,
Oct 18 2017
,
Nov 16 2017
,
Nov 16 2017
,
Jan 31 2018
,
Feb 16 2018
<files-triage>
,
Feb 28 2018
,
Mar 1 2018
,
Aug 15
Could we take a look at this for M70? I think this will enable a lot of the additional functionality we are planning for for Files.
,
Aug 24
,
Aug 29
Noel - another one that would be nice to have for M-70, can you fit this in?
,
Aug 29
,
Sep 24
,
Oct 4
,
Oct 8
,
Oct 23
,
Oct 25
,
Nov 19
,
Dec 6
Attaching screenshot of implementation. Note, sub-menu tries to hang off the right hand side if there's space, but will position on the left side of its parent menu if it would get clipped. Also, the bottom of the sub-menu is limited to 2px from the bottom of the window and can scroll if there are clipped items.
,
Dec 10
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/25926832c991e99daffc84bac34b900c7fca924d commit 25926832c991e99daffc84bac34b900c7fca924d Author: Alex Danilo <adanilo@chromium.org> Date: Mon Dec 10 06:29:10 2018 Add support for nested menus in share button. This adds a menu implementation that supports nested menus for the overflow menu case. It uses the webUI model for the underlying implementation and manages the sub-menu interaction. In the FilesApp this is connected to the 'share' sub-menu to handle the case when there are lots of share items and they won't fit inside the viewport if added to a single menu. The MultiMenuButton implementation should be generic enough to use in other parts of the FilesApp where overflow sub-menu patterns are needed. Change-Id: Iaaf74e43c212c696d810d26d96e4e7c9eb4bf32c Bug: 762662 Test: Ran all browser tests, closure compile and manual testing Reviewed-on: https://chromium-review.googlesource.com/c/1364431 Reviewed-by: Luciano Pacheco <lucmult@chromium.org> Commit-Queue: Alex Danilo <adanilo@chromium.org> Cr-Commit-Position: refs/heads/master@{#615056} [modify] https://crrev.com/25926832c991e99daffc84bac34b900c7fca924d/ui/file_manager/file_manager/foreground/css/file_manager.css [modify] https://crrev.com/25926832c991e99daffc84bac34b900c7fca924d/ui/file_manager/file_manager/foreground/js/file_manager_commands.js [modify] https://crrev.com/25926832c991e99daffc84bac34b900c7fca924d/ui/file_manager/file_manager/foreground/js/file_tasks.js [modify] https://crrev.com/25926832c991e99daffc84bac34b900c7fca924d/ui/file_manager/file_manager/foreground/js/main_scripts.js [modify] https://crrev.com/25926832c991e99daffc84bac34b900c7fca924d/ui/file_manager/file_manager/foreground/js/task_controller.js [modify] https://crrev.com/25926832c991e99daffc84bac34b900c7fca924d/ui/file_manager/file_manager/foreground/js/task_controller_unittest.js [modify] https://crrev.com/25926832c991e99daffc84bac34b900c7fca924d/ui/file_manager/file_manager/foreground/js/ui/BUILD.gn [modify] https://crrev.com/25926832c991e99daffc84bac34b900c7fca924d/ui/file_manager/file_manager/foreground/js/ui/file_manager_ui.js [modify] https://crrev.com/25926832c991e99daffc84bac34b900c7fca924d/ui/file_manager/file_manager/foreground/js/ui/files_menu.js [add] https://crrev.com/25926832c991e99daffc84bac34b900c7fca924d/ui/file_manager/file_manager/foreground/js/ui/multi_menu.js [modify] https://crrev.com/25926832c991e99daffc84bac34b900c7fca924d/ui/file_manager/file_manager/main.html
,
Dec 12
,
Dec 13
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ef560dcd4b31e13e6b614204163b5d645322c47c commit ef560dcd4b31e13e6b614204163b5d645322c47c Author: Alex Danilo <adanilo@chromium.org> Date: Thu Dec 13 08:57:51 2018 Add unit test for MultiMenuButton (sub-menus) This is the initial unit test for the sub-menu implementation. The test checks that showing the main menu hosted by a menu-button doesn't cause the sub-menu to display. Change-Id: I279300d073a09a4f6a8ef848f84b2662769fcabf Bug: 762662 Reviewed-on: https://chromium-review.googlesource.com/c/1375191 Commit-Queue: Noel Gordon <noel@chromium.org> Reviewed-by: Noel Gordon <noel@chromium.org> Cr-Commit-Position: refs/heads/master@{#616250} [modify] https://crrev.com/ef560dcd4b31e13e6b614204163b5d645322c47c/chrome/browser/chromeos/file_manager/file_manager_jstest.cc [modify] https://crrev.com/ef560dcd4b31e13e6b614204163b5d645322c47c/ui/file_manager/file_manager/foreground/js/ui/BUILD.gn [add] https://crrev.com/ef560dcd4b31e13e6b614204163b5d645322c47c/ui/file_manager/file_manager/foreground/js/ui/multi_menu_unittest.js
,
Dec 18
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5ea1d6cc04ee3146d6866f8a6b3ee58d0e1c246e commit 5ea1d6cc04ee3146d6866f8a6b3ee58d0e1c246e Author: Alex Danilo <adanilo@chromium.org> Date: Tue Dec 18 23:42:23 2018 Added multiple unit tests for sub-menu behavior. Add unit tests to exercise the sub-menu functionalilty for various mouse events (over, out, mousedown). Also checking click outside the menu area hides all the displayed menus. Bug: 762662 Change-Id: I6ecd7527567ca002a117a14694ba064684213942 Reviewed-on: https://chromium-review.googlesource.com/c/1381318 Commit-Queue: Alex Danilo <adanilo@chromium.org> Reviewed-by: Noel Gordon <noel@chromium.org> Cr-Commit-Position: refs/heads/master@{#617672} [modify] https://crrev.com/5ea1d6cc04ee3146d6866f8a6b3ee58d0e1c246e/ui/file_manager/file_manager/foreground/js/ui/BUILD.gn [modify] https://crrev.com/5ea1d6cc04ee3146d6866f8a6b3ee58d0e1c246e/ui/file_manager/file_manager/foreground/js/ui/multi_menu.js [modify] https://crrev.com/5ea1d6cc04ee3146d6866f8a6b3ee58d0e1c246e/ui/file_manager/file_manager/foreground/js/ui/multi_menu_unittest.js
,
Dec 19
Landed with unit tests. Will re-use for https://bugs.chromium.org/p/chromium/issues/detail?id=869282 and anywhere else it makes sense to. |
||||||||||||||||||||
►
Sign in to add a comment |
||||||||||||||||||||
Comment 1 by weifangsun@chromium.org
, Sep 8 2017