@rjsf/antd 5.0.0-beta.9 → 5.0.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/dist/antd.cjs.development.js +1062 -1063
- package/dist/antd.cjs.development.js.map +1 -1
- package/dist/antd.cjs.production.min.js +1 -1
- package/dist/antd.cjs.production.min.js.map +1 -1
- package/dist/antd.esm.js +1058 -1065
- package/dist/antd.esm.js.map +1 -1
- package/dist/antd.umd.development.js +1065 -1067
- package/dist/antd.umd.development.js.map +1 -1
- package/dist/antd.umd.production.min.js +1 -1
- package/dist/antd.umd.production.min.js.map +1 -1
- package/dist/index.d.ts +16 -61
- package/package.json +27 -36
- package/dist/components/DatePicker/index.d.ts +0 -17
- package/dist/templates/ArrayFieldItemTemplate/index.d.ts +0 -21
- package/dist/templates/ArrayFieldTemplate/index.d.ts +0 -2
- package/dist/templates/BaseInputTemplate/index.d.ts +0 -15
- package/dist/templates/DescriptionField/index.d.ts +0 -5
- package/dist/templates/ErrorList/index.d.ts +0 -4
- package/dist/templates/FieldErrorTemplate/index.d.ts +0 -5
- package/dist/templates/FieldTemplate/WrapIfAdditional.d.ts +0 -16
- package/dist/templates/FieldTemplate/index.d.ts +0 -23
- package/dist/templates/IconButton/index.d.ts +0 -5
- package/dist/templates/ObjectFieldTemplate/index.d.ts +0 -2
- package/dist/templates/SubmitButton/index.d.ts +0 -4
- package/dist/templates/TitleField/index.d.ts +0 -2
- package/dist/widgets/AltDateTimeWidget/index.d.ts +0 -13
- package/dist/widgets/AltDateWidget/index.d.ts +0 -26
- package/dist/widgets/CheckboxWidget/index.d.ts +0 -13
- package/dist/widgets/CheckboxesWidget/index.d.ts +0 -13
- package/dist/widgets/DateTimeWidget/index.d.ts +0 -12
- package/dist/widgets/DateWidget/index.d.ts +0 -12
- package/dist/widgets/PasswordWidget/index.d.ts +0 -13
- package/dist/widgets/RadioWidget/index.d.ts +0 -14
- package/dist/widgets/RangeWidget/index.d.ts +0 -15
- package/dist/widgets/SelectWidget/index.d.ts +0 -21
- package/dist/widgets/TextareaWidget/index.d.ts +0 -13
|
@@ -23,6 +23,7 @@ var PlusCircleOutlined = require('@ant-design/icons/PlusCircleOutlined');
|
|
|
23
23
|
var Form$1 = require('antd/lib/form');
|
|
24
24
|
var isObject = require('lodash/isObject');
|
|
25
25
|
var isNumber = require('lodash/isNumber');
|
|
26
|
+
var isString = require('lodash/isString');
|
|
26
27
|
var Checkbox = require('antd/lib/checkbox');
|
|
27
28
|
var dayjs = require('dayjs');
|
|
28
29
|
var dayjsGenerateConfig = require('rc-picker/lib/generate/dayjs');
|
|
@@ -51,6 +52,7 @@ var PlusCircleOutlined__default = /*#__PURE__*/_interopDefaultLegacy(PlusCircleO
|
|
|
51
52
|
var Form__default = /*#__PURE__*/_interopDefaultLegacy(Form$1);
|
|
52
53
|
var isObject__default = /*#__PURE__*/_interopDefaultLegacy(isObject);
|
|
53
54
|
var isNumber__default = /*#__PURE__*/_interopDefaultLegacy(isNumber);
|
|
55
|
+
var isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);
|
|
54
56
|
var Checkbox__default = /*#__PURE__*/_interopDefaultLegacy(Checkbox);
|
|
55
57
|
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
|
|
56
58
|
var dayjsGenerateConfig__default = /*#__PURE__*/_interopDefaultLegacy(dayjsGenerateConfig);
|
|
@@ -59,38 +61,38 @@ var Radio__default = /*#__PURE__*/_interopDefaultLegacy(Radio);
|
|
|
59
61
|
var Slider__default = /*#__PURE__*/_interopDefaultLegacy(Slider);
|
|
60
62
|
var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
|
|
61
63
|
|
|
62
|
-
|
|
64
|
+
var BTN_GRP_STYLE = {
|
|
63
65
|
width: "100%"
|
|
64
66
|
};
|
|
65
|
-
|
|
67
|
+
var BTN_STYLE = {
|
|
66
68
|
width: "calc(100% / 3)"
|
|
67
69
|
};
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
MoveDownButton,
|
|
87
|
-
MoveUpButton,
|
|
88
|
-
RemoveButton
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
rowGutter = 24,
|
|
92
|
-
|
|
93
|
-
|
|
70
|
+
/** The `ArrayFieldItemTemplate` component is the template used to render an items of an array.
|
|
71
|
+
*
|
|
72
|
+
* @param props - The `ArrayFieldTemplateItemType` props for the component
|
|
73
|
+
*/
|
|
74
|
+
function ArrayFieldItemTemplate(props) {
|
|
75
|
+
var children = props.children,
|
|
76
|
+
disabled = props.disabled,
|
|
77
|
+
hasMoveDown = props.hasMoveDown,
|
|
78
|
+
hasMoveUp = props.hasMoveUp,
|
|
79
|
+
hasRemove = props.hasRemove,
|
|
80
|
+
hasToolbar = props.hasToolbar,
|
|
81
|
+
index = props.index,
|
|
82
|
+
onDropIndexClick = props.onDropIndexClick,
|
|
83
|
+
onReorderClick = props.onReorderClick,
|
|
84
|
+
readonly = props.readonly,
|
|
85
|
+
registry = props.registry,
|
|
86
|
+
uiSchema = props.uiSchema;
|
|
87
|
+
var _registry$templates$B = registry.templates.ButtonTemplates,
|
|
88
|
+
MoveDownButton = _registry$templates$B.MoveDownButton,
|
|
89
|
+
MoveUpButton = _registry$templates$B.MoveUpButton,
|
|
90
|
+
RemoveButton = _registry$templates$B.RemoveButton;
|
|
91
|
+
var _registry$formContext = registry.formContext,
|
|
92
|
+
_registry$formContext2 = _registry$formContext.rowGutter,
|
|
93
|
+
rowGutter = _registry$formContext2 === void 0 ? 24 : _registry$formContext2,
|
|
94
|
+
_registry$formContext3 = _registry$formContext.toolbarAlign,
|
|
95
|
+
toolbarAlign = _registry$formContext3 === void 0 ? "top" : _registry$formContext3;
|
|
94
96
|
return /*#__PURE__*/React__default["default"].createElement(Row__default["default"], {
|
|
95
97
|
align: toolbarAlign,
|
|
96
98
|
key: "array-item-" + index,
|
|
@@ -105,177 +107,181 @@ const ArrayFieldItemTemplate = _ref => {
|
|
|
105
107
|
disabled: disabled || readonly || !hasMoveUp,
|
|
106
108
|
onClick: onReorderClick(index, index - 1),
|
|
107
109
|
style: BTN_STYLE,
|
|
108
|
-
uiSchema: uiSchema
|
|
110
|
+
uiSchema: uiSchema,
|
|
111
|
+
registry: registry
|
|
109
112
|
}), (hasMoveUp || hasMoveDown) && /*#__PURE__*/React__default["default"].createElement(MoveDownButton, {
|
|
110
113
|
disabled: disabled || readonly || !hasMoveDown,
|
|
111
114
|
onClick: onReorderClick(index, index + 1),
|
|
112
115
|
style: BTN_STYLE,
|
|
113
|
-
uiSchema: uiSchema
|
|
116
|
+
uiSchema: uiSchema,
|
|
117
|
+
registry: registry
|
|
114
118
|
}), hasRemove && /*#__PURE__*/React__default["default"].createElement(RemoveButton, {
|
|
115
119
|
disabled: disabled || readonly,
|
|
116
120
|
onClick: onDropIndexClick(index),
|
|
117
121
|
style: BTN_STYLE,
|
|
118
|
-
uiSchema: uiSchema
|
|
122
|
+
uiSchema: uiSchema,
|
|
123
|
+
registry: registry
|
|
119
124
|
}))));
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
ArrayFieldItemTemplate.defaultProps = {
|
|
123
|
-
formContext: {}
|
|
124
|
-
};
|
|
125
|
+
}
|
|
125
126
|
|
|
126
127
|
function _extends() {
|
|
127
128
|
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
128
129
|
for (var i = 1; i < arguments.length; i++) {
|
|
129
130
|
var source = arguments[i];
|
|
130
|
-
|
|
131
131
|
for (var key in source) {
|
|
132
132
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
133
133
|
target[key] = source[key];
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
|
-
|
|
138
137
|
return target;
|
|
139
138
|
};
|
|
140
139
|
return _extends.apply(this, arguments);
|
|
141
140
|
}
|
|
141
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
142
|
+
if (source == null) return {};
|
|
143
|
+
var target = {};
|
|
144
|
+
var sourceKeys = Object.keys(source);
|
|
145
|
+
var key, i;
|
|
146
|
+
for (i = 0; i < sourceKeys.length; i++) {
|
|
147
|
+
key = sourceKeys[i];
|
|
148
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
149
|
+
target[key] = source[key];
|
|
150
|
+
}
|
|
151
|
+
return target;
|
|
152
|
+
}
|
|
142
153
|
|
|
143
|
-
|
|
154
|
+
var _excluded$1 = ["key"];
|
|
155
|
+
var DESCRIPTION_COL_STYLE$1 = {
|
|
144
156
|
paddingBottom: "8px"
|
|
145
157
|
};
|
|
158
|
+
/** The `ArrayFieldTemplate` component is the template used to render all items in an array.
|
|
159
|
+
*
|
|
160
|
+
* @param props - The `ArrayFieldTemplateItemType` props for the component
|
|
161
|
+
*/
|
|
162
|
+
function ArrayFieldTemplate(props) {
|
|
163
|
+
var canAdd = props.canAdd,
|
|
164
|
+
className = props.className,
|
|
165
|
+
disabled = props.disabled,
|
|
166
|
+
formContext = props.formContext,
|
|
167
|
+
idSchema = props.idSchema,
|
|
168
|
+
items = props.items,
|
|
169
|
+
onAddClick = props.onAddClick,
|
|
170
|
+
readonly = props.readonly,
|
|
171
|
+
registry = props.registry,
|
|
172
|
+
required = props.required,
|
|
173
|
+
schema = props.schema,
|
|
174
|
+
title = props.title,
|
|
175
|
+
uiSchema = props.uiSchema;
|
|
176
|
+
var uiOptions = utils.getUiOptions(uiSchema);
|
|
177
|
+
var ArrayFieldDescriptionTemplate = utils.getTemplate("ArrayFieldDescriptionTemplate", registry, uiOptions);
|
|
178
|
+
var ArrayFieldItemTemplate = utils.getTemplate("ArrayFieldItemTemplate", registry, uiOptions);
|
|
179
|
+
var ArrayFieldTitleTemplate = utils.getTemplate("ArrayFieldTitleTemplate", registry, uiOptions);
|
|
180
|
+
// Button templates are not overridden in the uiSchema
|
|
181
|
+
var AddButton = registry.templates.ButtonTemplates.AddButton;
|
|
182
|
+
var _formContext$labelAli = formContext.labelAlign,
|
|
183
|
+
labelAlign = _formContext$labelAli === void 0 ? "right" : _formContext$labelAli,
|
|
184
|
+
_formContext$rowGutte = formContext.rowGutter,
|
|
185
|
+
rowGutter = _formContext$rowGutte === void 0 ? 24 : _formContext$rowGutte;
|
|
186
|
+
return /*#__PURE__*/React__default["default"].createElement(context.ConfigConsumer, null, function (configProps) {
|
|
187
|
+
var getPrefixCls = configProps.getPrefixCls;
|
|
188
|
+
var prefixCls = getPrefixCls("form");
|
|
189
|
+
var labelClsBasic = prefixCls + "-item-label";
|
|
190
|
+
var labelColClassName = classNames__default["default"](labelClsBasic, labelAlign === "left" && labelClsBasic + "-left"
|
|
191
|
+
// labelCol.className,
|
|
192
|
+
);
|
|
193
|
+
|
|
194
|
+
return /*#__PURE__*/React__default["default"].createElement("fieldset", {
|
|
195
|
+
className: className,
|
|
196
|
+
id: idSchema.$id
|
|
197
|
+
}, /*#__PURE__*/React__default["default"].createElement(Row__default["default"], {
|
|
198
|
+
gutter: rowGutter
|
|
199
|
+
}, (uiOptions.title || title) && /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
200
|
+
className: labelColClassName,
|
|
201
|
+
span: 24
|
|
202
|
+
}, /*#__PURE__*/React__default["default"].createElement(ArrayFieldTitleTemplate, {
|
|
203
|
+
idSchema: idSchema,
|
|
204
|
+
required: required,
|
|
205
|
+
title: uiOptions.title || title,
|
|
206
|
+
schema: schema,
|
|
207
|
+
uiSchema: uiSchema,
|
|
208
|
+
registry: registry
|
|
209
|
+
})), (uiOptions.description || schema.description) && /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
210
|
+
span: 24,
|
|
211
|
+
style: DESCRIPTION_COL_STYLE$1
|
|
212
|
+
}, /*#__PURE__*/React__default["default"].createElement(ArrayFieldDescriptionTemplate, {
|
|
213
|
+
description: uiOptions.description || schema.description || "",
|
|
214
|
+
idSchema: idSchema,
|
|
215
|
+
schema: schema,
|
|
216
|
+
uiSchema: uiSchema,
|
|
217
|
+
registry: registry
|
|
218
|
+
})), /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
219
|
+
className: "row array-item-list",
|
|
220
|
+
span: 24
|
|
221
|
+
}, items && items.map(function (_ref) {
|
|
222
|
+
var key = _ref.key,
|
|
223
|
+
itemProps = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
224
|
+
return /*#__PURE__*/React__default["default"].createElement(ArrayFieldItemTemplate, _extends({
|
|
225
|
+
key: key
|
|
226
|
+
}, itemProps));
|
|
227
|
+
})), canAdd && /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
228
|
+
span: 24
|
|
229
|
+
}, /*#__PURE__*/React__default["default"].createElement(Row__default["default"], {
|
|
230
|
+
gutter: rowGutter,
|
|
231
|
+
justify: "end"
|
|
232
|
+
}, /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
233
|
+
flex: "192px"
|
|
234
|
+
}, /*#__PURE__*/React__default["default"].createElement(AddButton, {
|
|
235
|
+
className: "array-item-add",
|
|
236
|
+
disabled: disabled || readonly,
|
|
237
|
+
onClick: onAddClick,
|
|
238
|
+
uiSchema: uiSchema,
|
|
239
|
+
registry: registry
|
|
240
|
+
}))))));
|
|
241
|
+
});
|
|
242
|
+
}
|
|
146
243
|
|
|
147
|
-
|
|
148
|
-
let {
|
|
149
|
-
canAdd,
|
|
150
|
-
className,
|
|
151
|
-
disabled,
|
|
152
|
-
formContext,
|
|
153
|
-
// formData,
|
|
154
|
-
idSchema,
|
|
155
|
-
items,
|
|
156
|
-
onAddClick,
|
|
157
|
-
prefixCls,
|
|
158
|
-
readonly,
|
|
159
|
-
registry,
|
|
160
|
-
required,
|
|
161
|
-
schema,
|
|
162
|
-
title,
|
|
163
|
-
uiSchema
|
|
164
|
-
} = _ref;
|
|
165
|
-
const uiOptions = utils.getUiOptions(uiSchema);
|
|
166
|
-
const ArrayFieldDescriptionTemplate = utils.getTemplate("ArrayFieldDescriptionTemplate", registry, uiOptions);
|
|
167
|
-
const ArrayFieldItemTemplate = utils.getTemplate("ArrayFieldItemTemplate", registry, uiOptions);
|
|
168
|
-
const ArrayFieldTitleTemplate = utils.getTemplate("ArrayFieldTitleTemplate", registry, uiOptions); // Button templates are not overridden in the uiSchema
|
|
169
|
-
|
|
170
|
-
const {
|
|
171
|
-
ButtonTemplates: {
|
|
172
|
-
AddButton
|
|
173
|
-
}
|
|
174
|
-
} = registry.templates;
|
|
175
|
-
const {
|
|
176
|
-
labelAlign = "right",
|
|
177
|
-
rowGutter = 24
|
|
178
|
-
} = formContext;
|
|
179
|
-
const labelClsBasic = prefixCls + "-item-label";
|
|
180
|
-
const labelColClassName = classNames__default["default"](labelClsBasic, labelAlign === "left" && labelClsBasic + "-left" // labelCol.className,
|
|
181
|
-
);
|
|
182
|
-
return /*#__PURE__*/React__default["default"].createElement("fieldset", {
|
|
183
|
-
className: className,
|
|
184
|
-
id: idSchema.$id
|
|
185
|
-
}, /*#__PURE__*/React__default["default"].createElement(Row__default["default"], {
|
|
186
|
-
gutter: rowGutter
|
|
187
|
-
}, (uiOptions.title || title) && /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
188
|
-
className: labelColClassName,
|
|
189
|
-
span: 24
|
|
190
|
-
}, /*#__PURE__*/React__default["default"].createElement(ArrayFieldTitleTemplate, {
|
|
191
|
-
idSchema: idSchema,
|
|
192
|
-
required: required,
|
|
193
|
-
title: uiOptions.title || title,
|
|
194
|
-
uiSchema: uiSchema,
|
|
195
|
-
registry: registry
|
|
196
|
-
})), (uiOptions.description || schema.description) && /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
197
|
-
span: 24,
|
|
198
|
-
style: DESCRIPTION_COL_STYLE$1
|
|
199
|
-
}, /*#__PURE__*/React__default["default"].createElement(ArrayFieldDescriptionTemplate, {
|
|
200
|
-
description: uiOptions.description || schema.description,
|
|
201
|
-
idSchema: idSchema,
|
|
202
|
-
uiSchema: uiSchema,
|
|
203
|
-
registry: registry
|
|
204
|
-
})), /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
205
|
-
className: "row array-item-list",
|
|
206
|
-
span: 24
|
|
207
|
-
}, items && items.map(itemProps => /*#__PURE__*/React__default["default"].createElement(ArrayFieldItemTemplate, _extends({}, itemProps, {
|
|
208
|
-
formContext: formContext
|
|
209
|
-
})))), canAdd && /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
210
|
-
span: 24
|
|
211
|
-
}, /*#__PURE__*/React__default["default"].createElement(Row__default["default"], {
|
|
212
|
-
gutter: rowGutter,
|
|
213
|
-
justify: "end"
|
|
214
|
-
}, /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
215
|
-
flex: "192px"
|
|
216
|
-
}, /*#__PURE__*/React__default["default"].createElement(AddButton, {
|
|
217
|
-
className: "array-item-add",
|
|
218
|
-
disabled: disabled || readonly,
|
|
219
|
-
onClick: onAddClick,
|
|
220
|
-
uiSchema: uiSchema
|
|
221
|
-
}))))));
|
|
222
|
-
};
|
|
223
|
-
|
|
224
|
-
var ArrayFieldTemplate$1 = /*#__PURE__*/context.withConfigConsumer({
|
|
225
|
-
prefixCls: "form"
|
|
226
|
-
})(ArrayFieldTemplate);
|
|
227
|
-
|
|
228
|
-
const INPUT_STYLE$2 = {
|
|
244
|
+
var INPUT_STYLE$2 = {
|
|
229
245
|
width: "100%"
|
|
230
246
|
};
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
readonlyAsDisabled = true
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
let {
|
|
259
|
-
target
|
|
260
|
-
} = _ref2;
|
|
247
|
+
/** The `BaseInputTemplate` is the template to use to render the basic `<input>` component for the `core` theme.
|
|
248
|
+
* It is used as the template for rendering many of the <input> based widgets that differ by `type` and callbacks only.
|
|
249
|
+
* It can be customized/overridden for other themes or individual implementations as needed.
|
|
250
|
+
*
|
|
251
|
+
* @param props - The `WidgetProps` for this template
|
|
252
|
+
*/
|
|
253
|
+
function BaseInputTemplate(props) {
|
|
254
|
+
var disabled = props.disabled,
|
|
255
|
+
formContext = props.formContext,
|
|
256
|
+
id = props.id,
|
|
257
|
+
onBlur = props.onBlur,
|
|
258
|
+
onChange = props.onChange,
|
|
259
|
+
onFocus = props.onFocus,
|
|
260
|
+
options = props.options,
|
|
261
|
+
placeholder = props.placeholder,
|
|
262
|
+
readonly = props.readonly,
|
|
263
|
+
schema = props.schema,
|
|
264
|
+
value = props.value,
|
|
265
|
+
type = props.type;
|
|
266
|
+
var inputProps = utils.getInputProps(schema, type, options, false);
|
|
267
|
+
var _formContext$readonly = formContext.readonlyAsDisabled,
|
|
268
|
+
readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
|
|
269
|
+
var handleNumberChange = function handleNumberChange(nextValue) {
|
|
270
|
+
return onChange(nextValue);
|
|
271
|
+
};
|
|
272
|
+
var handleTextChange = function handleTextChange(_ref) {
|
|
273
|
+
var target = _ref.target;
|
|
261
274
|
return onChange(target.value === "" ? options.emptyValue : target.value);
|
|
262
275
|
};
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
let {
|
|
266
|
-
target
|
|
267
|
-
} = _ref3;
|
|
276
|
+
var handleBlur = function handleBlur(_ref2) {
|
|
277
|
+
var target = _ref2.target;
|
|
268
278
|
return onBlur(id, target.value);
|
|
269
279
|
};
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
let {
|
|
273
|
-
target
|
|
274
|
-
} = _ref4;
|
|
280
|
+
var handleFocus = function handleFocus(_ref3) {
|
|
281
|
+
var target = _ref3.target;
|
|
275
282
|
return onFocus(id, target.value);
|
|
276
283
|
};
|
|
277
|
-
|
|
278
|
-
const input = inputProps.type === "number" || inputProps.type === "integer" ? /*#__PURE__*/React__default["default"].createElement(InputNumber__default["default"], _extends({
|
|
284
|
+
var input = inputProps.type === "number" || inputProps.type === "integer" ? /*#__PURE__*/React__default["default"].createElement(InputNumber__default["default"], _extends({
|
|
279
285
|
disabled: disabled || readonlyAsDisabled && readonly,
|
|
280
286
|
id: id,
|
|
281
287
|
name: id,
|
|
@@ -284,9 +290,10 @@ const TextWidget = _ref => {
|
|
|
284
290
|
onFocus: !readonly ? handleFocus : undefined,
|
|
285
291
|
placeholder: placeholder,
|
|
286
292
|
style: INPUT_STYLE$2,
|
|
287
|
-
list: schema.examples ?
|
|
293
|
+
list: schema.examples ? utils.examplesId(id) : undefined
|
|
288
294
|
}, inputProps, {
|
|
289
|
-
value: value
|
|
295
|
+
value: value,
|
|
296
|
+
"aria-describedby": utils.ariaDescribedByIds(id, !!schema.examples)
|
|
290
297
|
})) : /*#__PURE__*/React__default["default"].createElement(Input__default["default"], _extends({
|
|
291
298
|
disabled: disabled || readonlyAsDisabled && readonly,
|
|
292
299
|
id: id,
|
|
@@ -296,62 +303,66 @@ const TextWidget = _ref => {
|
|
|
296
303
|
onFocus: !readonly ? handleFocus : undefined,
|
|
297
304
|
placeholder: placeholder,
|
|
298
305
|
style: INPUT_STYLE$2,
|
|
299
|
-
list: schema.examples ?
|
|
306
|
+
list: schema.examples ? utils.examplesId(id) : undefined
|
|
300
307
|
}, inputProps, {
|
|
301
|
-
value: value
|
|
308
|
+
value: value,
|
|
309
|
+
"aria-describedby": utils.ariaDescribedByIds(id, !!schema.examples)
|
|
302
310
|
}));
|
|
303
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, input, schema.examples && /*#__PURE__*/React__default["default"].createElement("datalist", {
|
|
304
|
-
id:
|
|
305
|
-
}, schema.examples.concat(schema.default ? [schema
|
|
311
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, input, Array.isArray(schema.examples) && /*#__PURE__*/React__default["default"].createElement("datalist", {
|
|
312
|
+
id: utils.examplesId(id)
|
|
313
|
+
}, schema.examples.concat(schema["default"] && !schema.examples.includes(schema["default"]) ? [schema["default"]] : []).map(function (example) {
|
|
306
314
|
return /*#__PURE__*/React__default["default"].createElement("option", {
|
|
307
315
|
key: example,
|
|
308
316
|
value: example
|
|
309
317
|
});
|
|
310
318
|
})));
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
const DescriptionField = _ref => {
|
|
314
|
-
let {
|
|
315
|
-
description,
|
|
316
|
-
id // registry,
|
|
319
|
+
}
|
|
317
320
|
|
|
318
|
-
|
|
319
|
-
|
|
321
|
+
/** The `DescriptionField` is the template to use to render the description of a field
|
|
322
|
+
*
|
|
323
|
+
* @param props - The `DescriptionFieldProps` for this component
|
|
324
|
+
*/
|
|
325
|
+
function DescriptionField(props) {
|
|
326
|
+
var id = props.id,
|
|
327
|
+
description = props.description;
|
|
328
|
+
if (!description) {
|
|
329
|
+
return null;
|
|
330
|
+
}
|
|
331
|
+
return /*#__PURE__*/React__default["default"].createElement("span", {
|
|
320
332
|
id: id
|
|
321
333
|
}, description);
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
const ErrorList = _ref => {
|
|
325
|
-
let {
|
|
326
|
-
// errorSchema,
|
|
327
|
-
errors // formContext,
|
|
328
|
-
// schema,
|
|
329
|
-
// uiSchema,
|
|
330
|
-
|
|
331
|
-
} = _ref;
|
|
332
|
-
|
|
333
|
-
const renderErrors = () => /*#__PURE__*/React__default["default"].createElement(List__default["default"], {
|
|
334
|
-
className: "list-group",
|
|
335
|
-
size: "small"
|
|
336
|
-
}, errors.map((error, index) => /*#__PURE__*/React__default["default"].createElement(List__default["default"].Item, {
|
|
337
|
-
key: index
|
|
338
|
-
}, /*#__PURE__*/React__default["default"].createElement(Space__default["default"], null, /*#__PURE__*/React__default["default"].createElement(ExclamationCircleOutlined__default["default"], null), error.stack))));
|
|
334
|
+
}
|
|
339
335
|
|
|
336
|
+
/** The `ErrorList` component is the template that renders the all the errors associated with the fields in the `Form`
|
|
337
|
+
*
|
|
338
|
+
* @param props - The `ErrorListProps` for this component
|
|
339
|
+
*/
|
|
340
|
+
function ErrorList(_ref) {
|
|
341
|
+
var errors = _ref.errors;
|
|
342
|
+
var renderErrors = function renderErrors() {
|
|
343
|
+
return /*#__PURE__*/React__default["default"].createElement(List__default["default"], {
|
|
344
|
+
className: "list-group",
|
|
345
|
+
size: "small"
|
|
346
|
+
}, errors.map(function (error, index) {
|
|
347
|
+
return /*#__PURE__*/React__default["default"].createElement(List__default["default"].Item, {
|
|
348
|
+
key: index
|
|
349
|
+
}, /*#__PURE__*/React__default["default"].createElement(Space__default["default"], null, /*#__PURE__*/React__default["default"].createElement(ExclamationCircleOutlined__default["default"], null), error.stack));
|
|
350
|
+
}));
|
|
351
|
+
};
|
|
340
352
|
return /*#__PURE__*/React__default["default"].createElement(Alert__default["default"], {
|
|
341
353
|
className: "panel panel-danger errors",
|
|
342
354
|
description: renderErrors(),
|
|
343
355
|
message: "Errors",
|
|
344
356
|
type: "error"
|
|
345
357
|
});
|
|
346
|
-
}
|
|
358
|
+
}
|
|
347
359
|
|
|
360
|
+
var _excluded = ["iconType", "icon", "uiSchema", "registry"];
|
|
348
361
|
function IconButton(props) {
|
|
349
|
-
|
|
350
|
-
iconType = "default",
|
|
351
|
-
icon,
|
|
352
|
-
|
|
353
|
-
...otherProps
|
|
354
|
-
} = props;
|
|
362
|
+
var _props$iconType = props.iconType,
|
|
363
|
+
iconType = _props$iconType === void 0 ? "default" : _props$iconType,
|
|
364
|
+
icon = props.icon,
|
|
365
|
+
otherProps = _objectWithoutPropertiesLoose(props, _excluded);
|
|
355
366
|
return /*#__PURE__*/React__default["default"].createElement(Button__default["default"], _extends({
|
|
356
367
|
type: iconType,
|
|
357
368
|
icon: icon
|
|
@@ -381,183 +392,90 @@ function MoveUpButton(props) {
|
|
|
381
392
|
}));
|
|
382
393
|
}
|
|
383
394
|
function RemoveButton(props) {
|
|
395
|
+
// The `block` prop is not part of the `IconButtonProps` defined in the template, so get it from the uiSchema instead
|
|
396
|
+
var options = utils.getUiOptions(props.uiSchema);
|
|
384
397
|
return /*#__PURE__*/React__default["default"].createElement(IconButton, _extends({
|
|
385
398
|
title: "Remove"
|
|
386
399
|
}, props, {
|
|
387
400
|
danger: true,
|
|
401
|
+
block: !!options.block,
|
|
388
402
|
iconType: "primary",
|
|
389
403
|
icon: /*#__PURE__*/React__default["default"].createElement(DeleteOutlined__default["default"], null)
|
|
390
404
|
}));
|
|
391
405
|
}
|
|
392
406
|
|
|
393
|
-
/** The `FieldErrorTemplate` component renders the errors local to the particular field
|
|
394
|
-
*
|
|
395
|
-
* @param props - The `FieldErrorProps` for the errors being rendered
|
|
407
|
+
/** The `FieldErrorTemplate` component renders the errors local to the particular field
|
|
408
|
+
*
|
|
409
|
+
* @param props - The `FieldErrorProps` for the errors being rendered
|
|
396
410
|
*/
|
|
397
|
-
|
|
398
411
|
function FieldErrorTemplate(props) {
|
|
399
|
-
|
|
400
|
-
errors = [],
|
|
401
|
-
idSchema
|
|
402
|
-
} = props;
|
|
403
|
-
|
|
412
|
+
var _props$errors = props.errors,
|
|
413
|
+
errors = _props$errors === void 0 ? [] : _props$errors,
|
|
414
|
+
idSchema = props.idSchema;
|
|
404
415
|
if (errors.length === 0) {
|
|
405
416
|
return null;
|
|
406
417
|
}
|
|
407
|
-
|
|
408
|
-
const id = idSchema.$id + "__error";
|
|
418
|
+
var id = utils.errorId(idSchema);
|
|
409
419
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
410
420
|
id: id
|
|
411
|
-
}, errors.map(
|
|
412
|
-
key: "field-" + id + "-error-" + error
|
|
413
|
-
}, error)));
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
const VERTICAL_LABEL_COL$1 = {
|
|
417
|
-
span: 24
|
|
418
|
-
};
|
|
419
|
-
const VERTICAL_WRAPPER_COL$1 = {
|
|
420
|
-
span: 24
|
|
421
|
-
};
|
|
422
|
-
const INPUT_STYLE$1 = {
|
|
423
|
-
width: "100%"
|
|
424
|
-
};
|
|
425
|
-
|
|
426
|
-
const WrapIfAdditional = _ref => {
|
|
427
|
-
let {
|
|
428
|
-
children,
|
|
429
|
-
classNames,
|
|
430
|
-
disabled,
|
|
431
|
-
formContext,
|
|
432
|
-
id,
|
|
433
|
-
label,
|
|
434
|
-
onDropPropertyClick,
|
|
435
|
-
onKeyChange,
|
|
436
|
-
readonly,
|
|
437
|
-
required,
|
|
438
|
-
registry,
|
|
439
|
-
schema,
|
|
440
|
-
uiSchema
|
|
441
|
-
} = _ref;
|
|
442
|
-
const {
|
|
443
|
-
colon,
|
|
444
|
-
labelCol = VERTICAL_LABEL_COL$1,
|
|
445
|
-
readonlyAsDisabled = true,
|
|
446
|
-
rowGutter = 24,
|
|
447
|
-
toolbarAlign = "top",
|
|
448
|
-
wrapperCol = VERTICAL_WRAPPER_COL$1,
|
|
449
|
-
wrapperStyle
|
|
450
|
-
} = formContext;
|
|
451
|
-
const {
|
|
452
|
-
RemoveButton
|
|
453
|
-
} = registry.templates.ButtonTemplates;
|
|
454
|
-
const keyLabel = label + " Key"; // i18n ?
|
|
455
|
-
|
|
456
|
-
const additional = (utils.ADDITIONAL_PROPERTY_FLAG in schema);
|
|
457
|
-
|
|
458
|
-
if (!additional) {
|
|
421
|
+
}, errors.map(function (error) {
|
|
459
422
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
460
|
-
|
|
461
|
-
},
|
|
462
|
-
}
|
|
463
|
-
|
|
464
|
-
const handleBlur = _ref2 => {
|
|
465
|
-
let {
|
|
466
|
-
target
|
|
467
|
-
} = _ref2;
|
|
468
|
-
return onKeyChange(target.value);
|
|
469
|
-
};
|
|
470
|
-
|
|
471
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
472
|
-
className: classNames
|
|
473
|
-
}, /*#__PURE__*/React__default["default"].createElement(Row__default["default"], {
|
|
474
|
-
align: toolbarAlign,
|
|
475
|
-
gutter: rowGutter
|
|
476
|
-
}, /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
477
|
-
className: "form-additional",
|
|
478
|
-
flex: "1"
|
|
479
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
480
|
-
className: "form-group"
|
|
481
|
-
}, /*#__PURE__*/React__default["default"].createElement(Form__default["default"].Item, {
|
|
482
|
-
colon: colon,
|
|
483
|
-
className: "form-group",
|
|
484
|
-
hasFeedback: true,
|
|
485
|
-
htmlFor: id + "-key",
|
|
486
|
-
label: keyLabel,
|
|
487
|
-
labelCol: labelCol,
|
|
488
|
-
required: required,
|
|
489
|
-
style: wrapperStyle,
|
|
490
|
-
wrapperCol: wrapperCol
|
|
491
|
-
}, /*#__PURE__*/React__default["default"].createElement(Input__default["default"], {
|
|
492
|
-
className: "form-control",
|
|
493
|
-
defaultValue: label,
|
|
494
|
-
disabled: disabled || readonlyAsDisabled && readonly,
|
|
495
|
-
id: id + "-key",
|
|
496
|
-
name: id + "-key",
|
|
497
|
-
onBlur: !readonly ? handleBlur : undefined,
|
|
498
|
-
style: INPUT_STYLE$1,
|
|
499
|
-
type: "text"
|
|
500
|
-
})))), /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
501
|
-
className: "form-additional",
|
|
502
|
-
flex: "1"
|
|
503
|
-
}, children), /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
504
|
-
flex: "192px"
|
|
505
|
-
}, /*#__PURE__*/React__default["default"].createElement(RemoveButton, {
|
|
506
|
-
block: true,
|
|
507
|
-
className: "array-item-remove",
|
|
508
|
-
disabled: disabled || readonly,
|
|
509
|
-
onClick: onDropPropertyClick(label),
|
|
510
|
-
uiSchema: uiSchema
|
|
511
|
-
}))));
|
|
512
|
-
};
|
|
423
|
+
key: "field-" + id + "-error-" + error
|
|
424
|
+
}, error);
|
|
425
|
+
}));
|
|
426
|
+
}
|
|
513
427
|
|
|
514
|
-
|
|
428
|
+
var VERTICAL_LABEL_COL$1 = {
|
|
515
429
|
span: 24
|
|
516
430
|
};
|
|
517
|
-
|
|
431
|
+
var VERTICAL_WRAPPER_COL$1 = {
|
|
518
432
|
span: 24
|
|
519
433
|
};
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
434
|
+
/** The `FieldTemplate` component is the template used by `SchemaField` to render any field. It renders the field
|
|
435
|
+
* content, (label, description, children, errors and help) inside of a `WrapIfAdditional` component.
|
|
436
|
+
*
|
|
437
|
+
* @param props - The `FieldTemplateProps` for this component
|
|
438
|
+
*/
|
|
439
|
+
function FieldTemplate(props) {
|
|
440
|
+
var children = props.children,
|
|
441
|
+
classNames = props.classNames,
|
|
442
|
+
style = props.style,
|
|
443
|
+
description = props.description,
|
|
444
|
+
disabled = props.disabled,
|
|
445
|
+
displayLabel = props.displayLabel,
|
|
446
|
+
errors = props.errors,
|
|
447
|
+
formContext = props.formContext,
|
|
448
|
+
help = props.help,
|
|
449
|
+
hidden = props.hidden,
|
|
450
|
+
id = props.id,
|
|
451
|
+
label = props.label,
|
|
452
|
+
onDropPropertyClick = props.onDropPropertyClick,
|
|
453
|
+
onKeyChange = props.onKeyChange,
|
|
454
|
+
rawErrors = props.rawErrors,
|
|
455
|
+
rawDescription = props.rawDescription,
|
|
456
|
+
rawHelp = props.rawHelp,
|
|
457
|
+
readonly = props.readonly,
|
|
458
|
+
registry = props.registry,
|
|
459
|
+
required = props.required,
|
|
460
|
+
schema = props.schema,
|
|
461
|
+
uiSchema = props.uiSchema;
|
|
462
|
+
var colon = formContext.colon,
|
|
463
|
+
_formContext$labelCol = formContext.labelCol,
|
|
464
|
+
labelCol = _formContext$labelCol === void 0 ? VERTICAL_LABEL_COL$1 : _formContext$labelCol,
|
|
465
|
+
_formContext$wrapperC = formContext.wrapperCol,
|
|
466
|
+
wrapperCol = _formContext$wrapperC === void 0 ? VERTICAL_WRAPPER_COL$1 : _formContext$wrapperC,
|
|
467
|
+
wrapperStyle = formContext.wrapperStyle;
|
|
468
|
+
var uiOptions = utils.getUiOptions(uiSchema);
|
|
469
|
+
var WrapIfAdditionalTemplate = utils.getTemplate("WrapIfAdditionalTemplate", registry, uiOptions);
|
|
551
470
|
if (hidden) {
|
|
552
471
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
553
472
|
className: "field-hidden"
|
|
554
473
|
}, children);
|
|
555
474
|
}
|
|
556
|
-
|
|
557
|
-
return /*#__PURE__*/React__default["default"].createElement(WrapIfAdditional, {
|
|
475
|
+
return /*#__PURE__*/React__default["default"].createElement(WrapIfAdditionalTemplate, {
|
|
558
476
|
classNames: classNames,
|
|
477
|
+
style: style,
|
|
559
478
|
disabled: disabled,
|
|
560
|
-
formContext: formContext,
|
|
561
479
|
id: id,
|
|
562
480
|
label: label,
|
|
563
481
|
onDropPropertyClick: onDropPropertyClick,
|
|
@@ -569,9 +487,9 @@ const FieldTemplate = _ref => {
|
|
|
569
487
|
registry: registry
|
|
570
488
|
}, id === "root" ? children : /*#__PURE__*/React__default["default"].createElement(Form__default["default"].Item, {
|
|
571
489
|
colon: colon,
|
|
572
|
-
extra: description,
|
|
490
|
+
extra: rawDescription && description,
|
|
573
491
|
hasFeedback: schema.type !== "array" && schema.type !== "object",
|
|
574
|
-
help: !!rawHelp && help || errors,
|
|
492
|
+
help: !!rawHelp && help || (rawErrors !== null && rawErrors !== void 0 && rawErrors.length ? errors : undefined),
|
|
575
493
|
htmlFor: id,
|
|
576
494
|
label: displayLabel && label,
|
|
577
495
|
labelCol: labelCol,
|
|
@@ -580,347 +498,469 @@ const FieldTemplate = _ref => {
|
|
|
580
498
|
validateStatus: rawErrors !== null && rawErrors !== void 0 && rawErrors.length ? "error" : undefined,
|
|
581
499
|
wrapperCol: wrapperCol
|
|
582
500
|
}, children));
|
|
583
|
-
}
|
|
501
|
+
}
|
|
584
502
|
|
|
585
|
-
|
|
503
|
+
var DESCRIPTION_COL_STYLE = {
|
|
586
504
|
paddingBottom: "8px"
|
|
587
505
|
};
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
rowGutter = 24
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
)
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
506
|
+
/** The `ObjectFieldTemplate` is the template to use to render all the inner properties of an object along with the
|
|
507
|
+
* title and description if available. If the object is expandable, then an `AddButton` is also rendered after all
|
|
508
|
+
* the properties.
|
|
509
|
+
*
|
|
510
|
+
* @param props - The `ObjectFieldTemplateProps` for this component
|
|
511
|
+
*/
|
|
512
|
+
function ObjectFieldTemplate(props) {
|
|
513
|
+
var description = props.description,
|
|
514
|
+
disabled = props.disabled,
|
|
515
|
+
formContext = props.formContext,
|
|
516
|
+
formData = props.formData,
|
|
517
|
+
idSchema = props.idSchema,
|
|
518
|
+
onAddClick = props.onAddClick,
|
|
519
|
+
properties = props.properties,
|
|
520
|
+
readonly = props.readonly,
|
|
521
|
+
required = props.required,
|
|
522
|
+
registry = props.registry,
|
|
523
|
+
schema = props.schema,
|
|
524
|
+
title = props.title,
|
|
525
|
+
uiSchema = props.uiSchema;
|
|
526
|
+
var uiOptions = utils.getUiOptions(uiSchema);
|
|
527
|
+
var TitleFieldTemplate = utils.getTemplate("TitleFieldTemplate", registry, uiOptions);
|
|
528
|
+
var DescriptionFieldTemplate = utils.getTemplate("DescriptionFieldTemplate", registry, uiOptions);
|
|
529
|
+
// Button templates are not overridden in the uiSchema
|
|
530
|
+
var AddButton = registry.templates.ButtonTemplates.AddButton;
|
|
531
|
+
var _formContext$colSpan = formContext.colSpan,
|
|
532
|
+
colSpan = _formContext$colSpan === void 0 ? 24 : _formContext$colSpan,
|
|
533
|
+
_formContext$labelAli = formContext.labelAlign,
|
|
534
|
+
labelAlign = _formContext$labelAli === void 0 ? "right" : _formContext$labelAli,
|
|
535
|
+
_formContext$rowGutte = formContext.rowGutter,
|
|
536
|
+
rowGutter = _formContext$rowGutte === void 0 ? 24 : _formContext$rowGutte;
|
|
537
|
+
var findSchema = function findSchema(element) {
|
|
538
|
+
return element.content.props.schema;
|
|
539
|
+
};
|
|
540
|
+
var findSchemaType = function findSchemaType(element) {
|
|
541
|
+
return findSchema(element).type;
|
|
542
|
+
};
|
|
543
|
+
var findUiSchema = function findUiSchema(element) {
|
|
544
|
+
return element.content.props.uiSchema;
|
|
545
|
+
};
|
|
546
|
+
var findUiSchemaField = function findUiSchemaField(element) {
|
|
547
|
+
return utils.getUiOptions(findUiSchema(element)).field;
|
|
548
|
+
};
|
|
549
|
+
var findUiSchemaWidget = function findUiSchemaWidget(element) {
|
|
550
|
+
return utils.getUiOptions(findUiSchema(element)).widget;
|
|
551
|
+
};
|
|
552
|
+
var calculateColSpan = function calculateColSpan(element) {
|
|
553
|
+
var type = findSchemaType(element);
|
|
554
|
+
var field = findUiSchemaField(element);
|
|
555
|
+
var widget = findUiSchemaWidget(element);
|
|
556
|
+
var defaultColSpan = properties.length < 2 ||
|
|
557
|
+
// Single or no field in object.
|
|
639
558
|
type === "object" || type === "array" || widget === "textarea" ? 24 : 12;
|
|
640
|
-
|
|
641
559
|
if (isObject__default["default"](colSpan)) {
|
|
642
|
-
|
|
560
|
+
var colSpanObj = colSpan;
|
|
561
|
+
if (isString__default["default"](widget)) {
|
|
562
|
+
return colSpanObj[widget];
|
|
563
|
+
}
|
|
564
|
+
if (isString__default["default"](field)) {
|
|
565
|
+
return colSpanObj[field];
|
|
566
|
+
}
|
|
567
|
+
if (isString__default["default"](type)) {
|
|
568
|
+
return colSpanObj[type];
|
|
569
|
+
}
|
|
643
570
|
}
|
|
644
|
-
|
|
645
571
|
if (isNumber__default["default"](colSpan)) {
|
|
646
572
|
return colSpan;
|
|
647
573
|
}
|
|
648
|
-
|
|
649
574
|
return defaultColSpan;
|
|
650
575
|
};
|
|
576
|
+
return /*#__PURE__*/React__default["default"].createElement(context.ConfigConsumer, null, function (configProps) {
|
|
577
|
+
var getPrefixCls = configProps.getPrefixCls;
|
|
578
|
+
var prefixCls = getPrefixCls("form");
|
|
579
|
+
var labelClsBasic = prefixCls + "-item-label";
|
|
580
|
+
var labelColClassName = classNames__default["default"](labelClsBasic, labelAlign === "left" && labelClsBasic + "-left"
|
|
581
|
+
// labelCol.className,
|
|
582
|
+
);
|
|
583
|
+
|
|
584
|
+
return /*#__PURE__*/React__default["default"].createElement("fieldset", {
|
|
585
|
+
id: idSchema.$id
|
|
586
|
+
}, /*#__PURE__*/React__default["default"].createElement(Row__default["default"], {
|
|
587
|
+
gutter: rowGutter
|
|
588
|
+
}, (uiOptions.title || title) && /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
589
|
+
className: labelColClassName,
|
|
590
|
+
span: 24
|
|
591
|
+
}, /*#__PURE__*/React__default["default"].createElement(TitleFieldTemplate, {
|
|
592
|
+
id: utils.titleId(idSchema),
|
|
593
|
+
title: uiOptions.title || title,
|
|
594
|
+
required: required,
|
|
595
|
+
schema: schema,
|
|
596
|
+
uiSchema: uiSchema,
|
|
597
|
+
registry: registry
|
|
598
|
+
})), (uiOptions.description || description) && /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
599
|
+
span: 24,
|
|
600
|
+
style: DESCRIPTION_COL_STYLE
|
|
601
|
+
}, /*#__PURE__*/React__default["default"].createElement(DescriptionFieldTemplate, {
|
|
602
|
+
id: utils.descriptionId(idSchema),
|
|
603
|
+
description: uiOptions.description || description,
|
|
604
|
+
schema: schema,
|
|
605
|
+
uiSchema: uiSchema,
|
|
606
|
+
registry: registry
|
|
607
|
+
})), properties.filter(function (e) {
|
|
608
|
+
return !e.hidden;
|
|
609
|
+
}).map(function (element) {
|
|
610
|
+
return /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
611
|
+
key: element.name,
|
|
612
|
+
span: calculateColSpan(element)
|
|
613
|
+
}, element.content);
|
|
614
|
+
})), utils.canExpand(schema, uiSchema, formData) && /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
615
|
+
span: 24
|
|
616
|
+
}, /*#__PURE__*/React__default["default"].createElement(Row__default["default"], {
|
|
617
|
+
gutter: rowGutter,
|
|
618
|
+
justify: "end"
|
|
619
|
+
}, /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
620
|
+
flex: "192px"
|
|
621
|
+
}, /*#__PURE__*/React__default["default"].createElement(AddButton, {
|
|
622
|
+
className: "object-property-expand",
|
|
623
|
+
disabled: disabled || readonly,
|
|
624
|
+
onClick: onAddClick(schema),
|
|
625
|
+
uiSchema: uiSchema,
|
|
626
|
+
registry: registry
|
|
627
|
+
})))));
|
|
628
|
+
});
|
|
629
|
+
}
|
|
651
630
|
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
id: idSchema.$id + "-title",
|
|
661
|
-
required: required,
|
|
662
|
-
title: uiOptions.title || title,
|
|
663
|
-
uiSchema: uiSchema,
|
|
664
|
-
registry: registry
|
|
665
|
-
})), uiOptions.description !== false && (uiOptions.description || description) && /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
666
|
-
span: 24,
|
|
667
|
-
style: DESCRIPTION_COL_STYLE
|
|
668
|
-
}, /*#__PURE__*/React__default["default"].createElement(DescriptionFieldTemplate, {
|
|
669
|
-
description: uiOptions.description || description,
|
|
670
|
-
id: idSchema.$id + "-description",
|
|
671
|
-
registry: registry
|
|
672
|
-
})), properties.filter(e => !e.hidden).map(element => /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
673
|
-
key: element.name,
|
|
674
|
-
span: calculateColSpan(element)
|
|
675
|
-
}, element.content))), utils.canExpand(schema, uiSchema, formData) && /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
676
|
-
span: 24
|
|
677
|
-
}, /*#__PURE__*/React__default["default"].createElement(Row__default["default"], {
|
|
678
|
-
gutter: rowGutter,
|
|
679
|
-
justify: "end"
|
|
680
|
-
}, /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
681
|
-
flex: "192px"
|
|
682
|
-
}, /*#__PURE__*/React__default["default"].createElement(AddButton, {
|
|
683
|
-
className: "object-property-expand",
|
|
684
|
-
disabled: disabled || readonly,
|
|
685
|
-
onClick: onAddClick(schema),
|
|
686
|
-
uiSchema: uiSchema
|
|
687
|
-
})))));
|
|
688
|
-
};
|
|
689
|
-
|
|
690
|
-
var ObjectFieldTemplate$1 = /*#__PURE__*/context.withConfigConsumer({
|
|
691
|
-
prefixCls: "form"
|
|
692
|
-
})(ObjectFieldTemplate);
|
|
693
|
-
|
|
694
|
-
var SubmitButton = (_ref => {
|
|
695
|
-
let {
|
|
696
|
-
uiSchema
|
|
697
|
-
} = _ref;
|
|
698
|
-
const {
|
|
699
|
-
submitText,
|
|
700
|
-
norender,
|
|
701
|
-
props: submitButtonProps
|
|
702
|
-
} = utils.getSubmitButtonOptions(uiSchema);
|
|
703
|
-
|
|
631
|
+
/** The `SubmitButton` renders a button that represent the `Submit` action on a form
|
|
632
|
+
*/
|
|
633
|
+
function SubmitButton(_ref) {
|
|
634
|
+
var uiSchema = _ref.uiSchema;
|
|
635
|
+
var _getSubmitButtonOptio = utils.getSubmitButtonOptions(uiSchema),
|
|
636
|
+
submitText = _getSubmitButtonOptio.submitText,
|
|
637
|
+
norender = _getSubmitButtonOptio.norender,
|
|
638
|
+
submitButtonProps = _getSubmitButtonOptio.props;
|
|
704
639
|
if (norender) {
|
|
705
640
|
return null;
|
|
706
641
|
}
|
|
707
|
-
|
|
708
642
|
return /*#__PURE__*/React__default["default"].createElement(Button__default["default"], _extends({
|
|
709
643
|
type: "submit"
|
|
710
644
|
}, submitButtonProps, {
|
|
711
645
|
htmlType: "submit"
|
|
712
646
|
}), submitText);
|
|
713
|
-
}
|
|
714
|
-
|
|
715
|
-
const TitleField = _ref => {
|
|
716
|
-
let {
|
|
717
|
-
id,
|
|
718
|
-
prefixCls,
|
|
719
|
-
required,
|
|
720
|
-
registry,
|
|
721
|
-
title
|
|
722
|
-
} = _ref;
|
|
723
|
-
const {
|
|
724
|
-
formContext
|
|
725
|
-
} = registry;
|
|
726
|
-
const {
|
|
727
|
-
colon = true
|
|
728
|
-
} = formContext;
|
|
729
|
-
let labelChildren = title;
|
|
647
|
+
}
|
|
730
648
|
|
|
649
|
+
/** The `TitleField` is the template to use to render the title of a field
|
|
650
|
+
*
|
|
651
|
+
* @param props - The `TitleFieldProps` for this component
|
|
652
|
+
*/
|
|
653
|
+
function TitleField(_ref) {
|
|
654
|
+
var id = _ref.id,
|
|
655
|
+
required = _ref.required,
|
|
656
|
+
registry = _ref.registry,
|
|
657
|
+
title = _ref.title;
|
|
658
|
+
var formContext = registry.formContext;
|
|
659
|
+
var _formContext$colon = formContext.colon,
|
|
660
|
+
colon = _formContext$colon === void 0 ? true : _formContext$colon;
|
|
661
|
+
var labelChildren = title;
|
|
731
662
|
if (colon && typeof title === "string" && title.trim() !== "") {
|
|
732
663
|
labelChildren = title.replace(/[::]\s*$/, "");
|
|
733
664
|
}
|
|
734
|
-
|
|
735
|
-
const labelClassName = classNames__default["default"]({
|
|
736
|
-
[prefixCls + "-item-required"]: required,
|
|
737
|
-
[prefixCls + "-item-no-colon"]: !colon
|
|
738
|
-
});
|
|
739
|
-
|
|
740
|
-
const handleLabelClick = () => {
|
|
665
|
+
var handleLabelClick = function handleLabelClick() {
|
|
741
666
|
if (!id) {
|
|
742
667
|
return;
|
|
743
668
|
}
|
|
744
|
-
|
|
745
|
-
const control = document.querySelector("[id=\"" + id + "\"]");
|
|
746
|
-
|
|
669
|
+
var control = document.querySelector("[id=\"" + id + "\"]");
|
|
747
670
|
if (control && control.focus) {
|
|
748
671
|
control.focus();
|
|
749
672
|
}
|
|
750
673
|
};
|
|
674
|
+
return title ? /*#__PURE__*/React__default["default"].createElement(context.ConfigConsumer, null, function (configProps) {
|
|
675
|
+
var _classNames;
|
|
676
|
+
var getPrefixCls = configProps.getPrefixCls;
|
|
677
|
+
var prefixCls = getPrefixCls("form");
|
|
678
|
+
var labelClassName = classNames__default["default"]((_classNames = {}, _classNames[prefixCls + "-item-required"] = required, _classNames[prefixCls + "-item-no-colon"] = !colon, _classNames));
|
|
679
|
+
return /*#__PURE__*/React__default["default"].createElement("label", {
|
|
680
|
+
className: labelClassName,
|
|
681
|
+
htmlFor: id,
|
|
682
|
+
onClick: handleLabelClick,
|
|
683
|
+
title: typeof title === "string" ? title : ""
|
|
684
|
+
}, labelChildren);
|
|
685
|
+
}) : null;
|
|
686
|
+
}
|
|
751
687
|
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
htmlFor: id,
|
|
755
|
-
onClick: handleLabelClick,
|
|
756
|
-
title: typeof title === "string" ? title : ""
|
|
757
|
-
}, labelChildren) : null;
|
|
688
|
+
var VERTICAL_LABEL_COL = {
|
|
689
|
+
span: 24
|
|
758
690
|
};
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
formContext: {}
|
|
691
|
+
var VERTICAL_WRAPPER_COL = {
|
|
692
|
+
span: 24
|
|
762
693
|
};
|
|
763
|
-
var
|
|
764
|
-
|
|
765
|
-
}
|
|
694
|
+
var INPUT_STYLE$1 = {
|
|
695
|
+
width: "100%"
|
|
696
|
+
};
|
|
697
|
+
/** The `WrapIfAdditional` component is used by the `FieldTemplate` to rename, or remove properties that are
|
|
698
|
+
* part of an `additionalProperties` part of a schema.
|
|
699
|
+
*
|
|
700
|
+
* @param props - The `WrapIfAdditionalProps` for this component
|
|
701
|
+
*/
|
|
702
|
+
function WrapIfAdditionalTemplate(props) {
|
|
703
|
+
var _extends2;
|
|
704
|
+
var children = props.children,
|
|
705
|
+
classNames = props.classNames,
|
|
706
|
+
style = props.style,
|
|
707
|
+
disabled = props.disabled,
|
|
708
|
+
id = props.id,
|
|
709
|
+
label = props.label,
|
|
710
|
+
onDropPropertyClick = props.onDropPropertyClick,
|
|
711
|
+
onKeyChange = props.onKeyChange,
|
|
712
|
+
readonly = props.readonly,
|
|
713
|
+
required = props.required,
|
|
714
|
+
registry = props.registry,
|
|
715
|
+
schema = props.schema,
|
|
716
|
+
uiSchema = props.uiSchema;
|
|
717
|
+
var _registry$formContext = registry.formContext,
|
|
718
|
+
colon = _registry$formContext.colon,
|
|
719
|
+
_registry$formContext2 = _registry$formContext.labelCol,
|
|
720
|
+
labelCol = _registry$formContext2 === void 0 ? VERTICAL_LABEL_COL : _registry$formContext2,
|
|
721
|
+
_registry$formContext3 = _registry$formContext.readonlyAsDisabled,
|
|
722
|
+
readonlyAsDisabled = _registry$formContext3 === void 0 ? true : _registry$formContext3,
|
|
723
|
+
_registry$formContext4 = _registry$formContext.rowGutter,
|
|
724
|
+
rowGutter = _registry$formContext4 === void 0 ? 24 : _registry$formContext4,
|
|
725
|
+
_registry$formContext5 = _registry$formContext.toolbarAlign,
|
|
726
|
+
toolbarAlign = _registry$formContext5 === void 0 ? "top" : _registry$formContext5,
|
|
727
|
+
_registry$formContext6 = _registry$formContext.wrapperCol,
|
|
728
|
+
wrapperCol = _registry$formContext6 === void 0 ? VERTICAL_WRAPPER_COL : _registry$formContext6,
|
|
729
|
+
wrapperStyle = _registry$formContext.wrapperStyle;
|
|
730
|
+
// Button templates are not overridden in the uiSchema
|
|
731
|
+
var RemoveButton = registry.templates.ButtonTemplates.RemoveButton;
|
|
732
|
+
var keyLabel = label + " Key"; // i18n ?
|
|
733
|
+
var additional = (utils.ADDITIONAL_PROPERTY_FLAG in schema);
|
|
734
|
+
if (!additional) {
|
|
735
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
736
|
+
className: classNames,
|
|
737
|
+
style: style
|
|
738
|
+
}, children);
|
|
739
|
+
}
|
|
740
|
+
var handleBlur = function handleBlur(_ref) {
|
|
741
|
+
var target = _ref.target;
|
|
742
|
+
return onKeyChange(target.value);
|
|
743
|
+
};
|
|
744
|
+
// The `block` prop is not part of the `IconButtonProps` defined in the template, so put it into the uiSchema instead
|
|
745
|
+
var uiOptions = uiSchema ? uiSchema[utils.UI_OPTIONS_KEY] : {};
|
|
746
|
+
var buttonUiOptions = _extends({}, uiSchema, (_extends2 = {}, _extends2[utils.UI_OPTIONS_KEY] = _extends({}, uiOptions, {
|
|
747
|
+
block: true
|
|
748
|
+
}), _extends2));
|
|
749
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
750
|
+
className: classNames,
|
|
751
|
+
style: style
|
|
752
|
+
}, /*#__PURE__*/React__default["default"].createElement(Row__default["default"], {
|
|
753
|
+
align: toolbarAlign,
|
|
754
|
+
gutter: rowGutter
|
|
755
|
+
}, /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
756
|
+
className: "form-additional",
|
|
757
|
+
flex: "1"
|
|
758
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
759
|
+
className: "form-group"
|
|
760
|
+
}, /*#__PURE__*/React__default["default"].createElement(Form__default["default"].Item, {
|
|
761
|
+
colon: colon,
|
|
762
|
+
className: "form-group",
|
|
763
|
+
hasFeedback: true,
|
|
764
|
+
htmlFor: id + "-key",
|
|
765
|
+
label: keyLabel,
|
|
766
|
+
labelCol: labelCol,
|
|
767
|
+
required: required,
|
|
768
|
+
style: wrapperStyle,
|
|
769
|
+
wrapperCol: wrapperCol
|
|
770
|
+
}, /*#__PURE__*/React__default["default"].createElement(Input__default["default"], {
|
|
771
|
+
className: "form-control",
|
|
772
|
+
defaultValue: label,
|
|
773
|
+
disabled: disabled || readonlyAsDisabled && readonly,
|
|
774
|
+
id: id + "-key",
|
|
775
|
+
name: id + "-key",
|
|
776
|
+
onBlur: !readonly ? handleBlur : undefined,
|
|
777
|
+
style: INPUT_STYLE$1,
|
|
778
|
+
type: "text"
|
|
779
|
+
})))), /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
780
|
+
className: "form-additional",
|
|
781
|
+
flex: "1"
|
|
782
|
+
}, children), /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
783
|
+
flex: "192px"
|
|
784
|
+
}, /*#__PURE__*/React__default["default"].createElement(RemoveButton, {
|
|
785
|
+
className: "array-item-remove",
|
|
786
|
+
disabled: disabled || readonly,
|
|
787
|
+
onClick: onDropPropertyClick(label),
|
|
788
|
+
uiSchema: buttonUiOptions,
|
|
789
|
+
registry: registry
|
|
790
|
+
}))));
|
|
791
|
+
}
|
|
766
792
|
|
|
767
|
-
|
|
768
|
-
|
|
793
|
+
function generateTemplates() {
|
|
794
|
+
return {
|
|
795
|
+
ArrayFieldItemTemplate: ArrayFieldItemTemplate,
|
|
796
|
+
ArrayFieldTemplate: ArrayFieldTemplate,
|
|
797
|
+
BaseInputTemplate: BaseInputTemplate,
|
|
798
|
+
ButtonTemplates: {
|
|
799
|
+
AddButton: AddButton,
|
|
800
|
+
MoveDownButton: MoveDownButton,
|
|
801
|
+
MoveUpButton: MoveUpButton,
|
|
802
|
+
RemoveButton: RemoveButton,
|
|
803
|
+
SubmitButton: SubmitButton
|
|
804
|
+
},
|
|
805
|
+
DescriptionFieldTemplate: DescriptionField,
|
|
806
|
+
ErrorListTemplate: ErrorList,
|
|
807
|
+
FieldErrorTemplate: FieldErrorTemplate,
|
|
808
|
+
FieldTemplate: FieldTemplate,
|
|
809
|
+
ObjectFieldTemplate: ObjectFieldTemplate,
|
|
810
|
+
TitleFieldTemplate: TitleField,
|
|
811
|
+
WrapIfAdditionalTemplate: WrapIfAdditionalTemplate
|
|
812
|
+
};
|
|
813
|
+
}
|
|
814
|
+
var index$1 = /*#__PURE__*/generateTemplates();
|
|
769
815
|
|
|
770
|
-
|
|
816
|
+
var rangeOptions = function rangeOptions(start, stop) {
|
|
817
|
+
var options = [];
|
|
818
|
+
for (var i = start; i <= stop; i++) {
|
|
771
819
|
options.push({
|
|
772
820
|
value: i,
|
|
773
821
|
label: utils.pad(i, 2)
|
|
774
822
|
});
|
|
775
823
|
}
|
|
776
|
-
|
|
777
824
|
return options;
|
|
778
825
|
};
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
826
|
+
var readyForChange = function readyForChange(state) {
|
|
827
|
+
return Object.values(state).every(function (value) {
|
|
828
|
+
return value !== -1;
|
|
829
|
+
});
|
|
782
830
|
};
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
}
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
831
|
+
function dateElementProps(state, time, yearsRange) {
|
|
832
|
+
if (yearsRange === void 0) {
|
|
833
|
+
yearsRange = [1900, new Date().getFullYear() + 2];
|
|
834
|
+
}
|
|
835
|
+
var year = state.year,
|
|
836
|
+
month = state.month,
|
|
837
|
+
day = state.day,
|
|
838
|
+
hour = state.hour,
|
|
839
|
+
minute = state.minute,
|
|
840
|
+
second = state.second;
|
|
841
|
+
var data = [{
|
|
842
|
+
type: "year",
|
|
843
|
+
range: yearsRange,
|
|
844
|
+
value: year
|
|
845
|
+
}, {
|
|
846
|
+
type: "month",
|
|
847
|
+
range: [1, 12],
|
|
848
|
+
value: month
|
|
849
|
+
}, {
|
|
850
|
+
type: "day",
|
|
851
|
+
range: [1, 31],
|
|
852
|
+
value: day
|
|
853
|
+
}];
|
|
854
|
+
if (time) {
|
|
855
|
+
data.push({
|
|
856
|
+
type: "hour",
|
|
857
|
+
range: [0, 23],
|
|
858
|
+
value: hour || -1
|
|
859
|
+
}, {
|
|
860
|
+
type: "minute",
|
|
861
|
+
range: [0, 59],
|
|
862
|
+
value: minute || -1
|
|
863
|
+
}, {
|
|
864
|
+
type: "second",
|
|
865
|
+
range: [0, 59],
|
|
866
|
+
value: second || -1
|
|
867
|
+
});
|
|
868
|
+
}
|
|
869
|
+
return data;
|
|
870
|
+
}
|
|
871
|
+
function AltDateWidget(props) {
|
|
872
|
+
var autofocus = props.autofocus,
|
|
873
|
+
disabled = props.disabled,
|
|
874
|
+
formContext = props.formContext,
|
|
875
|
+
id = props.id,
|
|
876
|
+
onBlur = props.onBlur,
|
|
877
|
+
onChange = props.onChange,
|
|
878
|
+
onFocus = props.onFocus,
|
|
879
|
+
options = props.options,
|
|
880
|
+
readonly = props.readonly,
|
|
881
|
+
registry = props.registry,
|
|
882
|
+
showTime = props.showTime,
|
|
883
|
+
value = props.value;
|
|
884
|
+
var SelectWidget = registry.widgets.SelectWidget;
|
|
885
|
+
var _formContext$rowGutte = formContext.rowGutter,
|
|
886
|
+
rowGutter = _formContext$rowGutte === void 0 ? 24 : _formContext$rowGutte;
|
|
887
|
+
var _useState = React.useState(utils.parseDateString(value, showTime)),
|
|
888
|
+
state = _useState[0],
|
|
889
|
+
setState = _useState[1];
|
|
890
|
+
React.useEffect(function () {
|
|
807
891
|
setState(utils.parseDateString(value, showTime));
|
|
808
892
|
}, [showTime, value]);
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
[property]: typeof nextValue === "undefined" ? -1 : nextValue
|
|
813
|
-
};
|
|
814
|
-
|
|
893
|
+
var handleChange = function handleChange(property, nextValue) {
|
|
894
|
+
var _extends2;
|
|
895
|
+
var nextState = _extends({}, state, (_extends2 = {}, _extends2[property] = typeof nextValue === "undefined" ? -1 : nextValue, _extends2));
|
|
815
896
|
if (readyForChange(nextState)) {
|
|
816
897
|
onChange(utils.toDateString(nextState, showTime));
|
|
817
898
|
} else {
|
|
818
899
|
setState(nextState);
|
|
819
900
|
}
|
|
820
901
|
};
|
|
821
|
-
|
|
822
|
-
const handleNow = event => {
|
|
902
|
+
var handleNow = function handleNow(event) {
|
|
823
903
|
event.preventDefault();
|
|
824
|
-
|
|
825
904
|
if (disabled || readonly) {
|
|
826
905
|
return;
|
|
827
906
|
}
|
|
828
|
-
|
|
829
|
-
const nextState = utils.parseDateString(new Date().toJSON(), showTime);
|
|
907
|
+
var nextState = utils.parseDateString(new Date().toJSON(), showTime);
|
|
830
908
|
onChange(utils.toDateString(nextState, showTime));
|
|
831
909
|
};
|
|
832
|
-
|
|
833
|
-
const handleClear = event => {
|
|
910
|
+
var handleClear = function handleClear(event) {
|
|
834
911
|
event.preventDefault();
|
|
835
|
-
|
|
836
912
|
if (disabled || readonly) {
|
|
837
913
|
return;
|
|
838
914
|
}
|
|
839
|
-
|
|
840
915
|
onChange(undefined);
|
|
841
916
|
};
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
data.push({
|
|
868
|
-
type: "hour",
|
|
869
|
-
range: [0, 23],
|
|
870
|
-
value: hour
|
|
871
|
-
}, {
|
|
872
|
-
type: "minute",
|
|
873
|
-
range: [0, 59],
|
|
874
|
-
value: minute
|
|
875
|
-
}, {
|
|
876
|
-
type: "second",
|
|
877
|
-
range: [0, 59],
|
|
878
|
-
value: second
|
|
879
|
-
});
|
|
880
|
-
}
|
|
881
|
-
|
|
882
|
-
return data;
|
|
917
|
+
var renderDateElement = function renderDateElement(elemProps) {
|
|
918
|
+
return /*#__PURE__*/React__default["default"].createElement(SelectWidget, {
|
|
919
|
+
autofocus: elemProps.autofocus,
|
|
920
|
+
className: "form-control",
|
|
921
|
+
disabled: elemProps.disabled,
|
|
922
|
+
id: elemProps.id,
|
|
923
|
+
name: elemProps.name,
|
|
924
|
+
onBlur: elemProps.onBlur,
|
|
925
|
+
onChange: function onChange(elemValue) {
|
|
926
|
+
return elemProps.select(elemProps.type, elemValue);
|
|
927
|
+
},
|
|
928
|
+
onFocus: elemProps.onFocus,
|
|
929
|
+
options: {
|
|
930
|
+
enumOptions: rangeOptions(elemProps.range[0], elemProps.range[1])
|
|
931
|
+
},
|
|
932
|
+
placeholder: elemProps.type,
|
|
933
|
+
readonly: elemProps.readonly,
|
|
934
|
+
schema: {
|
|
935
|
+
type: "integer"
|
|
936
|
+
},
|
|
937
|
+
value: elemProps.value,
|
|
938
|
+
registry: registry,
|
|
939
|
+
label: "",
|
|
940
|
+
"aria-describedby": utils.ariaDescribedByIds(id)
|
|
941
|
+
});
|
|
883
942
|
};
|
|
884
|
-
|
|
885
|
-
const renderDateElement = elemProps => /*#__PURE__*/React__default["default"].createElement(SelectWidget, {
|
|
886
|
-
autofocus: elemProps.autofocus,
|
|
887
|
-
className: "form-control",
|
|
888
|
-
disabled: elemProps.disabled,
|
|
889
|
-
id: elemProps.id,
|
|
890
|
-
onBlur: elemProps.onBlur,
|
|
891
|
-
onChange: elemValue => elemProps.select(elemProps.type, elemValue),
|
|
892
|
-
onFocus: elemProps.onFocus,
|
|
893
|
-
options: {
|
|
894
|
-
enumOptions: rangeOptions(elemProps.range[0], elemProps.range[1])
|
|
895
|
-
},
|
|
896
|
-
placeholder: elemProps.type,
|
|
897
|
-
readonly: elemProps.readonly,
|
|
898
|
-
schema: {
|
|
899
|
-
type: "integer"
|
|
900
|
-
},
|
|
901
|
-
value: elemProps.value
|
|
902
|
-
});
|
|
903
|
-
|
|
904
943
|
return /*#__PURE__*/React__default["default"].createElement(Row__default["default"], {
|
|
905
944
|
gutter: [Math.floor(rowGutter / 2), Math.floor(rowGutter / 2)]
|
|
906
|
-
}, dateElementProps().map((elemProps, i)
|
|
907
|
-
|
|
945
|
+
}, dateElementProps(state, showTime, options.yearsRange).map(function (elemProps, i) {
|
|
946
|
+
var elemId = id + "_" + elemProps.type;
|
|
908
947
|
return /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
909
948
|
flex: "88px",
|
|
910
949
|
key: elemId
|
|
911
|
-
}, renderDateElement({
|
|
950
|
+
}, renderDateElement(_extends({}, elemProps, {
|
|
912
951
|
autofocus: autofocus && i === 0,
|
|
913
|
-
disabled,
|
|
952
|
+
disabled: disabled,
|
|
914
953
|
id: elemId,
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
954
|
+
name: id,
|
|
955
|
+
onBlur: onBlur,
|
|
956
|
+
onFocus: onFocus,
|
|
957
|
+
readonly: readonly,
|
|
958
|
+
registry: registry,
|
|
919
959
|
select: handleChange,
|
|
920
960
|
// NOTE: antd components accept -1 rather than issue a warning
|
|
921
961
|
// like material-ui, so we need to convert -1 to undefined here.
|
|
922
962
|
value: elemProps.value < 0 ? undefined : elemProps.value
|
|
923
|
-
}));
|
|
963
|
+
})));
|
|
924
964
|
}), !options.hideNowButton && /*#__PURE__*/React__default["default"].createElement(Col__default["default"], {
|
|
925
965
|
flex: "88px"
|
|
926
966
|
}, /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
|
|
@@ -937,8 +977,7 @@ const AltDateWidget = _ref => {
|
|
|
937
977
|
onClick: handleClear,
|
|
938
978
|
type: "primary"
|
|
939
979
|
}, "Clear")));
|
|
940
|
-
}
|
|
941
|
-
|
|
980
|
+
}
|
|
942
981
|
AltDateWidget.defaultProps = {
|
|
943
982
|
autofocus: false,
|
|
944
983
|
disabled: false,
|
|
@@ -949,173 +988,159 @@ AltDateWidget.defaultProps = {
|
|
|
949
988
|
showTime: false
|
|
950
989
|
};
|
|
951
990
|
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
AltDateWidget
|
|
955
|
-
} = props.registry.widgets;
|
|
991
|
+
function AltDateTimeWidget(props) {
|
|
992
|
+
var AltDateWidget = props.registry.widgets.AltDateWidget;
|
|
956
993
|
return /*#__PURE__*/React__default["default"].createElement(AltDateWidget, _extends({
|
|
957
994
|
showTime: true
|
|
958
995
|
}, props));
|
|
959
|
-
}
|
|
960
|
-
|
|
961
|
-
AltDateTimeWidget.defaultProps = { ...AltDateWidget.defaultProps,
|
|
996
|
+
}
|
|
997
|
+
AltDateTimeWidget.defaultProps = /*#__PURE__*/_extends({}, AltDateWidget.defaultProps, {
|
|
962
998
|
showTime: true
|
|
963
|
-
};
|
|
964
|
-
|
|
965
|
-
const CheckboxesWidget = _ref => {
|
|
966
|
-
let {
|
|
967
|
-
autofocus,
|
|
968
|
-
disabled,
|
|
969
|
-
formContext,
|
|
970
|
-
id,
|
|
971
|
-
// label,
|
|
972
|
-
onBlur,
|
|
973
|
-
onChange,
|
|
974
|
-
onFocus,
|
|
975
|
-
options,
|
|
976
|
-
// placeholder,
|
|
977
|
-
readonly,
|
|
978
|
-
// required,
|
|
979
|
-
// schema,
|
|
980
|
-
value
|
|
981
|
-
} = _ref;
|
|
982
|
-
const {
|
|
983
|
-
readonlyAsDisabled = true
|
|
984
|
-
} = formContext;
|
|
985
|
-
const {
|
|
986
|
-
enumOptions,
|
|
987
|
-
enumDisabled,
|
|
988
|
-
inline
|
|
989
|
-
} = options;
|
|
990
|
-
|
|
991
|
-
const handleChange = nextValue => onChange(nextValue);
|
|
999
|
+
});
|
|
992
1000
|
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
1001
|
+
/** The `CheckboxesWidget` is a widget for rendering checkbox groups.
|
|
1002
|
+
* It is typically used to represent an array of enums.
|
|
1003
|
+
*
|
|
1004
|
+
* @param props - The `WidgetProps` for this component
|
|
1005
|
+
*/
|
|
1006
|
+
function CheckboxesWidget(_ref) {
|
|
1007
|
+
var autofocus = _ref.autofocus,
|
|
1008
|
+
disabled = _ref.disabled,
|
|
1009
|
+
formContext = _ref.formContext,
|
|
1010
|
+
id = _ref.id,
|
|
1011
|
+
onBlur = _ref.onBlur,
|
|
1012
|
+
onChange = _ref.onChange,
|
|
1013
|
+
onFocus = _ref.onFocus,
|
|
1014
|
+
options = _ref.options,
|
|
1015
|
+
readonly = _ref.readonly,
|
|
1016
|
+
value = _ref.value;
|
|
1017
|
+
var _formContext$readonly = formContext.readonlyAsDisabled,
|
|
1018
|
+
readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
|
|
1019
|
+
var enumOptions = options.enumOptions,
|
|
1020
|
+
enumDisabled = options.enumDisabled,
|
|
1021
|
+
inline = options.inline,
|
|
1022
|
+
emptyValue = options.emptyValue;
|
|
1023
|
+
var handleChange = function handleChange(nextValue) {
|
|
1024
|
+
return onChange(utils.enumOptionsValueForIndex(nextValue, enumOptions, emptyValue));
|
|
998
1025
|
};
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
target
|
|
1003
|
-
} = _ref3;
|
|
1004
|
-
return onFocus(id, target.value);
|
|
1026
|
+
var handleBlur = function handleBlur(_ref2) {
|
|
1027
|
+
var target = _ref2.target;
|
|
1028
|
+
return onBlur(id, utils.enumOptionsValueForIndex(target.value, enumOptions, emptyValue));
|
|
1005
1029
|
};
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1030
|
+
var handleFocus = function handleFocus(_ref3) {
|
|
1031
|
+
var target = _ref3.target;
|
|
1032
|
+
return onFocus(id, utils.enumOptionsValueForIndex(target.value, enumOptions, emptyValue));
|
|
1033
|
+
};
|
|
1034
|
+
// Antd's typescript definitions do not contain the following props that are actually necessary and, if provided,
|
|
1035
|
+
// they are used, so hacking them in via by spreading `extraProps` on the component to avoid typescript errors
|
|
1036
|
+
var extraProps = {
|
|
1009
1037
|
id: id,
|
|
1010
|
-
name: id,
|
|
1011
1038
|
onBlur: !readonly ? handleBlur : undefined,
|
|
1039
|
+
onFocus: !readonly ? handleFocus : undefined
|
|
1040
|
+
};
|
|
1041
|
+
var selectedIndexes = utils.enumOptionsIndexForValue(value, enumOptions, true);
|
|
1042
|
+
return Array.isArray(enumOptions) && enumOptions.length > 0 ? /*#__PURE__*/React__default["default"].createElement(Checkbox__default["default"].Group, _extends({
|
|
1043
|
+
disabled: disabled || readonlyAsDisabled && readonly,
|
|
1044
|
+
name: id,
|
|
1012
1045
|
onChange: !readonly ? handleChange : undefined,
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
value: optionValue,
|
|
1018
|
-
label: optionLabel
|
|
1019
|
-
} = _ref4;
|
|
1046
|
+
value: selectedIndexes
|
|
1047
|
+
}, extraProps, {
|
|
1048
|
+
"aria-describedby": utils.ariaDescribedByIds(id)
|
|
1049
|
+
}), Array.isArray(enumOptions) && enumOptions.map(function (option, i) {
|
|
1020
1050
|
return /*#__PURE__*/React__default["default"].createElement("span", {
|
|
1021
|
-
key:
|
|
1051
|
+
key: i
|
|
1022
1052
|
}, /*#__PURE__*/React__default["default"].createElement(Checkbox__default["default"], {
|
|
1053
|
+
id: utils.optionId(id, i),
|
|
1054
|
+
name: id,
|
|
1023
1055
|
autoFocus: i === 0 ? autofocus : false,
|
|
1024
|
-
disabled: enumDisabled && enumDisabled.indexOf(value) !== -1,
|
|
1025
|
-
value:
|
|
1026
|
-
},
|
|
1056
|
+
disabled: Array.isArray(enumDisabled) && enumDisabled.indexOf(value) !== -1,
|
|
1057
|
+
value: String(i)
|
|
1058
|
+
}, option.label), !inline && /*#__PURE__*/React__default["default"].createElement("br", null));
|
|
1027
1059
|
})) : null;
|
|
1028
|
-
}
|
|
1029
|
-
|
|
1030
|
-
const CheckboxWidget = _ref => {
|
|
1031
|
-
let {
|
|
1032
|
-
autofocus,
|
|
1033
|
-
disabled,
|
|
1034
|
-
formContext,
|
|
1035
|
-
id,
|
|
1036
|
-
label,
|
|
1037
|
-
onBlur,
|
|
1038
|
-
onChange,
|
|
1039
|
-
onFocus,
|
|
1040
|
-
// options,
|
|
1041
|
-
// placeholder,
|
|
1042
|
-
readonly,
|
|
1043
|
-
// required,
|
|
1044
|
-
// schema,
|
|
1045
|
-
value
|
|
1046
|
-
} = _ref;
|
|
1047
|
-
const {
|
|
1048
|
-
readonlyAsDisabled = true
|
|
1049
|
-
} = formContext;
|
|
1060
|
+
}
|
|
1050
1061
|
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1062
|
+
/** The `CheckBoxWidget` is a widget for rendering boolean properties.
|
|
1063
|
+
* It is typically used to represent a boolean.
|
|
1064
|
+
*
|
|
1065
|
+
* @param props - The `WidgetProps` for this component
|
|
1066
|
+
*/
|
|
1067
|
+
function CheckboxWidget(props) {
|
|
1068
|
+
var autofocus = props.autofocus,
|
|
1069
|
+
disabled = props.disabled,
|
|
1070
|
+
formContext = props.formContext,
|
|
1071
|
+
id = props.id,
|
|
1072
|
+
label = props.label,
|
|
1073
|
+
onBlur = props.onBlur,
|
|
1074
|
+
onChange = props.onChange,
|
|
1075
|
+
onFocus = props.onFocus,
|
|
1076
|
+
readonly = props.readonly,
|
|
1077
|
+
value = props.value;
|
|
1078
|
+
var _formContext$readonly = formContext.readonlyAsDisabled,
|
|
1079
|
+
readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
|
|
1080
|
+
var handleChange = function handleChange(_ref) {
|
|
1081
|
+
var target = _ref.target;
|
|
1055
1082
|
return onChange(target.checked);
|
|
1056
1083
|
};
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
let {
|
|
1060
|
-
target
|
|
1061
|
-
} = _ref3;
|
|
1084
|
+
var handleBlur = function handleBlur(_ref2) {
|
|
1085
|
+
var target = _ref2.target;
|
|
1062
1086
|
return onBlur(id, target.checked);
|
|
1063
1087
|
};
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
let {
|
|
1067
|
-
target
|
|
1068
|
-
} = _ref4;
|
|
1088
|
+
var handleFocus = function handleFocus(_ref3) {
|
|
1089
|
+
var target = _ref3.target;
|
|
1069
1090
|
return onFocus(id, target.checked);
|
|
1070
1091
|
};
|
|
1071
|
-
|
|
1072
|
-
|
|
1092
|
+
// Antd's typescript definitions do not contain the following props that are actually necessary and, if provided,
|
|
1093
|
+
// they are used, so hacking them in via by spreading `extraProps` on the component to avoid typescript errors
|
|
1094
|
+
var extraProps = {
|
|
1095
|
+
onBlur: !readonly ? handleBlur : undefined,
|
|
1096
|
+
onFocus: !readonly ? handleFocus : undefined
|
|
1097
|
+
};
|
|
1098
|
+
return /*#__PURE__*/React__default["default"].createElement(Checkbox__default["default"], _extends({
|
|
1073
1099
|
autoFocus: autofocus,
|
|
1074
1100
|
checked: typeof value === "undefined" ? false : value,
|
|
1075
1101
|
disabled: disabled || readonlyAsDisabled && readonly,
|
|
1076
1102
|
id: id,
|
|
1077
1103
|
name: id,
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
}, label);
|
|
1082
|
-
}
|
|
1104
|
+
onChange: !readonly ? handleChange : undefined
|
|
1105
|
+
}, extraProps, {
|
|
1106
|
+
"aria-describedby": utils.ariaDescribedByIds(id)
|
|
1107
|
+
}), label);
|
|
1108
|
+
}
|
|
1083
1109
|
|
|
1084
|
-
|
|
1110
|
+
var DatePicker = /*#__PURE__*/generatePicker__default["default"](dayjsGenerateConfig__default["default"]);
|
|
1085
1111
|
|
|
1086
|
-
|
|
1112
|
+
var DATE_PICKER_STYLE$1 = {
|
|
1087
1113
|
width: "100%"
|
|
1088
1114
|
};
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
placeholder,
|
|
1102
|
-
readonly,
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1115
|
+
/** The `DateTimeWidget` component uses the `BaseInputTemplate` changing the type to `datetime-local` and transforms
|
|
1116
|
+
* the value to/from utc using the appropriate utility functions.
|
|
1117
|
+
*
|
|
1118
|
+
* @param props - The `WidgetProps` for this component
|
|
1119
|
+
*/
|
|
1120
|
+
function DateTimeWidget(props) {
|
|
1121
|
+
var disabled = props.disabled,
|
|
1122
|
+
formContext = props.formContext,
|
|
1123
|
+
id = props.id,
|
|
1124
|
+
onBlur = props.onBlur,
|
|
1125
|
+
onChange = props.onChange,
|
|
1126
|
+
onFocus = props.onFocus,
|
|
1127
|
+
placeholder = props.placeholder,
|
|
1128
|
+
readonly = props.readonly,
|
|
1129
|
+
value = props.value;
|
|
1130
|
+
var _formContext$readonly = formContext.readonlyAsDisabled,
|
|
1131
|
+
readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
|
|
1132
|
+
var handleChange = function handleChange(nextValue) {
|
|
1133
|
+
return onChange(nextValue && nextValue.toISOString());
|
|
1134
|
+
};
|
|
1135
|
+
var handleBlur = function handleBlur() {
|
|
1136
|
+
return onBlur(id, value);
|
|
1137
|
+
};
|
|
1138
|
+
var handleFocus = function handleFocus() {
|
|
1139
|
+
return onFocus(id, value);
|
|
1140
|
+
};
|
|
1141
|
+
var getPopupContainer = function getPopupContainer(node) {
|
|
1142
|
+
return node.parentNode;
|
|
1143
|
+
};
|
|
1119
1144
|
return /*#__PURE__*/React__default["default"].createElement(DatePicker, {
|
|
1120
1145
|
disabled: disabled || readonlyAsDisabled && readonly,
|
|
1121
1146
|
getPopupContainer: getPopupContainer,
|
|
@@ -1127,43 +1152,43 @@ const DateTimeWidget = _ref => {
|
|
|
1127
1152
|
placeholder: placeholder,
|
|
1128
1153
|
showTime: true,
|
|
1129
1154
|
style: DATE_PICKER_STYLE$1,
|
|
1130
|
-
value: value && dayjs__default["default"](value)
|
|
1155
|
+
value: value && dayjs__default["default"](value),
|
|
1156
|
+
"aria-describedby": utils.ariaDescribedByIds(id)
|
|
1131
1157
|
});
|
|
1132
|
-
}
|
|
1158
|
+
}
|
|
1133
1159
|
|
|
1134
|
-
|
|
1160
|
+
var DATE_PICKER_STYLE = {
|
|
1135
1161
|
width: "100%"
|
|
1136
1162
|
};
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
placeholder,
|
|
1150
|
-
readonly,
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1163
|
+
/** The `DateWidget` component uses the `BaseInputTemplate` changing the type to `date` and transforms
|
|
1164
|
+
* the value to undefined when it is falsy during the `onChange` handling.
|
|
1165
|
+
*
|
|
1166
|
+
* @param props - The `WidgetProps` for this component
|
|
1167
|
+
*/
|
|
1168
|
+
function DateWidget(props) {
|
|
1169
|
+
var disabled = props.disabled,
|
|
1170
|
+
formContext = props.formContext,
|
|
1171
|
+
id = props.id,
|
|
1172
|
+
onBlur = props.onBlur,
|
|
1173
|
+
onChange = props.onChange,
|
|
1174
|
+
onFocus = props.onFocus,
|
|
1175
|
+
placeholder = props.placeholder,
|
|
1176
|
+
readonly = props.readonly,
|
|
1177
|
+
value = props.value;
|
|
1178
|
+
var _formContext$readonly = formContext.readonlyAsDisabled,
|
|
1179
|
+
readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
|
|
1180
|
+
var handleChange = function handleChange(nextValue) {
|
|
1181
|
+
return onChange(nextValue && nextValue.format("YYYY-MM-DD"));
|
|
1182
|
+
};
|
|
1183
|
+
var handleBlur = function handleBlur() {
|
|
1184
|
+
return onBlur(id, value);
|
|
1185
|
+
};
|
|
1186
|
+
var handleFocus = function handleFocus() {
|
|
1187
|
+
return onFocus(id, value);
|
|
1188
|
+
};
|
|
1189
|
+
var getPopupContainer = function getPopupContainer(node) {
|
|
1190
|
+
return node.parentNode;
|
|
1191
|
+
};
|
|
1167
1192
|
return /*#__PURE__*/React__default["default"].createElement(DatePicker, {
|
|
1168
1193
|
disabled: disabled || readonlyAsDisabled && readonly,
|
|
1169
1194
|
getPopupContainer: getPopupContainer,
|
|
@@ -1175,53 +1200,41 @@ const DateWidget = _ref => {
|
|
|
1175
1200
|
placeholder: placeholder,
|
|
1176
1201
|
showTime: false,
|
|
1177
1202
|
style: DATE_PICKER_STYLE,
|
|
1178
|
-
value: value && dayjs__default["default"](value)
|
|
1203
|
+
value: value && dayjs__default["default"](value),
|
|
1204
|
+
"aria-describedby": utils.ariaDescribedByIds(id)
|
|
1179
1205
|
});
|
|
1180
|
-
}
|
|
1181
|
-
|
|
1182
|
-
const PasswordWidget = _ref => {
|
|
1183
|
-
let {
|
|
1184
|
-
// autofocus,
|
|
1185
|
-
disabled,
|
|
1186
|
-
formContext,
|
|
1187
|
-
id,
|
|
1188
|
-
// label,
|
|
1189
|
-
onBlur,
|
|
1190
|
-
onChange,
|
|
1191
|
-
onFocus,
|
|
1192
|
-
options,
|
|
1193
|
-
placeholder,
|
|
1194
|
-
readonly,
|
|
1195
|
-
// required,
|
|
1196
|
-
// schema,
|
|
1197
|
-
value
|
|
1198
|
-
} = _ref;
|
|
1199
|
-
const {
|
|
1200
|
-
readonlyAsDisabled = true
|
|
1201
|
-
} = formContext;
|
|
1202
|
-
const emptyValue = options.emptyValue || "";
|
|
1206
|
+
}
|
|
1203
1207
|
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
+
/** The `PasswordWidget` component uses the `BaseInputTemplate` changing the type to `password`.
|
|
1209
|
+
*
|
|
1210
|
+
* @param props - The `WidgetProps` for this component
|
|
1211
|
+
*/
|
|
1212
|
+
function PasswordWidget(props) {
|
|
1213
|
+
var disabled = props.disabled,
|
|
1214
|
+
formContext = props.formContext,
|
|
1215
|
+
id = props.id,
|
|
1216
|
+
onBlur = props.onBlur,
|
|
1217
|
+
onChange = props.onChange,
|
|
1218
|
+
onFocus = props.onFocus,
|
|
1219
|
+
options = props.options,
|
|
1220
|
+
placeholder = props.placeholder,
|
|
1221
|
+
readonly = props.readonly,
|
|
1222
|
+
value = props.value;
|
|
1223
|
+
var _formContext$readonly = formContext.readonlyAsDisabled,
|
|
1224
|
+
readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
|
|
1225
|
+
var emptyValue = options.emptyValue || "";
|
|
1226
|
+
var handleChange = function handleChange(_ref) {
|
|
1227
|
+
var target = _ref.target;
|
|
1208
1228
|
return onChange(target.value === "" ? emptyValue : target.value);
|
|
1209
1229
|
};
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
let {
|
|
1213
|
-
target
|
|
1214
|
-
} = _ref3;
|
|
1230
|
+
var handleBlur = function handleBlur(_ref2) {
|
|
1231
|
+
var target = _ref2.target;
|
|
1215
1232
|
return onBlur(id, target.value);
|
|
1216
1233
|
};
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
let {
|
|
1220
|
-
target
|
|
1221
|
-
} = _ref4;
|
|
1234
|
+
var handleFocus = function handleFocus(_ref3) {
|
|
1235
|
+
var target = _ref3.target;
|
|
1222
1236
|
return onFocus(id, target.value);
|
|
1223
1237
|
};
|
|
1224
|
-
|
|
1225
1238
|
return /*#__PURE__*/React__default["default"].createElement(Input__default["default"].Password, {
|
|
1226
1239
|
disabled: disabled || readonlyAsDisabled && readonly,
|
|
1227
1240
|
id: id,
|
|
@@ -1230,251 +1243,238 @@ const PasswordWidget = _ref => {
|
|
|
1230
1243
|
onChange: !readonly ? handleChange : undefined,
|
|
1231
1244
|
onFocus: !readonly ? handleFocus : undefined,
|
|
1232
1245
|
placeholder: placeholder,
|
|
1233
|
-
value: value || ""
|
|
1246
|
+
value: value || "",
|
|
1247
|
+
"aria-describedby": utils.ariaDescribedByIds(id)
|
|
1234
1248
|
});
|
|
1235
|
-
}
|
|
1236
|
-
|
|
1237
|
-
/* eslint-disable no-else-return */
|
|
1238
|
-
|
|
1239
|
-
const RadioWidget = _ref => {
|
|
1240
|
-
let {
|
|
1241
|
-
autofocus,
|
|
1242
|
-
disabled,
|
|
1243
|
-
formContext,
|
|
1244
|
-
id,
|
|
1245
|
-
// label,
|
|
1246
|
-
onBlur,
|
|
1247
|
-
onChange,
|
|
1248
|
-
onFocus,
|
|
1249
|
-
options,
|
|
1250
|
-
// placeholder,
|
|
1251
|
-
readonly,
|
|
1252
|
-
// required,
|
|
1253
|
-
schema,
|
|
1254
|
-
value
|
|
1255
|
-
} = _ref;
|
|
1256
|
-
const {
|
|
1257
|
-
readonlyAsDisabled = true
|
|
1258
|
-
} = formContext;
|
|
1259
|
-
const {
|
|
1260
|
-
enumOptions,
|
|
1261
|
-
enumDisabled
|
|
1262
|
-
} = options;
|
|
1249
|
+
}
|
|
1263
1250
|
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1251
|
+
/** The `RadioWidget` is a widget for rendering a radio group.
|
|
1252
|
+
* It is typically used with a string property constrained with enum options.
|
|
1253
|
+
*
|
|
1254
|
+
* @param props - The `WidgetProps` for this component
|
|
1255
|
+
*/
|
|
1256
|
+
function RadioWidget(_ref) {
|
|
1257
|
+
var autofocus = _ref.autofocus,
|
|
1258
|
+
disabled = _ref.disabled,
|
|
1259
|
+
formContext = _ref.formContext,
|
|
1260
|
+
id = _ref.id,
|
|
1261
|
+
onBlur = _ref.onBlur,
|
|
1262
|
+
onChange = _ref.onChange,
|
|
1263
|
+
onFocus = _ref.onFocus,
|
|
1264
|
+
options = _ref.options,
|
|
1265
|
+
readonly = _ref.readonly,
|
|
1266
|
+
value = _ref.value;
|
|
1267
|
+
var _formContext$readonly = formContext.readonlyAsDisabled,
|
|
1268
|
+
readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
|
|
1269
|
+
var enumOptions = options.enumOptions,
|
|
1270
|
+
enumDisabled = options.enumDisabled,
|
|
1271
|
+
emptyValue = options.emptyValue;
|
|
1272
|
+
var handleChange = function handleChange(_ref2) {
|
|
1273
|
+
var nextValue = _ref2.target.value;
|
|
1274
|
+
return onChange(utils.enumOptionsValueForIndex(nextValue, enumOptions, emptyValue));
|
|
1271
1275
|
};
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
target
|
|
1276
|
-
} = _ref3;
|
|
1277
|
-
return onBlur(id, target.value);
|
|
1276
|
+
var handleBlur = function handleBlur(_ref3) {
|
|
1277
|
+
var target = _ref3.target;
|
|
1278
|
+
return onBlur(id, utils.enumOptionsValueForIndex(target.value, enumOptions, emptyValue));
|
|
1278
1279
|
};
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
target
|
|
1283
|
-
} = _ref4;
|
|
1284
|
-
return onFocus(id, target.value);
|
|
1280
|
+
var handleFocus = function handleFocus(_ref4) {
|
|
1281
|
+
var target = _ref4.target;
|
|
1282
|
+
return onFocus(id, utils.enumOptionsValueForIndex(target.value, enumOptions, emptyValue));
|
|
1285
1283
|
};
|
|
1286
|
-
|
|
1284
|
+
var selectedIndexes = utils.enumOptionsIndexForValue(value, enumOptions);
|
|
1287
1285
|
return /*#__PURE__*/React__default["default"].createElement(Radio__default["default"].Group, {
|
|
1288
1286
|
disabled: disabled || readonlyAsDisabled && readonly,
|
|
1289
1287
|
id: id,
|
|
1290
1288
|
name: id,
|
|
1291
|
-
onBlur: !readonly ? handleBlur : undefined,
|
|
1292
1289
|
onChange: !readonly ? handleChange : undefined,
|
|
1290
|
+
onBlur: !readonly ? handleBlur : undefined,
|
|
1293
1291
|
onFocus: !readonly ? handleFocus : undefined,
|
|
1294
|
-
value:
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
value: optionValue,
|
|
1298
|
-
label: optionLabel
|
|
1299
|
-
} = _ref5;
|
|
1292
|
+
value: selectedIndexes,
|
|
1293
|
+
"aria-describedby": utils.ariaDescribedByIds(id)
|
|
1294
|
+
}, Array.isArray(enumOptions) && enumOptions.map(function (option, i) {
|
|
1300
1295
|
return /*#__PURE__*/React__default["default"].createElement(Radio__default["default"], {
|
|
1296
|
+
id: utils.optionId(id, i),
|
|
1297
|
+
name: id,
|
|
1301
1298
|
autoFocus: i === 0 ? autofocus : false,
|
|
1302
|
-
disabled: enumDisabled && enumDisabled.indexOf(value) !== -1,
|
|
1303
|
-
key:
|
|
1304
|
-
value:
|
|
1305
|
-
},
|
|
1299
|
+
disabled: Array.isArray(enumDisabled) && enumDisabled.indexOf(value) !== -1,
|
|
1300
|
+
key: i,
|
|
1301
|
+
value: String(i)
|
|
1302
|
+
}, option.label);
|
|
1306
1303
|
}));
|
|
1307
|
-
}
|
|
1308
|
-
|
|
1309
|
-
/* eslint-disable no-else-return */
|
|
1310
|
-
|
|
1311
|
-
const RangeWidget = _ref => {
|
|
1312
|
-
let {
|
|
1313
|
-
autofocus,
|
|
1314
|
-
disabled,
|
|
1315
|
-
formContext,
|
|
1316
|
-
id,
|
|
1317
|
-
// label,
|
|
1318
|
-
onBlur,
|
|
1319
|
-
onChange,
|
|
1320
|
-
onFocus,
|
|
1321
|
-
options,
|
|
1322
|
-
placeholder,
|
|
1323
|
-
readonly,
|
|
1324
|
-
// required,
|
|
1325
|
-
schema,
|
|
1326
|
-
value
|
|
1327
|
-
} = _ref;
|
|
1328
|
-
const {
|
|
1329
|
-
readonlyAsDisabled = true
|
|
1330
|
-
} = formContext;
|
|
1331
|
-
const {
|
|
1332
|
-
min,
|
|
1333
|
-
max,
|
|
1334
|
-
step
|
|
1335
|
-
} = utils.rangeSpec(schema);
|
|
1336
|
-
const emptyValue = options.emptyValue || "";
|
|
1337
|
-
|
|
1338
|
-
const handleChange = nextValue => onChange(nextValue === "" ? emptyValue : nextValue);
|
|
1339
|
-
|
|
1340
|
-
const handleBlur = () => onBlur(id, value);
|
|
1341
|
-
|
|
1342
|
-
const handleFocus = () => onFocus(id, value);
|
|
1304
|
+
}
|
|
1343
1305
|
|
|
1344
|
-
|
|
1306
|
+
/** The `RangeWidget` component uses the `BaseInputTemplate` changing the type to `range` and wrapping the result
|
|
1307
|
+
* in a div, with the value along side it.
|
|
1308
|
+
*
|
|
1309
|
+
* @param props - The `WidgetProps` for this component
|
|
1310
|
+
*/
|
|
1311
|
+
function RangeWidget(props) {
|
|
1312
|
+
var autofocus = props.autofocus,
|
|
1313
|
+
disabled = props.disabled,
|
|
1314
|
+
formContext = props.formContext,
|
|
1315
|
+
id = props.id,
|
|
1316
|
+
onBlur = props.onBlur,
|
|
1317
|
+
onChange = props.onChange,
|
|
1318
|
+
onFocus = props.onFocus,
|
|
1319
|
+
options = props.options,
|
|
1320
|
+
placeholder = props.placeholder,
|
|
1321
|
+
readonly = props.readonly,
|
|
1322
|
+
schema = props.schema,
|
|
1323
|
+
value = props.value;
|
|
1324
|
+
var _formContext$readonly = formContext.readonlyAsDisabled,
|
|
1325
|
+
readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
|
|
1326
|
+
var _rangeSpec = utils.rangeSpec(schema),
|
|
1327
|
+
min = _rangeSpec.min,
|
|
1328
|
+
max = _rangeSpec.max,
|
|
1329
|
+
step = _rangeSpec.step;
|
|
1330
|
+
var emptyValue = options.emptyValue || "";
|
|
1331
|
+
var handleChange = function handleChange(nextValue) {
|
|
1332
|
+
return onChange(nextValue === "" ? emptyValue : nextValue);
|
|
1333
|
+
};
|
|
1334
|
+
var handleBlur = function handleBlur() {
|
|
1335
|
+
return onBlur(id, value);
|
|
1336
|
+
};
|
|
1337
|
+
var handleFocus = function handleFocus() {
|
|
1338
|
+
return onFocus(id, value);
|
|
1339
|
+
};
|
|
1340
|
+
// Antd's typescript definitions do not contain the following props that are actually necessary and, if provided,
|
|
1341
|
+
// they are used, so hacking them in via by spreading `extraProps` on the component to avoid typescript errors
|
|
1342
|
+
var extraProps = {
|
|
1343
|
+
placeholder: placeholder,
|
|
1344
|
+
onBlur: !readonly ? handleBlur : undefined,
|
|
1345
|
+
onFocus: !readonly ? handleFocus : undefined
|
|
1346
|
+
};
|
|
1347
|
+
return /*#__PURE__*/React__default["default"].createElement(Slider__default["default"], _extends({
|
|
1345
1348
|
autoFocus: autofocus,
|
|
1346
1349
|
disabled: disabled || readonlyAsDisabled && readonly,
|
|
1347
1350
|
id: id,
|
|
1348
1351
|
max: max,
|
|
1349
1352
|
min: min,
|
|
1350
|
-
onBlur: !readonly ? handleBlur : undefined,
|
|
1351
1353
|
onChange: !readonly ? handleChange : undefined,
|
|
1352
|
-
onFocus: !readonly ? handleFocus : undefined,
|
|
1353
|
-
placeholder: placeholder,
|
|
1354
1354
|
range: false,
|
|
1355
1355
|
step: step,
|
|
1356
1356
|
value: value
|
|
1357
|
-
}
|
|
1358
|
-
|
|
1357
|
+
}, extraProps, {
|
|
1358
|
+
"aria-describedby": utils.ariaDescribedByIds(id)
|
|
1359
|
+
}));
|
|
1360
|
+
}
|
|
1359
1361
|
|
|
1360
|
-
|
|
1361
|
-
const SELECT_STYLE = {
|
|
1362
|
+
var SELECT_STYLE = {
|
|
1362
1363
|
width: "100%"
|
|
1363
1364
|
};
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
readonlyAsDisabled = true
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1365
|
+
/** The `SelectWidget` is a widget for rendering dropdowns.
|
|
1366
|
+
* It is typically used with string properties constrained with enum options.
|
|
1367
|
+
*
|
|
1368
|
+
* @param props - The `WidgetProps` for this component
|
|
1369
|
+
*/
|
|
1370
|
+
function SelectWidget(_ref) {
|
|
1371
|
+
var autofocus = _ref.autofocus,
|
|
1372
|
+
disabled = _ref.disabled,
|
|
1373
|
+
_ref$formContext = _ref.formContext,
|
|
1374
|
+
formContext = _ref$formContext === void 0 ? {} : _ref$formContext,
|
|
1375
|
+
id = _ref.id,
|
|
1376
|
+
multiple = _ref.multiple,
|
|
1377
|
+
onBlur = _ref.onBlur,
|
|
1378
|
+
onChange = _ref.onChange,
|
|
1379
|
+
onFocus = _ref.onFocus,
|
|
1380
|
+
options = _ref.options,
|
|
1381
|
+
placeholder = _ref.placeholder,
|
|
1382
|
+
readonly = _ref.readonly,
|
|
1383
|
+
value = _ref.value;
|
|
1384
|
+
var _formContext$readonly = formContext.readonlyAsDisabled,
|
|
1385
|
+
readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
|
|
1386
|
+
var enumOptions = options.enumOptions,
|
|
1387
|
+
enumDisabled = options.enumDisabled,
|
|
1388
|
+
emptyValue = options.emptyValue;
|
|
1389
|
+
var handleChange = function handleChange(nextValue) {
|
|
1390
|
+
return onChange(utils.enumOptionsValueForIndex(nextValue, enumOptions, emptyValue));
|
|
1391
|
+
};
|
|
1392
|
+
var handleBlur = function handleBlur() {
|
|
1393
|
+
return onBlur(id, utils.enumOptionsValueForIndex(value, enumOptions, emptyValue));
|
|
1394
|
+
};
|
|
1395
|
+
var handleFocus = function handleFocus() {
|
|
1396
|
+
return onFocus(id, utils.enumOptionsValueForIndex(value, enumOptions, emptyValue));
|
|
1397
|
+
};
|
|
1398
|
+
var filterOption = function filterOption(input, option) {
|
|
1399
|
+
if (option && isString__default["default"](option.label)) {
|
|
1400
|
+
// labels are strings in this context
|
|
1401
|
+
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
|
|
1402
|
+
}
|
|
1403
|
+
return false;
|
|
1404
|
+
};
|
|
1405
|
+
var getPopupContainer = function getPopupContainer(node) {
|
|
1406
|
+
return node.parentNode;
|
|
1407
|
+
};
|
|
1408
|
+
var selectedIndexes = utils.enumOptionsIndexForValue(value, enumOptions, multiple);
|
|
1409
|
+
// Antd's typescript definitions do not contain the following props that are actually necessary and, if provided,
|
|
1410
|
+
// they are used, so hacking them in via by spreading `extraProps` on the component to avoid typescript errors
|
|
1411
|
+
var extraProps = {
|
|
1412
|
+
name: id
|
|
1413
|
+
};
|
|
1414
|
+
return /*#__PURE__*/React__default["default"].createElement(Select__default["default"], _extends({
|
|
1402
1415
|
autoFocus: autofocus,
|
|
1403
1416
|
disabled: disabled || readonlyAsDisabled && readonly,
|
|
1404
1417
|
getPopupContainer: getPopupContainer,
|
|
1405
1418
|
id: id,
|
|
1406
1419
|
mode: typeof multiple !== "undefined" ? "multiple" : undefined,
|
|
1407
|
-
name: id,
|
|
1408
1420
|
onBlur: !readonly ? handleBlur : undefined,
|
|
1409
1421
|
onChange: !readonly ? handleChange : undefined,
|
|
1410
1422
|
onFocus: !readonly ? handleFocus : undefined,
|
|
1411
1423
|
placeholder: placeholder,
|
|
1412
1424
|
style: SELECT_STYLE,
|
|
1413
|
-
value:
|
|
1414
|
-
},
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1425
|
+
value: selectedIndexes
|
|
1426
|
+
}, extraProps, {
|
|
1427
|
+
filterOption: filterOption,
|
|
1428
|
+
"aria-describedby": utils.ariaDescribedByIds(id)
|
|
1429
|
+
}), Array.isArray(enumOptions) && enumOptions.map(function (_ref2, index) {
|
|
1430
|
+
var optionValue = _ref2.value,
|
|
1431
|
+
optionLabel = _ref2.label;
|
|
1419
1432
|
return /*#__PURE__*/React__default["default"].createElement(Select__default["default"].Option, {
|
|
1420
|
-
disabled: enumDisabled && enumDisabled.indexOf(optionValue) !== -1,
|
|
1421
|
-
key: String(
|
|
1422
|
-
value: String(
|
|
1433
|
+
disabled: Array.isArray(enumDisabled) && enumDisabled.indexOf(optionValue) !== -1,
|
|
1434
|
+
key: String(index),
|
|
1435
|
+
value: String(index)
|
|
1423
1436
|
}, optionLabel);
|
|
1424
1437
|
}));
|
|
1425
|
-
}
|
|
1426
|
-
|
|
1427
|
-
SelectWidget.defaultProps = {
|
|
1428
|
-
formContext: {}
|
|
1429
|
-
};
|
|
1438
|
+
}
|
|
1430
1439
|
|
|
1431
|
-
|
|
1440
|
+
var INPUT_STYLE = {
|
|
1432
1441
|
width: "100%"
|
|
1433
1442
|
};
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
onBlur,
|
|
1443
|
-
onChange,
|
|
1444
|
-
onFocus,
|
|
1445
|
-
options,
|
|
1446
|
-
placeholder,
|
|
1447
|
-
readonly,
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
readonlyAsDisabled = true
|
|
1454
|
-
} = formContext;
|
|
1455
|
-
|
|
1456
|
-
const handleChange = _ref2 => {
|
|
1457
|
-
let {
|
|
1458
|
-
target
|
|
1459
|
-
} = _ref2;
|
|
1443
|
+
/** The `TextareaWidget` is a widget for rendering input fields as textarea.
|
|
1444
|
+
*
|
|
1445
|
+
* @param props - The `WidgetProps` for this component
|
|
1446
|
+
*/
|
|
1447
|
+
function TextareaWidget(_ref) {
|
|
1448
|
+
var disabled = _ref.disabled,
|
|
1449
|
+
formContext = _ref.formContext,
|
|
1450
|
+
id = _ref.id,
|
|
1451
|
+
onBlur = _ref.onBlur,
|
|
1452
|
+
onChange = _ref.onChange,
|
|
1453
|
+
onFocus = _ref.onFocus,
|
|
1454
|
+
options = _ref.options,
|
|
1455
|
+
placeholder = _ref.placeholder,
|
|
1456
|
+
readonly = _ref.readonly,
|
|
1457
|
+
value = _ref.value;
|
|
1458
|
+
var _formContext$readonly = formContext.readonlyAsDisabled,
|
|
1459
|
+
readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
|
|
1460
|
+
var handleChange = function handleChange(_ref2) {
|
|
1461
|
+
var target = _ref2.target;
|
|
1460
1462
|
return onChange(target.value === "" ? options.emptyValue : target.value);
|
|
1461
1463
|
};
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
let {
|
|
1465
|
-
target
|
|
1466
|
-
} = _ref3;
|
|
1464
|
+
var handleBlur = function handleBlur(_ref3) {
|
|
1465
|
+
var target = _ref3.target;
|
|
1467
1466
|
return onBlur(id, target.value);
|
|
1468
1467
|
};
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
let {
|
|
1472
|
-
target
|
|
1473
|
-
} = _ref4;
|
|
1468
|
+
var handleFocus = function handleFocus(_ref4) {
|
|
1469
|
+
var target = _ref4.target;
|
|
1474
1470
|
return onFocus(id, target.value);
|
|
1475
1471
|
};
|
|
1476
|
-
|
|
1477
|
-
|
|
1472
|
+
// Antd's typescript definitions do not contain the following props that are actually necessary and, if provided,
|
|
1473
|
+
// they are used, so hacking them in via by spreading `extraProps` on the component to avoid typescript errors
|
|
1474
|
+
var extraProps = {
|
|
1475
|
+
type: "textarea"
|
|
1476
|
+
};
|
|
1477
|
+
return /*#__PURE__*/React__default["default"].createElement(Input__default["default"].TextArea, _extends({
|
|
1478
1478
|
disabled: disabled || readonlyAsDisabled && readonly,
|
|
1479
1479
|
id: id,
|
|
1480
1480
|
name: id,
|
|
@@ -1484,49 +1484,48 @@ const TextareaWidget = _ref => {
|
|
|
1484
1484
|
placeholder: placeholder,
|
|
1485
1485
|
rows: options.rows || 4,
|
|
1486
1486
|
style: INPUT_STYLE,
|
|
1487
|
-
type: "textarea",
|
|
1488
1487
|
value: value
|
|
1489
|
-
}
|
|
1490
|
-
|
|
1488
|
+
}, extraProps, {
|
|
1489
|
+
"aria-describedby": utils.ariaDescribedByIds(id)
|
|
1490
|
+
}));
|
|
1491
|
+
}
|
|
1491
1492
|
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
FieldTemplate,
|
|
1521
|
-
ObjectFieldTemplate: ObjectFieldTemplate$1,
|
|
1522
|
-
TitleFieldTemplate: TitleField$1
|
|
1523
|
-
},
|
|
1524
|
-
widgets: Widgets
|
|
1525
|
-
};
|
|
1526
|
-
const Form = /*#__PURE__*/core.withTheme(Theme);
|
|
1493
|
+
function generateWidgets() {
|
|
1494
|
+
return {
|
|
1495
|
+
AltDateTimeWidget: AltDateTimeWidget,
|
|
1496
|
+
AltDateWidget: AltDateWidget,
|
|
1497
|
+
CheckboxesWidget: CheckboxesWidget,
|
|
1498
|
+
CheckboxWidget: CheckboxWidget,
|
|
1499
|
+
DateTimeWidget: DateTimeWidget,
|
|
1500
|
+
DateWidget: DateWidget,
|
|
1501
|
+
PasswordWidget: PasswordWidget,
|
|
1502
|
+
RadioWidget: RadioWidget,
|
|
1503
|
+
RangeWidget: RangeWidget,
|
|
1504
|
+
SelectWidget: SelectWidget,
|
|
1505
|
+
TextareaWidget: TextareaWidget
|
|
1506
|
+
};
|
|
1507
|
+
}
|
|
1508
|
+
var index = /*#__PURE__*/generateWidgets();
|
|
1509
|
+
|
|
1510
|
+
function generateTheme() {
|
|
1511
|
+
return {
|
|
1512
|
+
templates: generateTemplates(),
|
|
1513
|
+
widgets: generateWidgets()
|
|
1514
|
+
};
|
|
1515
|
+
}
|
|
1516
|
+
var Theme = /*#__PURE__*/generateTheme();
|
|
1517
|
+
function generateForm() {
|
|
1518
|
+
return core.withTheme(generateTheme());
|
|
1519
|
+
}
|
|
1520
|
+
var Form = /*#__PURE__*/generateForm();
|
|
1527
1521
|
|
|
1528
1522
|
exports.Form = Form;
|
|
1523
|
+
exports.Templates = index$1;
|
|
1529
1524
|
exports.Theme = Theme;
|
|
1530
|
-
exports.Widgets =
|
|
1525
|
+
exports.Widgets = index;
|
|
1531
1526
|
exports["default"] = Form;
|
|
1527
|
+
exports.generateForm = generateForm;
|
|
1528
|
+
exports.generateTemplates = generateTemplates;
|
|
1529
|
+
exports.generateTheme = generateTheme;
|
|
1530
|
+
exports.generateWidgets = generateWidgets;
|
|
1532
1531
|
//# sourceMappingURL=antd.cjs.development.js.map
|