All files / modules/70-pipeline/context ExecutionContext.tsx

63.64% Statements 7/11
100% Branches 0/0
42.86% Functions 3/7
63.64% Lines 7/11

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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66              46x                                                               46x                     2x             3x     46x   46x 290x    
/*
 * Copyright 2021 Harness Inc. All rights reserved.
 * Use of this source code is governed by the PolyForm Shield 1.0.0 license
 * that can be found in the licenses directory at the root of this repository, also available at
 * https://polyformproject.org/wp-content/uploads/2020/06/PolyForm-Shield-1.0.0.txt.
 */
 
import { createContext, useContext } from 'react'
 
import type { PipelineExecutionDetail, GraphLayoutNode, ExecutionNode } from 'services/pipeline-ng'
import type { ExecutionPageQueryParams } from '@pipeline/utils/types'
 
export interface GraphCanvasState {
  offsetX?: number
  offsetY?: number
  zoom?: number
}
 
export interface ExecutionContextParams {
  pipelineExecutionDetail: PipelineExecutionDetail | null
  allNodeMap: { [key: string]: ExecutionNode }
  pipelineStagesMap: Map<string, GraphLayoutNode>
  isPipelineInvalid?: boolean
  selectedStageId: string
  selectedStepId: string
  loading: boolean
  isDataLoadedForSelectedStage: boolean
  queryParams: ExecutionPageQueryParams
  logsToken: string
  setLogsToken: (token: string) => void
  refetch?: (() => Promise<void>) | undefined
  addNewNodeToMap(id: string, node: ExecutionNode): void
  setStepsGraphCanvasState?: (canvasState: GraphCanvasState) => void
  stepsGraphCanvasState?: GraphCanvasState
  setSelectedStepId: (step: string) => void
  setSelectedStageId: (stage: string) => void
  setIsPipelineInvalid?: (flag: boolean) => void
}
 
export const ExecutionContext = createContext<ExecutionContextParams>({
  pipelineExecutionDetail: null,
  allNodeMap: {},
  pipelineStagesMap: new Map(),
  isPipelineInvalid: false,
  selectedStageId: '',
  selectedStepId: '',
  loading: false,
  isDataLoadedForSelectedStage: false,
  queryParams: {},
  logsToken: '',
  setLogsToken: () => void 0,
  refetch: undefined,
  addNewNodeToMap: () => void 0,
  setStepsGraphCanvasState: () => undefined,
  stepsGraphCanvasState: { offsetX: 0, offsetY: 0, zoom: 100 },
  setSelectedStepId: () => void 0,
  setSelectedStageId: () => void 0,
  setIsPipelineInvalid: () => void 0
})
 
export default ExecutionContext
 
export function useExecutionContext(): ExecutionContextParams {
  return useContext(ExecutionContext)
}