Read the statement by Michael Teeuw here.
MMM-CalendarExt3
-
thanks for adding maxEventLines: { row: line, row: line, … } .
But I am having trouble getting it to work.
{ module: "MMM-CalendarExt3", position: "top_right", title: "", instanceId: '1', config: { mode: 'month', carouselId: "basicCalendar", locale: 'en-ZA', header: "", //headerTitleOptions: {month: 'long' , year:'numeric'}, eventTimeOptions: {timeStyle: 'short'}, useWeather: false, //maxEventLines: 1, firstDayOfWeek: 1, displayEndTime: false, useMarquee: true, displayCW: false, showMore: true, showEnd: false, weekIndex: 0, // From which week the view starts; -1 : last week, 0: this week 2: 2 weeks later, ... //weeksInView: 5, // How many weeks will be shown from `weekIndex` fontSize: "18px", eventHight: "20px", calendarSet: ['Pieter', 'US_holiday'], maxEventLines: { 4:6, 5:5, 6:4 , 7:3}, } },
I would expect this line maxEventLines: { 4:6, 5:5, 6:4 , 7:3}, to limit the number of rows based on the number of weeks so this month has 6 week rows so the entries in the cell should be limited to 4?
I even did a test case just to see if it would only make one line by doing this
maxEventLines: { 3:1, 4:1, 5:1, 6:1 , 7:1, 8:1}, and it did not work.What am I missing.
thanks for your help.
-
-
@MMRIZE thanks for all your help.
I will update later and let you know if it worked.
-
@MMRIZE the updated fixed my issue.
thanks.
-
I’m working in the same situation: using an old iPad and trying to conserve space. I used this transform you posted way back in this thread:
/* In your config */ eventTransformer: (ev) => { if (!ev.isFullday) { let t = new Date(ev.startDate) let time = (t.getMinutes() === 0) ? String(t.getHours()) : String(t.getHours() + ':' + t.getMinutes()) ev.title = `<span class="myTime">${time}</span> ${ev.title}` } return ev }
That works great, but how can I get it to display the hour in 12h, not 24h?
-
@Decimeter9667 time see the eventTimeOptions
-
@sdetweil Hmm… are you sure that works in the context of the transform I showed? eventTimeOptions doesn’t seem to change it.
-
you are doing it raw. Date.getHours() returns 0-23
so YOU have to check , and substract 12 if over 12 -
@sdetweil Thanks. For anyone else looking to do this, here’s how I modified the code:
eventTransformer: (ev) => { if (!ev.isFullday) { let t = new Date(ev.startDate) const amPm = t.getHours() >= 12 ? 'p' : 'a'; let time = (t.getMinutes() === 0) ? String(t.getHours() % 12 || 12) : String( (t.getHours() % 12 || 12) + ':' + t.getMinutes()) ev.title = `<span class="myTime">${time}${amPm}</span> ${ev.title}` } return ev }
-
@Decimeter9667 you could have set the hour in a local variable when you did the am/pm test
// assume am. // of course you could reverse this if most of the events are in the afternoon let amPm='a' let hour=t.getHours() if(hour >= 12) { amPm= 'p'; hour-= 12 }
then not have 2 more calls to getHour()
performance things creep in all the time… (as you might be doing this for all events…)