Skip to content

Commit

Permalink
Fix disabled histogram setting, add default data collect interval
Browse files Browse the repository at this point in the history
  • Loading branch information
nbintertech committed Oct 3, 2024
1 parent aadf4e8 commit d36be46
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<div *ngIf="explorerData.datasets" class="w-100 px-5 mt-3">
<div class="text-left alert alert-info small my-2 mx-auto p-0">
<div class="p-1">
<ul class="m-2">
<ul class="m-2 pl-3">
<li>Timestamps are required for Day Type Analysis and time series data visualizations.
Advance ahead if you won't be working with time data.
</li>
Expand Down Expand Up @@ -91,15 +91,24 @@
<hr>
</div>
<div *ngIf="!explorerData.isExample" class="form-group mt-1 mb-3">
<div class="text-left alert alert-info small my-2 mx-auto p-0">
<div class="p-1">
<ul class="m-2 pl-3">
<li>MEASUR will try to detect your data collection interval. Please ensure the detected interval is correct.
</li>
</ul>
</div>
</div>
<div class="mx-2">
<label>Data Collection Interval</label>
<select class="form-control" name="dataCollectionInterval"
[disabled]="!selectedDataSet.hasDateField && !selectedDataSet.hasTimeField"

[disabled]="!selectedDataSet.hasDateField && !selectedDataSet.hasTimeField"
(change)="setDataCollectionInterval(option)"
[(ngModel)]="selectedDataSet.dataCollectionInterval">
<option *ngFor="let option of dataCollectionIntervalOptions" [ngValue]="option.value">
{{option.display}}</option>
</select>
<option *ngFor="let option of dataCollectionIntervalOptions" [ngValue]="option.value">
{{option.display}}</option>
</select>
</div>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,17 @@ export class MapTimeDataComponent implements OnInit {
return dataset;
});

if (this.selectedDataSet.hasDateField) {
let secondsInterval = this.logToolDataService.getSecondsIntervalDifference(this.selectedDataSet);
if (secondsInterval != undefined) {
let selectedInterval = this.dataCollectionIntervalOptions.find(option => option.value === secondsInterval);
if (selectedInterval) {
this.selectedDataSet.dataCollectionInterval = selectedInterval.value;
}
}
}


if (this.applyToAll) {
this.explorerData.isStepMapTimeDataComplete = this.logToolDataService.checkStepMapDatesComplete(this.explorerData.datasets);
}
Expand Down
10 changes: 7 additions & 3 deletions src/app/log-tool/log-tool-data.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -393,16 +393,20 @@ getCurrentIntervalStrings(currentInterval: number, useDayStartEndOffset: boolean
}

checkIntervalSeconds(dataset: ExplorerDataSet) {
let firstRowDate = new Date(dataset.csvImportData.data[0][dataset.dateField.fieldName]);
let secondRowDate = new Date(dataset.csvImportData.data[1][dataset.dateField.fieldName]);
let intervalDifference: number = (secondRowDate.getTime() - firstRowDate.getTime()) / 1000;
let intervalDifference = this.getSecondsIntervalDifference(dataset);
let intervalIncrement: number = dataset.dataCollectionInterval;
if (intervalIncrement !== undefined && intervalDifference <= 0) {
dataset.csvImportData.data = this.addLostSecondsBack(dataset, intervalIncrement);
}
return dataset;
}

getSecondsIntervalDifference(dataSet: ExplorerDataSet): number {
let firstRowDate = new Date(dataSet.csvImportData.data[0][dataSet.dateField.fieldName]);
let secondRowDate = new Date(dataSet.csvImportData.data[1][dataSet.dateField.fieldName]);
return (secondRowDate.getTime() - firstRowDate.getTime()) / 1000;
}

addLostSecondsBack(csvData: IndividualDataFromCsv, intervalIncrement: number) {
let secondsCounter: number = 0;
csvData.csvImportData.data.map(dataItem => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
<div class="btn-group pt-2 pb-2 w-100">
<button type="button" [disabled]="selectedGraphObj.invalidState" class="btn btn-secondary w-50" (click)="setHistogramUsePercent(true)"
[ngClass]="{'active': selectedGraphObj.usePercentForBins == true}">% of Points</button>
<button type="button" [disabled]="!selectedGraphObj.invalidState" class="btn btn-secondary w-50" (click)="setHistogramUsePercent(false)"
<button type="button" [disabled]="selectedGraphObj.invalidState" class="btn btn-secondary w-50" (click)="setHistogramUsePercent(false)"
[ngClass]="{'active': selectedGraphObj.usePercentForBins == false}"># of Points</button>
</div>
<!--std deviation vs bins if histogram-->
Expand Down

0 comments on commit d36be46

Please sign in to comment.