SOLVED Default Calender relative removes start time
Hello everyone! First time poster, and a newbie when it comes to Linux and the Raspberry PI.
I am in the process of creating my own Magic mirror, but i was wondering what i need to do to change how the relative time for calender events is displayed?
right now, i´ve got it set to absolute up until 5 hours before, then it goes into relative mode.
So in absolute form
Meeting 25th november 1000-1800
But, five hours before this, it goes into relative mode
Meeting 25th november in five hours - 1800
It seems to remove the start time of any event, and i would like to have both, so even when it goes relative, i would like to keep the start time after the countdown, so like this:
Meeting 25th november in five hours 1000-1800
is it possible and where do i need to alter the code of the pre installed calender module?
Hoping for some beginner-level help!
@cptkex That’s an interesting question!
I’m working on manipulating the calendar and moment.js as well.
The line you are looking for is line 302
timeWrapper.innerHTML = this.capFirst(moment(event.startDate, "x").fromNow());
.fromnow() creates the “in five hours” entry. You would have to stuff the beginning time into that, maybe it would work like this:
timeWrapper.innerHTML = this.capFirst(moment(event.startDate, "x").fromNow()) + moment(event.startDate).format('HH:mm');
This could work…
In your calendar, do you really have this entry?
“Meeting 25th november in five hours - 1800”
Because then it seems you have already manpulatied the entry to also show the date!?
@lavolp3 thanks for that suggestion, ill try that tonight when i get home!
I will have to check when i get home, i was moving between the three options of absolute, relative and dateheader and i dont really remember if it gave me the date when i switched back to absolute.
ill doublecheck tonight, because i was trying to achieve my wish of having the start time to be absolute by changing the startdate variable to MMM Do HH:mm. ill get back to you on this. Again, sorry, kind of new at this.
Aha! The “dateheaders” option is quite new and I haven’t seen that before. Will check that out as well
@lavolp3 I’m home and I was mistaken. It does not show the date when it goes into relative, only the end time. I will try your code later tonight and see if it works.
@lavolp3 i tried your addition to the code but it only said
meeting in 5 hoursInvalid Date-1800
This post is deleted!
@cptkex There is an open issue that might describe the same issue:
Else it might be worth following.
@lavolp3 not mine, but thanks, i will keep an eye on it
You could try this
timeWrapper.innerHTML = this.capFirst(moment(event.startDate, "x").fromNow()) + this.capFirst(moment(event.startDate, "x").format(this.config.dateEndFormat));
I took the dirty way to use the dateEndFormat variable for a starting time.
This is just a guess! I haven’t tried it out yet…