Merge pull request #1321 from Safelite/feature/Digital/CSR-1618
CSR-1618
This commit is contained in:
commit
885fccd716
2 changed files with 40 additions and 4 deletions
10
src/helpers/date-helper.js
Normal file
10
src/helpers/date-helper.js
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
export function getDateDifferenceInDays(startDate, endDate) {
|
||||||
|
var date1 = new Date(endDate);
|
||||||
|
date1.setHours(0, 0, 0, 0);
|
||||||
|
var date2 = new Date(startDate);
|
||||||
|
date2.setHours(0, 0, 0, 0);
|
||||||
|
// To calculate the time difference of two dates
|
||||||
|
var Difference_In_Time = date1.getTime() - date2.getTime();
|
||||||
|
// To calculate the no. of days between two dates
|
||||||
|
return Difference_In_Time / (1000 * 3600 * 24);
|
||||||
|
}
|
||||||
|
|
@ -15,6 +15,7 @@ import { deepEqual } from "@/helpers/object-helper";
|
||||||
import { AppointmentTypeStrings, PREMIUM_FEE_PART_TYPE } from "@/constants/schedule-constants";
|
import { AppointmentTypeStrings, PREMIUM_FEE_PART_TYPE } from "@/constants/schedule-constants";
|
||||||
import { getQuerystringParameter } from "@/helpers/querystring-helper";
|
import { getQuerystringParameter } from "@/helpers/querystring-helper";
|
||||||
import { queryStrings } from "@/constants/query-strings";
|
import { queryStrings } from "@/constants/query-strings";
|
||||||
|
import { getDateDifferenceInDays } from "@/helpers/date-helper";
|
||||||
// Export State
|
// Export State
|
||||||
const getDefaultState = () => {
|
const getDefaultState = () => {
|
||||||
return {
|
return {
|
||||||
|
|
@ -605,8 +606,24 @@ function getNonFalseValuesOfPropertyInArrayOfObjects(array, propertyName) {
|
||||||
return (array ?? []).map((x) => x[propertyName]).filter((x) => x);
|
return (array ?? []).map((x) => x[propertyName]).filter((x) => x);
|
||||||
}
|
}
|
||||||
|
|
||||||
function provisionalTriggersToString(provisionalTriggers) {
|
function FirstAvailableAppointment(
|
||||||
return "ProvisionalTriggers:" + provisionalTriggers.join(",");
|
provisionalTriggers,
|
||||||
|
zipCode,
|
||||||
|
firstAvailableAppointmentDateString,
|
||||||
|
shopAppointmentType
|
||||||
|
) {
|
||||||
|
var numberOfDays = null;
|
||||||
|
if (firstAvailableAppointmentDateString)
|
||||||
|
numberOfDays = getDateDifferenceInDays(new Date(), firstAvailableAppointmentDateString);
|
||||||
|
|
||||||
|
if (shopAppointmentType)
|
||||||
|
return `FirstAvailableAppointment:${numberOfDays},Zip:${zipCode},ShopAppointmentType:${shopAppointmentType},ProvisionalTriggers:${provisionalTriggers.join(
|
||||||
|
","
|
||||||
|
)}`;
|
||||||
|
else
|
||||||
|
return `FirstAvailableAppointment:${numberOfDays},Zip:${zipCode},ProvisionalTriggers:${provisionalTriggers.join(
|
||||||
|
","
|
||||||
|
)}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Export Actions
|
// Export Actions
|
||||||
|
|
@ -1297,7 +1314,12 @@ export const actions = {
|
||||||
endpoint: endpoints.GetShopTimeSlots.url,
|
endpoint: endpoints.GetShopTimeSlots.url,
|
||||||
payload: payload,
|
payload: payload,
|
||||||
additionalSuccessEventDataHandler: (response) =>
|
additionalSuccessEventDataHandler: (response) =>
|
||||||
provisionalTriggersToString(response.data.provisionalTriggers),
|
FirstAvailableAppointment(
|
||||||
|
response.data.provisionalTriggers,
|
||||||
|
order.serviceLocation.zipCode,
|
||||||
|
response.data.days?.[0]?.date,
|
||||||
|
shopAppointmentType
|
||||||
|
),
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -1354,7 +1376,11 @@ export const actions = {
|
||||||
endpoint: endpoints.GetMobileTimeSlots.url,
|
endpoint: endpoints.GetMobileTimeSlots.url,
|
||||||
payload: payload,
|
payload: payload,
|
||||||
additionalSuccessEventDataHandler: (response) =>
|
additionalSuccessEventDataHandler: (response) =>
|
||||||
provisionalTriggersToString(response.data.provisionalTriggers),
|
FirstAvailableAppointment(
|
||||||
|
response.data.provisionalTriggers,
|
||||||
|
order.serviceLocation.zipCode,
|
||||||
|
response.data.days?.[0]?.date
|
||||||
|
),
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue