Releases: steelbreeze/landscape
Performance improvements
Replace Array.prototype.reduce
with a custom function, expand
, which allows for a more efficient way to build arrays from arrays.
Use steelbreeze/pivot
This release separates the underlying pivot functionality out into a separate library.
Repackaging
Release via NPM
Additional context passthrough
When creating the key, that defines the data to use for the cell text and style, also add some optional user defined data that will pass through.
Optional fact
While you can display any piece of data in a cell, the library was based around a prescriptive id and name for analysing affinity and laying out the resultant table. The property to use can now be passed as a parameter.
Remove HTML generation
Remove the getHTML method; this is a relatively simple method to render the resulting table as HTML and is better placed in the web page using the library to reduce coupling (e.g. element style names).
Optimisations
Further optimisations resulting in some of the interim data structures changing.
Moved more logic from getTable to prepareData as in scenarios such as the one used for testing, we were repeating unnecessary work each time the table was rendered.
Remove hard-coded usage dimensions
Remove the previously hard-coded dimensions of capability, product and location from the code base; an applications usage may now have an arbitrary set of dimensions.
New input file format; two binary options
The input file format has changed: the dimensions that were properties of an applications usage have been moved into their own group called dimensions. This enables custom dimensions to be added, passed through the code and used as the x or y dimension.
Added another library option with only the final table rendering in for those that do not need or use the axes optimisation functions.
Remove code under development
Remove the working code from the master branch for a new optimisation algorithm which is currently under development.