Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | 2x 2x 2x 2x 2x 2x 9x 4x 4x 4x 4x 4x 4x 3x 1x 1x 4x 16x 5x 11x | import { CommonModule } from '@angular/common';
import {
ChangeDetectionStrategy,
ChangeDetectorRef,
Component,
OnDestroy,
OnInit,
inject
} from '@angular/core';
import { FormsModule } from '@angular/forms';
import { ElementPosition, FrameSizeDefinition } from '@reflex/shared-types';
import { Subscription } from 'rxjs';
import { CalibrationService } from 'src/shared/services/calibration.service';
import { markViewForCheck } from 'src/shared/util/mark-view-for-check';
import { LogService } from '../log/log.service';
import { MeasureControlsComponent } from './measure-controls/measure-controls.component';
import { MeasureGridComponent } from './measure-grid/measure-grid.component';
@Component({
selector: 'app-measure-surface',
templateUrl: './measure-surface.component.html',
styleUrls: ['./measure-surface.component.scss'],
changeDetection: ChangeDetectionStrategy.Eager,
imports: [
CommonModule,
FormsModule,
MeasureControlsComponent,
MeasureGridComponent
]
})
export class MeasureSurfaceComponent implements OnInit, OnDestroy {
public fullScreen = false;
private readonly changeDetector = inject(ChangeDetectorRef);
private readonly calibrationService = inject(CalibrationService);
private readonly logService = inject(LogService);
private frameSizeSubscription?: Subscription;
private frameSize: FrameSizeDefinition = {
top: 0,
left: 0,
width: 500,
height: 400
};
public ngOnInit(): void {
this.frameSizeSubscription = this.calibrationService
.getFrameSize()
.pipe(markViewForCheck(this.changeDetector))
.subscribe(
(result) => {
this.frameSize = result;
},
(error) => {
console.error(error);
this.logService.sendErrorLog(`${error}`);
}
);
}
public ngOnDestroy(): void {
this.frameSizeSubscription?.unsubscribe();
}
public getViewStyle(): ElementPosition {
if (this.fullScreen) {
return {
position: 'absolute',
top: `${this.frameSize.top}px`,
left: `${this.frameSize.left}px`,
width: `${this.frameSize.width}px`,
height: `${this.frameSize.height}px`
};
}
return {
position: 'relative',
top: `0`,
left: `0`,
width: `100%`,
height: `40vh`
};
}
}
|