UNPKG

@gravel-form/blueprintjs

Version:

A flexible middlewares driven json schema form with Blueprintjs

35 lines (32 loc) 1.85 kB
"use strict"; 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