| 1 | (function(angular, $, _) { |
| 2 | angular.module('crmMailing').directive('crmMailingReviewBool', function() { |
| 3 | return { |
| 4 | scope: { |
| 5 | crmOn: '@', |
| 6 | crmTitle: '@' |
| 7 | }, |
| 8 | template: '<span ng-class="spanClasses"><span class="icon" ng-class="iconClasses"></span>{{evalTitle}} </span>', |
| 9 | link: function(scope, element, attrs) { |
| 10 | function refresh() { |
| 11 | if (scope.$parent.$eval(attrs.crmOn)) { |
| 12 | scope.spanClasses = {'crmMailing-active': true}; |
| 13 | scope.iconClasses = {'ui-icon-check': true}; |
| 14 | } |
| 15 | else { |
| 16 | scope.spanClasses = {'crmMailing-inactive': true}; |
| 17 | scope.iconClasses = {'ui-icon-close': true}; |
| 18 | } |
| 19 | scope.evalTitle = scope.$parent.$eval(attrs.crmTitle); |
| 20 | } |
| 21 | |
| 22 | refresh(); |
| 23 | scope.$parent.$watch(attrs.crmOn, refresh); |
| 24 | scope.$parent.$watch(attrs.crmTitle, refresh); |
| 25 | } |
| 26 | }; |
| 27 | }); |
| 28 | })(angular, CRM.$, CRM._); |