It’s been a long time since I wrote something here. I thought I would break the silence with a new post about Meteor.
Meteor makes it pretty easy to start prototyping a new project very quickly.
When you want your ol’ familiar Bootstrap for CSS, you just
meteor add bootstrap and there it is, including the stylish
So while building templates in Meteor, I thought I had tooltips figured out. I’d write them something like this:
Which looked great, but I quickly came to realize that when my Likes Collection changed, the bootstrap tooltip wasn’t getting refreshed, even though the underlying title attribute was. I tried using several event binding techniques like
observe to try and refresh the tooltip whenever the collection changed, but those strategies weren’t panning out. I wasn’t interested in squirreling away a lot of tooltip code into my subscription callbacks, either.
It turns out, I was way over-complicating this. You see, I already have a function that was executing every time the label changed, it was just a tiny bit too fast. I wanted to refresh the tooltip AFTER the tooltip_label function ran, so this is what I did:
By calling setTimeout with a zero delay, I queued up the code to refresh the tooltip immediately after the function returns. A simple no cruft way to include reactive Bootstrap Tooltips in your Meteor Templates.
Updated August 10, 2014:
Turns out you can use the
Meteor.defer function to do the same thing as setTimeout in an even cleaner way. Now my CoffeeScript looks like this: