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 | 3x 3x 3x 3x 3x 3x 3x 3x 11x 11x 12x 4x 1x | import { Component } from "@angular/core" import { map, Observable } from "rxjs" import { KeyValue, AsyncPipe, KeyValuePipe } from "@angular/common" import { legendMarkedPackagesSelector, MarkedPackagesMap } from "./legendMarkedPackages.selector" import { markPackages } from "../../../state/store/fileSettings/markedPackages/markedPackages.actions" import { Store } from "@ngrx/store" import { CcState } from "../../../codeCharta.model" import { LabelledColorPickerComponent } from "../../labelledColorPicker/labelledColorPicker.component" type MarkedPackagesMapKeyValue = KeyValue<keyof MarkedPackagesMap, MarkedPackagesMap[keyof MarkedPackagesMap]> @Component({ selector: "cc-legend-marked-packages", templateUrl: "./legendMarkedPackages.component.html", styleUrls: ["./legendMarkedPackages.component.scss"], standalone: true, imports: [LabelledColorPickerComponent, AsyncPipe, KeyValuePipe] }) export class LegendMarkedPackagesComponent { markedPackagesMap$: Observable<MarkedPackagesMap> hasMarkedPackages$: Observable<boolean> constructor(private store: Store<CcState>) { this.markedPackagesMap$ = store.select(legendMarkedPackagesSelector) this.hasMarkedPackages$ = this.markedPackagesMap$.pipe(map(markedPackagesMap => Object.keys(markedPackagesMap).length > 0)) } handleColorChange(newHexColor: string, paths: string[]) { this.store.dispatch( markPackages({ packages: paths.map(path => ({ color: newHexColor, path })) }) ) } trackMarkedPackage(_: number, { value }: { value: string[] }) { return value.join(",") } sortMarkedPackagesMap(kv1: MarkedPackagesMapKeyValue, kv2: MarkedPackagesMapKeyValue) { return kv1.value[0].localeCompare(kv2.value[0]) } } |