@tachybase/client 0.23.22 → 0.23.40
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/SchemaInitializerButton.mjs +1 -1
- package/es/application/schema-initializer/components/SchemaInitializerChildren.mjs +1 -1
- package/es/built-in/admin-layout/AdminLayout.mjs +15 -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/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 -10
- 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/index.d.ts +0 -1
- package/es/index.mjs +0 -1
- 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 +75 -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 +2 -1
- package/es/schema-component/antd/menu/Menu.Designer.mjs +62 -42
- package/es/schema-component/antd/menu/Menu.mjs +124 -163
- 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/MenuAdd.d.ts +1 -0
- package/es/schema-component/antd/menu/MenuAdd.mjs +18 -0
- package/es/schema-component/antd/menu/MenuSearchAdd.d.ts +7 -0
- package/es/schema-component/antd/menu/MenuSearchAdd.mjs +41 -0
- package/es/schema-component/antd/menu/MenuSearchAdd.style.d.ts +3 -0
- package/es/schema-component/antd/menu/MenuSearchAdd.style.mjs +25 -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-component/common/sortable-item/SortableItem.d.ts +1 -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/SchemaInitializerButton.js +1 -1
- package/lib/application/schema-initializer/components/SchemaInitializerChildren.js +1 -1
- package/lib/built-in/admin-layout/AdminLayout.js +15 -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/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 +142 -114
- 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/context.js → setting-layout/style.js} +24 -5
- package/lib/collection-manager/action-hooks.js +39 -11
- package/lib/icon/preloaded.js +4 -4
- package/lib/index.js +71 -86
- 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 +109 -0
- package/lib/schema-component/antd/menu/AdminMenu.style.js +70 -0
- package/lib/schema-component/antd/menu/Menu.Designer.js +62 -41
- package/lib/schema-component/antd/menu/Menu.js +124 -163
- package/lib/schema-component/antd/menu/Menu.styles.js +8 -20
- package/lib/{built-in/assistant/calculator/CalculatorDisplay.js → schema-component/antd/menu/MenuAdd.js} +14 -17
- package/lib/schema-component/antd/menu/MenuSearchAdd.js +89 -0
- package/lib/schema-component/antd/menu/MenuSearchAdd.style.js +59 -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/Assistant.provider.d.ts +0 -9
- package/es/built-in/assistant/Assistant.provider.mjs +0 -125
- 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/context.d.ts +0 -3
- package/es/built-in/assistant/context.mjs +0 -6
- package/es/built-in/assistant/index.d.ts +0 -7
- package/es/built-in/assistant/index.mjs +0 -16
- 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/Assistant.provider.js +0 -161
- 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/CalculatorKey.js +0 -45
- 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/index.js +0 -107
- 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 = (props)=>{
|
|
37
35
|
const { t } = (0, __WEBPACK_EXTERNAL_MODULE_react_i18next__.useTranslation)();
|
|
38
|
-
const
|
|
39
|
-
const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
|
|
40
|
-
const isSubMenu = 'Menu.SubMenu' === fieldSchema['x-component'];
|
|
36
|
+
const designable = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesignable)();
|
|
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,26 @@ const InsertMenuItems = (props)=>{
|
|
|
50
45
|
method: 'extractTextToLocale'
|
|
51
46
|
}
|
|
52
47
|
];
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
48
|
+
const insertPosition = 'beforeEnd';
|
|
49
|
+
const dn = props.dn || designable.dn;
|
|
50
|
+
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsItemGroup, {
|
|
56
51
|
children: [
|
|
57
52
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsModalItem, {
|
|
58
53
|
eventKey: "".concat(insertPosition, "group"),
|
|
59
|
-
|
|
54
|
+
icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
55
|
+
type: 'FolderAddOutlined'
|
|
56
|
+
}),
|
|
57
|
+
title: t('Create group'),
|
|
60
58
|
schema: {
|
|
61
59
|
type: 'object',
|
|
62
|
-
title: t('
|
|
60
|
+
title: t('Create group'),
|
|
63
61
|
properties: {
|
|
64
62
|
title: {
|
|
65
63
|
'x-decorator': 'FormItem',
|
|
66
64
|
'x-component': 'Input',
|
|
65
|
+
'x-component-props': {},
|
|
67
66
|
title: t('Menu item title'),
|
|
68
|
-
required: true
|
|
69
|
-
'x-component-props': {}
|
|
67
|
+
required: true
|
|
70
68
|
},
|
|
71
69
|
icon: {
|
|
72
70
|
title: t('Icon'),
|
|
@@ -91,10 +89,13 @@ const InsertMenuItems = (props)=>{
|
|
|
91
89
|
}),
|
|
92
90
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsModalItem, {
|
|
93
91
|
eventKey: "".concat(insertPosition, "page"),
|
|
94
|
-
|
|
92
|
+
icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
93
|
+
type: 'FileOutlined'
|
|
94
|
+
}),
|
|
95
|
+
title: t('Create page'),
|
|
95
96
|
schema: {
|
|
96
97
|
type: 'object',
|
|
97
|
-
title: t('
|
|
98
|
+
title: t('Create page'),
|
|
98
99
|
properties: {
|
|
99
100
|
title: {
|
|
100
101
|
'x-decorator': 'FormItem',
|
|
@@ -141,10 +142,13 @@ const InsertMenuItems = (props)=>{
|
|
|
141
142
|
}),
|
|
142
143
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsModalItem, {
|
|
143
144
|
eventKey: "".concat(insertPosition, "link"),
|
|
144
|
-
|
|
145
|
+
icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
146
|
+
type: 'GlobalOutlined'
|
|
147
|
+
}),
|
|
148
|
+
title: t('Create link'),
|
|
145
149
|
schema: {
|
|
146
150
|
type: 'object',
|
|
147
|
-
title: t('
|
|
151
|
+
title: t('Create link'),
|
|
148
152
|
properties: {
|
|
149
153
|
title: {
|
|
150
154
|
title: t('Menu item title'),
|
|
@@ -182,10 +186,13 @@ const InsertMenuItems = (props)=>{
|
|
|
182
186
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsDivider, {}),
|
|
183
187
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsModalItem, {
|
|
184
188
|
eventKey: "".concat(insertPosition, "restore"),
|
|
185
|
-
|
|
189
|
+
icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
190
|
+
type: 'UploadOutlined'
|
|
191
|
+
}),
|
|
192
|
+
title: t('Load menu config'),
|
|
186
193
|
schema: {
|
|
187
194
|
type: 'object',
|
|
188
|
-
title: t('Load'),
|
|
195
|
+
title: t('Load menu config'),
|
|
189
196
|
properties: {
|
|
190
197
|
title: {
|
|
191
198
|
'x-decorator': 'FormItem',
|
|
@@ -194,6 +201,13 @@ const InsertMenuItems = (props)=>{
|
|
|
194
201
|
required: true,
|
|
195
202
|
'x-component-props': {}
|
|
196
203
|
},
|
|
204
|
+
bindMenuToRole: {
|
|
205
|
+
type: 'boolean',
|
|
206
|
+
title: '{{ t("Automatically assign permissions to all matching roles") }}',
|
|
207
|
+
'x-decorator': 'FormItem',
|
|
208
|
+
'x-component': 'Checkbox',
|
|
209
|
+
default: true
|
|
210
|
+
},
|
|
197
211
|
file: {
|
|
198
212
|
type: 'object',
|
|
199
213
|
title: '{{ t("File") }}',
|
|
@@ -208,12 +222,19 @@ const InsertMenuItems = (props)=>{
|
|
|
208
222
|
}
|
|
209
223
|
},
|
|
210
224
|
onSubmit: async (param)=>{
|
|
211
|
-
let { title, file } = param;
|
|
225
|
+
let { title, file, bindMenuToRole } = param;
|
|
212
226
|
const { data } = await api.request({
|
|
213
227
|
url: file.url,
|
|
214
228
|
baseURL: '/'
|
|
215
229
|
});
|
|
216
230
|
const s = null != data ? data : {};
|
|
231
|
+
if (bindMenuToRole) {
|
|
232
|
+
const hooks = data['x-server-hooks'];
|
|
233
|
+
if (!hooks.some((v)=>'onSelfCreate' === v.type && 'bindMenuToRole' === v.method)) hooks.push({
|
|
234
|
+
type: 'onSelfCreate',
|
|
235
|
+
method: 'bindMenuToRole'
|
|
236
|
+
});
|
|
237
|
+
}
|
|
217
238
|
s.title = title;
|
|
218
239
|
dn.insertAdjacent(insertPosition, s);
|
|
219
240
|
}
|
|
@@ -221,7 +242,8 @@ const InsertMenuItems = (props)=>{
|
|
|
221
242
|
]
|
|
222
243
|
});
|
|
223
244
|
};
|
|
224
|
-
const MenuDesigner = ()=>{
|
|
245
|
+
const MenuDesigner = (props)=>{
|
|
246
|
+
const { isAdminMenu } = props;
|
|
225
247
|
const field = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useField)();
|
|
226
248
|
const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
|
|
227
249
|
const api = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useAPIClient)();
|
|
@@ -274,8 +296,8 @@ const MenuDesigner = ()=>{
|
|
|
274
296
|
},
|
|
275
297
|
icon: {
|
|
276
298
|
title: t('Menu item icon'),
|
|
277
|
-
'x-
|
|
278
|
-
'x-
|
|
299
|
+
'x-decorator': 'FormItem',
|
|
300
|
+
'x-component': 'IconPicker'
|
|
279
301
|
}
|
|
280
302
|
}
|
|
281
303
|
};
|
|
@@ -283,6 +305,8 @@ const MenuDesigner = ()=>{
|
|
|
283
305
|
title: field.title,
|
|
284
306
|
icon: field.componentProps.icon
|
|
285
307
|
};
|
|
308
|
+
const isSubMenu = 'Menu.SubMenu' === fieldSchema['x-component'];
|
|
309
|
+
const hiddenAddMenu = isAdminMenu || !isSubMenu;
|
|
286
310
|
if ('Menu.URL' === fieldSchema['x-component']) {
|
|
287
311
|
schema.properties['href'] = {
|
|
288
312
|
title: t('Link'),
|
|
@@ -292,10 +316,15 @@ const MenuDesigner = ()=>{
|
|
|
292
316
|
initialValues['href'] = field.componentProps.href;
|
|
293
317
|
}
|
|
294
318
|
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.GeneralSchemaDesigner, {
|
|
319
|
+
draggable: false,
|
|
320
|
+
AddMenuModalComponent: !hiddenAddMenu && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(InsertMenuItemsGroup, {}),
|
|
295
321
|
children: [
|
|
296
322
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsModalItem, {
|
|
297
|
-
title: t('
|
|
323
|
+
title: t('Modify the name and icon'),
|
|
298
324
|
eventKey: "edit",
|
|
325
|
+
icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
326
|
+
type: 'FormOutlined'
|
|
327
|
+
}),
|
|
299
328
|
schema: schema,
|
|
300
329
|
initialValues: initialValues,
|
|
301
330
|
onSubmit: (param)=>{
|
|
@@ -336,6 +365,9 @@ const MenuDesigner = ()=>{
|
|
|
336
365
|
TreeSelect: __WEBPACK_EXTERNAL_MODULE__tachybase_components__.TreeSelect
|
|
337
366
|
},
|
|
338
367
|
effects: effects,
|
|
368
|
+
icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
369
|
+
type: 'DragOutlined'
|
|
370
|
+
}),
|
|
339
371
|
schema: {
|
|
340
372
|
type: 'object',
|
|
341
373
|
title: t('Move to'),
|
|
@@ -384,24 +416,11 @@ const MenuDesigner = ()=>{
|
|
|
384
416
|
}
|
|
385
417
|
}),
|
|
386
418
|
/*#__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
419
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsItem, {
|
|
404
420
|
title: t('Dump'),
|
|
421
|
+
icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
422
|
+
type: 'DownloadOutlined'
|
|
423
|
+
}),
|
|
405
424
|
onClick: async ()=>{
|
|
406
425
|
const deleteUid = (s)=>{
|
|
407
426
|
delete s['name'];
|
|
@@ -425,6 +444,7 @@ const MenuDesigner = ()=>{
|
|
|
425
444
|
}
|
|
426
445
|
}),
|
|
427
446
|
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsRemove, {
|
|
447
|
+
icon: "DeleteOutlined",
|
|
428
448
|
confirm: {
|
|
429
449
|
title: t('Delete menu item')
|
|
430
450
|
}
|
|
@@ -432,4 +452,4 @@ const MenuDesigner = ()=>{
|
|
|
432
452
|
]
|
|
433
453
|
});
|
|
434
454
|
};
|
|
435
|
-
export { MenuDesigner };
|
|
455
|
+
export { InsertMenuItemsGroup, MenuDesigner };
|
|
@@ -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__MenuSearchAdd_mjs__ from "./MenuSearchAdd.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
|
-
let { others, schema, mode, onSelect, setLoading, setDefaultSelectedKeys,
|
|
38
|
+
let { others, schema, mode, onSelect, setLoading, setDefaultSelectedKeys, 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,30 +146,35 @@ 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)()));
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
157
|
+
{
|
|
158
|
+
const dn = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.createDesignable)({
|
|
159
|
+
t,
|
|
160
|
+
api,
|
|
161
|
+
refresh,
|
|
162
|
+
current: sideMenuSchemaRef.current
|
|
163
|
+
});
|
|
164
|
+
dn.loadAPIClientEvents();
|
|
165
|
+
const searchMenu = {
|
|
166
|
+
key: 'x-menu-search',
|
|
167
|
+
disabled: true,
|
|
168
|
+
label: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__MenuSearchAdd_mjs__.MenuSearchAdd, {
|
|
169
|
+
designable: designable,
|
|
170
|
+
setSearchMenuTitle: setSearchMenuTitle,
|
|
171
|
+
dn: dn
|
|
172
|
+
}),
|
|
173
|
+
order: -10,
|
|
174
|
+
notdelete: true
|
|
175
|
+
};
|
|
176
|
+
result.push(searchMenu);
|
|
177
|
+
}
|
|
251
178
|
return result;
|
|
252
179
|
}, [
|
|
253
180
|
getMenuItems,
|
|
@@ -256,7 +183,8 @@ const SideMenu = (param)=>{
|
|
|
256
183
|
render,
|
|
257
184
|
t,
|
|
258
185
|
api,
|
|
259
|
-
refresh
|
|
186
|
+
refresh,
|
|
187
|
+
searchMenuTitle
|
|
260
188
|
]);
|
|
261
189
|
if (loading) return null;
|
|
262
190
|
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 +199,8 @@ const SideMenu = (param)=>{
|
|
|
271
199
|
null == onSelect || onSelect(info);
|
|
272
200
|
},
|
|
273
201
|
className: styles.sideMenuClass,
|
|
274
|
-
items: items
|
|
202
|
+
items: items,
|
|
203
|
+
expandIcon: null
|
|
275
204
|
})
|
|
276
205
|
]
|
|
277
206
|
}), sideMenuRef.current.firstChild);
|
|
@@ -290,11 +219,11 @@ const MenuItemDesignerContext = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_reac
|
|
|
290
219
|
MenuItemDesignerContext.displayName = 'MenuItemDesignerContext';
|
|
291
220
|
const Menu = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.observer)((props)=>{
|
|
292
221
|
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)();
|
|
222
|
+
const { t } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useTranslation)();
|
|
296
223
|
const { refresh } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesignable)();
|
|
297
224
|
const api = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useAPIClient)();
|
|
225
|
+
const Designer = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesigner)();
|
|
226
|
+
const schema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
|
|
298
227
|
const { render } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useSchemaInitializerRender)(schema['x-initializer'], schema['x-initializer-props']);
|
|
299
228
|
const sideMenuRef = useSideMenuRef();
|
|
300
229
|
const [selectedKeys, setSelectedKeys] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)();
|
|
@@ -311,6 +240,11 @@ const Menu = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.observer)((props)
|
|
|
311
240
|
].includes(mode)) return dOpenKeys || defaultSelectedKeys;
|
|
312
241
|
return dOpenKeys;
|
|
313
242
|
});
|
|
243
|
+
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, {
|
|
244
|
+
activationConstraint: {
|
|
245
|
+
distance: 5
|
|
246
|
+
}
|
|
247
|
+
}));
|
|
314
248
|
const sideMenuSchema = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
|
|
315
249
|
let key;
|
|
316
250
|
if (selectedUid) {
|
|
@@ -353,6 +287,7 @@ const Menu = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.observer)((props)
|
|
|
353
287
|
]);
|
|
354
288
|
const { designable } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesignable)();
|
|
355
289
|
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.DndContext, {
|
|
290
|
+
sensors: sensors,
|
|
356
291
|
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(MenuItemDesignerContext.Provider, {
|
|
357
292
|
value: Designer,
|
|
358
293
|
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(MenuModeContext.Provider, {
|
|
@@ -365,9 +300,6 @@ const Menu = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.observer)((props)
|
|
|
365
300
|
onSelect: onSelect,
|
|
366
301
|
setLoading: setLoading,
|
|
367
302
|
setDefaultSelectedKeys: setDefaultSelectedKeys,
|
|
368
|
-
defaultSelectedKeys: defaultSelectedKeys,
|
|
369
|
-
defaultOpenKeys: defaultOpenKeys,
|
|
370
|
-
selectedKeys: selectedKeys,
|
|
371
303
|
designable: designable,
|
|
372
304
|
render: render,
|
|
373
305
|
children: children
|
|
@@ -418,27 +350,31 @@ Menu.Item = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.observer)((props)=
|
|
|
418
350
|
value: schema,
|
|
419
351
|
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__tachybase_schema__.FieldContext.Provider, {
|
|
420
352
|
value: field,
|
|
421
|
-
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.
|
|
353
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SortableItem, {
|
|
422
354
|
role: "button",
|
|
423
355
|
"aria-label": t(field.title),
|
|
424
356
|
className: styles.designerCss,
|
|
425
357
|
removeParentsIfNoChildren: false,
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
358
|
+
overStyle: {
|
|
359
|
+
background: 'transparent'
|
|
360
|
+
},
|
|
361
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__common_sortable_item_DragHandleMenu_mjs__.DragHandleMenu, {
|
|
362
|
+
children: [
|
|
363
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)("span", {
|
|
364
|
+
className: 'menuitem-title-wrapper',
|
|
365
|
+
children: [
|
|
366
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
367
|
+
type: icon
|
|
368
|
+
}),
|
|
369
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("span", {
|
|
370
|
+
className: 'menuitem-title',
|
|
371
|
+
children: t(field.title)
|
|
372
|
+
})
|
|
373
|
+
]
|
|
374
|
+
}),
|
|
375
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(Designer, {})
|
|
376
|
+
]
|
|
377
|
+
})
|
|
442
378
|
})
|
|
443
379
|
})
|
|
444
380
|
})
|
|
@@ -489,26 +425,36 @@ Menu.URL = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.observer)((props)=>
|
|
|
489
425
|
value: schema,
|
|
490
426
|
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__tachybase_schema__.FieldContext.Provider, {
|
|
491
427
|
value: field,
|
|
492
|
-
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.
|
|
428
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SortableItem, {
|
|
493
429
|
className: styles.designerCss,
|
|
494
430
|
removeParentsIfNoChildren: false,
|
|
495
431
|
"aria-label": t(field.title),
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
432
|
+
overStyle: {
|
|
433
|
+
background: 'transparent'
|
|
434
|
+
},
|
|
435
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__common_sortable_item_DragHandleMenu_mjs__.DragHandleMenu, {
|
|
436
|
+
children: [
|
|
437
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)("span", {
|
|
438
|
+
className: 'menuitem-title-wrapper',
|
|
439
|
+
children: [
|
|
440
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
441
|
+
type: icon
|
|
442
|
+
}),
|
|
443
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("span", {
|
|
444
|
+
style: {
|
|
445
|
+
overflow: 'hidden',
|
|
446
|
+
textOverflow: 'ellipsis',
|
|
447
|
+
display: 'inline-block',
|
|
448
|
+
width: '100%',
|
|
449
|
+
verticalAlign: 'middle'
|
|
450
|
+
},
|
|
451
|
+
children: t(field.title)
|
|
452
|
+
})
|
|
453
|
+
]
|
|
454
|
+
}),
|
|
455
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(Designer, {})
|
|
456
|
+
]
|
|
457
|
+
})
|
|
512
458
|
})
|
|
513
459
|
})
|
|
514
460
|
})
|
|
@@ -550,17 +496,32 @@ Menu.SubMenu = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.observer)((prop
|
|
|
550
496
|
value: schema,
|
|
551
497
|
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__tachybase_schema__.FieldContext.Provider, {
|
|
552
498
|
value: field,
|
|
553
|
-
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.
|
|
499
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SortableItem, {
|
|
554
500
|
className: styles.subMenuDesignerCss,
|
|
555
501
|
removeParentsIfNoChildren: false,
|
|
556
502
|
"aria-label": t(field.title),
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
503
|
+
overStyle: {
|
|
504
|
+
background: 'transparent'
|
|
505
|
+
},
|
|
506
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__common_sortable_item_DragHandleMenu_mjs__.DragHandleMenu, {
|
|
507
|
+
name: schema.name,
|
|
508
|
+
isSubMenu: true,
|
|
509
|
+
children: [
|
|
510
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)("span", {
|
|
511
|
+
className: 'submenu-title',
|
|
512
|
+
children: [
|
|
513
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
|
|
514
|
+
type: icon
|
|
515
|
+
}),
|
|
516
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("span", {
|
|
517
|
+
className: 'menuitem-title',
|
|
518
|
+
children: t(field.title)
|
|
519
|
+
})
|
|
520
|
+
]
|
|
521
|
+
}),
|
|
522
|
+
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(Designer, {})
|
|
523
|
+
]
|
|
524
|
+
})
|
|
564
525
|
})
|
|
565
526
|
})
|
|
566
527
|
}),
|