All files / modules/75-cf/pages/feature-flags-detail/targeting-rules-tab/components/tab-targeting-footer TargetingRulesTabFooter.tsx

100% Statements 13/13
100% Branches 4/4
100% Functions 3/3
100% Lines 13/13

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              4x 4x 4x 4x               4x 47x 47x   47x                                             2x 2x                   1x 1x             4x  
/*
 * Copyright 2022 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 { Button, ButtonVariation, Layout } from '@harness/uicore'
import React, { ReactElement } from 'react'
import { useStrings } from 'framework/strings'
import css from './TargetingRulesTabFooter.module.scss'
 
export interface TargetingRulesTabFooterProps {
  isLoading: boolean
  handleSubmit: () => void
  handleCancel: () => void
}
 
const TargetingRulesTabFooter = (props: TargetingRulesTabFooterProps): ReactElement => {
  const { isLoading, handleSubmit, handleCancel } = props
  const { getString } = useStrings()
 
  return (
    <Layout.Horizontal
      data-testid="targeting-rules-footer"
      padding="medium"
      spacing="small"
      className={css.actionButtons}
    >
      {isLoading && (
        <Button
          type="submit"
          data-testid="save-loading-button"
          text={getString('save')}
          loading
          variation={ButtonVariation.PRIMARY}
        />
      )}
 
      {!isLoading && (
        <Button
          type="submit"
          text={getString('save')}
          variation={ButtonVariation.PRIMARY}
          onClick={e => {
            e.preventDefault()
            handleSubmit()
          }}
        />
      )}
 
      <Button
        variation={ButtonVariation.TERTIARY}
        text={getString('cancel')}
        disabled={isLoading}
        onClick={e => {
          e.preventDefault()
          handleCancel()
        }}
      />
    </Layout.Horizontal>
  )
}
 
export default TargetingRulesTabFooter