fixed alex error

This commit is contained in:
IDONTSUDO 2024-10-14 11:10:26 +03:00
parent 7693377ad1
commit 1ec2a3ff7a
2 changed files with 13 additions and 6 deletions

View file

@ -2,7 +2,7 @@ import * as React from "react";
import { FormViewModel, InputBuilderViewModel, InputType } from "./form_view_model"; import { FormViewModel, InputBuilderViewModel, InputType } from "./form_view_model";
import { observer } from "mobx-react-lite"; import { observer } from "mobx-react-lite";
import { FormBuilderStore } from "./form_builder_store"; import { FormBuilderStore } from "./form_builder_store";
import { CoreSelect } from "../select/select"; import { CoreSelect } from "../select/select";
import { CoreInput } from "../input/input"; import { CoreInput } from "../input/input";
import { Icon } from "../icons/icons"; import { Icon } from "../icons/icons";
import { CoreText, CoreTextType } from "../text/text"; import { CoreText, CoreTextType } from "../text/text";
@ -38,7 +38,7 @@ export const FormBuilder = observer((props: IFormBuilder) => {
<>Error</> <>Error</>
) : ( ) : (
<div> <div>
{store.formViewModel?.inputs?.map((element,index) => { {store.formViewModel?.inputs?.map((element, index) => {
if (element.type?.isEqual(InputType.ENUM)) { if (element.type?.isEqual(InputType.ENUM)) {
const values = element.values as string[]; const values = element.values as string[];
return ( return (
@ -104,6 +104,7 @@ export const FormBuilder = observer((props: IFormBuilder) => {
return ( return (
<div> <div>
<CoreInput <CoreInput
isFormBuilder={true}
style={{ margin: 5 }} style={{ margin: 5 }}
onChange={(e) => { onChange={(e) => {
store.changeTotalSubValue(element.id, subIndex, e); store.changeTotalSubValue(element.id, subIndex, e);
@ -136,6 +137,8 @@ export const FormBuilder = observer((props: IFormBuilder) => {
return ( return (
<div> <div>
<CoreInput <CoreInput
isFormBuilder={true}
validation={element.type.isEqual(InputType.NUMBER) ? (el) => Number().isValid(el) : undefined} validation={element.type.isEqual(InputType.NUMBER) ? (el) => Number().isValid(el) : undefined}
onChange={(e) => { onChange={(e) => {
store.changeTotalValue(element.id, e); store.changeTotalValue(element.id, e);

View file

@ -16,6 +16,7 @@ interface IInputProps extends IStyle {
type?: CoreInputType; type?: CoreInputType;
trim?: boolean; trim?: boolean;
styleContentEditable?: React.CSSProperties; styleContentEditable?: React.CSSProperties;
isFormBuilder?: boolean;
} }
export const CoreInput = (props: IInputProps) => { export const CoreInput = (props: IInputProps) => {
@ -29,12 +30,15 @@ export const CoreInput = (props: IInputProps) => {
} }
}, [ref, value, isAppendInnerText, setAppendInnerText, props]); }, [ref, value, isAppendInnerText, setAppendInnerText, props]);
React.useEffect(() => { React.useEffect(() => {
if (ref.current && props.value) { if (props.isFormBuilder === undefined) {
ref.current.innerText = value; if (ref.current && props.value) {
setValue(props.value); ref.current.innerText = value;
console.log(props.value); setValue(props.value);
console.log(props.value);
}
} }
}, [props.value]); }, [props.value]);
const isSmall = props.type !== undefined && props.type.isEqual(CoreInputType.small); const isSmall = props.type !== undefined && props.type.isEqual(CoreInputType.small);
return ( return (
<div <div