@dashadmin/dash-auto-admin 1.3.25 → 1.3.26

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 (176) hide show
  1. package/dist/DashAutoAdminComponentRegistry.js +64 -1
  2. package/dist/DashAutoAdminForm.js +137 -1
  3. package/dist/DashAutoAdminResizableDrawer.js +63 -1
  4. package/dist/DashAutoAdminSaveButton.js +57 -1
  5. package/dist/DashAutoCreate.js +102 -1
  6. package/dist/DashAutoDrawer.js +256 -1
  7. package/dist/DashAutoEdit.js +99 -1
  8. package/dist/DashAutoFiltersGenerator.js +193 -1
  9. package/dist/DashAutoFormGroups.js +118 -1
  10. package/dist/DashAutoFormLayout.js +68 -1
  11. package/dist/DashAutoFormMuiTabs.js +291 -1
  12. package/dist/DashAutoFormTabs.js +132 -1
  13. package/dist/DashAutoGroup.js +27 -1
  14. package/dist/DashAutoLayout.js +31 -1
  15. package/dist/DashAutoList.js +218 -1
  16. package/dist/DashAutoPostFilterForm.js +47 -1
  17. package/dist/DashAutoReferenceTab.js +10 -1
  18. package/dist/DashAutoResource.js +77 -1
  19. package/dist/DashAutoResourceLayout.js +16 -1
  20. package/dist/DashAutoShow.js +195 -1
  21. package/dist/DashAutoTabbedForm.js +244 -1
  22. package/dist/DashAutoTabbedForm.review.js +221 -1
  23. package/dist/DashAutoTabs.js +11 -1
  24. package/dist/DashFilterWrapper.js +62 -1
  25. package/dist/DashRedirect.js +56 -1
  26. package/dist/TabbedLayout.js +38 -1
  27. package/dist/common/DashAutoTitle.js +33 -1
  28. package/dist/common/components/FabButton.js +59 -1
  29. package/dist/common/components/TranslatedLabel.js +60 -1
  30. package/dist/common/settings/Settings.js +196 -1
  31. package/dist/common/settings/SettingsBarIcons.js +61 -1
  32. package/dist/context/DashAutoAdminFormContext.js +15 -1
  33. package/dist/hooks/useAutoAdminLoadingStateMediator.js +36 -1
  34. package/dist/hooks/useAutoAdminTranslate.js +61 -1
  35. package/dist/hooks/useHash.js +24 -1
  36. package/dist/hooks/useLogger.js +20 -1
  37. package/dist/hooks/useRoutePathPattern.js +20 -1
  38. package/dist/hooks/useVirtualHash.js +28 -1
  39. package/dist/index.js +77 -3406
  40. package/dist/list/DashAutoListActions.js +57 -1
  41. package/dist/list/DashAutoListDatagridWrapper.js +68 -1
  42. package/dist/list/DashAutoListDefaultActionsWrapper.js +14 -1
  43. package/dist/list/DashAutoListFilterFormWithButton.js +80 -1
  44. package/dist/list/DashAutoListTopToolbar.js +180 -1
  45. package/dist/mui/AttributeToField.js +576 -1
  46. package/dist/mui/AttributeToInput.js +630 -1
  47. package/dist/mui/AutoAdminResizableDrawer.js +63 -1
  48. package/dist/mui/AutoDataGrid.js +120 -1
  49. package/dist/mui/AutoReferenceFormTab.js +53 -1
  50. package/dist/mui/AutoReferenceTab.js +46 -1
  51. package/dist/mui/AutoTabs.js +19 -1
  52. package/dist/mui/components/ExtendedPagination.js +34 -1
  53. package/dist/mui/components/ListStringField.js +25 -1
  54. package/dist/providers/DashAuthProvider.js +215 -1
  55. package/dist/providers/DashDataProvider.js +310 -1
  56. package/dist/providers/index.js +10 -1
  57. package/dist/react-admin.d.js +0 -0
  58. package/dist/toolbar/buttons/BottomToolbarButtons.js +65 -1
  59. package/dist/toolbar/buttons/DashResourceButton.js +181 -1
  60. package/dist/toolbar/buttons/ListButtons.js +80 -1
  61. package/dist/toolbar/buttons/ToolbarButtons.js +135 -1
  62. package/dist/types/ActionCallback.d.js +0 -0
  63. package/dist/utils/SimpleLogger.js +52 -1
  64. package/dist/utils/enumToChoices.js +5 -1
  65. package/dist/utils/evalActionPermission.js +11 -1
  66. package/dist/utils/groupByTabs.js +21 -1
  67. package/dist/utils/hashedGroupByTabs.js +12 -1
  68. package/dist/utils/invertMap.js +12 -1
  69. package/dist/utils/isClassComponent.js +7 -1
  70. package/dist/utils/isComponent.js +29 -1
  71. package/dist/utils/isEnum.js +5 -1
  72. package/dist/utils/isFC.js +8 -1
  73. package/dist/utils/replaceParams.js +9 -1
  74. package/dist/utils/validate.js +19 -1
  75. package/dist/wrappers/UserAction.js +60 -1
  76. package/dist/wrappers/index.js +4 -1
  77. package/package.json +135 -120
  78. package/src/DashAutoAdminComponentRegistry.tsx +75 -0
  79. package/src/DashAutoAdminForm.tsx +155 -0
  80. package/src/DashAutoAdminResizableDrawer.tsx +69 -0
  81. package/src/DashAutoAdminSaveButton.tsx +116 -0
  82. package/src/DashAutoCreate.tsx +118 -0
  83. package/src/DashAutoDrawer.tsx +288 -0
  84. package/src/DashAutoEdit.tsx +109 -0
  85. package/src/DashAutoFiltersGenerator.tsx +208 -0
  86. package/src/DashAutoFormGroups.tsx +146 -0
  87. package/src/DashAutoFormLayout.tsx.review +113 -0
  88. package/src/DashAutoFormMuiTabs.tsx +368 -0
  89. package/src/DashAutoFormTabs.tsx +177 -0
  90. package/src/DashAutoGroup.tsx +42 -0
  91. package/src/DashAutoLayout.tsx +57 -0
  92. package/src/DashAutoList.tsx +237 -0
  93. package/src/DashAutoPostFilterForm.tsx +35 -0
  94. package/src/DashAutoReferenceTab.tsx +9 -0
  95. package/src/DashAutoResource.tsx +85 -0
  96. package/src/DashAutoResourceLayout.tsx +50 -0
  97. package/src/DashAutoShow.tsx +200 -0
  98. package/src/DashAutoTabbedForm.review.tsx +262 -0
  99. package/src/DashAutoTabbedForm.tsx +324 -0
  100. package/src/DashAutoTabs.tsx +19 -0
  101. package/src/DashFilterWrapper.tsx +43 -0
  102. package/src/DashRedirect.tsx +46 -0
  103. package/src/TabbedLayout.tsx +29 -0
  104. package/src/common/DashAutoTitle.tsx +24 -0
  105. package/src/common/components/FabButton.tsx +40 -0
  106. package/src/common/components/TranslatedLabel.tsx +81 -0
  107. package/src/common/settings/Settings.tsx +236 -0
  108. package/src/common/settings/SettingsBarIcons.tsx +72 -0
  109. package/src/context/DashAutoAdminFormContext.tsx +31 -0
  110. package/src/hooks/useAutoAdminLoadingStateMediator.tsx +42 -0
  111. package/src/hooks/useAutoAdminTranslate.tsx +106 -0
  112. package/src/hooks/useHash.tsx +27 -0
  113. package/src/hooks/useLogger.tsx +23 -0
  114. package/src/hooks/useRoutePathPattern.tsx +24 -0
  115. package/src/hooks/useVirtualHash.tsx +34 -0
  116. package/src/index.ts +85 -0
  117. package/src/interfaces/ICustomResourceSubComponent.ts +11 -0
  118. package/src/interfaces/IDashApplicationLayoutMainAction.ts +37 -0
  119. package/src/interfaces/IDashApplicationLayoutMenuItem.ts +24 -0
  120. package/src/interfaces/IDashAutoAdminAttribute.ts +104 -0
  121. package/src/interfaces/IDashAutoAdminCustomFieldComponent.ts +18 -0
  122. package/src/interfaces/IDashAutoAdminFormOptions.ts +22 -0
  123. package/src/interfaces/IDashAutoAdminListActions.ts +13 -0
  124. package/src/interfaces/IDashAutoAdminReference.ts +16 -0
  125. package/src/interfaces/IDashAutoAdminResourceConfig.ts +360 -0
  126. package/src/interfaces/IDashAutoForm.ts +24 -0
  127. package/src/interfaces/IDashAutoGridButton.ts +35 -0
  128. package/src/interfaces/IDashAutoShow.ts +12 -0
  129. package/src/interfaces/IGroupExtraData.ts +8 -0
  130. package/src/interfaces/IRecord.ts +7 -0
  131. package/src/interfaces/IReferenceFilter.ts +55 -0
  132. package/src/interfaces/IResourceComponent.ts +8 -0
  133. package/src/interfaces/IToolbarButton.ts +11 -0
  134. package/src/list/DashAutoListActions.tsx +88 -0
  135. package/src/list/DashAutoListDatagridWrapper.tsx +74 -0
  136. package/src/list/DashAutoListDefaultActionsWrapper.tsx +31 -0
  137. package/src/list/DashAutoListFilterFormWithButton.tsx +93 -0
  138. package/src/list/DashAutoListTopToolbar.tsx +240 -0
  139. package/src/mui/AttributeToField.tsx +657 -0
  140. package/src/mui/AttributeToInput.tsx +728 -0
  141. package/src/mui/AutoAdminResizableDrawer.tsx +69 -0
  142. package/src/mui/AutoDataGrid.tsx +127 -0
  143. package/src/mui/AutoReferenceFormTab.tsx +51 -0
  144. package/src/mui/AutoReferenceTab.tsx +45 -0
  145. package/src/mui/AutoTabs.tsx +32 -0
  146. package/src/mui/components/ExtendedPagination.tsx +23 -0
  147. package/src/mui/components/ListStringField.tsx +32 -0
  148. package/src/providers/DashAuthProvider.ts +341 -0
  149. package/src/providers/DashDataProvider.ts +466 -0
  150. package/src/providers/index.ts +17 -0
  151. package/src/toolbar/buttons/BottomToolbarButtons.tsx +59 -0
  152. package/src/toolbar/buttons/DashResourceButton.tsx +223 -0
  153. package/src/toolbar/buttons/ListButtons.tsx +137 -0
  154. package/src/toolbar/buttons/ToolbarButtons.tsx +186 -0
  155. package/src/utils/SimpleLogger.tsx +46 -0
  156. package/src/utils/enumToChoices.tsx +3 -0
  157. package/src/utils/evalActionPermission.tsx +14 -0
  158. package/src/utils/groupByTabs.tsx +23 -0
  159. package/src/utils/hashedGroupByTabs.tsx +16 -0
  160. package/src/utils/invertMap.tsx +10 -0
  161. package/src/utils/isClassComponent.tsx +9 -0
  162. package/src/utils/isComponent.tsx +45 -0
  163. package/src/utils/isEnum.tsx +3 -0
  164. package/src/utils/isFC.tsx +6 -0
  165. package/src/utils/replaceParams.tsx +6 -0
  166. package/src/utils/validate.tsx +24 -0
  167. package/src/wrappers/UserAction.tsx +67 -0
  168. package/src/wrappers/index.tsx +1 -0
  169. /package/{dist → src}/DashAutoAdminSaveButton.tsx.bkup +0 -0
  170. /package/{dist/DashAutoFormLayout.tsx.review → src/DashAutoFormLayout.tsx} +0 -0
  171. /package/{dist → src}/DashAutoFormTabs.review +0 -0
  172. /package/{dist → src}/DashAutoFormTabs.tsx.formcontext.wip +0 -0
  173. /package/{dist → src}/mui/AttributeToField.tsx.review +0 -0
  174. /package/{dist → src}/mui/AttributeToInput.tsx.review +0 -0
  175. /package/{dist → src}/react-admin.d.ts +0 -0
  176. /package/{dist → src}/types/ActionCallback.d.ts +0 -0
@@ -1 +1,218 @@
1
- import{Fragment as W,jsx as o}from"react/jsx-runtime";import y from"./DashAutoFiltersGenerator";import{useUnselectAll as E}from"react-admin";import{List as G}from"react-admin";import{useEffect as i,useState as I}from"react";import w from"./mui/components/ExtendedPagination";import f from"./list/DashAutoListDefaultActionsWrapper";import x from"./list/DashAutoListDatagridWrapper";import B from"./list/DashAutoListActions";const O=({resourceConfig:t,autoFilters:n,listProps:d,ListActionsWrapper:l})=>(console.log("\u{1F3AC} DashAutoList DEBUG - Rendering actions (fieldProps standardized):",{resourceModel:t.model,autoFiltersCount:n.length,hasCustomToolbarElements:!!t.customToolbarElements,timestamp:new Date().toISOString()}),o(l,{autoFilters:n,resourceConfig:t,children:o(B,{filters:n,resourceConfig:t,autoFilters:n,listProps:d})})),R=({resourceConfig:t,customToolbarElements:n,beforeSubmit:d,onSubmit:l,onError:P,Pagination:p,children:k,dataGridProps:D,locale:m,...c})=>{const{exporter:A}=t;i(()=>{console.log("\u{1F4CB} DashAutoList DEBUG - Component initialized (fieldProps standardized):",{resourceModel:t.model,hasReferenceFilters:!!(t.referenceFilters&&t.referenceFilters.length>0),referenceFiltersCount:t.referenceFilters?.length||0,referenceFilters:t.referenceFilters?.map(e=>({id:e.id,source:e.source,label:e.label,hasReferenceComponent:!!e.referenceComponent,fieldProps:e.fieldProps}))||[],timestamp:new Date().toISOString()})},[t]),n&&(t.customToolbarElements=n),console.log("\u{1F527} DashAutoList DEBUG - About to generate filters (fieldProps only):",{resourceModel:t.model,referenceFilters:t.referenceFilters,timestamp:new Date().toISOString()});const s=y(t,m);console.log("\u2705 DashAutoList DEBUG - Filters generated (fieldProps standardized):",{resourceModel:t.model,filtersCount:s.length,filters:s.map((e,a)=>({index:a,key:e.key,type:e.type?.name||"unknown",props:e.props})),timestamp:new Date().toISOString()});const h=E(t.listProps?.storeKey||t.model),L={...t.dataGridProps,...D},[,b]=I(!1);i(()=>{const e=a=>{t.model===a.data.resource&&b(a.data.value)};return window.addEventListener("dash-global-loader",e),()=>{window.removeEventListener("dash-global-loader",e)}},[t.model]);const S=t.listActionsWrapper||f;i(()=>{t.resetSelectedIdsOnLoad&&h()},[t.resetSelectedIdsOnLoad,h]);const u=(t.toolbar===!1?!1:s&&s.length>0||t.create||t.exporter||t.customToolbarElements)?o(O,{resourceConfig:t,autoFilters:s,listProps:c,ListActionsWrapper:S}):null,r={sort:{field:"id",order:"ASC"},storeKey:t?.model,resource:t?.model,...c,...t.listProps||{},actions:u,pagination:p?o(p,{...t.paginationProps}):o(w,{...t.paginationProps}),...A&&{exporter:A},...t.bulkActionButtons&&{bulkActionButtons:t.bulkActionButtons}};console.log("\u{1F680} DashAutoList DEBUG - Final list props (fieldProps standardized):",{resourceModel:t.model,finalListProps:{...r,actions:u?"rendered":"null"},timestamp:new Date().toISOString()});const F=t.contextComponent?t.contextComponent:({children:e})=>e;return r?t.listComponent?t.listComponent(t,l,P):o(G,{component:"div",...r,children:o(F,{mode:"list",resourceConfig:t,children:t.dataGridComponent?o(t.dataGridComponent,{resourceConfig:t,dataGridProps:L}):o(x,{resourceConfig:t,dataGridProps:L,locale:m})})}):o(W,{})};var $=R;export{$ 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 autoFiltersGenerator from "./DashAutoFiltersGenerator";
34
+ import { useUnselectAll } from "react-admin";
35
+ import { List } from "react-admin";
36
+ import { useEffect, useState } from "react";
37
+ import ExtendedPagination from "./mui/components/ExtendedPagination";
38
+ import DashAutoListDefaultListActionsWrapper from "./list/DashAutoListDefaultActionsWrapper";
39
+ import DashAutoListDataGridWrapper from "./list/DashAutoListDatagridWrapper";
40
+ import DashAutoListActions from "./list/DashAutoListActions";
41
+ const ListActionsComponent = ({
42
+ resourceConfig,
43
+ autoFilters,
44
+ listProps,
45
+ ListActionsWrapper
46
+ }) => {
47
+ console.log("\u{1F3AC} DashAutoList DEBUG - Rendering actions (fieldProps standardized):", {
48
+ resourceModel: resourceConfig.model,
49
+ autoFiltersCount: autoFilters.length,
50
+ hasCustomToolbarElements: !!resourceConfig.customToolbarElements,
51
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
52
+ });
53
+ return /* @__PURE__ */ jsx(
54
+ ListActionsWrapper,
55
+ {
56
+ autoFilters,
57
+ resourceConfig,
58
+ children: /* @__PURE__ */ jsx(
59
+ DashAutoListActions,
60
+ {
61
+ filters: autoFilters,
62
+ resourceConfig,
63
+ autoFilters,
64
+ listProps
65
+ }
66
+ )
67
+ }
68
+ );
69
+ };
70
+ const DashAutoList = (_a) => {
71
+ var _b = _a, {
72
+ resourceConfig,
73
+ customToolbarElements,
74
+ beforeSubmit,
75
+ onSubmit,
76
+ onError,
77
+ Pagination,
78
+ children,
79
+ dataGridProps,
80
+ locale
81
+ } = _b, listProps = __objRest(_b, [
82
+ "resourceConfig",
83
+ "customToolbarElements",
84
+ "beforeSubmit",
85
+ "onSubmit",
86
+ "onError",
87
+ "Pagination",
88
+ "children",
89
+ "dataGridProps",
90
+ "locale"
91
+ ]);
92
+ var _a2;
93
+ const { exporter } = resourceConfig;
94
+ useEffect(() => {
95
+ var _a3, _b2;
96
+ console.log("\u{1F4CB} DashAutoList DEBUG - Component initialized (fieldProps standardized):", {
97
+ resourceModel: resourceConfig.model,
98
+ hasReferenceFilters: !!(resourceConfig.referenceFilters && resourceConfig.referenceFilters.length > 0),
99
+ referenceFiltersCount: ((_a3 = resourceConfig.referenceFilters) == null ? void 0 : _a3.length) || 0,
100
+ referenceFilters: ((_b2 = resourceConfig.referenceFilters) == null ? void 0 : _b2.map((f) => ({
101
+ id: f.id,
102
+ source: f.source,
103
+ label: f.label,
104
+ hasReferenceComponent: !!f.referenceComponent,
105
+ fieldProps: f.fieldProps
106
+ // Only fieldProps now
107
+ }))) || [],
108
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
109
+ });
110
+ }, [resourceConfig]);
111
+ if (customToolbarElements) {
112
+ resourceConfig.customToolbarElements = customToolbarElements;
113
+ }
114
+ console.log("\u{1F527} DashAutoList DEBUG - About to generate filters (fieldProps only):", {
115
+ resourceModel: resourceConfig.model,
116
+ referenceFilters: resourceConfig.referenceFilters,
117
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
118
+ });
119
+ const autoFilters = autoFiltersGenerator(resourceConfig, locale);
120
+ console.log("\u2705 DashAutoList DEBUG - Filters generated (fieldProps standardized):", {
121
+ resourceModel: resourceConfig.model,
122
+ filtersCount: autoFilters.length,
123
+ filters: autoFilters.map((filter, idx) => {
124
+ var _a3;
125
+ return {
126
+ index: idx,
127
+ key: filter.key,
128
+ type: ((_a3 = filter.type) == null ? void 0 : _a3.name) || "unknown",
129
+ props: filter.props
130
+ };
131
+ }),
132
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
133
+ });
134
+ const unselectAll = useUnselectAll(
135
+ ((_a2 = resourceConfig.listProps) == null ? void 0 : _a2.storeKey) || resourceConfig.model
136
+ );
137
+ const _dataGridProps = __spreadValues(__spreadValues({}, resourceConfig.dataGridProps), dataGridProps);
138
+ const [, setHandleLoading] = useState(false);
139
+ useEffect(() => {
140
+ const handleGlobalLoader = (e) => {
141
+ if (resourceConfig.model === e.data.resource)
142
+ setHandleLoading(e.data.value);
143
+ };
144
+ window.addEventListener("dash-global-loader", handleGlobalLoader);
145
+ return () => {
146
+ window.removeEventListener("dash-global-loader", handleGlobalLoader);
147
+ };
148
+ }, [resourceConfig.model]);
149
+ const ListActionsWrapper = resourceConfig.listActionsWrapper || DashAutoListDefaultListActionsWrapper;
150
+ useEffect(() => {
151
+ if (resourceConfig.resetSelectedIdsOnLoad) {
152
+ unselectAll();
153
+ }
154
+ }, [resourceConfig.resetSelectedIdsOnLoad, unselectAll]);
155
+ const shouldShowActions = () => {
156
+ if (resourceConfig.toolbar === false) {
157
+ return false;
158
+ }
159
+ const hasToolbarItems = autoFilters && autoFilters.length > 0 || resourceConfig.create || resourceConfig.exporter || resourceConfig.customToolbarElements;
160
+ return hasToolbarItems;
161
+ };
162
+ const actionsElement = shouldShowActions() ? /* @__PURE__ */ jsx(
163
+ ListActionsComponent,
164
+ {
165
+ resourceConfig,
166
+ autoFilters,
167
+ listProps,
168
+ ListActionsWrapper
169
+ }
170
+ ) : null;
171
+ const finalListProps = __spreadValues(__spreadValues(__spreadProps(__spreadValues(__spreadValues({
172
+ /* default storeKey */
173
+ sort: { field: "id", order: "ASC" },
174
+ storeKey: resourceConfig == null ? void 0 : resourceConfig.model,
175
+ // Explicitly set resource to ensure List component works correctly
176
+ resource: resourceConfig == null ? void 0 : resourceConfig.model
177
+ }, listProps), resourceConfig.listProps || {}), {
178
+ // Set actions to the element (will be rendered inside List context)
179
+ actions: actionsElement,
180
+ pagination: Pagination ? /* @__PURE__ */ jsx(Pagination, __spreadValues({}, resourceConfig.paginationProps)) : /* @__PURE__ */ jsx(ExtendedPagination, __spreadValues({}, resourceConfig.paginationProps))
181
+ }), exporter && { exporter }), resourceConfig.bulkActionButtons && { bulkActionButtons: resourceConfig.bulkActionButtons });
182
+ console.log("\u{1F680} DashAutoList DEBUG - Final list props (fieldProps standardized):", {
183
+ resourceModel: resourceConfig.model,
184
+ finalListProps: __spreadProps(__spreadValues({}, finalListProps), {
185
+ actions: actionsElement ? "rendered" : "null"
186
+ }),
187
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
188
+ });
189
+ const ContextComponent = resourceConfig.contextComponent ? resourceConfig.contextComponent : ({ children: children2 }) => {
190
+ return children2;
191
+ };
192
+ if (!finalListProps) return /* @__PURE__ */ jsx(Fragment, {});
193
+ return resourceConfig.listComponent ? resourceConfig.listComponent(resourceConfig, onSubmit, onError) : /* @__PURE__ */ jsx(
194
+ List,
195
+ __spreadProps(__spreadValues({
196
+ component: "div"
197
+ }, finalListProps), {
198
+ children: /* @__PURE__ */ jsx(ContextComponent, { mode: "list", resourceConfig, children: resourceConfig.dataGridComponent ? /* @__PURE__ */ jsx(
199
+ resourceConfig.dataGridComponent,
200
+ {
201
+ resourceConfig,
202
+ dataGridProps: _dataGridProps
203
+ }
204
+ ) : /* @__PURE__ */ jsx(
205
+ DashAutoListDataGridWrapper,
206
+ {
207
+ resourceConfig,
208
+ dataGridProps: _dataGridProps,
209
+ locale
210
+ }
211
+ ) })
212
+ })
213
+ );
214
+ };
215
+ var DashAutoList_default = DashAutoList;
216
+ export {
217
+ DashAutoList_default as default
218
+ };
@@ -1 +1,47 @@
1
- import{jsx as n}from"react/jsx-runtime";import{useForm as u,FormProvider as f}from"react-hook-form";import{ListContext as c}from"react-admin";import{useContext as a}from"react";const d=()=>a(c)??null,F=o=>{const t=d(),i=t?.filterValues??{},l=t?.displayedFilters??[],e=t?.setFilters,r=u({defaultValues:i}),m=s=>{Object.keys(s).length>0&&e&&e(s,l)};return n(f,{...r,children:n("form",{onSubmit:r.handleSubmit(m),children:o})})};var b=F;export{b 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
+ import { jsx } from "react/jsx-runtime";
21
+ import { useForm, FormProvider } from "react-hook-form";
22
+ import { ListContext } from "react-admin";
23
+ import { useContext } from "react";
24
+ const useSafeListContext = () => {
25
+ const context = useContext(ListContext);
26
+ return context != null ? context : null;
27
+ };
28
+ const DashAutoPostFilterForm = (filters) => {
29
+ var _a, _b;
30
+ const listContext = useSafeListContext();
31
+ const filterValues = (_a = listContext == null ? void 0 : listContext.filterValues) != null ? _a : {};
32
+ const displayedFilters = (_b = listContext == null ? void 0 : listContext.displayedFilters) != null ? _b : [];
33
+ const setFilters = listContext == null ? void 0 : listContext.setFilters;
34
+ const form = useForm({
35
+ defaultValues: filterValues
36
+ });
37
+ const onSubmit = (values) => {
38
+ if (Object.keys(values).length > 0 && setFilters) {
39
+ setFilters(values, displayedFilters);
40
+ }
41
+ };
42
+ return /* @__PURE__ */ jsx(FormProvider, __spreadProps(__spreadValues({}, form), { children: /* @__PURE__ */ jsx("form", { onSubmit: form.handleSubmit(onSubmit), children: filters }) }));
43
+ };
44
+ var DashAutoPostFilterForm_default = DashAutoPostFilterForm;
45
+ export {
46
+ DashAutoPostFilterForm_default as default
47
+ };
@@ -1 +1,10 @@
1
- import{AutoReferenceTab as o}from"./mui/AutoReferenceTab";const r=e=>o(e);var u=r;export{r as DashAutoReferenceTab,u as default};
1
+ import { AutoReferenceTab as MuiAutoReferenceTab } from "./mui/AutoReferenceTab";
2
+ const DashAutoReferenceTab = (reference) => {
3
+ const _AutoReferenceTab = MuiAutoReferenceTab;
4
+ return _AutoReferenceTab(reference);
5
+ };
6
+ var DashAutoReferenceTab_default = DashAutoReferenceTab;
7
+ export {
8
+ DashAutoReferenceTab,
9
+ DashAutoReferenceTab_default as default
10
+ };
@@ -1 +1,77 @@
1
- import{jsx as t}from"react/jsx-runtime";import{Resource as c}from"react-admin";import p from"./DashAutoCreate";import l from"./DashAutoEdit";import u from"./DashAutoShow";import R from"./DashAutoList";import m from"./utils/isFC";const n=({resourceConfig:o,show:r,list:s,edit:f,create:i})=>{const e={};if(typeof s!="boolean"&&m(s)){const a=s;e.list=()=>t(a,{resourceConfig:o})}else s!==!1&&(e.list=()=>t(R,{resourceConfig:o}));if(!o.drawer){if(typeof r!="boolean"&&m(r)){const a=r;e.show=()=>t(a,{resourceConfig:o})}else r!==!1&&(e.show=()=>t(u,{resourceConfig:o}));if(typeof f!="boolean"&&m(f)){const a=f;e.edit=()=>t(a,{resourceConfig:o})}else f!==!1&&(e.edit=()=>t(l,{resourceConfig:o}));if(typeof i!="boolean"&&m(i)){const a=i;e.create=()=>t(a,{resourceConfig:o})}else i!==!1&&(e.create=()=>t(p,{resourceConfig:o}))}return t(c,{options:{label:o.label,...o.group&&{group:o.group}},name:o.model,...e,icon:o.icon,group:o.group})};var L=n;export{L 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
+ import { jsx } from "react/jsx-runtime";
21
+ import { Resource } from "react-admin";
22
+ import AutoCreate from "./DashAutoCreate";
23
+ import AutoEdit from "./DashAutoEdit";
24
+ import AutoShow from "./DashAutoShow";
25
+ import DashAutoList from "./DashAutoList";
26
+ import isFC from "./utils/isFC";
27
+ const DashAutoResource = ({
28
+ resourceConfig,
29
+ show,
30
+ list,
31
+ edit,
32
+ create
33
+ }) => {
34
+ const props = {};
35
+ if (typeof list !== "boolean" && isFC(list)) {
36
+ const CustomList = list;
37
+ props.list = () => /* @__PURE__ */ jsx(CustomList, { resourceConfig });
38
+ } else if (list !== false) {
39
+ props.list = () => /* @__PURE__ */ jsx(DashAutoList, { resourceConfig });
40
+ }
41
+ if (!resourceConfig.drawer) {
42
+ if (typeof show !== "boolean" && isFC(show)) {
43
+ const CustomShow = show;
44
+ props.show = () => /* @__PURE__ */ jsx(CustomShow, { resourceConfig });
45
+ } else if (show !== false) {
46
+ props.show = () => /* @__PURE__ */ jsx(AutoShow, { resourceConfig });
47
+ }
48
+ if (typeof edit !== "boolean" && isFC(edit)) {
49
+ const CustomEdit = edit;
50
+ props.edit = () => /* @__PURE__ */ jsx(CustomEdit, { resourceConfig });
51
+ } else if (edit !== false) {
52
+ props.edit = () => /* @__PURE__ */ jsx(AutoEdit, { resourceConfig });
53
+ }
54
+ if (typeof create !== "boolean" && isFC(create)) {
55
+ const CustomCreate = create;
56
+ props.create = () => /* @__PURE__ */ jsx(CustomCreate, { resourceConfig });
57
+ } else if (create !== false) {
58
+ props.create = () => /* @__PURE__ */ jsx(AutoCreate, { resourceConfig });
59
+ }
60
+ }
61
+ return /* @__PURE__ */ jsx(
62
+ Resource,
63
+ __spreadProps(__spreadValues({
64
+ options: __spreadValues({
65
+ label: resourceConfig.label
66
+ }, resourceConfig.group && { group: resourceConfig.group }),
67
+ name: resourceConfig.model
68
+ }, props), {
69
+ icon: resourceConfig.icon,
70
+ group: resourceConfig.group
71
+ })
72
+ );
73
+ };
74
+ var DashAutoResource_default = DashAutoResource;
75
+ export {
76
+ DashAutoResource_default as default
77
+ };
@@ -1 +1,16 @@
1
- import{jsx as s,jsxs as u}from"react/jsx-runtime";import{memo as t}from"react";const i=e=>{const{resourceConfig:o,ResourceMenu:r,children:a}=e;return s("div",{className:"dash-app-module",children:u("div",{className:"dash-module-horizontal-box",style:{maxWidth:"100%"},children:[s(r,{resourceConfig:o}),s("div",{className:"dash-module-box-content",children:a})]})})};var m=t(i,(e,o)=>e===o);export{m as default};
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { memo } from "react";
3
+ const DashDefaultResourceLayout = (props) => {
4
+ const { resourceConfig, ResourceMenu, children } = props;
5
+ return /* @__PURE__ */ jsx("div", { className: "dash-app-module", children: /* @__PURE__ */ jsxs("div", { className: "dash-module-horizontal-box", style: { maxWidth: "100%" }, children: [
6
+ /* @__PURE__ */ jsx(ResourceMenu, { resourceConfig }),
7
+ /* @__PURE__ */ jsx("div", { className: "dash-module-box-content", children })
8
+ ] }) });
9
+ };
10
+ var DashAutoResourceLayout_default = memo(
11
+ DashDefaultResourceLayout,
12
+ (props, nextProps) => props === nextProps
13
+ );
14
+ export {
15
+ DashAutoResourceLayout_default as default
16
+ };
@@ -1 +1,195 @@
1
- import{Fragment as B,jsx as e,jsxs as w}from"react/jsx-runtime";import{DashAutoReferenceTab as s,DashAutoTabs as i}from".";import h from"./common/DashAutoTitle";import v from"./DashAutoLayout";import x from"./DashAutoGroup";import{TopToolbar as c,Show as T}from"react-admin";import{ToolbarCreateButton as A,ToolbarDeleteButton as f,ToolbarEditButton as y,ToolbarExportButton as S,ToolbarListButton as E}from"./toolbar/buttons/ToolbarButtons";import{useMemo as R}from"react";import b from"react";const k=({resourceConfig:t,id:n,isDrawer:d=!1,locale:u,...a})=>{const l=R(()=>t.contextComponent||(({children:o})=>e(B,{children:o})),[t.contextComponent]),m=(()=>{const r=[];return d||(r.push(e(E,{resourceConfig:t})),r.push(e(y,{resourceConfig:t})),r.push(e(A,{resourceConfig:t})),r.push(e(f,{resourceConfig:t})),r.push(e(S,{resourceConfig:t}))),r})();return t.showComponent&&typeof t.showComponent=="function"?e(T,{component:"div",...n&&{id:n},title:e(h,{resourceConfig:t}),...a,...m.length&&{actions:e(c,{sx:{mb:2},children:m.map((o,p)=>b.cloneElement(o,{key:p}))})},children:w(l,{mode:"view",resourceConfig:t,children:[t.showComponent(t),t.references&&t.references.map(o=>s(o))]})}):t.formGroupMode==="tabs"?e(T,{component:"div",...n&&{id:n},title:e(h,{resourceConfig:t}),...a,...m.length&&{actions:e(c,{sx:{mb:2},children:m.map((o,p)=>b.cloneElement(o,{key:p}))})},children:w(l,{mode:"view",resourceConfig:t,children:[i(t,{mode:"view",locale:u}),t.references&&t.references.map(o=>s(o))]})}):t.formGroupMode==="groups"?e(T,{component:"div",...n&&{id:n},title:e(h,{resourceConfig:t}),...a,...m.length&&{actions:e(c,{sx:{mb:2},children:m.map((o,p)=>b.cloneElement(o,{key:p}))})},children:w(l,{mode:"view",resourceConfig:t,children:[x(t,{mode:"view",locale:u}),t.references&&t.references.map(o=>s(o))]})}):t.formGroupMode==="layout"?e(T,{component:"div",...n&&{id:n},title:e(h,{resourceConfig:t}),...a,...m.length&&{actions:e(c,{sx:{mb:2},children:m.map((o,p)=>b.cloneElement(o,{key:p}))})},children:w(l,{mode:"view",resourceConfig:t,children:[v(t,{mode:"view",locale:u}),t.references&&t.references.map(o=>s(o))]})}):e(T,{component:"div",...n&&{id:n},title:e(h,{resourceConfig:t}),...a,...m.length&&{actions:e(c,{sx:{mb:2},children:m.map((o,p)=>b.cloneElement(o,{key:p}))})},children:w(l,{mode:"view",resourceConfig:t,children:[i(t,{mode:"view",locale:u}),t.references&&t.references.map(o=>s(o))]})})};var O=k;export{O 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 { DashAutoReferenceTab, DashAutoTabs } from ".";
34
+ import AutoTitle from "./common/DashAutoTitle";
35
+ import AutoLayout from "./DashAutoLayout";
36
+ import AutoGroup from "./DashAutoGroup";
37
+ import { TopToolbar, Show } from "react-admin";
38
+ import {
39
+ ToolbarCreateButton,
40
+ ToolbarDeleteButton,
41
+ ToolbarEditButton,
42
+ ToolbarExportButton,
43
+ ToolbarListButton
44
+ } from "./toolbar/buttons/ToolbarButtons";
45
+ import { useMemo } from "react";
46
+ import React from "react";
47
+ const DashAutoShow = (_a) => {
48
+ var _b = _a, {
49
+ resourceConfig,
50
+ id,
51
+ isDrawer = false,
52
+ locale
53
+ } = _b, props = __objRest(_b, [
54
+ "resourceConfig",
55
+ "id",
56
+ "isDrawer",
57
+ "locale"
58
+ ]);
59
+ const ContextComponent = useMemo(() => {
60
+ return resourceConfig.contextComponent || (({ children }) => /* @__PURE__ */ jsx(Fragment, { children }));
61
+ }, [resourceConfig.contextComponent]);
62
+ const topToolbarActions = () => {
63
+ const componentsList = () => {
64
+ const result = [];
65
+ if (!isDrawer) {
66
+ result.push(/* @__PURE__ */ jsx(ToolbarListButton, { resourceConfig }));
67
+ result.push(/* @__PURE__ */ jsx(ToolbarEditButton, { resourceConfig }));
68
+ result.push(/* @__PURE__ */ jsx(ToolbarCreateButton, { resourceConfig }));
69
+ result.push(/* @__PURE__ */ jsx(ToolbarDeleteButton, { resourceConfig }));
70
+ result.push(/* @__PURE__ */ jsx(ToolbarExportButton, { resourceConfig }));
71
+ }
72
+ return result;
73
+ };
74
+ const components = componentsList();
75
+ return components;
76
+ };
77
+ const topToolbarActionsArray = topToolbarActions();
78
+ if (resourceConfig.showComponent && typeof resourceConfig.showComponent === "function") {
79
+ return /* @__PURE__ */ jsx(
80
+ Show,
81
+ __spreadProps(__spreadValues(__spreadValues(__spreadProps(__spreadValues({
82
+ component: "div"
83
+ }, id && { id }), {
84
+ title: /* @__PURE__ */ jsx(AutoTitle, { resourceConfig })
85
+ }), props), topToolbarActionsArray.length && {
86
+ actions: /* @__PURE__ */ jsx(TopToolbar, { sx: { mb: 2 }, children: topToolbarActionsArray.map(
87
+ (component, idx) => {
88
+ return React.cloneElement(component, { key: idx });
89
+ }
90
+ ) })
91
+ }), {
92
+ children: /* @__PURE__ */ jsxs(ContextComponent, { mode: "view", resourceConfig, children: [
93
+ resourceConfig.showComponent(resourceConfig),
94
+ resourceConfig.references && resourceConfig.references.map(
95
+ (reference) => DashAutoReferenceTab(reference)
96
+ )
97
+ ] })
98
+ })
99
+ );
100
+ }
101
+ if (resourceConfig.formGroupMode === "tabs") {
102
+ return /* @__PURE__ */ jsx(
103
+ Show,
104
+ __spreadProps(__spreadValues(__spreadValues(__spreadProps(__spreadValues({
105
+ component: "div"
106
+ }, id && { id }), {
107
+ title: /* @__PURE__ */ jsx(AutoTitle, { resourceConfig })
108
+ }), props), topToolbarActionsArray.length && {
109
+ actions: /* @__PURE__ */ jsx(TopToolbar, { sx: { mb: 2 }, children: topToolbarActionsArray.map(
110
+ (component, idx) => {
111
+ return React.cloneElement(component, { key: idx });
112
+ }
113
+ ) })
114
+ }), {
115
+ children: /* @__PURE__ */ jsxs(ContextComponent, { mode: "view", resourceConfig, children: [
116
+ DashAutoTabs(resourceConfig, { mode: "view", locale }),
117
+ resourceConfig.references && resourceConfig.references.map(
118
+ (reference) => DashAutoReferenceTab(reference)
119
+ )
120
+ ] })
121
+ })
122
+ );
123
+ }
124
+ if (resourceConfig.formGroupMode === "groups") {
125
+ return /* @__PURE__ */ jsx(
126
+ Show,
127
+ __spreadProps(__spreadValues(__spreadValues(__spreadProps(__spreadValues({
128
+ component: "div"
129
+ }, id && { id }), {
130
+ title: /* @__PURE__ */ jsx(AutoTitle, { resourceConfig })
131
+ }), props), topToolbarActionsArray.length && {
132
+ actions: /* @__PURE__ */ jsx(TopToolbar, { sx: { mb: 2 }, children: topToolbarActionsArray.map(
133
+ (component, idx) => {
134
+ return React.cloneElement(component, { key: idx });
135
+ }
136
+ ) })
137
+ }), {
138
+ children: /* @__PURE__ */ jsxs(ContextComponent, { mode: "view", resourceConfig, children: [
139
+ AutoGroup(resourceConfig, { mode: "view", locale }),
140
+ resourceConfig.references && resourceConfig.references.map(
141
+ (reference) => DashAutoReferenceTab(reference)
142
+ )
143
+ ] })
144
+ })
145
+ );
146
+ }
147
+ if (resourceConfig.formGroupMode === "layout") {
148
+ return /* @__PURE__ */ jsx(
149
+ Show,
150
+ __spreadProps(__spreadValues(__spreadValues(__spreadProps(__spreadValues({
151
+ component: "div"
152
+ }, id && { id }), {
153
+ title: /* @__PURE__ */ jsx(AutoTitle, { resourceConfig })
154
+ }), props), topToolbarActionsArray.length && {
155
+ actions: /* @__PURE__ */ jsx(TopToolbar, { sx: { mb: 2 }, children: topToolbarActionsArray.map(
156
+ (component, idx) => {
157
+ return React.cloneElement(component, { key: idx });
158
+ }
159
+ ) })
160
+ }), {
161
+ children: /* @__PURE__ */ jsxs(ContextComponent, { mode: "view", resourceConfig, children: [
162
+ AutoLayout(resourceConfig, { mode: "view", locale }),
163
+ resourceConfig.references && resourceConfig.references.map(
164
+ (reference) => DashAutoReferenceTab(reference)
165
+ )
166
+ ] })
167
+ })
168
+ );
169
+ }
170
+ return /* @__PURE__ */ jsx(
171
+ Show,
172
+ __spreadProps(__spreadValues(__spreadValues(__spreadProps(__spreadValues({
173
+ component: "div"
174
+ }, id && { id }), {
175
+ title: /* @__PURE__ */ jsx(AutoTitle, { resourceConfig })
176
+ }), props), topToolbarActionsArray.length && {
177
+ actions: /* @__PURE__ */ jsx(TopToolbar, { sx: { mb: 2 }, children: topToolbarActionsArray.map(
178
+ (component, idx) => {
179
+ return React.cloneElement(component, { key: idx });
180
+ }
181
+ ) })
182
+ }), {
183
+ children: /* @__PURE__ */ jsxs(ContextComponent, { mode: "view", resourceConfig, children: [
184
+ DashAutoTabs(resourceConfig, { mode: "view", locale }),
185
+ resourceConfig.references && resourceConfig.references.map(
186
+ (reference) => DashAutoReferenceTab(reference)
187
+ )
188
+ ] })
189
+ })
190
+ );
191
+ };
192
+ var DashAutoShow_default = DashAutoShow;
193
+ export {
194
+ DashAutoShow_default as default
195
+ };