{"version":3,"file":"js/762-abfedf58537d5d5c7c2f.js","mappings":"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","sources":["webpack://keenforms/./app/javascript/bundles/KeenformRenderer/components/formelements/DatePickerFieldAttribute/DatePickerFieldAttribute.jsx","webpack://keenforms/./app/javascript/bundles/KeenformRenderer/components/formelements/FormAttributeContainer/FormAttributeContainer.jsx","webpack://keenforms/./app/javascript/bundles/KeenformRenderer/components/formelements/FormAttributeNotificationMessage.jsx","webpack://keenforms/./app/javascript/bundles/KeenformRenderer/components/formelements/FreeFormFieldAttribute/FreeFormFieldAttribute.jsx","webpack://keenforms/./app/javascript/bundles/KeenformRenderer/components/formelements/MultiSelectFieldAttribute/MultiSelectFieldAttribute.jsx","webpack://keenforms/./app/javascript/bundles/KeenformRenderer/components/formelements/OptionDescription.jsx","webpack://keenforms/./app/javascript/bundles/KeenformRenderer/components/formelements/RadioSingleSelectFieldAttribute/RadioSingleSelectFieldAttribute.jsx","webpack://keenforms/./app/javascript/bundles/KeenformRenderer/utils/FormAttributeComponentUtils.js","webpack://keenforms/./app/javascript/bundles/KeenformRenderer/components/formelements/SingleSelectFieldAttribute/SingleSelectFieldAttribute.jsx","webpack://keenforms/./app/javascript/bundles/KeenformRenderer/components/formelements/StaticTextFormAttribute/StaticTextFormAttribute.jsx","webpack://keenforms/./app/javascript/bundles/KeenformRenderer/components/formelements/TextAreaFieldAttribute/TextAreaFieldAttribute.jsx","webpack://keenforms/./app/javascript/bundles/shared/constants/app_constants.js","webpack://keenforms/./app/javascript/bundles/shared/constants/operation_constants.js","webpack://keenforms/./app/javascript/bundles/shared/form_attribute_utils.js"],"sourcesContent":["import React from \"react\";\nimport FormAttributeContainer from \"../FormAttributeContainer/FormAttributeContainer\";\nimport FormAttributeNotificationMessage from '../FormAttributeNotificationMessage';\n\nimport DatePicker from 'react-date-picker';\n\n/**\n * props;\n * name - unique alphanumeric string\n * value - self explanatory\n * label - text that appears\n * hidden - will set class on container to hide attribute\n * locked - will set disabled=true on input\n * invalid - boolean, defaults to false, should have an errorMessage\n * errorMessage - message indicating value set on input is incorrect\n * onChangeFunctionCall - a function mapped to configurator\n */\nexport default class DatePickerFieldAttribute extends React.Component{\n\n constructor(props){\n super(props);\n this.inputRef = React.createRef();\n }\n\n changePerUserInput = (date) => {\n let dateCandidateValue;\n if (date) {\n dateCandidateValue = date.toISOString();\n }\n this.props.onChangeFunctionCall(this.props.name, dateCandidateValue);\n };\n\n getPropsForHiddenInput () {\n const thisFaValue = this.getValue();\n\n if (this.props.isValid === false \n && this.props.touched \n && this.props.errorMessage \n && this.props.errorMessage.length > 0){\n }\n\n const displayValue = (!thisFaValue ? '' : thisFaValue.slice(0,10));\n\n const inputProps = {\n type: \"hidden\",\n name: `submission_values[${this.props.name}]`,\n id: this.props.name,\n value: displayValue,\n readOnly: (!!this.props.read_only ? \"readonly\" : undefined),\n }\n\n return inputProps;\n }\n\n getValue() {\n return this.props.value;\n }\n\n render() {\n const dateValue = this.props.value ? this.props.value : undefined;\n return (\n \n
\n
\n this.changePerUserInput(date)}\n disabled={this.props.read_only}\n value={dateValue} />\n
\n
\n \n \n
\n );\n }\n}\n","import React from \"react\";\nimport { KF_FA_CONTAINER_CLASS } from \"../../../../shared/constants/app_constants\";\nimport Collapse from 'react-bootstrap/Collapse';\n\nexport default class FormAttributeContainer extends React.Component{\n\n getRequiredInputAsterisk = () => {\n const required = this.props.required;\n const hideRequiredAsterisk = this.props.keenform?.settings?.hide_asterisk_for_reqd_field;\n if (required && hideRequiredAsterisk != true) {\n return *\n }\n }\n\n render(){\n const containerId = this.props.containerDomId || `${KF_FA_CONTAINER_CLASS}-${this.props.name}`;\n const faType = this.props?.form_attribute_type || \"not-available\";\n const faTypeClass = `kf-fa-type-${faType}`;\n\n let containerClassArr = [\n \"form-group\",\n \"has-feedback\",\n KF_FA_CONTAINER_CLASS,\n faTypeClass\n ];\n\n if (this.props.isValid === false \n && this.props.touched \n && !!this.props.errorMessage \n && this.props.errorMessage.length > 0 ){\n containerClassArr = containerClassArr.concat(\"has-error\");\n }\n\n if (this.props.required) {\n containerClassArr = containerClassArr.concat(\"required\");\n }\n\n if (this.props?.settings && this.props.settings?.custom_container_class) {\n containerClassArr = containerClassArr.concat(this.props.settings.custom_container_class);\n }\n\n const labelClass = this.props.hide_label_flag ? \"d-none\" : \"\";\n const inputTypeWrapperClass = `input-type-${this.props.display_type}`;\n return (\n \n
\n
\n \n { \n this.props.description && this.props.description.trim().length > 0\n ?
\n : undefined\n }\n
\n
\n {this.props.children}\n
\n
\n \n );\n }\n\n getDescriptionHtml() {\n return {__html: this.props.description};\n }\n}","import React from \"react\";\n\nexport default class FormAttributeNotificationMessage extends React.Component{\n\n render(){\n if (this.props.isValid && !this.props.notificationMessage ){\n return ;\n }\n\n let messageText = \"\",\n messageContainerClass = [];\n\n if (this.props.isValid === false && (this.props.touched === true /*|| this.props.read_only === true */ ) ){\n messageText = this.props.errorMessage;\n if (!messageText || (messageText && messageText.trim().length === 0)){\n console.log(\"there is no error message but this input is invalid\");\n messageText = \"There is an error with this input\";\n }\n messageContainerClass = messageContainerClass.concat([\"alert\",\"alert-danger\"]);\n } else if ( this.props.notificationMessage && ( this.props.touched === true || this.props.readOnly === true ) ){\n messageText = this.props.notificationMessage;\n messageContainerClass = messageContainerClass.concat([\"alert\",\"alert-warning\"]);\n } else {\n messageContainerClass = messageContainerClass.concat(\"hidden\");\n }\n\n return (\n
\n
\n {messageText}\n
\n
\n );\n }\n\n}","import React from \"react\";\nimport FormAttributeContainer from \"../FormAttributeContainer/FormAttributeContainer\";\nimport FormAttributeNotificationMessage from '../FormAttributeNotificationMessage';\nimport APP_CONSTANTS, {DEFAULT_LOCALE_FORMAT} from \"../../../../shared/constants/app_constants\";\n/**\n * props;\n * name - unique alphanumeric string\n * value - self explanatory\n * label - text that appears\n * hidden - will set class on container to hide attribute\n * locked - will set disabled=true on input\n * invalid - boolean, defaults to false, should have an errorMessage\n * errorMessage - message indicating value set on input is incorrect\n * onChangeFunctionCall - a function mapped to configurator\n * valueAligned - alignment of text field\n * placeholder - html placeholder value\n * cursorPosition - location of cursor\n */\nexport default class FreeFormFieldAttribute extends React.Component{\n\n constructor(props){\n super(props);\n this.inputRef = React.createRef();\n }\n\n attributeTouched = (event) => {\n switch (event.type){\n case \"blur\":\n if (this.props?.onBlurFunctionCall) {\n this.props.onBlurFunctionCall(this.props.name);\n }\n break;\n default:\n console.log(`no function for ${event.type}`);\n }\n };\n\n changePerUserInput = (event) => {\n this.cursor = event.target.selectionStart;\n this.props.onChangeFunctionCall(this.props.name, event.target.value, {\n cursorStart: event.target.selectionStart\n });\n };\n\n componentDidUpdate (prevProps){\n if (!!this.props.cursorStart){\n this.inputRef.current.selectionStart = this.props.cursorStart;\n this.inputRef.current.selectionEnd = this.props.cursorStart;\n }\n }\n\n getPropsForTextInput () {\n const thisFaValue = this.getValue();\n let inputClassArr = [\"form-control\"];\n\n if (this.props.isValid === false \n && this.props.touched \n && this.props.errorMessage \n && this.props.errorMessage.length > 0){\n inputClassArr = inputClassArr.concat(\"is-invalid\");\n }\n\n if(this.props.read_only === true) {\n inputClassArr = inputClassArr.concat(\"input-readonly\");\n }\n\n if (this.props.settings?.input_alignment === \"right\") {\n inputClassArr = inputClassArr.concat([\"text-right\",\"text-end\"]); // old and new classes for bootstrap\n }\n\n const displayValue = (thisFaValue === undefined ? '' : thisFaValue);\n\n let inputProps = {\n type: this.getInputType(),\n className: `kf-fa-input ${inputClassArr.join(\" \")}`,\n name: `submission_values[${this.props.name}]`,\n id: this.props.name,\n value: displayValue,\n ref: this.inputRef,\n placeholder: this.props.placeholder,\n onInput: !!this.props.read_only ? undefined : this.changePerUserInput,\n onBlur: !!this.props.read_only ? undefined : this.attributeTouched,\n readOnly: (!!this.props.read_only ? \"readonly\" : undefined),\n required: this.props.required === true,\n autoComplete: !!this.props.autoComplete ? \"on\": \"off\" ,\n 'aria-required': !!this.props.required ? \"true\" : \"false\",\n 'aria-hidden': !!this.props.hidden ? \"true\" : \"false\",\n 'aria-readonly': (!!this.props.read_only ? \"true\" : \"false\"),\n onKeyDown: this.handleKeyDown\n }\n\n if (this.props.value_type === APP_CONSTANTS.DISPLAY_TYPES_HTML.TEXT || this.props.value_type === APP_CONSTANTS.DISPLAY_TYPES_HTML.TEXTAREA) {\n if (this.props.settings?.text_input_minlength) {\n const minLengthVal = parseInt(this.props.settings?.text_input_minlength);\n if (minLengthVal !== \"NaN\" && minLengthVal > 0) {\n inputProps.minLength = minLengthVal;\n }\n }\n\n if (this.props.settings?.text_input_maxlength) {\n const maxLengthVal = parseInt(this.props.settings.text_input_maxlength);\n if (maxLengthVal !== \"NaN\" && maxLengthVal > 0) {\n inputProps.maxLength = maxLengthVal;\n }\n }\n }\n\n if (this.props.value_type === APP_CONSTANTS.VALUE_TYPES.INTEGER) {\n inputProps.inputMode = \"numeric\";\n } else if (this.props.value_type === APP_CONSTANTS.VALUE_TYPES.FLOAT) {\n inputProps.inputMode = \"decimal\";\n }\n\n return inputProps;\n }\n\n /**\n * policy is we don't trust whats coming from the db/api\n * @returns string - a valid input type \n */\n getInputType () {\n let type = \"text\";\n switch(this.props.display_type) {\n case \"number\":\n type = \"text\"; // TODO: not using number, maybe we should change this?\n break;\n case \"email\":\n type = \"email\";\n break;\n default:\n if (this.props.display_type !== \"text\") {\n console.warn(`this display type \"${this.props.display_type}\" for a text input is not accounted for`);\n }\n }\n return type;\n }\n\n getValue() {\n return this.props.value;\n }\n\n handleKeyDown = (event) => {\n if (this.props.preventSubmitOnReturnKeydown === true) {\n if (event.keyCode === 13) {\n event.preventDefault();\n }\n }\n }\n\n render() {\n let inputPrefixText, inputSuffixText, inputSubscriptText;\n if (this.props.settings?.input_prefix_text && this.props.settings?.input_prefix_text.trim().length > 0 ) {\n inputPrefixText = this.props.settings.input_prefix_text;\n }\n if (this.props.settings?.input_suffix_text && this.props.settings?.input_suffix_text.trim().length > 0 ) {\n inputSuffixText = this.props.settings.input_suffix_text;\n }\n if (this.props.settings?.input_subscript_text && this.props.settings?.input_subscript_text.trim().length > 0 ) {\n inputSubscriptText = this.props.settings.input_subscript_text;\n }\n const inputProps = this.getPropsForTextInput();\n return (\n \n
\n {\n this.props.settings?.input_prefix_text && \n {inputPrefixText}\n }\n \n {\n this.props.settings?.input_suffix_text && \n {inputSuffixText}\n }\n
\n \n { inputSubscriptText &&\n
{inputSubscriptText}
\n }\n
\n );\n }\n}\n","import React from \"react\";\nimport FormAttributeContainer from \"../FormAttributeContainer/FormAttributeContainer\";\nimport FormAttributeNotificationMessage from \"../FormAttributeNotificationMessage\";\nimport OptionDescription from \"../OptionDescription\";\n\n/**\n * props;\n * name - unique alphanumeric identifier for attribute\n * value - self explanatory\n * label - text that appears\n * hidden - will set class on container to hide attribute\n * locked - will set disabled=true on input\n * invalid - boolean, defaults to false, should have an errorMessage\n * errorMessage - message indicating value set on input is incorrect\n * onChangeFunctionCall - a function mapped to configurator\n */\nexport default class MultiSelectFieldAttribute extends React.Component{\n\n render() {\n const orientationClassSuffix = this.props.settings?.options_orientation || \"default\";\n const optionOrientationClass = `options-orientation-${orientationClassSuffix}`;\n return (\n \n
\n {this.renderOptions()}\n
\n \n \n
\n );\n }\n\n // TODO: take a good hard look at this, I dont trust myself and what this does\n checkboxClicked(option_value) {\n const optionSelected = this.isThisOptionInValue(option_value);\n this.toggleOption(option_value, optionSelected);\n }\n\n getIdAttributeForOption = (option) => {\n const optionValNoSpaces = option.value.toString().replace(/ /g, '_');\n const idForOption = `${this.props.name}_${optionValNoSpaces}`;\n return idForOption;\n }\n\n getOptionsForDisplay() {\n const thisFaValue = this.getValue();\n return this.props.options\n .filter((thisOption) => (thisOption.hidden !== true || thisFaValue.includes(thisOption.value)) )\n }\n\n /**\n * do we need the index?\n * @param {*} option \n * @param {*} index \n * @returns object\n */\n getPropsForCheckboxInput(option, index) {\n const faValue = this.getValue();\n const optionSelected = this.isThisOptionInValue(option.value);\n const optionName = `submission_values[${this.props.name}][${index}]`; // TODO: is this in a function?\n const optionID = this.getIdAttributeForOption(option);\n // disable this option if its (A) hidden and (B) not selected, we want to force users to unselect invalid/hidden checkbox\n const optionDisabled = (this.props.read_only || \n (option.hidden && !faValue.includes(option.value))\n );\n\n const checkboxInputProps = {\n type: \"checkbox\",\n className: \"form-check-input\",\n key: index,\n value: option.value,\n checked: optionSelected,\n name: optionName,\n id: optionID,\n disabled: optionDisabled,\n onChange: ()=>{ this.checkboxClicked(option.value)},\n };\n return checkboxInputProps;\n }\n\n getPropsForCheckboxContainer(option, index) {\n // const optionId = this.getIdAttributeForOption(thisOption);\n const optionSelected = this.isThisOptionInValue(option.value);\n const optionContainerID = `fa-option-${option.id}`;\n let optionContainerClassesArr = [\"selectable-option-container\"]; \n if (optionSelected){\n optionContainerClassesArr.push(\"option-selected\");\n }\n if (this.props.read_only){\n optionContainerClassesArr.push(\"option-disabled\");\n }\n const optionContainerClass = optionContainerClassesArr.join(\" \");\n\n const checkboxContainerProps = {\n className: optionContainerClass,\n id: optionContainerID,\n key: index,\n onClick: (event) => { this.optionContainerClicked(event, option) }\n }\n return checkboxContainerProps;\n }\n\n /**\n * \n * @returns Array - value of this form attribute\n */\n getValue() {\n return this.props.value;\n }\n\n isThisOptionInValue(optionValue) {\n const thisFaValue = this.getValue();\n if (Array.isArray(thisFaValue) ){ // THIS IS A HACK - check if this is an array\n const matchingValue = thisFaValue.find(obj => obj === optionValue);\n return matchingValue !== undefined;\n } else {\n console.warn('this multiselect value should be in the format of an array', this.props);\n return false;\n }\n }\n\n optionContainerClicked(event, option) {\n const thisFaValue = this.getValue();\n const isCheckbox = event.target.getAttribute('type') === \"checkbox\";\n if (isCheckbox){\n return false;\n }\n\n if ( this.props.read_only){\n console.info('this option is read only, do nothing');\n } else if( option.hidden && !thisFaValue.includes(option.value)){\n console.info('this option is NOT AVAILABLE');\n } else {\n const optionSelected = this.isThisOptionInValue(option.value);\n this.toggleOption(option.value, optionSelected);\n }\n event.preventDefault();\n }\n\n renderOptionDescription(option) {\n const optionDescription = option.description && option.description.trim().length > 0 \n ? \n : undefined;\n return optionDescription;\n }\n\n renderOptions() {\n const thisFaValue = this.getValue();\n let labelClassesArray = [\"form-check-label\", \"option-label\"];\n if (this.props.read_only) {\n labelClassesArray.concat([\"disabled\",\"text-secondary\"])\n }\n const labelClass = labelClassesArray.join(\" \");\n let optionTags = [];\n if (this.props.options) {\n optionTags = this.getOptionsForDisplay().map( (thisOption, index) => {\n const idForOption = this.getIdAttributeForOption(thisOption);\n const optionSelected = this.isThisOptionInValue(thisOption.value);\n return (\n
\n
\n \n \n {this.renderOptionDescription(thisOption)}\n
\n { thisOption.hidden && thisFaValue.includes(thisOption.value) \n ? unselect this option : undefined }\n \n {this.props.read_only && this.isThisOptionInValue(thisOption.value) ? \n : undefined }\n
\n );\n });\n }\n return optionTags;\n }\n\n toggleOption(option_value, thisOptionIsChecked) {\n const thisFaValue = this.getValue();\n if (!this.props.read_only) {\n let newValue;\n if (!!thisOptionIsChecked){ //remove this value\n newValue = thisFaValue.filter(opt => opt !== option_value);\n } else { //add this value\n newValue = thisFaValue.concat([option_value]);\n }\n this.props.onChangeFunctionCall(this.props.name, newValue);\n }\n }\n\n}\n","import React from \"react\";\n\nexport default function OptionDescription(props) {\n const { option } = props;\n return (\n
\n );\n}\n","import React from \"react\";\nimport FormAttributeContainer from \"../FormAttributeContainer/FormAttributeContainer\";\nimport FormAttributeNotificationMessage from '../FormAttributeNotificationMessage';\nimport OptionDescription from \"../OptionDescription\";\nimport APP_CONSTANTS from \"../../../../shared/constants/app_constants\";\nimport { \n getSubmissionValuesDomName, \n replaceSpaceWithUnderscore \n} from \"../../../utils/FormAttributeComponentUtils\";\n\n/**\n * props;\n * value - self explanatory\n * label - text that appears\n * name - unique alphanumeric identifier for attribute\n * hidden - will set class on container to hide attribute\n * locked - will set disabled=true on input\n * invalid - boolean, defaults to false, should have an errorMessage\n * errorMessage - message indicating value set on input is incorrect\n * onChangeFunctionCall - a function mapped to configurator\n */\nexport default class RadioSingleSelectFieldAttribute extends React.Component{\n\n render() {\n const orientationClassSuffix = this.props.settings?.options_orientation || \"default\";\n const optionOrientationClass = `options-orientation-${orientationClassSuffix}`;\n return (\n \n
\n { this.props.options.map( (option) => this.renderOption(option)) }\n
\n \n
\n );\n }\n\n getPropsForRadioInput = (option) => {\n const optionSelected = (option.value === this.props.value);\n const optionDisabled = this.props.read_only || (option.hidden && !optionSelected);\n const radioInputProps = {\n type: APP_CONSTANTS.DISPLAY_TYPES_HTML.RADIO,\n className: \"form-check-input\",\n value: option.value,\n checked: optionSelected,\n name: getSubmissionValuesDomName(this.props.name),\n id: this.getOptionValueDomId(option.value),\n onChange: this.radioButtonClicked,\n disabled: optionDisabled,\n \"aria-required\": !!this.props.required,\n \"aria-hidden\": !!this.props.hidden,\n \"aria-readonly\": !!this.props.read_only\n };\n \n return radioInputProps;\n }\n\n /**\n * \n * @param {*} optionVal \n * @returns string for dom id, with name of form attribute and valuue of option no spaces\n * so if the fa name is 'fa_test', and optionVal is 'option one'\n * it should return 'fa_test_option_one'\n */\n getOptionValueDomId = (optionVal) => {\n const optionValNoSpaces = replaceSpaceWithUnderscore(optionVal);\n const domElementId = `${this.props.name}_${optionValNoSpaces}`;\n return domElementId;\n }\n\n getValue = () => {\n return this.props.value;\n }\n\n radioButtonClicked = (event) => {\n // DO NOTHING - placeholder function, to prevent warning in console\n // this is currently handled by parent element, entire option is clickable\n }\n\n radioButtonLabelClicked = (event) => {\n event.preventDefault();\n }\n\n renderOptionDescription(option) {\n const optionDescription = option.description && option.description.trim().length > 0 \n ? \n : undefined;\n return optionDescription;\n }\n\n /**\n * \n * @param {*} option an option belonging to this form attribute\n * @returns \n */\n renderOption(option) {\n const labelClassesArr = [\"form-check-label\", \"option-label\"];\n const optionWrapperClassesArr = [\"fa-option-wrapper\"];\n const inputWrapperClassesArr = [\"fa-option-input-wrapper\"];\n\n const thisFaValue = this.getValue();\n const optionSelected = (option.value === thisFaValue);\n\n // replace below with util function\n const optionValNoSpaces = option.value.toString().replace(/ /g, '_'); // TODO: use util\n const optionId = `${this.props.name}_${optionValNoSpaces}`; // TODO use a function\n\n if (this.props.settings?.option_label_orientation && this.props.settings?.option_label_orientation != \"default\") {\n optionWrapperClassesArr.push(\"fa-option-stacked-vertical\");\n } else {\n optionWrapperClassesArr.push(\"form-check\");\n }\n\n let optionContainerClassesArr = [\"selectable-option-container\"];\n if (thisFaValue === option.value){\n optionContainerClassesArr.push(\"option-selected\");\n }\n if (this.props.read_only){\n optionContainerClassesArr.push(\"option-disabled\");\n }\n\n let radioOptionComponent;\n if (option.hidden && !optionSelected){\n radioOptionComponent = ;\n } else {\n radioOptionComponent = {\n if ( !this.props.read_only ) { // dont change if read only\n this.props.onChangeFunctionCall(this.props.name, option.value);\n }\n }}>\n
\n
\n \n
\n {option.label || option.value}\n {this.renderOptionDescription(option)}\n
\n
;\n }\n return radioOptionComponent;\n }\n\n}","import { SUBMISSION_VALUES_PARAM_NAMESPACE } from \"../../shared/constants/app_constants\"\n\nexport const replaceSpaceWithUnderscore = (val) => {\n return val.toString().replace(/ /g, '_');\n}\n\nexport const getSubmissionValuesDomName = (faName) => {\n return `${SUBMISSION_VALUES_PARAM_NAMESPACE}[${faName}]`;\n}\n\nexport const getSubmissionValuesDomId = (faName) => {\n return `${SUBMISSION_VALUES_PARAM_NAMESPACE}_${faName}`;\n}\n","import React from \"react\";\nimport FormAttributeContainer from \"../FormAttributeContainer/FormAttributeContainer\";\nimport FormAttributeNotificationMessage from '../FormAttributeNotificationMessage';\nimport { PLACEHOLDER_OPTION } from '../../../../shared/constants/app_constants';\n\n/**\n * props;\n * value - self explanatory\n * _key - unique identifier for attribute\n * label - text that appears\n * name - same as key\n * hidden - will set class on container to hide attribute\n * locked - will set disabled=true on input\n * invalid - boolean, defaults to false, should have an errorMessage\n * errorMessage - message indicating value set on input is incorrect\n * onChangeFunctionCall - a function mapped to configurator\n */\nexport default class SingleSelectFieldAttribute extends React.Component{\n\n render() {\n return (\n \n \n \n \n \n );\n }\n\n changePerUserInput(event) {\n let formAttributeValue;\n if (event.target.value === PLACEHOLDER_OPTION) {\n formAttributeValue = PLACEHOLDER_OPTION;\n } else {\n const matchingOption = this.props.options.find(opt => opt.uuid === event.target.value);\n if ( !!matchingOption ) {\n formAttributeValue = matchingOption.value;\n } else {\n console.debug('THIS SHOULD NOT HAPPEN - cannot find matching option for ', this.props);\n }\n }\n \n if (!!formAttributeValue) {\n this.props.onChangeFunctionCall(this.props.name, formAttributeValue);\n } else {\n console.error(`cannot find matching option for this form attribute ${this.props.name}: ', event.target.value: ${event.target.value}`);\n }\n }\n\n getMatchingUUID() {\n let matchingOptionUUID;\n if (this.props.value === PLACEHOLDER_OPTION) {\n matchingOptionUUID = PLACEHOLDER_OPTION;\n } else if (this.props.options.length > 0) {\n const matchingOption = this.props.options.find(opt => opt.value === this.props.value);\n if (!!matchingOption) {\n matchingOptionUUID = matchingOption.uuid;\n } else {\n console.warn('this single select form attribute input has an invalid selectable value', this.props);\n }\n } else {\n console.info('no option available');\n }\n return matchingOptionUUID;\n }\n\n getPropsForSelectInput () {\n let inputClassArr = [\"form-select\"];\n\n // this is a hack because the dashboard/editor uses bootstrap 4, but the rendered form uses 5\n if (this.props?.bootstrapVersion && this.props.bootstrapVersion == 4 ){\n inputClassArr = inputClassArr.concat(\"form-control\");\n }\n\n if (this.props.isValid === false && this.props.touched && this.props.errorMessage && this.props.errorMessage.length > 0){\n inputClassArr = inputClassArr.concat(\"is-invalid\");\n }\n\n let matchingOptionUUID = this.getMatchingUUID();\n const onChangeFunction = this.props.read_only === true ? undefined : this.changePerUserInput.bind(this);\n\n let selectInputProps = {\n className: inputClassArr.join(\" \"),\n id: this.props.name,\n value: matchingOptionUUID,\n onChange: onChangeFunction,\n disabled: (this.props.read_only === true ? true : undefined),\n required: (this.props.required === true ? \"required\" : undefined),\n \"aria-required\": (!!this.props.required ? \"true\" : \"false\"),\n \"aria-hidden\": (!!this.props.hidden ? \"true\" : \"false\"),\n \"aria-readonly\": (!!this.props.read_only ? \"true\" : \"false\")\n }\n\n return selectInputProps;\n }\n\n getValue () {\n return this.props.value;\n }\n\n renderOptions() {\n const faValue = this.getValue();\n let optionTags = this.props.options\n .filter((thisOption) => thisOption.hidden !== true || thisOption.value === faValue)\n .map((thisOption) => {\n return ;\n });\n // add blank placeholder to start of array\n if (!!this.props.placeholder){\n optionTags.unshift()\n ;\n }\n return optionTags;\n }\n\n}\n","import React from \"react\";\nimport { KF_FA_CONTAINER_CLASS } from \"../../../../shared/constants/app_constants\";\n//import ReactDOM from \"react-dom\";\n\n/**\n * props;\n * value - self explanatory\n * key - unique identifier for attribute\n * label - text that appears\n * name - same as key\n * hidden - will set class on container to hide attribute\n * locked - will set disabled=true on input\n * valueAligned - alignment of text field\n * placeholder - html placeholder value\n * onChangeFunctionCall - function used to update state of keenform\n */\n\nconst kfFaHtmlInputClassName = 'kf-fa-html-wrapper';\nexport default class StaticTextFormAttribute extends React.Component{\n\n createMarkup(){\n return {__html: this.props.value};\n }\n\n registerCustomClickEvent = (event) => {\n const domNode = event.target;\n const actionDomNode = this.findDomNodeWithEventType(domNode);\n if (actionDomNode !== null) {\n const targetFA = actionDomNode.getAttribute('data-kf-fa-target');\n const newValue = actionDomNode.getAttribute('data-kf-fa-value');\n if ( targetFA !== null && newValue !== null) {\n this.props.onChangeFunctionCall(targetFA, newValue);\n } else {\n console.warn('no target or value provided, targetFA', targetFA);\n }\n }\n }\n\n getContainerId() {\n return `${KF_FA_CONTAINER_CLASS}-${this.props.name}`;\n }\n\n findDomNodeWithEventType(domNode) {\n const kfEventType = domNode.getAttribute('data-kf-event-type');\n if (domNode.classList.contains(kfFaHtmlInputClassName) ){\n return null;\n } else if (kfEventType === \"click\") {\n return domNode;\n } else {\n return this.findDomNodeWithEventType(domNode.parentNode);\n }\n }\n\n render(){\n const containerId = this.getContainerId();\n let containerClassArr = [\"form-group\", KF_FA_CONTAINER_CLASS];\n\n if (this.props.hidden){\n containerClassArr = containerClassArr.concat([\"hidden\",\"d-none\"]);\n }\n\n return (\n
\n
\n
\n );\n }\n}\n","import React from \"react\";\nimport FormAttributeContainer from \"../FormAttributeContainer/FormAttributeContainer\";\nimport FreeFormFieldAttribute from \"../FreeFormFieldAttribute/FreeFormFieldAttribute\"; // update me\nimport FormAttributeNotificationMessage from '../FormAttributeNotificationMessage';\n\n/**\n * props;\n * value - self explanatory\n * key - unique identifier for attribute\n * label - text that appears\n * name - same as key\n * hidden - will set class on container to hide attribute\n * locked - will set disabled=true on input\n * invalid - boolean, defaults to false, should have an errorMessage\n * errorMessage - message indicating value set on input is incorrect\n * onChangeFunctionCall - a function mapped to configurator\n * valueAligned - alignment of text field\n * placeholder - html placeholder value\n */\nexport default class TextAreaFieldAttribute extends FreeFormFieldAttribute{\n\n render(){\n let inputSubscriptText;\n if (this.props.settings?.input_subscript_text && this.props.settings?.input_subscript_text.trim().length > 0 ) {\n inputSubscriptText = this.props.settings.input_subscript_text;\n }\n return (\n \n