mirror of
https://github.com/langgenius/dify.git
synced 2026-04-25 09:36:40 +08:00
chore: can show popup
This commit is contained in:
parent
a41176b66d
commit
baa77d3cda
@ -271,6 +271,7 @@ const PromptEditor: FC<PromptEditorProps> = ({
|
|||||||
<>
|
<>
|
||||||
<HITLInputBlock />
|
<HITLInputBlock />
|
||||||
<HITLInputBlockReplacementBlock
|
<HITLInputBlockReplacementBlock
|
||||||
|
nodeId={hitlInputBlock.nodeId}
|
||||||
nodeTitle={hitlInputBlock.nodeTitle}
|
nodeTitle={hitlInputBlock.nodeTitle}
|
||||||
formInputs={hitlInputBlock.formInputs}
|
formInputs={hitlInputBlock.formInputs}
|
||||||
onFormInputsChange={hitlInputBlock.onFormInputsChange}
|
onFormInputsChange={hitlInputBlock.onFormInputsChange}
|
||||||
|
|||||||
@ -14,6 +14,7 @@ import { useBoolean } from 'ahooks'
|
|||||||
import Modal from '../../../modal'
|
import Modal from '../../../modal'
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
|
nodeId: string
|
||||||
nodeTitle: string
|
nodeTitle: string
|
||||||
varName: string
|
varName: string
|
||||||
isSelected: boolean
|
isSelected: boolean
|
||||||
@ -24,6 +25,7 @@ type Props = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const ComponentUI: FC<Props> = ({
|
const ComponentUI: FC<Props> = ({
|
||||||
|
nodeId,
|
||||||
nodeTitle,
|
nodeTitle,
|
||||||
varName,
|
varName,
|
||||||
// isSelected,
|
// isSelected,
|
||||||
@ -129,6 +131,7 @@ const ComponentUI: FC<Props> = ({
|
|||||||
className='max-w-[372px] !p-0'
|
className='max-w-[372px] !p-0'
|
||||||
>
|
>
|
||||||
<InputField
|
<InputField
|
||||||
|
nodeId={nodeId}
|
||||||
isEdit
|
isEdit
|
||||||
payload={formInput}
|
payload={formInput}
|
||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import produce from 'immer'
|
|||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
nodeKey: string
|
nodeKey: string
|
||||||
|
nodeId: string
|
||||||
nodeTitle: string
|
nodeTitle: string
|
||||||
varName: string
|
varName: string
|
||||||
formInputs?: FormInputItem[]
|
formInputs?: FormInputItem[]
|
||||||
@ -17,6 +18,7 @@ type Props = {
|
|||||||
|
|
||||||
const HITLInputComponent: FC<Props> = ({
|
const HITLInputComponent: FC<Props> = ({
|
||||||
nodeKey,
|
nodeKey,
|
||||||
|
nodeId,
|
||||||
nodeTitle,
|
nodeTitle,
|
||||||
varName,
|
varName,
|
||||||
formInputs = [],
|
formInputs = [],
|
||||||
@ -45,6 +47,7 @@ const HITLInputComponent: FC<Props> = ({
|
|||||||
className='w-full pb-1 pt-3'
|
className='w-full pb-1 pt-3'
|
||||||
>
|
>
|
||||||
<ComponentUi
|
<ComponentUi
|
||||||
|
nodeId={nodeId}
|
||||||
nodeTitle={nodeTitle}
|
nodeTitle={nodeTitle}
|
||||||
varName={varName}
|
varName={varName}
|
||||||
isSelected={isSelected}
|
isSelected={isSelected}
|
||||||
|
|||||||
@ -20,6 +20,7 @@ const REGEX = new RegExp(HITL_INPUT_REG)
|
|||||||
|
|
||||||
const HITLInputReplacementBlock = ({
|
const HITLInputReplacementBlock = ({
|
||||||
// onInsert,
|
// onInsert,
|
||||||
|
nodeId,
|
||||||
nodeTitle,
|
nodeTitle,
|
||||||
formInputs,
|
formInputs,
|
||||||
onFormInputsChange,
|
onFormInputsChange,
|
||||||
@ -37,6 +38,7 @@ const HITLInputReplacementBlock = ({
|
|||||||
const varName = textNode.getTextContent().split('.')[1].replace(/#}}$/, '')
|
const varName = textNode.getTextContent().split('.')[1].replace(/#}}$/, '')
|
||||||
return $applyNodeReplacement($createHITLInputNode(
|
return $applyNodeReplacement($createHITLInputNode(
|
||||||
varName,
|
varName,
|
||||||
|
nodeId,
|
||||||
nodeTitle,
|
nodeTitle,
|
||||||
formInputs || [],
|
formInputs || [],
|
||||||
onFormInputsChange!,
|
onFormInputsChange!,
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import type { FormInputItem } from '@/app/components/workflow/nodes/human-input/
|
|||||||
|
|
||||||
export type SerializedNode = SerializedLexicalNode & {
|
export type SerializedNode = SerializedLexicalNode & {
|
||||||
variableName: string
|
variableName: string
|
||||||
|
nodeId: string
|
||||||
nodeTitle: string
|
nodeTitle: string
|
||||||
formInputs: FormInputItem[]
|
formInputs: FormInputItem[]
|
||||||
onFormInputsChange: (inputs: FormInputItem[]) => void
|
onFormInputsChange: (inputs: FormInputItem[]) => void
|
||||||
@ -14,6 +15,7 @@ export type SerializedNode = SerializedLexicalNode & {
|
|||||||
|
|
||||||
export class HITLInputNode extends DecoratorNode<React.JSX.Element> {
|
export class HITLInputNode extends DecoratorNode<React.JSX.Element> {
|
||||||
__variableName: string
|
__variableName: string
|
||||||
|
__nodeId: string
|
||||||
__nodeTitle: string
|
__nodeTitle: string
|
||||||
__formInputs?: FormInputItem[]
|
__formInputs?: FormInputItem[]
|
||||||
__onFormInputsChange: (inputs: FormInputItem[]) => void
|
__onFormInputsChange: (inputs: FormInputItem[]) => void
|
||||||
@ -42,6 +44,11 @@ export class HITLInputNode extends DecoratorNode<React.JSX.Element> {
|
|||||||
return self.__nodeTitle
|
return self.__nodeTitle
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getNodeId(): string {
|
||||||
|
const self = this.getLatest()
|
||||||
|
return self.__nodeId
|
||||||
|
}
|
||||||
|
|
||||||
getFormInputs(): FormInputItem[] {
|
getFormInputs(): FormInputItem[] {
|
||||||
const self = this.getLatest()
|
const self = this.getLatest()
|
||||||
return self.__formInputs || []
|
return self.__formInputs || []
|
||||||
@ -65,6 +72,7 @@ export class HITLInputNode extends DecoratorNode<React.JSX.Element> {
|
|||||||
static clone(node: HITLInputNode): HITLInputNode {
|
static clone(node: HITLInputNode): HITLInputNode {
|
||||||
return new HITLInputNode(
|
return new HITLInputNode(
|
||||||
node.__variableName,
|
node.__variableName,
|
||||||
|
node.__nodeId,
|
||||||
node.__nodeTitle,
|
node.__nodeTitle,
|
||||||
node.__formInputs || [],
|
node.__formInputs || [],
|
||||||
node.__onFormInputsChange,
|
node.__onFormInputsChange,
|
||||||
@ -80,6 +88,7 @@ export class HITLInputNode extends DecoratorNode<React.JSX.Element> {
|
|||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
varName: string,
|
varName: string,
|
||||||
|
nodeId: string,
|
||||||
nodeTitle: string,
|
nodeTitle: string,
|
||||||
formInputs: FormInputItem[],
|
formInputs: FormInputItem[],
|
||||||
onFormInputsChange: (inputs: FormInputItem[]) => void,
|
onFormInputsChange: (inputs: FormInputItem[]) => void,
|
||||||
@ -90,6 +99,7 @@ export class HITLInputNode extends DecoratorNode<React.JSX.Element> {
|
|||||||
super(key)
|
super(key)
|
||||||
|
|
||||||
this.__variableName = varName
|
this.__variableName = varName
|
||||||
|
this.__nodeId = nodeId
|
||||||
this.__nodeTitle = nodeTitle
|
this.__nodeTitle = nodeTitle
|
||||||
this.__formInputs = formInputs
|
this.__formInputs = formInputs
|
||||||
this.__onFormInputsChange = onFormInputsChange
|
this.__onFormInputsChange = onFormInputsChange
|
||||||
@ -111,6 +121,7 @@ export class HITLInputNode extends DecoratorNode<React.JSX.Element> {
|
|||||||
return <HILTInputBlockComponent
|
return <HILTInputBlockComponent
|
||||||
nodeKey={this.getKey()}
|
nodeKey={this.getKey()}
|
||||||
varName={this.getVariableName()}
|
varName={this.getVariableName()}
|
||||||
|
nodeId={this.getNodeId()}
|
||||||
nodeTitle={this.getNodeTitle()}
|
nodeTitle={this.getNodeTitle()}
|
||||||
formInputs={this.getFormInputs()}
|
formInputs={this.getFormInputs()}
|
||||||
onChange={this.getOnFormInputsChange()}
|
onChange={this.getOnFormInputsChange()}
|
||||||
@ -122,6 +133,7 @@ export class HITLInputNode extends DecoratorNode<React.JSX.Element> {
|
|||||||
static importJSON(serializedNode: SerializedNode): HITLInputNode {
|
static importJSON(serializedNode: SerializedNode): HITLInputNode {
|
||||||
const node = $createHITLInputNode(
|
const node = $createHITLInputNode(
|
||||||
serializedNode.variableName,
|
serializedNode.variableName,
|
||||||
|
serializedNode.nodeId,
|
||||||
serializedNode.nodeTitle,
|
serializedNode.nodeTitle,
|
||||||
serializedNode.formInputs,
|
serializedNode.formInputs,
|
||||||
serializedNode.onFormInputsChange,
|
serializedNode.onFormInputsChange,
|
||||||
@ -137,6 +149,7 @@ export class HITLInputNode extends DecoratorNode<React.JSX.Element> {
|
|||||||
type: 'hitl-input-block',
|
type: 'hitl-input-block',
|
||||||
version: 1,
|
version: 1,
|
||||||
variableName: this.getVariableName(),
|
variableName: this.getVariableName(),
|
||||||
|
nodeId: this.getNodeId(),
|
||||||
nodeTitle: this.getNodeTitle(),
|
nodeTitle: this.getNodeTitle(),
|
||||||
formInputs: this.getFormInputs(),
|
formInputs: this.getFormInputs(),
|
||||||
onFormInputsChange: this.getOnFormInputsChange(),
|
onFormInputsChange: this.getOnFormInputsChange(),
|
||||||
@ -152,6 +165,7 @@ export class HITLInputNode extends DecoratorNode<React.JSX.Element> {
|
|||||||
|
|
||||||
export function $createHITLInputNode(
|
export function $createHITLInputNode(
|
||||||
variableName: string,
|
variableName: string,
|
||||||
|
nodeId: string,
|
||||||
nodeTitle: string,
|
nodeTitle: string,
|
||||||
formInputs: FormInputItem[],
|
formInputs: FormInputItem[],
|
||||||
onFormInputsChange: (inputs: FormInputItem[]) => void,
|
onFormInputsChange: (inputs: FormInputItem[]) => void,
|
||||||
@ -160,6 +174,7 @@ export function $createHITLInputNode(
|
|||||||
): HITLInputNode {
|
): HITLInputNode {
|
||||||
return new HITLInputNode(
|
return new HITLInputNode(
|
||||||
variableName,
|
variableName,
|
||||||
|
nodeId,
|
||||||
nodeTitle,
|
nodeTitle,
|
||||||
formInputs,
|
formInputs,
|
||||||
onFormInputsChange,
|
onFormInputsChange,
|
||||||
|
|||||||
@ -59,6 +59,7 @@ const PrePopulate: FC<Props> = ({
|
|||||||
value={valueSelector || []}
|
value={valueSelector || []}
|
||||||
onChange={onValueSelectorChange!}
|
onChange={onValueSelectorChange!}
|
||||||
readonly={false}
|
readonly={false}
|
||||||
|
zIndex={1000}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -72,9 +73,9 @@ const PrePopulate: FC<Props> = ({
|
|||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
{main}
|
{main}
|
||||||
<div className={cn('flex space-x-1 text-text-tertiary')}>
|
<div className={cn('flex items-center space-x-1 text-text-tertiary')} onClick={() => onIsVariableChange?.(!isVariable)}>
|
||||||
<Variable02 className='size-3.5' />
|
<Variable02 className='size-3.5' />
|
||||||
<div>{t(`${i18nPrefix}.useVarInstead`)}</div>
|
<div className='system-xs-medium'>{t(`${i18nPrefix}.useVarInstead`)}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
|||||||
@ -80,6 +80,7 @@ export type WorkflowVariableBlockType = {
|
|||||||
|
|
||||||
export type HITLInputBlockType = {
|
export type HITLInputBlockType = {
|
||||||
show?: boolean
|
show?: boolean
|
||||||
|
nodeId: string
|
||||||
nodeTitle: string
|
nodeTitle: string
|
||||||
formInputs?: FormInputItem[]
|
formInputs?: FormInputItem[]
|
||||||
onFormInputsChange?: (inputs: FormInputItem[]) => void
|
onFormInputsChange?: (inputs: FormInputItem[]) => void
|
||||||
|
|||||||
@ -53,6 +53,7 @@ const FormContent: FC<Props> = ({
|
|||||||
hitlInputBlock={{
|
hitlInputBlock={{
|
||||||
show: true,
|
show: true,
|
||||||
formInputs,
|
formInputs,
|
||||||
|
nodeId,
|
||||||
nodeTitle,
|
nodeTitle,
|
||||||
onFormInputsChange,
|
onFormInputsChange,
|
||||||
onFormInputItemRename,
|
onFormInputItemRename,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user