diff --git a/package.json b/package.json index c7f2097..42c95b5 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,9 @@ "@ngrx/router-store": "^5.0.1", "@ngrx/store": "^5.0.0", "@ngrx/store-devtools": "^5.0.1", + "@swimlane/ngx-charts": "^7.1.1", "core-js": "^2.5.3", + "d3": "^4.13.0", "hammerjs": "^2.0.8", "ng2-odometer": "^1.1.3", "ngx-perfect-scrollbar": "^5.3.1", 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 new file mode 100644 index 0000000..e821bea --- /dev/null +++ b/src/app/commons/component/app-summary-card/app-summary-card.component.html @@ -0,0 +1,3 @@ +

+ app-summary-card works! +

diff --git a/src/app/commons/component/app-summary-card/app-summary-card.component.scss b/src/app/commons/component/app-summary-card/app-summary-card.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/commons/component/app-summary-card/app-summary-card.component.spec.ts b/src/app/commons/component/app-summary-card/app-summary-card.component.spec.ts new file mode 100644 index 0000000..788467e --- /dev/null +++ b/src/app/commons/component/app-summary-card/app-summary-card.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AppSummaryCardComponent } from './app-summary-card.component'; + +describe('AppSummaryCardComponent', () => { + let component: AppSummaryCardComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ AppSummaryCardComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(AppSummaryCardComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/commons/component/app-summary-card/app-summary-card.component.ts b/src/app/commons/component/app-summary-card/app-summary-card.component.ts new file mode 100644 index 0000000..8345ff6 --- /dev/null +++ b/src/app/commons/component/app-summary-card/app-summary-card.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'of-app-summary-card', + templateUrl: './app-summary-card.component.html', + styleUrls: ['./app-summary-card.component.scss'] +}) +export class AppSummaryCardComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} 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 new file mode 100644 index 0000000..90cca58 --- /dev/null +++ b/src/app/commons/component/host-summary-card/host-summary-card.component.html @@ -0,0 +1,3 @@ +

+ host-summary-card works! +

diff --git a/src/app/commons/component/host-summary-card/host-summary-card.component.scss b/src/app/commons/component/host-summary-card/host-summary-card.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/commons/component/host-summary-card/host-summary-card.component.spec.ts b/src/app/commons/component/host-summary-card/host-summary-card.component.spec.ts new file mode 100644 index 0000000..349f3a4 --- /dev/null +++ b/src/app/commons/component/host-summary-card/host-summary-card.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { HostSummaryCardComponent } from './host-summary-card.component'; + +describe('HostSummaryCardComponent', () => { + let component: HostSummaryCardComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ HostSummaryCardComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(HostSummaryCardComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/commons/component/host-summary-card/host-summary-card.component.ts b/src/app/commons/component/host-summary-card/host-summary-card.component.ts new file mode 100644 index 0000000..9b6ef22 --- /dev/null +++ b/src/app/commons/component/host-summary-card/host-summary-card.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'of-host-summary-card', + templateUrl: './host-summary-card.component.html', + styleUrls: ['./host-summary-card.component.scss'] +}) +export class HostSummaryCardComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/src/app/commons/component/layouts.module.ts b/src/app/commons/component/layouts.module.ts index 42d9a7c..540fbb2 100644 --- a/src/app/commons/component/layouts.module.ts +++ b/src/app/commons/component/layouts.module.ts @@ -9,6 +9,8 @@ import { FlexLayoutModule } from '@angular/flex-layout'; import { InfoTableComponent } from './info-table/info-table.component'; import { SensorSummaryComponent } from './sensor-summary/sensor-summary.component'; import { SensorItemFilterComponent } from './sensor-item-filter/sensor-item-filter.component'; +import { HostSummaryCardComponent } from './host-summary-card/host-summary-card.component'; +import { AppSummaryCardComponent } from './app-summary-card/app-summary-card.component'; @NgModule({ @@ -16,6 +18,6 @@ import { SensorItemFilterComponent } from './sensor-item-filter/sensor-item-filt CommonModule, FlexLayoutModule, ], - declarations: [SidebarComponent, HeaderComponent, FooterComponent, MenuItemComponent, SubMenubarComponent, InfoTableComponent, SensorSummaryComponent, SensorItemFilterComponent] + declarations: [SidebarComponent, HeaderComponent, FooterComponent, MenuItemComponent, SubMenubarComponent, InfoTableComponent, SensorSummaryComponent, SensorItemFilterComponent, HostSummaryCardComponent, AppSummaryCardComponent] }) export class LayoutsModule { } diff --git a/src/app/pages/overview/overview-page.module.ts b/src/app/pages/overview/overview-page.module.ts index e0aebc8..820c348 100644 --- a/src/app/pages/overview/overview-page.module.ts +++ b/src/app/pages/overview/overview-page.module.ts @@ -9,6 +9,7 @@ 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'; @NgModule({ imports: [ @@ -16,7 +17,8 @@ import { SensorItemFilterComponent } from '../../commons/component/sensor-item-f OverviewPageRoutingModule, DashboardCardModule, MaterialModule, - PerfectScrollbarModule + PerfectScrollbarModule, + NgxChartsModule ], declarations: [ OverviewPageComponent, diff --git a/yarn.lock b/yarn.lock index c7b0ef1..9aec38a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -245,6 +245,22 @@ 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" + 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/jasmine@*", "@types/jasmine@~2.8.5": version "2.8.5" resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.8.5.tgz#96e58872583fa80c7ea0dd29024b180d5e133678" @@ -1406,6 +1422,10 @@ combined-stream@^1.0.5, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" +commander@2: + version "2.14.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa" + commander@2.12.x: version "2.12.2" resolved "https://registry.yarnpkg.com/commander/-/commander-2.12.2.tgz#0f5946c427ed9ec0d91a46bb9def53e54650e555" @@ -1757,6 +1777,216 @@ 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@^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" @@ -3182,14 +3412,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" @@ -5935,6 +6165,10 @@ 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.5.2, rxjs@^5.5.6: version "5.5.6" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.6.tgz#e31fb96d6fd2ff1fd84bcea8ae9c02d007179c02" @@ -7410,6 +7644,10 @@ 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"