mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-16 19:05:55 +08:00
fix: select tool can select all
This commit is contained in:
parent
274d5c02f6
commit
626f2524e2
@ -32,7 +32,8 @@ type AllToolsProps = {
|
|||||||
workflowTools: ToolWithProvider[]
|
workflowTools: ToolWithProvider[]
|
||||||
mcpTools: ToolWithProvider[]
|
mcpTools: ToolWithProvider[]
|
||||||
onSelect: OnSelectBlock
|
onSelect: OnSelectBlock
|
||||||
onSelectMultiple: (type: BlockEnum, tools: ToolDefaultValue[]) => void
|
canNotSelectMultiple?: boolean
|
||||||
|
onSelectMultiple?: (type: BlockEnum, tools: ToolDefaultValue[]) => void
|
||||||
selectedTools?: ToolValue[]
|
selectedTools?: ToolValue[]
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -44,6 +45,7 @@ const AllTools = ({
|
|||||||
searchText,
|
searchText,
|
||||||
tags = DEFAULT_TAGS,
|
tags = DEFAULT_TAGS,
|
||||||
onSelect,
|
onSelect,
|
||||||
|
canNotSelectMultiple,
|
||||||
onSelectMultiple,
|
onSelectMultiple,
|
||||||
buildInTools,
|
buildInTools,
|
||||||
workflowTools,
|
workflowTools,
|
||||||
@ -139,6 +141,7 @@ const AllTools = ({
|
|||||||
showWorkflowEmpty={activeTab === ToolTypeEnum.Workflow}
|
showWorkflowEmpty={activeTab === ToolTypeEnum.Workflow}
|
||||||
tools={tools}
|
tools={tools}
|
||||||
onSelect={onSelect}
|
onSelect={onSelect}
|
||||||
|
canNotSelectMultiple={canNotSelectMultiple}
|
||||||
onSelectMultiple={onSelectMultiple}
|
onSelectMultiple={onSelectMultiple}
|
||||||
viewType={isSupportGroupView ? activeView : ViewType.flat}
|
viewType={isSupportGroupView ? activeView : ViewType.flat}
|
||||||
hasSearchText={!!searchText}
|
hasSearchText={!!searchText}
|
||||||
|
@ -73,6 +73,7 @@ const Tabs: FC<TabsProps> = ({
|
|||||||
searchText={searchText}
|
searchText={searchText}
|
||||||
onSelect={onSelect}
|
onSelect={onSelect}
|
||||||
tags={tags}
|
tags={tags}
|
||||||
|
canNotSelectMultiple
|
||||||
buildInTools={buildInTools || []}
|
buildInTools={buildInTools || []}
|
||||||
customTools={customTools || []}
|
customTools={customTools || []}
|
||||||
workflowTools={workflowTools || []}
|
workflowTools={workflowTools || []}
|
||||||
|
@ -13,7 +13,8 @@ type Props = {
|
|||||||
isShowLetterIndex: boolean
|
isShowLetterIndex: boolean
|
||||||
hasSearchText: boolean
|
hasSearchText: boolean
|
||||||
onSelect: (type: BlockEnum, tool?: ToolDefaultValue) => void
|
onSelect: (type: BlockEnum, tool?: ToolDefaultValue) => void
|
||||||
onSelectMultiple: (type: BlockEnum, tools: ToolDefaultValue[]) => void
|
canNotSelectMultiple?: boolean
|
||||||
|
onSelectMultiple?: (type: BlockEnum, tools: ToolDefaultValue[]) => void
|
||||||
letters: string[]
|
letters: string[]
|
||||||
toolRefs: any
|
toolRefs: any
|
||||||
selectedTools?: ToolValue[]
|
selectedTools?: ToolValue[]
|
||||||
@ -25,6 +26,7 @@ const ToolViewFlatView: FC<Props> = ({
|
|||||||
isShowLetterIndex,
|
isShowLetterIndex,
|
||||||
hasSearchText,
|
hasSearchText,
|
||||||
onSelect,
|
onSelect,
|
||||||
|
canNotSelectMultiple,
|
||||||
onSelectMultiple,
|
onSelectMultiple,
|
||||||
toolRefs,
|
toolRefs,
|
||||||
selectedTools,
|
selectedTools,
|
||||||
@ -55,6 +57,7 @@ const ToolViewFlatView: FC<Props> = ({
|
|||||||
isShowLetterIndex={isShowLetterIndex}
|
isShowLetterIndex={isShowLetterIndex}
|
||||||
hasSearchText={hasSearchText}
|
hasSearchText={hasSearchText}
|
||||||
onSelect={onSelect}
|
onSelect={onSelect}
|
||||||
|
canNotSelectMultiple={canNotSelectMultiple}
|
||||||
onSelectMultiple={onSelectMultiple}
|
onSelectMultiple={onSelectMultiple}
|
||||||
selectedTools={selectedTools}
|
selectedTools={selectedTools}
|
||||||
/>
|
/>
|
||||||
|
@ -12,7 +12,8 @@ type Props = {
|
|||||||
toolList: ToolWithProvider[]
|
toolList: ToolWithProvider[]
|
||||||
hasSearchText: boolean
|
hasSearchText: boolean
|
||||||
onSelect: (type: BlockEnum, tool?: ToolDefaultValue) => void
|
onSelect: (type: BlockEnum, tool?: ToolDefaultValue) => void
|
||||||
onSelectMultiple: (type: BlockEnum, tools: ToolValue[]) => void
|
canNotSelectMultiple?: boolean
|
||||||
|
onSelectMultiple?: (type: BlockEnum, tools: ToolDefaultValue[]) => void
|
||||||
selectedTools?: ToolValue[]
|
selectedTools?: ToolValue[]
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -21,6 +22,7 @@ const Item: FC<Props> = ({
|
|||||||
toolList,
|
toolList,
|
||||||
hasSearchText,
|
hasSearchText,
|
||||||
onSelect,
|
onSelect,
|
||||||
|
canNotSelectMultiple,
|
||||||
onSelectMultiple,
|
onSelectMultiple,
|
||||||
selectedTools,
|
selectedTools,
|
||||||
}) => {
|
}) => {
|
||||||
@ -38,6 +40,7 @@ const Item: FC<Props> = ({
|
|||||||
isShowLetterIndex={false}
|
isShowLetterIndex={false}
|
||||||
hasSearchText={hasSearchText}
|
hasSearchText={hasSearchText}
|
||||||
onSelect={onSelect}
|
onSelect={onSelect}
|
||||||
|
canNotSelectMultiple={canNotSelectMultiple}
|
||||||
onSelectMultiple={onSelectMultiple}
|
onSelectMultiple={onSelectMultiple}
|
||||||
selectedTools={selectedTools}
|
selectedTools={selectedTools}
|
||||||
/>
|
/>
|
||||||
|
@ -12,7 +12,8 @@ type Props = {
|
|||||||
payload: Record<string, ToolWithProvider[]>
|
payload: Record<string, ToolWithProvider[]>
|
||||||
hasSearchText: boolean
|
hasSearchText: boolean
|
||||||
onSelect: (type: BlockEnum, tool?: ToolDefaultValue) => void
|
onSelect: (type: BlockEnum, tool?: ToolDefaultValue) => void
|
||||||
onSelectMultiple: (type: BlockEnum, tools: ToolValue[]) => void
|
canNotSelectMultiple?: boolean
|
||||||
|
onSelectMultiple?: (type: BlockEnum, tools: ToolDefaultValue[]) => void
|
||||||
selectedTools?: ToolValue[]
|
selectedTools?: ToolValue[]
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -20,6 +21,7 @@ const ToolListTreeView: FC<Props> = ({
|
|||||||
payload,
|
payload,
|
||||||
hasSearchText,
|
hasSearchText,
|
||||||
onSelect,
|
onSelect,
|
||||||
|
canNotSelectMultiple,
|
||||||
onSelectMultiple,
|
onSelectMultiple,
|
||||||
selectedTools,
|
selectedTools,
|
||||||
}) => {
|
}) => {
|
||||||
@ -48,6 +50,7 @@ const ToolListTreeView: FC<Props> = ({
|
|||||||
toolList={payload[groupName]}
|
toolList={payload[groupName]}
|
||||||
hasSearchText={hasSearchText}
|
hasSearchText={hasSearchText}
|
||||||
onSelect={onSelect}
|
onSelect={onSelect}
|
||||||
|
canNotSelectMultiple={canNotSelectMultiple}
|
||||||
onSelectMultiple={onSelectMultiple}
|
onSelectMultiple={onSelectMultiple}
|
||||||
selectedTools={selectedTools}
|
selectedTools={selectedTools}
|
||||||
/>
|
/>
|
||||||
|
@ -22,7 +22,8 @@ type Props = {
|
|||||||
isShowLetterIndex: boolean
|
isShowLetterIndex: boolean
|
||||||
hasSearchText: boolean
|
hasSearchText: boolean
|
||||||
onSelect: (type: BlockEnum, tool?: ToolDefaultValue) => void
|
onSelect: (type: BlockEnum, tool?: ToolDefaultValue) => void
|
||||||
onSelectMultiple: (type: BlockEnum, tools: ToolDefaultValue[]) => void
|
canNotSelectMultiple?: boolean
|
||||||
|
onSelectMultiple?: (type: BlockEnum, tools: ToolDefaultValue[]) => void
|
||||||
selectedTools?: ToolValue[]
|
selectedTools?: ToolValue[]
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -33,6 +34,7 @@ const Tool: FC<Props> = ({
|
|||||||
isShowLetterIndex,
|
isShowLetterIndex,
|
||||||
hasSearchText,
|
hasSearchText,
|
||||||
onSelect,
|
onSelect,
|
||||||
|
canNotSelectMultiple,
|
||||||
onSelectMultiple,
|
onSelectMultiple,
|
||||||
selectedTools,
|
selectedTools,
|
||||||
}) => {
|
}) => {
|
||||||
@ -68,7 +70,7 @@ const Tool: FC<Props> = ({
|
|||||||
return (
|
return (
|
||||||
<span className='system-xs-regular text-components-button-secondary-accent-text'
|
<span className='system-xs-regular text-components-button-secondary-accent-text'
|
||||||
onClick={(e) => {
|
onClick={(e) => {
|
||||||
onSelectMultiple(BlockEnum.Tool, actions.filter(action => !getIsDisabled(action)).map((tool) => {
|
onSelectMultiple?.(BlockEnum.Tool, actions.filter(action => !getIsDisabled(action)).map((tool) => {
|
||||||
const params: Record<string, string> = {}
|
const params: Record<string, string> = {}
|
||||||
if (tool.parameters) {
|
if (tool.parameters) {
|
||||||
tool.parameters.forEach((item) => {
|
tool.parameters.forEach((item) => {
|
||||||
@ -186,7 +188,7 @@ const Tool: FC<Props> = ({
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className='ml-2 flex items-center'>
|
<div className='ml-2 flex items-center'>
|
||||||
{notShowProvider ? notShowProviderSelectInfo : selectedInfo}
|
{!canNotSelectMultiple && (notShowProvider ? notShowProviderSelectInfo : selectedInfo)}
|
||||||
{hasAction && (
|
{hasAction && (
|
||||||
<FoldIcon className={cn('h-4 w-4 shrink-0 text-text-quaternary', isFold && 'text-text-tertiary')} />
|
<FoldIcon className={cn('h-4 w-4 shrink-0 text-text-quaternary', isFold && 'text-text-tertiary')} />
|
||||||
)}
|
)}
|
||||||
|
@ -17,7 +17,8 @@ import classNames from '@/utils/classnames'
|
|||||||
type ToolsProps = {
|
type ToolsProps = {
|
||||||
showWorkflowEmpty: boolean
|
showWorkflowEmpty: boolean
|
||||||
onSelect: (type: BlockEnum, tool?: ToolDefaultValue) => void
|
onSelect: (type: BlockEnum, tool?: ToolDefaultValue) => void
|
||||||
onSelectMultiple: (type: BlockEnum, tools: ToolDefaultValue[]) => void
|
canNotSelectMultiple?: boolean
|
||||||
|
onSelectMultiple?: (type: BlockEnum, tools: ToolDefaultValue[]) => void
|
||||||
tools: ToolWithProvider[]
|
tools: ToolWithProvider[]
|
||||||
viewType: ViewType
|
viewType: ViewType
|
||||||
hasSearchText: boolean
|
hasSearchText: boolean
|
||||||
@ -28,6 +29,7 @@ type ToolsProps = {
|
|||||||
const Blocks = ({
|
const Blocks = ({
|
||||||
showWorkflowEmpty,
|
showWorkflowEmpty,
|
||||||
onSelect,
|
onSelect,
|
||||||
|
canNotSelectMultiple,
|
||||||
onSelectMultiple,
|
onSelectMultiple,
|
||||||
tools,
|
tools,
|
||||||
viewType,
|
viewType,
|
||||||
@ -109,6 +111,7 @@ const Blocks = ({
|
|||||||
isShowLetterIndex={isShowLetterIndex}
|
isShowLetterIndex={isShowLetterIndex}
|
||||||
hasSearchText={hasSearchText}
|
hasSearchText={hasSearchText}
|
||||||
onSelect={onSelect}
|
onSelect={onSelect}
|
||||||
|
canNotSelectMultiple={canNotSelectMultiple}
|
||||||
onSelectMultiple={onSelectMultiple}
|
onSelectMultiple={onSelectMultiple}
|
||||||
selectedTools={selectedTools}
|
selectedTools={selectedTools}
|
||||||
/>
|
/>
|
||||||
@ -117,6 +120,7 @@ const Blocks = ({
|
|||||||
payload={treeViewToolsData}
|
payload={treeViewToolsData}
|
||||||
hasSearchText={hasSearchText}
|
hasSearchText={hasSearchText}
|
||||||
onSelect={onSelect}
|
onSelect={onSelect}
|
||||||
|
canNotSelectMultiple={canNotSelectMultiple}
|
||||||
onSelectMultiple={onSelectMultiple}
|
onSelectMultiple={onSelectMultiple}
|
||||||
selectedTools={selectedTools}
|
selectedTools={selectedTools}
|
||||||
/>
|
/>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user