react-web-native-sketch
Version:
[TODO: We need an overview of how this can be used via npm vs as a local package]
75 lines • 3.76 kB
JavaScript
;
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
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 react_i18next_1 = require("react-i18next");
var S3PhotoInputComponent_1 = require("../../nativeComponents/S3PhotoInput/S3PhotoInputComponent");
var ArrayOfObjects_1 = require("../../nativeComponents/ArrayOfObjects/ArrayOfObjects");
var Select_1 = require("../../nativeComponents/Select/Select");
var TextInput_1 = require("../../nativeComponents/TextInput/TextInput");
var Text_1 = require("../../primitives/Text/Text");
var View_1 = require("../../primitives/View/View");
var enums_1 = require("../../utils/enums");
var UnImplemented = function () { return React.createElement(Text_1.Text, null, "Unimplemented"); };
var getFormItemComponent = function (type) {
switch (type) {
// case FORM_INPUT_TYPES.DATE:
// return DateTime;
// case FORM_INPUT_TYPES.MULTIPLE_DATE_TIME:
// return DateMultiTimePicker;
case enums_1.FORM_INPUT_TYPES.PHOTO_UPLOAD:
return S3PhotoInputComponent_1.S3PhotoInputComponent;
case enums_1.FORM_INPUT_TYPES.SELECT:
return Select_1.Select;
case enums_1.FORM_INPUT_TYPES.TEXT:
return TextInput_1.TextInput;
// case FORM_INPUT_TYPES.RADIO:
// return RadioGroup;
// case FORM_INPUT_TYPES.ARRAY_PHOTO_UPLOAD:
// return S3MultiplePhotoInputComponent;
// case FORM_INPUT_TYPES.PLACES_AUTOCOMPLETE:
// return GooglePlacesAutocomplete;
case enums_1.FORM_INPUT_TYPES.ARRAY_OF_OBJECTS:
return ArrayOfObjects_1.ArrayOfObjects;
// case FORM_INPUT_TYPES.LOCATION_PICKER:
// return LocationPicker;
}
return UnImplemented;
};
var CFormItem = /** @class */ (function (_super) {
__extends(CFormItem, _super);
function CFormItem() {
return _super !== null && _super.apply(this, arguments) || this;
}
CFormItem.prototype.render = function () {
var _a = this.props, fieldDefinition = _a.fieldDefinition, input = _a.input, meta = _a.meta, onTouch = _a.onTouch, style = _a.style, t = _a.t, FormItemComponent = fieldDefinition && getFormItemComponent(fieldDefinition.type);
return (React.createElement(View_1.View, { style: style || {} },
React.createElement(FormItemComponent, __assign({}, fieldDefinition, input, { onBlur: function () {
onTouch && onTouch();
}, onChange: function (value) {
input && input.onChange && input.onChange(value);
fieldDefinition.extraOnChange && fieldDefinition.extraOnChange(value, !!meta && !!meta.error);
onTouch && onTouch();
}, value: input && input.value, error: meta && meta.touched && t(meta.error || '') }))));
};
return CFormItem;
}(React.PureComponent));
exports.FormItem = react_i18next_1.translate()(CFormItem);
//# sourceMappingURL=FormItem.js.map