{"version":3,"sources":["./src/app/modules/web-api-stats/web-stats.module.ts","./src/app/modules/web-api-stats/web-stats.page.html","./src/app/modules/web-api-stats/web-stats.page.ts","./src/app/modules/web-api-stats/web-stats.routing.ts","./src/app/modules/web-api-stats/web-stats.service.ts"],"names":[],"mappings":"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","file":"modules-web-api-stats-web-stats-module-ngfactory.0b627c234faa062c7f6b.js","sourcesContent":["import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { WebAPIStatsRoutingModule } from './web-stats.routing';\r\nimport { WebStatsPage } from './web-stats.page';\r\nimport { WebAPIStatisticsService } from './web-stats.service';\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tSharedModule,\r\n\t\tFormsModule,\r\n\t\tCommonModule,\r\n\t\tWebAPIStatsRoutingModule,\r\n\t\tMatFormFieldModule,\r\n\t\tMatDatepickerModule,\r\n\t\tMatInputModule,\r\n\t\tMatTableModule,\r\n\t\tMatPaginatorModule,\r\n\t\tMatSortModule,\r\n\t],\r\n\tdeclarations: [\r\n\t\tWebStatsPage,\r\n\t],\r\n\texports: [\r\n\t],\r\n\tproviders: [\r\n\t\tWebAPIStatisticsService\r\n\t],\r\n\tentryComponents: [\r\n\t\t//\r\n\t]\r\n})\r\n\r\nexport class WebAPIStatisticsModule {\r\n\tstatic forRoot(): ModuleWithProviders {\r\n\t\treturn {\r\n\t\t\tngModule: WebAPIStatisticsModule,\r\n\t\t\tproviders: [\r\n\t\t\t\t//\r\n\t\t\t]\r\n\t\t}\r\n\t}\r\n}\r\n","<admin-nav></admin-nav>\r\n<div class=\"bk-admin__page\">\r\n\r\n    <h5 class=\"bk-text--gray\">\r\n        {{'Single Call Web API Statistics' | translate }}\r\n    </h5>\r\n\r\n    <div class=\"bk-data-table__head\">\r\n        <div class=\"bk-data-table__search\">\r\n            <select class=\"bk-data-table__search--select\"\r\n                [(ngModel)]=\"commodityTypeId\"\r\n                (ngModelChange)=\"updateResultsByFilter()\">\r\n                <option [ngValue]=\"null\">\r\n                    {{ 'All Commodity Types' | translate}}\r\n                </option>\r\n                <option *ngFor=\"let commodityType of commodityTypes\"\r\n                    [ngValue]=\"commodityType.Id\">\r\n                    {{commodityType.Name}}</option>\r\n            </select>\r\n            <select class=\"bk-data-table__search--select\"\r\n                [(ngModel)]=\"regionId\"\r\n                (ngModelChange)=\"updateResultsByFilter()\">\r\n                <option [ngValue]=\"null\">\r\n                    {{ 'Regions' | translate}}\r\n                </option>\r\n                <option *ngFor=\"let region of regions\"\r\n                    [ngValue]=\"region.Id\">\r\n                    {{region.Name}}\r\n                </option>\r\n            </select>\r\n\r\n            <mat-form-field>\r\n                <mat-label>{{ 'Show Data From' | translate }}</mat-label>\r\n                <input matInput [matDatepicker]=\"start\"\r\n                    #startInput\r\n                    readonly\r\n                    (dateChange)=\"updateStartDate(startInput.value)\"\r\n                    [(ngModel)]=\"startDate\">\r\n                <mat-datepicker-toggle matSuffix [for]=\"start\"></mat-datepicker-toggle>\r\n                <mat-datepicker #start></mat-datepicker>\r\n            </mat-form-field>\r\n\r\n            <mat-form-field>\r\n                <mat-label>{{ 'to' | translate}}</mat-label>\r\n                <input matInput [matDatepicker]=\"end\"\r\n                    #endInput\r\n                    readonly\r\n                    (dateChange)=\"updateEndDate(endInput.value)\"\r\n                    [(ngModel)]=\"endDate\">\r\n                <mat-datepicker-toggle matSuffix [for]=\"end\"></mat-datepicker-toggle>\r\n                <mat-datepicker #end></mat-datepicker>\r\n            </mat-form-field>\r\n        </div>\r\n    </div>\r\n    <div class=\"bk-chart\" #eventChartContainer></div>\r\n\r\n</div>","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { TokenService } from '../../services/token.service';\r\nimport { AdministrativeArea, ICounty, IStatisticsRecord, StatisticsRecord } from '../statistics/interfaces';\r\nimport * as Highcharts from 'highcharts';\r\nrequire('highcharts/modules/exporting')(Highcharts);\r\nimport { IHighchartsXAxis, IHighchartsData } from '../../interfaces/views/highCharts';\r\nimport { DateUtility } from '../../classes/dateUtility';\r\nimport highChartExportOptions from '../../components/shared/highchartsExportOptions';\r\nimport { CommodityService } from '../../models/commodity-type/service';\r\nimport { ICommodityType } from '../../models/commodity-type/interfaces';\r\nimport { IIdNamePair } from '../../interfaces/abstract';\r\nimport { IWeatherStationRegion } from '../../models/region/interfaces';\r\nimport { WebAPIStatisticsService } from './web-stats.service';\r\nimport { WeatherStationsService } from '../../models/weather-station-stats/service';\r\n\r\n@Component({\r\n\tselector: 'web-stats-page',\r\n\ttemplateUrl: 'web-stats.page.html',\r\n\tstyleUrls: [ 'web-stats.page.scss' ]\r\n})\r\nexport class WebStatsPage implements OnInit {\r\n\tpublic commodityTypeId: number; // user selection\r\n\tpublic regionId: number; // user selection\r\n\tpublic commodityTypes: IIdNamePair[]; // dropdown options\r\n\tpublic regions: IIdNamePair[]; // dropdown options\r\n\tpublic endDate: Date;\r\n\tpublic startDate: Date;\r\n\r\n\tprivate _statsCombined: StatisticsRecord[];\r\n\tprivate _eventsPoints: Highcharts.IndividualSeriesOptions[];\r\n\r\n\t@ViewChild('eventChartContainer', { static: true })\r\n\t_eventChartContainer: ElementRef;\r\n\r\n\tprivate _regions: IWeatherStationRegion[]; // regions from server\r\n\tprivate _commodityTypes: ICommodityType[]; // commodity types from server\r\n\r\n\tconstructor(\r\n\t\tprivate _commodityTypeService: CommodityService,\r\n\t\tprivate _router: Router,\r\n\t\tprivate _service: WebAPIStatisticsService,\r\n\t\tprivate _tokenService: TokenService,\r\n\t\tprivate _weatherStationsService: WeatherStationsService\r\n\t) {\r\n\t\t// redirect to login page if not logged in\r\n\t\tif (!this._tokenService.isAuthenticated()) {\r\n\t\t\tthis._router.navigate(['/login']);\r\n\t\t}\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.commodityTypeId = null;\r\n\t\tthis.regionId = null;\r\n\t\tthis.endDate = new Date();\r\n\t\tthis.startDate = new Date();\r\n\r\n\t\tthis.startDate.setMonth(this.endDate.getMonth() - 12);\r\n\r\n\t\tthis._list().then(() => {\r\n\t\t\tthis._commodityTypeService.list().then((response) => {\r\n\t\t\t\tthis._commodityTypes = response;\r\n\r\n\t\t\t\tthis._weatherStationsService.listRegions().then((regionsResponse) => {\r\n\t\t\t\t\tthis._regions = regionsResponse;\r\n\t\t\t\t\tthis._updateFilters();\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tpublic async updateResultsByFilter(): Promise<void> {\r\n\t\tthis._updateFilters();\r\n\t\tthis._reloadStatistics();\r\n\t}\r\n\r\n\tpublic async updateStartDate(start: string): Promise<void> {\r\n\t\tthis.startDate = new Date(start);\r\n\t\tthis._reloadStatistics();\r\n\t}\r\n\r\n\tpublic async updateEndDate(end: string): Promise<void> {\r\n\t\tthis.endDate = new Date(end);\r\n\t\tthis._reloadStatistics();\r\n\t}\r\n\r\n\tprivate _convertToGraphData(): void {\r\n\r\n\t\tlet temp: {\r\n\t\t\tirrigations: IHighchartsData,\r\n\t\t};\r\n\r\n\t\tlet tempPoints: {\r\n\t\t\tusage: Highcharts.IndividualSeriesOptions[],\r\n\t\t\tevents: Highcharts.IndividualSeriesOptions[]\r\n\t\t}\r\n\r\n\t\tlet results: IStatisticsRecord[];\r\n\r\n\t\tresults = [];\r\n\r\n\t\ttempPoints = {\r\n\t\t\tusage: [],\r\n\t\t\tevents: []\r\n\t\t};\r\n\r\n\t\ttemp = {\r\n\t\t\tirrigations: {\r\n\t\t\t\tname: 'Irrigations',\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tdata: []\r\n\t\t\t},\r\n\t\t}\r\n\r\n\t\tfor (let record of this._statsCombined) {\r\n\t\t\tlet utc: number;\r\n\r\n\t\t\tutc = DateUtility.DateToUTC(DateUtility.DotNetToDate(record.Date));\r\n\r\n\t\t\tresults.push({\r\n\t\t\t\tUTC: utc,\r\n\t\t\t\tRanches: null,\r\n\t\t\t\tAcres: null,\r\n\t\t\t\tUsers: null,\r\n\t\t\t\tLotPlantings: null,\r\n\t\t\t\tIrrigations: record.IrrigationEvents,\r\n\t\t\t\tFertilizations: null,\r\n\t\t\t\tSoilSamples: null,\r\n\t\t\t\tCuts: null,\r\n\t\t\t\tTissueSamples: null\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tresults.sort((a, b) => {\r\n\t\t\treturn a.UTC - b.UTC;\r\n\t\t});\r\n\r\n\t\tfor (let result of results) {\r\n\r\n\t\t\tif (result.Irrigations > 0) {\r\n\t\t\t\ttemp.irrigations.data.push([result.UTC, result.Irrigations]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (temp.irrigations.data.length > 0) {\r\n\t\t\ttempPoints.events.push(temp.irrigations);\r\n\t\t}\r\n\r\n\t\tthis._eventsPoints = tempPoints.events;\r\n\t}\r\n\r\n\tprivate _drawGraph(chart: ElementRef, data: Highcharts.IndividualSeriesOptions[], chartType?: string): void {\r\n\r\n\t\tif (!chart) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tlet options: Highcharts.Options;\r\n\t\tlet xAxis: IHighchartsXAxis;\r\n\r\n\t\txAxis = {\r\n\t\t\ttype: 'datetime',\r\n\t\t\tgridLineWidth: 1\r\n\t\t}\r\n\r\n\t\toptions = {\r\n\t\t\tchart: {\r\n\t\t\t\ttype: chartType ? chartType : 'line',\r\n\t\t\t},\r\n\t\t\ttitle: {\r\n\t\t\t\ttext: null,\r\n\t\t\t},\r\n\t\t\tlegend: {\r\n\t\t\t\ttitle: {\r\n\t\t\t\t\ttext: null,\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\ttooltip: {\r\n\t\t\t\t// backgroundColor: '#FFF',\r\n\t\t\t\t// borderColor: '#FFF',\r\n\t\t\t},\r\n\t\t\txAxis: xAxis,\r\n\t\t\tyAxis: [{\r\n\t\t\t\ttitle: {\r\n\t\t\t\t\ttext: null\r\n\t\t\t\t}\r\n\t\t\t}],\r\n\t\t\tseries: data,\r\n\t\t\texporting: highChartExportOptions\r\n\t\t}\r\n\r\n\t\tHighcharts.chart(chart.nativeElement, options);\r\n\t}\r\n\r\n\tprivate _filterCommodityTypeOptions(commodityTypeIds: number[]): void {\r\n\t\tlet temp: IIdNamePair[];\r\n\r\n\t\ttemp = new Array();\r\n\r\n\t\tfor (let item of this._commodityTypes) {\r\n\t\t\tif (commodityTypeIds.find(x => x === item.Id)) {\r\n\t\t\t\ttemp.push({\r\n\t\t\t\t\tId: item.Id,\r\n\t\t\t\t\tName: item.Name,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.commodityTypes = temp;\r\n\t}\r\n\r\n\tprivate _filterRegionOptions(regionIds: number[]): void {\r\n\t\tlet temp: IIdNamePair[];\r\n\r\n\t\ttemp = new Array();\r\n\r\n\t\tif (!this._regions || this._regions.length === 0) {\r\n\t\t\tthis.regions = [];\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tfor (let item of this._regions) {\r\n\t\t\tif (regionIds.find(x => x === item.Id)) {\r\n\t\t\t\ttemp.push({\r\n\t\t\t\t\tId: item.Id,\r\n\t\t\t\t\tName: item.Name,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.regions = temp;\r\n\t}\r\n\r\n\tprivate async _list(): Promise<void> {\r\n\t\tthis._statsCombined = await this._service.list(this.startDate, this.endDate, this.commodityTypeId, this.regionId);\r\n\t\tthis._loadGraph();\r\n\t}\r\n\r\n\tprivate _loadGraph(): void {\r\n\r\n\t\tthis._convertToGraphData();\r\n\t\tthis._drawGraph(this._eventChartContainer, this._eventsPoints, 'column');\r\n\t}\r\n\r\n\tprivate _reloadStatistics(): void {\r\n\t\tthis._list().then(() => {\r\n\t\t\tthis._updateFilters();\r\n\t\t});\r\n\t}\r\n\r\n\tprivate _updateFilters(): void {\r\n\t\tthis._service.getDropdowns(this.startDate, this.endDate, this.commodityTypeId, this.regionId)\r\n\t\t\t.then((res) => {\r\n\t\t\tthis._filterCommodityTypeOptions(res.CommodityTypeIds);\r\n\t\t\tthis._filterRegionOptions(res.RegionIds);\r\n\t\t});\r\n\t}\r\n}\r\n","import { Routes, RouterModule } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { WebStatsPage } from './web-stats.page';\r\n\r\nconst routes: Routes = [\r\n\t{ path: '', component: WebStatsPage }\r\n];\r\n\r\n@NgModule({\r\n\timports: [RouterModule.forChild(routes)],\r\n\texports: [RouterModule]\r\n})\r\n\r\nexport class WebAPIStatsRoutingModule { }\r\n","import { HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ModelService } from '../../services/model.service';\r\nimport { StatisticsRecord, WebAPIStatisticsDropdownOptions} from '../statistics/interfaces';\r\n\r\n@Injectable()\r\nexport class WebAPIStatisticsService extends ModelService {\r\n\r\n\tprivate urls = {\r\n\t\tlist: '/v2/web-api-statistics.json',\r\n\t\tgetDropdowns: '/v2/web-api-statistics/dropdowns.json',\r\n\t}\r\n\r\n\tpublic getDropdowns(start: Date, end: Date, commodityTypeId?: number,\r\n\t\tregionId?: number): Promise<WebAPIStatisticsDropdownOptions> {\r\n\r\n\t\tlet params: HttpParams;\r\n\r\n\t\tif (!start || !end) {\r\n\t\t\tthrow new Error('StatisticsService: start or end dates missing');\r\n\t\t}\r\n\r\n\t\tparams = new HttpParams()\r\n\t\t\t.set('start', start.toLocaleDateString())\r\n\t\t\t.set('end', end.toLocaleDateString())\r\n\r\n\t\tif (commodityTypeId) {\r\n\t\t\tparams = params.set('commodityTypeId', commodityTypeId.toString());\r\n\t\t}\r\n\r\n\t\tif (regionId) {\r\n\t\t\tparams = params.set('regionId', regionId.toString());\r\n\t\t}\r\n\r\n\t\treturn this.get(this.urls.getDropdowns,\r\n\t\t\t(data: WebAPIStatisticsDropdownOptions): WebAPIStatisticsDropdownOptions => {\r\n\t\t\t\treturn data;\r\n\t\t\t},\r\n\t\t\tparams\r\n\t\t);\r\n\t}\r\n\r\n\tpublic list(start: Date, end: Date, commodityTypeId?: number, regionId?: number): Promise<StatisticsRecord[]> {\r\n\t\tlet params: HttpParams;\r\n\r\n\t\tif (!start || !end) {\r\n\t\t\tthrow new Error('StatisticsService: start or end dates missing');\r\n\t\t}\r\n\r\n\t\tparams = new HttpParams()\r\n\t\t\t.set('start', start.toLocaleDateString())\r\n\t\t\t.set('end', end.toLocaleDateString())\r\n\r\n\t\tif (commodityTypeId) {\r\n\t\t\tparams = params.set('commodityTypeId', commodityTypeId.toString());\r\n\t\t}\r\n\r\n\t\tif (regionId) {\r\n\t\t\tparams = params.set('regionId', regionId.toString());\r\n\t\t}\r\n\r\n\t\treturn this.get(this.urls.list,\r\n\t\t\t(data: StatisticsRecord[]): StatisticsRecord[] => {\r\n\t\t\t\treturn data;\r\n\t\t\t},\r\n\t\t\tparams\r\n\t\t);\r\n\t}\r\n}\r\n"],"sourceRoot":"webpack:///"}