Skip to content

Commit 05bc575

Browse files
Break code down into more functions, avoid the sudden schedule reset on the passing of the month by giving users a preview of the 1st week events, 2 weeks earlier.
1 parent b7d5994 commit 05bc575

1 file changed

Lines changed: 22 additions & 8 deletions

File tree

src/sheets/main.gs

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ const globalUpcomingDatesRange = "B3:B1000"; // all the possible ce
1212
const todayDay = new Date().getDate();
1313
const sheet = ss.getSheets()[new Date().getMonth() + 1]; // getMonth() returns 0-11 months, not 1-12
1414

15+
let nDatesWritten = 0;
16+
1517
/* Functions */
1618
function onOpen(e)
1719
{
@@ -20,20 +22,32 @@ function onOpen(e)
2022
.addToUi();
2123
}
2224

25+
function writeEventsWithinInterval(sourceSheet, beginIndex, endIndex)
26+
{
27+
for(let i = beginIndex; i <= endIndex; i++)
28+
{
29+
// Columns C:G (5 possible event entries)
30+
for(let j = 3; j <= 7; j++)
31+
{
32+
if(sourceSheet.getRange(i, j).getValue() != '')
33+
{
34+
mainSheet.getRange(tableHeader_rowValue_offset + (++nDatesWritten), 2).setValue(sourceSheet.getRange(i, 1).getValue());
35+
}
36+
}
37+
}
38+
}
39+
2340
function findEvent_returnDate()
2441
{
2542
let data = sheet.getDataRange().getValues(); // macro to retrieve (int row, int col) cell data
43+
let nextSheet = ss.getSheets()[new Date().getMonth() + 1 + 1];
2644
let nDatesWritten = 0;
2745

28-
for(let i = (tableHeader_rowValue_offset+todayDay); i <= 33; i++) {
29-
// Columns C:G
46+
writeEventsWithinInterval(sheet, tableHeader_rowValue_offset + todayDay, tableHeader_rowValue_offset + 31);
3047

31-
for(let j = 3; j <= 7; j++) {
32-
if(sheet.getRange(i, j).getValue() == '') {} else {
33-
mainSheet.getRange(3 + nDatesWritten, 2).setValue(sheet.getRange(i, 1).getValue());
34-
nDatesWritten++;
35-
}
36-
}
48+
if(sheet.getRange(tableHeader_rowValue_offset+todayDay+8, 1).isBlank()) // if no data is found after the next seven days, begin showing next month's schedule
49+
{
50+
writeEventsWithinInterval(nextSheet, tableHeader_rowValue_offset + 1, tableHeader_rowValue_offset + 1 + 7);
3751
}
3852
}
3953

0 commit comments

Comments
 (0)