@gravel-form/blueprintjs
Version:
A flexible middlewares driven json schema form with Blueprintjs
58 lines (55 loc) • 2.42 kB
JavaScript
;
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spread = (this && this.__spread) || function () {
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
return ar;
};
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"));
var core_1 = require("@blueprintjs/core");
exports.CheckboxGroupMw = function (props) {
var schema = props.schema, onChange = props.onChange, extraProps = props.extraProps, next = props.next;
if (typeof schema === 'boolean' ||
Array.isArray(schema.items) ||
typeof schema.items === 'boolean' ||
!schema.items ||
!schema.items.enum ||
!schema.uniqueItems) {
return next(props);
}
var checkboxValues = schema.items.enum || [];
var labels = get_1.default(extraProps, 'labels', schema.items.enum);
var data = Array.isArray(props.data) ? props.data : [];
return (React.createElement(React.Fragment, null, checkboxValues.map(function (value, index) { return (React.createElement(core_1.Checkbox, { key: JSON.stringify(value), checked: data.includes(value), onChange: function (e) {
onChange(e.currentTarget.checked ? __spread(data, [value]) : data.filter(function (v) { return v !== value; }));
} }, get_1.default(labels, index, null))); })));
};
exports.default = exports.CheckboxGroupMw;
//# sourceMappingURL=CheckboxGroupMw.js.map
//# sourceMappingURL=CheckboxGroupMw.js.map