DevExtreme JavaScript – 2019 Roadmap

DevExtreme Team Blog
22 January 2019
We wanted to thank everyone who voted in our 2019 Roadmap Survey. We value your feedback and thank you for sharing your thoughts with us. The following is a summary of our official 2019 roadmap.

Important Note: In nearly every instance, we selected features/products that received the highest vote count. In many instances, total votes for features that appear on this roadmap failed to break the 50% mark. This does not mean that the feature/product did not win the vote - it simply means that it received a plurality - not a majority.

DataGrid & TreeList

Record Reordering (v19.1)

Percentage of users who voted for this feature: 69%
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 (v19.1)

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 (v19.1 or v19.2)

Percentage of users who voted for this feature: 69%
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 (v19.1 or v19.2)

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 (v19.1)

Percentage of users who voted for this feature: 75%
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.

Remote Data Paging (v19.2)

Percentage of users who voted for this feature: 58%
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.

Scheduler

Adaptivity & UX Enhancements (v19.1)

Percentage of users who voted for this feature: 50%
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.

Standalone Recurrence Editor (v19.1)

We have a recurrence editor that is a part of the Scheduler appointment form and can’t be used separately. We expect to ship the Recurrence editor as a standalone control in 2019.

Performance - Virtual Scrolling (v19.2 or later)

Percentage of users who voted for this feature: 50%
To help improve overall performance and usability, we hope to add a new virtual scrolling mode to our Scheduler widget. When enabled, only visible appointments will be rendered.

HTML/Markdown Editor

Multiline Toolbar (v19.1)

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 @ (v19.1)

‘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.

Resize of Media Blocks (v19.1)

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

Upload Images via Drag-and-Drop & Copy/Paste (v19.1 or v19.2)

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.

Tables Support (v19.2)

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

Inline Formatting Toolbar (v19.2 or later)

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

Data Editors

Additional Action Buttons (v19.1)

Percentage of users who voted for this feature: 83%
Extend built-in editor action buttons with custom actions. You can find some examples of this feature here.

Data Form

Dynamic Updates without a Full Re-render (v19.1)

Percentage of users who voted for this feature: 82%
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 (v19.2)

Percentage of users who voted for this feature: 69%
Change parent-child relationships of TreeView nodes via drag-and-drop.

Cross-Component Nodes Drag-and-Drop (v19.2)

Percentage of users who voted for this feature: 69%
Move a node from one hierarchy to another using drag-and-drop.

New Dropdown Button Widget (v19.1)

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 Floating Button Widget (v19.1)

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 (v19.1 or v19.2)

Percentage of users who voted for this feature: 78%
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 (v19.2)

Percentage of users who voted for this feature: 67%
Kanban Board has become an essential control for task and project management in modern business web applications.

PivotGrid

Remote Data Paging (v19.1 or v19.2)

Percentage of users who voted for this feature: 63%
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.

Data Visualization

Chart Annotations (v19.1)

Percentage of users who voted for this feature: 77%
Annotate your charts with custom labels.

Scrollbar as RangeSelector in Charts (v19.2)

Percentage of users who voted for this feature: 65%
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 (v19.2)

Percentage of users who voted for this feature: 31%
Enable zoom for the Polar Chart. 

Based on feedback we’ve received to date, customization is crucial to many of you. We are going to dedicate significant resources to address limitations in this regard.

Legend Enhancements (v19.1 and v19.2)

Percentage of users who voted for this feature: 27%
We are considering the following legend features:
Expected in v19.1:
  • Add legend title
  • Custom item order
  • Item grouping
Expected in v19.1 or v19.2:
  • Add a legend to the Bar Gauge
Expected in v19.2 or later:
  • 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 (v19.1 and v19.2)

Percentage of users who voted for this feature: 26%
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 or later:
  • Resolve cross-series label overlaps.
  • Resolve labels overlaps for constant lines and strips.

Other Chart/Gauge Enhancements (v19.1 and v19.2)

Expected in v19.1:
  • Word-wrap within legend items, labels and titles
  • Extend available Chart/Gauge events (context menu event, element click or double click)
  • Set the custom position of axis (enable quadrants)
  • Manage exported chart layout (layout by columns, etc.)
Expected in v19.1 or 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 in v19.2 or 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 (v19.1 and v19.2)

Expected in v19.1:
  • Custom headers/footers
Expected in v19.2:
  • Multi-sheet export
  • Export summaries as functions
Expected in v19.2 or later:
  • Images export

Export to PDF (v19.2 or later)

Percentage of users who voted for this feature: 48%
We plan to offer a PDF export option in our DataGrid and Pivot Grid.

Data Layer

OData v4 Support (v19.1)

Percentage of users who voted for this feature: 58%
OData v4 support enables remote grouping and summary operations within DevExtreme controls -  improving performance when using large datasets.

Data Validation (v19.2)

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 (v19.2)

Percentage of users who voted for this feature: 70%
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 (v19.2 or later)

Percentage of users who voted for this feature: 30%
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 (v19.1)

Percentage of users who voted for this feature: 78%
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 and give you the ability to customize theme element and font size.

Chart Themes (v19.2)

Percentage of users who voted for this feature: 70%
We will update our Charting library so you can customize its appearance via the DevExtreme Theme Builder.

Angular

Visual Studio Project Templates with Responsive Application Layouts (v19.1)

Percentage of users who voted for this feature: 63%
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 (v19.2)

Percentage of users who voted for this feature: 63%
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 (v19.1 or v19.2)

Percentage of users who voted for this feature: 52%
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 (v19.1)

Percentage of users who voted for this feature: 52%
We recently introduced a set of Angular CLI tools and application layout templates. We will introduce the same capabilities for Devextreme-react.

Native React Grid

Inline Cell Editing (v19.1)

Percentage of users who voted for this feature: 85%
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 (v19.1)

Percentage of users who voted for this feature: 84%
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 (v19.2)

Percentage of users who voted for this feature: 81%
Export the contents of the DevExtreme React Grid to Excel (including options to configure formatting).

Scroll To Row (v19.2)

Percentage of users who voted for this feature: 76%
Programmatically scroll to a specified row when using virtual scroll mode.

List View (adaptive mode)

Percentage of users who voted for this feature: 80%
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 (v19.1)

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

Recurring Appointments (v19.1)

Allow users to specify recurrence patterns for an appointment.

Resources & Grouping (v19.2)

Assign resources to appointments and visualize appointments grouped by resources.

Timelines (v19.2)

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

Bootstrap Rendering (v19.2)

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 (v19.1)

Percentage of users who voted for this feature: 20%

Scrolling & Zooming (v19.1)

We expect to introduce zoom and scroll to our Chart widget.
Percentage of users who voted for this feature: 19%

Transitions on Update (v19.1 or v19.2)

Percentage of users who voted for this feature: 11%
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 (v19.2)

Percentage of users who voted for this feature: 10%
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 (v19.2)

Percentage of users who voted for this feature: 9%
The crosshair pointer allows a user to determine the argument and the value of a specific point more precisely.

Range Bar Series (v19.2 or later)

Percentage of users who voted for this feature: 9%
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 (v19.2 or later)

Percentage of users who voted for this feature: 8%
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.
Should you have any questions about this roadmap feel free to email us at info@devexpress.com.
The information contained within this blog post details our current/projected development plans. Please note that this information is being shared for INFORMATIONAL PURPOSES ONLY and does not represent a binding commitment on the part of Developer Express Inc. This roadmap and the features/products listed within it are subject to change. You should not rely on or use this information to help make a purchase decision about Developer Express Inc products.

 

Free DevExpress Products - Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We'll be happy to follow-up.
No Comments

Please login or register to post comments.