adminizer 4.5.0 → 4.6.0-build.202
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-C_-KTZY-.js → add-B8GYr9Sn.js} +1 -1
- package/assets/{add-group-Bg5tLxYu.js → add-group-D-oqZjnR.js} +1 -1
- package/assets/{add-user-H6XsOKX_.js → add-user-CVjGIJe8.js} +1 -1
- package/assets/{app-layout-CbRvDFF3.js → app-layout-BbIIJVA5.js} +1 -1
- package/assets/{app-sidebar-CQqvkGH0.js → app-sidebar-CtgnXD3n.js} +1 -1
- package/assets/app.js +2 -2
- package/assets/{catalog-BsRePE_I.js → catalog-Dksg6Ktq.js} +1 -1
- package/assets/{dashboard-Bynx-P6M.js → dashboard-Dju1w--H.js} +1 -1
- package/assets/{form-D6rF7waX.js → form-C7LRXfge.js} +1 -1
- package/assets/{history-DL0tB2tZ.js → history-DxIi7yPY.js} +1 -1
- package/assets/{home-CADtJAH_.js → home-BUSE07NY.js} +2 -2
- package/assets/{list-B3Ki-psl.js → list-B6iLj8LH.js} +1 -1
- package/assets/manifest.json +26 -26
- package/assets/{module-B5hkMJ4M.js → module-3NsdEr7f.js} +1 -1
- package/assets/{notification-D1_TtX__.js → notification-BNz2iBvD.js} +1 -1
- package/assets/{welcome-AlKSDf1S.js → welcome-DtWHDtJz.js} +1 -1
- package/lib/Adminizer.d.ts +2 -0
- package/lib/Adminizer.js +3 -1
- package/package.json +1 -1
- package/system/Router.d.ts +8 -2
- package/system/Router.js +90 -65
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./app.js","./jsoneditor-De1FvcYu.js","./handsontable-PxYdjN8c.js","./monaco-BhBYtg3d.js","./app-7JBp0Pby.css","./add-form-BdmoVC_G.js","./icon-BTIjB9Wk.js","./field-renderer-C1uKgcGe.js","./dynamic-controls-k61T9W2P.js","./field-renderer-DV8OITPR.css","./input-error-CSrUHo1P.js","./DiffViewer-B36sF5l-.js","./add-group-form-B7c4coU-.js","./add-user-form-BXSGx38D.js","./material-icon-BXxpxGAd.js","./app-shell-DbPu3ZPM.js","./app-sidebar-header-C8sntqs3.js","./breadcrumbs-Df-vVsyM.js","./nav-user-PtK5V1sV.js","./user-info-BTJNUzpi.js","./user-menu-content-DUnYpt8t.js","./theme-switcher-Ca0SixmO.js","./app-sidebar-
|
|
2
|
-
import{_ as t}from"./jsoneditor-De1FvcYu.js";import{u as x,j as o,ah as v,ai as P}from"./app.js";import{r as l}from"./handsontable-PxYdjN8c.js";import"./monaco-BhBYtg3d.js";const L=(i,n,_)=>{const r=i[n];return r?typeof r=="function"?r():Promise.resolve(r):new Promise((p,m)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(m.bind(null,new Error("Unknown variable dynamic import: "+n+(n.split("/").length!==_?". Note that variables only represent file names one level deep.":""))))})};function T(){const i=x(),[n,_]=l.useState(null),[r,p]=l.useState(null),m=i.props.controls,c=async()=>{const{component:s,props:a}=m[0],E=(await L(Object.assign({"../components/VanillaJSONEditor.tsx":()=>t(()=>import("./app.js").then(e=>e.bY),__vite__mapDeps([0,1,2,3,4]),import.meta.url),"../components/add-form.tsx":()=>t(()=>import("./add-form-BdmoVC_G.js"),__vite__mapDeps([5,0,1,2,3,4,6,7,8,9,10,11]),import.meta.url),"../components/add-group-form.tsx":()=>t(()=>import("./add-group-form-B7c4coU-.js"),__vite__mapDeps([12,0,1,2,3,4,6]),import.meta.url),"../components/add-user-form.tsx":()=>t(()=>import("./add-user-form-BXSGx38D.js"),__vite__mapDeps([13,0,1,2,3,4,6,10,14]),import.meta.url),"../components/app-shell.tsx":()=>t(()=>import("./app-shell-DbPu3ZPM.js"),__vite__mapDeps([15,0,1,2,3,4]),import.meta.url),"../components/app-sidebar-header.tsx":()=>t(()=>import("./app-sidebar-header-C8sntqs3.js").then(e=>e.c),__vite__mapDeps([16,0,1,2,3,4,17,18,19,20,21,6,14]),import.meta.url),"../components/app-sidebar.tsx":()=>t(()=>import("./app-sidebar-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./app.js","./jsoneditor-De1FvcYu.js","./handsontable-PxYdjN8c.js","./monaco-BhBYtg3d.js","./app-7JBp0Pby.css","./add-form-BdmoVC_G.js","./icon-BTIjB9Wk.js","./field-renderer-C1uKgcGe.js","./dynamic-controls-k61T9W2P.js","./field-renderer-DV8OITPR.css","./input-error-CSrUHo1P.js","./DiffViewer-B36sF5l-.js","./add-group-form-B7c4coU-.js","./add-user-form-BXSGx38D.js","./material-icon-BXxpxGAd.js","./app-shell-DbPu3ZPM.js","./app-sidebar-header-C8sntqs3.js","./breadcrumbs-Df-vVsyM.js","./nav-user-PtK5V1sV.js","./user-info-BTJNUzpi.js","./user-menu-content-DUnYpt8t.js","./theme-switcher-Ca0SixmO.js","./app-sidebar-CtgnXD3n.js","./nav-main-DcvkRp44.js","./date-picker-Dk9WjnjY.js","./form-BjOpJfcr.js","./geo-json-D5fjz6BF.js","./list-table-DSRvmzBT.js","./del-modal-TaroxmfE.js","./pagination-render-B5A4YOfb.js","./nav-footer-Q8fVAK6n.js","./toast-editor-D3dhpAw1.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as t}from"./jsoneditor-De1FvcYu.js";import{u as x,j as o,ah as v,ai as P}from"./app.js";import{r as l}from"./handsontable-PxYdjN8c.js";import"./monaco-BhBYtg3d.js";const L=(i,n,_)=>{const r=i[n];return r?typeof r=="function"?r():Promise.resolve(r):new Promise((p,m)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(m.bind(null,new Error("Unknown variable dynamic import: "+n+(n.split("/").length!==_?". Note that variables only represent file names one level deep.":""))))})};function T(){const i=x(),[n,_]=l.useState(null),[r,p]=l.useState(null),m=i.props.controls,c=async()=>{const{component:s,props:a}=m[0],E=(await L(Object.assign({"../components/VanillaJSONEditor.tsx":()=>t(()=>import("./app.js").then(e=>e.bY),__vite__mapDeps([0,1,2,3,4]),import.meta.url),"../components/add-form.tsx":()=>t(()=>import("./add-form-BdmoVC_G.js"),__vite__mapDeps([5,0,1,2,3,4,6,7,8,9,10,11]),import.meta.url),"../components/add-group-form.tsx":()=>t(()=>import("./add-group-form-B7c4coU-.js"),__vite__mapDeps([12,0,1,2,3,4,6]),import.meta.url),"../components/add-user-form.tsx":()=>t(()=>import("./add-user-form-BXSGx38D.js"),__vite__mapDeps([13,0,1,2,3,4,6,10,14]),import.meta.url),"../components/app-shell.tsx":()=>t(()=>import("./app-shell-DbPu3ZPM.js"),__vite__mapDeps([15,0,1,2,3,4]),import.meta.url),"../components/app-sidebar-header.tsx":()=>t(()=>import("./app-sidebar-header-C8sntqs3.js").then(e=>e.c),__vite__mapDeps([16,0,1,2,3,4,17,18,19,20,21,6,14]),import.meta.url),"../components/app-sidebar.tsx":()=>t(()=>import("./app-sidebar-CtgnXD3n.js"),__vite__mapDeps([22,0,1,2,3,4,23,14]),import.meta.url),"../components/breadcrumbs.tsx":()=>t(()=>import("./breadcrumbs-Df-vVsyM.js"),__vite__mapDeps([17,0,1,2,3,4]),import.meta.url),"../components/date-picker.tsx":()=>t(()=>import("./date-picker-Dk9WjnjY.js"),__vite__mapDeps([24,0,1,2,3,4]),import.meta.url),"../components/dynamic-controls.tsx":()=>t(()=>import("./dynamic-controls-k61T9W2P.js"),__vite__mapDeps([8,0,1,2,3,4]),import.meta.url),"../components/field-renderer.tsx":()=>t(()=>import("./field-renderer-C1uKgcGe.js").then(e=>e.f),__vite__mapDeps([7,1,0,2,3,4,8,9]),import.meta.url),"../components/form.tsx":()=>t(()=>import("./form-BjOpJfcr.js"),__vite__mapDeps([25,0,1,2,3,4,5,6,7,8,9,10,11]),import.meta.url),"../components/geo-json.tsx":()=>t(()=>import("./geo-json-D5fjz6BF.js"),__vite__mapDeps([26,0,1,2,3,4]),import.meta.url),"../components/handsontable.tsx":()=>t(()=>import("./app.js").then(e=>e.bZ),__vite__mapDeps([0,1,2,3,4]),import.meta.url),"../components/icon.tsx":()=>t(()=>import("./icon-BTIjB9Wk.js"),__vite__mapDeps([6,0,1,2,3,4]),import.meta.url),"../components/input-error.tsx":()=>t(()=>import("./input-error-CSrUHo1P.js"),__vite__mapDeps([10,0,1,2,3,4]),import.meta.url),"../components/list-table.tsx":()=>t(()=>import("./list-table-DSRvmzBT.js"),__vite__mapDeps([27,0,1,2,3,4,6,14,28,29]),import.meta.url),"../components/material-icon.tsx":()=>t(()=>import("./material-icon-BXxpxGAd.js"),__vite__mapDeps([14,0,1,2,3,4]),import.meta.url),"../components/monaco-editor.tsx":()=>t(()=>import("./app.js").then(e=>e.b_),__vite__mapDeps([0,1,2,3,4]),import.meta.url),"../components/multi-select.tsx":()=>t(()=>import("./app.js").then(e=>e.b$),__vite__mapDeps([0,1,2,3,4]),import.meta.url),"../components/nav-footer.tsx":()=>t(()=>import("./nav-footer-Q8fVAK6n.js"),__vite__mapDeps([30,0,1,2,3,4,6]),import.meta.url),"../components/nav-main.tsx":()=>t(()=>import("./nav-main-DcvkRp44.js"),__vite__mapDeps([23,0,1,2,3,4,14]),import.meta.url),"../components/nav-user.tsx":()=>t(()=>import("./nav-user-PtK5V1sV.js"),__vite__mapDeps([18,0,1,2,3,4,19,20]),import.meta.url),"../components/pagination-render.tsx":()=>t(()=>import("./pagination-render-B5A4YOfb.js"),__vite__mapDeps([29,0,1,2,3,4]),import.meta.url),"../components/theme-switcher.tsx":()=>t(()=>import("./theme-switcher-Ca0SixmO.js"),__vite__mapDeps([21,0,1,2,3,4,6]),import.meta.url),"../components/toast-editor.tsx":()=>t(()=>import("./toast-editor-D3dhpAw1.js"),__vite__mapDeps([31,0,1,2,3,4]),import.meta.url),"../components/user-info.tsx":()=>t(()=>import("./user-info-BTJNUzpi.js"),__vite__mapDeps([19,0,1,2,3,4]),import.meta.url),"../components/user-menu-content.tsx":()=>t(()=>import("./user-menu-content-DUnYpt8t.js"),__vite__mapDeps([20,0,1,2,3,4,19]),import.meta.url)}),`../components/${s}.tsx`,3)).default;_(o.jsx(E,{...a}))},d=async()=>{const{component:s}=m[1],u=(await import(s)).default;p(o.jsx(u,{message:"Hello from Component B"}))};return o.jsxs(o.Fragment,{children:[o.jsx(v,{title:"Home"}),o.jsx("div",{children:o.jsx(P,{href:"/page",children:"Page"})}),o.jsx("div",{children:o.jsx("h1",{children:"Is Home"})}),o.jsxs("div",{children:[o.jsx("button",{onClick:c,children:"Загрузить компонент"}),o.jsx("p",{}),n||o.jsx("p",{children:"Нажмите кнопку, чтобы загрузить компонент"})]}),o.jsx("p",{}),o.jsxs("div",{children:[o.jsx("button",{onClick:d,children:"Загрузить компонент"}),o.jsx("p",{}),r||o.jsx("p",{children:"Нажмите кнопку, чтобы загрузить компонент"})]})]})}export{T as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as o}from"./app.js";import{A as r}from"./app-layout-
|
|
1
|
+
import{j as o}from"./app.js";import{A as r}from"./app-layout-BbIIJVA5.js";import t from"./list-table-DSRvmzBT.js";import"./jsoneditor-De1FvcYu.js";import"./handsontable-PxYdjN8c.js";import"./monaco-BhBYtg3d.js";import"./app-shell-DbPu3ZPM.js";import"./app-sidebar-CtgnXD3n.js";import"./nav-main-DcvkRp44.js";import"./material-icon-BXxpxGAd.js";import"./app-sidebar-header-C8sntqs3.js";import"./breadcrumbs-Df-vVsyM.js";import"./nav-user-PtK5V1sV.js";import"./user-info-BTJNUzpi.js";import"./user-menu-content-DUnYpt8t.js";import"./theme-switcher-Ca0SixmO.js";import"./icon-BTIjB9Wk.js";import"./del-modal-TaroxmfE.js";import"./pagination-render-B5A4YOfb.js";const m=[],y=()=>o.jsx(r,{breadcrumbs:m,className:"overflow-auto h-[calc(100svh-16px)]",children:o.jsx(t,{})});export{y as default};
|
package/assets/manifest.json
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
"_handsontable-PxYdjN8c.js"
|
|
8
8
|
]
|
|
9
9
|
},
|
|
10
|
-
"_app-layout-
|
|
11
|
-
"file": "app-layout-
|
|
10
|
+
"_app-layout-BbIIJVA5.js": {
|
|
11
|
+
"file": "app-layout-BbIIJVA5.js",
|
|
12
12
|
"name": "app-layout",
|
|
13
13
|
"imports": [
|
|
14
14
|
"src/assets/js/app.tsx",
|
|
@@ -247,7 +247,7 @@
|
|
|
247
247
|
]
|
|
248
248
|
},
|
|
249
249
|
"src/assets/js/components/app-sidebar.tsx": {
|
|
250
|
-
"file": "app-sidebar-
|
|
250
|
+
"file": "app-sidebar-CtgnXD3n.js",
|
|
251
251
|
"name": "app-sidebar",
|
|
252
252
|
"src": "src/assets/js/components/app-sidebar.tsx",
|
|
253
253
|
"isDynamicEntry": true,
|
|
@@ -499,13 +499,13 @@
|
|
|
499
499
|
]
|
|
500
500
|
},
|
|
501
501
|
"src/assets/js/pages/add-group.tsx": {
|
|
502
|
-
"file": "add-group-
|
|
502
|
+
"file": "add-group-D-oqZjnR.js",
|
|
503
503
|
"name": "add-group",
|
|
504
504
|
"src": "src/assets/js/pages/add-group.tsx",
|
|
505
505
|
"isDynamicEntry": true,
|
|
506
506
|
"imports": [
|
|
507
507
|
"src/assets/js/app.tsx",
|
|
508
|
-
"_app-layout-
|
|
508
|
+
"_app-layout-BbIIJVA5.js",
|
|
509
509
|
"src/assets/js/components/add-group-form.tsx",
|
|
510
510
|
"_jsoneditor-De1FvcYu.js",
|
|
511
511
|
"_handsontable-PxYdjN8c.js",
|
|
@@ -524,13 +524,13 @@
|
|
|
524
524
|
]
|
|
525
525
|
},
|
|
526
526
|
"src/assets/js/pages/add-user.tsx": {
|
|
527
|
-
"file": "add-user-
|
|
527
|
+
"file": "add-user-CVjGIJe8.js",
|
|
528
528
|
"name": "add-user",
|
|
529
529
|
"src": "src/assets/js/pages/add-user.tsx",
|
|
530
530
|
"isDynamicEntry": true,
|
|
531
531
|
"imports": [
|
|
532
532
|
"src/assets/js/app.tsx",
|
|
533
|
-
"_app-layout-
|
|
533
|
+
"_app-layout-BbIIJVA5.js",
|
|
534
534
|
"src/assets/js/components/add-user-form.tsx",
|
|
535
535
|
"_jsoneditor-De1FvcYu.js",
|
|
536
536
|
"_handsontable-PxYdjN8c.js",
|
|
@@ -550,13 +550,13 @@
|
|
|
550
550
|
]
|
|
551
551
|
},
|
|
552
552
|
"src/assets/js/pages/add.tsx": {
|
|
553
|
-
"file": "add-
|
|
553
|
+
"file": "add-B8GYr9Sn.js",
|
|
554
554
|
"name": "add",
|
|
555
555
|
"src": "src/assets/js/pages/add.tsx",
|
|
556
556
|
"isDynamicEntry": true,
|
|
557
557
|
"imports": [
|
|
558
558
|
"src/assets/js/app.tsx",
|
|
559
|
-
"_app-layout-
|
|
559
|
+
"_app-layout-BbIIJVA5.js",
|
|
560
560
|
"src/assets/js/components/add-form.tsx",
|
|
561
561
|
"_jsoneditor-De1FvcYu.js",
|
|
562
562
|
"_handsontable-PxYdjN8c.js",
|
|
@@ -579,13 +579,13 @@
|
|
|
579
579
|
]
|
|
580
580
|
},
|
|
581
581
|
"src/assets/js/pages/catalog.tsx": {
|
|
582
|
-
"file": "catalog-
|
|
582
|
+
"file": "catalog-Dksg6Ktq.js",
|
|
583
583
|
"name": "catalog",
|
|
584
584
|
"src": "src/assets/js/pages/catalog.tsx",
|
|
585
585
|
"isDynamicEntry": true,
|
|
586
586
|
"imports": [
|
|
587
587
|
"src/assets/js/app.tsx",
|
|
588
|
-
"_app-layout-
|
|
588
|
+
"_app-layout-BbIIJVA5.js",
|
|
589
589
|
"_handsontable-PxYdjN8c.js",
|
|
590
590
|
"_jsoneditor-De1FvcYu.js",
|
|
591
591
|
"src/assets/js/components/material-icon.tsx",
|
|
@@ -612,13 +612,13 @@
|
|
|
612
612
|
]
|
|
613
613
|
},
|
|
614
614
|
"src/assets/js/pages/dashboard.tsx": {
|
|
615
|
-
"file": "dashboard-
|
|
615
|
+
"file": "dashboard-Dju1w--H.js",
|
|
616
616
|
"name": "dashboard",
|
|
617
617
|
"src": "src/assets/js/pages/dashboard.tsx",
|
|
618
618
|
"isDynamicEntry": true,
|
|
619
619
|
"imports": [
|
|
620
620
|
"src/assets/js/app.tsx",
|
|
621
|
-
"_app-layout-
|
|
621
|
+
"_app-layout-BbIIJVA5.js",
|
|
622
622
|
"src/assets/js/components/material-icon.tsx",
|
|
623
623
|
"_handsontable-PxYdjN8c.js",
|
|
624
624
|
"_jsoneditor-De1FvcYu.js",
|
|
@@ -639,13 +639,13 @@
|
|
|
639
639
|
]
|
|
640
640
|
},
|
|
641
641
|
"src/assets/js/pages/form.tsx": {
|
|
642
|
-
"file": "form-
|
|
642
|
+
"file": "form-C7LRXfge.js",
|
|
643
643
|
"name": "form",
|
|
644
644
|
"src": "src/assets/js/pages/form.tsx",
|
|
645
645
|
"isDynamicEntry": true,
|
|
646
646
|
"imports": [
|
|
647
647
|
"src/assets/js/app.tsx",
|
|
648
|
-
"_app-layout-
|
|
648
|
+
"_app-layout-BbIIJVA5.js",
|
|
649
649
|
"src/assets/js/components/form.tsx",
|
|
650
650
|
"_jsoneditor-De1FvcYu.js",
|
|
651
651
|
"_handsontable-PxYdjN8c.js",
|
|
@@ -669,7 +669,7 @@
|
|
|
669
669
|
]
|
|
670
670
|
},
|
|
671
671
|
"src/assets/js/pages/history.tsx": {
|
|
672
|
-
"file": "history-
|
|
672
|
+
"file": "history-DxIi7yPY.js",
|
|
673
673
|
"name": "history",
|
|
674
674
|
"src": "src/assets/js/pages/history.tsx",
|
|
675
675
|
"isDynamicEntry": true,
|
|
@@ -677,7 +677,7 @@
|
|
|
677
677
|
"src/assets/js/app.tsx",
|
|
678
678
|
"_handsontable-PxYdjN8c.js",
|
|
679
679
|
"_DiffViewer-B36sF5l-.js",
|
|
680
|
-
"_app-layout-
|
|
680
|
+
"_app-layout-BbIIJVA5.js",
|
|
681
681
|
"_jsoneditor-De1FvcYu.js",
|
|
682
682
|
"_monaco-BhBYtg3d.js",
|
|
683
683
|
"src/assets/js/components/app-shell.tsx",
|
|
@@ -694,7 +694,7 @@
|
|
|
694
694
|
]
|
|
695
695
|
},
|
|
696
696
|
"src/assets/js/pages/home.tsx": {
|
|
697
|
-
"file": "home-
|
|
697
|
+
"file": "home-BUSE07NY.js",
|
|
698
698
|
"name": "home",
|
|
699
699
|
"src": "src/assets/js/pages/home.tsx",
|
|
700
700
|
"isDynamicEntry": true,
|
|
@@ -749,13 +749,13 @@
|
|
|
749
749
|
]
|
|
750
750
|
},
|
|
751
751
|
"src/assets/js/pages/list.tsx": {
|
|
752
|
-
"file": "list-
|
|
752
|
+
"file": "list-B6iLj8LH.js",
|
|
753
753
|
"name": "list",
|
|
754
754
|
"src": "src/assets/js/pages/list.tsx",
|
|
755
755
|
"isDynamicEntry": true,
|
|
756
756
|
"imports": [
|
|
757
757
|
"src/assets/js/app.tsx",
|
|
758
|
-
"_app-layout-
|
|
758
|
+
"_app-layout-BbIIJVA5.js",
|
|
759
759
|
"src/assets/js/components/list-table.tsx",
|
|
760
760
|
"_jsoneditor-De1FvcYu.js",
|
|
761
761
|
"_handsontable-PxYdjN8c.js",
|
|
@@ -790,14 +790,14 @@
|
|
|
790
790
|
]
|
|
791
791
|
},
|
|
792
792
|
"src/assets/js/pages/module.tsx": {
|
|
793
|
-
"file": "module-
|
|
793
|
+
"file": "module-3NsdEr7f.js",
|
|
794
794
|
"name": "module",
|
|
795
795
|
"src": "src/assets/js/pages/module.tsx",
|
|
796
796
|
"isDynamicEntry": true,
|
|
797
797
|
"imports": [
|
|
798
798
|
"src/assets/js/app.tsx",
|
|
799
799
|
"_handsontable-PxYdjN8c.js",
|
|
800
|
-
"_app-layout-
|
|
800
|
+
"_app-layout-BbIIJVA5.js",
|
|
801
801
|
"_jsoneditor-De1FvcYu.js",
|
|
802
802
|
"_monaco-BhBYtg3d.js",
|
|
803
803
|
"src/assets/js/components/app-shell.tsx",
|
|
@@ -814,13 +814,13 @@
|
|
|
814
814
|
]
|
|
815
815
|
},
|
|
816
816
|
"src/assets/js/pages/notification.tsx": {
|
|
817
|
-
"file": "notification-
|
|
817
|
+
"file": "notification-BNz2iBvD.js",
|
|
818
818
|
"name": "notification",
|
|
819
819
|
"src": "src/assets/js/pages/notification.tsx",
|
|
820
820
|
"isDynamicEntry": true,
|
|
821
821
|
"imports": [
|
|
822
822
|
"src/assets/js/app.tsx",
|
|
823
|
-
"_app-layout-
|
|
823
|
+
"_app-layout-BbIIJVA5.js",
|
|
824
824
|
"_handsontable-PxYdjN8c.js",
|
|
825
825
|
"_tabs-DTgMEGE8.js",
|
|
826
826
|
"_jsoneditor-De1FvcYu.js",
|
|
@@ -852,13 +852,13 @@
|
|
|
852
852
|
]
|
|
853
853
|
},
|
|
854
854
|
"src/assets/js/pages/welcome.tsx": {
|
|
855
|
-
"file": "welcome-
|
|
855
|
+
"file": "welcome-DtWHDtJz.js",
|
|
856
856
|
"name": "welcome",
|
|
857
857
|
"src": "src/assets/js/pages/welcome.tsx",
|
|
858
858
|
"isDynamicEntry": true,
|
|
859
859
|
"imports": [
|
|
860
860
|
"src/assets/js/app.tsx",
|
|
861
|
-
"_app-layout-
|
|
861
|
+
"_app-layout-BbIIJVA5.js",
|
|
862
862
|
"_jsoneditor-De1FvcYu.js",
|
|
863
863
|
"_handsontable-PxYdjN8c.js",
|
|
864
864
|
"_monaco-BhBYtg3d.js",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as p,j as e,L as i}from"./app.js";import{r as s}from"./handsontable-PxYdjN8c.js";import{A as d}from"./app-layout-
|
|
1
|
+
import{u as p,j as e,L as i}from"./app.js";import{r as s}from"./handsontable-PxYdjN8c.js";import{A as d}from"./app-layout-BbIIJVA5.js";import"./jsoneditor-De1FvcYu.js";import"./monaco-BhBYtg3d.js";import"./app-shell-DbPu3ZPM.js";import"./app-sidebar-CtgnXD3n.js";import"./nav-main-DcvkRp44.js";import"./material-icon-BXxpxGAd.js";import"./app-sidebar-header-C8sntqs3.js";import"./breadcrumbs-Df-vVsyM.js";import"./nav-user-PtK5V1sV.js";import"./user-info-BTJNUzpi.js";import"./user-menu-content-DUnYpt8t.js";import"./theme-switcher-Ca0SixmO.js";import"./icon-BTIjB9Wk.js";const c=[];function $(){const r=p(),[n,a]=s.useState(null);return s.useEffect(()=>{const m=async()=>{const o=(await import(r.props.moduleComponent)).default;a(e.jsx(o,{data:r.props.data}))};(()=>{const t=r.props.moduleComponentCSS;if(!t||[...document.head.querySelectorAll("link[rel='stylesheet']")].some(l=>l.href.includes(t)))return;const o=document.createElement("link");o.rel="stylesheet",o.href=t,o.type="text/css",o.onload=()=>console.log(`CSS loaded: ${t}`),o.onerror=()=>console.error(`Failed to load CSS: ${t}`),document.head.appendChild(o)})(),m()},[]),e.jsx(d,{breadcrumbs:c,children:e.jsx("div",{className:"m-5",children:n||e.jsx(i,{className:"size-10 animate-spin text-neutral-500 mx-auto mt-[15%]"})})})}export{$ as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as S,a5 as c_,a6 as h_,a7 as Ui,a8 as gr,a9 as g_,aa as dt,N as p_,O as __,B as As,E as d_,Q as v_,u as x_,I as w_,L as xs,r as A_}from"./app.js";import{A as m_}from"./app-layout-
|
|
1
|
+
import{j as S,a5 as c_,a6 as h_,a7 as Ui,a8 as gr,a9 as g_,aa as dt,N as p_,O as __,B as As,E as d_,Q as v_,u as x_,I as w_,L as xs,r as A_}from"./app.js";import{A as m_}from"./app-layout-BbIIJVA5.js";import{r as Q}from"./handsontable-PxYdjN8c.js";import{T as R_,a as T_,b as y_,c as S_}from"./tabs-DTgMEGE8.js";import{c as pr,e as C_}from"./jsoneditor-De1FvcYu.js";import{u as E_}from"./app-sidebar-header-C8sntqs3.js";import"./monaco-BhBYtg3d.js";import"./app-shell-DbPu3ZPM.js";import"./app-sidebar-CtgnXD3n.js";import"./nav-main-DcvkRp44.js";import"./material-icon-BXxpxGAd.js";import"./breadcrumbs-Df-vVsyM.js";import"./nav-user-PtK5V1sV.js";import"./user-info-BTJNUzpi.js";import"./user-menu-content-DUnYpt8t.js";import"./theme-switcher-Ca0SixmO.js";import"./icon-BTIjB9Wk.js";var vt={exports:{}};/**
|
|
2
2
|
* @license
|
|
3
3
|
* Lodash <https://lodash.com/>
|
|
4
4
|
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as o,j as t}from"./app.js";import{A as p}from"./app-layout-
|
|
1
|
+
import{u as o,j as t}from"./app.js";import{A as p}from"./app-layout-BbIIJVA5.js";import"./jsoneditor-De1FvcYu.js";import"./handsontable-PxYdjN8c.js";import"./monaco-BhBYtg3d.js";import"./app-shell-DbPu3ZPM.js";import"./app-sidebar-CtgnXD3n.js";import"./nav-main-DcvkRp44.js";import"./material-icon-BXxpxGAd.js";import"./app-sidebar-header-C8sntqs3.js";import"./breadcrumbs-Df-vVsyM.js";import"./nav-user-PtK5V1sV.js";import"./user-info-BTJNUzpi.js";import"./user-menu-content-DUnYpt8t.js";import"./theme-switcher-Ca0SixmO.js";import"./icon-BTIjB9Wk.js";const i=[];function A(){const r=o();return t.jsx(p,{breadcrumbs:i,children:t.jsxs("div",{className:"flex h-full flex-1 flex-col gap-4 rounded-xl p-4",children:[r.props.title&&t.jsx("div",{className:"text-3xl mb-8",children:r.props.title}),t.jsx("div",{className:"text-3xl mb-8",children:"Adminizer"}),r.props.text&&t.jsx("div",{dangerouslySetInnerHTML:{__html:r.props.text}})]})})}export{A as default};
|
package/lib/Adminizer.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import winston from "winston";
|
|
|
3
3
|
import EventEmitter from 'events';
|
|
4
4
|
import { AdminpanelConfig } from "../interfaces/adminpanelConfig";
|
|
5
5
|
import PolicyManager from "./PolicyManager";
|
|
6
|
+
import Router from "./../system/Router";
|
|
6
7
|
import { ModelHandler } from "./model/ModelHandler";
|
|
7
8
|
import { WidgetHandler } from "./widgets/widgetHandler";
|
|
8
9
|
import { AccessRightsHelper } from "../helpers/accessRightsHelper";
|
|
@@ -32,6 +33,7 @@ export declare class Adminizer {
|
|
|
32
33
|
accessRightsHelper: AccessRightsHelper;
|
|
33
34
|
configHelper: ConfigHelper;
|
|
34
35
|
menuHelper: MenuHelper;
|
|
36
|
+
router: Router;
|
|
35
37
|
notificationHandler: NotificationHandler;
|
|
36
38
|
historyHandler: HistoryHandler;
|
|
37
39
|
aiAssistantHandler?: AiAssistantHandler;
|
package/lib/Adminizer.js
CHANGED
|
@@ -50,6 +50,7 @@ export class Adminizer {
|
|
|
50
50
|
accessRightsHelper;
|
|
51
51
|
configHelper;
|
|
52
52
|
menuHelper;
|
|
53
|
+
router;
|
|
53
54
|
notificationHandler;
|
|
54
55
|
historyHandler;
|
|
55
56
|
aiAssistantHandler;
|
|
@@ -219,7 +220,8 @@ export class Adminizer {
|
|
|
219
220
|
await bindAiAssistant(this);
|
|
220
221
|
if (this.config.history?.enabled)
|
|
221
222
|
await bindHistory(this);
|
|
222
|
-
|
|
223
|
+
this.router = new Router(this);
|
|
224
|
+
await this.router.bind(); // must be after binding policies and req/res functions
|
|
223
225
|
/**
|
|
224
226
|
* Adminizer loaded
|
|
225
227
|
* This call is used so that other apps can know that the admin panel is present in the panel and has been loaded, and can activate their logic.
|
package/package.json
CHANGED
package/system/Router.d.ts
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import { Adminizer } from "../lib/Adminizer";
|
|
2
2
|
export default class Router {
|
|
3
|
-
|
|
3
|
+
adminizer: Adminizer;
|
|
4
|
+
constructor(adminizer: Adminizer);
|
|
5
|
+
onlyOnce: boolean;
|
|
6
|
+
/** Regexp patterns of model routes registered via bindModelRoutes, keyed by model name */
|
|
7
|
+
private modelRoutePatterns;
|
|
4
8
|
/**
|
|
5
9
|
* The idea is that all methods within the first 3 seconds after start call this method, and as soon as all have been loaded, the loading will be blocked
|
|
6
10
|
*/
|
|
7
|
-
|
|
11
|
+
bind(): Promise<void>;
|
|
12
|
+
unbindModelRoutes(model: string): void;
|
|
13
|
+
bindModelRoutes(policies: MiddlewareType[], model: string): Promise<void>;
|
|
8
14
|
}
|
package/system/Router.js
CHANGED
|
@@ -22,15 +22,22 @@ import { NotificationController } from "../controllers/notifications/Notificatio
|
|
|
22
22
|
import { AiAssistantController } from "../controllers/ai/AiAssistantController.js";
|
|
23
23
|
import { HistoryController } from "../controllers/history-actions/HistoryController.js";
|
|
24
24
|
export default class Router {
|
|
25
|
-
|
|
25
|
+
adminizer;
|
|
26
|
+
constructor(adminizer) {
|
|
27
|
+
this.adminizer = adminizer;
|
|
28
|
+
}
|
|
29
|
+
onlyOnce = false;
|
|
30
|
+
/** Regexp patterns of model routes registered via bindModelRoutes, keyed by model name */
|
|
31
|
+
modelRoutePatterns = new Map();
|
|
26
32
|
/**
|
|
27
33
|
* The idea is that all methods within the first 3 seconds after start call this method, and as soon as all have been loaded, the loading will be blocked
|
|
28
34
|
*/
|
|
29
|
-
|
|
35
|
+
async bind() {
|
|
30
36
|
if (this.onlyOnce) {
|
|
31
|
-
Adminizer.log.error(`
|
|
37
|
+
Adminizer.log.error(`Method "Router.bind(...)" allowed for run only one time`);
|
|
32
38
|
return;
|
|
33
39
|
}
|
|
40
|
+
const adminizer = this.adminizer;
|
|
34
41
|
if (typeof adminizer.defaultMiddleware === 'function' &&
|
|
35
42
|
adminizer.defaultMiddleware.length >= 3 &&
|
|
36
43
|
adminizer.defaultMiddleware.length <= 4) {
|
|
@@ -125,68 +132,7 @@ export default class Router {
|
|
|
125
132
|
adminizer.app.get(`${adminizer.config.routePrefix}/get-timezones`, adminizer.policyManager.bindPolicies(policies, timezones));
|
|
126
133
|
if (adminizer.config.models) {
|
|
127
134
|
for (let model in adminizer.config.models) {
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Add support only routes created for boolean true
|
|
131
|
-
*/
|
|
132
|
-
if (typeof modelConfig === "boolean" && modelConfig === true) {
|
|
133
|
-
Adminizer.log.debug(`Adminpanel create CRUD routes for \`${model}\` by boolean true`);
|
|
134
|
-
adminizer.app.all(`${adminizer.config.routePrefix}/model/${model}/add`, adminizer.policyManager.bindPolicies(policies, _add));
|
|
135
|
-
adminizer.app.all(`${adminizer.config.routePrefix}/model/${model}/edit/:id`, adminizer.policyManager.bindPolicies(policies, _edit));
|
|
136
|
-
adminizer.app.all(`${adminizer.config.routePrefix}/model/${model}/remove/:id`, adminizer.policyManager.bindPolicies(policies, _remove));
|
|
137
|
-
}
|
|
138
|
-
else if (typeof modelConfig !== "boolean") {
|
|
139
|
-
Adminizer.log.debug(`Adminpanel create CRUD routes for \`${model}\` by ModelConfig`);
|
|
140
|
-
/**
|
|
141
|
-
* Create new record
|
|
142
|
-
*/
|
|
143
|
-
if (modelConfig.add) {
|
|
144
|
-
let addHandler = modelConfig.add;
|
|
145
|
-
if (addHandler.controller) {
|
|
146
|
-
if (typeof addHandler.controller === 'string') {
|
|
147
|
-
// Dynamic import for string paths
|
|
148
|
-
let controller = await import(addHandler.controller);
|
|
149
|
-
adminizer.app.all(`${adminizer.config.routePrefix}/model/${model}/add`, adminizer.policyManager.bindPolicies(policies, controller.default));
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
152
|
-
// Direct function reference (controller function matches middleware signature)
|
|
153
|
-
adminizer.app.all(`${adminizer.config.routePrefix}/model/${model}/add`, adminizer.policyManager.bindPolicies(policies, addHandler.controller));
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
else {
|
|
157
|
-
adminizer.app.all(`${adminizer.config.routePrefix}/model/${model}/add`, adminizer.policyManager.bindPolicies(policies, _add));
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
adminizer.app.all(`${adminizer.config.routePrefix}/model/${model}/add`, adminizer.policyManager.bindPolicies(policies, _add));
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Edit existing record
|
|
165
|
-
*/
|
|
166
|
-
if (modelConfig.edit) {
|
|
167
|
-
let editHandler = modelConfig.edit;
|
|
168
|
-
if (editHandler.controller) {
|
|
169
|
-
if (typeof editHandler.controller === 'string') {
|
|
170
|
-
// Dynamic import for string paths
|
|
171
|
-
let controller = await import(editHandler.controller);
|
|
172
|
-
adminizer.app.all(`${adminizer.config.routePrefix}/model/${model}/edit/:id`, adminizer.policyManager.bindPolicies(policies, controller.default));
|
|
173
|
-
}
|
|
174
|
-
else {
|
|
175
|
-
// Direct function reference (controller function matches middleware signature)
|
|
176
|
-
adminizer.app.all(`${adminizer.config.routePrefix}/model/${model}/edit/:id`, adminizer.policyManager.bindPolicies(policies, editHandler.controller));
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
adminizer.app.all(`${adminizer.config.routePrefix}/model/${model}/edit/:id`, adminizer.policyManager.bindPolicies(policies, _edit));
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
else {
|
|
184
|
-
adminizer.app.all(`${adminizer.config.routePrefix}/model/${model}/edit/:id`, adminizer.policyManager.bindPolicies(policies, _edit));
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
else {
|
|
188
|
-
Adminizer.log.silly(`Adminpanel skip create CRUD routes for model: ${model}`);
|
|
189
|
-
}
|
|
135
|
+
await this.bindModelRoutes(policies, model);
|
|
190
136
|
}
|
|
191
137
|
}
|
|
192
138
|
/**
|
|
@@ -209,4 +155,83 @@ export default class Router {
|
|
|
209
155
|
// TODO emit can be used in tests
|
|
210
156
|
adminizer.emitter.emit("router:bound");
|
|
211
157
|
}
|
|
158
|
+
unbindModelRoutes(model) {
|
|
159
|
+
if (!this.adminizer.app._router)
|
|
160
|
+
return;
|
|
161
|
+
const patterns = this.modelRoutePatterns.get(model);
|
|
162
|
+
if (!patterns?.length)
|
|
163
|
+
return;
|
|
164
|
+
const removedPaths = [];
|
|
165
|
+
this.adminizer.app._router.stack = this.adminizer.app._router.stack.filter((layer) => {
|
|
166
|
+
if (layer.route && patterns.some((p) => p.test(layer.route.path))) {
|
|
167
|
+
removedPaths.push(layer.route.path);
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
return true;
|
|
171
|
+
});
|
|
172
|
+
this.modelRoutePatterns.delete(model);
|
|
173
|
+
Adminizer.log.debug(`Adminpanel removed routes for model \`${model}\`: ${removedPaths.join(', ')}`);
|
|
174
|
+
}
|
|
175
|
+
async bindModelRoutes(policies, model) {
|
|
176
|
+
if (this.modelRoutePatterns.has(model)) {
|
|
177
|
+
this.unbindModelRoutes(model);
|
|
178
|
+
}
|
|
179
|
+
const modelConfig = this.adminizer.config.models[model];
|
|
180
|
+
const prefix = `${this.adminizer.config.routePrefix}/model/${model}`;
|
|
181
|
+
const registeredPaths = [];
|
|
182
|
+
const register = (path, handler) => {
|
|
183
|
+
this.adminizer.app.all(path, this.adminizer.policyManager.bindPolicies(policies, handler));
|
|
184
|
+
const patterns = this.modelRoutePatterns.get(model) ?? [];
|
|
185
|
+
patterns.push(new RegExp(`^${path.replace(/:[^/]+/g, '[^/]+')}$`));
|
|
186
|
+
this.modelRoutePatterns.set(model, patterns);
|
|
187
|
+
registeredPaths.push(path);
|
|
188
|
+
};
|
|
189
|
+
if (typeof modelConfig === "boolean" && modelConfig === true) {
|
|
190
|
+
Adminizer.log.debug(`Adminpanel create CRUD routes for \`${model}\` by boolean true`);
|
|
191
|
+
register(`${prefix}/add`, _add);
|
|
192
|
+
register(`${prefix}/edit/:id`, _edit);
|
|
193
|
+
register(`${prefix}/remove/:id`, _remove);
|
|
194
|
+
}
|
|
195
|
+
else if (typeof modelConfig !== "boolean") {
|
|
196
|
+
Adminizer.log.debug(`Adminpanel create CRUD routes for \`${model}\` by ModelConfig`);
|
|
197
|
+
/**
|
|
198
|
+
* Create new record
|
|
199
|
+
*/
|
|
200
|
+
const addHandler = modelConfig.add;
|
|
201
|
+
if (addHandler?.controller) {
|
|
202
|
+
if (typeof addHandler.controller === 'string') {
|
|
203
|
+
let controller = await import(addHandler.controller);
|
|
204
|
+
register(`${prefix}/add`, controller.default);
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
register(`${prefix}/add`, addHandler.controller);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
register(`${prefix}/add`, _add);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Edit existing record
|
|
215
|
+
*/
|
|
216
|
+
const editHandler = modelConfig.edit;
|
|
217
|
+
if (editHandler?.controller) {
|
|
218
|
+
if (typeof editHandler.controller === 'string') {
|
|
219
|
+
let controller = await import(editHandler.controller);
|
|
220
|
+
register(`${prefix}/edit/:id`, controller.default);
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
register(`${prefix}/edit/:id`, editHandler.controller);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
register(`${prefix}/edit/:id`, _edit);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
Adminizer.log.silly(`Adminpanel skip create CRUD routes for model: ${model}`);
|
|
232
|
+
}
|
|
233
|
+
if (registeredPaths.length > 0) {
|
|
234
|
+
Adminizer.log.debug(`Adminpanel added routes for model \`${model}\`: ${registeredPaths.join(', ')}`);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
212
237
|
}
|