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 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | 207x 207x 207x 207x 207x 207x 207x 3x 3x 1x 1x 1x 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 { ButtonGroup, Button, Text } from '@wings-software/uicore' import cx from 'classnames' import { useStrings } from 'framework/strings' import { StepsType } from '../../Constants' import css from './RollbackToggleSwitch.module.scss' export interface RollbackToggleSwitchProps { active?: StepsType style?: React.CSSProperties disabled?: boolean large?: boolean onChange?: (type: StepsType) => void } export function RollbackToggleSwitch({ style = {}, disabled = false, large = true, active = StepsType.Normal, onChange }: RollbackToggleSwitchProps): React.ReactElement { const { getString } = useStrings() return ( <div style={style} className={cx(css.rollbackToggle, { [css.rollbackToggleSmall]: !large })}> {large && ( <Text onClick={e => { e.stopPropagation() if (active === StepsType.Rollback) { onChange?.(StepsType.Normal) } }} className={cx({ [css.activeText]: active === StepsType.Rollback })} > {getString('executionText')} </Text> )} <span className={css.btnRollback}> <ButtonGroup className={css.buttonGroup}> <Button icon="execution" active={active === StepsType.Normal} tooltip={large ? undefined : getString('executionText')} disabled={disabled} className={cx(css.btn, { [css.btnSmall]: !large })} iconProps={{ size: large ? 12 : 8 }} onClick={e => { e.stopPropagation() onChange?.(StepsType.Normal) }} /> <Button icon="rollback-execution" active={active === StepsType.Rollback} tooltip={large ? undefined : getString('rollbackLabel')} iconProps={{ size: large ? 12 : 8 }} className={cx(css.btn, { [css.btnSmall]: !large })} disabled={disabled} onClick={e => { e.stopPropagation() onChange?.(StepsType.Rollback) }} /> </ButtonGroup> </span> {large && ( <Text onClick={e => { e.stopPropagation() if (active === StepsType.Normal) { onChange?.(StepsType.Rollback) } }} className={cx({ [css.activeText]: active === StepsType.Normal })} > {getString('rollbackLabel')} </Text> )} </div> ) } |