| window.angular && (function(angular) { |
| 'use strict'; |
| |
| angular |
| .module('app.common.directives') |
| .directive('confirm', ['$timeout', function($timeout) { |
| return { |
| 'restrict': 'E', |
| 'template': require('./confirm.html'), |
| 'scope': { |
| 'title': '@', |
| 'message': '@', |
| 'confirm': '=', |
| 'callback': '=' |
| }, |
| 'controller': ['$scope', function($scope) { |
| $scope.cancel = function() { |
| $scope.confirm = false; |
| $scope.$parent.confirm = false; |
| }; |
| $scope.accept = function() { |
| $scope.callback(); |
| $scope.cancel(); |
| }; |
| }], |
| link: function(scope, e) { |
| scope.$watch('confirm', function() { |
| if (scope.confirm) { |
| $timeout(function() { |
| angular.element(e[0].parentNode).css({ |
| 'min-height': e[0].querySelector('.inline__confirm').offsetHeight + 'px' |
| }); |
| }, 0); |
| } |
| else { |
| angular.element(e[0].parentNode).css({ |
| 'min-height': 0 + 'px' |
| }); |
| } |
| }); |
| } |
| }; |
| }]); |
| })(window.angular); |