Project

General

Profile

« Previous | Next » 

Revision 60969

[Connect | Trunk]: Add subscriber invite module from library

View differences:

invite.component.html
1 1
<schema2jsonld *ngIf="url" [URL]="url" [name]="pageTitle" type="other"></schema2jsonld>
2

  
3
<div *ngIf="longView == true" class="">
4
  <div class="uk-section uk-padding-remove-top tm-middle" id="tm-main">
2
<div *ngIf="longView">
3
  <div class="uk-section uk-padding-remove-top">
5 4
    <breadcrumbs addClass="uk-margin-large-left uk-margin-remove-bottom uk-margin-small-top"
6 5
                 [breadcrumbs]="breadcrumbs"></breadcrumbs>
7

  
8
    <div class="uk-container  uk-margin-bottom">
6
    <div class="uk-container uk-margin-bottom">
9 7
      <helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0"
10 8
              [texts]="pageContents['top']"></helper>
11
      <div id="invite" class=" uk-card uk-card-default uk-padding uk-margin-top">
12
        <div class="uk-text-large uk-text-center uk-width-5-6@l uk-width ">Invite users to subscribe</div>
13
        <div class="uk-margin-top">
14
          <errorMessages [status]="[status]" [type]="'community'"></errorMessages>
9
      <div class=" uk-card uk-card-default uk-padding uk-margin-top">
10
        <h5 class="uk-text-center">Invite users to subscribe</h5>
11
        <div *ngIf="subscriberInvite.loading" class="uk-height-large uk-position-relative">
12
          <loading class="uk-position-center"></loading>
15 13
        </div>
16
        <div *ngIf="missingCommunityId" class="uk-alert uk-alert-warning" role="alert">{{missingCommunityId}}</div>
17
        <div *ngIf="successfulSentMessage" class="uk-alert uk-alert-success"
18
             role="alert">{{successfulSentMessage}} {{successfulSentRecipients}}</div>
19
        <div *ngIf="failureSentMessage" class="uk-alert uk-alert-warning"
20
             role="alert">{{failureSentMessage}} {{failureSentRecipients}}</div>
21
        <div *ngIf="inviteErrorMessage" class="uk-alert uk-alert-warning" role="alert">{{inviteErrorMessage}}</div>
22
        <div *ngIf="communityId != null && status == errorCodes.DONE">
23
          <table class="uk-table uk-align-center">
24
            <tbody>
25
            <!-- <tr>
26
                <td>
27
                </td>
28
                <td>
29
                    <li>Invite by email</li>
30
                </td>
31
            </tr> -->
32
            <tr>
33
              <td for="from" class="uk-text-bold uk-width-1-4 uk-text-right">From <span
34
                  class="uk-text-danger uk-text-bold">*</span> :
35
              </td>
36
              <td class="uk-text-left uk-width-expand">
37
                <input placeholder="Type your name" type="text" (click)="resetMessages()"
38
                       class="form-control uk-input uk-width-large@l uk-width-medium@s" [(ngModel)]="body.fromName"
39
                       id="from" required>
40
                <div *ngIf="!body.fromName" class="uk-width-large uk-text-danger uk-text-small">Please add your name.
41
                </div>
42
              </td>
43
            </tr>
44
            <tr>
45
              <td for="recipients" class="uk-text-bold uk-text-right">To <span
46
                  class="uk-text-danger uk-text-bold">*</span> :
47
              </td>
48
              <td class="uk-text-left">
49
                <input placeholder="email" type="text" (click)="resetMessages(); areValid=true"
50
                       class="form-control uk-input uk-width-large@l uk-width-medium@s" [(ngModel)]="recipients"
51
                       id="recipients"
52
                       required>
53
                <div *ngIf="areValid && !showAddRecipientMessage" class="uk-width-medium uk-text-muted uk-text-small">
54
                  separate multiple emails with a comma
55
                </div>
56
                <div *ngIf="recipients && !areValid" class="uk-width-large uk-text-danger uk-text-small">Please add
57
                  valid email/s.
58
                </div>
59
                <div *ngIf="isEmpty(recipients) && showAddRecipientMessage"
60
                     class="uk-width-large uk-text-danger uk-text-small">Please add a recipient.
61
                </div>
62
              </td>
63
            </tr>
64
            </tbody>
65
          </table>
66
          <div class="boundary-align uk-panel uk-placeholder">
67
            <table class="uk-table uk-align-center uk-padding">
68
              <tbody>
69
              <tr>
70
                <td for="email.body" class="uk-text-bold">Message:</td>
71
                <td *ngIf="allowEdit()" class="uk-width-expand uk-text-left">
72
                  <ckeditor (click)="resetMessages()"
73
                            class="form-control" [(ngModel)]="body.paragraphs" id="message"
74
                            debounce="400"
75
                            [config]="{ extraAllowedContent: '* [uk-*](*) ; span', disallowedContent: 'script; *[on*]', removeButtons: 'Save,NewPage,DocProps,Preview,Print',
76
                                                                   extraPlugins: 'divarea'}">
77
                    <!-- <id="contentTag"-->
78
                    <!--(ready)="onReady($event)"-->
79
                    <!--(focus)="onFocus($event)"-->
80
                    <!--[config]="{uiColor: '#99000'}"-->
81
                    <!--(blur)="onBlur($event)"-->
82
                    <!--(change)="onChange($event)"-->
83
                  </ckeditor>
84
                </td>
85
                <td *ngIf="!allowEdit()" class="uk-text-left">
86

  
87
                  <div [innerHtml]="body.paragraphs"></div>
88
                </td>
89
              </tr>
90
              <tr>
91
                <td></td>
92
                <td class="uk-text-left">
93
                  <!-- {{body.closing}}<br> -->
94
                  {{body.signature}}
95
                  <span *ngIf="body.fromName == ''" class="uk-text-muted">
96
                                                        <i>{{body.fromMessage}}...</i>
97
                                                </span>
98
                  <span *ngIf="body.fromName !=''">
99
                                                        {{body.fromMessage}}
100
                    <b>{{body.fromName}}</b>
101
                                                </span>
102
                  <br><a href="https://www.openaire.eu">www.openaire.eu</a>
103
                </td>
104
              </tr>
105
              </tbody>
106
            </table>
14
        <div class="uk-padding uk-padding-remove-horizontal" [class.uk-hidden]="subscriberInvite.loading">
15
          <subscriber-invite #subscriberInvite [user]="user"></subscriber-invite>
16
          <div class="uk-flex uk-flex-right uk-margin-medium-top">
17
            <a class="uk-button uk-button-default" routerLink="/">Cancel</a>
18
            <button [class.uk-disabled]="!subscriberInvite.valid" class="uk-button portal-button uk-margin-small-left" (click)="subscriberInvite.invite()">Invite</button>
107 19
          </div>
108
          <table class="uk-table uk-align-center">
109
            <tbody>
110
            <tr>
111
              <td class="uk-text-bold uk-width-3-5@xl uk-width-3-5@m uk-width-3-5@s uk-text-right"></td>
112
              <td>
113
                <div class="uk-padding uk-padding-remove-top uk-padding-remove-bottom uk-text-danger uk-text-bold">*
114
                  Required fields
115
                </div>
116
              </td>
117
            </tr>
118
            <tr>
119
              <td class="uk-text-right"></td>
120
              <td>
121
                <div
122
                    class="uk-grid-margin uk-first-column uk-align-center uk-text-left uk-padding uk-padding-remove-top uk-padding-remove-bottom">
123
                  <button class="uk-button portal-button" (click)="invite()">Invite</button>
124
                </div>
125
              </td>
126
            </tr>
127
            </tbody>
128
          </table>
129

  
130
          <div class="uk-text-left">
131
            <span uk-icon="chevron-left"></span><span class="uk-margin-small-left">
132
                    <a [queryParams]="communityIdParam" routerLinkActive="router-link-active"
133
                       routerLink="/" class="portal-link">Back</a>
134
            </span>
135
          </div>
136

  
137 20
        </div>
138 21
      </div>
139 22
      <helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
......
142 25
  </div>
143 26
</div>
144 27
<div *ngIf="!longView" class="uk-margin-small-top">
145
  <button
146
      [class]=" ((buttonSizeSmall)?'uk-button-small':'') + ' uk-button  portal-button uk-button-small uk-width-1-1'">
28
  <button id="invite" class="uk-button portal-button uk-button-small uk-width-1-1">
147 29
    <span class="uk-icon uk-flex uk-flex-middle">
148 30
      <svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24">
149 31
        <path d="M0 0h24v24H0z" fill="none"></path>
......
153 35
      <span class="space">Invite users</span>
154 36
    </span>
155 37
  </button>
156
  <div uk-dropdown="mode: click" class="uk-form uk-margin-small uk-alert uk-background-default" id="toggle-usage">
157
    <div class="uk-margin-top">
158
      <errorMessages [status]="[status]" [type]="'community'"></errorMessages>
38
  <div #dropdown uk-dropdown="mode: click" [class.uk-hidden]="subscriberInvite.loading" class="uk-form uk-margin-small uk-alert uk-background-default" id="toggle-usage" style="width: 300px;">
39
    <div>
40
      <subscriber-invite #subscriberInvite [user]="user" [longView]="false"></subscriber-invite>
41
      <div class="uk-flex uk-flex-middle uk-child-width-1-2 uk-margin-small-top">
42
        <span><a class="uk-button uk-button-default uk-button-small" (click)="close(dropdown)" routerLink="/invite">Customize</a></span>
43
        <span class="uk-flex uk-flex-right">
44
        <button [class.uk-disabled]="!subscriberInvite.valid" class="portal-button uk-button uk-button-small" (click)="subscriberInvite.invite();close(dropdown)">Send</button>
45
      </span>
46
      </div>
159 47
    </div>
160
    <div *ngIf="missingCommunityId" class="uk-width-large uk-text-warning uk-text-small uk-margin-top"
161
         role="alert">{{missingCommunityId}}</div>
162
    <div *ngIf="successfulSentMessage" class="uk-width-large uk-text-success uk-text-small uk-margin-top"
163
         role="alert">{{successfulSentMessage}} {{successfulSentRecipients}}</div>
164
    <div *ngIf="failureSentMessage" class="uk-width-large uk-text-warning uk-text-small uk-margin-top"
165
         role="alert">{{failureSentMessage}} {{failureSentRecipients}}</div>
166
    <div *ngIf="inviteErrorMessage" class="uk-width-large uk-text-warning uk-text-small uk-margin-top"
167
         role="alert">{{inviteErrorMessage}}</div>
168

  
169
    <div *ngIf="recipients && !areValid" class="uk-width-large uk-text-danger uk-text-small uk-margin-top">Please add
170
      valid email/s.
171
    </div>
172
    <div *ngIf="isEmpty(recipients) && showAddRecipientMessage"
173
         class="uk-width-large uk-text-danger uk-text-small uk-margin-top">Please add a recipient.
174
    </div>
175
    <input (click)="resetMessages(); areValid=true" placeholder="Type e-mails" type="text"
176
           class="form-control uk-input uk-form-small uk-form" [(ngModel)]="recipients" id="recipients"
177
           required>
178
    <div class="uk-width-medium uk-text-muted uk-text-small">separate with commas</div>
179
    <div class="uk-margin-small-top uk-text-center ">
180
      <button class=" uk-button portal-button ignoreCommunityPanelBackground uk-button-small " (click)="invite()">
181
        Invite
182
      </button>
183
      {{" "}}
184
      <a class=" uk-button uk-button-default uk-button-small ignoreCommunityPanelBackground "
185
         [queryParams]="communityIdParam"
186
         routerLinkActive="router-link-active" routerLink="/invite">
187
                        <span class="uk-margin-xsmall-left uk-icon">
188
                            <svg width="16" height="16" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"
189
                                 icon="cog"
190
                                 ratio="0.8"><circle fill="none" stroke="#000" cx="9.997" cy="10" r="3.31"></circle><path
191
                                fill="none" stroke="#000"
192
                                d="M18.488,12.285 L16.205,16.237 C15.322,15.496 14.185,15.281 13.303,15.791 C12.428,16.289 12.047,17.373 12.246,18.5 L7.735,18.5 C7.938,17.374 7.553,16.299 6.684,15.791 C5.801,15.27 4.655,15.492 3.773,16.237 L1.5,12.285 C2.573,11.871 3.317,10.999 3.317,9.991 C3.305,8.98 2.573,8.121 1.5,7.716 L3.765,3.784 C4.645,4.516 5.794,4.738 6.687,4.232 C7.555,3.722 7.939,2.637 7.735,1.5 L12.263,1.5 C12.072,2.637 12.441,3.71 13.314,4.22 C14.206,4.73 15.343,4.516 16.225,3.794 L18.487,7.714 C17.404,8.117 16.661,8.988 16.67,10.009 C16.672,11.018 17.415,11.88 18.488,12.285 L18.488,12.285 Z"></path></svg>
193

  
194
                          </span>
195
        Customize
196
      </a>
197
    </div>
198 48
  </div>
199 49
</div>

Also available in: Unified diff