All files / app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/mapLayoutSelection mapLayoutSelection.component.ts

100% Statements 22/22
100% Branches 0/0
100% Functions 3/3
100% Lines 21/21

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 363x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x               3x 3x 3x 3x   3x     1x     3x 1x      
import { Component } from "@angular/core"
import { Store } from "@ngrx/store"
import { LayoutAlgorithm, CcState } from "../../../../../codeCharta.model"
import { setLayoutAlgorithm } from "../../../../../state/store/appSettings/layoutAlgorithm/layoutAlgorithm.actions"
import { layoutAlgorithmSelector } from "../../../../../state/store/appSettings/layoutAlgorithm/layoutAlgorithm.selector"
import { setMaxTreeMapFiles } from "../../../../../state/store/appSettings/maxTreeMapFiles/maxTreeMapFiles.actions"
import { maxTreeMapFilesSelector } from "../../../../../state/store/appSettings/maxTreeMapFiles/maxTreeMapFiles.selector"
import { debounce } from "../../../../../util/debounce"
import { MatFormField, MatLabel } from "@angular/material/form-field"
import { MatSelect } from "@angular/material/select"
import { MatOption } from "@angular/material/core"
import { SliderComponent } from "../../../../slider/slider.component"
import { AsyncPipe } from "@angular/common"
 
@Component({
    selector: "cc-map-layout-selection",
    templateUrl: "./mapLayoutSelection.component.html",
    standalone: true,
    imports: [MatFormField, MatLabel, MatSelect, MatOption, SliderComponent, AsyncPipe]
})
export class MapLayoutSelectionComponent {
    layoutAlgorithms = Object.values(LayoutAlgorithm)
    layoutAlgorithm$ = this.store.select(layoutAlgorithmSelector)
    maxTreeMapFiles$ = this.store.select(maxTreeMapFilesSelector)
 
    constructor(private store: Store<CcState>) {}
 
    handleSelectedLayoutAlgorithmChanged(event: { value: LayoutAlgorithm }) {
        this.store.dispatch(setLayoutAlgorithm({ value: event.value }))
    }
 
    handleChangeMaxTreeMapFiles = debounce((maxTreeMapFiles: number) => {
        this.store.dispatch(setMaxTreeMapFiles({ value: maxTreeMapFiles }))
    }, 400)
}