@gravel-form/blueprintjs
Version:
A flexible middlewares driven json schema form with Blueprintjs
35 lines (32 loc) • 1.85 kB
JavaScript
;
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var React = __importStar(require("react"));
var get_1 = __importDefault(require("lodash/get"));
exports.HTMLSelectMw = function (props) {
var schema = props.schema, data = props.data, onChange = props.onChange, next = props.next, extraProps = props.extraProps;
if (typeof schema === 'boolean' ||
!schema.enum ||
!(schema.type === 'string' || schema.type === 'number' || schema.type === 'integer') ||
schema.enum.find(function (option) { return !['string', 'number'].includes(typeof option); }))
return next(props);
var labels = get_1.default(extraProps, 'labels', schema.enum);
var placeholder = get_1.default(extraProps, 'props.placeholder');
var value = typeof data === 'string' || typeof data === 'number' ? data : undefined;
return (React.createElement("div", { className: "bp3-select bp3-fill" },
React.createElement("select", { onChange: function (e) { return onChange(e.target.value); }, value: value },
React.createElement("option", { value: undefined }, placeholder),
schema.enum.map(function (option, index) { return (React.createElement("option", { key: option, value: option }, get_1.default(labels, index, null))); }))));
};
exports.default = exports.HTMLSelectMw;
//# sourceMappingURL=HTMLSelectMw.js.map
//# sourceMappingURL=HTMLSelectMw.js.map