Skip to content

systelab/systelab-charts

Repository files navigation

Codacy Badge Build Status npm version Known Vulnerabilities

systelab-charts

Library with charts components to speed up your Angular developments.

Working with the repo

In order to clone the repository and test the library use the following commands:

git clone https://github.com/systelab/systelab-charts.git
cd systelab-charts
npm run build-lib
ng serve

This will bootstrap a showcase application to test the different charts.

In order to publish the library, an authorized npm user is required. Once set, update the version in the package.json, and run the npm publish script:

npm run build-lib
cd dist/systelab-charts
npm publish

Documentation

Read the provided documentation to use the library

Breaking changes

Version 15.3.x - Interface-based configuration

  • Rebump of the library based on a totally new systelab-chart component:
    • Interface based on a single @Input field with a typed configuration object
    • Used ChartJS typings to minimize implementation errors
    • Splitted implementation into several 'single-responsible' services
  • Kept old component, but renamed to systelab-chart-legacy and marked as "deprecated"
  • Updated showcase to show charts generated with both components, new and legacy

Version 15.x.x - Angular 15

Angular 15 news

  • Router and HttpClient tree-shakable standalone APIs
  • Directive composition API
  • Image directive is now stable
  • Functional router guards
  • Router unwraps default imports
  • Better stack traces
  • Release MDC-based components to stable
  • Improvements in the experimental esbuild support

Version 14.x.x - Angular 14

Angular 13 news

  • View Engine is no longer available
  • Libraries built with the latest version of the APF Angular Package Format will no longer require the use of ngcc. As a result of these changes library developers can expect leaner package output and faster execution.
  • The new API removes the need for ComponentFactoryResolver being injected into the constructor. Ivy creates the opportunity to instantiate the component with ViewContainerRef.createComponent without creating an associated factory
  • End of IE11 support
  • Angular now supports the use of persistent build cache by default for new v13 projects More info and CLI Cache
  • RxJS 7.4 is now the default for apps created with ng new
  • Dynamically enable/disable validators: allows built-in validators to be disabled by setting the value to null
  • Important improvements to TestBed that now does a better job of tearing down test modules and environments after each test
  • canceledNavigationResolution router flag to restore the computed value of the browser history when set to computed
  • TypeScript 4.4

Angular 14 news

  • Standalone Components
  • Typed Angular Forms
  • Streamlined page title accessibility
  • Extended developer diagnostics
  • Catch the invalid “Banana in a box” error on your two-way data bindings
  • Catch nullish coalescing on non-nullable values in Angular templates
  • Bind to protected component members directly from the templates
  • Optional injectors in Embedded Views
  • Support for passing in an optional injector when creating an embedded view through ViewContainerRef.createEmbeddedView and TemplateRef.createEmbeddedView
  • NgModel changes are reflected in the UI for OnPush components
  • TypeScript 4.6

Version 9 - Angular 12

Added chartjs dependencies from peerDependencies to dependencies, now no need to add it in app package that uses the library.

IE11 support has been deprecated due to the upgrade to Angular 12

Use of Ivy, applications that uses this library have to use Angular 12 and Ivy rendering.

Added --noImplicitOverride flag to allow override methods and get error for unintentionally overrides https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-3.html#override-and-the---noimplicitoverride-flag

Version 6

Few changes where introduce in version 6 in order to standardize the library and support Angular 9. The following steps should be considered when migrating from version 5.

  1. When importing the module do not use .forRoot(); In WebStorm, replace in path:
- SystelabChartsModule.forRoot\(\)
- SystelabChartsModule
  1. When importing services and modules import them from systelab-charts root. In WebStorm, replace in path:
- from 'systelab-charts/lib.+
- from 'systelab-charts';