mirror of
https://github.com/langgenius/dify.git
synced 2026-03-18 05:09:54 +08:00
feat: can show schema tooltip
This commit is contained in:
@ -1,3 +1,5 @@
|
||||
import type { SchemaRoot } from '@/app/components/workflow/nodes/llm/types'
|
||||
|
||||
export type FormValue = Record<string, any>
|
||||
|
||||
export type TypeWithI18N<T = string> = {
|
||||
@ -109,6 +111,7 @@ export type FormShowOnObject = {
|
||||
}
|
||||
|
||||
export type CredentialFormSchemaBase = {
|
||||
name: string
|
||||
variable: string
|
||||
label: TypeWithI18N
|
||||
type: FormTypeEnum
|
||||
@ -118,6 +121,7 @@ export type CredentialFormSchemaBase = {
|
||||
show_on: FormShowOnObject[]
|
||||
url?: string
|
||||
scope?: string
|
||||
input_schema?: SchemaRoot
|
||||
}
|
||||
|
||||
export type CredentialFormSchemaTextInput = CredentialFormSchemaBase & {
|
||||
|
||||
@ -80,7 +80,6 @@ const AgentPanel: FC<NodePanelProps<AgentNodeType>> = (props) => {
|
||||
})()
|
||||
|
||||
const resetEditor = useStore(s => s.setControlPromptEditorRerenderKey)
|
||||
console.log(canChooseMCPTool)
|
||||
return <div className='my-2'>
|
||||
<Field
|
||||
required
|
||||
|
||||
@ -10,6 +10,8 @@ import { useLanguage } from '@/app/components/header/account-setting/model-provi
|
||||
import Button from '@/app/components/base/button'
|
||||
import Tooltip from '@/app/components/base/tooltip'
|
||||
import FormInputItem from '@/app/components/workflow/nodes/_base/components/form-input-item'
|
||||
import { useBoolean } from 'ahooks'
|
||||
import SchemaModal from '@/app/components/plugins/plugin-detail-panel/tool-selector/schema-modal'
|
||||
|
||||
type Props = {
|
||||
readOnly: boolean
|
||||
@ -27,10 +29,13 @@ const ToolFormItem: FC<Props> = ({
|
||||
onChange,
|
||||
}) => {
|
||||
const language = useLanguage()
|
||||
const { label, type, required, tooltip } = schema
|
||||
const { name, label, type, required, tooltip, input_schema } = schema
|
||||
const showSchemaButton = type === FormTypeEnum.object || type === FormTypeEnum.array
|
||||
const showDescription = type === FormTypeEnum.textInput || type === FormTypeEnum.secretInput
|
||||
|
||||
const [isShowSchema, {
|
||||
setTrue: showSchema,
|
||||
setFalse: hideSchema,
|
||||
}] = useBoolean(false)
|
||||
return (
|
||||
<div className='space-y-0.5 py-1'>
|
||||
<div>
|
||||
@ -54,9 +59,7 @@ const ToolFormItem: FC<Props> = ({
|
||||
<Button
|
||||
variant='ghost'
|
||||
size='small'
|
||||
onClick={() => {
|
||||
// onOpen?.(index)
|
||||
}}
|
||||
onClick={showSchema}
|
||||
className='system-xs-regular px-1 text-text-tertiary'
|
||||
>
|
||||
<RiBracesLine className='mr-1 size-3.5' />
|
||||
@ -76,6 +79,15 @@ const ToolFormItem: FC<Props> = ({
|
||||
value={value}
|
||||
onChange={onChange}
|
||||
/>
|
||||
|
||||
{isShowSchema && (
|
||||
<SchemaModal
|
||||
isShow
|
||||
onClose={hideSchema}
|
||||
rootName={name}
|
||||
schema={input_schema!}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user