This commit is contained in:
Rizky 2024-05-28 13:07:53 +00:00
parent 730fba3210
commit f418cb11d0
5 changed files with 88 additions and 126 deletions

View File

@ -69,9 +69,7 @@ export const TableList: FC<TableListProp> = ({
feature, feature,
filter_name, filter_name,
}) => { }) => {
console.log(`prasi_filter.${filter_name}`);
const where = get(w, `prasi_filter.${filter_name}`); const where = get(w, `prasi_filter.${filter_name}`);
console.log(w.prasi_filter);
if (mode === "auto") { if (mode === "auto") {
if (w.isMobile) { if (w.isMobile) {
mode = "list"; mode = "list";

View File

@ -13,27 +13,24 @@ export const generateMasterDetail: GenFn<{ item: PrasiItem, table: string, field
const {item} = arg; const {item} = arg;
// loading generate MD // loading generate MD
w.generating_prasi_md = { w.generating_prasi_md = {
master_detail: true, master_detail: true,
}; };
await generateList(arg, data); await generateList(arg, data);
// const result: any = {}; // const childs = item.edit.childs[0].edit.childs;
// modify(result);
const childs = item.edit.childs[0].edit.childs; // const master = childs.find(
// (e) => e.component?.id === "c68415ca-dac5-44fe-aeb6-936caf8cc491"
// );
const master = childs.find( // if (master) {
(e) => e.component?.id === "c68415ca-dac5-44fe-aeb6-936caf8cc491" // master.edit.setProp("on_init", {
); // mode: "raw",
// value: `async (text: string) => {
// }`,
// });
if (master) { // await master.edit.commit();
master.edit.setProp("on_init", { // }
mode: "raw",
value: `async (text: string) => {
}`,
});
await master.edit.commit();
}
}; };

View File

@ -5,114 +5,80 @@ export const generateList = async (
arg: { item: PrasiItem; table: string; fields: any }, arg: { item: PrasiItem; table: string; fields: any },
data: any data: any
) => { ) => {
console.log({ item: arg.item });
const item = arg.item; const item = arg.item;
const tab_master = item.edit.childs[0].edit.childs.find( const tab_master = item.edit.childs[0].edit.childs.find(
(e) => get(e, "component.id") === "c68415ca-dac5-44fe-aeb6-936caf8cc491" (e) => get(e, "component.id") === "c68415ca-dac5-44fe-aeb6-936caf8cc491"
); );
const childs = get(tab_master, "edit.props.child.value") as PrasiItem; tab_master?.edit.setChilds([
console.log({ tab_master }); {
const new_item = createItem({ type: "item",
name: "halo item", name: "item",
}); component: {
console.log({ item }); id: "567d5362-2cc8-4ca5-a531-f771a5c866c2",
const md = createItem({ props: {
component: { name: {
id: "567d5362-2cc8-4ca5-a531-f771a5c866c2", mode: "string",
props: { value: arg.table,
name: arg.table, },
gen_table: arg.table, generate: {
generate: "y", mode: "string",
on_load: "", value: "y",
row_click: "", },
selected: "", on_load: {
gen_fields: [JSON.stringify(arg.fields)], mode: "string",
child: { value: "",
childs: [], },
row_click: {
mode: "raw",
value: `\
({ row, rows, idx, event }: OnRowClick) => {
md.selected = row;
md.internal.action_should_refresh = true;
md.params.apply();
md.render();
};
type OnRowClick = {
row: any;
rows: any[];
idx: any;
event: React.MouseEvent<HTMLDivElement, MouseEvent>;
}
`,
},
selected: {
mode: "raw",
value: `\
({ row, rows, idx }: SelectedRow) => {
try {
if (typeof md === "object") {
if (Array.isArray(md.selected)) {
if (md.selected.length) {
let select = md.selected.find((e) => e === row)
if(select) return true
}
} else {
if (md.selected === row) {
return true;
}
}
}
} catch (e) {
}
return false;
};
type SelectedRow = {
row: any;
rows: any[];
idx: any;
}`,
},
}, },
}, },
}, },
}); ]);
console.log({ md });
console.log({ new_item });
// tab_master?.edit.setProp("child", {
// type: "jsx",
// value: new_item
// })
// console.log({new_item})
// childs.edit.childs.push(new_item);
console.log(`\
[${JSON.stringify(arg.fields)}]
`)
childs.edit.setChilds([{
type: "item",
name: "item",
component: {
id: "567d5362-2cc8-4ca5-a531-f771a5c866c2",
props: {
name: {
mode: "string",
value: arg.table
},
generate:{
mode: "string",
value: "y"
},
on_load: {
mode: "string",
value: ""
},
row_click: {
mode: "raw",
value:`\
({ row, rows, idx, event }: OnRowClick) => {
md.selected = row;
md.internal.action_should_refresh = true;
md.params.apply();
md.render();
};
type OnRowClick = {
row: any;
rows: any[];
idx: any;
event: React.MouseEvent<HTMLDivElement, MouseEvent>;
}
`
},
selected: {
mode: "raw",
value: `\
({ row, rows, idx }: SelectedRow) => {
try {
if (typeof md === "object") {
if (Array.isArray(md.selected)) {
if (md.selected.length) {
let select = md.selected.find((e) => e === row)
if(select) return true
}
} else {
if (md.selected === row) {
return true;
}
}
}
} catch (e) {
}
return false;
};
type SelectedRow = {
row: any;
rows: any[];
idx: any;
}`
},
},
}
}]);
await item.edit.commit(); await item.edit.commit();
// childs.edit.childs[0].edit.setProp("selected", { // childs.edit.childs[0].edit.setProp("selected", {
// mode: "raw", // mode: "raw",

View File

@ -24,10 +24,12 @@ export const MDRenderMaster: FC<{
size: width, size: width,
min_size: min_width, min_size: min_width,
}); });
md.panel.min_size = min_width; if (md.panel) {
md.panel.size = width; md.panel.min_size = min_width;
md.panel.size = width;
}
} }
return <>{child}</>; return <>{child}</>;
}; };

View File

@ -1,3 +1,4 @@
import get from "lodash.get";
import { MDLocal, MDProps, MDRef } from "./typings"; import { MDLocal, MDProps, MDRef } from "./typings";
export const editorMDInit = (md: MDLocal, mdr: MDRef, arg: MDProps) => { export const editorMDInit = (md: MDLocal, mdr: MDRef, arg: MDProps) => {
@ -18,10 +19,8 @@ export const editorMDInit = (md: MDLocal, mdr: MDRef, arg: MDProps) => {
md.props.gen_table = gen_table; md.props.gen_table = gen_table;
md.props.on_init = on_init; md.props.on_init = on_init;
if ( console.log(get(mdr, "master.edit.childs.0"));
!mdr.master || if (!mdr.master || (mdr.master && !get(mdr, "master.edit.childs.0.childs.length"))) {
(mdr.master && mdr.master.edit.childs[0].childs.length === 0)
) {
md.breadcrumb = [ md.breadcrumb = [
{ {
label: ( label: (