@nocobase/client 0.7.4-alpha.1 → 0.7.4-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 (55) hide show
  1. package/es/block-provider/FormBlockProvider.js +7 -0
  2. package/es/block-provider/TableSelectorProvider.js +1 -1
  3. package/es/collection-manager/CollectionField.js +7 -2
  4. package/es/collection-manager/Configuration/AddFieldAction.js +6 -0
  5. package/es/collection-manager/Configuration/EditFieldAction.js +7 -0
  6. package/es/collection-manager/interfaces/checkbox.js +1 -0
  7. package/es/collection-manager/interfaces/checkboxGroup.js +1 -0
  8. package/es/collection-manager/interfaces/datetime.js +1 -0
  9. package/es/collection-manager/interfaces/email.js +1 -0
  10. package/es/collection-manager/interfaces/icon.js +1 -0
  11. package/es/collection-manager/interfaces/input.js +1 -0
  12. package/es/collection-manager/interfaces/integer.js +1 -0
  13. package/es/collection-manager/interfaces/markdown.js +1 -0
  14. package/es/collection-manager/interfaces/multipleSelect.js +1 -0
  15. package/es/collection-manager/interfaces/number.js +1 -0
  16. package/es/collection-manager/interfaces/password.js +1 -0
  17. package/es/collection-manager/interfaces/percent.js +1 -0
  18. package/es/collection-manager/interfaces/phone.js +1 -0
  19. package/es/collection-manager/interfaces/radioGroup.js +1 -0
  20. package/es/collection-manager/interfaces/richText.js +1 -0
  21. package/es/collection-manager/interfaces/select.js +1 -0
  22. package/es/collection-manager/interfaces/textarea.js +1 -0
  23. package/es/collection-manager/interfaces/time.js +1 -0
  24. package/es/locale/zh_CN.d.ts +2 -0
  25. package/es/locale/zh_CN.js +2 -0
  26. package/es/schema-component/antd/form-item/FormItem.js +35 -3
  27. package/es/schema-settings/SchemaSettings.js +7 -0
  28. package/lib/block-provider/FormBlockProvider.js +8 -0
  29. package/lib/block-provider/TableSelectorProvider.js +1 -1
  30. package/lib/collection-manager/CollectionField.js +7 -2
  31. package/lib/collection-manager/Configuration/AddFieldAction.js +6 -0
  32. package/lib/collection-manager/Configuration/EditFieldAction.js +7 -0
  33. package/lib/collection-manager/interfaces/checkbox.js +1 -0
  34. package/lib/collection-manager/interfaces/checkboxGroup.js +1 -0
  35. package/lib/collection-manager/interfaces/datetime.js +1 -0
  36. package/lib/collection-manager/interfaces/email.js +1 -0
  37. package/lib/collection-manager/interfaces/icon.js +1 -0
  38. package/lib/collection-manager/interfaces/input.js +1 -0
  39. package/lib/collection-manager/interfaces/integer.js +1 -0
  40. package/lib/collection-manager/interfaces/markdown.js +1 -0
  41. package/lib/collection-manager/interfaces/multipleSelect.js +1 -0
  42. package/lib/collection-manager/interfaces/number.js +1 -0
  43. package/lib/collection-manager/interfaces/password.js +1 -0
  44. package/lib/collection-manager/interfaces/percent.js +1 -0
  45. package/lib/collection-manager/interfaces/phone.js +1 -0
  46. package/lib/collection-manager/interfaces/radioGroup.js +1 -0
  47. package/lib/collection-manager/interfaces/richText.js +1 -0
  48. package/lib/collection-manager/interfaces/select.js +1 -0
  49. package/lib/collection-manager/interfaces/textarea.js +1 -0
  50. package/lib/collection-manager/interfaces/time.js +1 -0
  51. package/lib/locale/zh_CN.d.ts +2 -0
  52. package/lib/locale/zh_CN.js +2 -0
  53. package/lib/schema-component/antd/form-item/FormItem.js +35 -3
  54. package/lib/schema-settings/SchemaSettings.js +7 -0
  55. package/package.json +4 -4
@@ -8,10 +8,13 @@ import { createForm } from '@formily/core';
8
8
  import { useField } from '@formily/react';
9
9
  import { Spin } from 'antd';
10
10
  import React, { createContext, useContext, useEffect, useMemo, useRef } from 'react';
11
+ import { RecordProvider } from '../record-provider';
11
12
  import { BlockProvider, useBlockRequestContext } from './BlockProvider';
12
13
  export var FormBlockContext = /*#__PURE__*/createContext({});
13
14
 
14
15
  var InternalFormBlockProvider = function InternalFormBlockProvider(props) {
16
+ var _service$data;
17
+
15
18
  var action = props.action,
16
19
  readPretty = props.readPretty;
17
20
  var field = useField();
@@ -41,8 +44,12 @@ var InternalFormBlockProvider = function InternalFormBlockProvider(props) {
41
44
  updateAssociationValues: [],
42
45
  formBlockRef: formBlockRef
43
46
  }
47
+ }, readPretty ? /*#__PURE__*/React.createElement(RecordProvider, {
48
+ record: service === null || service === void 0 ? void 0 : (_service$data = service.data) === null || _service$data === void 0 ? void 0 : _service$data.data
44
49
  }, /*#__PURE__*/React.createElement("div", {
45
50
  ref: formBlockRef
51
+ }, props.children)) : /*#__PURE__*/React.createElement("div", {
52
+ ref: formBlockRef
46
53
  }, props.children));
47
54
  };
48
55
 
@@ -79,7 +79,7 @@ export var TableSelectorProvider = function TableSelectorProvider(props) {
79
79
  params['sort'] = ['sort'];
80
80
  }
81
81
 
82
- if (appends === null || appends === void 0 ? void 0 : appends.length) {
82
+ if (!Object.keys(params).includes('appends')) {
83
83
  params['appends'] = appends;
84
84
  }
85
85
 
@@ -19,8 +19,10 @@ var InternalField = function InternalField(props) {
19
19
  var _useCollectionField = useCollectionField(),
20
20
  name = _useCollectionField.name,
21
21
  interfaceType = _useCollectionField.interface,
22
- uiSchema = _useCollectionField.uiSchema;
22
+ uiSchema = _useCollectionField.uiSchema,
23
+ defaultValue = _useCollectionField.defaultValue;
23
24
 
25
+ var collectionField = useCollectionField();
24
26
  var component = useComponent(uiSchema === null || uiSchema === void 0 ? void 0 : uiSchema['x-component']);
25
27
  var compile = useCompile();
26
28
 
@@ -50,7 +52,10 @@ var InternalField = function InternalField(props) {
50
52
  setFieldProps('content', uiSchema['x-content']);
51
53
  setFieldProps('title', uiSchema.title);
52
54
  setFieldProps('description', uiSchema.description);
53
- setFieldProps('initialValue', uiSchema.default);
55
+
56
+ if (ctx === null || ctx === void 0 ? void 0 : ctx.form) {
57
+ setFieldProps('initialValue', fieldSchema.default || defaultValue);
58
+ }
54
59
 
55
60
  if (!field.validator && (uiSchema['x-validator'] || fieldSchema['x-validator'])) {
56
61
  var concatSchema = concat([], uiSchema['x-validator'] || [], fieldSchema['x-validator'] || []);
@@ -43,6 +43,12 @@ var getSchema = function getSchema(schema, record, compile) {
43
43
 
44
44
  var properties = cloneDeep(schema.properties);
45
45
 
46
+ if (schema.hasDefaultValue === true) {
47
+ properties['defaultValue'] = cloneDeep(schema.default.uiSchema);
48
+ properties['defaultValue']['title'] = compile('{{ t("Default value") }}');
49
+ properties['defaultValue']['x-decorator'] = 'FormItem';
50
+ }
51
+
46
52
  var initialValue = _objectSpread(_objectSpread({
47
53
  name: "f_".concat(uid())
48
54
  }, cloneDeep(schema.default)), {}, {
@@ -42,6 +42,13 @@ var getSchema = function getSchema(schema, record, compile) {
42
42
 
43
43
  var properties = cloneDeep(schema.properties);
44
44
  properties.name['x-disabled'] = true;
45
+
46
+ if (schema.hasDefaultValue === true) {
47
+ properties['defaultValue'] = cloneDeep(schema.default.uiSchema);
48
+ properties['defaultValue']['title'] = compile('{{ t("Default value") }}');
49
+ properties['defaultValue']['x-decorator'] = 'FormItem';
50
+ }
51
+
45
52
  return {
46
53
  type: 'object',
47
54
  properties: _defineProperty({}, uid(), {
@@ -19,6 +19,7 @@ export var checkbox = {
19
19
  'x-component': 'Checkbox'
20
20
  }
21
21
  },
22
+ hasDefaultValue: true,
22
23
  properties: _objectSpread({}, defaultProps),
23
24
  filterable: {
24
25
  operators: operators.boolean
@@ -21,6 +21,7 @@ export var checkboxGroup = {
21
21
  'x-component': 'Checkbox.Group'
22
22
  }
23
23
  },
24
+ hasDefaultValue: true,
24
25
  properties: _objectSpread(_objectSpread({}, defaultProps), {}, {
25
26
  'uiSchema.enum': dataSource
26
27
  }),
@@ -24,6 +24,7 @@ export var datetime = {
24
24
  }
25
25
  }
26
26
  },
27
+ hasDefaultValue: true,
27
28
  properties: _objectSpread(_objectSpread(_objectSpread({}, defaultProps), dateTimeProps), {}, {
28
29
  'uiSchema.x-component-props.gmt': {
29
30
  type: 'boolean',
@@ -22,6 +22,7 @@ export var email = {
22
22
  'x-validator': 'email'
23
23
  }
24
24
  },
25
+ hasDefaultValue: true,
25
26
  properties: _objectSpread({}, defaultProps),
26
27
  filterable: {
27
28
  operators: operators.string
@@ -20,5 +20,6 @@ export var icon = {
20
20
  'x-component': 'IconPicker'
21
21
  }
22
22
  },
23
+ hasDefaultValue: true,
23
24
  properties: _objectSpread({}, defaultProps)
24
25
  };
@@ -21,6 +21,7 @@ export var input = {
21
21
  'x-component': 'Input'
22
22
  }
23
23
  },
24
+ hasDefaultValue: true,
24
25
  properties: _objectSpread({}, defaultProps),
25
26
  filterable: {
26
27
  operators: operators.string
@@ -32,6 +32,7 @@ export var integer = {
32
32
  'x-validator': 'integer'
33
33
  }
34
34
  },
35
+ hasDefaultValue: true,
35
36
  properties: _objectSpread({}, defaultProps),
36
37
  filterable: {
37
38
  operators: operators.number
@@ -20,6 +20,7 @@ export var markdown = {
20
20
  'x-component': 'Markdown'
21
21
  }
22
22
  },
23
+ hasDefaultValue: true,
23
24
  properties: _objectSpread({}, defaultProps),
24
25
  schemaInitialize: function schemaInitialize(schema, _ref) {
25
26
  var block = _ref.block;
@@ -25,6 +25,7 @@ export var multipleSelect = {
25
25
  enum: []
26
26
  }
27
27
  },
28
+ hasDefaultValue: true,
28
29
  properties: _objectSpread(_objectSpread({}, defaultProps), {}, {
29
30
  'uiSchema.enum': dataSource
30
31
  }),
@@ -26,6 +26,7 @@ export var number = {
26
26
  }
27
27
  }
28
28
  },
29
+ hasDefaultValue: true,
29
30
  properties: _objectSpread(_objectSpread({}, defaultProps), {}, {
30
31
  'uiSchema.x-component-props.step': {
31
32
  type: 'string',
@@ -22,6 +22,7 @@ export var password = {
22
22
  'x-component': 'Password'
23
23
  }
24
24
  },
25
+ hasDefaultValue: true,
25
26
  properties: _objectSpread({}, defaultProps),
26
27
  validateSchema: function validateSchema(fieldSchema) {
27
28
  return {
@@ -69,6 +69,7 @@ export var percent = {
69
69
  }
70
70
  }
71
71
  },
72
+ hasDefaultValue: true,
72
73
  properties: _objectSpread(_objectSpread({}, defaultProps), {}, {
73
74
  'uiSchema.x-component-props.step': {
74
75
  type: 'string',
@@ -25,6 +25,7 @@ export var phone = {
25
25
 
26
26
  }
27
27
  },
28
+ hasDefaultValue: true,
28
29
  properties: _objectSpread({}, defaultProps),
29
30
  filterable: {
30
31
  operators: operators.string
@@ -21,6 +21,7 @@ export var radioGroup = {
21
21
  'x-component': 'Radio.Group'
22
22
  }
23
23
  },
24
+ hasDefaultValue: true,
24
25
  properties: _objectSpread(_objectSpread({}, defaultProps), {}, {
25
26
  'uiSchema.enum': dataSource
26
27
  }),
@@ -21,6 +21,7 @@ export var richText = {
21
21
  'x-component': 'RichText'
22
22
  }
23
23
  },
24
+ hasDefaultValue: true,
24
25
  properties: _objectSpread({}, defaultProps),
25
26
  schemaInitialize: function schemaInitialize(schema, _ref) {
26
27
  var block = _ref.block;
@@ -22,6 +22,7 @@ export var select = {
22
22
  enum: []
23
23
  }
24
24
  },
25
+ hasDefaultValue: true,
25
26
  properties: _objectSpread(_objectSpread({}, defaultProps), {}, {
26
27
  'uiSchema.enum': dataSource
27
28
  }),
@@ -21,6 +21,7 @@ export var textarea = {
21
21
  'x-component': 'Input.TextArea'
22
22
  }
23
23
  },
24
+ hasDefaultValue: true,
24
25
  properties: _objectSpread({}, defaultProps),
25
26
  schemaInitialize: function schemaInitialize(schema, _ref) {
26
27
  var block = _ref.block;
@@ -20,6 +20,7 @@ export var time = {
20
20
  'x-component': 'TimePicker'
21
21
  }
22
22
  },
23
+ hasDefaultValue: true,
23
24
  properties: _objectSpread(_objectSpread({}, defaultProps), {}, {
24
25
  'uiSchema.x-component-props.format': {
25
26
  type: 'string',
@@ -251,6 +251,8 @@ declare const _default: {
251
251
  "The field value cannot be greater than ": string;
252
252
  "The field value cannot be less than ": string;
253
253
  "The field value is not an integer number": string;
254
+ "Set default value": string;
255
+ "Default value": string;
254
256
  "is before": string;
255
257
  "is after": string;
256
258
  "is on or after": string;
@@ -251,6 +251,8 @@ export default {
251
251
  "The field value cannot be greater than ": "数值不能大于",
252
252
  "The field value cannot be less than ": "数值不能小于",
253
253
  "The field value is not an integer number": "数字不是整数",
254
+ "Set default value": "设置默认值",
255
+ "Default value": "默认值",
254
256
  "is before": "早于",
255
257
  "is after": "晚于",
256
258
  "is on or after": "不早于",
@@ -52,7 +52,7 @@ export var FormItem = function FormItem(props) {
52
52
  };
53
53
 
54
54
  FormItem.Designer = function (props) {
55
- var _interfaceConfig$vali, _collectionField$uiSc, _collectionField$uiSc2, _fieldSchema$xDecora, _fieldSchema$xCompon, _field$componentProps, _field$componentProps2;
55
+ var _interfaceConfig$vali, _collectionField$uiSc, _collectionField$uiSc2, _fieldSchema$xDecora, _collectionField$uiSc4, _fieldSchema$xCompon, _field$componentProps, _field$componentProps2;
56
56
 
57
57
  var _useCollectionManager = useCollectionManager(),
58
58
  getCollectionFields = _useCollectionManager.getCollectionFields,
@@ -364,6 +364,38 @@ FormItem.Designer = function (props) {
364
364
  });
365
365
  refresh();
366
366
  }
367
+ }), form && !(form === null || form === void 0 ? void 0 : form.readPretty) && (collectionField === null || collectionField === void 0 ? void 0 : (_collectionField$uiSc4 = collectionField.uiSchema) === null || _collectionField$uiSc4 === void 0 ? void 0 : _collectionField$uiSc4.type) && /*#__PURE__*/React.createElement(SchemaSettings.ModalItem, {
368
+ title: t('Set default value'),
369
+ components: {
370
+ ArrayCollapse: ArrayCollapse,
371
+ FormLayout: FormLayout
372
+ },
373
+ schema: {
374
+ type: 'object',
375
+ title: t('Set default value'),
376
+ properties: {
377
+ default: _objectSpread(_objectSpread({}, collectionField.uiSchema), {}, {
378
+ name: 'default',
379
+ title: t('Default value'),
380
+ 'x-decorator': 'FormItem',
381
+ default: fieldSchema.default || collectionField.defaultValue
382
+ })
383
+ }
384
+ },
385
+ onSubmit: function onSubmit(v) {
386
+ var schema = _defineProperty({}, 'x-uid', fieldSchema['x-uid']);
387
+
388
+ if (field.value !== v.default) {
389
+ field.value = v.default;
390
+ }
391
+
392
+ fieldSchema.default = v.default;
393
+ schema.default = v.default;
394
+ dn.emit('patch', {
395
+ schema: schema
396
+ });
397
+ refresh();
398
+ }
367
399
  }), form && !isSubFormAssocitionField && ['o2o', 'oho', 'obo', 'o2m'].includes(collectionField === null || collectionField === void 0 ? void 0 : collectionField.interface) && /*#__PURE__*/React.createElement(SchemaSettings.SelectItem, {
368
400
  title: t('Field component'),
369
401
  options: (collectionField === null || collectionField === void 0 ? void 0 : collectionField.interface) === 'o2m' ? [{
@@ -472,11 +504,11 @@ FormItem.Designer = function (props) {
472
504
  options: options,
473
505
  value: field === null || field === void 0 ? void 0 : (_field$componentProps = field.componentProps) === null || _field$componentProps === void 0 ? void 0 : (_field$componentProps2 = _field$componentProps.fieldNames) === null || _field$componentProps2 === void 0 ? void 0 : _field$componentProps2.label,
474
506
  onChange: function onChange(label) {
475
- var _collectionField$uiSc4, _collectionField$uiSc5;
507
+ var _collectionField$uiSc5, _collectionField$uiSc6;
476
508
 
477
509
  var schema = _defineProperty({}, 'x-uid', fieldSchema['x-uid']);
478
510
 
479
- var fieldNames = _objectSpread(_objectSpread(_objectSpread({}, collectionField === null || collectionField === void 0 ? void 0 : (_collectionField$uiSc4 = collectionField.uiSchema) === null || _collectionField$uiSc4 === void 0 ? void 0 : (_collectionField$uiSc5 = _collectionField$uiSc4['x-component-props']) === null || _collectionField$uiSc5 === void 0 ? void 0 : _collectionField$uiSc5['fieldNames']), field.componentProps.fieldNames), {}, {
511
+ var fieldNames = _objectSpread(_objectSpread(_objectSpread({}, collectionField === null || collectionField === void 0 ? void 0 : (_collectionField$uiSc5 = collectionField.uiSchema) === null || _collectionField$uiSc5 === void 0 ? void 0 : (_collectionField$uiSc6 = _collectionField$uiSc5['x-component-props']) === null || _collectionField$uiSc6 === void 0 ? void 0 : _collectionField$uiSc6['fieldNames']), field.componentProps.fieldNames), {}, {
480
512
  label: label
481
513
  });
482
514
 
@@ -540,6 +540,8 @@ SchemaSettings.Remove = function (props) {
540
540
  var _useTranslation3 = useTranslation(),
541
541
  t = _useTranslation3.t;
542
542
 
543
+ var field = useField();
544
+ var fieldSchema = useFieldSchema();
543
545
  var ctx = useBlockTemplateContext();
544
546
  return /*#__PURE__*/React.createElement(SchemaSettings.Item, {
545
547
  onClick: function onClick() {
@@ -553,6 +555,11 @@ SchemaSettings.Remove = function (props) {
553
555
  breakRemoveOn: breakRemoveOn
554
556
  };
555
557
 
558
+ if (field && field.required) {
559
+ field.required = false;
560
+ fieldSchema['required'] = false;
561
+ }
562
+
556
563
  if (template && (ctx === null || ctx === void 0 ? void 0 : ctx.dn)) {
557
564
  ctx === null || ctx === void 0 ? void 0 : ctx.dn.remove(null, options);
558
565
  } else {
@@ -15,6 +15,8 @@ var _antd = require("antd");
15
15
 
16
16
  var _react2 = _interopRequireWildcard(require("react"));
17
17
 
18
+ var _recordProvider = require("../record-provider");
19
+
18
20
  var _BlockProvider = require("./BlockProvider");
19
21
 
20
22
  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,6 +33,8 @@ var FormBlockContext = /*#__PURE__*/(0, _react2.createContext)({});
31
33
  exports.FormBlockContext = FormBlockContext;
32
34
 
33
35
  var InternalFormBlockProvider = function InternalFormBlockProvider(props) {
36
+ var _service$data;
37
+
34
38
  var action = props.action,
35
39
  readPretty = props.readPretty;
36
40
  var field = (0, _react.useField)();
@@ -60,8 +64,12 @@ var InternalFormBlockProvider = function InternalFormBlockProvider(props) {
60
64
  updateAssociationValues: [],
61
65
  formBlockRef: formBlockRef
62
66
  }
67
+ }, readPretty ? /*#__PURE__*/_react2.default.createElement(_recordProvider.RecordProvider, {
68
+ record: service === null || service === void 0 ? void 0 : (_service$data = service.data) === null || _service$data === void 0 ? void 0 : _service$data.data
63
69
  }, /*#__PURE__*/_react2.default.createElement("div", {
64
70
  ref: formBlockRef
71
+ }, props.children)) : /*#__PURE__*/_react2.default.createElement("div", {
72
+ ref: formBlockRef
65
73
  }, props.children));
66
74
  };
67
75
 
@@ -99,7 +99,7 @@ var TableSelectorProvider = function TableSelectorProvider(props) {
99
99
  params['sort'] = ['sort'];
100
100
  }
101
101
 
102
- if (appends === null || appends === void 0 ? void 0 : appends.length) {
102
+ if (!Object.keys(params).includes('appends')) {
103
103
  params['appends'] = appends;
104
104
  }
105
105
 
@@ -39,8 +39,10 @@ var InternalField = function InternalField(props) {
39
39
  var _useCollectionField = (0, _hooks.useCollectionField)(),
40
40
  name = _useCollectionField.name,
41
41
  interfaceType = _useCollectionField.interface,
42
- uiSchema = _useCollectionField.uiSchema;
42
+ uiSchema = _useCollectionField.uiSchema,
43
+ defaultValue = _useCollectionField.defaultValue;
43
44
 
45
+ var collectionField = (0, _hooks.useCollectionField)();
44
46
  var component = (0, _.useComponent)(uiSchema === null || uiSchema === void 0 ? void 0 : uiSchema['x-component']);
45
47
  var compile = (0, _.useCompile)();
46
48
 
@@ -70,7 +72,10 @@ var InternalField = function InternalField(props) {
70
72
  setFieldProps('content', uiSchema['x-content']);
71
73
  setFieldProps('title', uiSchema.title);
72
74
  setFieldProps('description', uiSchema.description);
73
- setFieldProps('initialValue', uiSchema.default);
75
+
76
+ if (ctx === null || ctx === void 0 ? void 0 : ctx.form) {
77
+ setFieldProps('initialValue', fieldSchema.default || defaultValue);
78
+ }
74
79
 
75
80
  if (!field.validator && (uiSchema['x-validator'] || fieldSchema['x-validator'])) {
76
81
  var concatSchema = (0, _lodash.concat)([], uiSchema['x-validator'] || [], fieldSchema['x-validator'] || []);
@@ -70,6 +70,12 @@ var getSchema = function getSchema(schema, record, compile) {
70
70
 
71
71
  var properties = (0, _lodash.cloneDeep)(schema.properties);
72
72
 
73
+ if (schema.hasDefaultValue === true) {
74
+ properties['defaultValue'] = (0, _lodash.cloneDeep)(schema.default.uiSchema);
75
+ properties['defaultValue']['title'] = compile('{{ t("Default value") }}');
76
+ properties['defaultValue']['x-decorator'] = 'FormItem';
77
+ }
78
+
73
79
  var initialValue = _objectSpread(_objectSpread({
74
80
  name: "f_".concat((0, _shared.uid)())
75
81
  }, (0, _lodash.cloneDeep)(schema.default)), {}, {
@@ -68,6 +68,13 @@ var getSchema = function getSchema(schema, record, compile) {
68
68
 
69
69
  var properties = (0, _cloneDeep.default)(schema.properties);
70
70
  properties.name['x-disabled'] = true;
71
+
72
+ if (schema.hasDefaultValue === true) {
73
+ properties['defaultValue'] = (0, _cloneDeep.default)(schema.default.uiSchema);
74
+ properties['defaultValue']['title'] = compile('{{ t("Default value") }}');
75
+ properties['defaultValue']['x-decorator'] = 'FormItem';
76
+ }
77
+
71
78
  return {
72
79
  type: 'object',
73
80
  properties: _defineProperty({}, (0, _shared.uid)(), {
@@ -27,6 +27,7 @@ var checkbox = {
27
27
  'x-component': 'Checkbox'
28
28
  }
29
29
  },
30
+ hasDefaultValue: true,
30
31
  properties: _objectSpread({}, _properties.defaultProps),
31
32
  filterable: {
32
33
  operators: _properties.operators.boolean
@@ -29,6 +29,7 @@ var checkboxGroup = {
29
29
  'x-component': 'Checkbox.Group'
30
30
  }
31
31
  },
32
+ hasDefaultValue: true,
32
33
  properties: _objectSpread(_objectSpread({}, _properties.defaultProps), {}, {
33
34
  'uiSchema.enum': _properties.dataSource
34
35
  }),
@@ -32,6 +32,7 @@ var datetime = {
32
32
  }
33
33
  }
34
34
  },
35
+ hasDefaultValue: true,
35
36
  properties: _objectSpread(_objectSpread(_objectSpread({}, _properties.defaultProps), _properties.dateTimeProps), {}, {
36
37
  'uiSchema.x-component-props.gmt': {
37
38
  type: 'boolean',
@@ -30,6 +30,7 @@ var email = {
30
30
  'x-validator': 'email'
31
31
  }
32
32
  },
33
+ hasDefaultValue: true,
33
34
  properties: _objectSpread({}, _properties.defaultProps),
34
35
  filterable: {
35
36
  operators: _properties.operators.string
@@ -28,6 +28,7 @@ var icon = {
28
28
  'x-component': 'IconPicker'
29
29
  }
30
30
  },
31
+ hasDefaultValue: true,
31
32
  properties: _objectSpread({}, _properties.defaultProps)
32
33
  };
33
34
  exports.icon = icon;
@@ -30,6 +30,7 @@ var input = {
30
30
  'x-component': 'Input'
31
31
  }
32
32
  },
33
+ hasDefaultValue: true,
33
34
  properties: _objectSpread({}, _properties.defaultProps),
34
35
  filterable: {
35
36
  operators: _properties.operators.string
@@ -42,6 +42,7 @@ var integer = {
42
42
  'x-validator': 'integer'
43
43
  }
44
44
  },
45
+ hasDefaultValue: true,
45
46
  properties: _objectSpread({}, _properties.defaultProps),
46
47
  filterable: {
47
48
  operators: _properties.operators.number
@@ -29,6 +29,7 @@ var markdown = {
29
29
  'x-component': 'Markdown'
30
30
  }
31
31
  },
32
+ hasDefaultValue: true,
32
33
  properties: _objectSpread({}, _properties.defaultProps),
33
34
  schemaInitialize: function schemaInitialize(schema, _ref) {
34
35
  var block = _ref.block;
@@ -33,6 +33,7 @@ var multipleSelect = {
33
33
  enum: []
34
34
  }
35
35
  },
36
+ hasDefaultValue: true,
36
37
  properties: _objectSpread(_objectSpread({}, _properties.defaultProps), {}, {
37
38
  'uiSchema.enum': _properties.dataSource
38
39
  }),
@@ -35,6 +35,7 @@ var number = {
35
35
  }
36
36
  }
37
37
  },
38
+ hasDefaultValue: true,
38
39
  properties: _objectSpread(_objectSpread({}, _properties.defaultProps), {}, {
39
40
  'uiSchema.x-component-props.step': {
40
41
  type: 'string',
@@ -31,6 +31,7 @@ var password = {
31
31
  'x-component': 'Password'
32
32
  }
33
33
  },
34
+ hasDefaultValue: true,
34
35
  properties: _objectSpread({}, _properties.defaultProps),
35
36
  validateSchema: function validateSchema(fieldSchema) {
36
37
  return {
@@ -79,6 +79,7 @@ var percent = {
79
79
  }
80
80
  }
81
81
  },
82
+ hasDefaultValue: true,
82
83
  properties: _objectSpread(_objectSpread({}, _properties.defaultProps), {}, {
83
84
  'uiSchema.x-component-props.step': {
84
85
  type: 'string',
@@ -33,6 +33,7 @@ var phone = {
33
33
 
34
34
  }
35
35
  },
36
+ hasDefaultValue: true,
36
37
  properties: _objectSpread({}, _properties.defaultProps),
37
38
  filterable: {
38
39
  operators: _properties.operators.string
@@ -29,6 +29,7 @@ var radioGroup = {
29
29
  'x-component': 'Radio.Group'
30
30
  }
31
31
  },
32
+ hasDefaultValue: true,
32
33
  properties: _objectSpread(_objectSpread({}, _properties.defaultProps), {}, {
33
34
  'uiSchema.enum': _properties.dataSource
34
35
  }),
@@ -30,6 +30,7 @@ var richText = {
30
30
  'x-component': 'RichText'
31
31
  }
32
32
  },
33
+ hasDefaultValue: true,
33
34
  properties: _objectSpread({}, _properties.defaultProps),
34
35
  schemaInitialize: function schemaInitialize(schema, _ref) {
35
36
  var block = _ref.block;
@@ -30,6 +30,7 @@ var select = {
30
30
  enum: []
31
31
  }
32
32
  },
33
+ hasDefaultValue: true,
33
34
  properties: _objectSpread(_objectSpread({}, _properties.defaultProps), {}, {
34
35
  'uiSchema.enum': _properties.dataSource
35
36
  }),
@@ -30,6 +30,7 @@ var textarea = {
30
30
  'x-component': 'Input.TextArea'
31
31
  }
32
32
  },
33
+ hasDefaultValue: true,
33
34
  properties: _objectSpread({}, _properties.defaultProps),
34
35
  schemaInitialize: function schemaInitialize(schema, _ref) {
35
36
  var block = _ref.block;
@@ -28,6 +28,7 @@ var time = {
28
28
  'x-component': 'TimePicker'
29
29
  }
30
30
  },
31
+ hasDefaultValue: true,
31
32
  properties: _objectSpread(_objectSpread({}, _properties.defaultProps), {}, {
32
33
  'uiSchema.x-component-props.format': {
33
34
  type: 'string',
@@ -251,6 +251,8 @@ declare const _default: {
251
251
  "The field value cannot be greater than ": string;
252
252
  "The field value cannot be less than ": string;
253
253
  "The field value is not an integer number": string;
254
+ "Set default value": string;
255
+ "Default value": string;
254
256
  "is before": string;
255
257
  "is after": string;
256
258
  "is on or after": string;
@@ -257,6 +257,8 @@ var _default = {
257
257
  "The field value cannot be greater than ": "数值不能大于",
258
258
  "The field value cannot be less than ": "数值不能小于",
259
259
  "The field value is not an integer number": "数字不是整数",
260
+ "Set default value": "设置默认值",
261
+ "Default value": "默认值",
260
262
  "is before": "早于",
261
263
  "is after": "晚于",
262
264
  "is on or after": "不早于",
@@ -75,7 +75,7 @@ var FormItem = function FormItem(props) {
75
75
  exports.FormItem = FormItem;
76
76
 
77
77
  FormItem.Designer = function (props) {
78
- var _interfaceConfig$vali, _collectionField$uiSc, _collectionField$uiSc2, _fieldSchema$xDecora, _fieldSchema$xCompon, _field$componentProps, _field$componentProps2;
78
+ var _interfaceConfig$vali, _collectionField$uiSc, _collectionField$uiSc2, _fieldSchema$xDecora, _collectionField$uiSc4, _fieldSchema$xCompon, _field$componentProps, _field$componentProps2;
79
79
 
80
80
  var _useCollectionManager = (0, _collectionManager.useCollectionManager)(),
81
81
  getCollectionFields = _useCollectionManager.getCollectionFields,
@@ -387,6 +387,38 @@ FormItem.Designer = function (props) {
387
387
  });
388
388
  refresh();
389
389
  }
390
+ }), form && !(form === null || form === void 0 ? void 0 : form.readPretty) && (collectionField === null || collectionField === void 0 ? void 0 : (_collectionField$uiSc4 = collectionField.uiSchema) === null || _collectionField$uiSc4 === void 0 ? void 0 : _collectionField$uiSc4.type) && /*#__PURE__*/_react2.default.createElement(_schemaSettings.SchemaSettings.ModalItem, {
391
+ title: t('Set default value'),
392
+ components: {
393
+ ArrayCollapse: _antd.ArrayCollapse,
394
+ FormLayout: _antd.FormLayout
395
+ },
396
+ schema: {
397
+ type: 'object',
398
+ title: t('Set default value'),
399
+ properties: {
400
+ default: _objectSpread(_objectSpread({}, collectionField.uiSchema), {}, {
401
+ name: 'default',
402
+ title: t('Default value'),
403
+ 'x-decorator': 'FormItem',
404
+ default: fieldSchema.default || collectionField.defaultValue
405
+ })
406
+ }
407
+ },
408
+ onSubmit: function onSubmit(v) {
409
+ var schema = _defineProperty({}, 'x-uid', fieldSchema['x-uid']);
410
+
411
+ if (field.value !== v.default) {
412
+ field.value = v.default;
413
+ }
414
+
415
+ fieldSchema.default = v.default;
416
+ schema.default = v.default;
417
+ dn.emit('patch', {
418
+ schema: schema
419
+ });
420
+ refresh();
421
+ }
390
422
  }), form && !isSubFormAssocitionField && ['o2o', 'oho', 'obo', 'o2m'].includes(collectionField === null || collectionField === void 0 ? void 0 : collectionField.interface) && /*#__PURE__*/_react2.default.createElement(_schemaSettings.SchemaSettings.SelectItem, {
391
423
  title: t('Field component'),
392
424
  options: (collectionField === null || collectionField === void 0 ? void 0 : collectionField.interface) === 'o2m' ? [{
@@ -495,11 +527,11 @@ FormItem.Designer = function (props) {
495
527
  options: options,
496
528
  value: field === null || field === void 0 ? void 0 : (_field$componentProps = field.componentProps) === null || _field$componentProps === void 0 ? void 0 : (_field$componentProps2 = _field$componentProps.fieldNames) === null || _field$componentProps2 === void 0 ? void 0 : _field$componentProps2.label,
497
529
  onChange: function onChange(label) {
498
- var _collectionField$uiSc4, _collectionField$uiSc5;
530
+ var _collectionField$uiSc5, _collectionField$uiSc6;
499
531
 
500
532
  var schema = _defineProperty({}, 'x-uid', fieldSchema['x-uid']);
501
533
 
502
- var fieldNames = _objectSpread(_objectSpread(_objectSpread({}, collectionField === null || collectionField === void 0 ? void 0 : (_collectionField$uiSc4 = collectionField.uiSchema) === null || _collectionField$uiSc4 === void 0 ? void 0 : (_collectionField$uiSc5 = _collectionField$uiSc4['x-component-props']) === null || _collectionField$uiSc5 === void 0 ? void 0 : _collectionField$uiSc5['fieldNames']), field.componentProps.fieldNames), {}, {
534
+ var fieldNames = _objectSpread(_objectSpread(_objectSpread({}, collectionField === null || collectionField === void 0 ? void 0 : (_collectionField$uiSc5 = collectionField.uiSchema) === null || _collectionField$uiSc5 === void 0 ? void 0 : (_collectionField$uiSc6 = _collectionField$uiSc5['x-component-props']) === null || _collectionField$uiSc6 === void 0 ? void 0 : _collectionField$uiSc6['fieldNames']), field.componentProps.fieldNames), {}, {
503
535
  label: label
504
536
  });
505
537
 
@@ -578,6 +578,8 @@ SchemaSettings.Remove = function (props) {
578
578
  var _useTranslation3 = (0, _reactI18next.useTranslation)(),
579
579
  t = _useTranslation3.t;
580
580
 
581
+ var field = (0, _react.useField)();
582
+ var fieldSchema = (0, _react.useFieldSchema)();
581
583
  var ctx = (0, _BlockTemplate.useBlockTemplateContext)();
582
584
  return /*#__PURE__*/_react2.default.createElement(SchemaSettings.Item, {
583
585
  onClick: function onClick() {
@@ -591,6 +593,11 @@ SchemaSettings.Remove = function (props) {
591
593
  breakRemoveOn: breakRemoveOn
592
594
  };
593
595
 
596
+ if (field && field.required) {
597
+ field.required = false;
598
+ fieldSchema['required'] = false;
599
+ }
600
+
594
601
  if (template && (ctx === null || ctx === void 0 ? void 0 : ctx.dn)) {
595
602
  ctx === null || ctx === void 0 ? void 0 : ctx.dn.remove(null, options);
596
603
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/client",
3
- "version": "0.7.4-alpha.1",
3
+ "version": "0.7.4-alpha.4",
4
4
  "license": "Apache-2.0",
5
5
  "licenses": [
6
6
  {
@@ -19,8 +19,8 @@
19
19
  "@formily/antd": "2.0.20",
20
20
  "@formily/core": "2.0.20",
21
21
  "@formily/react": "2.0.20",
22
- "@nocobase/sdk": "0.7.4-alpha.1",
23
- "@nocobase/utils": "0.7.4-alpha.1",
22
+ "@nocobase/sdk": "0.7.4-alpha.4",
23
+ "@nocobase/utils": "0.7.4-alpha.4",
24
24
  "ahooks": "^3.0.5",
25
25
  "antd": "~4.19.5",
26
26
  "axios": "^0.26.1",
@@ -55,5 +55,5 @@
55
55
  "@types/marked": "^4.0.1",
56
56
  "axios-mock-adapter": "^1.20.0"
57
57
  },
58
- "gitHead": "543eb1c0308bb72a5ba54f208586cd78bfda8fa9"
58
+ "gitHead": "726c06b721b217a6aa5c1421b899d1315e552b57"
59
59
  }