mirror of
https://github.com/hexastack/hexabot
synced 2025-06-26 18:27:28 +00:00
Merge 9f0f5b0c1d
into af639072ad
This commit is contained in:
commit
712aacab65
@ -29,7 +29,7 @@ export const NlpSampleForm: FC<ComponentFormProps<INlpDatasetSample>> = ({
|
||||
}) => {
|
||||
const { t } = useTranslate();
|
||||
const { toast } = useToast();
|
||||
const { mutate: updateSample } = useUpdate<
|
||||
const { mutate: updateSample, isLoading: isUpdatingSample } = useUpdate<
|
||||
EntityType.NLP_SAMPLE,
|
||||
INlpDatasetSampleAttributes
|
||||
>(EntityType.NLP_SAMPLE, {
|
||||
@ -63,7 +63,11 @@ export const NlpSampleForm: FC<ComponentFormProps<INlpDatasetSample>> = ({
|
||||
|
||||
return (
|
||||
<Wrapper onSubmit={() => {}} {...WrapperProps}>
|
||||
<NlpDatasetSample sample={data || undefined} submitForm={onSubmitForm} />
|
||||
<NlpDatasetSample
|
||||
sample={data || undefined}
|
||||
submitForm={onSubmitForm}
|
||||
isMutationLoading={isUpdatingSample}
|
||||
/>{" "}
|
||||
</Wrapper>
|
||||
);
|
||||
};
|
||||
|
@ -49,11 +49,13 @@ import { INlpValue } from "@/types/nlp-value.types";
|
||||
type NlpDatasetSampleProps = {
|
||||
sample?: INlpDatasetSample;
|
||||
submitForm: (params: INlpSampleFormAttributes) => void;
|
||||
isMutationLoading: boolean;
|
||||
};
|
||||
|
||||
const NlpDatasetSample: FC<NlpDatasetSampleProps> = ({
|
||||
sample,
|
||||
submitForm,
|
||||
isMutationLoading,
|
||||
}) => {
|
||||
const { t } = useTranslate();
|
||||
const { data: entities, refetch: refetchEntities } = useFind(
|
||||
@ -96,6 +98,7 @@ const NlpDatasetSample: FC<NlpDatasetSampleProps> = ({
|
||||
});
|
||||
const currentText = watch("text");
|
||||
const currentType = watch("type");
|
||||
const language = watch("language");
|
||||
const { apiClient } = useApiClient();
|
||||
const { fields: traitEntities, update: updateTraitEntity } = useFieldArray({
|
||||
control,
|
||||
@ -165,6 +168,17 @@ const NlpDatasetSample: FC<NlpDatasetSampleProps> = ({
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, [JSON.stringify(defaultValues)]);
|
||||
|
||||
const hasEmptyCurrentType = !currentType;
|
||||
const hasEmptyCurrentText = !currentText;
|
||||
const hasEmptyLanguage = !language;
|
||||
const hasEmptyTraitEntitesValue = traitEntities.some((e) => !e.value);
|
||||
const shouldDisableValidateButton =
|
||||
hasEmptyCurrentType ||
|
||||
hasEmptyCurrentText ||
|
||||
hasEmptyTraitEntitesValue ||
|
||||
hasEmptyLanguage ||
|
||||
isMutationLoading;
|
||||
|
||||
return (
|
||||
<Box className="nlp-train" sx={{ position: "relative", p: 2 }}>
|
||||
<form onSubmit={handleSubmit(onSubmitForm)}>
|
||||
@ -441,14 +455,7 @@ const NlpDatasetSample: FC<NlpDatasetSampleProps> = ({
|
||||
variant="contained"
|
||||
startIcon={<Check />}
|
||||
onClick={handleSubmit(onSubmitForm)}
|
||||
disabled={
|
||||
!(
|
||||
currentText !== "" &&
|
||||
currentType !== NlpSampleType.inbox &&
|
||||
traitEntities.every((e) => e.value !== "") &&
|
||||
keywordEntities.every((e) => e.value !== "")
|
||||
)
|
||||
}
|
||||
disabled={shouldDisableValidateButton}
|
||||
type="submit"
|
||||
>
|
||||
{t("button.validate")}
|
||||
|
@ -62,7 +62,7 @@ export const Nlp = ({
|
||||
};
|
||||
const { t } = useTranslate();
|
||||
const { toast } = useToast();
|
||||
const { mutate: createSample } = useCreate<
|
||||
const { mutate: createSample, isLoading } = useCreate<
|
||||
EntityType.NLP_SAMPLE,
|
||||
INlpDatasetSampleAttributes,
|
||||
INlpSample,
|
||||
@ -91,7 +91,10 @@ export const Nlp = ({
|
||||
<Grid container flexDirection="row">
|
||||
<Grid item xs={7}>
|
||||
<Paper>
|
||||
<NlpDatasetSample submitForm={onSubmitForm} />
|
||||
<NlpDatasetSample
|
||||
submitForm={onSubmitForm}
|
||||
isMutationLoading={isLoading}
|
||||
/>
|
||||
</Paper>
|
||||
</Grid>
|
||||
<Grid item xs={5} pl={2}>
|
||||
|
Loading…
Reference in New Issue
Block a user