prasi-lib/comps/form/utils/gen-mitem.ts

51 lines
1.1 KiB
TypeScript
Executable File

import { newField } from "@/gen/gen_form/new_field";
import { FMLocal, FieldLocal } from "../typings";
import get from "lodash.get";
import { fieldMapping } from "../field/mapping";
import { createItem } from "@/gen/utils";
export const genFieldMitem = (arg: {
_meta: any;
_item: any;
_sync: any;
fm: FMLocal;
field: FieldLocal;
}) => {
const { _meta, _item, _sync, fm, field } = arg;
const m = _meta[_item.id];
if (m) {
const mitem = m.mitem;
if (mitem) {
const childs = mitem
.get("component")
?.get("props")
?.get("child")
?.get("content")
?.get("childs");
let component = fieldMapping[field.type as "text"];
if (!component) {
component = fieldMapping["text"];
}
if (component) {
const item = createItem({
component: component as any,
});
_sync(childs, [...childs.toJSON(), item]);
}
}
}
};
export const updateFieldMItem = (_meta: any, _item: any, _sync: any) => {
const m = _meta[_item.id];
if (m) {
const mitem = m.mitem;
if (mitem) {
_sync(mitem, _item);
}
}
};