fixed form builder object bug

This commit is contained in:
IDONTSUDO 2024-10-05 12:59:11 +03:00
parent 2b4795dfc2
commit c19e4c684e
6 changed files with 17 additions and 8 deletions

1
p.json Normal file
View file

@ -0,0 +1 @@
{"name": "default","collision_shape": "BOX","loc_xyz": [0, 0, 0],"rot_euler": [0,0, 0],"material_randomization": {   "specular": [0, 1],    "roughness": [0, 1],    "metallic": [0, 1],    "base_color": [        [            0,            0,            0,            1        ],        [            1,            1,            1,            1        ]    ]}}

View file

@ -2,7 +2,7 @@ import { makeAutoObservable, observable } from "mobx";
import { Result } from "../../helper/result";
import { v4 as uuidv4 } from "uuid";
import { FormBuilderValidationModel } from "../../model/form_builder_validation_model";
export enum InputType {
NUMBER = "number",
STRING = "string",
@ -158,7 +158,11 @@ export class FormViewModel {
}
}
}
if (inputResult instanceof Array) inputResult = JSON.stringify(inputResult.map((el) => JSON.parse(el)));
// if(inputResult instanceof Array) console.log(inputResult.map((el) => JSON.parse(el)))
if (inputResult instanceof Array)
inputResult = JSON.stringify(inputResult.map((el) => JSON.parse(el.replace(/[^\x00-\x7F]/g, ""))));
operations.push({ regExp: new RegExp("\\${" + element.name + ".*?}"), result: inputResult });
});

View file

@ -15,6 +15,7 @@ import { TemplateModelCard } from "./ui/template_model_card";
import { Icon } from "../../../core/ui/icons/icons";
import { useStore } from "../../../core/helper/use_store";
import { FormBuilderValidationModel } from "../../../core/model/form_builder_validation_model";
import { InputV2 } from "../../../core/ui/input/input_v2";
interface IItem {
name: string;
@ -144,15 +145,15 @@ export const CalculationInstanceScreen = observer(() => {
/>
<CoreInput label="Имя" onChange={(text) => store.updateForm({ name: text })} />
<CoreInput label="Команда для запуска" onChange={(text) => store.updateForm({ script: text })} />
<CoreInput
<InputV2
label="FormBuilder Result"
onChange={(text) => (store.viewModel.formBuilder.result = text)}
style={{ height: 200, overflow: "overlay" }}
// style={{ height: 200, overflow: "overlay" }}
/>
<CoreInput
<InputV2
label="FormBuilder Context"
onChange={(text) => (store.viewModel.formBuilder.context = text)}
style={{ height: 200, overflow: "overlay" }}
// style={{ height: 200, overflow: "overlay" }}
/>
<div style={{ height: 10 }} />
<CoreButton

View file

@ -96,7 +96,6 @@ export const datasetFormMockResult = `
"loc_range_low": [\${LOC_RANGE_LOW_1:number:-1}, \${LOC_RANGE_LOW_2:number:-1},\${LOC_RANGE_LOW_3:number:0}],
"loc_range_high": [\${LOC_RANGE_HIGH_1:number:1}, \${LOC_RANGE_HIGH_2:number:1},\${LOC_RANGE_HIGH_3:number:2}]
},
"selectParts":\${<SelectScene/>:OBJECT:{"details": []},
"scene":{
"objects": \${OBJECTS_SCENE:Array<OBJECTS_SCENE>:[]},
"lights": \${LIGHTS:Array<LIGHTS>:[]}

View file

@ -29,7 +29,7 @@ export const DigitalTwinsScreen = observer(() => {
onClick={() => store.editDrawer(DrawersDigitalTwin.newInstanceTwinTemplate, true)}
/>
</div>
<div>{store.digitalTwinsInstances?.map((el) => <>{el.name}</>)}</div>
<Drawer
width={(window.innerWidth / 100) * 50}
title={store.titleDrawer}

View file

@ -7,6 +7,8 @@ import { RouterProvider } from "react-router-dom";
import { router } from "./core/routers/routers";
import { configure } from "mobx";
import { ThemeStore } from "./core/store/theme_store";
import { FormBuilder } from "./core/ui/form_builder/form_builder";
import { FormBuilderValidationModel } from "./core/model/form_builder_validation_model";
configure({
enforceActions: "never",
@ -21,6 +23,8 @@ root.render(
<>
<SocketListener>
<RouterProvider router={router} />
</SocketListener>
</>
);