Project

General

Profile

1
<div page-content>
2
  <div header>
3
    <ng-content></ng-content>
4
    <div [class.uk-invisible]="loading"
5
         class="uk-flex uk-flex-right@m uk-flex-center uk-flex-wrap uk-flex-middle uk-grid" uk-grid>
6
      <div search-input [control]="filterForm.get('keyword')" [showSearch]="false" placeholder="Search subscribers"
7
           [bordered]="true" colorClass="uk-text-secondary">
8
      </div>
9
      <div>
10
        <a *ngIf="exists" class="uk-text-uppercase uk-flex uk-flex-middle" [attr.uk-tooltip]="(inviteDisableMessage)">
11
          <button class="uk-icon-button large uk-button-secondary" (click)="openInviteModal()"
12
                  [disabled]="!subscriberInvite || subscriberInvite.loading || !!inviteDisableMessage">
13
            <icon name="person_add"></icon>
14
          </button>
15
          <button class="uk-button uk-button-link uk-margin-small-left" (click)="openInviteModal()"
16
                  [disabled]="!subscriberInvite || subscriberInvite.loading || !!inviteDisableMessage"
17
                  [class.uk-text-secondary]="subscriberInvite && !subscriberInvite.loading && !inviteDisableMessage">
18
            Invite Subscribers
19
          </button>
20
        </a>
21
        <a *ngIf="!exists && isPortalAdmin" class="uk-text-uppercase uk-flex uk-flex-middle"
22
           (click)="openCreateRoleModal()">
23
          <button class="uk-icon-button large uk-button-secondary">
24
            <icon name="person_add"></icon>
25
          </button>
26
          <button class="uk-button uk-button-link uk-margin-small-left uk-text-secondary">Create Group</button>
27
        </a>
28
      </div>
29
    </div>
30
  </div>
31
  <div inner>
32
    <div *ngIf="loading" class="uk-position-center">
33
      <loading></loading>
34
    </div>
35
    <div *ngIf="!loading">
36
      <div *ngIf="showSubscribers.length == 0"
37
           class="uk-card uk-card-default uk-padding-large uk-text-center uk-margin-bottom uk-text-bold">
38
        <div>No subscribers found</div>
39
      </div>
40
      <div *ngIf="showSubscribers.length > 0">
41
        <no-load-paging [type]="(subscribers.length > 1)?'subscribers':'subscriber'"
42
                        (pageChange)="updatePage($event)"
43
                        [page]="page" [pageSize]="pageSize"
44
                        [totalResults]="showSubscribers.length">
45
        </no-load-paging>
46
        <div class="uk-margin-top uk-margin-medium-bottom">
47
          <div class="uk-card uk-card-default uk-card-body uk-text-small uk-margin-bottom"
48
               *ngFor="let item of currentPage">
49
            <div class="uk-grid uk-grid-divider uk-flex uk-flex-middle" uk-grid>
50
              <div class="uk-width-expand@m uk-width-1-1">
51
                <div class="uk-padding-small uk-padding-remove-horizontal">
52
                  <span class="uk-text-muted">Email: </span>
53
                  <span class="uk-text-bold">{{item.email}}</span>
54
                </div>
55
              </div>
56
              <div class="uk-width-auto@m uk-width-1-1">
57
                <div class="uk-width-1-1 uk-flex uk-flex-center">
58
                  <div class="uk-padding-small uk-padding-remove-horizontal">
59
                    <button (click)="openDeleteModal(item)" class="uk-button action uk-flex uk-flex-middle"
60
                            [disabled]="item.isManager"
61
                            [attr.uk-tooltip]="item.isManager?'This user is a manager and cannot be removed.':null">
62
                      <icon name="remove_circle_outline" [flex]="true"></icon>
63
                      <span class="uk-margin-small-left">Remove subscriber</span>
64
                    </button>
65
                  </div>
66
                </div>
67
              </div>
68
            </div>
69
          </div>
70
        </div>
71
        <no-load-paging *ngIf="showSubscribers.length > pageSize" [type]="'subscribers'"
72
                        (pageChange)="updatePage($event)"
73
                        [page]="page" [pageSize]="pageSize"
74
                        [totalResults]="showSubscribers.length">
75
        </no-load-paging>
76
      </div>
77
    </div>
78
  </div>
79
</div>
80
<modal-alert *ngIf="user" #inviteModal (alertOutput)="subscriberInvite.invite()" [okDisabled]="!subscriberInvite.valid"
81
             [large]="true">
82
  <div class="uk-padding uk-padding-remove-horizontal">
83
    <subscriber-invite #subscriberInvite [user]="user"></subscriber-invite>
84
  </div>
85
</modal-alert>
86
<modal-alert #deleteModal (alertOutput)="deleteSubscriber()">
87
  <div *ngIf="selectedUser" class="uk-padding-small uk-padding-remove-horizontal">
88
    Are you sure you want to remove <span class="uk-text-bold">{{selectedUser}}</span> from subscribers?
89
  </div>
90
</modal-alert>
91
<modal-alert #createRoleModal (alertOutput)="createGroup()" [okDisabled]="roleFb && roleFb.invalid">
92
  <div *ngIf="roleFb" class="uk-padding uk-padding-remove-horizontal">
93
    <div class="uk-grid" uk-grid [formGroup]="roleFb">
94
      <div dashboard-input [formInput]="roleFb.get('name')"
95
           label="Name"
96
           placeholder="Write a name..." class="uk-width-1-1"></div>
97
      <div dashboard-input [formInput]="roleFb.get('description')"
98
           label="Description"
99
           type="textarea"
100
           placeholder="Write a description..." class="uk-width-1-1"></div>
101
    </div>
102
  </div>
103
</modal-alert>
(1-1/3)