X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=js%2Fangular-crmMailing%2Fdirectives.js;h=f88d1afc44aa1057cf8f59f3fe7b522809751b69;hb=a740a53116a223821ca8a3d9041b098c44ff5630;hp=bb1104f4c80b00941917e15de664df5ccbf3ced8;hpb=1024e1784fb68b8529a77143f5191a60d70837cf;p=civicrm-core.git diff --git a/js/angular-crmMailing/directives.js b/js/angular-crmMailing/directives.js index bb1104f4c8..f88d1afc44 100644 --- a/js/angular-crmMailing/directives.js +++ b/js/angular-crmMailing/directives.js @@ -1,21 +1,18 @@ (function (angular, $, _) { - var partialUrl = function (relPath) { - return CRM.resourceUrls.civicrm + '/partials/crmMailing/' + relPath; - }; // The following directives have the same simple implementation -- load // a template and export a "mailing" object into scope. var simpleBlocks = { - crmMailingBlockHeaderFooter: partialUrl('headerFooter.html'), - crmMailingBlockMailing: partialUrl('mailing.html'), - crmMailingBlockPublication: partialUrl('publication.html'), - crmMailingBlockResponses: partialUrl('responses.html'), - crmMailingBlockRecipients: partialUrl('recipients.html'), - crmMailingBlockSchedule: partialUrl('schedule.html'), - crmMailingBlockSummary: partialUrl('summary.html'), - crmMailingBlockTracking: partialUrl('tracking.html'), - crmMailingBodyHtml: partialUrl('body_html.html'), - crmMailingBodyText: partialUrl('body_text.html') + crmMailingBlockHeaderFooter: '~/crmMailing/headerFooter.html', + crmMailingBlockMailing: '~/crmMailing/mailing.html', + crmMailingBlockPublication: '~/crmMailing/publication.html', + crmMailingBlockResponses: '~/crmMailing/responses.html', + crmMailingBlockRecipients: '~/crmMailing/recipients.html', + crmMailingBlockSchedule: '~/crmMailing/schedule.html', + crmMailingBlockSummary: '~/crmMailing/summary.html', + crmMailingBlockTracking: '~/crmMailing/tracking.html', + crmMailingBodyHtml: '~/crmMailing/body_html.html', + crmMailingBodyText: '~/crmMailing/body_text.html' }; _.each(simpleBlocks, function(templateUrl, directiveName){ angular.module('crmMailing').directive(directiveName, function ($parse) { @@ -28,7 +25,7 @@ var model = $parse(attr.crmMailing); scope.mailing = model(scope.$parent); scope.crmMailingConst = CRM.crmMailing; - scope.ts = CRM.ts('CiviMail'); + scope.ts = CRM.ts(null); scope[directiveName] = attr[directiveName] ? scope.$parent.$eval(attr[directiveName]) : {}; } }; @@ -39,12 +36,12 @@ // note: the directive defines a variable called "preview" with any inputs supplied by the user (e.g. the target recipient for an example mailing) angular.module('crmMailing').directive('crmMailingBlockPreview', function ($parse) { return { - templateUrl: partialUrl('preview.html'), + templateUrl: '~/crmMailing/preview.html', link: function (scope, elm, attr) { var mailingModel = $parse(attr.crmMailing); scope.mailing = mailingModel(scope); scope.crmMailingConst = CRM.crmMailing; - scope.ts = CRM.ts('CiviMail'); + scope.ts = CRM.ts(null); scope.testContact = {email: CRM.crmMailing.defaultTestEmail}; scope.testGroup = {gid: null}; @@ -67,12 +64,12 @@ scope: { crmMailing: '@' }, - templateUrl: partialUrl('review.html'), + templateUrl: '~/crmMailing/review.html', link: function (scope, elm, attr) { var mailingModel = $parse(attr.crmMailing); scope.mailing = mailingModel(scope.$parent); scope.crmMailingConst = CRM.crmMailing; - scope.ts = CRM.ts('CiviMail'); + scope.ts = CRM.ts(null); scope.previewMailing = function previewMailing(mailing, mode) { return crmMailingPreviewMgr.preview(mailing, mode); }; @@ -193,11 +190,11 @@ }, template: '', link: function (scope, element, attrs, crmUiIdCtrl) { - $(element).select2({ - width: "10em", + $(element).addClass('crm-action-menu action-icon-token').select2({ + width: "12em", dropdownAutoWidth: true, data: CRM.crmMailing.mailTokens, - placeholder: ts('Insert') + placeholder: ts('Tokens') }); $(element).on('select2-selecting', function (e) { var id = crmUiIdCtrl.get(attrs.crmFor); @@ -237,13 +234,13 @@ crmAvailMailings: '@', // available mailings crmMailing: '@' // the mailing for which we are choosing recipients }, - templateUrl: partialUrl('directive/recipients.html'), + templateUrl: '~/crmMailing/directive/recipients.html', link: function (scope, element, attrs) { scope.mailing = scope.$parent.$eval(attrs.crmMailing); scope.groups = scope.$parent.$eval(attrs.crmAvailGroups); scope.mailings = scope.$parent.$eval(attrs.crmAvailMailings); - scope.ts = CRM.ts('CiviMail'); + scope.ts = CRM.ts(null); /// Convert MySQL date ("yyyy-mm-dd hh:mm:ss") to JS date object scope.parseDate = function (date) { @@ -251,7 +248,7 @@ return date; } var p = date.split(/[\- :]/); - return new Date(p[0], p[1], p[2], p[3], p[4], p[5]); + return new Date(parseInt(p[0]), parseInt(p[1])-1, parseInt(p[2]), parseInt(p[3]), parseInt(p[4]), parseInt(p[5])); }; /// Remove {value} from {array}