Skip to content

Commit

Permalink
#3251 - moving autofill logic to parent component
Browse files Browse the repository at this point in the history
  • Loading branch information
Gayane Chilingaryan committed Oct 12, 2023
1 parent 36dbdb8 commit 15dbccf
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import {
RnaBuilderPresetsItem,
savePreset,
selectActivePreset,
selectActiveRnaBuilderItem,
selectIsEditMode,
selectPresetFullName,
selectPresets,
Expand All @@ -53,6 +54,9 @@ export const RnaEditor = () => {
const presets = useAppSelector(selectPresets);
const isEditMode = useAppSelector(selectIsEditMode);
const activePresetFullName = selectPresetFullName(activePreset);
const activeMonomerGroup = useAppSelector(selectActiveRnaBuilderItem);
const [, setPresetName] = useState('');
const [editedPresetName, setEditedPresetName] = useState(false);

const dispatch = useAppDispatch();
const hasPresets = presets.length !== 0;
Expand All @@ -79,8 +83,24 @@ export const RnaEditor = () => {
setExpanded(!expanded);
};

const changeName = (event: ChangeEvent<HTMLInputElement>) => {
dispatch(setActivePresetName(event.target.value));
useEffect(() => {
if (
activeMonomerGroup !== RnaBuilderPresetsItem.Presets &&
!editedPresetName
) {
setPresetName(activePresetFullName);
dispatch(setActivePresetName(activePresetFullName));
console.log('presetname', activePresetFullName);
}
}, [activeMonomerGroup, activePresetFullName, editedPresetName]);

const onChangeName = (event: ChangeEvent<HTMLInputElement>) => {
if (isEditMode) {
const newPresetName = event.target.value;
dispatch(setActivePresetName(newPresetName));
setPresetName(newPresetName);
setEditedPresetName(newPresetName.trim() !== '');
}
};

const saveActivePreset = () => {
Expand Down Expand Up @@ -142,7 +162,7 @@ export const RnaEditor = () => {
<RnaEditorExpanded
name={activePreset.name}
isEditMode={isEditMode}
onChangeName={changeName}
onChangeName={onChangeName}
onSave={saveActivePreset}
onCancel={cancelEdit}
onEdit={activateEditMode}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,6 @@ import {
selectActivePresetMonomerGroup,
selectActiveRnaBuilderItem,
selectIsPresetReadyToSave,
selectPresetFullName,
setActivePresetName,
setActiveRnaBuilderItem,
} from 'state/rna-builder';
import { useAppSelector } from 'hooks';
Expand All @@ -45,7 +43,6 @@ import {
scrollToSelectedPreset,
} from 'components/monomerLibrary/RnaBuilder/RnaEditor/RnaEditor';
import { getMonomerUniqueKey } from 'state/library';
import { ChangeEvent, useEffect, useState } from 'react';

export const RnaEditorExpanded = ({
name,
Expand Down Expand Up @@ -77,31 +74,6 @@ export const RnaEditorExpanded = ({
] as const;

const activeMonomerGroup = useAppSelector(selectActiveRnaBuilderItem);
const activePresetFullName = selectPresetFullName(activePreset);
const [presetName, setPresetName] = useState(name || '');
const [editedPresetName, setEditedPresetName] = useState(false);
useEffect(() => {
if (
activeMonomerGroup !== RnaBuilderPresetsItem.Presets &&
!editedPresetName &&
!presetName.trim()
) {
setPresetName((currentPresetName) => {
const newName = activePresetFullName || currentPresetName;
dispatch(setActivePresetName(newName));
return newName;
});
}
}, [activeMonomerGroup, activePresetFullName, editedPresetName, presetName]);

onChangeName = (event: ChangeEvent<HTMLInputElement>) => {
if (isEditMode) {
const newPresetName = event.target.value;
dispatch(setActivePresetName(newPresetName));
setPresetName(newPresetName);
setEditedPresetName(newPresetName.trim() !== '');
}
};

const scrollToActiveItemInLibrary = (selectedGroup) => {
if (selectedGroup === RnaBuilderPresetsItem.Presets) {
Expand Down Expand Up @@ -155,7 +127,7 @@ export const RnaEditorExpanded = ({
>
{isEditMode ? (
<NameInput
value={presetName}
value={name}
placeholder="Name your structure"
onChange={onChangeName}
/>
Expand Down

0 comments on commit 15dbccf

Please sign in to comment.