CRM-15706 - Refactor Angular uiAccordions and add help
[civicrm-core.git] / partials / crmMailingAB / edit.html
index 7776dea48fa01cca429b905e5b2fb77a5db450e2..e50d798c0a4b5f82a761b299b6efb1ee18ccfc28 100644 (file)
@@ -1,19 +1,12 @@
-<div crm-ui-accordion crm-title="ts('Debug')" crm-collapsed="true">
-  <pre>{{abtest.ab|json}}</pre>
-  <pre>{{abtest.mailings|json}}</pre>
-</div>
-
 <!--
+  Implicit Controller: CrmMailingABEditCtrl
+
   An ABTest includes two mailings, but we don't require the user to enter two complete mailings. For
   simplicity, the email composition UI generally displays A (unless we specifically decided to expose an
   individual field from B). At the end of the composition process, the controller's "sync" operation will
   merge shared settings from "A" into "B".
 -->
-<div ng-show="isSubmitted()">
-  {{ts('This mailing has been submitted.')}}
-</div>
-
-<form name="crmMailingAB" novalidate ng-hide="isSubmitted()">
+<div ng-form="crmMailingABEdit">
   <div class="crm-block crm-form-block crmMailing">
     <div crm-ui-wizard>
       <div crm-ui-wizard-step="10" crm-title="ts('Setup')" ng-form="setupForm">
           }"
           crm-abtest="abtest"></div>
       </div>
-      <div crm-ui-wizard-step="20" crm-title="ts('Compose')" ng-if="criteriaName != 'Two different emails'" ng-form="composeForm">
+      <div crm-ui-wizard-step="20" crm-title="ts('Compose')" ng-if="abtest.ab.testing_criteria != 'full_email'" ng-form="composeForm">
         <div crm-ui-tab-set>
           <div crm-ui-tab id="tab-mailing" crm-title="ts('Mailing')">
             <div
-              ng-if="criteriaName == 'From names'"
+              ng-if="abtest.ab.testing_criteria == 'from'"
               crm-mailing-ab-block-mailing="{
                 msg_template_id: 1,
                 fromAddressA: 1,
                 fromAddressB: 1,
-                replyToA: 1,
-                replyToB: 1,
                 subject: 1
                 }"
               crm-abtest="abtest"></div>
             <div
-              ng-if="criteriaName == 'Subject lines'"
+              ng-if="abtest.ab.testing_criteria == 'subject'"
               crm-mailing-ab-block-mailing="{
                 msg_template_id: 1,
                 fromAddress: 1,
                 subjectB: 1
                 }"
               crm-abtest="abtest"></div>
-            <div crm-ui-accordion crm-title="ts('HTML')">
+            <div crm-ui-accordion="{title: ts('HTML')}" >
               <div crm-mailing-body-html crm-mailing="abtest.mailings.a"/>
             </div>
-            <div crm-ui-accordion crm-title="ts('Plain Text')" crm-collapsed='true'>
+            <div crm-ui-accordion="{title: ts('Plain Text'), collapsed: !abtest.mailings.a.body_text}">
               <div crm-mailing-body-text crm-mailing="abtest.mailings.a"/>
             </div>
           </div>
             <div crm-mailing-block-responses crm-mailing="abtest.mailings.a"/>
           </div>
         </div>
-        <div crm-ui-accordion crm-title="ts('Preview (A)')">
+        <div crm-ui-accordion="{title: ts('Preview (A)')}" >
           <div crm-mailing-block-preview crm-mailing="abtest.mailings.a" on-preview="previewMailing('a', preview.mode)" on-send="sendTest('a', preview.recipient)" />
         </div>
-        <div crm-ui-accordion crm-title="ts('Preview (B)')">
+        <div crm-ui-accordion="{title: ts('Preview (B)')}" >
           <div crm-mailing-block-preview crm-mailing="abtest.mailings.b" on-preview="previewMailing('b', preview.mode)" on-send="sendTest('b', preview.recipient)" />
         </div>
       </div>
-      <div crm-ui-wizard-step="21" crm-title="ts('Compose (A)')" ng-if="criteriaName == 'Two different emails'" ng-form="composeAForm">
+      <div crm-ui-wizard-step="21" crm-title="ts('Compose (A)')" ng-if="abtest.ab.testing_criteria == 'full_email'" ng-form="composeAForm">
         <div crm-ui-tab-set>
           <div crm-ui-tab id="tab-mailingA" crm-title="ts('Mailing')">
             <div
                 subjectA: 1
                 }"
               crm-abtest="abtest"></div>
-            <div crm-ui-accordion crm-title="ts('HTML')">
+            <div crm-ui-accordion="{title: ts('HTML')}" >
               <div crm-mailing-body-html crm-mailing="abtest.mailings.a"/>
             </div>
-            <div crm-ui-accordion crm-title="ts('Plain Text')" crm-collapsed='true'>
+            <div crm-ui-accordion="{title: ts('Plain Text'), collapsed: !abtest.mailings.a.body_text}">
               <div crm-mailing-body-text crm-mailing="abtest.mailings.a"/>
             </div>
           </div>
             <div crm-mailing-block-responses crm-mailing="abtest.mailings.a"/>
           </div>
         </div>
-        <div crm-ui-accordion crm-title="ts('Preview')">
+        <div crm-ui-accordion="{title: ts('Preview')}" >
           <div crm-mailing-block-preview crm-mailing="abtest.mailings.a" on-preview="previewMailing('a', preview.mode)" on-send="sendTest('a', preview.recipient)" />
         </div>
       </div>
-      <div crm-ui-wizard-step="22" crm-title="ts('Compose (B)')" ng-if="criteriaName == 'Two different emails'" ng-form="composeBForm">
+      <div crm-ui-wizard-step="22" crm-title="ts('Compose (B)')" ng-if="abtest.ab.testing_criteria == 'full_email'" ng-form="composeBForm">
         <div crm-ui-tab-set>
           <div crm-ui-tab id="tab-mailingB" crm-title="ts('Mailing')">
             <div
                 subjectB: 1
                 }"
               crm-abtest="abtest"></div>
-            <div crm-ui-accordion crm-title="ts('HTML')">
+            <div crm-ui-accordion="{title: ts('HTML')}" >
               <div crm-mailing-body-html crm-mailing="abtest.mailings.b"/>
             </div>
-            <div crm-ui-accordion crm-title="ts('Plain Text')" crm-collapsed='true'>
+            <div crm-ui-accordion="{title: ts('Plain Text'), collapsed: !abtest.mailings.b.body_text}">
               <div crm-mailing-body-text crm-mailing="abtest.mailings.b"/>
             </div>
           </div>
             <div crm-mailing-block-responses crm-mailing="abtest.mailings.b"/>
           </div>
         </div>
-        <div crm-ui-accordion crm-title="ts('Preview')">
+        <div crm-ui-accordion="{title: ts('Preview')}" >
           <div crm-mailing-block-preview crm-mailing="abtest.mailings.b" on-preview="previewMailing('b', preview.mode)" on-send="sendTest('b', preview.recipient)" />
         </div>
       </div>
           }"
           crm-abtest="abtest"></div>
         <center>
-          <a class="crmMailing-submit-button" ng-click="submit()" ng-class="{disabled: crmMailing.$invalid}">
+          <a class="button crmMailing-submit-button" ng-click="submit()" ng-class="{blocking: block.check(), disabled: crmMailingAB.$invalid}">
             <div>{{ts('Submit Mailing')}}</div>
           </a>
         </center>
       </div>
       <span crm-ui-wizard-buttons style="float:right;">
         <button
-          crm-confirm="{title:ts('Delete Draft?'), message:ts('Are you sure you want to delete the draft mailing?')}"
+          crm-icon="trash"
+          ng-show="checkPerm('delete in CiviMail')"
+          ng-disabled="block.check()"
+          crm-confirm="{title:ts('Delete Draft'), message:ts('Are you sure you want to permanently delete this mailing?')}"
           on-yes="delete()">{{ts('Delete Draft')}}
         </button>
-        <button ng-click="save()">{{ts('Save Draft')}}</button>
+        <button crm-icon="disk" ng-disabled="block.check()" ng-click="save().then(leave) ">{{ts('Save Draft')}}</button>
       </span>
     </div>
-</form>
+</div>