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

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 (194) 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/collection-manager/Configuration/AddCollectionAction.js +31 -25
  5. package/es/collection-manager/Configuration/AddFieldAction.js +45 -32
  6. package/es/collection-manager/Configuration/AddSubFieldAction.js +24 -19
  7. package/es/collection-manager/Configuration/ConfigurationTabs.js +57 -50
  8. package/es/collection-manager/hooks/useOptions.js +39 -36
  9. package/es/collection-manager/interfaces/integer.js +1 -1
  10. package/es/collection-manager/interfaces/number.js +3 -3
  11. package/es/collection-manager/interfaces/percent.js +3 -3
  12. package/es/formula/Expression.js +66 -46
  13. package/es/hooks/index.d.ts +1 -0
  14. package/es/hooks/index.js +1 -0
  15. package/es/hooks/useAdminSchemaUid.d.ts +1 -0
  16. package/es/hooks/useAdminSchemaUid.js +6 -0
  17. package/es/hooks/useMenuItem.d.ts +37 -0
  18. package/es/hooks/useMenuItem.js +90 -0
  19. package/es/index.d.ts +2 -3
  20. package/es/index.js +3 -4
  21. package/es/locale/en_US.d.ts +3 -1
  22. package/es/locale/en_US.js +4 -2
  23. package/es/locale/es_ES.d.ts +1 -1
  24. package/es/locale/es_ES.js +1 -1
  25. package/es/locale/ja_JP.d.ts +3 -1
  26. package/es/locale/ja_JP.js +4 -2
  27. package/es/locale/pt_BR.d.ts +1 -1
  28. package/es/locale/pt_BR.js +1 -1
  29. package/es/locale/ru_RU.d.ts +1 -1
  30. package/es/locale/ru_RU.js +1 -1
  31. package/es/locale/zh_CN.d.ts +3 -1
  32. package/es/locale/zh_CN.js +3 -1
  33. package/es/pm/Card.js +5 -5
  34. package/es/pm/PluginManagerLink.js +16 -12
  35. package/es/pm/index.d.ts +2 -1
  36. package/es/pm/index.js +36 -22
  37. package/es/route-switch/antd/admin-layout/index.js +4 -4
  38. package/es/schema-component/antd/action/Action.Designer.js +3 -5
  39. package/es/schema-component/antd/action/Action.Drawer.js +1 -1
  40. package/es/schema-component/antd/action/ActionBar.js +1 -1
  41. package/es/schema-component/antd/association-field/SubTable.js +1 -1
  42. package/es/schema-component/antd/calendar/DeleteEvent.js +1 -1
  43. package/es/schema-component/antd/cascader/Cascader.js +1 -1
  44. package/es/schema-component/antd/form-item/FormItem.js +10 -3
  45. package/es/schema-component/antd/grid-card/GridCard.Designer.js +3 -4
  46. package/es/schema-component/antd/index.less +1 -3
  47. package/es/schema-component/antd/menu/Menu.js +306 -156
  48. package/es/schema-component/antd/page/Page.js +29 -23
  49. package/es/schema-component/antd/remote-select/RemoteSelect.js +58 -10
  50. package/es/schema-component/antd/remote-select/utils.d.ts +4 -0
  51. package/es/schema-component/antd/remote-select/utils.js +31 -0
  52. package/es/schema-component/antd/table-v2/FilterDynamicComponent.js +17 -2
  53. package/es/schema-component/antd/table-v2/Table.Column.Designer.js +51 -12
  54. package/es/schema-component/antd/table-v2/Table.js +9 -7
  55. package/es/schema-component/antd/tabs/Tabs.js +35 -22
  56. package/es/schema-component/antd/tabs/context.d.ts +1 -1
  57. package/es/schema-component/antd/upload/ReadPretty.js +7 -3
  58. package/es/schema-component/antd/variable/VariableSelect.js +1 -1
  59. package/es/schema-component/common/utils/uitls.d.ts +1 -0
  60. package/es/schema-component/common/utils/uitls.js +1 -1
  61. package/es/schema-initializer/SchemaInitializer.d.ts +7 -2
  62. package/es/schema-initializer/SchemaInitializer.js +155 -102
  63. package/es/schema-initializer/SelectCollection.d.ts +1 -2
  64. package/es/schema-initializer/SelectCollection.js +19 -16
  65. package/es/schema-initializer/buttons/TableActionColumnInitializers.js +1 -1
  66. package/es/schema-initializer/buttons/TableActionInitializers.js +5 -5
  67. package/es/schema-initializer/buttons/TableColumnInitializers.js +3 -2
  68. package/es/schema-initializer/components/CreateRecordAction.js +37 -27
  69. package/es/schema-initializer/components/assigned-field/AssignedField.js +2 -1
  70. package/es/schema-initializer/items/CalendarBlockInitializer.js +2 -2
  71. package/es/schema-initializer/utils.d.ts +0 -1
  72. package/es/schema-initializer/utils.js +40 -25
  73. package/es/schema-settings/SchemaSettings.js +123 -46
  74. package/es/schema-settings/VariableInput/hooks/useFormVariable.d.ts +19 -0
  75. package/es/schema-settings/VariableInput/hooks/useFormVariable.js +89 -0
  76. package/es/schema-settings/VariableInput/hooks/useIterationVariable.d.ts +8 -0
  77. package/es/schema-settings/VariableInput/hooks/useIterationVariable.js +77 -0
  78. package/es/schema-settings/VariableInput/hooks/useVariableOptions.d.ts +5 -12
  79. package/es/schema-settings/VariableInput/hooks/useVariableOptions.js +19 -3
  80. package/es/schema-templates/BlockTemplateDetails.js +5 -1
  81. package/es/schema-templates/BlockTemplatePage.js +4 -1
  82. package/es/user/ChangePassword.d.ts +1 -2
  83. package/es/user/ChangePassword.js +30 -26
  84. package/es/user/CurrentUser.js +172 -141
  85. package/es/user/EditProfile.d.ts +1 -2
  86. package/es/user/EditProfile.js +30 -24
  87. package/es/user/LanguageSettings.d.ts +1 -2
  88. package/es/user/LanguageSettings.js +67 -64
  89. package/es/user/SigninPage.js +25 -22
  90. package/es/user/SwitchRole.d.ts +1 -2
  91. package/es/user/SwitchRole.js +54 -49
  92. package/es/user/ThemeSettings.d.ts +1 -2
  93. package/es/user/ThemeSettings.js +56 -52
  94. package/lib/acl/Configuration/MenuItemsProvider.js +3 -3
  95. package/lib/application/Application.js +2 -2
  96. package/lib/auth/SigninPage.js +25 -22
  97. package/lib/collection-manager/Configuration/AddCollectionAction.js +29 -23
  98. package/lib/collection-manager/Configuration/AddFieldAction.js +43 -30
  99. package/lib/collection-manager/Configuration/AddSubFieldAction.js +22 -17
  100. package/lib/collection-manager/Configuration/ConfigurationTabs.js +57 -49
  101. package/lib/collection-manager/hooks/useOptions.js +39 -36
  102. package/lib/collection-manager/interfaces/integer.js +1 -1
  103. package/lib/collection-manager/interfaces/number.js +3 -3
  104. package/lib/collection-manager/interfaces/percent.js +3 -3
  105. package/lib/formula/Expression.js +64 -44
  106. package/lib/hooks/index.d.ts +1 -0
  107. package/lib/hooks/index.js +11 -0
  108. package/lib/hooks/useAdminSchemaUid.d.ts +1 -0
  109. package/lib/hooks/useAdminSchemaUid.js +13 -0
  110. package/lib/hooks/useMenuItem.d.ts +37 -0
  111. package/lib/hooks/useMenuItem.js +104 -0
  112. package/lib/index.d.ts +2 -3
  113. package/lib/index.js +22 -33
  114. package/lib/locale/en_US.d.ts +3 -1
  115. package/lib/locale/en_US.js +4 -2
  116. package/lib/locale/es_ES.d.ts +1 -1
  117. package/lib/locale/es_ES.js +1 -1
  118. package/lib/locale/ja_JP.d.ts +3 -1
  119. package/lib/locale/ja_JP.js +4 -2
  120. package/lib/locale/pt_BR.d.ts +1 -1
  121. package/lib/locale/pt_BR.js +1 -1
  122. package/lib/locale/ru_RU.d.ts +1 -1
  123. package/lib/locale/ru_RU.js +1 -1
  124. package/lib/locale/zh_CN.d.ts +3 -1
  125. package/lib/locale/zh_CN.js +3 -1
  126. package/lib/pm/Card.js +6 -6
  127. package/lib/pm/PluginManagerLink.js +15 -10
  128. package/lib/pm/index.d.ts +2 -1
  129. package/lib/pm/index.js +37 -23
  130. package/lib/route-switch/antd/admin-layout/index.js +3 -3
  131. package/lib/schema-component/antd/action/Action.Designer.js +2 -4
  132. package/lib/schema-component/antd/action/Action.Drawer.js +1 -1
  133. package/lib/schema-component/antd/association-field/SubTable.js +1 -1
  134. package/lib/schema-component/antd/calendar/DeleteEvent.js +1 -1
  135. package/lib/schema-component/antd/cascader/Cascader.js +1 -1
  136. package/lib/schema-component/antd/form-item/FormItem.js +10 -3
  137. package/lib/schema-component/antd/grid-card/GridCard.Designer.js +4 -5
  138. package/lib/schema-component/antd/index.less +1 -3
  139. package/lib/schema-component/antd/menu/Menu.js +304 -154
  140. package/lib/schema-component/antd/page/Page.js +29 -23
  141. package/lib/schema-component/antd/remote-select/RemoteSelect.js +55 -7
  142. package/lib/schema-component/antd/remote-select/utils.d.ts +4 -0
  143. package/lib/schema-component/antd/remote-select/utils.js +41 -0
  144. package/lib/schema-component/antd/table-v2/FilterDynamicComponent.js +17 -2
  145. package/lib/schema-component/antd/table-v2/Table.Column.Designer.js +50 -11
  146. package/lib/schema-component/antd/table-v2/Table.js +9 -7
  147. package/lib/schema-component/antd/tabs/Tabs.js +34 -21
  148. package/lib/schema-component/antd/tabs/context.d.ts +1 -1
  149. package/lib/schema-component/antd/upload/ReadPretty.js +7 -3
  150. package/lib/schema-component/antd/variable/VariableSelect.js +1 -1
  151. package/lib/schema-component/common/utils/uitls.d.ts +1 -0
  152. package/lib/schema-component/common/utils/uitls.js +3 -1
  153. package/lib/schema-initializer/SchemaInitializer.d.ts +7 -2
  154. package/lib/schema-initializer/SchemaInitializer.js +154 -101
  155. package/lib/schema-initializer/SelectCollection.d.ts +1 -2
  156. package/lib/schema-initializer/SelectCollection.js +22 -17
  157. package/lib/schema-initializer/buttons/TableActionColumnInitializers.js +1 -1
  158. package/lib/schema-initializer/buttons/TableActionInitializers.js +5 -5
  159. package/lib/schema-initializer/buttons/TableColumnInitializers.js +2 -1
  160. package/lib/schema-initializer/components/CreateRecordAction.js +35 -25
  161. package/lib/schema-initializer/components/assigned-field/AssignedField.js +2 -1
  162. package/lib/schema-initializer/items/CalendarBlockInitializer.js +9 -9
  163. package/lib/schema-initializer/utils.d.ts +0 -1
  164. package/lib/schema-initializer/utils.js +41 -25
  165. package/lib/schema-settings/SchemaSettings.js +122 -45
  166. package/lib/schema-settings/VariableInput/hooks/useFormVariable.d.ts +19 -0
  167. package/lib/schema-settings/VariableInput/hooks/useFormVariable.js +96 -0
  168. package/lib/schema-settings/VariableInput/hooks/useIterationVariable.d.ts +8 -0
  169. package/lib/schema-settings/VariableInput/hooks/useIterationVariable.js +84 -0
  170. package/lib/schema-settings/VariableInput/hooks/useVariableOptions.d.ts +5 -12
  171. package/lib/schema-settings/VariableInput/hooks/useVariableOptions.js +19 -3
  172. package/lib/schema-templates/BlockTemplateDetails.js +5 -1
  173. package/lib/schema-templates/BlockTemplatePage.js +5 -2
  174. package/lib/user/ChangePassword.d.ts +1 -2
  175. package/lib/user/ChangePassword.js +30 -26
  176. package/lib/user/CurrentUser.js +166 -135
  177. package/lib/user/EditProfile.d.ts +1 -2
  178. package/lib/user/EditProfile.js +31 -25
  179. package/lib/user/LanguageSettings.d.ts +1 -2
  180. package/lib/user/LanguageSettings.js +66 -63
  181. package/lib/user/SigninPage.js +25 -22
  182. package/lib/user/SwitchRole.d.ts +1 -2
  183. package/lib/user/SwitchRole.js +57 -51
  184. package/lib/user/ThemeSettings.d.ts +1 -2
  185. package/lib/user/ThemeSettings.js +59 -54
  186. package/package.json +9 -8
  187. package/es/settings-form/SettingsForm.d.ts +0 -13
  188. package/es/settings-form/SettingsForm.js +0 -309
  189. package/es/settings-form/index.d.ts +0 -1
  190. package/es/settings-form/index.js +0 -1
  191. package/lib/settings-form/SettingsForm.d.ts +0 -13
  192. package/lib/settings-form/SettingsForm.js +0 -320
  193. package/lib/settings-form/index.d.ts +0 -1
  194. package/lib/settings-form/index.js +0 -16
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.Page = void 0;
8
8
  var _icons = require("@ant-design/icons");
9
+ var _proLayout = require("@ant-design/pro-layout");
9
10
  var _css = require("@emotion/css");
10
11
  var _antd = require("@formily/antd");
11
12
  var _react = require("@formily/react");
@@ -26,7 +27,7 @@ var _errorFallback = require("../error-fallback");
26
27
  var _FixedBlock = _interopRequireDefault(require("./FixedBlock"));
27
28
  var _PageTabDesigner = require("./PageTabDesigner");
28
29
  var _excluded = ["children"];
29
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
30
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
30
31
  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); }
31
32
  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; }
32
33
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -50,6 +51,8 @@ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(
50
51
  var designerCss = (0, _css.css)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n &:hover {\n > .general-schema-designer {\n display: block;\n }\n }\n &.nb-action-link {\n > .general-schema-designer {\n top: var(--nb-designer-offset);\n bottom: var(--nb-designer-offset);\n right: var(--nb-designer-offset);\n left: var(--nb-designer-offset);\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"])));
51
52
  var pageDesignerCss = (0, _css.css)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: relative;\n z-index: 20;\n flex: 1;\n display: flex;\n flex-direction: column;\n\n &:hover {\n > .general-schema-designer {\n display: block;\n }\n }\n .ant-page-header {\n z-index: 1;\n position: relative;\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 z-index: 9999;\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"])));
52
53
  var pageWithFixedBlockCss = (0, _classnames.default)(['nb-page-content', (0, _css.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n height: 100%;\n > .nb-grid:not(:last-child) {\n > .nb-schema-initializer-button {\n display: none;\n }\n }\n "])))]);
54
+ var pageHeaderCss = (0, _css.css)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n background-color: white;\n &.ant-page-header-has-footer {\n padding-top: 12px;\n padding-bottom: 0;\n .ant-page-header-heading-left {\n /* margin: 0; */\n }\n .ant-page-header-footer {\n margin-top: 0;\n }\n }\n"])));
55
+ var height0 = (0, _css.css)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n font-size: 0;\n height: 0;\n"])));
53
56
  var Page = function Page(props) {
54
57
  var _fieldSchema$xCompon, _fieldSchema$xCompon2, _fieldSchema$xCompon3;
55
58
  var children = props.children,
@@ -99,6 +102,7 @@ var Page = function Page(props) {
99
102
  var handleErrors = function handleErrors(error) {
100
103
  console.error(error);
101
104
  };
105
+ var pageHeaderTitle = hidePageTitle ? undefined : fieldSchema.title || compile(title);
102
106
  return /*#__PURE__*/_react2.default.createElement(_FilterProvider.FilterBlockProvider, null, /*#__PURE__*/_react2.default.createElement("div", {
103
107
  className: pageDesignerCss
104
108
  }, /*#__PURE__*/_react2.default.createElement(_PageTabDesigner.PageDesigner, {
@@ -107,10 +111,11 @@ var Page = function Page(props) {
107
111
  ref: function ref(_ref) {
108
112
  setHeight(Math.floor((_ref === null || _ref === void 0 ? void 0 : _ref.getBoundingClientRect().height) || 0) + 1);
109
113
  }
110
- }, !disablePageHeader && /*#__PURE__*/_react2.default.createElement(_antd2.PageHeader, _objectSpread(_objectSpread({
111
- className: (0, _css.css)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n &.has-footer {\n padding-top: 12px;\n .ant-page-header-heading-left {\n /* margin: 0; */\n }\n .ant-page-header-footer {\n margin-top: 0;\n }\n }\n "]))),
114
+ }, !disablePageHeader && /*#__PURE__*/_react2.default.createElement(_proLayout.PageHeader, _objectSpread(_objectSpread({
115
+ className: (0, _classnames.default)(pageHeaderCss, pageHeaderTitle || enablePageTabs ? '' : height0),
112
116
  ghost: false,
113
- title: hidePageTitle ? undefined : fieldSchema.title || compile(title)
117
+ // 如果标题为空的时候会导致 PageHeader 不渲染,所以这里设置一个空白字符,然后再设置高度为 0
118
+ title: pageHeaderTitle || ' '
114
119
  }, others), {}, {
115
120
  footer: enablePageTabs && /*#__PURE__*/_react2.default.createElement(_common.DndContext, null, /*#__PURE__*/_react2.default.createElement(_antd2.Tabs, {
116
121
  size: 'small',
@@ -125,7 +130,7 @@ var Page = function Page(props) {
125
130
  },
126
131
  tabBarExtraContent: dn.designable && /*#__PURE__*/_react2.default.createElement(_antd2.Button, {
127
132
  icon: /*#__PURE__*/_react2.default.createElement(_icons.PlusOutlined, null),
128
- className: (0, _css.css)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n border-color: rgb(241, 139, 98) !important;\n color: rgb(241, 139, 98) !important;\n "]))),
133
+ className: (0, _css.css)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n border-color: rgb(241, 139, 98) !important;\n color: rgb(241, 139, 98) !important;\n "]))),
129
134
  type: 'dashed',
130
135
  onClick: function () {
131
136
  var _onClick = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
@@ -182,24 +187,25 @@ var Page = function Page(props) {
182
187
  }
183
188
  return onClick;
184
189
  }()
185
- }, t('Add tab'))
186
- }, fieldSchema.mapProperties(function (schema) {
187
- return /*#__PURE__*/_react2.default.createElement(_antd2.Tabs.TabPane, {
188
- tab: /*#__PURE__*/_react2.default.createElement(_sortableItem.SortableItem, {
189
- id: schema.name,
190
- schema: schema,
191
- className: (0, _classnames.default)('nb-action-link', designerCss, props.className)
192
- }, schema['x-icon'] && /*#__PURE__*/_react2.default.createElement(_icon.Icon, {
193
- style: {
194
- marginRight: 8
195
- },
196
- type: schema['x-icon']
197
- }), /*#__PURE__*/_react2.default.createElement("span", null, schema.title || t('Unnamed')), /*#__PURE__*/_react2.default.createElement(_PageTabDesigner.PageTabDesigner, {
198
- schema: schema
199
- })),
200
- key: schema.name
201
- });
202
- })))
190
+ }, t('Add tab')),
191
+ items: fieldSchema.mapProperties(function (schema) {
192
+ return {
193
+ label: /*#__PURE__*/_react2.default.createElement(_sortableItem.SortableItem, {
194
+ id: schema.name,
195
+ schema: schema,
196
+ className: (0, _classnames.default)('nb-action-link', designerCss, props.className)
197
+ }, schema['x-icon'] && /*#__PURE__*/_react2.default.createElement(_icon.Icon, {
198
+ style: {
199
+ marginRight: 8
200
+ },
201
+ type: schema['x-icon']
202
+ }), /*#__PURE__*/_react2.default.createElement("span", null, schema.title || t('Unnamed')), /*#__PURE__*/_react2.default.createElement(_PageTabDesigner.PageTabDesigner, {
203
+ schema: schema
204
+ })),
205
+ key: schema.name
206
+ };
207
+ })
208
+ }))
203
209
  }))), /*#__PURE__*/_react2.default.createElement("div", {
204
210
  className: "nb-page-wrapper",
205
211
  style: {
@@ -8,14 +8,18 @@ exports.default = exports.RemoteSelect = void 0;
8
8
  var _icons = require("@ant-design/icons");
9
9
  var _react = require("@formily/react");
10
10
  var _antd = require("antd");
11
+ var _flat = _interopRequireDefault(require("flat"));
11
12
  var _lodash = require("lodash");
12
13
  var _moment = _interopRequireDefault(require("moment"));
13
14
  var _react2 = _interopRequireWildcard(require("react"));
14
15
  var _apiClient = require("../../../api-client");
16
+ var _BlockProvider = require("../../../block-provider/BlockProvider");
15
17
  var _SharedFilterProvider = require("../../../block-provider/SharedFilterProvider");
16
18
  var _collectionManager = require("../../../collection-manager");
19
+ var _uitls = require("../../common/utils/uitls");
17
20
  var _select = require("../select");
18
21
  var _ReadPretty = require("./ReadPretty");
22
+ var _utils = require("./utils");
19
23
  var _excluded = ["fieldNames", "service", "wait", "value", "objectValue", "manual", "mapOptions", "targetField", "CustomDropdownRender"];
20
24
  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); }
21
25
  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; }
@@ -57,10 +61,12 @@ var InternalRemoteSelect = (0, _react.connect)(function (props) {
57
61
  _useState2 = _slicedToArray(_useState, 2),
58
62
  open = _useState2[0],
59
63
  setOpen = _useState2[1];
64
+ var form = (0, _react.useForm)();
60
65
  var firstRun = (0, _react2.useRef)(false);
61
66
  var fieldSchema = (0, _react.useFieldSchema)();
62
67
  var isQuickAdd = ((_fieldSchema$xCompon = fieldSchema['x-component-props']) === null || _fieldSchema$xCompon === void 0 ? void 0 : _fieldSchema$xCompon.addMode) === 'quickAdd';
63
68
  var field = (0, _react.useField)();
69
+ var ctx = (0, _BlockProvider.useBlockRequestContext)();
64
70
  var _useCollection = (0, _collectionManager.useCollection)(),
65
71
  getField = _useCollection.getField;
66
72
  var searchData = (0, _react2.useRef)(null);
@@ -126,15 +132,60 @@ var InternalRemoteSelect = (0, _react.connect)(function (props) {
126
132
  return options;
127
133
  }
128
134
  }, [targetField === null || targetField === void 0 ? void 0 : targetField.uiSchema, fieldNames]);
135
+ var parseFilter = function parseFilter(rules) {
136
+ if (!rules) {
137
+ return undefined;
138
+ }
139
+ var type = Object.keys(rules)[0] || '$and';
140
+ var conditions = rules[type];
141
+ var results = [];
142
+ conditions === null || conditions === void 0 ? void 0 : conditions.forEach(function (c) {
143
+ var _jsonlogic$value, _jsonlogic$value$matc;
144
+ var jsonlogic = (0, _uitls.getInnermostKeyAndValue)(c);
145
+ var regex = /{{(.*?)}}/;
146
+ var matches = (_jsonlogic$value = jsonlogic.value) === null || _jsonlogic$value === void 0 ? void 0 : (_jsonlogic$value$matc = _jsonlogic$value.match) === null || _jsonlogic$value$matc === void 0 ? void 0 : _jsonlogic$value$matc.call(_jsonlogic$value, regex);
147
+ if (!matches || !matches[1].includes('$form') && !matches[1].includes('$iteration')) {
148
+ results.push(c);
149
+ return;
150
+ }
151
+ var associationfield = (0, _utils.extractFilterfield)(matches[1]);
152
+ var filterCollectionField = getCollectionJoinField("".concat(ctx.props.collection, ".").concat(associationfield));
153
+ if (['o2m', 'm2m'].includes(filterCollectionField === null || filterCollectionField === void 0 ? void 0 : filterCollectionField.interface)) {
154
+ // 对多子表单
155
+ var pattern = (0, _utils.generatePattern)(matches === null || matches === void 0 ? void 0 : matches[1], associationfield);
156
+ var parseValue = (0, _utils.extractValuesByPattern)((0, _flat.default)(form.values), pattern);
157
+ var filters = parseValue.map(function (v) {
158
+ return JSON.parse(JSON.stringify(c).replace(jsonlogic.value, v));
159
+ });
160
+ results.push({
161
+ $or: filters
162
+ });
163
+ } else {
164
+ var variablesCtx = {
165
+ $form: form.values,
166
+ $iteration: form.values
167
+ };
168
+ var str = matches === null || matches === void 0 ? void 0 : matches[1];
169
+ if (str.includes('$iteration')) {
170
+ var path = field.path.segments.concat([]);
171
+ path.pop();
172
+ str = str.replace('$iteration.', "$iteration.".concat(path.join('.'), "."));
173
+ }
174
+ var _parseValue = (0, _utils.parseVariables)(str, variablesCtx);
175
+ var filterObj = JSON.parse(JSON.stringify(c).replace(jsonlogic.value, str.endsWith('id') ? _parseValue !== null && _parseValue !== void 0 ? _parseValue : 0 : _parseValue));
176
+ results.push(filterObj);
177
+ }
178
+ });
179
+ return _defineProperty({}, type, results);
180
+ };
129
181
  var _useRequest = (0, _apiClient.useRequest)(_objectSpread(_objectSpread({
130
182
  action: 'list'
131
183
  }, service), {}, {
132
184
  params: _objectSpread(_objectSpread({
133
185
  pageSize: 200
134
186
  }, service === null || service === void 0 ? void 0 : service.params), {}, {
135
- // fields: [fieldNames.label, fieldNames.value, ...(service?.params?.fields || [])],
136
187
  // search needs
137
- filter: (0, _SharedFilterProvider.mergeFilter)([((_field$componentProps = field.componentProps) === null || _field$componentProps === void 0 ? void 0 : (_field$componentProps2 = _field$componentProps.service) === null || _field$componentProps2 === void 0 ? void 0 : (_field$componentProps3 = _field$componentProps2.params) === null || _field$componentProps3 === void 0 ? void 0 : _field$componentProps3.filter) || (service === null || service === void 0 ? void 0 : (_service$params = service.params) === null || _service$params === void 0 ? void 0 : _service$params.filter)])
188
+ filter: (0, _SharedFilterProvider.mergeFilter)([parseFilter((_field$componentProps = field.componentProps) === null || _field$componentProps === void 0 ? void 0 : (_field$componentProps2 = _field$componentProps.service) === null || _field$componentProps2 === void 0 ? void 0 : (_field$componentProps3 = _field$componentProps2.params) === null || _field$componentProps3 === void 0 ? void 0 : _field$componentProps3.filter) || (service === null || service === void 0 ? void 0 : (_service$params = service.params) === null || _service$params === void 0 ? void 0 : _service$params.filter)])
138
189
  })
139
190
  }), {
140
191
  manual: manual,
@@ -168,7 +219,7 @@ var InternalRemoteSelect = (0, _react.connect)(function (props) {
168
219
  }
169
220
  }, [runDep]);
170
221
  var onSearch = /*#__PURE__*/function () {
171
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(search) {
222
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(search) {
172
223
  var _field$componentProps4, _field$componentProps5, _field$componentProps6, _service$params2;
173
224
  return _regeneratorRuntime().wrap(function _callee$(_context) {
174
225
  while (1) switch (_context.prev = _context.next) {
@@ -184,7 +235,7 @@ var InternalRemoteSelect = (0, _react.connect)(function (props) {
184
235
  }, _callee);
185
236
  }));
186
237
  return function onSearch(_x2) {
187
- return _ref.apply(this, arguments);
238
+ return _ref2.apply(this, arguments);
188
239
  };
189
240
  }();
190
241
  var options = (0, _react2.useMemo)(function () {
@@ -198,9 +249,6 @@ var InternalRemoteSelect = (0, _react.connect)(function (props) {
198
249
  var onDropdownVisibleChange = function onDropdownVisibleChange(visible) {
199
250
  setOpen(visible);
200
251
  searchData.current = null;
201
- if (firstRun.current && (data === null || data === void 0 ? void 0 : data.data.length) > 0) {
202
- return;
203
- }
204
252
  run();
205
253
  firstRun.current = true;
206
254
  };
@@ -0,0 +1,4 @@
1
+ export declare const parseVariables: (str: string, ctx: any) => any;
2
+ export declare function extractFilterfield(str: any): any;
3
+ export declare function extractValuesByPattern(obj: any, pattern: any): any[];
4
+ export declare function generatePattern(str: any, fieldName: any): any;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.extractFilterfield = extractFilterfield;
7
+ exports.extractValuesByPattern = extractValuesByPattern;
8
+ exports.generatePattern = generatePattern;
9
+ exports.parseVariables = void 0;
10
+ var _lodash = require("lodash");
11
+ var parseVariables = function parseVariables(str, ctx) {
12
+ if (str) {
13
+ var result = (0, _lodash.get)(ctx, str);
14
+ return (0, _lodash.isFunction)(result) ? result() : result;
15
+ } else {
16
+ return str;
17
+ }
18
+ };
19
+ exports.parseVariables = parseVariables;
20
+ function extractFilterfield(str) {
21
+ var match = str.match(/^\$form\.([^.[\]]+)/);
22
+ if (match) {
23
+ return match[1];
24
+ }
25
+ return null;
26
+ }
27
+ function extractValuesByPattern(obj, pattern) {
28
+ var regexPattern = new RegExp(pattern.replace(/\*/g, '\\d+'));
29
+ var result = [];
30
+ for (var key in obj) {
31
+ if (regexPattern.test(key)) {
32
+ var value = obj[key];
33
+ result.push(value);
34
+ }
35
+ }
36
+ return result;
37
+ }
38
+ function generatePattern(str, fieldName) {
39
+ var result = str.replace("$form.".concat(fieldName, "."), "".concat(fieldName, ".*."));
40
+ return result;
41
+ }
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
@@ -7,12 +8,26 @@ exports.FilterDynamicComponent = FilterDynamicComponent;
7
8
  var _react = _interopRequireDefault(require("react"));
8
9
  var _useVariableOptions = require("../../../schema-settings/VariableInput/hooks/useVariableOptions");
9
10
  var _variable = require("../variable");
11
+ var _excluded = ["value", "onChange", "renderSchemaComponent", "form", "collectionField"];
10
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ 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; }
14
+ 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; }
15
+ 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; }
16
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
17
+ 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); }
18
+ 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; }
19
+ 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; }
11
20
  function FilterDynamicComponent(props) {
12
21
  var value = props.value,
13
22
  onChange = props.onChange,
14
- renderSchemaComponent = props.renderSchemaComponent;
15
- var options = (0, _useVariableOptions.useVariableOptions)();
23
+ renderSchemaComponent = props.renderSchemaComponent,
24
+ form = props.form,
25
+ collectionField = props.collectionField,
26
+ other = _objectWithoutProperties(props, _excluded);
27
+ var options = (0, _useVariableOptions.useVariableOptions)(_objectSpread({
28
+ form: form,
29
+ collectionField: collectionField
30
+ }, other));
16
31
  return /*#__PURE__*/_react.default.createElement(_variable.Variable.Input, {
17
32
  value: value,
18
33
  onChange: onChange,
@@ -6,11 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.TableColumnDesigner = void 0;
7
7
  var _react = require("@formily/react");
8
8
  var _react2 = _interopRequireDefault(require("react"));
9
+ var _lodash = require("lodash");
9
10
  var _reactI18next = require("react-i18next");
10
11
  var _collectionManager = require("../../../collection-manager");
11
12
  var _schemaSettings = require("../../../schema-settings");
12
13
  var _hooks = require("../../hooks");
13
14
  var _hooks2 = require("../association-field/hooks");
15
+ var _FilterDynamicComponent = require("./FilterDynamicComponent");
16
+ var _filter = require("../filter");
14
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
18
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
16
19
  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; }
@@ -39,7 +42,7 @@ var useLabelFields = function useLabelFields(collectionName) {
39
42
  });
40
43
  };
41
44
  var TableColumnDesigner = function TableColumnDesigner(props) {
42
- var _fieldSchema$xCompon, _uiSchema$xComponent, _collectionField$targ, _collectionField$uiSc, _columnSchema$xCompo, _fieldSchema$xCompon2;
45
+ var _fieldSchema$xCompon, _uiSchema$xComponent, _collectionField$targ, _fieldSchema$xCompon2, _fieldSchema$xCompon3, _fieldSchema$xCompon4, _collectionField$uiSc, _columnSchema$xCompo, _fieldSchema$xCompon5;
43
46
  var uiSchema = props.uiSchema,
44
47
  fieldSchema = props.fieldSchema,
45
48
  collectionField = props.collectionField;
@@ -61,6 +64,8 @@ var TableColumnDesigner = function TableColumnDesigner(props) {
61
64
  var _useAssociationFieldC = (0, _hooks2.useAssociationFieldContext)(),
62
65
  currentMode = _useAssociationFieldC.currentMode,
63
66
  tableField = _useAssociationFieldC.field;
67
+ var defaultFilter = (fieldSchema === null || fieldSchema === void 0 ? void 0 : (_fieldSchema$xCompon2 = fieldSchema['x-component-props']) === null || _fieldSchema$xCompon2 === void 0 ? void 0 : (_fieldSchema$xCompon3 = _fieldSchema$xCompon2.service) === null || _fieldSchema$xCompon3 === void 0 ? void 0 : (_fieldSchema$xCompon4 = _fieldSchema$xCompon3.params) === null || _fieldSchema$xCompon4 === void 0 ? void 0 : _fieldSchema$xCompon4.filter) || {};
68
+ var dataSource = (0, _collectionManager.useCollectionFilterOptions)(collectionField === null || collectionField === void 0 ? void 0 : collectionField.target);
64
69
  var readOnlyMode = 'editable';
65
70
  if (fieldSchema['x-disabled'] === true) {
66
71
  readOnlyMode = 'readonly';
@@ -100,6 +105,40 @@ var TableColumnDesigner = function TableColumnDesigner(props) {
100
105
  }
101
106
  dn.refresh();
102
107
  }
108
+ }), currentMode && !field.readPretty && /*#__PURE__*/_react2.default.createElement(_schemaSettings.SchemaSettings.ModalItem, {
109
+ title: t('Set the data scope'),
110
+ schema: {
111
+ type: 'object',
112
+ title: t('Set the data scope'),
113
+ properties: {
114
+ filter: {
115
+ default: defaultFilter,
116
+ enum: dataSource,
117
+ 'x-component': 'Filter',
118
+ 'x-component-props': {
119
+ dynamicComponent: function dynamicComponent(props) {
120
+ return (0, _FilterDynamicComponent.FilterDynamicComponent)(_objectSpread({}, props));
121
+ }
122
+ }
123
+ }
124
+ }
125
+ },
126
+ onSubmit: function onSubmit(_ref2) {
127
+ var _field$path, _field$path2, _schema;
128
+ var filter = _ref2.filter;
129
+ filter = (0, _filter.removeNullCondition)(filter);
130
+ (0, _lodash.set)(field.componentProps, 'service.params.filter', filter);
131
+ fieldSchema['x-component-props'] = field.componentProps;
132
+ var path = (_field$path = field.path) === null || _field$path === void 0 ? void 0 : _field$path.splice(((_field$path2 = field.path) === null || _field$path2 === void 0 ? void 0 : _field$path2.length) - 1, 1);
133
+ tableField === null || tableField === void 0 ? void 0 : tableField.value.map(function (_, index) {
134
+ field.form.query("".concat(path.concat("".concat(index, ".") + fieldSchema.name))).take(function (f) {
135
+ (0, _lodash.set)(f.componentProps, 'service.params.filter', filter);
136
+ });
137
+ });
138
+ dn.emit('patch', {
139
+ schema: (_schema = {}, _defineProperty(_schema, 'x-uid', fieldSchema['x-uid']), _defineProperty(_schema, 'x-component-props', field.componentProps), _schema)
140
+ });
141
+ }
103
142
  }), /*#__PURE__*/_react2.default.createElement(_schemaSettings.SchemaSettings.ModalItem, {
104
143
  title: t('Column width'),
105
144
  schema: {
@@ -114,8 +153,8 @@ var TableColumnDesigner = function TableColumnDesigner(props) {
114
153
  }
115
154
  }
116
155
  },
117
- onSubmit: function onSubmit(_ref2) {
118
- var width = _ref2.width;
156
+ onSubmit: function onSubmit(_ref3) {
157
+ var width = _ref3.width;
119
158
  var props = columnSchema['x-component-props'] || {};
120
159
  props['width'] = width;
121
160
  var schema = _defineProperty({}, 'x-uid', columnSchema['x-uid']);
@@ -144,7 +183,7 @@ var TableColumnDesigner = function TableColumnDesigner(props) {
144
183
  }
145
184
  }), ['linkTo', 'm2m', 'm2o', 'o2m', 'obo', 'oho', 'snapshot', 'createdBy', 'updatedBy'].includes(collectionField === null || collectionField === void 0 ? void 0 : collectionField.interface) && !isFileField && readOnlyMode === 'read-pretty' && /*#__PURE__*/_react2.default.createElement(_schemaSettings.SchemaSettings.SwitchItem, {
146
185
  title: t('Enable link'),
147
- checked: ((_fieldSchema$xCompon2 = fieldSchema['x-component-props']) === null || _fieldSchema$xCompon2 === void 0 ? void 0 : _fieldSchema$xCompon2.enableLink) !== false,
186
+ checked: ((_fieldSchema$xCompon5 = fieldSchema['x-component-props']) === null || _fieldSchema$xCompon5 === void 0 ? void 0 : _fieldSchema$xCompon5.enableLink) !== false,
148
187
  onChange: function onChange(flag) {
149
188
  fieldSchema['x-component-props'] = _objectSpread(_objectSpread({}, fieldSchema === null || fieldSchema === void 0 ? void 0 : fieldSchema['x-component-props']), {}, {
150
189
  enableLink: flag
@@ -165,8 +204,8 @@ var TableColumnDesigner = function TableColumnDesigner(props) {
165
204
  options: options,
166
205
  value: fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames['label'],
167
206
  onChange: function onChange(label) {
168
- var _collectionField$uiSc2, _fieldSchema$xCompon3;
169
- var fieldNames = _objectSpread(_objectSpread(_objectSpread({}, collectionField === null || collectionField === void 0 ? void 0 : (_collectionField$uiSc2 = collectionField.uiSchema) === null || _collectionField$uiSc2 === void 0 ? void 0 : _collectionField$uiSc2['x-component-props']['fieldNames']), fieldSchema === null || fieldSchema === void 0 ? void 0 : (_fieldSchema$xCompon3 = fieldSchema['x-component-props']) === null || _fieldSchema$xCompon3 === void 0 ? void 0 : _fieldSchema$xCompon3['fieldNames']), {}, {
207
+ var _collectionField$uiSc2, _fieldSchema$xCompon6;
208
+ var fieldNames = _objectSpread(_objectSpread(_objectSpread({}, collectionField === null || collectionField === void 0 ? void 0 : (_collectionField$uiSc2 = collectionField.uiSchema) === null || _collectionField$uiSc2 === void 0 ? void 0 : _collectionField$uiSc2['x-component-props']['fieldNames']), fieldSchema === null || fieldSchema === void 0 ? void 0 : (_fieldSchema$xCompon6 = fieldSchema['x-component-props']) === null || _fieldSchema$xCompon6 === void 0 ? void 0 : _fieldSchema$xCompon6['fieldNames']), {}, {
170
209
  label: label
171
210
  });
172
211
  fieldSchema['x-component-props']['fieldNames'] = fieldNames;
@@ -186,11 +225,11 @@ var TableColumnDesigner = function TableColumnDesigner(props) {
186
225
  title: t('Required'),
187
226
  checked: fieldSchema.required,
188
227
  onChange: function onChange(required) {
189
- var _field$path, _field$path2;
228
+ var _field$path3, _field$path4;
190
229
  var schema = _defineProperty({}, 'x-uid', fieldSchema['x-uid']);
191
230
  fieldSchema['required'] = required;
192
231
  schema['required'] = required;
193
- var path = (_field$path = field.path) === null || _field$path === void 0 ? void 0 : _field$path.splice(((_field$path2 = field.path) === null || _field$path2 === void 0 ? void 0 : _field$path2.length) - 1, 1);
232
+ var path = (_field$path3 = field.path) === null || _field$path3 === void 0 ? void 0 : _field$path3.splice(((_field$path4 = field.path) === null || _field$path4 === void 0 ? void 0 : _field$path4.length) - 1, 1);
194
233
  tableField === null || tableField === void 0 ? void 0 : tableField.value.map(function (_, index) {
195
234
  field.form.query("".concat(path.concat("".concat(index, ".") + fieldSchema.name))).take(function (f) {
196
235
  f.required = required;
@@ -216,9 +255,9 @@ var TableColumnDesigner = function TableColumnDesigner(props) {
216
255
  }],
217
256
  value: readOnlyMode,
218
257
  onChange: function onChange(v) {
219
- var _field$path3, _field$path4;
258
+ var _field$path5, _field$path6;
220
259
  var schema = _defineProperty({}, 'x-uid', fieldSchema['x-uid']);
221
- var path = (_field$path3 = field.path) === null || _field$path3 === void 0 ? void 0 : _field$path3.splice(((_field$path4 = field.path) === null || _field$path4 === void 0 ? void 0 : _field$path4.length) - 1, 1);
260
+ var path = (_field$path5 = field.path) === null || _field$path5 === void 0 ? void 0 : _field$path5.splice(((_field$path6 = field.path) === null || _field$path6 === void 0 ? void 0 : _field$path6.length) - 1, 1);
222
261
  switch (v) {
223
262
  case 'readonly':
224
263
  {
@@ -268,7 +307,7 @@ var TableColumnDesigner = function TableColumnDesigner(props) {
268
307
  dn.refresh();
269
308
  }
270
309
  }), /*#__PURE__*/_react2.default.createElement(_schemaSettings.SchemaSettings.Divider, null), /*#__PURE__*/_react2.default.createElement(_schemaSettings.SchemaSettings.Remove, {
271
- removeParentsIfNoChildren: true,
310
+ removeParentsIfNoChildren: !isSubTableColumn,
272
311
  breakRemoveOn: {
273
312
  'x-component': 'Grid'
274
313
  },
@@ -279,7 +279,7 @@ var Table = (0, _react.observer)(function (props) {
279
279
  }
280
280
  };
281
281
  };
282
- highlightRow = (0, _css.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n & > td {\n background-color: #caedff !important;\n }\n &:hover > td {\n background-color: #caedff !important;\n }\n "])));
282
+ highlightRow = (0, _css.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n & > td {\n background-color: #caedff !important;\n }\n &:hover > td {\n background-color: #caedff !important;\n }\n "])));
283
283
  }
284
284
  // useEffect(() => {
285
285
  // field.setValidator((value) => {
@@ -311,7 +311,7 @@ var Table = (0, _react.observer)(function (props) {
311
311
  },
312
312
  cell: function cell(props) {
313
313
  return /*#__PURE__*/_react2.default.createElement("th", _objectSpread(_objectSpread({}, props), {}, {
314
- className: (0, _classnames.default)(props.className, (0, _css.css)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n max-width: 300px;\n white-space: nowrap;\n &:hover .general-schema-designer {\n display: block;\n }\n "]))))
314
+ className: (0, _classnames.default)(props.className, (0, _css.css)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n max-width: 300px;\n white-space: nowrap;\n &:hover .general-schema-designer {\n display: block;\n }\n "]))))
315
315
  }));
316
316
  }
317
317
  },
@@ -343,7 +343,7 @@ var Table = (0, _react.observer)(function (props) {
343
343
  },
344
344
  cell: function cell(props) {
345
345
  return /*#__PURE__*/_react2.default.createElement("td", _objectSpread(_objectSpread({}, props), {}, {
346
- className: (0, _classnames.default)(props.className, (0, _css.css)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n max-width: 300px;\n white-space: nowrap;\n .nb-read-pretty-input-number {\n text-align: right;\n }\n "]))))
346
+ className: (0, _classnames.default)(props.className, (0, _css.css)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n max-width: 300px;\n white-space: nowrap;\n .nb-read-pretty-input-number {\n text-align: right;\n }\n "]))))
347
347
  }));
348
348
  }
349
349
  }
@@ -388,15 +388,15 @@ var Table = (0, _react.observer)(function (props) {
388
388
  index = (0, _utils.extractIndex)(record.__index);
389
389
  }
390
390
  return /*#__PURE__*/_react2.default.createElement("div", {
391
- className: (0, _classnames.default)(checked ? 'checked' : null, (0, _css.css)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n position: relative;\n display: flex;\n float: left;\n align-items: center;\n justify-content: space-evenly;\n padding-right: 8px;\n .nb-table-index {\n opacity: 0;\n }\n &:not(.checked) {\n .nb-table-index {\n opacity: 1;\n }\n }\n "]))), _defineProperty({}, (0, _css.css)(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n &:hover {\n .nb-table-index {\n opacity: 0;\n }\n .nb-origin-node {\n display: block;\n }\n }\n "]))), isRowSelect))
391
+ className: (0, _classnames.default)(checked ? 'checked' : null, (0, _css.css)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n position: relative;\n display: flex;\n float: left;\n align-items: center;\n justify-content: space-evenly;\n padding-right: 8px;\n .nb-table-index {\n opacity: 0;\n }\n &:not(.checked) {\n .nb-table-index {\n opacity: 1;\n }\n }\n "]))), _defineProperty({}, (0, _css.css)(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n &:hover {\n .nb-table-index {\n opacity: 0;\n }\n .nb-origin-node {\n display: block;\n }\n }\n "]))), isRowSelect))
392
392
  }, /*#__PURE__*/_react2.default.createElement("div", {
393
- className: (0, _classnames.default)(checked ? 'checked' : null, (0, _css.css)(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-evenly;\n "]))))
393
+ className: (0, _classnames.default)(checked ? 'checked' : null, (0, _css.css)(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-evenly;\n "]))))
394
394
  }, dragSort && /*#__PURE__*/_react2.default.createElement(SortHandle, {
395
395
  id: getRowKey(record)
396
396
  }), showIndex && /*#__PURE__*/_react2.default.createElement(TableIndex, {
397
397
  index: index
398
398
  })), isRowSelect && /*#__PURE__*/_react2.default.createElement("div", {
399
- className: (0, _classnames.default)('nb-origin-node', checked ? 'checked' : null, (0, _css.css)(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n position: absolute;\n right: 50%;\n transform: translateX(50%);\n &:not(.checked) {\n display: none;\n }\n "]))))
399
+ className: (0, _classnames.default)('nb-origin-node', checked ? 'checked' : null, (0, _css.css)(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n position: absolute;\n right: 50%;\n transform: translateX(50%);\n &:not(.checked) {\n display: none;\n }\n "]))))
400
400
  }, originNode));
401
401
  }
402
402
  }, rowSelection) : undefined
@@ -425,7 +425,7 @@ var Table = (0, _react.observer)(function (props) {
425
425
  };
426
426
  }, [fixedBlock, tableHeight]);
427
427
  return /*#__PURE__*/_react2.default.createElement("div", {
428
- className: (0, _css.css)(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n height: 100%;\n overflow: hidden;\n .ant-table-wrapper {\n height: 100%;\n .ant-spin-nested-loading {\n height: 100%;\n .ant-spin-container {\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n }\n }\n .ant-table {\n overflow-x: auto;\n overflow-y: hidden;\n }\n "])))
428
+ className: (0, _css.css)(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n height: 100%;\n overflow: hidden;\n .ant-table-wrapper {\n height: 100%;\n .ant-spin-nested-loading {\n height: 100%;\n .ant-spin-container {\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n }\n }\n .ant-table {\n overflow-x: auto;\n overflow-y: hidden;\n }\n "])))
429
429
  }, /*#__PURE__*/_react2.default.createElement(SortableWrapper, null, /*#__PURE__*/_react2.default.createElement(_antd.Table, _objectSpread(_objectSpread(_objectSpread({
430
430
  ref: tableSizeRefCallback,
431
431
  rowKey: rowKey !== null && rowKey !== void 0 ? rowKey : defaultRowKey,
@@ -460,5 +460,7 @@ var Table = (0, _react.observer)(function (props) {
460
460
  return /*#__PURE__*/_react2.default.createElement("div", null, message);
461
461
  });
462
462
  })));
463
+ }, {
464
+ displayName: 'Table'
463
465
  });
464
466
  exports.Table = Table;
@@ -12,6 +12,7 @@ var _react2 = _interopRequireWildcard(require("react"));
12
12
  var _icon = require("../../../icon");
13
13
  var _schemaInitializer = require("../../../schema-initializer");
14
14
  var _common = require("../../common");
15
+ var _hooks = require("../../hooks");
15
16
  var _useDesigner = require("../../hooks/useDesigner");
16
17
  var _context = require("./context");
17
18
  var _Tabs = require("./Tabs.Designer");
@@ -30,31 +31,43 @@ var Tabs = (0, _react.observer)(function (props) {
30
31
  var fieldSchema = (0, _react.useFieldSchema)();
31
32
  var _useSchemaInitializer = (0, _schemaInitializer.useSchemaInitializer)(fieldSchema['x-initializer']),
32
33
  render = _useSchemaInitializer.render;
34
+ var _useDesignable = (0, _hooks.useDesignable)(),
35
+ designable = _useDesignable.designable;
33
36
  var contextProps = (0, _context.useTabsContext)();
34
- var PaneProvider = (0, _react2.useMemo)(function () {
35
- if (contextProps.deep === false) {
36
- return _context.TabsContextProvider;
37
+ var _contextProps$PaneRoo = contextProps.PaneRoot,
38
+ PaneRoot = _contextProps$PaneRoo === void 0 ? _react2.default.Fragment : _contextProps$PaneRoo;
39
+ var items = (0, _react2.useMemo)(function () {
40
+ var result = fieldSchema.mapProperties(function (schema, key) {
41
+ return {
42
+ key: key,
43
+ label: /*#__PURE__*/_react2.default.createElement(_react.RecursionField, {
44
+ name: key,
45
+ schema: schema,
46
+ onlyRenderSelf: true
47
+ }),
48
+ children: /*#__PURE__*/_react2.default.createElement(PaneRoot, {
49
+ active: key === contextProps.activeKey
50
+ }, /*#__PURE__*/_react2.default.createElement(_react.RecursionField, {
51
+ name: key,
52
+ schema: schema,
53
+ onlyRenderProperties: true
54
+ }))
55
+ };
56
+ });
57
+ if (designable) {
58
+ result.push({
59
+ key: 'designer',
60
+ label: render(),
61
+ children: null
62
+ });
37
63
  }
38
- return _react2.default.Fragment;
39
- }, [contextProps.deep]);
64
+ return result;
65
+ }, [fieldSchema.mapProperties(function (s, key) {
66
+ return key;
67
+ }).join()]);
40
68
  return /*#__PURE__*/_react2.default.createElement(_common.DndContext, null, /*#__PURE__*/_react2.default.createElement(_antd.Tabs, _objectSpread(_objectSpread({}, contextProps), {}, {
41
69
  style: props.style,
42
- tabBarExtraContent: {
43
- right: render()
44
- }
45
- }), fieldSchema.mapProperties(function (schema, key) {
46
- return /*#__PURE__*/_react2.default.createElement(_antd.Tabs.TabPane, {
47
- tab: /*#__PURE__*/_react2.default.createElement(_react.RecursionField, {
48
- name: key,
49
- schema: schema,
50
- onlyRenderSelf: true
51
- }),
52
- key: key
53
- }, /*#__PURE__*/_react2.default.createElement(PaneProvider, null, /*#__PURE__*/_react2.default.createElement(_react.RecursionField, {
54
- name: key,
55
- schema: schema,
56
- onlyRenderProperties: true
57
- })));
70
+ items: items
58
71
  })));
59
72
  }, {
60
73
  displayName: 'Tabs'
@@ -1,7 +1,7 @@
1
1
  import { TabsProps } from 'antd';
2
2
  import React from 'react';
3
3
  interface TabsContextProps extends TabsProps {
4
- deep?: boolean;
4
+ PaneRoot?: React.FC<any>;
5
5
  }
6
6
  export declare const TabsContextProvider: React.FC<TabsContextProps>;
7
7
  export declare const useTabsContext: () => TabsContextProps;