@dashadmin/dash-auto-admin 1.3.17 → 1.3.19
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 +1 -0
- package/dist/DashAutoAdminForm.js +1 -0
- package/dist/DashAutoAdminResizableDrawer.js +1 -0
- package/dist/DashAutoAdminSaveButton.js +1 -0
- package/dist/DashAutoAdminSaveButton.tsx.bkup +84 -0
- package/dist/DashAutoCreate.js +1 -0
- package/dist/DashAutoDrawer.js +1 -0
- package/dist/DashAutoEdit.js +1 -0
- package/dist/DashAutoFiltersGenerator.js +1 -0
- package/dist/DashAutoFormGroups.js +1 -0
- package/dist/DashAutoFormLayout.js +1 -0
- package/dist/DashAutoFormLayout.tsx.review +113 -0
- package/dist/DashAutoFormMuiTabs.js +1 -0
- package/dist/DashAutoFormTabs.js +1 -0
- package/dist/DashAutoFormTabs.review +170 -0
- package/dist/DashAutoFormTabs.tsx.formcontext.wip +234 -0
- package/dist/DashAutoGroup.js +1 -0
- package/dist/DashAutoLayout.js +1 -0
- package/dist/DashAutoList.js +1 -0
- package/dist/DashAutoPostFilterForm.js +1 -0
- package/dist/DashAutoReferenceTab.js +1 -0
- package/dist/DashAutoResource.js +1 -0
- package/dist/DashAutoResourceLayout.js +1 -0
- package/dist/DashAutoShow.js +1 -0
- package/dist/DashAutoTabbedForm.js +1 -0
- package/dist/DashAutoTabbedForm.review.js +1 -0
- package/dist/DashAutoTabs.js +1 -0
- package/dist/DashFilterWrapper.js +1 -0
- package/dist/DashRedirect.js +1 -0
- package/dist/TabbedLayout.js +1 -0
- package/dist/common/DashAutoTitle.js +1 -0
- package/dist/common/components/FabButton.js +1 -0
- package/dist/common/components/TranslatedLabel.js +1 -0
- package/dist/common/settings/Settings.js +1 -0
- package/dist/common/settings/SettingsBarIcons.js +1 -0
- package/dist/context/DashAutoAdminFormContext.js +1 -0
- package/dist/hooks/useAutoAdminLoadingStateMediator.js +1 -0
- package/dist/hooks/useAutoAdminTranslate.js +1 -0
- package/dist/hooks/useHash.js +1 -0
- package/dist/hooks/useLogger.js +1 -0
- package/dist/hooks/useRoutePathPattern.js +1 -0
- package/dist/hooks/useVirtualHash.js +1 -0
- package/dist/interfaces/ICustomResourceSubComponent.js +0 -0
- package/dist/interfaces/IDashApplicationLayoutMainAction.js +0 -0
- package/dist/interfaces/IDashApplicationLayoutMenuItem.js +0 -0
- package/dist/interfaces/IDashAutoAdminAttribute.js +0 -0
- package/dist/interfaces/IDashAutoAdminCustomFieldComponent.js +0 -0
- package/dist/interfaces/IDashAutoAdminFormOptions.js +0 -0
- package/dist/interfaces/IDashAutoAdminListActions.js +0 -0
- package/dist/interfaces/IDashAutoAdminReference.js +0 -0
- package/dist/interfaces/IDashAutoAdminResourceConfig.js +0 -0
- package/dist/interfaces/IDashAutoForm.js +0 -0
- package/dist/interfaces/IDashAutoGridButton.js +0 -0
- package/dist/interfaces/IDashAutoShow.js +0 -0
- package/dist/interfaces/IGroupExtraData.js +0 -0
- package/dist/interfaces/IRecord.js +0 -0
- package/dist/interfaces/IReferenceFilter.js +0 -0
- package/dist/interfaces/IResourceComponent.js +0 -0
- package/dist/interfaces/IToolbarButton.js +0 -0
- package/dist/list/DashAutoListActions.js +1 -0
- package/dist/list/DashAutoListDatagridWrapper.js +1 -0
- package/dist/list/DashAutoListDefaultActionsWrapper.js +1 -0
- package/dist/list/DashAutoListFilterFormWithButton.js +1 -0
- package/dist/list/DashAutoListTopToolbar.js +1 -0
- package/dist/mui/AttributeToField.js +1 -0
- package/dist/mui/AttributeToField.tsx.review +644 -0
- package/dist/mui/AttributeToInput.js +1 -0
- package/dist/mui/AttributeToInput.tsx.review +684 -0
- package/dist/mui/AutoAdminResizableDrawer.js +1 -0
- package/dist/mui/AutoDataGrid.js +1 -0
- package/dist/mui/AutoReferenceFormTab.js +1 -0
- package/dist/mui/AutoReferenceTab.js +1 -0
- package/dist/mui/AutoTabs.js +1 -0
- package/dist/mui/components/ExtendedPagination.js +1 -0
- package/dist/mui/components/ListStringField.js +1 -0
- package/dist/providers/DashAuthProvider.js +1 -0
- package/dist/providers/DashDataProvider.js +1 -0
- package/dist/providers/index.js +1 -0
- package/dist/react-admin.d.ts +5 -0
- package/dist/toolbar/buttons/BottomToolbarButtons.js +1 -0
- package/dist/toolbar/buttons/DashResourceButton.js +1 -0
- package/dist/toolbar/buttons/ListButtons.js +1 -0
- package/dist/toolbar/buttons/ToolbarButtons.js +1 -0
- package/dist/types/ActionCallback.d.ts +2 -0
- package/dist/utils/SimpleLogger.js +1 -0
- package/dist/utils/enumToChoices.js +1 -0
- package/dist/utils/evalActionPermission.js +1 -0
- package/dist/utils/groupByTabs.js +1 -0
- package/dist/utils/hashedGroupByTabs.js +1 -0
- package/dist/utils/invertMap.js +1 -0
- package/dist/utils/isClassComponent.js +1 -0
- package/dist/utils/isComponent.js +1 -0
- package/dist/utils/isEnum.js +1 -0
- package/dist/utils/isFC.js +1 -0
- package/dist/utils/replaceParams.js +1 -0
- package/dist/utils/validate.js +1 -0
- package/dist/wrappers/UserAction.js +1 -0
- package/dist/wrappers/index.js +1 -0
- package/package.json +14 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as t,jsxs as c}from"react/jsx-runtime";import{Tab as n,ReferenceManyField as o,ReferenceArrayField as l}from"react-admin";import r from"./AutoDataGrid";import i from"./components/ExtendedPagination";const d=e=>{const a=e.type?e.type:"ReferenceManyField";return c(n,{label:e.tab||e.reference,children:[a==="ReferenceManyField"&&t(o,{fullWidth:!0,reference:e.reference,target:e.target,pagination:t(i,{}),children:t(r,{schema:e?.schema,bulkActions:e?.BulkActions})}),a==="ReferenceArrayField"&&t(l,{fullWidth:!0,reference:e.reference,source:e.target,pagination:t(i,{}),children:t(r,{schema:e.schema,bulkActions:e?.BulkActions})})]},e.reference)};var p=d;export{d as AutoReferenceTab,p as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as p}from"react/jsx-runtime";import{Tab as u,useTranslate as A}from"react-admin";import{AttributeToField as l}from"./AttributeToField";import b from"../utils/groupByTabs";const d=(e,m,a)=>{const i=A();return b(m).map(r=>{const t=r[0].tab||a?.label||"",s=i(`dash-auto-admin-tabs.${t}`,{_:t});return p(u,{label:s,children:r.filter(o=>o?.inShow!==!1).map((o,n)=>l("view",e,o,n,a))},"tab_"+t)})};var y=d;export{d as AutoTabs,y as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Fragment as p,jsx as n}from"react/jsx-runtime";import{useContext as e}from"react";import{Pagination as i,ListContext as a}from"react-admin";const r=()=>e(a)??null,s=o=>{const t=r();return t&&t.total>t.perPage?n(i,{pageSizeOptions:[25,50,100,250,500,1e3],...o}):n(p,{})};var m=s;export{m as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Fragment as e,jsx as a}from"react/jsx-runtime";import{Chip as l}from"@mui/material";import s from"../../utils/invertMap";const o=({record:n,source:p,map:i})=>{const t=s(i);return a(e,{children:n[p].map(r=>[a(l,{label:t&&t[r]?t[r]:r},r),a(e,{children:" "})])})};o.defaultProps={addLabel:!0};var m=o;export{m as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const f=(y,n={})=>{const{useAxios:c,storage:s,authPersistence:d,syncToDeviceStore:l,syncFromDeviceStore:P,setAuthEvent:g,logoutFromStorage:u,getAuthEndpoint:h,guestRole:m={name:"guest"},enableTenantImpersonation:A=!1}=y,i={login:async({username:e,password:a})=>{await P();const t=c();if(!(e&&a))return Promise.reject();try{const r=await t.post("/login",{email:e,password:a});if(r.status>=200&&r.status<=299){const v=r.data.redirectTo;r.data!==""&&s.setItem("token",r.data.token);try{const{data:o}=await t.get(h());return d.saveAuth(o),s.setItem("authenticated","true"),s.setItem("user",JSON.stringify(o.user)),s.setItem("roles",o.user?.roles?JSON.stringify(o.user.roles):JSON.stringify(m)),g&&g({authenticated:!0,user:o.user,auth:o.auth,token:r.data.token,roles:o.user?.roles}),await l(),v?Promise.resolve({redirectTo:v}):Promise.resolve(o)}catch(o){return console.error("Error getting user auth data"),await u("login get auth error"),Promise.reject(o)}}}catch(r){return console.error(r),await u("login error logout"),Promise.reject(r)}return await u("login default error logout"),Promise.reject()},logout:async e=>(await u("logout"),Promise.resolve("/login")),getIdentity:async()=>{const e=c();if(!s.getItem("token"))return Promise.reject("No token present");try{const{data:t}=await e.get(h());return s.setItem("roles",t.user?.roles?JSON.stringify(t.user.roles):JSON.stringify(m)),s.setItem("authenticated","true"),s.setItem("user",JSON.stringify(t.user)),A&&t.user?.tenant_id&&(s.setItem("tenant_id",t.user?.tenant_id),s.setItem("user_id",t.user?.id)),await Promise.resolve(t)}catch(t){return await u("get identity error logout"),Promise.reject(t)}finally{await l()}},checkAuth:async()=>{const e=JSON.parse(s.getItem("authenticated")||"false"),a=JSON.parse(s.getItem("user")||"null");return e&&a?.id&&d.getAuth()?Promise.resolve():Promise.reject()},checkError:e=>{const a=e?.response?.status;if(window.dispatchEvent(new MessageEvent("dash-global-loader",{data:!1})),a){const t={};switch(a){case 400:case 401:case 403:case 500:return window.dispatchEvent(new MessageEvent("GlobalError",{data:{error:e.response.data||e}})),Promise.resolve();case 422:case 409:return t.error="An undefined error occurred, please try again later",e.response.data?.errors?Object.keys(e.response.data?.errors).forEach(r=>{t[r]=e.response.data?.errors[r].join(" , ")}):e.response.data?.message&&(t.error=e.response.data?.message),window.dispatchEvent(new MessageEvent("GlobalError",{data:{error:t}})),Promise.resolve();default:return window.dispatchEvent(new MessageEvent("GlobalError",{data:{error:e.response.data||e}})),Promise.resolve()}}else{const t={};return Object.keys(e).forEach(r=>{t[r]=Array.isArray(e[r])?e[r].join(" , "):e[r]}),Promise.resolve()}}};return{...i,...n,login:n.login||i.login,logout:n.logout||i.logout,checkAuth:n.checkAuth||i.checkAuth,checkError:n.checkError||i.checkError,getIdentity:n.getIdentity||i.getIdentity}};var p=f;export{f as createDashAuthProvider,p as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import D from"query-string";const F=(p,f,g)=>f,_=(p,f)=>{const g=new FormData;return Object.keys(f).forEach(d=>{f[d]!==void 0&&f[d]!==null&&(f[d]instanceof File?g.append(d,f[d]):typeof f[d]=="object"?g.append(d,JSON.stringify(f[d])):g.append(d,String(f[d])))}),g},$=(p,f={})=>{const{useAxios:g,storage:d,getCacheHash:w=()=>null,getResourceConfig:v=()=>{},processPostData:P=F,processFormData:m=_,processAxiosError:M=a=>{throw a}}=p;return{...{getList:async(a,t)=>{const r=d.getItem("tenant_id"),n=g();let e=P(a,{...t.filter,tenant_id:r},"getList");const i=t.filter&&t.filter.pagination?t.filter.pagination:t.pagination?t.pagination:!1;i?e={...e,pagination:!0,...i}:e={...e,pagination:!1},e={...e,...t.meta},t.sort&&t.sort.field&&t.sort.order&&!t.meta?.removeSortFilters&&(e={...e,...t.sort,order:t.sort.order.toLowerCase()});const s=w(a);s&&(e={...e,hash:s});const o=D.stringify(e,{arrayFormat:"bracket"});let c=`${a}?${o}`;const u=c.includes("forSelect")?"forSelect":c.includes("getMany")?"getMany":"getList";window.dispatchEvent(new MessageEvent("auto-admin-loading-state",{data:!0,origin:u,lastEventId:c}));try{const y=await n.get(c);let h;return typeof y.data?.data?.total<"u"?h=y.data.data:y?.data?.data&&Array.isArray(y.data.data)?h={data:y.data.data,total:y.data.total||y.data.data.length}:y?.data&&Array.isArray(y.data)?h={data:y.data,total:y.data.length}:h={data:[],total:0},window.dispatchEvent(new MessageEvent("auto-admin-loading-state",{data:!1,origin:u,lastEventId:c})),h}catch(y){return window.dispatchEvent(new MessageEvent("DASHGlobalError",{data:{error:y,config:{dialog:!0}}})),{data:[],total:0}}finally{window.dispatchEvent(new MessageEvent("auto-admin-loading-state",{data:!1,origin:u,lastEventId:c}))}},getOne:async(a,t)=>{const r=g();try{return{data:(await r.get(`${a}/${t.id}`,t.meta?{params:t.meta}:{})).data}}catch(n){throw n}},getMany:async(a,t)=>{const r=g(),n=Array.isArray(t.ids)&&t.ids.length>0&&Array.isArray(t.ids[0])?t.ids[0]:t.ids;let e={ids:Array.isArray(n)&&n.length>0&&n[0]?.id?n.map(o=>o.id):n};e={...e,pagination:!1};const i=w(a);i&&(e={...e,hash:i});const l=D.stringify(e,{arrayFormat:"bracket"}),s=`${a}/getMany?${l}`;try{const o=await r.get(s),c=o.data;return{data:c.data,total:c.data&&c.data.total?c.data.total:parseInt(o.headers["content-range"])||0}}catch(o){throw o}},getManyReference:async(a,t)=>{const r=d.getItem("tenant_id"),n=g(),e=t.filter&&t.filter.pagination?t.filter.pagination:!1;let i={...t.filter,[t.target]:t.id,tenant_id:r};e?i={...i,pagination:!0,...e}:i={...i,pagination:!1};const l=`${a}/getManyReference?${D.stringify(i,{arrayFormat:"bracket"})}`;try{const s=await n.get(l),o=s.data;return{data:o,total:o.data&&o.data.total?o.data.total:parseInt(s.headers["content-range"])||0}}catch(s){throw s}},update:async(a,t)=>{const r=g(),e=v(a)?.isFormData===!0||t.data?.isFormData===!0||t.meta?.isFormData===!0,i=t&&t.data&&t.data.tenant_id?t.data.tenant_id:d.getItem("tenant_id"),l=/\/\d+(?:\/[^\/]*)?$/.test(a)?a:t.id?`${a}/${t.id}`:a,s=P(l,{...t.data,tenant_id:i},"update");let o=t.meta?.method||"PUT";o=s?.axiosMethod||o,delete s.axiosMethod,o==="PUT"&&(s._method="PUT");try{if(e){const u=m(a,s);return await r.post(l,u,{headers:{"Content-Type":"multipart/form-data"}})}return await r.post(l,s)}catch(c){throw M(c,a,"update")}},create:async(a,t)=>{const r=g(),e=v(a)?.isFormData===!0||t.data?.isFormData===!0||t.meta?.isFormData===!0,i=/\/[\w-]+$/.test(a)?a:t.meta?.id?`${a}/${t.meta.id}`:a;let l=t.data?.tenant_id;a!=="system/user"&&!l&&(l=d.getItem("tenant_id"));const o=(t.meta?.method||"POST")==="POST"?r.post:r.put,c=P(i,{...t.data,...l?{tenant_id:l}:{}},"create");try{if(e){const u=m(a,c);return await o(i,u,{headers:{"Content-Type":"multipart/form-data"}})}return await o(i,c)}catch(u){throw M(u,a,"create")}},updateMany:async(a,t)=>{const r=d.getItem("tenant_id"),n=g(),e={filter:JSON.stringify({ids:t.ids}),tenant_id:r},l=(t.meta?.method||"POST")==="POST"?n.post:n.put;try{return await l(`${a}/updateMany?${D.stringify(e,{arrayFormat:"bracket"})}`,t.data)}catch(s){throw window.dispatchEvent(new MessageEvent("dash-global-loader",{data:!1})),s}},delete:async(a,t)=>{const r=d.getItem("tenant_id"),n=g(),{data:e}=await n.delete(`${a}/${t.id}`,{data:{tenant_id:r}});return{data:e}},deleteMany:async(a,t)=>{const r=d.getItem("tenant_id"),n=g(),e={ids:t.ids||[],tenant_id:r};return await n.post(`${a}/deleteMany?${D.stringify(e,{arrayFormat:"bracket"})}`)}},...f}};var S=$;export{$ as createDashDataProvider,S as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createDashAuthProvider as a}from"./DashAuthProvider";import{createDashDataProvider as o}from"./DashDataProvider";export{a as createDashAuthProvider,o as createDashDataProvider};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{DeleteButton as n}from"react-admin";import l from"../../DashAutoAdminSaveButton";import{DeleteWithConfirmButton as u}from"react-admin";import{WithRecord as a}from"react-admin";const v=r=>{const{resourceConfig:o}=r;if(!o)return t(l,{resourceConfig:o});if(o.bottomToolbarSaveButton)if(o.bottomToolbarSaveButton?.enabled){const e={resourceConfig:o,...o.bottomToolbarSaveButton?.props||{},alwaysEnable:o?.saveButtonAlwaysEnabled===!0};return o.bottomToolbarSaveButton?.component?t(o.bottomToolbarSaveButton.component,{...e}):t(l,{...e})}else return null;return t(l,{resourceConfig:o})},C=r=>{const{resourceConfig:o}=r;return o?o?.delete!==!1&&o?.bottomToolbarDeleteButton?t(n,{}):o?.bottomToolbarDeleteButton&&o?.bottomToolbarDeleteButton.enabled!==!1?o.bottomToolbarDeleteButton?.props&&o.bottomToolbarDeleteButton.props?.confirm?t(a,{render:e=>t(u,{record:e})}):o.bottomToolbarDeleteButton?.component?t(o.bottomToolbarDeleteButton.component,{...o.bottomToolbarDeleteButton?.props||{}}):t(n,{...o.bottomToolbarDeleteButton?.props||{}}):null:t(n,{})};export{C as BottomToolbarDeleteButton,v as BottomToolbarSaveButton};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as i}from"react/jsx-runtime";import*as A from"react";import{memo as D}from"react";import n from"prop-types";import{DASHAppConstants as _}from"@dashadmin/dash-constants";import{useResourceContext as z,useRecordContext as M,useRedirect as P}from"react-admin";import O from"../../hooks/useVirtualHash";import{IconButton as W,Tooltip as y}from"@mui/material";import{Add as X,Edit as $,Visibility as F}from"@mui/icons-material";import{DeleteWithConfirmButton as H}from"react-admin";const L=_.system.URL_PREFIX,C={true:{_scrollToTop:!0},false:{}},ne=e=>e.includes("create")?"create":e.includes("edit")?"edit":"show",I=e=>{const o=P(),T=e.children?.type||W,d={...e,...e.children?.props};let{navigate:u,scrollToTop:g,mode:t,size:c,navigation:l,resourceConfig:a,record:B,resource:S,showIcon:w=!0,title:U,icon:b,...v}=d;const m=S||z(),h=B||M();c||(c="small"),l||(l=a?.drawer?t==="edit"&&a.drawerOptions?.edit===!1||t==="show"&&a.drawerOptions?.show===!1||t==="create"&&a.drawerOptions?.create===!1?"redirect":"virtualhash":"redirect"),u||(u=r=>`${L}${m}/${l==="virtualhash"?"inline":""}${t==="edit"?"/"+r.id+"/edit":t==="show"?"/"+r.id+"/show":t==="create"?"/create":""}`);const{setVirtualHash:k}=O(),f=r=>{if(r.preventDefault(),r.stopPropagation(),d.onClick){d.onClick(r);return}if(l==="virtualhash"){const s=u(h);k(s)}l==="redirect"&&(t==="create"?o(t,m):o(t,m,h.id))},x=c==="small"?{"& .MuiButton-startIcon":{margin:0},"& .MuiButton-text":{paddingLeft:"4px"},borderRadius:"50% !important",padding:0,minWidth:"30px",width:"30px",height:"30px",overflow:"hidden"}:{},E=c==="small"?"":e?.label;if(t==="destroy")return i(y,{title:e?.label,children:i(H,{label:E,sx:{...x},size:c,record:h})});if(t==="custom"){const{title:r,...s}=v;return i(y,{title:e?.label,children:i(T,{onClick:R=>f(R),state:C[String(g)],size:c,...s})})}else{if(!w&&e.children)return A.cloneElement(e.children,{onClick:p=>f(p),...e.children.props});const{title:r,...s}=v,R=i(T,{onClick:p=>f(p),state:C[String(g)],size:c,title:e.children?void 0:r,...s,children:w&&(b||(t==="edit"?i($,{}):t==="show"?i(F,{}):t==="create"?i(X,{}):t))});return i(y,{title:e?.label||"",children:R})}};I.propTypes={icon:n.element,label:n.string,record:n.any,scrollToTop:n.bool,navigate:n.func,navigation:n.string,children:n.element,showIcon:n.bool};var ce=D(I,(e,o)=>e.resource===o.resource&&(e.record&&o.record?e.record.id===o.record.id:e.record==o.record)&&e.label===o.label&&e.showIcon===o.showIcon&&e.icon===o.icon);export{ce as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Fragment as s,jsx as o}from"react/jsx-runtime";import{EditButton as l}from"react-admin";import{DeleteButton as u}from"react-admin";import{ShowButton as f}from"react-admin";import n from"./DashResourceButton";const z=i=>{const{resourceConfig:t}=i;let e=f;if(!t)return o(e,{});if(t.listViewButton){if(t.listViewButton.component&&(e=t.listViewButton.component),t.listViewButton.enabled===!1||t?.view===!1)return o(s,{});t.listViewButton?.size||(t.listViewButton.size="small")}const r={mode:"show",resourceConfig:t,...t.listViewButton?.props||{}};return o(n,{...r,resourceConfig:t,...t.listDeleteButton?.props||{}})},E=i=>{const{resourceConfig:t}=i;let e=l;if(!t)return o(e,{});if(t.listEditButton){if(t.listEditButton.component&&(e=t.listEditButton.component),t.listEditButton.enabled===!1||t?.edit===!1)return o(s,{});t.listViewButton&&!t.listViewButton?.size&&(t.listViewButton.size="small")}return o(n,{mode:"edit",resourceConfig:t,...t.listViewButton?.props||{}})},h=i=>{const{resourceConfig:t}=i;let e=u;if(!t)return o(e,{});if(t.listDeleteButton){if(t.listDeleteButton.component&&(e=t.listDeleteButton.component),t.listDeleteButton.enabled===!1||t?.delete===!1)return o(s,{});t.listViewButton?.size||(t.listViewButton.size="small")}return o(n,{mode:"destroy",resourceConfig:t,...t.listDeleteButton?.props||{}})};export{h as ListDeleteButton,E as ListEditButton,z as ListViewButton};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{CreateButton as u}from"react-admin";import{ExportButton as a}from"react-admin";import{ListButton as b}from"react-admin";import{EditButton as B}from"react-admin";import{DeleteButton as s}from"react-admin";import p from"../../DashAutoAdminSaveButton";import{DeleteWithConfirmButton as f}from"react-admin";import{WithRecord as m}from"react-admin";import{SaveButton as i}from"react-admin";const n=(e,t)=>!e||!t?!0:e[t]!==!1,w=e=>{const{resourceConfig:t,mode:r}=e;if(!t)return o(i,{});if(!t.toolbarSaveButton)return o(i,{});if(t.toolbarSaveButton?.enabled&&n(t.toolbarSaveButton.modes,r)){const l={...t.toolbarSaveButton?.props||{},alwaysEnable:t?.saveButtonAlwaysEnabled===!0};return t.toolbarSaveButton?.component?o(t.toolbarSaveButton.component,{...l}):o(p,{...l})}return null},y=e=>{const{resourceConfig:t,mode:r}=e;return t?t?.list!==!1&&t?.toolbarListButton&&t?.toolbarListButton.enabled!==!1?n(t.toolbarListButton.modes,r)?o(b,{}):null:t.toolbarListButton?.enabled&&n(t.toolbarEditButton.modes,r)?t.toolbarListButton?.component?o(t.toolbarListButton.component,{...t.toolbarListButton?.props||{}}):o(b,{...t.toolbarListButton?.props||{}}):null:o(b,{})},G=e=>{const{resourceConfig:t,mode:r}=e;return t?t?.edit!==!1&&t?.toolbarEditButton&&t?.toolbarEditButton.enabled!==!1?n(t.toolbarEditButton.modes,r)?o(B,{}):null:t.toolbarEditButton?.enabled&&n(t.toolbarEditButton.modes,r)?t.toolbarEditButton?.component?o(t.toolbarEditButton.component,{...t.toolbarEditButton?.props||{}}):o(B,{...t.toolbarEditButton?.props||{}}):null:o(B,{})},W=e=>{const{resourceConfig:t,mode:r}=e;return t?t?.create!==!1&&t?.toolbarCreateButton&&t?.toolbarCreateButton.enabled!==!1?n(t.toolbarCreateButton.modes,r)?o(u,{}):null:t.toolbarCreateButton?.enabled&&n(t.toolbarCreateButton.modes,r)?t.toolbarCreateButton?.component?o(t.toolbarCreateButton.component,{...t.toolbarCreateButton?.props||{}}):o(u,{...t.toolbarCreateButton?.props||{}}):null:o(u,{})},k=e=>{const{resourceConfig:t,mode:r}=e;return t?t?.delete!==!1&&t?.toolbarDeleteButton?n(t.toolbarDeleteButton.modes,r)?o(s,{}):null:t?.toolbarDeleteButton&&t?.toolbarDeleteButton.enabled!==!1?n(t.toolbarCreateButton.modes,r)&&t.toolbarDeleteButton?.props&&t.toolbarDeleteButton.props?.confirm?o(m,{render:l=>o(f,{record:l})}):t.toolbarDeleteButton?.component?o(t.toolbarDeleteButton.component,{...t.toolbarDeleteButton?.props||{}}):o(s,{...t.toolbarDeleteButton?.props||{}}):null:o(s,{})},M=e=>{const{resourceConfig:t,mode:r}=e;return t?t?.exporter!==!1&&t?.toolbarExportButton&&t?.toolbarExportButton.enabled!==!1?n(t.toolbarExportButton.modes,r)?o(a,{}):null:t.toolbarExportButton?.enabled&&n(t.toolbarExportButton.modes,r)?t.toolbarExportButton?.component?o(t.toolbarExportButton.component,{...t.toolbarExportButton?.props||{}}):o(a,{...t.toolbarExportButton?.props||{}}):null:o(a,{})};export{W as ToolbarCreateButton,k as ToolbarDeleteButton,G as ToolbarEditButton,M as ToolbarExportButton,y as ToolbarListButton,w as ToolbarSaveButton};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r=Object.defineProperty;var g=(n,o,e)=>o in n?r(n,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[o]=e;var t=(n,o,e)=>g(n,typeof o!="symbol"?o+"":o,e);class s{constructor(o,e){t(this,"prefix",o);t(this,"debug",e);t(this,"loggerID",Math.random().toString(32).slice(2,6))}getLogString(){return`ReactAutoAdmin | ${this.prefix} [${this.loggerID}]`}get log(){return this.debug?console.log.bind(console,`\u26AA ${this.getLogString()}`):()=>{}}get warn(){return this.debug?console.warn.bind(console,`\u{1F7E1} ${this.getLogString()}`):()=>{}}get error(){return this.debug?console.error.bind(console,`\u{1F534} ${this.getLogString()}`):()=>{}}setEnabled(o){this.debug=o}}export{s as SimpleLogger};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const t=e=>Object.keys(e).map(n=>({id:e[n],name:n}));var a=t;export{a as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const n=(u,e)=>{let r=!0;return e==null?!0:e?(typeof e=="function"&&(r=e(u)),r):!1};var f=n;export{f as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const A=u=>{const t=[];return u.forEach(o=>{let a=!1;t.forEach(s=>{s[0].tab===o.tab&&(s.push(o),a=!0)}),a||t.push([o])}),t};var i=A;export{i as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const i=a=>{const r=[];return[...new Set(a.map(t=>t.tab))].forEach(t=>{r[t]=a.filter(e=>e.tab===t)}),r};var b=i;export{b as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const r=e=>{if(!e)return!1;const t={};return Object.keys(e).forEach(n=>t[e[n]]=n),t};var a=r;export{a as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const o=t=>!!(typeof t=="function"&&t.prototype&&t.prototype.isReactComponent);var e=o;export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import n from"react";function o(t){return typeof t=="function"&&!!t.prototype.isReactComponent}function r(t){return typeof t=="function"&&String(t).includes("return React.createElement")}function i(t){return o(t)||r(t)}function e(t){return n.isValidElement(t)}function u(t){return e(t)&&typeof t.type=="string"}function f(t){return e(t)&&typeof t.type=="function"}var c=i;export{c as default,o as isClassComponent,f as isCompositeTypeElement,u as isDOMTypeElement,e as isElement,r as isFunctionComponent,i as isReactComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=t=>typeof t=="object"&&!(t.attribute&&t.type);var o=e;export{o as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const f=e=>typeof e>"u"?!1:!!e.name;var r=f;export{r as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function g(e,t){delete e["*"];const n=new RegExp(`{(${Object.keys(e).join("|")})+}`,"g");return t.replace(n,(c,r)=>e[r])}var i=g;export{i as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const n=o=>r=>{const e={};return o.forEach(t=>{if(t.validate)try{t.validate(r[t.attribute],r)}catch(i){let a="Error";i instanceof Error&&(a=i.message),e[t.attribute]=a}}),e};var f=n;export{f as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Fragment as C,jsx as n}from"react/jsx-runtime";import{WithRecord as p,Button as d}from"react-admin";import m from"../utils/isFC";const A=c=>{const{method:i,attribute:o,resourceConfig:a,record:l,options:r}=c,t=!1;t&&console.log("\u{1F527} UserAction - component:",o.component),t&&console.log("\u{1F527} UserAction - isFC(attribute.component):",m(o.component)),t&&console.log("\u{1F527} UserAction - method:",i);const s=r?.locale||c.locale;if(o.component&&m(o.component)){t&&console.log("\u{1F527} UserAction - Rendering custom component");const e=o.component;return n(e,{method:i,attribute:o,resourceConfig:a,...l&&{record:l},...o?.componentProps,locale:s,options:r})}if(typeof o.action=="function"){const e=o.action;return n(p,{label:o.label,render:u=>n(d,{value:o.label,onClick:()=>e(u.id),children:n(C,{children:o.label})})})}return null};var B=A;export{B as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{default as r}from"./UserAction";export{r as UserAction};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dashadmin/dash-auto-admin",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.19",
|
|
4
4
|
"private": false,
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"lint:fix": "pnpm prettier --write .",
|
|
12
12
|
"check-updates": "pnpm npm-check-updates",
|
|
13
13
|
"updates-packages": "pnpm npm-check-updates -u",
|
|
14
|
-
"build": "vite build"
|
|
14
|
+
"build": "rm -rf dist && node ../dash-build/compile.mjs && vite build"
|
|
15
15
|
},
|
|
16
16
|
"browserslist": {
|
|
17
17
|
"production": [
|
|
@@ -110,10 +110,21 @@
|
|
|
110
110
|
"exports": {
|
|
111
111
|
".": {
|
|
112
112
|
"import": "./dist/index.js"
|
|
113
|
+
},
|
|
114
|
+
"./src/*": {
|
|
115
|
+
"import": "./dist/*.js"
|
|
113
116
|
}
|
|
114
117
|
}
|
|
115
118
|
},
|
|
116
119
|
"files": [
|
|
117
120
|
"dist"
|
|
118
|
-
]
|
|
121
|
+
],
|
|
122
|
+
"exports": {
|
|
123
|
+
".": {
|
|
124
|
+
"import": "./src/index.ts"
|
|
125
|
+
},
|
|
126
|
+
"./src/*": {
|
|
127
|
+
"import": "./src/*"
|
|
128
|
+
}
|
|
129
|
+
}
|
|
119
130
|
}
|