feat: add knowledge base filter (#1822)

* feat: add search filter

* chore
This commit is contained in:
Chen Tao 2025-02-17 22:18:10 +08:00 committed by GitHub
parent 7feeb07624
commit 78290ca70e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 20 additions and 9 deletions

View File

@ -37,8 +37,8 @@ const PopupContainer: React.FC<Props> = ({ resolve }) => {
const [emoji, setEmoji] = useState('')
const [loading, setLoading] = useState(false)
const knowledgeState = useAppSelector((state) => state.knowledge)
const knowledgeOptions: SelectProps['options'] = []
const showKnowledgeIcon = useSidebarIconShow('knowledge')
const knowledgeOptions: SelectProps['options'] = []
knowledgeState.bases.forEach((base) => {
knowledgeOptions.push({
@ -163,6 +163,11 @@ const PopupContainer: React.FC<Props> = ({ resolve }) => {
placeholder={t('agents.add.knowledge_base.placeholder')}
menuItemSelectedIcon={<CheckOutlined />}
options={knowledgeOptions}
filterOption={(input, option) =>
String(option?.label ?? '')
.toLowerCase()
.includes(input.toLowerCase())
}
/>
</Form.Item>
)}

View File

@ -33,6 +33,11 @@ const KnowledgeBaseSelector: FC<Props> = ({ selectedBases, onSelect }) => {
placeholder={t('agents.add.knowledge_base.placeholder')}
menuItemSelectedIcon={<CheckOutlined />}
options={knowledgeOptions}
filterOption={(input, option) =>
String(option?.label ?? '')
.toLowerCase()
.includes(input.toLowerCase())
}
onChange={(ids) => {
const newSelected = knowledgeState.bases.filter((base) => ids.includes(base.id))
onSelect(newSelected)

View File

@ -16,14 +16,10 @@ const AssistantKnowledgeBaseSettings: React.FC<Props> = ({ assistant, updateAssi
const { t } = useTranslation()
const knowledgeState = useAppSelector((state) => state.knowledge)
const knowledgeOptions: SelectProps['options'] = []
knowledgeState.bases.forEach((base) => {
knowledgeOptions.push({
label: base.name,
value: base.id
})
})
const knowledgeOptions: SelectProps['options'] = knowledgeState.bases.map((base) => ({
label: base.name,
value: base.id
}))
const onUpdate = (value) => {
const knowledge_bases = value.map((id) => knowledgeState.bases.find((b) => b.id === id))
@ -44,6 +40,11 @@ const AssistantKnowledgeBaseSettings: React.FC<Props> = ({ assistant, updateAssi
menuItemSelectedIcon={<CheckOutlined />}
options={knowledgeOptions}
onChange={(value) => onUpdate(value)}
filterOption={(input, option) =>
String(option?.label ?? '')
.toLowerCase()
.includes(input.toLowerCase())
}
/>
</Container>
)