single select bug fix

This commit is contained in:
Amit Fainholts
2022-02-01 16:01:02 +02:00
parent 4a76c17dda
commit a4eb996f9f
2 changed files with 16 additions and 11 deletions

View File

@@ -32,7 +32,6 @@ export const AddUserModal: FC<AddUserModalProps> = ({isOpen, onCloseModal, userD
//const [editUserData, setEditUserData] = useState(userData)
const [searchValue, setSearchValue] = useState("");
const [workspaces, setWorkspaces] = useState([]);
const [checkedWorkspaceKeys, setCheckedWorkspaceKeys] = useState([]);
//const { control, handleSubmit,register } = useForm<UserData>();
const [disable, setDisable] = useState(true);
const [editMode, setEditMode] = useState(isEditMode);
@@ -104,9 +103,8 @@ export const AddUserModal: FC<AddUserModalProps> = ({isOpen, onCloseModal, userD
const workspaceChange = (workspaces) => {
//setWorkspaces(newVal);
const selectedWorksapce = workspaces.find(x=> x.isChecked)
const data = {...userDataModel, workspaceId : selectedWorksapce.key}
setUserData(data)
const data = {...userDataModel, workspaceId : workspaces.length ? workspaces[0] : ""}
setUserData((prevState) => {return data});
setGenarateDisabledState()
}
@@ -258,7 +256,7 @@ export const AddUserModal: FC<AddUserModalProps> = ({isOpen, onCloseModal, userD
onChange={(event) => setSearchValue(event.target.value)}/>
</div>
<SelectList items={workspaces} tableName={''} multiSelect={false} searchValue={searchValue}
setCheckedValues={workspaceChange} tabelClassName={''} checkedValues={[]} >
setCheckedValues={workspaceChange} tabelClassName={''} checkedValues={[userDataModel.workspaceId]} >
</SelectList>
</div>

View File

@@ -25,14 +25,21 @@ const SelectList: React.FC<Props> = ({items ,tableName,checkedValues=[],multiSel
const toggleValue = (checkedKey) => {
if (!multiSelect){
unToggleAll();
// unToggleAll();
const newCheckedValues = [];
newCheckedValues.push(checkedKey);
setCheckedValues(newCheckedValues);
}
else {
const newCheckedValues = [...checkedValues];
let index = newCheckedValues.indexOf(checkedKey);
if(index > -1) newCheckedValues.splice(index,1);
else newCheckedValues.push(checkedKey);
if(index > -1)
newCheckedValues.splice(index,1);
else
newCheckedValues.push(checkedKey);
setCheckedValues(newCheckedValues);
}
}
const unToggleAll = () => {
setCheckedValues([]);