openstack-uicore-foundation 4.0.24 → 4.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/babel.config.json CHANGED
@@ -1,3 +1,6 @@
1
1
  {
2
- "presets": ["@babel/preset-env"]
2
+ "presets": [
3
+ "@babel/preset-env",
4
+ ["@babel/preset-react", {"runtime": "automatic"}]
5
+ ]
3
6
  }
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={2230:(e,t,n)=>{n.d(t,{default:()=>d});var r=n(580),a=n.n(r),l=n(6689),s=n.n(l),i=n(4656),o=n.n(i),u=n(418);const c=["onChange","value","className","options","id","children","error","disabled","name"];function p(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}class d extends s().Component{constructor(e){super(e);let t=!!e.value&&e.value.find((t=>!e.options.map((e=>e.value)).includes(t)));this.state={otherChecked:!!t},this.handleChange=this.handleChange.bind(this),this.handleOtherCBChange=this.handleOtherCBChange.bind(this)}handleChange(e){let t=this.props.options.map((e=>e.value)),n=this.props.value?[...this.props.value]:[];if("checkbox"===e.target.type)if(e.target.checked){const t=isNaN(e.target.value)?e.target.value:parseInt(e.target.value);n.push(t)}else n=n.filter((t=>t!=e.target.value));else n=n.filter((e=>t.includes(e))),n.push(e.target.value);let r={target:{id:this.props.id,value:n,type:"checkboxlist"}};this.props.onChange(r)}handleOtherCBChange(e){this.setState({otherChecked:e.target.checked})}render(){let e,t=this.props,{onChange:n,value:r,className:a,options:l,id:i,children:d,error:m,disabled:h,name:b}=t,{otherChecked:f}=(p(t,c),this.state),v=this.props.hasOwnProperty("inline"),y=this.props.hasOwnProperty("html"),g=this.props.hasOwnProperty("allowOther"),_=!!r&&r.find((e=>!l.map((e=>e.value)).includes(e))),O=this.props.hasOwnProperty("error")&&""!==m,w=this.props.hasOwnProperty("disabled")&&1==h;return e=v?{paddingLeft:"22px",marginLeft:"20px",float:"left"}:{paddingLeft:"22px",marginTop:"7px"},s().createElement("div",{id:`chl_wrapper_${i}`},s().createElement("div",{className:"checkboxes-div"+(O?" error":"")},l.map((t=>{let n=!!r&&r.includes(t.value);return s().createElement("div",{className:"form-check abc-checkbox",key:"radio_key_"+t.value,style:e},s().createElement("input",{type:"checkbox",id:`cb_${i}_${t.value}`,name:b||i,checked:n,disabled:w,onChange:this.handleChange,className:"form-check-input",value:t.value}),s().createElement("label",{className:"form-check-label",htmlFor:`cb_${i}_${t.value}`},y&&s().createElement(u.default,null,t.label),!y&&t.label))})),g&&s().createElement("div",{className:"form-check abc-checkbox",style:e},s().createElement("input",{type:"checkbox",id:"cb_other"+i,checked:f,disabled:w,onChange:this.handleOtherCBChange,className:"form-check-input",value:"other"}),s().createElement("label",{className:"form-check-label",htmlFor:"cb_other"+i},o().translate("general.other"))),g&&f&&s().createElement("div",{style:{paddingLeft:"22px",width:"50%"}},s().createElement("input",{className:"form-control",disabled:w,onChange:this.handleChange,value:_}))),O&&s().createElement("p",{className:"error-label"},m))}}d.propTypes={id:a().string.isRequired}},401:(e,t,n)=>{n.d(t,{default:()=>m});var r=n(6689),a=n.n(r),l=n(1929),s=n.n(l);const i=["onChange","value","className","error","clearable","disabled","overrideCSS"];function o(){return o=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},o.apply(this,arguments)}function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(t){p(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}class m extends a().Component{constructor(e){super(e),this.handleChange=this.handleChange.bind(this)}handleChange(e){let t=null;t=this.props.isMulti?e?e.map((e=>e.value)):null:e?e.value:null;let n={target:{id:this.props.id,value:t,type:"dropdown"}};this.props.onChange(n)}render(){let e=this.props,{onChange:t,value:n,className:r,error:l,clearable:u,disabled:p,overrideCSS:m}=e,h=d(e,i),b=this.props.hasOwnProperty("error")&&""!=l,f=this.props.hasOwnProperty("clearable"),v=this.props.hasOwnProperty("disabled")&&1==p,y=null,g=r;this.props.hasOwnProperty("overrideCSS")&&0!=m||(g="dropdown "+r+" "+(b?"error":"")),y=this.props.isMulti?this.props.options.filter((e=>n.includes(e.value))):n instanceof Object||null==n?n:this.props.options.find((e=>e.value==n));const _={menu:e=>c(c({},e),{},{zIndex:999})};return a().createElement("div",null,a().createElement(s(),o({className:g,value:y,onChange:this.handleChange,isClearable:f,isDisabled:v,styles:_},h)),b&&a().createElement("p",{className:"error-label"},l))}}},7027:(e,t,n)=>{n.d(t,{default:()=>c});var r=n(6689),a=n.n(r),l=n(418),s=n(580),i=n.n(s);const o=["onChange","value","className","error","disabled","options","id","name"];function u(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}class c extends a().Component{constructor(e){super(e),this.state={value:e.value},this.handleChange=this.handleChange.bind(this)}handleChange(e){let t={target:{id:this.props.id,value:e.target.value,type:"radio"}};this.props.onChange(t)}getLabel(e,t,n,r,s){return n?a().createElement("label",{className:"form-check-label",htmlFor:`radio_${t}_${e.value}`,style:{display:"inline-block"}},s&&a().createElement(l.default,null,e.label),!s&&e.label):r?a().createElement("label",{className:"form-check-label",htmlFor:`radio_${t}_${e.value}`},e.label):a().createElement("label",{className:"form-check-label",htmlFor:`radio_${t}_${e.value}`,style:{display:"inline-block"}},a().createElement("h4",{style:{marginTop:"0px"}},e.label),a().createElement(l.default,null,e.description))}render(){let e,t=this.props,{onChange:n,value:r,className:l,error:s,disabled:i,options:c,id:p,name:d}=t,m=(u(t,o),this.props.hasOwnProperty("error")&&""!=s),h=this.props.hasOwnProperty("inline"),b=this.props.hasOwnProperty("simple"),f=this.props.hasOwnProperty("html"),v=this.props.hasOwnProperty("disabled")&&1==i;return e=h?{paddingLeft:"22px",marginLeft:"20px",float:"left"}:{paddingLeft:"22px"},a().createElement("div",{id:`rl_wrapper_${p}`},c.map((t=>{let n=t.value==r;return a().createElement("div",{className:"form-check abc-radio",key:`radio_key_${p}_${t.value}`,style:e},a().createElement("input",{className:"form-check-input",type:"radio",id:`radio_${p}_${t.value}`,value:t.value,checked:n,onChange:this.handleChange,disabled:v,name:d||`radio_${p}`}),this.getLabel(t,p,h,b,f))})),m&&a().createElement("p",{className:"error-label"},s))}}c.propTypes={id:i().string.isRequired}},1833:(e,t,n)=>{n.d(t,{default:()=>o});var r=n(6689),a=n.n(r);const l=["onChange","value","className","error"];function s(){return s=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},s.apply(this,arguments)}function i(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}class o extends a().Component{constructor(e){super(e),this.state={value:e.value},this.handleChange=this.handleChange.bind(this)}componentDidUpdate(e,t,n){this.props.value!==e.value&&this.setState({value:this.props.value})}handleChange(e){this.props.onChange(e)}render(){let e=this.props,{onChange:t,value:n,className:r,error:o}=e,u=i(e,l),c=this.props.hasOwnProperty("error")&&""!=o,p=this.props.hasOwnProperty("className")?r:"form-control";return a().createElement("div",null,a().createElement("input",s({className:p+" "+(c?"error":""),value:this.state.value,onChange:this.handleChange},u)),c&&a().createElement("p",{className:"error-label"},o))}}},418:(e,t,n)=>{n.d(t,{default:()=>l});var r=n(6689),a=n.n(r);const l=({children:e,className:t=""})=>a().createElement("span",{className:t,dangerouslySetInnerHTML:{__html:e.replace(/\n/g,"<br />")}})},1995:(e,t,n)=>{function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,{default:()=>d});const s="ComboBox",i="CheckBoxList",o="RadioButtonList",u=[s,i,o],c="And",p="Equal";class d{constructor(e,t=[]){l(this,"_parseQuestion",(e=>{if(this.questionByName[e.name]=e,this.questionById[parseInt(e.id)]=e,e.hasOwnProperty("sub_question_rules"))for(let t of e.sub_question_rules)this.rules[parseInt(t.id)]=t,this._parseQuestion(t.sub_question)})),l(this,"_parseQuestions",(()=>{for(let e of this.questions)this._parseQuestion(e)})),l(this,"_allowsValues",(e=>u.includes(e.type))),l(this,"_allowsValue",((e,t)=>{let n=t.value.split(",").map((e=>parseInt(e)));for(let t of n)if(!e.values.map((e=>e.id)).includes(t))return!1;return!0})),l(this,"_getAnswerFor",(e=>{let t=Number.isInteger(e)?e:e.id,n=this.answers[t]||null;return n||null})),l(this,"_hasValue",(e=>""!==e.value)),l(this,"_answerContains",((e,t)=>e.value.split(",").includes(t))),l(this,"_isSubQuestionVisible",(e=>{let t=e.answer_values_operator===c;const n=this._getAnswerFor(e.parent_question_id);if(n)switch(e.visibility_condition){case p:for(let r of e.answer_values)t=e.answer_values_operator===c?t&&this._answerContains(n,r):t||this._answerContains(n,r);break;case"NotEqual":for(let r of e.answer_values)t=e.answer_values_operator===c?t&&!this._answerContains(n,r):t||!this._answerContains(n,r)}else t=e.visibility_condition!==p;return"Visible"===e.visibility?t:!t})),l(this,"_isAnswered",(e=>{const t=this._getAnswerFor(e);if("MainQuestion"===e.class)return!e.mandatory||!!t&&(!!this._hasValue(t)&&!(this._allowsValues(e)&&!this._allowsValue(e,t)));for(let n of e.parent_rules)if(this._isSubQuestionVisible(this.rules[n]))return!e.mandatory||!!t&&(!!this._hasValue(t)&&!(this._allowsValues(e)&&!this._allowsValue(e,t)));return!0})),l(this,"_checkQuestion",(e=>{let t=this._isAnswered(e);if(e.hasOwnProperty("sub_question_rules"))for(let n of e.sub_question_rules)t=t&&this._checkQuestion(n.sub_question);return t})),l(this,"_formatQuestionAnswer",(e=>{var t;let n={},r=null===(t=this.originalAnswers.find((t=>t.question_id===e.id)))||void 0===t?void 0:t.value;if(r&&("CheckBox"===e.type&&(r="false"!==r&&!!r),e.type!==o&&e.type!==s||(r=parseInt(r)),e.type===i&&(r=r.split(",").map((e=>parseInt(e)))||[])),n[e.name]=r||"",e.type===i&&""===n[e.name]&&(n[e.name]=[]),e.hasOwnProperty("sub_question_rules"))for(let t of e.sub_question_rules){let e=this._formatQuestionAnswer(t.sub_question);n=a(a({},n),e)}return n})),l(this,"formatAnswers",(()=>{let e={};return this.questions.forEach((t=>{let n=this._formatQuestionAnswer(t);e=a(a({},e),n)})),e})),l(this,"completed",(()=>{let e=!0;for(let t of this.questions)e=e&&this._checkQuestion(t);return e})),l(this,"getQuestionByName",(e=>this.questionByName[e]||null)),l(this,"getQuestionById",(e=>this.questionById[parseInt(e)]||null)),this.questions=e,this.originalAnswers=t,this.answers=[];for(let e of this.originalAnswers)this.answers[e.question_id]=e;this.questionByName={},this.questionById={},this.rules={},this._parseQuestions()}}},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},580:e=>{e.exports=require("prop-types")},6689:e=>{e.exports=require("react")},1929:e=>{e.exports=require("react-select")}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var l=t[r]={exports:{}};return e[r](l,l.exports,n),l.exports}(()=>{n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t}})(),(()=>{n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var r={};return(()=>{n.r(r),n.d(r,{default:()=>q});var e=n(6689),t=n.n(e),a=n(580),l=n.n(a),s=n(418),i=n(1833),o=n(401),u=n(7027),c=n(2230),p=n(1995);const d=require("react-final-form"),m=["input","meta","question","className"],h=["input","meta","question"],b=["input","meta","question"],f=["input","meta","question"];function v(){return v=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},v.apply(this,arguments)}function y(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}const g=e=>{let{input:n,meta:r,question:a,className:l}=e,s=y(e,m);return t().createElement(i.default,v({},n,s,{containerClassName:l,name:a.name,id:a.id,value:n.value,onChange:n.onChange,placeholder:a.placeholder}))},_=e=>{let{input:n,meta:r,question:a}=e,l=y(e,h);return t().createElement(u.default,v({},n,l,{name:a.name,id:a.id,overrideCSS:!0,value:n.value,onChange:n.onChange}))},O=e=>{let{input:n,meta:r,question:a}=e,l=y(e,b);return t().createElement(o.default,v({},n,l,{name:a.name,id:a.id,overrideCSS:!0,value:n.value,onChange:n.onChange}))},w=e=>{let{input:n,meta:r,question:a}=e,l=y(e,f);return t().createElement(c.default,v({},n,l,{id:a.id,name:a.name,value:n.value,onChange:n.onChange}))},E=e=>e?e=>e?void 0:"Required":()=>{},C=({extraQuestions:n,userAnswers:r,onAnswerChanges:a,className:l="questions-form",questionContainerClassName:i="question-container",questionLabelContainerClassName:o="question-label-container",questionControlContainerClassName:u="question-control-container",formRef:c=null,readOnly:m=!1,debug:h=!1,buttonText:b="Submit",RequiredErrorMessage:f="Required",ValidationErrorClassName:v="extra-question-error"})=>{let y=null;const C=(0,e.useRef)({}),[q,N]=(0,e.useState)({});(0,e.useEffect)((()=>{k()}),[n]);const k=()=>{const e=new p.default(n,r);N(e.formatAnswers())},x=({when:e,rule:n,children:r})=>t().createElement(d.Field,{name:e,subscription:{value:!0}},(({input:{value:e}})=>S(n,P(e,n),r))),j=({name:e})=>t().createElement(d.Field,{name:e,subscription:{error:!0,touched:!0}},(({meta:{error:e,touched:n}})=>e&&n?t().createElement("span",{className:v},e):null)),P=(e,t)=>{let n=t.answer_values;if(Array.isArray(e)){if(!e.length)return!1;let r="And"===t.anwer_values_operator;return n.forEach((n=>{r="And"===t.anwer_values_operator?r&&e.includes(parseInt(n)):r||e.includes(parseInt(n))})),r}return n.includes(e.toString())},S=(e,t,n)=>"Visible"===e.visibility?"Equal"===e.visibility_condition?t?n:(delete C.current[e.sub_question.id],null):t?(delete C.current[e.sub_question.id],null):n:"Equal"===e.visibility_condition?t?(delete C.current[e.sub_question.id],null):n:t?n:(delete C.current[e.sub_question.id],null),$=e=>{let n=e.values;var r,a,l,c,p,m;if("Text"===e.type)return t().createElement(t().Fragment,null,t().createElement("div",{key:e.name,ref:t=>C.current[e.id]=t,className:i},t().createElement(s.default,{className:o},e.mandatory?null!==(r=e.label)&&void 0!==r&&r.endsWith("</p>")?e.label.replace(/<\/p>$/g," <b>*</b></p>"):`${e.label} <b>*</b>`:e.label),t().createElement(d.Field,{name:e.name,className:u,question:e,validate:E(e.mandatory),component:g}),t().createElement(j,{name:e.name})),(null===(a=e.sub_question_rules)||void 0===a?void 0:a.length)>0&&e.sub_question_rules.map((n=>t().createElement(x,{when:e.name,rule:n},$(n.sub_question)))));if("TextArea"===e.type)return t().createElement(t().Fragment,null,t().createElement("div",{key:e.name,ref:t=>C.current[e.id]=t,className:i},t().createElement(s.default,{className:o},e.mandatory?null!==(l=e.label)&&void 0!==l&&l.endsWith("</p>")?e.label.replace(/<\/p>$/g," <b>*</b></p>"):`${e.label} <b>*</b>`:e.label),t().createElement(d.Field,{className:u,validate:E(e.mandatory),name:e.name,id:`${e.id}`,component:"textarea"}),t().createElement(j,{name:e.name})),(null===(c=e.sub_question_rules)||void 0===c?void 0:c.length)>0&&e.sub_question_rules.map((n=>t().createElement(x,{when:e.name,rule:n},$(n.sub_question)))));if("CheckBox"===e.type)return t().createElement(t().Fragment,null,t().createElement("div",{key:e.name,ref:t=>C.current[e.id]=t,style:{display:"flex"},className:i},t().createElement(d.Field,{className:u,name:e.name,id:`${e.id}`,validate:E(e.mandatory),type:"checkbox",component:"input"}),t().createElement(s.default,{className:`eq-checkbox-label ${o}`},e.mandatory?null!==(p=e.label)&&void 0!==p&&p.endsWith("</p>")?e.label.replace(/<\/p>$/g," <b>*</b></p>"):`${e.label} <b>*</b>`:e.label),t().createElement(j,{name:e.name})),(null===(m=e.sub_question_rules)||void 0===m?void 0:m.length)>0&&e.sub_question_rules.map((n=>t().createElement(x,{when:e.name,rule:n},$(n.sub_question)))));if("RadioButtonList"===e.type){var h,b;const r=n.map((e=>({label:e.label,value:e.id})));return t().createElement(t().Fragment,null,t().createElement("div",{key:e.name,ref:t=>C.current[e.id]=t,className:i},t().createElement(s.default,{className:o},e.mandatory?null!==(h=e.label)&&void 0!==h&&h.endsWith("</p>")?e.label.replace(/<\/p>$/g," <b>*</b></p>"):`${e.label} <b>*</b>`:e.label),t().createElement("div",{className:u},t().createElement(d.Field,{name:e.name,options:r,question:e,validate:E(e.mandatory),component:_}),t().createElement(j,{name:e.name}))),(null===(b=e.sub_question_rules)||void 0===b?void 0:b.length)>0&&e.sub_question_rules.map((n=>t().createElement(x,{when:e.name,rule:n},$(n.sub_question)))))}if("ComboBox"===e.type){var f,v;const r=n.map((e=>({label:e.label,value:e.id})));return t().createElement(t().Fragment,null,t().createElement("div",{key:e.name,ref:t=>C.current[e.id]=t,className:i},t().createElement(s.default,{className:o},e.mandatory?null!==(f=e.label)&&void 0!==f&&f.endsWith("</p>")?e.label.replace(/<\/p>$/g," <b>*</b></p>"):`${e.label} <b>*</b>`:e.label),t().createElement(d.Field,{name:e.name,options:r,question:e,validate:E(e.mandatory),className:u,component:O}),t().createElement(j,{name:e.name})),(null===(v=e.sub_question_rules)||void 0===v?void 0:v.length)>0&&e.sub_question_rules.map((n=>t().createElement(x,{when:e.name,rule:n},$(n.sub_question)))))}if("CheckBoxList"===e.type){var y,q;const r=n.map((e=>({label:e.label,value:e.id})));return t().createElement(t().Fragment,null,t().createElement("div",{key:e.name,ref:t=>C.current[e.id]=t,className:i},t().createElement(s.default,{className:o},e.mandatory?null!==(y=e.label)&&void 0!==y&&y.endsWith("</p>")?e.label.replace(/<\/p>$/g," <b>*</b></p>"):`${e.label} <b>*</b>`:e.label),t().createElement(d.Field,{name:e.name,className:u,validate:E(e.mandatory),options:r,question:e,component:w}),t().createElement(j,{name:e.name})),(null===(q=e.sub_question_rules)||void 0===q?void 0:q.length)>0&&e.sub_question_rules.map((n=>t().createElement(x,{when:e.name,rule:n},$(n.sub_question)))))}return null},A=(e,t,n)=>{var r;e.mandatory&&(e=>!!C.current[e.id])(e)&&(t.hasOwnProperty(e.name)&&""!==t[e.name]&&0!==t[e.name].length||(n[e.name]=f)),null===(r=e.sub_question_rules)||void 0===r||r.forEach((e=>{A(e.sub_question,t,n)}))};return Object.keys(q).length?t().createElement("div",{className:l},t().createElement(d.Form,{validate:e=>{const t={};return n.forEach((n=>{A(n,e,t)})),t},onSubmit:e=>{a(e)},initialValues:q},(({handleSubmit:e,form:r,submitting:a,pristine:l,values:s})=>(y=e,t().createElement("form",{onSubmit:e,ref:c},m?t().createElement("fieldset",{disabled:"disabled"},n.map((e=>$(e)))):n.map((e=>$(e))),h&&t().createElement("pre",null,JSON.stringify(s,0,2)))))),!c&&t().createElement("button",{type:"submit",onClick:e=>{y(e)},style:{marginTop:10}},b)):null};C.propTypes={extraQuestions:l().array.isRequired,userAnswers:l().array.isRequired,onAnswerChanges:l().func.isRequired,className:l().string,formRef:l().oneOfType([l().func,l().shape({current:l().any})]),debug:l().bool,buttonText:l().string,questionContainerClassName:l().string,questionLabelContainerClassName:l().string,questionControlContainerClassName:l().string,RequiredErrorMessage:l().string,ValidationErrorClassName:l().string};const q=C})(),r})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={2230:(e,t,n)=>{n.d(t,{default:()=>p});var r=n(580),a=n.n(r),s=n(6689),l=n.n(s),i=n(4656),o=n.n(i),u=n(418);const c=["onChange","value","className","options","id","children","error","disabled","name"];function d(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}class p extends l().Component{constructor(e){super(e);let t=!!e.value&&e.value.find((t=>!e.options.map((e=>e.value)).includes(t)));this.state={otherChecked:!!t},this.handleChange=this.handleChange.bind(this),this.handleOtherCBChange=this.handleOtherCBChange.bind(this)}handleChange(e){let t=this.props.options.map((e=>e.value)),n=this.props.value?[...this.props.value]:[];if("checkbox"===e.target.type)if(e.target.checked){const t=isNaN(e.target.value)?e.target.value:parseInt(e.target.value);n.push(t)}else n=n.filter((t=>t!=e.target.value));else n=n.filter((e=>t.includes(e))),n.push(e.target.value);let r={target:{id:this.props.id,value:n,type:"checkboxlist"}};this.props.onChange(r)}handleOtherCBChange(e){this.setState({otherChecked:e.target.checked})}render(){let e,t=this.props,{onChange:n,value:r,className:a,options:s,id:i,children:p,error:m,disabled:h,name:b}=t,{otherChecked:f}=(d(t,c),this.state),y=this.props.hasOwnProperty("inline"),v=this.props.hasOwnProperty("html"),g=this.props.hasOwnProperty("allowOther"),_=!!r&&r.find((e=>!s.map((e=>e.value)).includes(e))),O=this.props.hasOwnProperty("error")&&""!==m,w=this.props.hasOwnProperty("disabled")&&1==h;return e=y?{paddingLeft:"22px",marginLeft:"20px",float:"left"}:{paddingLeft:"22px",marginTop:"7px"},l().createElement("div",{id:`chl_wrapper_${i}`},l().createElement("div",{className:"checkboxes-div"+(O?" error":"")},s.map((t=>{let n=!!r&&r.includes(t.value);return l().createElement("div",{className:"form-check abc-checkbox",key:"radio_key_"+t.value,style:e},l().createElement("input",{type:"checkbox",id:`cb_${i}_${t.value}`,name:b||i,checked:n,disabled:w,onChange:this.handleChange,className:"form-check-input",value:t.value}),l().createElement("label",{className:"form-check-label",htmlFor:`cb_${i}_${t.value}`},v&&l().createElement(u.default,null,t.label),!v&&t.label))})),g&&l().createElement("div",{className:"form-check abc-checkbox",style:e},l().createElement("input",{type:"checkbox",id:"cb_other"+i,checked:f,disabled:w,onChange:this.handleOtherCBChange,className:"form-check-input",value:"other"}),l().createElement("label",{className:"form-check-label",htmlFor:"cb_other"+i},o().translate("general.other"))),g&&f&&l().createElement("div",{style:{paddingLeft:"22px",width:"50%"}},l().createElement("input",{className:"form-control",disabled:w,onChange:this.handleChange,value:_}))),O&&l().createElement("p",{className:"error-label"},m))}}p.propTypes={id:a().string.isRequired}},401:(e,t,n)=>{n.d(t,{default:()=>m});var r=n(6689),a=n.n(r),s=n(1929),l=n.n(s);const i=["onChange","value","className","error","clearable","disabled","overrideCSS"];function o(){return o=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},o.apply(this,arguments)}function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(t){d(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}class m extends a().Component{constructor(e){super(e),this.handleChange=this.handleChange.bind(this)}handleChange(e){let t=null;t=this.props.isMulti?e?e.map((e=>e.value)):null:e?e.value:null;let n={target:{id:this.props.id,value:t,type:"dropdown"}};this.props.onChange(n)}render(){let e=this.props,{onChange:t,value:n,className:r,error:s,clearable:u,disabled:d,overrideCSS:m}=e,h=p(e,i),b=this.props.hasOwnProperty("error")&&""!=s,f=this.props.hasOwnProperty("clearable"),y=this.props.hasOwnProperty("disabled")&&1==d,v=null,g=r;this.props.hasOwnProperty("overrideCSS")&&0!=m||(g="dropdown "+r+" "+(b?"error":"")),v=this.props.isMulti?this.props.options.filter((e=>n.includes(e.value))):n instanceof Object||null==n?n:this.props.options.find((e=>e.value==n));const _={menu:e=>c(c({},e),{},{zIndex:999})};return a().createElement("div",null,a().createElement(l(),o({className:g,value:v,onChange:this.handleChange,isClearable:f,isDisabled:y,styles:_},h)),b&&a().createElement("p",{className:"error-label"},s))}}},7027:(e,t,n)=>{n.d(t,{default:()=>c});var r=n(6689),a=n.n(r),s=n(418),l=n(580),i=n.n(l);const o=["onChange","value","className","error","disabled","options","id","name"];function u(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}class c extends a().Component{constructor(e){super(e),this.state={value:e.value},this.handleChange=this.handleChange.bind(this)}handleChange(e){let t={target:{id:this.props.id,value:e.target.value,type:"radio"}};this.props.onChange(t)}getLabel(e,t,n,r,l){return n?a().createElement("label",{className:"form-check-label",htmlFor:`radio_${t}_${e.value}`,style:{display:"inline-block"}},l&&a().createElement(s.default,null,e.label),!l&&e.label):r?a().createElement("label",{className:"form-check-label",htmlFor:`radio_${t}_${e.value}`},e.label):a().createElement("label",{className:"form-check-label",htmlFor:`radio_${t}_${e.value}`,style:{display:"inline-block"}},a().createElement("h4",{style:{marginTop:"0px"}},e.label),a().createElement(s.default,null,e.description))}render(){let e,t=this.props,{onChange:n,value:r,className:s,error:l,disabled:i,options:c,id:d,name:p}=t,m=(u(t,o),this.props.hasOwnProperty("error")&&""!=l),h=this.props.hasOwnProperty("inline"),b=this.props.hasOwnProperty("simple"),f=this.props.hasOwnProperty("html"),y=this.props.hasOwnProperty("disabled")&&1==i;return e=h?{paddingLeft:"22px",marginLeft:"20px",float:"left"}:{paddingLeft:"22px"},a().createElement("div",{id:`rl_wrapper_${d}`},c.map((t=>{let n=t.value==r;return a().createElement("div",{className:"form-check abc-radio",key:`radio_key_${d}_${t.value}`,style:e},a().createElement("input",{className:"form-check-input",type:"radio",id:`radio_${d}_${t.value}`,value:t.value,checked:n,onChange:this.handleChange,disabled:y,name:p||`radio_${d}`}),this.getLabel(t,d,h,b,f))})),m&&a().createElement("p",{className:"error-label"},l))}}c.propTypes={id:i().string.isRequired}},1833:(e,t,n)=>{n.d(t,{default:()=>o});var r=n(6689),a=n.n(r);const s=["onChange","value","className","error","containerClassName"];function l(){return l=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},l.apply(this,arguments)}function i(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}class o extends a().Component{constructor(e){super(e),this.handleChange=this.handleChange.bind(this)}componentDidUpdate(e,t,n){this.props.value!==e.value&&(this.input.value=this.props.value)}handleChange(e){this.props.onChange(e)}render(){let e=this.props,{onChange:t,value:n,className:r,error:o,containerClassName:u}=e,c=i(e,s),d=this.props.hasOwnProperty("error")&&""!==o,p=this.props.hasOwnProperty("className")?r:"form-control",m=this.props.hasOwnProperty("containerClassName")?u:"container-form-control";return a().createElement("div",{className:m},a().createElement("input",l({className:`${p} ${d?"error":""}`,ref:e=>{this.input=e},defaultValue:n,onChange:this.handleChange},c)),d&&a().createElement("p",{className:"error-label"},o))}}},418:(e,t,n)=>{n.d(t,{default:()=>s});var r=n(6689),a=n.n(r);const s=({children:e,className:t=""})=>a().createElement("span",{className:t,dangerouslySetInnerHTML:{__html:null==e?void 0:e.replace(/\n/g,"<br />")}})},1995:(e,t,n)=>{function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){s(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,{default:()=>p});const l="ComboBox",i="CheckBoxList",o="RadioButtonList",u=[l,i,o],c="And",d="Equal";class p{constructor(e,t=[]){s(this,"_parseQuestion",(e=>{if(this.questionByName[e.name]=e,this.questionById[parseInt(e.id)]=e,e.hasOwnProperty("sub_question_rules"))for(let t of e.sub_question_rules)this.rules[parseInt(t.id)]=t,this._parseQuestion(t.sub_question)})),s(this,"_parseQuestions",(()=>{for(let e of this.questions)this._parseQuestion(e)})),s(this,"_allowsValues",(e=>u.includes(e.type))),s(this,"_allowsValue",((e,t)=>{let n=t.value.split(",").map((e=>parseInt(e)));for(let t of n)if(!e.values.map((e=>e.id)).includes(t))return!1;return!0})),s(this,"_getAnswerFor",(e=>{let t=Number.isInteger(e)?e:e.id,n=this.answers[t]||null;return n||null})),s(this,"_hasValue",(e=>""!==e.value)),s(this,"_answerContains",((e,t)=>e.value.split(",").includes(t))),s(this,"_isSubQuestionVisible",(e=>{let t=e.answer_values_operator===c;const n=this._getAnswerFor(e.parent_question_id);if(n)switch(e.visibility_condition){case d:for(let r of e.answer_values)t=e.answer_values_operator===c?t&&this._answerContains(n,r):t||this._answerContains(n,r);break;case"NotEqual":for(let r of e.answer_values)t=e.answer_values_operator===c?t&&!this._answerContains(n,r):t||!this._answerContains(n,r)}else t=e.visibility_condition!==d;return"Visible"===e.visibility?t:!t})),s(this,"_isAnswered",(e=>{const t=this._getAnswerFor(e);if("MainQuestion"===e.class)return!e.mandatory||!!t&&(!!this._hasValue(t)&&!(this._allowsValues(e)&&!this._allowsValue(e,t)));for(let n of e.parent_rules)if(this._isSubQuestionVisible(this.rules[n]))return!e.mandatory||!!t&&(!!this._hasValue(t)&&!(this._allowsValues(e)&&!this._allowsValue(e,t)));return!0})),s(this,"_checkQuestion",(e=>{let t=this._isAnswered(e);if(e.hasOwnProperty("sub_question_rules"))for(let n of e.sub_question_rules)t=t&&this._checkQuestion(n.sub_question);return t})),s(this,"_formatQuestionAnswer",(e=>{var t;let n={},r=null===(t=this.originalAnswers.find((t=>t.question_id===e.id)))||void 0===t?void 0:t.value;if(r&&("CheckBox"===e.type&&(r="false"!==r&&!!r),e.type!==o&&e.type!==l||(r=parseInt(r)),e.type===i&&(r=r.split(",").map((e=>parseInt(e)))||[])),n[e.name]=r||"",e.type===i&&""===n[e.name]&&(n[e.name]=[]),e.hasOwnProperty("sub_question_rules"))for(let t of e.sub_question_rules){let e=this._formatQuestionAnswer(t.sub_question);n=a(a({},n),e)}return n})),s(this,"formatAnswers",(()=>{let e={};return this.questions.forEach((t=>{let n=this._formatQuestionAnswer(t);e=a(a({},e),n)})),e})),s(this,"completed",(()=>{let e=!0;for(let t of this.questions)e=e&&this._checkQuestion(t);return e})),s(this,"getQuestionByName",(e=>this.questionByName[e]||null)),s(this,"getQuestionById",(e=>this.questionById[parseInt(e)]||null)),this.questions=e,this.originalAnswers=t,this.answers=[];for(let e of this.originalAnswers)this.answers[e.question_id]=e;this.questionByName={},this.questionById={},this.rules={},this._parseQuestions()}}},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},580:e=>{e.exports=require("prop-types")},6689:e=>{e.exports=require("react")},1929:e=>{e.exports=require("react-select")}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var s=t[r]={exports:{}};return e[r](s,s.exports,n),s.exports}(()=>{n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t}})(),(()=>{n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var r={};return(()=>{n.r(r),n.d(r,{default:()=>q});var e=n(6689),t=n.n(e),a=n(580),s=n.n(a),l=n(418),i=n(1833),o=n(401),u=n(7027),c=n(2230),d=n(1995);const p=require("react-final-form"),m=["input","meta","question","className","isDisabled"],h=["input","meta","question","isDisabled"],b=["input","meta","question","isDisabled"],f=["input","meta","question","isDisabled"];function y(){return y=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},y.apply(this,arguments)}function v(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}const g=e=>{let{input:n,meta:r,question:a,className:s,isDisabled:l}=e,o=v(e,m);return t().createElement(i.default,y({},n,o,{containerClassName:s,name:a.name,id:`${a.id}`,value:n.value,disabled:l,onChange:n.onChange,placeholder:a.placeholder}))},_=e=>{let{input:n,meta:r,question:a,isDisabled:s}=e,l=v(e,h);return t().createElement(u.default,y({},n,l,{name:a.name,id:`${a.id}`,overrideCSS:!0,value:n.value,disabled:s,onChange:n.onChange}))},O=e=>{let{input:n,meta:r,question:a,isDisabled:s}=e,l=v(e,b);return t().createElement(o.default,y({},n,l,{name:a.name,id:`${a.id}`,overrideCSS:!0,value:n.value,disabled:s,onChange:n.onChange}))},w=e=>{let{input:n,meta:r,question:a,isDisabled:s}=e,l=v(e,f);return t().createElement(c.default,y({},n,l,{id:`${a.id}`,name:a.name,value:n.value,disabled:s,onChange:n.onChange}))},E=e=>e?e=>e?void 0:"Required":()=>{},C=t().forwardRef((({extraQuestions:n,userAnswers:r,onAnswerChanges:a,className:s="questions-form",questionContainerClassName:i="question-container",questionLabelContainerClassName:o="question-label-container",questionControlContainerClassName:u="question-control-container",readOnly:c=!1,debug:m=!1,buttonText:h="Submit",RequiredErrorMessage:b="Required",ValidationErrorClassName:f="extra-question-error",allowExtraQuestionsEdit:y=!0,onError:v=(e=>console.log("form errors: ",e))},C)=>{let q=null;const N=(0,e.useRef)({}),[k,x]=(0,e.useState)({});(0,e.useEffect)((()=>{j()}),[n]);const j=()=>{const e=new d.default(n,r);x(e.formatAnswers())},P=({when:e,rule:n,children:r})=>t().createElement(p.Field,{name:e,subscription:{value:!0}},(({input:{value:e}})=>A(n,$(e,n),r))),S=({name:e})=>t().createElement(p.Field,{name:e,subscription:{error:!0,touched:!0}},(({meta:{error:e,touched:n}})=>e&&n?t().createElement("span",{className:f},e):null)),$=(e,t)=>{let n=t.answer_values;if(Array.isArray(e)){if(!e.length)return!1;let r="And"===t.anwer_values_operator;return n.forEach((n=>{r="And"===t.anwer_values_operator?r&&e.includes(parseInt(n)):r||e.includes(parseInt(n))})),r}return n.includes(e.toString())},A=(e,t,n)=>"Visible"===e.visibility?"Equal"===e.visibility_condition?t?n:(delete N.current[e.sub_question.id],null):t?(delete N.current[e.sub_question.id],null):n:"Equal"===e.visibility_condition?t?(delete N.current[e.sub_question.id],null):n:t?n:(delete N.current[e.sub_question.id],null),F=n=>{let r=n.values;const a=!y&&(""!==k[n.name]||k[n.name].length>0);var s,c,d,m,h,b;if("Text"===n.type)return t().createElement(e.Fragment,{key:n.name},t().createElement("div",{ref:e=>N.current[n.id]=e,className:i},t().createElement(l.default,{className:o},n.mandatory?null!==(s=n.label)&&void 0!==s&&s.endsWith("</p>")?n.label.replace(/<\/p>$/g," <b>*</b></p>"):`${n.label} <b>*</b>`:n.label),t().createElement(p.Field,{name:n.name,className:u,question:n,isDisabled:a,validate:E(n.mandatory),component:g}),t().createElement(S,{name:n.name})),(null===(c=n.sub_question_rules)||void 0===c?void 0:c.length)>0&&n.sub_question_rules.map((e=>t().createElement(P,{key:e.id,when:n.name,rule:e},F(e.sub_question)))));if("TextArea"===n.type)return t().createElement(e.Fragment,{key:n.name},t().createElement("div",{ref:e=>N.current[n.id]=e,className:i},t().createElement(l.default,{className:o},n.mandatory?null!==(d=n.label)&&void 0!==d&&d.endsWith("</p>")?n.label.replace(/<\/p>$/g," <b>*</b></p>"):`${n.label} <b>*</b>`:n.label),t().createElement(p.Field,{className:u,validate:E(n.mandatory),name:n.name,id:`${n.id}`,disabled:a,component:"textarea"}),t().createElement(S,{name:n.name})),(null===(m=n.sub_question_rules)||void 0===m?void 0:m.length)>0&&n.sub_question_rules.map((e=>t().createElement(P,{key:e.id,when:n.name,rule:e},F(e.sub_question)))));if("CheckBox"===n.type)return t().createElement(e.Fragment,{key:n.name},t().createElement("div",{ref:e=>N.current[n.id]=e,style:{display:"flex"},className:i},t().createElement(p.Field,{className:u,name:n.name,id:`${n.id}`,validate:E(n.mandatory),disabled:a,type:"checkbox",component:"input"}),t().createElement(l.default,{className:`eq-checkbox-label ${o}`},n.mandatory?null!==(h=n.label)&&void 0!==h&&h.endsWith("</p>")?n.label.replace(/<\/p>$/g," <b>*</b></p>"):`${n.label} <b>*</b>`:n.label),t().createElement(S,{name:n.name})),(null===(b=n.sub_question_rules)||void 0===b?void 0:b.length)>0&&n.sub_question_rules.map((e=>t().createElement(P,{key:e.id,when:n.name,rule:e},F(e.sub_question)))));if("RadioButtonList"===n.type){var f,v;const s=r.map((e=>({label:e.label,value:e.id})));return t().createElement(e.Fragment,{key:n.name},t().createElement("div",{key:n.name,ref:e=>N.current[n.id]=e,className:i},t().createElement(l.default,{className:o},n.mandatory?null!==(f=n.label)&&void 0!==f&&f.endsWith("</p>")?n.label.replace(/<\/p>$/g," <b>*</b></p>"):`${n.label} <b>*</b>`:n.label),t().createElement("div",{className:u},t().createElement(p.Field,{name:n.name,options:s,question:n,validate:E(n.mandatory),isDisabled:a,component:_}),t().createElement(S,{name:n.name}))),(null===(v=n.sub_question_rules)||void 0===v?void 0:v.length)>0&&n.sub_question_rules.map((e=>t().createElement(P,{key:e.id,when:n.name,rule:e},F(e.sub_question)))))}if("ComboBox"===n.type){var C,q;const s=r.map((e=>({label:e.label,value:e.id})));return t().createElement(e.Fragment,{key:n.name},t().createElement("div",{ref:e=>N.current[n.id]=e,className:i},t().createElement(l.default,{className:o},n.mandatory?null!==(C=n.label)&&void 0!==C&&C.endsWith("</p>")?n.label.replace(/<\/p>$/g," <b>*</b></p>"):`${n.label} <b>*</b>`:n.label),t().createElement(p.Field,{name:n.name,options:s,question:n,validate:E(n.mandatory),className:u,isDisabled:a,component:O}),t().createElement(S,{name:n.name})),(null===(q=n.sub_question_rules)||void 0===q?void 0:q.length)>0&&n.sub_question_rules.map((e=>t().createElement(P,{key:e.id,when:n.name,rule:e},F(e.sub_question)))))}if("CheckBoxList"===n.type){var x,j;const s=r.map((e=>({label:e.label,value:e.id})));return t().createElement(e.Fragment,{key:n.name},t().createElement("div",{ref:e=>N.current[n.id]=e,className:i},t().createElement(l.default,{className:o},n.mandatory?null!==(x=n.label)&&void 0!==x&&x.endsWith("</p>")?n.label.replace(/<\/p>$/g," <b>*</b></p>"):`${n.label} <b>*</b>`:n.label),t().createElement(p.Field,{name:n.name,className:u,validate:E(n.mandatory),options:s,question:n,isDisabled:a,component:w}),t().createElement(S,{name:n.name})),(null===(j=n.sub_question_rules)||void 0===j?void 0:j.length)>0&&n.sub_question_rules.map((e=>t().createElement(P,{key:e.id,when:n.name,rule:e},F(e.sub_question)))))}return null},D=(e,t,n)=>{var r;e.mandatory&&(e=>!!N.current[e.id])(e)&&(t.hasOwnProperty(e.name)&&""!==t[e.name]&&0!==t[e.name].length||(n[e.name]=b)),null===(r=e.sub_question_rules)||void 0===r||r.forEach((e=>{D(e.sub_question,t,n)}))};return Object.keys(k).length?t().createElement("div",{className:s},t().createElement(p.Form,{validate:e=>{const t={};return n.forEach((n=>{D(n,e,t)})),Object.keys(t).length>0&&v(t),t},onSubmit:e=>{a(e)},initialValues:k},(({handleSubmit:e,form:r,submitting:a,pristine:s,values:l})=>(q=e,t().createElement("form",{onSubmit:e,ref:C},c?t().createElement("fieldset",{disabled:"disabled"},n.map((e=>F(e)))):n.map((e=>F(e))),m&&t().createElement("pre",null,JSON.stringify(l,0,2)))))),!C&&t().createElement("button",{type:"submit",onClick:e=>{q(e)},style:{marginTop:10}},h)):null}));C.propTypes={extraQuestions:s().array.isRequired,userAnswers:s().array.isRequired,onAnswerChanges:s().func.isRequired,className:s().string,debug:s().bool,buttonText:s().string,questionContainerClassName:s().string,questionLabelContainerClassName:s().string,questionControlContainerClassName:s().string,RequiredErrorMessage:s().string,ValidationErrorClassName:s().string};const q=C})(),r})()));
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={2230:(e,t,r)=>{r.d(t,{default:()=>u});var a=r(580),n=r.n(a),l=r(6689),s=r.n(l),o=r(4656),i=r.n(o),c=r(418);const p=["onChange","value","className","options","id","children","error","disabled","name"];function h(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}class u extends s().Component{constructor(e){super(e);let t=!!e.value&&e.value.find((t=>!e.options.map((e=>e.value)).includes(t)));this.state={otherChecked:!!t},this.handleChange=this.handleChange.bind(this),this.handleOtherCBChange=this.handleOtherCBChange.bind(this)}handleChange(e){let t=this.props.options.map((e=>e.value)),r=this.props.value?[...this.props.value]:[];if("checkbox"===e.target.type)if(e.target.checked){const t=isNaN(e.target.value)?e.target.value:parseInt(e.target.value);r.push(t)}else r=r.filter((t=>t!=e.target.value));else r=r.filter((e=>t.includes(e))),r.push(e.target.value);let a={target:{id:this.props.id,value:r,type:"checkboxlist"}};this.props.onChange(a)}handleOtherCBChange(e){this.setState({otherChecked:e.target.checked})}render(){let e,t=this.props,{onChange:r,value:a,className:n,options:l,id:o,children:u,error:d,disabled:m,name:b}=t,{otherChecked:f}=(h(t,p),this.state),v=this.props.hasOwnProperty("inline"),g=this.props.hasOwnProperty("html"),y=this.props.hasOwnProperty("allowOther"),O=!!a&&a.find((e=>!l.map((e=>e.value)).includes(e))),C=this.props.hasOwnProperty("error")&&""!==d,E=this.props.hasOwnProperty("disabled")&&1==m;return e=v?{paddingLeft:"22px",marginLeft:"20px",float:"left"}:{paddingLeft:"22px",marginTop:"7px"},s().createElement("div",{id:`chl_wrapper_${o}`},s().createElement("div",{className:"checkboxes-div"+(C?" error":"")},l.map((t=>{let r=!!a&&a.includes(t.value);return s().createElement("div",{className:"form-check abc-checkbox",key:"radio_key_"+t.value,style:e},s().createElement("input",{type:"checkbox",id:`cb_${o}_${t.value}`,name:b||o,checked:r,disabled:E,onChange:this.handleChange,className:"form-check-input",value:t.value}),s().createElement("label",{className:"form-check-label",htmlFor:`cb_${o}_${t.value}`},g&&s().createElement(c.default,null,t.label),!g&&t.label))})),y&&s().createElement("div",{className:"form-check abc-checkbox",style:e},s().createElement("input",{type:"checkbox",id:"cb_other"+o,checked:f,disabled:E,onChange:this.handleOtherCBChange,className:"form-check-input",value:"other"}),s().createElement("label",{className:"form-check-label",htmlFor:"cb_other"+o},i().translate("general.other"))),y&&f&&s().createElement("div",{style:{paddingLeft:"22px",width:"50%"}},s().createElement("input",{className:"form-control",disabled:E,onChange:this.handleChange,value:O}))),C&&s().createElement("p",{className:"error-label"},d))}}u.propTypes={id:n().string.isRequired}},401:(e,t,r)=>{r.d(t,{default:()=>d});var a=r(6689),n=r.n(a),l=r(1929),s=r.n(l);const o=["onChange","value","className","error","clearable","disabled","overrideCSS"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},i.apply(this,arguments)}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){h(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function h(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}class d extends n().Component{constructor(e){super(e),this.handleChange=this.handleChange.bind(this)}handleChange(e){let t=null;t=this.props.isMulti?e?e.map((e=>e.value)):null:e?e.value:null;let r={target:{id:this.props.id,value:t,type:"dropdown"}};this.props.onChange(r)}render(){let e=this.props,{onChange:t,value:r,className:a,error:l,clearable:c,disabled:h,overrideCSS:d}=e,m=u(e,o),b=this.props.hasOwnProperty("error")&&""!=l,f=this.props.hasOwnProperty("clearable"),v=this.props.hasOwnProperty("disabled")&&1==h,g=null,y=a;this.props.hasOwnProperty("overrideCSS")&&0!=d||(y="dropdown "+a+" "+(b?"error":"")),g=this.props.isMulti?this.props.options.filter((e=>r.includes(e.value))):r instanceof Object||null==r?r:this.props.options.find((e=>e.value==r));const O={menu:e=>p(p({},e),{},{zIndex:999})};return n().createElement("div",null,n().createElement(s(),i({className:y,value:g,onChange:this.handleChange,isClearable:f,isDisabled:v,styles:O},m)),b&&n().createElement("p",{className:"error-label"},l))}}},7027:(e,t,r)=>{r.d(t,{default:()=>p});var a=r(6689),n=r.n(a),l=r(418),s=r(580),o=r.n(s);const i=["onChange","value","className","error","disabled","options","id","name"];function c(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}class p extends n().Component{constructor(e){super(e),this.state={value:e.value},this.handleChange=this.handleChange.bind(this)}handleChange(e){let t={target:{id:this.props.id,value:e.target.value,type:"radio"}};this.props.onChange(t)}getLabel(e,t,r,a,s){return r?n().createElement("label",{className:"form-check-label",htmlFor:`radio_${t}_${e.value}`,style:{display:"inline-block"}},s&&n().createElement(l.default,null,e.label),!s&&e.label):a?n().createElement("label",{className:"form-check-label",htmlFor:`radio_${t}_${e.value}`},e.label):n().createElement("label",{className:"form-check-label",htmlFor:`radio_${t}_${e.value}`,style:{display:"inline-block"}},n().createElement("h4",{style:{marginTop:"0px"}},e.label),n().createElement(l.default,null,e.description))}render(){let e,t=this.props,{onChange:r,value:a,className:l,error:s,disabled:o,options:p,id:h,name:u}=t,d=(c(t,i),this.props.hasOwnProperty("error")&&""!=s),m=this.props.hasOwnProperty("inline"),b=this.props.hasOwnProperty("simple"),f=this.props.hasOwnProperty("html"),v=this.props.hasOwnProperty("disabled")&&1==o;return e=m?{paddingLeft:"22px",marginLeft:"20px",float:"left"}:{paddingLeft:"22px"},n().createElement("div",{id:`rl_wrapper_${h}`},p.map((t=>{let r=t.value==a;return n().createElement("div",{className:"form-check abc-radio",key:`radio_key_${h}_${t.value}`,style:e},n().createElement("input",{className:"form-check-input",type:"radio",id:`radio_${h}_${t.value}`,value:t.value,checked:r,onChange:this.handleChange,disabled:v,name:u||`radio_${h}`}),this.getLabel(t,h,m,b,f))})),d&&n().createElement("p",{className:"error-label"},s))}}p.propTypes={id:o().string.isRequired}},1833:(e,t,r)=>{r.d(t,{default:()=>i});var a=r(6689),n=r.n(a);const l=["onChange","value","className","error"];function s(){return s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},s.apply(this,arguments)}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}class i extends n().Component{constructor(e){super(e),this.state={value:e.value},this.handleChange=this.handleChange.bind(this)}componentDidUpdate(e,t,r){this.props.value!==e.value&&this.setState({value:this.props.value})}handleChange(e){this.props.onChange(e)}render(){let e=this.props,{onChange:t,value:r,className:a,error:i}=e,c=o(e,l),p=this.props.hasOwnProperty("error")&&""!=i,h=this.props.hasOwnProperty("className")?a:"form-control";return n().createElement("div",null,n().createElement("input",s({className:h+" "+(p?"error":""),value:this.state.value,onChange:this.handleChange},c)),p&&n().createElement("p",{className:"error-label"},i))}}},418:(e,t,r)=>{r.d(t,{default:()=>l});var a=r(6689),n=r.n(a);const l=({children:e,className:t=""})=>n().createElement("span",{className:t,dangerouslySetInnerHTML:{__html:e.replace(/\n/g,"<br />")}})},6471:e=>{e.exports=require("awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},580:e=>{e.exports=require("prop-types")},6689:e=>{e.exports=require("react")},1929:e=>{e.exports=require("react-select")}},t={};function r(a){var n=t[a];if(void 0!==n)return n.exports;var l=t[a]={exports:{}};return e[a](l,l.exports,r),l.exports}(()=>{r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t}})(),(()=>{r.d=(e,t)=>{for(var a in t)r.o(t,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}})(),(()=>{r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var a={};return(()=>{r.r(a),r.d(a,{default:()=>p});var e=r(6689),t=r.n(e),n=(r(6471),r(1833)),l=r(401),s=r(418),o=r(2230),i=r(7027);class c extends t().Component{constructor(e){super(e),this.state={answers:e.questions.map((e=>({question_id:e.id,value:null}))),errors:e.errors},this.handleChange=this.handleChange.bind(this),this.hasErrors=this.hasErrors.bind(this),this.handleSubmit=this.handleSubmit.bind(this)}renderQuestion(e){const{answers:r}=this.state,a=r.find((t=>t.question_id===e.id)).value;switch(e.class_name){case"RSVPMemberEmailQuestionTemplate":case"RSVPMemberFirstNameQuestionTemplate":case"RSVPMemberLastNameQuestionTemplate":case"RSVPTextBoxQuestionTemplate":return t().createElement(n.default,{id:e.id,value:a||"",onChange:this.handleChange,className:"form-control",error:this.hasErrors(e.id)});case"RSVPTextAreaQuestionTemplate":return t().createElement("textarea",{id:e.id,value:a||"",className:"form-control",onChange:this.handleChange});case"RSVPLiteralContentQuestionTemplate":return t().createElement("div",null,t().createElement(s.default,null,e.value));case"RSVPCheckBoxListQuestionTemplate":return t().createElement(o.default,{id:e.id,value:a,options:e.values.map((e=>({value:`${e.id}`,label:e.label}))),onChange:this.handleChange,error:this.hasErrors(e.id)});case"RSVPRadioButtonListQuestionTemplate":return t().createElement(i.default,{id:e.id,value:a,onChange:this.handleChange,options:e.values.map((e=>({value:`${e.id}`,label:e.label}))),error:this.hasErrors(e.id),simple:!0});case"RSVPDropDownQuestionTemplate":let r=e.is_country_selector?e.values.map((e=>({value:e.id,label:e.value}))):e.values;return t().createElement(l.default,{id:e.id,isMulti:e.is_multiselect,value:a,onChange:this.handleChange,placeholder:e.empty_string,options:r})}}handleChange(e){let t=[...this.state.answers],{value:r,id:a}=e.target;"datetime"===e.target.type&&(r=r.valueOf()/1e3),t.find((e=>e.question_id===parseInt(a))).value=r,this.setState({answers:t})}hasErrors(e){let{errors:t}=this.state;return e in t?t[e]:""}handleSubmit(e){e.preventDefault();let{onSubmit:t}=this.props,{answers:r}=this.state;t(r)}render(){let{questions:e,onSubmit:r}=this.props;return t().createElement("form",{className:"rsvp-form"},e.map((e=>t().createElement("div",{key:"question_"+e.id,className:"row form-group"},t().createElement("div",{className:"col-md-12"},t().createElement("label",null,t().createElement(s.default,null,e.label)," ",e.is_mandatory&&"*"),this.renderQuestion(e))))),r&&t().createElement("div",{className:"row"},t().createElement("div",{className:"col-md-12"},t().createElement("button",{className:"btn btn-primary",onClick:this.handleSubmit},"Submit"))))}}const p=c})(),a})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={2230:(e,t,r)=>{r.d(t,{default:()=>u});var a=r(580),n=r.n(a),l=r(6689),s=r.n(l),o=r(4656),i=r.n(o),c=r(418);const p=["onChange","value","className","options","id","children","error","disabled","name"];function h(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}class u extends s().Component{constructor(e){super(e);let t=!!e.value&&e.value.find((t=>!e.options.map((e=>e.value)).includes(t)));this.state={otherChecked:!!t},this.handleChange=this.handleChange.bind(this),this.handleOtherCBChange=this.handleOtherCBChange.bind(this)}handleChange(e){let t=this.props.options.map((e=>e.value)),r=this.props.value?[...this.props.value]:[];if("checkbox"===e.target.type)if(e.target.checked){const t=isNaN(e.target.value)?e.target.value:parseInt(e.target.value);r.push(t)}else r=r.filter((t=>t!=e.target.value));else r=r.filter((e=>t.includes(e))),r.push(e.target.value);let a={target:{id:this.props.id,value:r,type:"checkboxlist"}};this.props.onChange(a)}handleOtherCBChange(e){this.setState({otherChecked:e.target.checked})}render(){let e,t=this.props,{onChange:r,value:a,className:n,options:l,id:o,children:u,error:d,disabled:m,name:b}=t,{otherChecked:f}=(h(t,p),this.state),v=this.props.hasOwnProperty("inline"),g=this.props.hasOwnProperty("html"),y=this.props.hasOwnProperty("allowOther"),O=!!a&&a.find((e=>!l.map((e=>e.value)).includes(e))),C=this.props.hasOwnProperty("error")&&""!==d,E=this.props.hasOwnProperty("disabled")&&1==m;return e=v?{paddingLeft:"22px",marginLeft:"20px",float:"left"}:{paddingLeft:"22px",marginTop:"7px"},s().createElement("div",{id:`chl_wrapper_${o}`},s().createElement("div",{className:"checkboxes-div"+(C?" error":"")},l.map((t=>{let r=!!a&&a.includes(t.value);return s().createElement("div",{className:"form-check abc-checkbox",key:"radio_key_"+t.value,style:e},s().createElement("input",{type:"checkbox",id:`cb_${o}_${t.value}`,name:b||o,checked:r,disabled:E,onChange:this.handleChange,className:"form-check-input",value:t.value}),s().createElement("label",{className:"form-check-label",htmlFor:`cb_${o}_${t.value}`},g&&s().createElement(c.default,null,t.label),!g&&t.label))})),y&&s().createElement("div",{className:"form-check abc-checkbox",style:e},s().createElement("input",{type:"checkbox",id:"cb_other"+o,checked:f,disabled:E,onChange:this.handleOtherCBChange,className:"form-check-input",value:"other"}),s().createElement("label",{className:"form-check-label",htmlFor:"cb_other"+o},i().translate("general.other"))),y&&f&&s().createElement("div",{style:{paddingLeft:"22px",width:"50%"}},s().createElement("input",{className:"form-control",disabled:E,onChange:this.handleChange,value:O}))),C&&s().createElement("p",{className:"error-label"},d))}}u.propTypes={id:n().string.isRequired}},401:(e,t,r)=>{r.d(t,{default:()=>d});var a=r(6689),n=r.n(a),l=r(1929),s=r.n(l);const o=["onChange","value","className","error","clearable","disabled","overrideCSS"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},i.apply(this,arguments)}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){h(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function h(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}class d extends n().Component{constructor(e){super(e),this.handleChange=this.handleChange.bind(this)}handleChange(e){let t=null;t=this.props.isMulti?e?e.map((e=>e.value)):null:e?e.value:null;let r={target:{id:this.props.id,value:t,type:"dropdown"}};this.props.onChange(r)}render(){let e=this.props,{onChange:t,value:r,className:a,error:l,clearable:c,disabled:h,overrideCSS:d}=e,m=u(e,o),b=this.props.hasOwnProperty("error")&&""!=l,f=this.props.hasOwnProperty("clearable"),v=this.props.hasOwnProperty("disabled")&&1==h,g=null,y=a;this.props.hasOwnProperty("overrideCSS")&&0!=d||(y="dropdown "+a+" "+(b?"error":"")),g=this.props.isMulti?this.props.options.filter((e=>r.includes(e.value))):r instanceof Object||null==r?r:this.props.options.find((e=>e.value==r));const O={menu:e=>p(p({},e),{},{zIndex:999})};return n().createElement("div",null,n().createElement(s(),i({className:y,value:g,onChange:this.handleChange,isClearable:f,isDisabled:v,styles:O},m)),b&&n().createElement("p",{className:"error-label"},l))}}},7027:(e,t,r)=>{r.d(t,{default:()=>p});var a=r(6689),n=r.n(a),l=r(418),s=r(580),o=r.n(s);const i=["onChange","value","className","error","disabled","options","id","name"];function c(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}class p extends n().Component{constructor(e){super(e),this.state={value:e.value},this.handleChange=this.handleChange.bind(this)}handleChange(e){let t={target:{id:this.props.id,value:e.target.value,type:"radio"}};this.props.onChange(t)}getLabel(e,t,r,a,s){return r?n().createElement("label",{className:"form-check-label",htmlFor:`radio_${t}_${e.value}`,style:{display:"inline-block"}},s&&n().createElement(l.default,null,e.label),!s&&e.label):a?n().createElement("label",{className:"form-check-label",htmlFor:`radio_${t}_${e.value}`},e.label):n().createElement("label",{className:"form-check-label",htmlFor:`radio_${t}_${e.value}`,style:{display:"inline-block"}},n().createElement("h4",{style:{marginTop:"0px"}},e.label),n().createElement(l.default,null,e.description))}render(){let e,t=this.props,{onChange:r,value:a,className:l,error:s,disabled:o,options:p,id:h,name:u}=t,d=(c(t,i),this.props.hasOwnProperty("error")&&""!=s),m=this.props.hasOwnProperty("inline"),b=this.props.hasOwnProperty("simple"),f=this.props.hasOwnProperty("html"),v=this.props.hasOwnProperty("disabled")&&1==o;return e=m?{paddingLeft:"22px",marginLeft:"20px",float:"left"}:{paddingLeft:"22px"},n().createElement("div",{id:`rl_wrapper_${h}`},p.map((t=>{let r=t.value==a;return n().createElement("div",{className:"form-check abc-radio",key:`radio_key_${h}_${t.value}`,style:e},n().createElement("input",{className:"form-check-input",type:"radio",id:`radio_${h}_${t.value}`,value:t.value,checked:r,onChange:this.handleChange,disabled:v,name:u||`radio_${h}`}),this.getLabel(t,h,m,b,f))})),d&&n().createElement("p",{className:"error-label"},s))}}p.propTypes={id:o().string.isRequired}},1833:(e,t,r)=>{r.d(t,{default:()=>i});var a=r(6689),n=r.n(a);const l=["onChange","value","className","error","containerClassName"];function s(){return s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},s.apply(this,arguments)}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}class i extends n().Component{constructor(e){super(e),this.handleChange=this.handleChange.bind(this)}componentDidUpdate(e,t,r){this.props.value!==e.value&&(this.input.value=this.props.value)}handleChange(e){this.props.onChange(e)}render(){let e=this.props,{onChange:t,value:r,className:a,error:i,containerClassName:c}=e,p=o(e,l),h=this.props.hasOwnProperty("error")&&""!==i,u=this.props.hasOwnProperty("className")?a:"form-control",d=this.props.hasOwnProperty("containerClassName")?c:"container-form-control";return n().createElement("div",{className:d},n().createElement("input",s({className:`${u} ${h?"error":""}`,ref:e=>{this.input=e},defaultValue:r,onChange:this.handleChange},p)),h&&n().createElement("p",{className:"error-label"},i))}}},418:(e,t,r)=>{r.d(t,{default:()=>l});var a=r(6689),n=r.n(a);const l=({children:e,className:t=""})=>n().createElement("span",{className:t,dangerouslySetInnerHTML:{__html:null==e?void 0:e.replace(/\n/g,"<br />")}})},6471:e=>{e.exports=require("awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},580:e=>{e.exports=require("prop-types")},6689:e=>{e.exports=require("react")},1929:e=>{e.exports=require("react-select")}},t={};function r(a){var n=t[a];if(void 0!==n)return n.exports;var l=t[a]={exports:{}};return e[a](l,l.exports,r),l.exports}(()=>{r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t}})(),(()=>{r.d=(e,t)=>{for(var a in t)r.o(t,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}})(),(()=>{r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var a={};return(()=>{r.r(a),r.d(a,{default:()=>p});var e=r(6689),t=r.n(e),n=(r(6471),r(1833)),l=r(401),s=r(418),o=r(2230),i=r(7027);class c extends t().Component{constructor(e){super(e),this.state={answers:e.questions.map((e=>({question_id:e.id,value:null}))),errors:e.errors},this.handleChange=this.handleChange.bind(this),this.hasErrors=this.hasErrors.bind(this),this.handleSubmit=this.handleSubmit.bind(this)}renderQuestion(e){const{answers:r}=this.state,a=r.find((t=>t.question_id===e.id)).value;switch(e.class_name){case"RSVPMemberEmailQuestionTemplate":case"RSVPMemberFirstNameQuestionTemplate":case"RSVPMemberLastNameQuestionTemplate":case"RSVPTextBoxQuestionTemplate":return t().createElement(n.default,{id:e.id,value:a||"",onChange:this.handleChange,className:"form-control",error:this.hasErrors(e.id)});case"RSVPTextAreaQuestionTemplate":return t().createElement("textarea",{id:e.id,value:a||"",className:"form-control",onChange:this.handleChange});case"RSVPLiteralContentQuestionTemplate":return t().createElement("div",null,t().createElement(s.default,null,e.value));case"RSVPCheckBoxListQuestionTemplate":return t().createElement(o.default,{id:e.id,value:a,options:e.values.map((e=>({value:`${e.id}`,label:e.label}))),onChange:this.handleChange,error:this.hasErrors(e.id)});case"RSVPRadioButtonListQuestionTemplate":return t().createElement(i.default,{id:e.id,value:a,onChange:this.handleChange,options:e.values.map((e=>({value:`${e.id}`,label:e.label}))),error:this.hasErrors(e.id),simple:!0});case"RSVPDropDownQuestionTemplate":let r=e.is_country_selector?e.values.map((e=>({value:e.id,label:e.value}))):e.values;return t().createElement(l.default,{id:e.id,isMulti:e.is_multiselect,value:a,onChange:this.handleChange,placeholder:e.empty_string,options:r})}}handleChange(e){let t=[...this.state.answers],{value:r,id:a}=e.target;"datetime"===e.target.type&&(r=r.valueOf()/1e3),t.find((e=>e.question_id===parseInt(a))).value=r,this.setState({answers:t})}hasErrors(e){let{errors:t}=this.state;return e in t?t[e]:""}handleSubmit(e){e.preventDefault();let{onSubmit:t}=this.props,{answers:r}=this.state;t(r)}render(){let{questions:e,onSubmit:r}=this.props;return t().createElement("form",{className:"rsvp-form"},e.map((e=>t().createElement("div",{key:"question_"+e.id,className:"row form-group"},t().createElement("div",{className:"col-md-12"},t().createElement("label",null,t().createElement(s.default,null,e.label)," ",e.is_mandatory&&"*"),this.renderQuestion(e))))),r&&t().createElement("div",{className:"row"},t().createElement("div",{className:"col-md-12"},t().createElement("button",{className:"btn btn-primary",onClick:this.handleSubmit},"Submit"))))}}const p=c})(),a})()));
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={1833:(e,t,r)=>{r.d(t,{default:()=>i});var n=r(6689),a=r.n(n);const o=["onChange","value","className","error"];function s(){return s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},s.apply(this,arguments)}function l(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}class i extends a().Component{constructor(e){super(e),this.state={value:e.value},this.handleChange=this.handleChange.bind(this)}componentDidUpdate(e,t,r){this.props.value!==e.value&&this.setState({value:this.props.value})}handleChange(e){this.props.onChange(e)}render(){let e=this.props,{onChange:t,value:r,className:n,error:i}=e,c=l(e,o),p=this.props.hasOwnProperty("error")&&""!=i,u=this.props.hasOwnProperty("className")?n:"form-control";return a().createElement("div",null,a().createElement("input",s({className:u+" "+(p?"error":""),value:this.state.value,onChange:this.handleChange},c)),p&&a().createElement("p",{className:"error-label"},i))}}},6793:(e,t,r)=>{r.d(t,{hasErrors:()=>a,isEmpty:()=>s,scrollToError:()=>n,shallowEqual:()=>o});r(8362),r(6530);const n=e=>{if(Object.keys(e).length>0){const t=Object.keys(e)[0],r=document.getElementById(t);r&&window.scrollTo(0,(e=>{var t=-70;if(e.offsetParent){do{t+=e.offsetTop}while(e=e.offsetParent);return[t]}})(r))}},a=(e,t)=>e in t?t[e]:"",o=(e,t)=>{const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let n of r)if(e[n]!==t[n])return!1;return!0},s=e=>0===Object.keys(e).length},6471:e=>{e.exports=require("awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},8362:e=>{e.exports=require("moment-timezone")},6689:e=>{e.exports=require("react")},6530:e=>{e.exports=require("urijs")}},t={};function r(n){var a=t[n];if(void 0!==a)return a.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}(()=>{r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t}})(),(()=>{r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),(()=>{r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var n={};return(()=>{r.r(n),r.d(n,{default:()=>h});var e=r(6689),t=r.n(e),a=r(4656),o=r.n(a),s=(r(6471),r(1833)),l=r(6793);function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){p(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class u extends t().Component{constructor(e){super(e),this.state={entity:c({},e.entity),errors:e.errors},this.handleChange=this.handleChange.bind(this),this.handleSubmit=this.handleSubmit.bind(this)}componentDidUpdate(e,t,r){const n={};(0,l.scrollToError)(this.props.errors),e.entity.id!==this.props.entity.id&&(n.entity=c({},this.props.entity),n.errors={}),(0,l.shallowEqual)(e.errors,this.props.errors)||(n.errors=c({},this.props.errors)),(0,l.isEmpty)(n)||this.setState(c(c({},this.state),n))}handleChange(e){let t=c({},this.state.entity),r=c({},this.state.errors),{value:n,id:a}=e.target;"checkbox"===e.target.type&&(n=e.target.checked),r[a]="",t[a]=n,this.setState({entity:t,errors:r})}handleSubmit(e){c({},this.state.entity);e.preventDefault(),this.props.onSubmit(this.state.entity)}createField(e){let{entity:r,errors:n}=this.state;switch(e.type){case"text":return t().createElement("div",{key:"field_"+e.name,className:"row form-group"},t().createElement("div",{className:"col-md-6"},t().createElement("label",null," ",e.label," "),t().createElement(s.default,{id:e.name,value:r[e.name],onChange:this.handleChange,className:"form-control",error:(0,l.hasErrors)(e.name,n)})));case"textarea":return t().createElement("div",{key:"field_"+e.name,className:"row form-group"},t().createElement("div",{className:"col-md-6"},t().createElement("label",null," ",e.label," "),t().createElement("textarea",{id:e.name,value:r[e.name],onChange:this.handleChange,className:"form-control"})));case"checkbox":return t().createElement("div",{key:"field_"+e.name,className:"row form-group"},t().createElement("div",{className:"col-md-6"},t().createElement("div",{className:"form-check abc-checkbox"},t().createElement("input",{type:"checkbox",id:e.name,checked:r[e.name],onChange:this.handleChange,className:"form-check-input"}),t().createElement("label",{className:"form-check-label",htmlFor:e.name},e.label))))}}render(){let{entity:e}=this.state,{fields:r}=this.props;return t().createElement("form",{className:"simple-form"},t().createElement("input",{type:"hidden",id:"id",value:e.id}),r.map((e=>this.createField(e))),t().createElement("div",{className:"row"},t().createElement("div",{className:"col-md-12 submit-buttons"},t().createElement("input",{type:"button",onClick:this.handleSubmit,className:"btn btn-primary pull-right",value:o().translate("general.save")}))))}}const h=u})(),n})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={1833:(e,t,r)=>{r.d(t,{default:()=>i});var n=r(6689),a=r.n(n);const o=["onChange","value","className","error","containerClassName"];function s(){return s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},s.apply(this,arguments)}function l(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}class i extends a().Component{constructor(e){super(e),this.handleChange=this.handleChange.bind(this)}componentDidUpdate(e,t,r){this.props.value!==e.value&&(this.input.value=this.props.value)}handleChange(e){this.props.onChange(e)}render(){let e=this.props,{onChange:t,value:r,className:n,error:i,containerClassName:c}=e,p=l(e,o),u=this.props.hasOwnProperty("error")&&""!==i,h=this.props.hasOwnProperty("className")?n:"form-control",m=this.props.hasOwnProperty("containerClassName")?c:"container-form-control";return a().createElement("div",{className:m},a().createElement("input",s({className:`${h} ${u?"error":""}`,ref:e=>{this.input=e},defaultValue:r,onChange:this.handleChange},p)),u&&a().createElement("p",{className:"error-label"},i))}}},6793:(e,t,r)=>{r.d(t,{hasErrors:()=>a,isEmpty:()=>s,scrollToError:()=>n,shallowEqual:()=>o});r(8362),r(6530);const n=e=>{if(Object.keys(e).length>0){const t=Object.keys(e)[0],r=document.getElementById(t);r&&window.scrollTo(0,(e=>{var t=-70;if(e.offsetParent){do{t+=e.offsetTop}while(e=e.offsetParent);return[t]}})(r))}},a=(e,t)=>e in t?t[e]:"",o=(e,t)=>{const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let n of r)if(e[n]!==t[n])return!1;return!0},s=e=>0===Object.keys(e).length},6471:e=>{e.exports=require("awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},8362:e=>{e.exports=require("moment-timezone")},6689:e=>{e.exports=require("react")},6530:e=>{e.exports=require("urijs")}},t={};function r(n){var a=t[n];if(void 0!==a)return a.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}(()=>{r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t}})(),(()=>{r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),(()=>{r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var n={};return(()=>{r.r(n),r.d(n,{default:()=>h});var e=r(6689),t=r.n(e),a=r(4656),o=r.n(a),s=(r(6471),r(1833)),l=r(6793);function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){p(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class u extends t().Component{constructor(e){super(e),this.state={entity:c({},e.entity),errors:e.errors},this.handleChange=this.handleChange.bind(this),this.handleSubmit=this.handleSubmit.bind(this)}componentDidUpdate(e,t,r){const n={};(0,l.scrollToError)(this.props.errors),e.entity.id!==this.props.entity.id&&(n.entity=c({},this.props.entity),n.errors={}),(0,l.shallowEqual)(e.errors,this.props.errors)||(n.errors=c({},this.props.errors)),(0,l.isEmpty)(n)||this.setState(c(c({},this.state),n))}handleChange(e){let t=c({},this.state.entity),r=c({},this.state.errors),{value:n,id:a}=e.target;"checkbox"===e.target.type&&(n=e.target.checked),r[a]="",t[a]=n,this.setState({entity:t,errors:r})}handleSubmit(e){c({},this.state.entity);e.preventDefault(),this.props.onSubmit(this.state.entity)}createField(e){let{entity:r,errors:n}=this.state;switch(e.type){case"text":return t().createElement("div",{key:"field_"+e.name,className:"row form-group"},t().createElement("div",{className:"col-md-6"},t().createElement("label",null," ",e.label," "),t().createElement(s.default,{id:e.name,value:r[e.name],onChange:this.handleChange,className:"form-control",error:(0,l.hasErrors)(e.name,n)})));case"textarea":return t().createElement("div",{key:"field_"+e.name,className:"row form-group"},t().createElement("div",{className:"col-md-6"},t().createElement("label",null," ",e.label," "),t().createElement("textarea",{id:e.name,value:r[e.name],onChange:this.handleChange,className:"form-control"})));case"checkbox":return t().createElement("div",{key:"field_"+e.name,className:"row form-group"},t().createElement("div",{className:"col-md-6"},t().createElement("div",{className:"form-check abc-checkbox"},t().createElement("input",{type:"checkbox",id:e.name,checked:r[e.name],onChange:this.handleChange,className:"form-check-input"}),t().createElement("label",{className:"form-check-label",htmlFor:e.name},e.label))))}}render(){let{entity:e}=this.state,{fields:r}=this.props;return t().createElement("form",{className:"simple-form"},t().createElement("input",{type:"hidden",id:"id",value:e.id}),r.map((e=>this.createField(e))),t().createElement("div",{className:"row"},t().createElement("div",{className:"col-md-12 submit-buttons"},t().createElement("input",{type:"button",onClick:this.handleSubmit,className:"btn btn-primary pull-right",value:o().translate("general.save")}))))}}const h=u})(),n})()));