@tachybase/client 0.23.8-alpha.34 → 0.23.8-alpha.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/es/built-in/admin-layout/AdminLayout.d.ts +2 -0
  2. package/es/built-in/admin-layout/AdminLayout.mjs +14 -0
  3. package/es/built-in/admin-layout/AdminLayoutPlugin.d.ts +5 -0
  4. package/es/built-in/admin-layout/AdminLayoutPlugin.mjs +14 -0
  5. package/es/built-in/admin-layout/AdminProvider.d.ts +2 -0
  6. package/es/built-in/admin-layout/AdminProvider.mjs +22 -0
  7. package/es/built-in/admin-layout/InternalAdminLayout.d.ts +2 -0
  8. package/es/built-in/admin-layout/InternalAdminLayout.mjs +82 -0
  9. package/es/built-in/admin-layout/MenuEditor.d.ts +7 -0
  10. package/es/built-in/admin-layout/MenuEditor.mjs +114 -0
  11. package/es/built-in/admin-layout/filterByACL.d.ts +1 -0
  12. package/es/built-in/admin-layout/filterByACL.mjs +15 -0
  13. package/es/built-in/admin-layout/index.d.ts +8 -10
  14. package/es/built-in/admin-layout/index.mjs +8 -232
  15. package/es/built-in/index.mjs +3 -2
  16. package/es/built-in/setting-layout/SettingLayout.mjs +2 -1
  17. package/es/built-in/user-settings/index.mjs +2 -2
  18. package/lib/application/schema-initializer/hooks/index.js +2 -2
  19. package/lib/block-provider/hooks/index.js +2 -2
  20. package/lib/built-in/admin-layout/AdminLayout.js +48 -0
  21. package/lib/built-in/admin-layout/AdminLayoutPlugin.js +48 -0
  22. package/lib/built-in/admin-layout/AdminProvider.js +70 -0
  23. package/lib/built-in/admin-layout/InternalAdminLayout.js +116 -0
  24. package/lib/built-in/admin-layout/MenuEditor.js +150 -0
  25. package/lib/built-in/admin-layout/filterByACL.js +51 -0
  26. package/lib/built-in/admin-layout/index.js +67 -280
  27. package/lib/built-in/index.js +12 -8
  28. package/lib/built-in/setting-layout/SettingLayout.js +2 -1
  29. package/lib/built-in/user-settings/index.js +2 -2
  30. package/package.json +5 -5
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const AdminLayout: (props: any) => React.JSX.Element;
@@ -0,0 +1,14 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__ from "react/jsx-runtime";
2
+ import "react";
3
+ import * as __WEBPACK_EXTERNAL_MODULE__AdminProvider_mjs__ from "./AdminProvider.mjs";
4
+ import * as __WEBPACK_EXTERNAL_MODULE__InternalAdminLayout_mjs__ from "./InternalAdminLayout.mjs";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__NoticeArea_mjs__ from "./NoticeArea.mjs";
6
+ const AdminLayout = (props)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__AdminProvider_mjs__.AdminProvider, {
7
+ children: [
8
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__NoticeArea_mjs__.NoticeArea, {}),
9
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__InternalAdminLayout_mjs__.InternalAdminLayout, {
10
+ ...props
11
+ })
12
+ ]
13
+ });
14
+ export { AdminLayout };
@@ -0,0 +1,5 @@
1
+ import { Plugin } from '../../application/Plugin';
2
+ export declare class AdminLayoutPlugin extends Plugin {
3
+ afterAdd(): Promise<void>;
4
+ load(): Promise<void>;
5
+ }
@@ -0,0 +1,14 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE__application_Plugin_mjs__ from "../../application/Plugin.mjs";
2
+ import * as __WEBPACK_EXTERNAL_MODULE__schema_templates_SchemaTemplateManagerProvider_mjs__ from "../../schema-templates/SchemaTemplateManagerProvider.mjs";
3
+ import * as __WEBPACK_EXTERNAL_MODULE__AdminLayout_mjs__ from "./AdminLayout.mjs";
4
+ class AdminLayoutPlugin extends __WEBPACK_EXTERNAL_MODULE__application_Plugin_mjs__.Plugin {
5
+ async afterAdd() {
6
+ await this.app.pm.add(__WEBPACK_EXTERNAL_MODULE__schema_templates_SchemaTemplateManagerProvider_mjs__.RemoteSchemaTemplateManagerPlugin);
7
+ }
8
+ async load() {
9
+ this.app.addComponents({
10
+ AdminLayout: __WEBPACK_EXTERNAL_MODULE__AdminLayout_mjs__.AdminLayout
11
+ });
12
+ }
13
+ }
14
+ export { AdminLayoutPlugin };
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const AdminProvider: (props: any) => React.JSX.Element;
@@ -0,0 +1,22 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__ from "react/jsx-runtime";
2
+ import "react";
3
+ import * as __WEBPACK_EXTERNAL_MODULE__application_NoticesManager_mjs__ from "../../application/NoticesManager.mjs";
4
+ import * as __WEBPACK_EXTERNAL_MODULE__collection_manager_index_mjs__ from "../../collection-manager/index.mjs";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__common_index_mjs__ from "../../common/index.mjs";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__user_index_mjs__ from "../../user/index.mjs";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__variables_VariablesProvider_mjs__ from "../../variables/VariablesProvider.mjs";
8
+ import * as __WEBPACK_EXTERNAL_MODULE__acl_index_mjs__ from "../acl/index.mjs";
9
+ const AdminProvider = (props)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__application_NoticesManager_mjs__.NoticeManagerProvider, {
10
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__common_index_mjs__.CurrentAppInfoProvider, {
11
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__user_index_mjs__.NavigateIfNotSignIn, {
12
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__collection_manager_index_mjs__.RemoteCollectionManagerProvider, {
13
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__variables_VariablesProvider_mjs__["default"], {
14
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__acl_index_mjs__.ACLRolesCheckProvider, {
15
+ children: props.children
16
+ })
17
+ })
18
+ })
19
+ })
20
+ })
21
+ });
22
+ export { AdminProvider };
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const InternalAdminLayout: (props: any) => React.JSX.Element;
@@ -0,0 +1,82 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__ from "react/jsx-runtime";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_antd__ from "antd";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_react_router_dom__ from "react-router-dom";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__index_mjs__ from "../../index.mjs";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__AdminContent_mjs__ from "./AdminContent.mjs";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__AdminTabs_mjs__ from "./AdminTabs.mjs";
8
+ import * as __WEBPACK_EXTERNAL_MODULE__MenuEditor_mjs__ from "./MenuEditor.mjs";
9
+ import * as __WEBPACK_EXTERNAL_MODULE__style_mjs__ from "./style.mjs";
10
+ const InternalAdminLayout = (props)=>{
11
+ var _result_data_data_logo, _result_data_data, _result_data, _result_data_data1, _result_data1;
12
+ const sideMenuRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)();
13
+ const result = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useSystemSettings)();
14
+ const app = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useApp)();
15
+ const params = (0, __WEBPACK_EXTERNAL_MODULE_react_router_dom__.useParams)();
16
+ const { styles } = (0, __WEBPACK_EXTERNAL_MODULE__style_mjs__.useStyles)();
17
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE_antd__.Layout, {
18
+ className: styles.layout,
19
+ children: [
20
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd__.Layout.Header, {
21
+ className: styles.header,
22
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)("div", {
23
+ className: styles.headerA,
24
+ children: [
25
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)("div", {
26
+ className: styles.headerB,
27
+ children: [
28
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)("div", {
29
+ className: styles.titleContainer,
30
+ onClick: ()=>{
31
+ location.href = app.adminUrl;
32
+ },
33
+ children: [
34
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("img", {
35
+ className: styles.logo,
36
+ src: null == result ? void 0 : null === (_result_data = result.data) || void 0 === _result_data ? void 0 : null === (_result_data_data = _result_data.data) || void 0 === _result_data_data ? void 0 : null === (_result_data_data_logo = _result_data_data.logo) || void 0 === _result_data_data_logo ? void 0 : _result_data_data_logo.url
37
+ }),
38
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("h1", {
39
+ className: styles.title,
40
+ children: null == result ? void 0 : null === (_result_data1 = result.data) || void 0 === _result_data1 ? void 0 : null === (_result_data_data1 = _result_data1.data) || void 0 === _result_data_data1 ? void 0 : _result_data_data1.title
41
+ })
42
+ ]
43
+ }),
44
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__MenuEditor_mjs__.MenuEditor, {
45
+ sideMenuRef: sideMenuRef
46
+ }),
47
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("div", {
48
+ className: styles.editor,
49
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__AdminTabs_mjs__.AdminTabs, {})
50
+ })
51
+ ]
52
+ }),
53
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)("div", {
54
+ className: styles.right,
55
+ children: [
56
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.PinnedPluginList, {}),
57
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.CurrentUser, {})
58
+ ]
59
+ })
60
+ ]
61
+ })
62
+ }),
63
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE_antd__.Layout, {
64
+ children: [
65
+ params.name && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd__.Layout.Sider, {
66
+ className: styles.sider,
67
+ theme: 'light',
68
+ ref: sideMenuRef
69
+ }),
70
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd__.Layout.Content, {
71
+ className: styles.main,
72
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("div", {
73
+ className: "amplifier-block",
74
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__AdminContent_mjs__.AdminContent, {})
75
+ })
76
+ })
77
+ ]
78
+ })
79
+ ]
80
+ });
81
+ };
82
+ export { InternalAdminLayout };
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ export declare const SchemaIdContext: React.Context<any>;
3
+ export declare const useMenuProps: () => {
4
+ selectedUid: any;
5
+ defaultSelectedUid: any;
6
+ };
7
+ export declare const MenuEditor: (props: any) => React.JSX.Element;
@@ -0,0 +1,114 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__ from "react/jsx-runtime";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_react_router__ from "react-router";
4
+ import * as __WEBPACK_EXTERNAL_MODULE__api_client_index_mjs__ from "../../api-client/index.mjs";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__hooks_index_mjs__ from "../../hooks/index.mjs";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__schema_component_index_mjs__ from "../../schema-component/index.mjs";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__acl_index_mjs__ from "../acl/index.mjs";
8
+ import * as __WEBPACK_EXTERNAL_MODULE__document_title_index_mjs__ from "../document-title/index.mjs";
9
+ import * as __WEBPACK_EXTERNAL_MODULE__filterByACL_mjs__ from "./filterByACL.mjs";
10
+ const SchemaIdContext = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.createContext)(null);
11
+ SchemaIdContext.displayName = 'SchemaIdContext';
12
+ const useMenuProps = ()=>{
13
+ const defaultSelectedUid = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(SchemaIdContext);
14
+ return {
15
+ selectedUid: defaultSelectedUid,
16
+ defaultSelectedUid
17
+ };
18
+ };
19
+ const MenuEditor = (props)=>{
20
+ const { setTitle } = (0, __WEBPACK_EXTERNAL_MODULE__document_title_index_mjs__.useDocumentTitle)();
21
+ const navigate = (0, __WEBPACK_EXTERNAL_MODULE_react_router__.useNavigate)();
22
+ const params = (0, __WEBPACK_EXTERNAL_MODULE_react_router__.useParams)();
23
+ const location = (0, __WEBPACK_EXTERNAL_MODULE_react_router__.useLocation)();
24
+ const isMatchAdmin = (0, __WEBPACK_EXTERNAL_MODULE_react_router__.useMatch)('/admin');
25
+ const isMatchAdminName = (0, __WEBPACK_EXTERNAL_MODULE_react_router__.useMatch)('/admin/:name');
26
+ const defaultSelectedUid = params.name;
27
+ const { sideMenuRef } = props;
28
+ const ctx = (0, __WEBPACK_EXTERNAL_MODULE__acl_index_mjs__.useACLRoleContext)();
29
+ const [current, setCurrent] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(null);
30
+ const onSelect = (param)=>{
31
+ let { item } = param;
32
+ const schema = item.props.schema;
33
+ setTitle(schema.title);
34
+ setCurrent(schema);
35
+ navigate("/admin/".concat(schema['x-uid']));
36
+ };
37
+ const adminSchemaUid = (0, __WEBPACK_EXTERNAL_MODULE__hooks_index_mjs__.useAdminSchemaUid)();
38
+ const { data, loading } = (0, __WEBPACK_EXTERNAL_MODULE__api_client_index_mjs__.useRequest)({
39
+ url: "/uiSchemas:getJsonSchema/".concat(adminSchemaUid)
40
+ }, {
41
+ refreshDeps: [
42
+ adminSchemaUid
43
+ ],
44
+ onSuccess (data) {
45
+ const schema = (0, __WEBPACK_EXTERNAL_MODULE__filterByACL_mjs__.filterByACL)(null == data ? void 0 : data.data, ctx);
46
+ if (isMatchAdmin) {
47
+ const s = (0, __WEBPACK_EXTERNAL_MODULE__schema_component_index_mjs__.findMenuItem)(schema);
48
+ if (s) {
49
+ navigate("/admin/".concat(s['x-uid']));
50
+ setTitle(s.title);
51
+ } else navigate("/admin/");
52
+ return;
53
+ }
54
+ if (!isMatchAdminName) return;
55
+ const s = (0, __WEBPACK_EXTERNAL_MODULE__schema_component_index_mjs__.findByUid)(schema, defaultSelectedUid);
56
+ if (s) setTitle(s.title);
57
+ else {
58
+ const s = (0, __WEBPACK_EXTERNAL_MODULE__schema_component_index_mjs__.findMenuItem)(schema);
59
+ if (s) {
60
+ navigate("/admin/".concat(s['x-uid']));
61
+ setTitle(s.title);
62
+ } else navigate("/admin/");
63
+ }
64
+ }
65
+ });
66
+ const match = (0, __WEBPACK_EXTERNAL_MODULE_react_router__.useMatch)('/admin/:name');
67
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
68
+ if (match) {
69
+ const schema = (0, __WEBPACK_EXTERNAL_MODULE__filterByACL_mjs__.filterByACL)(null == data ? void 0 : data.data, ctx);
70
+ const s = (0, __WEBPACK_EXTERNAL_MODULE__schema_component_index_mjs__.findByUid)(schema, defaultSelectedUid);
71
+ if (s) setTitle(s.title);
72
+ }
73
+ }, [
74
+ null == data ? void 0 : data.data,
75
+ location.pathname,
76
+ defaultSelectedUid
77
+ ]);
78
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
79
+ var _Object_values_shift, _current_root, _data_data;
80
+ const properties = (null === (_Object_values_shift = Object.values((null == current ? void 0 : null === (_current_root = current.root) || void 0 === _current_root ? void 0 : _current_root.properties) || {}).shift()) || void 0 === _Object_values_shift ? void 0 : _Object_values_shift['properties']) || (null == data ? void 0 : null === (_data_data = data.data) || void 0 === _data_data ? void 0 : _data_data.properties);
81
+ if (null == sideMenuRef ? void 0 : sideMenuRef.current) {
82
+ const pageType = properties && Object.values(properties).find((item)=>item['x-uid'] === params.name && 'Menu.Item' === item['x-component']);
83
+ const isSettingPage = null == location ? void 0 : location.pathname.includes('/settings');
84
+ if (pageType || isSettingPage) sideMenuRef.current.style.display = 'none';
85
+ else sideMenuRef.current.style.display = 'block';
86
+ }
87
+ }, [
88
+ null == data ? void 0 : data.data,
89
+ params.name,
90
+ sideMenuRef
91
+ ]);
92
+ const schema = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
93
+ const s = (0, __WEBPACK_EXTERNAL_MODULE__filterByACL_mjs__.filterByACL)(null == data ? void 0 : data.data, ctx);
94
+ if (null == s ? void 0 : s['x-component-props']) s['x-component-props']['useProps'] = useMenuProps;
95
+ return s;
96
+ }, [
97
+ null == data ? void 0 : data.data
98
+ ]);
99
+ if (loading) return;
100
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(SchemaIdContext.Provider, {
101
+ value: defaultSelectedUid,
102
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__schema_component_index_mjs__.SchemaComponent, {
103
+ memoized: true,
104
+ scope: {
105
+ useMenuProps,
106
+ onSelect,
107
+ sideMenuRef,
108
+ defaultSelectedUid
109
+ },
110
+ schema: schema
111
+ })
112
+ });
113
+ };
114
+ export { MenuEditor, SchemaIdContext, useMenuProps };
@@ -0,0 +1 @@
1
+ export declare const filterByACL: (schema: any, options: any) => any;
@@ -0,0 +1,15 @@
1
+ const filterByACL = (schema, options)=>{
2
+ const { allowAll, allowMenuItemIds = [] } = options;
3
+ if (allowAll) return schema;
4
+ const filterSchema = (s)=>{
5
+ if (!s) return;
6
+ for(const key in s.properties)if (Object.prototype.hasOwnProperty.call(s.properties, key)) {
7
+ const element = s.properties[key];
8
+ if (element['x-uid'] && !allowMenuItemIds.includes(element['x-uid'])) delete s.properties[key];
9
+ if (element['x-uid']) filterSchema(element);
10
+ }
11
+ };
12
+ filterSchema(schema);
13
+ return schema;
14
+ };
15
+ export { filterByACL };
@@ -1,11 +1,9 @@
1
- import React from 'react';
2
- import { Plugin } from '../../application/Plugin';
3
- export declare const MenuEditor: (props: any) => React.JSX.Element;
4
- export declare const InternalAdminLayout: (props: any) => React.JSX.Element;
5
- export declare const AdminProvider: (props: any) => React.JSX.Element;
6
- export declare const AdminLayout: (props: any) => React.JSX.Element;
7
- export declare class AdminLayoutPlugin extends Plugin {
8
- afterAdd(): Promise<void>;
9
- load(): Promise<void>;
10
- }
1
+ export * from './AdminContent';
2
+ export * from './AdminLayout';
3
+ export * from './AdminLayoutPlugin';
4
+ export * from './AdminProvider';
5
+ export * from './AdminTabs';
6
+ export * from './InternalAdminLayout';
7
+ export * from './MenuEditor';
11
8
  export * from './NoticeArea';
9
+ export * from './filterByACL';
@@ -1,233 +1,9 @@
1
- import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__ from "react/jsx-runtime";
2
- import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
- import * as __WEBPACK_EXTERNAL_MODULE_antd__ from "antd";
4
- import * as __WEBPACK_EXTERNAL_MODULE_react_router_dom__ from "react-router-dom";
5
- import * as __WEBPACK_EXTERNAL_MODULE__index_mjs__ from "../../index.mjs";
6
- import * as __WEBPACK_EXTERNAL_MODULE__application_Plugin_mjs__ from "../../application/Plugin.mjs";
7
- import * as __WEBPACK_EXTERNAL_MODULE__variables_index_mjs__ from "../../variables/index.mjs";
8
- import * as __WEBPACK_EXTERNAL_MODULE__AdminContent_mjs__ from "./AdminContent.mjs";
9
- import * as __WEBPACK_EXTERNAL_MODULE__AdminTabs_mjs__ from "./AdminTabs.mjs";
10
- import * as __WEBPACK_EXTERNAL_MODULE__style_mjs__ from "./style.mjs";
1
+ export * from "./AdminContent.mjs";
2
+ export * from "./AdminLayout.mjs";
3
+ export * from "./AdminLayoutPlugin.mjs";
4
+ export * from "./AdminProvider.mjs";
5
+ export * from "./AdminTabs.mjs";
6
+ export * from "./InternalAdminLayout.mjs";
7
+ export * from "./MenuEditor.mjs";
11
8
  export * from "./NoticeArea.mjs";
12
- const filterByACL = (schema, options)=>{
13
- const { allowAll, allowMenuItemIds = [] } = options;
14
- if (allowAll) return schema;
15
- const filterSchema = (s)=>{
16
- if (!s) return;
17
- for(const key in s.properties)if (Object.prototype.hasOwnProperty.call(s.properties, key)) {
18
- const element = s.properties[key];
19
- if (element['x-uid'] && !allowMenuItemIds.includes(element['x-uid'])) delete s.properties[key];
20
- if (element['x-uid']) filterSchema(element);
21
- }
22
- };
23
- filterSchema(schema);
24
- return schema;
25
- };
26
- const SchemaIdContext = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.createContext)(null);
27
- SchemaIdContext.displayName = 'SchemaIdContext';
28
- const useMenuProps = ()=>{
29
- const defaultSelectedUid = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(SchemaIdContext);
30
- return {
31
- selectedUid: defaultSelectedUid,
32
- defaultSelectedUid
33
- };
34
- };
35
- const MenuEditor = (props)=>{
36
- const { setTitle } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDocumentTitle)();
37
- const navigate = (0, __WEBPACK_EXTERNAL_MODULE_react_router_dom__.useNavigate)();
38
- const params = (0, __WEBPACK_EXTERNAL_MODULE_react_router_dom__.useParams)();
39
- const location1 = (0, __WEBPACK_EXTERNAL_MODULE_react_router_dom__.useLocation)();
40
- const isMatchAdmin = (0, __WEBPACK_EXTERNAL_MODULE_react_router_dom__.useMatch)('/admin');
41
- const isMatchAdminName = (0, __WEBPACK_EXTERNAL_MODULE_react_router_dom__.useMatch)('/admin/:name');
42
- const defaultSelectedUid = params.name;
43
- const { sideMenuRef } = props;
44
- const ctx = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useACLRoleContext)();
45
- const [current, setCurrent] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(null);
46
- const onSelect = (param)=>{
47
- let { item } = param;
48
- const schema = item.props.schema;
49
- setTitle(schema.title);
50
- setCurrent(schema);
51
- navigate("/admin/".concat(schema['x-uid']));
52
- };
53
- const adminSchemaUid = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useAdminSchemaUid)();
54
- const { data, loading } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useRequest)({
55
- url: "/uiSchemas:getJsonSchema/".concat(adminSchemaUid)
56
- }, {
57
- refreshDeps: [
58
- adminSchemaUid
59
- ],
60
- onSuccess (data) {
61
- const schema = filterByACL(null == data ? void 0 : data.data, ctx);
62
- if (isMatchAdmin) {
63
- const s = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.findMenuItem)(schema);
64
- if (s) {
65
- navigate("/admin/".concat(s['x-uid']));
66
- setTitle(s.title);
67
- } else navigate("/admin/");
68
- return;
69
- }
70
- if (!isMatchAdminName) return;
71
- const s = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.findByUid)(schema, defaultSelectedUid);
72
- if (s) setTitle(s.title);
73
- else {
74
- const s = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.findMenuItem)(schema);
75
- if (s) {
76
- navigate("/admin/".concat(s['x-uid']));
77
- setTitle(s.title);
78
- } else navigate("/admin/");
79
- }
80
- }
81
- });
82
- const match = (0, __WEBPACK_EXTERNAL_MODULE_react_router_dom__.useMatch)('/admin/:name');
83
- (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
84
- if (match) {
85
- const schema = filterByACL(null == data ? void 0 : data.data, ctx);
86
- const s = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.findByUid)(schema, defaultSelectedUid);
87
- if (s) setTitle(s.title);
88
- }
89
- }, [
90
- null == data ? void 0 : data.data,
91
- location1.pathname,
92
- defaultSelectedUid
93
- ]);
94
- (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
95
- var _Object_values_shift, _current_root, _data_data;
96
- const properties = (null === (_Object_values_shift = Object.values((null == current ? void 0 : null === (_current_root = current.root) || void 0 === _current_root ? void 0 : _current_root.properties) || {}).shift()) || void 0 === _Object_values_shift ? void 0 : _Object_values_shift['properties']) || (null == data ? void 0 : null === (_data_data = data.data) || void 0 === _data_data ? void 0 : _data_data.properties);
97
- if (null == sideMenuRef ? void 0 : sideMenuRef.current) {
98
- const pageType = properties && Object.values(properties).find((item)=>item['x-uid'] === params.name && 'Menu.Item' === item['x-component']);
99
- const isSettingPage = null == location1 ? void 0 : location1.pathname.includes('/settings');
100
- if (pageType || isSettingPage) sideMenuRef.current.style.display = 'none';
101
- else sideMenuRef.current.style.display = 'block';
102
- }
103
- }, [
104
- null == data ? void 0 : data.data,
105
- params.name,
106
- sideMenuRef
107
- ]);
108
- const schema = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
109
- const s = filterByACL(null == data ? void 0 : data.data, ctx);
110
- if (null == s ? void 0 : s['x-component-props']) s['x-component-props']['useProps'] = useMenuProps;
111
- return s;
112
- }, [
113
- null == data ? void 0 : data.data
114
- ]);
115
- if (loading) return;
116
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(SchemaIdContext.Provider, {
117
- value: defaultSelectedUid,
118
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaComponent, {
119
- memoized: true,
120
- scope: {
121
- useMenuProps,
122
- onSelect,
123
- sideMenuRef,
124
- defaultSelectedUid
125
- },
126
- schema: schema
127
- })
128
- });
129
- };
130
- const InternalAdminLayout = (props)=>{
131
- var _result_data_data_logo, _result_data_data, _result_data, _result_data_data1, _result_data1;
132
- const sideMenuRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)();
133
- const result = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useSystemSettings)();
134
- const app = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useApp)();
135
- const params = (0, __WEBPACK_EXTERNAL_MODULE_react_router_dom__.useParams)();
136
- const { styles } = (0, __WEBPACK_EXTERNAL_MODULE__style_mjs__.useStyles)();
137
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE_antd__.Layout, {
138
- className: styles.layout,
139
- children: [
140
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd__.Layout.Header, {
141
- className: styles.header,
142
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)("div", {
143
- className: styles.headerA,
144
- children: [
145
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)("div", {
146
- className: styles.headerB,
147
- children: [
148
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)("div", {
149
- className: styles.titleContainer,
150
- onClick: ()=>{
151
- location.href = app.adminUrl;
152
- },
153
- children: [
154
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("img", {
155
- className: styles.logo,
156
- src: null == result ? void 0 : null === (_result_data = result.data) || void 0 === _result_data ? void 0 : null === (_result_data_data = _result_data.data) || void 0 === _result_data_data ? void 0 : null === (_result_data_data_logo = _result_data_data.logo) || void 0 === _result_data_data_logo ? void 0 : _result_data_data_logo.url
157
- }),
158
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("h1", {
159
- className: styles.title,
160
- children: null == result ? void 0 : null === (_result_data1 = result.data) || void 0 === _result_data1 ? void 0 : null === (_result_data_data1 = _result_data1.data) || void 0 === _result_data_data1 ? void 0 : _result_data_data1.title
161
- })
162
- ]
163
- }),
164
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(MenuEditor, {
165
- sideMenuRef: sideMenuRef
166
- }),
167
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("div", {
168
- className: styles.editor,
169
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__AdminTabs_mjs__.AdminTabs, {})
170
- })
171
- ]
172
- }),
173
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)("div", {
174
- className: styles.right,
175
- children: [
176
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.PinnedPluginList, {}),
177
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.CurrentUser, {})
178
- ]
179
- })
180
- ]
181
- })
182
- }),
183
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE_antd__.Layout, {
184
- children: [
185
- params.name && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd__.Layout.Sider, {
186
- className: styles.sider,
187
- theme: 'light',
188
- ref: sideMenuRef
189
- }),
190
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd__.Layout.Content, {
191
- className: styles.main,
192
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("div", {
193
- className: "amplifier-block",
194
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__AdminContent_mjs__.AdminContent, {})
195
- })
196
- })
197
- ]
198
- })
199
- ]
200
- });
201
- };
202
- const AdminProvider = (props)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.NoticeManagerProvider, {
203
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.CurrentAppInfoProvider, {
204
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.NavigateIfNotSignIn, {
205
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.RemoteCollectionManagerProvider, {
206
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__variables_index_mjs__.VariablesProvider, {
207
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.ACLRolesCheckProvider, {
208
- children: props.children
209
- })
210
- })
211
- })
212
- })
213
- })
214
- });
215
- const AdminLayout = (props)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(AdminProvider, {
216
- children: [
217
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(NoticeArea, {}),
218
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(InternalAdminLayout, {
219
- ...props
220
- })
221
- ]
222
- });
223
- class AdminLayoutPlugin extends __WEBPACK_EXTERNAL_MODULE__application_Plugin_mjs__.Plugin {
224
- async afterAdd() {
225
- await this.app.pm.add(__WEBPACK_EXTERNAL_MODULE__index_mjs__.RemoteSchemaTemplateManagerPlugin);
226
- }
227
- async load() {
228
- this.app.addComponents({
229
- AdminLayout
230
- });
231
- }
232
- }
233
- export { AdminLayout, AdminLayoutPlugin, AdminProvider, InternalAdminLayout, MenuEditor };
9
+ export * from "./filterByACL.mjs";
@@ -23,7 +23,7 @@ import * as __WEBPACK_EXTERNAL_MODULE__schema_settings_index_mjs__ from "../sche
23
23
  import * as __WEBPACK_EXTERNAL_MODULE__schema_templates_index_mjs__ from "../schema-templates/index.mjs";
24
24
  import * as __WEBPACK_EXTERNAL_MODULE__user_index_mjs__ from "../user/index.mjs";
25
25
  import * as __WEBPACK_EXTERNAL_MODULE__acl_ACLPlugin_mjs__ from "./acl/ACLPlugin.mjs";
26
- import * as __WEBPACK_EXTERNAL_MODULE__admin_layout_index_mjs__ from "./admin-layout/index.mjs";
26
+ import * as __WEBPACK_EXTERNAL_MODULE__admin_layout_AdminLayoutPlugin_mjs__ from "./admin-layout/AdminLayoutPlugin.mjs";
27
27
  import * as __WEBPACK_EXTERNAL_MODULE__admin_layout_components_WelcomeCard_mjs__ from "./admin-layout/components/WelcomeCard.mjs";
28
28
  import * as __WEBPACK_EXTERNAL_MODULE__assistant_index_mjs__ from "./assistant/index.mjs";
29
29
  import * as __WEBPACK_EXTERNAL_MODULE__attachment_preview_index_mjs__ from "./attachment-preview/index.mjs";
@@ -40,6 +40,7 @@ import * as __WEBPACK_EXTERNAL_MODULE__scroll_assistant_index_mjs__ from "./scro
40
40
  import * as __WEBPACK_EXTERNAL_MODULE__system_settings_index_mjs__ from "./system-settings/index.mjs";
41
41
  import * as __WEBPACK_EXTERNAL_MODULE__system_version_index_mjs__ from "./system-version/index.mjs";
42
42
  import * as __WEBPACK_EXTERNAL_MODULE__user_settings_index_mjs__ from "./user-settings/index.mjs";
43
+ import * as __WEBPACK_EXTERNAL_MODULE__admin_layout_index_mjs__ from "./admin-layout/index.mjs";
43
44
  export * from "./context-menu/useContextMenu.mjs";
44
45
  function _tagged_template_literal(strings, raw) {
45
46
  if (!raw) raw = strings.slice(0);
@@ -354,7 +355,7 @@ class BuiltInPlugin extends __WEBPACK_EXTERNAL_MODULE__application_Plugin_mjs__.
354
355
  await this.app.pm.add(__WEBPACK_EXTERNAL_MODULE__locale_LocalePlugin_mjs__.LocalePlugin, {
355
356
  name: 'builtin-locale'
356
357
  });
357
- await this.app.pm.add(__WEBPACK_EXTERNAL_MODULE__admin_layout_index_mjs__.AdminLayoutPlugin, {
358
+ await this.app.pm.add(__WEBPACK_EXTERNAL_MODULE__admin_layout_AdminLayoutPlugin_mjs__.AdminLayoutPlugin, {
358
359
  name: 'admin-layout'
359
360
  });
360
361
  await this.app.pm.add(__WEBPACK_EXTERNAL_MODULE__system_settings_index_mjs__.SystemSettingsPlugin, {
@@ -6,6 +6,7 @@ import * as __WEBPACK_EXTERNAL_MODULE_antd__ from "antd";
6
6
  import * as __WEBPACK_EXTERNAL_MODULE_react_router__ from "react-router";
7
7
  import * as __WEBPACK_EXTERNAL_MODULE__user_index_mjs__ from "../../user/index.mjs";
8
8
  import * as __WEBPACK_EXTERNAL_MODULE__admin_layout_index_mjs__ from "../admin-layout/index.mjs";
9
+ import * as __WEBPACK_EXTERNAL_MODULE__admin_layout_AdminProvider_mjs__ from "../admin-layout/AdminProvider.mjs";
9
10
  import * as __WEBPACK_EXTERNAL_MODULE__system_settings_index_mjs__ from "../system-settings/index.mjs";
10
11
  const SettingLayout = (param)=>{
11
12
  let { selectedKeys, onClick, route, children, fullscreen } = param;
@@ -23,7 +24,7 @@ const SettingLayout = (param)=>{
23
24
  const navigate = (0, __WEBPACK_EXTERNAL_MODULE_react_router__.useNavigate)();
24
25
  const { data } = (0, __WEBPACK_EXTERNAL_MODULE__user_index_mjs__.useCurrentUserContext)();
25
26
  const result = (0, __WEBPACK_EXTERNAL_MODULE__system_settings_index_mjs__.useSystemSettings)();
26
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__admin_layout_index_mjs__.AdminProvider, {
27
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__admin_layout_AdminProvider_mjs__.AdminProvider, {
27
28
  children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__ant_design_pro_components__.ProConfigProvider, {
28
29
  hashed: false,
29
30
  children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__ant_design_pro_components__.ProLayout, {
@@ -2,13 +2,13 @@ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__ from "react/jsx-runtim
2
2
  import "react";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE__application_Plugin_mjs__ from "../../application/Plugin.mjs";
4
4
  import * as __WEBPACK_EXTERNAL_MODULE__application_UserSettingsManager_mjs__ from "../../application/UserSettingsManager.mjs";
5
- import * as __WEBPACK_EXTERNAL_MODULE__admin_layout_index_mjs__ from "../admin-layout/index.mjs";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__admin_layout_AdminLayout_mjs__ from "../admin-layout/AdminLayout.mjs";
6
6
  import * as __WEBPACK_EXTERNAL_MODULE__UserSettingsLayout_mjs__ from "./UserSettingsLayout.mjs";
7
7
  class UserSettingsPlugin extends __WEBPACK_EXTERNAL_MODULE__application_Plugin_mjs__.Plugin {
8
8
  async load() {
9
9
  this.app.router.add('profilers', {
10
10
  path: __WEBPACK_EXTERNAL_MODULE__application_UserSettingsManager_mjs__.USER_SETTINGS_PATH,
11
- element: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__admin_layout_index_mjs__.AdminLayout, {
11
+ element: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__admin_layout_AdminLayout_mjs__.AdminLayout, {
12
12
  children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__UserSettingsLayout_mjs__.UserSettingsLayout, {})
13
13
  })
14
14
  });