gomtm 0.0.340 → 0.0.342
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/curd/create/CurdCreatePanel.d.ts +3 -1
- package/dist/esm/curd/create/CurdCreatePanel.js +17 -4
- package/dist/esm/curd/create/useCurdCreate.d.ts +7 -0
- package/dist/esm/curd/create/useCurdCreate.js +25 -0
- package/dist/esm/curd/edit/CurdEditPanel.js +1 -3
- package/dist/esm/curd/listview/ListViewComponentsSetup.d.ts +1 -0
- package/dist/esm/curd/listview/ListViewComponentsSetup.js +9 -1
- package/dist/esm/curd/listview/list-store.d.ts +4 -0
- package/dist/esm/curd/listview/list-store.js +8 -2
- package/dist/esm/curd/remove/RemovePanel.d.ts +5 -0
- package/dist/esm/curd/remove/RemovePanel.js +28 -9
- package/dist/tsconfig.type.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
export default function CurdCreatePanel(
|
|
2
|
+
export default function CurdCreatePanel(props: {
|
|
3
|
+
fullScreen?: boolean;
|
|
4
|
+
}): import("react").JSX.Element | null;
|
|
3
5
|
export declare const CurdCreatePanelTriggerButton: () => import("react").JSX.Element;
|
|
@@ -1,12 +1,25 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { Fragment, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { flexRender } from "mtxuilib/lib/render";
|
|
3
4
|
import { Dialog, DialogContent, DialogTitle } from "mtxuilib/ui/dialog";
|
|
4
5
|
import { MtButton } from "mtxuilib/ui/ui-mt/Button";
|
|
6
|
+
import { FullScreenPanel } from "mtxuilib/ui/ui-mt/FullScreenEditPanel";
|
|
5
7
|
import { useListview } from "../listview/list-store";
|
|
6
|
-
function CurdCreatePanel() {
|
|
7
|
-
const
|
|
8
|
+
function CurdCreatePanel(props) {
|
|
9
|
+
const { fullScreen } = props;
|
|
8
10
|
const setOpenCreate = useListview((x) => x.setOpenCreate);
|
|
9
|
-
|
|
11
|
+
const openCreate = useListview((x) => x.openCreate);
|
|
12
|
+
const createRender = useListview((x) => x.createRender);
|
|
13
|
+
if (!openCreate) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
if (fullScreen) {
|
|
17
|
+
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(FullScreenPanel, { children: openCreate && createRender && flexRender(createRender, {}) }) });
|
|
18
|
+
}
|
|
19
|
+
return /* @__PURE__ */ jsx(Dialog, { open: openCreate, onOpenChange: setOpenCreate, children: /* @__PURE__ */ jsxs(DialogContent, { children: [
|
|
20
|
+
/* @__PURE__ */ jsx(DialogTitle, { children: " create " }),
|
|
21
|
+
openCreate && createRender && flexRender(createRender, {})
|
|
22
|
+
] }) });
|
|
10
23
|
}
|
|
11
24
|
const CurdCreatePanelTriggerButton = () => {
|
|
12
25
|
const openCreate = useListview((x) => x.openCreate);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FieldValues } from "react-hook-form";
|
|
2
|
+
export declare function useCurdCreateForm<TFieldValues extends FieldValues = FieldValues>(): {
|
|
3
|
+
form: import("react-hook-form").UseFormReturn<TFieldValues, any, undefined>;
|
|
4
|
+
handleSubmit: (values: any) => void;
|
|
5
|
+
detailData: any;
|
|
6
|
+
setOpenEdit: (openEdit: boolean) => void;
|
|
7
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useForm } from "react-hook-form";
|
|
3
|
+
import { useCurdCreateMutation, useListview } from "../listview/list-store";
|
|
4
|
+
function useCurdCreateForm() {
|
|
5
|
+
const detailData = useListview((x) => x.detailData);
|
|
6
|
+
const setOpenEdit = useListview((x) => x.setOpenEdit);
|
|
7
|
+
const mutationCreate = useCurdCreateMutation();
|
|
8
|
+
const form = useForm(
|
|
9
|
+
{
|
|
10
|
+
defaultValues: detailData
|
|
11
|
+
}
|
|
12
|
+
);
|
|
13
|
+
const handleSubmit = (values) => {
|
|
14
|
+
mutationCreate.mutateAsync(values);
|
|
15
|
+
};
|
|
16
|
+
return {
|
|
17
|
+
form,
|
|
18
|
+
handleSubmit,
|
|
19
|
+
detailData,
|
|
20
|
+
setOpenEdit
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
useCurdCreateForm
|
|
25
|
+
};
|
|
@@ -21,9 +21,7 @@ function CurdEditPanel(props) {
|
|
|
21
21
|
}
|
|
22
22
|
return /* @__PURE__ */ jsx(Dialog, { open: openEdit, onOpenChange: setOpenEdit, children: /* @__PURE__ */ jsxs(DialogContent, { children: [
|
|
23
23
|
/* @__PURE__ */ jsx(DialogTitle, { children: " Edit " }),
|
|
24
|
-
|
|
25
|
-
/* @__PURE__ */ jsx(MtButton, { onClick: () => {
|
|
26
|
-
}, children: "xxxxx" })
|
|
24
|
+
openEdit && editRender && flexRender(editRender, {})
|
|
27
25
|
] }) });
|
|
28
26
|
}
|
|
29
27
|
const WithLoadGetData = (props) => {
|
|
@@ -5,11 +5,19 @@ const ListViewSetupEditView = (props) => {
|
|
|
5
5
|
const { children } = props;
|
|
6
6
|
const setEditRender = useListview((x) => x.setEditRender);
|
|
7
7
|
useMemo(() => {
|
|
8
|
-
console.log("setEditRender", children == null ? void 0 : children.toString());
|
|
9
8
|
setEditRender(children);
|
|
10
9
|
}, [children, setEditRender]);
|
|
11
10
|
return null;
|
|
12
11
|
};
|
|
12
|
+
const ListViewSetupCreateView = (props) => {
|
|
13
|
+
const { children } = props;
|
|
14
|
+
const setCreateRender = useListview((x) => x.setCreateRender);
|
|
15
|
+
useMemo(() => {
|
|
16
|
+
setCreateRender(children);
|
|
17
|
+
}, [children, setCreateRender]);
|
|
18
|
+
return null;
|
|
19
|
+
};
|
|
13
20
|
export {
|
|
21
|
+
ListViewSetupCreateView,
|
|
14
22
|
ListViewSetupEditView
|
|
15
23
|
};
|
|
@@ -18,6 +18,8 @@ interface ListViewStateProps {
|
|
|
18
18
|
error?: any;
|
|
19
19
|
editRender?: Renderable<any>;
|
|
20
20
|
editorComponentName?: string;
|
|
21
|
+
createRender?: Renderable<any>;
|
|
22
|
+
createComponentName?: string;
|
|
21
23
|
}
|
|
22
24
|
export interface ListViewState extends ListViewStateProps {
|
|
23
25
|
openRemove: boolean;
|
|
@@ -30,6 +32,7 @@ export interface ListViewState extends ListViewStateProps {
|
|
|
30
32
|
setActivateItem: (activateItem: any) => void;
|
|
31
33
|
nextPage: () => void;
|
|
32
34
|
setEditRender: (a: Renderable<any>) => void;
|
|
35
|
+
setCreateRender: (a: Renderable<any>) => void;
|
|
33
36
|
setDetailData: (detailData: any) => void;
|
|
34
37
|
setEeditorComponentName: (editorComponentName: string) => void;
|
|
35
38
|
}
|
|
@@ -39,4 +42,5 @@ export declare const ListViewStoreProvider: (props: BearProviderProps) => import
|
|
|
39
42
|
export declare const ListView: (props: Omit<ComponentProps<typeof ListViewStoreProvider>, 'backendUrl'> & PropsWithChildren) => import("react").JSX.Element;
|
|
40
43
|
export declare function useListview<T>(selector: (state: ListViewState) => T): T;
|
|
41
44
|
export declare const useCurdUpdateMutation: () => import("@tanstack/react-query").UseMutationResult<any, Error, any, unknown>;
|
|
45
|
+
export declare const useCurdCreateMutation: () => import("@tanstack/react-query").UseMutationResult<any, Error, any, unknown>;
|
|
42
46
|
export {};
|
|
@@ -78,6 +78,7 @@ const createListviewStore = (initProps) => {
|
|
|
78
78
|
nextPage: () => {
|
|
79
79
|
},
|
|
80
80
|
setEditRender: (editRender) => set({ editRender }),
|
|
81
|
+
setCreateRender: (createRender) => set({ createRender }),
|
|
81
82
|
setDetailData: (detailData) => set({ detailData }),
|
|
82
83
|
setEeditorComponentName: (editorComponentName) => set({ editorComponentName })
|
|
83
84
|
}));
|
|
@@ -105,13 +106,18 @@ function useListview(selector) {
|
|
|
105
106
|
const useCurdUpdateMutation = () => {
|
|
106
107
|
const svc = useListview((x) => x.svc);
|
|
107
108
|
const methodUpdate = useListview((x) => x.methodUpdate);
|
|
108
|
-
|
|
109
|
-
|
|
109
|
+
return useGomtmMutation(svc, methodUpdate);
|
|
110
|
+
};
|
|
111
|
+
const useCurdCreateMutation = () => {
|
|
112
|
+
const svc = useListview((x) => x.svc);
|
|
113
|
+
const methodCreate = useListview((x) => x.methodCreate);
|
|
114
|
+
return useGomtmMutation(svc, methodCreate);
|
|
110
115
|
};
|
|
111
116
|
export {
|
|
112
117
|
ListView,
|
|
113
118
|
ListViewStoreProvider,
|
|
114
119
|
listViewContext,
|
|
120
|
+
useCurdCreateMutation,
|
|
115
121
|
useCurdUpdateMutation,
|
|
116
122
|
useListview
|
|
117
123
|
};
|
|
@@ -20,27 +20,46 @@ var __async = (__this, __arguments, generator) => {
|
|
|
20
20
|
});
|
|
21
21
|
};
|
|
22
22
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
23
|
+
import { useQueryClient } from "@tanstack/react-query";
|
|
24
|
+
import { useMtRouter } from "mtxuilib/hooks/use-router";
|
|
23
25
|
import { Dialog, DialogContent, DialogTitle } from "mtxuilib/ui/dialog";
|
|
24
26
|
import { MtButton } from "mtxuilib/ui/ui-mt/Button";
|
|
27
|
+
import { useCallback } from "react";
|
|
25
28
|
import { useGomtmMutation } from "../../gomtmQuery";
|
|
26
29
|
import { useListview } from "../listview/list-store";
|
|
27
|
-
|
|
30
|
+
function useCurdRemove() {
|
|
28
31
|
const svc = useListview((x) => x.svc);
|
|
29
32
|
const openRemove = useListview((x) => x.openRemove);
|
|
30
33
|
const setOpenRemove = useListview((x) => x.setOpenRemove);
|
|
31
34
|
const methodDelete = useListview((x) => x.methodDelete);
|
|
32
35
|
const mutation = useGomtmMutation(svc, methodDelete);
|
|
33
36
|
const activateItem = useListview((x) => x.activateItem);
|
|
34
|
-
|
|
37
|
+
const router = useMtRouter();
|
|
38
|
+
const queryClient = useQueryClient();
|
|
39
|
+
const handlerSubmit = useCallback(() => __async(this, null, function* () {
|
|
40
|
+
yield mutation.mutateAsync({
|
|
41
|
+
id: activateItem == null ? void 0 : activateItem.id
|
|
42
|
+
});
|
|
43
|
+
setOpenRemove(false);
|
|
44
|
+
router.refresh();
|
|
45
|
+
queryClient.invalidateQueries();
|
|
46
|
+
}), [activateItem == null ? void 0 : activateItem.id, mutation, queryClient, router, setOpenRemove]);
|
|
47
|
+
return {
|
|
48
|
+
handlerSubmit,
|
|
49
|
+
open: openRemove,
|
|
50
|
+
setOpen: setOpenRemove
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
const PanelRemove = () => {
|
|
54
|
+
const curdRemove = useCurdRemove();
|
|
55
|
+
return /* @__PURE__ */ jsx(Dialog, { open: curdRemove.open, onOpenChange: curdRemove.setOpen, children: /* @__PURE__ */ jsxs(DialogContent, { children: [
|
|
35
56
|
/* @__PURE__ */ jsx(DialogTitle, { children: "remove item" }),
|
|
36
|
-
/* @__PURE__ */ jsx(MtButton, { onClick: () =>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
});
|
|
40
|
-
setOpenRemove(false);
|
|
41
|
-
}), children: "ok" })
|
|
57
|
+
/* @__PURE__ */ jsx(MtButton, { onClick: () => {
|
|
58
|
+
curdRemove.handlerSubmit();
|
|
59
|
+
}, children: "ok" })
|
|
42
60
|
] }) });
|
|
43
61
|
};
|
|
44
62
|
export {
|
|
45
|
-
PanelRemove
|
|
63
|
+
PanelRemove,
|
|
64
|
+
useCurdRemove
|
|
46
65
|
};
|