/* * Defines the ui-if tag. This removes/adds an element from the dom depending on a condition * Originally created by @tigbro, for the @jquery-mobile-angular-adapter * https://github.com/tigbro/jquery-mobile-angular-adapter */ ngGridDirectives.directive('ngIf', [function () { return { transclude: 'element', priority: 1000, terminal: true, restrict: 'A', compile: function (e, a, transclude) { return function (scope, element, attr) { var childElement; var childScope; scope.$watch(attr['ngIf'], function (newValue) { if (childElement) { childElement.remove(); childElement = undefined; } if (childScope) { childScope.$destroy(); childScope = undefined; } if (newValue) { childScope = scope.$new(); transclude(childScope, function (clone) { childElement = clone; element.after(clone); }); } }); }; } }; }]);