openstack-uicore-foundation 4.0.73 → 4.0.75
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.
|
@@ -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:()=>m});var n=r(580),a=r.n(n),s=r(6689),l=r.n(s),i=r(4656),o=r.n(i),u=r(418);const c=["onChange","value","className","options","id","children","error","disabled","name"];function d(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}class m 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)),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 n={target:{id:this.props.id,value:r,type:"checkboxlist"}};this.props.onChange(n)}handleOtherCBChange(e){this.setState({otherChecked:e.target.checked})}render(){let e,t=this.props,{onChange:r,value:n,className:a,options:s,id:i,children:m,error:p,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"),_=!!n&&n.find((e=>!s.map((e=>e.value)).includes(e))),O=this.props.hasOwnProperty("error")&&""!==p,E=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 r=!!n&&n.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:r,disabled:E,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:E,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:E,onChange:this.handleChange,value:_}))),O&&l().createElement("p",{className:"error-label"},p))}}m.propTypes={id:a().string.isRequired}},401:(e,t,r)=>{r.d(t,{default:()=>p});var n=r(6689),a=r.n(n),s=r(1929),l=r.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 r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function u(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?u(Object(r),!0).forEach((function(t){d(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function d(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}class p 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 r={target:{id:this.props.id,value:t,type:"dropdown"}};this.props.onChange(r)}render(){let e=this.props,{onChange:t,value:r,className:n,error:s,clearable:u,disabled:d,overrideCSS:p}=e,h=m(e,i),b=this.props.hasOwnProperty("error")&&""!=s,f=this.props.hasOwnProperty("clearable"),y=this.props.hasOwnProperty("disabled")&&1==d,v=null,g=n;this.props.hasOwnProperty("overrideCSS")&&0!=p||(g="dropdown "+n+" "+(b?"error":"")),v=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 _={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,r)=>{r.d(t,{default:()=>c});var n=r(6689),a=r.n(n),s=r(418),l=r(580),i=r.n(l);const o=["onChange","value","className","error","disabled","options","id","name"];function u(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}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,r,n,l){return r?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):n?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:r,value:n,className:s,error:l,disabled:i,options:c,id:d,name:m}=t,p=(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 r=t.value==n;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:r,onChange:this.handleChange,disabled:y,name:m||`radio_${d}`}),this.getLabel(t,d,h,b,f))})),p&&a().createElement("p",{className:"error-label"},l))}}c.propTypes={id:i().string.isRequired}},1833:(e,t,r)=>{r.d(t,{default:()=>o});var n=r(6689),a=r.n(n);const s=["onChange","value","className","error","containerClassName"];function l(){return l=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},l.apply(this,arguments)}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}class o 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:o,containerClassName:u}=e,c=i(e,s),d=this.props.hasOwnProperty("error")&&""!==o,m=this.props.hasOwnProperty("className")?n:"form-control",p=this.props.hasOwnProperty("containerClassName")?u:"container-form-control";return a().createElement("div",{className:p},a().createElement("input",l({className:`${m} ${d?"error":""}`,ref:e=>{this.input=e},defaultValue:r,onChange:this.handleChange},c)),d&&a().createElement("p",{className:"error-label"},o))}}},418:(e,t,r)=>{r.d(t,{default:()=>s});var n=r(6689),a=r.n(n);const s=({children:e,replaceNewLine:t=!1,className:r=""})=>a().createElement("span",{className:r,dangerouslySetInnerHTML:{__html:t?null==e?void 0:e.replace(/\n/g,"<br />"):e}})},1995:(e,t,r)=>{function n(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 a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){s(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}r.d(t,{default:()=>m});const l="ComboBox",i="CheckBoxList",o="RadioButtonList",u=[l,i,o],c="And",d="Equal";class m{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 r=t.value.split(",").map((e=>parseInt(e)));for(let t of r)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,r=this.answers[t]||null;return r||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 r=this._getAnswerFor(e.parent_question_id);if(r)switch(e.visibility_condition){case d:for(let n of e.answer_values)t=e.answer_values_operator===c?t&&this._answerContains(r,n):t||this._answerContains(r,n);break;case"NotEqual":for(let n of e.answer_values)t=e.answer_values_operator===c?t&&!this._answerContains(r,n):t||!this._answerContains(r,n)}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 r of e.parent_rules)if(this._isSubQuestionVisible(this.rules[r]))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 r of e.sub_question_rules)t=t&&this._checkQuestion(r.sub_question);return t})),s(this,"_formatQuestionAnswer",(e=>{var t;let r={},n=null===(t=this.originalAnswers.find((t=>t.question_id===e.id)))||void 0===t?void 0:t.value;if(n&&("CheckBox"===e.type&&(n="false"!==n&&!!n),e.type!==o&&e.type!==l||(n=parseInt(n)),e.type===i&&(n=n.split(",").map((e=>parseInt(e)))||[])),r[e.name]=n||"",e.type===i&&""===r[e.name]&&(r[e.name]=[]),e.hasOwnProperty("sub_question_rules"))for(let t of e.sub_question_rules){let e=this._formatQuestionAnswer(t.sub_question);r=a(a({},r),e)}return r})),s(this,"formatAnswers",(()=>{let e={};return this.questions.forEach((t=>{let r=this._formatQuestionAnswer(t);e=a(a({},e),r)})),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 r(n){var a=t[n];if(void 0!==a)return a.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,r),s.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:()=>C});var e=r(6689),t=r.n(e),a=r(580),s=r.n(a),l=r(418),i=r(1833),o=r(401),u=r(7027),c=r(2230),d=r(1995);const m=require("react-final-form"),p=["input","meta","question","className","isDisabled","isRequired"],h=["input","meta","question","isDisabled","isRequired"],b=["input","meta","question","isDisabled","isRequired"],f=["input","meta","question","isDisabled","isRequired","maxValues"];function y(){return y=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},y.apply(this,arguments)}function v(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}const g=e=>{let{input:r,meta:n,question:a,className:s,isDisabled:l,isRequired:o}=e,u=v(e,p);return t().createElement(i.default,y({},r,u,{containerClassName:s,name:a.name,id:a.name,value:r.value,disabled:l,required:o,onChange:r.onChange,placeholder:a.placeholder}))},_=e=>{let{input:r,meta:n,question:a,isDisabled:s,isRequired:l}=e,i=v(e,h);return t().createElement(u.default,y({},r,i,{name:a.name,id:a.name,overrideCSS:!0,value:r.value,disabled:s,required:l,onChange:r.onChange}))},O=e=>{let{input:r,meta:n,question:a,isDisabled:s,isRequired:l}=e,i=v(e,b);return t().createElement(o.default,y({},r,i,{name:a.name,id:a.name,overrideCSS:!0,value:r.value,disabled:s,required:l,onChange:r.onChange}))},E=e=>{let{input:r,meta:n,question:a,isDisabled:s,isRequired:l,maxValues:i}=e,o=v(e,f);return t().createElement(c.default,y({},r,o,{id:a.name,name:a.name,value:r.value,disabled:s,required:l,onChange:e=>{const t=e.target.value;return i>0&&t.length>i?null:r.onChange(e)}}))},w=e=>e?e=>e?void 0:"Required":()=>{},q=t().forwardRef((({extraQuestions:r,userAnswers:n,onAnswerChanges:a,className:s="questions-form",questionContainerClassName:i="question-container",questionLabelContainerClassName:o="question-label-container",questionControlContainerClassName:u="question-control-container",readOnly:c=!1,debug:p=!1,buttonText:h="Submit",RequiredErrorMessage:b="Required",ValidationErrorClassName:f="extra-question-error",allowExtraQuestionsEdit:y=!0,onError:v=(e=>console.log("form errors: ",e))},q)=>{let C=null;const N=(0,e.useRef)({}),[k,x]=(0,e.useState)({});(0,e.useEffect)((()=>{j()}),[r]);const j=()=>{const e=new d.default(r,n);x(e.formatAnswers())},P=({when:e,rule:r,children:n})=>t().createElement(m.Field,{name:e,subscription:{value:!0}},(({input:{value:e}})=>R(r,F(e,r),n))),S=({name:e})=>t().createElement(m.Field,{name:e,subscription:{error:!0,touched:!0}},(({meta:{error:e,touched:r}})=>e&&r?t().createElement("div",{className:f},e):null)),F=(e,t)=>{let r=t.answer_values;if(Array.isArray(e)){if(!e.length)return!1;let n="And"===t.answer_values_operator;return r.forEach((r=>{n="And"===t.answer_values_operator?n&&e.includes(parseInt(r)):n||e.includes(parseInt(r))})),n}return r.includes(e.toString())},R=(e,t,r)=>"Visible"===e.visibility?"Equal"===e.visibility_condition?t?r:(delete N.current[e.sub_question.id],null):t?(delete N.current[e.sub_question.id],null):r:"Equal"===e.visibility_condition?t?(delete N.current[e.sub_question.id],null):r:t?r:(delete N.current[e.sub_question.id],null),A=e=>{var t;return e.mandatory?null!==(t=e.label)&&void 0!==t&&t.endsWith("</p>")?e.label.replace(/<\/p>$/g," <b>*</b></p>"):`${e.label} <b>*</b>`:e.label},D=r=>{let n=r.values;const a=!y&&((e,t)=>{if(!t.hasOwnProperty(e.name))return!1;const r=t[e.name];return Array.isArray(r)||"string"==typeof r?r.length>0:"number"==typeof r?r>0:"boolean"==typeof r&&r})(r,k);var s,c,d;if("Text"===r.type)return t().createElement(e.Fragment,{key:r.name},t().createElement("div",{ref:e=>N.current[r.id]=e,className:i},t().createElement(l.default,{className:o},A(r)),t().createElement("div",{className:u},t().createElement(m.Field,{name:r.name,question:r,isDisabled:a,isRequired:r.mandatory,validate:w(r.mandatory),component:g}),t().createElement(S,{name:r.name}))),(null===(s=r.sub_question_rules)||void 0===s?void 0:s.length)>0&&r.sub_question_rules.map((e=>t().createElement(P,{key:e.id,when:r.name,rule:e},D(e.sub_question)))));if("TextArea"===r.type)return t().createElement(e.Fragment,{key:r.name},t().createElement("div",{ref:e=>N.current[r.id]=e,className:i},t().createElement(l.default,{className:o},A(r)),t().createElement("div",{className:u},t().createElement(m.Field,{validate:w(r.mandatory),name:r.name,id:r.name,disabled:a,required:r.mandatory,component:"textarea"}),t().createElement(S,{name:r.name}))),(null===(c=r.sub_question_rules)||void 0===c?void 0:c.length)>0&&r.sub_question_rules.map((e=>t().createElement(P,{key:e.id,when:r.name,rule:e},D(e.sub_question)))));if("CheckBox"===r.type)return t().createElement(e.Fragment,{key:r.name},t().createElement("div",{ref:e=>N.current[r.id]=e,style:{display:"flex"},className:i},t().createElement(l.default,{className:`eq-checkbox-label ${o}`},A(r)),t().createElement("div",{className:u},t().createElement("div",{className:"form-check abc-checkbox"},t().createElement(m.Field,{name:r.name,id:r.name,validate:w(r.mandatory),disabled:a,required:r.mandatory,type:"checkbox",className:"form-check-input",component:"input"}),t().createElement("label",{className:"form-check-label",htmlFor:r.name}),t().createElement(S,{name:r.name})))),(null===(d=r.sub_question_rules)||void 0===d?void 0:d.length)>0&&r.sub_question_rules.map((e=>t().createElement(P,{key:e.id,when:r.name,rule:e},D(e.sub_question)))));if("RadioButtonList"===r.type){var p;const s=n.map((e=>({label:e.label,value:e.id})));return t().createElement(e.Fragment,{key:r.name},t().createElement("div",{key:r.name,ref:e=>N.current[r.id]=e,className:i},t().createElement(l.default,{className:o},A(r)),t().createElement("div",{className:u},t().createElement(m.Field,{name:r.name,options:s,question:r,validate:w(r.mandatory),isDisabled:a,isRequired:r.mandatory,component:_}),t().createElement(S,{name:r.name}))),(null===(p=r.sub_question_rules)||void 0===p?void 0:p.length)>0&&r.sub_question_rules.map((e=>t().createElement(P,{key:e.id,when:r.name,rule:e},D(e.sub_question)))))}if("ComboBox"===r.type){var h;const s=n.map((e=>({label:e.label,value:e.id})));return t().createElement(e.Fragment,{key:r.name},t().createElement("div",{ref:e=>N.current[r.id]=e,className:i},t().createElement(l.default,{className:o},A(r)),t().createElement("div",{className:u},t().createElement(m.Field,{name:r.name,options:s,question:r,validate:w(r.mandatory),isDisabled:a,isRequired:r.mandatory,component:O}),t().createElement(S,{name:r.name}))),(null===(h=r.sub_question_rules)||void 0===h?void 0:h.length)>0&&r.sub_question_rules.map((e=>t().createElement(P,{key:e.id,when:r.name,rule:e},D(e.sub_question)))))}if("CheckBoxList"===r.type){var b;const s=n.map((e=>({label:e.label,value:e.id})));return t().createElement(e.Fragment,{key:r.name},t().createElement("div",{ref:e=>N.current[r.id]=e,className:i},t().createElement(l.default,{className:o},A(r)),t().createElement("div",{className:u},t().createElement(m.Field,{name:r.name,className:u,validate:w(r.mandatory),options:s,question:r,maxValues:r.max_selected_values,isDisabled:a,isRequired:r.mandatory,component:E}),t().createElement(S,{name:r.name}))),(null===(b=r.sub_question_rules)||void 0===b?void 0:b.length)>0&&r.sub_question_rules.map((e=>t().createElement(P,{key:e.id,when:r.name,rule:e},D(e.sub_question)))))}return null},I=(e,t,r)=>{var n;e.mandatory&&(e=>!!N.current[e.id])(e)&&(t.hasOwnProperty(e.name)&&""!==t[e.name]&&0!==t[e.name].length||(r[e.name]=b)),null===(n=e.sub_question_rules)||void 0===n||n.forEach((e=>{I(e.sub_question,t,r)}))};if(!Object.keys(k).length)return null;const $=(e,t,r)=>{var n;t.includes(e.name)&&r.push(e),null===(n=e.sub_question_rules)||void 0===n||n.forEach((e=>{$(e.sub_question,t,r)}))};return Object.keys(k).length?t().createElement("div",{className:s},t().createElement(m.Form,{validate:e=>{const t={};return r.forEach((r=>{I(r,e,t)})),Object.keys(t).length>0&&v(t),t},onSubmit:e=>{a(e)},initialValues:k},(({handleSubmit:e,form:n,submitting:a,pristine:s,values:l})=>(C=e,t().createElement("form",{onSubmit:t=>{const a=n.getRegisteredFields().filter((e=>n.getFieldState(e).invalid));a.length>0&&(e=>{const t=[];r.forEach((r=>{$(r,e,t)}));const n=t.sort(((e,t)=>e.order>t.order))[0];N.current[n.id].scrollIntoView({behavior:"smooth",block:"center"})})(a),e(t)},ref:q},c?t().createElement("fieldset",{disabled:"disabled"},r.map((e=>D(e)))):r.map((e=>D(e))),p&&t().createElement("pre",null,JSON.stringify(l,0,2)))))),!q&&t().createElement("button",{type:"submit",onClick:e=>{C(e)},style:{marginTop:10}},h)):null}));q.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,allowExtraQuestionsEdit:s().bool};const C=q})(),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={2230:(e,t,r)=>{r.d(t,{default:()=>m});var n=r(580),a=r.n(n),s=r(6689),l=r.n(s),i=r(4656),o=r.n(i),u=r(418);const c=["onChange","value","className","options","id","children","error","disabled","name"];function d(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}class m 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)),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 n={target:{id:this.props.id,value:r,type:"checkboxlist"}};this.props.onChange(n)}handleOtherCBChange(e){this.setState({otherChecked:e.target.checked})}render(){let e,t=this.props,{onChange:r,value:n,className:a,options:s,id:i,children:m,error:p,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"),_=!!n&&n.find((e=>!s.map((e=>e.value)).includes(e))),O=this.props.hasOwnProperty("error")&&""!==p,E=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 r=!!n&&n.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:r,disabled:E,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:E,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:E,onChange:this.handleChange,value:_}))),O&&l().createElement("p",{className:"error-label"},p))}}m.propTypes={id:a().string.isRequired}},401:(e,t,r)=>{r.d(t,{default:()=>p});var n=r(6689),a=r.n(n),s=r(1929),l=r.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 r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function u(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?u(Object(r),!0).forEach((function(t){d(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function d(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}class p 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 r={target:{id:this.props.id,value:t,type:"dropdown"}};this.props.onChange(r)}render(){let e=this.props,{onChange:t,value:r,className:n,error:s,clearable:u,disabled:d,overrideCSS:p}=e,h=m(e,i),b=this.props.hasOwnProperty("error")&&""!=s,f=this.props.hasOwnProperty("clearable"),y=this.props.hasOwnProperty("disabled")&&1==d,v=null,g=n;this.props.hasOwnProperty("overrideCSS")&&0!=p||(g="dropdown "+n+" "+(b?"error":"")),v=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 _={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,r)=>{r.d(t,{default:()=>c});var n=r(6689),a=r.n(n),s=r(418),l=r(580),i=r.n(l);const o=["onChange","value","className","error","disabled","options","id","name"];function u(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}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,r,n,l){return r?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):n?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:r,value:n,className:s,error:l,disabled:i,options:c,id:d,name:m}=t,p=(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 r=t.value==n;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:r,onChange:this.handleChange,disabled:y,name:m||`radio_${d}`}),this.getLabel(t,d,h,b,f))})),p&&a().createElement("p",{className:"error-label"},l))}}c.propTypes={id:i().string.isRequired}},1833:(e,t,r)=>{r.d(t,{default:()=>o});var n=r(6689),a=r.n(n);const s=["onChange","value","className","error","containerClassName"];function l(){return l=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},l.apply(this,arguments)}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}class o 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:o,containerClassName:u}=e,c=i(e,s),d=this.props.hasOwnProperty("error")&&""!==o,m=this.props.hasOwnProperty("className")?n:"form-control",p=this.props.hasOwnProperty("containerClassName")?u:"container-form-control";return a().createElement("div",{className:p},a().createElement("input",l({className:`${m} ${d?"error":""}`,ref:e=>{this.input=e},defaultValue:r,onChange:this.handleChange},c)),d&&a().createElement("p",{className:"error-label"},o))}}},418:(e,t,r)=>{r.d(t,{default:()=>s});var n=r(6689),a=r.n(n);const s=({children:e,replaceNewLine:t=!1,className:r=""})=>a().createElement("span",{className:r,dangerouslySetInnerHTML:{__html:t?null==e?void 0:e.replace(/\n/g,"<br />"):e}})},1995:(e,t,r)=>{function n(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 a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){s(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}r.d(t,{default:()=>m});const l="ComboBox",i="CheckBoxList",o="RadioButtonList",u=[l,i,o],c="And",d="Equal";class m{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 r=t.value.split(",").map((e=>parseInt(e)));for(let t of r)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,r=this.answers[t]||null;return r||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 r=this._getAnswerFor(e.parent_question_id);if(r)switch(e.visibility_condition){case d:for(let n of e.answer_values)t=e.answer_values_operator===c?t&&this._answerContains(r,n):t||this._answerContains(r,n);break;case"NotEqual":for(let n of e.answer_values)t=e.answer_values_operator===c?t&&!this._answerContains(r,n):t||!this._answerContains(r,n)}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 r of e.parent_rules)if(this._isSubQuestionVisible(this.rules[r]))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 r of e.sub_question_rules)t=t&&this._checkQuestion(r.sub_question);return t})),s(this,"_formatQuestionAnswer",(e=>{var t;let r={},n=null===(t=this.originalAnswers.find((t=>t.question_id===e.id)))||void 0===t?void 0:t.value;if(n&&("CheckBox"===e.type&&(n="false"!==n&&!!n),e.type!==o&&e.type!==l||(n=parseInt(n)),e.type===i&&(n=n.split(",").map((e=>parseInt(e)))||[])),r[e.name]=n||"",e.type===i&&""===r[e.name]&&(r[e.name]=[]),e.hasOwnProperty("sub_question_rules"))for(let t of e.sub_question_rules){let e=this._formatQuestionAnswer(t.sub_question);r=a(a({},r),e)}return r})),s(this,"formatAnswers",(()=>{let e={};return this.questions.forEach((t=>{let r=this._formatQuestionAnswer(t);e=a(a({},e),r)})),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 r(n){var a=t[n];if(void 0!==a)return a.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,r),s.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:()=>C});var e=r(6689),t=r.n(e),a=r(580),s=r.n(a),l=r(418),i=r(1833),o=r(401),u=r(7027),c=r(2230),d=r(1995);const m=require("react-final-form"),p=["input","meta","question","className","isDisabled","isRequired"],h=["input","meta","question","isDisabled","isRequired"],b=["input","meta","question","isDisabled","isRequired"],f=["input","meta","question","isDisabled","isRequired","maxValues"];function y(){return y=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},y.apply(this,arguments)}function v(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}const g=e=>{let{input:r,meta:n,question:a,className:s,isDisabled:l,isRequired:o}=e,u=v(e,p);return t().createElement(i.default,y({},r,u,{containerClassName:s,name:a.name,id:a.name,value:r.value,disabled:l,required:o,onChange:r.onChange,placeholder:a.placeholder}))},_=e=>{let{input:r,meta:n,question:a,isDisabled:s,isRequired:l}=e,i=v(e,h);return t().createElement(u.default,y({},r,i,{name:a.name,id:a.name,overrideCSS:!0,value:r.value,disabled:s,required:l,onChange:r.onChange}))},O=e=>{let{input:r,meta:n,question:a,isDisabled:s,isRequired:l}=e,i=v(e,b);return t().createElement(o.default,y({},r,i,{name:a.name,id:a.name,overrideCSS:!0,value:r.value,disabled:s,required:l,onChange:r.onChange}))},E=e=>{let{input:r,meta:n,question:a,isDisabled:s,isRequired:l,maxValues:i}=e,o=v(e,f);return t().createElement(c.default,y({},r,o,{id:a.name,name:a.name,value:r.value,disabled:s,required:l,onChange:e=>{const t=e.target.value;return i>0&&t.length>i?null:r.onChange(e)}}))},w=e=>e?e=>e?void 0:"Required":()=>{},q=t().forwardRef((({extraQuestions:r,userAnswers:n,onAnswerChanges:a,className:s="questions-form",questionContainerClassName:i="question-container",questionLabelContainerClassName:o="question-label-container",questionControlContainerClassName:u="question-control-container",readOnly:c=!1,debug:p=!1,buttonText:h="Submit",RequiredErrorMessage:b="Required",ValidationErrorClassName:f="extra-question-error",allowExtraQuestionsEdit:y=!0,whiteSpaceBeforeAsterisk:v=!1,onError:q=(e=>console.log("form errors: ",e))},C)=>{let N=null;const k=(0,e.useRef)({}),[x,j]=(0,e.useState)({});(0,e.useEffect)((()=>{P()}),[r]);const P=()=>{const e=new d.default(r,n);j(e.formatAnswers())},S=({when:e,rule:r,children:n})=>t().createElement(m.Field,{name:e,subscription:{value:!0}},(({input:{value:e}})=>R(r,F(e,r),n))),A=({name:e})=>t().createElement(m.Field,{name:e,subscription:{error:!0,touched:!0}},(({meta:{error:e,touched:r}})=>e&&r?t().createElement("div",{className:f},e):null)),F=(e,t)=>{let r=t.answer_values;if(Array.isArray(e)){if(!e.length)return!1;let n="And"===t.answer_values_operator;return r.forEach((r=>{n="And"===t.answer_values_operator?n&&e.includes(parseInt(r)):n||e.includes(parseInt(r))})),n}return r.includes(e.toString())},R=(e,t,r)=>"Visible"===e.visibility?"Equal"===e.visibility_condition?t?r:(delete k.current[e.sub_question.id],null):t?(delete k.current[e.sub_question.id],null):r:"Equal"===e.visibility_condition?t?(delete k.current[e.sub_question.id],null):r:t?r:(delete k.current[e.sub_question.id],null),$=e=>{var t;const r=v?" ":"";return e.mandatory?null!==(t=e.label)&&void 0!==t&&t.endsWith("</p>")?e.label.replace(/<\/p>$/g,`${r}<b>*</b></p>`):`${e.label}${r}<b>*</b>`:e.label},B=r=>{let n=r.values;const a=!y&&((e,t)=>{if(!t.hasOwnProperty(e.name))return!1;const r=t[e.name];return Array.isArray(r)||"string"==typeof r?r.length>0:"number"==typeof r?r>0:"boolean"==typeof r&&r})(r,x);var s,c,d;if("Text"===r.type)return t().createElement(e.Fragment,{key:r.name},t().createElement("div",{ref:e=>k.current[r.id]=e,className:i},t().createElement(l.default,{className:o},$(r)),t().createElement("div",{className:u},t().createElement(m.Field,{name:r.name,question:r,isDisabled:a,isRequired:r.mandatory,validate:w(r.mandatory),component:g}),t().createElement(A,{name:r.name}))),(null===(s=r.sub_question_rules)||void 0===s?void 0:s.length)>0&&r.sub_question_rules.map((e=>t().createElement(S,{key:e.id,when:r.name,rule:e},B(e.sub_question)))));if("TextArea"===r.type)return t().createElement(e.Fragment,{key:r.name},t().createElement("div",{ref:e=>k.current[r.id]=e,className:i},t().createElement(l.default,{className:o},$(r)),t().createElement("div",{className:u},t().createElement(m.Field,{validate:w(r.mandatory),name:r.name,id:r.name,disabled:a,required:r.mandatory,component:"textarea"}),t().createElement(A,{name:r.name}))),(null===(c=r.sub_question_rules)||void 0===c?void 0:c.length)>0&&r.sub_question_rules.map((e=>t().createElement(S,{key:e.id,when:r.name,rule:e},B(e.sub_question)))));if("CheckBox"===r.type)return t().createElement(e.Fragment,{key:r.name},t().createElement("div",{ref:e=>k.current[r.id]=e,style:{display:"flex"},className:i},t().createElement(l.default,{className:`eq-checkbox-label ${o}`},$(r)),t().createElement("div",{className:u},t().createElement("div",{className:"form-check abc-checkbox"},t().createElement(m.Field,{name:r.name,id:r.name,validate:w(r.mandatory),disabled:a,required:r.mandatory,type:"checkbox",className:"form-check-input",component:"input"}),t().createElement("label",{className:"form-check-label",htmlFor:r.name}),t().createElement(A,{name:r.name})))),(null===(d=r.sub_question_rules)||void 0===d?void 0:d.length)>0&&r.sub_question_rules.map((e=>t().createElement(S,{key:e.id,when:r.name,rule:e},B(e.sub_question)))));if("RadioButtonList"===r.type){var p;const s=n.map((e=>({label:e.label,value:e.id})));return t().createElement(e.Fragment,{key:r.name},t().createElement("div",{key:r.name,ref:e=>k.current[r.id]=e,className:i},t().createElement(l.default,{className:o},$(r)),t().createElement("div",{className:u},t().createElement(m.Field,{name:r.name,options:s,question:r,validate:w(r.mandatory),isDisabled:a,isRequired:r.mandatory,component:_}),t().createElement(A,{name:r.name}))),(null===(p=r.sub_question_rules)||void 0===p?void 0:p.length)>0&&r.sub_question_rules.map((e=>t().createElement(S,{key:e.id,when:r.name,rule:e},B(e.sub_question)))))}if("ComboBox"===r.type){var h;const s=n.map((e=>({label:e.label,value:e.id})));return t().createElement(e.Fragment,{key:r.name},t().createElement("div",{ref:e=>k.current[r.id]=e,className:i},t().createElement(l.default,{className:o},$(r)),t().createElement("div",{className:u},t().createElement(m.Field,{name:r.name,options:s,question:r,validate:w(r.mandatory),isDisabled:a,isRequired:r.mandatory,component:O}),t().createElement(A,{name:r.name}))),(null===(h=r.sub_question_rules)||void 0===h?void 0:h.length)>0&&r.sub_question_rules.map((e=>t().createElement(S,{key:e.id,when:r.name,rule:e},B(e.sub_question)))))}if("CheckBoxList"===r.type){var b;const s=n.map((e=>({label:e.label,value:e.id})));return t().createElement(e.Fragment,{key:r.name},t().createElement("div",{ref:e=>k.current[r.id]=e,className:i},t().createElement(l.default,{className:o},$(r)),t().createElement("div",{className:u},t().createElement(m.Field,{name:r.name,className:u,validate:w(r.mandatory),options:s,question:r,maxValues:r.max_selected_values,isDisabled:a,isRequired:r.mandatory,component:E}),t().createElement(A,{name:r.name}))),(null===(b=r.sub_question_rules)||void 0===b?void 0:b.length)>0&&r.sub_question_rules.map((e=>t().createElement(S,{key:e.id,when:r.name,rule:e},B(e.sub_question)))))}return null},D=(e,t,r)=>{var n;e.mandatory&&(e=>!!k.current[e.id])(e)&&(t.hasOwnProperty(e.name)&&""!==t[e.name]&&0!==t[e.name].length||(r[e.name]=b)),null===(n=e.sub_question_rules)||void 0===n||n.forEach((e=>{D(e.sub_question,t,r)}))};if(!Object.keys(x).length)return null;const I=(e,t,r)=>{var n;t.includes(e.name)&&r.push(e),null===(n=e.sub_question_rules)||void 0===n||n.forEach((e=>{I(e.sub_question,t,r)}))};return Object.keys(x).length?t().createElement("div",{className:s},t().createElement(m.Form,{validate:e=>{const t={};return r.forEach((r=>{D(r,e,t)})),Object.keys(t).length>0&&q(t),t},onSubmit:e=>{a(e)},initialValues:x},(({handleSubmit:e,form:n,submitting:a,pristine:s,values:l})=>(N=e,t().createElement("form",{onSubmit:t=>{const a=n.getRegisteredFields().filter((e=>n.getFieldState(e).invalid));a.length>0&&(e=>{const t=[];r.forEach((r=>{I(r,e,t)}));const n=t.sort(((e,t)=>e.order>t.order))[0];k.current[n.id].scrollIntoView({behavior:"smooth",block:"center"})})(a),e(t)},ref:C},c?t().createElement("fieldset",{disabled:"disabled"},r.map((e=>B(e)))):r.map((e=>B(e))),p&&t().createElement("pre",null,JSON.stringify(l,0,2)))))),!C&&t().createElement("button",{type:"submit",onClick:e=>{N(e)},style:{marginTop:10}},h)):null}));q.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,allowExtraQuestionsEdit:s().bool,whiteSpaceBeforeAsterisk:s().bool};const C=q})(),n})()));
|
|
@@ -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={4026:(e,t,r)=>{var n=r(6689),a=r.n(n),s=r(580),l=r.n(s),i=r(418),o=r(1833),u=r(401),c=r(7027),d=r(2230),m=r(1995);const p=require("react-final-form"),h=["input","meta","question","className","isDisabled","isRequired"],b=["input","meta","question","isDisabled","isRequired"],f=["input","meta","question","isDisabled","isRequired"],v=["input","meta","question","isDisabled","isRequired","maxValues"];function y(){return y=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},y.apply(this,arguments)}function g(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}const _=e=>{let{input:t,meta:r,question:n,className:s,isDisabled:l,isRequired:i}=e,u=g(e,h);return a().createElement(o.default,y({},t,u,{containerClassName:s,name:n.name,id:n.name,value:t.value,disabled:l,required:i,onChange:t.onChange,placeholder:n.placeholder}))},E=e=>{let{input:t,meta:r,question:n,isDisabled:s,isRequired:l}=e,i=g(e,b);return a().createElement(c.default,y({},t,i,{name:n.name,id:n.name,overrideCSS:!0,value:t.value,disabled:s,required:l,onChange:t.onChange}))},O=e=>{let{input:t,meta:r,question:n,isDisabled:s,isRequired:l}=e,i=g(e,f);return a().createElement(u.default,y({},t,i,{name:n.name,id:n.name,overrideCSS:!0,value:t.value,disabled:s,required:l,onChange:t.onChange}))},C=e=>{let{input:t,meta:r,question:n,isDisabled:s,isRequired:l,maxValues:i}=e,o=g(e,v);return a().createElement(d.default,y({},t,o,{id:n.name,name:n.name,value:t.value,disabled:s,required:l,onChange:e=>{const r=e.target.value;return i>0&&r.length>i?null:t.onChange(e)}}))},w=e=>e?e=>e?void 0:"Required":()=>{},q=a().forwardRef((({extraQuestions:e,userAnswers:t,onAnswerChanges:r,className:s="questions-form",questionContainerClassName:l="question-container",questionLabelContainerClassName:o="question-label-container",questionControlContainerClassName:u="question-control-container",readOnly:c=!1,debug:d=!1,buttonText:h="Submit",RequiredErrorMessage:b="Required",ValidationErrorClassName:f="extra-question-error",allowExtraQuestionsEdit:v=!0,onError:y=(e=>console.log("form errors: ",e))},g)=>{let q=null;const N=(0,n.useRef)({}),[k,x]=(0,n.useState)({});(0,n.useEffect)((()=>{P()}),[e]);const P=()=>{const r=new m.default(e,t);x(r.formatAnswers())},j=({when:e,rule:t,children:r})=>a().createElement(p.Field,{name:e,subscription:{value:!0}},(({input:{value:e}})=>R(t,F(e,t),r))),S=({name:e})=>a().createElement(p.Field,{name:e,subscription:{error:!0,touched:!0}},(({meta:{error:e,touched:t}})=>e&&t?a().createElement("div",{className:f},e):null)),F=(e,t)=>{let r=t.answer_values;if(Array.isArray(e)){if(!e.length)return!1;let n="And"===t.answer_values_operator;return r.forEach((r=>{n="And"===t.answer_values_operator?n&&e.includes(parseInt(r)):n||e.includes(parseInt(r))})),n}return r.includes(e.toString())},R=(e,t,r)=>"Visible"===e.visibility?"Equal"===e.visibility_condition?t?r:(delete N.current[e.sub_question.id],null):t?(delete N.current[e.sub_question.id],null):r:"Equal"===e.visibility_condition?t?(delete N.current[e.sub_question.id],null):r:t?r:(delete N.current[e.sub_question.id],null),A=e=>{var t;return e.mandatory?null!==(t=e.label)&&void 0!==t&&t.endsWith("</p>")?e.label.replace(/<\/p>$/g," <b>*</b></p>"):`${e.label} <b>*</b>`:e.label},D=e=>{let t=e.values;const r=!v&&((e,t)=>{if(!t.hasOwnProperty(e.name))return!1;const r=t[e.name];return Array.isArray(r)||"string"==typeof r?r.length>0:"number"==typeof r?r>0:"boolean"==typeof r&&r})(e,k);var s,c,d;if("Text"===e.type)return a().createElement(n.Fragment,{key:e.name},a().createElement("div",{ref:t=>N.current[e.id]=t,className:l},a().createElement(i.default,{className:o},A(e)),a().createElement("div",{className:u},a().createElement(p.Field,{name:e.name,question:e,isDisabled:r,isRequired:e.mandatory,validate:w(e.mandatory),component:_}),a().createElement(S,{name:e.name}))),(null===(s=e.sub_question_rules)||void 0===s?void 0:s.length)>0&&e.sub_question_rules.map((t=>a().createElement(j,{key:t.id,when:e.name,rule:t},D(t.sub_question)))));if("TextArea"===e.type)return a().createElement(n.Fragment,{key:e.name},a().createElement("div",{ref:t=>N.current[e.id]=t,className:l},a().createElement(i.default,{className:o},A(e)),a().createElement("div",{className:u},a().createElement(p.Field,{validate:w(e.mandatory),name:e.name,id:e.name,disabled:r,required:e.mandatory,component:"textarea"}),a().createElement(S,{name:e.name}))),(null===(c=e.sub_question_rules)||void 0===c?void 0:c.length)>0&&e.sub_question_rules.map((t=>a().createElement(j,{key:t.id,when:e.name,rule:t},D(t.sub_question)))));if("CheckBox"===e.type)return a().createElement(n.Fragment,{key:e.name},a().createElement("div",{ref:t=>N.current[e.id]=t,style:{display:"flex"},className:l},a().createElement(i.default,{className:`eq-checkbox-label ${o}`},A(e)),a().createElement("div",{className:u},a().createElement("div",{className:"form-check abc-checkbox"},a().createElement(p.Field,{name:e.name,id:e.name,validate:w(e.mandatory),disabled:r,required:e.mandatory,type:"checkbox",className:"form-check-input",component:"input"}),a().createElement("label",{className:"form-check-label",htmlFor:e.name}),a().createElement(S,{name:e.name})))),(null===(d=e.sub_question_rules)||void 0===d?void 0:d.length)>0&&e.sub_question_rules.map((t=>a().createElement(j,{key:t.id,when:e.name,rule:t},D(t.sub_question)))));if("RadioButtonList"===e.type){var m;const s=t.map((e=>({label:e.label,value:e.id})));return a().createElement(n.Fragment,{key:e.name},a().createElement("div",{key:e.name,ref:t=>N.current[e.id]=t,className:l},a().createElement(i.default,{className:o},A(e)),a().createElement("div",{className:u},a().createElement(p.Field,{name:e.name,options:s,question:e,validate:w(e.mandatory),isDisabled:r,isRequired:e.mandatory,component:E}),a().createElement(S,{name:e.name}))),(null===(m=e.sub_question_rules)||void 0===m?void 0:m.length)>0&&e.sub_question_rules.map((t=>a().createElement(j,{key:t.id,when:e.name,rule:t},D(t.sub_question)))))}if("ComboBox"===e.type){var h;const s=t.map((e=>({label:e.label,value:e.id})));return a().createElement(n.Fragment,{key:e.name},a().createElement("div",{ref:t=>N.current[e.id]=t,className:l},a().createElement(i.default,{className:o},A(e)),a().createElement("div",{className:u},a().createElement(p.Field,{name:e.name,options:s,question:e,validate:w(e.mandatory),isDisabled:r,isRequired:e.mandatory,component:O}),a().createElement(S,{name:e.name}))),(null===(h=e.sub_question_rules)||void 0===h?void 0:h.length)>0&&e.sub_question_rules.map((t=>a().createElement(j,{key:t.id,when:e.name,rule:t},D(t.sub_question)))))}if("CheckBoxList"===e.type){var b;const s=t.map((e=>({label:e.label,value:e.id})));return a().createElement(n.Fragment,{key:e.name},a().createElement("div",{ref:t=>N.current[e.id]=t,className:l},a().createElement(i.default,{className:o},A(e)),a().createElement("div",{className:u},a().createElement(p.Field,{name:e.name,className:u,validate:w(e.mandatory),options:s,question:e,maxValues:e.max_selected_values,isDisabled:r,isRequired:e.mandatory,component:C}),a().createElement(S,{name:e.name}))),(null===(b=e.sub_question_rules)||void 0===b?void 0:b.length)>0&&e.sub_question_rules.map((t=>a().createElement(j,{key:t.id,when:e.name,rule:t},D(t.sub_question)))))}return null},I=(e,t,r)=>{var n;e.mandatory&&(e=>!!N.current[e.id])(e)&&(t.hasOwnProperty(e.name)&&""!==t[e.name]&&0!==t[e.name].length||(r[e.name]=b)),null===(n=e.sub_question_rules)||void 0===n||n.forEach((e=>{I(e.sub_question,t,r)}))};if(!Object.keys(k).length)return null;const $=(e,t,r)=>{var n;t.includes(e.name)&&r.push(e),null===(n=e.sub_question_rules)||void 0===n||n.forEach((e=>{$(e.sub_question,t,r)}))};return Object.keys(k).length?a().createElement("div",{className:s},a().createElement(p.Form,{validate:t=>{const r={};return e.forEach((e=>{I(e,t,r)})),Object.keys(r).length>0&&y(r),r},onSubmit:e=>{r(e)},initialValues:k},(({handleSubmit:t,form:r,submitting:n,pristine:s,values:l})=>(q=t,a().createElement("form",{onSubmit:n=>{const a=r.getRegisteredFields().filter((e=>r.getFieldState(e).invalid));a.length>0&&(t=>{const r=[];e.forEach((e=>{$(e,t,r)}));const n=r.sort(((e,t)=>e.order>t.order))[0];N.current[n.id].scrollIntoView({behavior:"smooth",block:"center"})})(a),t(n)},ref:g},c?a().createElement("fieldset",{disabled:"disabled"},e.map((e=>D(e)))):e.map((e=>D(e))),d&&a().createElement("pre",null,JSON.stringify(l,0,2)))))),!g&&a().createElement("button",{type:"submit",onClick:e=>{q(e)},style:{marginTop:10}},h)):null}));q.propTypes={extraQuestions:l().array.isRequired,userAnswers:l().array.isRequired,onAnswerChanges:l().func.isRequired,className:l().string,debug:l().bool,buttonText:l().string,questionContainerClassName:l().string,questionLabelContainerClassName:l().string,questionControlContainerClassName:l().string,RequiredErrorMessage:l().string,ValidationErrorClassName:l().string,allowExtraQuestionsEdit:l().bool}},2230:(e,t,r)=>{r.d(t,{default:()=>m});var n=r(580),a=r.n(n),s=r(6689),l=r.n(s),i=r(4656),o=r.n(i),u=r(418);const c=["onChange","value","className","options","id","children","error","disabled","name"];function d(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}class m 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)),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 n={target:{id:this.props.id,value:r,type:"checkboxlist"}};this.props.onChange(n)}handleOtherCBChange(e){this.setState({otherChecked:e.target.checked})}render(){let e,t=this.props,{onChange:r,value:n,className:a,options:s,id:i,children:m,error:p,disabled:h,name:b}=t,{otherChecked:f}=(d(t,c),this.state),v=this.props.hasOwnProperty("inline"),y=this.props.hasOwnProperty("html"),g=this.props.hasOwnProperty("allowOther"),_=!!n&&n.find((e=>!s.map((e=>e.value)).includes(e))),E=this.props.hasOwnProperty("error")&&""!==p,O=this.props.hasOwnProperty("disabled")&&1==h;return e=v?{paddingLeft:"22px",marginLeft:"20px",float:"left"}:{paddingLeft:"22px",marginTop:"7px"},l().createElement("div",{id:`chl_wrapper_${i}`},l().createElement("div",{className:"checkboxes-div"+(E?" error":"")},s.map((t=>{let r=!!n&&n.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:r,disabled:O,onChange:this.handleChange,className:"form-check-input",value:t.value}),l().createElement("label",{className:"form-check-label",htmlFor:`cb_${i}_${t.value}`},y&&l().createElement(u.default,null,t.label),!y&&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:O,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:O,onChange:this.handleChange,value:_}))),E&&l().createElement("p",{className:"error-label"},p))}}m.propTypes={id:a().string.isRequired}},401:(e,t,r)=>{r.d(t,{default:()=>p});var n=r(6689),a=r.n(n),s=r(1929),l=r.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 r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function u(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?u(Object(r),!0).forEach((function(t){d(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function d(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}class p 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 r={target:{id:this.props.id,value:t,type:"dropdown"}};this.props.onChange(r)}render(){let e=this.props,{onChange:t,value:r,className:n,error:s,clearable:u,disabled:d,overrideCSS:p}=e,h=m(e,i),b=this.props.hasOwnProperty("error")&&""!=s,f=this.props.hasOwnProperty("clearable"),v=this.props.hasOwnProperty("disabled")&&1==d,y=null,g=n;this.props.hasOwnProperty("overrideCSS")&&0!=p||(g="dropdown "+n+" "+(b?"error":"")),y=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 _={menu:e=>c(c({},e),{},{zIndex:999})};return a().createElement("div",null,a().createElement(l(),o({className:g,value:y,onChange:this.handleChange,isClearable:f,isDisabled:v,styles:_},h)),b&&a().createElement("p",{className:"error-label"},s))}}},7027:(e,t,r)=>{r.d(t,{default:()=>c});var n=r(6689),a=r.n(n),s=r(418),l=r(580),i=r.n(l);const o=["onChange","value","className","error","disabled","options","id","name"];function u(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}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,r,n,l){return r?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):n?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:r,value:n,className:s,error:l,disabled:i,options:c,id:d,name:m}=t,p=(u(t,o),this.props.hasOwnProperty("error")&&""!=l),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_${d}`},c.map((t=>{let r=t.value==n;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:r,onChange:this.handleChange,disabled:v,name:m||`radio_${d}`}),this.getLabel(t,d,h,b,f))})),p&&a().createElement("p",{className:"error-label"},l))}}c.propTypes={id:i().string.isRequired}},1833:(e,t,r)=>{r.d(t,{default:()=>o});var n=r(6689),a=r.n(n);const s=["onChange","value","className","error","containerClassName"];function l(){return l=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},l.apply(this,arguments)}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}class o 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:o,containerClassName:u}=e,c=i(e,s),d=this.props.hasOwnProperty("error")&&""!==o,m=this.props.hasOwnProperty("className")?n:"form-control",p=this.props.hasOwnProperty("containerClassName")?u:"container-form-control";return a().createElement("div",{className:p},a().createElement("input",l({className:`${m} ${d?"error":""}`,ref:e=>{this.input=e},defaultValue:r,onChange:this.handleChange},c)),d&&a().createElement("p",{className:"error-label"},o))}}},418:(e,t,r)=>{r.d(t,{default:()=>s});var n=r(6689),a=r.n(n);const s=({children:e,replaceNewLine:t=!1,className:r=""})=>a().createElement("span",{className:r,dangerouslySetInnerHTML:{__html:t?null==e?void 0:e.replace(/\n/g,"<br />"):e}})},1995:(e,t,r)=>{function n(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 a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){s(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}r.d(t,{default:()=>m});const l="ComboBox",i="CheckBoxList",o="RadioButtonList",u=[l,i,o],c="And",d="Equal";class m{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 r=t.value.split(",").map((e=>parseInt(e)));for(let t of r)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,r=this.answers[t]||null;return r||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 r=this._getAnswerFor(e.parent_question_id);if(r)switch(e.visibility_condition){case d:for(let n of e.answer_values)t=e.answer_values_operator===c?t&&this._answerContains(r,n):t||this._answerContains(r,n);break;case"NotEqual":for(let n of e.answer_values)t=e.answer_values_operator===c?t&&!this._answerContains(r,n):t||!this._answerContains(r,n)}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 r of e.parent_rules)if(this._isSubQuestionVisible(this.rules[r]))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 r of e.sub_question_rules)t=t&&this._checkQuestion(r.sub_question);return t})),s(this,"_formatQuestionAnswer",(e=>{var t;let r={},n=null===(t=this.originalAnswers.find((t=>t.question_id===e.id)))||void 0===t?void 0:t.value;if(n&&("CheckBox"===e.type&&(n="false"!==n&&!!n),e.type!==o&&e.type!==l||(n=parseInt(n)),e.type===i&&(n=n.split(",").map((e=>parseInt(e)))||[])),r[e.name]=n||"",e.type===i&&""===r[e.name]&&(r[e.name]=[]),e.hasOwnProperty("sub_question_rules"))for(let t of e.sub_question_rules){let e=this._formatQuestionAnswer(t.sub_question);r=a(a({},r),e)}return r})),s(this,"formatAnswers",(()=>{let e={};return this.questions.forEach((t=>{let r=this._formatQuestionAnswer(t);e=a(a({},e),r)})),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 r(n){var a=t[n];if(void 0!==a)return a.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,r),s.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:()=>u});var e=r(6689),t=r.n(e),a=r(4656),s=r.n(a),l=(r(4026),r(580)),i=r.n(l);class o extends t().Component{constructor(e){super(e),this.onSearchClick=this.onSearchClick.bind(this),this.onClearClick=this.onClearClick.bind(this),this.onKeyPressed=this.onKeyPressed.bind(this),this.onChange=this.onChange.bind(this),this.state={value:e.value}}onSearchClick(e){let{preventEvents:t}=this.props;t&&e.preventDefault(),this.doFiltering(this.state.value)}onClearClick(e){let{preventEvents:t}=this.props;t&&e.preventDefault(),this.doFiltering(""),this.setState({value:""})}doFiltering(e){this.props.onSearch(e.trim())}onKeyPressed(e){13===(e.keyCode||e.which)&&this.doFiltering(this.state.value)}onChange(e){this.setState({value:e.target.value})}render(){let{value:e}=this.state;return t().createElement("div",{className:"row search-container"},t().createElement("div",{className:"col-md-12"},t().createElement("div",{className:"input-group"},t().createElement("input",{type:"text",value:e,className:"form-control",placeholder:this.props.placeholder,onKeyPress:this.onKeyPressed,onChange:this.onChange}),t().createElement("span",{className:"input-group-btn",style:{width:"5%"}},t().createElement("button",{onClick:this.onSearchClick,className:"btn btn-default",title:s().translate("general.search")},t().createElement("i",{className:"fa fa-search"})),t().createElement("button",{onClick:this.onClearClick,className:"btn btn-default",title:s().translate("general.clear")},t().createElement("i",{className:"fa fa-times"}))))))}}o.defaultProps={preventEvents:!1},o.propTypes={preventEvents:i().bool};const u=o})(),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={4026:(e,t,r)=>{var n=r(6689),a=r.n(n),s=r(580),l=r.n(s),i=r(418),o=r(1833),u=r(401),c=r(7027),d=r(2230),m=r(1995);const p=require("react-final-form"),h=["input","meta","question","className","isDisabled","isRequired"],b=["input","meta","question","isDisabled","isRequired"],f=["input","meta","question","isDisabled","isRequired"],v=["input","meta","question","isDisabled","isRequired","maxValues"];function y(){return y=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},y.apply(this,arguments)}function g(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}const _=e=>{let{input:t,meta:r,question:n,className:s,isDisabled:l,isRequired:i}=e,u=g(e,h);return a().createElement(o.default,y({},t,u,{containerClassName:s,name:n.name,id:n.name,value:t.value,disabled:l,required:i,onChange:t.onChange,placeholder:n.placeholder}))},E=e=>{let{input:t,meta:r,question:n,isDisabled:s,isRequired:l}=e,i=g(e,b);return a().createElement(c.default,y({},t,i,{name:n.name,id:n.name,overrideCSS:!0,value:t.value,disabled:s,required:l,onChange:t.onChange}))},O=e=>{let{input:t,meta:r,question:n,isDisabled:s,isRequired:l}=e,i=g(e,f);return a().createElement(u.default,y({},t,i,{name:n.name,id:n.name,overrideCSS:!0,value:t.value,disabled:s,required:l,onChange:t.onChange}))},C=e=>{let{input:t,meta:r,question:n,isDisabled:s,isRequired:l,maxValues:i}=e,o=g(e,v);return a().createElement(d.default,y({},t,o,{id:n.name,name:n.name,value:t.value,disabled:s,required:l,onChange:e=>{const r=e.target.value;return i>0&&r.length>i?null:t.onChange(e)}}))},w=e=>e?e=>e?void 0:"Required":()=>{},q=a().forwardRef((({extraQuestions:e,userAnswers:t,onAnswerChanges:r,className:s="questions-form",questionContainerClassName:l="question-container",questionLabelContainerClassName:o="question-label-container",questionControlContainerClassName:u="question-control-container",readOnly:c=!1,debug:d=!1,buttonText:h="Submit",RequiredErrorMessage:b="Required",ValidationErrorClassName:f="extra-question-error",allowExtraQuestionsEdit:v=!0,whiteSpaceBeforeAsterisk:y=!1,onError:g=(e=>console.log("form errors: ",e))},q)=>{let N=null;const k=(0,n.useRef)({}),[x,P]=(0,n.useState)({});(0,n.useEffect)((()=>{j()}),[e]);const j=()=>{const r=new m.default(e,t);P(r.formatAnswers())},S=({when:e,rule:t,children:r})=>a().createElement(p.Field,{name:e,subscription:{value:!0}},(({input:{value:e}})=>R(t,A(e,t),r))),F=({name:e})=>a().createElement(p.Field,{name:e,subscription:{error:!0,touched:!0}},(({meta:{error:e,touched:t}})=>e&&t?a().createElement("div",{className:f},e):null)),A=(e,t)=>{let r=t.answer_values;if(Array.isArray(e)){if(!e.length)return!1;let n="And"===t.answer_values_operator;return r.forEach((r=>{n="And"===t.answer_values_operator?n&&e.includes(parseInt(r)):n||e.includes(parseInt(r))})),n}return r.includes(e.toString())},R=(e,t,r)=>"Visible"===e.visibility?"Equal"===e.visibility_condition?t?r:(delete k.current[e.sub_question.id],null):t?(delete k.current[e.sub_question.id],null):r:"Equal"===e.visibility_condition?t?(delete k.current[e.sub_question.id],null):r:t?r:(delete k.current[e.sub_question.id],null),D=e=>{var t;const r=y?" ":"";return e.mandatory?null!==(t=e.label)&&void 0!==t&&t.endsWith("</p>")?e.label.replace(/<\/p>$/g,`${r}<b>*</b></p>`):`${e.label}${r}<b>*</b>`:e.label},$=e=>{let t=e.values;const r=!v&&((e,t)=>{if(!t.hasOwnProperty(e.name))return!1;const r=t[e.name];return Array.isArray(r)||"string"==typeof r?r.length>0:"number"==typeof r?r>0:"boolean"==typeof r&&r})(e,x);var s,c,d;if("Text"===e.type)return a().createElement(n.Fragment,{key:e.name},a().createElement("div",{ref:t=>k.current[e.id]=t,className:l},a().createElement(i.default,{className:o},D(e)),a().createElement("div",{className:u},a().createElement(p.Field,{name:e.name,question:e,isDisabled:r,isRequired:e.mandatory,validate:w(e.mandatory),component:_}),a().createElement(F,{name:e.name}))),(null===(s=e.sub_question_rules)||void 0===s?void 0:s.length)>0&&e.sub_question_rules.map((t=>a().createElement(S,{key:t.id,when:e.name,rule:t},$(t.sub_question)))));if("TextArea"===e.type)return a().createElement(n.Fragment,{key:e.name},a().createElement("div",{ref:t=>k.current[e.id]=t,className:l},a().createElement(i.default,{className:o},D(e)),a().createElement("div",{className:u},a().createElement(p.Field,{validate:w(e.mandatory),name:e.name,id:e.name,disabled:r,required:e.mandatory,component:"textarea"}),a().createElement(F,{name:e.name}))),(null===(c=e.sub_question_rules)||void 0===c?void 0:c.length)>0&&e.sub_question_rules.map((t=>a().createElement(S,{key:t.id,when:e.name,rule:t},$(t.sub_question)))));if("CheckBox"===e.type)return a().createElement(n.Fragment,{key:e.name},a().createElement("div",{ref:t=>k.current[e.id]=t,style:{display:"flex"},className:l},a().createElement(i.default,{className:`eq-checkbox-label ${o}`},D(e)),a().createElement("div",{className:u},a().createElement("div",{className:"form-check abc-checkbox"},a().createElement(p.Field,{name:e.name,id:e.name,validate:w(e.mandatory),disabled:r,required:e.mandatory,type:"checkbox",className:"form-check-input",component:"input"}),a().createElement("label",{className:"form-check-label",htmlFor:e.name}),a().createElement(F,{name:e.name})))),(null===(d=e.sub_question_rules)||void 0===d?void 0:d.length)>0&&e.sub_question_rules.map((t=>a().createElement(S,{key:t.id,when:e.name,rule:t},$(t.sub_question)))));if("RadioButtonList"===e.type){var m;const s=t.map((e=>({label:e.label,value:e.id})));return a().createElement(n.Fragment,{key:e.name},a().createElement("div",{key:e.name,ref:t=>k.current[e.id]=t,className:l},a().createElement(i.default,{className:o},D(e)),a().createElement("div",{className:u},a().createElement(p.Field,{name:e.name,options:s,question:e,validate:w(e.mandatory),isDisabled:r,isRequired:e.mandatory,component:E}),a().createElement(F,{name:e.name}))),(null===(m=e.sub_question_rules)||void 0===m?void 0:m.length)>0&&e.sub_question_rules.map((t=>a().createElement(S,{key:t.id,when:e.name,rule:t},$(t.sub_question)))))}if("ComboBox"===e.type){var h;const s=t.map((e=>({label:e.label,value:e.id})));return a().createElement(n.Fragment,{key:e.name},a().createElement("div",{ref:t=>k.current[e.id]=t,className:l},a().createElement(i.default,{className:o},D(e)),a().createElement("div",{className:u},a().createElement(p.Field,{name:e.name,options:s,question:e,validate:w(e.mandatory),isDisabled:r,isRequired:e.mandatory,component:O}),a().createElement(F,{name:e.name}))),(null===(h=e.sub_question_rules)||void 0===h?void 0:h.length)>0&&e.sub_question_rules.map((t=>a().createElement(S,{key:t.id,when:e.name,rule:t},$(t.sub_question)))))}if("CheckBoxList"===e.type){var b;const s=t.map((e=>({label:e.label,value:e.id})));return a().createElement(n.Fragment,{key:e.name},a().createElement("div",{ref:t=>k.current[e.id]=t,className:l},a().createElement(i.default,{className:o},D(e)),a().createElement("div",{className:u},a().createElement(p.Field,{name:e.name,className:u,validate:w(e.mandatory),options:s,question:e,maxValues:e.max_selected_values,isDisabled:r,isRequired:e.mandatory,component:C}),a().createElement(F,{name:e.name}))),(null===(b=e.sub_question_rules)||void 0===b?void 0:b.length)>0&&e.sub_question_rules.map((t=>a().createElement(S,{key:t.id,when:e.name,rule:t},$(t.sub_question)))))}return null},B=(e,t,r)=>{var n;e.mandatory&&(e=>!!k.current[e.id])(e)&&(t.hasOwnProperty(e.name)&&""!==t[e.name]&&0!==t[e.name].length||(r[e.name]=b)),null===(n=e.sub_question_rules)||void 0===n||n.forEach((e=>{B(e.sub_question,t,r)}))};if(!Object.keys(x).length)return null;const I=(e,t,r)=>{var n;t.includes(e.name)&&r.push(e),null===(n=e.sub_question_rules)||void 0===n||n.forEach((e=>{I(e.sub_question,t,r)}))};return Object.keys(x).length?a().createElement("div",{className:s},a().createElement(p.Form,{validate:t=>{const r={};return e.forEach((e=>{B(e,t,r)})),Object.keys(r).length>0&&g(r),r},onSubmit:e=>{r(e)},initialValues:x},(({handleSubmit:t,form:r,submitting:n,pristine:s,values:l})=>(N=t,a().createElement("form",{onSubmit:n=>{const a=r.getRegisteredFields().filter((e=>r.getFieldState(e).invalid));a.length>0&&(t=>{const r=[];e.forEach((e=>{I(e,t,r)}));const n=r.sort(((e,t)=>e.order>t.order))[0];k.current[n.id].scrollIntoView({behavior:"smooth",block:"center"})})(a),t(n)},ref:q},c?a().createElement("fieldset",{disabled:"disabled"},e.map((e=>$(e)))):e.map((e=>$(e))),d&&a().createElement("pre",null,JSON.stringify(l,0,2)))))),!q&&a().createElement("button",{type:"submit",onClick:e=>{N(e)},style:{marginTop:10}},h)):null}));q.propTypes={extraQuestions:l().array.isRequired,userAnswers:l().array.isRequired,onAnswerChanges:l().func.isRequired,className:l().string,debug:l().bool,buttonText:l().string,questionContainerClassName:l().string,questionLabelContainerClassName:l().string,questionControlContainerClassName:l().string,RequiredErrorMessage:l().string,ValidationErrorClassName:l().string,allowExtraQuestionsEdit:l().bool,whiteSpaceBeforeAsterisk:l().bool}},2230:(e,t,r)=>{r.d(t,{default:()=>m});var n=r(580),a=r.n(n),s=r(6689),l=r.n(s),i=r(4656),o=r.n(i),u=r(418);const c=["onChange","value","className","options","id","children","error","disabled","name"];function d(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}class m 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)),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 n={target:{id:this.props.id,value:r,type:"checkboxlist"}};this.props.onChange(n)}handleOtherCBChange(e){this.setState({otherChecked:e.target.checked})}render(){let e,t=this.props,{onChange:r,value:n,className:a,options:s,id:i,children:m,error:p,disabled:h,name:b}=t,{otherChecked:f}=(d(t,c),this.state),v=this.props.hasOwnProperty("inline"),y=this.props.hasOwnProperty("html"),g=this.props.hasOwnProperty("allowOther"),_=!!n&&n.find((e=>!s.map((e=>e.value)).includes(e))),E=this.props.hasOwnProperty("error")&&""!==p,O=this.props.hasOwnProperty("disabled")&&1==h;return e=v?{paddingLeft:"22px",marginLeft:"20px",float:"left"}:{paddingLeft:"22px",marginTop:"7px"},l().createElement("div",{id:`chl_wrapper_${i}`},l().createElement("div",{className:"checkboxes-div"+(E?" error":"")},s.map((t=>{let r=!!n&&n.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:r,disabled:O,onChange:this.handleChange,className:"form-check-input",value:t.value}),l().createElement("label",{className:"form-check-label",htmlFor:`cb_${i}_${t.value}`},y&&l().createElement(u.default,null,t.label),!y&&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:O,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:O,onChange:this.handleChange,value:_}))),E&&l().createElement("p",{className:"error-label"},p))}}m.propTypes={id:a().string.isRequired}},401:(e,t,r)=>{r.d(t,{default:()=>p});var n=r(6689),a=r.n(n),s=r(1929),l=r.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 r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function u(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?u(Object(r),!0).forEach((function(t){d(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function d(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}class p 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 r={target:{id:this.props.id,value:t,type:"dropdown"}};this.props.onChange(r)}render(){let e=this.props,{onChange:t,value:r,className:n,error:s,clearable:u,disabled:d,overrideCSS:p}=e,h=m(e,i),b=this.props.hasOwnProperty("error")&&""!=s,f=this.props.hasOwnProperty("clearable"),v=this.props.hasOwnProperty("disabled")&&1==d,y=null,g=n;this.props.hasOwnProperty("overrideCSS")&&0!=p||(g="dropdown "+n+" "+(b?"error":"")),y=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 _={menu:e=>c(c({},e),{},{zIndex:999})};return a().createElement("div",null,a().createElement(l(),o({className:g,value:y,onChange:this.handleChange,isClearable:f,isDisabled:v,styles:_},h)),b&&a().createElement("p",{className:"error-label"},s))}}},7027:(e,t,r)=>{r.d(t,{default:()=>c});var n=r(6689),a=r.n(n),s=r(418),l=r(580),i=r.n(l);const o=["onChange","value","className","error","disabled","options","id","name"];function u(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}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,r,n,l){return r?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):n?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:r,value:n,className:s,error:l,disabled:i,options:c,id:d,name:m}=t,p=(u(t,o),this.props.hasOwnProperty("error")&&""!=l),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_${d}`},c.map((t=>{let r=t.value==n;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:r,onChange:this.handleChange,disabled:v,name:m||`radio_${d}`}),this.getLabel(t,d,h,b,f))})),p&&a().createElement("p",{className:"error-label"},l))}}c.propTypes={id:i().string.isRequired}},1833:(e,t,r)=>{r.d(t,{default:()=>o});var n=r(6689),a=r.n(n);const s=["onChange","value","className","error","containerClassName"];function l(){return l=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},l.apply(this,arguments)}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}class o 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:o,containerClassName:u}=e,c=i(e,s),d=this.props.hasOwnProperty("error")&&""!==o,m=this.props.hasOwnProperty("className")?n:"form-control",p=this.props.hasOwnProperty("containerClassName")?u:"container-form-control";return a().createElement("div",{className:p},a().createElement("input",l({className:`${m} ${d?"error":""}`,ref:e=>{this.input=e},defaultValue:r,onChange:this.handleChange},c)),d&&a().createElement("p",{className:"error-label"},o))}}},418:(e,t,r)=>{r.d(t,{default:()=>s});var n=r(6689),a=r.n(n);const s=({children:e,replaceNewLine:t=!1,className:r=""})=>a().createElement("span",{className:r,dangerouslySetInnerHTML:{__html:t?null==e?void 0:e.replace(/\n/g,"<br />"):e}})},1995:(e,t,r)=>{function n(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 a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){s(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}r.d(t,{default:()=>m});const l="ComboBox",i="CheckBoxList",o="RadioButtonList",u=[l,i,o],c="And",d="Equal";class m{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 r=t.value.split(",").map((e=>parseInt(e)));for(let t of r)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,r=this.answers[t]||null;return r||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 r=this._getAnswerFor(e.parent_question_id);if(r)switch(e.visibility_condition){case d:for(let n of e.answer_values)t=e.answer_values_operator===c?t&&this._answerContains(r,n):t||this._answerContains(r,n);break;case"NotEqual":for(let n of e.answer_values)t=e.answer_values_operator===c?t&&!this._answerContains(r,n):t||!this._answerContains(r,n)}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 r of e.parent_rules)if(this._isSubQuestionVisible(this.rules[r]))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 r of e.sub_question_rules)t=t&&this._checkQuestion(r.sub_question);return t})),s(this,"_formatQuestionAnswer",(e=>{var t;let r={},n=null===(t=this.originalAnswers.find((t=>t.question_id===e.id)))||void 0===t?void 0:t.value;if(n&&("CheckBox"===e.type&&(n="false"!==n&&!!n),e.type!==o&&e.type!==l||(n=parseInt(n)),e.type===i&&(n=n.split(",").map((e=>parseInt(e)))||[])),r[e.name]=n||"",e.type===i&&""===r[e.name]&&(r[e.name]=[]),e.hasOwnProperty("sub_question_rules"))for(let t of e.sub_question_rules){let e=this._formatQuestionAnswer(t.sub_question);r=a(a({},r),e)}return r})),s(this,"formatAnswers",(()=>{let e={};return this.questions.forEach((t=>{let r=this._formatQuestionAnswer(t);e=a(a({},e),r)})),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 r(n){var a=t[n];if(void 0!==a)return a.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,r),s.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:()=>u});var e=r(6689),t=r.n(e),a=r(4656),s=r.n(a),l=(r(4026),r(580)),i=r.n(l);class o extends t().Component{constructor(e){super(e),this.onSearchClick=this.onSearchClick.bind(this),this.onClearClick=this.onClearClick.bind(this),this.onKeyPressed=this.onKeyPressed.bind(this),this.onChange=this.onChange.bind(this),this.state={value:e.value}}onSearchClick(e){let{preventEvents:t}=this.props;t&&e.preventDefault(),this.doFiltering(this.state.value)}onClearClick(e){let{preventEvents:t}=this.props;t&&e.preventDefault(),this.doFiltering(""),this.setState({value:""})}doFiltering(e){this.props.onSearch(e.trim())}onKeyPressed(e){13===(e.keyCode||e.which)&&this.doFiltering(this.state.value)}onChange(e){this.setState({value:e.target.value})}render(){let{value:e}=this.state;return t().createElement("div",{className:"row search-container"},t().createElement("div",{className:"col-md-12"},t().createElement("div",{className:"input-group"},t().createElement("input",{type:"text",value:e,className:"form-control",placeholder:this.props.placeholder,onKeyPress:this.onKeyPressed,onChange:this.onChange}),t().createElement("span",{className:"input-group-btn",style:{width:"5%"}},t().createElement("button",{onClick:this.onSearchClick,className:"btn btn-default",title:s().translate("general.search")},t().createElement("i",{className:"fa fa-search"})),t().createElement("button",{onClick:this.onClearClick,className:"btn btn-default",title:s().translate("general.clear")},t().createElement("i",{className:"fa fa-times"}))))))}}o.defaultProps={preventEvents:!1},o.propTypes={preventEvents:i().bool};const u=o})(),n})()));
|