All files / modules/75-ce/components/COAccessPointList COCreateAccessPointDialog.tsx

78.57% Statements 11/14
100% Branches 0/0
25% Functions 1/4
78.57% Lines 11/14

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              1x 1x 1x 1x     1x           1x                     1x 2x     2x                                   2x         1x  
/*
 * 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 React from 'react'
import { Dialog, IDialogProps } from '@blueprintjs/core'
import { Button } from '@wings-software/uicore'
import { useModalHook } from '@harness/use-modal'
 
import type { AccessPoint } from 'services/lw'
import CreateAccessPointDialogScreens from './CreateAccessPointDialogSteps'
 
interface UseCreateAccessPointDialogProps {
  onAccessPointSave: (ap: AccessPoint) => void
}
 
const modalPropsLight: IDialogProps = {
  isOpen: true,
  enforceFocus: false,
  style: {
    width: 860,
    padding: 40,
    position: 'relative',
    minHeight: 500
  }
}
 
const useCreateAccessPointDialog = (props: UseCreateAccessPointDialogProps, deps?: any[]) => {
  const onAccessPointSave = (savedLb: AccessPoint) => {
    props.onAccessPointSave(savedLb)
  }
  const [createAccessPointModal, hidecreateAccessPointModal] = useModalHook(
    () => (
      <Dialog onClose={hidecreateAccessPointModal} {...modalPropsLight} canOutsideClickClose={false}>
        <CreateAccessPointDialogScreens onCancel={hidecreateAccessPointModal} onSave={onAccessPointSave} />
        <Button
          minimal
          icon="cross"
          iconProps={{ size: 18 }}
          onClick={() => {
            hidecreateAccessPointModal()
          }}
          style={{ position: 'absolute', right: 'var(--spacing-large)', top: 'var(--spacing-large)' }}
          data-testid={'close-instance-modal'}
        />
      </Dialog>
    ),
    [deps]
  )
  return {
    openCreateAccessPointModal: createAccessPointModal
  }
}
 
export default useCreateAccessPointDialog