@tachybase/client 0.23.22 → 0.23.35
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/es/application/schema-initializer/components/SchemaInitializerChildren.mjs +1 -1
- package/es/built-in/admin-layout/InternalAdminLayout.mjs +4 -2
- package/es/built-in/admin-layout/MenuEditor.mjs +2 -2
- package/es/built-in/admin-layout/style.d.ts +1 -1
- package/es/built-in/admin-layout/style.mjs +4 -4
- package/es/built-in/assistant/Assistant.provider.d.ts +0 -6
- package/es/built-in/assistant/Assistant.provider.mjs +15 -112
- package/es/built-in/assistant/index.d.ts +0 -1
- package/es/built-in/assistant/index.mjs +0 -7
- package/es/built-in/attachment-preview/previewers/file-pdf.mjs +4 -2
- package/es/built-in/context-menu/ContextMenu.provider.d.ts +1 -0
- package/es/built-in/context-menu/ContextMenu.provider.mjs +29 -1
- package/es/built-in/context-menu/index.mjs +1 -0
- package/es/built-in/index.mjs +44 -5
- package/es/built-in/page-style/TabHeader.d.ts +1 -1
- package/es/built-in/page-style/TabHeader.mjs +26 -33
- package/es/built-in/page-style/TabHeader.style.d.ts +4 -0
- package/es/built-in/page-style/TabHeader.style.mjs +35 -0
- package/es/built-in/pinned-list/PinnedPluginListProvider.d.ts +3 -1
- package/es/built-in/pinned-list/PinnedPluginListProvider.mjs +5 -4
- package/es/built-in/scroll-assistant/useJoystick.mjs +3 -1
- package/es/built-in/setting-layout/SettingLayout.mjs +10 -1
- package/es/built-in/{assistant/calculator → setting-layout}/style.d.ts +1 -1
- package/es/built-in/setting-layout/style.mjs +25 -0
- package/es/collection-manager/action-hooks.d.ts +1 -4
- package/es/collection-manager/action-hooks.mjs +39 -11
- package/es/icon/preloaded.mjs +4 -4
- package/es/modules/actions/associate/AssociateActionInitializer.d.ts +1 -0
- package/es/modules/actions/associate/AssociateActionInitializer.mjs +71 -0
- package/es/modules/actions/associate/AssociateActionProvider.d.ts +7 -0
- package/es/modules/actions/associate/AssociateActionProvider.mjs +82 -0
- package/es/modules/actions/associate/AssociateActionSettings.d.ts +2 -0
- package/es/modules/actions/associate/AssociateActionSettings.mjs +57 -0
- package/es/modules/blocks/data-blocks/details-multi/detailsWithPaginationSettings.mjs +2 -1
- package/es/modules/blocks/data-blocks/form/RecordFormBlockInitializer.mjs +21 -14
- package/es/modules/blocks/data-blocks/form/createEditFormBlockUISchema.d.ts +1 -2
- package/es/modules/blocks/data-blocks/grid-card/gridCardBlockSettings.mjs +2 -1
- package/es/modules/blocks/data-blocks/list/listBlockSettings.mjs +2 -1
- package/es/modules/blocks/data-blocks/table/TableActionInitializers.mjs +15 -0
- package/es/modules/blocks/data-blocks/table/tableBlockSettings.mjs +2 -1
- package/es/modules/blocks/data-blocks/table/tableColumnSettings.mjs +2 -2
- package/es/modules/blocks/data-blocks/table-selector/tableSelectorBlockSettings.mjs +2 -1
- package/es/modules/fields/component/Cascader/cascaderComponentFieldSettings.mjs +2 -1
- package/es/modules/fields/component/Radio/radioComponentFieldSettings.mjs +4 -0
- package/es/modules/fields/component/Select/selectComponentFieldSettings.mjs +16 -2
- package/es/modules/fields/component/SubTable/subTablePopoverComponentFieldSettings.mjs +2 -1
- package/es/modules/menu/GroupItem.mjs +5 -1
- package/es/modules/menu/LinkMenuItem.mjs +7 -3
- package/es/modules/menu/PageMenuItem.mjs +5 -1
- package/es/modules/menu/UploadMenuItem.d.ts +1 -0
- package/es/modules/menu/UploadMenuItem.mjs +81 -0
- package/es/modules/menu/menuItemInitializer.d.ts +0 -4
- package/es/modules/menu/menuItemInitializer.mjs +3 -23
- package/es/schema-component/antd/action/Action.Designer.mjs +4 -1
- package/es/schema-component/antd/association-select/AssociationSelect.mjs +4 -2
- package/es/schema-component/antd/checkbox/Checkbox.mjs +11 -6
- package/es/schema-component/antd/date-picker/DatePicker.mjs +4 -0
- package/es/schema-component/antd/form-item/FormItem.Settings.d.ts +2 -0
- package/es/schema-component/antd/form-item/FormItem.Settings.mjs +14 -1
- package/es/schema-component/antd/form-v2/Form.Settings.mjs +2 -1
- package/es/schema-component/antd/grid-card/GridCard.Designer.mjs +2 -1
- package/es/schema-component/antd/list/List.Designer.mjs +2 -1
- package/es/schema-component/antd/menu/AdminMenu.d.ts +1 -0
- package/es/schema-component/antd/menu/AdminMenu.mjs +71 -0
- package/es/schema-component/antd/menu/AdminMenu.style.d.ts +4 -0
- package/es/schema-component/antd/menu/AdminMenu.style.mjs +36 -0
- package/es/schema-component/antd/menu/Menu.Designer.d.ts +1 -1
- package/es/schema-component/antd/menu/Menu.Designer.mjs +59 -40
- package/es/schema-component/antd/menu/Menu.mjs +108 -141
- package/es/schema-component/antd/menu/Menu.styles.d.ts +1 -2
- package/es/schema-component/antd/menu/Menu.styles.mjs +8 -20
- package/es/schema-component/antd/menu/MenuSearch.d.ts +5 -0
- package/es/schema-component/antd/menu/MenuSearch.mjs +32 -0
- package/es/schema-component/antd/menu/tools.d.ts +9 -0
- package/es/schema-component/antd/menu/tools.mjs +36 -0
- package/es/schema-component/antd/scroll-area/ScrollArea.mjs +0 -17
- package/es/schema-component/antd/select/Select.d.ts +3 -13
- package/es/schema-component/antd/select/Select.mjs +33 -2
- package/es/schema-component/antd/table/Table.Void.Designer.mjs +2 -1
- package/es/schema-component/antd/table-v2/TableBlockDesigner.mjs +2 -1
- package/es/schema-component/antd/table-v2/TableSelectorDesigner.mjs +2 -1
- package/es/schema-component/common/dnd-context/index.d.ts +1 -2
- package/es/schema-component/common/sortable-item/DragHandleMenu.d.ts +1 -0
- package/es/schema-component/common/sortable-item/DragHandleMenu.mjs +78 -0
- package/es/schema-component/common/sortable-item/DragHandleMenu.style.d.ts +3 -0
- package/es/schema-component/common/sortable-item/DragHandleMenu.style.mjs +25 -0
- package/es/schema-initializer/SchemaInitializerPlugin.mjs +5 -2
- package/es/schema-initializer/utils.mjs +9 -7
- package/es/schema-settings/GeneralSchemaDesigner.d.ts +2 -1
- package/es/schema-settings/GeneralSchemaDesigner.mjs +9 -1
- package/es/schema-settings/SchemaSettings.d.ts +3 -1
- package/es/schema-settings/SchemaSettings.mjs +16 -4
- package/es/schema-settings/SchemaSettingsPlugin.mjs +2 -0
- package/es/schema-settings/SchemaSettingsSortingRule.mjs +2 -1
- package/es/schema-settings/styles.mjs +2 -2
- package/lib/application/schema-initializer/components/SchemaInitializerChildren.js +1 -1
- package/lib/built-in/admin-layout/InternalAdminLayout.js +4 -2
- package/lib/built-in/admin-layout/MenuEditor.js +2 -2
- package/lib/built-in/admin-layout/style.js +4 -4
- package/lib/built-in/assistant/Assistant.provider.js +16 -115
- package/lib/built-in/assistant/index.js +3 -16
- package/lib/built-in/attachment-preview/previewers/file-pdf.js +4 -2
- package/lib/built-in/context-menu/ContextMenu.provider.js +29 -0
- package/lib/built-in/context-menu/index.js +1 -0
- package/lib/built-in/index.js +44 -5
- package/lib/built-in/page-style/TabHeader.js +26 -33
- package/lib/built-in/page-style/TabHeader.style.js +69 -0
- package/lib/built-in/pinned-list/PinnedPluginListProvider.js +5 -4
- package/lib/built-in/scroll-assistant/useJoystick.js +17 -1
- package/lib/built-in/setting-layout/SettingLayout.js +10 -1
- package/lib/built-in/{assistant/calculator/CalculatorKey.js → setting-layout/style.js} +25 -11
- package/lib/collection-manager/action-hooks.js +39 -11
- package/lib/icon/preloaded.js +4 -4
- package/lib/locale/en_US.js +8 -0
- package/lib/locale/zh-CN.js +8 -0
- package/lib/modules/actions/associate/AssociateActionInitializer.js +105 -0
- package/lib/modules/actions/associate/AssociateActionProvider.js +116 -0
- package/lib/modules/actions/associate/AssociateActionSettings.js +91 -0
- package/lib/modules/blocks/data-blocks/details-multi/detailsWithPaginationSettings.js +2 -1
- package/lib/modules/blocks/data-blocks/form/RecordFormBlockInitializer.js +21 -14
- package/lib/modules/blocks/data-blocks/grid-card/gridCardBlockSettings.js +2 -1
- package/lib/modules/blocks/data-blocks/list/listBlockSettings.js +2 -1
- package/lib/modules/blocks/data-blocks/table/TableActionInitializers.js +15 -0
- package/lib/modules/blocks/data-blocks/table/tableBlockSettings.js +2 -1
- package/lib/modules/blocks/data-blocks/table/tableColumnSettings.js +2 -2
- package/lib/modules/blocks/data-blocks/table-selector/tableSelectorBlockSettings.js +2 -1
- package/lib/modules/fields/component/Cascader/cascaderComponentFieldSettings.js +2 -1
- package/lib/modules/fields/component/Radio/radioComponentFieldSettings.js +4 -0
- package/lib/modules/fields/component/Select/selectComponentFieldSettings.js +16 -2
- package/lib/modules/fields/component/SubTable/subTablePopoverComponentFieldSettings.js +2 -1
- package/lib/modules/menu/GroupItem.js +5 -1
- package/lib/modules/menu/LinkMenuItem.js +7 -3
- package/lib/modules/menu/PageMenuItem.js +5 -1
- package/lib/modules/menu/UploadMenuItem.js +115 -0
- package/lib/modules/menu/menuItemInitializer.js +2 -23
- package/lib/schema-component/antd/action/Action.Designer.js +4 -1
- package/lib/schema-component/antd/association-select/AssociationSelect.js +4 -2
- package/lib/schema-component/antd/checkbox/Checkbox.js +11 -6
- package/lib/schema-component/antd/date-picker/DatePicker.js +4 -0
- package/lib/schema-component/antd/form-item/FormItem.Settings.js +16 -1
- package/lib/schema-component/antd/form-v2/Form.Settings.js +2 -1
- package/lib/schema-component/antd/grid-card/GridCard.Designer.js +2 -1
- package/lib/schema-component/antd/list/List.Designer.js +2 -1
- package/lib/schema-component/antd/menu/AdminMenu.js +105 -0
- package/lib/schema-component/antd/menu/AdminMenu.style.js +70 -0
- package/lib/schema-component/antd/menu/Menu.Designer.js +59 -40
- package/lib/schema-component/antd/menu/Menu.js +108 -141
- package/lib/schema-component/antd/menu/Menu.styles.js +8 -20
- package/lib/schema-component/antd/menu/MenuSearch.js +80 -0
- package/lib/schema-component/antd/menu/tools.js +72 -0
- package/lib/schema-component/antd/scroll-area/ScrollArea.js +0 -17
- package/lib/schema-component/antd/select/Select.js +33 -2
- package/lib/schema-component/antd/table/Table.Void.Designer.js +2 -1
- package/lib/schema-component/antd/table-v2/TableBlockDesigner.js +2 -1
- package/lib/schema-component/antd/table-v2/TableSelectorDesigner.js +2 -1
- package/lib/schema-component/common/sortable-item/DragHandleMenu.js +112 -0
- package/lib/schema-component/common/sortable-item/DragHandleMenu.style.js +59 -0
- package/lib/schema-initializer/SchemaInitializerPlugin.js +5 -2
- package/lib/schema-initializer/utils.js +9 -7
- package/lib/schema-settings/GeneralSchemaDesigner.js +9 -1
- package/lib/schema-settings/SchemaSettings.js +16 -4
- package/lib/schema-settings/SchemaSettingsPlugin.js +2 -0
- package/lib/schema-settings/SchemaSettingsSortingRule.js +2 -1
- package/lib/schema-settings/styles.js +2 -2
- package/package.json +8 -7
- package/es/built-in/assistant/calculator/AutoScalingText.d.ts +0 -3
- package/es/built-in/assistant/calculator/AutoScalingText.mjs +0 -33
- package/es/built-in/assistant/calculator/Calculator.d.ts +0 -2
- package/es/built-in/assistant/calculator/Calculator.mjs +0 -235
- package/es/built-in/assistant/calculator/CalculatorDisplay.d.ts +0 -4
- package/es/built-in/assistant/calculator/CalculatorDisplay.mjs +0 -21
- package/es/built-in/assistant/calculator/CalculatorKey.d.ts +0 -5
- package/es/built-in/assistant/calculator/CalculatorKey.mjs +0 -11
- package/es/built-in/assistant/calculator/CalculatorProvider.d.ts +0 -10
- package/es/built-in/assistant/calculator/CalculatorProvider.mjs +0 -29
- package/es/built-in/assistant/calculator/Draggable.d.ts +0 -8
- package/es/built-in/assistant/calculator/Draggable.mjs +0 -54
- package/es/built-in/assistant/calculator/style.mjs +0 -25
- package/es/built-in/assistant/search-and-jump/index.d.ts +0 -16
- package/es/built-in/assistant/search-and-jump/index.mjs +0 -59
- package/lib/built-in/assistant/calculator/AutoScalingText.js +0 -67
- package/lib/built-in/assistant/calculator/Calculator.js +0 -283
- package/lib/built-in/assistant/calculator/CalculatorDisplay.js +0 -55
- package/lib/built-in/assistant/calculator/CalculatorProvider.js +0 -65
- package/lib/built-in/assistant/calculator/Draggable.js +0 -102
- package/lib/built-in/assistant/calculator/style.js +0 -59
- package/lib/built-in/assistant/search-and-jump/index.js +0 -96
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__ from "react/jsx-runtime";
|
|
2
|
-
import "react";
|
|
3
2
|
import * as __WEBPACK_EXTERNAL_MODULE__tachybase_components__ from "@tachybase/components";
|
|
4
3
|
import * as __WEBPACK_EXTERNAL_MODULE__tachybase_schema__ from "@tachybase/schema";
|
|
5
4
|
import * as __WEBPACK_EXTERNAL_MODULE_antd__ from "antd";
|
|
@@ -32,14 +31,10 @@ const findMenuSchema = (fieldSchema)=>{
|
|
|
32
31
|
parent = parent.parent;
|
|
33
32
|
}
|
|
34
33
|
};
|
|
35
|
-
const
|
|
36
|
-
const { eventKey, title, insertPosition } = props;
|
|
34
|
+
const InsertMenuItemsGroup = ()=>{
|
|
37
35
|
const { t } = (0, __WEBPACK_EXTERNAL_MODULE_react_i18next__.useTranslation)();
|
|
38
36
|
const { dn } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesignable)();
|
|
39
|
-
const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
|
|
40
|
-
const isSubMenu = 'Menu.SubMenu' === fieldSchema['x-component'];
|
|
41
37
|
const api = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useAPIClient)();
|
|
42
|
-
if (!isSubMenu && 'beforeEnd' === insertPosition) return null;
|
|
43
38
|
const serverHooks = [
|
|
44
39
|
{
|
|
45
40
|
type: 'onSelfCreate',
|
|
@@ -50,23 +45,25 @@ const InsertMenuItems = (props)=>{
|
|
|
50
45
|
method: 'extractTextToLocale'
|
|
51
46
|
}
|
|
52
47
|
];
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
title: title,
|
|
48
|
+
const insertPosition = 'beforeEnd';
|
|
49
|
+
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsItemGroup, {
|
|
56
50
|
children: [
|
|
57
51
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsModalItem, {
|
|
58
52
|
eventKey: "".concat(insertPosition, "group"),
|
|
59
|
-
|
|
53
|
+
icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
54
|
+
type: 'FolderAddOutlined'
|
|
55
|
+
}),
|
|
56
|
+
title: t('Create group'),
|
|
60
57
|
schema: {
|
|
61
58
|
type: 'object',
|
|
62
|
-
title: t('
|
|
59
|
+
title: t('Create group'),
|
|
63
60
|
properties: {
|
|
64
61
|
title: {
|
|
65
62
|
'x-decorator': 'FormItem',
|
|
66
63
|
'x-component': 'Input',
|
|
64
|
+
'x-component-props': {},
|
|
67
65
|
title: t('Menu item title'),
|
|
68
|
-
required: true
|
|
69
|
-
'x-component-props': {}
|
|
66
|
+
required: true
|
|
70
67
|
},
|
|
71
68
|
icon: {
|
|
72
69
|
title: t('Icon'),
|
|
@@ -91,10 +88,13 @@ const InsertMenuItems = (props)=>{
|
|
|
91
88
|
}),
|
|
92
89
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsModalItem, {
|
|
93
90
|
eventKey: "".concat(insertPosition, "page"),
|
|
94
|
-
|
|
91
|
+
icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
92
|
+
type: 'FileOutlined'
|
|
93
|
+
}),
|
|
94
|
+
title: t('Create page'),
|
|
95
95
|
schema: {
|
|
96
96
|
type: 'object',
|
|
97
|
-
title: t('
|
|
97
|
+
title: t('Create page'),
|
|
98
98
|
properties: {
|
|
99
99
|
title: {
|
|
100
100
|
'x-decorator': 'FormItem',
|
|
@@ -141,10 +141,13 @@ const InsertMenuItems = (props)=>{
|
|
|
141
141
|
}),
|
|
142
142
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsModalItem, {
|
|
143
143
|
eventKey: "".concat(insertPosition, "link"),
|
|
144
|
-
|
|
144
|
+
icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
145
|
+
type: 'GlobalOutlined'
|
|
146
|
+
}),
|
|
147
|
+
title: t('Create link'),
|
|
145
148
|
schema: {
|
|
146
149
|
type: 'object',
|
|
147
|
-
title: t('
|
|
150
|
+
title: t('Create link'),
|
|
148
151
|
properties: {
|
|
149
152
|
title: {
|
|
150
153
|
title: t('Menu item title'),
|
|
@@ -182,10 +185,13 @@ const InsertMenuItems = (props)=>{
|
|
|
182
185
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsDivider, {}),
|
|
183
186
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsModalItem, {
|
|
184
187
|
eventKey: "".concat(insertPosition, "restore"),
|
|
185
|
-
|
|
188
|
+
icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
189
|
+
type: 'UploadOutlined'
|
|
190
|
+
}),
|
|
191
|
+
title: t('Load menu config'),
|
|
186
192
|
schema: {
|
|
187
193
|
type: 'object',
|
|
188
|
-
title: t('Load'),
|
|
194
|
+
title: t('Load menu config'),
|
|
189
195
|
properties: {
|
|
190
196
|
title: {
|
|
191
197
|
'x-decorator': 'FormItem',
|
|
@@ -194,6 +200,13 @@ const InsertMenuItems = (props)=>{
|
|
|
194
200
|
required: true,
|
|
195
201
|
'x-component-props': {}
|
|
196
202
|
},
|
|
203
|
+
bindMenuToRole: {
|
|
204
|
+
type: 'boolean',
|
|
205
|
+
title: '{{ t("Automatically assign permissions to all matching roles") }}',
|
|
206
|
+
'x-decorator': 'FormItem',
|
|
207
|
+
'x-component': 'Checkbox',
|
|
208
|
+
default: true
|
|
209
|
+
},
|
|
197
210
|
file: {
|
|
198
211
|
type: 'object',
|
|
199
212
|
title: '{{ t("File") }}',
|
|
@@ -208,12 +221,19 @@ const InsertMenuItems = (props)=>{
|
|
|
208
221
|
}
|
|
209
222
|
},
|
|
210
223
|
onSubmit: async (param)=>{
|
|
211
|
-
let { title, file } = param;
|
|
224
|
+
let { title, file, bindMenuToRole } = param;
|
|
212
225
|
const { data } = await api.request({
|
|
213
226
|
url: file.url,
|
|
214
227
|
baseURL: '/'
|
|
215
228
|
});
|
|
216
229
|
const s = null != data ? data : {};
|
|
230
|
+
if (bindMenuToRole) {
|
|
231
|
+
const hooks = data['x-server-hooks'];
|
|
232
|
+
if (!hooks.some((v)=>'onSelfCreate' === v.type && 'bindMenuToRole' === v.method)) hooks.push({
|
|
233
|
+
type: 'onSelfCreate',
|
|
234
|
+
method: 'bindMenuToRole'
|
|
235
|
+
});
|
|
236
|
+
}
|
|
217
237
|
s.title = title;
|
|
218
238
|
dn.insertAdjacent(insertPosition, s);
|
|
219
239
|
}
|
|
@@ -221,7 +241,8 @@ const InsertMenuItems = (props)=>{
|
|
|
221
241
|
]
|
|
222
242
|
});
|
|
223
243
|
};
|
|
224
|
-
const MenuDesigner = ()=>{
|
|
244
|
+
const MenuDesigner = (props)=>{
|
|
245
|
+
const { isAdminMenu } = props;
|
|
225
246
|
const field = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useField)();
|
|
226
247
|
const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
|
|
227
248
|
const api = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useAPIClient)();
|
|
@@ -274,8 +295,8 @@ const MenuDesigner = ()=>{
|
|
|
274
295
|
},
|
|
275
296
|
icon: {
|
|
276
297
|
title: t('Menu item icon'),
|
|
277
|
-
'x-
|
|
278
|
-
'x-
|
|
298
|
+
'x-decorator': 'FormItem',
|
|
299
|
+
'x-component': 'IconPicker'
|
|
279
300
|
}
|
|
280
301
|
}
|
|
281
302
|
};
|
|
@@ -283,6 +304,8 @@ const MenuDesigner = ()=>{
|
|
|
283
304
|
title: field.title,
|
|
284
305
|
icon: field.componentProps.icon
|
|
285
306
|
};
|
|
307
|
+
const isSubMenu = 'Menu.SubMenu' === fieldSchema['x-component'];
|
|
308
|
+
const hiddenAddMenu = isAdminMenu || !isSubMenu;
|
|
286
309
|
if ('Menu.URL' === fieldSchema['x-component']) {
|
|
287
310
|
schema.properties['href'] = {
|
|
288
311
|
title: t('Link'),
|
|
@@ -292,10 +315,15 @@ const MenuDesigner = ()=>{
|
|
|
292
315
|
initialValues['href'] = field.componentProps.href;
|
|
293
316
|
}
|
|
294
317
|
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.GeneralSchemaDesigner, {
|
|
318
|
+
draggable: false,
|
|
319
|
+
AddMenuModalComponent: !hiddenAddMenu && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(InsertMenuItemsGroup, {}),
|
|
295
320
|
children: [
|
|
296
321
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsModalItem, {
|
|
297
|
-
title: t('
|
|
322
|
+
title: t('Modify the name and icon'),
|
|
298
323
|
eventKey: "edit",
|
|
324
|
+
icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
325
|
+
type: 'FormOutlined'
|
|
326
|
+
}),
|
|
299
327
|
schema: schema,
|
|
300
328
|
initialValues: initialValues,
|
|
301
329
|
onSubmit: (param)=>{
|
|
@@ -336,6 +364,9 @@ const MenuDesigner = ()=>{
|
|
|
336
364
|
TreeSelect: __WEBPACK_EXTERNAL_MODULE__tachybase_components__.TreeSelect
|
|
337
365
|
},
|
|
338
366
|
effects: effects,
|
|
367
|
+
icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
368
|
+
type: 'DragOutlined'
|
|
369
|
+
}),
|
|
339
370
|
schema: {
|
|
340
371
|
type: 'object',
|
|
341
372
|
title: t('Move to'),
|
|
@@ -384,24 +415,11 @@ const MenuDesigner = ()=>{
|
|
|
384
415
|
}
|
|
385
416
|
}),
|
|
386
417
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsDivider, {}),
|
|
387
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(InsertMenuItems, {
|
|
388
|
-
eventKey: 'insertbeforeBegin',
|
|
389
|
-
title: t('Insert before'),
|
|
390
|
-
insertPosition: 'beforeBegin'
|
|
391
|
-
}),
|
|
392
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(InsertMenuItems, {
|
|
393
|
-
eventKey: 'insertafterEnd',
|
|
394
|
-
title: t('Insert after'),
|
|
395
|
-
insertPosition: 'afterEnd'
|
|
396
|
-
}),
|
|
397
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(InsertMenuItems, {
|
|
398
|
-
eventKey: 'insertbeforeEnd',
|
|
399
|
-
title: t('Insert inner'),
|
|
400
|
-
insertPosition: 'beforeEnd'
|
|
401
|
-
}),
|
|
402
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsDivider, {}),
|
|
403
418
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsItem, {
|
|
404
419
|
title: t('Dump'),
|
|
420
|
+
icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
421
|
+
type: 'DownloadOutlined'
|
|
422
|
+
}),
|
|
405
423
|
onClick: async ()=>{
|
|
406
424
|
const deleteUid = (s)=>{
|
|
407
425
|
delete s['name'];
|
|
@@ -425,6 +443,7 @@ const MenuDesigner = ()=>{
|
|
|
425
443
|
}
|
|
426
444
|
}),
|
|
427
445
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsRemove, {
|
|
446
|
+
icon: "DeleteOutlined",
|
|
428
447
|
confirm: {
|
|
429
448
|
title: t('Delete menu item')
|
|
430
449
|
}
|
|
@@ -2,16 +2,20 @@ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__ from "react/jsx-runtim
|
|
|
2
2
|
import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
|
|
3
3
|
import * as __WEBPACK_EXTERNAL_MODULE__tachybase_schema__ from "@tachybase/schema";
|
|
4
4
|
import * as __WEBPACK_EXTERNAL_MODULE__tachybase_utils_client__ from "@tachybase/utils/client";
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE__dnd_kit_core__ from "@dnd-kit/core";
|
|
5
6
|
import * as __WEBPACK_EXTERNAL_MODULE_antd__ from "antd";
|
|
6
7
|
import * as __WEBPACK_EXTERNAL_MODULE_react_dom__ from "react-dom";
|
|
7
|
-
import * as __WEBPACK_EXTERNAL_MODULE_react_i18next__ from "react-i18next";
|
|
8
8
|
import * as __WEBPACK_EXTERNAL_MODULE__index_mjs__ from "../../index.mjs";
|
|
9
9
|
import * as __WEBPACK_EXTERNAL_MODULE__index_mjs__ from "../../../index.mjs";
|
|
10
10
|
import * as __WEBPACK_EXTERNAL_MODULE__hooks_useMenuItem_mjs__ from "../../../hooks/useMenuItem.mjs";
|
|
11
|
+
import * as __WEBPACK_EXTERNAL_MODULE__common_sortable_item_DragHandleMenu_mjs__ from "../../common/sortable-item/DragHandleMenu.mjs";
|
|
11
12
|
import * as __WEBPACK_EXTERNAL_MODULE__hooks_useProps_mjs__ from "../../hooks/useProps.mjs";
|
|
13
|
+
import * as __WEBPACK_EXTERNAL_MODULE__AdminMenu_mjs__ from "./AdminMenu.mjs";
|
|
12
14
|
import * as __WEBPACK_EXTERNAL_MODULE__locale_mjs__ from "./locale.mjs";
|
|
13
15
|
import * as __WEBPACK_EXTERNAL_MODULE__Menu_Designer_mjs__ from "./Menu.Designer.mjs";
|
|
14
16
|
import * as __WEBPACK_EXTERNAL_MODULE__Menu_styles_mjs__ from "./Menu.styles.mjs";
|
|
17
|
+
import * as __WEBPACK_EXTERNAL_MODULE__MenuSearch_mjs__ from "./MenuSearch.mjs";
|
|
18
|
+
import * as __WEBPACK_EXTERNAL_MODULE__tools_mjs__ from "./tools.mjs";
|
|
15
19
|
import * as __WEBPACK_EXTERNAL_MODULE__util_mjs__ from "./util.mjs";
|
|
16
20
|
function _tagged_template_literal(strings, raw) {
|
|
17
21
|
if (!raw) raw = strings.slice(0);
|
|
@@ -30,31 +34,12 @@ function _templateObject() {
|
|
|
30
34
|
};
|
|
31
35
|
return data;
|
|
32
36
|
}
|
|
33
|
-
function _templateObject1() {
|
|
34
|
-
const data = _tagged_template_literal([
|
|
35
|
-
"\n border: none;\n max-width: 21rem;\n "
|
|
36
|
-
]);
|
|
37
|
-
_templateObject1 = function() {
|
|
38
|
-
return data;
|
|
39
|
-
};
|
|
40
|
-
return data;
|
|
41
|
-
}
|
|
42
|
-
function _templateObject2() {
|
|
43
|
-
const data = _tagged_template_literal([
|
|
44
|
-
"\n display: block;\n color: inherit;\n &:hover {\n color: inherit;\n }\n "
|
|
45
|
-
]);
|
|
46
|
-
_templateObject2 = function() {
|
|
47
|
-
return data;
|
|
48
|
-
};
|
|
49
|
-
return data;
|
|
50
|
-
}
|
|
51
37
|
const HeaderMenu = (param)=>{
|
|
52
38
|
let { others, schema, mode, onSelect, setLoading, setDefaultSelectedKeys, defaultSelectedKeys, defaultOpenKeys, selectedKeys, designable, render, children } = param;
|
|
53
39
|
const { Component, getMenuItems } = (0, __WEBPACK_EXTERNAL_MODULE__hooks_useMenuItem_mjs__.useMenuItem)();
|
|
54
40
|
const { token } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useToken)();
|
|
41
|
+
const { styles } = (0, __WEBPACK_EXTERNAL_MODULE__Menu_styles_mjs__.useStyles)();
|
|
55
42
|
const [items, setItems] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)([]);
|
|
56
|
-
const { t } = (0, __WEBPACK_EXTERNAL_MODULE_react_i18next__.useTranslation)();
|
|
57
|
-
const { styles: itemStyle } = (0, __WEBPACK_EXTERNAL_MODULE__Menu_styles_mjs__.useStyles)();
|
|
58
43
|
const result = getMenuItems(()=>children);
|
|
59
44
|
(0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
|
|
60
45
|
setItems(getItem());
|
|
@@ -118,9 +103,7 @@ const HeaderMenu = (param)=>{
|
|
|
118
103
|
});
|
|
119
104
|
};
|
|
120
105
|
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)("div", {
|
|
121
|
-
|
|
122
|
-
display: 'flex'
|
|
123
|
-
},
|
|
106
|
+
className: styles.headerMenuClass,
|
|
124
107
|
children: [
|
|
125
108
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("div", {
|
|
126
109
|
style: {
|
|
@@ -133,74 +116,13 @@ const HeaderMenu = (param)=>{
|
|
|
133
116
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd__.Popover, {
|
|
134
117
|
placement: "bottomRight",
|
|
135
118
|
arrow: false,
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
color: 'inherit',
|
|
144
|
-
padding: token.marginSM,
|
|
145
|
-
boxShadow: 'none',
|
|
146
|
-
width: '7rem',
|
|
147
|
-
height: '5rem'
|
|
148
|
-
},
|
|
149
|
-
className: itemStyle.menuItem,
|
|
150
|
-
onClick: ()=>{
|
|
151
|
-
onClick(item);
|
|
152
|
-
},
|
|
153
|
-
children: item.menu ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__tachybase_schema__.SchemaContext.Provider, {
|
|
154
|
-
value: schema,
|
|
155
|
-
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__tachybase_schema__.FieldContext.Provider, {
|
|
156
|
-
value: field,
|
|
157
|
-
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SortableItem, {
|
|
158
|
-
role: "button",
|
|
159
|
-
"aria-label": t(field.title),
|
|
160
|
-
className: styles.designerCss,
|
|
161
|
-
removeParentsIfNoChildren: false,
|
|
162
|
-
style: {
|
|
163
|
-
position: 'revert'
|
|
164
|
-
},
|
|
165
|
-
children: [
|
|
166
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)("a", {
|
|
167
|
-
role: "button",
|
|
168
|
-
"aria-label": t(field.title),
|
|
169
|
-
title: t(field.title),
|
|
170
|
-
className: (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.css)(_templateObject2()),
|
|
171
|
-
children: [
|
|
172
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("div", {
|
|
173
|
-
style: {
|
|
174
|
-
fontSize: '1.2rem',
|
|
175
|
-
textAlign: 'center',
|
|
176
|
-
marginBottom: '0.3rem'
|
|
177
|
-
},
|
|
178
|
-
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
179
|
-
type: icon || 'QuestionCircleOutlined'
|
|
180
|
-
})
|
|
181
|
-
}),
|
|
182
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("div", {
|
|
183
|
-
style: {
|
|
184
|
-
textAlign: 'center',
|
|
185
|
-
whiteSpace: 'nowrap',
|
|
186
|
-
overflow: 'hidden',
|
|
187
|
-
textOverflow: 'ellipsis',
|
|
188
|
-
fontSize: token.fontSizeSM
|
|
189
|
-
},
|
|
190
|
-
children: t(field.title)
|
|
191
|
-
})
|
|
192
|
-
]
|
|
193
|
-
}),
|
|
194
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(Designer, {})
|
|
195
|
-
]
|
|
196
|
-
})
|
|
197
|
-
})
|
|
198
|
-
}) : /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.Fragment, {
|
|
199
|
-
children: item.label
|
|
200
|
-
})
|
|
201
|
-
}, item.key);
|
|
202
|
-
})
|
|
203
|
-
}),
|
|
119
|
+
overlayInnerStyle: {
|
|
120
|
+
padding: 0
|
|
121
|
+
},
|
|
122
|
+
content: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__AdminMenu_mjs__.AdminMenu, {
|
|
123
|
+
items: items,
|
|
124
|
+
onClick: onClick
|
|
125
|
+
}),
|
|
204
126
|
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd__.Button, {
|
|
205
127
|
className: "iconButton",
|
|
206
128
|
icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
@@ -224,11 +146,26 @@ const SideMenu = (param)=>{
|
|
|
224
146
|
const { styles } = (0, __WEBPACK_EXTERNAL_MODULE__Menu_styles_mjs__.useStyles)();
|
|
225
147
|
const sideMenuSchemaRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(sideMenuSchema);
|
|
226
148
|
sideMenuSchemaRef.current = sideMenuSchema;
|
|
149
|
+
const [searchMenuTitle, setSearchMenuTitle] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)('');
|
|
227
150
|
const items = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
|
|
151
|
+
let newSideMenuSchema = sideMenuSchema;
|
|
152
|
+
if (searchMenuTitle) newSideMenuSchema = (0, __WEBPACK_EXTERNAL_MODULE__tools_mjs__.getNewSideMenuSchema)(sideMenuSchema, searchMenuTitle);
|
|
228
153
|
const result = getMenuItems(()=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__tachybase_schema__.RecursionField, {
|
|
229
|
-
schema:
|
|
154
|
+
schema: newSideMenuSchema,
|
|
230
155
|
onlyRenderProperties: true
|
|
231
156
|
}, (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.uid)()));
|
|
157
|
+
if (designable) {
|
|
158
|
+
const searchMenu = {
|
|
159
|
+
key: 'x-menu-search',
|
|
160
|
+
disabled: true,
|
|
161
|
+
label: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__MenuSearch_mjs__.MenuSearch, {
|
|
162
|
+
setSearchMenuTitle: setSearchMenuTitle
|
|
163
|
+
}),
|
|
164
|
+
order: -10,
|
|
165
|
+
notdelete: true
|
|
166
|
+
};
|
|
167
|
+
result.push(searchMenu);
|
|
168
|
+
}
|
|
232
169
|
if (designable) result.push({
|
|
233
170
|
key: 'x-designer-button',
|
|
234
171
|
disabled: true,
|
|
@@ -245,7 +182,7 @@ const SideMenu = (param)=>{
|
|
|
245
182
|
dn.insertAdjacent('beforeEnd', s);
|
|
246
183
|
}
|
|
247
184
|
}),
|
|
248
|
-
order: 1,
|
|
185
|
+
order: -1,
|
|
249
186
|
notdelete: true
|
|
250
187
|
});
|
|
251
188
|
return result;
|
|
@@ -256,7 +193,8 @@ const SideMenu = (param)=>{
|
|
|
256
193
|
render,
|
|
257
194
|
t,
|
|
258
195
|
api,
|
|
259
|
-
refresh
|
|
196
|
+
refresh,
|
|
197
|
+
searchMenuTitle
|
|
260
198
|
]);
|
|
261
199
|
if (loading) return null;
|
|
262
200
|
return 'mix' === mode && (null == sideMenuSchema ? void 0 : sideMenuSchema['x-component']) === 'Menu.SubMenu' && (null == sideMenuRef ? void 0 : null === (_sideMenuRef_current = sideMenuRef.current) || void 0 === _sideMenuRef_current ? void 0 : _sideMenuRef_current.firstChild) && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_dom__.createPortal)(/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(MenuModeContext.Provider, {
|
|
@@ -271,7 +209,8 @@ const SideMenu = (param)=>{
|
|
|
271
209
|
null == onSelect || onSelect(info);
|
|
272
210
|
},
|
|
273
211
|
className: styles.sideMenuClass,
|
|
274
|
-
items: items
|
|
212
|
+
items: items,
|
|
213
|
+
expandIcon: null
|
|
275
214
|
})
|
|
276
215
|
]
|
|
277
216
|
}), sideMenuRef.current.firstChild);
|
|
@@ -290,11 +229,11 @@ const MenuItemDesignerContext = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_reac
|
|
|
290
229
|
MenuItemDesignerContext.displayName = 'MenuItemDesignerContext';
|
|
291
230
|
const Menu = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.observer)((props)=>{
|
|
292
231
|
const { onSelect, mode, selectedUid, defaultSelectedUid, sideMenuRefScopeKey, defaultSelectedKeys: dSelectedKeys, defaultOpenKeys: dOpenKeys, children, ...others } = (0, __WEBPACK_EXTERNAL_MODULE__hooks_useProps_mjs__.useProps)(props);
|
|
293
|
-
const { t } = (0,
|
|
294
|
-
const Designer = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesigner)();
|
|
295
|
-
const schema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
|
|
232
|
+
const { t } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useTranslation)();
|
|
296
233
|
const { refresh } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesignable)();
|
|
297
234
|
const api = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useAPIClient)();
|
|
235
|
+
const Designer = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesigner)();
|
|
236
|
+
const schema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
|
|
298
237
|
const { render } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useSchemaInitializerRender)(schema['x-initializer'], schema['x-initializer-props']);
|
|
299
238
|
const sideMenuRef = useSideMenuRef();
|
|
300
239
|
const [selectedKeys, setSelectedKeys] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)();
|
|
@@ -311,6 +250,13 @@ const Menu = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.observer)((props)
|
|
|
311
250
|
].includes(mode)) return dOpenKeys || defaultSelectedKeys;
|
|
312
251
|
return dOpenKeys;
|
|
313
252
|
});
|
|
253
|
+
const sensors = (0, __WEBPACK_EXTERNAL_MODULE__dnd_kit_core__.useSensors)((0, __WEBPACK_EXTERNAL_MODULE__dnd_kit_core__.useSensor)(__WEBPACK_EXTERNAL_MODULE__dnd_kit_core__.PointerSensor, {
|
|
254
|
+
activationConstraint: {
|
|
255
|
+
distance: 1,
|
|
256
|
+
delay: 300,
|
|
257
|
+
tolerance: 5
|
|
258
|
+
}
|
|
259
|
+
}));
|
|
314
260
|
const sideMenuSchema = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
|
|
315
261
|
let key;
|
|
316
262
|
if (selectedUid) {
|
|
@@ -353,6 +299,7 @@ const Menu = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.observer)((props)
|
|
|
353
299
|
]);
|
|
354
300
|
const { designable } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesignable)();
|
|
355
301
|
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.DndContext, {
|
|
302
|
+
sensors: sensors,
|
|
356
303
|
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(MenuItemDesignerContext.Provider, {
|
|
357
304
|
value: Designer,
|
|
358
305
|
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(MenuModeContext.Provider, {
|
|
@@ -418,27 +365,28 @@ Menu.Item = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.observer)((props)=
|
|
|
418
365
|
value: schema,
|
|
419
366
|
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__tachybase_schema__.FieldContext.Provider, {
|
|
420
367
|
value: field,
|
|
421
|
-
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.
|
|
368
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SortableItem, {
|
|
422
369
|
role: "button",
|
|
423
370
|
"aria-label": t(field.title),
|
|
424
371
|
className: styles.designerCss,
|
|
425
372
|
removeParentsIfNoChildren: false,
|
|
426
|
-
children:
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
373
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__common_sortable_item_DragHandleMenu_mjs__.DragHandleMenu, {
|
|
374
|
+
children: [
|
|
375
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)("span", {
|
|
376
|
+
className: 'menuitem-title-wrapper',
|
|
377
|
+
children: [
|
|
378
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
379
|
+
type: icon
|
|
380
|
+
}),
|
|
381
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("span", {
|
|
382
|
+
className: 'menuitem-title',
|
|
383
|
+
children: t(field.title)
|
|
384
|
+
})
|
|
385
|
+
]
|
|
386
|
+
}),
|
|
387
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(Designer, {})
|
|
388
|
+
]
|
|
389
|
+
})
|
|
442
390
|
})
|
|
443
391
|
})
|
|
444
392
|
})
|
|
@@ -489,26 +437,33 @@ Menu.URL = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.observer)((props)=>
|
|
|
489
437
|
value: schema,
|
|
490
438
|
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__tachybase_schema__.FieldContext.Provider, {
|
|
491
439
|
value: field,
|
|
492
|
-
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.
|
|
440
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SortableItem, {
|
|
493
441
|
className: styles.designerCss,
|
|
494
442
|
removeParentsIfNoChildren: false,
|
|
495
443
|
"aria-label": t(field.title),
|
|
496
|
-
children:
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
444
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__common_sortable_item_DragHandleMenu_mjs__.DragHandleMenu, {
|
|
445
|
+
children: [
|
|
446
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)("span", {
|
|
447
|
+
className: 'menuitem-title-wrapper',
|
|
448
|
+
children: [
|
|
449
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
450
|
+
type: icon
|
|
451
|
+
}),
|
|
452
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("span", {
|
|
453
|
+
style: {
|
|
454
|
+
overflow: 'hidden',
|
|
455
|
+
textOverflow: 'ellipsis',
|
|
456
|
+
display: 'inline-block',
|
|
457
|
+
width: '100%',
|
|
458
|
+
verticalAlign: 'middle'
|
|
459
|
+
},
|
|
460
|
+
children: t(field.title)
|
|
461
|
+
})
|
|
462
|
+
]
|
|
463
|
+
}),
|
|
464
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(Designer, {})
|
|
465
|
+
]
|
|
466
|
+
})
|
|
512
467
|
})
|
|
513
468
|
})
|
|
514
469
|
})
|
|
@@ -550,17 +505,29 @@ Menu.SubMenu = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.observer)((prop
|
|
|
550
505
|
value: schema,
|
|
551
506
|
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__tachybase_schema__.FieldContext.Provider, {
|
|
552
507
|
value: field,
|
|
553
|
-
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.
|
|
508
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SortableItem, {
|
|
554
509
|
className: styles.subMenuDesignerCss,
|
|
555
510
|
removeParentsIfNoChildren: false,
|
|
556
511
|
"aria-label": t(field.title),
|
|
557
|
-
children:
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
512
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__common_sortable_item_DragHandleMenu_mjs__.DragHandleMenu, {
|
|
513
|
+
name: schema.name,
|
|
514
|
+
isSubMenu: true,
|
|
515
|
+
children: [
|
|
516
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)("span", {
|
|
517
|
+
className: 'submenu-title',
|
|
518
|
+
children: [
|
|
519
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
520
|
+
type: icon
|
|
521
|
+
}),
|
|
522
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("span", {
|
|
523
|
+
className: 'menuitem-title',
|
|
524
|
+
children: t(field.title)
|
|
525
|
+
})
|
|
526
|
+
]
|
|
527
|
+
}),
|
|
528
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(Designer, {})
|
|
529
|
+
]
|
|
530
|
+
})
|
|
564
531
|
})
|
|
565
532
|
})
|
|
566
533
|
}),
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
export declare const useStyles: (props?: unknown) => import("antd-style").ReturnStyles<{
|
|
2
2
|
subMenuDesignerCss: import("antd-style").SerializedStyles;
|
|
3
3
|
designerCss: import("antd-style").SerializedStyles;
|
|
4
|
-
headerMenuClass: import("antd-style").SerializedStyles;
|
|
5
4
|
sideMenuClass: import("antd-style").SerializedStyles;
|
|
6
5
|
menuItemClass: import("antd-style").SerializedStyles;
|
|
7
|
-
|
|
6
|
+
headerMenuClass: import("antd-style").SerializedStyles;
|
|
8
7
|
}>;
|