fix title md
This commit is contained in:
parent
4c8ad76035
commit
b3eeaea11e
|
|
@ -25,15 +25,18 @@ export const MasterDetail: FC<MDProps> = (arg) => {
|
||||||
gen_table,
|
gen_table,
|
||||||
on_init,
|
on_init,
|
||||||
_item,
|
_item,
|
||||||
|
title,
|
||||||
} = arg;
|
} = arg;
|
||||||
const _ref = useRef({ PassProp, item: _item, childs: {} });
|
const _ref = useRef({ PassProp, item: _item, childs: {} });
|
||||||
const mdr = _ref.current;
|
const mdr = _ref.current;
|
||||||
const md = useLocal<MDLocalInternal>({
|
const md = useLocal<MDLocalInternal>({
|
||||||
name,
|
name,
|
||||||
|
title,
|
||||||
status: isEditor ? "init" : "ready",
|
status: isEditor ? "init" : "ready",
|
||||||
actions: [],
|
actions: [],
|
||||||
header: {
|
header: {
|
||||||
breadcrumb: [],
|
breadcrumb: [],
|
||||||
|
internalRender() {},
|
||||||
render: () => {},
|
render: () => {},
|
||||||
},
|
},
|
||||||
selected: null,
|
selected: null,
|
||||||
|
|
@ -98,8 +101,18 @@ export const MasterDetail: FC<MDProps> = (arg) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isEditor) {
|
||||||
|
useEffect(() => {
|
||||||
|
md.title = title;
|
||||||
|
md.header.render();
|
||||||
|
}, [title]);
|
||||||
|
}
|
||||||
return (
|
return (
|
||||||
<div className={cx("master-detail c-flex-1 c-flex-col c-flex c-w-full c-h-full")}>
|
<div
|
||||||
|
className={cx(
|
||||||
|
"master-detail c-flex-1 c-flex-col c-flex c-w-full c-h-full"
|
||||||
|
)}
|
||||||
|
>
|
||||||
{md.props.show_head === "always" && <MDHeader md={md} mdr={mdr} />}
|
{md.props.show_head === "always" && <MDHeader md={md} mdr={mdr} />}
|
||||||
{md.status === "ready" && (
|
{md.status === "ready" && (
|
||||||
<>
|
<>
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ export const generateMDForm = async (
|
||||||
() => {
|
() => {
|
||||||
const breads: BreadItem[] = [
|
const breads: BreadItem[] = [
|
||||||
{
|
{
|
||||||
label: "List ${formatName(arg.table)}",
|
label: md.title || "List ${formatName(arg.table)}",
|
||||||
onClick: () => {
|
onClick: () => {
|
||||||
md.selected = null;
|
md.selected = null;
|
||||||
md.tab.active = "master";
|
md.tab.active = "master";
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,16 @@ export const generateMasterDetail: GenFn<{
|
||||||
}> = async (modify, data, arg) => {
|
}> = async (modify, data, arg) => {
|
||||||
const { item } = arg;
|
const { item } = arg;
|
||||||
|
|
||||||
|
try {
|
||||||
|
const fn_title = new Function(
|
||||||
|
`return ${item.edit.props?.title?.value || "''"}`
|
||||||
|
);
|
||||||
|
const title = fn_title();
|
||||||
|
if (!title && item.edit.props?.gen_table) {
|
||||||
|
item.edit.setProp('title', item.edit.props?.gen_table)
|
||||||
|
}
|
||||||
|
} catch (e) {}
|
||||||
|
|
||||||
await generateList(arg, data, false);
|
await generateList(arg, data, false);
|
||||||
await generateMDForm(arg, data, false);
|
await generateMDForm(arg, data, false);
|
||||||
await item.edit.commit();
|
await item.edit.commit();
|
||||||
|
|
|
||||||
|
|
@ -113,7 +113,7 @@ idx: any;
|
||||||
value: `\
|
value: `\
|
||||||
() => {
|
() => {
|
||||||
return [
|
return [
|
||||||
{ label: "List ${formatName(arg.table)}" },
|
{ label: md.title || "List ${formatName(arg.table)}" },
|
||||||
] as BreadItem[];
|
] as BreadItem[];
|
||||||
};
|
};
|
||||||
type BreadItem = {
|
type BreadItem = {
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ export type MDProps = {
|
||||||
on_init: (md: MDLocal) => void;
|
on_init: (md: MDLocal) => void;
|
||||||
_item: PrasiItem;
|
_item: PrasiItem;
|
||||||
deps?: any[];
|
deps?: any[];
|
||||||
|
title: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type MDActions = {
|
export type MDActions = {
|
||||||
|
|
@ -34,6 +35,7 @@ export type MDActions = {
|
||||||
|
|
||||||
export type MDLocalInternal = {
|
export type MDLocalInternal = {
|
||||||
name: string;
|
name: string;
|
||||||
|
title: string;
|
||||||
status: "init" | "unready" | "ready";
|
status: "init" | "unready" | "ready";
|
||||||
header: {
|
header: {
|
||||||
breadcrumb: BreadItem[];
|
breadcrumb: BreadItem[];
|
||||||
|
|
@ -94,6 +96,7 @@ export type MDLocal = MDLocalInternal & { render: (force?: boolean) => void };
|
||||||
|
|
||||||
export const MasterDetailType = `const md = {
|
export const MasterDetailType = `const md = {
|
||||||
name: string;
|
name: string;
|
||||||
|
title: string;
|
||||||
status: string;
|
status: string;
|
||||||
header: {
|
header: {
|
||||||
render: () => void;
|
render: () => void;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue