@nocobase/client 0.10.0-alpha.2 → 0.10.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/es/acl/Configuration/MenuItemsProvider.js +3 -3
  2. package/es/application/Application.js +2 -2
  3. package/es/auth/SigninPage.js +12 -9
  4. package/es/block-provider/GanttBlockProvider.js +5 -4
  5. package/es/block-provider/TableBlockProvider.d.ts +1 -0
  6. package/es/block-provider/TableBlockProvider.js +51 -17
  7. package/es/collection-manager/Configuration/AddCollectionAction.js +31 -25
  8. package/es/collection-manager/Configuration/AddFieldAction.js +45 -32
  9. package/es/collection-manager/Configuration/AddSubFieldAction.js +24 -19
  10. package/es/collection-manager/Configuration/ConfigurationTabs.js +57 -50
  11. package/es/collection-manager/hooks/useOptions.js +39 -36
  12. package/es/collection-manager/interfaces/integer.js +1 -1
  13. package/es/collection-manager/interfaces/number.js +3 -3
  14. package/es/collection-manager/interfaces/percent.js +3 -3
  15. package/es/formula/Expression.js +66 -46
  16. package/es/hooks/index.d.ts +1 -0
  17. package/es/hooks/index.js +1 -0
  18. package/es/hooks/useAdminSchemaUid.d.ts +1 -0
  19. package/es/hooks/useAdminSchemaUid.js +6 -0
  20. package/es/hooks/useMenuItem.d.ts +37 -0
  21. package/es/hooks/useMenuItem.js +93 -0
  22. package/es/index.d.ts +2 -3
  23. package/es/index.js +3 -4
  24. package/es/locale/en_US.d.ts +3 -1
  25. package/es/locale/en_US.js +4 -2
  26. package/es/locale/es_ES.d.ts +1 -1
  27. package/es/locale/es_ES.js +1 -1
  28. package/es/locale/ja_JP.d.ts +3 -1
  29. package/es/locale/ja_JP.js +4 -2
  30. package/es/locale/pt_BR.d.ts +1 -1
  31. package/es/locale/pt_BR.js +1 -1
  32. package/es/locale/ru_RU.d.ts +1 -1
  33. package/es/locale/ru_RU.js +1 -1
  34. package/es/locale/zh_CN.d.ts +3 -1
  35. package/es/locale/zh_CN.js +3 -1
  36. package/es/pm/Card.js +5 -5
  37. package/es/pm/PluginManagerLink.js +16 -12
  38. package/es/pm/index.d.ts +2 -1
  39. package/es/pm/index.js +36 -22
  40. package/es/route-switch/antd/admin-layout/index.js +5 -5
  41. package/es/schema-component/antd/action/Action.Designer.js +3 -5
  42. package/es/schema-component/antd/action/Action.Drawer.js +1 -1
  43. package/es/schema-component/antd/action/ActionBar.js +1 -1
  44. package/es/schema-component/antd/association-field/Editable.js +1 -2
  45. package/es/schema-component/antd/association-field/Nester.js +7 -1
  46. package/es/schema-component/antd/association-field/SubTable.js +1 -1
  47. package/es/schema-component/antd/calendar/DeleteEvent.js +1 -1
  48. package/es/schema-component/antd/cascader/Cascader.js +1 -1
  49. package/es/schema-component/antd/form-item/FormItem.js +10 -3
  50. package/es/schema-component/antd/form-v2/Form.js +2 -2
  51. package/es/schema-component/antd/gantt/components/gantt/gantt.js +0 -1
  52. package/es/schema-component/antd/gantt/components/grid/grid-body.js +3 -3
  53. package/es/schema-component/antd/gantt/components/task-item/bar/bar-small.js +1 -1
  54. package/es/schema-component/antd/gantt/components/task-item/task-item.js +1 -1
  55. package/es/schema-component/antd/gantt/helpers/bar-helper.d.ts +1 -1
  56. package/es/schema-component/antd/gantt/helpers/bar-helper.js +4 -4
  57. package/es/schema-component/antd/gantt/helpers/other-helper.js +3 -1
  58. package/es/schema-component/antd/grid/Grid.js +2 -2
  59. package/es/schema-component/antd/grid-card/GridCard.Designer.js +3 -4
  60. package/es/schema-component/antd/grid-card/GridCard.Item.js +3 -3
  61. package/es/schema-component/antd/index.less +1 -3
  62. package/es/schema-component/antd/list/List.Decorator.js +3 -3
  63. package/es/schema-component/antd/list/List.Item.js +2 -2
  64. package/es/schema-component/antd/list/List.d.ts +2 -2
  65. package/es/schema-component/antd/list/List.js +6 -6
  66. package/es/schema-component/antd/menu/Menu.js +306 -156
  67. package/es/schema-component/antd/page/Page.js +29 -23
  68. package/es/schema-component/antd/remote-select/RemoteSelect.js +60 -10
  69. package/es/schema-component/antd/remote-select/utils.d.ts +4 -0
  70. package/es/schema-component/antd/remote-select/utils.js +31 -0
  71. package/es/schema-component/antd/table-v2/FilterDynamicComponent.js +17 -2
  72. package/es/schema-component/antd/table-v2/Table.Column.Designer.js +51 -12
  73. package/es/schema-component/antd/table-v2/Table.js +28 -47
  74. package/es/schema-component/antd/table-v2/utils.d.ts +0 -1
  75. package/es/schema-component/antd/table-v2/utils.js +0 -28
  76. package/es/schema-component/antd/tabs/Tabs.js +35 -22
  77. package/es/schema-component/antd/tabs/context.d.ts +1 -1
  78. package/es/schema-component/antd/upload/ReadPretty.js +7 -3
  79. package/es/schema-component/antd/variable/VariableSelect.js +1 -1
  80. package/es/schema-component/common/utils/uitls.d.ts +1 -0
  81. package/es/schema-component/common/utils/uitls.js +1 -1
  82. package/es/schema-initializer/SchemaInitializer.d.ts +7 -2
  83. package/es/schema-initializer/SchemaInitializer.js +158 -103
  84. package/es/schema-initializer/SelectCollection.d.ts +1 -2
  85. package/es/schema-initializer/SelectCollection.js +19 -16
  86. package/es/schema-initializer/buttons/TableActionColumnInitializers.js +1 -1
  87. package/es/schema-initializer/buttons/TableActionInitializers.js +5 -5
  88. package/es/schema-initializer/buttons/TableColumnInitializers.js +3 -2
  89. package/es/schema-initializer/components/CreateRecordAction.js +37 -27
  90. package/es/schema-initializer/components/assigned-field/AssignedField.js +2 -1
  91. package/es/schema-initializer/items/CalendarBlockInitializer.js +2 -2
  92. package/es/schema-initializer/utils.d.ts +0 -1
  93. package/es/schema-initializer/utils.js +40 -25
  94. package/es/schema-settings/SchemaSettings.js +110 -29
  95. package/es/schema-settings/VariableInput/hooks/useFormVariable.d.ts +19 -0
  96. package/es/schema-settings/VariableInput/hooks/useFormVariable.js +89 -0
  97. package/es/schema-settings/VariableInput/hooks/useIterationVariable.d.ts +8 -0
  98. package/es/schema-settings/VariableInput/hooks/useIterationVariable.js +77 -0
  99. package/es/schema-settings/VariableInput/hooks/useVariableOptions.d.ts +5 -12
  100. package/es/schema-settings/VariableInput/hooks/useVariableOptions.js +19 -3
  101. package/es/schema-templates/BlockTemplateDetails.js +5 -1
  102. package/es/schema-templates/BlockTemplatePage.js +4 -1
  103. package/es/user/ChangePassword.d.ts +1 -2
  104. package/es/user/ChangePassword.js +30 -26
  105. package/es/user/CurrentUser.js +172 -141
  106. package/es/user/EditProfile.d.ts +1 -2
  107. package/es/user/EditProfile.js +30 -24
  108. package/es/user/LanguageSettings.d.ts +1 -2
  109. package/es/user/LanguageSettings.js +67 -64
  110. package/es/user/SigninPage.js +25 -22
  111. package/es/user/SwitchRole.d.ts +1 -2
  112. package/es/user/SwitchRole.js +54 -49
  113. package/es/user/ThemeSettings.d.ts +1 -2
  114. package/es/user/ThemeSettings.js +56 -52
  115. package/lib/acl/Configuration/MenuItemsProvider.js +3 -3
  116. package/lib/application/Application.js +2 -2
  117. package/lib/auth/SigninPage.js +25 -22
  118. package/lib/block-provider/GanttBlockProvider.js +5 -4
  119. package/lib/block-provider/TableBlockProvider.d.ts +1 -0
  120. package/lib/block-provider/TableBlockProvider.js +53 -17
  121. package/lib/collection-manager/Configuration/AddCollectionAction.js +29 -23
  122. package/lib/collection-manager/Configuration/AddFieldAction.js +43 -30
  123. package/lib/collection-manager/Configuration/AddSubFieldAction.js +22 -17
  124. package/lib/collection-manager/Configuration/ConfigurationTabs.js +57 -49
  125. package/lib/collection-manager/hooks/useOptions.js +39 -36
  126. package/lib/collection-manager/interfaces/integer.js +1 -1
  127. package/lib/collection-manager/interfaces/number.js +3 -3
  128. package/lib/collection-manager/interfaces/percent.js +3 -3
  129. package/lib/formula/Expression.js +64 -44
  130. package/lib/hooks/index.d.ts +1 -0
  131. package/lib/hooks/index.js +11 -0
  132. package/lib/hooks/useAdminSchemaUid.d.ts +1 -0
  133. package/lib/hooks/useAdminSchemaUid.js +13 -0
  134. package/lib/hooks/useMenuItem.d.ts +37 -0
  135. package/lib/hooks/useMenuItem.js +108 -0
  136. package/lib/index.d.ts +2 -3
  137. package/lib/index.js +22 -33
  138. package/lib/locale/en_US.d.ts +3 -1
  139. package/lib/locale/en_US.js +4 -2
  140. package/lib/locale/es_ES.d.ts +1 -1
  141. package/lib/locale/es_ES.js +1 -1
  142. package/lib/locale/ja_JP.d.ts +3 -1
  143. package/lib/locale/ja_JP.js +4 -2
  144. package/lib/locale/pt_BR.d.ts +1 -1
  145. package/lib/locale/pt_BR.js +1 -1
  146. package/lib/locale/ru_RU.d.ts +1 -1
  147. package/lib/locale/ru_RU.js +1 -1
  148. package/lib/locale/zh_CN.d.ts +3 -1
  149. package/lib/locale/zh_CN.js +3 -1
  150. package/lib/pm/Card.js +6 -6
  151. package/lib/pm/PluginManagerLink.js +15 -10
  152. package/lib/pm/index.d.ts +2 -1
  153. package/lib/pm/index.js +37 -23
  154. package/lib/route-switch/antd/admin-layout/index.js +4 -4
  155. package/lib/schema-component/antd/action/Action.Designer.js +2 -4
  156. package/lib/schema-component/antd/action/Action.Drawer.js +1 -1
  157. package/lib/schema-component/antd/association-field/Editable.js +0 -1
  158. package/lib/schema-component/antd/association-field/Nester.js +6 -0
  159. package/lib/schema-component/antd/association-field/SubTable.js +1 -1
  160. package/lib/schema-component/antd/calendar/DeleteEvent.js +1 -1
  161. package/lib/schema-component/antd/cascader/Cascader.js +1 -1
  162. package/lib/schema-component/antd/form-item/FormItem.js +10 -3
  163. package/lib/schema-component/antd/form-v2/Form.js +2 -2
  164. package/lib/schema-component/antd/gantt/components/gantt/gantt.js +0 -1
  165. package/lib/schema-component/antd/gantt/components/grid/grid-body.js +2 -2
  166. package/lib/schema-component/antd/gantt/components/task-item/bar/bar-small.js +1 -1
  167. package/lib/schema-component/antd/gantt/components/task-item/task-item.js +1 -1
  168. package/lib/schema-component/antd/gantt/helpers/bar-helper.d.ts +1 -1
  169. package/lib/schema-component/antd/gantt/helpers/bar-helper.js +4 -4
  170. package/lib/schema-component/antd/gantt/helpers/other-helper.js +3 -1
  171. package/lib/schema-component/antd/grid/Grid.js +1 -1
  172. package/lib/schema-component/antd/grid-card/GridCard.Designer.js +4 -5
  173. package/lib/schema-component/antd/grid-card/GridCard.Item.js +8 -8
  174. package/lib/schema-component/antd/index.less +1 -3
  175. package/lib/schema-component/antd/list/List.Decorator.js +3 -3
  176. package/lib/schema-component/antd/list/List.Item.js +6 -6
  177. package/lib/schema-component/antd/list/List.d.ts +2 -2
  178. package/lib/schema-component/antd/list/List.js +24 -24
  179. package/lib/schema-component/antd/menu/Menu.js +304 -154
  180. package/lib/schema-component/antd/page/Page.js +29 -23
  181. package/lib/schema-component/antd/remote-select/RemoteSelect.js +57 -7
  182. package/lib/schema-component/antd/remote-select/utils.d.ts +4 -0
  183. package/lib/schema-component/antd/remote-select/utils.js +41 -0
  184. package/lib/schema-component/antd/table-v2/FilterDynamicComponent.js +17 -2
  185. package/lib/schema-component/antd/table-v2/Table.Column.Designer.js +50 -11
  186. package/lib/schema-component/antd/table-v2/Table.js +26 -45
  187. package/lib/schema-component/antd/table-v2/utils.d.ts +0 -1
  188. package/lib/schema-component/antd/table-v2/utils.js +0 -29
  189. package/lib/schema-component/antd/tabs/Tabs.js +34 -21
  190. package/lib/schema-component/antd/tabs/context.d.ts +1 -1
  191. package/lib/schema-component/antd/upload/ReadPretty.js +7 -3
  192. package/lib/schema-component/antd/variable/VariableSelect.js +1 -1
  193. package/lib/schema-component/common/utils/uitls.d.ts +1 -0
  194. package/lib/schema-component/common/utils/uitls.js +3 -1
  195. package/lib/schema-initializer/SchemaInitializer.d.ts +7 -2
  196. package/lib/schema-initializer/SchemaInitializer.js +155 -101
  197. package/lib/schema-initializer/SelectCollection.d.ts +1 -2
  198. package/lib/schema-initializer/SelectCollection.js +22 -17
  199. package/lib/schema-initializer/buttons/TableActionColumnInitializers.js +1 -1
  200. package/lib/schema-initializer/buttons/TableActionInitializers.js +5 -5
  201. package/lib/schema-initializer/buttons/TableColumnInitializers.js +2 -1
  202. package/lib/schema-initializer/components/CreateRecordAction.js +35 -25
  203. package/lib/schema-initializer/components/assigned-field/AssignedField.js +2 -1
  204. package/lib/schema-initializer/items/CalendarBlockInitializer.js +9 -9
  205. package/lib/schema-initializer/utils.d.ts +0 -1
  206. package/lib/schema-initializer/utils.js +41 -25
  207. package/lib/schema-settings/SchemaSettings.js +106 -27
  208. package/lib/schema-settings/VariableInput/hooks/useFormVariable.d.ts +19 -0
  209. package/lib/schema-settings/VariableInput/hooks/useFormVariable.js +96 -0
  210. package/lib/schema-settings/VariableInput/hooks/useIterationVariable.d.ts +8 -0
  211. package/lib/schema-settings/VariableInput/hooks/useIterationVariable.js +84 -0
  212. package/lib/schema-settings/VariableInput/hooks/useVariableOptions.d.ts +5 -12
  213. package/lib/schema-settings/VariableInput/hooks/useVariableOptions.js +19 -3
  214. package/lib/schema-templates/BlockTemplateDetails.js +5 -1
  215. package/lib/schema-templates/BlockTemplatePage.js +5 -2
  216. package/lib/user/ChangePassword.d.ts +1 -2
  217. package/lib/user/ChangePassword.js +30 -26
  218. package/lib/user/CurrentUser.js +166 -135
  219. package/lib/user/EditProfile.d.ts +1 -2
  220. package/lib/user/EditProfile.js +31 -25
  221. package/lib/user/LanguageSettings.d.ts +1 -2
  222. package/lib/user/LanguageSettings.js +66 -63
  223. package/lib/user/SigninPage.js +25 -22
  224. package/lib/user/SwitchRole.d.ts +1 -2
  225. package/lib/user/SwitchRole.js +57 -51
  226. package/lib/user/ThemeSettings.d.ts +1 -2
  227. package/lib/user/ThemeSettings.js +59 -54
  228. package/package.json +9 -8
  229. package/es/settings-form/SettingsForm.d.ts +0 -13
  230. package/es/settings-form/SettingsForm.js +0 -309
  231. package/es/settings-form/index.d.ts +0 -1
  232. package/es/settings-form/index.js +0 -1
  233. package/lib/settings-form/SettingsForm.d.ts +0 -13
  234. package/lib/settings-form/SettingsForm.js +0 -320
  235. package/lib/settings-form/index.d.ts +0 -1
  236. package/lib/settings-form/index.js +0 -16
@@ -7,27 +7,24 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.Menu = void 0;
8
8
  var _css = require("@emotion/css");
9
9
  var _react = require("@formily/react");
10
+ var _client = require("@nocobase/utils/client");
10
11
  var _antd = require("antd");
11
12
  var _react2 = _interopRequireWildcard(require("react"));
12
13
  var _reactDom = require("react-dom");
13
14
  var _reactI18next = require("react-i18next");
14
15
  var _ = require("../..");
15
16
  var _2 = require("../../../");
17
+ var _useMenuItem4 = require("../../../hooks/useMenuItem");
16
18
  var _useProps2 = require("../../hooks/useProps");
17
19
  var _Menu = require("./Menu.Designer");
18
20
  var _util = require("./util");
19
- var _excluded = ["onSelect", "mode", "selectedUid", "defaultSelectedUid", "sideMenuRefScopeKey", "defaultSelectedKeys", "defaultOpenKeys"],
20
- _excluded2 = ["icon"],
21
- _excluded3 = ["icon"],
22
- _excluded4 = ["icon"];
23
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
21
+ var _excluded = ["onSelect", "mode", "selectedUid", "defaultSelectedUid", "sideMenuRefScopeKey", "defaultSelectedKeys", "defaultOpenKeys", "children"],
22
+ _excluded2 = ["icon", "children"],
23
+ _excluded3 = ["icon", "children"],
24
+ _excluded4 = ["icon", "children"];
25
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
24
26
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
27
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
26
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
28
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
29
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
30
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
31
28
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
32
29
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
33
30
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -36,10 +33,157 @@ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefine
36
33
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
37
34
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
38
35
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
36
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
37
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
38
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
39
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
40
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
39
41
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
40
42
  var subMenuDesignerCss = (0, _css.css)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n display: inline-block;\n margin-left: -24px;\n margin-right: -34px;\n padding: 0 34px 0 24px;\n width: calc(100% + 58px);\n &:hover {\n > .general-schema-designer {\n display: block;\n }\n }\n &.nb-action-link {\n > .general-schema-designer {\n top: -10px;\n bottom: -10px;\n left: -10px;\n right: -10px;\n }\n }\n > .general-schema-designer {\n position: absolute;\n z-index: 999;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: none;\n background: rgba(241, 139, 98, 0.06);\n border: 0;\n pointer-events: none;\n > .general-schema-designer-icons {\n position: absolute;\n right: 2px;\n top: 2px;\n line-height: 16px;\n pointer-events: all;\n .ant-space-item {\n background-color: #f18b62;\n color: #fff;\n line-height: 16px;\n width: 16px;\n padding-left: 1px;\n }\n }\n }\n"])));
41
43
  var designerCss = (0, _css.css)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n margin-left: -20px;\n margin-right: -20px;\n padding: 0 20px;\n width: calc(100% + 40px);\n &:hover {\n > .general-schema-designer {\n display: block;\n }\n }\n &.nb-action-link {\n > .general-schema-designer {\n top: -10px;\n bottom: -10px;\n left: -10px;\n right: -10px;\n }\n }\n > .general-schema-designer {\n position: absolute;\n z-index: 999;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: none;\n background: rgba(241, 139, 98, 0.06);\n border: 0;\n pointer-events: none;\n > .general-schema-designer-icons {\n position: absolute;\n right: 2px;\n top: 2px;\n line-height: 16px;\n pointer-events: all;\n .ant-space-item {\n background-color: #f18b62;\n color: #fff;\n line-height: 16px;\n width: 16px;\n padding-left: 1px;\n }\n }\n }\n"])));
42
- var antdMenuClass = (0, _css.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n .ant-menu-item:hover {\n > .ant-menu-title-content > div {\n .general-schema-designer {\n display: block;\n }\n }\n }\n"])));
44
+ var headerMenuClass = (0, _css.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n .ant-menu-item:hover {\n > .ant-menu-title-content > div {\n .general-schema-designer {\n display: block;\n }\n }\n }\n"])));
45
+ var sideMenuClass = (0, _css.css)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n .ant-menu-item {\n > .ant-menu-title-content {\n margin-left: -24px;\n margin-right: -16px;\n padding: 0 16px 0 24px;\n > div {\n > .general-schema-designer {\n right: 6px !important;\n }\n }\n }\n }\n .ant-menu-submenu-title {\n .ant-menu-title-content {\n margin-left: -24px;\n margin-right: -34px;\n padding: 0 34px 0 24px;\n > div {\n > .general-schema-designer {\n right: 6px !important;\n }\n > span.anticon {\n margin-right: 10px;\n }\n }\n }\n }\n"])));
46
+ var menuItemClass = (0, _css.css)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n :active {\n background: inherit;\n }\n"])));
47
+ var HeaderMenu = function HeaderMenu(_ref) {
48
+ var others = _ref.others,
49
+ schema = _ref.schema,
50
+ mode = _ref.mode,
51
+ _onSelect = _ref.onSelect,
52
+ setLoading = _ref.setLoading,
53
+ setDefaultSelectedKeys = _ref.setDefaultSelectedKeys,
54
+ defaultSelectedKeys = _ref.defaultSelectedKeys,
55
+ defaultOpenKeys = _ref.defaultOpenKeys,
56
+ selectedKeys = _ref.selectedKeys,
57
+ designable = _ref.designable,
58
+ render = _ref.render,
59
+ children = _ref.children;
60
+ var _useMenuItem = (0, _useMenuItem4.useMenuItem)(),
61
+ Component = _useMenuItem.Component,
62
+ getMenuItems = _useMenuItem.getMenuItems;
63
+ var items = (0, _react2.useMemo)(function () {
64
+ var designerBtn = {
65
+ key: 'x-designer-button',
66
+ disabled: true,
67
+ style: {
68
+ padding: '0 8px',
69
+ order: 9999
70
+ },
71
+ label: render({
72
+ style: {
73
+ background: 'none'
74
+ }
75
+ }),
76
+ notdelete: true
77
+ };
78
+ var result = getMenuItems(function () {
79
+ return children;
80
+ });
81
+ if (designable) {
82
+ result.push(designerBtn);
83
+ }
84
+ return result;
85
+ }, [children, designable]);
86
+ return /*#__PURE__*/_react2.default.createElement(_react2.default.Fragment, null, /*#__PURE__*/_react2.default.createElement(Component, null), /*#__PURE__*/_react2.default.createElement(_antd.Menu, _objectSpread(_objectSpread({}, others), {}, {
87
+ className: headerMenuClass,
88
+ onSelect: function onSelect(info) {
89
+ var s = schema.properties[info.key];
90
+ if (mode === 'mix') {
91
+ if (s['x-component'] !== 'Menu.SubMenu') {
92
+ _onSelect === null || _onSelect === void 0 ? void 0 : _onSelect(info);
93
+ } else {
94
+ var menuItemSchema = (0, _util.findMenuItem)(s);
95
+ if (!menuItemSchema) {
96
+ return _onSelect === null || _onSelect === void 0 ? void 0 : _onSelect(info);
97
+ }
98
+ // TODO
99
+ setLoading(true);
100
+ var keys = (0, _util.findKeysByUid)(schema, menuItemSchema['x-uid']);
101
+ setDefaultSelectedKeys(keys);
102
+ setTimeout(function () {
103
+ setLoading(false);
104
+ }, 100);
105
+ _onSelect === null || _onSelect === void 0 ? void 0 : _onSelect({
106
+ key: menuItemSchema.name,
107
+ item: {
108
+ props: {
109
+ schema: menuItemSchema
110
+ }
111
+ }
112
+ });
113
+ }
114
+ } else {
115
+ _onSelect === null || _onSelect === void 0 ? void 0 : _onSelect(info);
116
+ }
117
+ },
118
+ mode: mode === 'mix' ? 'horizontal' : mode,
119
+ defaultOpenKeys: defaultOpenKeys,
120
+ defaultSelectedKeys: defaultSelectedKeys,
121
+ selectedKeys: selectedKeys,
122
+ items: items
123
+ })));
124
+ };
125
+ var SideMenu = function SideMenu(_ref2) {
126
+ var _sideMenuRef$current;
127
+ var loading = _ref2.loading,
128
+ mode = _ref2.mode,
129
+ sideMenuSchema = _ref2.sideMenuSchema,
130
+ sideMenuRef = _ref2.sideMenuRef,
131
+ defaultOpenKeys = _ref2.defaultOpenKeys,
132
+ defaultSelectedKeys = _ref2.defaultSelectedKeys,
133
+ _onSelect2 = _ref2.onSelect,
134
+ render = _ref2.render,
135
+ t = _ref2.t,
136
+ api = _ref2.api,
137
+ refresh = _ref2.refresh,
138
+ designable = _ref2.designable;
139
+ var _useMenuItem2 = (0, _useMenuItem4.useMenuItem)(),
140
+ Component = _useMenuItem2.Component,
141
+ getMenuItems = _useMenuItem2.getMenuItems;
142
+ var items = (0, _react2.useMemo)(function () {
143
+ var result = getMenuItems(function () {
144
+ return /*#__PURE__*/_react2.default.createElement(_react.RecursionField, {
145
+ schema: sideMenuSchema,
146
+ onlyRenderProperties: true
147
+ });
148
+ });
149
+ if (designable) {
150
+ result.push({
151
+ key: 'x-designer-button',
152
+ disabled: true,
153
+ label: render({
154
+ insert: function insert(s) {
155
+ var dn = (0, _.createDesignable)({
156
+ t: t,
157
+ api: api,
158
+ refresh: refresh,
159
+ current: sideMenuSchema
160
+ });
161
+ dn.loadAPIClientEvents();
162
+ dn.insertAdjacent('beforeEnd', s);
163
+ }
164
+ }),
165
+ order: 1,
166
+ notdelete: true
167
+ });
168
+ }
169
+ return result;
170
+ }, [render, sideMenuSchema, designable, loading]);
171
+ if (loading) {
172
+ return null;
173
+ }
174
+ return mode === 'mix' && (sideMenuSchema === null || sideMenuSchema === void 0 ? void 0 : sideMenuSchema['x-component']) === 'Menu.SubMenu' && (sideMenuRef === null || sideMenuRef === void 0 ? void 0 : (_sideMenuRef$current = sideMenuRef.current) === null || _sideMenuRef$current === void 0 ? void 0 : _sideMenuRef$current.firstChild) && /*#__PURE__*/(0, _reactDom.createPortal)( /*#__PURE__*/_react2.default.createElement(MenuModeContext.Provider, {
175
+ value: 'inline'
176
+ }, /*#__PURE__*/_react2.default.createElement(Component, null), /*#__PURE__*/_react2.default.createElement(_antd.Menu, {
177
+ mode: 'inline',
178
+ defaultOpenKeys: defaultOpenKeys,
179
+ defaultSelectedKeys: defaultSelectedKeys,
180
+ onSelect: function onSelect(info) {
181
+ _onSelect2 === null || _onSelect2 === void 0 ? void 0 : _onSelect2(info);
182
+ },
183
+ className: sideMenuClass,
184
+ items: items
185
+ })), sideMenuRef.current.firstChild);
186
+ };
43
187
  var MenuModeContext = /*#__PURE__*/(0, _react2.createContext)(null);
44
188
  MenuModeContext.displayName = 'MenuModeContext';
45
189
  var useSideMenuRef = function useSideMenuRef() {
@@ -55,15 +199,15 @@ var useSideMenuRef = function useSideMenuRef() {
55
199
  var MenuItemDesignerContext = /*#__PURE__*/(0, _react2.createContext)(null);
56
200
  MenuItemDesignerContext.displayName = 'MenuItemDesignerContext';
57
201
  var Menu = (0, _react.observer)(function (props) {
58
- var _sideMenuRef$current;
59
202
  var _useProps = (0, _useProps2.useProps)(props),
60
- _onSelect = _useProps.onSelect,
203
+ onSelect = _useProps.onSelect,
61
204
  mode = _useProps.mode,
62
205
  selectedUid = _useProps.selectedUid,
63
206
  defaultSelectedUid = _useProps.defaultSelectedUid,
64
207
  sideMenuRefScopeKey = _useProps.sideMenuRefScopeKey,
65
208
  dSelectedKeys = _useProps.defaultSelectedKeys,
66
209
  dOpenKeys = _useProps.defaultOpenKeys,
210
+ children = _useProps.children,
67
211
  others = _objectWithoutProperties(_useProps, _excluded);
68
212
  var _useTranslation = (0, _reactI18next.useTranslation)(),
69
213
  t = _useTranslation.t;
@@ -104,20 +248,23 @@ var Menu = (0, _react.observer)(function (props) {
104
248
  _useState8 = _slicedToArray(_useState7, 2),
105
249
  defaultOpenKeys = _useState8[0],
106
250
  setDefaultOpenKeys = _useState8[1];
107
- var _useState9 = (0, _react2.useState)(function () {
108
- var key = (defaultSelectedKeys === null || defaultSelectedKeys === void 0 ? void 0 : defaultSelectedKeys[0]) || null;
109
- if (mode === 'mix' && key) {
110
- var _schema$properties;
111
- var s = (_schema$properties = schema.properties) === null || _schema$properties === void 0 ? void 0 : _schema$properties[key];
112
- if (s['x-component'] === 'Menu.SubMenu') {
113
- return s;
114
- }
251
+ var sideMenuSchema = (0, _react2.useMemo)(function () {
252
+ var key;
253
+ if (selectedUid) {
254
+ var keys = (0, _util.findKeysByUid)(schema, selectedUid);
255
+ key = (keys === null || keys === void 0 ? void 0 : keys[0]) || null;
256
+ } else {
257
+ key = (defaultSelectedKeys === null || defaultSelectedKeys === void 0 ? void 0 : defaultSelectedKeys[0]) || null;
258
+ }
259
+ if (mode === 'mix' && key) {
260
+ var _schema$properties;
261
+ var s = (_schema$properties = schema.properties) === null || _schema$properties === void 0 ? void 0 : _schema$properties[key];
262
+ if (s['x-component'] === 'Menu.SubMenu') {
263
+ return s;
115
264
  }
116
- return null;
117
- }),
118
- _useState10 = _slicedToArray(_useState9, 2),
119
- sideMenuSchema = _useState10[0],
120
- setSideMenuSchema = _useState10[1];
265
+ }
266
+ return null;
267
+ }, [defaultSelectedKeys, mode, schema, selectedUid]);
121
268
  (0, _react2.useEffect)(function () {
122
269
  if (!selectedUid) {
123
270
  setSelectedKeys(undefined);
@@ -128,18 +275,6 @@ var Menu = (0, _react.observer)(function (props) {
128
275
  if (['inline', 'mix'].includes(mode)) {
129
276
  setDefaultOpenKeys(dOpenKeys || keys);
130
277
  }
131
- var key = (keys === null || keys === void 0 ? void 0 : keys[0]) || null;
132
- if (mode === 'mix') {
133
- if (key) {
134
- var _schema$properties2;
135
- var s = (_schema$properties2 = schema.properties) === null || _schema$properties2 === void 0 ? void 0 : _schema$properties2[key];
136
- if (s['x-component'] === 'Menu.SubMenu') {
137
- setSideMenuSchema(s);
138
- }
139
- } else {
140
- setSideMenuSchema(null);
141
- }
142
- }
143
278
  }, [selectedUid]);
144
279
  (0, _react2.useEffect)(function () {
145
280
  if (['inline', 'mix'].includes(mode)) {
@@ -152,157 +287,172 @@ var Menu = (0, _react.observer)(function (props) {
152
287
  value: Designer
153
288
  }, /*#__PURE__*/_react2.default.createElement(MenuModeContext.Provider, {
154
289
  value: mode
155
- }, /*#__PURE__*/_react2.default.createElement(_antd.Menu, _objectSpread(_objectSpread({}, others), {}, {
156
- className: antdMenuClass,
157
- onSelect: function onSelect(info) {
158
- var s = schema.properties[info.key];
159
- if (mode === 'mix') {
160
- setSideMenuSchema(s);
161
- if (s['x-component'] !== 'Menu.SubMenu') {
162
- _onSelect && _onSelect(info);
163
- } else {
164
- var menuItemSchema = (0, _util.findMenuItem)(s);
165
- if (!menuItemSchema) {
166
- return;
167
- }
168
- // TODO
169
- setLoading(true);
170
- var keys = (0, _util.findKeysByUid)(schema, menuItemSchema['x-uid']);
171
- setDefaultSelectedKeys(keys);
172
- setTimeout(function () {
173
- setLoading(false);
174
- }, 100);
175
- _onSelect && _onSelect({
176
- key: menuItemSchema.name,
177
- item: {
178
- props: {
179
- schema: menuItemSchema
180
- }
181
- }
182
- });
183
- }
184
- } else {
185
- _onSelect && _onSelect(info);
186
- }
187
- },
188
- mode: mode === 'mix' ? 'horizontal' : mode,
189
- defaultOpenKeys: defaultOpenKeys,
290
+ }, /*#__PURE__*/_react2.default.createElement(HeaderMenu, {
291
+ others: others,
292
+ schema: schema,
293
+ mode: mode,
294
+ onSelect: onSelect,
295
+ setLoading: setLoading,
296
+ setDefaultSelectedKeys: setDefaultSelectedKeys,
190
297
  defaultSelectedKeys: defaultSelectedKeys,
191
- selectedKeys: selectedKeys
192
- }), designable && /*#__PURE__*/_react2.default.createElement(_antd.Menu.Item, {
193
- disabled: true,
194
- key: "x-designer-button",
195
- style: {
196
- padding: '0 8px',
197
- order: 9999
198
- }
199
- }, render({
200
- style: {
201
- background: 'none'
202
- }
203
- })), props.children), loading ? null : mode === 'mix' && (sideMenuSchema === null || sideMenuSchema === void 0 ? void 0 : sideMenuSchema['x-component']) === 'Menu.SubMenu' && (sideMenuRef === null || sideMenuRef === void 0 ? void 0 : (_sideMenuRef$current = sideMenuRef.current) === null || _sideMenuRef$current === void 0 ? void 0 : _sideMenuRef$current.firstChild) && /*#__PURE__*/(0, _reactDom.createPortal)( /*#__PURE__*/_react2.default.createElement(MenuModeContext.Provider, {
204
- value: 'inline'
205
- }, /*#__PURE__*/_react2.default.createElement(_antd.Menu, {
206
- mode: 'inline',
298
+ defaultOpenKeys: defaultOpenKeys,
299
+ selectedKeys: selectedKeys,
300
+ designable: designable,
301
+ render: render
302
+ }, children), /*#__PURE__*/_react2.default.createElement(SideMenu, {
303
+ loading: loading,
304
+ mode: mode,
305
+ sideMenuSchema: sideMenuSchema,
306
+ sideMenuRef: sideMenuRef,
207
307
  defaultOpenKeys: defaultOpenKeys,
208
308
  defaultSelectedKeys: defaultSelectedKeys,
209
- onSelect: function onSelect(info) {
210
- _onSelect && _onSelect(info);
211
- },
212
- className: (0, _css.css)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n .ant-menu-item {\n > .ant-menu-title-content {\n margin-left: -24px;\n margin-right: -16px;\n padding: 0 16px 0 24px;\n > div {\n > .general-schema-designer {\n right: 6px !important;\n }\n }\n }\n }\n .ant-menu-submenu-title {\n .ant-menu-title-content {\n margin-left: -24px;\n margin-right: -34px;\n padding: 0 34px 0 24px;\n > div {\n > .general-schema-designer {\n right: 6px !important;\n }\n > span.anticon {\n margin-right: 10px;\n }\n }\n }\n }\n "])))
213
- }, /*#__PURE__*/_react2.default.createElement(_react.RecursionField, {
214
- schema: sideMenuSchema,
215
- onlyRenderProperties: true
216
- }), render({
217
- style: {
218
- margin: 8
219
- },
220
- insert: function insert(s) {
221
- var dn = (0, _.createDesignable)({
222
- t: t,
223
- api: api,
224
- refresh: refresh,
225
- current: sideMenuSchema
226
- });
227
- dn.loadAPIClientEvents();
228
- dn.insertAdjacent('beforeEnd', s);
229
- }
230
- }))), sideMenuRef.current.firstChild))));
309
+ onSelect: onSelect,
310
+ render: render,
311
+ t: t,
312
+ api: api,
313
+ refresh: refresh,
314
+ designable: designable
315
+ }))));
231
316
  }, {
232
317
  displayName: 'Menu'
233
318
  });
234
319
  exports.Menu = Menu;
235
320
  Menu.Item = (0, _react.observer)(function (props) {
321
+ var _useCollectMenuItems = (0, _useMenuItem4.useCollectMenuItems)(),
322
+ pushMenuItem = _useCollectMenuItems.pushMenuItem;
236
323
  var icon = props.icon,
324
+ children = props.children,
237
325
  others = _objectWithoutProperties(props, _excluded2);
238
326
  var schema = (0, _react.useFieldSchema)();
239
327
  var field = (0, _react.useField)();
240
328
  var Designer = (0, _react2.useContext)(MenuItemDesignerContext);
241
- return /*#__PURE__*/_react2.default.createElement(_antd.Menu.Item, _objectSpread(_objectSpread({}, others), {}, {
242
- className: (0, _css.css)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n :active {\n background: inherit;\n }\n "]))),
243
- key: schema.name,
244
- eventKey: schema.name,
245
- schema: schema
246
- }), /*#__PURE__*/_react2.default.createElement(_.SortableItem, {
247
- className: designerCss,
248
- removeParentsIfNoChildren: false
249
- }, /*#__PURE__*/_react2.default.createElement(_2.Icon, {
250
- type: icon
251
- }), /*#__PURE__*/_react2.default.createElement("span", {
252
- className: (0, _css.css)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n overflow: hidden;\n text-overflow: ellipsis;\n display: inline-block;\n width: 100%;\n vertical-align: middle;\n "])))
253
- }, field.title), Designer && /*#__PURE__*/_react2.default.createElement(Designer, null)));
329
+ var item = (0, _react2.useMemo)(function () {
330
+ return _objectSpread(_objectSpread({}, others), {}, {
331
+ className: menuItemClass,
332
+ key: schema.name,
333
+ eventKey: schema.name,
334
+ schema: schema,
335
+ label: /*#__PURE__*/_react2.default.createElement(_react.SchemaContext.Provider, {
336
+ value: schema
337
+ }, /*#__PURE__*/_react2.default.createElement(_react.FieldContext.Provider, {
338
+ value: field
339
+ }, /*#__PURE__*/_react2.default.createElement(_.SortableItem, {
340
+ className: designerCss,
341
+ removeParentsIfNoChildren: false
342
+ }, /*#__PURE__*/_react2.default.createElement(_2.Icon, {
343
+ type: icon
344
+ }), /*#__PURE__*/_react2.default.createElement("span", {
345
+ style: {
346
+ overflow: 'hidden',
347
+ textOverflow: 'ellipsis',
348
+ display: 'inline-block',
349
+ width: '100%',
350
+ verticalAlign: 'middle'
351
+ }
352
+ }, field.title), /*#__PURE__*/_react2.default.createElement(Designer, null))))
353
+ });
354
+ }, [field.title, icon, schema, Designer]);
355
+ if (!pushMenuItem) {
356
+ (0, _client.error)('Menu.Item must be wrapped by GetMenuItemsContext.Provider');
357
+ return null;
358
+ }
359
+ pushMenuItem(item);
360
+ return null;
254
361
  }, {
255
362
  displayName: 'Menu.Item'
256
363
  });
257
364
  Menu.URL = (0, _react.observer)(function (props) {
365
+ var _useCollectMenuItems2 = (0, _useMenuItem4.useCollectMenuItems)(),
366
+ pushMenuItem = _useCollectMenuItems2.pushMenuItem;
258
367
  var icon = props.icon,
368
+ children = props.children,
259
369
  others = _objectWithoutProperties(props, _excluded3);
260
370
  var schema = (0, _react.useFieldSchema)();
261
371
  var field = (0, _react.useField)();
262
372
  var Designer = (0, _react2.useContext)(MenuItemDesignerContext);
263
- return /*#__PURE__*/_react2.default.createElement(_antd.Menu.Item, _objectSpread(_objectSpread({}, others), {}, {
264
- className: (0, _css.css)(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n :active {\n background: inherit;\n }\n "]))),
265
- key: schema.name,
266
- eventKey: schema.name,
267
- schema: schema,
268
- onClick: function onClick() {
269
- window.open(props.href, '_blank');
270
- }
271
- }), /*#__PURE__*/_react2.default.createElement(_.SortableItem, {
272
- className: designerCss,
273
- removeParentsIfNoChildren: false
274
- }, /*#__PURE__*/_react2.default.createElement(_2.Icon, {
275
- type: icon
276
- }), /*#__PURE__*/_react2.default.createElement("span", {
277
- className: (0, _css.css)(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n overflow: hidden;\n text-overflow: ellipsis;\n display: inline-block;\n width: 100%;\n vertical-align: middle;\n "])))
278
- }, field.title), Designer && /*#__PURE__*/_react2.default.createElement(Designer, null)));
373
+ if (!pushMenuItem) {
374
+ (0, _client.error)('Menu.URL must be wrapped by GetMenuItemsContext.Provider');
375
+ return null;
376
+ }
377
+ var item = (0, _react2.useMemo)(function () {
378
+ return _objectSpread(_objectSpread({}, others), {}, {
379
+ className: menuItemClass,
380
+ key: schema.name,
381
+ eventKey: schema.name,
382
+ schema: schema,
383
+ onClick: function onClick() {
384
+ window.open(props.href, '_blank');
385
+ },
386
+ label: /*#__PURE__*/_react2.default.createElement(_react.SchemaContext.Provider, {
387
+ value: schema
388
+ }, /*#__PURE__*/_react2.default.createElement(_react.FieldContext.Provider, {
389
+ value: field
390
+ }, /*#__PURE__*/_react2.default.createElement(_.SortableItem, {
391
+ className: designerCss,
392
+ removeParentsIfNoChildren: false
393
+ }, /*#__PURE__*/_react2.default.createElement(_2.Icon, {
394
+ type: icon
395
+ }), /*#__PURE__*/_react2.default.createElement("span", {
396
+ style: {
397
+ overflow: 'hidden',
398
+ textOverflow: 'ellipsis',
399
+ display: 'inline-block',
400
+ width: '100%',
401
+ verticalAlign: 'middle'
402
+ }
403
+ }, field.title), /*#__PURE__*/_react2.default.createElement(Designer, null))))
404
+ });
405
+ }, [field.title, icon, props.href, schema, Designer]);
406
+ pushMenuItem(item);
407
+ return null;
279
408
  }, {
280
409
  displayName: 'MenuURL'
281
410
  });
282
411
  Menu.SubMenu = (0, _react.observer)(function (props) {
412
+ var _useMenuItem3 = (0, _useMenuItem4.useMenuItem)(),
413
+ Component = _useMenuItem3.Component,
414
+ getMenuItems = _useMenuItem3.getMenuItems;
415
+ var _useCollectMenuItems3 = (0, _useMenuItem4.useCollectMenuItems)(),
416
+ pushMenuItem = _useCollectMenuItems3.pushMenuItem;
283
417
  var icon = props.icon,
418
+ children = props.children,
284
419
  others = _objectWithoutProperties(props, _excluded4);
285
420
  var schema = (0, _react.useFieldSchema)();
286
421
  var field = (0, _react.useField)();
287
422
  var mode = (0, _react2.useContext)(MenuModeContext);
288
423
  var Designer = (0, _react2.useContext)(MenuItemDesignerContext);
424
+ var submenu = (0, _react2.useMemo)(function () {
425
+ return _objectSpread(_objectSpread({}, others), {}, {
426
+ className: menuItemClass,
427
+ key: schema.name,
428
+ eventKey: schema.name,
429
+ label: /*#__PURE__*/_react2.default.createElement(_react.SchemaContext.Provider, {
430
+ value: schema
431
+ }, /*#__PURE__*/_react2.default.createElement(_react.FieldContext.Provider, {
432
+ value: field
433
+ }, /*#__PURE__*/_react2.default.createElement(_.SortableItem, {
434
+ className: subMenuDesignerCss,
435
+ removeParentsIfNoChildren: false
436
+ }, /*#__PURE__*/_react2.default.createElement(_2.Icon, {
437
+ type: icon
438
+ }), field.title, /*#__PURE__*/_react2.default.createElement(Designer, null)))),
439
+ children: getMenuItems(function () {
440
+ return /*#__PURE__*/_react2.default.createElement(_react.RecursionField, {
441
+ schema: schema,
442
+ onlyRenderProperties: true
443
+ });
444
+ })
445
+ });
446
+ }, [field.title, icon, schema, children, Designer]);
447
+ if (!pushMenuItem) {
448
+ (0, _client.error)('Menu.SubMenu must be wrapped by GetMenuItemsContext.Provider');
449
+ return null;
450
+ }
289
451
  if (mode === 'mix') {
290
452
  return /*#__PURE__*/_react2.default.createElement(Menu.Item, _objectSpread({}, props));
291
453
  }
292
- return /*#__PURE__*/_react2.default.createElement(_antd.Menu.SubMenu, _objectSpread(_objectSpread({}, others), {}, {
293
- className: (0, _css.css)(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n :active {\n background: inherit;\n }\n "]))),
294
- key: schema.name,
295
- eventKey: schema.name,
296
- title: /*#__PURE__*/_react2.default.createElement(_.SortableItem, {
297
- className: subMenuDesignerCss,
298
- removeParentsIfNoChildren: false
299
- }, /*#__PURE__*/_react2.default.createElement(_2.Icon, {
300
- type: icon
301
- }), field.title, Designer && /*#__PURE__*/_react2.default.createElement(Designer, null))
302
- }), /*#__PURE__*/_react2.default.createElement(_react.RecursionField, {
303
- schema: schema,
304
- onlyRenderProperties: true
305
- }));
454
+ pushMenuItem(submenu);
455
+ return /*#__PURE__*/_react2.default.createElement(Component, null);
306
456
  }, {
307
457
  displayName: 'Menu.SubMenu'
308
458
  });