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
}
}
|