@dashadmin/dash-auto-admin 1.3.25 → 1.3.28

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.
Files changed (177) hide show
  1. package/README.md +32 -6
  2. package/dist/DashAutoAdminComponentRegistry.js +64 -1
  3. package/dist/DashAutoAdminForm.js +137 -1
  4. package/dist/DashAutoAdminResizableDrawer.js +63 -1
  5. package/dist/DashAutoAdminSaveButton.js +57 -1
  6. package/dist/DashAutoCreate.js +102 -1
  7. package/dist/DashAutoDrawer.js +256 -1
  8. package/dist/DashAutoEdit.js +99 -1
  9. package/dist/DashAutoFiltersGenerator.js +193 -1
  10. package/dist/DashAutoFormGroups.js +118 -1
  11. package/dist/DashAutoFormLayout.js +68 -1
  12. package/dist/DashAutoFormMuiTabs.js +291 -1
  13. package/dist/DashAutoFormTabs.js +132 -1
  14. package/dist/DashAutoGroup.js +27 -1
  15. package/dist/DashAutoLayout.js +31 -1
  16. package/dist/DashAutoList.js +218 -1
  17. package/dist/DashAutoPostFilterForm.js +47 -1
  18. package/dist/DashAutoReferenceTab.js +10 -1
  19. package/dist/DashAutoResource.js +77 -1
  20. package/dist/DashAutoResourceLayout.js +16 -1
  21. package/dist/DashAutoShow.js +195 -1
  22. package/dist/DashAutoTabbedForm.js +244 -1
  23. package/dist/DashAutoTabbedForm.review.js +221 -1
  24. package/dist/DashAutoTabs.js +11 -1
  25. package/dist/DashFilterWrapper.js +62 -1
  26. package/dist/DashRedirect.js +56 -1
  27. package/dist/TabbedLayout.js +38 -1
  28. package/dist/common/DashAutoTitle.js +33 -1
  29. package/dist/common/components/FabButton.js +59 -1
  30. package/dist/common/components/TranslatedLabel.js +60 -1
  31. package/dist/common/settings/Settings.js +196 -1
  32. package/dist/common/settings/SettingsBarIcons.js +61 -1
  33. package/dist/context/DashAutoAdminFormContext.js +15 -1
  34. package/dist/hooks/useAutoAdminLoadingStateMediator.js +36 -1
  35. package/dist/hooks/useAutoAdminTranslate.js +61 -1
  36. package/dist/hooks/useHash.js +24 -1
  37. package/dist/hooks/useLogger.js +20 -1
  38. package/dist/hooks/useRoutePathPattern.js +20 -1
  39. package/dist/hooks/useVirtualHash.js +28 -1
  40. package/dist/index.js +77 -3406
  41. package/dist/list/DashAutoListActions.js +57 -1
  42. package/dist/list/DashAutoListDatagridWrapper.js +68 -1
  43. package/dist/list/DashAutoListDefaultActionsWrapper.js +14 -1
  44. package/dist/list/DashAutoListFilterFormWithButton.js +80 -1
  45. package/dist/list/DashAutoListTopToolbar.js +180 -1
  46. package/dist/mui/AttributeToField.js +576 -1
  47. package/dist/mui/AttributeToInput.js +630 -1
  48. package/dist/mui/AutoAdminResizableDrawer.js +63 -1
  49. package/dist/mui/AutoDataGrid.js +120 -1
  50. package/dist/mui/AutoReferenceFormTab.js +53 -1
  51. package/dist/mui/AutoReferenceTab.js +46 -1
  52. package/dist/mui/AutoTabs.js +19 -1
  53. package/dist/mui/components/ExtendedPagination.js +34 -1
  54. package/dist/mui/components/ListStringField.js +25 -1
  55. package/dist/providers/DashAuthProvider.js +215 -1
  56. package/dist/providers/DashDataProvider.js +310 -1
  57. package/dist/providers/index.js +10 -1
  58. package/dist/react-admin.d.js +0 -0
  59. package/dist/toolbar/buttons/BottomToolbarButtons.js +65 -1
  60. package/dist/toolbar/buttons/DashResourceButton.js +181 -1
  61. package/dist/toolbar/buttons/ListButtons.js +80 -1
  62. package/dist/toolbar/buttons/ToolbarButtons.js +135 -1
  63. package/dist/types/ActionCallback.d.js +0 -0
  64. package/dist/utils/SimpleLogger.js +52 -1
  65. package/dist/utils/enumToChoices.js +5 -1
  66. package/dist/utils/evalActionPermission.js +11 -1
  67. package/dist/utils/groupByTabs.js +21 -1
  68. package/dist/utils/hashedGroupByTabs.js +12 -1
  69. package/dist/utils/invertMap.js +12 -1
  70. package/dist/utils/isClassComponent.js +7 -1
  71. package/dist/utils/isComponent.js +29 -1
  72. package/dist/utils/isEnum.js +5 -1
  73. package/dist/utils/isFC.js +8 -1
  74. package/dist/utils/replaceParams.js +9 -1
  75. package/dist/utils/validate.js +19 -1
  76. package/dist/wrappers/UserAction.js +60 -1
  77. package/dist/wrappers/index.js +4 -1
  78. package/package.json +134 -120
  79. package/src/DashAutoAdminComponentRegistry.tsx +75 -0
  80. package/src/DashAutoAdminForm.tsx +155 -0
  81. package/src/DashAutoAdminResizableDrawer.tsx +69 -0
  82. package/src/DashAutoAdminSaveButton.tsx +116 -0
  83. package/src/DashAutoCreate.tsx +118 -0
  84. package/src/DashAutoDrawer.tsx +288 -0
  85. package/src/DashAutoEdit.tsx +109 -0
  86. package/src/DashAutoFiltersGenerator.tsx +208 -0
  87. package/src/DashAutoFormGroups.tsx +146 -0
  88. package/src/DashAutoFormLayout.tsx.review +113 -0
  89. package/src/DashAutoFormMuiTabs.tsx +368 -0
  90. package/src/DashAutoFormTabs.tsx +177 -0
  91. package/src/DashAutoGroup.tsx +42 -0
  92. package/src/DashAutoLayout.tsx +57 -0
  93. package/src/DashAutoList.tsx +237 -0
  94. package/src/DashAutoPostFilterForm.tsx +35 -0
  95. package/src/DashAutoReferenceTab.tsx +9 -0
  96. package/src/DashAutoResource.tsx +85 -0
  97. package/src/DashAutoResourceLayout.tsx +50 -0
  98. package/src/DashAutoShow.tsx +200 -0
  99. package/src/DashAutoTabbedForm.review.tsx +262 -0
  100. package/src/DashAutoTabbedForm.tsx +324 -0
  101. package/src/DashAutoTabs.tsx +19 -0
  102. package/src/DashFilterWrapper.tsx +43 -0
  103. package/src/DashRedirect.tsx +46 -0
  104. package/src/TabbedLayout.tsx +29 -0
  105. package/src/common/DashAutoTitle.tsx +24 -0
  106. package/src/common/components/FabButton.tsx +40 -0
  107. package/src/common/components/TranslatedLabel.tsx +81 -0
  108. package/src/common/settings/Settings.tsx +236 -0
  109. package/src/common/settings/SettingsBarIcons.tsx +72 -0
  110. package/src/context/DashAutoAdminFormContext.tsx +31 -0
  111. package/src/hooks/useAutoAdminLoadingStateMediator.tsx +42 -0
  112. package/src/hooks/useAutoAdminTranslate.tsx +106 -0
  113. package/src/hooks/useHash.tsx +27 -0
  114. package/src/hooks/useLogger.tsx +23 -0
  115. package/src/hooks/useRoutePathPattern.tsx +24 -0
  116. package/src/hooks/useVirtualHash.tsx +34 -0
  117. package/src/index.ts +85 -0
  118. package/src/interfaces/ICustomResourceSubComponent.ts +11 -0
  119. package/src/interfaces/IDashApplicationLayoutMainAction.ts +37 -0
  120. package/src/interfaces/IDashApplicationLayoutMenuItem.ts +24 -0
  121. package/src/interfaces/IDashAutoAdminAttribute.ts +104 -0
  122. package/src/interfaces/IDashAutoAdminCustomFieldComponent.ts +18 -0
  123. package/src/interfaces/IDashAutoAdminFormOptions.ts +22 -0
  124. package/src/interfaces/IDashAutoAdminListActions.ts +13 -0
  125. package/src/interfaces/IDashAutoAdminReference.ts +16 -0
  126. package/src/interfaces/IDashAutoAdminResourceConfig.ts +360 -0
  127. package/src/interfaces/IDashAutoForm.ts +24 -0
  128. package/src/interfaces/IDashAutoGridButton.ts +35 -0
  129. package/src/interfaces/IDashAutoShow.ts +12 -0
  130. package/src/interfaces/IGroupExtraData.ts +8 -0
  131. package/src/interfaces/IRecord.ts +7 -0
  132. package/src/interfaces/IReferenceFilter.ts +55 -0
  133. package/src/interfaces/IResourceComponent.ts +8 -0
  134. package/src/interfaces/IToolbarButton.ts +11 -0
  135. package/src/list/DashAutoListActions.tsx +88 -0
  136. package/src/list/DashAutoListDatagridWrapper.tsx +74 -0
  137. package/src/list/DashAutoListDefaultActionsWrapper.tsx +31 -0
  138. package/src/list/DashAutoListFilterFormWithButton.tsx +93 -0
  139. package/src/list/DashAutoListTopToolbar.tsx +240 -0
  140. package/src/mui/AttributeToField.tsx +657 -0
  141. package/src/mui/AttributeToInput.tsx +728 -0
  142. package/src/mui/AutoAdminResizableDrawer.tsx +69 -0
  143. package/src/mui/AutoDataGrid.tsx +127 -0
  144. package/src/mui/AutoReferenceFormTab.tsx +51 -0
  145. package/src/mui/AutoReferenceTab.tsx +45 -0
  146. package/src/mui/AutoTabs.tsx +32 -0
  147. package/src/mui/components/ExtendedPagination.tsx +23 -0
  148. package/src/mui/components/ListStringField.tsx +32 -0
  149. package/src/providers/DashAuthProvider.ts +341 -0
  150. package/src/providers/DashDataProvider.ts +466 -0
  151. package/src/providers/index.ts +17 -0
  152. package/src/toolbar/buttons/BottomToolbarButtons.tsx +59 -0
  153. package/src/toolbar/buttons/DashResourceButton.tsx +223 -0
  154. package/src/toolbar/buttons/ListButtons.tsx +137 -0
  155. package/src/toolbar/buttons/ToolbarButtons.tsx +186 -0
  156. package/src/utils/SimpleLogger.tsx +46 -0
  157. package/src/utils/enumToChoices.tsx +3 -0
  158. package/src/utils/evalActionPermission.tsx +14 -0
  159. package/src/utils/groupByTabs.tsx +23 -0
  160. package/src/utils/hashedGroupByTabs.tsx +16 -0
  161. package/src/utils/invertMap.tsx +10 -0
  162. package/src/utils/isClassComponent.tsx +9 -0
  163. package/src/utils/isComponent.tsx +45 -0
  164. package/src/utils/isEnum.tsx +3 -0
  165. package/src/utils/isFC.tsx +6 -0
  166. package/src/utils/replaceParams.tsx +6 -0
  167. package/src/utils/validate.tsx +24 -0
  168. package/src/wrappers/UserAction.tsx +67 -0
  169. package/src/wrappers/index.tsx +1 -0
  170. /package/{dist → src}/DashAutoAdminSaveButton.tsx.bkup +0 -0
  171. /package/{dist/DashAutoFormLayout.tsx.review → src/DashAutoFormLayout.tsx} +0 -0
  172. /package/{dist → src}/DashAutoFormTabs.review +0 -0
  173. /package/{dist → src}/DashAutoFormTabs.tsx.formcontext.wip +0 -0
  174. /package/{dist → src}/mui/AttributeToField.tsx.review +0 -0
  175. /package/{dist → src}/mui/AttributeToInput.tsx.review +0 -0
  176. /package/{dist → src}/react-admin.d.ts +0 -0
  177. /package/{dist → src}/types/ActionCallback.d.ts +0 -0
package/README.md CHANGED
@@ -1,9 +1,35 @@
1
- # useful commands
1
+ # @dashadmin/dash-auto-admin
2
2
 
3
- yarn lint:check - performs a prettier check
4
- yarn lint:fix - performs a prettier fix
5
- yarn lint - perform an eslint check, including prettier rules
3
+ > Schema-driven auto-generation of admin CRUD views.
6
4
 
7
- # Requirements
5
+ ## Overview
8
6
 
9
- npm install -g @commitlint/cli @commitlint/config-conventional
7
+ Generates List, Create, Edit, Drawer and dynamic Form layouts (groups, tabs) from resource configuration, dramatically reducing hand-written CRUD screens.
8
+
9
+ ## Key exports & features
10
+
11
+ - `DashAutoList`, `DashAutoCreate`, `DashAutoEdit`, `DashAutoDrawer`
12
+ - `DashAutoAdminForm` with form groups, tabs and layouts
13
+ - Config-driven fields and validation
14
+
15
+ ## Installation
16
+
17
+ ```bash
18
+ # From the public npm registry
19
+ npm install @dashadmin/dash-auto-admin
20
+
21
+ # Or the local Verdaccio registry (unscoped)
22
+ npm install dash-auto-admin --registry http://localhost:4873
23
+ ```
24
+
25
+ ## Internal Dash dependencies
26
+
27
+ `@dashadmin/dash-constants`, `@dashadmin/dash-dialog`
28
+
29
+ ## Development & publishing
30
+
31
+ This package is part of the **dash-frontend-core** monorepo. See [`DEVELOPMENT.md`](../../DEVELOPMENT.md) for the source-modification workflow, local Verdaccio publishing, npm publishing and version-bump policy.
32
+
33
+ ---
34
+
35
+ _Part of the [Dash Framework](https://www.npmjs.com/org/dashadmin) · `@dashadmin` scope._
@@ -1 +1,64 @@
1
- import{jsx as g}from"react/jsx-runtime";import o,{createContext as a,useContext as R}from"react";const s={},i=a({components:s,registerComponent:()=>{},registerComponents:()=>{}}),y=()=>R(i),h=({children:C,customComponents:e={}})=>{const[m,n]=o.useState({...s,...e});o.useEffect(()=>{e&&Object.keys(e).length>0&&n(t=>({...t,...e}))},[e]);const p=o.useCallback((t,r)=>{n(c=>({...c,[t]:r}))},[]),d=o.useCallback(t=>{n(r=>({...r,...t}))},[]);return g(i.Provider,{value:{components:m,registerComponent:p,registerComponents:d},children:C})};export{h as ComponentRegistryProvider,y as useComponentRegistry};
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import { jsx } from "react/jsx-runtime";
21
+ import React, { createContext, useContext } from "react";
22
+ const defaultComponentMap = {};
23
+ const ComponentRegistryContext = createContext({
24
+ components: defaultComponentMap,
25
+ registerComponent: () => {
26
+ },
27
+ registerComponents: () => {
28
+ }
29
+ });
30
+ const useComponentRegistry = () => useContext(ComponentRegistryContext);
31
+ const ComponentRegistryProvider = ({
32
+ children,
33
+ customComponents = {}
34
+ }) => {
35
+ const [components, setComponents] = React.useState(__spreadValues(__spreadValues({}, defaultComponentMap), customComponents));
36
+ React.useEffect(() => {
37
+ if (customComponents && Object.keys(customComponents).length > 0) {
38
+ setComponents((prev) => __spreadValues(__spreadValues({}, prev), customComponents));
39
+ }
40
+ }, [customComponents]);
41
+ const registerComponent = React.useCallback((type, component) => {
42
+ setComponents((prev) => __spreadProps(__spreadValues({}, prev), {
43
+ [type]: component
44
+ }));
45
+ }, []);
46
+ const registerComponents = React.useCallback((componentMap) => {
47
+ setComponents((prev) => __spreadValues(__spreadValues({}, prev), componentMap));
48
+ }, []);
49
+ return /* @__PURE__ */ jsx(
50
+ ComponentRegistryContext.Provider,
51
+ {
52
+ value: {
53
+ components,
54
+ registerComponent,
55
+ registerComponents
56
+ },
57
+ children
58
+ }
59
+ );
60
+ };
61
+ export {
62
+ ComponentRegistryProvider,
63
+ useComponentRegistry
64
+ };
@@ -1 +1,137 @@
1
- import{jsx as t,jsxs as B}from"react/jsx-runtime";import{Box as b}from"@mui/material";import{useResourceContext as p,useRecordContext as v,Toolbar as y,SimpleForm as A}from"react-admin";import S from"./utils/validate";import{ToolbarCreateButton as D,ToolbarDeleteButton as C,ToolbarSaveButton as E}from"./toolbar/buttons/ToolbarButtons";import{useDataProvider as F}from"react-admin";import{DashAutoAdminFormProvider as R}from"./context/DashAutoAdminFormContext";const T=({resourceConfig:r,onSubmit:l,beforeSubmit:n,onError:i,toolbar:h,mode:d,children:g})=>{const s=p(),f=v(),m=F(),a=!1,u=async e=>{a&&console.log("onCreateSave called with values:",e),window.dispatchEvent(new MessageEvent("dash-global-loader",{data:!0}));try{n&&(a&&console.log("beforeSubmit called with values:",e),e=n(e),a&&console.log("beforeSubmit returned values:",e));const{data:o}=await m.create(s,{data:e});a&&console.log("dataProvider.create returned data:",o),l&&(a&&console.log("onSubmit called with data:",o),l(o))}catch(o){i&&(a&&console.log("onError called with error:",o),i(o))}finally{window.dispatchEvent(new MessageEvent("dash-global-loader",{data:!1}))}},w=async e=>{a&&console.log("onUpdateSave called with values:",e),window.dispatchEvent(new MessageEvent("dash-global-loader",{data:!0}));try{n&&(a&&console.log("beforeSubmit called with values:",e),e=n(e),a&&console.log("beforeSubmit returned values:",e));const{data:o}=await m.update(s,{id:f?.id,data:e,previousData:f});a&&console.log("dataProvider.update returned data:",o),l&&(a&&console.log("onSubmit called with data:",o),l(o))}catch(o){i&&(a&&console.log("onError called with error:",o),i(o))}finally{window.dispatchEvent(new MessageEvent("dash-global-loader",{data:!1}))}};let c=u;switch(d){case"edit":c=w;break;case"create":c=u;break}return t(R,{value:{onSave:c,mode:d},children:t(b,{children:t(A,{toolbar:h||B(y,{children:[d==="edit"&&t(E,{resourceConfig:r}),d==="create"&&t(D,{resourceConfig:r}),t(C,{resourceConfig:r})]}),onSubmit:c,validate:S(r.schema),reValidateMode:"onBlur",children:g})})})};var K=T;export{K as default};
1
+ var __async = (__this, __arguments, generator) => {
2
+ return new Promise((resolve, reject) => {
3
+ var fulfilled = (value) => {
4
+ try {
5
+ step(generator.next(value));
6
+ } catch (e) {
7
+ reject(e);
8
+ }
9
+ };
10
+ var rejected = (value) => {
11
+ try {
12
+ step(generator.throw(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ };
17
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
+ step((generator = generator.apply(__this, __arguments)).next());
19
+ });
20
+ };
21
+ import { jsx, jsxs } from "react/jsx-runtime";
22
+ import { Box } from "@mui/material";
23
+ import {
24
+ useResourceContext,
25
+ useRecordContext,
26
+ Toolbar,
27
+ SimpleForm
28
+ } from "react-admin";
29
+ import validate from "./utils/validate";
30
+ import { ToolbarCreateButton, ToolbarDeleteButton, ToolbarSaveButton } from "./toolbar/buttons/ToolbarButtons";
31
+ import { useDataProvider } from "react-admin";
32
+ import { DashAutoAdminFormProvider } from "./context/DashAutoAdminFormContext";
33
+ const DashAutoAdminForm = ({
34
+ resourceConfig,
35
+ onSubmit,
36
+ beforeSubmit,
37
+ onError,
38
+ //onCancel,
39
+ toolbar,
40
+ mode,
41
+ children
42
+ }) => {
43
+ const resource = useResourceContext();
44
+ const record = useRecordContext();
45
+ const dataProvider = useDataProvider();
46
+ const debug = false;
47
+ const onCreateSave = (values) => __async(null, null, function* () {
48
+ if (debug) console.log("onCreateSave called with values:", values);
49
+ window.dispatchEvent(
50
+ new MessageEvent("dash-global-loader", { data: true })
51
+ );
52
+ try {
53
+ if (beforeSubmit) {
54
+ if (debug) console.log("beforeSubmit called with values:", values);
55
+ values = beforeSubmit(values);
56
+ if (debug) console.log("beforeSubmit returned values:", values);
57
+ }
58
+ const { data } = yield dataProvider.create(resource, {
59
+ data: values
60
+ });
61
+ if (debug) console.log("dataProvider.create returned data:", data);
62
+ if (onSubmit) {
63
+ if (debug) console.log("onSubmit called with data:", data);
64
+ onSubmit(data);
65
+ }
66
+ } catch (error) {
67
+ if (onError) {
68
+ if (debug) console.log("onError called with error:", error);
69
+ onError(error);
70
+ }
71
+ } finally {
72
+ window.dispatchEvent(
73
+ new MessageEvent("dash-global-loader", { data: false })
74
+ );
75
+ }
76
+ });
77
+ const onUpdateSave = (values) => __async(null, null, function* () {
78
+ if (debug) console.log("onUpdateSave called with values:", values);
79
+ window.dispatchEvent(
80
+ new MessageEvent("dash-global-loader", { data: true })
81
+ );
82
+ try {
83
+ if (beforeSubmit) {
84
+ if (debug) console.log("beforeSubmit called with values:", values);
85
+ values = beforeSubmit(values);
86
+ if (debug) console.log("beforeSubmit returned values:", values);
87
+ }
88
+ const { data } = yield dataProvider.update(resource, {
89
+ id: record == null ? void 0 : record.id,
90
+ data: values,
91
+ previousData: record
92
+ });
93
+ if (debug) console.log("dataProvider.update returned data:", data);
94
+ if (onSubmit) {
95
+ if (debug) console.log("onSubmit called with data:", data);
96
+ onSubmit(data);
97
+ }
98
+ } catch (error) {
99
+ if (onError) {
100
+ if (debug) console.log("onError called with error:", error);
101
+ onError(error);
102
+ }
103
+ } finally {
104
+ window.dispatchEvent(
105
+ new MessageEvent("dash-global-loader", { data: false })
106
+ );
107
+ }
108
+ });
109
+ let onSave = onCreateSave;
110
+ switch (mode) {
111
+ case "edit":
112
+ onSave = onUpdateSave;
113
+ break;
114
+ case "create":
115
+ onSave = onCreateSave;
116
+ break;
117
+ }
118
+ const defaultToolbar = () => /* @__PURE__ */ jsxs(Toolbar, { children: [
119
+ mode === "edit" && /* @__PURE__ */ jsx(ToolbarSaveButton, { resourceConfig }),
120
+ mode === "create" && /* @__PURE__ */ jsx(ToolbarCreateButton, { resourceConfig }),
121
+ /* @__PURE__ */ jsx(ToolbarDeleteButton, { resourceConfig })
122
+ ] });
123
+ return /* @__PURE__ */ jsx(DashAutoAdminFormProvider, { value: { onSave, mode }, children: /* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsx(
124
+ SimpleForm,
125
+ {
126
+ toolbar: toolbar || defaultToolbar(),
127
+ onSubmit: onSave,
128
+ validate: validate(resourceConfig.schema),
129
+ reValidateMode: "onBlur",
130
+ children
131
+ }
132
+ ) }) });
133
+ };
134
+ var DashAutoAdminForm_default = DashAutoAdminForm;
135
+ export {
136
+ DashAutoAdminForm_default as default
137
+ };
@@ -1 +1,63 @@
1
- import{Fragment as w,jsx as e,jsxs as D}from"react/jsx-runtime";import{Drawer as d}from"@mui/material";import t from"react";const n=t.createContext(400),m=({children:a,defaultWidth:s,...o})=>{const[r,l]=t.useState(s),i=()=>e(w,{});return e(d,{PaperProps:{style:{width:r}},...o,children:D(n.Provider,{value:r,children:[e(i,{}),a]})})};export{m as DashAutoAdminResizableDrawer,n as DashAutoAdminResizableDrawerContext};
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __objRest = (source, exclude) => {
21
+ var target = {};
22
+ for (var prop in source)
23
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
+ target[prop] = source[prop];
25
+ if (source != null && __getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(source)) {
27
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
+ target[prop] = source[prop];
29
+ }
30
+ return target;
31
+ };
32
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
33
+ import { Drawer } from "@mui/material";
34
+ import React from "react";
35
+ const DashAutoAdminResizableDrawerContext = React.createContext(400);
36
+ const DashAutoAdminResizableDrawer = (_a) => {
37
+ var _b = _a, {
38
+ children,
39
+ defaultWidth
40
+ } = _b, props = __objRest(_b, [
41
+ "children",
42
+ "defaultWidth"
43
+ ]);
44
+ const [drawerWidth, setDrawerWidth] = React.useState(defaultWidth);
45
+ const Dragger = () => {
46
+ return /* @__PURE__ */ jsx(Fragment, {});
47
+ };
48
+ return /* @__PURE__ */ jsx(
49
+ Drawer,
50
+ __spreadProps(__spreadValues({
51
+ PaperProps: { style: { width: drawerWidth } }
52
+ }, props), {
53
+ children: /* @__PURE__ */ jsxs(DashAutoAdminResizableDrawerContext.Provider, { value: drawerWidth, children: [
54
+ /* @__PURE__ */ jsx(Dragger, {}),
55
+ children
56
+ ] })
57
+ })
58
+ );
59
+ };
60
+ export {
61
+ DashAutoAdminResizableDrawer,
62
+ DashAutoAdminResizableDrawerContext
63
+ };
@@ -1 +1,57 @@
1
- import{Fragment as m,jsx as t}from"react/jsx-runtime";import{SaveButton as u}from"react-admin";import{useFormContext as i}from"react-hook-form";const l=e=>{const{resourceConfig:n,...o}=e,{formState:a}=i(),s=n?.saveButtonAlwaysEnabled===!0;return t(m,{children:t(u,{alwaysEnable:s,...o,onClick:r=>{o?.onClick&&o.onClick(r)},disabled:a.isSubmitting})})};var k=l;export{k as default};
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __objRest = (source, exclude) => {
21
+ var target = {};
22
+ for (var prop in source)
23
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
+ target[prop] = source[prop];
25
+ if (source != null && __getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(source)) {
27
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
+ target[prop] = source[prop];
29
+ }
30
+ return target;
31
+ };
32
+ import { Fragment, jsx } from "react/jsx-runtime";
33
+ import { SaveButton } from "react-admin";
34
+ import { useFormContext } from "react-hook-form";
35
+ const DashAutoAdminSaveButton = (props) => {
36
+ const _a = props, { resourceConfig } = _a, customProps = __objRest(_a, ["resourceConfig"]);
37
+ const { formState } = useFormContext();
38
+ const alwaysEnabled = (resourceConfig == null ? void 0 : resourceConfig.saveButtonAlwaysEnabled) === true ? true : false;
39
+ const handleClick = (e) => {
40
+ if (customProps == null ? void 0 : customProps.onClick) {
41
+ customProps.onClick(e);
42
+ }
43
+ };
44
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
45
+ SaveButton,
46
+ __spreadProps(__spreadValues({
47
+ alwaysEnable: alwaysEnabled
48
+ }, customProps), {
49
+ onClick: handleClick,
50
+ disabled: formState.isSubmitting
51
+ })
52
+ ) });
53
+ };
54
+ var DashAutoAdminSaveButton_default = DashAutoAdminSaveButton;
55
+ export {
56
+ DashAutoAdminSaveButton_default as default
57
+ };
@@ -1 +1,102 @@
1
- import{Fragment as e,jsx as o,jsxs as l}from"react/jsx-runtime";import s from"./DashAutoTabbedForm";import{Create as B,TopToolbar as v,ListButton as S,Toolbar as E}from"react-admin";import F from"./utils/evalActionPermission";import h from"./common/DashAutoTitle";import R from"./DashAutoAdminSaveButton";const w=({resourceConfig:t,toolbar:n,actions:b,onSubmit:r,onError:p,beforeSubmit:T,isDrawer:u,locale:A})=>{const i=({...m})=>{const a=t.drawer===!0?!1:!!t.toolbarListButton;return!!t?.AutoEditTopToolbarElements||a?l(v,{sx:{mb:2},...m,children:[a&&o(S,{}),t?.AutoEditTopToolbarElements?t.AutoCreateTopToolbarElements(t):o(e,{})]}):null},d=({...m})=>{const a=t.toolbarSaveButton&&t.toolbarSaveButton.component?t.toolbarSaveButton.component:R;return l(E,{...m,children:[F(t,t.toolbarSaveButton)&&o(a,{resourceConfig:t,onSubmit:r,...t.toolbarSaveButton&&t.toolbarSaveButton?.props}),t?.AutoEditBottomToolbarElements?t.AutoCreateBottomToolbarElements(t):o(e,{})]})};return o(B,{component:"div",actions:b||o(i,{}),mutationMode:t.mutationMode,title:o(h,{resourceConfig:t}),children:o(s,{mode:"create",resourceConfig:t,toolbar:n||o(d,{}),onSubmit:r,onError:p,beforeSubmit:T,isDrawer:u,locale:A})})};var K=w;export{K as default};
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __objRest = (source, exclude) => {
21
+ var target = {};
22
+ for (var prop in source)
23
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
+ target[prop] = source[prop];
25
+ if (source != null && __getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(source)) {
27
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
+ target[prop] = source[prop];
29
+ }
30
+ return target;
31
+ };
32
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
33
+ import AutoTabbedForm from "./DashAutoTabbedForm";
34
+ import { Create, TopToolbar, ListButton, Toolbar } from "react-admin";
35
+ import evalActionPermission from "./utils/evalActionPermission";
36
+ import AutoTitle from "./common/DashAutoTitle";
37
+ import DashAutoAdminSaveButton from "./DashAutoAdminSaveButton";
38
+ const DashAutoCreate = ({
39
+ resourceConfig,
40
+ toolbar,
41
+ actions,
42
+ onSubmit,
43
+ onError,
44
+ beforeSubmit,
45
+ isDrawer,
46
+ locale
47
+ }) => {
48
+ const CreateActions = (_a) => {
49
+ var props = __objRest(_a, []);
50
+ const _showListwbutton = resourceConfig.drawer === true ? false : resourceConfig.toolbarListButton ? true : false;
51
+ const hasToolbar = !!(resourceConfig == null ? void 0 : resourceConfig.AutoEditTopToolbarElements) || _showListwbutton;
52
+ if (!hasToolbar) return null;
53
+ return /* @__PURE__ */ jsxs(TopToolbar, __spreadProps(__spreadValues({ sx: { mb: 2 } }, props), { children: [
54
+ _showListwbutton && /* @__PURE__ */ jsx(ListButton, {}),
55
+ (resourceConfig == null ? void 0 : resourceConfig.AutoEditTopToolbarElements) ? resourceConfig.AutoCreateTopToolbarElements(resourceConfig) : /* @__PURE__ */ jsx(Fragment, {})
56
+ ] }));
57
+ };
58
+ const CreateToolbar = (_b) => {
59
+ var props = __objRest(_b, []);
60
+ var _a;
61
+ const SaveComponent = resourceConfig.toolbarSaveButton && resourceConfig.toolbarSaveButton.component ? resourceConfig.toolbarSaveButton.component : DashAutoAdminSaveButton;
62
+ return /* @__PURE__ */ jsxs(Toolbar, __spreadProps(__spreadValues({}, props), { children: [
63
+ evalActionPermission(
64
+ resourceConfig,
65
+ resourceConfig.toolbarSaveButton
66
+ ) && /* @__PURE__ */ jsx(
67
+ SaveComponent,
68
+ __spreadValues({
69
+ resourceConfig,
70
+ onSubmit
71
+ }, resourceConfig.toolbarSaveButton && ((_a = resourceConfig.toolbarSaveButton) == null ? void 0 : _a.props))
72
+ ),
73
+ (resourceConfig == null ? void 0 : resourceConfig.AutoEditBottomToolbarElements) ? resourceConfig.AutoCreateBottomToolbarElements(resourceConfig) : /* @__PURE__ */ jsx(Fragment, {})
74
+ ] }));
75
+ };
76
+ return /* @__PURE__ */ jsx(
77
+ Create,
78
+ {
79
+ component: "div",
80
+ actions: actions || /* @__PURE__ */ jsx(CreateActions, {}),
81
+ mutationMode: resourceConfig.mutationMode,
82
+ title: /* @__PURE__ */ jsx(AutoTitle, { resourceConfig }),
83
+ children: /* @__PURE__ */ jsx(
84
+ AutoTabbedForm,
85
+ {
86
+ mode: "create",
87
+ resourceConfig,
88
+ toolbar: toolbar || /* @__PURE__ */ jsx(CreateToolbar, {}),
89
+ onSubmit,
90
+ onError,
91
+ beforeSubmit,
92
+ isDrawer,
93
+ locale
94
+ }
95
+ )
96
+ }
97
+ );
98
+ };
99
+ var DashAutoCreate_default = DashAutoCreate;
100
+ export {
101
+ DashAutoCreate_default as default
102
+ };