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 67 68 69 70 71 | 11x 11x 11x 11x 11x 11x 11x 99x 99x 2x 2x 2x 99x 2x 2x 99x | /* * 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, { useCallback, useState } from 'react' import { useModalHook } from '@harness/use-modal' import { Classes, Dialog } from '@blueprintjs/core' import cx from 'classnames' import type { ApiKeyDTO, TokenDTO } from 'services/cd-ng' import ApiKeyForm from './views/ApiKeyForm' import css from './useApiKeyModal.module.scss' export interface useApiKeyModalProps { onSuccess: () => void onCloseModal?: () => void apiKeyType?: TokenDTO['apiKeyType'] parentIdentifier?: string } export interface useApiKeyModalReturn { openApiKeyModal: (ApiKey?: ApiKeyDTO) => void closeApiKeyModal: () => void } export const useApiKeyModal = ({ onSuccess, parentIdentifier, apiKeyType }: useApiKeyModalProps): useApiKeyModalReturn => { const [ApiKeyData, setApiKeyData] = useState<ApiKeyDTO>() const [showModal, hideModal] = useModalHook( () => ( <Dialog isOpen={true} enforceFocus={false} onClose={hideModal} title="" className={cx(css.dialog, Classes.DIALOG)} > <ApiKeyForm data={ApiKeyData} isEdit={!!ApiKeyData} apiKeyType={apiKeyType} parentIdentifier={parentIdentifier} onClose={hideModal} onSubmit={() => { onSuccess() hideModal() }} /> </Dialog> ), [ApiKeyData] ) const open = useCallback( (_ApiKey?: ApiKeyDTO) => { setApiKeyData(_ApiKey) showModal() }, [showModal] ) return { openApiKeyModal: open, closeApiKeyModal: hideModal } } |