TP-42454 | Date picker validations added
This commit is contained in:
@@ -29,7 +29,10 @@ interface IDateInput {
|
||||
error: any;
|
||||
}
|
||||
|
||||
const END_OF_MONTH = 'END_OF_MONTH';
|
||||
export enum DateValue {
|
||||
CURRENT = 'CURRENT',
|
||||
END_OF_MONTH = 'END_OF_MONTH',
|
||||
}
|
||||
|
||||
const DateInput: React.FC<IDateInput> = (props) => {
|
||||
const { questionId, error, sectionId, widgetId, caseId, questionType } = props;
|
||||
@@ -100,16 +103,25 @@ const DateInput: React.FC<IDateInput> = (props) => {
|
||||
return (
|
||||
<WebBasedDatePicker
|
||||
displayFormat="DD-MM-YYYY"
|
||||
value={question.metadata.defaultValue === 'CURRENT' ? Date().toString() : dateString}
|
||||
min={new Date().toString()}
|
||||
value={
|
||||
question.metadata.defaultValue === DateValue.CURRENT
|
||||
? Date().toString()
|
||||
: dateString
|
||||
}
|
||||
min={
|
||||
question.metadata.validators?.[Validators.MIN_TODAY] ? new Date().toString() : ''
|
||||
}
|
||||
containerStyle={GenericStyles.containerStyle}
|
||||
type="date"
|
||||
onChange={(text) => handleChange(text, onChange)}
|
||||
outputFormat="DD-MM-YYYY"
|
||||
max={
|
||||
question.metadata.validators?.[Validators.MAX_DATE]?.value === END_OF_MONTH
|
||||
question.metadata.validators?.[Validators.MAX_DATE]?.value ===
|
||||
DateValue.END_OF_MONTH
|
||||
? new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toString()
|
||||
: undefined
|
||||
: question.metadata.validators?.[Validators.MAX_TODAY]?.value
|
||||
? new Date().toString()
|
||||
: ''
|
||||
}
|
||||
/>
|
||||
);
|
||||
|
||||
@@ -16,6 +16,7 @@ import {
|
||||
DefaultPickerModeVisibleFormatMapping,
|
||||
IDateTimePickerMode,
|
||||
} from '../../../../RN-UI-LIB/src/utlis/dates';
|
||||
import { DateValue } from './DateInput';
|
||||
|
||||
interface ITimeInput {
|
||||
questionType: string;
|
||||
@@ -84,7 +85,9 @@ const TimeInput: React.FC<ITimeInput> = (props) => {
|
||||
return (
|
||||
<WebBasedDatePicker
|
||||
value={
|
||||
question.metadata.defaultValue === 'CURRENT' ? Date().toString() : value?.answer
|
||||
question.metadata.defaultValue === DateValue.CURRENT
|
||||
? Date().toString()
|
||||
: value?.answer
|
||||
}
|
||||
containerStyle={GenericStyles.containerStyle}
|
||||
type="time"
|
||||
|
||||
@@ -16,7 +16,6 @@ import { setForceUninstallData } from '../reducer/metadataSlice';
|
||||
import { logError } from '../components/utlis/errorUtils';
|
||||
import { GenericFunctionArgs } from '../common/GenericTypes';
|
||||
import { setFeedbackFilterTemplate } from '@reducers/feedbackFiltersSlice';
|
||||
|
||||
export interface CaseUpdates {
|
||||
updateType: string;
|
||||
updatedCaseDetail: CaseDetail;
|
||||
@@ -34,7 +33,7 @@ const isUserSignedIn = () => {
|
||||
|
||||
const useFirestoreUpdates = () => {
|
||||
const {
|
||||
user: { user, isLoggedIn, sessionDetails, lock, selectedAgent = MY_CASE_ITEM },
|
||||
user: { user, isLoggedIn, sessionDetails, lock, selectedAgent = MY_CASE_ITEM, isExternalAgent },
|
||||
allCases: { caseDetails, casesList },
|
||||
} = useAppSelector((state: RootState) => ({
|
||||
user: state.user || {},
|
||||
@@ -211,7 +210,7 @@ const useFirestoreUpdates = () => {
|
||||
};
|
||||
|
||||
const subscribeToCollectionTemplate = () => {
|
||||
const collectionPath = 'template/template_collections_v2';
|
||||
const collectionPath = `template/${isExternalAgent ? 'external' : 'inhouse'}_template`;
|
||||
return subscribeToDoc(handleCollectionTemplateUpdate, collectionPath);
|
||||
};
|
||||
|
||||
@@ -282,7 +281,7 @@ const useFirestoreUpdates = () => {
|
||||
lockUnsubscribe && lockUnsubscribe();
|
||||
feedbackFiltersUnsubscribe && feedbackFiltersUnsubscribe();
|
||||
};
|
||||
}, [isLoggedIn, user?.referenceId]);
|
||||
}, [isLoggedIn, user?.referenceId, isExternalAgent]);
|
||||
|
||||
useEffect(() => {
|
||||
if (!isTeamLead) {
|
||||
|
||||
Reference in New Issue
Block a user