MCPcopy Create free account
hub / github.com/FlowiseAI/Flowise / Settings

Function Settings

packages/ui/src/views/settings/index.jsx:23–155  ·  view source on GitHub ↗
({ chatflow, isSettingsOpen, isCustomAssistant, anchorEl, isAgentCanvas, onSettingsItemClick, onUploadFile, onClose })

Source from the content-addressed store, hash-verified

21// ==============================|| SETTINGS ||============================== //
22
23const Settings = ({ chatflow, isSettingsOpen, isCustomAssistant, anchorEl, isAgentCanvas, onSettingsItemClick, onUploadFile, onClose }) => {
24 const theme = useTheme()
25 const [settingsMenu, setSettingsMenu] = useState([])
26 const customization = useSelector((state) => state.customization)
27 const inputFile = useRef(null)
28 const [open, setOpen] = useState(false)
29 const { hasPermission } = useAuth()
30
31 const handleFileUpload = (e) => {
32 if (!e.target.files) return
33
34 const file = e.target.files[0]
35
36 const reader = new FileReader()
37 reader.onload = (evt) => {
38 if (!evt?.target?.result) {
39 return
40 }
41 const { result } = evt.target
42 onUploadFile(result)
43 }
44 reader.readAsText(file)
45 }
46
47 useEffect(() => {
48 if (chatflow && !chatflow.id) {
49 const menus = isAgentCanvas ? agentsettings : settings
50 const settingsMenu = menus.children.filter((menu) => menu.id === 'loadChatflow')
51 setSettingsMenu(settingsMenu)
52 } else if (chatflow && chatflow.id) {
53 if (isCustomAssistant) {
54 const menus = customAssistantSettings
55 setSettingsMenu(menus.children)
56 } else {
57 const menus = isAgentCanvas ? agentsettings : settings
58 setSettingsMenu(menus.children)
59 }
60 }
61 }, [chatflow, isAgentCanvas, isCustomAssistant])
62
63 useEffect(() => {
64 setOpen(isSettingsOpen)
65 }, [isSettingsOpen])
66
67 // settings list items
68 const items = settingsMenu.map((menu) => {
69 if (menu.permission && !hasPermission(menu.permission)) {
70 return null
71 }
72 const Icon = menu.icon
73 const itemIcon = menu?.icon ? (
74 <Icon stroke={1.5} size='1.3rem' />
75 ) : (
76 <FiberManualRecordIcon
77 sx={{
78 width: customization.isOpen.findIndex((id) => id === menu?.id) > -1 ? 8 : 6,
79 height: customization.isOpen.findIndex((id) => id === menu?.id) > -1 ? 8 : 6
80 }}

Callers

nothing calls this directly

Calls 4

useAuthFunction · 0.90
hasPermissionFunction · 0.85
handleFileUploadFunction · 0.70
onSettingsItemClickFunction · 0.50

Tested by

no test coverage detected