@dashadmin/dash-auto-admin 1.3.24 → 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.
- package/dist/DashAutoAdminComponentRegistry.js +64 -1
- package/dist/DashAutoAdminForm.js +137 -1
- package/dist/DashAutoAdminResizableDrawer.js +63 -1
- package/dist/DashAutoAdminSaveButton.js +57 -1
- package/dist/DashAutoCreate.js +102 -1
- package/dist/DashAutoDrawer.js +256 -1
- package/dist/DashAutoEdit.js +99 -1
- package/dist/DashAutoFiltersGenerator.js +193 -1
- package/dist/DashAutoFormGroups.js +118 -1
- package/dist/DashAutoFormLayout.js +68 -1
- package/dist/DashAutoFormMuiTabs.js +291 -1
- package/dist/DashAutoFormTabs.js +132 -1
- package/dist/DashAutoGroup.js +27 -1
- package/dist/DashAutoLayout.js +31 -1
- package/dist/DashAutoList.js +218 -1
- package/dist/DashAutoPostFilterForm.js +47 -1
- package/dist/DashAutoReferenceTab.js +10 -1
- package/dist/DashAutoResource.js +77 -1
- package/dist/DashAutoResourceLayout.js +16 -1
- package/dist/DashAutoShow.js +195 -1
- package/dist/DashAutoTabbedForm.js +244 -1
- package/dist/DashAutoTabbedForm.review.js +221 -1
- package/dist/DashAutoTabs.js +11 -1
- package/dist/DashFilterWrapper.js +62 -1
- package/dist/DashRedirect.js +56 -1
- package/dist/TabbedLayout.js +38 -1
- package/dist/common/DashAutoTitle.js +33 -1
- package/dist/common/components/FabButton.js +59 -1
- package/dist/common/components/TranslatedLabel.js +60 -1
- package/dist/common/settings/Settings.js +196 -1
- package/dist/common/settings/SettingsBarIcons.js +61 -1
- package/dist/context/DashAutoAdminFormContext.js +15 -1
- package/dist/hooks/useAutoAdminLoadingStateMediator.js +36 -1
- package/dist/hooks/useAutoAdminTranslate.js +61 -1
- package/dist/hooks/useHash.js +24 -1
- package/dist/hooks/useLogger.js +20 -1
- package/dist/hooks/useRoutePathPattern.js +20 -1
- package/dist/hooks/useVirtualHash.js +28 -1
- package/dist/index.js +77 -3406
- package/dist/list/DashAutoListActions.js +57 -1
- package/dist/list/DashAutoListDatagridWrapper.js +68 -1
- package/dist/list/DashAutoListDefaultActionsWrapper.js +14 -1
- package/dist/list/DashAutoListFilterFormWithButton.js +80 -1
- package/dist/list/DashAutoListTopToolbar.js +180 -1
- package/dist/mui/AttributeToField.js +576 -1
- package/dist/mui/AttributeToInput.js +630 -1
- package/dist/mui/AutoAdminResizableDrawer.js +63 -1
- package/dist/mui/AutoDataGrid.js +120 -1
- package/dist/mui/AutoReferenceFormTab.js +53 -1
- package/dist/mui/AutoReferenceTab.js +46 -1
- package/dist/mui/AutoTabs.js +19 -1
- package/dist/mui/components/ExtendedPagination.js +34 -1
- package/dist/mui/components/ListStringField.js +25 -1
- package/dist/providers/DashAuthProvider.js +215 -1
- package/dist/providers/DashDataProvider.js +310 -1
- package/dist/providers/index.js +10 -1
- package/dist/react-admin.d.js +0 -0
- package/dist/toolbar/buttons/BottomToolbarButtons.js +65 -1
- package/dist/toolbar/buttons/DashResourceButton.js +181 -1
- package/dist/toolbar/buttons/ListButtons.js +80 -1
- package/dist/toolbar/buttons/ToolbarButtons.js +135 -1
- package/dist/types/ActionCallback.d.js +0 -0
- package/dist/utils/SimpleLogger.js +52 -1
- package/dist/utils/enumToChoices.js +5 -1
- package/dist/utils/evalActionPermission.js +11 -1
- package/dist/utils/groupByTabs.js +21 -1
- package/dist/utils/hashedGroupByTabs.js +12 -1
- package/dist/utils/invertMap.js +12 -1
- package/dist/utils/isClassComponent.js +7 -1
- package/dist/utils/isComponent.js +29 -1
- package/dist/utils/isEnum.js +5 -1
- package/dist/utils/isFC.js +8 -1
- package/dist/utils/replaceParams.js +9 -1
- package/dist/utils/validate.js +19 -1
- package/dist/wrappers/UserAction.js +60 -1
- package/dist/wrappers/index.js +4 -1
- package/package.json +135 -120
- package/src/DashAutoAdminComponentRegistry.tsx +75 -0
- package/src/DashAutoAdminForm.tsx +155 -0
- package/src/DashAutoAdminResizableDrawer.tsx +69 -0
- package/src/DashAutoAdminSaveButton.tsx +116 -0
- package/src/DashAutoCreate.tsx +118 -0
- package/src/DashAutoDrawer.tsx +288 -0
- package/src/DashAutoEdit.tsx +109 -0
- package/src/DashAutoFiltersGenerator.tsx +208 -0
- package/src/DashAutoFormGroups.tsx +146 -0
- package/src/DashAutoFormLayout.tsx.review +113 -0
- package/src/DashAutoFormMuiTabs.tsx +368 -0
- package/src/DashAutoFormTabs.tsx +177 -0
- package/src/DashAutoGroup.tsx +42 -0
- package/src/DashAutoLayout.tsx +57 -0
- package/src/DashAutoList.tsx +237 -0
- package/src/DashAutoPostFilterForm.tsx +35 -0
- package/src/DashAutoReferenceTab.tsx +9 -0
- package/src/DashAutoResource.tsx +85 -0
- package/src/DashAutoResourceLayout.tsx +50 -0
- package/src/DashAutoShow.tsx +200 -0
- package/src/DashAutoTabbedForm.review.tsx +262 -0
- package/src/DashAutoTabbedForm.tsx +324 -0
- package/src/DashAutoTabs.tsx +19 -0
- package/src/DashFilterWrapper.tsx +43 -0
- package/src/DashRedirect.tsx +46 -0
- package/src/TabbedLayout.tsx +29 -0
- package/src/common/DashAutoTitle.tsx +24 -0
- package/src/common/components/FabButton.tsx +40 -0
- package/src/common/components/TranslatedLabel.tsx +81 -0
- package/src/common/settings/Settings.tsx +236 -0
- package/src/common/settings/SettingsBarIcons.tsx +72 -0
- package/src/context/DashAutoAdminFormContext.tsx +31 -0
- package/src/hooks/useAutoAdminLoadingStateMediator.tsx +42 -0
- package/src/hooks/useAutoAdminTranslate.tsx +106 -0
- package/src/hooks/useHash.tsx +27 -0
- package/src/hooks/useLogger.tsx +23 -0
- package/src/hooks/useRoutePathPattern.tsx +24 -0
- package/src/hooks/useVirtualHash.tsx +34 -0
- package/src/index.ts +85 -0
- package/src/interfaces/ICustomResourceSubComponent.ts +11 -0
- package/src/interfaces/IDashApplicationLayoutMainAction.ts +37 -0
- package/src/interfaces/IDashApplicationLayoutMenuItem.ts +24 -0
- package/src/interfaces/IDashAutoAdminAttribute.ts +104 -0
- package/src/interfaces/IDashAutoAdminCustomFieldComponent.ts +18 -0
- package/src/interfaces/IDashAutoAdminFormOptions.ts +22 -0
- package/src/interfaces/IDashAutoAdminListActions.ts +13 -0
- package/src/interfaces/IDashAutoAdminReference.ts +16 -0
- package/src/interfaces/IDashAutoAdminResourceConfig.ts +360 -0
- package/src/interfaces/IDashAutoForm.ts +24 -0
- package/src/interfaces/IDashAutoGridButton.ts +35 -0
- package/src/interfaces/IDashAutoShow.ts +12 -0
- package/src/interfaces/IGroupExtraData.ts +8 -0
- package/src/interfaces/IRecord.ts +7 -0
- package/src/interfaces/IReferenceFilter.ts +55 -0
- package/src/interfaces/IResourceComponent.ts +8 -0
- package/src/interfaces/IToolbarButton.ts +11 -0
- package/src/list/DashAutoListActions.tsx +88 -0
- package/src/list/DashAutoListDatagridWrapper.tsx +74 -0
- package/src/list/DashAutoListDefaultActionsWrapper.tsx +31 -0
- package/src/list/DashAutoListFilterFormWithButton.tsx +93 -0
- package/src/list/DashAutoListTopToolbar.tsx +240 -0
- package/src/mui/AttributeToField.tsx +657 -0
- package/src/mui/AttributeToInput.tsx +728 -0
- package/src/mui/AutoAdminResizableDrawer.tsx +69 -0
- package/src/mui/AutoDataGrid.tsx +127 -0
- package/src/mui/AutoReferenceFormTab.tsx +51 -0
- package/src/mui/AutoReferenceTab.tsx +45 -0
- package/src/mui/AutoTabs.tsx +32 -0
- package/src/mui/components/ExtendedPagination.tsx +23 -0
- package/src/mui/components/ListStringField.tsx +32 -0
- package/src/providers/DashAuthProvider.ts +341 -0
- package/src/providers/DashDataProvider.ts +466 -0
- package/src/providers/index.ts +17 -0
- package/src/toolbar/buttons/BottomToolbarButtons.tsx +59 -0
- package/src/toolbar/buttons/DashResourceButton.tsx +223 -0
- package/src/toolbar/buttons/ListButtons.tsx +137 -0
- package/src/toolbar/buttons/ToolbarButtons.tsx +186 -0
- package/src/utils/SimpleLogger.tsx +46 -0
- package/src/utils/enumToChoices.tsx +3 -0
- package/src/utils/evalActionPermission.tsx +14 -0
- package/src/utils/groupByTabs.tsx +23 -0
- package/src/utils/hashedGroupByTabs.tsx +16 -0
- package/src/utils/invertMap.tsx +10 -0
- package/src/utils/isClassComponent.tsx +9 -0
- package/src/utils/isComponent.tsx +45 -0
- package/src/utils/isEnum.tsx +3 -0
- package/src/utils/isFC.tsx +6 -0
- package/src/utils/replaceParams.tsx +6 -0
- package/src/utils/validate.tsx +24 -0
- package/src/wrappers/UserAction.tsx +67 -0
- package/src/wrappers/index.tsx +1 -0
- /package/{dist → src}/DashAutoAdminSaveButton.tsx.bkup +0 -0
- /package/{dist/DashAutoFormLayout.tsx.review → src/DashAutoFormLayout.tsx} +0 -0
- /package/{dist → src}/DashAutoFormTabs.review +0 -0
- /package/{dist → src}/DashAutoFormTabs.tsx.formcontext.wip +0 -0
- /package/{dist → src}/mui/AttributeToField.tsx.review +0 -0
- /package/{dist → src}/mui/AttributeToInput.tsx.review +0 -0
- /package/{dist → src}/react-admin.d.ts +0 -0
- /package/{dist → src}/types/ActionCallback.d.ts +0 -0
package/dist/DashAutoList.js
CHANGED
|
@@ -1 +1,218 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
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
|
|
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
|
+
};
|
package/dist/DashAutoResource.js
CHANGED
|
@@ -1 +1,77 @@
|
|
|
1
|
-
|
|
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
|
|
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
|
+
};
|
package/dist/DashAutoShow.js
CHANGED
|
@@ -1 +1,195 @@
|
|
|
1
|
-
|
|
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
|
+
};
|