CRM-15705 - Hover button cleanup
[civicrm-core.git] / partials / crmMailingAB / edit.html
1 <div crm-ui-accordion crm-title="ts('Debug')" crm-collapsed="true">
2 <pre>{{abtest.ab|json}}</pre>
3 <pre>{{abtest.mailings|json}}</pre>
4 </div>
5
6 <!--
7 An ABTest includes two mailings, but we don't require the user to enter two complete mailings. For
8 simplicity, the email composition UI generally displays A (unless we specifically decided to expose an
9 individual field from B). At the end of the composition process, the controller's "sync" operation will
10 merge shared settings from "A" into "B".
11 -->
12 <div ng-show="isSubmitted()">
13 {{ts('This mailing has been submitted.')}}
14 </div>
15
16 <form name="crmMailingAB" novalidate ng-hide="isSubmitted()" crm-autosave="save()" crm-autosave-model="abtest.getAutosaveSignature()" crm-autosave-if="sync()">
17 <div class="crm-block crm-form-block crmMailing">
18 <div crm-ui-wizard>
19 <div crm-ui-wizard-step="10" crm-title="ts('Setup')" ng-form="setupForm">
20 <div
21 crm-mailing-ab-block-setup="{
22 help: 1,
23 abName: 1,
24 campaign: 1,
25 testing_criteria: 1
26 }"
27 crm-abtest="abtest"></div>
28 </div>
29 <div crm-ui-wizard-step="11" crm-title="ts('Target')" ng-form="targetForm">
30 <div
31 crm-mailing-ab-block-setup="{
32 recipients: 1,
33 group_percentage: 1
34 }"
35 crm-abtest="abtest"></div>
36 </div>
37 <div crm-ui-wizard-step="20" crm-title="ts('Compose')" ng-if="criteriaName != 'Two different emails'" ng-form="composeForm">
38 <div crm-ui-tab-set>
39 <div crm-ui-tab id="tab-mailing" crm-title="ts('Mailing')">
40 <div
41 ng-if="criteriaName == 'From names'"
42 crm-mailing-ab-block-mailing="{
43 msg_template_id: 1,
44 fromAddressA: 1,
45 fromAddressB: 1,
46 subject: 1
47 }"
48 crm-abtest="abtest"></div>
49 <div
50 ng-if="criteriaName == 'Subject lines'"
51 crm-mailing-ab-block-mailing="{
52 msg_template_id: 1,
53 fromAddress: 1,
54 replyTo: 1,
55 subjectA: 1,
56 subjectB: 1
57 }"
58 crm-abtest="abtest"></div>
59 <div crm-ui-accordion crm-title="ts('HTML')">
60 <div crm-mailing-body-html crm-mailing="abtest.mailings.a"/>
61 </div>
62 <div crm-ui-accordion crm-title="ts('Plain Text')" crm-collapsed='!abtest.mailings.a.body_text'>
63 <div crm-mailing-body-text crm-mailing="abtest.mailings.a"/>
64 </div>
65 </div>
66 <!--
67 FIXME: Attachment UI works, but we haven't implemented backend logic for copying/sharing
68 of attachments among mailings A/B/C.
69 <div crm-ui-tab id="tab-attachment" crm-title="ts('Attachments')">
70 <div crm-attachments="abtest.attachments.a"/>
71 </div>
72 -->
73 <div crm-ui-tab id="tab-header" crm-title="ts('Header and Footer')">
74 <div crm-mailing-block-header-footer crm-mailing="abtest.mailings.a"/>
75 </div>
76 <div crm-ui-tab id="tab-pub" crm-title="ts('Publication')">
77 <div crm-mailing-block-publication crm-mailing="abtest.mailings.a"/>
78 </div>
79 <div crm-ui-tab id="tab-response" crm-title="ts('Responses')">
80 <div crm-mailing-block-responses crm-mailing="abtest.mailings.a"/>
81 </div>
82 </div>
83 <div crm-ui-accordion crm-title="ts('Preview (A)')">
84 <div crm-mailing-block-preview crm-mailing="abtest.mailings.a" on-preview="previewMailing('a', preview.mode)" on-send="sendTest('a', preview.recipient)" />
85 </div>
86 <div crm-ui-accordion crm-title="ts('Preview (B)')">
87 <div crm-mailing-block-preview crm-mailing="abtest.mailings.b" on-preview="previewMailing('b', preview.mode)" on-send="sendTest('b', preview.recipient)" />
88 </div>
89 </div>
90 <div crm-ui-wizard-step="21" crm-title="ts('Compose (A)')" ng-if="criteriaName == 'Two different emails'" ng-form="composeAForm">
91 <div crm-ui-tab-set>
92 <div crm-ui-tab id="tab-mailingA" crm-title="ts('Mailing')">
93 <div
94 crm-mailing-ab-block-mailing="{
95 msg_template_idA: 1,
96 fromAddressA: 1,
97 replyToA: 1,
98 subjectA: 1
99 }"
100 crm-abtest="abtest"></div>
101 <div crm-ui-accordion crm-title="ts('HTML')">
102 <div crm-mailing-body-html crm-mailing="abtest.mailings.a"/>
103 </div>
104 <div crm-ui-accordion crm-title="ts('Plain Text')" crm-collapsed='!abtest.mailings.a.body_text'>
105 <div crm-mailing-body-text crm-mailing="abtest.mailings.a"/>
106 </div>
107 </div>
108 <div crm-ui-tab id="tab-attachmentA" crm-title="ts('Attachments')">
109 <div crm-attachments="abtest.attachments.a"/>
110 </div>
111 <div crm-ui-tab id="tab-headerA" crm-title="ts('Header and Footer')">
112 <div crm-mailing-block-header-footer crm-mailing="abtest.mailings.a"/>
113 </div>
114 <div crm-ui-tab id="tab-pubA" crm-title="ts('Publication')">
115 <div crm-mailing-block-publication crm-mailing="abtest.mailings.a"/>
116 </div>
117 <div crm-ui-tab id="tab-responseA" crm-title="ts('Responses')">
118 <div crm-mailing-block-responses crm-mailing="abtest.mailings.a"/>
119 </div>
120 </div>
121 <div crm-ui-accordion crm-title="ts('Preview')">
122 <div crm-mailing-block-preview crm-mailing="abtest.mailings.a" on-preview="previewMailing('a', preview.mode)" on-send="sendTest('a', preview.recipient)" />
123 </div>
124 </div>
125 <div crm-ui-wizard-step="22" crm-title="ts('Compose (B)')" ng-if="criteriaName == 'Two different emails'" ng-form="composeBForm">
126 <div crm-ui-tab-set>
127 <div crm-ui-tab id="tab-mailingB" crm-title="ts('Mailing')">
128 <div
129 crm-mailing-ab-block-mailing="{
130 msg_template_idB: 1,
131 fromAddressB: 1,
132 replyToB: 1,
133 subjectB: 1
134 }"
135 crm-abtest="abtest"></div>
136 <div crm-ui-accordion crm-title="ts('HTML')">
137 <div crm-mailing-body-html crm-mailing="abtest.mailings.b"/>
138 </div>
139 <div crm-ui-accordion crm-title="ts('Plain Text')" crm-collapsed='!abtest.mailings.b.body_text'>
140 <div crm-mailing-body-text crm-mailing="abtest.mailings.b"/>
141 </div>
142 </div>
143 <div crm-ui-tab id="tab-attachmentB" crm-title="ts('Attachments')">
144 <div crm-attachments="abtest.attachments.b"/>
145 </div>
146 <div crm-ui-tab id="tab-headerB" crm-title="ts('Header and Footer')">
147 <div crm-mailing-block-header-footer crm-mailing="abtest.mailings.b"/>
148 </div>
149 <div crm-ui-tab id="tab-pubB" crm-title="ts('Publication')">
150 <div crm-mailing-block-publication crm-mailing="abtest.mailings.b"/>
151 </div>
152 <div crm-ui-tab id="tab-responseB" crm-title="ts('Responses')">
153 <div crm-mailing-block-responses crm-mailing="abtest.mailings.b"/>
154 </div>
155 </div>
156 <div crm-ui-accordion crm-title="ts('Preview')">
157 <div crm-mailing-block-preview crm-mailing="abtest.mailings.b" on-preview="previewMailing('b', preview.mode)" on-send="sendTest('b', preview.recipient)" />
158 </div>
159 </div>
160 <div crm-ui-wizard-step="30" crm-title="ts('Schedule')" ng-form="schedForm">
161 <div
162 crm-mailing-ab-block-setup="{
163 scheduled_date: 1,
164 declare_winning_time: 1
165 }"
166 crm-abtest="abtest"></div>
167 <center>
168 <a class="crmMailing-submit-button" ng-click="submit()" ng-class="{blocking: block.check(), disabled: crmMailingAB.$invalid}">
169 <div>{{ts('Submit Mailing')}}</div>
170 </a>
171 </center>
172 </div>
173 <span crm-ui-wizard-buttons style="float:right;">
174 <button
175 crm-icon="trash"
176 ng-disabled="block.check()"
177 crm-confirm="{title:ts('Delete Draft'), message:ts('Are you sure you want to permanently delete this mailing?')}"
178 on-yes="delete()">{{ts('Delete Draft')}}
179 </button>
180 <button crm-icon="disk" ng-disabled="block.check()" ng-click="save().then(leave) ">{{ts('Save Draft')}}</button>
181 </span>
182 </div>
183 </form>