@nocobase/plugin-ui-layout 2.2.0-alpha.2
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/LICENSE.txt +107 -0
- package/README.md +17 -0
- package/client-v2.d.ts +2 -0
- package/client-v2.js +1 -0
- package/client.d.ts +2 -0
- package/client.js +1 -0
- package/dist/client/index.d.ts +9 -0
- package/dist/client/index.js +10 -0
- package/dist/client/plugin.d.ts +12 -0
- package/dist/client-v2/647.3a2f92424b5ce814.js +10 -0
- package/dist/client-v2/983.f95caf8d9687987d.js +10 -0
- package/dist/client-v2/index.d.ts +11 -0
- package/dist/client-v2/index.js +10 -0
- package/dist/client-v2/layoutRegistration.d.ts +28 -0
- package/dist/client-v2/locale.d.ts +9 -0
- package/dist/client-v2/mobileOpenViewAction.d.ts +206 -0
- package/dist/client-v2/mobilePageModelResolution.d.ts +9 -0
- package/dist/client-v2/mobileRouteRepository.d.ts +44 -0
- package/dist/client-v2/models/MobileLayoutModel.d.ts +102 -0
- package/dist/client-v2/models/MobileMenuComponents.d.ts +10 -0
- package/dist/client-v2/models/MobileMenuModels.d.ts +97 -0
- package/dist/client-v2/models/MobileMenuUtils.d.ts +30 -0
- package/dist/client-v2/models/MobilePageModels.d.ts +26 -0
- package/dist/client-v2/models/mobileComponents.d.ts +18 -0
- package/dist/client-v2/models/mobileFlowCompat.d.ts +61 -0
- package/dist/client-v2/models/mobileThemeToken.d.ts +25 -0
- package/dist/client-v2/pages/RoutesPage.d.ts +22 -0
- package/dist/client-v2/pages/UiLayoutsPage.d.ts +80 -0
- package/dist/client-v2/permissions/LayoutAwareDesktopRoutesPermissionsTab.d.ts +22 -0
- package/dist/client-v2/permissions/layoutAwareDesktopRoutesPermissions.d.ts +22 -0
- package/dist/client-v2/plugin.d.ts +14 -0
- package/dist/constants.d.ts +29 -0
- package/dist/constants.js +64 -0
- package/dist/externalVersion.js +33 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +48 -0
- package/dist/locale/en-US.json +163 -0
- package/dist/locale/zh-CN.json +163 -0
- package/dist/server/collections/desktopRoutes.d.ts +14 -0
- package/dist/server/collections/desktopRoutes.js +48 -0
- package/dist/server/collections/uiLayouts.d.ts +10 -0
- package/dist/server/collections/uiLayouts.js +85 -0
- package/dist/server/ensureDefaultUiLayout.d.ts +10 -0
- package/dist/server/ensureDefaultUiLayout.js +129 -0
- package/dist/server/index.d.ts +9 -0
- package/dist/server/index.js +42 -0
- package/dist/server/migrations/20260601090000-ensure-default-admin-layout.d.ts +13 -0
- package/dist/server/migrations/20260601090000-ensure-default-admin-layout.js +39 -0
- package/dist/server/migrations/20260615090000-backfill-admin-layout-desktop-routes.d.ts +15 -0
- package/dist/server/migrations/20260615090000-backfill-admin-layout-desktop-routes.js +94 -0
- package/dist/server/plugin.d.ts +19 -0
- package/dist/server/plugin.js +662 -0
- package/package.json +37 -0
- package/server.d.ts +2 -0
- package/server.js +1 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
export * from './server';
|
|
10
|
+
export { default } from './server';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
var __create = Object.create;
|
|
11
|
+
var __defProp = Object.defineProperty;
|
|
12
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
13
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
14
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
15
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
16
|
+
var __export = (target, all) => {
|
|
17
|
+
for (var name in all)
|
|
18
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
19
|
+
};
|
|
20
|
+
var __copyProps = (to, from, except, desc) => {
|
|
21
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
22
|
+
for (let key of __getOwnPropNames(from))
|
|
23
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
24
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
25
|
+
}
|
|
26
|
+
return to;
|
|
27
|
+
};
|
|
28
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
29
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
30
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
31
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
32
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
33
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
34
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
35
|
+
mod
|
|
36
|
+
));
|
|
37
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
38
|
+
var src_exports = {};
|
|
39
|
+
__export(src_exports, {
|
|
40
|
+
default: () => import_server.default
|
|
41
|
+
});
|
|
42
|
+
module.exports = __toCommonJS(src_exports);
|
|
43
|
+
__reExport(src_exports, require("./server"), module.exports);
|
|
44
|
+
var import_server = __toESM(require("./server"));
|
|
45
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
46
|
+
0 && (module.exports = {
|
|
47
|
+
...require("./server")
|
|
48
|
+
});
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Actions": "Actions",
|
|
3
|
+
"Add block": "Add block",
|
|
4
|
+
"Add link": "Add link",
|
|
5
|
+
"Add mobile tab": "Add mobile tab",
|
|
6
|
+
"Add child": "Add child",
|
|
7
|
+
"Add child route": "Add child route",
|
|
8
|
+
"Add child {{route}}": "Add child {{route}}",
|
|
9
|
+
"Add new": "Add new",
|
|
10
|
+
"Add page": "Add page",
|
|
11
|
+
"Add parameter": "Add parameter",
|
|
12
|
+
"Add route": "Add route",
|
|
13
|
+
"Add UI layout": "Add UI layout",
|
|
14
|
+
"Allow access": "Allow access",
|
|
15
|
+
"Allow access to {{layout}}": "Allow access to {{layout}}",
|
|
16
|
+
"Access path": "Access path",
|
|
17
|
+
"Access path cannot be /": "Access path cannot be /",
|
|
18
|
+
"Access path cannot contain query or hash": "Access path cannot contain query or hash",
|
|
19
|
+
"Access path cannot contain wildcard": "Access path cannot contain wildcard",
|
|
20
|
+
"Access path must start with /": "Access path must start with /",
|
|
21
|
+
"Are you sure you want to delete it?": "Are you sure you want to delete it?",
|
|
22
|
+
"Are you sure you want to delete this item? This action cannot be undone.": "Are you sure you want to delete this item? This action cannot be undone.",
|
|
23
|
+
"Are you sure you want to delete the selected UI layouts?": "Are you sure you want to delete the selected UI layouts?",
|
|
24
|
+
"Allow access to {{route}}": "Allow access to {{route}}",
|
|
25
|
+
"Auth check": "Auth check",
|
|
26
|
+
"Back": "Back",
|
|
27
|
+
"Cancel": "Cancel",
|
|
28
|
+
"Customer records": "Customer records",
|
|
29
|
+
"Customers": "Customers",
|
|
30
|
+
"Daily overview": "Daily overview",
|
|
31
|
+
"Data blocks": "Data blocks",
|
|
32
|
+
"Data reports": "Data reports",
|
|
33
|
+
"Default AdminLayout cannot be changed": "Default AdminLayout cannot be changed",
|
|
34
|
+
"Default AdminLayout cannot be deleted": "Default AdminLayout cannot be deleted",
|
|
35
|
+
"Invalid layout scope": "Invalid layout scope",
|
|
36
|
+
"Delete": "Delete",
|
|
37
|
+
"Delete failed": "Delete failed",
|
|
38
|
+
"Delete {{route}}": "Delete {{route}}",
|
|
39
|
+
"Delete route": "Delete route",
|
|
40
|
+
"Delete route {{route}}": "Delete route {{route}}",
|
|
41
|
+
"Delete routes": "Delete routes",
|
|
42
|
+
"Delete UI layout": "Delete UI layout",
|
|
43
|
+
"Delete UI layouts": "Delete UI layouts",
|
|
44
|
+
"Deleted successfully": "Deleted successfully",
|
|
45
|
+
"Details": "Details",
|
|
46
|
+
"Design mode": "Design mode",
|
|
47
|
+
"Desktop": "Desktop",
|
|
48
|
+
"Desktop layout": "Desktop layout",
|
|
49
|
+
"Desktop routes": "Desktop routes",
|
|
50
|
+
"Do not concatenate search params in the URL": "Do not concatenate search params in the URL",
|
|
51
|
+
"Confirm": "Confirm",
|
|
52
|
+
"Confirm delete": "Confirm delete",
|
|
53
|
+
"Configure": "Configure",
|
|
54
|
+
"Configure {{layout}}": "Configure {{layout}}",
|
|
55
|
+
"Configure menu permissions for {{layout}}": "Configure menu permissions for {{layout}}",
|
|
56
|
+
"Configure routes permissions for {{layout}}": "Configure routes permissions for {{layout}}",
|
|
57
|
+
"Copy failed": "Copy failed",
|
|
58
|
+
"Copy UID": "Copy UID",
|
|
59
|
+
"Classic page (v1)": "Classic page (v1)",
|
|
60
|
+
"Drag": "Drag",
|
|
61
|
+
"Edit": "Edit",
|
|
62
|
+
"Edit {{route}}": "Edit {{route}}",
|
|
63
|
+
"Edit route": "Edit route",
|
|
64
|
+
"Edit route {{route}}": "Edit route {{route}}",
|
|
65
|
+
"Edit UI layout": "Edit UI layout",
|
|
66
|
+
"Enabled": "Enabled",
|
|
67
|
+
"Filter blocks": "Filter blocks",
|
|
68
|
+
"Filter": "Filter",
|
|
69
|
+
"Form": "Form",
|
|
70
|
+
"Failed to load mobile pages": "Failed to load mobile pages",
|
|
71
|
+
"Failed to load routes": "Failed to load routes",
|
|
72
|
+
"Failed to load routes for {{layout}}": "Failed to load routes for {{layout}}",
|
|
73
|
+
"Grid Card": "Grid Card",
|
|
74
|
+
"Group": "Group",
|
|
75
|
+
"Hidden": "Hidden",
|
|
76
|
+
"Hide in menu": "Hide in menu",
|
|
77
|
+
"Home": "Home",
|
|
78
|
+
"Icon": "Icon",
|
|
79
|
+
"Icon field is required": "Icon field is required",
|
|
80
|
+
"If selected, the page will display Tab pages.": "If selected, the page will display Tab pages.",
|
|
81
|
+
"If selected, the route will be displayed in the menu.": "If selected, the route will be displayed in the menu.",
|
|
82
|
+
"Inactive": "Inactive",
|
|
83
|
+
"Layout type": "Layout type",
|
|
84
|
+
"Layout": "Layout",
|
|
85
|
+
"Link": "Link",
|
|
86
|
+
"Layout permissions": "Layout permissions",
|
|
87
|
+
"Layout title": "Layout title",
|
|
88
|
+
"Markdown": "Markdown",
|
|
89
|
+
"Me": "Me",
|
|
90
|
+
"Mobile": "Mobile",
|
|
91
|
+
"Mobile menu": "Mobile menu",
|
|
92
|
+
"Mobile menu settings": "Mobile menu settings",
|
|
93
|
+
"Mobile preview": "Mobile preview",
|
|
94
|
+
"Mobile tab settings": "Mobile tab settings",
|
|
95
|
+
"Mobile tab bar": "Mobile tab bar",
|
|
96
|
+
"Mobile layout": "Mobile layout",
|
|
97
|
+
"Menu access": "Menu access",
|
|
98
|
+
"Menu permissions": "Menu permissions",
|
|
99
|
+
"Menu linkage rules": "Menu linkage rules",
|
|
100
|
+
"Modern page (v2)": "Modern page (v2)",
|
|
101
|
+
"Must start with /. For example: /admin.": "Must start with /. For example: /admin.",
|
|
102
|
+
"Name": "Name",
|
|
103
|
+
"New routes are allowed to be accessed by default": "New routes are allowed to be accessed by default",
|
|
104
|
+
"No": "No",
|
|
105
|
+
"No mobile pages yet": "No mobile pages yet",
|
|
106
|
+
"No matching routes": "No matching routes",
|
|
107
|
+
"No matching routes in {{layout}}": "No matching routes in {{layout}}",
|
|
108
|
+
"No route path": "No route path",
|
|
109
|
+
"No routes": "No routes",
|
|
110
|
+
"No routes in {{layout}}": "No routes in {{layout}}",
|
|
111
|
+
"Notifications": "Notifications",
|
|
112
|
+
"Open in new window": "Open in new window",
|
|
113
|
+
"Other blocks": "Other blocks",
|
|
114
|
+
"Pad preview": "Pad preview",
|
|
115
|
+
"Page": "Page",
|
|
116
|
+
"Page (v1)": "Page (v1)",
|
|
117
|
+
"Page (v2)": "Page (v2)",
|
|
118
|
+
"Path": "Path",
|
|
119
|
+
"Pending items": "Pending items",
|
|
120
|
+
"QR code": "QR code",
|
|
121
|
+
"Refresh": "Refresh",
|
|
122
|
+
"Reports": "Reports",
|
|
123
|
+
"Route name cannot contain dots": "Route name cannot contain dots",
|
|
124
|
+
"Route name": "Route name",
|
|
125
|
+
"Route path": "Route path",
|
|
126
|
+
"Routes": "Routes",
|
|
127
|
+
"Routes permissions": "Routes permissions",
|
|
128
|
+
"Mobile routes": "Mobile routes",
|
|
129
|
+
"Route permissions": "Route permissions",
|
|
130
|
+
"Require users to sign in before accessing this layout.": "Require users to sign in before accessing this layout.",
|
|
131
|
+
"Saved successfully": "Saved successfully",
|
|
132
|
+
"Search parameters": "Search parameters",
|
|
133
|
+
"Search routes": "Search routes",
|
|
134
|
+
"Settings": "Settings",
|
|
135
|
+
"Select a role to configure permissions": "Select a role to configure permissions",
|
|
136
|
+
"Submit": "Submit",
|
|
137
|
+
"Show in menu": "Show in menu",
|
|
138
|
+
"Shown": "Shown",
|
|
139
|
+
"Table": "Table",
|
|
140
|
+
"Tasks": "Tasks",
|
|
141
|
+
"Tab": "Tab",
|
|
142
|
+
"The field value is required": "The field value is required",
|
|
143
|
+
"Title": "Title",
|
|
144
|
+
"Type": "Type",
|
|
145
|
+
"Title field is required": "Title field is required",
|
|
146
|
+
"UID": "UID",
|
|
147
|
+
"UID cannot be changed": "UID cannot be changed",
|
|
148
|
+
"URL": "URL",
|
|
149
|
+
"URL field is required": "URL field is required",
|
|
150
|
+
"UI Editor": "UI Editor",
|
|
151
|
+
"UI layout": "UI layout",
|
|
152
|
+
"UI layouts": "UI layouts",
|
|
153
|
+
"UID copied to clipboard": "UID copied to clipboard",
|
|
154
|
+
"Untitled": "Untitled",
|
|
155
|
+
"Updated successfully": "Updated successfully",
|
|
156
|
+
"Unknown": "Unknown",
|
|
157
|
+
"Value": "Value",
|
|
158
|
+
"View": "View",
|
|
159
|
+
"View {{route}}": "View {{route}}",
|
|
160
|
+
"When disabled, this layout will not be registered or accessible.": "When disabled, this layout will not be registered or accessible.",
|
|
161
|
+
"Workbench": "Workbench",
|
|
162
|
+
"Yes": "Yes"
|
|
163
|
+
}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Actions": "操作",
|
|
3
|
+
"Add block": "创建区块",
|
|
4
|
+
"Add link": "新增链接",
|
|
5
|
+
"Add mobile tab": "新增移动端标签",
|
|
6
|
+
"Add child": "新增子项",
|
|
7
|
+
"Add child route": "新增子路由",
|
|
8
|
+
"Add child {{route}}": "新增子路由 {{route}}",
|
|
9
|
+
"Add new": "新增",
|
|
10
|
+
"Add page": "新增页面",
|
|
11
|
+
"Add parameter": "新增参数",
|
|
12
|
+
"Add route": "新增路由",
|
|
13
|
+
"Add UI layout": "新增 UI 布局",
|
|
14
|
+
"Allow access": "允许访问",
|
|
15
|
+
"Allow access to {{layout}}": "允许访问 {{layout}}",
|
|
16
|
+
"Access path": "访问路径",
|
|
17
|
+
"Access path cannot be /": "访问路径不能是 /",
|
|
18
|
+
"Access path cannot contain query or hash": "访问路径不能包含查询参数或哈希",
|
|
19
|
+
"Access path cannot contain wildcard": "访问路径不能包含通配符",
|
|
20
|
+
"Access path must start with /": "访问路径必须以 / 开头",
|
|
21
|
+
"Are you sure you want to delete it?": "确定要删除吗?",
|
|
22
|
+
"Are you sure you want to delete this item? This action cannot be undone.": "确定要删除此项吗?此操作不可撤销。",
|
|
23
|
+
"Are you sure you want to delete the selected UI layouts?": "确定要删除选中的 UI 布局吗?",
|
|
24
|
+
"Allow access to {{route}}": "允许访问 {{route}}",
|
|
25
|
+
"Auth check": "认证校验",
|
|
26
|
+
"Back": "返回",
|
|
27
|
+
"Cancel": "取消",
|
|
28
|
+
"Customer records": "客户记录",
|
|
29
|
+
"Customers": "客户",
|
|
30
|
+
"Daily overview": "每日概览",
|
|
31
|
+
"Data blocks": "数据区块",
|
|
32
|
+
"Data reports": "数据报表",
|
|
33
|
+
"Default AdminLayout cannot be changed": "默认 AdminLayout 不能修改",
|
|
34
|
+
"Default AdminLayout cannot be deleted": "默认 AdminLayout 不能删除",
|
|
35
|
+
"Invalid layout scope": "无效的布局范围",
|
|
36
|
+
"Delete": "删除",
|
|
37
|
+
"Delete failed": "删除失败",
|
|
38
|
+
"Delete {{route}}": "删除 {{route}}",
|
|
39
|
+
"Delete route": "删除路由",
|
|
40
|
+
"Delete route {{route}}": "删除路由 {{route}}",
|
|
41
|
+
"Delete routes": "删除路由",
|
|
42
|
+
"Delete UI layout": "删除 UI 布局",
|
|
43
|
+
"Delete UI layouts": "删除 UI 布局",
|
|
44
|
+
"Deleted successfully": "删除成功",
|
|
45
|
+
"Details": "详情",
|
|
46
|
+
"Design mode": "设计模式",
|
|
47
|
+
"Desktop": "桌面端",
|
|
48
|
+
"Desktop layout": "桌面端布局",
|
|
49
|
+
"Desktop routes": "桌面端路由",
|
|
50
|
+
"Do not concatenate search params in the URL": "不要在 URL 中拼接查询参数",
|
|
51
|
+
"Confirm": "确认",
|
|
52
|
+
"Confirm delete": "确认删除",
|
|
53
|
+
"Configure": "配置",
|
|
54
|
+
"Configure {{layout}}": "配置 {{layout}}",
|
|
55
|
+
"Configure menu permissions for {{layout}}": "配置 {{layout}} 的菜单权限",
|
|
56
|
+
"Configure routes permissions for {{layout}}": "配置 {{layout}} 的路由权限",
|
|
57
|
+
"Copy failed": "复制失败",
|
|
58
|
+
"Copy UID": "复制 UID",
|
|
59
|
+
"Classic page (v1)": "经典页面(v1)",
|
|
60
|
+
"Drag": "拖拽",
|
|
61
|
+
"Edit": "编辑",
|
|
62
|
+
"Edit {{route}}": "编辑 {{route}}",
|
|
63
|
+
"Edit route": "编辑路由",
|
|
64
|
+
"Edit route {{route}}": "编辑路由 {{route}}",
|
|
65
|
+
"Edit UI layout": "编辑 UI 布局",
|
|
66
|
+
"Enabled": "启用",
|
|
67
|
+
"Filter blocks": "筛选区块",
|
|
68
|
+
"Filter": "筛选",
|
|
69
|
+
"Form": "表单",
|
|
70
|
+
"Failed to load mobile pages": "移动端页面加载失败",
|
|
71
|
+
"Failed to load routes": "路由加载失败",
|
|
72
|
+
"Failed to load routes for {{layout}}": "{{layout}} 的路由加载失败",
|
|
73
|
+
"Grid Card": "宫格卡片",
|
|
74
|
+
"Group": "分组",
|
|
75
|
+
"Hidden": "已隐藏",
|
|
76
|
+
"Hide in menu": "在菜单中隐藏",
|
|
77
|
+
"Home": "首页",
|
|
78
|
+
"Icon": "图标",
|
|
79
|
+
"Icon field is required": "图标字段为必填项",
|
|
80
|
+
"If selected, the page will display Tab pages.": "勾选后,页面将显示标签页。",
|
|
81
|
+
"If selected, the route will be displayed in the menu.": "勾选后,路由会在菜单中显示。",
|
|
82
|
+
"Inactive": "未生效",
|
|
83
|
+
"Layout type": "布局类型",
|
|
84
|
+
"Layout": "布局",
|
|
85
|
+
"Link": "链接",
|
|
86
|
+
"Layout permissions": "布局权限",
|
|
87
|
+
"Layout title": "布局标题",
|
|
88
|
+
"Markdown": "Markdown",
|
|
89
|
+
"Me": "我的",
|
|
90
|
+
"Mobile": "移动端",
|
|
91
|
+
"Mobile menu": "移动端菜单",
|
|
92
|
+
"Mobile menu settings": "移动端菜单设置",
|
|
93
|
+
"Mobile preview": "移动端预览",
|
|
94
|
+
"Mobile tab settings": "移动端标签设置",
|
|
95
|
+
"Mobile tab bar": "移动端标签栏",
|
|
96
|
+
"Mobile layout": "移动端布局",
|
|
97
|
+
"Menu access": "菜单访问权限",
|
|
98
|
+
"Menu permissions": "菜单权限",
|
|
99
|
+
"Menu linkage rules": "菜单联动规则",
|
|
100
|
+
"Modern page (v2)": "现代页面(v2)",
|
|
101
|
+
"Must start with /. For example: /admin.": "必须以 / 开头,例如 /admin。",
|
|
102
|
+
"Name": "名称",
|
|
103
|
+
"New routes are allowed to be accessed by default": "新路由默认允许访问",
|
|
104
|
+
"No": "否",
|
|
105
|
+
"No mobile pages yet": "暂无移动端页面",
|
|
106
|
+
"No matching routes": "没有匹配的路由",
|
|
107
|
+
"No matching routes in {{layout}}": "{{layout}} 中没有匹配的路由",
|
|
108
|
+
"No route path": "无路由路径",
|
|
109
|
+
"No routes": "暂无路由",
|
|
110
|
+
"No routes in {{layout}}": "{{layout}} 暂无路由",
|
|
111
|
+
"Notifications": "通知",
|
|
112
|
+
"Open in new window": "在新窗口打开",
|
|
113
|
+
"Other blocks": "其他区块",
|
|
114
|
+
"Pad preview": "平板预览",
|
|
115
|
+
"Page": "页面",
|
|
116
|
+
"Page (v1)": "页面(v1)",
|
|
117
|
+
"Page (v2)": "页面(v2)",
|
|
118
|
+
"Path": "路径",
|
|
119
|
+
"Pending items": "待办事项",
|
|
120
|
+
"QR code": "二维码",
|
|
121
|
+
"Refresh": "刷新",
|
|
122
|
+
"Reports": "报表",
|
|
123
|
+
"Route name cannot contain dots": "路由名称不能包含点号",
|
|
124
|
+
"Route name": "路由名称",
|
|
125
|
+
"Route path": "路由路径",
|
|
126
|
+
"Routes": "路由",
|
|
127
|
+
"Routes permissions": "路由权限",
|
|
128
|
+
"Mobile routes": "移动端路由",
|
|
129
|
+
"Route permissions": "路由权限",
|
|
130
|
+
"Require users to sign in before accessing this layout.": "开启后,用户访问该布局前需要先登录。",
|
|
131
|
+
"Saved successfully": "保存成功",
|
|
132
|
+
"Search parameters": "查询参数",
|
|
133
|
+
"Search routes": "搜索路由",
|
|
134
|
+
"Settings": "设置",
|
|
135
|
+
"Select a role to configure permissions": "请选择角色以配置权限",
|
|
136
|
+
"Submit": "提交",
|
|
137
|
+
"Show in menu": "在菜单中显示",
|
|
138
|
+
"Shown": "已显示",
|
|
139
|
+
"Table": "表格",
|
|
140
|
+
"Tasks": "任务",
|
|
141
|
+
"Tab": "标签页",
|
|
142
|
+
"The field value is required": "该字段为必填项",
|
|
143
|
+
"Title": "标题",
|
|
144
|
+
"Type": "类型",
|
|
145
|
+
"Title field is required": "标题字段为必填项",
|
|
146
|
+
"UID": "UID",
|
|
147
|
+
"UID cannot be changed": "UID 不能修改",
|
|
148
|
+
"URL": "URL",
|
|
149
|
+
"URL field is required": "URL 字段为必填项",
|
|
150
|
+
"UI Editor": "UI 配置",
|
|
151
|
+
"UI layout": "UI 布局",
|
|
152
|
+
"UI layouts": "UI 布局",
|
|
153
|
+
"UID copied to clipboard": "UID 已复制到剪贴板",
|
|
154
|
+
"Untitled": "未设置标题",
|
|
155
|
+
"Updated successfully": "更新成功",
|
|
156
|
+
"Unknown": "未知",
|
|
157
|
+
"Value": "值",
|
|
158
|
+
"View": "查看",
|
|
159
|
+
"View {{route}}": "查看 {{route}}",
|
|
160
|
+
"When disabled, this layout will not be registered or accessible.": "关闭后,该布局不会注册到前端路由,也无法访问。",
|
|
161
|
+
"Workbench": "工作台",
|
|
162
|
+
"Yes": "是"
|
|
163
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
declare const _default: {
|
|
10
|
+
collectionOptions: import("@nocobase/database").CollectionOptions;
|
|
11
|
+
mergeOptions: import("deepmerge").Options;
|
|
12
|
+
extend: boolean;
|
|
13
|
+
};
|
|
14
|
+
export default _default;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
var __defProp = Object.defineProperty;
|
|
11
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
12
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
13
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __export = (target, all) => {
|
|
15
|
+
for (var name in all)
|
|
16
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
17
|
+
};
|
|
18
|
+
var __copyProps = (to, from, except, desc) => {
|
|
19
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
20
|
+
for (let key of __getOwnPropNames(from))
|
|
21
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
22
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
23
|
+
}
|
|
24
|
+
return to;
|
|
25
|
+
};
|
|
26
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
27
|
+
var desktopRoutes_exports = {};
|
|
28
|
+
__export(desktopRoutes_exports, {
|
|
29
|
+
default: () => desktopRoutes_default
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(desktopRoutes_exports);
|
|
32
|
+
var import_database = require("@nocobase/database");
|
|
33
|
+
var desktopRoutes_default = (0, import_database.extendCollection)({
|
|
34
|
+
name: "desktopRoutes",
|
|
35
|
+
fields: [
|
|
36
|
+
{
|
|
37
|
+
type: "belongsToMany",
|
|
38
|
+
name: "uiLayouts",
|
|
39
|
+
target: "uiLayouts",
|
|
40
|
+
through: "desktopRoutesUiLayouts",
|
|
41
|
+
sourceKey: "id",
|
|
42
|
+
targetKey: "uid",
|
|
43
|
+
foreignKey: "desktopRouteId",
|
|
44
|
+
otherKey: "uiLayoutUid",
|
|
45
|
+
onDelete: "CASCADE"
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
declare const _default: import("@nocobase/database").CollectionOptions;
|
|
10
|
+
export default _default;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
var __defProp = Object.defineProperty;
|
|
11
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
12
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
13
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __export = (target, all) => {
|
|
15
|
+
for (var name in all)
|
|
16
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
17
|
+
};
|
|
18
|
+
var __copyProps = (to, from, except, desc) => {
|
|
19
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
20
|
+
for (let key of __getOwnPropNames(from))
|
|
21
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
22
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
23
|
+
}
|
|
24
|
+
return to;
|
|
25
|
+
};
|
|
26
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
27
|
+
var uiLayouts_exports = {};
|
|
28
|
+
__export(uiLayouts_exports, {
|
|
29
|
+
default: () => uiLayouts_default
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(uiLayouts_exports);
|
|
32
|
+
var import_database = require("@nocobase/database");
|
|
33
|
+
var uiLayouts_default = (0, import_database.defineCollection)({
|
|
34
|
+
name: "uiLayouts",
|
|
35
|
+
dumpRules: "required",
|
|
36
|
+
migrationRules: ["overwrite", "schema-only"],
|
|
37
|
+
hidden: false,
|
|
38
|
+
autoGenId: false,
|
|
39
|
+
timestamps: false,
|
|
40
|
+
fields: [
|
|
41
|
+
{
|
|
42
|
+
name: "uid",
|
|
43
|
+
type: "string",
|
|
44
|
+
unique: true,
|
|
45
|
+
primaryKey: true,
|
|
46
|
+
allowNull: false
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: "title",
|
|
50
|
+
type: "string",
|
|
51
|
+
defaultValue: "Untitled",
|
|
52
|
+
allowNull: false
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
name: "layoutType",
|
|
56
|
+
type: "string",
|
|
57
|
+
defaultValue: "desktop",
|
|
58
|
+
allowNull: false
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: "routeName",
|
|
62
|
+
type: "string",
|
|
63
|
+
unique: true,
|
|
64
|
+
allowNull: false
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name: "routePath",
|
|
68
|
+
type: "string",
|
|
69
|
+
allowNull: false
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
name: "authCheck",
|
|
73
|
+
type: "boolean",
|
|
74
|
+
defaultValue: true,
|
|
75
|
+
allowNull: false
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
name: "enabled",
|
|
79
|
+
type: "boolean",
|
|
80
|
+
defaultValue: true,
|
|
81
|
+
allowNull: false
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
filterTargetKey: "uid"
|
|
85
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import type { Database } from '@nocobase/database';
|
|
10
|
+
export declare function ensureDefaultUiLayout(db: Database): Promise<void>;
|