Skip to content

Instantly share code, notes, and snippets.

@edinella
Created August 20, 2013 12:31
Show Gist options
  • Save edinella/6280772 to your computer and use it in GitHub Desktop.
Save edinella/6280772 to your computer and use it in GitHub Desktop.
.directive('popover', ['$compile', function($compile){
return {
restrict: 'E',
link: function ($scope, $element, $attrs) {
var triggerSelector = $attrs.triggerSelector || '[popover-trigger], [data-popover-trigger], [x-popover-trigger], .popover-trigger, .x-popover-trigger';
var elTrigger = $element.find(triggerSelector).first();
var triggerHTML = elTrigger.clone().wrap('<div>').parent().html();
elTrigger.remove();
var triggerElement = $compile(triggerHTML)($scope);
$element.replaceWith(triggerElement);
triggerElement.popover({
"html":true,
"title":$compile('<span><button class="close" onclick="$(this).closest(\'.popover\').prev().popover(\'hide\')">&times;</button>'+$attrs.title+'</span>')($scope),
"content":$compile('<div>'+$element.html()+'</div>')($scope),
"animation":$attrs.animation,
"placement":$attrs.placement,
"trigger":$attrs.trigger,
"delay":$attrs.delay
});
}
};
}])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment