Merge pull request #19521 from civicrm/5.34
[civicrm-core.git] / ang / crmMailingAB / BlockMailing.js
1 (function(angular, $, _) {
2
3 // example:
4 // scope.myAbtest = new CrmMailingAB();
5 // <crm-mailing-ab-block-mailing="{fromAddressA: 1, fromAddressB: 1}" crm-abtest="myAbtest" />
6 var simpleDirectives = {
7 crmMailingAbBlockMailing: '~/crmMailingAB/BlockMailing.html'
8 };
9 _.each(simpleDirectives, function(templateUrl, directiveName) {
10 angular.module('crmMailingAB').directive(directiveName, function($parse, crmMailingABCriteria, crmUiHelp) {
11 var scopeDesc = {crmAbtest: '@'};
12 scopeDesc[directiveName] = '@';
13
14 return {
15 scope: scopeDesc,
16 templateUrl: templateUrl,
17 link: function(scope, elm, attr) {
18 var model = $parse(attr.crmAbtest);
19 scope.abtest = model(scope.$parent);
20 scope.crmMailingConst = CRM.crmMailing;
21 scope.crmMailingABCriteria = crmMailingABCriteria;
22 scope.ts = CRM.ts(null);
23 scope.hs = crmUiHelp({file: 'CRM/Mailing/MailingUI'});
24
25 var fieldsModel = $parse(attr[directiveName]);
26 scope.fields = fieldsModel(scope.$parent);
27 }
28 };
29 });
30 });
31
32 })(angular, CRM.$, CRM._);