| 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); |