adminizer 4.3.0-build.98 → 4.3.0
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/assets/add-9NSjG6Jx.js +1 -0
- package/assets/add-form-uUiOWEy_.js +1 -0
- package/assets/add-group-Db0HkA1m.js +1 -0
- package/assets/add-group-form-DMz0_Oo9.js +1 -0
- package/assets/add-user-BMklpOqf.js +1 -0
- package/assets/{add-user-form-DrclnTOd.js → add-user-form-izlXhv2-.js} +1 -1
- package/assets/{app-D8oqdt8J.css → app-BJd5vD4i.css} +1 -1
- package/assets/app-layout-DcgYmhNb.js +1 -0
- package/assets/{app-shell-CHEYhVco.js → app-shell-C8Cnr5Hy.js} +1 -1
- package/assets/app-sidebar-HwvXNZzk.js +1 -0
- package/assets/app-sidebar-header-C8TTx8yd.js +1 -0
- package/assets/app.js +5 -5
- package/assets/{breadcrumbs-C439DWrC.js → breadcrumbs-DSMzNYiS.js} +1 -1
- package/assets/catalog-C2INmTwI.js +6 -0
- package/assets/catalog-D4n6dpGl.css +1 -0
- package/assets/{dashboard-Bi5KeZu2.js → dashboard-DwFL6nqn.js} +1 -1
- package/assets/{date-picker-DbJ8nHp5.js → date-picker-kW3wZQr_.js} +1 -1
- package/assets/{del-modal-_b3CSNHb.js → del-modal-DyIWFflP.js} +1 -1
- package/assets/{field-renderer-4obZ_jUo.js → field-renderer-BNQVfOir.js} +3 -3
- package/assets/form-CAIoGuhZ.js +1 -0
- package/assets/form-NUd-JZJN.js +1 -0
- package/assets/{geo-json-CadjdhwW.js → geo-json-YeWQOYnT.js} +1 -1
- package/assets/{home-CPrEGvH6.js → home-CteDT1us.js} +2 -2
- package/assets/{icon-DM49pZW3.js → icon-DpkedrXG.js} +1 -1
- package/assets/{init-user-DNrB8Xt5.js → init-user-DaOvt0vG.js} +1 -1
- package/assets/{input-error--IOnWghB.js → input-error-CmXZF6xy.js} +1 -1
- package/assets/list-CXQmJbH8.js +1 -0
- package/assets/list-table-BPpHDVPf.js +22 -0
- package/assets/{login-6Xb8bcPq.js → login-DR6fvKtm.js} +1 -1
- package/assets/manifest.json +82 -82
- package/assets/{material-icon-BedgD2NE.js → material-icon-DwkE6wKL.js} +1 -1
- package/assets/media-manager-DYOfUh8F.js +14 -0
- package/assets/{module-B4-7WkY5.js → module-BIUqcf4-.js} +1 -1
- package/assets/{nav-footer-BwkQkwow.js → nav-footer-B85HLj-j.js} +1 -1
- package/assets/{nav-main-9Eb_A0rf.js → nav-main-BqKm87JZ.js} +1 -1
- package/assets/nav-user-DuCZNsZX.js +1 -0
- package/assets/notification-BQTjxH2H.js +27 -0
- package/assets/pagination-render-io0M2m2O.js +1 -0
- package/assets/{register-BIyjCy8M.js → register-hJD1ETdf.js} +1 -1
- package/assets/{tabs-BK_5wdPA.js → tabs-BhkFoerH.js} +1 -1
- package/assets/{theme-switcher-CKiJbMkh.js → theme-switcher-cgyA7_cO.js} +1 -1
- package/assets/{toast-editor-BZM5RHph.js → toast-editor-DwRk6WqT.js} +1 -1
- package/assets/{user-info-CcYdmjMZ.js → user-info-BGQvqBmO.js} +1 -1
- package/assets/{user-menu-content-DbUk8ZeY.js → user-menu-content-BDm88xaM.js} +1 -1
- package/assets/welcome-ks57d2us.js +1 -0
- package/controllers/add.js +1 -1
- package/controllers/catalog/Catalog.js +21 -20
- package/controllers/catalog/FrontendCatalogAdapter.d.ts +82 -0
- package/controllers/catalog/FrontendCatalogAdapter.js +228 -0
- package/controllers/catalog/FrontentCatalogAdapter.d.ts +4 -4
- package/controllers/catalog/FrontentCatalogAdapter.js +28 -10
- package/controllers/edit.js +14 -5
- package/controllers/form.js +8 -6
- package/controllers/login.js +3 -0
- package/controllers/media-manager/ThumbController.js +1 -1
- package/controllers/media-manager/mediaManagerAdapter.js +1 -1
- package/controllers/media-manager/mediaManagerApi.js +1 -2
- package/controllers/notifications/NotificationController.d.ts +1 -1
- package/controllers/notifications/NotificationController.js +5 -4
- package/controllers/view.js +5 -3
- package/helpers/inertiaAddHelper.js +1 -2
- package/helpers/inertiaFromHelper.js +1 -2
- package/index.d.ts +5 -0
- package/index.js +5 -0
- package/interfaces/adminpanelConfig.d.ts +12 -0
- package/lib/Adminizer.d.ts +4 -3
- package/lib/Adminizer.js +16 -22
- package/lib/catalog/AbstractCatalog.d.ts +6 -4
- package/lib/catalog/AbstractCatalog.js +5 -4
- package/lib/catalog/Navigation.d.ts +9 -7
- package/lib/catalog/Navigation.js +69 -40
- package/lib/inertia/inertiaAdapter.js +31 -13
- package/lib/media-manager/AbstractMediaManager.d.ts +5 -3
- package/lib/media-manager/DefaultMediaManager.d.ts +3 -3
- package/lib/media-manager/DefaultMediaManager.js +18 -13
- package/lib/media-manager/Items.js +5 -4
- package/lib/media-manager/MediaManagerHandler.d.ts +3 -3
- package/lib/media-manager/MediaManagerHandler.js +3 -3
- package/lib/media-manager/Thumb.d.ts +2 -1
- package/lib/media-manager/Thumb.js +3 -4
- package/lib/media-manager/helpers/MediaManagerHelper.d.ts +7 -2
- package/lib/media-manager/helpers/MediaManagerHelper.js +12 -8
- package/lib/model/adapter/waterline.js +6 -0
- package/package.json +3 -1
- package/system/Router.js +10 -8
- package/system/bindAccessRights.js +7 -0
- package/system/bindCors.d.ts +2 -0
- package/system/bindCors.js +41 -0
- package/system/bindInertia.js +1 -1
- package/system/bindMediaManager.js +1 -2
- package/system/bindNavigation.d.ts +1 -1
- package/system/bindNavigation.js +33 -35
- package/system/bindNotifications.js +4 -4
- package/system/bindReqFunctions.js +4 -1
- package/system/defaults.js +8 -0
- package/translations/ru.json +121 -120
- package/ui/components/handsontable.js +6 -3
- package/ui/lib/utils.d.ts +1 -0
- package/ui/lib/utils.js +16 -0
- package/assets/add-1E1UsMVZ.js +0 -1
- package/assets/add-form-CGa9QbwE.js +0 -1
- package/assets/add-group-7yAK6uFY.js +0 -1
- package/assets/add-group-form-BNmpvW8K.js +0 -1
- package/assets/add-user-NoYkTfZi.js +0 -1
- package/assets/app-layout-i2zN9Rn-.js +0 -1
- package/assets/app-sidebar-DeF8WNmW.js +0 -1
- package/assets/app-sidebar-header-DdM1EOrb.js +0 -1
- package/assets/catalog-B9hdop59.js +0 -6
- package/assets/catalog-C71LuRag.css +0 -1
- package/assets/form-Bte5kzjB.js +0 -1
- package/assets/form-oUlsuu7h.js +0 -1
- package/assets/list-smhWH8ZU.js +0 -1
- package/assets/list-table-h_zXp43g.js +0 -22
- package/assets/media-manager-UQT6RhI8.js +0 -14
- package/assets/nav-user-CRAfyE-x.js +0 -1
- package/assets/notification-ma2x7vka.js +0 -27
- package/assets/pagination-render-D3UyVAlr.js +0 -1
- package/assets/welcome-cWh1qnl_.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as b,j as s,aM as N,aN as g,aO as i,aP as c,aQ as f,aR as v,aS as k,aT as d,B as C,aU as M,aV as w,aW as _,aX as y,aY as B,aZ as x,W as n,a_ as T,a$ as p,b0 as t,C as o,b1 as h,b2 as j,b3 as m,b4 as u,b5 as R,b6 as $}from"./app.js";import{NavMain as P}from"./nav-main-BqKm87JZ.js";import l from"./material-icon-DwkE6wKL.js";import"./jsoneditor-D95dIAP2.js";import"./vendor-wzZzN_Jv.js";import"./monaco-ICtx6xoc.js";import"./handsontable-PVakPtJV.js";function F(){const r=b();return s.jsxs(N,{collapsible:"icon",variant:"inset",children:[s.jsx(g,{children:s.jsx(i,{children:s.jsxs(c,{children:[s.jsx(f,{className:"p-0 shadow-none border-none bg-transparent hidden md:block",children:s.jsxs(v,{children:[s.jsx(k,{asChild:!0,className:"text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground rounded-md",children:s.jsx(d,{asChild:!0,children:s.jsx(C,{variant:"ghost",asChild:!0,className:`w-full ${r.props.section?"":"pointer-events-none"}`,children:s.jsxs("div",{children:[s.jsx(l,{name:"rocket_launch",className:"!text-[18px]"}),s.jsx("span",{className:"group-data-[state=collapsed]:hidden",children:r.props.brand}),r.props.section&&s.jsx(M,{className:"ml-auto group-data-[state=collapsed]:hidden"})]})})})}),r.props.section&&s.jsx(w,{side:"right",className:"z-[1003]",children:r.props.section.map(e=>s.jsx("div",{children:e.subItems?s.jsxs(_,{children:[s.jsxs(y,{className:"flex gap-2 items-center cursor-pointer",children:[s.jsx(l,{name:e.icon,className:"!text-[18px]"}),s.jsx("span",{className:"hover:underline",children:e.title})]}),s.jsx(B,{children:e.subItems.map(a=>s.jsx(x,{children:a.type==="blank"?s.jsxs("a",{href:a.link,target:"_blank",className:"flex gap-2 items-center",children:[a.icon&&s.jsx(l,{name:a.icon,className:"!text-[18px]"}),s.jsx("span",{className:"hover:underline",children:a.title})]},a.id):s.jsxs(n,{href:a.link,className:"flex gap-2 items-center",children:[a.icon&&s.jsx(l,{name:a.icon,className:"!text-[18px]"}),s.jsx("span",{className:"hover:underline",children:a.title})]},a.id)},a.id))})]}):s.jsx(x,{children:e.type==="blank"?s.jsxs("a",{href:e.link,target:"_blank",className:"flex gap-2 items-center",children:[e.icon&&s.jsx(l,{name:e.icon,className:"!text-[18px]"}),s.jsx("span",{className:"hover:underline",children:e.title})]}):s.jsxs(n,{href:e.link,className:"flex gap-2 items-center",children:[e.icon&&s.jsx(l,{name:e.icon,className:"!text-[18px]"}),s.jsx("span",{className:"hover:underline",children:e.title})]})})},e.id))})]})}),s.jsx(T,{className:"px-2 py-0 block md:hidden",children:s.jsx(i,{children:s.jsx(p,{asChild:!0,className:"group/collapsible",children:s.jsxs(c,{children:[s.jsx(t,{asChild:!0,children:s.jsxs(d,{children:[s.jsx(l,{name:"rocket_launch",className:"!text-[18px]"}),s.jsx("span",{className:"overflow-hidden text-ellipsis whitespace-nowrap",children:r.props.brand}),r.props.section&&s.jsx(o,{className:"ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90"})]})}),r.props.section&&s.jsx(h,{children:s.jsx(j,{children:r.props.section&&r.props.section.map(e=>e.subItems?s.jsx(i,{children:s.jsx(p,{asChild:!0,className:"group/collapsible-sub",children:s.jsxs(c,{children:[s.jsx(t,{asChild:!0,children:s.jsxs(d,{children:[s.jsx(l,{name:e.icon,className:"!text-[18px]"}),s.jsx("span",{className:"overflow-hidden text-ellipsis whitespace-nowrap",children:e.title}),s.jsx(o,{className:"ml-auto transition-transform duration-200 group-data-[state=open]/collapsible-sub:rotate-90"})]})}),s.jsx(h,{children:s.jsx(j,{children:e.subItems.map(a=>s.jsx(m,{children:s.jsx(u,{asChild:!0,children:a.type==="blank"?s.jsxs("a",{href:a.link,target:"_blank",className:"flex gap-2 items-center",children:[a.icon&&s.jsx(l,{name:a.icon,className:"!text-[18px]"}),s.jsx("span",{className:"hover:underline",children:a.title})]}):s.jsxs(n,{href:a.link,className:"flex gap-2 items-center",children:[a.icon&&s.jsx(l,{name:a.icon,className:"!text-[18px]"}),s.jsx("span",{className:"hover:underline",children:a.title})]})})},a.id))})})]})})},e.id):s.jsx(m,{children:s.jsx(u,{asChild:!0,children:e.type==="blank"?s.jsxs("a",{href:e.link,target:"_blank",className:"flex gap-2 items-center",children:[e.icon&&s.jsx(l,{name:e.icon,className:"!text-[18px]"}),s.jsx("span",{className:"hover:underline",children:e.title})]}):s.jsxs(n,{href:e.link,className:"flex gap-2 items-center",children:[e.icon&&s.jsx(l,{name:e.icon,className:"!text-[18px]"}),s.jsx("span",{className:"hover:underline",children:e.title})]})})},e.id))})})]})})})})]},r.props.brand)})}),s.jsx(R,{children:s.jsx(P,{items:r.props.menu})}),s.jsx($,{children:s.jsx("div",{className:"text-center opacity-70",children:r.props.showVersion&&"v.4.3.0"})})]})}export{F as AppSidebar};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as P,j as e,h as f,aH as B,q as z,B as E,aI as _,v as H,w as J,aJ as F,M as q,N as G,E as K,O as U,r as V,aK as W,W as Y,L as T,aL as Q}from"./app.js";import{Breadcrumbs as X}from"./breadcrumbs-DSMzNYiS.js";import{NavUser as Z}from"./nav-user-DuCZNsZX.js";import{ThemeSwitcher as ee}from"./theme-switcher-cgyA7_cO.js";import{r as n}from"./monaco-ICtx6xoc.js";import te from"./material-icon-DwkE6wKL.js";const k=n.createContext(void 0),de=({children:i})=>{const[u,p]=n.useState([]),[b,m]=n.useState([]),[w,l]=n.useState([]),[S,y]=n.useState(!1),[r,c]=n.useState(null),N=P(),[M,j]=n.useState({}),d=[...b,...w],x=async()=>{try{const t=await f.get(`${window.routePrefix}/notifications/api`,{params:{unreadOnly:!0,limit:4}});p(t.data)}catch(t){console.error("Error fetching bell notifications:",t)}},h=async()=>{try{const t=await f.post(`${window.routePrefix}/notifications`);j(t.data)}catch(t){console.log(t)}},v=async()=>{await x()},g=async()=>{try{const t=await f.get(`${window.routePrefix}/notifications/api/get-classes`);c(t.data)}catch(t){console.error("Error fetching tabs:",t)}},C=async(t,s)=>{try{if(!t){await $(s);return}const a=await f.post(`${window.routePrefix}/notifications/api/search`,{s:t,notificationClass:s});l(a.data)}catch(a){console.error("Error searching notifications:",a)}},$=async t=>{y(!0);try{const s=`${window.routePrefix}/notifications/api/${t}`,a=await f.get(s,{params:{limit:20,skip:0,unreadOnly:!1}});return m([]),l(a.data),a.data}catch(s){return console.error("Error fetching all notifications:",s),[]}finally{y(!1)}},D=async(t,s)=>{try{const a=`${window.routePrefix}/notifications/api/${t}`,o=await f.get(a,{params:{limit:20,skip:s,unreadOnly:!1}});return l(R=>[...R,...o.data]),o.data}catch(a){return console.error("Error paginating notifications:",a),[]}};n.useEffect(()=>{if(!N.props.notifications)return;h(),x();const t=new EventSource(`${window.routePrefix}/notifications/api/stream`);return t.addEventListener("connected",s=>{const a=JSON.parse(s.data);console.log("Connected event:",a),g()}),t.addEventListener("notification",s=>{const a=JSON.parse(s.data);m(o=>[a,...o]),p(o=>[a,...o].slice(0,4))}),t.onerror=()=>{console.error("SSE connection error")},()=>t.close()},[]);const I=async(t,s)=>{try{await f.put(`${window.routePrefix}/notifications/api/${t}/${s}/read`,{}),m(a=>a.map(o=>o.id===s?{...o,read:!0}:o)),l(a=>a.map(o=>o.id===s?{...o,read:!0}:o)),p([])}catch(a){console.error("Error marking as read:",a)}},L=async()=>{try{await f.put(`${window.routePrefix}/notifications/api/read-all`),m(t=>t.map(s=>({...s,read:!0}))),l(t=>t.map(s=>({...s,read:!0}))),await x()}catch(t){console.error("Error marking all as read:",t)}},O=u.filter(t=>!t.read).length;return e.jsx(k.Provider,{value:{bellNotifications:u,allNotifications:d,unreadCount:O,getTabs:g,tabs:r,search:C,markAsRead:I,markAllAsRead:L,getLocale:h,messages:M,fetchAllNotifications:$,paginateNotifications:D,loading:S,refreshBellNotifications:v},children:i})},A=()=>{const i=n.useContext(k);if(i===void 0)throw new Error("useNotifications must be used within a NotificationProvider");return i};function ae(){const{bellNotifications:i,markAsRead:u,unreadCount:p,refreshBellNotifications:b,messages:m}=A(),[w,l]=n.useState(!1),S=async(r,c)=>{l(!0);try{await u(r,c),await b()}catch(N){console.error("Error marking as read:",N)}finally{l(!1)}},y=r=>{const c=new Date,N=new Date(r),M=c.getTime()-N.getTime(),j=Math.floor(M/1e3),d=new Intl.RelativeTimeFormat("en",{numeric:"auto"});if(j<60)return d.format(-j,"second");const x=Math.floor(j/60);if(x<60)return d.format(-x,"minute");const h=Math.floor(x/60);if(h<24)return d.format(-h,"hour");const v=Math.floor(h/24);if(v<30)return d.format(-v,"day");const g=Math.floor(v/30);if(g<12)return d.format(-g,"month");const C=Math.floor(g/12);return d.format(-C,"year")};return e.jsxs(B,{children:[e.jsx(z,{asChild:!0,className:"cursor-pointer data-[state=open]:bg-sidebar-accent",children:e.jsxs(E,{variant:"ghost",className:"relative",children:[e.jsx(_,{}),p>0&&e.jsx("div",{className:"absolute top-1.5 right-1.5 size-1.5 rounded-full bg-destructive"})]})}),e.jsxs(H,{className:"z-[1002] p-2",align:"end",onCloseAutoFocus:r=>r.preventDefault(),children:[e.jsx(J,{className:`${w?"opacity-50 pointer-events-none":""}`,children:i.length===0?e.jsx("div",{className:"p-4 text-center text-muted-foreground",children:"No notifications"}):i.map(r=>e.jsxs("div",{children:[e.jsx(F,{asChild:!0,className:"cursor-pointer",onSelect:c=>{c.preventDefault(),V.visit(`${window.routePrefix}/notifications?type=${r.notificationClass}`)},children:e.jsxs("div",{className:"grid grid-cols-[32px_250px] grid-rows-[auto_1fr] items-start gap-x-4 gap-y-2",children:[r.icon?e.jsx(te,{name:r.icon.icon,style:{color:r.icon.iconColor},className:"!text-[32px]"}):e.jsx("div",{}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"font-medium",children:r.title}),e.jsx("span",{className:"truncate",children:r.message})]}),e.jsxs("div",{className:"col-start-2 flex justify-between flex-nowrap items-center",children:[e.jsx("div",{className:"flex flex-nowrap gap-2 items-center",children:e.jsx("div",{children:y(r.createdAt)})}),e.jsxs(q,{children:[e.jsx(G,{asChild:!0,children:e.jsx(E,{variant:"ghost",size:"icon",className:"size-4",onClick:c=>{c.stopPropagation(),S(r.notificationClass,r.id)},children:e.jsx(K,{className:"text-primary"})})}),e.jsx(U,{side:"left",className:"z-[1003]",children:e.jsx("p",{children:m["Make read"]})})]})]})]})}),e.jsx(W,{})]},r.id))}),e.jsx(E,{variant:"secondary",asChild:!0,children:e.jsxs(Y,{href:`${window.routePrefix}/notifications`,className:`w-full ${w?"opacity-50 pointer-events-none":""}`,children:[m["View All"],w&&e.jsx(T,{className:"h-4 w-4 animate-spin"})]})})]})]})}function se({breadcrumbs:i=[]}){const{tabs:u}=A(),p=P();return e.jsx("header",{className:"border-sidebar-border/50 flex h-16 shrink-0 items-center gap-2 border-b px-6 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-12 md:px-4",children:e.jsxs("div",{className:"flex justify-between w-full",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Q,{className:"-ml-1"}),e.jsx(X,{breadcrumbs:i})]}),e.jsxs("div",{className:"flex gap-4 items-center",children:[e.jsx(ee,{}),p.props.notifications&&(u===null?e.jsx("div",{className:"w-[40px] flex-none flex justify-center",children:e.jsx(T,{className:"size-4 animate-spin"})}):u.length?e.jsx(ae,{}):null),e.jsx(Z,{})]})]})})}const fe=Object.freeze(Object.defineProperty({__proto__:null,AppSidebarHeader:se},Symbol.toStringTag,{value:"Module"}));export{se as A,de as N,fe as a,A as u};
|