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 | 2x 2x 2x 2x 2x 2x 2x 3x 3x 3x 3x 3x 3x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 1x 1x | import { Component } from "@angular/core" import { MetricDistribution, FileExtensionCalculator } from "./selectors/fileExtensionCalculator" import { metricDistributionSelector } from "./selectors/metricDistribution.selector" import { ThreeSceneService } from "../codeMap/threeViewer/threeSceneService" import { Store } from "@ngrx/store" import { CcState } from "../../codeCharta.model" import { DistributionMetricChooserComponent } from "./distributionMetricChooser/distributionMetricChooser.component" @Component({ selector: "cc-file-extension-bar", templateUrl: "./fileExtensionBar.component.html", styleUrls: ["./fileExtensionBar.component.scss"], standalone: true, imports: [DistributionMetricChooserComponent] }) export class FileExtensionBarComponent { showAbsoluteValues = false showDetails = false metricDistribution: MetricDistribution[] constructor( private store: Store<CcState>, private threeSceneService: ThreeSceneService ) { this.store.select(metricDistributionSelector).subscribe(metricDistribution => { this.metricDistribution = metricDistribution }) } onHoverFileExtensionBar(hoveredExtension: string) { const visibleFileExtensions = new Set() for (const metric of this.metricDistribution) { if (metric.fileExtension !== "other") { visibleFileExtensions.add(metric.fileExtension) } } for (const building of this.threeSceneService.getMapMesh().getMeshDescription().buildings) { if (building.node.isLeaf) { const buildingExtension = FileExtensionCalculator.estimateFileExtension(building.node.name) if ( buildingExtension === hoveredExtension || (hoveredExtension === "other" && !visibleFileExtensions.has(buildingExtension)) ) { this.threeSceneService.addBuildingToHighlightingList(building) } } } this.threeSceneService.highlightBuildings() } onUnhoverFileExtensionBar() { this.threeSceneService.clearHighlight() } toggleShowDetails() { this.showDetails = !this.showDetails } toggleShowAbsoluteValues() { this.showAbsoluteValues = !this.showAbsoluteValues } } |