diff --git a/ang/crmMosaico/BlockPreview.html b/ang/crmMosaico/BlockPreview.html index b59f564c9..456a29d6a 100644 --- a/ang/crmMosaico/BlockPreview.html +++ b/ang/crmMosaico/BlockPreview.html @@ -44,3 +44,7 @@ + +
+ {{ts('The draft mailing allows two variations (A/B).')}}
{{ts('If you send a test now, it will use all available variations.')}}
+
diff --git a/ang/crmMosaico/BlockPreview.js b/ang/crmMosaico/BlockPreview.js index 1d5c663c8..92dc4d3aa 100644 --- a/ang/crmMosaico/BlockPreview.js +++ b/ang/crmMosaico/BlockPreview.js @@ -2,7 +2,7 @@ // example:
// 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('crmMosaico').directive('crmMosaicoBlockPreview', function(crmUiHelp) { + angular.module('crmMosaico').directive('crmMosaicoBlockPreview', function(crmUiHelp, crmMosaicoVariants) { return { templateUrl: '~/crmMosaico/BlockPreview.html', link: function(scope, elm, attr) { @@ -25,6 +25,7 @@ return ($.inArray(false, validityArr) == -1); }; + scope.isSplit = crmMosaicoVariants.isSplit; scope.doPreview = function(mode) { scope.$eval(attr.onPreview, { diff --git a/ang/crmMosaico/Variants.js b/ang/crmMosaico/Variants.js index f15245825..0fa3f79d4 100644 --- a/ang/crmMosaico/Variants.js +++ b/ang/crmMosaico/Variants.js @@ -73,8 +73,17 @@ return preview; }, + // isSplit(mailing): Determine if there are -any- split/variant fields. + // isSplit(mailing, field): Determine if a -specific- field has variations. isSplit: function isSplit(mailing, field) { - return mailing.template_options && mailing.template_options.variants && (field in mailing.template_options.variants[0]); + if (!mailing.template_options || !mailing.template_options.variants) { + return false; + } + if (field) { + return (field in mailing.template_options.variants[0]); + } + const nonEmpties = _.filter(mailing.template_options.variants, (v) => !_.isEmpty(angularObj(v))); + return nonEmpties.length > 0; } }; return self;