Skip to content

Typescript Upgrades and Bugfixes

Pre-release
Pre-release

Choose a tag to compare

@crmorford crmorford released this 13 Feb 23:10
· 4828 commits to master since this release

Good Afternoon,

This release took care of a lot of requested bugfixes, cleaned up the visual appearance of Axis.Time further, and contains several Typescript upgrades. It also contains several breaking changes in preparation for v1.0, so please look at the breaking changes section if you were using Axis.Time or are developing in TypeScript.

Features

  • Setting a reversed domain on a Scale.Time will now throw an error.

Bugfixes

  • Components are now hidden when the SVG is hidden in Firefox (#1033).
  • AreaPlot and LinePlot now retain their respective path classes after class is set via a project call (#1286).
  • Interaction.Drag's dragend() call is now constrained within its Component's hitbox (#1445).
  • The end-tick-mark class is now accessible on TimeAxis end ticks (#1575).
  • TimeAxis rendering issues have been fixed (#1609).

API-Breaking Changes

  • As per the migration to use the "type" structure, the TimeAxisConfiguration interface has been converted to just be an aliased type of a TimeAxisTierConfiguration array. Thus the TimeAxisConfiguration no longer has a "tierConfiguration" parameter that holds the array.
  • The listenable field of a Broadcaster has been made private (and renamed to _listenable).

Typescript API Breaks

  • As of now, we are now incorporating features from Typescript 1.4 that did not exist in Typescript 1.3. As a result, our library is now incompatible with Typescript 1.3.
  • Many "interfaces" have been converted to the more simpler "type" structure using the type aliasing feature introduced in Typescript 1.4 (http://blogs.msdn.com/b/typescript/archive/2015/01/16/announcing-typescript-1-4.aspx), and thus cannot be extended or implemented as an interface would be.

Broadcaster changes:

  • The Listenable type has been removed, and Broadcasters can now broadcast about arbitrary types.
  • Broadcasters now use generics to specify what they are broadcasting about; for example, a Broadcaster<Dataset> will pass a Dataset to its callbacks.
  • The listenable field of a Broadcaster has been made private (and renamed to _listenable).

Other notes

Upgrade Instructions

  • If you were using a TimeAxisConfiguration object to store your tier configurations, they no longer have the configurations stored in a "tierConfiguration" parameter. Instead the TimeAxisTierConfigration array is instead itself a TimeAxisConfiguration.
  • Typescript users - Please upgrade to Typescript 1.4
  • Typescript users - Remove any references to the Listenable type. Broadcasters should be initialized with a generic type corresponding to what they are broadcasting about.