Project

General

Profile

1
<aside id="sidebar_main">
2
  <div *ngIf="stakeholder" class="sidebar_main_header">
3
    <div class="uk-padding-small">
4
      <img class="uk-margin-bottom" *ngIf="stakeholder.logoUrl" [src]="stakeholder.logoUrl">
5
      <h4 class="uk-text-bold uk-margin-remove">{{stakeholder.index_name}}</h4>
6
      <span class="uk-text-large">Admin Dashboard</span>
7
    </div>
8
  </div>
9
  <div *ngIf="stakeholder" class="menu_section">
10
    <ul>
11
      <li [class.current_section]="analysisOpen"
12
          [class.act_section]="analysisOpen"
13
          class="submenu_trigger">
14
        <a href="#" (click)="analysisOpen = !analysisOpen; $event.preventDefault()">
15
          <span class="menu_icon"><i class="material-icons">donut_large</i></span>
16
          <span class="menu_title">Analysis Indicators</span>
17
        </a>
18
        <ul [style.display]="(analysisOpen?'block':'none')">
19
          <ng-template ngFor [ngForOf]="stakeholder.topics" let-topic let-i="index">
20
            <li>
21
              <a [routerLink]="topic.alias">
22
                <span *ngIf="topic.icon" class="menu_icon uk-margin-small-right"><i
23
                  class="material-icons">{{topic.icon}}</i></span>
24
                <div class="menu_title uk-inline">
25
                  {{topic.name}}
26
                  <button class="uk-position-center-right-out uk-margin-right uk-button uk-button-link onHover"
27
                          (click)="$event.stopPropagation();saveTopicOpen(editTopic, i); $event.preventDefault()">
28
                    <i class="material-icons">more_horiz</i>
29
                  </button>
30
                </div>
31
              </a>
32
              <div uk-drop="mode: none; offset: -2; delay-hide: 0;" #editTopic
33
                   class="uk-padding-large uk-padding-remove-vertical uk-padding-remove-right uk-drop">
34
                <div *ngIf="topicFb">
35
                  <div class="md-card">
36
                    <div class="md-card-content uk-position-relative">
37
                      <a class="uk-position-top-right">
38
                        <i (click)="hide(editTopic)" class="material-icons">close</i>
39
                      </a>
40
                      <div class="uk-grid-small" uk-grid [formGroup]="topicFb">
41
                        <div class="uk-width-1-1">
42
                          <label class="uk-text-bold">Topic Settings</label>
43
                          <input class="uk-input uk-form-small" formControlName="name"
44
                                 [class.uk-form-danger]="topicFb.get('name').dirty && topicFb.get('name').invalid"
45
                                 type="text">
46
                        </div>
47
                        <div class="uk-width-1-1">
48
                          <label>Description</label>
49
                          <textarea class="uk-textarea" formControlName="description"
50
                                    rows="3" type="text"></textarea>
51
                        </div>
52
                        <div class="uk-width-1-2">
53
                          <select class="uk-select uk-form-small" formControlName="isPublic">
54
                            <option [value]="true">Public</option>
55
                            <option [value]="false">Private</option>
56
                          </select>
57
                        </div>
58
                        <div class="uk-width-1-2">
59
                          <select class="uk-select uk-form-small" formControlName="isActive">
60
                            <option [value]="true">Active</option>
61
                            <option [value]="false">Inactive</option>
62
                          </select>
63
                        </div>
64
                      </div>
65
                      <hr>
66
                      <div class="uk-grid-small uk-child-width-1-2" uk-grid>
67
                        <div>
68
                          <button class="md-btn md-btn-small"
69
                                  (click)="deleteTopicOpen(this.topicFb.value.name, editTopic, i)">Delete</button>
70
                        </div>
71
                        <div>
72
                          <button class="md-btn md-btn-small md-btn-primary uk-float-right"
73
                                  [class.md-btn-primary]="topicFb.valid && topicFb.dirty"
74
                                  [class.disabled]="topicFb.invalid || !topicFb.dirty"
75
                                  (click)="saveTopic(editTopic, i)">Save
76
                          </button>
77
                        </div>
78
                      </div>
79
                    </div>
80
                  </div>
81
                </div>
82
              </div>
83
            </li>
84
          </ng-template>
85
          <li>
86
            <a href="#" (click)="saveTopicOpen(newTopic); $event.preventDefault()">
87
              <span class="menu_icon"><i class="material-icons">add</i></span>
88
              <span class="menu_title">Create new Topic</span>
89
            </a>
90
            <div uk-drop="mode: none; offset: -2; delay-hide: 0" #newTopic
91
                 class="uk-padding-large uk-padding-remove-vertical uk-padding-remove-right uk-drop">
92
              <div *ngIf="topicFb">
93
                <div class="md-card">
94
                  <div class="md-card-content uk-position-relative">
95
                    <a class="uk-position-top-right">
96
                      <i (click)="hide(newTopic)" class="material-icons">close</i>
97
                    </a>
98
                    <div class="uk-grid-small" uk-grid [formGroup]="topicFb">
99
                      <div class="uk-width-1-1">
100
                        <label class="uk-text-bold">New Topic</label>
101
                        <input class="uk-input uk-form-small" formControlName="name"
102
                               [class.uk-form-danger]="topicFb.get('name').dirty && topicFb.get('name').invalid"
103
                               type="text">
104
                      </div>
105
                      <div class="uk-width-1-1">
106
                        <label>Description</label>
107
                        <textarea class="uk-textarea" formControlName="description"
108
                                  rows="3" type="text"></textarea>
109
                      </div>
110
                      <div class="uk-width-1-2">
111
                        <select class="uk-select uk-form-small" formControlName="isPublic">
112
                          <option [value]="true">Public</option>
113
                          <option [value]="false">Private</option>
114
                        </select>
115
                      </div>
116
                      <div class="uk-width-1-2">
117
                        <select class="uk-select uk-form-small" formControlName="isActive">
118
                          <option [value]="true">Active</option>
119
                          <option [value]="false">Inactive</option>
120
                        </select>
121
                      </div>
122
                    </div>
123
                    <hr>
124
                    <div class="uk-grid-small uk-child-width-1-2" uk-grid>
125
                      <div>
126
                        <button class="md-btn md-btn-small" (click)="hide(newTopic)">Cancel</button>
127
                      </div>
128
                      <div>
129
                        <button class="md-btn md-btn-small uk-float-right"
130
                                [class.md-btn-primary]="topicFb.valid && topicFb.dirty"
131
                                [class.disabled]="topicFb.invalid || !topicFb.dirty"
132
                                (click)="saveTopic(newTopic)">
133
                          Create
134
                        </button>
135
                      </div>
136
                    </div>
137
                  </div>
138
                </div>
139
              </div>
140
            </div>
141
          </li>
142
        </ul>
143
      </li>
144
    </ul>
145
  </div>
146
</aside>
147
<div id="page_content" click-outside-or-esc targetId="page_content" [escClose]="false" (clickOutside)="toggleOpen($event)">
148
  <div id="page_content_inner">
149
    <h4 class="uk-text-bold">
150
      Customise your Monitor Dashboard!
151
    </h4>
152
    <div class="uk-text-large uk-margin-bottom">
153
      <div>
154
        Modify or add new topics, categories and content.<br><br>
155
        Start your navigation through the <span class="md-color-blue-900">left side menu!</span>
156
      </div>
157
      <div class="uk-margin-small-top uk-margin-small-bottom uk-margin-large-left">
158
        <svg xmlns="http://www.w3.org/2000/svg" width="30" height="88" viewBox="0 0 30 88">
159
          <g id="Group_749" data-name="Group 749" transform="translate(-872.168 -490.5)">
160
            <text class="fill_text" id="OR" transform="translate(872.168 540.271)" font-size="18"
161
                  font-family="OpenSans-Bold, Open Sans" font-weight="900" opacity="0.8">
162
              <tspan x="0" y="0">OR</tspan>
163
            </text>
164
            <line class="stroke_line" id="Line_225" data-name="Line 225" y2="30" transform="translate(885.5 490.5)"
165
                  fill="none" stroke="#000" stroke-width="1" opacity="0.2"/>
166
            <line class="stroke_line" id="Line_226" data-name="Line 226" y2="30" transform="translate(885.5 548.5)"
167
                  fill="none" stroke="#000" stroke-width="1" opacity="0.2"/>
168
          </g>
169
        </svg>
170
      </div>
171
      <div class="uk-width-1-1">
172
        Select one of the <span class="md-color-blue-900">topics below</span>!
173
      </div>
174
    </div>
175
    <div *ngIf="stakeholder" class="uk-child-width-1-3@m uk-child-width-1-1@s uk-grid-match uk-grid-medium" uk-grid>
176
      <ng-template ngFor [ngForOf]="stakeholder.topics" let-topic>
177
        <div>
178
          <a [routerLink]="topic.alias" class="md-card">
179
            <div class="md-card-content">
180
              <h6 class="uk-text-bold">{{topic.name}}</h6>
181
              <div class="uk-text-secondary">
182
                {{topic.description}}
183
              </div>
184
            </div>
185
          </a>
186
        </div>
187
      </ng-template>
188
    </div>
189
  </div>
190
</div>
191
<modal-alert #deleteTopicModal (alertOutput)="deleteTopic()"></modal-alert>
(2-2/4)