Wijmo 2019 v1

Wijmo’s first major release of 2019 has landed, and it includes brand new developer resources, nice customer-requested features, improved components using a new browser API, and more.

Wijmo Build 5.20191.615 Available

Build 5.20191.615 has released. It includes Angular 8 support, some nice new enhancements and several bug fixes. It also includes a fix for AOT compiling in Angular.

Read the full Build 5.20191.615 release

Change Log

  • Added support for deep-binding in wijmo.format method.
  • Added FlexChart.itemsSourceChanging/Changed events.
  • Added FlexGrid.refreshRange method for finer control on rendering.
  • [Build 606] This is identical to (the previously released) build 603, other than a fix to our angular module structure to solve a problem in the AOT compiler.
  • [FlexGrid] Added a FlexGrid.errorTip property that allows you to specify a Tooltip to use when showing validation errors. Use this property to customize the tooltip, or set it to null to restore the original behavior (use the cell's "title" attribute to show validation errors)
  • [FlexGrid] Added an extra parameter to the FlexGrid.getClipString method so it can export row headers (in addition to column headers). This new feature is important for exporting the content of PivotGrid controls for example.
  • [FlexGrid] Added a FlexGrid.alternatingRowStep property that allows you to specify the number of regular rows that should appear between alternating rows (the default is one; set this property to zero to disable alternating rows or set it to a value greater than one to show multiple regular rows between alternate rows). Note: The alternatingRowStep property replaces/extends the showAlternatingRows property which has been deprecated.
  • [GroupPanel] Added a GroupPanel.showDragGlyphs property that causes the control to show drag handle glyphs in the group marker elements.
  • [PivotGrid] Added a PivotGrid.outlineMode property that causes the PivotGrid to show row groups in outline format, allowing for more compact displays.
  • [PivotGrid] Improved keyboard support in the PivotGrid to allow expanding and collapsing row groups with the keyboard (use alt-Left to collapse, alt-Right to expand).
  • [PivotGrid] Changed the olap.PivotGrid to honor the allowMerging property. Also changed the default setting of the property to 'AllHeaders'.
  • [PivotGrid] Added a PivotGrid.showValueFieldHeaders property that causes the grid to show headers for value fields even in views that have a single value field.
  • [MultiRow] Added support for the MultiRow.newRowAtTop property (in previous versions the new row template was always displayed at the bottom of the MultiRow.
  • [MultiRow] Added support for explicitly setting the rowspan in MultiRow cells.
  • [FlexChart] Added a Series.tooltipContent property that allows you to add tooltips for specific series.
  • [FlexChart] Added a Series.itemFormatter property that allows to specify an item formatter function for specific series.
  • [FlexChart] Added support for ranged Area charts: this is similar to the support for ranged Bar and Column charts: specify the name of the properties that contain the min and max values in the series binding, e.g. myAreaSeries.binding = "ymin,ymax". Read the blog
  • [TreeView] Added a TreeView.expandOnLoad property that determines whether the TreeView should automatically expand the first node when it loads (default behavior) or if all nodes should be initially collapsed.
  • [TreeView] Added a TreeView.checkOnClick property that allows users to check nodes by clicking anywhere on the node header (as opposed to clicking on the checkbox itself).
  • [TreeView] Added a TreeView.checkedMemberPath property that allows you to bind the checkboxes in the TreeView to data members.
  • [Menu] Added a Menu.closeOnLeave property to work with Menu.openOnHover and provide more control over when menus open and close.
  • [PrintDocument] Added an optional callback to the PrintDocument.print method gets invoked when the document is done printing
  • Added combobox.trimText property
  • Improved the FlexGrid mouse handling logic to prevent sorting columns when clicking column headers that are merged horizontally (because in this case the header refers to multiple columns).
  • Changed the FlexGrid's CSS to use weaker rules for cell styles so they are easier to override.
  • Improved FlexGrid rendering performance by reordering cells when scrolling horizontally.
  • Improved the FlexGridFilter's date/time condition filtering logic.
  • Improved the FlexGridFilter's condition editor by disabling the value editors when no condition is set. You can also hide the value editors using this CSS rule:
 .wj-conditionfilter-editor .wj-control.wj-state-disabled {  
    display: none;  

Explore Controls & Features in Every Framework!

Explore Controls & Features in Every Framework

We have consolidated all of our (500) samples into one place. And each sample is available in the following frameworks:

  • Pure JavaScript, using ES6 modules (no framework)
  • Angular (v2+)
  • Vue (v2+)
  • React

Explore our new demos

New with Wijmo 2019 v1:

Get Wijmo 2019 v1 now

Wijmo Build 5.20183.568 Available

Build 5.20183.568 is now available. It includes some new features and a plenty of bug fixes.

Change Log

  • Added two new LearnWijmo fiddles that highlight the FlexGrid’s basic and advanced features: Basic features | Advanced features
  • Added a cssClassAll property to the FlexGrid's Row and Column classes so you can add CSS classes to header cells as well as to data cells.
  • Added two new settings to the wijmo.olap.ShowAs enumeration: PctPrevRow and PctPrevCol cause the engine to show values for each item as a percentage of the value in the previous row or column. OLAP ShowAs sample
  • Added two extra parameters to the FlexGrid.getClipString method so it can be used to export to CSV (instead of tab-delimited text) and to optionally include column headers. CSV Export sample
  • Added a Tooltip.cssClass property to allow different types of tooltips to use different styles (e.g. information, validation, etc)
  • Improved the ComboBox.selectedValue property to get or set the control's text when it has no itemsSource. This makes it easier to use the ComboBox as a replacement for regular input elements (and leverage wijmo's infrastructure including styling).
  • Added a new "exclusiveValueSearch" property to the PivotEngine and FlexGridFilter classes. This new property is set to true by default, which enables an Excel-like behavior (searching excludes items from the filter). Set it to false to disable this, so searching only affects which items are displayed on the list, and not which items are included in the filter.
  • [AngularJS] Added auto-size-rows boolean property to the wj-flex-grid-cell-template directive, which is being set to false disables the default behavior where the cell template increases grid's default row height to accommodate cells content.
  • Improved the FlexGrid IME handling to start editing on Unicode spaces as well as regular spaces.
  • [WebComponents] Added Beta version of the WebComponents interop (wijmo.webcomponents.568.js modules). The Samples\TS\WebComponents\WebComponentsIntro sample explains the status and usage of the interop. WebComponentsIntro sample | Read the guide to web components

New Samples

Get Build 5.20183.568 now

Wijmo Build 5.20183.550 Available

Web Workers in PDF Export

Faster PDF Export with Web Workers

PDF export can often slow down web apps: since the export is happening in the browser’s UI thread, it can cause the rest of the application to be unusable. This is where Web Workers comes to the rescue. We used Web Workers to process the exporting of PDF files on a separate thread from the application UI. This allows the applications to stay usable and the PDF export to churn along in the “background”.

This feature is now available in our PDF module. Read the Web Workers blog

Group Headers in ComboBox/ListBox

We've added a showGroups property that you can use to add group headers to ListBox and ComboBox controls. Group header items are added if the showGroups property is set to true and the itemsSource collection has grouping enabled.

Grouping in ComboBox

Try the fiddle

Ribbon Sample using TabPanel

We’ve added a ribbon sample that shows how you can create ribbons easily using the TabPanel control and the controls in Wijmo's input module.

The ribbon element is a TabPanel. The tab pages contain groups of controls arranged in rows and columns. Controls in the groups use Material Icons, and have tooltips created automatically based on the aria-label attribute assigned to each control.

Ribbon sample

Try the fiddle | Read the blog

Slicer for OLAP

We have added a Slicer control to our OLAP module. The Slicer control provides a quick way to edit filters applied to PivotField objects.

It provides buttons the user can click to filter data based on values and indicates the current filtering state, which makes it easy to understand what is shown in filtered PivotGrid and PivotChart controls.

OLAP Slicer

Try the fiddle

Detail Dialog API in OLAP

The Wijmo PivotGrid allows you to drill down into cells to see the data items that were used to calculate each summary. Users can invoke the detail dialog by double-clicking any value cell. You can also invoke the detail dialog by calling the grid's showDetail method and passing the coordinates of the cell.

Now, the grid exposes the detail dialog through its detailDialog property, which can be used to customize the dialog:

Detail Dialog

Try the fiddle

Calculated Fields in OLAP

We also added a PivotField.getValue property to OLAP that allows you to specify a custom function to be used for retrieving the field value for a given item. You can use this to implement calculated fields such as 'binning' (e.g. Value => large/medium/small) or calculated expressions (e.g Conversion => downloads/sales).

Try the fiddle

Year Picker in Calendar

We added a small but useful feature in our Calendar and InputDate controls. You can now click on the year header to open a year picker that allows you to much more easily jump to different years. This little enhancement should save your end users some time when selecting dates.

Year picker in JavaScript calendar

We got this request from a customer and thought it was a great idea. Our Menu control now supports adding multiple submenus to it so that you can create more complex menus and context menus. We also added an option to open menus on hover.

Submenu in JavaScript menu

Try the fiddle

Looking for Angular 7 Support?

We're very excited about Angular 7, and as you know, Wijmo has first-class Angular support. We're happy to announce that Wijmo supports Angular 7, so you can use the current version of Wijmo to build Angular 7 applications today. Read the Angular 7 blog.

New Samples


  • Added support for FlexGrid pdf export using Web Workers. See the PdfWebWorkersClient and PdfWeb Workers for the details. The AngularJS PdfExport sample has added Web Workers example to demonstrate the feature. Read the blog.
  • Wijmo fully supports Angular 7. Read the blog.
  • [WebComponents] Added Beta version of the WebComponents interop (wijmo.webcomponents.568.js modules). The Samples\TS\WebComponents\WebComponentsIntro sample explains the status and usage of the interop. WebComponentsIntro sample | Read the WebComponents blog post
  • [npm] Wijmo is published to the global npm registry as the 'wijmo' package. | Read the NPM blog
  • Added a GroupPanel.filter property that allows you to specify the FlexGridFilter being used on the grid. Once you do that, the group panel will show filter glyphs on the group headers. Clicking the filter glyphs opens the filter editor for the corresponding column.
  • Added a PivotGrid.detailDialog property that returns a reference to the grid's DetailDialog control used to display detail records when the user double-clicks a cell.
  • Added a repeatButtons property to the Calendar and InputDate controls that causes the calendar buttons to fire repeatedly while the button is pressed. (This is similar to the InputNumber.repeatButtons property).
  • Added a showYearPicker property to the Calendar and InputDate controls that causes the calendar to show a list of years when the user clicks the year calendar header.
  • Added a PivotField.getValue property that allows you to specify a custom function to be used for retrieving the field value for a given item. This can be used to implement calculated fields which can be used for 'binning' (e.g. Value=> large/medium/small, Country=> A/B/C/Other) or any calculated expression (e.g Conversion=> sales/downloads).
  • Added a showGroups property to the ListBox and ComboBox controls. This adds group header elements to lists with grouped item sources. For example: https://jsfiddle.net/Wijmo5/sy7u9rn6/ (It is analogous to the showGroups property in the FlexGrid control).
  • Optimized ListBox loading performance (especially in IE/Edge).
  • [FlexSheet] Added option to let user disable dragging cell ranges. Added 'enableDragDrop' property to FlexSheet. (TFS 342191)
  • [FlexSheet] Disable formulas in FlexSheet. Add 'enableFormulas' property in FlexSheet. (TFS 341806)
  • Added a new wijmo.olap.Slicer control that provides easy value-based filtering. This is similar to the Slicer control in Excel's PivotTables. For example: https://jsfiddle.net/Wijmo5/3p8rcuqe/
  • Added a new wijmo.olap.PivotField.visible property that allows developers to hide certain fields so they do not appear in PivotPanel controls (and therefore cannot be removed from or moved within the view definition).
  • [Enhancement][FlexSheet] Click and Drag Cell Corner to Fill Data. (TFS 229151)
  • Expanded the documentation to include missing default values for several properties on several controls.
  • [Enhancement] [FlexSheet] Support for INDIRECT and ADDRESS formulas. (TFS 337828)

See Wijmo release history