Roadmap

Last updated: 8-MAY-2019

DataGrid & TreeList

Record Reordering

We’ll give you the ability to reorder DataGrid rows and change TreeList parent-child node relationships via drag-and-drop.

Excel-Like Editing Mode

We announced this feature in our 2018 Roadmap but it wasn’t ready to ship when v18.2 was released. We have received useful feedback on this feature and are going to ship it this year.

Cross-Component Drag-and-Drop

Some business scenarios require that users move items from one collection to another or from one hierarchy to another. We hope to support cross-component item drag-and-drop operations.

Accessibility Enhancements

In v18.2, we improved the DataGrid’s keyboard navigation capabilities with our ‘focused row’ feature. We now want to address remaining accessibility gaps. We will make it possible to navigate to and work with any existing DataGrid and TreeList element (such as grouping, sorting, paging) via the keyboard.

TreeList - New Filtering Modes

We’ll hope to extend the filtering capabilities of the TreeList with the following features:

  • enable search only through tree leaves;
  • include filtered nodes children into filter results.

TreeList - Remote Data Paging

At present, if you expand a node, the TreeList loads all child nodes and then paginates them locally. We want to give you the option to load nodes individually. This feature will work with both the pager control and through virtual scrolling - just like our DataGrid.

PivotGrid

Remote Data Paging

In 2019, we will give you the option to use partial aggregated data loading from a remote server. This new feature will work with both the Pivot Grid’s pager control (horizontal and vertical) and via virtual scrolling.

Scheduler

Adaptivity & UX Enhancements

We want to enhance our Scheduler to look and behave better on small screens (mobile devices). You can find some examples of this adaptive behavior in its ASP.NET counterpart here. If you’ve encountered specific usability issues with DevExtreme Scheduler, please share them with us.

HTML/Markdown Editor

Multiline Toolbar

At present, Toolbar items are hidden within a dropdown menu on small screens. If the number of items is large (as it is in the HtmlEditor) the menu gets too long and becomes difficult to use. We’ll introduce one more adaptive mode that will create a second horizontal line of toolbar items instead of creating a dropdown menu.

Mentions Support: via @

‘Mentions’ allow you select users or user groups by typing @ when composing rich text content. It’s widely used in team collaboration tools and project management applications.

Mentions | DevExpress

Resize of Media Blocks

We’ll give you the ability to resize images and video blocks via the mouse.

Resize media blocks | DevExpress

Upload Images via Drag-and-Drop & Copy/Paste

You will be able to embed images as base64-formatted content or upload it to a web server via drag-and-drop or copy-paste actions and reference it as a URL.

Upload images | DevExpress

Tables Support

We’ll give you the ability to insert and edit data tables.

Inline Formatting Toolbar

You’ll be able to reveal an inline formatting toolbar when selecting content that requires formatting.

Text Editors

Custom Buttons

Add additional buttons to data editors and reorder built-in actions. You can find some examples of this feature here.

Data Form

Dynamic Updates without a Full Re-render

We recently added partial update support to several DevExtreme widgets. This update can also be applied to the Form widget (for those who dynamically update forms and do not want to initiate a full form re-render).

TreeView

Node Reordering

Change parent-child relationships of TreeView nodes via drag-and-drop.

Cross-Component Nodes Drag-and-Drop

Move a node from one hierarchy to another using drag-and-drop.

New File Manager Widget

We plan to add a new Explorer-like component to manage files and folders. These will ship with a client-side responsive UI and REST API for file operations.

A button with a built-in dropdown menu. You can find this kind of widget in many modern web applications. Please, refer to the Bootstrap implementation for an example.

New Dropdown Button Widget | DevExpress

New Floating Button Widget

The concept of a Floating Button began with Material Design guidelines. We’ll support a simple Floating Button and a Floating Button with a pop-up menu.

New Drag-and-Drop Utilities

We want to create a drag-and-drop utilities library so you can construct custom drag-and-drop functionality outside of our UI widgets. One such usage scenario involves list sorting. We’ll make it extremely easy to implement such functionality.

New Kanban Board Widget

Kanban Board has become an essential control for task and project management in modern business web applications.

Data Visualization

Chart Annotations

Annotate your charts with custom labels.

Scrollbar as RangeSelector in Charts

Enhance a chart scrollbar to show the chart preview with range selection capability. This feature can help visualize long time-based series with zooming/scrolling enabled.

Zooming in Polar Chart

Enable zoom for the Polar Chart.

Legend Enhancements

We are considering the following legend features:

Expected in v19.1:

Expected in v19.2:

  • custom item bullets;
  • hide legend items for empty series;
  • extract the legend as a standalone widget;
  • display a legend inside a Pie or Donut.

Resolve Label Overlaps

In certain usage scenarios, our JavaScript Charting library can properly resolve label overlaps. We want to improve our product so that it can address the following use-cases:


Expected in v19.1:

  • resolve labels overlaps in Funnel Chart;
  • resolve label overlaps in Bar Gauge.


Expected in v19.2:

  • resolve cross-series label overlaps;
  • resolve labels overlaps for constant lines and strips.

Other Chart/Gauge Enhancements

Expected in v19.1:

  • word-wrap within legend items, labels and titles — discussion;
    Word wrap in the Charting widgets - Legend | DevExpress
  • extend available Chart/Gauge events (context menu event, element click or double click);
  • set the custom position of axis (enable quadrants) — discussion; Custom position of chart axes | DevExpress
  • manage exported chart layout (layout by columns, etc.).

Expected in v19.2:

  • display a tooltip only on point/series hover;
  • support custom points, labels, tooltip rendering using templates;
  • display custom text inside a Pie or Donut;
  • enable z-index for constant lines (to bring them behind or in front of other series);
  • specify the size of a chart pane (for multi-pane charts).

Expected later:

  • support custom styles of Chart/Gauge elements (gradients, patterns, background images, etc.);
  • display negative values for logarithmic scales;
  • use multiple colors for a single series (based on value/argument);
  • display total value labels for stacked series;
  • animate zoom-in and zoom-out transition.

Data Export

Export to Excel Customization Enhancements

Expected in v19.1:

  • custom headers/footers.
    Add header and footer | DevExpress

Expected in v19.2:

  • multi-sheet export;
    Export grids into separate worksheets | DevExpress
  • export summaries as functions.

Expected later:

  • images export.

Export to PDF

We plan to offer a PDF export option in our DataGrid and Pivot Grid.

Data Layer

OData v4 Support

OData v4 support enables remote grouping and summary operations within DevExtreme controls - improving performance when using large datasets.

Data Validation

Asynchronous Validation

When a user submits a data form, you may need to execute asynchronous remote validation. For instance, you may want to check whether a user already exists in the database during registration. We’ll provide a straight-forward API for such usage scenarios.

Performance Enhancements

Virtual Scrolling and Lazy Loading Everywhere

The vast majority of DevExtreme users work with large datasets (from thousands to millions of records). These datasets are rendered as lists within our controls. Our DataGrid supports virtual scrolling with lazy data loading. We’d like to make this feature available everywhere. This feature can be applied to the following list of widgets:

  • TreeView
  • Scheduler
  • Lists
  • DropDowns & Lookups
  • Header filters in DataGrid, TreeList, PivotGrid
  • Column choosers in DataGrid, TreeList, PivotGrid

Improved Code Splitting

The popular Code Splitting technique helps web developers improve app performance. To help maximize the benefits associated with Code Splitting, we hope to organize DevExtreme into smaller/functionality specific modules (for instance, we want to give you the option to use a read-only Data Grid without bundling any of its data editing features).

We also want to make our CSS more modular. You’ll be able to bundle only those styles/features being used in your app.

Themes

Element and Font Size Customization

DevExtreme includes a ‘compact’ and ‘regular’ theme sets. Our users find the ‘compact’ themes very useful when generating a highly dense, data-intensive UI. We will introduce a compact Material UI theme.

Chart Themes

We will update our Charting library so you can customize its appearance via the DevExtreme ThemeBuilder.

Angular

Visual Studio Project Templates with Responsive Application Layouts

In our v18.2 release cycle, we introduced a Drawer component and a set of responsive application layouts for Angular. We are going to integrate them into new Visual Studio project templates.

CRUD Forms Generation in Visual Studio Scaffolder

We recently introduced the scaffolding necessary to enable editing for CRUD list views (based on our DataGrid and TreeList controls). If you need to edit data objects with numerous properties, you may want to use a separate data Form instead of inline editing within the list view. We will extend the capabilities of our design time tools with a new Data Form Scaffolder.

Vue

Responsive Application Layout Templates & CLI Tools

Our Vue components were released a few weeks ago. DevExtreme Vue users have asked that we introduce layout templates much like those we ship with our Angular product line.

React

Responsive Application Layout Templates & CLI Tools

We recently introduced a set of Angular CLI tools and application layout templates. We will introduce the same capabilities for Devextreme-react.

Responsive Application Layout Templates | DevExpress

Native React Grid

Inline Cell Editing

Improve cell editing by placing a cell into edit mode when clicked (without the need to press the edit button in the edit column). Changes can be committed when the cell loses focus or via an explicit action (such as a ‘save’ button click).

Virtual Scrolling with Remote Data: Lazy-loading

At present, virtual scrolling only works with local data. We want to extend this feature and make virtual scrolling available when using remote data. Once implemented, a visible data range will be requested and rendered from the server.

Export to Excel

Export the contents of the DevExtreme React Grid to Excel (including options to configure formatting).

Scroll to Row

Programmatically scroll to a specified row when using virtual scroll mode.

List View (adaptive mode)

Render/display records as a traditional list with a custom, responsive layout (for improved usability on mobile devices).

Native React Scheduler

Drag-and-Drop Support

Allow users to modify appointment start/end date and time via drag-and-drop.

Recurring Appointments

Allow users to specify recurrence patterns for an appointment.

Resources & Grouping

Assign resources to appointments and visualize appointments grouped by resources.

Timelines

This popular scheduler view is a long scrollable time range divided by smaller time intervals. You can find some examples here.

Bootstrap Rendering

At present, native React Scheduler supports only Material-UI rendering. We want to extend it with Twitter Bootstrap 4 rendering. You will be able to apply Bootstrap themes with ease.

Native React Chart

Export Chart to Image/PDF

Scrolling & Zooming

We expect to introduce zoom and scroll to our Chart widget.

Transitions on Update

When a chart data source is updated, a transition can be applied to the chart. This makes it more attractive and improves user experience.

Point Aggregation

Point aggregation allows you to visualize more data within a smaller range. You’ll be able to apply different aggregate functions such as count, min, max, and average.

Crosshair

The crosshair pointer allows a user to determine the argument and the value of a specific point more precisely.

Range Bar Series

This type of series visualizes a value range with a single argument. Data is displayed as sets of rectangular bars beginning at a specified start value and ending at a specified end value.

Range Area Series

Range area series can be used to display value ranges corresponding to specified arguments. Data is displayed as a colored region between the line that joins the beginning and the line that joins the end series points.