diff --git a/p.json b/p.json new file mode 100644 index 0000000..0844c5e --- /dev/null +++ b/p.json @@ -0,0 +1,82 @@ +{ + "process": { + "type": "OBJECT_DETECTION", + "selectProcess": { + "value": { + "_id": "675db885429ef25f8d2efaa2", + "script": "ls -l -a", + "formBuilder": { + "result": "", + "context": "", + "form": [], + "output": "", + "type": "formBuilder" + }, + "type": "OBJECT_DETECTION", + "instanceName": "ls -l -a", + "name": "ls", + "isEnd": true, + "createDate": "1734195300981", + "card": "pose_estimate", + "path": "/Users/idontsudo/webservice/server/build/public//process/ls", + "instancePath": "/Users/idontsudo/webservice/server/build/public//process/ls/ls -l -a", + "project": { + "_id": "675eb125281cf9253681efa3", + "description": "e1wq", + "rootDir": "/Users/idontsudo/webservice/server/build/public/f49f8f47-5427-48aa-8aff-c5e7ae4e6efe", + "isActive": true, + "__v": 0 + }, + "__v": 0, + "lastProcessExecCommand": "ls -l -a --path /Users/idontsudo/webservice/server/build/public/process/ls/ls -l -a --form /Users/idontsudo/webservice/server/build/public/process/ls/ls -l -a/form.json", + "processStatus": "endError", + "lastProcessLogs": "ls: unrecognized option `--path'nnusage: ls [-@ABCFGHILOPRSTUWabcdefghiklmnopqrstuvwxy1%,] [--color=when] [-D format] [file ...]n" + } + } + }, + "datasetObjects": { + "details": [] + }, + "typedataset": "ObjectDetection", + "models_randomization": { + "loc_range_low": [ + -1, + -1, + 0 + ], + "loc_range_high": [ + 1, + 1, + 2 + ] + }, + "scene": { + "objects": [], + "lights": [] + }, + "camera_position": { + "center_shell": [ + 0, + 0, + 0 + ], + "radius_range": [ + 1, + 1.4 + ], + "elevation_range": [ + 10, + 90 + ] + }, + "generation": { + "n_cam_pose": 5, + "n_sample_on_pose": 3, + "n_series": 100, + "image_format": "JPEG", + "image_size_wh": [ + 640, + 480 + ] + } +} \ No newline at end of file diff --git a/ui/src/core/ui/form_builder/forms/select_dataset/model/select_process_model.ts b/ui/src/core/ui/form_builder/forms/select_dataset/model/select_process_model.ts index f69343b..2dd31a3 100644 --- a/ui/src/core/ui/form_builder/forms/select_dataset/model/select_process_model.ts +++ b/ui/src/core/ui/form_builder/forms/select_dataset/model/select_process_model.ts @@ -1,12 +1,10 @@ -import { IsString } from "class-validator"; +import { IsObject, IsString } from "class-validator"; import { ValidationModel } from "../../../../../model/validation_model"; export class SelectProcessModel extends ValidationModel { @IsString() type: string; - @IsString() + @IsObject() selectProcess?: any; - @IsString() - process?: string; } \ No newline at end of file diff --git a/ui/src/core/ui/form_builder/forms/select_dataset/presentation/select_process.tsx b/ui/src/core/ui/form_builder/forms/select_dataset/presentation/select_process.tsx index 902bb18..3df5c18 100644 --- a/ui/src/core/ui/form_builder/forms/select_dataset/presentation/select_process.tsx +++ b/ui/src/core/ui/form_builder/forms/select_dataset/presentation/select_process.tsx @@ -7,6 +7,7 @@ import { useEffect } from "react"; import { SelectProcessModel } from "../model/select_process_model"; import { Loader } from "../../../../loader/loader"; import { CoreSelect } from "../../../../select/select"; +import { message } from "antd"; export const SelectProcess = observer((props: IFormBuilderComponentsProps) => { const [store] = useState(new SelectProcessStore()); @@ -22,11 +23,15 @@ export const SelectProcess = observer((props: IFormBuilderComponentsProps)
el.name)} - value={store.viewModel.selectProcess?.name} - label={`Процесс тип ${store.viewModel.type}`} - onChange={(value: string, index: number) => - store.updateForm({ selectProcess: store.calculationInstances.atR(index).map((el) => el) }) - } + value={store.viewModel?.selectProcess?.name ?? ""} + label={`Процесс тип ${store.viewModel?.type}`} + onChange={async (value: string, index: number) => ( + store.updateForm({ selectProcess: store.calculationInstances.atR(index).map((el) => el) }), + (await store.viewModel.valid()).fold( + (model) => props.onChange(model), + (error) => message.error(error) + ) + )} />
)} diff --git a/ui/src/core/ui/form_builder/forms/select_detail/presentation/select_detail_screen.tsx b/ui/src/core/ui/form_builder/forms/select_detail/presentation/select_detail_screen.tsx index 596b70e..145c670 100644 --- a/ui/src/core/ui/form_builder/forms/select_detail/presentation/select_detail_screen.tsx +++ b/ui/src/core/ui/form_builder/forms/select_detail/presentation/select_detail_screen.tsx @@ -1,21 +1,18 @@ - import React from "react"; import { IFormBuilderComponentsProps } from "../../form_builder_components"; import { observer } from "mobx-react-lite"; import { ListItem } from "./ui/list_item"; import { SelectDetailStore } from "./select_detail_store"; import { SelectDetailViewModel } from "../model/select_details_model"; -import { plainToInstance } from "class-transformer"; export const SelectDetail = observer((props: IFormBuilderComponentsProps) => { const [store] = React.useState(() => new SelectDetailStore()); React.useEffect(() => { - store.viewModel = new SelectDetailViewModel(props.dependency.details); store.isLoading = false; store.init(); }, []); - + return (
{store.isLoading ? ( diff --git a/ui/src/core/ui/form_builder/test.tsx b/ui/src/core/ui/form_builder/test.tsx index 54b6dea..1839520 100644 --- a/ui/src/core/ui/form_builder/test.tsx +++ b/ui/src/core/ui/form_builder/test.tsx @@ -39,8 +39,8 @@ export const FormBuildTest = observer(() => { { - console.log(e.output); - // console.log(JSON.stringify(e.output)) + // console.log(e.output); + console.log(JSON.stringify(e.output)) }} />