Project

General

Profile

Actions

Feature #21448

closed

Reorder and group context menu/toolbar

Added by Peter Amstutz 3 months ago. Updated 19 days ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Workbench2
Story points:
-

Description

Currently the context menu / toolbar is sorted alphabetically in some cases. I think this was done because it is combined from several other menu fragments which are enabled or disabled depending on the user's access. In other cases it doesn't seem to be sorting the options at all -- I think we get menus with the read only and writable options concatenated.

However, the result is that the options are not in any logical order. The options should be grouped by what they do and ordered on an approximate frequency of use, with spacers between groups. There's also instances of inconsistent ordering between the menus and the toolbar.

E.g. the current menu for a Process is

Add to favorites
API Details
Copy and re-run process
Edit Process
Move to
Open in new tab
Outputs
Remove
Share
View Details

I think these options can be put into conceptual groups "get more information", "perform an operation", and "toggle state".

Possible ordering for the process menu

View details
Open in new tab
Outputs
API details
---
Edit process
Copy and re-run process
Move to
Remove
---
Add to favorites
Add to public favorites

Possible ordering for the project and collection menu

View details
Open in new tab
Copy to clipboard
Open with 3rd party client
API details
---
New project
Edit project
Share
Move to
Remove
---
Freeze project
Add to favorites
Add to public favorites

Possible ordering for the registered workflow menu

View details
Open in new tab
Copy to clipboard
API details
---
Run workflow
Remove

Other edits

Processes have an option to "Share", but that doesn't actually work. That should be removed.

For processes, consider only showing "Edit process" on processes in "Draft" state.

For processes, I think we should consider removing the "Move to" option for the time being because it doesn't completely do what you want (it moves exactly that one process, but it doesn't move any of the child processes, outputs or logs).

"Copy to clipboard" should be "Copy link to clipboard"

We could consider striking "Outputs" as a menu option. There's other ways to get to it.

Implementation

Perhaps we could have a master list that has every possible option (independently of what it operates on) and the grouping. When building the toolbar or menu for any particular instance (which varies based on the thing selected and the user's level of access) it consults the master list to get a group and relative position for every item. This way, the order is consistent everywhere, and changes to ordering or grouping are reflected anywhere those items appear.


Subtasks 1 (0 open1 closed)

Task #21627: Review 21448-menu-reorderResolvedPeter Amstutz04/04/2024Actions

Related issues

Related to Arvados - Bug #21648: Group list, group members, and permissions have multi-select check boxes but no multi-select operationsNewActions
Actions #1

Updated by Peter Amstutz 3 months ago

  • Description updated (diff)
Actions #2

Updated by Peter Amstutz 3 months ago

  • Description updated (diff)
Actions #3

Updated by Peter Amstutz 2 months ago

  • Description updated (diff)
Actions #4

Updated by Peter Amstutz 2 months ago

  • Target version changed from Development 2024-02-28 sprint to Development 2024-03-13 sprint
Actions #5

Updated by Peter Amstutz 2 months ago

  • Target version changed from Development 2024-03-13 sprint to Development 2024-03-27 sprint
Actions #6

Updated by Peter Amstutz about 2 months ago

  • Target version changed from Development 2024-03-27 sprint to Development 2024-04-10 sprint
Actions #7

Updated by Peter Amstutz about 2 months ago

  • Tracker changed from Idea to Feature
Actions #8

Updated by Peter Amstutz about 1 month ago

  • Target version changed from Development 2024-04-10 sprint to Development 2024-03-27 sprint
  • Assigned To set to Lisa Knox
Actions #9

Updated by Peter Amstutz about 1 month ago

Some of this work is happening in #21224 so I'm putting in on the sprint to reflect the actual work being done.

Actions #10

Updated by Lisa Knox about 1 month ago

  • Status changed from New to In Progress
Actions #11

Updated by Peter Amstutz about 1 month ago

  • Target version changed from Development 2024-03-27 sprint to Development 2024-04-10 sprint
Actions #12

Updated by Lisa Knox 26 days ago

21448-menu-reorder @ commit: 857687c280c2a84152de6e8df840d0bcf1282bcf

developer-run-tests-services-workbench2: #654

  • ✅ All agreed upon points are implemented / addressed.
    • "Share" button removed from processes
    • "Copy to clipboard" changed to "Copy ink to clipboard" in all menus
  • ✅ Anything not implemented (discovered or discussed during work) has a follow-up story.
  • ✅ Code is tested and passing, both automated and manual, what manual testing was done is described
    • Manually tested by opening menus in a variety of places and trying all menu options
  • ✅ Documentation has been updated.
    n/a
  • ✅ Behaves appropriately at the intended scale (describe intended scale).
    n/a
  • ✅ Considered backwards and forwards compatibility issues between client and server.
    n/a
  • ✅ Follows our coding standards and GUI style guidelines.
Notes:
  • instead of the master order list, I opted for individual orderings that can be set declaratively in menu-item-sort.ts, including setting where the list dividers appear. Any resource that does not have an order currently defaults to alphabetical, but that can be easily changed. This allows for super-easy changes and menu customization in the future, if we choose to pursue that.
  • I also took the opportunity to change all menu "name" fields from hardcoded strings to constants. Previously, these fields only had one use so it didn't matter, but now they are used and referenced in several places so they need to be type safe
Actions #13

Updated by Peter Amstutz 25 days ago

This is really good, couple notes:

  • Based on feedback, let' have "Share" always be the first item in the 2nd group.
  • If you select a single collection, the icons on the second group are [Move, Copy, Trash] but if you select two collections the order changes to [Copy, Move, Trash]. It should be [Copy, Move, Trash] both places for consistency.
  • There's a little bit of a flicker when the toolbar appears. I'd prefer it show up all at once.
  • When the menu overflows, the vertical dividers seem to display whether or not there are items to separate, they are displayed as vertical in the menu, and also become clickable (but they don't do anything). Ideally these should render properly, but if that's complicated I think I'd be okay if the separators just don't show up in the overflow menu.
Actions #14

Updated by Lisa Knox 24 days ago

developer-run-tests-services-workbench2: #670

21448-menu-reorder @ commit: 6e82c6703a8caabcf5ed96b7bd0338e60a2b6619

Based on feedback, let' have "Share" always be the first item in the 2nd group.

done

If you select a single collection, the icons on the second group...

Added a default sort order for when more than one items are selected. This will have to change if/when we expand multiselect functionality.

There's a little bit of a flicker when the toolbar appears...

There was a css width transition originally, now removed.

When the menu overflows, the vertical dividers seem...

I fixed the display of non-overflowed dividers and opted to just remove dividers from the overflow menu itself.

Actions #15

Updated by Peter Amstutz 23 days ago

Lisa Knox wrote in #note-14:

There's a little bit of a flicker when the toolbar appears...

There was a css width transition originally, now removed.

I still see a brief flicker to blank when selecting a different kind of thing that has different toolbar items, but it is less distracting than the transition before.

LGTM

Actions #16

Updated by Peter Amstutz 23 days ago

Also I noticed issues with toolbar/multi-select in the Groups panel and added a follow-up ticket: #21648

Actions #17

Updated by Peter Amstutz 23 days ago

  • Related to Bug #21648: Group list, group members, and permissions have multi-select check boxes but no multi-select operations added
Actions #18

Updated by Anonymous 23 days ago

  • Status changed from In Progress to Resolved
Actions

Also available in: Atom PDF