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 72 73 74 | 2x 2x 2x 2x 2x 2x 2x 2x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 2x | /* * 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, { useState } from 'react' import set from 'lodash-es/set' import { useParams } from 'react-router-dom' import { Button, Layout, Container, Heading, Text } from '@wings-software/uicore' import { Color } from '@harness/design-system' import { useStrings } from 'framework/strings' import type { DelegateProfileDetailsNg } from 'services/cd-ng' import type { ProjectPathProps } from '@common/interfaces/RouteInterfaces' import type { dataObj } from '../CreateDelegateConfigWizard' import css from './DelegateConfigSteps.module.scss' interface DelegateConfigScopeStepProps { name: string previousStep?: (data: dataObj) => void onFinish: (data: DelegateProfileDetailsNg) => void closeModal?: () => void onSuccess?: () => void prevStepData?: dataObj } const DelegateConfigScopeStep: React.FC<DelegateConfigScopeStepProps> = ({ previousStep, onFinish, prevStepData }) => { const { getString } = useStrings() const { orgIdentifier, projectIdentifier } = useParams<ProjectPathProps>() const [script, setScript] = useState(prevStepData?.script || '') const onPreviousStep = (): void => { previousStep?.({ ...prevStepData, script }) } const createDelegateProfile = () => { const delegateProfileData = { identifier: prevStepData?.identifier, name: prevStepData?.name, description: prevStepData?.description, selectors: Object.keys(prevStepData?.tags || {}), startupScript: script } Iif (orgIdentifier) { set(delegateProfileData, 'orgIdentifier', orgIdentifier) } Iif (projectIdentifier) { set(delegateProfileData, 'projectIdentifier', projectIdentifier) } onFinish(delegateProfileData) } return ( <Layout.Vertical className={css.stepContainer} padding="xxlarge"> <Container> <Heading level={2} color={Color.GREY_800} margin={{ bottom: 'xxlarge' }}> {getString('delegates.newDelegateConfigWizard.scriptTitle')} </Heading> <Text>{getString('script')}</Text> <textarea className={css.scriptTextarea} onChange={event => setScript(event.target.value)} value={script} /> </Container> <Layout.Horizontal spacing="xsmall"> <Button type="button" text={getString('back')} onClick={onPreviousStep} /> <Button type="button" intent="primary" text={getString('finish')} onClick={createDelegateProfile} /> </Layout.Horizontal> </Layout.Vertical> ) } export default DelegateConfigScopeStep |