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
    <div class="contentPanel ">
47
      <div *ngIf="!isPortalAdministrator" class="uk-alert uk-alert-primary uk-margin-top-large">
48
        <div>
49
          <span class="uk-margin-small-right uk-icon" uk-icon="warning"></span>
50
          Disable a page to hide it from community dashboard portal.
51
        </div>
52
        <div
53
            class="uk-text-small">If the page is disabled, a message "Can't find that page" will appear in case the url
54
          of that page is loaded. If the disabled page belongs to the menu, the link will be removed from menu, too.
55
        </div>
56

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

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

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

    
178
</modal-alert>
179

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