Project

General

Profile

1
<div id="page_content">
2
  <div class="uk-padding-small md-bg-white" uk-grid>
3
    <div *ngIf="filters" class="uk-width-2-3@m uk-width-1-1 uk-child-width-1-3@m uk-child-width-1-1" uk-grid>
4
      <div>
5
        <div dashboard-input [formInput]="filters.get('privacy')"
6
             type="select" [options]="[all].concat(stakeholderUtils.isPublic)"
7
             label="Privacy"></div>
8
      </div>
9
      <div>
10
        <div dashboard-input [formInput]="filters.get('status')"
11
             type="select" [options]="[all].concat(stakeholderUtils.isActive)"
12
             label="Status"></div>
13
      </div>
14
    </div>
15
    <div class="uk-width-expand@m uk-width-1-1 uk-flex uk-flex-middle uk-flex-right">
16
      <div class="uk-inline uk-width-medium">
17
        <span class="uk-position-center-right"><i class="material-icons">search</i></span>
18
        <div dashboard-input [formInput]="filters.get('keyword')" label="Locate Stakeholder"></div>
19
      </div>
20
      <div [class.uk-active]="grid" class="uk-margin-small-left">
21
        <a [routerLink]="" class="uk-icon-button" (click)="changeGrid(true)"><i
22
          class="material-icons">view_module</i></a>
23
      </div>
24
      <div [class.uk-active]="!grid" class="uk-margin-small-left">
25
        <a [routerLink]="" class="uk-icon-button" (click)="changeGrid(false)"><i class="material-icons">list</i></a>
26
      </div>
27
    </div>
28
  </div>
29
  <div id="page_content_inner">
30
    <h4 class="uk-text-bold main">Default Profiles</h4>
31
    <div [class.uk-child-width-1-4@m]="grid"
32
         [class.uk-child-width-1-3@s]="grid"
33
         [class.uk-child-width-1-1]="!grid"
34
         [class.max-width-large]="!grid"
35
         class="uk-grid-match uk-grid-small"
36
         uk-grid>
37
      <loading *ngIf="loading"></loading>
38
      <ng-template ngFor [ngForOf]="defaultStakeholders" let-stakeholder let-i="index">
39
        <a *ngIf="stakeholder" [routerLink]="stakeholder.alias">
40
          <div class="md-card">
41
            <div class="md-card-toolbar">
42
              <div class="md-card-toolbar-actions" [class.uk-flex-middle]="!grid" [class.uk-flex]="!grid">
43
                <span *ngIf="!grid" class="uk-margin-medium-right uk-flex uk-flex-middle">
44
                  <i class="material-icons md-24 uk-margin-small-right">{{stakeholderUtils.isPublicIcon.get(stakeholder.isPublic)}}</i>
45
                  {{(stakeholder.isPublic) ? 'Public' : 'Private'}}
46
                </span>
47
                <span *ngIf="!grid" class="uk-margin-medium-right uk-flex uk-flex-middle">
48
                  <i class="material-icons md-24 uk-margin-small-right"
49
                     [class.md-color-green-300]="stakeholder.isActive">{{stakeholderUtils.isActiveIcon}}</i>
50
                  {{(stakeholder.isActive) ? 'Active' : 'Inactive'}}
51
                </span>
52
                <div class="md-card-dropdown uk-inline">
53
                  <i class="md-icon material-icons"
54
                     (click)="$event.stopPropagation();$event.preventDefault()">more_vert</i>
55
                  <div uk-dropdown="mode: click; pos: bottom-right" class="uk-padding-remove-horizontal">
56
                    <ul class="uk-nav uk-dropdown-nav">
57
                      <li><a
58
                              (click)="$event.stopPropagation();editStakeholder(stakeholder, true);$event.preventDefault()">Edit</a>
59
                      </li>
60
                      <li><a
61
                              (click)="$event.stopPropagation();deleteStakeholderOpen(stakeholder);$event.preventDefault()">Delete</a>
62
                      </li>
63
                    </ul>
64
                  </div>
65
                </div>
66
              </div>
67
              <div class="md-card-toolbar-heading-text">{{stakeholder.index_name}}</div>
68
            </div>
69
            <div *ngIf="grid" class="md-card-content">
70
              <div class="uk-flex uk-flex-center" uk-grid>
71
                <div class="uk-width-1-2 uk-text-center">
72
                  <i class="material-icons md-24">{{stakeholderUtils.isPublicIcon.get(stakeholder.isPublic)}}</i>
73
                  <div>{{(stakeholder.isPublic) ? 'Public' : 'Private'}}</div>
74
                </div>
75
                <div class="uk-width-1-2 uk-text-center">
76
                  <i class="material-icons md-24"
77
                     [class.md-color-green-300]="stakeholder.isActive">{{stakeholderUtils.isActiveIcon}}</i>
78
                  <div>{{(stakeholder.isActive) ? 'Active' : 'Inactive'}}</div>
79
                </div>
80
              </div>
81
            </div>
82
          </div>
83
        </a>
84
      </ng-template>
85
      <div *ngIf="!loading">
86
        <div class="md-card clickable" (click)="editStakeholder(null, true)">
87
          <div class="md-card-toolbar">
88
            <div class="md-card-toolbar-heading-text"
89
                 [class.uk-flex-middle]="!grid"
90
                 [class.uk-flex]="!grid"
91
                 [class.uk-flex-center]="!grid">
92
              <i *ngIf="!grid" class="material-icons md-36">add</i>
93
              <span>Create a Default Stakeholder</span>
94
            </div>
95
          </div>
96
          <div *ngIf="grid" class="md-card-content">
97
            <div uk-grid>
98
              <div class="uk-width-1-1">
99
                Create a new Stakeholder default profile base on type.
100
              </div>
101
              <div class="uk-width-1-1 uk-flex uk-flex-center">
102
                <i class="material-icons md-48">add</i>
103
              </div>
104
            </div>
105
          </div>
106
        </div>
107
      </div>
108
    </div>
109
    <h4 class="uk-text-bold">Stakeholders</h4>
110
    <div [class.uk-child-width-1-4@m]="grid"
111
         [class.uk-child-width-1-3@s]="grid"
112
         [class.uk-child-width-1-1]="!grid"
113
         [class.max-width-large]="!grid"
114
         class="uk-grid-match uk-grid-small"
115
         uk-grid>
116
      <loading *ngIf="loading"></loading>
117
      <ng-template ngFor [ngForOf]="displayStakeholders" let-stakeholder let-i="index">
118
        <a *ngIf="stakeholder" [routerLink]="stakeholder.alias">
119
          <div class="md-card">
120
            <div class="md-card-toolbar">
121
              <div class="md-card-toolbar-actions" [class.uk-flex-middle]="!grid" [class.uk-flex]="!grid">
122
                <span *ngIf="!grid" class="uk-margin-medium-right uk-flex uk-flex-middle">
123
                  <i class="material-icons md-24 uk-margin-small-right">{{stakeholderUtils.isPublicIcon.get(stakeholder.isPublic)}}</i>
124
                  {{(stakeholder.isPublic) ? 'Public' : 'Private'}}
125
                </span>
126
                <span *ngIf="!grid" class="uk-margin-medium-right uk-flex uk-flex-middle">
127
                  <i class="material-icons md-24 uk-margin-small-right"
128
                     [class.md-color-green-300]="stakeholder.isActive">{{stakeholderUtils.isActiveIcon}}</i>
129
                  {{(stakeholder.isActive) ? 'Active' : 'Inactive'}}
130
                </span>
131
                <div class="md-card-dropdown uk-inline">
132
                  <i class="md-icon material-icons"
133
                     (click)="$event.stopPropagation();$event.preventDefault()">more_vert</i>
134
                  <div uk-dropdown="mode: click; pos: bottom-right" class="uk-padding-remove-horizontal">
135
                    <ul class="uk-nav uk-dropdown-nav">
136
                      <li><a
137
                        (click)="$event.stopPropagation();editStakeholder(stakeholder);$event.preventDefault()">Edit</a>
138
                      </li>
139
                      <li><a
140
                        (click)="$event.stopPropagation();deleteStakeholderOpen(stakeholder);$event.preventDefault()">Delete</a>
141
                      </li>
142
                    </ul>
143
                  </div>
144
                </div>
145
              </div>
146
              <div class="md-card-toolbar-heading-text">{{stakeholder.index_name}}</div>
147
            </div>
148
            <div *ngIf="grid" class="md-card-content">
149
              <div class="uk-flex uk-flex-center" uk-grid>
150
                <div class="uk-width-1-2 uk-text-center">
151
                  <i class="material-icons md-24">{{stakeholderUtils.isPublicIcon.get(stakeholder.isPublic)}}</i>
152
                  <div>{{(stakeholder.isPublic) ? 'Public' : 'Private'}}</div>
153
                </div>
154
                <div class="uk-width-1-2 uk-text-center">
155
                  <i class="material-icons md-24"
156
                     [class.md-color-green-300]="stakeholder.isActive">{{stakeholderUtils.isActiveIcon}}</i>
157
                  <div>{{(stakeholder.isActive) ? 'Active' : 'Inactive'}}</div>
158
                </div>
159
              </div>
160
            </div>
161
          </div>
162
        </a>
163
      </ng-template>
164
      <div *ngIf="!loading">
165
        <div class="md-card clickable" (click)="editStakeholder()">
166
          <div class="md-card-toolbar">
167
            <div class="md-card-toolbar-heading-text"
168
                 [class.uk-flex-middle]="!grid"
169
                 [class.uk-flex]="!grid"
170
                 [class.uk-flex-center]="!grid">
171
              <i *ngIf="!grid" class="material-icons md-36">add</i>
172
              <span>Create a Stakeholder</span>
173
            </div>
174
          </div>
175
          <div *ngIf="grid" class="md-card-content">
176
            <div uk-grid>
177
              <div class="uk-width-1-1">
178
                Create a new Stakeholder by using a default profile base on his type.
179
              </div>
180
              <div class="uk-width-1-1 uk-flex uk-flex-center">
181
                <i class="material-icons md-48">add</i>
182
              </div>
183
            </div>
184
          </div>
185
        </div>
186
      </div>
187
    </div>
188
  </div>
189
</div>
190
<modal-alert #editStakeholderModal
191
             (alertOutput)="saveStakeholder()"
192
             [okDisabled]="stakeholderFb && (stakeholderFb.invalid || (stakeholderFb.pristine && index !==-1))">
193
  <div *ngIf="stakeholderFb" class="uk-padding-small" [formGroup]="stakeholderFb">
194
    <div dashboard-input class="uk-form-row" [formInput]="stakeholderFb.get('index_name')" label="Name"></div>
195
    <div class="uk-form-row uk-flex uk-flex-middle uk-child-width-1-3" uk-grid>
196
      <div dashboard-input [formInput]="stakeholderFb.get('index_id')"
197
           label="ID">
198
      </div>
199
      <div dashboard-input [formInput]="stakeholderFb.get('index_shortName')"
200
           label="Short name">
201
      </div>
202
      <div dashboard-input [formInput]="stakeholderFb.get('alias')"
203
           label="Alias">
204
      </div>
205
    </div>
206
    <div class="uk-form-row uk-flex uk-flex-middle uk-child-width-1-3" uk-grid>
207
      <div dashboard-input [formInput]="stakeholderFb.get('isPublic')"
208
           label="Privacy" [options]="stakeholderUtils.isPublic" type="select">
209
      </div>
210
      <div dashboard-input [formInput]="stakeholderFb.get('isActive')"
211
           label="Status" [options]="stakeholderUtils.isActive" type="select">
212
      </div>
213
      <div dashboard-input [formInput]="stakeholderFb.get('type')"
214
           label="Type" [options]="stakeholderUtils.types" type="select">
215
      </div>
216
    </div>
217
  </div>
218
</modal-alert>
219
<modal-alert #deleteStakeholderModal (alertOutput)="deleteStakeholder()"></modal-alert>
(2-2/4)