Read the statement by Michael Teeuw here.
CalendarExt3 - Event transformer wildcard
-
BEGIN:VEVENT DTSTART:20250417T020000Z DTEND:20250417T030000Z DTSTAMP:20250215T064845Z UID:sla6c0fbp2f6m06mscbt8961hg@google.com CREATED:20250215T064259Z DESCRIPTION:<p>Phone: +12015551212<br />Email: test@email.com<br />Notes: S pecial Request</p>\n<p><a href="">Reschedule this booking</a><br /><a href="">Cance l this booking</a></p>\n<p>YCBM link ref: e4c41a9e-28a5-4528-90e8-dd8a18c64 ae5</p> LAST-MODIFIED:20250215T064333Z SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Client Name TRANSP:OPAQUE END:VEVENT
Web links removed, Test client deleted, so no clicky. The event title is solely the client name, but that can be adjusted if need be, I think.
-
@BKeyport ok, this should work
if(ev.description.search("YCBM")>-1){ ev.title = "Client" }
you already have the
return evyou can
console.log(ev.description)
to make sure it is what you expectbetter if mmm-logging is installed to copy the browser log to startup log
-
@sdetweil perfection, thanks. Never even thought about direct replacement - only seen more complex solutions.
-
-
I think we’re gonna have to call @MMRIZE in on this one. it worked initially - however, if the description is blank in any event, it’ll stop completely, and not process anything. Here’s what I got now.
eventTransformer: (ev) => { if (ev.title.search("🏠") > -1) { ev.title = ev.title.replace("🏠 Personal Commitment", "Personal Event"); ev.color = 'yellow'; } if (ev.title.search("✈ Flight") > -1) { ev.title = ev.title.replace("✈ Flight", "Personal Event"); ev.color = 'yellow'; } if(ev.description.search("YCBM") > -1) { ev.title = "Client" } return ev },
-
B BKeyport has marked this topic as unsolved on
-
-
@sdetweil That did it… Well, other than typing out event rather than ev. :)
All the same, Maybe it should be a check inside the javascript…
-
B BKeyport has marked this topic as solved on
-
For completeness - here’s the answer:
if(ev.description && ev.description.search("YCBM") > -1) { ev.title = "Client" }
-
B BKeyport has marked this topic as solved on
-
@BKeyport sorry, phone decided to autocorrect for me.
but you got it. this IS javascript. without the test, the transformer crashed
-
@sdetweil right - what I’m saying is that maybe it should be in the module’s JS, rather than the config’s JS.
Seems trivial to add a safeguard to automatically check for empty items before the transformer gets it. Might also protect against other bugs that way, thus improving the overall product.
-
@BKeyport ah, but description is an optional field