kea-react
Version:
Componentes comunes de react
33 lines (32 loc) • 1.75 kB
JavaScript
;
var __assign = (this && this.__assign) || Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
var React = require("react");
var fields_1 = require("./fields/fields");
function simpleFields(value, handleChange) {
var comp = function (Component, field, arg, extras) {
arg = arg || {};
var label = arg.label;
var fieldValue = value[field];
var error = arg.error || (!!arg.required && (fieldValue == null || fieldValue == ""));
return React.createElement(Component, __assign({ label: label == undefined ? field : label, onChange: handleChange(field), value: fieldValue, isReadOnly: arg.isReadOnly, error: error }, (extras || {})));
};
var simpleFieldFunc = function (component) { return function (field, props) { return comp(component, field, props); }; };
return {
text: function (field, props) { return comp(fields_1.Text, field, props, { placeholder: props && props.tip }); },
datetime: function (field, props) { return comp(fields_1.DateTime, field, props, { time: true }); },
timespan: function (field, props) { return comp(fields_1.Hours, field, props, { max: 1000 }); },
daytime: function (field, props) { return comp(fields_1.Hours, field, props, { max: 24 }); },
date: simpleFieldFunc(fields_1.DateTime),
number: simpleFieldFunc(fields_1.Number),
check: simpleFieldFunc(fields_1.Checkbox),
};
}
exports.simpleFields = simpleFields;