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 | 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 5x 5x 5x | import { Component, Input } from "@angular/core" import { Store } from "@ngrx/store" import { map } from "rxjs" import { CodeMapNode, CcState } from "../../../../codeCharta.model" import { currentFocusedNodePathSelector } from "../../../store/dynamicSettings/focusedNodePath/currentFocused.selector" import { focusNode, unfocusAllNodes, unfocusNode } from "../../../store/dynamicSettings/focusedNodePath/focusedNodePath.actions" import { focusedNodePathSelector } from "../../../store/dynamicSettings/focusedNodePath/focusedNodePath.selector" import { MatButton } from "@angular/material/button" import { AsyncPipe } from "@angular/common" import { IsNodeFocusedPipe } from "./isNodeFocused.pipe" @Component({ selector: "cc-focus-buttons", templateUrl: "./focusButtons.component.html", styleUrls: ["../nodeContextMenuButton.component.scss"], standalone: true, imports: [MatButton, AsyncPipe, IsNodeFocusedPipe] }) export class FocusButtonsComponent { @Input() codeMapNode: Pick<CodeMapNode, "path"> currentFocusedNodePath$ = this.store.select(currentFocusedNodePathSelector) hasPreviousFocusedNodePath$ = this.store.select(focusedNodePathSelector).pipe(map(focusedNodePaths => focusedNodePaths.length > 1)) constructor(private store: Store<CcState>) {} handleFocusNodeClicked() { this.store.dispatch(focusNode({ value: this.codeMapNode.path })) } handleUnfocusNodeClicked() { this.store.dispatch(unfocusNode()) } handleUnfocusAllNodesClicked() { this.store.dispatch(unfocusAllNodes()) } } |