Commit | Line | Data |
---|---|---|
02dd48b0 TO |
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._); |