Commit | Line | Data |
---|---|---|
b396fc59 TO |
1 | (function(angular, $, _) { |
2 | angular.module('crmMailing').directive('crmMailingReviewBool', function() { | |
3 | return { | |
4 | scope: { | |
5 | crmOn: '@', | |
6 | crmTitle: '@' | |
7 | }, | |
a9e74675 | 8 | template: '<span ng-class="spanClasses"><i class="crm-i" ng-class="iconClasses"></i> {{evalTitle}} </span>', |
b396fc59 TO |
9 | link: function(scope, element, attrs) { |
10 | function refresh() { | |
11 | if (scope.$parent.$eval(attrs.crmOn)) { | |
12 | scope.spanClasses = {'crmMailing-active': true}; | |
77ec5a8d | 13 | scope.iconClasses = {'fa-check': true}; |
b396fc59 TO |
14 | } |
15 | else { | |
16 | scope.spanClasses = {'crmMailing-inactive': true}; | |
77ec5a8d | 17 | scope.iconClasses = {'fa-times': true}; |
b396fc59 TO |
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._); |