Skip to content

Commit

Permalink
Minor fixes for rebase
Browse files Browse the repository at this point in the history
  • Loading branch information
maxtechera committed Aug 12, 2024
1 parent 2dcd258 commit 1a2f31e
Show file tree
Hide file tree
Showing 9 changed files with 5,181 additions and 5,840 deletions.
1 change: 1 addition & 0 deletions packages/server/src/controllers/chat-messages/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ const getAllInternalChatMessages = async (req: Request, res: Response, next: Nex
endDate,
messageId,
feedback,
undefined,
userId
)
return res.json(apiResponse)
Expand Down
2 changes: 1 addition & 1 deletion packages/server/src/database/migrations/sqlite/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ export const sqliteMigrations = [
AddTypeToChatFlow1716300000000,
AddVectorStoreConfigToDocStore1715861032479,
AddApiKey1720230151480,
AddActionToChatMessage1721078251523
AddActionToChatMessage1721078251523,
AddOrganizationId1717629010538,
AddOrganization1717632419096,
UpdateDefaultVisibility1717684633931,
Expand Down
203 changes: 16 additions & 187 deletions packages/ui/src/ui-component/button/FlowListMenu.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,11 @@ import PropTypes from 'prop-types'
import { styled, alpha } from '@mui/material/styles'
import Menu from '@mui/material/Menu'
import MenuItem from '@mui/material/MenuItem'
import EditIcon from '@mui/icons-material/Edit'
import Divider from '@mui/material/Divider'
import FileCopyIcon from '@mui/icons-material/FileCopy'
import FileDownloadIcon from '@mui/icons-material/Downloading'
import FileDeleteIcon from '@mui/icons-material/Delete'
import FileCategoryIcon from '@mui/icons-material/Category'
import PictureInPictureAltIcon from '@mui/icons-material/PictureInPictureAlt'
import ThumbsUpDownOutlinedIcon from '@mui/icons-material/ThumbsUpDownOutlined'
import VpnLockOutlinedIcon from '@mui/icons-material/VpnLockOutlined'
import MicNoneOutlinedIcon from '@mui/icons-material/MicNoneOutlined'
import SettingsIcon from '@mui/icons-material/Settings'
import Button from '@mui/material/Button'
import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown'
import { IconX } from '@tabler/icons-react'
Expand All @@ -25,16 +20,9 @@ import useApi from '@/hooks/useApi'
import useConfirm from '@/hooks/useConfirm'
import { uiBaseURL } from '@/store/constant'
import { closeSnackbar as closeSnackbarAction, enqueueSnackbar as enqueueSnackbarAction } from '@/store/actions'

import SaveChatflowDialog from '@/ui-component/dialog/SaveChatflowDialog'
import TagDialog from '@/ui-component/dialog/TagDialog'
import StarterPromptsDialog from '@/ui-component/dialog/StarterPromptsDialog'

import ChatflowConfigurationDialog from '../dialog/ChatflowConfigurationDialog'
import { generateExportFlowData } from '@/utils/genericHelper'
import useNotifier from '@/utils/useNotifier'
import ChatFeedbackDialog from '../dialog/ChatFeedbackDialog'
import AllowedDomainsDialog from '../dialog/AllowedDomainsDialog'
import SpeechToTextDialog from '../dialog/SpeechToTextDialog'

const StyledMenu = styled((props) => (
<Menu
Expand Down Expand Up @@ -77,23 +65,13 @@ export default function FlowListMenu({ chatflow, isAgentCanvas, setError, update
const dispatch = useDispatch()
const updateChatflowApi = useApi(chatflowsApi.updateChatflow)

useNotifier()
const enqueueSnackbar = (...args) => dispatch(enqueueSnackbarAction(...args))
const closeSnackbar = (...args) => dispatch(closeSnackbarAction(...args))

const [flowDialogOpen, setFlowDialogOpen] = useState(false)
const [categoryDialogOpen, setCategoryDialogOpen] = useState(false)
const [categoryDialogProps, setCategoryDialogProps] = useState({})
const [anchorEl, setAnchorEl] = useState(null)
const open = Boolean(anchorEl)
const [conversationStartersDialogOpen, setConversationStartersDialogOpen] = useState(false)
const [conversationStartersDialogProps, setConversationStartersDialogProps] = useState({})
const [chatFeedbackDialogOpen, setChatFeedbackDialogOpen] = useState(false)
const [chatFeedbackDialogProps, setChatFeedbackDialogProps] = useState({})
const [allowedDomainsDialogOpen, setAllowedDomainsDialogOpen] = useState(false)
const [allowedDomainsDialogProps, setAllowedDomainsDialogProps] = useState({})
const [speechToTextDialogOpen, setSpeechToTextDialogOpen] = useState(false)
const [speechToTextDialogProps, setSpeechToTextDialogProps] = useState({})
const [chatflowConfigurationDialogOpen, setChatflowConfigurationDialogOpen] = useState(false)
const [chatflowConfigurationDialogProps, setChatflowConfigurationDialogProps] = useState({})

const title = isAgentCanvas ? 'Agents' : 'Chatflow'

Expand All @@ -105,110 +83,13 @@ export default function FlowListMenu({ chatflow, isAgentCanvas, setError, update
setAnchorEl(null)
}

const handleFlowRename = () => {
setAnchorEl(null)
setFlowDialogOpen(true)
}

const handleFlowStarterPrompts = () => {
setAnchorEl(null)
setConversationStartersDialogProps({
title: 'Starter Prompts - ' + chatflow.name,
chatflow: chatflow
})
setConversationStartersDialogOpen(true)
}

const handleFlowChatFeedback = () => {
const handleChatflowConfiguration = () => {
setAnchorEl(null)
setChatFeedbackDialogProps({
title: 'Chat Feedback - ' + chatflow.name,
setChatflowConfigurationDialogProps({
title: `${title} Configuration`,
chatflow: chatflow
})
setChatFeedbackDialogOpen(true)
}

const handleAllowedDomains = () => {
setAnchorEl(null)
setAllowedDomainsDialogProps({
title: 'Allowed Domains - ' + chatflow.name,
chatflow: chatflow
})
setAllowedDomainsDialogOpen(true)
}

const handleSpeechToText = () => {
setAnchorEl(null)
setSpeechToTextDialogProps({
title: 'Speech To Text - ' + chatflow.name,
chatflow: chatflow
})
setSpeechToTextDialogOpen(true)
}

const saveFlowRename = async (chatflowName) => {
const updateBody = {
name: chatflowName,
chatflow
}
try {
await updateChatflowApi.request(chatflow.id, updateBody)
await updateFlowsApi.request()
} catch (error) {
if (setError) setError(error)
enqueueSnackbar({
message: typeof error.response.data === 'object' ? error.response.data.message : error.response.data,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
persist: true,
action: (key) => (
<Button style={{ color: 'white' }} onClick={() => closeSnackbar(key)}>
<IconX />
</Button>
)
}
})
}
}

const handleFlowCategory = () => {
setAnchorEl(null)
if (chatflow.category) {
setCategoryDialogProps({
category: chatflow.category.split(';')
})
}
setCategoryDialogOpen(true)
}

const saveFlowCategory = async (categories) => {
setCategoryDialogOpen(false)
// save categories as string
const categoryTags = categories.join(';')
const updateBody = {
category: categoryTags,
chatflow
}
try {
await updateChatflowApi.request(chatflow.id, updateBody)
await updateFlowsApi.request()
} catch (error) {
if (setError) setError(error)
enqueueSnackbar({
message: typeof error.response.data === 'object' ? error.response.data.message : error.response.data,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
persist: true,
action: (key) => (
<Button style={{ color: 'white' }} onClick={() => closeSnackbar(key)}>
<IconX />
</Button>
)
}
})
}
setChatflowConfigurationDialogOpen(true)
}

const handleDelete = async () => {
Expand All @@ -226,7 +107,7 @@ export default function FlowListMenu({ chatflow, isAgentCanvas, setError, update
await chatflowsApi.deleteChatflow(chatflow.id)
await updateFlowsApi.request()
} catch (error) {
if (setError) setError(error)
setError(error)
enqueueSnackbar({
message: typeof error.response.data === 'object' ? error.response.data.message : error.response.data,
options: {
Expand Down Expand Up @@ -294,9 +175,9 @@ export default function FlowListMenu({ chatflow, isAgentCanvas, setError, update
open={open}
onClose={handleClose}
>
<MenuItem onClick={handleFlowRename} disableRipple>
<EditIcon />
Rename
<MenuItem onClick={handleChatflowConfiguration} disableRipple>
<SettingsIcon />
Configuration
</MenuItem>
<MenuItem onClick={handleDuplicate} disableRipple>
<FileCopyIcon />
Expand All @@ -307,67 +188,15 @@ export default function FlowListMenu({ chatflow, isAgentCanvas, setError, update
Export
</MenuItem>
<Divider sx={{ my: 0.5 }} />
<MenuItem onClick={handleFlowStarterPrompts} disableRipple>
<PictureInPictureAltIcon />
Starter Prompts
</MenuItem>
<MenuItem onClick={handleFlowChatFeedback} disableRipple>
<ThumbsUpDownOutlinedIcon />
Chat Feedback
</MenuItem>
<MenuItem onClick={handleAllowedDomains} disableRipple>
<VpnLockOutlinedIcon />
Allowed Domains
</MenuItem>
<MenuItem onClick={handleSpeechToText} disableRipple>
<MicNoneOutlinedIcon />
Speech To Text
</MenuItem>
<MenuItem onClick={handleFlowCategory} disableRipple>
<FileCategoryIcon />
Update Category
</MenuItem>
<Divider sx={{ my: 0.5 }} />
<MenuItem onClick={handleDelete} disableRipple>
<FileDeleteIcon />
Delete
</MenuItem>
</StyledMenu>
<SaveChatflowDialog
show={flowDialogOpen}
dialogProps={{
title: `Rename ${title}`,
confirmButtonName: 'Rename',
cancelButtonName: 'Cancel'
}}
onCancel={() => setFlowDialogOpen(false)}
onConfirm={saveFlowRename}
/>
<TagDialog
isOpen={categoryDialogOpen}
dialogProps={categoryDialogProps}
onClose={() => setCategoryDialogOpen(false)}
onSubmit={saveFlowCategory}
/>
<StarterPromptsDialog
show={conversationStartersDialogOpen}
dialogProps={conversationStartersDialogProps}
onCancel={() => setConversationStartersDialogOpen(false)}
/>
<ChatFeedbackDialog
show={chatFeedbackDialogOpen}
dialogProps={chatFeedbackDialogProps}
onCancel={() => setChatFeedbackDialogOpen(false)}
/>
<AllowedDomainsDialog
show={allowedDomainsDialogOpen}
dialogProps={allowedDomainsDialogProps}
onCancel={() => setAllowedDomainsDialogOpen(false)}
/>
<SpeechToTextDialog
show={speechToTextDialogOpen}
dialogProps={speechToTextDialogProps}
onCancel={() => setSpeechToTextDialogOpen(false)}
<ChatflowConfigurationDialog
show={chatflowConfigurationDialogOpen}
dialogProps={chatflowConfigurationDialogProps}
onCancel={() => setChatflowConfigurationDialogOpen(false)}
/>
</div>
)
Expand Down
2 changes: 1 addition & 1 deletion packages/ui/src/ui-component/cards/ItemCard.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ const ItemCard = ({ data, images, nodeTypes, onClick, type, updateFlowsApi, setE
flexShrink: 0,
marginRight: 10,
borderRadius: '50%',
backgroundImage: `url(${data.iconSrc})`,
background: `url(${data.iconSrc})`,
backgroundSize: 'contain',
backgroundRepeat: 'no-repeat',
backgroundPosition: 'center center'
Expand Down
Loading

0 comments on commit 1a2f31e

Please sign in to comment.