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;