Project

General

Profile

1
<div page-content>
2
  <div header>
3
    <admin-tabs tab="page" [portal]="portal"></admin-tabs>
4
    <div *ngIf="!errorMessage && !showLoading" class="uk-grid" uk-grid>
5
      <div class="uk-width-1-1">
6
        <ul class="uk-subnav uk-subnav-pill">
7
          <li [class.uk-active]="filterForm.get('type').value === 'all'"><a
8
              (click)="filterForm.get('type').setValue('all')"><span>All pages</span></a></li>
9
          <li *ngFor="let type of typeOptions; let i=index"
10
              [class.uk-active]="filterForm.get('type').value === type.value"><a
11
              (click)="filterForm.get('type').setValue(type.value)"><span>{{type.label}}</span></a></li>
12
        </ul>
13
      </div>
14
      <div class="uk-width-1-1 uk-flex uk-flex-right@m uk-flex-center uk-flex-wrap uk-flex-middle uk-grid" uk-grid>
15
        <div search-input [control]="filterForm.controls.keyword" [showSearch]="false" placeholder="Search page"
16
             [bordered]="true" colorClass="uk-text-secondary"></div>
17
        <div class="show-options">
18
          <button class="uk-button uk-button-secondary">Bulk Actions</button>
19
          <div uk-dropdown="mode: click">
20
            <ul class="uk-nav  uk-dropdown-nav"
21
                [attr.uk-tooltip]="getSelectedPages().length == 0 ? 'pos:left; cls: uk-active' : 'cls: uk-invisible'"
22
                title="Select at least one page">
23
              <li *ngIf="!isPortalAdministrator"><a [class]="getSelectedPages().length == 0 ? 'uk-disabled' : ''"
24
                                                    (click)="togglePages(true, getSelectedPages())"> Activate
25
              </a></li>
26
              <li *ngIf="!isPortalAdministrator"><a [class]="getSelectedPages().length == 0 ? 'uk-disabled' : ''"
27
                                                    (click)="togglePages(false, getSelectedPages())"> Deactivate
28
              </a></li>
29
              <li *ngIf="isPortalAdministrator"><a (click)="confirmDeleteSelectedPages()"> Delete </a></li>
30
            </ul>
31
          </div>
32
        </div>
33
        <div *ngIf="isPortalAdministrator">
34
          <a (click)="newPage()"
35
             class="uk-flex uk-flex-middle uk-text-uppercase">
36
            <button class="large uk-icon-button uk-button-secondary">
37
              <icon name="add"></icon>
38
            </button>
39
            <button class="uk-button uk-button-link uk-margin-small-left uk-text-secondary">Add page</button>
40
          </a>
41
        </div>
42
      </div>
43
    </div>
44
  </div>
45
  <div inner>
46
    <loading *ngIf="showLoading" class="uk-margin-large-top"></loading>
47
    <div *ngIf="!showLoading">
48
      <div *ngIf="!isPortalAdministrator" class="uk-alert uk-alert-primary uk-margin-top-large">
49
        <div>
50
          <span class="uk-margin-small-right uk-icon" uk-icon="warning"></span>
51
          Disable a page to hide it from community dashboard portal.
52
        </div>
53
        <div
54
            class="uk-text-small">If the page is disabled, a message "Can't find that page" will appear in case the url
55
          of that page is loaded. If the disabled page belongs to the menu, the link will be removed from menu, too.
56
        </div>
57

    
58
      </div>
59
      <div *ngIf="updateErrorMessage" class="uk-alert-danger" uk-alert>
60
        <a class="uk-alert-close" uk-close></a>
61
        {{updateErrorMessage}}
62
      </div>
63
      <div *ngIf="errorMessage" class="uk-alert uk-alert-danger  uk-margin-large-top"
64
           role="alert">{{errorMessage}}</div>
65
      <div class="uk-margin-medium-bottom" *ngIf="!errorMessage">
66
        <div class="md-card-content">
67
          <div class="uk-overflow-container">
68
            <ul class="uk-list pages">
69
              <li *ngFor="let check of checkboxes; let i=index" class="uk-card uk-card-default uk-margin-bottom">
70
                <div class="uk-grid uk-padding">
71
                  <div class=""><input id="{{check.page._id}}" class="checkBox" type="checkbox"
72
                                       name="pagescb[]" value="{{check.page._id}}" [(ngModel)]="check.checked">
73
                  </div>
74
                  <div class="uk-width-expand">
75
                    <div class="title uk-margin-medium-bottom">Name</div>
76
                    <div class="name uk-margin-medium-bottom" href="#">{{check.page.name}}</div>
77
                    <div *ngIf="check.page.entities && check.page.entities.length > 0"><span
78
                        class="title">Entities: </span>
79
                      {{getEntitiesAsString(check.page)}}</div>
80
                    <div class=" uk-margin-small-bottom"><span class="title">Route: </span> {{check.page.route}}</div>
81
                    <div *ngIf="!pagesType" class=" uk-margin-small-bottom"><span
82
                        class="title">Type: </span> {{check.page.type}}</div>
83
                    <div *ngIf="!portal" class=" uk-margin-small-bottom">
84
                      <span class="title">Portal type: </span>{{check.page.portalType}}
85
                    </div>
86
                  </div>
87
                  <div *ngIf="isPortalAdministrator" class="uk-width-1-4">
88
                    <div class="title uk-margin-medium-bottom">Actions</div>
89
                    <div class="actions" href="#">
90
                      <i class="clickable " (click)="editPage(i)" uk-icon="pencil"></i>
91
                      <i class="clickable uk-text-danger"
92
                         (click)="confirmDeletePage(check.page._id)" uk-icon="trash"></i>
93
                    </div>
94
                  </div>
95
                  <div *ngIf="!isPortalAdministrator" class="uk-width-1-4">
96
                    <div class="title uk-margin-medium-bottom">Helptexts</div>
97
                    <div class=" uk-margin-small-bottom">
98
                      <a *ngIf="check.page.top || check.page.bottom || check.page.left || check.page.right"
99
                         class="helpContents"
100
                         [queryParams]="{communityId: portal, pageId: check.page._id}"
101
                         routerLink="../../helptexts">
102
                        manage help texts
103
                      </a>
104
                    </div>
105
                    <div>
106
                      <a *ngIf="pageWithDivIds.includes(check.page._id)" class="classHelpContents"
107
                         [queryParams]="{communityId: portal, pageId: check.page._id}"
108
                         routerLink="../../classContents">manage class contents</a>
109
                    </div>
110
                  </div>
111
                  <div *ngIf="!isPortalAdministrator" class="uk-width-1-4">
112
                    <div class="title uk-margin-medium-bottom">Enable/disable</div>
113
                    <mat-slide-toggle [checked]="check.page.isEnabled"
114
                                      (change)="($event.source.checked = check.page.isEnabled);togglePages(!check.page.isEnabled,[check.page._id])"></mat-slide-toggle>
115
                  </div>
116
                </div>
117
              </li>
118

    
119
            </ul>
120
            <div *ngIf="checkboxes.length==0">
121
              <div class="uk-alert-warning" uk-alert>No pages found</div>
122
            </div>
123
          </div>
124
        </div>
125
      </div>
126
    </div>
127
  </div>
128
</div>
129

    
130
<modal-alert #editModal (alertOutput)="pageSaveConfirmed($event)"
131
             [okDisabled]="pageForm && (pageForm.invalid || !pageForm.dirty)">
132
  <div *ngIf="modalErrorMessage" class="uk-alert-danger" uk-alert aria-hidden="true">{{ modalErrorMessage }}</div>
133
  <form *ngIf="pageForm" [formGroup]="pageForm" class="uk-grid uk-child-width-1-1" uk-grid>
134
    <div dashboard-input  [formInput]="pageForm.get('route')"
135
         type="text" label="Page route" placeholder="Write a route">
136
    </div>
137
    <div dashboard-input [formInput]="pageForm.get('name')"
138
         type="text" placeholder="Write a name"
139
         label="Page Name">
140
    </div>
141
    <div dashboard-input [formInput]="pageForm.get('type')"
142
         type="select" placeholder="Choose a page Type"
143
         label="Type" [options]="typeOptions">
144
    </div>
145
    <div dashboard-input [formInput]="pageForm.get('entities')" placeholder="Add an entity"
146
         type="chips" [options]="allEntities" label="Entities" chipLabel="name">
147
    </div>
148
    <div dashboard-input type="select" label="Portal Type" placeholder="Choose a type"
149
         [formInput]="pageForm.get('portalType')" [options]="portalUtils.portalTypes"></div>
150
    <div class="form-group">
151
      <div class="uk-form-label uk-text-bold uk-margin-small-bottom"> Select if this page have helptext at: </div>
152
      <div class="uk-grid uk-grid-small uk-child-width-1-4" uk-grid>
153
        <div dashboard-input [formInput]="pageForm.get('top')"
154
              type="checkbox"
155
              label="Top">
156
        </div>
157
        <div dashboard-input [formInput]="pageForm.get('right')"
158
              type="checkbox"
159
              label="Right">
160
        </div>
161
        <div dashboard-input [formInput]="pageForm.get('bottom')"
162
              type="checkbox"
163
              label="Bottom">
164
        </div>
165
        <div dashboard-input [formInput]="pageForm.get('left')"
166
              type="checkbox"
167
              label="Left">
168
        </div>
169
      </div>
170
      <label class="uk-text-danger">
171
        By disabling a position, all contents in this position will be deleted.
172
      </label>
173
    </div>
174
  </form>
175

    
176
</modal-alert>
177

    
178
<modal-alert #deleteModal (alertOutput)="confirmedDeletePages($event)"></modal-alert>
(2-2/4)