UNPKG

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
"use strict"; 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