@hi-ui/schema-fields 4.0.0-experimental.1
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/README.md +11 -0
- package/lib/cjs/base.js +125 -0
- package/lib/cjs/components/image-preview/index.js +63 -0
- package/lib/cjs/components/span/index.js +33 -0
- package/lib/cjs/components/upload-bridge/index.js +227 -0
- package/lib/cjs/components/upload-bridge/utils.js +73 -0
- package/lib/cjs/ctx.js +70 -0
- package/lib/cjs/editable/ctx.js +45 -0
- package/lib/cjs/editable/editable.js +141 -0
- package/lib/cjs/editable/index.js +62 -0
- package/lib/cjs/editable/readonly.js +36 -0
- package/lib/cjs/editable/simple.js +61 -0
- package/lib/cjs/editable/use-readonly.js +200 -0
- package/lib/cjs/extensible/selectable/index.js +114 -0
- package/lib/cjs/extensible/selectable/match-cascader.js +184 -0
- package/lib/cjs/fields/basic/cascader/index.js +98 -0
- package/lib/cjs/fields/basic/check-cascader/index.js +58 -0
- package/lib/cjs/fields/basic/check-select/index.js +89 -0
- package/lib/cjs/fields/basic/check-tree-select/index.js +61 -0
- package/lib/cjs/fields/basic/checkbox/index.js +84 -0
- package/lib/cjs/fields/basic/counter/index.js +40 -0
- package/lib/cjs/fields/basic/radio/index.js +44 -0
- package/lib/cjs/fields/basic/rating/index.js +40 -0
- package/lib/cjs/fields/basic/select/index.js +98 -0
- package/lib/cjs/fields/basic/slider/index.js +40 -0
- package/lib/cjs/fields/basic/switch/index.js +47 -0
- package/lib/cjs/fields/basic/textarea/index.js +40 -0
- package/lib/cjs/fields/basic/time-picker/index.js +45 -0
- package/lib/cjs/fields/basic/time-picker/index.scss.js +18 -0
- package/lib/cjs/fields/basic/tree-select/index.js +61 -0
- package/lib/cjs/fields/basic/upload/custom.js +29 -0
- package/lib/cjs/fields/basic/upload/index.js +48 -0
- package/lib/cjs/fields/enhance/number-range/index.js +39 -0
- package/lib/cjs/fields/semantic/date/index.js +82 -0
- package/lib/cjs/fields/semantic/image/index.js +65 -0
- package/lib/cjs/fields/semantic/image/upload.js +32 -0
- package/lib/cjs/fields/semantic/link/index.js +96 -0
- package/lib/cjs/fields/semantic/number/index.js +106 -0
- package/lib/cjs/fields/semantic/tag/index.js +164 -0
- package/lib/cjs/fields/semantic/tag/index.scss.js +18 -0
- package/lib/cjs/fields/semantic/text/index.js +61 -0
- package/lib/cjs/index.js +145 -0
- package/lib/cjs/utils/batch-dep-update.js +40 -0
- package/lib/cjs/utils/form-binding.js +40 -0
- package/lib/cjs/utils/label.js +34 -0
- package/lib/cjs/utils.js +35 -0
- package/lib/esm/base.js +111 -0
- package/lib/esm/components/image-preview/index.js +49 -0
- package/lib/esm/components/span/index.js +20 -0
- package/lib/esm/components/upload-bridge/index.js +214 -0
- package/lib/esm/components/upload-bridge/utils.js +66 -0
- package/lib/esm/ctx.js +55 -0
- package/lib/esm/editable/ctx.js +32 -0
- package/lib/esm/editable/editable.js +129 -0
- package/lib/esm/editable/index.js +44 -0
- package/lib/esm/editable/readonly.js +24 -0
- package/lib/esm/editable/simple.js +49 -0
- package/lib/esm/editable/use-readonly.js +193 -0
- package/lib/esm/extensible/selectable/index.js +101 -0
- package/lib/esm/extensible/selectable/match-cascader.js +179 -0
- package/lib/esm/fields/basic/cascader/index.js +83 -0
- package/lib/esm/fields/basic/check-cascader/index.js +44 -0
- package/lib/esm/fields/basic/check-select/index.js +75 -0
- package/lib/esm/fields/basic/check-tree-select/index.js +47 -0
- package/lib/esm/fields/basic/checkbox/index.js +70 -0
- package/lib/esm/fields/basic/counter/index.js +26 -0
- package/lib/esm/fields/basic/radio/index.js +30 -0
- package/lib/esm/fields/basic/rating/index.js +26 -0
- package/lib/esm/fields/basic/select/index.js +83 -0
- package/lib/esm/fields/basic/slider/index.js +26 -0
- package/lib/esm/fields/basic/switch/index.js +33 -0
- package/lib/esm/fields/basic/textarea/index.js +26 -0
- package/lib/esm/fields/basic/time-picker/index.js +31 -0
- package/lib/esm/fields/basic/time-picker/index.scss.js +13 -0
- package/lib/esm/fields/basic/tree-select/index.js +47 -0
- package/lib/esm/fields/basic/upload/custom.js +16 -0
- package/lib/esm/fields/basic/upload/index.js +34 -0
- package/lib/esm/fields/enhance/number-range/index.js +26 -0
- package/lib/esm/fields/semantic/date/index.js +67 -0
- package/lib/esm/fields/semantic/image/index.js +51 -0
- package/lib/esm/fields/semantic/image/upload.js +20 -0
- package/lib/esm/fields/semantic/link/index.js +82 -0
- package/lib/esm/fields/semantic/number/index.js +91 -0
- package/lib/esm/fields/semantic/tag/index.js +149 -0
- package/lib/esm/fields/semantic/tag/index.scss.js +13 -0
- package/lib/esm/fields/semantic/text/index.js +47 -0
- package/lib/esm/index.js +85 -0
- package/lib/esm/utils/batch-dep-update.js +35 -0
- package/lib/esm/utils/form-binding.js +34 -0
- package/lib/esm/utils/label.js +21 -0
- package/lib/esm/utils.js +27 -0
- package/lib/types/base.d.ts +44 -0
- package/lib/types/components/async-refill-placeholder/index.d.ts +7 -0
- package/lib/types/components/image-preview/index.d.ts +5 -0
- package/lib/types/components/span/index.d.ts +8 -0
- package/lib/types/components/upload-bridge/index.d.ts +5 -0
- package/lib/types/components/upload-bridge/type.d.ts +26 -0
- package/lib/types/components/upload-bridge/utils.d.ts +11 -0
- package/lib/types/ctx.d.ts +21 -0
- package/lib/types/editable/ctx.d.ts +5 -0
- package/lib/types/editable/editable.d.ts +18 -0
- package/lib/types/editable/index.d.ts +14 -0
- package/lib/types/editable/readonly.d.ts +8 -0
- package/lib/types/editable/simple.d.ts +8 -0
- package/lib/types/editable/type.d.ts +9 -0
- package/lib/types/editable/use-readonly.d.ts +26 -0
- package/lib/types/extensible/selectable/index.d.ts +31 -0
- package/lib/types/extensible/selectable/match-cascader.d.ts +19 -0
- package/lib/types/extensible/selectable/type.d.ts +16 -0
- package/lib/types/fields/basic/cascader/index.d.ts +10 -0
- package/lib/types/fields/basic/check-cascader/index.d.ts +11 -0
- package/lib/types/fields/basic/check-select/index.d.ts +34 -0
- package/lib/types/fields/basic/check-tree-select/index.d.ts +10 -0
- package/lib/types/fields/basic/checkbox/index.d.ts +19 -0
- package/lib/types/fields/basic/counter/index.d.ts +7 -0
- package/lib/types/fields/basic/radio/index.d.ts +7 -0
- package/lib/types/fields/basic/rating/index.d.ts +7 -0
- package/lib/types/fields/basic/select/index.d.ts +12 -0
- package/lib/types/fields/basic/slider/index.d.ts +7 -0
- package/lib/types/fields/basic/switch/index.d.ts +7 -0
- package/lib/types/fields/basic/textarea/index.d.ts +7 -0
- package/lib/types/fields/basic/time-picker/index.d.ts +8 -0
- package/lib/types/fields/basic/tree-select/index.d.ts +11 -0
- package/lib/types/fields/basic/upload/custom.d.ts +3 -0
- package/lib/types/fields/basic/upload/index.d.ts +8 -0
- package/lib/types/fields/enhance/number-range/index.d.ts +7 -0
- package/lib/types/fields/semantic/date/index.d.ts +15 -0
- package/lib/types/fields/semantic/image/index.d.ts +11 -0
- package/lib/types/fields/semantic/image/upload.d.ts +3 -0
- package/lib/types/fields/semantic/link/index.d.ts +31 -0
- package/lib/types/fields/semantic/number/index.d.ts +21 -0
- package/lib/types/fields/semantic/tag/index.d.ts +78 -0
- package/lib/types/fields/semantic/text/index.d.ts +13 -0
- package/lib/types/index.d.ts +108 -0
- package/lib/types/utils/batch-dep-update.d.ts +13 -0
- package/lib/types/utils/form-binding.d.ts +11 -0
- package/lib/types/utils/label.d.ts +11 -0
- package/lib/types/utils.d.ts +15 -0
- package/package.json +98 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/schema-fields
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/schema/schema-fields#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HiUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
Object.defineProperty(exports, '__esModule', {
|
|
13
|
+
value: true
|
|
14
|
+
});
|
|
15
|
+
function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
|
16
|
+
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
|
|
17
|
+
if (it) return (it = it.call(o)).next.bind(it);
|
|
18
|
+
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
19
|
+
if (it) o = it;
|
|
20
|
+
var i = 0;
|
|
21
|
+
return function () {
|
|
22
|
+
if (i >= o.length) return {
|
|
23
|
+
done: true
|
|
24
|
+
};
|
|
25
|
+
return {
|
|
26
|
+
done: false,
|
|
27
|
+
value: o[i++]
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
32
|
+
}
|
|
33
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
34
|
+
if (!o) return;
|
|
35
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
36
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
37
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
38
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
39
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
40
|
+
}
|
|
41
|
+
function _arrayLikeToArray(arr, len) {
|
|
42
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
43
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) {
|
|
44
|
+
arr2[i] = arr[i];
|
|
45
|
+
}
|
|
46
|
+
return arr2;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* 在嵌套选项数据中匹配多个路径
|
|
50
|
+
* @param values 二维数组,包含多个级联路径,例如 [['hubei', 'wuhan'], ['guangdong', 'shenzhen']]
|
|
51
|
+
* @param options 嵌套选项数据,包含 children 的树形结构
|
|
52
|
+
* @param extra 配置选项
|
|
53
|
+
* @returns 二维数组,保持输入的结构,每个路径对应一个匹配的选项链数组
|
|
54
|
+
*
|
|
55
|
+
* 边界条件处理:
|
|
56
|
+
* - 部分匹配:如果路径中某一层找不到,返回已匹配的部分(而不是空数组)
|
|
57
|
+
* - 缺失title:如果选项的title字段不存在,自动使用id字段作为默认值
|
|
58
|
+
* - 完全不匹配:如果第一层就找不到,返回空数组
|
|
59
|
+
*/
|
|
60
|
+
function matchCascaderOpts(values, options, extra) {
|
|
61
|
+
if (extra === void 0) {
|
|
62
|
+
extra = {};
|
|
63
|
+
}
|
|
64
|
+
var _extra = extra,
|
|
65
|
+
_extra$fieldNames = _extra.fieldNames,
|
|
66
|
+
fieldNames = _extra$fieldNames === void 0 ? {} : _extra$fieldNames;
|
|
67
|
+
var _fieldNames$id = fieldNames.id,
|
|
68
|
+
idFieldKey = _fieldNames$id === void 0 ? 'id' : _fieldNames$id,
|
|
69
|
+
_fieldNames$title = fieldNames.title,
|
|
70
|
+
titleFieldKey = _fieldNames$title === void 0 ? 'title' : _fieldNames$title;
|
|
71
|
+
/**
|
|
72
|
+
* 根据单个路径查找对应的选项链
|
|
73
|
+
* @param path 单个路径数组,例如 ['hubei', 'wuhan']
|
|
74
|
+
* @param opts 当前层级的选项数据
|
|
75
|
+
* @returns 匹配的选项数组
|
|
76
|
+
*/
|
|
77
|
+
function findPathOptions(path, opts) {
|
|
78
|
+
var result = [];
|
|
79
|
+
var currentOptions = opts;
|
|
80
|
+
var _loop = function _loop() {
|
|
81
|
+
var valueId = _step.value;
|
|
82
|
+
var found = currentOptions.find(function (item) {
|
|
83
|
+
return String(item[idFieldKey]) === String(valueId);
|
|
84
|
+
});
|
|
85
|
+
if (found) {
|
|
86
|
+
result.push(found);
|
|
87
|
+
// 如果还有下一层,继续在 children 中查找
|
|
88
|
+
currentOptions = found.children || [];
|
|
89
|
+
} else {
|
|
90
|
+
// 如果某一层找不到对应的选项,就停止查找
|
|
91
|
+
return "break";
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
for (var _iterator = _createForOfIteratorHelperLoose(path), _step; !(_step = _iterator()).done;) {
|
|
95
|
+
var _ret = _loop();
|
|
96
|
+
if (_ret === "break") break;
|
|
97
|
+
}
|
|
98
|
+
// 返回部分匹配的结果,即使路径不完整也返回已匹配的部分
|
|
99
|
+
return result;
|
|
100
|
+
}
|
|
101
|
+
try {
|
|
102
|
+
// 转换函数:将原始选项转换为 MatchedNestOptsType 格式
|
|
103
|
+
// const convertToMatchedType =
|
|
104
|
+
// 处理每个路径,保持二维数组结构
|
|
105
|
+
return values.map(function (path) {
|
|
106
|
+
if (!Array.isArray(path)) return [];
|
|
107
|
+
var pathOptions = findPathOptions(path, options);
|
|
108
|
+
return pathOptions.map(function (option) {
|
|
109
|
+
var id = option[idFieldKey];
|
|
110
|
+
var title = option[titleFieldKey] || String(id); // 如果 title 不存在,使用 id 作为默认值
|
|
111
|
+
return {
|
|
112
|
+
id: id,
|
|
113
|
+
title: title
|
|
114
|
+
};
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
} catch (error) {
|
|
118
|
+
console.error('matchCascaderOpts', error);
|
|
119
|
+
return [];
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// 测试用例示例(可取消注释运行)
|
|
123
|
+
/*
|
|
124
|
+
const testOpts = [
|
|
125
|
+
{
|
|
126
|
+
id: 'hubei',
|
|
127
|
+
title: '湖北',
|
|
128
|
+
children: [
|
|
129
|
+
{ id: 'wuhan', title: '武汉' },
|
|
130
|
+
{ id: 'xiangyang', title: '襄阳' },
|
|
131
|
+
{ id: 'noTitle' }, // 测试没有 title 的情况
|
|
132
|
+
],
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
id: 'beijing',
|
|
136
|
+
title: '北京',
|
|
137
|
+
children: [
|
|
138
|
+
{ id: 'haidian', title: '海淀' },
|
|
139
|
+
{ id: 'chaoyang', title: '朝阳' },
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
id: 'guangdong',
|
|
144
|
+
// 测试第一层没有 title 的情况
|
|
145
|
+
children: [{ id: 'shenzhen', title: '深圳' }],
|
|
146
|
+
},
|
|
147
|
+
]
|
|
148
|
+
|
|
149
|
+
// 边界条件测试用例
|
|
150
|
+
console.log('=== 正常匹配 ===')
|
|
151
|
+
console.log(matchCascaderOpts([['hubei', 'wuhan']], testOpts))
|
|
152
|
+
// 预期输出: [[{ id: 'hubei', title: '湖北' }, { id: 'wuhan', title: '武汉' }]]
|
|
153
|
+
|
|
154
|
+
console.log('\n=== 第一层查到,第二层没查到(部分匹配) ===')
|
|
155
|
+
console.log(matchCascaderOpts([['hubei', 'nonexistent']], testOpts))
|
|
156
|
+
// 预期输出: [[{ id: 'hubei', title: '湖北' }]]
|
|
157
|
+
|
|
158
|
+
console.log('\n=== ID查到了,title没查到(使用ID作为默认值) ===')
|
|
159
|
+
console.log(matchCascaderOpts([['hubei', 'noTitle']], testOpts))
|
|
160
|
+
// 预期输出: [[{ id: 'hubei', title: '湖北' }, { id: 'noTitle', title: 'noTitle' }]]
|
|
161
|
+
|
|
162
|
+
console.log('\n=== 第一层没有title(使用ID作为默认值) ===')
|
|
163
|
+
console.log(matchCascaderOpts([['guangdong', 'shenzhen']], testOpts))
|
|
164
|
+
// 预期输出: [[{ id: 'guangdong', title: 'guangdong' }, { id: 'shenzhen', title: '深圳' }]]
|
|
165
|
+
|
|
166
|
+
console.log('\n=== 完全匹配不到 ===')
|
|
167
|
+
console.log(matchCascaderOpts([['nonexistent', 'city']], testOpts))
|
|
168
|
+
// 预期输出: [[]]
|
|
169
|
+
|
|
170
|
+
console.log('\n=== 多路径混合测试 ===')
|
|
171
|
+
console.log(
|
|
172
|
+
matchCascaderOpts(
|
|
173
|
+
[
|
|
174
|
+
['hubei', 'wuhan'], // 正常匹配
|
|
175
|
+
['hubei', 'nonexistent'], // 部分匹配
|
|
176
|
+
['guangdong', 'shenzhen'], // 第一层无title
|
|
177
|
+
['nonexistent'], // 完全不匹配
|
|
178
|
+
],
|
|
179
|
+
testOpts
|
|
180
|
+
)
|
|
181
|
+
)
|
|
182
|
+
*/
|
|
183
|
+
|
|
184
|
+
exports.matchCascaderOpts = matchCascaderOpts;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/schema-fields
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/schema/schema-fields#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HiUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
+
Object.defineProperty(exports, '__esModule', {
|
|
14
|
+
value: true
|
|
15
|
+
});
|
|
16
|
+
var _inheritsLoose = require('@babel/runtime/helpers/inheritsLoose');
|
|
17
|
+
var React = require('react');
|
|
18
|
+
var Cascader = require('@hi-ui/cascader');
|
|
19
|
+
var schemaOptionInjector = require('@hi-ui/schema-option-injector');
|
|
20
|
+
var schemaInterruptInjector = require('@hi-ui/schema-interrupt-injector');
|
|
21
|
+
var index = require('../../../extensible/selectable/index.js');
|
|
22
|
+
var matchCascader = require('../../../extensible/selectable/match-cascader.js');
|
|
23
|
+
function _interopDefaultCompat(e) {
|
|
24
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
25
|
+
'default': e
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
var _inheritsLoose__default = /*#__PURE__*/_interopDefaultCompat(_inheritsLoose);
|
|
29
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
30
|
+
var Cascader__default = /*#__PURE__*/_interopDefaultCompat(Cascader);
|
|
31
|
+
var ProCascader = /*#__PURE__*/function (_ProSelectableField) {
|
|
32
|
+
_inheritsLoose__default["default"](ProCascader, _ProSelectableField);
|
|
33
|
+
function ProCascader() {
|
|
34
|
+
return _ProSelectableField.apply(this, arguments) || this;
|
|
35
|
+
}
|
|
36
|
+
var _proto = ProCascader.prototype;
|
|
37
|
+
_proto.renderFormItem = function renderFormItem(_, ctx) {
|
|
38
|
+
var _a, _b;
|
|
39
|
+
var fieldProps = this.getFieldProps({
|
|
40
|
+
overlay: (_a = ctx.field.extra) === null || _a === void 0 ? void 0 : _a.popperProps
|
|
41
|
+
}, ctx);
|
|
42
|
+
// 过滤掉原始参数中的自引用属性,防止 immer 在处理数据时出现崩溃
|
|
43
|
+
var hookedSetSelectedRawOption = this.hookedSetSelectedRawOption.bind(this, ctx);
|
|
44
|
+
return /*#__PURE__*/React__default["default"].createElement(schemaOptionInjector.AsyncOptsDataInjector
|
|
45
|
+
// options
|
|
46
|
+
, Object.assign({}, fieldProps, {
|
|
47
|
+
renderCtx: ctx,
|
|
48
|
+
setSelectedRawOption: hookedSetSelectedRawOption
|
|
49
|
+
}), /*#__PURE__*/React__default["default"].createElement(schemaInterruptInjector.InterruptInjector, {
|
|
50
|
+
config: (_b = ctx.field.control) === null || _b === void 0 ? void 0 : _b.interrupt
|
|
51
|
+
}, /*#__PURE__*/React__default["default"].createElement(Cascader__default["default"], null)));
|
|
52
|
+
};
|
|
53
|
+
_proto.renderEditable = function renderEditable(data, ctx) {
|
|
54
|
+
// 首先尝试渲染已选中元素的标题
|
|
55
|
+
var selectedEl = this.renderEditableForStringSelected(data, ctx);
|
|
56
|
+
if (selectedEl) return selectedEl;
|
|
57
|
+
// 随后尝试渲染首次回显元素
|
|
58
|
+
var firstRefillEl = this.renderEditableForStringFirstRefill(data, ctx, {
|
|
59
|
+
dftRender: _ProSelectableField.prototype.renderEditable.bind(this),
|
|
60
|
+
RefillComponent: CascaderRefillPlaceholder
|
|
61
|
+
});
|
|
62
|
+
if (firstRefillEl) return firstRefillEl;
|
|
63
|
+
return _ProSelectableField.prototype.renderEditable.call(this, data, ctx, {
|
|
64
|
+
suffix: this.suffixEl
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
return ProCascader;
|
|
68
|
+
}(index.ProSelectableField);
|
|
69
|
+
function CascaderRefillPlaceholder(props) {
|
|
70
|
+
var _a, _b, _c, _d;
|
|
71
|
+
var _props$data = props.data,
|
|
72
|
+
options = _props$data === void 0 ? [] : _props$data,
|
|
73
|
+
ctx = props.ctx,
|
|
74
|
+
fieldNames = props.fieldNames,
|
|
75
|
+
instance = props.instance;
|
|
76
|
+
try {
|
|
77
|
+
var _hereValue = (_a = props.value) !== null && _a !== void 0 ? _a : [];
|
|
78
|
+
// 使用公用的 matchCascaderOpts 函数 // 注意这里取了0
|
|
79
|
+
var matchedOptions = (_b = matchCascader.matchCascaderOpts([_hereValue], options, {
|
|
80
|
+
fieldNames: fieldNames
|
|
81
|
+
})[0]) !== null && _b !== void 0 ? _b : [];
|
|
82
|
+
// 显示所有匹配到的标题
|
|
83
|
+
var displayTitle = matchedOptions.map(function (item) {
|
|
84
|
+
return item.title;
|
|
85
|
+
}).join('/');
|
|
86
|
+
// 最终是显示字符串,所以直接使用 dftRender 渲染
|
|
87
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, (_c = props.dftRender) === null || _c === void 0 ? void 0 : _c.call(props, displayTitle, ctx, {
|
|
88
|
+
suffix: instance.suffixEl
|
|
89
|
+
}));
|
|
90
|
+
} catch (error) {
|
|
91
|
+
console.error('CascaderRefillPlaceholder', error);
|
|
92
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, (_d = props.dftRender) === null || _d === void 0 ? void 0 : _d.call(props, props.value, ctx, {
|
|
93
|
+
suffix: instance.suffixEl
|
|
94
|
+
}));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
exports.CascaderRefillPlaceholder = CascaderRefillPlaceholder;
|
|
98
|
+
exports.ProCascader = ProCascader;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/schema-fields
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/schema/schema-fields#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HiUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
+
Object.defineProperty(exports, '__esModule', {
|
|
14
|
+
value: true
|
|
15
|
+
});
|
|
16
|
+
var _inheritsLoose = require('@babel/runtime/helpers/inheritsLoose');
|
|
17
|
+
var React = require('react');
|
|
18
|
+
var CheckCascader = require('@hi-ui/check-cascader');
|
|
19
|
+
var schemaOptionInjector = require('@hi-ui/schema-option-injector');
|
|
20
|
+
var index = require('../../../extensible/selectable/index.js');
|
|
21
|
+
function _interopDefaultCompat(e) {
|
|
22
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
23
|
+
'default': e
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
var _inheritsLoose__default = /*#__PURE__*/_interopDefaultCompat(_inheritsLoose);
|
|
27
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
28
|
+
var CheckCascader__default = /*#__PURE__*/_interopDefaultCompat(CheckCascader);
|
|
29
|
+
var ProCheckCascader = /*#__PURE__*/function (_ProSelectableField) {
|
|
30
|
+
_inheritsLoose__default["default"](ProCheckCascader, _ProSelectableField);
|
|
31
|
+
function ProCheckCascader() {
|
|
32
|
+
var _this;
|
|
33
|
+
_this = _ProSelectableField.apply(this, arguments) || this;
|
|
34
|
+
_this.dftFieldProps = {
|
|
35
|
+
changeOnSelect: true
|
|
36
|
+
};
|
|
37
|
+
return _this;
|
|
38
|
+
}
|
|
39
|
+
var _proto = ProCheckCascader.prototype;
|
|
40
|
+
_proto.renderFormItem = function renderFormItem(_, ctx) {
|
|
41
|
+
var _a;
|
|
42
|
+
var fieldProps = this.getFieldProps(Object.assign(Object.assign({}, this.dftFieldProps), {
|
|
43
|
+
overlay: (_a = ctx.field.extra) === null || _a === void 0 ? void 0 : _a.popperProps
|
|
44
|
+
}), ctx);
|
|
45
|
+
// 过滤掉原始参数中的自引用属性,防止 immer 在处理数据时出现崩溃
|
|
46
|
+
var hookedSetSelectedRawOption = this.hookedSetSelectedRawOption.bind(this, ctx);
|
|
47
|
+
return /*#__PURE__*/React__default["default"].createElement(schemaOptionInjector.AsyncOptsDataInjector
|
|
48
|
+
// options
|
|
49
|
+
, Object.assign({}, fieldProps, {
|
|
50
|
+
renderCtx: ctx,
|
|
51
|
+
setSelectedRawOption: hookedSetSelectedRawOption
|
|
52
|
+
}), /*#__PURE__*/React__default["default"].createElement(CheckCascader__default["default"], {
|
|
53
|
+
data: []
|
|
54
|
+
}));
|
|
55
|
+
};
|
|
56
|
+
return ProCheckCascader;
|
|
57
|
+
}(index.ProSelectableField);
|
|
58
|
+
exports.ProCheckCascader = ProCheckCascader;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/schema-fields
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/schema/schema-fields#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HiUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
+
Object.defineProperty(exports, '__esModule', {
|
|
14
|
+
value: true
|
|
15
|
+
});
|
|
16
|
+
var _inheritsLoose = require('@babel/runtime/helpers/inheritsLoose');
|
|
17
|
+
var tslib = require('tslib');
|
|
18
|
+
var React = require('react');
|
|
19
|
+
var CheckSelect = require('@hi-ui/check-select');
|
|
20
|
+
var schemaOptionInjector = require('@hi-ui/schema-option-injector');
|
|
21
|
+
var index$1 = require('../../../extensible/selectable/index.js');
|
|
22
|
+
var index = require('../../semantic/tag/index.js');
|
|
23
|
+
function _interopDefaultCompat(e) {
|
|
24
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
25
|
+
'default': e
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
var _inheritsLoose__default = /*#__PURE__*/_interopDefaultCompat(_inheritsLoose);
|
|
29
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
30
|
+
var CheckSelect__default = /*#__PURE__*/_interopDefaultCompat(CheckSelect);
|
|
31
|
+
var ProCheckSelect = /*#__PURE__*/function (_ProSelectableField) {
|
|
32
|
+
_inheritsLoose__default["default"](ProCheckSelect, _ProSelectableField);
|
|
33
|
+
function ProCheckSelect() {
|
|
34
|
+
return _ProSelectableField.apply(this, arguments) || this;
|
|
35
|
+
}
|
|
36
|
+
var _proto = ProCheckSelect.prototype;
|
|
37
|
+
_proto.render = function render(data, ctx) {
|
|
38
|
+
var title = this.getOptionTitle(ctx) || data;
|
|
39
|
+
var tagRef = this.tagRef || new index.ProTag();
|
|
40
|
+
this.tagRef = tagRef;
|
|
41
|
+
var _this$getSelfFieldPro = this.getSelfFieldProps(ctx),
|
|
42
|
+
tagProps = _this$getSelfFieldPro.tagProps;
|
|
43
|
+
return tagRef.render(title, Object.assign(Object.assign({}, ctx), {
|
|
44
|
+
field: {
|
|
45
|
+
fieldProps: tagProps
|
|
46
|
+
}
|
|
47
|
+
}));
|
|
48
|
+
};
|
|
49
|
+
_proto.getSelfFieldProps = function getSelfFieldProps(ctx) {
|
|
50
|
+
var _a;
|
|
51
|
+
var _b = this.getFieldProps({
|
|
52
|
+
placeholder: this.getDftPlaceholder(ctx),
|
|
53
|
+
overlay: (_a = ctx.field.extra) === null || _a === void 0 ? void 0 : _a.popperProps
|
|
54
|
+
}, ctx),
|
|
55
|
+
bordered = _b.bordered,
|
|
56
|
+
colorPreset = _b.colorPreset,
|
|
57
|
+
tagProps = _b.tagProps,
|
|
58
|
+
fieldProps = tslib.__rest(_b, ["bordered", "colorPreset", "tagProps"]);
|
|
59
|
+
return {
|
|
60
|
+
fieldProps: fieldProps,
|
|
61
|
+
tagProps: Object.assign({
|
|
62
|
+
bordered: bordered,
|
|
63
|
+
colorPreset: colorPreset
|
|
64
|
+
}, tagProps)
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
_proto.renderFormItem = function renderFormItem(_, ctx) {
|
|
68
|
+
var _a;
|
|
69
|
+
var _this$getSelfFieldPro2 = this.getSelfFieldProps(ctx),
|
|
70
|
+
fieldProps = _this$getSelfFieldPro2.fieldProps;
|
|
71
|
+
return /*#__PURE__*/React__default["default"].createElement(schemaOptionInjector.AsyncOptsDataInjector, Object.assign({}, fieldProps, {
|
|
72
|
+
renderCtx: ctx,
|
|
73
|
+
setSelectedRawOption: (_a = ctx.field.payload) === null || _a === void 0 ? void 0 : _a.setSelectedRawOption
|
|
74
|
+
}), /*#__PURE__*/React__default["default"].createElement(CheckSelect__default["default"], null));
|
|
75
|
+
};
|
|
76
|
+
_proto.getDftPlaceholder = function getDftPlaceholder(ctx) {
|
|
77
|
+
var titleText = ctx.field._titleText;
|
|
78
|
+
if (titleText) return "\u8BF7\u9009\u62E9" + titleText;
|
|
79
|
+
};
|
|
80
|
+
_proto.renderEditable = function renderEditable(data, ctx) {
|
|
81
|
+
var dataKey = ctx.dataKey;
|
|
82
|
+
var title = this.getOptionTitle(ctx, dataKey);
|
|
83
|
+
return _ProSelectableField.prototype.renderEditable.call(this, title, ctx, {
|
|
84
|
+
suffix: this.suffixEl
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
return ProCheckSelect;
|
|
88
|
+
}(index$1.ProSelectableField);
|
|
89
|
+
exports.ProCheckSelect = ProCheckSelect;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/schema-fields
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/schema/schema-fields#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HiUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
+
Object.defineProperty(exports, '__esModule', {
|
|
14
|
+
value: true
|
|
15
|
+
});
|
|
16
|
+
var _inheritsLoose = require('@babel/runtime/helpers/inheritsLoose');
|
|
17
|
+
var React = require('react');
|
|
18
|
+
var CheckTreeSelect = require('@hi-ui/check-tree-select');
|
|
19
|
+
var schemaOptionInjector = require('@hi-ui/schema-option-injector');
|
|
20
|
+
var index = require('../../../extensible/selectable/index.js');
|
|
21
|
+
function _interopDefaultCompat(e) {
|
|
22
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
23
|
+
'default': e
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
var _inheritsLoose__default = /*#__PURE__*/_interopDefaultCompat(_inheritsLoose);
|
|
27
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
28
|
+
var CheckTreeSelect__default = /*#__PURE__*/_interopDefaultCompat(CheckTreeSelect);
|
|
29
|
+
var ProCheckTreeSelect = /*#__PURE__*/function (_ProSelectableField) {
|
|
30
|
+
_inheritsLoose__default["default"](ProCheckTreeSelect, _ProSelectableField);
|
|
31
|
+
function ProCheckTreeSelect() {
|
|
32
|
+
return _ProSelectableField.apply(this, arguments) || this;
|
|
33
|
+
}
|
|
34
|
+
var _proto = ProCheckTreeSelect.prototype;
|
|
35
|
+
_proto.render = function render(data, ctx) {
|
|
36
|
+
var title = this.getOptionTitle(ctx) || data;
|
|
37
|
+
return _ProSelectableField.prototype.render.call(this, title, ctx);
|
|
38
|
+
};
|
|
39
|
+
_proto.renderFormItem = function renderFormItem(_, ctx) {
|
|
40
|
+
var _a, _b;
|
|
41
|
+
var fieldProps = this.getFieldProps({
|
|
42
|
+
overlay: (_a = ctx.field.extra) === null || _a === void 0 ? void 0 : _a.popperProps
|
|
43
|
+
}, ctx);
|
|
44
|
+
// NOTE 实测 searchMode 不传时,无法开启搜索
|
|
45
|
+
// 考虑到是有接口搜索时,会按照关键字过滤,因此默认采用 filter 模式
|
|
46
|
+
if (fieldProps.request) fieldProps.searchMode = 'filter';
|
|
47
|
+
return /*#__PURE__*/React__default["default"].createElement(schemaOptionInjector.AsyncOptsDataInjector, Object.assign({}, fieldProps, {
|
|
48
|
+
renderCtx: ctx,
|
|
49
|
+
setSelectedRawOption: (_b = ctx.field.payload) === null || _b === void 0 ? void 0 : _b.setSelectedRawOption
|
|
50
|
+
}), /*#__PURE__*/React__default["default"].createElement(CheckTreeSelect__default["default"], null));
|
|
51
|
+
};
|
|
52
|
+
_proto.renderEditable = function renderEditable(data, ctx) {
|
|
53
|
+
var dataKey = ctx.dataKey;
|
|
54
|
+
var title = this.getOptionTitle(ctx, dataKey);
|
|
55
|
+
return _ProSelectableField.prototype.renderEditable.call(this, title, ctx, {
|
|
56
|
+
suffix: this.suffixEl
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
return ProCheckTreeSelect;
|
|
60
|
+
}(index.ProSelectableField);
|
|
61
|
+
exports.ProCheckTreeSelect = ProCheckTreeSelect;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/schema-fields
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/schema/schema-fields#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HiUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
+
Object.defineProperty(exports, '__esModule', {
|
|
14
|
+
value: true
|
|
15
|
+
});
|
|
16
|
+
var _inheritsLoose = require('@babel/runtime/helpers/inheritsLoose');
|
|
17
|
+
var tslib = require('tslib');
|
|
18
|
+
var React = require('react');
|
|
19
|
+
var Checkbox = require('@hi-ui/checkbox');
|
|
20
|
+
var classname = require('@hi-ui/classname');
|
|
21
|
+
var schemaAutoGrid = require('@hi-ui/schema-auto-grid');
|
|
22
|
+
var schemaUtils = require('@hi-ui/schema-utils');
|
|
23
|
+
var base = require('../../../base.js');
|
|
24
|
+
function _interopDefaultCompat(e) {
|
|
25
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
26
|
+
'default': e
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
var _inheritsLoose__default = /*#__PURE__*/_interopDefaultCompat(_inheritsLoose);
|
|
30
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
31
|
+
var Checkbox__default = /*#__PURE__*/_interopDefaultCompat(Checkbox);
|
|
32
|
+
var ProCheckbox = /*#__PURE__*/function (_ProField) {
|
|
33
|
+
_inheritsLoose__default["default"](ProCheckbox, _ProField);
|
|
34
|
+
function ProCheckbox() {
|
|
35
|
+
return _ProField.apply(this, arguments) || this;
|
|
36
|
+
}
|
|
37
|
+
var _proto = ProCheckbox.prototype;
|
|
38
|
+
_proto.renderFormItem = function renderFormItem(_, ctx) {
|
|
39
|
+
var _a = this.getFieldProps({}, ctx),
|
|
40
|
+
gridProps = _a.grid,
|
|
41
|
+
fieldProps = tslib.__rest(_a, ["grid"]);
|
|
42
|
+
// gridProps 为 true 或者对象时,使用网格布局
|
|
43
|
+
if (gridProps) {
|
|
44
|
+
return this.renderGridFormItem(_, ctx, {
|
|
45
|
+
gridProps: gridProps,
|
|
46
|
+
fieldProps: fieldProps
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return this.renderNormalFormItem(_, ctx, {
|
|
50
|
+
fieldProps: fieldProps
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
_proto.renderNormalFormItem = function renderNormalFormItem(_, ctx, extra) {
|
|
54
|
+
var fieldProps = extra.fieldProps;
|
|
55
|
+
return /*#__PURE__*/React__default["default"].createElement(Checkbox__default["default"].Group, Object.assign({}, fieldProps));
|
|
56
|
+
};
|
|
57
|
+
_proto.renderGridFormItem = function renderGridFormItem(_, ctx, extra) {
|
|
58
|
+
var _a, _b;
|
|
59
|
+
var _c = extra.fieldProps,
|
|
60
|
+
_c$data = _c.data,
|
|
61
|
+
data = _c$data === void 0 ? [] : _c$data,
|
|
62
|
+
restFieldProps = tslib.__rest(_c, ["data"]);
|
|
63
|
+
var value = (_a = ctx.formBinding.value) !== null && _a !== void 0 ? _a : [];
|
|
64
|
+
var gridProps = (_b = schemaUtils.getBoolConfig(extra.gridProps, {})) !== null && _b !== void 0 ? _b : {};
|
|
65
|
+
return /*#__PURE__*/React__default["default"].createElement(Checkbox__default["default"].Group, Object.assign({}, restFieldProps), /*#__PURE__*/React__default["default"].createElement(schemaAutoGrid.GridHelper, Object.assign({}, gridProps),
|
|
66
|
+
// fork from hiui Checkbox.Group
|
|
67
|
+
// https://github.com/XiaoMi/hiui/blob/0180764ef5deb334f70404cabd3d715708d41b06/packages/ui/checkbox/src/CheckboxGroup.tsx#L65-L76
|
|
68
|
+
data.map(function (_ref) {
|
|
69
|
+
var id = _ref.id,
|
|
70
|
+
disabled = _ref.disabled,
|
|
71
|
+
title = _ref.title;
|
|
72
|
+
return /*#__PURE__*/React__default["default"].createElement(Checkbox__default["default"], {
|
|
73
|
+
key: id,
|
|
74
|
+
value: id,
|
|
75
|
+
name: restFieldProps.name,
|
|
76
|
+
disabled: disabled,
|
|
77
|
+
checked: value.includes(id),
|
|
78
|
+
className: classname.getPrefixCls('checkbox-group') + "__item"
|
|
79
|
+
}, title);
|
|
80
|
+
})));
|
|
81
|
+
};
|
|
82
|
+
return ProCheckbox;
|
|
83
|
+
}(base.ProField);
|
|
84
|
+
exports.ProCheckbox = ProCheckbox;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/schema-fields
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/schema/schema-fields#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HiUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
+
Object.defineProperty(exports, '__esModule', {
|
|
14
|
+
value: true
|
|
15
|
+
});
|
|
16
|
+
var _inheritsLoose = require('@babel/runtime/helpers/inheritsLoose');
|
|
17
|
+
var React = require('react');
|
|
18
|
+
var Counter = require('@hi-ui/counter');
|
|
19
|
+
var base = require('../../../base.js');
|
|
20
|
+
function _interopDefaultCompat(e) {
|
|
21
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
22
|
+
'default': e
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
var _inheritsLoose__default = /*#__PURE__*/_interopDefaultCompat(_inheritsLoose);
|
|
26
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
27
|
+
var Counter__default = /*#__PURE__*/_interopDefaultCompat(Counter);
|
|
28
|
+
var ProCounter = /*#__PURE__*/function (_ProField) {
|
|
29
|
+
_inheritsLoose__default["default"](ProCounter, _ProField);
|
|
30
|
+
function ProCounter() {
|
|
31
|
+
return _ProField.apply(this, arguments) || this;
|
|
32
|
+
}
|
|
33
|
+
var _proto = ProCounter.prototype;
|
|
34
|
+
_proto.renderFormItem = function renderFormItem(_, ctx) {
|
|
35
|
+
var fieldProps = this.getFieldProps({}, ctx);
|
|
36
|
+
return /*#__PURE__*/React__default["default"].createElement(Counter__default["default"], Object.assign({}, fieldProps));
|
|
37
|
+
};
|
|
38
|
+
return ProCounter;
|
|
39
|
+
}(base.ProField);
|
|
40
|
+
exports.ProCounter = ProCounter;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/schema-fields
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/schema/schema-fields#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HiUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
+
Object.defineProperty(exports, '__esModule', {
|
|
14
|
+
value: true
|
|
15
|
+
});
|
|
16
|
+
var _inheritsLoose = require('@babel/runtime/helpers/inheritsLoose');
|
|
17
|
+
var React = require('react');
|
|
18
|
+
var Radio = require('@hi-ui/radio');
|
|
19
|
+
var schemaInterruptInjector = require('@hi-ui/schema-interrupt-injector');
|
|
20
|
+
var base = require('../../../base.js');
|
|
21
|
+
function _interopDefaultCompat(e) {
|
|
22
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
23
|
+
'default': e
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
var _inheritsLoose__default = /*#__PURE__*/_interopDefaultCompat(_inheritsLoose);
|
|
27
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
28
|
+
var Radio__default = /*#__PURE__*/_interopDefaultCompat(Radio);
|
|
29
|
+
var ProRadio = /*#__PURE__*/function (_ProField) {
|
|
30
|
+
_inheritsLoose__default["default"](ProRadio, _ProField);
|
|
31
|
+
function ProRadio() {
|
|
32
|
+
return _ProField.apply(this, arguments) || this;
|
|
33
|
+
}
|
|
34
|
+
var _proto = ProRadio.prototype;
|
|
35
|
+
_proto.renderFormItem = function renderFormItem(_, ctx) {
|
|
36
|
+
var _a;
|
|
37
|
+
var fieldProps = this.getFieldProps({}, ctx);
|
|
38
|
+
return /*#__PURE__*/React__default["default"].createElement(schemaInterruptInjector.InterruptInjector, {
|
|
39
|
+
config: (_a = ctx.field.control) === null || _a === void 0 ? void 0 : _a.interrupt
|
|
40
|
+
}, /*#__PURE__*/React__default["default"].createElement(Radio__default["default"].Group, Object.assign({}, fieldProps)));
|
|
41
|
+
};
|
|
42
|
+
return ProRadio;
|
|
43
|
+
}(base.ProField);
|
|
44
|
+
exports.ProRadio = ProRadio;
|