Skip to content

Commit

Permalink
feat(FOROME-1410): Reworked edit behavior (#843)
Browse files Browse the repository at this point in the history
  • Loading branch information
AndreyUstyumenko authored Jul 31, 2022
1 parent 79ce601 commit 8ad5038
Show file tree
Hide file tree
Showing 8 changed files with 57 additions and 59 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,8 @@ export const ConditionOptionsButton = ({
}: IConditionOptionsButtonProps): ReactElement => (
<Button
className={className}
variant="text"
variant="no-border"
onClick={e => onShowPopover(e.currentTarget)}
noBorder
icon={
<Icon
name="Options"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,38 +2,25 @@ import cn, { Argument } from 'classnames'

import { Button } from '@ui/button'
import { CardTitle } from '@ui/card'
import { Icon } from '@ui/icon'

interface ICardTitleWithEditProps {
title: string
isEditDisabled?: boolean
onEdit: () => void
className?: Argument
isEditShown?: boolean
}

export const CardTitleWithEdit = ({
title,
isEditDisabled,
onEdit,
className,
isEditShown = false,
}: ICardTitleWithEditProps) => (
<div className={cn('flex items-center justify-between', className)}>
<CardTitle text={title} />

<Button
variant="secondary"
noBorder
icon={
<Icon
name="Edit"
className={cn(
'cursor-pointer',
isEditDisabled ? 'text-grey-blue' : 'text-blue-bright',
)}
/>
}
disabled={isEditDisabled}
onClick={onEdit}
/>
{isEditShown && (
<Button variant="no-border" text="Edit choice" onClick={onEdit} />
)}
</div>
)
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ export const DescriptionCard = observer((props: ICardProps) => {
>
<CardTitleWithEdit
title={ds}
isEditDisabled={editDisabled}
isEditShown={!editDisabled}
onEdit={() => wizardStore.editCard(id)}
/>

Expand Down Expand Up @@ -123,15 +123,19 @@ export const DescriptionCard = observer((props: ICardProps) => {
isOptionsDisabled={isTyping || contentDisabled}
/>

<div className="flex justify-end">
<Button
text={isOpenButton ? 'Open' : 'Continue'}
onClick={
isOpenButton ? openNextPage : () => wizardStore.finishEditCard(id)
}
disabled={continueDisabled || isTyping}
/>
</div>
{editDisabled && (
<div className="flex justify-end">
<Button
text={isOpenButton ? 'Open' : 'Continue'}
onClick={
isOpenButton
? openNextPage
: () => wizardStore.finishEditCard(id)
}
disabled={continueDisabled || isTyping}
/>
</div>
)}
</div>
</Card>
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export const StartCard = (props: ICardProps) => {
const isEditionProhibited =
isExploreGenomeDisabled || isExploreCandidateDisabled

const isEditDisabled = isEditionProhibited ?? editDisabled
const isEditShown = !isEditionProhibited && !editDisabled

return (
<Card
Expand All @@ -33,7 +33,7 @@ export const StartCard = (props: ICardProps) => {
>
<CardTitleWithEdit
title={title}
isEditDisabled={isEditDisabled}
isEditShown={isEditShown}
onEdit={() => wizardStore.editCard(id)}
/>

Expand All @@ -51,13 +51,15 @@ export const StartCard = (props: ICardProps) => {
</div>
))}

<div className="flex justify-end">
<Button
text="Continue"
onClick={() => wizardStore.finishEditCard(id)}
disabled={continueDisabled}
/>
</div>
{!isEditShown && (
<div className="flex justify-end">
<Button
text="Continue"
onClick={() => wizardStore.finishEditCard(id)}
disabled={continueDisabled}
/>
</div>
)}
</div>
</Card>
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ export const WhatsNextCard = (props: ICardProps) => {
<>
<CardTitleWithEdit
title={title}
isEditDisabled={editDisabled}
isEditShown={!editDisabled}
onEdit={() => wizardStore.editCard(id)}
/>

Expand All @@ -58,21 +58,23 @@ export const WhatsNextCard = (props: ICardProps) => {
isOptionsDisabled={contentDisabled}
/>

<div className="flex justify-end">
{optionsForOpenButton.includes(selectedValue) ? (
<Button
text="Open"
onClick={openNextPage}
disabled={continueDisabled}
/>
) : (
<Button
text="Continue"
onClick={() => wizardStore.finishEditCard(id)}
disabled={continueDisabled}
/>
)}
</div>
{editDisabled && (
<div className="flex justify-end">
{optionsForOpenButton.includes(selectedValue) ? (
<Button
text="Open"
onClick={openNextPage}
disabled={continueDisabled}
/>
) : (
<Button
text="Continue"
onClick={() => wizardStore.finishEditCard(id)}
disabled={continueDisabled}
/>
)}
</div>
)}
</div>
</>
</Card>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ export const CardPreviousExploreSection = (): ReactElement => {
}

return (
<div className="w-1/2">
<div className="w-1/2 pl-[24px]">
<CardTitle text={t('home.startFlow.prevWorkWith')} />

<div className="mt-1 text-14 text-grey-dark flex flex-col">
Expand Down
6 changes: 6 additions & 0 deletions src/ui/button/button.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,12 @@
}
}

&_no-border {
@apply button_text;
border: none;
padding: 0;
}

&_secondary,
&_secondary-dark {
background-color: inherit;
Expand Down
4 changes: 1 addition & 3 deletions src/ui/button/button.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ export interface IButtonProps {
| 'tertiary'
| 'primary-dark'
| 'diestruction'
| 'no-border'
loaderColor?: 'default' | 'white'
className?: Argument
onClick?: (event: MouseEvent<HTMLButtonElement>) => void
Expand All @@ -29,7 +30,6 @@ export interface IButtonProps {
prepend?: ReactNode
icon?: ReactNode
isLoading?: boolean
noBorder?: boolean
refEl?: any
dataTestId?: string
style?: CSSProperties
Expand All @@ -51,7 +51,6 @@ export const Button: FC<IButtonProps> = ({
prepend,
icon,
isLoading = false,
noBorder = false,
refEl,
dataTestId,
style = {},
Expand All @@ -64,7 +63,6 @@ export const Button: FC<IButtonProps> = ({
styles[`button_${variant}`],
styles[`button_${padding}`],
isOnlyIcon && styles.button_iconOnly,
noBorder && styles.button_noBorder,
className,
)

Expand Down

0 comments on commit 8ad5038

Please sign in to comment.