cash flows

This commit is contained in:
2024-10-26 00:20:10 -07:00
parent 864ecec1b2
commit 7ee99b3542
11 changed files with 200 additions and 243 deletions

View File

@@ -152,7 +152,7 @@ const getFourWeekPeriods = endDate => {
if (!endDate) {
endDate= formatDateMMDDYYYY(new Date())
}
let periods = [];
let periods = [endDate];
for (let i = 0; i < 13; i++) {
const currentDate = new Date(parseMMDDYYYY(endDate).getTime());
currentDate.setDate(currentDate.getDate() - 28 * (i + 1));
@@ -161,6 +161,27 @@ const getFourWeekPeriods = endDate => {
return periods;
};
function getFourWeekPeriodsPeriods(endDate) {
// Determine today's date based on data or current local date
const today = endDate ? parseMMDDYYYY(endDate) : new Date();
// Calculate the total period
const totalStart = dateFns.addDays(dateFns.subWeeks(today, 13 * 4), 1);
// Construct the array of periods
return [
{
start: dateFns.format(totalStart, 'MM/dd/yyyy'),
end: dateFns.format(today, 'MM/dd/yyyy'),
title: "Total"
},
...Array.from({ length: 13 }, (_, i) => ({
start: dateFns.format(dateFns.addDays(dateFns.subWeeks(today, (i + 1) * 4), 1), 'MM/dd/yyyy'),
end: dateFns.format(dateFns.subWeeks(today, i * 4), 'MM/dd/yyyy')
}))
];
}
const withLastYear = (date) => {
if (!date) {
@@ -178,6 +199,38 @@ const withLastYear = (date) => {
return [formatDateMMDDYYYY(originalDate), formatDateMMDDYYYY(priorYearDate)];
}
const lastYearPeriod = (date) => {
if (!date) {
date= new Date()
} else {
date = parseMMDDYYYY(date)
}
const originalYear = date.getFullYear();
const priorYear = originalYear - 1;
// Create new Date objects for both years
const originalDate = new Date(originalYear, date.getMonth(), date.getDate());
const priorYearDate = new Date(priorYear, date.getMonth(), date.getDate());
return {end: formatDateMMDDYYYY(originalDate), start: formatDateMMDDYYYY(priorYearDate)};
}
const calendarYearPeriod = (date) => {
if (!date) {
date= new Date()
} else {
date = parseMMDDYYYY(date)
}
const originalYear = date.getFullYear();
const priorYear = originalYear - 1;
// Create new Date objects for both years
const start = new Date(originalYear, 0, 1);
const end = new Date(originalYear, 11, 31);
return {end: formatDateMMDDYYYY(end), start: formatDateMMDDYYYY(start)};
}
initMultiDatepicker = function(elem, startingValue) {
const modalParent = elem.closest('#modal-content');
if (modalParent) {
@@ -185,7 +238,15 @@ initMultiDatepicker = function(elem, startingValue) {
} else {
return new Datepicker(elem, {format: "mm/dd/yyyy", autohide: false, maxNumberOfDates: 12, dateDelimiter: ", "});
}
}
initCalendar = function(elem, startingValue) {
const modalParent = elem.closest('#modal-content');
if (modalParent) {
return new Datepicker(elem, {format: "mm/dd/yyyy", autohide: false, container: "#modal-content .modal-card"});
} else {
return new Datepicker(elem, {format: "mm/dd/yyyy", autohide: false, });
}
}

File diff suppressed because one or more lines are too long