All files / app/codeCharta/ui/customConfigs customConfigs.component.ts

100% Statements 10/10
100% Branches 0/0
100% Functions 3/3
100% Lines 9/9

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 516x 6x 6x     6x 6x                                                         6x 7x     1x           1x          
import { Component } from "@angular/core"
import { MatDialog } from "@angular/material/dialog"
import { CustomConfigListComponent } from "./customConfigList/customConfigList.component"
import { CustomConfigMapSelectionMode } from "../../model/customConfig/customConfig.api.model"
import { MapColors, PrimaryMetrics } from "../../codeCharta.model"
import { AddCustomConfigDialogComponent } from "./addCustomConfigButton/addCustomConfigDialog/addCustomConfigDialog.component"
import { RibbonBarMenuButtonComponent } from "../ribbonBar/ribbonBarMenuButton/ribbonBarMenuButton.component"
 
type CustomConfigColors = Pick<MapColors, "positive" | "neutral" | "negative" | "selected" | "positiveDelta" | "negativeDelta">
 
export interface CustomConfigItem {
    id: string
    name: string
    assignedMaps: Map<string, string>
    mapSelectionMode: CustomConfigMapSelectionMode
    metrics: PrimaryMetrics
    mapColors: CustomConfigColors
    isApplicable: boolean
    note?: string
}
 
export interface CustomConfigItemGroup {
    mapNames: string
    mapSelectionMode: CustomConfigMapSelectionMode
    hasApplicableItems: boolean
    customConfigItems: CustomConfigItem[]
}
 
@Component({
    selector: "cc-custom-configs",
    templateUrl: "./customConfigs.component.html",
    styleUrls: ["./customConfigs.component.scss"],
    standalone: true,
    imports: [RibbonBarMenuButtonComponent]
})
export class CustomConfigsComponent {
    constructor(private dialog: MatDialog) {}
 
    openCustomConfigDialog() {
        this.dialog.open(CustomConfigListComponent, {
            panelClass: "cc-custom-config-list"
        })
    }
 
    showAddCustomConfigDialog() {
        this.dialog.open(AddCustomConfigDialogComponent, {
            panelClass: "cc-add-custom-config-dialog"
        })
    }
}