2 Vars: mailing:obj, testContact:obj, testGroup:obj, crmMailing:FormController
4 <div class=
"crmMailing-preview">
6 In Firefox (at least), clicking the preview buttons causes the browser to display validation warnings
7 for unrelated fields *and* display preview. To avoid this weird UX, we disable preview buttons when the form is incomplete/invalid.
9 <div class=
"preview-popup">
10 <div ng-show=
"!mailing.body_html && !mailing.body_text">
11 <em>({{ts('No content to preview')}})
</em>
13 <div ng-hide=
"!mailing.body_html">
14 <a class=
"crm-hover-button action-item" crm-icon=
"fa-television" ng-disabled=
"crmMailing.$invalid" ng-click=
"doPreview('html')">{{ts('Preview as HTML')}}
</a>
16 <div ng-hide=
"!mailing.body_html && !mailing.body_text" style=
"margin-top: 1em;">
17 <a class=
"crm-hover-button action-item" crm-icon=
"fa-file-text-o" ng-disabled=
"crmMailing.$invalid" ng-click=
"doPreview('text')">{{ts('Preview as Plain Text')}}
</a>
20 <div ng-hide="!mailing.body_html && !mailing.body_text">
21 <button ng-disabled="crmMailing.$invalid" ng-click="doPreview('full')">{{ts('Preview')}}</button>
25 <div class=
"preview-contact" ng-form=
"">
27 {{ts('Send test email to:')}}
28 <a crm-ui-help=
"hs({id: 'test', title: ts('Test Email')})"></a>
32 name=
"preview_test_email"
35 ng-model=
"testContact.email"
36 placeholder=
"example@example.org"
39 <button crm-icon=
"fa-paper-plane" title=
"{{crmMailing.$invalid || !testContact.email ? ts('Complete all required fields first') : ts('Send test message to %1', {1: testContact.email})}}" ng-disabled=
"crmMailing.$invalid || !testContact.email" ng-click=
"doSend({email: testContact.email})">{{ts('Send test')}}
</button>
41 <div class=
"preview-group" ng-form=
"">
43 {{ts('Send test email to group:')}}
44 <a crm-ui-help=
"hs({id: 'test', title: ts('Test Email')})"></a>
48 name=
"preview_test_group"
50 ui-options=
"{dropdownAutoWidth : true, allowClear: true, placeholder: ts('Select Group')}"
51 ng-model=
"testGroup.gid"
52 ng-options=
"group.id as group.title for group in crmMailingConst.groupNames|orderBy:'title'"
53 class=
"crm-action-menu fa-envelope-o"
55 <option value=
""></option>
58 <button crm-icon=
"fa-paper-plane" title=
"{{crmMailing.$invalid || !testGroup.gid ? ts('Complete all required fields first') : ts('Send test message to group')}}" ng-disabled=
"crmMailing.$invalid || !testGroup.gid" crm-confirm=
"{resizable: true, width: '40%', height: '40%', open: previewTestGroup}" on-yes=
"doSend({gid: testGroup.gid})">{{ts('Send test')}}
</button>
60 <div class=
"clear"></div>