Browse Source

Feat: The operator is displayed only when the number of conditions is greater than 1 #3221 (#9077)

### What problem does this PR solve?

Feat: The operator is displayed only when the number of conditions is
greater than 1 #3221

### Type of change


- [x] New Feature (non-breaking change which adds functionality)
tags/v0.20.0
balibabu 3 months ago
parent
commit
28f7b33a74
No account linked to committer's email address

+ 14
- 11
web/src/pages/agent/form/retrieval-form/next.tsx View File

import { Collapse } from '@/components/collapse';
import { CrossLanguageFormField } from '@/components/cross-language-form-field'; import { CrossLanguageFormField } from '@/components/cross-language-form-field';
import { FormContainer } from '@/components/form-container'; import { FormContainer } from '@/components/form-container';
import { KnowledgeBaseFormField } from '@/components/knowledge-base-item'; import { KnowledgeBaseFormField } from '@/components/knowledge-base-item';
<QueryVariable></QueryVariable> <QueryVariable></QueryVariable>
<KnowledgeBaseFormField></KnowledgeBaseFormField> <KnowledgeBaseFormField></KnowledgeBaseFormField>
</FormContainer> </FormContainer>
<FormContainer>
<SimilaritySliderFormField
vectorSimilarityWeightName="keywords_similarity_weight"
isTooltipShown
></SimilaritySliderFormField>
<TopNFormField></TopNFormField>
<RerankFormFields></RerankFormFields>
<EmptyResponseField></EmptyResponseField>
<CrossLanguageFormField name="cross_languages"></CrossLanguageFormField>
<UseKnowledgeGraphFormField name="use_kg"></UseKnowledgeGraphFormField>
</FormContainer>
<Collapse title={<div>Advanced Settings</div>}>
<FormContainer>
<SimilaritySliderFormField
vectorSimilarityWeightName="keywords_similarity_weight"
isTooltipShown
></SimilaritySliderFormField>
<TopNFormField></TopNFormField>
<RerankFormFields></RerankFormFields>
<EmptyResponseField></EmptyResponseField>
<CrossLanguageFormField name="cross_languages"></CrossLanguageFormField>
<UseKnowledgeGraphFormField name="use_kg"></UseKnowledgeGraphFormField>
</FormContainer>
</Collapse>
<Output list={outputList}></Output> <Output list={outputList}></Output>
</FormWrapper> </FormWrapper>
</Form> </Form>

+ 28
- 22
web/src/pages/agent/form/switch-form/index.tsx View File

'relative bg-transparent border-input-border border flex-1 min-w-0', 'relative bg-transparent border-input-border border flex-1 min-w-0',
{ {
'before:w-10 before:absolute before:h-[1px] before:bg-input-border before:top-1/2 before:-left-10': 'before:w-10 before:absolute before:h-[1px] before:bg-input-border before:top-1/2 before:-left-10':
index === 0 || index === fields.length - 1,
fields.length > 1 &&
(index === 0 || index === fields.length - 1),
}, },
)} )}
> >
}} }}
> >
{fields.map((field, index) => { {fields.map((field, index) => {
const name = `${ConditionKey}.${index}`;
const conditions: Array<any> = form.getValues(`${name}.${ItemKey}`);
const conditionLength = conditions.length;
return ( return (
<FormContainer key={field.id} className=""> <FormContainer key={field.id} className="">
<div className="flex justify-between items-center"> <div className="flex justify-between items-center">
</Button> </Button>
)} )}
</div> </div>
<section className="flex gap-2 !mt-2 relative">
<section className="flex flex-col w-[72px]">
<div className="relative w-1 flex-1 before:absolute before:w-[1px] before:bg-input-border before:top-20 before:bottom-0 before:left-10"></div>
<FormField
control={form.control}
name={`${ConditionKey}.${index}.logical_operator`}
render={({ field }) => (
<FormItem>
<FormControl>
<RAGFlowSelect
{...field}
options={switchLogicOperatorOptions}
/>
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<div className="relative w-1 flex-1 before:absolute before:w-[1px] before:bg-input-border before:top-0 before:bottom-36 before:left-10"></div>
</section>
<section className="flex gap-2 !mt-2 relative">
{conditionLength > 1 && (
<section className="flex flex-col w-[72px]">
<div className="relative w-1 flex-1 before:absolute before:w-[1px] before:bg-input-border before:top-20 before:bottom-0 before:left-10"></div>
<FormField
control={form.control}
name={`${ConditionKey}.${index}.logical_operator`}
render={({ field }) => (
<FormItem>
<FormControl>
<RAGFlowSelect
{...field}
options={switchLogicOperatorOptions}
/>
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<div className="relative w-1 flex-1 before:absolute before:w-[1px] before:bg-input-border before:top-0 before:bottom-36 before:left-10"></div>
</section>
)}
<ConditionCards <ConditionCards
name={`${ConditionKey}.${index}`}
name={name}
removeParent={remove} removeParent={remove}
parentIndex={index} parentIndex={index}
parentLength={fields.length} parentLength={fields.length}

+ 14
- 11
web/src/pages/agent/form/tool-form/retrieval-form/index.tsx View File

import { Collapse } from '@/components/collapse';
import { CrossLanguageFormField } from '@/components/cross-language-form-field'; import { CrossLanguageFormField } from '@/components/cross-language-form-field';
import { FormContainer } from '@/components/form-container'; import { FormContainer } from '@/components/form-container';
import { KnowledgeBaseFormField } from '@/components/knowledge-base-item'; import { KnowledgeBaseFormField } from '@/components/knowledge-base-item';
<DescriptionField></DescriptionField> <DescriptionField></DescriptionField>
<KnowledgeBaseFormField></KnowledgeBaseFormField> <KnowledgeBaseFormField></KnowledgeBaseFormField>
</FormContainer> </FormContainer>
<FormContainer>
<SimilaritySliderFormField
vectorSimilarityWeightName="keywords_similarity_weight"
isTooltipShown
></SimilaritySliderFormField>
<TopNFormField></TopNFormField>
<RerankFormFields></RerankFormFields>
<EmptyResponseField></EmptyResponseField>
<CrossLanguageFormField name="cross_languages"></CrossLanguageFormField>
<UseKnowledgeGraphFormField name="use_kg"></UseKnowledgeGraphFormField>
</FormContainer>
<Collapse title={<div>Advanced Settings</div>}>
<FormContainer>
<SimilaritySliderFormField
vectorSimilarityWeightName="keywords_similarity_weight"
isTooltipShown
></SimilaritySliderFormField>
<TopNFormField></TopNFormField>
<RerankFormFields></RerankFormFields>
<EmptyResponseField></EmptyResponseField>
<CrossLanguageFormField name="cross_languages"></CrossLanguageFormField>
<UseKnowledgeGraphFormField name="use_kg"></UseKnowledgeGraphFormField>
</FormContainer>
</Collapse>
</form> </form>
</Form> </Form>
); );

Loading…
Cancel
Save