UNPKG

ngx-dygraphs

Version:

Angular 2+ and 4+ library for support of dygraphs(<http://dygraphs.com>) charts.

175 lines (131 loc) 4.79 kB
# ng-dygraphs Angular 2+ and 4+ library for support of dygraphs(<http://dygraphs.com>) charts. [![Build Status](https://travis-ci.org/mpx200/ng-dygraphs.svg?branch=master)](https://travis-ci.org/mpx200/ng-dygraphs) ## Supported features of dygraphs Then only thing you will need to pass are `data` and `options` (for detailed information look at <http://dygraphs.com/options.html>). ```js data // data property needs to be defined as attribute in the component and in native array format http://dygraphs.com/data.html#array // data = [[new Date("2008/05/07"), 75], // [new Date("2008/05/08"), 70], // [new Date("2008/05/09"), 80] // ]; options // options object needs to be defined as attribute in the component and consist of valid options http://dygraphs.com/options.html // options = {width: 'auto', labels: ['x','y'], xlabel: 'x', ylabel: 'y', animatedZooms: true, pointSize: 4} ``` ## Custom features ```js // posibility to turn on/off some of chart values http://dygraphs.com/tests/visibility.html customVisibility // default value is 'false' // define size of chart chartWidth // default value is 640 chartHeight // default value is 480 // define custom message when there is no data noDataLabel // default value is 'NO DATA AVAILABLE' ``` ## Installation To install `ng-dygraphs` use ```bash npm install ng-dygraphs --save ``` `dygraphs` is a dependency and should be installed along with the module. ## Usage and then from your Angular `AppModule`: ```typescript import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; // Import ng-dygraphs library import { NgDygraphsModule } from 'ng-dygraphs'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, // Specify NgDygraphsModule library as an import NgDygraphsModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { } ``` Once ng-dygraphs library is imported, you can use ng-dygraphs component in your Angular application: ```html <!-- You can now use your library component in app.component.html --> <h1> {{title}} </h1> <!-- data property needs to be defined in your controller and in native array format http://dygraphs.com/data.html#array data = [[new Date("2008/05/07"), 75], [new Date("2008/05/08"), 70], [new Date("2008/05/09"), 80] ]; options = {width: 'auto', labels: ['Date','Temperature'], xlabel: 'X label text', ylabel: 'Y label text', title: 'Working title :)', animatedZooms: true, pointSize: 4} --> <ng-dygraphs [data]="data" [options]="options"> </ng-dygraphs> ``` ## Additional settings to include this library with angular-cli in angular-cli.json ```json "styles": [ "styles.css", "../node_modules/dygraphs/dist/dygraph.min.css" ], "scripts": [ "../node_modules/dygraphs/dist/dygraph.min.js" ], ``` ## Additional settings to include this library in your angular2+ project example of integration with one of most popular angular2 seeds <https://github.com/mgechev/angular-seed/> in /tools/config/project.config.ts ```typescript // Add `NPM` third-party libraries to be injected/bundled. this.NPM_DEPENDENCIES = [ ...this.NPM_DEPENDENCIES, { src: 'dygraphs/dist/dygraph.min.js', inject: 'libs' }, //for version "dygraphs": "1.1.1" use this bellow //{ src: 'dygraphs/dygraph-combined.js', inject: 'libs' }, { src: 'dygraphs/dist/dygraph.min.css', inject: true, vendor: true } ]; this.mergeObject(this.SYSTEM_BUILDER_CONFIG, { packages: { 'ng-dygraphs' : { main:'lib/index.js', defaultExtension: 'js' } } }); // Add packages (e.g. ng2-translate) const additionalPackages: ExtendPackages[] = [{ name: 'ng-dygraphs', // Path to the package's bundle path: 'node_modules/ng-dygraphs/lib/index.js' }]; this.addPackagesBundles(additionalPackages); // in older version of seed you may try this code bellow // this.mergeObject(this.SYSTEM_CONFIG_DEV, { // paths: { // 'ng-dygraphs': 'node_modules/ng-dygraphs/lib/index.js' // } // }); ``` ## Development To build the module: ```bash npm run build ``` To lint all `*.ts` files: ```bash npm run lint ``` ## Docker You can check out Ludwig's docker ng-dygraph with angular-cli integration. <https://hub.docker.com/r/ludwigprager/ng-dygraph-cli/> ## License MIT © [Ivan Stepić](stepicivan@gmail.com)