Fast and Lightweight
- We build small: our most popular control, FlexGrid, has a base size of 113 KB.
- Wijmo’s controls are lightning-fast. Try the benchmark demo.
Flexible and Extensible
- Our easy-to-read, flexible API has a low learning curve and allows you to extend controls to meet your needs.
- Controls are designed to have a simple core with as many extensibility points as possible. FlexGrid’s core has all the standard features of a data grid, but complex filtering, grouping, and more, are available as extensions.
Controls: What’s Included in Wijmo 5
- Sunburst Chart
- FlexChart Extensions
- Chart Gestures
- Export to Image
First-Class Framework Support
AngularJS and Angular 2
Wijmo’s Explorer fully supports Angular 2. In addition, we ship and maintain AngularJS directives for all of our controls and use it in most of our samples.
Our controls are fully supported in ReactJS, including FlexGrid, FlexChart, Input, and Gauges.
More Interop Options
We’re always thinking about new directions for Wijmo.
VueJS: How to Create Great VueJS Applications Using Wijmo Controls
KnockoutJS: Read about our Knockout support
What you’ll get with TypeScript:
Additional Benefits of Wijmo 5:
- ICollectionView provides a familiar experience for .NET developers migrating to HTML5
- All Wijmo 5 controls can be bound to CollectionView
Browse, search, view source code and run all of our samples using the Wijmo 5 Sample Explorer.
Wijmo 5 Control Explorer
Shows how to use all the controls in Wijmo 5, as well as the infrastructure shared by all the controls.
Perform common tasks with FlexGrid, our fast and flexible data-bound grid control.
Perform common tasks with FlexChart, our beautiful and easy-to-use chart control.
Get started with LinearGauge and RadialGauge, our smart and flexible gauge controls.
What Our Customers Say
— Aaron Mendez, Manager of User Experience, Thomson Reuters
— BJ Jeong, Cisco
- Angular 2 Explorer
- Integrating Wijmo Controls with Module Loaders and Bundlers
- ReactJS Interop sample | How to Use Wijmo in ReactJS Apps blog
- VueJS 2 Interop sample | How to Create Great VueJS applications Using Wijmo Controls blog
- PeriodicSunburst sample | Rethinking the Periodic Table with Wijmo’s Sunburst blog
Use the SampleExplorer to search, filter by framework and even browse source code for all of our samples.
- Angular 2: Added support for Angular 2.4.1 Angular 2 Info
- ReactJS: Added support for ReactJS ReactJS Info
- VueJS: Added support for Vue 2 VueJS 2 Interop sample | How to Create Great VueJS applications Using Wijmo Controls blog
- Added PeriodicSunburst sample. PeriodicSunburst sample | Rethinking the Periodic Table with Wijmo’s Sunburst blog
- Improved FlexGrid performance when binding to large collections and not limiting grid height (automatically sized grids). This used to cause poor performance since the grid only took its host element into account when virtualizing cells; now it also takes into account the browser window.
- Improved FlexGrid clipboard support to handle cells with line breaks.
- Added a FlexGridDetailProvider.isAnimated property to enable animated transitions when showing row details.
- Improved FlexSheet support to copy/paste the content of the HeaderRow in the bound sheet.
- Added a Control.rightToLeft property that determines whether the control is hosted in an element with right-to-left layout.
- Improved showPopup method to handle screen boundaries when reference is a point.
- Added RTL support to LinearGauge and BulletGraph controls. The gauges now take RTL into account when rendering and handling the keyboard. The new behavior is compatible with the input element’s when type=”range”.
- Wijmo *culture.js files can be loaded before wijmo.js now.
- Added support for Angular 2 Ahead-of-Time compiler. .metadata.json files for Wijmo Angular 2 components are added to NpmImages’ subfolders. Check also Breaking Changes section.
- Angular 2 specific properties (like isInitialized) and events (like ‘initialized’/valueChangedNg/etc) of Wijmo components are now exposed in class declarations in .d.ts and hence available for Intellisense.
- Added a getCellElement method to the wijmo.grid.GridPanel class to retrieve the HTMLElement that represents a given cell in the panel.
- Added Menu.show method to display the menu at arbitrary positions on the screen (context-menu style).
- Added a twoDigitYearMax property to the culture calendar so users can control the threshold used for converting two-digit year strings into full years.
- Added support for showing group *and* column headers in the MultiRow control. This is done by setting the collapsedHeaders property to null (rather than true or false).
- FlexGridPdfConverter added support for FlexSheet.
- Added support for dataMaps on Boolean FlexGrid columns.
- Added a dataMap property to the wijmo.grid.filter.ColumnFilter class. This dataMap takes precedence over the owner column’s DataMap and is used to provide the strings displayed by the filter editors. For example, it can be used to change the strings displayed for Boolean column filters from ‘true/false’ to ‘yes/no’.
- @WjComonent decorator is removed from the library, because AoT compiler doesn’t support custom decorators.
- A suffix in implementation names of Angular incarnations of Wijmo events has been changed from ‘Wj’ to ‘Ng’ (e.g. valueChangedWj became valueChangedNg). Note that these events was not officially documented and their direct usage was not presumed.
- A suffix in implementation names of Angular property change events (intended to implement two-way binding) has been changed from ‘Ng’ to ‘PC’ (e.g. valueChangeNg became valueChangePC). Note that these events was not officially documented and their direct usage was not presumed.
- Added an optional ‘fn’ parameter that was missing in the wijmo.removeEventListener method. This will only break code that called removeEventListener specifying all optional parameters, which should be rare. The change provides more control over event removal and consistency with the wijmo.addEventListener method.