app .directive('widget', function ($location) { return { restrict: 'A', link: function ($scope, $element, $attrs) { var $parent = $element.parents('.box:first'); switch ($attrs.widget) { case 'collapse': $element.on("click", function () { $parent.toggleClass('collapsed-box'); }); break; case 'remove': $element.on("click", function () { $parent.remove(); }); break; } } } ; });