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 | 1x 1x 1x 1x 1x 1x 1x 1x 2x 2x 2x 2x 4x 2x 2x 2x | import { Injectable } from "@angular/core" import { Actions, createEffect, ofType } from "@ngrx/effects" import { State } from "@ngrx/store" import { CcState } from "../../../codeCharta.model" import { debounceTime, filter, tap } from "rxjs" import { writeCcState } from "../../../util/indexedDB/indexedDBWriter" import { actionsRequiringSaveCcState } from "./actionsRequiringSaveCcState" import { setHoveredNodeId } from "../../store/appStatus/hoveredNodeId/hoveredNodeId.actions" @Injectable() export class SaveCcStateEffect { constructor( private actions$: Actions, private state: State<CcState> ) {} saveCcState$ = createEffect( () => this.actions$.pipe( filter(action => action.type !== setHoveredNodeId.type), ofType(...actionsRequiringSaveCcState), debounceTime(500), tap(async () => { const state: CcState = this.state.getValue() await writeCcState(state) }) ), { dispatch: false } ) } |