Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@arction/lcjs

Package Overview
Dependencies
Maintainers
3
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@arction/lcjs - npm Package Compare versions

Comparing version 1.3.1 to 2.0.0

280

CHANGELOG.md

@@ -14,6 +14,78 @@ # Change Log

### Removed
### Fixed
### Deprecated
## [2.0.0] - 2020-09-04
### Added
- Add public API to get Highlighters for Axis
- Added onPositionChange event to ChartMarker and SeriesMarker
- Added more mouse and touch events to chart background
- layout() method to PublicEngine interface.
- Add LinearGradientFill and RadialGradientFill fill styles.
- Added Axis _setTickStrategy_ method.
- Added AxisTickStrategies.Empty (replaces Axis.setTickStyle( emptyTick ))
- Added VisibleTicks.setLabelAlignment()
- Chart3D
- Axis3D
- Point3D
- PointSeries3D
- PointCloudSeries3D
- PointStyle3D
- LineSeries3D
- PointLineSeries3D
### Changed
- Refactored thick line rendering.
- Improves the visual style of the line when a semi-transparent fill style is used.
- Improves GL memory usage. Same line now takes 40 to 70% less GL memory depending on the line.
- PointSeries now uses faster rendering methods on supported devices.
- Major performance improvement
- Uses less GL memory
- columnSpan and rowSpan Dashboard options are now optional and default to 1.
- Chart options when creating a chart inside dashboard are simplified.
- Options are no longer behind a separate object but are instead given in same object as the dashboard options.
- Reduced zooming animation duration
- Made transparent backgrounds possible.
- LightningChart JS now requires the following WebGL extensions to work properly
- ANGLE_instanced_arrays
- EXT_blend_minmax
- OES_element_index_uint
- OES_standard_derivatives
- OES_vertex_array_object
- WEBGL_lose_context
- If any of these extensions is missing, then a dismissible warning will be shown to notify users of possibly incorrectly working features.
- Changed seriesBackground mouse and touch event naming to chartBackground mouse and touch events.
- e.g. onSeriesBackgroundMouseDown was changed to onChartBackgroundMouseDown
- `requestAnimationFrame` and `cancelAnimationFrame` are no longer polyfilled automatically.
- The methods should be polyfilled if support for environments where the methods don't exist is needed.
- Numeric Axis ticks have been reworked
- DateTime Axis ticks have been reworked
- Mouse and touch events are properly handled to allow normal browser interactions when chart does no action for the event
- Changed ColorHEX factory color syntax to follow CSS color syntax, #RRGGBB\[AA\]
- Changed default highlight behavior of Series.
- Series is no longer highlighted by default when hovering over it. Use `series.setHighlightOnHover()` or `chart.setSeriesHighlightOnHover()` to highlight on hover.
- Improved styles for default themes.
### Removed
- AxisTickStrategies.NumericWithUnits
- Passing AxisTickStrategy of default Axes upon creating a ChartXY
- Passing AxisTickStrategy as parameter of ChartXY.addAxisX() or ChartXY.addAxisY()
- Removed APIs that were previously marked deprecated.
- `Chart.setDataLabelFormater`
- `Chart.getDataLabelFormater`
- `Chart.setChartBackgroundStroke`
- `Chart.getChartBackgroundStroke`
- `Series.setMaxPointsCount`
- `containerId` option
### Fixed
- Fix legend box item checkbox looking bad when stroke style is other than 1.
- Fix touch events triggering outside chart area
## [1.3.1] - 2020-05-29

@@ -23,6 +95,6 @@

- Inconsistent cursor style changing when moving from hovering element to hovering one element to hovering over another element.
- Fixed a crash when adding data to OHLCSeries
- Hovering over the Arction logo for long enough caused the chart to freeze itself instead of allowing clicking a link to go to the Arction website.
- Incorrect resolution and interactions when opening a chart in fullscreen mode
- Inconsistent cursor style changing when moving from hovering element to hovering one element to hovering over another element.
- Fixed a crash when adding data to OHLCSeries
- Hovering over the Arction logo for long enough caused the chart to freeze itself instead of allowing clicking a link to go to the Arction website.
- Incorrect resolution and interactions when opening a chart in fullscreen mode

@@ -33,41 +105,41 @@ ## [1.3.0] - 2020-04-28

- Heatmap
- ChartXY.addHeatmapSeries()
- IntensityGridSeries can be used for visualization of magnitude in two dimensions.
- IntensityMeshSeries can be used for visualization of magnitude in two dimensions, where the geometry of the series can be edited.
- Dashboard.createZoomBandChart()
- Added Axis *Bands* and *ConstantLines*.
- Application/Intranet Deployment key support
- A way to disable all animations at once.
- Call `disableAnimations()` on any chart or specify `disableAnimations: true` as a chart creation option.
- Added series.*addArrayX()*, .*addArrayY()*, .*addArrayXY()* to basic Series types in XY Charts for user convenience.
- These methods cause some overhead when used, so using the series.*add()* is still recommended for best performance.
- Added *.addArrayY()* to *OHLCSeriesWithAutomaticPacking* for user convenience.
- This method causes some overhead when used, using *.add()* method is still recommended for best performance.
- getSeries() method to XY Charts and Spider chart.
- Support for rendering in Node JS environment with the help of "@arction/lcjs-headless" package.
- `renderFrame()` method to engine.
- Added getDataLabelFillStyle and setDataLabelFillStyle to SolidGauge.
- Heatmap
- ChartXY.addHeatmapSeries()
- IntensityGridSeries can be used for visualization of magnitude in two dimensions.
- IntensityMeshSeries can be used for visualization of magnitude in two dimensions, where the geometry of the series can be edited.
- Dashboard.createZoomBandChart()
- Added Axis _Bands_ and _ConstantLines_.
- Application/Intranet Deployment key support
- A way to disable all animations at once.
- Call `disableAnimations()` on any chart or specify `disableAnimations: true` as a chart creation option.
- Added series._addArrayX()_, ._addArrayY()_, ._addArrayXY()_ to basic Series types in XY Charts for user convenience.
- These methods cause some overhead when used, so using the series._add()_ is still recommended for best performance.
- Added _.addArrayY()_ to _OHLCSeriesWithAutomaticPacking_ for user convenience.
- This method causes some overhead when used, using _.add()_ method is still recommended for best performance.
- getSeries() method to XY Charts and Spider chart.
- Support for rendering in Node JS environment with the help of "@arction/lcjs-headless" package.
- `renderFrame()` method to engine.
- Added getDataLabelFillStyle and setDataLabelFillStyle to SolidGauge.
### Changed
- *FitEngineToDiv.container* to pass DOM Element to Engine. Users can pass either DOM Element itself, or its ID.
- Mouse and touch interaction handling to add support for pen and PC touch screen interactions.
- All interactions still work the same way, interactions just has better support for more interaction methods.
- _FitEngineToDiv.container_ to pass DOM Element to Engine. Users can pass either DOM Element itself, or its ID.
- Mouse and touch interaction handling to add support for pen and PC touch screen interactions.
- All interactions still work the same way, interactions just has better support for more interaction methods.
### Fixed
- Rendering error on some GPU's where GPU received some vertices as NaN instead of a valid vertex.
- Inconsistent style for SeriesMarker tick X and Y labels
- Fixed a TypeError on pyramid chart
- LightningChart JS logo failing to render correctly when high-dpi mode is used and devicePixelRatio is less than 1
- LightningChart JS logo duplication in LegendBoxPanel
- Incorrect cursor styles when hovering over axis or other element with resize cursor style
- PointSeries.add method requiring added points to be of `ColorPoint` type when `Point` is a valid type for it.
- Rendering error on some GPU's where GPU received some vertices as NaN instead of a valid vertex.
- Inconsistent style for SeriesMarker tick X and Y labels
- Fixed a TypeError on pyramid chart
- LightningChart JS logo failing to render correctly when high-dpi mode is used and devicePixelRatio is less than 1
- LightningChart JS logo duplication in LegendBoxPanel
- Incorrect cursor styles when hovering over axis or other element with resize cursor style
- PointSeries.add method requiring added points to be of `ColorPoint` type when `Point` is a valid type for it.
### Deprecated
- Deprecated use of *FitEngineToDiv.containerId* in EngineOptions. Use *FitEngineToDiv.container* instead.
- Deprecated use of *setChartBackgroundStroke* in SpiderChart, ChartXY. Use *setChartBackgroundStrokeStyle* instead.
- Deprecated use of *getChartBackgroundStroke* in SpiderChart, ChartXY. Use *getChartBackgroundStrokeStyle* instead.
- Deprecated use of _FitEngineToDiv.containerId_ in EngineOptions. Use _FitEngineToDiv.container_ instead.
- Deprecated use of _setChartBackgroundStroke_ in SpiderChart, ChartXY. Use _setChartBackgroundStrokeStyle_ instead.
- Deprecated use of _getChartBackgroundStroke_ in SpiderChart, ChartXY. Use _getChartBackgroundStrokeStyle_ instead.

@@ -78,8 +150,8 @@ ## [1.2.2] - 2020-01-07

- Error message when trying to create a chart in container that doesn't exist
- Error message when trying to create a chart in container that doesn't exist
### Fixed
- Mouse interactions permanently disabled when interactions disabled while interaction is in-progress
- Multiple Slice Explosion restriction not always working
- Mouse interactions permanently disabled when interactions disabled while interaction is in-progress
- Multiple Slice Explosion restriction not always working

@@ -90,3 +162,3 @@ ## [1.2.1] - 2019-12-18

- TypeScript typings duplicate identifier
- TypeScript typings duplicate identifier

@@ -97,24 +169,26 @@ ## [1.2.0] - 2019-12-10

- ColorHEX supports format with '0x' prefix.
- Dashboard.setSplitterStyle()
- Dashboard.setSplitterStyleHighlight()
- Dashboard.setBackgroundFillStyle()
- Dashboard.setBackgroundStrokeStyle()
- High DPI rendering support with 'devicePixelRatio' engine option
- Themes, with 'dark' and 'light' preset themes available.
- LUT (ValueRangePalette)
- series.getPointAmount() in XY Charts
- ChartXY.setMouseInteractionsWhileScrolling()
- ChartXY.setMouseInteractionsWhileZooming()
- New option when creating lines: highlightThicknessMultiplier can be used to specify thickness of highlighted lines
- Progressive DataPatterns precision
- Added Axis _Bands_ and _ConstantLines_.
- ColorHEX supports format with '0x' prefix.
- Dashboard.setSplitterStyle()
- Dashboard.setSplitterStyleHighlight()
- Dashboard.setBackgroundFillStyle()
- Dashboard.setBackgroundStrokeStyle()
- High DPI rendering support with 'devicePixelRatio' engine option
- Themes, with 'dark' and 'light' preset themes available.
- LUT (ValueRangePalette)
- series.getPointAmount() in XY Charts
- ChartXY.setMouseInteractionsWhileScrolling()
- ChartXY.setMouseInteractionsWhileZooming()
- New option when creating lines: highlightThicknessMultiplier can be used to specify thickness of highlighted lines
- Progressive DataPatterns precision
### Changed
- Mouse interactions are disabled by default when scrolling / zooming. This behavior can be changed with methods in XY Charts.
- Chart examples linked in the readme
- Mouse interactions are disabled by default when scrolling / zooming. This behavior can be changed with methods in XY Charts.
### Fixed
- GL errors with Pyramid Chart
- AutoCursor working incorrectly with touch displays
- GL errors with Pyramid Chart
- AutoCursor working incorrectly with touch displays

@@ -125,9 +199,9 @@ ## [1.1.1] - 2019-10-11

- Chart examples linked in the readme
- Chart examples linked in the readme
### Fixed
- Typo in the readme
- Missing typings
- Performance issue found in the trading showcase
- Typo in the readme
- Missing typings
- Performance issue found in the trading showcase

@@ -138,21 +212,21 @@ ## [1.1.0] - 2019-10-03

- Dispose API for Charts, Dashboard
- Add OHLCSeries.set/getFigureAutofitting()
- Dispose API for Charts, Dashboard
- Add OHLCSeries.set/getFigureAutofitting()
### Changed
- Removed dependency to crc package.
- Removed dependency to collections package.
- Removed dependency to crc package.
- Removed dependency to collections package.
### Deprecated
- SolidGauge.setDataLabelFormater in favor of SolidGauge.setDataLabelFormatter
- SolidGauge.getDataLabelFormater in favor of SolidGauge.getDataLabelFormatter
- OHLCSeries.setMaxPointsCount in favor of OHLCSeries.setMaxPointCount
- SolidGauge.setDataLabelFormater in favor of SolidGauge.setDataLabelFormatter
- SolidGauge.getDataLabelFormater in favor of SolidGauge.getDataLabelFormatter
- OHLCSeries.setMaxPointsCount in favor of OHLCSeries.setMaxPointCount
### Fixed
- Fixed crash when adding points to step series.
- PointableTextBox incompatibility with axis custom tick.
- Empty StrokeStyle not working with Axis Nibs
- Fixed crash when adding points to step series.
- PointableTextBox incompatibility with axis custom tick.
- Empty StrokeStyle not working with Axis Nibs

@@ -163,7 +237,7 @@ ## [1.0.3] - 2019-08-26

- More keywords for npm
- More keywords for npm
### Changed
- Readme file contents present the package better
- Readme file contents present the package better

@@ -174,11 +248,11 @@ ## [1.0.1] - 2019-08-14

- CHANGELOG.md included in the npm package
- More keywords for npm
- CHANGELOG.md included in the npm package
- More keywords for npm
### Fixed
- Pyramid Chart
- Added missing API documentation for `get/setAnimationsEnabled`
- Funnel Chart
- Added missing API documentation for `get/setAnimationsEnabled`
- Pyramid Chart
- Added missing API documentation for `get/setAnimationsEnabled`
- Funnel Chart
- Added missing API documentation for `get/setAnimationsEnabled`

@@ -189,27 +263,27 @@ ## [1.0.0] - 2019-08-05

- 2-Dimensional Charts
- ChartXY (Cartesian Chart)
- Line Series
- Point Series
- Point Line Series
- Spline Series
- Step Series
- Rectangle Series
- Ellipse Series
- Box Series
- OHLC Series
- Area Series (BiPolar, Monopolar, AreaRange)
- Axes
- Spider Chart
- Pie Chart
- Gauge Chart
- Funnel Chart
- Pyramid Chart
- Markers (for Series / Chart)
- Cursor
- Mouse Interactions
- Touch Support
- Animations
- Dashboard
- LegendBox
- UI Elements (Buttons, CheckBoxes, Labels, TextBoxes)
- 2-Dimensional Charts
- ChartXY (Cartesian Chart)
- Line Series
- Point Series
- Point Line Series
- Spline Series
- Step Series
- Rectangle Series
- Ellipse Series
- Box Series
- OHLC Series
- Area Series (BiPolar, Monopolar, AreaRange)
- Axes
- Spider Chart
- Pie Chart
- Gauge Chart
- Funnel Chart
- Pyramid Chart
- Markers (for Series / Chart)
- Cursor
- Mouse Interactions
- Touch Support
- Animations
- Dashboard
- LegendBox
- UI Elements (Buttons, CheckBoxes, Labels, TextBoxes)
{
"name": "@arction/lcjs",
"version": "1.3.1",
"version": "2.0.0",
"description": "A high-performance charting library.",

@@ -65,3 +65,4 @@ "keywords": [

"server-side rendering",
"spectrogram"
"spectrogram",
"3D"
],

@@ -68,0 +69,0 @@ "homepage": "https://www.arction.com/lightningchart-js/",

# LightningChart<sup>®</sup> JS
LightningChart JS is a *lightning-fast* real-time data visualization charting library with a focus on exceptional performance. Performance testing results prove it’s able to visualize streaming data rates no other library for JS can. *The fastest rendering chart library for JavaScript.*
LightningChart JS is a _lightning-fast_ real-time data visualization charting library with a focus on exceptional performance. Performance testing results prove it’s able to visualize streaming data rates no other library for JS can. _The fastest rendering chart library for JavaScript._

@@ -44,2 +44,24 @@ <p align="center">

<td>
<a href="http://localhost:8080/lightningchart-js-interactive-examples/examples/lcjs-example-0105-temperatureVariations.html">
<img src="https://www.arction.com/npm-material/lc-js-temperatureVariations.png" />
</a>
</td>
<td>
<a href="http://localhost:8080/lightningchart-js-interactive-examples/examples/lcjs-example-0900-3dScatter.html">
<img src="https://www.arction.com/npm-material/lc-js-3DScatterChart.png" />
</a>
</td>
<td>
<a href="http://localhost:8080/lightningchart-js-interactive-examples/examples/lcjs-example-0901-3dLineSeries.html">
<img src="https://www.arction.com/npm-material/lc-js-3DLineSeries.png" />
</a>
</td>
</tr>
<tr>
<td>
<a href="http://localhost:8080/lightningchart-js-interactive-examples/examples/lcjs-example-0902-3d50kPoints.html">
<img src="https://www.arction.com/npm-material/lc-js-chart3D.png" />
</a>
</td>
<td>
<a href="https://www.arction.com/lightningchart-js-interactive-examples/examples/lcjs-example-0100-areaRange.html">

@@ -66,22 +88,24 @@ <img src="https://www.arction.com/npm-material/lc-js-areaRange.png" />

**Performance results**, with a typical desktop PC:
* **Streaming, scrolling line series**: 1 million data points: 60 FPS (repaints / sec)
* **Streaming, scrolling area series**: 1 million data points: 57 FPS (repaints / sec)
* **OHLC candle-sticks**: 1 million data points: 57 FPS (repaints / secs)
- **Streaming, scrolling line series**: 1 million data points: 60 FPS (repaints / sec)
- **Streaming, scrolling area series**: 1 million data points: 57 FPS (repaints / sec)
- **OHLC candle-sticks**: 1 million data points: 57 FPS (repaints / secs)
**Key features**:
* GPU acceleration and WebGL rendering
* Intuitive touch screen interactivity with zooming, panning, moving data cursors etc.
* Dashboard control, capable of rendering 100+ charts.
* Supports server side rendering (use with our [@arction/lcjs-headless package](https://www.npmjs.com/package/@arction/lcjs-headless))
* Chart types: XY, Heatmaps, Radar/Spider, Pie/Donut, Funnel, Gauge and Pyramid charts
- GPU acceleration and WebGL rendering
- Intuitive touch screen interactivity with zooming, panning, moving data cursors etc.
- Dashboard control, capable of rendering 100+ charts.
- Supports server side rendering (use with our [@arction/lcjs-headless package](https://www.npmjs.com/package/@arction/lcjs-headless))
- Chart types: 3D, XY, Heatmaps, Radar/Spider, Pie/Donut, Funnel, Gauge and Pyramid charts
## Useful links
* [Product page](https://www.arction.com/lightningchart-js/)
* [Resources](https://www.arction.com/lightningchart-js-resources/)
* [API documentation](https://www.arction.com/lightningchart-js-api-documentation/)
* [Free community license](https://www.arction.com/community-license/)
* [Performance tester](https://www.arction.com/lightningchart-js-performance/)
* [Full features & technical requirements](https://www.arction.com/lightningchart-js-full-features/)
* [Stack Overflow](https://stackoverflow.com/questions/tagged/lightningchart)
- [Product page](https://www.arction.com/lightningchart-js/)
- [Resources](https://www.arction.com/lightningchart-js-resources/)
- [API documentation](https://www.arction.com/lightningchart-js-api-documentation/)
- [Free community license](https://www.arction.com/community-license/)
- [Performance tester](https://www.arction.com/lightningchart-js-performance/)
- [Full features & technical requirements](https://www.arction.com/lightningchart-js-full-features/)
- [Stack Overflow](https://stackoverflow.com/questions/tagged/lightningchart)

@@ -115,3 +139,3 @@ ## Installation

When the library is used without a license, it will run with a LightningChart JS logo on the chart. The logo is a link to the LightningChart JS product page.
When the library is used without a license, it will run with a LightningChart JS logo on the chart. The logo is a link to the LightningChart JS product page.

@@ -144,18 +168,18 @@ There is a small performance drop when the chart is running without a license key compared to running with a valid license.

The library is distributed as a single *javascript* *module*. Its *exports* can be grouped to two categories:
The library is distributed as a single _javascript_ _module_. Its _exports_ can be grouped to two categories:
#### lightningChart
This will be needed for every *lcjs*-application as it is required for creating *Charts*, *Dashboards*, *LegendBoxes*... Its usage is always the same:
This will be needed for every _lcjs_-application as it is required for creating _Charts_, _Dashboards_, _LegendBoxes_... Its usage is always the same:
```javascript
// Import library.
const { lightningChart } = require('@arction/lcjs')
const { lightningChart } = require("@arction/lcjs");
// Create an instance of lightningChart for creation of charts.
const lc = lightningChart()
const lc = lightningChart();
// Create charts using methods of 'LightningChart'-interface.
const cartesianChart = lc.ChartXY()
const spiderChart = lc.Spider()
const cartesianChart = lc.ChartXY();
const spiderChart = lc.Spider();
// ...

@@ -168,3 +192,3 @@ ```

To use your *LightningChart JS* license, you must pass it as an argument to *lightningChart*, like so:
To use your _LightningChart JS_ license, you must pass it as an argument to _lightningChart_, like so:

@@ -174,3 +198,3 @@ ```javascript

// ----- Licensed version -----
const lc = lightningChart(myLicenseString)
const lc = lightningChart(myLicenseString);
```

@@ -180,3 +204,3 @@

To use your *LightningChart JS* Application deployment license, you must also pass an object containing license information.
To use your _LightningChart JS_ Application deployment license, you must also pass an object containing license information.

@@ -186,3 +210,3 @@ ```javascript

// ----- Application Deployment licensed version -----
const lc = lightningChart(myLicenseString, licenseInformationObject)
const lc = lightningChart(myLicenseString, licenseInformationObject);
```

@@ -196,3 +220,3 @@

*LightningChart® JS* also includes a bunch of other exports for styling, configuring and interacting with *charts*, building different *UI-elements* and what-not. These can be imported from the *lcjs* module as required:
_LightningChart® JS_ also includes a bunch of other exports for styling, configuring and interacting with _charts_, building different _UI-elements_ and what-not. These can be imported from the _lcjs_ module as required:

@@ -204,8 +228,8 @@ ```javascript

ColorRGBA,
AxisScrollStrategies
AxisScrollStrategies,
// ...
} = require('@arction/lcjs')
} = require("@arction/lcjs");
```
Any entry listed in *LightningChart® JS API Documentation* is importable as in the previous example.
Any entry listed in _LightningChart® JS API Documentation_ is importable as in the previous example.

@@ -215,9 +239,11 @@ ### Example usage

```javascript
const { lightningChart, DataPatterns } = require('@arction/lcjs')
const { lightningChart, DataPatterns } = require("@arction/lcjs");
// Create a cartesian chart.
const chart = lightningChart().ChartXY()
const chart = lightningChart().ChartXY();
// Add a series for rendering a line optimized for progressing by X.
const lineSeries = chart.addLineSeries({ dataPattern: DataPatterns.horizontalProgressive })
const lineSeries = chart.addLineSeries({
dataPattern: DataPatterns.horizontalProgressive,
});

@@ -235,4 +261,4 @@ // Append point locations. (Note that selected Data Pattern expects them to be progressive by X)

{ x: 95, y: 100 },
{ x: 100, y: 0 }
])
{ x: 100, y: 0 },
]);
```

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc