From afa1e03a3d0fec247c833e0287012bdb1928b513 Mon Sep 17 00:00:00 2001 From: crusader Date: Fri, 16 Mar 2018 17:33:47 +0900 Subject: [PATCH] ing --- package.json | 20 +- src/app/app-store.module.ts | 2 +- src/app/app.module.ts | 2 - .../app-summary-card.component.html | 4 +- .../host-summary-card.component.html | 4 +- .../commons/ui/covalent/covalent.module.ts | 41 -- .../simple-router-state-serializer.ts | 0 .../pages/overview/overview-page.module.ts | 2 - src/app/pages/pages.module.ts | 2 - .../commons/chart/area/area.module.ts | 20 + .../chart/area/component/area.component.html | 6 + .../chart/area/component/area.component.scss | 0 .../area/component/area.component.spec.ts | 25 + .../chart/area/component/area.component.ts | 16 + .../nvd3/component/nvd3.component.spec.ts | 25 + .../core/nvd3/component/nvd3.component.ts | 289 ++++++++++ .../commons/chart/core/nvd3/model/Config.ts | 10 + .../commons/chart/core/nvd3/nvd3.module.ts | 17 + .../chart/line/component/line.component.html | 6 + .../chart/line/component/line.component.scss | 0 .../line/component/line.component.spec.ts | 25 + .../chart/line/component/line.component.ts | 24 + .../commons/chart/line/line.module.ts | 20 + .../chart/pie/component/pie.component.html | 3 + .../chart/pie/component/pie.component.scss | 0 .../chart/pie/component/pie.component.spec.ts | 25 + .../chart/pie/component/pie.component.ts | 15 + src/packages/commons/chart/pie/pie.module.ts | 20 + src/packages/core/rest/client/RESTClient.ts | 1 + src/packages/core/rpc/client/RPCClient.ts | 6 + .../core/websocket/RxWebsocketSubject.ts | 2 - .../noauth/component/list/list.component.ts | 15 - .../component/detail/detail.component.ts | 6 +- .../target/component/list/list.component.ts | 3 +- src/theme.scss | 6 +- yarn.lock | 517 +++++++----------- 36 files changed, 784 insertions(+), 395 deletions(-) delete mode 100644 src/app/commons/ui/covalent/covalent.module.ts rename src/{packages/commons/util/router/state => app/commons/util/ngrx/router-store}/serializer/simple-router-state-serializer.ts (100%) create mode 100644 src/packages/commons/chart/area/area.module.ts create mode 100644 src/packages/commons/chart/area/component/area.component.html create mode 100644 src/packages/commons/chart/area/component/area.component.scss create mode 100644 src/packages/commons/chart/area/component/area.component.spec.ts create mode 100644 src/packages/commons/chart/area/component/area.component.ts create mode 100644 src/packages/commons/chart/core/nvd3/component/nvd3.component.spec.ts create mode 100644 src/packages/commons/chart/core/nvd3/component/nvd3.component.ts create mode 100644 src/packages/commons/chart/core/nvd3/model/Config.ts create mode 100644 src/packages/commons/chart/core/nvd3/nvd3.module.ts create mode 100644 src/packages/commons/chart/line/component/line.component.html create mode 100644 src/packages/commons/chart/line/component/line.component.scss create mode 100644 src/packages/commons/chart/line/component/line.component.spec.ts create mode 100644 src/packages/commons/chart/line/component/line.component.ts create mode 100644 src/packages/commons/chart/line/line.module.ts create mode 100644 src/packages/commons/chart/pie/component/pie.component.html create mode 100644 src/packages/commons/chart/pie/component/pie.component.scss create mode 100644 src/packages/commons/chart/pie/component/pie.component.spec.ts create mode 100644 src/packages/commons/chart/pie/component/pie.component.ts create mode 100644 src/packages/commons/chart/pie/pie.module.ts diff --git a/package.json b/package.json index dfab23e..314f4f8 100644 --- a/package.json +++ b/package.json @@ -17,44 +17,40 @@ "@angular/common": "^5.2.1", "@angular/compiler": "^5.2.1", "@angular/core": "^5.2.1", - "@angular/flex-layout": "^2.0.0-beta.12", + "@angular/flex-layout": "^5.0.0-beta.13", "@angular/forms": "^5.2.1", "@angular/material": "^5.1.0", "@angular/platform-browser": "^5.2.1", "@angular/platform-browser-dynamic": "^5.2.1", "@angular/router": "^5.2.1", - "@covalent/core": "^1.0.0-rc.4", - "@covalent/dynamic-forms": "^1.0.0-rc.4", - "@covalent/highlight": "^1.0.0-rc.4", - "@covalent/http": "^1.0.0-rc.4", - "@covalent/markdown": "^1.0.0-rc.4", "@ngrx/core": "^1.2.0", "@ngrx/effects": "^5.2.0", "@ngrx/entity": "^5.2.0", "@ngrx/router-store": "^5.2.0", "@ngrx/store": "^5.2.0", "@ngrx/store-devtools": "^5.2.0", - "@swimlane/ngx-charts": "^7.1.1", "angular-tree-component": "^7.0.1", + "angularx-qrcode": "^1.0.1", + "angular-l10n": "^4.1.5", "core-js": "^2.5.3", - "d3": "^4.13.0", + "d3": "^3.5.17", "hammerjs": "^2.0.8", "ng2-odometer": "^1.1.3", "ngx-cookie-service": "^1.0.10", - "ng2-nvd3": "^2.0.0", "ngx-perfect-scrollbar": "^5.3.1", + "nvd3": "^1.8.6", "rxjs": "^5.5.6", - "zone.js": "^0.8.20", - "angularx-qrcode": "^1.0.1", - "angular-l10n": "^4.1.5" + "zone.js": "^0.8.20" }, "devDependencies": { "@angular/cli": "1.6.5", "@angular/compiler-cli": "^5.2.1", "@angular/language-service": "^5.2.1", + "@types/d3": "^5.0.0", "@types/jasmine": "~2.8.5", "@types/jasminewd2": "~2.0.3", "@types/node": "~6.0.60", + "@types/nvd3": "^1.8.38", "codelyzer": "^4.1.0", "jasmine-core": "~2.8.0", "jasmine-spec-reporter": "~4.2.1", diff --git a/src/app/app-store.module.ts b/src/app/app-store.module.ts index 3eb054e..bbb2785 100644 --- a/src/app/app-store.module.ts +++ b/src/app/app-store.module.ts @@ -9,7 +9,7 @@ import { import { EffectsModule } from '@ngrx/effects'; import { combineReducers, ActionReducer, ActionReducerMap, MetaReducer } from '@ngrx/store'; -import { SimpleRouterStateSerializer } from 'packages/commons/util/router/state/serializer/simple-router-state-serializer'; +import { SimpleRouterStateSerializer } from './commons/util/ngrx/router-store/serializer/simple-router-state-serializer'; import { environment } from '../environments/environment'; import { EFFECTS } from './commons/store'; diff --git a/src/app/app.module.ts b/src/app/app.module.ts index e9092dc..26e2411 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -24,7 +24,6 @@ import { AppStoreModule } from './app-store.module'; import { AppL10NModule } from './app-l10n.module'; import { MaterialModule } from './commons/ui/material/material.module'; -import { CovalentModule } from './commons/ui/covalent/covalent.module'; import { AppComponent } from './app.component'; @@ -42,7 +41,6 @@ import { AuthGuard } from './commons/guard/auth.guard'; AppStoreModule, AppL10NModule, MaterialModule, - CovalentModule, HttpClientModule, MemberModule, ], diff --git a/src/app/commons/component/app-summary-card/app-summary-card.component.html b/src/app/commons/component/app-summary-card/app-summary-card.component.html index 727a5e3..0b028e3 100644 --- a/src/app/commons/component/app-summary-card/app-summary-card.component.html +++ b/src/app/commons/component/app-summary-card/app-summary-card.component.html @@ -4,6 +4,6 @@ Applications - - + \ No newline at end of file diff --git a/src/app/commons/component/host-summary-card/host-summary-card.component.html b/src/app/commons/component/host-summary-card/host-summary-card.component.html index 42f3057..2504303 100644 --- a/src/app/commons/component/host-summary-card/host-summary-card.component.html +++ b/src/app/commons/component/host-summary-card/host-summary-card.component.html @@ -4,6 +4,6 @@ Hosts - - + \ No newline at end of file diff --git a/src/app/commons/ui/covalent/covalent.module.ts b/src/app/commons/ui/covalent/covalent.module.ts deleted file mode 100644 index 5476306..0000000 --- a/src/app/commons/ui/covalent/covalent.module.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { NgModule } from '@angular/core'; -import { - CovalentCommonModule, CovalentLayoutModule, CovalentMediaModule, CovalentExpansionPanelModule, - CovalentStepsModule, CovalentLoadingModule, CovalentDialogsModule, CovalentSearchModule, CovalentPagingModule, - CovalentNotificationsModule, CovalentMenuModule, CovalentDataTableModule, CovalentMessageModule - } from '@covalent/core'; - -@NgModule({ - imports: [ - CovalentCommonModule, - CovalentLayoutModule, - CovalentMediaModule, - CovalentExpansionPanelModule, - CovalentStepsModule, - CovalentDialogsModule, - CovalentLoadingModule, - CovalentSearchModule, - CovalentPagingModule, - CovalentNotificationsModule, - CovalentMenuModule, - CovalentDataTableModule, - CovalentMessageModule, - ], - exports : [ - CovalentCommonModule, - CovalentLayoutModule, - CovalentMediaModule, - CovalentExpansionPanelModule, - CovalentStepsModule, - CovalentDialogsModule, - CovalentLoadingModule, - CovalentSearchModule, - CovalentPagingModule, - CovalentNotificationsModule, - CovalentMenuModule, - CovalentDataTableModule, - CovalentMessageModule, - ] -}) - -export class CovalentModule { } diff --git a/src/packages/commons/util/router/state/serializer/simple-router-state-serializer.ts b/src/app/commons/util/ngrx/router-store/serializer/simple-router-state-serializer.ts similarity index 100% rename from src/packages/commons/util/router/state/serializer/simple-router-state-serializer.ts rename to src/app/commons/util/ngrx/router-store/serializer/simple-router-state-serializer.ts diff --git a/src/app/pages/overview/overview-page.module.ts b/src/app/pages/overview/overview-page.module.ts index 949b038..ad803ec 100644 --- a/src/app/pages/overview/overview-page.module.ts +++ b/src/app/pages/overview/overview-page.module.ts @@ -9,7 +9,6 @@ import { AddDashboardDialogComponent } from './add-dashboard-dialog/add-dashboar import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar'; import { SensorSummaryComponent } from '../../commons/component/sensor-summary/sensor-summary.component'; import { SensorItemFilterComponent } from '../../commons/component/sensor-item-filter/sensor-item-filter.component'; -import { NgxChartsModule } from '@swimlane/ngx-charts'; import { HostSummaryCardComponent } from '../../commons/component/host-summary-card/host-summary-card.component'; import { AppSummaryCardComponent } from '../../commons/component/app-summary-card/app-summary-card.component'; import { FormsModule } from '@angular/forms'; @@ -22,7 +21,6 @@ import { SensorItemModule } from 'packages/sensor-item/sensor-item.module'; DashboardCardModule, MaterialModule, PerfectScrollbarModule, - NgxChartsModule, FormsModule, SensorItemModule, ], diff --git a/src/app/pages/pages.module.ts b/src/app/pages/pages.module.ts index d2afbba..abea3b6 100644 --- a/src/app/pages/pages.module.ts +++ b/src/app/pages/pages.module.ts @@ -3,7 +3,6 @@ import { CommonModule } from '@angular/common'; import { PagesComponent } from './pages.component'; import { PagesRoutingModule } from './pages-routing.module'; import { SidebarComponent } from 'app/commons/component/sidebar/sidebar.component'; -import { CovalentModule } from 'app/commons/ui/covalent/covalent.module'; import { MaterialModule } from 'app/commons/ui/material/material.module'; import { HeaderComponent } from 'app/commons/component/header/header.component'; import { FooterComponent } from 'app/commons/component/footer/footer.component'; @@ -28,7 +27,6 @@ const DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = { imports: [ CommonModule, PagesRoutingModule, - CovalentModule, MaterialModule, PerfectScrollbarModule, NotificationModule, diff --git a/src/packages/commons/chart/area/area.module.ts b/src/packages/commons/chart/area/area.module.ts new file mode 100644 index 0000000..051d39a --- /dev/null +++ b/src/packages/commons/chart/area/area.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { NvD3Module } from 'packages/commons/chart/core/nvd3/nvd3.module'; + +import { AreaComponent } from './component/area.component'; + +@NgModule({ + imports: [ + CommonModule, + NvD3Module, + ], + exports: [ + AreaComponent, + ], + declarations: [ + AreaComponent, + ], +}) +export class AreaModule { } diff --git a/src/packages/commons/chart/area/component/area.component.html b/src/packages/commons/chart/area/component/area.component.html new file mode 100644 index 0000000..699c854 --- /dev/null +++ b/src/packages/commons/chart/area/component/area.component.html @@ -0,0 +1,6 @@ + diff --git a/src/packages/commons/chart/area/component/area.component.scss b/src/packages/commons/chart/area/component/area.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/commons/chart/area/component/area.component.spec.ts b/src/packages/commons/chart/area/component/area.component.spec.ts new file mode 100644 index 0000000..3ecaeae --- /dev/null +++ b/src/packages/commons/chart/area/component/area.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AreaComponent } from './area.component'; + +describe('AreaComponent', () => { + let component: AreaComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ AreaComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(AreaComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/commons/chart/area/component/area.component.ts b/src/packages/commons/chart/area/component/area.component.ts new file mode 100644 index 0000000..70338e3 --- /dev/null +++ b/src/packages/commons/chart/area/component/area.component.ts @@ -0,0 +1,16 @@ +import { Component, OnInit, ViewEncapsulation } from '@angular/core'; + +@Component({ + selector: 'of-chart-area', + templateUrl: './area.component.html', + styleUrls: ['./area.component.scss'], + encapsulation: ViewEncapsulation.None, +}) +export class AreaComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/src/packages/commons/chart/core/nvd3/component/nvd3.component.spec.ts b/src/packages/commons/chart/core/nvd3/component/nvd3.component.spec.ts new file mode 100644 index 0000000..1fcdd2a --- /dev/null +++ b/src/packages/commons/chart/core/nvd3/component/nvd3.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { NvD3Component } from './nvd3.component'; + +describe('NvD3Component', () => { + let component: NvD3Component; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ NvD3Component ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(NvD3Component); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/commons/chart/core/nvd3/component/nvd3.component.ts b/src/packages/commons/chart/core/nvd3/component/nvd3.component.ts new file mode 100644 index 0000000..5796897 --- /dev/null +++ b/src/packages/commons/chart/core/nvd3/component/nvd3.component.ts @@ -0,0 +1,289 @@ +import { Component, OnChanges, OnDestroy, ElementRef, Input, SimpleChanges } from '@angular/core'; + +import * as nvd3 from 'nvd3'; +import * as d3 from 'd3'; + +@Component({ + selector: 'of-nvd3', + template: ``, +}) +export class NvD3Component implements OnChanges, OnDestroy { + @Input() options: any; + @Input() data: any; + el: HTMLElement; + chart: any; + chartType: string; + svg: any; + + constructor( + elementRef: ElementRef + ) { + this.el = elementRef.nativeElement; + } + + ngOnChanges(changes: SimpleChanges): void { + if (this.options) { + if (!this.chart || this.chartType !== this.options.chart.type) { + this.initChart(this.options); + } else { + this.updateWithOptions(this.options); + } + } + } + + ngOnDestroy(): void { + this.clearElement(); + } + + initChart(options) { + // Clearing + this.clearElement(); + + if (!options) { + return; + } + + // Initialize chart with specific type + this.chart = nvd3.models[options.chart.type](); + this.chartType = this.options.chart.type; + + // Generate random chart ID + this.chart.id = Math.random().toString(36).substr(2, 15); + + this.updateWithOptions(options); + + nvd3.addGraph(() => { + if (!this.chart) { + return; + } + + // Remove resize handler. Due to async execution should be placed here, not in the clearElement + if (this.chart.resizeHandler) { + this.chart.resizeHandler.clear(); + } + + // Update the chart when window resizes + this.chart.resizeHandler = nvd3.utils.windowResize(() => { + return this.chart && this.chart.update && this.chart.update(); + }); + + return this.chart; + }, options.chart['callback']); + } + + /** + * Update chart with new options. + * @param options + */ + updateWithOptions(options) { + // Exit if options are not yet bound + if (!options) { + return; + } + + for (const key in this.chart) { + if (!this.chart.hasOwnProperty(key)) { + continue; + } + + const value = this.chart[key]; + + if (key[0] === '_') { + } else if ([ + 'clearHighlights', + 'highlightPoint', + 'id', + 'options', + 'resizeHandler', + 'state', + 'open', + 'close', + 'tooltipContent' + ].indexOf(key) >= 0) { + } else if (key === 'dispatch') { + this.configureEvents(this.chart[key], options.chart[key]); + } else if ([ + 'bars', + 'bars1', + 'bars2', + 'boxplot', + 'bullet', + 'controls', + 'discretebar', + 'distX', + 'distY', + 'interactiveLayer', + 'legend', + 'lines', + 'lines1', + 'lines2', + 'multibar', + 'pie', + 'scatter', + 'scatters1', + 'scatters2', + 'sparkline', + 'stack1', + 'stack2', + 'sunburst', + 'tooltip', + 'x2Axis', + 'xAxis', + 'y1Axis', + 'y2Axis', + 'y3Axis', + 'y4Axis', + 'yAxis', + 'yAxis1', + 'yAxis2', + 'sankeyChart' + ].indexOf(key) >= 0 || + // stacked is a component for stackedAreaChart, but a boolean for multiBarChart and multiBarHorizontalChart + (key === 'stacked' && options.chart.type === 'stackedAreaChart')) { + this.configure(this.chart[key], options.chart[key], options.chart.type); + } else if ((key === 'xTickFormat' || key === 'yTickFormat') && options.chart.type === 'lineWithFocusChart') { + } else if ((key === 'tooltips') && options.chart.type === 'boxPlotChart') { + } else if ((key === 'tooltipXContent' || key === 'tooltipYContent') && options.chart.type === 'scatterChart') { + } else if (options.chart[key] === undefined || options.chart[key] === null) { + } else { + this.chart[key](options.chart[key]); + } + } + + this.updateWithData(this.data); + } + + /** + * Update chart with new data. + * @param data + */ + updateWithData(data) { + if (data) { + + // Select the add element (create it if necessary) and to render the chart in + { + const svgElement = this.el.querySelector('svg'); + if (!svgElement) { + this.svg = d3.select(this.el).append('svg'); + } else { + this.svg = d3.select(svgElement); + } + } + + this.updateSize(); + this.svg.datum(data).call(this.chart); + } + } + + /** + * Update the chart size. + */ + updateSize() { + if (this.svg) { + let h, w; + if (h = this.options.chart.height) { + if (!isNaN(+h)) { h += 'px'; } + this.svg.attr('height', h).style({ height: h }); + } + if (w = this.options.chart.width) { + if (!isNaN(+w)) { w += 'px'; } + this.svg.attr('width', w).style({ width: w }); + } else { + this.svg.attr('width', '100%').style({ width: '100%' }); + } + } + } + + /** + * Synchronize the options with the options of the nvd3 chart. + * @param chart + * @param options + * @param chartType + */ + configure(chart, options, chartType) { + if (chart && options) { + + for (const key in chart) { + if (!chart.hasOwnProperty(key)) { continue; } + + const value = chart[key]; + + if (key[0] === '_') { + } else if (key === 'dispatch') { + this.configureEvents(value, options[key]); + } else if (key === 'tooltip') { + this.configure(chart[key], options[key], chartType); + } else if (key === 'contentGenerator') { + if (options[key]) { + chart[key](options[key]); + } + } else if ([ + 'axis', + 'clearHighlights', + 'defined', + 'highlightPoint', + 'nvPointerEventsClass', + 'options', + 'rangeBand', + 'rangeBands', + 'scatter', + 'open', + 'close' + ].indexOf(key) === -1) { + if (options[key] === undefined || options[key] === null) { + } else { chart[key](options[key]); } + } + } + + } + } + + /** + * Configure dispatch events. + * @param dispatch + * @param options + */ + configureEvents(dispatch, options) { + if (dispatch && options) { + for (const key in dispatch) { + if (!dispatch.hasOwnProperty(key)) { + continue; + } + + const value = dispatch[key]; + + if (options[key] === undefined || options[key] === null) { + } else { dispatch.on(key + '._', options[key]); } + } + } + } + + /** + * Cleanup an element. + */ + clearElement() { + this.el.innerHTML = ''; + + // remove tooltip if exists + if (this.chart && this.chart.tooltip && this.chart.tooltip.id) { + d3.select('#' + this.chart.tooltip.id()).remove(); + } + + // To be compatible with old nvd3 (v1.7.1) + if (nvd3['graphs'] && this.chart) { + for (let i = nvd3['graphs'].length - 1; i >= 0; i--) { + if (nvd3['graphs'][i] && (nvd3['graphs'][i].id === this.chart.id)) { + nvd3['graphs'].splice(i, 1); + } + } + } + if (nvd3.tooltip && nvd3.tooltip.cleanup) { + nvd3.tooltip.cleanup(); + } + if (this.chart && this.chart.resizeHandler) { + this.chart.resizeHandler.clear(); + } + + this.chart = null; + } +} diff --git a/src/packages/commons/chart/core/nvd3/model/Config.ts b/src/packages/commons/chart/core/nvd3/model/Config.ts new file mode 100644 index 0000000..04447bd --- /dev/null +++ b/src/packages/commons/chart/core/nvd3/model/Config.ts @@ -0,0 +1,10 @@ +export interface Config { + visible: true; + extended: false; + disabled: false; + refreshDataOnly: true; + deepWatchOptions: true; + deepWatchData: true; + deepWatchDataDepth: 2; + debounce: 10; +} diff --git a/src/packages/commons/chart/core/nvd3/nvd3.module.ts b/src/packages/commons/chart/core/nvd3/nvd3.module.ts new file mode 100644 index 0000000..c2bf8af --- /dev/null +++ b/src/packages/commons/chart/core/nvd3/nvd3.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { NvD3Component } from './component/nvd3.component'; + +@NgModule({ + imports: [ + CommonModule, + ], + declarations: [ + NvD3Component, + ], + exports: [ + NvD3Component, + ], +}) +export class NvD3Module { } diff --git a/src/packages/commons/chart/line/component/line.component.html b/src/packages/commons/chart/line/component/line.component.html new file mode 100644 index 0000000..a8205d2 --- /dev/null +++ b/src/packages/commons/chart/line/component/line.component.html @@ -0,0 +1,6 @@ + diff --git a/src/packages/commons/chart/line/component/line.component.scss b/src/packages/commons/chart/line/component/line.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/commons/chart/line/component/line.component.spec.ts b/src/packages/commons/chart/line/component/line.component.spec.ts new file mode 100644 index 0000000..afe7065 --- /dev/null +++ b/src/packages/commons/chart/line/component/line.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LineComponent } from './line.component'; + +describe('LineComponent', () => { + let component: LineComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ LineComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(LineComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/commons/chart/line/component/line.component.ts b/src/packages/commons/chart/line/component/line.component.ts new file mode 100644 index 0000000..2a1eb3a --- /dev/null +++ b/src/packages/commons/chart/line/component/line.component.ts @@ -0,0 +1,24 @@ +import { Component, OnInit, ViewEncapsulation } from '@angular/core'; + +import * as nvd3 from 'nvd3'; +import * as d3 from 'd3'; + +@Component({ + selector: 'of-chart-line', + templateUrl: './line.component.html', + styleUrls: [ + '../../../../../node_modules/nvd3/build/nv.d3.css', + './line.component.scss', + ], + encapsulation: ViewEncapsulation.None, +}) +export class LineComponent implements OnInit { + chart: nvd3.LineChart; + + constructor() { } + + ngOnInit() { + + } + +} diff --git a/src/packages/commons/chart/line/line.module.ts b/src/packages/commons/chart/line/line.module.ts new file mode 100644 index 0000000..c856228 --- /dev/null +++ b/src/packages/commons/chart/line/line.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { NvD3Module } from 'packages/commons/chart/core/nvd3/nvd3.module'; + +import { LineComponent } from './component/line.component'; + +@NgModule({ + imports: [ + CommonModule, + NvD3Module, + ], + exports: [ + LineComponent, + ], + declarations: [ + LineComponent, + ], +}) +export class LineModule { } diff --git a/src/packages/commons/chart/pie/component/pie.component.html b/src/packages/commons/chart/pie/component/pie.component.html new file mode 100644 index 0000000..93b03e3 --- /dev/null +++ b/src/packages/commons/chart/pie/component/pie.component.html @@ -0,0 +1,3 @@ +

+ pie works! +

diff --git a/src/packages/commons/chart/pie/component/pie.component.scss b/src/packages/commons/chart/pie/component/pie.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/commons/chart/pie/component/pie.component.spec.ts b/src/packages/commons/chart/pie/component/pie.component.spec.ts new file mode 100644 index 0000000..528da25 --- /dev/null +++ b/src/packages/commons/chart/pie/component/pie.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PieComponent } from './pie.component'; + +describe('PieComponent', () => { + let component: PieComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ PieComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(PieComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/commons/chart/pie/component/pie.component.ts b/src/packages/commons/chart/pie/component/pie.component.ts new file mode 100644 index 0000000..12a1998 --- /dev/null +++ b/src/packages/commons/chart/pie/component/pie.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'of-chart-pie', + templateUrl: './pie.component.html', + styleUrls: ['./pie.component.scss'] +}) +export class PieComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/src/packages/commons/chart/pie/pie.module.ts b/src/packages/commons/chart/pie/pie.module.ts new file mode 100644 index 0000000..3bd0871 --- /dev/null +++ b/src/packages/commons/chart/pie/pie.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { NvD3Module } from 'packages/commons/chart/core/nvd3/nvd3.module'; + +import { PieComponent } from './component/pie.component'; + +@NgModule({ + imports: [ + CommonModule, + NvD3Module, + ], + exports: [ + PieComponent, + ], + declarations: [ + PieComponent, + ], +}) +export class PieModule { } diff --git a/src/packages/core/rest/client/RESTClient.ts b/src/packages/core/rest/client/RESTClient.ts index a3e72b3..b91da23 100644 --- a/src/packages/core/rest/client/RESTClient.ts +++ b/src/packages/core/rest/client/RESTClient.ts @@ -39,6 +39,7 @@ export class RESTClient { .request(method, Location.joinWithSlash(this._baseURL, entry), options) .map(response => response) .catch((error: HttpErrorResponse) => { + console.error(error); const aryMsg = error.error.message.split('|'); const resError: RESTError = { code: error.error.code, diff --git a/src/packages/core/rpc/client/RPCClient.ts b/src/packages/core/rpc/client/RPCClient.ts index 6093355..f436d46 100644 --- a/src/packages/core/rpc/client/RPCClient.ts +++ b/src/packages/core/rpc/client/RPCClient.ts @@ -5,6 +5,11 @@ import { RPCClientRWC } from './rwc/RPCClientRWC'; import { RPCRegistry } from './../registry/RPCRegistry'; import { RPCClientCodec, RPCClientResponseCodec } from '../protocol/RPCClientCodec'; +export interface RPCRequestState { + subject: Subject; + request: any; +} + export class RPCClient { private _requestID: number; @@ -107,6 +112,7 @@ export class RPCClient { if (undefined !== result) { resSubject.next(result); } else if (undefined !== error) { + console.error(error); resSubject.error(error); } } diff --git a/src/packages/core/websocket/RxWebsocketSubject.ts b/src/packages/core/websocket/RxWebsocketSubject.ts index 85b6413..e0d1e39 100644 --- a/src/packages/core/websocket/RxWebsocketSubject.ts +++ b/src/packages/core/websocket/RxWebsocketSubject.ts @@ -69,7 +69,6 @@ export class RxWebsocketSubject extends Subject { } public connect(): void { - console.log('RxWebsocketSubject.connect'); const wsSubjectConfig = Object.assign({}, this._wsSubjectConfig); if (undefined !== this._queryString) { wsSubjectConfig.url = wsSubjectConfig.url + '?' + this._queryString; @@ -99,7 +98,6 @@ export class RxWebsocketSubject extends Subject { }); this._reconnectionObservable.subscribe( () => { - console.log('RxWebsocketSubject._reconnectionObservable.subscribe'); this.connect(); }, null, diff --git a/src/packages/noauth/component/list/list.component.ts b/src/packages/noauth/component/list/list.component.ts index 12b3390..708e171 100644 --- a/src/packages/noauth/component/list/list.component.ts +++ b/src/packages/noauth/component/list/list.component.ts @@ -35,23 +35,10 @@ export class ListComponent implements OnInit, AfterContentInit { ngAfterContentInit() { this.store.select(AuthSelector.select('domain')).subscribe( (domain: Domain) => { - console.log(domain); this.store.dispatch(new ListStore.ReadAllByDomain(domain)); } ); - - // temporary data - // const data: NoAuthProbe[] = new Array(); - // for (let i = 0; i < 5; i++) { - // const p: NoAuthProbe = { - // id: i, - // description: String('desc' + i), - // createDate: new Date() - // }; - // data.push(p); - // } - this.noAuthProbes$.subscribe( (noAuthProbes: NoAuthProbe[]) => { this.dataSource = new MatTableDataSource(noAuthProbes); @@ -61,8 +48,6 @@ export class ListComponent implements OnInit, AfterContentInit { console.log(error.message); } ); - // this.dataSource = new MatTableDataSource(data); - // this.dataSource.sort = this.sort; } ngOnInit() { diff --git a/src/packages/target/component/detail/detail.component.ts b/src/packages/target/component/detail/detail.component.ts index a812c7e..7896f45 100644 --- a/src/packages/target/component/detail/detail.component.ts +++ b/src/packages/target/component/detail/detail.component.ts @@ -1,9 +1,9 @@ -import { Component, ViewChild, OnInit, Input } from '@angular/core'; +import { Component, ViewChild, OnInit, Input, AfterContentInit, AfterViewInit } from '@angular/core'; import { MatPaginator, MatTableDataSource } from '@angular/material'; -import { AfterContentInit, AfterViewInit } from '@angular/core/src/metadata/lifecycle_hooks'; -import { Sensor } from '../../../sensor/model'; import { Router } from '@angular/router'; +import { Sensor } from 'packages/sensor/model'; + @Component({ selector: 'of-target-detail', templateUrl: './detail.component.html', diff --git a/src/packages/target/component/list/list.component.ts b/src/packages/target/component/list/list.component.ts index 42bac62..655511f 100644 --- a/src/packages/target/component/list/list.component.ts +++ b/src/packages/target/component/list/list.component.ts @@ -1,6 +1,5 @@ -import { Component, OnInit, AfterViewInit, ViewChild } from '@angular/core'; +import { Component, OnInit, AfterViewInit, AfterContentInit, ViewChild } from '@angular/core'; import { MatTableDataSource, MatSort } from '@angular/material'; -import { AfterContentInit } from '@angular/core/src/metadata/lifecycle_hooks'; import { Router } from '@angular/router'; import { Infra } from '../../../infra/model'; diff --git a/src/theme.scss b/src/theme.scss index b26b888..b35bc28 100644 --- a/src/theme.scss +++ b/src/theme.scss @@ -4,7 +4,6 @@ */ @import '~@angular/material/theming'; - @import '~@covalent/core/theming/all-theme'; // Plus imports for other components in your app. // Include the base styles for Angular Material core. We include this here so that you only @@ -27,8 +26,7 @@ // Alternatively, you can import and @include the theme mixins for each component // that you are using. @include angular-material-theme($theme); - @include covalent-theme($theme); - + // Active icon color in list nav mat-nav-list, mat-list { [mat-list-item].active { @@ -75,4 +73,4 @@ cursor: -moz-grabbing; cursor: -webkit-grabbing; } - } \ No newline at end of file + } diff --git a/yarn.lock b/yarn.lock index ec7efbc..61d9491 100644 --- a/yarn.lock +++ b/yarn.lock @@ -130,9 +130,9 @@ dependencies: tslib "^1.7.1" -"@angular/flex-layout@^2.0.0-beta.12": - version "2.0.0-beta.12" - resolved "https://registry.yarnpkg.com/@angular/flex-layout/-/flex-layout-2.0.0-beta.12.tgz#80970dc1d60f27fa41537659926f3238f759f343" +"@angular/flex-layout@^5.0.0-beta.13": + version "5.0.0-beta.13" + resolved "https://registry.yarnpkg.com/@angular/flex-layout/-/flex-layout-5.0.0-beta.13.tgz#81ad6ad461003946e7c522920821a56ba7292a85" dependencies: tslib "^1.7.1" @@ -170,38 +170,6 @@ dependencies: tslib "^1.7.1" -"@covalent/core@^1.0.0-rc.4": - version "1.0.0-rc.4" - resolved "https://registry.yarnpkg.com/@covalent/core/-/core-1.0.0-rc.4.tgz#11990106c38233dc4ba8bc6d295847732cd94351" - dependencies: - tslib "^1.7.1" - -"@covalent/dynamic-forms@^1.0.0-rc.4": - version "1.0.0-rc.4" - resolved "https://registry.yarnpkg.com/@covalent/dynamic-forms/-/dynamic-forms-1.0.0-rc.4.tgz#efc2b8ae059d99fabe23f27cf4f2531df2558b29" - dependencies: - "@covalent/core" "^1.0.0-rc.4" - -"@covalent/highlight@^1.0.0-rc.4": - version "1.0.0-rc.4" - resolved "https://registry.yarnpkg.com/@covalent/highlight/-/highlight-1.0.0-rc.4.tgz#1d3c4c17a0aa69cbaf6ad36ae10fafc517997b45" - dependencies: - highlight.js "9.11.0" - tslib "^1.7.1" - -"@covalent/http@^1.0.0-rc.4": - version "1.0.0-rc.4" - resolved "https://registry.yarnpkg.com/@covalent/http/-/http-1.0.0-rc.4.tgz#e600b2f5066cf4a5d36ebf018a3473673f2615cd" - dependencies: - tslib "^1.7.1" - -"@covalent/markdown@^1.0.0-rc.4": - version "1.0.0-rc.4" - resolved "https://registry.yarnpkg.com/@covalent/markdown/-/markdown-1.0.0-rc.4.tgz#94e8efbf8ffb04907ea4e8d84f30d33592ebafea" - dependencies: - showdown "1.6.4" - tslib "^1.7.1" - "@ngrx/core@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@ngrx/core/-/core-1.2.0.tgz#882b46abafa2e0e6d887cb71a1b2c2fa3e6d0dc6" @@ -249,21 +217,197 @@ dependencies: typescript "~2.6.2" -"@swimlane/ngx-charts@^7.1.1": - version "7.1.1" - resolved "https://registry.yarnpkg.com/@swimlane/ngx-charts/-/ngx-charts-7.1.1.tgz#f95f520d81dde71055ead57032ad48f9218c36d8" +"@types/d3-array@*": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@types/d3-array/-/d3-array-1.2.1.tgz#e489605208d46a1c9d980d2e5772fa9c75d9ec65" + +"@types/d3-axis@*": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@types/d3-axis/-/d3-axis-1.0.9.tgz#62ce7bc8d04354298cda57f3f1d1f856ad69b89a" dependencies: - d3-array "^1.2.1" - d3-brush "^1.0.4" - d3-color "^1.0.3" - d3-force "^1.1.0" - d3-format "^1.2.0" - d3-hierarchy "^1.1.5" - d3-interpolate "^1.1.5" - d3-scale "^1.0.6" - d3-selection "^1.1.0" - d3-shape "^1.2.0" - d3-time-format "^2.1.0" + "@types/d3-selection" "*" + +"@types/d3-brush@*": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@types/d3-brush/-/d3-brush-1.0.7.tgz#05c30440f4d537fd23f976b0e6c4ba223001ef45" + dependencies: + "@types/d3-selection" "*" + +"@types/d3-chord@*": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/d3-chord/-/d3-chord-1.0.6.tgz#0589eb97a3191f4edaf17b7bde498462890ce1ec" + +"@types/d3-collection@*": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/d3-collection/-/d3-collection-1.0.6.tgz#0a5a87fe241fcbd253a637d024b4d8c55f84a369" + +"@types/d3-color@*": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/d3-color/-/d3-color-1.0.5.tgz#cad755f0fc6de7b70fa6e5e08afa81ef4c2248de" + +"@types/d3-contour@*": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@types/d3-contour/-/d3-contour-1.2.0.tgz#a66e245650ada59ef8720c04ca1d0c88a37c1d7e" + dependencies: + "@types/d3-array" "*" + "@types/geojson" "*" + +"@types/d3-dispatch@*": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/d3-dispatch/-/d3-dispatch-1.0.5.tgz#f1f9187b538ecb05157569d8dc2f70dfb04f1b52" + +"@types/d3-drag@*": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@types/d3-drag/-/d3-drag-1.2.0.tgz#5ee6279432c894f85cb72fcda911a959bae11952" + dependencies: + "@types/d3-selection" "*" + +"@types/d3-dsv@*": + version "1.0.31" + resolved "https://registry.yarnpkg.com/@types/d3-dsv/-/d3-dsv-1.0.31.tgz#468302f18ac44db2a3944086388d862503ab9c6c" + +"@types/d3-ease@*": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@types/d3-ease/-/d3-ease-1.0.7.tgz#93a301868be9e15061f3d44343b1ab3f8acb6f09" + +"@types/d3-fetch@*": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/d3-fetch/-/d3-fetch-1.0.1.tgz#2abd70bbd40ff26440f0cbfae7dfb2ad1f2c269b" + dependencies: + "@types/d3-dsv" "*" + +"@types/d3-force@*": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@types/d3-force/-/d3-force-1.1.0.tgz#40925ca3512b63bd424f7c9685e1781b5b0a1d7e" + +"@types/d3-format@*": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@types/d3-format/-/d3-format-1.2.1.tgz#9435fb1771d2fbf6a858c93218f4097c9aa396c1" + +"@types/d3-geo@*": + version "1.9.4" + resolved "https://registry.yarnpkg.com/@types/d3-geo/-/d3-geo-1.9.4.tgz#9cfa573b6702e260b3fec127d88589ca9fc2de1d" + dependencies: + "@types/geojson" "*" + +"@types/d3-hierarchy@*": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@types/d3-hierarchy/-/d3-hierarchy-1.1.0.tgz#50f1ee052840638035cbdd4acab1fc3470905907" + +"@types/d3-interpolate@*": + version "1.1.6" + resolved "https://registry.yarnpkg.com/@types/d3-interpolate/-/d3-interpolate-1.1.6.tgz#64041b15c9c032c348da1b22baabc59fa4d16136" + dependencies: + "@types/d3-color" "*" + +"@types/d3-path@*": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-1.0.6.tgz#c1a7d2dc07b295fdd1c84dabe4404df991b48693" + +"@types/d3-polygon@*": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/d3-polygon/-/d3-polygon-1.0.5.tgz#35ad54ed84c39d7e9f1252b6535be600be6cace2" + +"@types/d3-quadtree@*": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/d3-quadtree/-/d3-quadtree-1.0.5.tgz#1ce1e659eae4530df0cb127f297f1741a367a82e" + +"@types/d3-random@*": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@types/d3-random/-/d3-random-1.1.0.tgz#2dd08f1159c70719270e4a7c834af85c8b88d2c3" + +"@types/d3-scale-chromatic@*": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@types/d3-scale-chromatic/-/d3-scale-chromatic-1.2.0.tgz#c415744622fd8033f98ebcc9cf962dc8333dec97" + +"@types/d3-scale@*": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/d3-scale/-/d3-scale-2.0.0.tgz#d40f2ff137f4fe9b13b45c5a8e14f39edd498dcf" + dependencies: + "@types/d3-time" "*" + +"@types/d3-selection@*": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@types/d3-selection/-/d3-selection-1.3.0.tgz#acede3d22c18ec085cc401d4fdab9f040e1a73c7" + +"@types/d3-shape@*": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@types/d3-shape/-/d3-shape-1.2.2.tgz#f8dcdff7772a7ae37858bf04abd43848a78e590e" + dependencies: + "@types/d3-path" "*" + +"@types/d3-time-format@*": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/d3-time-format/-/d3-time-format-2.1.0.tgz#011e0fb7937be34a9a8f580ae1e2f2f1336a8a22" + +"@types/d3-time@*": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@types/d3-time/-/d3-time-1.0.7.tgz#4266d7c9be15fa81256a88d1d052d61cd8dc572c" + +"@types/d3-timer@*": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/d3-timer/-/d3-timer-1.0.6.tgz#786d4e20731adf03af2c5df6c86fe29667fe429b" + +"@types/d3-transition@*": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/d3-transition/-/d3-transition-1.1.1.tgz#c209fce6a966d6696356dd42b091a9c6cc79929f" + dependencies: + "@types/d3-selection" "*" + +"@types/d3-voronoi@*": + version "1.1.7" + resolved "https://registry.yarnpkg.com/@types/d3-voronoi/-/d3-voronoi-1.1.7.tgz#c0a145cf04395927e01706ff6c4ff835c97a8ece" + +"@types/d3-zoom@*": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@types/d3-zoom/-/d3-zoom-1.7.0.tgz#1221bbf6434820f044c80b551c5519b817008961" + dependencies: + "@types/d3-interpolate" "*" + "@types/d3-selection" "*" + +"@types/d3@^3": + version "3.5.40" + resolved "https://registry.yarnpkg.com/@types/d3/-/d3-3.5.40.tgz#277b575d79445a6dccc017d9bea71b72344c6e5f" + +"@types/d3@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@types/d3/-/d3-5.0.0.tgz#fec49f2aea0f0784f829eff38132926e92676d57" + dependencies: + "@types/d3-array" "*" + "@types/d3-axis" "*" + "@types/d3-brush" "*" + "@types/d3-chord" "*" + "@types/d3-collection" "*" + "@types/d3-color" "*" + "@types/d3-contour" "*" + "@types/d3-dispatch" "*" + "@types/d3-drag" "*" + "@types/d3-dsv" "*" + "@types/d3-ease" "*" + "@types/d3-fetch" "*" + "@types/d3-force" "*" + "@types/d3-format" "*" + "@types/d3-geo" "*" + "@types/d3-hierarchy" "*" + "@types/d3-interpolate" "*" + "@types/d3-path" "*" + "@types/d3-polygon" "*" + "@types/d3-quadtree" "*" + "@types/d3-random" "*" + "@types/d3-scale" "*" + "@types/d3-scale-chromatic" "*" + "@types/d3-selection" "*" + "@types/d3-shape" "*" + "@types/d3-time" "*" + "@types/d3-time-format" "*" + "@types/d3-timer" "*" + "@types/d3-transition" "*" + "@types/d3-voronoi" "*" + "@types/d3-zoom" "*" + +"@types/geojson@*": + version "7946.0.2" + resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.2.tgz#0bd0a01ef04e813c2b7580318da9e37c2eadea9c" "@types/jasmine@*", "@types/jasmine@~2.8.5": version "2.8.5" @@ -279,6 +423,12 @@ version "6.0.96" resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.96.tgz#7bf0bf40d6ce51e93762cc47d010c8cc5ebb2179" +"@types/nvd3@^1.8.38": + version "1.8.38" + resolved "https://registry.yarnpkg.com/@types/nvd3/-/nvd3-1.8.38.tgz#fed58ccd5e804fbbcd0c8216c08ef254bfc89f13" + dependencies: + "@types/d3" "^3" + "@types/q@^0.0.32": version "0.0.32" resolved "https://registry.yarnpkg.com/@types/q/-/q-0.0.32.tgz#bd284e57c84f1325da702babfc82a5328190c0c5" @@ -1446,14 +1596,14 @@ combined-stream@^1.0.5, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" -commander@2, commander@^2.12.1, commander@^2.9.0, commander@~2.13.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" - commander@2.12.x: version "2.12.2" resolved "https://registry.yarnpkg.com/commander/-/commander-2.12.2.tgz#0f5946c427ed9ec0d91a46bb9def53e54650e555" +commander@^2.12.1, commander@^2.9.0, commander@~2.13.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" + common-tags@^1.3.1: version "1.7.2" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.7.2.tgz#24d9768c63d253a56ecff93845b44b4df1d52771" @@ -1797,220 +1947,10 @@ cyclist@~0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" -d3-array@1, d3-array@1.2.1, d3-array@^1.2.0, d3-array@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.1.tgz#d1ca33de2f6ac31efadb8e050a021d7e2396d5dc" - -d3-axis@1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-1.0.8.tgz#31a705a0b535e65759de14173a31933137f18efa" - -d3-brush@1.0.4, d3-brush@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-1.0.4.tgz#00c2f238019f24f6c0a194a26d41a1530ffe7bc4" - dependencies: - d3-dispatch "1" - d3-drag "1" - d3-interpolate "1" - d3-selection "1" - d3-transition "1" - -d3-chord@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-1.0.4.tgz#7dec4f0ba886f713fe111c45f763414f6f74ca2c" - dependencies: - d3-array "1" - d3-path "1" - -d3-collection@1, d3-collection@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.4.tgz#342dfd12837c90974f33f1cc0a785aea570dcdc2" - -d3-color@1, d3-color@1.0.3, d3-color@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.0.3.tgz#bc7643fca8e53a8347e2fbdaffa236796b58509b" - -d3-dispatch@1, d3-dispatch@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-1.0.3.tgz#46e1491eaa9b58c358fce5be4e8bed626e7871f8" - -d3-drag@1, d3-drag@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-1.2.1.tgz#df8dd4c502fb490fc7462046a8ad98a5c479282d" - dependencies: - d3-dispatch "1" - d3-selection "1" - -d3-dsv@1, d3-dsv@1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-1.0.8.tgz#907e240d57b386618dc56468bacfe76bf19764ae" - dependencies: - commander "2" - iconv-lite "0.4" - rw "1" - -d3-ease@1, d3-ease@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.3.tgz#68bfbc349338a380c44d8acc4fbc3304aa2d8c0e" - -d3-force@1.1.0, d3-force@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-1.1.0.tgz#cebf3c694f1078fcc3d4daf8e567b2fbd70d4ea3" - dependencies: - d3-collection "1" - d3-dispatch "1" - d3-quadtree "1" - d3-timer "1" - -d3-format@1, d3-format@1.2.2, d3-format@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.2.2.tgz#1a39c479c8a57fe5051b2e67a3bee27061a74e7a" - -d3-geo@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.9.1.tgz#157e3b0f917379d0f73bebfff3be537f49fa7356" - dependencies: - d3-array "1" - -d3-hierarchy@1.1.5, d3-hierarchy@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.1.5.tgz#a1c845c42f84a206bcf1c01c01098ea4ddaa7a26" - -d3-interpolate@1, d3-interpolate@1.1.6, d3-interpolate@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.1.6.tgz#2cf395ae2381804df08aa1bf766b7f97b5f68fb6" - dependencies: - d3-color "1" - -d3-path@1, d3-path@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.5.tgz#241eb1849bd9e9e8021c0d0a799f8a0e8e441764" - -d3-polygon@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-1.0.3.tgz#16888e9026460933f2b179652ad378224d382c62" - -d3-quadtree@1, d3-quadtree@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-1.0.3.tgz#ac7987e3e23fe805a990f28e1b50d38fcb822438" - -d3-queue@3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/d3-queue/-/d3-queue-3.0.7.tgz#c93a2e54b417c0959129d7d73f6cf7d4292e7618" - -d3-random@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-1.1.0.tgz#6642e506c6fa3a648595d2b2469788a8d12529d3" - -d3-request@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/d3-request/-/d3-request-1.0.6.tgz#a1044a9ef4ec28c824171c9379fae6d79474b19f" - dependencies: - d3-collection "1" - d3-dispatch "1" - d3-dsv "1" - xmlhttprequest "1" - -d3-scale@1.0.7, d3-scale@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-1.0.7.tgz#fa90324b3ea8a776422bd0472afab0b252a0945d" - dependencies: - d3-array "^1.2.0" - d3-collection "1" - d3-color "1" - d3-format "1" - d3-interpolate "1" - d3-time "1" - d3-time-format "2" - -d3-selection@1, d3-selection@1.3.0, d3-selection@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.3.0.tgz#d53772382d3dc4f7507bfb28bcd2d6aed2a0ad6d" - -d3-shape@1.2.0, d3-shape@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.2.0.tgz#45d01538f064bafd05ea3d6d2cb748fd8c41f777" - dependencies: - d3-path "1" - -d3-time-format@2, d3-time-format@2.1.1, d3-time-format@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.1.1.tgz#85b7cdfbc9ffca187f14d3c456ffda268081bb31" - dependencies: - d3-time "1" - -d3-time@1, d3-time@1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.0.8.tgz#dbd2d6007bf416fe67a76d17947b784bffea1e84" - -d3-timer@1, d3-timer@1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.7.tgz#df9650ca587f6c96607ff4e60cc38229e8dd8531" - -d3-transition@1, d3-transition@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-1.1.1.tgz#d8ef89c3b848735b060e54a39b32aaebaa421039" - dependencies: - d3-color "1" - d3-dispatch "1" - d3-ease "1" - d3-interpolate "1" - d3-selection "^1.1.0" - d3-timer "1" - -d3-voronoi@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.2.tgz#1687667e8f13a2d158c80c1480c5a29cb0d8973c" - -d3-zoom@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-1.7.1.tgz#02f43b3c3e2db54f364582d7e4a236ccc5506b63" - dependencies: - d3-dispatch "1" - d3-drag "1" - d3-interpolate "1" - d3-selection "1" - d3-transition "1" - -d3@^3.5.15: +d3@^3.5.17: version "3.5.17" resolved "https://registry.yarnpkg.com/d3/-/d3-3.5.17.tgz#bc46748004378b21a360c9fc7cf5231790762fb8" -d3@^4.13.0: - version "4.13.0" - resolved "https://registry.yarnpkg.com/d3/-/d3-4.13.0.tgz#ab236ff8cf0cfc27a81e69bf2fb7518bc9b4f33d" - dependencies: - d3-array "1.2.1" - d3-axis "1.0.8" - d3-brush "1.0.4" - d3-chord "1.0.4" - d3-collection "1.0.4" - d3-color "1.0.3" - d3-dispatch "1.0.3" - d3-drag "1.2.1" - d3-dsv "1.0.8" - d3-ease "1.0.3" - d3-force "1.1.0" - d3-format "1.2.2" - d3-geo "1.9.1" - d3-hierarchy "1.1.5" - d3-interpolate "1.1.6" - d3-path "1.0.5" - d3-polygon "1.0.3" - d3-quadtree "1.0.3" - d3-queue "3.0.7" - d3-random "1.1.0" - d3-request "1.0.6" - d3-scale "1.0.7" - d3-selection "1.3.0" - d3-shape "1.2.0" - d3-time "1.0.8" - d3-time-format "2.1.1" - d3-timer "1.0.7" - d3-transition "1.1.1" - d3-voronoi "1.1.2" - d3-zoom "1.7.1" - d@1: version "1.0.0" resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" @@ -3277,10 +3217,6 @@ he@1.1.x: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" -highlight.js@9.11.0: - version "9.11.0" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.11.0.tgz#47f98c7399918700db2caf230ded12cec41a84ae" - hipchat-notifier@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/hipchat-notifier/-/hipchat-notifier-1.1.0.tgz#b6d249755437c191082367799d3ba9a0f23b231e" @@ -3436,14 +3372,14 @@ https-proxy-agent@1, https-proxy-agent@^1.0.0: debug "2" extend "3" -iconv-lite@0.4, iconv-lite@0.4.19: - version "0.4.19" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" - iconv-lite@0.4.15: version "0.4.15" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" +iconv-lite@0.4.19: + version "0.4.19" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" + icss-replace-symbols@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" @@ -4702,15 +4638,6 @@ netmask@~1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/netmask/-/netmask-1.0.6.tgz#20297e89d86f6f6400f250d9f4f6b4c1945fcd35" -ng2-nvd3@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ng2-nvd3/-/ng2-nvd3-2.0.0.tgz#70db3652ba03bc874c4187b30964a26aae23f52a" - dependencies: - d3 "^3.5.15" - nvd3 "^1.8.5" - reflect-metadata "^0.1.10" - rxjs "5.2.0" - ng2-odometer@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/ng2-odometer/-/ng2-odometer-1.1.3.tgz#27209e7ed225790120635aba2281b8a9318b6f47" @@ -4955,7 +4882,7 @@ number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" -nvd3@^1.8.5: +nvd3@^1.8.6: version "1.8.6" resolved "https://registry.yarnpkg.com/nvd3/-/nvd3-1.8.6.tgz#2d3eba74bf33363b5101ebf1d093c59a53ae73c4" @@ -5984,7 +5911,7 @@ reduce-function-call@^1.0.1: dependencies: balanced-match "^0.4.2" -reflect-metadata@^0.1.10, reflect-metadata@^0.1.2: +reflect-metadata@^0.1.2: version "0.1.12" resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.12.tgz#311bf0c6b63cd782f228a81abe146a2bfa9c56f2" @@ -6218,16 +6145,6 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rw@1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" - -rxjs@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.2.0.tgz#db537de8767c05fa73721587a29e0085307d318b" - dependencies: - symbol-observable "^1.0.1" - rxjs@^5.5.2, rxjs@^5.5.6: version "5.5.6" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.6.tgz#e31fb96d6fd2ff1fd84bcea8ae9c02d007179c02" @@ -6471,12 +6388,6 @@ shell-quote@^1.6.1: array-reduce "~0.0.0" jsonify "~0.0.0" -showdown@1.6.4: - version "1.6.4" - resolved "https://registry.yarnpkg.com/showdown/-/showdown-1.6.4.tgz#056bbb654ecdb8d8643ae12d6d597893ccaf46c6" - dependencies: - yargs "^6.6.0" - signal-exit@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -6952,7 +6863,7 @@ svgo@^0.7.0: sax "~1.2.1" whet.extend "~0.9.9" -symbol-observable@1.0.1, symbol-observable@^1.0.1: +symbol-observable@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" @@ -7703,10 +7614,6 @@ xmlhttprequest-ssl@~1.5.4: version "1.5.5" resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" -xmlhttprequest@1: - version "1.8.0" - resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" - xregexp@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" @@ -7747,7 +7654,7 @@ yargs-parser@^7.0.0: dependencies: camelcase "^4.1.0" -yargs@6.6.0, yargs@^6.6.0: +yargs@6.6.0: version "6.6.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" dependencies: