Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 9 Next »

See also: Data Tables

Lead:  Liav Nadler ONGOING 

Description

A column picker is a component allowing the user to select and reorder columns in a data table

Usage & Behaviour

General guidelines

  • The column picker appears inside a dialog box named Set Columns
  • It is triggered by clicking the Columns option in the column contextual menu
  • The dialog box contains two lists:
    • Selected Columns (on the right): a list of the currently displayed columns of the table
    • Available Columns (on the left): a list of all other columns available for that table
  • Between the two lists there is a set of buttons, allowing the user to move items between them (see below)
  • Under the selected columns list there is a set of buttons, allowing the user the reorder the selected items (see below)
  • Next to the selected columns title there is an indicator, showing the number of selected items out of the total number of items (e.g. 7/22)
  • At the top of each list there is a search bar, allowing the user to quickly locate specific items
  • If the list is too long to be displayed in its container, a scroll bar appears

Size

  • The number of items shown on each list will not exceed 10

Order

  • The Selected Columns list shows the list of columns in the same order as they appear on the data table
  • The Available Columns list is sorted alphabetically

States

  • The right and left buttons are disabled until the user selected at least one item: selecting items on the right enables the left button, and vice versa
  • The up and down buttons are disabled until the user selected at least one item on the Selected Columns list:
    • Selecting the top item will enable only the down button, and vice versa
    • Selecting other items will enable both the up and down buttons

Interaction

  • Mouseover an item triggers hover state

Selecting Items

  • Clicking an item selects it. The user can select more than one item on the list, using the Ctrl (or Command) key for discrete selection, or the Shift key for a block selection
  • Selecting items on a list deselects all the items on the other list

Moving items between lists

  • The user can move the selected items to the other list by clicking the right or left button between the lists
  • After the items were moved they remain selected until the user selects other items
  • Drag and drop? Is dragging limited to the marked area only?

Reordering items

  • The user can reorder selected items on the selected columns list by clicking the up or down buttons under the list
  • After the items were ordered they remain selected until the user selects other items
  • The user can also reorder items using drag and drop

Locking Items

  • The user can lock the first items on the selected columns list by clicking the lock icon on a specific item
  • Locking columns means that on the data table these columns will be anchored to the left side of the table, and could not be moved
  • Locking an item will lock all the items above it
  • Locked items on the list cannot be reordered
  • The user can unlock an item by clicking the relevant lock icon again

Accessibility compliance

<<In general each component should be A11y complied,  please follow the 3 guidelines linked below. At the very least we should document that each component is in compliance with each of the 3>>

Focus management

<<How will the component work with keyboard only - without a mouse. Can be reference if written above

We already set a general guidelines described in /wiki/spaces/UX/pages/308969693 >>

Screen reader support 

<<Make sure the components support screen reader for content or behaviour where needed - see /wiki/spaces/UX/pages/308248620 >>

Contrast & size compliance

<<Visual designers must comply with the minimal of /wiki/spaces/UX/pages/301498483 for each component>>

Design

Zeplin linkScreen thumbnail





Code

<<a box containing the code - discuss with Femi>>

  • No labels