I've created this Plnkr to show what I've started:
http://plnkr.co/edit/LzcbPMqqiQbFjVzw4kDO?p=preview
Two questions:
How do get angular to leave the original button in place and insert the template after it, instead of inserting the template as a child of the button?
How do I get the directive to only be applied on an event? When the button is clicked for example?
I thought I could use another attribute to specify the event e.g. ctx-trigger="click" and then in the compile function do element.bind(attr['ctxTrigger'],...) but that didn't work.