@nocobase/client 0.7.2-alpha.7 → 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.
- package/es/application/Application.d.ts +1 -0
- package/es/application/Application.js +7 -1
- package/es/block-provider/FormBlockProvider.js +15 -3
- package/es/block-provider/TableFieldProvider.d.ts +1 -0
- package/es/block-provider/TableFieldProvider.js +5 -2
- package/es/block-provider/TableSelectorProvider.js +42 -14
- package/es/block-provider/hooks/index.d.ts +6 -0
- package/es/block-provider/hooks/index.js +159 -65
- package/es/collection-manager/CollectionField.js +11 -4
- package/es/collection-manager/Configuration/AddFieldAction.js +6 -0
- package/es/collection-manager/Configuration/EditFieldAction.js +7 -0
- package/es/collection-manager/Configuration/index.js +5 -1
- package/es/collection-manager/Configuration/schemas/collections.js +2 -1
- package/es/collection-manager/interfaces/checkbox.js +1 -0
- package/es/collection-manager/interfaces/checkboxGroup.js +1 -0
- package/es/collection-manager/interfaces/datetime.js +1 -0
- package/es/collection-manager/interfaces/email.js +1 -0
- package/es/collection-manager/interfaces/icon.js +1 -0
- package/es/collection-manager/interfaces/input.js +104 -0
- package/es/collection-manager/interfaces/integer.js +64 -0
- package/es/collection-manager/interfaces/m2m.js +2 -0
- package/es/collection-manager/interfaces/m2o.js +1 -0
- package/es/collection-manager/interfaces/markdown.js +35 -0
- package/es/collection-manager/interfaces/multipleSelect.js +1 -0
- package/es/collection-manager/interfaces/number.js +56 -0
- package/es/collection-manager/interfaces/o2m.js +1 -0
- package/es/collection-manager/interfaces/o2o.js +3 -0
- package/es/collection-manager/interfaces/password.js +37 -1
- package/es/collection-manager/interfaces/percent.js +98 -0
- package/es/collection-manager/interfaces/phone.js +1 -0
- package/es/collection-manager/interfaces/properties/index.d.ts +1 -0
- package/es/collection-manager/interfaces/properties/index.js +1 -0
- package/es/collection-manager/interfaces/properties/operators.js +4 -4
- package/es/collection-manager/interfaces/radioGroup.js +1 -0
- package/es/collection-manager/interfaces/richText.js +35 -0
- package/es/collection-manager/interfaces/select.js +1 -0
- package/es/collection-manager/interfaces/textarea.js +35 -0
- package/es/collection-manager/interfaces/time.js +1 -0
- package/es/file-manager/FileStorageShortcut.js +2 -2
- package/es/locale/en_US.d.ts +8 -2
- package/es/locale/en_US.js +9 -3
- package/es/locale/zh_CN.d.ts +28 -2
- package/es/locale/zh_CN.js +29 -3
- package/es/plugin-manager/PluginManager.d.ts +1 -0
- package/es/plugin-manager/PluginManager.js +20 -6
- package/es/schema-component/antd/action/Action.Modal.js +1 -1
- package/es/schema-component/antd/calendar/Calendar.Designer.js +16 -10
- package/es/schema-component/antd/date-picker/DatePicker.d.ts +1 -1
- package/es/schema-component/antd/date-picker/DatePicker.js +1 -1
- package/es/schema-component/antd/date-picker/ReadPretty.js +1 -1
- package/es/schema-component/antd/date-picker/util.d.ts +0 -10
- package/es/schema-component/antd/date-picker/util.js +1 -79
- package/es/schema-component/antd/form-item/FormItem.js +193 -10
- package/es/schema-component/antd/grid/Grid.js +72 -6
- package/es/schema-component/antd/input-number/InputNumber.d.ts +1 -5
- package/es/schema-component/antd/input-number/InputNumber.js +25 -1
- package/es/schema-component/antd/input-number/ReadPretty.js +2 -4
- package/es/schema-component/antd/kanban/Kanban.Card.Designer.js +20 -14
- package/es/schema-component/antd/menu/Menu.js +6 -3
- package/es/schema-component/antd/percent/Percent.js +2 -2
- package/es/schema-component/antd/record-picker/InputRecordPicker.js +27 -13
- package/es/schema-component/antd/record-picker/ReadPrettyRecordPicker.js +5 -3
- package/es/schema-component/antd/table/Table.Array.js +2 -2
- package/es/schema-component/antd/table/Table.Void.js +11 -1
- package/es/schema-component/antd/table-v2/Table.Column.Designer.js +3 -1
- package/es/schema-component/antd/table-v2/Table.d.ts +0 -11
- package/es/schema-component/antd/table-v2/Table.js +163 -92
- package/es/schema-component/antd/table-v2/TableField.js +3 -0
- package/es/schema-component/antd/tabs/Tabs.Designer.js +23 -12
- package/es/schema-component/antd/tabs/Tabs.js +7 -1
- package/es/schema-component/antd/time-picker/ReadPretty.js +11 -5
- package/es/schema-component/core/DesignableSwitch.js +7 -1
- package/es/schema-component/hooks/useDesignable.js +21 -21
- package/es/schema-component/hooks/useProps.js +1 -1
- package/es/schema-initializer/buttons/FormItemInitializers.js +14 -3
- package/es/schema-initializer/buttons/ReadPrettyFormActionInitializers.js +8 -0
- package/es/schema-initializer/buttons/ReadPrettyFormItemInitializers.js +14 -3
- package/es/schema-initializer/buttons/RecordBlockInitializers.js +32 -3
- package/es/schema-initializer/buttons/TabPaneInitializers.js +11 -3
- package/es/schema-initializer/buttons/TableActionInitializers.js +11 -0
- package/es/schema-initializer/components/assigned-field/AssignedField.d.ts +4 -0
- package/es/schema-initializer/components/assigned-field/AssignedField.js +255 -69
- package/es/schema-initializer/items/index.d.ts +2 -0
- package/es/schema-initializer/items/index.js +48 -2
- package/es/schema-initializer/utils.js +22 -2
- package/es/schema-settings/SchemaSettings.js +7 -0
- package/es/system-settings/SystemSettingsShortcut.js +35 -12
- package/lib/application/Application.d.ts +1 -0
- package/lib/application/Application.js +11 -2
- package/lib/block-provider/FormBlockProvider.js +15 -2
- package/lib/block-provider/TableFieldProvider.d.ts +1 -0
- package/lib/block-provider/TableFieldProvider.js +4 -1
- package/lib/block-provider/TableSelectorProvider.js +42 -14
- package/lib/block-provider/hooks/index.d.ts +6 -0
- package/lib/block-provider/hooks/index.js +168 -67
- package/lib/collection-manager/CollectionField.js +12 -4
- package/lib/collection-manager/Configuration/AddFieldAction.js +6 -0
- package/lib/collection-manager/Configuration/EditFieldAction.js +7 -0
- package/lib/collection-manager/Configuration/index.js +5 -0
- package/lib/collection-manager/Configuration/schemas/collections.js +2 -1
- package/lib/collection-manager/interfaces/checkbox.js +1 -0
- package/lib/collection-manager/interfaces/checkboxGroup.js +1 -0
- package/lib/collection-manager/interfaces/datetime.js +1 -0
- package/lib/collection-manager/interfaces/email.js +1 -0
- package/lib/collection-manager/interfaces/icon.js +1 -0
- package/lib/collection-manager/interfaces/input.js +105 -0
- package/lib/collection-manager/interfaces/integer.js +66 -0
- package/lib/collection-manager/interfaces/m2m.js +2 -0
- package/lib/collection-manager/interfaces/m2o.js +1 -0
- package/lib/collection-manager/interfaces/markdown.js +36 -0
- package/lib/collection-manager/interfaces/multipleSelect.js +1 -0
- package/lib/collection-manager/interfaces/number.js +57 -0
- package/lib/collection-manager/interfaces/o2m.js +1 -0
- package/lib/collection-manager/interfaces/o2o.js +3 -0
- package/lib/collection-manager/interfaces/password.js +38 -1
- package/lib/collection-manager/interfaces/percent.js +100 -0
- package/lib/collection-manager/interfaces/phone.js +1 -0
- package/lib/collection-manager/interfaces/properties/index.d.ts +1 -0
- package/lib/collection-manager/interfaces/properties/index.js +1 -0
- package/lib/collection-manager/interfaces/properties/operators.js +4 -4
- package/lib/collection-manager/interfaces/radioGroup.js +1 -0
- package/lib/collection-manager/interfaces/richText.js +36 -0
- package/lib/collection-manager/interfaces/select.js +1 -0
- package/lib/collection-manager/interfaces/textarea.js +36 -0
- package/lib/collection-manager/interfaces/time.js +1 -0
- package/lib/file-manager/FileStorageShortcut.js +1 -1
- package/lib/locale/en_US.d.ts +8 -2
- package/lib/locale/en_US.js +9 -3
- package/lib/locale/zh_CN.d.ts +28 -2
- package/lib/locale/zh_CN.js +29 -3
- package/lib/plugin-manager/PluginManager.d.ts +1 -0
- package/lib/plugin-manager/PluginManager.js +23 -5
- package/lib/schema-component/antd/action/Action.Modal.js +1 -1
- package/lib/schema-component/antd/calendar/Calendar.Designer.js +16 -10
- package/lib/schema-component/antd/date-picker/DatePicker.d.ts +1 -1
- package/lib/schema-component/antd/date-picker/DatePicker.js +2 -2
- package/lib/schema-component/antd/date-picker/ReadPretty.js +6 -6
- package/lib/schema-component/antd/date-picker/util.d.ts +0 -10
- package/lib/schema-component/antd/date-picker/util.js +6 -89
- package/lib/schema-component/antd/form-item/FormItem.js +196 -12
- package/lib/schema-component/antd/grid/Grid.js +69 -3
- package/lib/schema-component/antd/input-number/InputNumber.d.ts +1 -5
- package/lib/schema-component/antd/input-number/InputNumber.js +28 -1
- package/lib/schema-component/antd/input-number/ReadPretty.js +2 -5
- package/lib/schema-component/antd/kanban/Kanban.Card.Designer.js +20 -14
- package/lib/schema-component/antd/menu/Menu.js +6 -3
- package/lib/schema-component/antd/percent/Percent.js +2 -2
- package/lib/schema-component/antd/record-picker/InputRecordPicker.js +27 -12
- package/lib/schema-component/antd/record-picker/ReadPrettyRecordPicker.js +4 -2
- package/lib/schema-component/antd/table/Table.Array.js +2 -2
- package/lib/schema-component/antd/table/Table.Void.js +11 -1
- package/lib/schema-component/antd/table-v2/Table.Column.Designer.js +3 -1
- package/lib/schema-component/antd/table-v2/Table.d.ts +0 -11
- package/lib/schema-component/antd/table-v2/Table.js +172 -94
- package/lib/schema-component/antd/table-v2/TableField.js +3 -0
- package/lib/schema-component/antd/tabs/Tabs.Designer.js +23 -12
- package/lib/schema-component/antd/tabs/Tabs.js +8 -1
- package/lib/schema-component/antd/time-picker/ReadPretty.js +10 -3
- package/lib/schema-component/core/DesignableSwitch.js +8 -1
- package/lib/schema-component/hooks/useDesignable.js +21 -21
- package/lib/schema-component/hooks/useProps.js +1 -1
- package/lib/schema-initializer/buttons/FormItemInitializers.js +14 -2
- package/lib/schema-initializer/buttons/ReadPrettyFormActionInitializers.js +8 -0
- package/lib/schema-initializer/buttons/ReadPrettyFormItemInitializers.js +14 -2
- package/lib/schema-initializer/buttons/RecordBlockInitializers.js +34 -4
- package/lib/schema-initializer/buttons/TabPaneInitializers.js +11 -3
- package/lib/schema-initializer/buttons/TableActionInitializers.js +11 -0
- package/lib/schema-initializer/components/assigned-field/AssignedField.d.ts +4 -0
- package/lib/schema-initializer/components/assigned-field/AssignedField.js +257 -66
- package/lib/schema-initializer/items/index.d.ts +2 -0
- package/lib/schema-initializer/items/index.js +54 -2
- package/lib/schema-initializer/utils.js +22 -2
- package/lib/schema-settings/SchemaSettings.js +7 -0
- package/lib/system-settings/SystemSettingsShortcut.js +37 -13
- package/package.json +7 -4
|
@@ -4,24 +4,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
4
4
|
|
|
5
5
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
6
|
|
|
7
|
+
import { getDefaultFormat, str2moment, toGmt, toLocal } from '@nocobase/utils/client';
|
|
7
8
|
import moment from 'moment';
|
|
8
9
|
|
|
9
|
-
var toGmt = function toGmt(value) {
|
|
10
|
-
if (!value) {
|
|
11
|
-
return value;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
if (Array.isArray(value)) {
|
|
15
|
-
return value.map(function (val) {
|
|
16
|
-
return "".concat(val.format('YYYY-MM-DD'), "T").concat(val.format('HH:mm:ss.SSS'), "Z");
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
if (moment.isMoment(value)) {
|
|
21
|
-
return "".concat(value.format('YYYY-MM-DD'), "T").concat(value.format('HH:mm:ss.SSS'), "Z");
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
|
|
25
10
|
var toStringByPicker = function toStringByPicker(value, picker) {
|
|
26
11
|
if (picker === 'year') {
|
|
27
12
|
return value.format('YYYY') + '-01-01T00:00:00.000Z';
|
|
@@ -58,44 +43,6 @@ var toGmtByPicker = function toGmtByPicker(value, picker) {
|
|
|
58
43
|
}
|
|
59
44
|
};
|
|
60
45
|
|
|
61
|
-
var toLocal = function toLocal(value) {
|
|
62
|
-
if (!value) {
|
|
63
|
-
return value;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
if (Array.isArray(value)) {
|
|
67
|
-
return value.map(function (val) {
|
|
68
|
-
return val.toISOString();
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
if (moment.isMoment(value)) {
|
|
73
|
-
return value.toISOString();
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
var toMoment = function toMoment(val, options) {
|
|
78
|
-
if (moment.isMoment(val)) {
|
|
79
|
-
return val;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
var gmt = options.gmt,
|
|
83
|
-
picker = options.picker;
|
|
84
|
-
|
|
85
|
-
if (gmt || picker) {
|
|
86
|
-
val = val.replace('T', ' ').replace('Z', '');
|
|
87
|
-
return moment(val);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
return moment(val);
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
export var str2moment = function str2moment(value) {
|
|
94
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
95
|
-
return Array.isArray(value) ? value.map(function (val) {
|
|
96
|
-
return toMoment(val, options);
|
|
97
|
-
}) : value ? toMoment(value, options) : value;
|
|
98
|
-
};
|
|
99
46
|
export var moment2str = function moment2str(value) {
|
|
100
47
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
101
48
|
var showTime = options.showTime,
|
|
@@ -112,31 +59,6 @@ export var moment2str = function moment2str(value) {
|
|
|
112
59
|
|
|
113
60
|
return toGmtByPicker(value, picker);
|
|
114
61
|
};
|
|
115
|
-
export var getDefaultFormat = function getDefaultFormat(props) {
|
|
116
|
-
if (props.format) {
|
|
117
|
-
return props.format;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
if (props.dateFormat) {
|
|
121
|
-
if (props['showTime']) {
|
|
122
|
-
return "".concat(props.dateFormat, " ").concat(props.timeFormat || 'HH:mm:ss');
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
return props.dateFormat;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
if (props['picker'] === 'month') {
|
|
129
|
-
return 'YYYY-MM';
|
|
130
|
-
} else if (props['picker'] === 'quarter') {
|
|
131
|
-
return 'YYYY-\\QQ';
|
|
132
|
-
} else if (props['picker'] === 'year') {
|
|
133
|
-
return 'YYYY';
|
|
134
|
-
} else if (props['picker'] === 'week') {
|
|
135
|
-
return 'YYYY-wo';
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
return props['showTime'] ? 'YYYY-MM-DD HH:mm:ss' : 'YYYY-MM-DD';
|
|
139
|
-
};
|
|
140
62
|
export var mapDateFormat = function mapDateFormat() {
|
|
141
63
|
return function (props) {
|
|
142
64
|
var format = getDefaultFormat(props);
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
var _templateObject;
|
|
2
2
|
|
|
3
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
4
|
+
|
|
5
|
+
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); }
|
|
6
|
+
|
|
7
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
8
|
+
|
|
3
9
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
4
10
|
|
|
5
11
|
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; }
|
|
@@ -9,9 +15,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
9
15
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
10
16
|
|
|
11
17
|
import { css } from '@emotion/css';
|
|
12
|
-
import { FormItem as Item } from '@formily/antd';
|
|
18
|
+
import { ArrayCollapse, FormItem as Item, FormLayout } from '@formily/antd';
|
|
13
19
|
import { useField, useFieldSchema } from '@formily/react';
|
|
14
20
|
import { uid } from '@formily/shared';
|
|
21
|
+
import _ from 'lodash';
|
|
15
22
|
import React from 'react';
|
|
16
23
|
import { useTranslation } from 'react-i18next';
|
|
17
24
|
import { useCompile, useDesignable } from '../..';
|
|
@@ -45,7 +52,7 @@ export var FormItem = function FormItem(props) {
|
|
|
45
52
|
};
|
|
46
53
|
|
|
47
54
|
FormItem.Designer = function (props) {
|
|
48
|
-
var _collectionField$uiSc, _collectionField$uiSc2, _fieldSchema$xDecora, _field$componentProps, _field$componentProps2;
|
|
55
|
+
var _interfaceConfig$vali, _collectionField$uiSc, _collectionField$uiSc2, _fieldSchema$xDecora, _collectionField$uiSc4, _fieldSchema$xCompon, _field$componentProps, _field$componentProps2;
|
|
49
56
|
|
|
50
57
|
var _useCollectionManager = useCollectionManager(),
|
|
51
58
|
getCollectionFields = _useCollectionManager.getCollectionFields,
|
|
@@ -76,6 +83,7 @@ FormItem.Designer = function (props) {
|
|
|
76
83
|
var compile = useCompile();
|
|
77
84
|
var collectionField = getField(fieldSchema['name']) || getCollectionJoinField(fieldSchema['x-collection-field']);
|
|
78
85
|
var interfaceConfig = getInterface(collectionField === null || collectionField === void 0 ? void 0 : collectionField.interface);
|
|
86
|
+
var validateSchema = interfaceConfig === null || interfaceConfig === void 0 ? void 0 : (_interfaceConfig$vali = interfaceConfig['validateSchema']) === null || _interfaceConfig$vali === void 0 ? void 0 : _interfaceConfig$vali.call(interfaceConfig, fieldSchema);
|
|
79
87
|
var originalTitle = collectionField === null || collectionField === void 0 ? void 0 : (_collectionField$uiSc = collectionField.uiSchema) === null || _collectionField$uiSc === void 0 ? void 0 : _collectionField$uiSc.title;
|
|
80
88
|
var targetFields = (collectionField === null || collectionField === void 0 ? void 0 : collectionField.target) ? getCollectionFields(collectionField.target) : [];
|
|
81
89
|
var isSubFormAssocitionField = field.address.segments.includes('__form_grid');
|
|
@@ -199,7 +207,7 @@ FormItem.Designer = function (props) {
|
|
|
199
207
|
}), !field.readPretty && fieldSchema['x-component'] !== 'FormField' && /*#__PURE__*/React.createElement(SchemaSettings.SwitchItem, {
|
|
200
208
|
key: "required",
|
|
201
209
|
title: t('Required'),
|
|
202
|
-
checked:
|
|
210
|
+
checked: fieldSchema.required,
|
|
203
211
|
onChange: function onChange(required) {
|
|
204
212
|
var schema = _defineProperty({}, 'x-uid', fieldSchema['x-uid']);
|
|
205
213
|
|
|
@@ -211,6 +219,183 @@ FormItem.Designer = function (props) {
|
|
|
211
219
|
});
|
|
212
220
|
refresh();
|
|
213
221
|
}
|
|
222
|
+
}), form && !(form === null || form === void 0 ? void 0 : form.readPretty) && validateSchema && /*#__PURE__*/React.createElement(SchemaSettings.ModalItem, {
|
|
223
|
+
title: t('Set validation rules'),
|
|
224
|
+
components: {
|
|
225
|
+
ArrayCollapse: ArrayCollapse,
|
|
226
|
+
FormLayout: FormLayout
|
|
227
|
+
},
|
|
228
|
+
schema: {
|
|
229
|
+
type: 'object',
|
|
230
|
+
title: t('Set validation rules'),
|
|
231
|
+
properties: {
|
|
232
|
+
rules: {
|
|
233
|
+
type: 'array',
|
|
234
|
+
default: fieldSchema === null || fieldSchema === void 0 ? void 0 : fieldSchema['x-validator'],
|
|
235
|
+
'x-component': 'ArrayCollapse',
|
|
236
|
+
'x-decorator': 'FormItem',
|
|
237
|
+
'x-component-props': {
|
|
238
|
+
accordion: true
|
|
239
|
+
},
|
|
240
|
+
maxItems: 3,
|
|
241
|
+
items: {
|
|
242
|
+
type: 'object',
|
|
243
|
+
'x-component': 'ArrayCollapse.CollapsePanel',
|
|
244
|
+
'x-component-props': {
|
|
245
|
+
header: '{{ t("Validation rule") }}'
|
|
246
|
+
},
|
|
247
|
+
properties: {
|
|
248
|
+
index: {
|
|
249
|
+
type: 'void',
|
|
250
|
+
'x-component': 'ArrayCollapse.Index'
|
|
251
|
+
},
|
|
252
|
+
layout: {
|
|
253
|
+
type: 'void',
|
|
254
|
+
'x-component': 'FormLayout',
|
|
255
|
+
'x-component-props': {
|
|
256
|
+
labelStyle: {
|
|
257
|
+
marginTop: '6px'
|
|
258
|
+
},
|
|
259
|
+
labelCol: 8,
|
|
260
|
+
wrapperCol: 16
|
|
261
|
+
},
|
|
262
|
+
properties: _objectSpread(_objectSpread({}, validateSchema), {}, {
|
|
263
|
+
message: {
|
|
264
|
+
type: 'string',
|
|
265
|
+
title: '{{ t("Error message") }}',
|
|
266
|
+
'x-decorator': 'FormItem',
|
|
267
|
+
'x-component': 'Input.TextArea',
|
|
268
|
+
'x-component-props': {
|
|
269
|
+
autoSize: {
|
|
270
|
+
minRows: 2,
|
|
271
|
+
maxRows: 2
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
})
|
|
276
|
+
},
|
|
277
|
+
remove: {
|
|
278
|
+
type: 'void',
|
|
279
|
+
'x-component': 'ArrayCollapse.Remove'
|
|
280
|
+
},
|
|
281
|
+
moveUp: {
|
|
282
|
+
type: 'void',
|
|
283
|
+
'x-component': 'ArrayCollapse.MoveUp'
|
|
284
|
+
},
|
|
285
|
+
moveDown: {
|
|
286
|
+
type: 'void',
|
|
287
|
+
'x-component': 'ArrayCollapse.MoveDown'
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
},
|
|
291
|
+
properties: {
|
|
292
|
+
add: {
|
|
293
|
+
type: 'void',
|
|
294
|
+
title: '{{ t("Add validation rule") }}',
|
|
295
|
+
'x-component': 'ArrayCollapse.Addition',
|
|
296
|
+
'x-reactions': {
|
|
297
|
+
dependencies: ['rules'],
|
|
298
|
+
fulfill: {
|
|
299
|
+
state: {
|
|
300
|
+
disabled: '{{$deps[0].length >= 3}}'
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
},
|
|
309
|
+
onSubmit: function onSubmit(v) {
|
|
310
|
+
var _collectionField$uiSc3;
|
|
311
|
+
|
|
312
|
+
var rules = [];
|
|
313
|
+
|
|
314
|
+
var _iterator = _createForOfIteratorHelper(v.rules),
|
|
315
|
+
_step;
|
|
316
|
+
|
|
317
|
+
try {
|
|
318
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
319
|
+
var _rule = _step.value;
|
|
320
|
+
rules.push(_.pickBy(_rule, _.identity));
|
|
321
|
+
}
|
|
322
|
+
} catch (err) {
|
|
323
|
+
_iterator.e(err);
|
|
324
|
+
} finally {
|
|
325
|
+
_iterator.f();
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
var schema = _defineProperty({}, 'x-uid', fieldSchema['x-uid']); // return;
|
|
329
|
+
// if (['number'].includes(collectionField?.interface) && collectionField?.uiSchema?.['x-component-props']?.['stringMode'] === true) {
|
|
330
|
+
// rules['numberStringMode'] = true;
|
|
331
|
+
// }
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
if (['percent'].includes(collectionField === null || collectionField === void 0 ? void 0 : collectionField.interface)) {
|
|
335
|
+
var _iterator2 = _createForOfIteratorHelper(rules),
|
|
336
|
+
_step2;
|
|
337
|
+
|
|
338
|
+
try {
|
|
339
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
340
|
+
var rule = _step2.value;
|
|
341
|
+
|
|
342
|
+
if (!!rule.maxValue || !!rule.minValue) {
|
|
343
|
+
rule['percentMode'] = true;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
if (rule.percentFormat) {
|
|
347
|
+
rule['percentFormats'] = true;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
} catch (err) {
|
|
351
|
+
_iterator2.e(err);
|
|
352
|
+
} finally {
|
|
353
|
+
_iterator2.f();
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
var concatValidator = _.concat([], (collectionField === null || collectionField === void 0 ? void 0 : (_collectionField$uiSc3 = collectionField.uiSchema) === null || _collectionField$uiSc3 === void 0 ? void 0 : _collectionField$uiSc3['x-validator']) || [], rules);
|
|
358
|
+
|
|
359
|
+
field.validator = concatValidator;
|
|
360
|
+
fieldSchema['x-validator'] = rules;
|
|
361
|
+
schema['x-validator'] = rules;
|
|
362
|
+
dn.emit('patch', {
|
|
363
|
+
schema: schema
|
|
364
|
+
});
|
|
365
|
+
refresh();
|
|
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
|
+
}
|
|
214
399
|
}), form && !isSubFormAssocitionField && ['o2o', 'oho', 'obo', 'o2m'].includes(collectionField === null || collectionField === void 0 ? void 0 : collectionField.interface) && /*#__PURE__*/React.createElement(SchemaSettings.SelectItem, {
|
|
215
400
|
title: t('Field component'),
|
|
216
401
|
options: (collectionField === null || collectionField === void 0 ? void 0 : collectionField.interface) === 'o2m' ? [{
|
|
@@ -257,7 +442,7 @@ FormItem.Designer = function (props) {
|
|
|
257
442
|
}
|
|
258
443
|
});
|
|
259
444
|
}
|
|
260
|
-
}), form && !(form === null || form === void 0 ? void 0 : form.readPretty) && (collectionField === null || collectionField === void 0 ? void 0 : collectionField.interface) !== 'o2m' && /*#__PURE__*/React.createElement(SchemaSettings.SelectItem, {
|
|
445
|
+
}), form && !(form === null || form === void 0 ? void 0 : form.readPretty) && (collectionField === null || collectionField === void 0 ? void 0 : collectionField.interface) !== 'o2m' && (fieldSchema === null || fieldSchema === void 0 ? void 0 : (_fieldSchema$xCompon = fieldSchema['x-component-props']) === null || _fieldSchema$xCompon === void 0 ? void 0 : _fieldSchema$xCompon['pattern-disable']) != true && /*#__PURE__*/React.createElement(SchemaSettings.SelectItem, {
|
|
261
446
|
key: "pattern",
|
|
262
447
|
title: t('Pattern'),
|
|
263
448
|
options: [{
|
|
@@ -319,15 +504,13 @@ FormItem.Designer = function (props) {
|
|
|
319
504
|
options: options,
|
|
320
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,
|
|
321
506
|
onChange: function onChange(label) {
|
|
507
|
+
var _collectionField$uiSc5, _collectionField$uiSc6;
|
|
508
|
+
|
|
322
509
|
var schema = _defineProperty({}, 'x-uid', fieldSchema['x-uid']);
|
|
323
510
|
|
|
324
|
-
var fieldNames = _objectSpread(_objectSpread({}, 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), {}, {
|
|
325
512
|
label: label
|
|
326
|
-
});
|
|
327
|
-
// fieldSchema['x-component-props']['field']['uiSchema']['x-component-props']['fieldNames'] = fieldNames;
|
|
328
|
-
// } else {
|
|
329
|
-
// }
|
|
330
|
-
|
|
513
|
+
});
|
|
331
514
|
|
|
332
515
|
fieldSchema['x-component-props'] = fieldSchema['x-component-props'] || {};
|
|
333
516
|
fieldSchema['x-component-props']['fieldNames'] = fieldNames;
|
|
@@ -20,19 +20,29 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
20
20
|
|
|
21
21
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
22
22
|
|
|
23
|
-
import { useDndMonitor, useDroppable } from '@dnd-kit/core';
|
|
23
|
+
import { useDndContext, useDndMonitor, useDroppable } from '@dnd-kit/core';
|
|
24
24
|
import { css } from '@emotion/css';
|
|
25
25
|
import { observer, RecursionField, Schema, useField, useFieldSchema } from '@formily/react';
|
|
26
26
|
import { uid } from '@formily/shared';
|
|
27
27
|
import cls from 'classnames';
|
|
28
|
-
import React, { createContext, useContext, useState } from 'react';
|
|
29
|
-
import { useSchemaInitializer } from '../../../';
|
|
28
|
+
import React, { createContext, useContext, useEffect, useRef, useState } from 'react';
|
|
29
|
+
import { useFormBlockContext, useSchemaInitializer } from '../../../';
|
|
30
30
|
import { DndContext } from '../../common/dnd-context';
|
|
31
31
|
var GridRowContext = /*#__PURE__*/createContext(null);
|
|
32
32
|
var GridColContext = /*#__PURE__*/createContext(null);
|
|
33
33
|
var GridContext = /*#__PURE__*/createContext({});
|
|
34
34
|
|
|
35
|
+
var breakRemoveOnGrid = function breakRemoveOnGrid(s) {
|
|
36
|
+
return s['x-component'] === 'Grid';
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
var breakRemoveOnRow = function breakRemoveOnRow(s) {
|
|
40
|
+
return s['x-component'] === 'Grid.Row';
|
|
41
|
+
};
|
|
42
|
+
|
|
35
43
|
var ColDivider = function ColDivider(props) {
|
|
44
|
+
var _dndContext$active, _dndContext$active$da, _dndContext$active$da2;
|
|
45
|
+
|
|
36
46
|
var _useDroppable = useDroppable({
|
|
37
47
|
id: props.id,
|
|
38
48
|
data: props.data
|
|
@@ -43,14 +53,31 @@ var ColDivider = function ColDivider(props) {
|
|
|
43
53
|
var droppableStyle = {
|
|
44
54
|
backgroundColor: isOver ? 'rgba(241, 139, 98, .1)' : undefined
|
|
45
55
|
};
|
|
56
|
+
var dndContext = useDndContext();
|
|
57
|
+
var activeSchema = (_dndContext$active = dndContext.active) === null || _dndContext$active === void 0 ? void 0 : (_dndContext$active$da = _dndContext$active.data.current) === null || _dndContext$active$da === void 0 ? void 0 : (_dndContext$active$da2 = _dndContext$active$da.schema) === null || _dndContext$active$da2 === void 0 ? void 0 : _dndContext$active$da2.parent;
|
|
58
|
+
var blocksLength = activeSchema ? Object.keys(activeSchema.properties).length : 0;
|
|
59
|
+
var visible = true;
|
|
60
|
+
|
|
61
|
+
if (blocksLength === 1) {
|
|
62
|
+
if (props.first) {
|
|
63
|
+
visible = activeSchema !== props.cols[0];
|
|
64
|
+
} else {
|
|
65
|
+
var currentSchema = props.cols[props.index];
|
|
66
|
+
var downSchema = props.cols[props.index + 1];
|
|
67
|
+
visible = activeSchema !== currentSchema && downSchema !== activeSchema;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
46
71
|
return /*#__PURE__*/React.createElement("div", {
|
|
47
|
-
ref: setNodeRef,
|
|
72
|
+
ref: visible ? setNodeRef : null,
|
|
48
73
|
className: cls('nb-col-divider', css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 24px;\n "])))),
|
|
49
74
|
style: _objectSpread({}, droppableStyle)
|
|
50
75
|
});
|
|
51
76
|
};
|
|
52
77
|
|
|
53
78
|
var RowDivider = function RowDivider(props) {
|
|
79
|
+
var _dndContext$active2, _dndContext$active2$d, _dndContext$active2$d2;
|
|
80
|
+
|
|
54
81
|
var _useDroppable2 = useDroppable({
|
|
55
82
|
id: props.id,
|
|
56
83
|
data: props.data
|
|
@@ -69,6 +96,23 @@ var RowDivider = function RowDivider(props) {
|
|
|
69
96
|
active = _useState2[0],
|
|
70
97
|
setActive = _useState2[1];
|
|
71
98
|
|
|
99
|
+
var dndContext = useDndContext();
|
|
100
|
+
var currentSchema = props.rows[props.index];
|
|
101
|
+
var activeSchema = (_dndContext$active2 = dndContext.active) === null || _dndContext$active2 === void 0 ? void 0 : (_dndContext$active2$d = _dndContext$active2.data.current) === null || _dndContext$active2$d === void 0 ? void 0 : (_dndContext$active2$d2 = _dndContext$active2$d.schema) === null || _dndContext$active2$d2 === void 0 ? void 0 : _dndContext$active2$d2.parent.parent;
|
|
102
|
+
var colsLength = activeSchema === null || activeSchema === void 0 ? void 0 : activeSchema.mapProperties(function (schema) {
|
|
103
|
+
return schema['x-component'] === 'Grid.Col';
|
|
104
|
+
}).filter(Boolean).length;
|
|
105
|
+
var visible = true; // col > 1 时不需要隐藏
|
|
106
|
+
|
|
107
|
+
if (colsLength === 1) {
|
|
108
|
+
if (props.first) {
|
|
109
|
+
visible = activeSchema !== props.rows[0];
|
|
110
|
+
} else {
|
|
111
|
+
var downSchema = props.rows[props.index + 1];
|
|
112
|
+
visible = activeSchema !== currentSchema && downSchema !== activeSchema;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
72
116
|
useDndMonitor({
|
|
73
117
|
onDragStart: function onDragStart(event) {
|
|
74
118
|
setActive(true);
|
|
@@ -83,7 +127,7 @@ var RowDivider = function RowDivider(props) {
|
|
|
83
127
|
}
|
|
84
128
|
});
|
|
85
129
|
return /*#__PURE__*/React.createElement("span", {
|
|
86
|
-
ref: setNodeRef,
|
|
130
|
+
ref: visible ? setNodeRef : null,
|
|
87
131
|
className: cls('nb-row-divider', css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n height: 24px;\n width: 100%;\n position: absolute;\n margin-top: -24px;\n "])))),
|
|
88
132
|
style: _objectSpread({
|
|
89
133
|
zIndex: active ? 1000 : -1
|
|
@@ -165,6 +209,7 @@ export var useGridRowContext = function useGridRowContext() {
|
|
|
165
209
|
return useContext(GridRowContext);
|
|
166
210
|
};
|
|
167
211
|
export var Grid = observer(function (props) {
|
|
212
|
+
var gridRef = useRef(null);
|
|
168
213
|
var field = useField();
|
|
169
214
|
var fieldSchema = useFieldSchema();
|
|
170
215
|
|
|
@@ -173,8 +218,16 @@ export var Grid = observer(function (props) {
|
|
|
173
218
|
|
|
174
219
|
var addr = field.address.toString();
|
|
175
220
|
var rows = useRowProperties();
|
|
221
|
+
|
|
222
|
+
var _useFormBlockContext = useFormBlockContext(),
|
|
223
|
+
setPrintContent = _useFormBlockContext.setPrintContent;
|
|
224
|
+
|
|
225
|
+
useEffect(function () {
|
|
226
|
+
gridRef.current && (setPrintContent === null || setPrintContent === void 0 ? void 0 : setPrintContent(gridRef.current));
|
|
227
|
+
}, [gridRef.current]);
|
|
176
228
|
return /*#__PURE__*/React.createElement(GridContext.Provider, {
|
|
177
229
|
value: {
|
|
230
|
+
ref: gridRef,
|
|
178
231
|
fieldSchema: fieldSchema,
|
|
179
232
|
renderSchemaInitializer: render
|
|
180
233
|
}
|
|
@@ -182,12 +235,16 @@ export var Grid = observer(function (props) {
|
|
|
182
235
|
className: 'nb-grid',
|
|
183
236
|
style: {
|
|
184
237
|
position: 'relative'
|
|
185
|
-
}
|
|
238
|
+
},
|
|
239
|
+
ref: gridRef
|
|
186
240
|
}, /*#__PURE__*/React.createElement(DndWrapper, {
|
|
187
241
|
dndContext: props.dndContext
|
|
188
242
|
}, /*#__PURE__*/React.createElement(RowDivider, {
|
|
243
|
+
rows: rows,
|
|
244
|
+
first: true,
|
|
189
245
|
id: "".concat(addr, "_0"),
|
|
190
246
|
data: {
|
|
247
|
+
breakRemoveOn: breakRemoveOnGrid,
|
|
191
248
|
wrapSchema: wrapRowSchema,
|
|
192
249
|
insertAdjacent: 'afterBegin',
|
|
193
250
|
schema: fieldSchema
|
|
@@ -199,8 +256,11 @@ export var Grid = observer(function (props) {
|
|
|
199
256
|
name: schema.name,
|
|
200
257
|
schema: schema
|
|
201
258
|
}), /*#__PURE__*/React.createElement(RowDivider, {
|
|
259
|
+
rows: rows,
|
|
260
|
+
index: index,
|
|
202
261
|
id: "".concat(addr, "_").concat(index + 1),
|
|
203
262
|
data: {
|
|
263
|
+
breakRemoveOn: breakRemoveOnGrid,
|
|
204
264
|
wrapSchema: wrapRowSchema,
|
|
205
265
|
insertAdjacent: 'afterEnd',
|
|
206
266
|
schema: schema
|
|
@@ -220,8 +280,11 @@ Grid.Row = observer(function (props) {
|
|
|
220
280
|
}, /*#__PURE__*/React.createElement("div", {
|
|
221
281
|
className: cls('nb-grid-row', css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin: 0 -24px;\n display: flex;\n position: relative;\n /* z-index: 0; */\n "]))))
|
|
222
282
|
}, /*#__PURE__*/React.createElement(ColDivider, {
|
|
283
|
+
cols: cols,
|
|
284
|
+
first: true,
|
|
223
285
|
id: "".concat(addr, "_0"),
|
|
224
286
|
data: {
|
|
287
|
+
breakRemoveOn: breakRemoveOnRow,
|
|
225
288
|
wrapSchema: wrapColSchema,
|
|
226
289
|
insertAdjacent: 'afterBegin',
|
|
227
290
|
schema: fieldSchema
|
|
@@ -233,8 +296,11 @@ Grid.Row = observer(function (props) {
|
|
|
233
296
|
name: schema.name,
|
|
234
297
|
schema: schema
|
|
235
298
|
}), /*#__PURE__*/React.createElement(ColDivider, {
|
|
299
|
+
cols: cols,
|
|
300
|
+
index: index,
|
|
236
301
|
id: "".concat(addr, "_").concat(index + 1),
|
|
237
302
|
data: {
|
|
303
|
+
breakRemoveOn: breakRemoveOnRow,
|
|
238
304
|
wrapSchema: wrapColSchema,
|
|
239
305
|
insertAdjacent: 'afterEnd',
|
|
240
306
|
schema: schema
|
|
@@ -1,7 +1,3 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare const InputNumber: React.ForwardRefExoticComponent<Pick<Partial<
|
|
3
|
-
children?: React.ReactNode;
|
|
4
|
-
} & {
|
|
5
|
-
ref?: React.Ref<HTMLInputElement>;
|
|
6
|
-
}>, keyof import("antd").InputNumberProps<string | number>> & React.RefAttributes<unknown>>;
|
|
2
|
+
export declare const InputNumber: React.ForwardRefExoticComponent<Pick<Partial<any>, string | number | symbol> & React.RefAttributes<unknown>>;
|
|
7
3
|
export default InputNumber;
|
|
@@ -1,5 +1,29 @@
|
|
|
1
|
+
var _excluded = ["onChange"];
|
|
2
|
+
|
|
3
|
+
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; }
|
|
4
|
+
|
|
5
|
+
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; }
|
|
6
|
+
|
|
7
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
8
|
+
|
|
9
|
+
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; }
|
|
10
|
+
|
|
11
|
+
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; }
|
|
12
|
+
|
|
1
13
|
import { connect, mapReadPretty } from '@formily/react';
|
|
2
14
|
import { InputNumber as AntdNumber } from 'antd';
|
|
15
|
+
import React from 'react';
|
|
3
16
|
import { ReadPretty } from './ReadPretty';
|
|
4
|
-
export var InputNumber = connect(
|
|
17
|
+
export var InputNumber = connect(function (props) {
|
|
18
|
+
var onChange = props.onChange,
|
|
19
|
+
others = _objectWithoutProperties(props, _excluded);
|
|
20
|
+
|
|
21
|
+
var handleChange = function handleChange(v) {
|
|
22
|
+
onChange(parseFloat(v));
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
return /*#__PURE__*/React.createElement(AntdNumber, _objectSpread({
|
|
26
|
+
onChange: handleChange
|
|
27
|
+
}, others));
|
|
28
|
+
}, mapReadPretty(ReadPretty));
|
|
5
29
|
export default InputNumber;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { isValid } from '@formily/shared';
|
|
2
|
-
import {
|
|
3
|
-
import { getNumberPrecision } from 'rc-input-number/lib/utils/numberUtil';
|
|
2
|
+
import { toFixedByStep } from '@nocobase/utils/client';
|
|
4
3
|
import React from 'react';
|
|
5
4
|
export var ReadPretty = function ReadPretty(props) {
|
|
6
5
|
var step = props.step,
|
|
@@ -12,8 +11,7 @@ export var ReadPretty = function ReadPretty(props) {
|
|
|
12
11
|
return /*#__PURE__*/React.createElement("div", null);
|
|
13
12
|
}
|
|
14
13
|
|
|
15
|
-
var precision = Math.max(getNumberPrecision(String(value)), getNumberPrecision(step));
|
|
16
14
|
return /*#__PURE__*/React.createElement("div", {
|
|
17
15
|
className: 'nb-read-pretty-input-number'
|
|
18
|
-
}, addonBefore,
|
|
16
|
+
}, addonBefore, toFixedByStep(value, step), addonAfter);
|
|
19
17
|
};
|
|
@@ -57,6 +57,25 @@ export var KanbanCardDesigner = function KanbanCardDesigner(props) {
|
|
|
57
57
|
readPretty: true,
|
|
58
58
|
block: 'Kanban'
|
|
59
59
|
});
|
|
60
|
+
var associationFields = useAssociatedFormItemInitializerFields({
|
|
61
|
+
readPretty: true,
|
|
62
|
+
block: 'Kanban'
|
|
63
|
+
});
|
|
64
|
+
var items = [{
|
|
65
|
+
type: 'itemGroup',
|
|
66
|
+
title: t('Display fields'),
|
|
67
|
+
children: fields
|
|
68
|
+
}];
|
|
69
|
+
|
|
70
|
+
if (associationFields.length > 0) {
|
|
71
|
+
items.push({
|
|
72
|
+
type: 'divider'
|
|
73
|
+
}, {
|
|
74
|
+
type: 'itemGroup',
|
|
75
|
+
title: t('Display association fields'),
|
|
76
|
+
children: associationFields
|
|
77
|
+
});
|
|
78
|
+
}
|
|
60
79
|
|
|
61
80
|
if (!designable) {
|
|
62
81
|
return null;
|
|
@@ -93,20 +112,7 @@ export var KanbanCardDesigner = function KanbanCardDesigner(props) {
|
|
|
93
112
|
dn.loadAPIClientEvents();
|
|
94
113
|
dn.insertBeforeEnd(schema);
|
|
95
114
|
},
|
|
96
|
-
items:
|
|
97
|
-
type: 'itemGroup',
|
|
98
|
-
title: t('Display fields'),
|
|
99
|
-
children: fields
|
|
100
|
-
}, {
|
|
101
|
-
type: 'divider'
|
|
102
|
-
}, {
|
|
103
|
-
type: 'itemGroup',
|
|
104
|
-
title: t('Display association fields'),
|
|
105
|
-
children: useAssociatedFormItemInitializerFields({
|
|
106
|
-
readPretty: true,
|
|
107
|
-
block: 'Kanban'
|
|
108
|
-
})
|
|
109
|
-
}],
|
|
115
|
+
items: items,
|
|
110
116
|
component: /*#__PURE__*/React.createElement(MenuOutlined, {
|
|
111
117
|
style: {
|
|
112
118
|
cursor: 'pointer',
|