diff --git a/src/containers/AddProfile/index.js b/src/containers/AddProfile/index.js index 54c5ee8a..3b878047 100644 --- a/src/containers/AddProfile/index.js +++ b/src/containers/AddProfile/index.js @@ -86,7 +86,7 @@ const AddProfile = ({ }); return; } - + formattedData.childProfileIds.push(values.rfProfileId); formattedData.model_type = 'ApNetworkConfiguration'; formattedData = Object.assign(formattedData, formatApProfileForm(values)); } @@ -125,7 +125,7 @@ const AddProfile = ({ formattedData.model_type = 'RfConfiguration'; formattedData = Object.assign(formattedData, formatRfProfileForm(values)); } - + onCreateProfile(profileType, name, formattedData, formattedData.childProfileIds); setIsFormDirty(false); }) diff --git a/src/containers/ProfileDetails/components/AccessPoint/index.js b/src/containers/ProfileDetails/components/AccessPoint/index.js index 893b183b..10be36e4 100644 --- a/src/containers/ProfileDetails/components/AccessPoint/index.js +++ b/src/containers/ProfileDetails/components/AccessPoint/index.js @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from 'react'; +import React, { useState, useEffect, useMemo } from 'react'; import PropTypes from 'prop-types'; import { Card, Form, Input, Checkbox, Radio, Select, Table } from 'antd'; import { DeleteFilled } from '@ant-design/icons'; @@ -28,8 +28,8 @@ const AccessPointForm = ({ const [rtls, setRtls] = useState(details?.rtlsSettings?.enabled); const [syslog, setSyslog] = useState(details?.syslogRelay?.enabled); - const [selectedChildProfiles, setSelectdChildProfiles] = useState(childProfileIds); - const [previousRfId, setPreviousRfId] = useState(childProfiles.filter(i => i.profileType === 'rf')[0]?.id); + const currentRfId = useMemo(() => childProfiles.find( i => i. profileType === 'rf')?.id, [childProfiles]); + const [selectedChildProfiles, setSelectdChildProfiles] = useState(childProfileIds.filter(i => i !== currentRfId )); const handleOnChangeSsid = selectedItem => { form.setFieldsValue({ @@ -44,16 +44,6 @@ const AccessPointForm = ({ }); setSelectdChildProfiles(selectedChildProfiles.filter(i => i !== id)); }; - - const handleOnChangeRf = selectedItem => { - const newChildProfileList = selectedChildProfiles.filter(i => i !== previousRfId); - - form.setFieldsValue({ - childProfileIds: [...newChildProfileList, selectedItem], - }); - setSelectdChildProfiles([...newChildProfileList, selectedItem]); - setPreviousRfId(selectedItem); - }; useEffect(() => { setSelectdChildProfiles(childProfileIds); @@ -78,7 +68,7 @@ const AccessPointForm = ({ }, syntheticClientEnabled: details?.syntheticClientEnabled ? 'true' : 'false', equipmentDiscovery: details?.equipmentDiscovery ? 'true' : 'false', - rfProfileId: previousRfId, + rfProfileId: childProfiles.find( i => i. profileType === 'rf')?.id, childProfileIds, }); }, [form, details, childProfileIds]); @@ -370,7 +360,6 @@ const AccessPointForm = ({ onPopupScroll={onFetchMoreRfProfiles} showSearch placeholder="Select a RF Profile" - onChange={handleOnChangeRf} > {rfProfiles.map(i => (