prasi-lib/comps/md/gen/md-gen.ts

39 lines
1.2 KiB
TypeScript
Executable File

import { formatName, GenFn } from "lib/gen/utils";
import { generateMDForm } from "./md-form";
import { generateMDList } from "./md-list";
import { getValueProp } from "lib/comps/form/gen/gen-rel";
import { getProp } from "lib/utils/get-prop";
import { propFromItem } from "lib/utils/diff-gen";
const w = window as any;
export const generateMasterDetail: GenFn<{
item: PrasiItem;
table: string;
fields: any;
}> = async (modify, data, arg) => {
const { item } = arg;
try {
const fn_title = new Function(
`return ${item.edit.props?.title?.value || "''"}`
);
const title = formatName(fn_title());
if (!title && item.edit.props?.gen_table) {
const table = { ...item.edit.props?.gen_table };
table.value = `${formatName(table.value as string)}`;
item.edit.setProp("title", table.value);
}
} catch (e) {}
if (!arg.fields && data?.gen_fields?.valueBuilt) {
eval(`arg.fields = ${data.gen_fields.valueBuilt}`);
}
if (!arg.table && data?.gen_table?.valueBuilt) {
eval(`arg.table = ${data.gen_table.valueBuilt}`);
}
await generateMDList(arg, data, false);
await generateMDForm(arg, data, false);
await item.edit.commit();
};