Skip to content

Column Resizing

Maya edited this page Feb 24, 2020 · 14 revisions

Column Resizing Specification

Contents

  1. User Stories
  2. Functionality
  3. ARIA support

Objectives

Provides deffered column resizing for the igxGrid - a deferred update shows the user a temporary resize indicator while the drag operation is in effect and only applies the new column size once the drag operation ends.

Developer

  • As a developer, I want to mark specific columns as resizable, so that I can allow the end user to resize them interactively.

  • As a developer, I want to be notified when a column is resized, so that I can add custom logic.

  • As a developer, I want to configure minimum and maximum allowable column widths, so that I can restrict the end users to resizing columns to specific sizes.

  • As a developer, I want to enable best fit (auto) sizing via double click – the column will be sized to the longest currently visible cell value, so that the user can see the entire content.

  • As a developer, I want to be able to style the resize indicator.

End user

  • As an end user, I want to be able to resize columns, so that I can adjust the size of the columns.

  • As an end user, I want to have indication that the column can be resized, when the mouse is positioned over the header side border.

  • As an end user, I want to resize the columns by click, then dragging and dropping the visual indicator, so that I can resize interactively.

  • As an end user, I want to have a visual indicator of the initial state of the border that I am resizing while dragging the new location, so that I can resize interactively.

  • As an end user, I want to auto-size a column by double clicking on resize indicator.

  • As an end user, I want to be able to resize columns with multi-column headers, as well as pinned column.

2.1. End User Experience

Ends users should be able to resize columns according to their needs. The resizing is done via clicking and then dragging a temporary resize indicator. The new column size is applied only when the drag operation ends. Resizing a certain column affects the overall width of the grid - a horizontal scrollbar appears if necessary.

When resizing a child column, the parent header should also be resized. Same for when resizing the parent column – child column should adjust their sizes proportionally.

Pinned columns – pinned columns can be resized but resizing will be limited to 80% of the overall grid width.

Multi-column headers - when resizing a child column, the parent column should also be resized. Same for when resizing the parent column – child column should adjust their sizes proportionally.

2.2. Developer Experience

2.3. User Interface

2.4. API

Options

Name Description Type Default value Valid values

Methods

Name Description Return type Parameters

Events

Name Description Cancelable Parameters
  • Grid with different sizes and different column sizes (%, px, null)
  • Grid Feature Integration Scenarios
    • Resizing
    • Moving
    • Grouping
    • Search
    • Summaries
    • Hiding
    • Filtering – Test with UI elements rendered in the header ( like Filter row).
    • Multi-column headers
    • Multi-row layout
    • Master-Detail
    • Selection (cell selection, row selection, multi-cell selection)
    • Keyboard navigation
Clone this wiki locally