rjsf-antd
Version:
Ant Design theme, fields and widgets for react-jsonschema-form
28 lines • 1.45 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var react_1 = tslib_1.__importDefault(require("react"));
var antd_1 = require("antd");
// import { WidgetProps } from 'react-jsonschema-form';
var SelectWidget = function (props) {
var options = props.options, multiple = props.multiple, disabled = props.disabled, readonly = props.readonly, value = props.value, autofocus = props.autofocus, onChange = props.onChange, onBlur = props.onBlur, onFocus = props.onFocus;
var enumOptions = options.enumOptions, enumDisabled = options.enumDisabled;
var mode = multiple ? 'multiple' : 'default';
mode = options.mode || mode;
var _onChange = function (value) {
onChange(value);
};
var _onBlur = function (value) {
onBlur(value);
};
var _onFocus = function () {
onFocus();
};
return (react_1.default.createElement(antd_1.Select, { mode: mode, value: value, disabled: disabled || readonly, autoFocus: autofocus, onChange: _onChange, onBlur: _onBlur, onFocus: _onFocus }, enumOptions.map(function (_a, i) {
var value = _a.value, label = _a.label;
var disabled = enumDisabled && enumDisabled.indexOf(value) !== -1;
return (react_1.default.createElement(antd_1.Select.Option, { key: i, value: value, disabled: disabled }, label));
})));
};
exports.default = SelectWidget;
//# sourceMappingURL=SelectWidget.js.map