TP-42454 | Feedback template separation changes
This commit is contained in:
@@ -57,9 +57,9 @@ const Submit: React.FC<ISubmit> = (props) => {
|
||||
const sectionsArray = templateData.widget[visited].sections;
|
||||
|
||||
return (
|
||||
<View>
|
||||
<View key={visited}>
|
||||
{sectionsArray?.map((section: string) => (
|
||||
<View>
|
||||
<View key={section}>
|
||||
{sections?.[section]?.questions?.map((question: string) => {
|
||||
const answer =
|
||||
data.widgetContext[visited].sectionContext[section].questionContext[
|
||||
|
||||
@@ -15,6 +15,7 @@ import {
|
||||
BUSINESS_DATE_FORMAT,
|
||||
DefaultPickerModeVisibleFormatMapping,
|
||||
IDateTimePickerMode,
|
||||
dateFormat,
|
||||
} from '../../../../RN-UI-LIB/src/utlis/dates';
|
||||
|
||||
interface IDateInput {
|
||||
@@ -42,7 +43,6 @@ const DateInput: React.FC<IDateInput> = (props) => {
|
||||
}
|
||||
|
||||
const handleChange = (text: string, onChange: (...event: any[]) => void) => {
|
||||
console.log('text', text);
|
||||
addClickstreamEvent(CLICKSTREAM_EVENT_NAMES.AV_FORM_ELEMENT_CHANGED, {
|
||||
caseId,
|
||||
questionType,
|
||||
@@ -71,27 +71,42 @@ const DateInput: React.FC<IDateInput> = (props) => {
|
||||
validate: (data) =>
|
||||
validateInput(data, {
|
||||
required: { ...question.metadata.validators?.required },
|
||||
[Validators.PATTERN]: {
|
||||
value:
|
||||
/(^(((0[1-9]|1[0-9]|2[0-8])[-](0[1-9]|1[012]))|((29|30|31)[-](0[13578]|1[02]))|((29|30)[-](0[4,6,9]|11)))[-](19|[2-9][0-9])\d\d$)|(^29[-]02[-](19|[2-9][0-9])(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)$)/,
|
||||
message: `Please enter correct date, in format of ${
|
||||
DefaultPickerModeVisibleFormatMapping[IDateTimePickerMode.DATE]
|
||||
}`,
|
||||
},
|
||||
[Validators.PATTERN]: question.metadata.validators?.required
|
||||
? {
|
||||
value:
|
||||
/(^(((0[1-9]|1[0-9]|2[0-8])[-](0[1-9]|1[012]))|((29|30|31)[-](0[13578]|1[02]))|((29|30)[-](0[4,6,9]|11)))[-](19|[2-9][0-9])\d\d$)|(^29[-]02[-](19|[2-9][0-9])(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)$)/,
|
||||
message: `Please enter correct date, in format of ${
|
||||
DefaultPickerModeVisibleFormatMapping[IDateTimePickerMode.DATE]
|
||||
}`,
|
||||
}
|
||||
: null,
|
||||
[Validators.MAX_TODAY]: { ...question.metadata.validators?.[Validators.MAX_TODAY] },
|
||||
[Validators.MIN_TODAY]: { ...question.metadata.validators?.[Validators.MIN_TODAY] },
|
||||
}),
|
||||
}}
|
||||
render={({ field: { onChange } }) => (
|
||||
<WebBasedDatePicker
|
||||
displayFormat="DD-MM-YYYY"
|
||||
min={new Date().toString()}
|
||||
containerStyle={GenericStyles.containerStyle}
|
||||
type="date"
|
||||
onChange={(text) => handleChange(text, onChange)}
|
||||
outputFormat="DD-MM-YYYY"
|
||||
/>
|
||||
)}
|
||||
render={({ field: { onChange, value } }) => {
|
||||
let dateString = value?.answer;
|
||||
if (dateString) {
|
||||
const parts = dateString.split('-');
|
||||
const day = parts[0];
|
||||
const month = parts[1];
|
||||
const year = parts[2];
|
||||
|
||||
const date = new Date(`${year}-${month}-${day}`);
|
||||
dateString = date.toString();
|
||||
}
|
||||
return (
|
||||
<WebBasedDatePicker
|
||||
displayFormat="DD-MM-YYYY"
|
||||
value={question.metadata.defaultValue === 'CURRENT' ? Date().toString() : dateString}
|
||||
min={new Date().toString()}
|
||||
containerStyle={GenericStyles.containerStyle}
|
||||
type="date"
|
||||
onChange={(text) => handleChange(text, onChange)}
|
||||
outputFormat="DD-MM-YYYY"
|
||||
/>
|
||||
);
|
||||
}}
|
||||
name={`widgetContext.${widgetId}.sectionContext.${props.sectionId}.questionContext.${questionId}`}
|
||||
/>
|
||||
<ErrorMessage
|
||||
|
||||
@@ -65,6 +65,7 @@ const PhoneNumberSelection: React.FC<IPhoneNumberSelection> = (props) => {
|
||||
{currentCase.phoneNumbers?.map((phoneNumber, index) => {
|
||||
return (
|
||||
<RNRadioButton
|
||||
key={phoneNumber.number}
|
||||
id={phoneNumber.number}
|
||||
value={getPhoneNumberString(phoneNumber)}
|
||||
containerStyle={GenericStyles.containerStyle}
|
||||
|
||||
@@ -71,24 +71,30 @@ const TimeInput: React.FC<ITimeInput> = (props) => {
|
||||
validate: (data) =>
|
||||
validateInput(data, {
|
||||
required: { ...question.metadata.validators?.required },
|
||||
[Validators.PATTERN]: {
|
||||
value: /^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/,
|
||||
message: `Please enter correct time, in format of ${
|
||||
DefaultPickerModeVisibleFormatMapping[IDateTimePickerMode.TIME]
|
||||
}`,
|
||||
},
|
||||
[Validators.PATTERN]: question.metadata.validators?.required
|
||||
? {
|
||||
value: /^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/,
|
||||
message: `Please enter correct time, in format of ${
|
||||
DefaultPickerModeVisibleFormatMapping[IDateTimePickerMode.TIME]
|
||||
}`,
|
||||
}
|
||||
: null,
|
||||
}),
|
||||
}}
|
||||
render={({ field: { onChange, value } }) => (
|
||||
<WebBasedDatePicker
|
||||
value={value}
|
||||
containerStyle={GenericStyles.containerStyle}
|
||||
type="time"
|
||||
onChange={(text) => {
|
||||
handleChange(text, onChange);
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
render={({ field: { onChange, value } }) => {
|
||||
return (
|
||||
<WebBasedDatePicker
|
||||
value={
|
||||
question.metadata.defaultValue === 'CURRENT' ? Date().toString() : value?.answer
|
||||
}
|
||||
containerStyle={GenericStyles.containerStyle}
|
||||
type="time"
|
||||
onChange={(text) => {
|
||||
handleChange(text, onChange);
|
||||
}}
|
||||
/>
|
||||
);
|
||||
}}
|
||||
name={`widgetContext.${widgetId}.sectionContext.${props.sectionId}.questionContext.${questionId}`}
|
||||
/>
|
||||
<ErrorMessage
|
||||
|
||||
@@ -28,6 +28,9 @@ export function validateInput(data: { answer: any; type: string }, allRules: any
|
||||
if (allRules) {
|
||||
for (const ruleName of Object.keys(allRules)) {
|
||||
const rule = allRules[ruleName];
|
||||
if (!rule) {
|
||||
continue;
|
||||
}
|
||||
if (ruleName === 'required' && rule.value) {
|
||||
if (
|
||||
data?.answer === null ||
|
||||
|
||||
2581
src/reducer/mockData.js
Normal file
2581
src/reducer/mockData.js
Normal file
File diff suppressed because it is too large
Load Diff
@@ -57,6 +57,7 @@ const ForeclosureBottomSheet: React.FC<IForeclosureBottomSheet> = ({
|
||||
<Text style={[GenericStyles.fontSize13]}>Select payment date</Text>
|
||||
<WebBasedDatePicker
|
||||
type="date"
|
||||
value={Date().toString()}
|
||||
onChange={handleDateChange}
|
||||
min={new Date().toString()}
|
||||
outputFormat={ISO_DATE_FORMAT}
|
||||
|
||||
Reference in New Issue
Block a user