import { Injectable } from '@angular/core' ; import { of as observableOf , Observable } from 'rxjs' ; import { Electricity , ElectricityChart , ElectricityData } from '../data/electricity' ; @ Injectable ( ) export class ElectricityService extends ElectricityData { private listData : Electricity [ ] = [ { title : '2015' , months : [ { month : 'Jan' , delta : '0.97' , down : true , kWatts : '816' , cost : '97' } , { month : 'Feb' , delta : '1.83' , down : true , kWatts : '806' , cost : '95' } , { month : 'Mar' , delta : '0.64' , down : true , kWatts : '803' , cost : '94' } , { month : 'Apr' , delta : '2.17' , down : false , kWatts : '818' , cost : '98' } , { month : 'May' , delta : '1.32' , down : true , kWatts : '809' , cost : '96' } , { month : 'Jun' , delta : '0.05' , down : true , kWatts : '808' , cost : '96' } , { month : 'Jul' , delta : '1.39' , down : false , kWatts : '815' , cost : '97' } , { month : 'Aug' , delta : '0.73' , down : true , kWatts : '807' , cost : '95' } , { month : 'Sept' , delta : '2.61' , down : true , kWatts : '792' , cost : '92' } , { month : 'Oct' , delta : '0.16' , down : true , kWatts : '791' , cost : '92' } , { month : 'Nov' , delta : '1.71' , down : true , kWatts : '786' , cost : '89' } , { month : 'Dec' , delta : '0.37' , down : false , kWatts : '789' , cost : '91' } , ] , } , { title : '2016' , active : true , months : [ { month : 'Jan' , delta : '1.56' , down : true , kWatts : '789' , cost : '91' } , { month : 'Feb' , delta : '0.33' , down : false , kWatts : '791' , cost : '92' } , { month : 'Mar' , delta : '0.62' , down : true , kWatts : '790' , cost : '92' } , { month : 'Apr' , delta : '1.93' , down : true , kWatts : '783' , cost : '87' } , { month : 'May' , delta : '2.52' , down : true , kWatts : '771' , cost : '83' } , { month : 'Jun' , delta : '0.39' , down : false , kWatts : '774' , cost : '85' } , { month : 'Jul' , delta : '1.61' , down : true , kWatts : '767' , cost : '81' } , { month : 'Aug' , delta : '1.41' , down : true , kWatts : '759' , cost : '76' } , { month : 'Sept' , delta : '1.03' , down : true , kWatts : '752' , cost : '74' } , { month : 'Oct' , delta : '2.94' , down : false , kWatts : '769' , cost : '82' } , { month : 'Nov' , delta : '0.26' , down : true , kWatts : '767' , cost : '81' } , { month : 'Dec' , delta : '1.62' , down : true , kWatts : '760' , cost : '76' } , ] , } , { title : '2017' , months : [ { month : 'Jan' , delta : '1.34' , down : false , kWatts : '789' , cost : '91' } , { month : 'Feb' , delta : '0.95' , down : false , kWatts : '793' , cost : '93' } , { month : 'Mar' , delta : '0.25' , down : true , kWatts : '791' , cost : '92' } , { month : 'Apr' , delta : '1.72' , down : false , kWatts : '797' , cost : '95' } , { month : 'May' , delta : '2.62' , down : true , kWatts : '786' , cost : '90' } , { month : 'Jun' , delta : '0.72' , down : false , kWatts : '789' , cost : '91' } , { month : 'Jul' , delta : '0.78' , down : true , kWatts : '784' , cost : '89' } , { month : 'Aug' , delta : '0.36' , down : true , kWatts : '782' , cost : '88' } , { month : 'Sept' , delta : '0.55' , down : false , kWatts : '787' , cost : '90' } , { month : 'Oct' , delta : '1.81' , down : true , kWatts : '779' , cost : '86' } , { month : 'Nov' , delta : '1.12' , down : true , kWatts : '774' , cost : '84' } , { month : 'Dec' , delta : '0.52' , down : false , kWatts : '776' , cost : '95' } , ] , } , ] ; private chartPoints = [ 490 , 490 , 495 , 500 , 505 , 510 , 520 , 530 , 550 , 580 , 630 , 720 , 800 , 840 , 860 , 870 , 870 , 860 , 840 , 800 , 720 , 200 , 145 , 130 , 130 , 145 , 200 , 570 , 635 , 660 , 670 , 670 , 660 , 630 , 580 , 460 , 380 , 350 , 340 , 340 , 340 , 340 , 340 , 340 , 340 , 340 , 340 , ] ; chartData : ElectricityChart [ ] ; constructor ( ) { super ( ) ; this . chartData = this . chartPoints . map ( ( p , index ) => ( { label : ( index % 5 === 3 ) ? `${ Math . round ( index / 5 ) }` : '' , value : p , } ) ) ; } getListData ( ) { return observableOf ( this . listData ) ; } getChartData ( ) { return observableOf ( this . chartData ) ; } }