All files / app/codeCharta/state/effects/nodeContextMenu openNodeContextMenu.effect.ts

100% Statements 13/13
100% Branches 1/1
100% Functions 3/3
100% Lines 12/12

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 271x 1x 1x 1x 1x     1x   2x 2x     2x   2x     2x 1x              
import { Injectable } from "@angular/core"
import { createEffect, ofType, Actions } from "@ngrx/effects"
import { NodeContextMenuService } from "./nodeContextMenu.service"
import { setRightClickedNodeData } from "../../store/appStatus/rightClickedNodeData/rightClickedNodeData.actions"
import { tap } from "rxjs"
 
@Injectable()
export class OpenNodeContextMenuEffect {
    constructor(
        private actions$: Actions,
        private nodeContextMenu: NodeContextMenuService
    ) {}
 
    openNodeContextMenu$ = createEffect(
        () =>
            this.actions$.pipe(
                ofType(setRightClickedNodeData),
                tap(action => {
                    if (action.value) {
                        this.nodeContextMenu.open(action.value.xPositionOfRightClickEvent, action.value.yPositionOfRightClickEvent)
                    }
                })
            ),
        { dispatch: false }
    )
}