says “let str = formatDate(date) + " @ " + formatTime(date);” str is undefined
import {retrieveEvents} from ‘backend/eventapi’;
$w.onReady(function () {
$w(“#EventRepeater”).hide();
let suggestions = [];
let item = [];
retrieveEvents().then(function(resp) {
let predictions = resp.events;
predictions.forEach(function(event, index) {
if(index < 3) {
item = {
“_id” : event.id,
“eventname” : event.name.text,
“eventdescription”: event.description.text,
“eventlink” : event.url,
“eventStart” : event.start.local,
“eventEnd” : event.end.local,
“eventImg” : event.logo.url
};
suggestions.push(item);
}
});
$w("#EventRepeater").data = suggestions;
});
$w("#EventRepeater").onItemReady(($w, itemData, index) => {
const text1 = $w("#text2");
text1.text = itemData.eventname;
const text2 = $w("#text1");
let str1 = String(itemData.eventdescription);
let strLength = 180;
if(str1.length > strLength) {text2.text = itemData.eventdescription.slice(0, strLength);} else { text2.text = itemData.eventdescription;}
const button2 = $w("#button2");
button2.link = itemData.eventlink;
const text3 = $w("#text3");
text3.text = itemData.eventStart.split('T').splice(0, 4).join(' @ ');
const text4 = $w("#text4");
text4.text = itemData.eventEnd.split('T').splice(0, 4).join(' @ ');
const image1 = $w("#image1");
image1.src = itemData.eventImg;
function formatDate(date_obj) {
const monthNames = [
“Jan”, “Feb”, “Mar”,
“Apr”, “May”, “Jun”, “Jul”,
“Aug”, “Sep”, “Oct”,
“Nov”, “Dec”
];
let day = date_obj.getDate();
let monthIndex = date_obj.getMonth();
let year = date_obj.getFullYear();
return monthNames[monthIndex] + ’ ’ + day + ', ’ + year;
}
function formatTime(date_obj) {
// formats a javascript Date object into a 12h AM/PM time string
var hour = date_obj.getHours();
var minute = date_obj.getMinutes();
var amPM = (hour > 11) ? “pm” : “am”;
if (hour > 12) {
hour -= 12;
} else if (hour === 0) {
hour = “12”;
}
if (minute < 10) {
minute = “0” + minute;
}
return hour + “:” + minute + amPM;
}
let date = new Date();
let str = formatDate(date) + " @ " + formatTime(date);
$w("#EventRepeater").show();
});
});