Update how allowed origins are saved in chatbot config

This commit is contained in:
Ilango
2024-02-27 11:47:58 +05:30
parent c07e908fef
commit 7d76c127f1
@@ -38,21 +38,12 @@ const AllowedDomainsDialog = ({ show, dialogProps, onCancel, onConfirm }) => {
const enqueueSnackbar = (...args) => dispatch(enqueueSnackbarAction(...args)) const enqueueSnackbar = (...args) => dispatch(enqueueSnackbarAction(...args))
const closeSnackbar = (...args) => dispatch(closeSnackbarAction(...args)) const closeSnackbar = (...args) => dispatch(closeSnackbarAction(...args))
const [inputFields, setInputFields] = useState([ const [inputFields, setInputFields] = useState([''])
{
origin: ''
}
])
const [chatbotConfig, setChatbotConfig] = useState({}) const [chatbotConfig, setChatbotConfig] = useState({})
const addInputField = () => { const addInputField = () => {
setInputFields([ setInputFields([...inputFields, ''])
...inputFields,
{
origin: ''
}
])
} }
const removeInputFields = (index) => { const removeInputFields = (index) => {
const rows = [...inputFields] const rows = [...inputFields]
@@ -61,18 +52,16 @@ const AllowedDomainsDialog = ({ show, dialogProps, onCancel, onConfirm }) => {
} }
const handleChange = (index, evnt) => { const handleChange = (index, evnt) => {
const { name, value } = evnt.target const { value } = evnt.target
const list = [...inputFields] const list = [...inputFields]
list[index][name] = value list[index] = value
setInputFields(list) setInputFields(list)
} }
const onSave = async () => { const onSave = async () => {
try { try {
let value = { let value = {
allowedOrigins: { allowedOrigins: [...inputFields]
...inputFields
}
} }
chatbotConfig.allowedOrigins = value.allowedOrigins chatbotConfig.allowedOrigins = value.allowedOrigins
const saveResp = await chatflowsApi.updateChatflow(dialogProps.chatflow.id, { const saveResp = await chatflowsApi.updateChatflow(dialogProps.chatflow.id, {
@@ -118,26 +107,13 @@ const AllowedDomainsDialog = ({ show, dialogProps, onCancel, onConfirm }) => {
let chatbotConfig = JSON.parse(dialogProps.chatflow.chatbotConfig) let chatbotConfig = JSON.parse(dialogProps.chatflow.chatbotConfig)
setChatbotConfig(chatbotConfig || {}) setChatbotConfig(chatbotConfig || {})
if (chatbotConfig.allowedOrigins) { if (chatbotConfig.allowedOrigins) {
let inputFields = [] let inputFields = [...chatbotConfig.allowedOrigins]
Object.getOwnPropertyNames(chatbotConfig.allowedOrigins).forEach((key) => {
if (chatbotConfig.allowedOrigins[key]) {
inputFields.push(chatbotConfig.allowedOrigins[key])
}
})
setInputFields(inputFields) setInputFields(inputFields)
} else { } else {
setInputFields([ setInputFields([''])
{
origin: ''
}
])
} }
} catch (e) { } catch (e) {
setInputFields([ setInputFields([''])
{
origin: ''
}
])
} }
} }
@@ -176,7 +152,7 @@ const AllowedDomainsDialog = ({ show, dialogProps, onCancel, onConfirm }) => {
</div> </div>
<Box sx={{ '& > :not(style)': { m: 1 }, pt: 2 }}> <Box sx={{ '& > :not(style)': { m: 1 }, pt: 2 }}>
<List> <List>
{inputFields.map((data, index) => { {inputFields.map((origin, index) => {
return ( return (
<div key={index} style={{ display: 'flex', width: '100%' }}> <div key={index} style={{ display: 'flex', width: '100%' }}>
<Box sx={{ width: '100%', mb: 1 }}> <Box sx={{ width: '100%', mb: 1 }}>
@@ -186,8 +162,8 @@ const AllowedDomainsDialog = ({ show, dialogProps, onCancel, onConfirm }) => {
type='text' type='text'
onChange={(e) => handleChange(index, e)} onChange={(e) => handleChange(index, e)}
size='small' size='small'
value={data.prompt} value={origin}
name='prompt' name='origin'
endAdornment={ endAdornment={
<InputAdornment position='end' sx={{ padding: '2px' }}> <InputAdornment position='end' sx={{ padding: '2px' }}>
{inputFields.length > 1 && ( {inputFields.length > 1 && (