react-object-form
Version:
React Object Form
2 lines • 11.2 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("react-select")):"function"==typeof define&&define.amd?define(["react","react-select"],t):"object"==typeof exports?exports.ReactObjectForm=t(require("react"),require("react-select")):e.ReactObjectForm=t(e.React,e.Select)}(this,function(e,t){return function(e){function t(r){if(n[r])return n[r].exports;var a=n[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function a(e){return Array.isArray(e)?e:Array.from(e)}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.PropertyConfig=t.BaseFormRenderer=t.MultiSelectRenderer=t.SelectRenderer=t.ObjectFormRenderer=t.FieldRenderer=t.NumberValueInput=t.BooleanValueInput=void 0;var c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},f=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d=n(1),p=r(d),m=n(3),b=r(m),v=n(4),h=r(v),y=n(2),g=r(y),j=j||{};j.log=j.log?j.log:function(){};var O=g.default.oneOfType([g.default.object,g.default.bool,g.default.number,g.default.string,g.default.arrayOf([g.default.bool,g.default.number,g.default.string])]),_={name:g.default.string.isRequired,config:g.default.arrayOf(g.default.shape(_)),options:g.default.array,allowCustomValues:g.default.bool,disabled:g.default.bool,clearable:g.default.bool,resetValue:g.default.shape({label:g.default.string,option:O}),placeholder:g.default.string,label:g.default.string,validator:g.default.func,caption:g.default.string,changeHandler:g.default.func,hide:g.default.bool,trim:g.default.bool},E=function(e){function t(){return u(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),f(t,[{key:"render",value:function(){var e=this.props,t=e.object,n=e.config,r=e.id,a=o(e,["object","config","id"]),u={};return u.config=n,u.name=r||"react-object",u=Object.assign({},n,u),p.default.createElement("form",{className:u.name+"-form"},p.default.createElement(S,c({},a,u,{id:u.name,object:t})))}}]),t}(p.default.Component),P=function(e){var t=e.value,n=e.id,r=e.name,a=e.changeHandler,u=e.disabled,l=o(e,["value","id","name","changeHandler","disabled"]),i=function(e){return a(e.target.checked)};return p.default.createElement("input",c({},l,{id:n+"-input",className:(u?"disabled":"")+" form-control boolean-value-input",type:"checkbox",checked:t?"checked":null,value:r,name:r,onChange:i,disabled:u?"disabled":null}))};t.BooleanValueInput=P;var w=t.NumberValueInput=function(e){function t(e){u(this,t);var n=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={value:e.value},n.numberParsingChangeHandler=n.numberParsingChangeHandler.bind(n),n}return i(t,e),f(t,[{key:"componentWillReceiveProps",value:function(e){e.value!=this.state.value&&this.setState({value:e.value})}},{key:"numberParsingChangeHandler",value:function(e){this.setState({value:e});var t=Number.parseFloat(e);Number.isFinite(t)?this.props.changeHandler(t):""===e&&(this.setState({value:Number.NaN}),this.props.changeHandler(Number.NaN))}},{key:"render",value:function(){var e=this.props,t=e.value,n=o(e,["value"]);return p.default.createElement(h.default,c({},n,{value:Number.isNaN(t)?"":this.state.value,changeHandler:this.numberParsingChangeHandler}))}}]),t}(p.default.Component),R=function(e){var t=e.name,n=e.id,r=e.object,u=e.caption,l=e.label,i=o(e,["name","id","object","caption","label"]),f=void 0;if(l)f=l;else{var s=a(t),d=s[0],m=s.slice(1);f=d.toLocaleUpperCase()+m.join("")}return p.default.createElement("div",{className:"form-group"},p.default.createElement("label",null,f),p.default.createElement("div",null,p.default.createElement(S,c({},i,{id:n,name:t,object:r})),p.default.createElement("span",null,u)))};t.FieldRenderer=R;var C=function(e){var t=e.object,n=e.config,r=e.changeHandler,a=e.id,u=o(e,["object","config","changeHandler","id"]),l=function(e){return n?n.find(function(t){return t.name===e}):null},i=function(e){return function(n){if(l(e)&&l(e).hasOwnProperty("changeHandler")&&"function"==typeof l(e).changeHandler)l(e).changeHandler(n,r);else{var a=Object.assign({},t);a[e]=n,r(a)}}},f=Object.keys(t),s=n?n.map(function(e){return e.name}):[];return f.forEach(function(e){s.includes(e)||s.push(e)}),s=s.filter(function(e){var t=l(e);return!t||!t.hide}).map(function(e){var n=l(e),r=a&&""!=a?a+"-":a;return p.default.createElement(R,c({},u,n,{key:e,id:r+e,name:e,object:t[e],changeHandler:i(e)}))}),p.default.createElement("fieldset",{id:a+"-fieldset"},s)};t.ObjectFormRenderer=C;var H=function(e){var t=e.value,n=e.options,r=e.id,a=e.changeHandler,u=e.allowCustomValues,l=e.multi,i=e.placeholder,f=e.resetValue,d=o(e,["value","options","id","changeHandler","allowCustomValues","multi","placeholder","resetValue"]),m=function(e){e&&a(Array.isArray(e)?e.map(function(e){return e.value?e.value:null}):e.value?e.value:null)},v=n.map(function(e){return"object"===(void 0===e?"undefined":s(e))?e:{label:e,value:e}});return p.default.createElement(b.default,c({},d,{options:v,name:r+"-select",value:t,onChange:m,multi:l,resetValue:f||{label:"",value:null},allowCreate:u,placeholder:i||"Select.."}))};t.SelectRenderer=H;var x=function(e){var t=e.value,n=o(e,["value"]);return p.default.createElement(H,c({},n,{value:t,multi:!0}))};t.MultiSelectRenderer=x;var S=function(e){var t=e.object,n=e.config,r=e.name,a=e.options,u=e.component,l=o(e,["object","config","name","options","component"]);if(u)return p.default.createElement(u,c({},l,{value:t,name:r,config:n}));var i=void 0===t?"undefined":s(t);if(a&&Array.isArray(a))return p.default.createElement(H,c({},l,n,{value:t,name:r,options:a}));if(null===t&&!a)return p.default.createElement(h.default,c({trim:!0},l,n,{value:"",name:r}));switch(i){case"number":return p.default.createElement(w,c({},l,n,{value:t,name:r}));case"object":return Array.isArray(t)?p.default.createElement(x,c({},l,n,{value:t,name:r,options:a||[]})):p.default.createElement(C,c({},l,{config:n,object:t,name:r}));case"boolean":return p.default.createElement(P,c({},l,n,{value:t,name:r}));case"string":return a&&Array.isArray(a)?p.default.createElement(H,c({},l,n,{value:t,name:r,options:a})):p.default.createElement(h.default,c({trim:!0},l,n,{value:t,name:r}));default:return p.default.createElement(h.default,c({trim:!0},l,n,{value:t,name:r}))}};t.BaseFormRenderer=S,t.default=E,t.PropertyConfig=_},function(t,n){t.exports=e},function(e,t,n){e.exports=n(5)()},function(e,n){e.exports=t},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(1),c=r(i),f=n(0),s=(r(f),n(2)),d=(r(s),function(e){function t(e){a(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.internalChangeHandler=n.internalChangeHandler.bind(n),n.onBlur=n.onBlur.bind(n),n}return u(t,e),l(t,[{key:"internalChangeHandler",value:function(e){var t=e.target.value;""===t&&(t=null),this.props.changeHandler(t)}},{key:"onBlur",value:function(){if(this.props.trim){var e=this.props.value?this.props.value.trim():null;this.internalChangeHandler({target:{value:e}})}}},{key:"render",value:function(){var e=this.props,t=e.value,n=e.id,r=e.placeholder,a=e.disabled;return c.default.createElement("input",{id:n+"-input",className:(a?"disabled":"")+" form-control generic-value-input",type:"text",value:t,onChange:this.internalChangeHandler,onBlur:this.onBlur,placeholder:r,disabled:a?"disabled":null})}}]),t}(c.default.Component));t.default=d},function(e,t,n){"use strict";var r=n(6),a=n(7),o=n(8);e.exports=function(){function e(e,t,n,r,u,l){l!==o&&a(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){"use strict";function r(e){return function(){return e}}var a=function(){};a.thatReturns=r,a.thatReturnsFalse=r(!1),a.thatReturnsTrue=r(!0),a.thatReturnsNull=r(null),a.thatReturnsThis=function(){return this},a.thatReturnsArgument=function(e){return e},e.exports=a},function(e,t,n){"use strict";function r(e,t,n,r,o,u,l,i){if(a(t),!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var f=[n,r,o,u,l,i],s=0;c=new Error(t.replace(/%s/g,function(){return f[s++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}}var a=function(e){};e.exports=r},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}])});
//# sourceMappingURL=ReactObjectForm.min.js.map