fix: can not choose error message in code gen

feat/enchance-prompt-and-code-fe
Joel 10 months ago
parent a5653f253a
commit e2512b0af9

@ -30,6 +30,7 @@ const InstructionEditor: FC<Props> = ({
const { t } = useTranslation() const { t } = useTranslation()
const controlPromptEditorRerenderKey = useStore(s => s.controlPromptEditorRerenderKey) const controlPromptEditorRerenderKey = useStore(s => s.controlPromptEditorRerenderKey)
const getVarType = useWorkflowVariableType() const getVarType = useWorkflowVariableType()
const isCode = generatorType === 'code'
const placeholder = ( const placeholder = (
<div className='system-sm-regular text-text-placeholder'> <div className='system-sm-regular text-text-placeholder'>
<div className='leading-6'>{t(`${i18nPrefix}.instructionPlaceHolderTitle`)}</div> <div className='leading-6'>{t(`${i18nPrefix}.instructionPlaceHolderTitle`)}</div>
@ -71,14 +72,14 @@ const InstructionEditor: FC<Props> = ({
return acc return acc
}, {} as any), }, {} as any),
}} }}
currentBlock = {{ currentBlock={{
show: true, show: true,
generatorType, generatorType,
}} }}
errorMessageBlock = {{ errorMessageBlock={{
show: true, show: isCode,
}} }}
lastRunBlock = {{ lastRunBlock={{
show: true, show: true,
}} }}
onChange={onChange} onChange={onChange}

@ -50,6 +50,7 @@ type ItemProps = {
isFlat?: boolean isFlat?: boolean
isInCodeGeneratorInstructionEditor?: boolean isInCodeGeneratorInstructionEditor?: boolean
zIndex?: number zIndex?: number
className?: string
} }
const objVarTypes = [VarType.object, VarType.file] const objVarTypes = [VarType.object, VarType.file]
@ -67,6 +68,7 @@ const Item: FC<ItemProps> = ({
isFlat, isFlat,
isInCodeGeneratorInstructionEditor, isInCodeGeneratorInstructionEditor,
zIndex, zIndex,
className,
}) => { }) => {
const isStructureOutput = itemData.type === VarType.object && (itemData.children as StructuredOutput)?.schema?.properties const isStructureOutput = itemData.type === VarType.object && (itemData.children as StructuredOutput)?.schema?.properties
const isFile = itemData.type === VarType.file && !isStructureOutput const isFile = itemData.type === VarType.file && !isStructureOutput
@ -75,7 +77,7 @@ const Item: FC<ItemProps> = ({
const isEnv = itemData.variable.startsWith('env.') const isEnv = itemData.variable.startsWith('env.')
const isChatVar = itemData.variable.startsWith('conversation.') const isChatVar = itemData.variable.startsWith('conversation.')
const flatVarIcon = useMemo(() => { const flatVarIcon = useMemo(() => {
if(!isFlat) if (!isFlat)
return null return null
const variable = itemData.variable const variable = itemData.variable
let Icon let Icon
@ -91,7 +93,7 @@ const Item: FC<ItemProps> = ({
}, [isFlat, isInCodeGeneratorInstructionEditor, itemData.variable]) }, [isFlat, isInCodeGeneratorInstructionEditor, itemData.variable])
const varName = useMemo(() => { const varName = useMemo(() => {
if(!isFlat) if (!isFlat)
return itemData.variable return itemData.variable
if (itemData.variable === 'current') if (itemData.variable === 'current')
return isInCodeGeneratorInstructionEditor ? 'current_code' : 'current_prompt' return isInCodeGeneratorInstructionEditor ? 'current_code' : 'current_prompt'
@ -153,7 +155,7 @@ const Item: FC<ItemProps> = ({
if (!isSupportFileVar && isFile) if (!isSupportFileVar && isFile)
return return
if(isFlat) { if (isFlat) {
onChange([itemData.variable], itemData) onChange([itemData.variable], itemData)
} }
else if (isSys || isEnv || isChatVar) { // system variable | environment variable | conversation variable else if (isSys || isEnv || isChatVar) { // system variable | environment variable | conversation variable
@ -175,7 +177,8 @@ const Item: FC<ItemProps> = ({
className={cn( className={cn(
(isObj || isStructureOutput) ? ' pr-1' : 'pr-[18px]', (isObj || isStructureOutput) ? ' pr-1' : 'pr-[18px]',
isHovering && ((isObj || isStructureOutput) ? 'bg-components-panel-on-panel-item-bg-hover' : 'bg-state-base-hover'), isHovering && ((isObj || isStructureOutput) ? 'bg-components-panel-on-panel-item-bg-hover' : 'bg-state-base-hover'),
'relative flex h-6 w-full cursor-pointer items-center rounded-md pl-3', 'relative flex h-6 w-full cursor-pointer items-center rounded-md pl-3',
className,
) )
} }
onClick={handleChosen} onClick={handleChosen}
@ -379,7 +382,7 @@ const VarReferenceVars: FC<Props> = ({
{ {
filteredVars.map((item, i) => ( filteredVars.map((item, i) => (
<div key={i} className={cn(!item.isFlat && 'mt-3')}> <div key={i} className={cn(!item.isFlat && 'mt-3', i === 0 && item.isFlat && 'mt-2')}>
{!item.isFlat && ( {!item.isFlat && (
<div <div
className='system-xs-medium-uppercase truncate px-3 leading-[22px] text-text-tertiary' className='system-xs-medium-uppercase truncate px-3 leading-[22px] text-text-tertiary'

Loading…
Cancel
Save