├── .babelrc ├── .codeclimate.yml ├── .eslintrc ├── .gitignore ├── .storybook ├── addons.js ├── config.js ├── preview-head.html └── webpack.config.js ├── LICENSE ├── README.md ├── es ├── components │ ├── BaseComponent.js │ ├── CheckboxField.js │ ├── CheckboxGroupField.js │ ├── DatePicker.js │ ├── LazyTextField.js │ ├── MultiSelect.js │ ├── NumberField.js │ ├── RadioField.js │ ├── SelectField.js │ ├── SliderField.js │ ├── SwitchField.js │ ├── TextAreaField.js │ └── TextField.js ├── index.js └── maps │ ├── eventMap.js │ ├── mapError.js │ └── textFieldMap.js ├── lib ├── components │ ├── BaseComponent.js │ ├── CheckboxField.js │ ├── CheckboxGroupField.js │ ├── DatePicker.js │ ├── LazyTextField.js │ ├── MultiSelect.js │ ├── NumberField.js │ ├── RadioField.js │ ├── SelectField.js │ ├── SliderField.js │ ├── SwitchField.js │ ├── TextAreaField.js │ └── TextField.js ├── index.js └── maps │ ├── eventMap.js │ ├── mapError.js │ └── textFieldMap.js ├── package-lock.json ├── package.json ├── src ├── components │ ├── BaseComponent.js │ ├── CheckboxField.js │ ├── CheckboxGroupField.js │ ├── DatePicker.js │ ├── LazyTextField.js │ ├── MultiSelect.js │ ├── NumberField.js │ ├── RadioField.js │ ├── SelectField.js │ ├── SliderField.js │ ├── SwitchField.js │ ├── TextAreaField.js │ └── TextField.js ├── index.js └── maps │ ├── eventMap.js │ ├── mapError.js │ └── textFieldMap.js └── stories ├── Center.js ├── Locale.js ├── Redux.js ├── ReduxForm.js ├── TextInput.js └── index.js /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | "@babel/preset-react", 4 | "@babel/preset-env" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /.codeclimate.yml: -------------------------------------------------------------------------------- 1 | JavaScript: true 2 | 3 | exclude_paths: 4 | - es/**/* 5 | - lib/**/* 6 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "ecmaFeatures": { 3 | "globalReturn": true, 4 | "jsx": true, 5 | "modules": true 6 | }, 7 | 8 | "env": { 9 | "browser": true, 10 | "es6": true, 11 | "node": true 12 | }, 13 | 14 | "globals": { 15 | "document": false, 16 | "escape": false, 17 | "navigator": false, 18 | "unescape": false, 19 | "window": false, 20 | "describe": true, 21 | "before": true, 22 | "it": true, 23 | "expect": true, 24 | "sinon": true 25 | }, 26 | 27 | "parser": "babel-eslint", 28 | 29 | "plugins": [ 30 | 31 | ], 32 | 33 | "rules": { 34 | "block-scoped-var": 2, 35 | "brace-style": [2, "1tbs", { "allowSingleLine": true }], 36 | "camelcase": [2, { "properties": "always" }], 37 | "comma-dangle": [2, "never"], 38 | "comma-spacing": [2, { "before": false, "after": true }], 39 | "comma-style": [2, "last"], 40 | "complexity": 0, 41 | "consistent-return": 2, 42 | "consistent-this": 0, 43 | "curly": [2, "multi-line"], 44 | "default-case": 0, 45 | "dot-location": [2, "property"], 46 | "dot-notation": 0, 47 | "eol-last": 2, 48 | "eqeqeq": [2, "allow-null"], 49 | "func-names": 0, 50 | "func-style": 0, 51 | "generator-star-spacing": [2, "both"], 52 | "guard-for-in": 0, 53 | "handle-callback-err": [2, "^(err|error|anySpecificError)$" ], 54 | "indent": [2, 2, { "SwitchCase": 1 }], 55 | "key-spacing": [2, { "beforeColon": false, "afterColon": true }], 56 | "keyword-spacing": [2, {"before": true, "after": true}], 57 | "linebreak-style": 0, 58 | "max-depth": 0, 59 | "max-len": [2, 120, 4], 60 | "max-nested-callbacks": 0, 61 | "max-params": 0, 62 | "max-statements": 0, 63 | "new-cap": [2, { "newIsCap": true, "capIsNew": false }], 64 | "newline-after-var": [2, "always"], 65 | "new-parens": 2, 66 | "no-alert": 0, 67 | "no-array-constructor": 2, 68 | "no-bitwise": 0, 69 | "no-caller": 2, 70 | "no-catch-shadow": 0, 71 | "no-cond-assign": 2, 72 | "no-console": 0, 73 | "no-constant-condition": 0, 74 | "no-continue": 0, 75 | "no-control-regex": 2, 76 | "no-debugger": 2, 77 | "no-delete-var": 2, 78 | "no-div-regex": 0, 79 | "no-dupe-args": 2, 80 | "no-dupe-keys": 2, 81 | "no-duplicate-case": 2, 82 | "no-else-return": 2, 83 | "no-empty": 0, 84 | "no-empty-character-class": 2, 85 | "no-eq-null": 0, 86 | "no-eval": 2, 87 | "no-ex-assign": 2, 88 | "no-extend-native": 2, 89 | "no-extra-bind": 2, 90 | "no-extra-boolean-cast": 2, 91 | "no-extra-parens": 0, 92 | "no-extra-semi": 0, 93 | "no-extra-strict": 0, 94 | "no-fallthrough": 2, 95 | "no-floating-decimal": 2, 96 | "no-func-assign": 2, 97 | "no-implied-eval": 2, 98 | "no-inline-comments": 0, 99 | "no-inner-declarations": [2, "functions"], 100 | "no-invalid-regexp": 2, 101 | "no-irregular-whitespace": 2, 102 | "no-iterator": 2, 103 | "no-label-var": 2, 104 | "no-labels": 2, 105 | "no-lone-blocks": 0, 106 | "no-lonely-if": 0, 107 | "no-loop-func": 0, 108 | "no-mixed-requires": 0, 109 | "no-mixed-spaces-and-tabs": [2, false], 110 | "no-multi-spaces": 2, 111 | "no-multi-str": 2, 112 | "no-multiple-empty-lines": [2, { "max": 1 }], 113 | "no-native-reassign": 2, 114 | "no-negated-in-lhs": 2, 115 | "no-nested-ternary": 0, 116 | "no-new": 2, 117 | "no-new-func": 2, 118 | "no-new-object": 2, 119 | "no-new-require": 2, 120 | "no-new-wrappers": 2, 121 | "no-obj-calls": 2, 122 | "no-octal": 2, 123 | "no-octal-escape": 2, 124 | "no-path-concat": 0, 125 | "no-plusplus": 0, 126 | "no-process-env": 0, 127 | "no-process-exit": 0, 128 | "no-proto": 2, 129 | "no-redeclare": 2, 130 | "no-regex-spaces": 2, 131 | "no-reserved-keys": 0, 132 | "no-restricted-modules": 0, 133 | "no-return-assign": 2, 134 | "no-script-url": 0, 135 | "no-self-compare": 2, 136 | "no-sequences": 2, 137 | "no-shadow": 0, 138 | "no-shadow-restricted-names": 2, 139 | "no-spaced-func": 2, 140 | "no-sparse-arrays": 2, 141 | "no-sync": 0, 142 | "no-ternary": 0, 143 | "no-throw-literal": 2, 144 | "no-trailing-spaces": 2, 145 | "no-undef": 2, 146 | "no-undef-init": 2, 147 | "no-undefined": 0, 148 | "no-underscore-dangle": 0, 149 | "no-unneeded-ternary": 2, 150 | "no-unreachable": 2, 151 | "no-unused-expressions": 0, 152 | "no-unused-vars": [2, { "vars": "all", "args": "none" }], 153 | "no-use-before-define": 2, 154 | "no-var": 0, 155 | "no-void": 0, 156 | "no-warning-comments": 0, 157 | "no-with": 2, 158 | "one-var": 0, 159 | "operator-assignment": 0, 160 | "operator-linebreak": [2, "after"], 161 | "padded-blocks": 0, 162 | "quote-props": 0, 163 | "quotes": [2, "double", "avoid-escape"], 164 | "radix": 2, 165 | "semi": [2, "always"], 166 | "semi-spacing": 0, 167 | "sort-vars": 0, 168 | "space-before-blocks": [2, "always"], 169 | "space-before-function-paren": [2, {"anonymous": "always", "named": "never"}], 170 | "space-in-brackets": 0, 171 | "space-in-parens": [2, "never"], 172 | "space-infix-ops": 2, 173 | "space-unary-ops": [2, { "words": true, "nonwords": false }], 174 | "spaced-comment": [2, "always"], 175 | "strict": 0, 176 | "use-isnan": 2, 177 | "valid-jsdoc": 0, 178 | "valid-typeof": 2, 179 | "vars-on-top": 2, 180 | "wrap-iife": [2, "any"], 181 | "wrap-regex": 0, 182 | "yoda": [2, "never"] 183 | } 184 | } 185 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | 5 | # Runtime data 6 | pids 7 | *.pid 8 | *.seed 9 | 10 | # Directory for instrumented libs generated by jscoverage/JSCover 11 | lib-cov 12 | 13 | # Coverage directory used by tools like istanbul 14 | coverage 15 | 16 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 17 | .grunt 18 | 19 | # node-waf configuration 20 | .lock-wscript 21 | 22 | # Compiled binary addons (http://nodejs.org/api/addons.html) 23 | build/Release 24 | 25 | # Dependency directory 26 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git 27 | node_modules 28 | 29 | # Remove some common IDE working directories 30 | .idea 31 | .vscode 32 | 33 | storybook-static -------------------------------------------------------------------------------- /.storybook/addons.js: -------------------------------------------------------------------------------- 1 | import "@storybook/addon-knobs/register"; -------------------------------------------------------------------------------- /.storybook/config.js: -------------------------------------------------------------------------------- 1 | import { configure } from '@storybook/react'; 2 | 3 | function loadStories() { 4 | require('../stories'); 5 | } 6 | 7 | configure(loadStories, module); 8 | -------------------------------------------------------------------------------- /.storybook/preview-head.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /.storybook/webpack.config.js: -------------------------------------------------------------------------------- 1 | // you can use this file to add your custom webpack plugins, loaders and anything you like. 2 | // This is just the basic way to add additional webpack configurations. 3 | // For more information refer the docs: https://storybook.js.org/docs/react-storybook/configurations/custom-webpack-config 4 | 5 | // IMPORTANT 6 | // When you add this file, we won't add the default configurations which is similar 7 | // to "React Create App". This only has babel loader to load JavaScript. 8 | 9 | module.exports = { 10 | plugins: [ 11 | // your custom plugins 12 | ], 13 | module: { 14 | rules: [ 15 | // add your custom loaders. 16 | ], 17 | }, 18 | }; 19 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Krasimir Tsonev 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # redux-form-antd 2 | 3 | Bindings for redux-form and antd. 4 | 5 | This library should be compatible for both redux-form and react-final-form. 6 | Stories for final-form are welcome. 7 | 8 | [![NPM Downloads](https://img.shields.io/npm/dm/redux-form-antd.svg?style=flat)](https://www.npmjs.com/package/redux-form-antd) 9 | --- 10 | [`redux-form-antd`](https://github.com/zhdmitry/redux-form-antd) is a set of 11 | wrappers to facilitate the use of antd components with 12 | [`redux-form`](https://github.com/erikras/redux-form). 13 | 14 | --- 15 | 16 | ## [Live Demo](http://zmitry.github.io/redux-form-antd) :eyes: 17 | 18 | ## Installation 19 | 20 | Using [npm](https://www.npmjs.org/): 21 | 22 | ```bash 23 | $ npm install --save redux-form-antd 24 | ``` 25 | 26 | ## Available Components 27 | 28 | - Select 29 | - Radio Buttons 30 | - DatePicker 31 | - MonthPicker 32 | - NumberField 33 | - TextField 34 | - Switch 35 | 36 | ## Usage 37 | 38 | Rather than import your component class from `antd`, import it from `redux-form-antd` 39 | and then pass the component class directly to the `component` prop of `Field`. 40 | 41 | ```js 42 | import { reduxForm, Field } from 'redux-form' 43 | import { 44 | SelectField, 45 | TextField, 46 | } from 'redux-form-antd' 47 | 48 | class MyForm extends Component { 49 | render() { 50 | return ( 51 |
52 | 53 | 54 | ) 55 | } 56 | } 57 | 58 | // Decorate with redux-form 59 | MyForm = reduxForm({ 60 | form: 'myForm' 61 | })(MyForm) 62 | 63 | export default MyForm 64 | ``` 65 | 66 | or you can check stories code [click](https://github.com/zhDmitry/redux-form-antd/blob/master/stories/TextInput.js). 67 | 68 | ## Instance API 69 | 70 | #### `getRenderedComponent()` 71 | 72 | Returns a reference to the UI component that has been rendered. This is useful for 73 | calling instance methods on the UI components. For example, if you wanted to focus on 74 | the `username` element when your form mounts, you could do: 75 | 76 | ```js 77 | componentWillMount() { 78 | this.refs.firstField 79 | .getRenderedComponent() 80 | .focus() 81 | } 82 | ``` 83 | 84 | as long as you specified a `ref` and `withRef` on your `Field` component. 85 | 86 | ```js 87 | render() { 88 | return ( 89 |
90 | ... 91 | (this.textField = r)}/> 92 | ... 93 | 94 | ) 95 | } 96 | ``` 97 | 98 | ## Custom component wrapper 99 | 100 | You can use `createComponent` and `customMap` functions to wrap your custom component. 101 | Usage example: 102 | 103 | ```js 104 | import { createComponent, customMap } from 'redux-form-antd'; 105 | import { InputPasswordViewableComponent } from './components/InputPasswordViewableComponent'; // Your custom component 106 | 107 | function mapFunction(mapProps, { input: { onChange } }) { 108 | return { 109 | ...mapProps, 110 | onChange: event => onChange(event.nativeEvent.target.value) 111 | }; 112 | } 113 | const textFieldMap = customMap(mapFunction); 114 | 115 | export const InputPasswordViewable = createComponent(InputPasswordViewableComponent, textFieldMap); 116 | ``` 117 | 118 | * `createComponent` creates FormItem wrapper and attaches validate status handler. 119 | * `customMap` maps redux-form [Field props](https://redux-form.com/7.2.3/docs/api/field.md/#props) 120 | to ant.design [form fields props](https://ant.design/components/form/#components-form-demo-validate-static). 121 | You can omit customMap's attribute, in such case default mapping will be applied. 122 | If you specify a map function, then it should return an object with required 123 | properties for ant's FormItem and your component. The signature of map function 124 | is `(mapProps, props) => ({...mapProps})`, where `mapProps` - default mapping 125 | properties, `props` - redux-form's Field properties. 126 | 127 | --- 128 | inspired by redux-form-material-ui by [erikras](https://github.com/erikras/redux-form-material-ui) 129 | -------------------------------------------------------------------------------- /es/components/BaseComponent.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = createComponent; 7 | 8 | var _react = _interopRequireWildcard(require("react")); 9 | 10 | var _FormItem = _interopRequireDefault(require("antd/lib/form/FormItem")); 11 | 12 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 13 | 14 | function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } 15 | 16 | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } 17 | 18 | function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } 19 | 20 | function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } 21 | 22 | function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } 23 | 24 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 25 | 26 | function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } 27 | 28 | function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 29 | 30 | function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } 31 | 32 | function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } 33 | 34 | function _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } 35 | 36 | function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } 37 | 38 | function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } 39 | 40 | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } 41 | 42 | function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } 43 | 44 | function createComponent(AntdComponent, mapProps) { 45 | var InputComponent = /*#__PURE__*/function (_PureComponent) { 46 | _inherits(InputComponent, _PureComponent); 47 | 48 | var _super = _createSuper(InputComponent); 49 | 50 | function InputComponent(p) { 51 | var _this; 52 | 53 | _classCallCheck(this, InputComponent); 54 | 55 | _this = _super.call(this, p); 56 | _this.getRenderedComponent = _this.getRenderedComponent.bind(_assertThisInitialized(_this)); 57 | _this.initComponentRef = _this.initComponentRef.bind(_assertThisInitialized(_this)); 58 | return _this; 59 | } 60 | 61 | _createClass(InputComponent, [{ 62 | key: "getRenderedComponent", 63 | value: function getRenderedComponent() { 64 | return this.componentRef; 65 | } 66 | }, { 67 | key: "initComponentRef", 68 | value: function initComponentRef(r) { 69 | this.componentRef = r; 70 | } 71 | }, { 72 | key: "render", 73 | value: function render() { 74 | var _mapProps = mapProps(this.props), 75 | label = _mapProps.label, 76 | labelCol = _mapProps.labelCol, 77 | wrapperCol = _mapProps.wrapperCol, 78 | help = _mapProps.help, 79 | extra = _mapProps.extra, 80 | validateStatus = _mapProps.validateStatus, 81 | _mapProps$hasFeedback = _mapProps.hasFeedback, 82 | hasFeedback = _mapProps$hasFeedback === void 0 ? true : _mapProps$hasFeedback, 83 | colon = _mapProps.colon, 84 | required = _mapProps.required, 85 | rest = _objectWithoutProperties(_mapProps, ["label", "labelCol", "wrapperCol", "help", "extra", "validateStatus", "hasFeedback", "colon", "required"]); 86 | 87 | return /*#__PURE__*/_react["default"].createElement(_FormItem["default"], { 88 | label: label, 89 | ref: this.initComponentRef, 90 | wrapperCol: wrapperCol, 91 | labelCol: labelCol, 92 | help: help, 93 | hasFeedback: hasFeedback, 94 | extra: extra, 95 | validateStatus: validateStatus, 96 | colon: colon, 97 | required: required 98 | }, /*#__PURE__*/_react["default"].createElement(AntdComponent, rest)); 99 | } 100 | }]); 101 | 102 | return InputComponent; 103 | }(_react.PureComponent); 104 | 105 | InputComponent.displayName = "Redux-form-ANTD".concat(AntdComponent.displayName); 106 | return InputComponent; 107 | } -------------------------------------------------------------------------------- /es/components/CheckboxField.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _checkbox = _interopRequireDefault(require("antd/lib/checkbox")); 9 | 10 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 11 | 12 | var _eventMap = _interopRequireDefault(require("../maps/eventMap")); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | var _default = (0, _BaseComponent["default"])(_checkbox["default"], _eventMap["default"]); 17 | 18 | exports["default"] = _default; -------------------------------------------------------------------------------- /es/components/CheckboxGroupField.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _checkbox = _interopRequireDefault(require("antd/lib/checkbox")); 9 | 10 | var _mapError = require("../maps/mapError"); 11 | 12 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 17 | 18 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 19 | 20 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 21 | 22 | var CheckboxGroup = _checkbox["default"].Group; 23 | var checkboxGroupMap = (0, _mapError.customMap)(function (mapProps, _ref) { 24 | var _ref$input = _ref.input, 25 | onChange = _ref$input.onChange, 26 | _ref$input$value = _ref$input.value, 27 | value = _ref$input$value === void 0 ? [] : _ref$input$value; 28 | value = (0, _mapError.defaultTo)(value, []); 29 | return _objectSpread({}, mapProps, { 30 | onChange: onChange, 31 | value: value 32 | }); 33 | }); 34 | 35 | var _default = (0, _BaseComponent["default"])(CheckboxGroup, checkboxGroupMap); 36 | 37 | exports["default"] = _default; -------------------------------------------------------------------------------- /es/components/DatePicker.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.MonthPickerField = exports.DatePickerField = exports.DatePickerFieldRU = void 0; 7 | 8 | var _moment = _interopRequireDefault(require("moment")); 9 | 10 | var _datePicker = _interopRequireDefault(require("antd/lib/date-picker")); 11 | 12 | var _mapError = require("../maps/mapError"); 13 | 14 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 15 | 16 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 17 | 18 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 19 | 20 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 21 | 22 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 23 | 24 | var MonthPicker = _datePicker["default"].MonthPicker; 25 | 26 | var valueToMoment = function valueToMoment(value, dateFormat) { 27 | if (value === undefined || value === null || value === "") { 28 | return undefined; 29 | } 30 | 31 | return (0, _moment["default"])(value, dateFormat); 32 | }; 33 | 34 | var datePickerMap = (0, _mapError.customMap)(function (mapProps, _ref) { 35 | var _ref$input = _ref.input, 36 | _onChange = _ref$input.onChange, 37 | value = _ref$input.value, 38 | dateFormat = _ref.dateFormat; 39 | return _objectSpread({}, mapProps, { 40 | onChange: function onChange(e, v) { 41 | return _onChange(v); 42 | }, 43 | value: valueToMoment(value, dateFormat), 44 | format: dateFormat 45 | }); 46 | }); // datepicker has some problems with formatting, while this component doesn't have such problems 47 | 48 | var datePickerMapRU = (0, _mapError.customMap)(function (mapProps, _ref2) { 49 | var _ref2$input = _ref2.input, 50 | _onChange2 = _ref2$input.onChange, 51 | value = _ref2$input.value, 52 | displayFormat = _ref2.displayFormat, 53 | valueFormat = _ref2.valueFormat; 54 | return _objectSpread({}, mapProps, { 55 | onChange: function onChange(e, v) { 56 | _onChange2(e.format(valueFormat)); 57 | }, 58 | value: valueToMoment(value), 59 | format: displayFormat 60 | }); 61 | }); 62 | var DatePickerFieldRU = (0, _BaseComponent["default"])(_datePicker["default"], datePickerMapRU); 63 | exports.DatePickerFieldRU = DatePickerFieldRU; 64 | var DatePickerField = (0, _BaseComponent["default"])(_datePicker["default"], datePickerMap); 65 | exports.DatePickerField = DatePickerField; 66 | var MonthPickerField = (0, _BaseComponent["default"])(MonthPicker, datePickerMap); 67 | exports.MonthPickerField = MonthPickerField; -------------------------------------------------------------------------------- /es/components/LazyTextField.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _input = _interopRequireDefault(require("antd/lib/input")); 9 | 10 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 11 | 12 | var _mapError = require("../maps/mapError"); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 17 | 18 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 19 | 20 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 21 | 22 | function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } 23 | 24 | function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } 25 | 26 | // will trigger on change only onBlur 27 | // usefull for performance reasons 28 | var bluredFieldMap = function bluredFieldMap(_ref) { 29 | var _ref$meta = _ref.meta; 30 | _ref$meta = _ref$meta === void 0 ? {} : _ref$meta; 31 | 32 | var touched = _ref$meta.touched, 33 | error = _ref$meta.error, 34 | warning = _ref$meta.warning, 35 | valid = _ref$meta.valid, 36 | _ref$input = _ref.input, 37 | value = _ref$input.value, 38 | onChange = _ref$input.onChange, 39 | props = _objectWithoutProperties(_ref, ["meta", "input"]); 40 | 41 | return _objectSpread({}, props, { 42 | defaultValue: value, 43 | onBlur: function onBlur(e) { 44 | onChange(e.nativeEvent.target.value); 45 | }, 46 | validateStatus: (0, _mapError.getValidateStatus)(touched, error, warning, valid), 47 | help: touched && (error || warning) 48 | }); 49 | }; 50 | 51 | var _default = (0, _BaseComponent["default"])(_input["default"], bluredFieldMap); 52 | 53 | exports["default"] = _default; -------------------------------------------------------------------------------- /es/components/MultiSelect.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.SelectField = exports.RadioField = void 0; 7 | 8 | var _react = _interopRequireDefault(require("react")); 9 | 10 | var _radio = _interopRequireDefault(require("antd/lib/radio")); 11 | 12 | var _select = _interopRequireDefault(require("antd/lib/select")); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } 17 | 18 | function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } 19 | 20 | function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } 21 | 22 | function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } 23 | 24 | function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } 25 | 26 | function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } 27 | 28 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 29 | 30 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 31 | 32 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 33 | 34 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 35 | 36 | function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } 37 | 38 | function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 39 | 40 | function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } 41 | 42 | function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } 43 | 44 | function _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } 45 | 46 | function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } 47 | 48 | function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } 49 | 50 | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } 51 | 52 | function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } 53 | 54 | var Option = _select["default"].Option; 55 | var RadioGroup = _radio["default"].Group; 56 | var RadioButton = _radio["default"].Button; 57 | 58 | var withOptions = function withOptions(OptionType, getType) { 59 | return function (Component) { 60 | var C = /*#__PURE__*/function (_React$PureComponent) { 61 | _inherits(C, _React$PureComponent); 62 | 63 | var _super = _createSuper(C); 64 | 65 | function C(p) { 66 | var _this; 67 | 68 | _classCallCheck(this, C); 69 | 70 | _this = _super.call(this, p); 71 | _this.initContainerRef = _this.initContainerRef.bind(_assertThisInitialized(_this)); 72 | _this.getContainerRef = _this.getContainerRef.bind(_assertThisInitialized(_this)); 73 | return _this; 74 | } 75 | 76 | _createClass(C, [{ 77 | key: "initContainerRef", 78 | value: function initContainerRef(r) { 79 | this.container = r; 80 | } 81 | }, { 82 | key: "getContainerRef", 83 | value: function getContainerRef() { 84 | return this.container; 85 | } 86 | }, { 87 | key: "render", 88 | value: function render() { 89 | var props = this.props; 90 | 91 | if (getType) { 92 | OptionType = getType(props); 93 | } 94 | 95 | var valueKey = props.valueKey; 96 | var labelKey = props.labelKey; 97 | var optionsKey = props.optionsKey; 98 | var options = props[optionsKey] || []; // pass options as mapped children, not as options prop 99 | 100 | var propsWithoutOptions = _objectSpread({}, props, _defineProperty({}, optionsKey, undefined)); 101 | 102 | return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", { 103 | ref: this.initContainerRef 104 | }), /*#__PURE__*/_react["default"].createElement(Component, _extends({ 105 | getPopupContainer: this.getContainerRef 106 | }, propsWithoutOptions), options.map(function (_ref, key) { 107 | var value = _ref[valueKey], 108 | label = _ref[labelKey], 109 | rest = _objectWithoutProperties(_ref, [valueKey, labelKey].map(_toPropertyKey)); 110 | 111 | return /*#__PURE__*/_react["default"].createElement(OptionType, _extends({}, rest, { 112 | key: key, 113 | value: String(value) 114 | }), label); 115 | }))); 116 | } 117 | }]); 118 | 119 | return C; 120 | }(_react["default"].PureComponent); 121 | 122 | C.defaultProps = { 123 | valueKey: "value", 124 | labelKey: "label", 125 | optionsKey: "options" 126 | }; 127 | return C; 128 | }; 129 | }; 130 | 131 | var RadioField = withOptions(null, function (_ref2) { 132 | var button = _ref2.button; 133 | return button ? RadioButton : _radio["default"]; 134 | })(RadioGroup); 135 | exports.RadioField = RadioField; 136 | var SelectField = withOptions(Option)(_select["default"]); 137 | exports.SelectField = SelectField; -------------------------------------------------------------------------------- /es/components/NumberField.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _inputNumber = _interopRequireDefault(require("antd/lib/input-number")); 9 | 10 | var _mapError = _interopRequireDefault(require("../maps/mapError")); 11 | 12 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | var _default = (0, _BaseComponent["default"])(_inputNumber["default"], _mapError["default"]); 17 | 18 | exports["default"] = _default; -------------------------------------------------------------------------------- /es/components/RadioField.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _eventMap = _interopRequireDefault(require("../maps/eventMap")); 9 | 10 | var _MultiSelect = require("./MultiSelect"); 11 | 12 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | var _default = (0, _BaseComponent["default"])(_MultiSelect.RadioField, _eventMap["default"]); 17 | 18 | exports["default"] = _default; -------------------------------------------------------------------------------- /es/components/SelectField.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _mapError = require("../maps/mapError"); 9 | 10 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 11 | 12 | var _MultiSelect = require("./MultiSelect"); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 17 | 18 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 19 | 20 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 21 | 22 | var selectFieldMap = (0, _mapError.customMap)(function (mapProps, _ref) { 23 | var _ref$input = _ref.input, 24 | _onChange = _ref$input.onChange, 25 | value = _ref$input.value, 26 | multiple = _ref.multiple, 27 | options = _ref.options, 28 | placeholder = _ref.placeholder; 29 | 30 | if (!placeholder && options && options.length > 0) { 31 | value = value ? value : multiple ? [options[0].value] : options[0].value; 32 | } 33 | 34 | if (placeholder) { 35 | value = value === "" ? undefined : value; 36 | } 37 | 38 | return _objectSpread({}, mapProps, { 39 | onChange: function onChange(value) { 40 | return value === undefined ? _onChange(null) : _onChange(value); 41 | }, 42 | dropdownMatchSelectWidth: true, 43 | value: value 44 | }); 45 | }); 46 | 47 | var _default = (0, _BaseComponent["default"])(_MultiSelect.SelectField, selectFieldMap); 48 | 49 | exports["default"] = _default; -------------------------------------------------------------------------------- /es/components/SliderField.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _slider = _interopRequireDefault(require("antd/lib/slider")); 9 | 10 | var _mapError = require("../maps/mapError"); 11 | 12 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 17 | 18 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 19 | 20 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 21 | 22 | var sliderMap = (0, _mapError.customMap)(function (mapProps, _ref) { 23 | var _ref$input = _ref.input, 24 | onAfterChange = _ref$input.onAfterChange, 25 | onChange = _ref$input.onChange, 26 | _ref$input$value = _ref$input.value, 27 | value = _ref$input$value === void 0 ? 0 : _ref$input$value, 28 | range = _ref.range, 29 | _ref$min = _ref.min, 30 | min = _ref$min === void 0 ? 0 : _ref$min, 31 | _ref$max = _ref.max, 32 | max = _ref$max === void 0 ? 100 : _ref$max; 33 | value = (0, _mapError.defaultTo)(value, range ? [min, max] : 0); 34 | return _objectSpread({}, mapProps, { 35 | onAfterChange: onAfterChange ? onAfterChange : onChange, 36 | value: value 37 | }); 38 | }); 39 | 40 | var _default = (0, _BaseComponent["default"])(_slider["default"], sliderMap); 41 | 42 | exports["default"] = _default; -------------------------------------------------------------------------------- /es/components/SwitchField.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _switch = _interopRequireDefault(require("antd/lib/switch")); 9 | 10 | var _mapError = require("../maps/mapError"); 11 | 12 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 17 | 18 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 19 | 20 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 21 | 22 | var switchMap = (0, _mapError.customMap)(function (mapProps, _ref) { 23 | var _ref$input = _ref.input, 24 | value = _ref$input.value, 25 | onBlur = _ref$input.onBlur, 26 | _onChange = _ref$input.onChange; 27 | return _objectSpread({}, mapProps, { 28 | checked: !!(value === 'true' || value === true), 29 | // The antd Switch produces those events in the wrong order 30 | // redux-form expects: focus -> change -> blur 31 | // By reordering them, we ensure the state updates correctly 32 | onBlur: function onBlur() {}, 33 | onChange: function onChange(v) { 34 | _onChange(v); 35 | 36 | onBlur(v); 37 | } 38 | }); 39 | }); 40 | 41 | var _default = (0, _BaseComponent["default"])(_switch["default"], switchMap); 42 | 43 | exports["default"] = _default; -------------------------------------------------------------------------------- /es/components/TextAreaField.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _input = _interopRequireDefault(require("antd/lib/input")); 9 | 10 | var _textFieldMap = _interopRequireDefault(require("../maps/textFieldMap")); 11 | 12 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | var TextArea = _input["default"].TextArea; 17 | 18 | var _default = (0, _BaseComponent["default"])(TextArea, _textFieldMap["default"]); 19 | 20 | exports["default"] = _default; -------------------------------------------------------------------------------- /es/components/TextField.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _input = _interopRequireDefault(require("antd/lib/input")); 9 | 10 | var _textFieldMap = _interopRequireDefault(require("../maps/textFieldMap")); 11 | 12 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | var _default = (0, _BaseComponent["default"])(_input["default"], _textFieldMap["default"]); 17 | 18 | exports["default"] = _default; -------------------------------------------------------------------------------- /es/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | var _exportNames = { 7 | createComponent: true, 8 | customMap: true, 9 | CheckboxGroupField: true, 10 | LazyTextField: true, 11 | SelectField: true, 12 | CheckboxField: true, 13 | RadioField: true, 14 | TextField: true, 15 | TextAreaField: true, 16 | SwitchField: true, 17 | NumberField: true, 18 | SliderField: true 19 | }; 20 | Object.defineProperty(exports, "createComponent", { 21 | enumerable: true, 22 | get: function get() { 23 | return _BaseComponent["default"]; 24 | } 25 | }); 26 | Object.defineProperty(exports, "customMap", { 27 | enumerable: true, 28 | get: function get() { 29 | return _mapError.customMap; 30 | } 31 | }); 32 | Object.defineProperty(exports, "CheckboxGroupField", { 33 | enumerable: true, 34 | get: function get() { 35 | return _CheckboxGroupField["default"]; 36 | } 37 | }); 38 | Object.defineProperty(exports, "LazyTextField", { 39 | enumerable: true, 40 | get: function get() { 41 | return _LazyTextField["default"]; 42 | } 43 | }); 44 | Object.defineProperty(exports, "SelectField", { 45 | enumerable: true, 46 | get: function get() { 47 | return _SelectField["default"]; 48 | } 49 | }); 50 | Object.defineProperty(exports, "CheckboxField", { 51 | enumerable: true, 52 | get: function get() { 53 | return _CheckboxField["default"]; 54 | } 55 | }); 56 | Object.defineProperty(exports, "RadioField", { 57 | enumerable: true, 58 | get: function get() { 59 | return _RadioField["default"]; 60 | } 61 | }); 62 | Object.defineProperty(exports, "TextField", { 63 | enumerable: true, 64 | get: function get() { 65 | return _TextField["default"]; 66 | } 67 | }); 68 | Object.defineProperty(exports, "TextAreaField", { 69 | enumerable: true, 70 | get: function get() { 71 | return _TextAreaField["default"]; 72 | } 73 | }); 74 | Object.defineProperty(exports, "SwitchField", { 75 | enumerable: true, 76 | get: function get() { 77 | return _SwitchField["default"]; 78 | } 79 | }); 80 | Object.defineProperty(exports, "NumberField", { 81 | enumerable: true, 82 | get: function get() { 83 | return _NumberField["default"]; 84 | } 85 | }); 86 | Object.defineProperty(exports, "SliderField", { 87 | enumerable: true, 88 | get: function get() { 89 | return _SliderField["default"]; 90 | } 91 | }); 92 | 93 | var _BaseComponent = _interopRequireDefault(require("./components/BaseComponent")); 94 | 95 | var _mapError = require("./maps/mapError"); 96 | 97 | var _CheckboxGroupField = _interopRequireDefault(require("./components/CheckboxGroupField")); 98 | 99 | var _LazyTextField = _interopRequireDefault(require("./components/LazyTextField")); 100 | 101 | var _SelectField = _interopRequireDefault(require("./components/SelectField")); 102 | 103 | var _CheckboxField = _interopRequireDefault(require("./components/CheckboxField")); 104 | 105 | var _RadioField = _interopRequireDefault(require("./components/RadioField")); 106 | 107 | var _TextField = _interopRequireDefault(require("./components/TextField")); 108 | 109 | var _TextAreaField = _interopRequireDefault(require("./components/TextAreaField")); 110 | 111 | var _SwitchField = _interopRequireDefault(require("./components/SwitchField")); 112 | 113 | var _NumberField = _interopRequireDefault(require("./components/NumberField")); 114 | 115 | var _SliderField = _interopRequireDefault(require("./components/SliderField")); 116 | 117 | var _DatePicker = require("./components/DatePicker"); 118 | 119 | Object.keys(_DatePicker).forEach(function (key) { 120 | if (key === "default" || key === "__esModule") return; 121 | if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; 122 | Object.defineProperty(exports, key, { 123 | enumerable: true, 124 | get: function get() { 125 | return _DatePicker[key]; 126 | } 127 | }); 128 | }); 129 | 130 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -------------------------------------------------------------------------------- /es/maps/eventMap.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _mapError = require("./mapError"); 9 | 10 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 11 | 12 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 13 | 14 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 15 | 16 | var _default = (0, _mapError.customMap)(function (mapProps, _ref) { 17 | var _onChange = _ref.input.onChange; 18 | return _objectSpread({}, mapProps, { 19 | onChange: function onChange(v) { 20 | return _onChange(v.target.value); 21 | } 22 | }); 23 | }); 24 | 25 | exports["default"] = _default; -------------------------------------------------------------------------------- /es/maps/mapError.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = exports.customMap = exports.defaultTo = exports.getValidateStatus = void 0; 7 | 8 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 9 | 10 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 11 | 12 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 13 | 14 | function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } 15 | 16 | function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } 17 | 18 | function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } 19 | 20 | var getValidateStatus = function getValidateStatus(touched, error, warning, valid) { 21 | if (touched) { 22 | if (error) return "error"; 23 | if (warning) return "warning"; 24 | if (valid) return "success"; 25 | } 26 | 27 | return undefined; 28 | }; 29 | 30 | exports.getValidateStatus = getValidateStatus; 31 | 32 | var defaultTo = function defaultTo(value, d) { 33 | if (!value && value !== 0) return d; 34 | return value; 35 | }; 36 | 37 | exports.defaultTo = defaultTo; 38 | 39 | var mapError = function mapError(_ref) { 40 | var _ref$meta = _ref.meta; 41 | _ref$meta = _ref$meta === void 0 ? {} : _ref$meta; 42 | 43 | var touched = _ref$meta.touched, 44 | error = _ref$meta.error, 45 | warning = _ref$meta.warning, 46 | valid = _ref$meta.valid, 47 | inputProps = _extends({}, _ref.input), 48 | props = _objectWithoutProperties(_ref, ["meta", "input"]); 49 | 50 | return _objectSpread({}, props, {}, inputProps, { 51 | validateStatus: getValidateStatus(touched, error, warning, valid), 52 | help: touched && (error || warning) 53 | }); 54 | }; 55 | 56 | var customMap = function customMap(customPropsFun) { 57 | return function (props) { 58 | return [props].reduce(customPropsFun || function (mappedProps) { 59 | return mappedProps; 60 | }, mapError(props)); 61 | }; 62 | }; 63 | 64 | exports.customMap = customMap; 65 | var _default = mapError; 66 | exports["default"] = _default; -------------------------------------------------------------------------------- /es/maps/textFieldMap.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _mapError = require("./mapError"); 9 | 10 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 11 | 12 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 13 | 14 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 15 | 16 | var _default = (0, _mapError.customMap)(function (mapProps, _ref) { 17 | var _onChange = _ref.input.onChange; 18 | return _objectSpread({}, mapProps, { 19 | onChange: function onChange(v) { 20 | return _onChange(v.target.value); 21 | } 22 | }); 23 | }); 24 | 25 | exports["default"] = _default; -------------------------------------------------------------------------------- /lib/components/BaseComponent.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = createComponent; 7 | 8 | var _react = _interopRequireWildcard(require("react")); 9 | 10 | var _FormItem = _interopRequireDefault(require("antd/lib/form/FormItem")); 11 | 12 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 13 | 14 | function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } 15 | 16 | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } 17 | 18 | function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } 19 | 20 | function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } 21 | 22 | function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } 23 | 24 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 25 | 26 | function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } 27 | 28 | function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 29 | 30 | function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } 31 | 32 | function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } 33 | 34 | function _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } 35 | 36 | function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } 37 | 38 | function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } 39 | 40 | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } 41 | 42 | function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } 43 | 44 | function createComponent(AntdComponent, mapProps) { 45 | var InputComponent = /*#__PURE__*/function (_PureComponent) { 46 | _inherits(InputComponent, _PureComponent); 47 | 48 | var _super = _createSuper(InputComponent); 49 | 50 | function InputComponent(p) { 51 | var _this; 52 | 53 | _classCallCheck(this, InputComponent); 54 | 55 | _this = _super.call(this, p); 56 | _this.getRenderedComponent = _this.getRenderedComponent.bind(_assertThisInitialized(_this)); 57 | _this.initComponentRef = _this.initComponentRef.bind(_assertThisInitialized(_this)); 58 | return _this; 59 | } 60 | 61 | _createClass(InputComponent, [{ 62 | key: "getRenderedComponent", 63 | value: function getRenderedComponent() { 64 | return this.componentRef; 65 | } 66 | }, { 67 | key: "initComponentRef", 68 | value: function initComponentRef(r) { 69 | this.componentRef = r; 70 | } 71 | }, { 72 | key: "render", 73 | value: function render() { 74 | var _mapProps = mapProps(this.props), 75 | label = _mapProps.label, 76 | labelCol = _mapProps.labelCol, 77 | wrapperCol = _mapProps.wrapperCol, 78 | help = _mapProps.help, 79 | extra = _mapProps.extra, 80 | validateStatus = _mapProps.validateStatus, 81 | _mapProps$hasFeedback = _mapProps.hasFeedback, 82 | hasFeedback = _mapProps$hasFeedback === void 0 ? true : _mapProps$hasFeedback, 83 | colon = _mapProps.colon, 84 | required = _mapProps.required, 85 | rest = _objectWithoutProperties(_mapProps, ["label", "labelCol", "wrapperCol", "help", "extra", "validateStatus", "hasFeedback", "colon", "required"]); 86 | 87 | return /*#__PURE__*/_react["default"].createElement(_FormItem["default"], { 88 | label: label, 89 | ref: this.initComponentRef, 90 | wrapperCol: wrapperCol, 91 | labelCol: labelCol, 92 | help: help, 93 | hasFeedback: hasFeedback, 94 | extra: extra, 95 | validateStatus: validateStatus, 96 | colon: colon, 97 | required: required 98 | }, /*#__PURE__*/_react["default"].createElement(AntdComponent, rest)); 99 | } 100 | }]); 101 | 102 | return InputComponent; 103 | }(_react.PureComponent); 104 | 105 | InputComponent.displayName = "Redux-form-ANTD".concat(AntdComponent.displayName); 106 | return InputComponent; 107 | } -------------------------------------------------------------------------------- /lib/components/CheckboxField.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _checkbox = _interopRequireDefault(require("antd/lib/checkbox")); 9 | 10 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 11 | 12 | var _eventMap = _interopRequireDefault(require("../maps/eventMap")); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | var _default = (0, _BaseComponent["default"])(_checkbox["default"], _eventMap["default"]); 17 | 18 | exports["default"] = _default; -------------------------------------------------------------------------------- /lib/components/CheckboxGroupField.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _checkbox = _interopRequireDefault(require("antd/lib/checkbox")); 9 | 10 | var _mapError = require("../maps/mapError"); 11 | 12 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 17 | 18 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 19 | 20 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 21 | 22 | var CheckboxGroup = _checkbox["default"].Group; 23 | var checkboxGroupMap = (0, _mapError.customMap)(function (mapProps, _ref) { 24 | var _ref$input = _ref.input, 25 | onChange = _ref$input.onChange, 26 | _ref$input$value = _ref$input.value, 27 | value = _ref$input$value === void 0 ? [] : _ref$input$value; 28 | value = (0, _mapError.defaultTo)(value, []); 29 | return _objectSpread({}, mapProps, { 30 | onChange: onChange, 31 | value: value 32 | }); 33 | }); 34 | 35 | var _default = (0, _BaseComponent["default"])(CheckboxGroup, checkboxGroupMap); 36 | 37 | exports["default"] = _default; -------------------------------------------------------------------------------- /lib/components/DatePicker.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.MonthPickerField = exports.DatePickerField = exports.DatePickerFieldRU = void 0; 7 | 8 | var _moment = _interopRequireDefault(require("moment")); 9 | 10 | var _datePicker = _interopRequireDefault(require("antd/lib/date-picker")); 11 | 12 | var _mapError = require("../maps/mapError"); 13 | 14 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 15 | 16 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 17 | 18 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 19 | 20 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 21 | 22 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 23 | 24 | var MonthPicker = _datePicker["default"].MonthPicker; 25 | 26 | var valueToMoment = function valueToMoment(value, dateFormat) { 27 | if (value === undefined || value === null || value === "") { 28 | return undefined; 29 | } 30 | 31 | return (0, _moment["default"])(value, dateFormat); 32 | }; 33 | 34 | var datePickerMap = (0, _mapError.customMap)(function (mapProps, _ref) { 35 | var _ref$input = _ref.input, 36 | _onChange = _ref$input.onChange, 37 | value = _ref$input.value, 38 | dateFormat = _ref.dateFormat; 39 | return _objectSpread({}, mapProps, { 40 | onChange: function onChange(e, v) { 41 | return _onChange(v); 42 | }, 43 | value: valueToMoment(value, dateFormat), 44 | format: dateFormat 45 | }); 46 | }); // datepicker has some problems with formatting, while this component doesn't have such problems 47 | 48 | var datePickerMapRU = (0, _mapError.customMap)(function (mapProps, _ref2) { 49 | var _ref2$input = _ref2.input, 50 | _onChange2 = _ref2$input.onChange, 51 | value = _ref2$input.value, 52 | displayFormat = _ref2.displayFormat, 53 | valueFormat = _ref2.valueFormat; 54 | return _objectSpread({}, mapProps, { 55 | onChange: function onChange(e, v) { 56 | _onChange2(e.format(valueFormat)); 57 | }, 58 | value: valueToMoment(value), 59 | format: displayFormat 60 | }); 61 | }); 62 | var DatePickerFieldRU = (0, _BaseComponent["default"])(_datePicker["default"], datePickerMapRU); 63 | exports.DatePickerFieldRU = DatePickerFieldRU; 64 | var DatePickerField = (0, _BaseComponent["default"])(_datePicker["default"], datePickerMap); 65 | exports.DatePickerField = DatePickerField; 66 | var MonthPickerField = (0, _BaseComponent["default"])(MonthPicker, datePickerMap); 67 | exports.MonthPickerField = MonthPickerField; -------------------------------------------------------------------------------- /lib/components/LazyTextField.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _input = _interopRequireDefault(require("antd/lib/input")); 9 | 10 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 11 | 12 | var _mapError = require("../maps/mapError"); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 17 | 18 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 19 | 20 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 21 | 22 | function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } 23 | 24 | function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } 25 | 26 | // will trigger on change only onBlur 27 | // usefull for performance reasons 28 | var bluredFieldMap = function bluredFieldMap(_ref) { 29 | var _ref$meta = _ref.meta; 30 | _ref$meta = _ref$meta === void 0 ? {} : _ref$meta; 31 | 32 | var touched = _ref$meta.touched, 33 | error = _ref$meta.error, 34 | warning = _ref$meta.warning, 35 | valid = _ref$meta.valid, 36 | _ref$input = _ref.input, 37 | value = _ref$input.value, 38 | onChange = _ref$input.onChange, 39 | props = _objectWithoutProperties(_ref, ["meta", "input"]); 40 | 41 | return _objectSpread({}, props, { 42 | defaultValue: value, 43 | onBlur: function onBlur(e) { 44 | onChange(e.nativeEvent.target.value); 45 | }, 46 | validateStatus: (0, _mapError.getValidateStatus)(touched, error, warning, valid), 47 | help: touched && (error || warning) 48 | }); 49 | }; 50 | 51 | var _default = (0, _BaseComponent["default"])(_input["default"], bluredFieldMap); 52 | 53 | exports["default"] = _default; -------------------------------------------------------------------------------- /lib/components/MultiSelect.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.SelectField = exports.RadioField = void 0; 7 | 8 | var _react = _interopRequireDefault(require("react")); 9 | 10 | var _radio = _interopRequireDefault(require("antd/lib/radio")); 11 | 12 | var _select = _interopRequireDefault(require("antd/lib/select")); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } 17 | 18 | function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } 19 | 20 | function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } 21 | 22 | function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } 23 | 24 | function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } 25 | 26 | function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } 27 | 28 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 29 | 30 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 31 | 32 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 33 | 34 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 35 | 36 | function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } 37 | 38 | function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 39 | 40 | function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } 41 | 42 | function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } 43 | 44 | function _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } 45 | 46 | function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } 47 | 48 | function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } 49 | 50 | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } 51 | 52 | function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } 53 | 54 | var Option = _select["default"].Option; 55 | var RadioGroup = _radio["default"].Group; 56 | var RadioButton = _radio["default"].Button; 57 | 58 | var withOptions = function withOptions(OptionType, getType) { 59 | return function (Component) { 60 | var C = /*#__PURE__*/function (_React$PureComponent) { 61 | _inherits(C, _React$PureComponent); 62 | 63 | var _super = _createSuper(C); 64 | 65 | function C(p) { 66 | var _this; 67 | 68 | _classCallCheck(this, C); 69 | 70 | _this = _super.call(this, p); 71 | _this.initContainerRef = _this.initContainerRef.bind(_assertThisInitialized(_this)); 72 | _this.getContainerRef = _this.getContainerRef.bind(_assertThisInitialized(_this)); 73 | return _this; 74 | } 75 | 76 | _createClass(C, [{ 77 | key: "initContainerRef", 78 | value: function initContainerRef(r) { 79 | this.container = r; 80 | } 81 | }, { 82 | key: "getContainerRef", 83 | value: function getContainerRef() { 84 | return this.container; 85 | } 86 | }, { 87 | key: "render", 88 | value: function render() { 89 | var props = this.props; 90 | 91 | if (getType) { 92 | OptionType = getType(props); 93 | } 94 | 95 | var valueKey = props.valueKey; 96 | var labelKey = props.labelKey; 97 | var optionsKey = props.optionsKey; 98 | var options = props[optionsKey] || []; // pass options as mapped children, not as options prop 99 | 100 | var propsWithoutOptions = _objectSpread({}, props, _defineProperty({}, optionsKey, undefined)); 101 | 102 | return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", { 103 | ref: this.initContainerRef 104 | }), /*#__PURE__*/_react["default"].createElement(Component, _extends({ 105 | getPopupContainer: this.getContainerRef 106 | }, propsWithoutOptions), options.map(function (_ref, key) { 107 | var value = _ref[valueKey], 108 | label = _ref[labelKey], 109 | rest = _objectWithoutProperties(_ref, [valueKey, labelKey].map(_toPropertyKey)); 110 | 111 | return /*#__PURE__*/_react["default"].createElement(OptionType, _extends({}, rest, { 112 | key: key, 113 | value: String(value) 114 | }), label); 115 | }))); 116 | } 117 | }]); 118 | 119 | return C; 120 | }(_react["default"].PureComponent); 121 | 122 | C.defaultProps = { 123 | valueKey: "value", 124 | labelKey: "label", 125 | optionsKey: "options" 126 | }; 127 | return C; 128 | }; 129 | }; 130 | 131 | var RadioField = withOptions(null, function (_ref2) { 132 | var button = _ref2.button; 133 | return button ? RadioButton : _radio["default"]; 134 | })(RadioGroup); 135 | exports.RadioField = RadioField; 136 | var SelectField = withOptions(Option)(_select["default"]); 137 | exports.SelectField = SelectField; -------------------------------------------------------------------------------- /lib/components/NumberField.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _inputNumber = _interopRequireDefault(require("antd/lib/input-number")); 9 | 10 | var _mapError = _interopRequireDefault(require("../maps/mapError")); 11 | 12 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | var _default = (0, _BaseComponent["default"])(_inputNumber["default"], _mapError["default"]); 17 | 18 | exports["default"] = _default; -------------------------------------------------------------------------------- /lib/components/RadioField.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _eventMap = _interopRequireDefault(require("../maps/eventMap")); 9 | 10 | var _MultiSelect = require("./MultiSelect"); 11 | 12 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | var _default = (0, _BaseComponent["default"])(_MultiSelect.RadioField, _eventMap["default"]); 17 | 18 | exports["default"] = _default; -------------------------------------------------------------------------------- /lib/components/SelectField.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _mapError = require("../maps/mapError"); 9 | 10 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 11 | 12 | var _MultiSelect = require("./MultiSelect"); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 17 | 18 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 19 | 20 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 21 | 22 | var selectFieldMap = (0, _mapError.customMap)(function (mapProps, _ref) { 23 | var _ref$input = _ref.input, 24 | _onChange = _ref$input.onChange, 25 | value = _ref$input.value, 26 | multiple = _ref.multiple, 27 | options = _ref.options, 28 | placeholder = _ref.placeholder; 29 | 30 | if (!placeholder && options && options.length > 0) { 31 | value = value ? value : multiple ? [options[0].value] : options[0].value; 32 | } 33 | 34 | if (placeholder) { 35 | value = value === "" ? undefined : value; 36 | } 37 | 38 | return _objectSpread({}, mapProps, { 39 | onChange: function onChange(value) { 40 | return value === undefined ? _onChange(null) : _onChange(value); 41 | }, 42 | dropdownMatchSelectWidth: true, 43 | value: value 44 | }); 45 | }); 46 | 47 | var _default = (0, _BaseComponent["default"])(_MultiSelect.SelectField, selectFieldMap); 48 | 49 | exports["default"] = _default; -------------------------------------------------------------------------------- /lib/components/SliderField.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _slider = _interopRequireDefault(require("antd/lib/slider")); 9 | 10 | var _mapError = require("../maps/mapError"); 11 | 12 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 17 | 18 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 19 | 20 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 21 | 22 | var sliderMap = (0, _mapError.customMap)(function (mapProps, _ref) { 23 | var _ref$input = _ref.input, 24 | onAfterChange = _ref$input.onAfterChange, 25 | onChange = _ref$input.onChange, 26 | _ref$input$value = _ref$input.value, 27 | value = _ref$input$value === void 0 ? 0 : _ref$input$value, 28 | range = _ref.range, 29 | _ref$min = _ref.min, 30 | min = _ref$min === void 0 ? 0 : _ref$min, 31 | _ref$max = _ref.max, 32 | max = _ref$max === void 0 ? 100 : _ref$max; 33 | value = (0, _mapError.defaultTo)(value, range ? [min, max] : 0); 34 | return _objectSpread({}, mapProps, { 35 | onAfterChange: onAfterChange ? onAfterChange : onChange, 36 | value: value 37 | }); 38 | }); 39 | 40 | var _default = (0, _BaseComponent["default"])(_slider["default"], sliderMap); 41 | 42 | exports["default"] = _default; -------------------------------------------------------------------------------- /lib/components/SwitchField.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _switch = _interopRequireDefault(require("antd/lib/switch")); 9 | 10 | var _mapError = require("../maps/mapError"); 11 | 12 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 17 | 18 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 19 | 20 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 21 | 22 | var switchMap = (0, _mapError.customMap)(function (mapProps, _ref) { 23 | var _ref$input = _ref.input, 24 | value = _ref$input.value, 25 | onBlur = _ref$input.onBlur, 26 | _onChange = _ref$input.onChange; 27 | return _objectSpread({}, mapProps, { 28 | checked: !!(value === 'true' || value === true), 29 | // The antd Switch produces those events in the wrong order 30 | // redux-form expects: focus -> change -> blur 31 | // By reordering them, we ensure the state updates correctly 32 | onBlur: function onBlur() {}, 33 | onChange: function onChange(v) { 34 | _onChange(v); 35 | 36 | onBlur(v); 37 | } 38 | }); 39 | }); 40 | 41 | var _default = (0, _BaseComponent["default"])(_switch["default"], switchMap); 42 | 43 | exports["default"] = _default; -------------------------------------------------------------------------------- /lib/components/TextAreaField.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _input = _interopRequireDefault(require("antd/lib/input")); 9 | 10 | var _textFieldMap = _interopRequireDefault(require("../maps/textFieldMap")); 11 | 12 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | var TextArea = _input["default"].TextArea; 17 | 18 | var _default = (0, _BaseComponent["default"])(TextArea, _textFieldMap["default"]); 19 | 20 | exports["default"] = _default; -------------------------------------------------------------------------------- /lib/components/TextField.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _input = _interopRequireDefault(require("antd/lib/input")); 9 | 10 | var _textFieldMap = _interopRequireDefault(require("../maps/textFieldMap")); 11 | 12 | var _BaseComponent = _interopRequireDefault(require("./BaseComponent")); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15 | 16 | var _default = (0, _BaseComponent["default"])(_input["default"], _textFieldMap["default"]); 17 | 18 | exports["default"] = _default; -------------------------------------------------------------------------------- /lib/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | var _exportNames = { 7 | createComponent: true, 8 | customMap: true, 9 | CheckboxGroupField: true, 10 | LazyTextField: true, 11 | SelectField: true, 12 | CheckboxField: true, 13 | RadioField: true, 14 | TextField: true, 15 | TextAreaField: true, 16 | SwitchField: true, 17 | NumberField: true, 18 | SliderField: true 19 | }; 20 | Object.defineProperty(exports, "createComponent", { 21 | enumerable: true, 22 | get: function get() { 23 | return _BaseComponent["default"]; 24 | } 25 | }); 26 | Object.defineProperty(exports, "customMap", { 27 | enumerable: true, 28 | get: function get() { 29 | return _mapError.customMap; 30 | } 31 | }); 32 | Object.defineProperty(exports, "CheckboxGroupField", { 33 | enumerable: true, 34 | get: function get() { 35 | return _CheckboxGroupField["default"]; 36 | } 37 | }); 38 | Object.defineProperty(exports, "LazyTextField", { 39 | enumerable: true, 40 | get: function get() { 41 | return _LazyTextField["default"]; 42 | } 43 | }); 44 | Object.defineProperty(exports, "SelectField", { 45 | enumerable: true, 46 | get: function get() { 47 | return _SelectField["default"]; 48 | } 49 | }); 50 | Object.defineProperty(exports, "CheckboxField", { 51 | enumerable: true, 52 | get: function get() { 53 | return _CheckboxField["default"]; 54 | } 55 | }); 56 | Object.defineProperty(exports, "RadioField", { 57 | enumerable: true, 58 | get: function get() { 59 | return _RadioField["default"]; 60 | } 61 | }); 62 | Object.defineProperty(exports, "TextField", { 63 | enumerable: true, 64 | get: function get() { 65 | return _TextField["default"]; 66 | } 67 | }); 68 | Object.defineProperty(exports, "TextAreaField", { 69 | enumerable: true, 70 | get: function get() { 71 | return _TextAreaField["default"]; 72 | } 73 | }); 74 | Object.defineProperty(exports, "SwitchField", { 75 | enumerable: true, 76 | get: function get() { 77 | return _SwitchField["default"]; 78 | } 79 | }); 80 | Object.defineProperty(exports, "NumberField", { 81 | enumerable: true, 82 | get: function get() { 83 | return _NumberField["default"]; 84 | } 85 | }); 86 | Object.defineProperty(exports, "SliderField", { 87 | enumerable: true, 88 | get: function get() { 89 | return _SliderField["default"]; 90 | } 91 | }); 92 | 93 | var _BaseComponent = _interopRequireDefault(require("./components/BaseComponent")); 94 | 95 | var _mapError = require("./maps/mapError"); 96 | 97 | var _CheckboxGroupField = _interopRequireDefault(require("./components/CheckboxGroupField")); 98 | 99 | var _LazyTextField = _interopRequireDefault(require("./components/LazyTextField")); 100 | 101 | var _SelectField = _interopRequireDefault(require("./components/SelectField")); 102 | 103 | var _CheckboxField = _interopRequireDefault(require("./components/CheckboxField")); 104 | 105 | var _RadioField = _interopRequireDefault(require("./components/RadioField")); 106 | 107 | var _TextField = _interopRequireDefault(require("./components/TextField")); 108 | 109 | var _TextAreaField = _interopRequireDefault(require("./components/TextAreaField")); 110 | 111 | var _SwitchField = _interopRequireDefault(require("./components/SwitchField")); 112 | 113 | var _NumberField = _interopRequireDefault(require("./components/NumberField")); 114 | 115 | var _SliderField = _interopRequireDefault(require("./components/SliderField")); 116 | 117 | var _DatePicker = require("./components/DatePicker"); 118 | 119 | Object.keys(_DatePicker).forEach(function (key) { 120 | if (key === "default" || key === "__esModule") return; 121 | if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; 122 | Object.defineProperty(exports, key, { 123 | enumerable: true, 124 | get: function get() { 125 | return _DatePicker[key]; 126 | } 127 | }); 128 | }); 129 | 130 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -------------------------------------------------------------------------------- /lib/maps/eventMap.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _mapError = require("./mapError"); 9 | 10 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 11 | 12 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 13 | 14 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 15 | 16 | var _default = (0, _mapError.customMap)(function (mapProps, _ref) { 17 | var _onChange = _ref.input.onChange; 18 | return _objectSpread({}, mapProps, { 19 | onChange: function onChange(v) { 20 | return _onChange(v.target.value); 21 | } 22 | }); 23 | }); 24 | 25 | exports["default"] = _default; -------------------------------------------------------------------------------- /lib/maps/mapError.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = exports.customMap = exports.defaultTo = exports.getValidateStatus = void 0; 7 | 8 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 9 | 10 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 11 | 12 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 13 | 14 | function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } 15 | 16 | function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } 17 | 18 | function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } 19 | 20 | var getValidateStatus = function getValidateStatus(touched, error, warning, valid) { 21 | if (touched) { 22 | if (error) return "error"; 23 | if (warning) return "warning"; 24 | if (valid) return "success"; 25 | } 26 | 27 | return undefined; 28 | }; 29 | 30 | exports.getValidateStatus = getValidateStatus; 31 | 32 | var defaultTo = function defaultTo(value, d) { 33 | if (!value && value !== 0) return d; 34 | return value; 35 | }; 36 | 37 | exports.defaultTo = defaultTo; 38 | 39 | var mapError = function mapError(_ref) { 40 | var _ref$meta = _ref.meta; 41 | _ref$meta = _ref$meta === void 0 ? {} : _ref$meta; 42 | 43 | var touched = _ref$meta.touched, 44 | error = _ref$meta.error, 45 | warning = _ref$meta.warning, 46 | valid = _ref$meta.valid, 47 | inputProps = _extends({}, _ref.input), 48 | props = _objectWithoutProperties(_ref, ["meta", "input"]); 49 | 50 | return _objectSpread({}, props, {}, inputProps, { 51 | validateStatus: getValidateStatus(touched, error, warning, valid), 52 | help: touched && (error || warning) 53 | }); 54 | }; 55 | 56 | var customMap = function customMap(customPropsFun) { 57 | return function (props) { 58 | return [props].reduce(customPropsFun || function (mappedProps) { 59 | return mappedProps; 60 | }, mapError(props)); 61 | }; 62 | }; 63 | 64 | exports.customMap = customMap; 65 | var _default = mapError; 66 | exports["default"] = _default; -------------------------------------------------------------------------------- /lib/maps/textFieldMap.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports["default"] = void 0; 7 | 8 | var _mapError = require("./mapError"); 9 | 10 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 11 | 12 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 13 | 14 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 15 | 16 | var _default = (0, _mapError.customMap)(function (mapProps, _ref) { 17 | var _onChange = _ref.input.onChange; 18 | return _objectSpread({}, mapProps, { 19 | onChange: function onChange(v) { 20 | return _onChange(v.target.value); 21 | } 22 | }); 23 | }); 24 | 25 | exports["default"] = _default; -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "redux-form-antd", 3 | "version": "3.2.3", 4 | "description": "antd redux form bindings", 5 | "main": "./lib/index.js", 6 | "jsnext:main": "./es/index.js", 7 | "homepage": "https://zhdmitry.github.io/redux-form-antd", 8 | "repository": { 9 | "type": "git", 10 | "url": "https://github.com/zhdmitry/redux-form-antd" 11 | }, 12 | "scripts": { 13 | "build": "npm run build:lib && npm run build:es", 14 | "build:es": "cross-env BABEL_ENV=es babel src --out-dir es", 15 | "build:lib": "babel src --out-dir lib", 16 | "deploy": "gh-pages -d storybook-static", 17 | "predeploy": "npm run build-storybook", 18 | "storybook": "start-storybook -p 6006", 19 | "build-storybook": "build-storybook", 20 | "t": "echo 1" 21 | }, 22 | "peerDependencies": { 23 | "antd": "^3.2.1", 24 | "react": "^16.8.6", 25 | "redux-form": "^8.2.0" 26 | }, 27 | "devDependencies": { 28 | "@babel/cli": "^7.8.4", 29 | "@babel/core": "^7.9.0", 30 | "@babel/preset-env": "^7.9.5", 31 | "@babel/preset-react": "^7.9.4", 32 | "@storybook/addon-actions": "^4.1.18", 33 | "@storybook/addon-knobs": "^4.1.18", 34 | "@storybook/addon-links": "^4.1.18", 35 | "@storybook/react": "^4.1.18", 36 | "antd": "^3.26.16", 37 | "babel-eslint": "^9.0.0", 38 | "babel-loader": "^8.1.0", 39 | "babel-plugin-add-module-exports": "0.2.1", 40 | "cross-env": "^5.2.1", 41 | "eslint": "3.19.0", 42 | "eslint-loader": "1.7.1", 43 | "gh-pages": "^2.2.0", 44 | "react": "^16.13.1", 45 | "react-dom": "^16.13.1", 46 | "react-redux": "^7.2.0", 47 | "redux": "^4.0.5", 48 | "redux-form": "^8.3.5", 49 | "yargs": "7.1.0" 50 | }, 51 | "keywords": [ 52 | "redux-form", 53 | "antd", 54 | "bindings" 55 | ], 56 | "author": "zherebko dmitry", 57 | "license": "MIT", 58 | "bugs": {} 59 | } 60 | -------------------------------------------------------------------------------- /src/components/BaseComponent.js: -------------------------------------------------------------------------------- 1 | import React, { PureComponent } from "react"; 2 | import FormItem from "antd/lib/form/FormItem"; 3 | 4 | export default function createComponent(AntdComponent, mapProps) { 5 | class InputComponent extends PureComponent { 6 | constructor(p) { 7 | super(p); 8 | this.getRenderedComponent = this.getRenderedComponent.bind(this); 9 | this.initComponentRef = this.initComponentRef.bind(this); 10 | } 11 | getRenderedComponent() { 12 | return this.componentRef; 13 | } 14 | 15 | initComponentRef(r) { 16 | this.componentRef = r; 17 | } 18 | 19 | render() { 20 | const { 21 | label, 22 | labelCol, 23 | wrapperCol, 24 | help, 25 | extra, 26 | validateStatus, 27 | hasFeedback = true, 28 | colon, 29 | required, 30 | ...rest 31 | } = mapProps(this.props); 32 | 33 | return ( 34 | 46 | 47 | 48 | ); 49 | } 50 | } 51 | InputComponent.displayName = `Redux-form-ANTD${AntdComponent.displayName}`; 52 | 53 | return InputComponent; 54 | } 55 | -------------------------------------------------------------------------------- /src/components/CheckboxField.js: -------------------------------------------------------------------------------- 1 | import Checkbox from "antd/lib/checkbox"; 2 | import createComponent from "./BaseComponent"; 3 | import eventMap from "../maps/eventMap"; 4 | 5 | export default createComponent(Checkbox, eventMap); 6 | -------------------------------------------------------------------------------- /src/components/CheckboxGroupField.js: -------------------------------------------------------------------------------- 1 | import Checkbox from "antd/lib/checkbox"; 2 | import { customMap, defaultTo } from "../maps/mapError"; 3 | import createComponent from "./BaseComponent"; 4 | 5 | const CheckboxGroup = Checkbox.Group; 6 | 7 | const checkboxGroupMap = customMap((mapProps, { input: { onChange, value = [] } }) => { 8 | value = defaultTo(value, []); 9 | return { ...mapProps, onChange, value }; 10 | }); 11 | 12 | export default createComponent( 13 | CheckboxGroup, 14 | checkboxGroupMap 15 | ); 16 | -------------------------------------------------------------------------------- /src/components/DatePicker.js: -------------------------------------------------------------------------------- 1 | import moment from "moment"; 2 | import DatePicker from "antd/lib/date-picker"; 3 | import {customMap} from "../maps/mapError"; 4 | import createComponent from "./BaseComponent"; 5 | 6 | const MonthPicker = DatePicker.MonthPicker; 7 | 8 | const valueToMoment = (value, dateFormat) => { 9 | if (value === undefined || value === null || value === "") { 10 | return undefined; 11 | } 12 | return moment(value, dateFormat); 13 | }; 14 | 15 | const datePickerMap = customMap((mapProps, {input: {onChange, value}, dateFormat}) => ({ 16 | ...mapProps, 17 | onChange: (e, v) => onChange(v), 18 | value: valueToMoment(value, dateFormat), 19 | format: dateFormat 20 | })); 21 | 22 | // datepicker has some problems with formatting, while this component doesn't have such problems 23 | const datePickerMapRU = customMap( 24 | (mapProps, {input: {onChange, value}, displayFormat, valueFormat}) => ({ 25 | ...mapProps, 26 | onChange: (e, v) => { 27 | onChange(e.format(valueFormat)); 28 | }, 29 | value: valueToMoment(value), 30 | format: displayFormat 31 | }) 32 | ); 33 | 34 | export const DatePickerFieldRU = createComponent(DatePicker, datePickerMapRU); 35 | export const DatePickerField = createComponent(DatePicker, datePickerMap); 36 | export const MonthPickerField = createComponent(MonthPicker, datePickerMap); 37 | -------------------------------------------------------------------------------- /src/components/LazyTextField.js: -------------------------------------------------------------------------------- 1 | import Input from "antd/lib/input"; 2 | import createComponent from "./BaseComponent"; 3 | import { getValidateStatus } from "../maps/mapError"; 4 | 5 | // will trigger on change only onBlur 6 | // usefull for performance reasons 7 | const bluredFieldMap = ({ 8 | meta: {touched, error, warning, valid} = {}, 9 | input: {value, onChange}, 10 | ...props 11 | }) => ({ 12 | ...props, 13 | defaultValue: value, 14 | onBlur: e => { 15 | onChange(e.nativeEvent.target.value); 16 | }, 17 | validateStatus: getValidateStatus(touched, error, warning, valid), 18 | help: touched && (error || warning) 19 | }); 20 | 21 | export default createComponent( 22 | Input, 23 | bluredFieldMap 24 | ); 25 | -------------------------------------------------------------------------------- /src/components/MultiSelect.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import Radio from "antd/lib/radio"; 3 | import Select from "antd/lib/select"; 4 | 5 | const Option = Select.Option; 6 | const RadioGroup = Radio.Group; 7 | const RadioButton = Radio.Button; 8 | 9 | const withOptions = (OptionType, getType) => Component => { 10 | class C extends React.PureComponent { 11 | constructor(p) { 12 | super(p); 13 | this.initContainerRef = this.initContainerRef.bind(this); 14 | this.getContainerRef = this.getContainerRef.bind(this); 15 | } 16 | initContainerRef(r) { 17 | this.container = r; 18 | } 19 | getContainerRef() { 20 | return this.container; 21 | } 22 | render() { 23 | const props = this.props; 24 | 25 | if (getType) { 26 | OptionType = getType(props); 27 | } 28 | const valueKey = props.valueKey; 29 | const labelKey = props.labelKey; 30 | const optionsKey = props.optionsKey; 31 | const options = props[optionsKey] || []; 32 | 33 | // pass options as mapped children, not as options prop 34 | const propsWithoutOptions = { ...props, [optionsKey]: undefined }; 35 | 36 | return ( 37 |
38 |
39 | 40 | {options.map( 41 | ({ [valueKey]: value, [labelKey]: label, ...rest }, key) => ( 42 | 43 | {label} 44 | 45 | ) 46 | )} 47 | 48 |
49 | ); 50 | } 51 | } 52 | C.defaultProps = { 53 | valueKey: "value", 54 | labelKey: "label", 55 | optionsKey: "options" 56 | }; 57 | return C; 58 | }; 59 | 60 | export const RadioField = withOptions(null, ({ button }) => 61 | button ? RadioButton : Radio 62 | )(RadioGroup); 63 | export const SelectField = withOptions(Option)(Select); 64 | -------------------------------------------------------------------------------- /src/components/NumberField.js: -------------------------------------------------------------------------------- 1 | import InputNumber from "antd/lib/input-number"; 2 | import mapError from "../maps/mapError"; 3 | import createComponent from "./BaseComponent"; 4 | 5 | export default createComponent(InputNumber, mapError); 6 | -------------------------------------------------------------------------------- /src/components/RadioField.js: -------------------------------------------------------------------------------- 1 | import eventMap from "../maps/eventMap"; 2 | import { RadioField as Radio } from "./MultiSelect"; 3 | import createComponent from "./BaseComponent"; 4 | 5 | export default createComponent(Radio, eventMap); 6 | -------------------------------------------------------------------------------- /src/components/SelectField.js: -------------------------------------------------------------------------------- 1 | import { customMap } from "../maps/mapError"; 2 | import createComponent from "./BaseComponent"; 3 | import { SelectField as Select } from "./MultiSelect"; 4 | 5 | const selectFieldMap = customMap( 6 | (mapProps, { input: { onChange, value }, multiple, options, placeholder }) => { 7 | if (!placeholder && (options && options.length > 0)) { 8 | value = value ? value : multiple ? [options[0].value] : options[0].value; 9 | } 10 | if (placeholder) { 11 | value = value === "" ? undefined : value; 12 | } 13 | return { 14 | ...mapProps, 15 | onChange: value => value === undefined ? onChange(null) : onChange(value), 16 | dropdownMatchSelectWidth: true, 17 | value, 18 | }; 19 | } 20 | ); 21 | 22 | export default createComponent(Select, selectFieldMap); 23 | -------------------------------------------------------------------------------- /src/components/SliderField.js: -------------------------------------------------------------------------------- 1 | import Slider from "antd/lib/slider"; 2 | import { customMap, defaultTo } from "../maps/mapError"; 3 | import createComponent from "./BaseComponent"; 4 | 5 | const sliderMap = customMap( 6 | (mapProps, { input: { onAfterChange, onChange, value = 0 }, range, min = 0, max = 100 }) => { 7 | value = defaultTo(value, range ? [min, max] : 0); 8 | return { ...mapProps, onAfterChange: onAfterChange ? onAfterChange : onChange, value }; 9 | } 10 | ); 11 | 12 | export default createComponent(Slider, sliderMap); 13 | -------------------------------------------------------------------------------- /src/components/SwitchField.js: -------------------------------------------------------------------------------- 1 | import Switch from "antd/lib/switch"; 2 | import { customMap } from "../maps/mapError"; 3 | import createComponent from "./BaseComponent"; 4 | 5 | const switchMap = customMap((mapProps, { input: { value, onBlur, onChange } }) => ({ 6 | ...mapProps, 7 | checked: !!(value === 'true' || value === true), 8 | // The antd Switch produces those events in the wrong order 9 | // redux-form expects: focus -> change -> blur 10 | // By reordering them, we ensure the state updates correctly 11 | onBlur: () => {}, 12 | onChange: (v) => { 13 | onChange(v); 14 | onBlur(v); 15 | }, 16 | })); 17 | 18 | export default createComponent(Switch, switchMap); 19 | -------------------------------------------------------------------------------- /src/components/TextAreaField.js: -------------------------------------------------------------------------------- 1 | import Input from "antd/lib/input"; 2 | import textFieldMap from "../maps/textFieldMap"; 3 | import createComponent from "./BaseComponent"; 4 | 5 | const { TextArea } = Input; 6 | 7 | export default createComponent(TextArea, textFieldMap); 8 | -------------------------------------------------------------------------------- /src/components/TextField.js: -------------------------------------------------------------------------------- 1 | import Input from "antd/lib/input"; 2 | import textFieldMap from "../maps/textFieldMap"; 3 | import createComponent from "./BaseComponent"; 4 | 5 | export default createComponent(Input, textFieldMap); 6 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import createComponent from "./components/BaseComponent"; 2 | 3 | import { customMap } from "./maps/mapError"; 4 | 5 | export { default as CheckboxGroupField } from "./components/CheckboxGroupField"; 6 | 7 | export { default as LazyTextField } from "./components/LazyTextField"; 8 | 9 | export { default as SelectField } from "./components/SelectField"; 10 | export { default as CheckboxField } from "./components/CheckboxField"; 11 | export { default as RadioField } from "./components/RadioField"; 12 | export { default as TextField } from "./components/TextField"; 13 | export { default as TextAreaField } from "./components/TextAreaField"; 14 | export { default as SwitchField } from "./components/SwitchField"; 15 | export { default as NumberField } from "./components/NumberField"; 16 | export { default as SliderField } from "./components/SliderField"; 17 | 18 | export * from "./components/DatePicker"; 19 | 20 | export { createComponent, customMap }; 21 | -------------------------------------------------------------------------------- /src/maps/eventMap.js: -------------------------------------------------------------------------------- 1 | import { customMap } from "./mapError"; 2 | 3 | export default customMap((mapProps, { input: { onChange } }) => ({ 4 | ...mapProps, 5 | onChange: v => onChange(v.target.value) 6 | })); 7 | -------------------------------------------------------------------------------- /src/maps/mapError.js: -------------------------------------------------------------------------------- 1 | export const getValidateStatus = (touched, error, warning, valid) => { 2 | if (touched) { 3 | if (error) return "error"; 4 | if (warning) return "warning"; 5 | if (valid) return "success"; 6 | } 7 | return undefined; 8 | }; 9 | 10 | export const defaultTo = (value, d) => { 11 | if (!value && value !== 0) return d; 12 | return value; 13 | }; 14 | 15 | const mapError = ({ 16 | meta: { touched, error, warning, valid } = {}, 17 | input: { ...inputProps }, 18 | ...props 19 | }) => ({ 20 | ...props, 21 | ...inputProps, 22 | validateStatus: getValidateStatus(touched, error, warning, valid), 23 | help: touched && (error || warning) 24 | }); 25 | 26 | export const customMap = customPropsFun => props => ( 27 | [props].reduce(customPropsFun || (mappedProps => mappedProps), mapError(props)) 28 | ); 29 | 30 | export default mapError; 31 | -------------------------------------------------------------------------------- /src/maps/textFieldMap.js: -------------------------------------------------------------------------------- 1 | import { customMap } from "./mapError"; 2 | 3 | export default customMap((mapProps, { input: { onChange } }) => ({ 4 | ...mapProps, 5 | onChange: v => onChange(v.target.value) 6 | })); 7 | -------------------------------------------------------------------------------- /stories/Center.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | export default story => ( 3 |
4 | {story()} 5 |
6 | ); 7 | -------------------------------------------------------------------------------- /stories/Locale.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { LocaleProvider } from "antd"; 3 | import enUS from "antd/lib/locale-provider/en_US"; 4 | export default story => ( 5 | 6 |
7 | {story()} 8 |
9 |
10 | ); 11 | -------------------------------------------------------------------------------- /stories/Redux.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { createStore, applyMiddleware, combineReducers } from "redux"; 3 | import { Provider } from "react-redux"; 4 | import { reducer } from "redux-form"; 5 | 6 | const store = createStore( 7 | combineReducers({ 8 | form: reducer 9 | }), 10 | window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__() 11 | ); 12 | 13 | export default story => ( 14 | 15 | {story()} 16 | 17 | ); 18 | -------------------------------------------------------------------------------- /stories/ReduxForm.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { reduxForm } from "redux-form"; 3 | 4 | export const Form = ({ children }) => children; 5 | 6 | export default reduxForm({ 7 | form: "kek" 8 | })(Form); 9 | -------------------------------------------------------------------------------- /stories/TextInput.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { storiesOf } from "@storybook/react"; 3 | import { action } from "@storybook/addon-actions"; 4 | import { linkTo } from "@storybook/addon-links"; 5 | import { Field } from "redux-form"; 6 | import { 7 | withKnobs, 8 | text, 9 | boolean, 10 | select, 11 | array, 12 | number, 13 | object 14 | } from "@storybook/addon-knobs"; 15 | import Center from "./Center"; 16 | import Redux from "./Redux"; 17 | import ReduxForm from "./ReduxForm"; 18 | import Locale from "./Locale"; 19 | 20 | import { 21 | TextField, 22 | TextAreaField, 23 | NumberField, 24 | SliderField, 25 | SwitchField, 26 | CheckboxGroupField, 27 | RadioField, 28 | SelectField 29 | } from "../src/index"; 30 | import { 31 | DatePickerField, 32 | TimePickerField, 33 | MonthPickerField 34 | } from "../src/components/DatePicker"; 35 | 36 | const sizeOptions = { 37 | large: "large", 38 | default: "default", 39 | small: "small" 40 | }; 41 | 42 | const options = [ 43 | { label: "Apple", value: "Apple" }, 44 | { label: "Pear", value: "Pear" }, 45 | { label: "Orange", value: "Orange" } 46 | ]; 47 | const modes = ["default", "combobox", "multiple", "tags"]; 48 | 49 | const commonProps = { 50 | name: "kek2", 51 | warn: v => (v && v.length > 2 ? "" : "too short"), 52 | validate: v => (v ? "" : "Required") 53 | }; 54 | 55 | storiesOf("TextField", module) 56 | .addDecorator(Redux) 57 | .addDecorator(withKnobs) 58 | .addDecorator(Center) 59 | .addDecorator(Locale) 60 | .add("TextField", () => ( 61 | 62 |
63 | 80 |
81 |
82 | )) 83 | .add("TextAreaField", () => ( 84 | 85 |
86 | 95 |
96 |
97 | )) 98 | .add("Number Field", () => ( 99 | 100 |
101 | 109 |
110 |
111 | )) 112 | .add("Slide Field", () => ( 113 | 114 |
115 | 128 |
129 |
130 | )) 131 | .add("Switch Field", () => ( 132 | 133 |
134 | 145 |
146 |
147 | )) 148 | .add("Radio Field", () => ( 149 | 150 |
151 | 157 |
158 |
159 | )) 160 | .add("Select Field", () => ( 161 | 162 |
163 | 174 |
175 |
176 | )) 177 | .add("Checkbox Group Field", () => ( 178 | 179 |
180 | 186 |
187 |
188 | )) 189 | .add("Picker Field", () => ( 190 | 191 |
192 | 200 |
201 | 208 |
209 |
210 | )); 211 | -------------------------------------------------------------------------------- /stories/index.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { storiesOf } from "@storybook/react"; 3 | import { action } from "@storybook/addon-actions"; 4 | import "./TextInput"; 5 | import { linkTo } from "@storybook/addon-links"; 6 | import { withKnobs, text, boolean, number } from "@storybook/addon-knobs"; 7 | --------------------------------------------------------------------------------