Project

General

Profile

« Previous | Next » 

Revision 52307

Subjects: add links in sidebar and dashboard, change the subjects form to be as it was in the community profile but using the new methods, add delete method in service, change route to 'manage-subjects'| Community profile form: change the if conditions to show messages and loading, call change when manager is removed| Change title for enabl/ disable butoon to Change status|\n

View differences:

modules/uoa-admin-portal/branches/project-cli/src/app/app.component.html
48 48
                      <span>Manage content providers</span>
49 49
                  </a>
50 50
              </li>
51
              <li  *ngIf="communityType && communityType != 'ri'">
52
                  <a routerLink="/manage-subjects" routerLinkActive="active" [queryParams]="{communityId: this.communityId}">
53
                      <span>Manage subjects</span>
54
                  </a>
55
              </li>
51 56
            </ul>
52 57
         </li>
53 58
         <li *ngIf="isPortalAdministrator" class="uk-nav-header uk-parent">
modules/uoa-admin-portal/branches/project-cli/src/app/dashboard.component.html
11 11
                      <p>Edit community information, change logo url, add community managers or subjects related to community.
12 12
                         </p><p><a routerLink="/community-edit-form"  [queryParams]="{communityId: this.communityId}" class="uk-button uk-button-text">Edit Community Profile</a></p>
13 13
                  </div>
14
                  <div class="uk-card uk-card-default uk-card-body uk-card-hover uk-width-1-3@m uk-first-column">
15
                  <h3 class="uk-card-title">
16
                      <span class="uk-margin-small-right uk-icon" uk-icon="image"></span>
17
                      Statistics &amp; Charts
18
                    </h3>
19

  
20
                    <p> Manage statistical numbers & charts that will be displayed in the dashboard and monitor pages.
21
                        <a routerLink="/stats"  [queryParams]="{communityId: this.communityId}" class="uk-button uk-button-text">Manage statistics &amp; charts</a>
22
                    </p>
23
                  </div>
24 14
                  <div class="uk-card uk-card-default uk-card-body uk-card-hover uk-width-1-3@m">
25 15
                        <h3 class="uk-card-title">
26 16
                          <span class="uk-margin-small-right uk-icon" uk-icon="list"></span>
......
30 20
                        <p>
31 21
                          <a routerLink="/manage-projects" [queryParams]="{communityId: this.communityId}" class="uk-button uk-button-text">Manage projects</a> <br>
32 22
                          <a routerLink="/manage-content-providers" [queryParams]="{communityId: this.communityId}" class="uk-button uk-button-text">Manage content providers</a> <br>
23
                          <a routerLink="/manage-subjects" [queryParams]="{communityId: this.communityId}" class="uk-button uk-button-text">Manage subjects</a> <br>
33 24
                          <!--a href="http://scoobydoo.di.uoa.gr/connect/dashboard.html#" class="uk-button uk-button-text">Manage organizations</a-->
34 25
                        </p>
35 26
                      </div>
27
                  <div class="uk-card uk-card-default uk-card-body uk-card-hover uk-width-1-3@m uk-first-column">
28
                  <h3 class="uk-card-title">
29
                      <span class="uk-margin-small-right uk-icon" uk-icon="image"></span>
30
                      Statistics &amp; Charts
31
                    </h3>
36 32

  
33
                    <p> Manage statistical numbers & charts that will be displayed in the dashboard and monitor pages.
34
                        <a routerLink="/stats"  [queryParams]="{communityId: this.communityId}" class="uk-button uk-button-text">Manage statistics &amp; charts</a>
35
                    </p>
36
                  </div>
37

  
38

  
37 39
                <div class="uk-card uk-card-default uk-card-body uk-card-hover uk-width-1-3@m">
38 40
                  <h3 class="uk-card-title">
39 41
                      <span class="uk-margin-small-right uk-icon" uk-icon="link"></span>
modules/uoa-admin-portal/branches/project-cli/src/app/app.routing.ts
64 64
      canActivate: [IsCommunity,ConnectAdminLoginGuard],resolve: { envSpecific: EnvironmentSpecificResolver  }
65 65
    },
66 66
    {
67
      path: 'subjects-edit-form',
67
      path: 'manage-subjects',
68 68
      component: SubjectsEditFormComponent,
69 69
      canActivate: [IsCommunity,ConnectAdminLoginGuard],resolve: { envSpecific: EnvironmentSpecificResolver  }
70 70
    },
modules/uoa-admin-portal/branches/project-cli/src/app/pages/subjects/subjects-edit-form/subjects-edit-form.component.html
1 1
<div id="subjects-edit-form " class=" uk-card uk-card-default uk-padding">
2
  <div class="uk-text-large uk-text-center uk-width-5-6@l uk-width ">Edit subjects</div>
2
  <div class="uk-text-large uk-text-center uk-width-5-6@l uk-width ">Manage subjects</div>
3
    <div class="uk-alert uk-alert-primary uk-margin-top-large">
4
      <div>
5
        <span class="uk-margin-small-right uk-icon" uk-icon="warning"></span>
6
        All the research results associated to the subjects specified here will be automatically linked to the community dashboard.
7
      </div>
8
      <div class="uk-text-small"> </div>
3 9

  
10
    </div>
4 11

  
5 12

  
6
    <div *ngIf="communityId != null && community != null && !showLoading && !errorMessage" class="uk-margin-top">
7
        <table class="uk-table uk-align-center">
8
          <tbody>
9
              <tr *ngIf="updateErrorMessage || errorMessage || successfulSaveMessage || successfulUpdateMessage" >
10
                  <td></td>
11
                  <td class="uk-text-left">
13
    <div class="uk-margin-top  uk-container-small uk-align-center">
14

  
12 15
                      <div *ngIf="updateErrorMessage" class="uk-alert uk-alert-danger" role="alert">{{updateErrorMessage}}</div>
13 16
                      <div *ngIf="errorMessage" class="uk-alert uk-alert-danger" role="alert">{{errorMessage}}</div>
14 17
                      <div *ngIf="successfulSaveMessage" class="uk-alert uk-alert-success" role="alert">{{successfulSaveMessage}}</div>
15 18
                      <div *ngIf="successfulResetMessage" class="uk-alert uk-alert-warning" role="alert">{{successfulResetMessage}}</div>
16
                      <div [style.display]="showLoading ? 'inline' : 'none'" class="uk-animation-fade uk-width-1-1" role="alert"><img class="uk-align-center loading-gif"></div>
17
                  </td>
18
              </tr>
19
              <!-- <tr>
20
                  <td for="name" class="uk-text-bold uk-width-1-2@xl uk-width-1-3@m uk-width-1-3@s uk-text-right">Name <span class="uk-text-danger uk-text-bold">*</span> :</td>
21
                  <td class="uk-text-left">
22
                      <div *ngIf="community.title == '' " class="uk-width-medium uk-text-danger uk-text-small style=display:none"> Please add name. </div>
23
                      <input *ngIf="community.title != null" placeholder={{community.title}} type="text"
24
                              class="form-control uk-input uk-width-large@l uk-width-medium@s" id="name"
25
                              required [(ngModel)] = "community.title" (input)="change()"></td>
26
              </tr>
27
              <tr>
28
                  <td for="shortName" class="uk-text-bold uk-text-right">Short Name:</td>
29
                  <td class="uk-text-left">
30
                      <input *ngIf="community.shortTitle != null" placeholder={{community.shortTitle}} type="text"
31
                              class="form-control uk-input uk-width-large@l uk-width-medium@s" id="shortName"
32
                              [(ngModel)] = "community.shortTitle" (input)="change()"></td>
33
              </tr>
34
              <tr>
35
                  <td for="description" class="uk-text-bold uk-text-right">Description:</td>
36
                  <td class="uk-text-left">
37
                      <textarea *ngIf="community.description != null" placeholder={{community.description}} type="text"
38
                                class="form-control uk-textarea uk-width-large@l uk-width-medium@s" rows="6" id="description"
39
                                [(ngModel)] = "community.description" (input)="change()">
40
                      </textarea></td>
41
              </tr>
42
              <tr>
43
                  <td for="logoUrl" class="uk-text-bold uk-text-right">Logo Url:</td>
44
                  <td class="uk-text-left">
45
                      <input *ngIf="community.logoUrl != null" placeholder={{community.logoUrl}} type="text"
46
                          class="form-control uk-input uk-width-large@l uk-width-medium@s" id="logoUrl"
47
                          [(ngModel)] = "community.logoUrl" (input)="change()"></td>
48
              </tr>
49
              <tr>
50
                  <td for="status" class="uk-text-bold uk-text-right">Status:</td>
51
                  <td class="uk-text-left uk-margin">
52
                      <select class="form-control uk-select uk-width-large@l uk-width-medium@s" id="status"
53
                              [(ngModel)] = "community.status" (input)="change()">
54
                          <option value="all">Visible</option>
55
                          <option value="manager">Visible to managers</option>
56
                          <option value="hidden">Hidden</option>
57
                      </select></td>
58
              </tr>
59
              <tr>
60
                  <td for="managers" class="uk-text-bold uk-text-right">Managers:</td>
61
                  <td class="uk-text-left">
62
                    <div *ngIf="community.managers != null">
63
                      <div *ngFor='let manager of community.managers, let i = index; trackBy:trackByFn'>
64
                          <div *ngIf="!community.managers[i].match('^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$') && community.managers[i] != '' "
65
                              class="uk-width-large uk-text-danger uk-text-small uk-margin-top"> Please add a valid email. </div>
66
                          <input placeholder="Type managers" type="text" class="form-control uk-input uk-width-large@l uk-width-medium@s"
67
                                                      id="{{'manager'+i}}" name="{{'manager'+i}}" [(ngModel)] = "community.managers[i]" (input)="change()">
68
                          <a class="uk-icon-button remove red_background_color red_color" uk-icon="close" title="Remove" (click)="removeManager(i)"></a>
69
                          <a *ngIf="i == community.managers.length - 1" class="uk-icon-button add green_background_color green_color" uk-icon="plus" title="Add" (click)="addManager()"></a>
70
                      </div>
71
                      <a *ngIf="community.managers.length == 0" class="uk-icon-button add green_background_color green_color" uk-icon="plus" title="Add" (click)="addManager()"></a>
72
                  </div>
73
                  </td>
74
              </tr> -->
75
              <tr>
76
                  <td for="subjects" class="uk-text-bold uk-text-right">Subjects:</td>
77
                  <td class="uk-text-left">
19
                      <div *ngIf="showLoading" class="uk-animation-fade uk-width-1-1" role="alert"><img class="uk-align-center loading-gif"></div>
20
                  <div *ngIf="communityId != null && community != null && !showLoading && !errorMessage" >
21
                    <div *ngIf="originalSubjects.length ==0"class="uk-alert uk-alert-info" role="alert">No subjects available</div>
78 22
                    <div *ngIf="community.subjects != null">
79 23
                      <div *ngFor='let subject of community.subjects; let i = index; trackBy:trackByFn'>
80 24
                          <input placeholder="Type subjects" type="text" class="form-control uk-input uk-width-large@l uk-width-medium@s"
81 25
                                                     id="{{'subject'+i}}" name="{{'subject'+i}}" [(ngModel)] = "community.subjects[i]" (input)="change()">
82
                          <!-- <img type="uk-image" src="assets/imgs/delete-icon.png" height="25" width="25" title="Remove" onmouseover="" style="cursor: pointer;" (click)="removeSubject(i)"/> -->
83
                          <a class="uk-icon-button remove red_background_color red_color" uk-icon="close" title="Remove" (click)="removeSubject(i)"></a>
26
                          <a   class="uk-icon-button remove red_background_color red_color" uk-icon="close" title="Remove" (click)="removeSubject(i); change();"></a>
84 27
                          <a *ngIf="i == community.subjects.length - 1" class="uk-icon-button add green_background_color green_color" uk-icon="plus" title="Add" (click)="addSubject()"></a>
85 28
                      </div>
86 29
                      <a *ngIf="community.subjects.length == 0" class="uk-icon-button add green_background_color green_color" uk-icon="plus" title="Add" (click)="addSubject()"></a>
87
                      <!-- <img type="uk-image" src="assets/imgs/add-icon.png" height="25" width="25" title="Add" onmouseover="" style="cursor: pointer;" (click)="addSubject()"/> -->
30
       
88 31
                    </div>
89
                  </td>
90
              </tr>
91
              <!-- <tr>
92
                <td class="uk-text-right"></td>
93
                <td><div class="uk-padding uk-padding-remove-top uk-padding-remove-bottom uk-text-danger uk-text-bold">* Required fields</div>
94
                </td>
95
              </tr> -->
96
              <tr>
97
                <td class="uk-text-right"></td>
98
                <td>
32

  
99 33
                    <div class="uk-grid-margin uk-first-column uk-align-center uk-text-left uk-padding uk-padding-remove-top uk-padding-remove-bottom">
100 34
                        <button *ngIf="hasChanged" class="uk-button uk-button-primary" (click)="updateSubjects()">Save</button>
101 35
                        <button *ngIf="!hasChanged" class="uk-button uk-button-default" disabled>Save</button>
102 36
                        <button class="uk-button" (click)="resetForm(communityId)">Reset</button>
103 37
                    </div>
104
                </td>
105
              </tr>
106
          </tbody>
107
        </table>
38
                  </div>
108 39
  </div>
109 40
</div>
modules/uoa-admin-portal/branches/project-cli/src/app/pages/subjects/subjects-edit-form/subjects-edit-form.component.ts
9 9
import {EnvProperties}                                   from '../../../openaireLibrary/utils/properties/env-properties';
10 10

  
11 11
import {CommunityInfo}                                   from '../../../openaireLibrary/connect/community/communityInfo';
12

  
12
import { concat } from 'rxjs/observable/concat';
13 13
@Component({
14 14
    selector: 'subjects-edit-form',
15 15
    templateUrl: './subjects-edit-form.component.html',
......
36 36
    public communityId = null;
37 37
    public community = null;
38 38
    public properties:EnvProperties = null;
39
    public newsubject ="";
40
    public edit = null;
41
    public editSubjectOriginalValue = null;
42
    public originalSubjects = [];
39 43

  
40 44
    constructor (private route: ActivatedRoute,
41 45
                 private _router: Router,
......
61 65
                      community => {
62 66
                            this.community = community;
63 67
                            this.params = {community: encodeURIComponent('"'+community.queryId+'"')};
64
                            // TODO remove after testing!!!!!!!
65
                            console.log(community);
68
                            this.originalSubjects = [];
69
                            for(var i = 0; i<this.community.subjects.length; i++){
70
                                this.originalSubjects.push(this.community.subjects[i]);
71
                            }
72
                            if(this.community.subjects.length ==0) {
73
                              this.community.subjects.push("");
74
                            }
66 75
                            this.showLoading = false;
67 76
                      },
68 77
                      error => this.handleError('System error retrieving community profile', error)
......
72 81
        });
73 82
    }
74 83

  
75
  // public addManager() {
76
  //         this.community.managers.push("");
77
  // }
78
  //
79
  // public removeManager(i : any) {
80
  //         this.community.managers.splice(i,1);
81
  // }
82 84

  
85

  
83 86
  public addSubject() {
84 87
          this.community.subjects.push("");
85 88
  }
......
107 110
      this.resetChange();
108 111
  }
109 112

  
113
 // save(newValue){
114
 //   this.edit=null;
115
 //   console.log(this.editSubjectOriginalValue + "-->"+newValue)
116
 //   if (this.communityId != null && this.communityId != '' && this.editSubjectOriginalValue != newValue) {
117
 //       this.showLoading = true;
118
 //       var subjectsToDelete = this.parseUpdatedSubjects([this.editSubjectOriginalValue]);
119
 //       var subjectsToAdd = this.parseUpdatedSubjects([newValue]);
120
 //       let obs = concat(this._subjectsService.addSubjects(this.properties.communityAPI+this.communityId+"/subjects", subjectsToAdd),
121
 //       this._subjectsService.removeSubjects(this.properties.communityAPI+this.communityId+"/subjects", subjectsToDelete));
122
 //        obs.subscribe(res => {
123
 //          console.log(res);
124
 //          this.community.subjects = res[1]["subjects"];
125
 //          this.originalSubjects = this.community.subjects;
126
 //          this.handleSuccessfulSave('Subjects updated!')
127
 //          this.showLoading = false;
128
 //        });
129
 //   }
130
 //   this.editSubjectOriginalValue = null;
131
 // }
132
 public getSubjectsExistOnlyInFirst(firstArray:string[], secondArray:string[]):string[]{
133

  
134
   var difference = [];
135
   for(var i =0; i<firstArray.length; i++){
136
       if(secondArray.indexOf(firstArray[i])==-1 ){
137
           difference.push(firstArray[i]);
138
       }
139

  
140
   }
141
   return difference;
142

  
143
 }
110 144
  public updateSubjects() {
111 145

  
112 146
      if (this.communityId != null && this.communityId != '') {
113 147
          this.showLoading = true;
114
          var subjects = this.parseUpdatedSubjects();
148
          var subjectsToDeleteAr = this.getSubjectsExistOnlyInFirst(this.originalSubjects, this.community.subjects);
149
          var subjectsToAddAr = this.getSubjectsExistOnlyInFirst(this.community.subjects, this.originalSubjects);
115 150

  
116
          // TODO delete after testing
117
          console.log(subjects);
151
          var subjectsToDelete = this.parseUpdatedSubjects(subjectsToDeleteAr);
152
          var subjectsToAdd = this.parseUpdatedSubjects(subjectsToAddAr);
153
          if(subjectsToAddAr.length > 0 && subjectsToDeleteAr.length > 0){
154
            let obs = concat(this._subjectsService.addSubjects(this.properties.communityAPI+this.communityId+"/subjects", subjectsToAdd),
155
            this._subjectsService.removeSubjects(this.properties.communityAPI+this.communityId+"/subjects", subjectsToDelete));
156
             obs.subscribe(res => {
157
               console.log(res);
158
               if(res["method"] == "delete"){
159
                this.afterUpdateActions(res);
160
               }
161
             },
162
              error => this.handleUpdateError('System error updating subjects', error)
163
            );
164
          }else if(subjectsToAddAr.length > 0){
165
            this._subjectsService.addSubjects(this.properties.communityAPI+this.communityId+"/subjects", subjectsToAdd).subscribe(res => {
166
               console.log(res);
167
                 this.afterUpdateActions(res);
118 168

  
119
          this._subjectsService.updateSubjects("https://dev-openaire.d4science.org/openaire/community/"+this.communityId+"/subjects", subjects).subscribe(
120
            subjects => {
121
               this.handleSuccessfulSave('Subjects saved!')
122
            },
123
            error => this.handleUpdateError('System error updating subjects', error)
124
          );
125
          this._router.navigate(['/subjects-edit-form'], {queryParams: { "communityId": this.communityId}});
169
             },
170
              error => this.handleUpdateError('System error updating subjects', error)
171
            );
172
          }else if(subjectsToDeleteAr.length > 0){
173
            this._subjectsService.removeSubjects(this.properties.communityAPI+this.communityId+"/subjects", subjectsToDelete).subscribe(res => {
174
               console.log(res);
175
                 this.afterUpdateActions(res);
126 176

  
177
             },
178
              error => this.handleUpdateError('System error updating subjects', error)
179
            );
180
          }
181
          // this._router.navigate(['/manage-subjects'], {queryParams: { "communityId": this.communityId}});
182

  
127 183
      }
128 184
      this.resetChange();
129 185
  }
186
  afterUpdateActions(res){
187
    this.community.subjects = res["subjects"];
188
    this.originalSubjects = [];
189
    for(var i = 0; i<this.community.subjects.length; i++){
190
        this.originalSubjects.push(this.community.subjects[i]);
191
    }
192
    if(this.community.subjects.length ==0) {
193
      this.community.subjects.push("");
194
    }
195
    this.handleSuccessfulSave('Subjects updated!')
196
    this.showLoading = false;
197
  }
198
  private parseUpdatedSubjects(subjects) : {} {
199
      var parsedSubjects = this.getNonEmptyItems(subjects);
200
      return parsedSubjects;
201
  }
130 202

  
131 203

  
132
  // public updateCommunity() {
133
  //
134
  //     if (this.communityId != null && this.communityId != '') {
135
  //         this.showLoading = true;
136
  //         var community = this.parseUpdatedCommunity();
137
  //
138
  //         // TODO delete after testing
139
  //         console.log(community);
140
  //
141
  //         if (!this.hasValidEmail(community) || !this.hasFilled(community["name"])) {
142
  //           //console.info("NAVIGAAAATE");
143
  //             this._router.navigate(['/subjects-edit-form'], {queryParams: { "communityId": this.communityId}});
144
  //         } else {
145
  //             this._communityService.updateCommunity(this.properties.communityAPI+this.communityId, community).subscribe(
146
  //               community => {
147
  //                  this.handleSuccessfulSave('Community saved!')
148
  //               },
149
  //               error => this.handleUpdateError('System error updating community profile', error)
150
  //             );
151
  //             this._router.navigate(['/subjects-edit-form'], {queryParams: { "communityId": this.communityId}});
152
  //         }
153
  //     }
154
  //     this.resetChange();
155
  // }
156 204

  
157
  private parseUpdatedSubjects() : {} {
158
      var subjects = [];
159

  
160
      // TODO delete after testing
161
      //console.log(this.community.subjects);
162

  
163
      subjects['subjects'] = new Array<string>();
164
      this.community.subjects = this.getNonEmptyItems(this.community.subjects);
165
      subjects = this.community.subjects;
166

  
167
      return subjects;
168
  }
169

  
170
  // private parseUpdatedCommunity() : {} {
171
  //     var community = {};
172
  //
173
  //     community["name"] = this.community.title;
174
  //     community["shortName"] = this.community.shortTitle;
175
  //     community["status"] = this.community.status;
176
  //     community["description"] = this.community.description;
177
  //     community["logoUrl"] = this.community.logoUrl;
178
  //
179
  //     // TODO delete after testing
180
  //     //console.log(this.community.managers);
181
  //
182
  //     community['managers'] = new Array<string>();
183
  //     this.community.managers = this.getNonEmptyItems(this.community.managers);
184
  //     community['managers'] = this.community.managers;
185
  //
186
  //     // TODO delete after testing
187
  //     //console.log(this.community.subjects);
188
  //
189
  //     community['subjects'] = new Array<string>();
190
  //     this.community.subjects = this.getNonEmptyItems(this.community.subjects);
191
  //     community['subjects'] = this.community.subjects;
192
  //
193
  //     // TODO delete after testing
194
  //     //console.log(community);
195
  //     return community;
196
  // }
197

  
198 205
  private getNonEmptyItems(data: string[]): string[] {
199 206
      let length = data.length;
200 207
      let arrayNonEmpty = new Array<string>();
modules/uoa-admin-portal/branches/project-cli/src/app/pages/subjects/subjects.service.ts
9 9

  
10 10
  }
11 11

  
12
  updateSubjects(url: string, subjects:any) {
12
  addSubjects(url: string, subjects:any) {
13 13
      let headers = new Headers({'Content-Type': 'application/json'});
14 14
      let options = new RequestOptions({headers: headers});
15 15

  
......
18 18
      console.log(body);
19 19

  
20 20
      return this.http.post(url, body, options)
21
                        /*.map(res => res.json())*/
22
                        .do(request => console.log("Insert Response:"+request.status));
21
                        .do(request => console.log("Insert Response:"+request.status))
22
                        .map(res => res.json())
23
                        .map(res => {
24
                          res["method"]="post";
25
                          return res;
26
                        });
23 27
  }
24 28

  
29
  removeSubjects(url: string, subjects:any) {
30
      let headers = new Headers({'Content-Type': 'application/json'});
31

  
32
      let body = JSON.stringify(subjects);
33
      let options = new RequestOptions({headers: headers,body:body});
34

  
35

  
36
      console.log(body);
37

  
38
      return this.http.delete(url, options)
39
                        .do(request => console.log("Delete Response:"+request.status))
40
                        .map(res => res.json())
41
                        .map(res => {
42
                          res["method"]="delete";
43
                          return res;
44
                        });
45
  }
25 46
}
modules/uoa-admin-portal/branches/project-cli/src/app/pages/helpcontent/page-help-contents.component.html
61 61
                                  <div class="uk-alert uk-alert-primary uk-margin-top-large">
62 62
                                       <span class="uk-margin-small-right uk-icon" uk-icon="info"></span>
63 63
                                      Enable or disable help text to show or hide it from the dashboard
64
                                      <div class="uk-text-small">....  </div>
65 64

  
66 65
                                    </div>
67 66
                                  <ul uk-tab class="links">
......
85 84
                                            <th>Placement</th>
86 85
                                            <th>Order</th>
87 86
                                            <th>Before</th>
88
                                            <th>Active</th>
87
                                            <th>Change status</th>
89 88
                                            <th>Actions</th>
90 89
                                        </tr>
91 90
                                    </thead>
modules/uoa-admin-portal/branches/project-cli/src/app/pages/community/content-providers/add-content-providers.component.html
21 21
<errorMessages [status]="[openaireSearchUtils.status]" [type]="'OpenAIRE content providers'"></errorMessages>
22 22
<div *ngIf="openaireSearchUtils.status == errorCodes.NONE" class="uk-alert uk-alert-primary">
23 23
  <span class="uk-margin-small-right uk-icon" uk-icon="warning"></span>
24
   If you wish to suggest a new funder to include or report a missing content provider, please contact us via
24
   If you wish to suggest a missing content provider, please contact us via
25 25
   <a [href]="'mailto:' + properties.feedbackmailForMissingEntities +'?Subject=[OpenAIRE Connect - '+ community + '] report missing content provider' + '&body=' + body" target="_top">feedback@openaire.eu</a>.
26 26
</div>
27 27

  
modules/uoa-admin-portal/branches/project-cli/src/app/pages/community/content-providers/add-content-providers.component.ts
56 56
              if (typeof location !== 'undefined') {
57 57
                referrer = location.href;
58 58
              }
59
              this.body = "[Please write your message here] \n\n\nOpenAIRE " + this.community + " \nSent from "+((referrer)?referrer:" [referrer not available]")+ "  \n(please don't delete this part of the message)";
59
              this.body = "[Please write your message here]";
60 60
              this.body = StringUtils.URIEncode(this.body);
61 61
           });
62 62
        });
modules/uoa-admin-portal/branches/project-cli/src/app/pages/community/community-edit-form/community-edit-form.component.html
3 3

  
4 4

  
5 5

  
6
    <div *ngIf="communityId != null && community != null && !showLoading && !errorMessage" class="uk-margin-top">
7
        <table class="uk-table uk-align-center">
6
    <div>
7
      <div *ngIf="updateErrorMessage" class="uk-alert uk-alert-danger" role="alert">{{updateErrorMessage}}</div>
8
      <div *ngIf="errorMessage" class="uk-alert uk-alert-danger" role="alert">{{errorMessage}}</div>
9
      <div *ngIf="successfulSaveMessage" class="uk-alert uk-alert-success" role="alert">{{successfulSaveMessage}}</div>
10
      <div *ngIf="successfulResetMessage" class="uk-alert uk-alert-warning" role="alert">{{successfulResetMessage}}</div>
11
      <div *ngIf="showLoading" class="uk-animation-fade uk-width-1-1" role="alert"><img class="uk-align-center loading-gif"></div>
12
        <table *ngIf="communityId != null && community != null && !showLoading && !errorMessage" class="uk-table uk-align-center">
8 13
          <tbody>
9
              <tr *ngIf="updateErrorMessage || errorMessage || successfulSaveMessage || successfulUpdateMessage" >
10
                  <td></td>
11
                  <td class="uk-text-left">
12
                      <div *ngIf="updateErrorMessage" class="uk-alert uk-alert-danger" role="alert">{{updateErrorMessage}}</div>
13
                      <div *ngIf="errorMessage" class="uk-alert uk-alert-danger" role="alert">{{errorMessage}}</div>
14
                      <div *ngIf="successfulSaveMessage" class="uk-alert uk-alert-success" role="alert">{{successfulSaveMessage}}</div>
15
                      <div *ngIf="successfulResetMessage" class="uk-alert uk-alert-warning" role="alert">{{successfulResetMessage}}</div>
16
                      <div [style.display]="showLoading ? 'inline' : 'none'" class="uk-animation-fade uk-width-1-1" role="alert"><img class="uk-align-center loading-gif"></div>
17
                  </td>
18
              </tr>
14

  
19 15
              <tr>
20 16
                  <!-- <td for="name" class="uk-text-bold uk-width-1-2@xl uk-width-1-3@m uk-width-1-3@s uk-text-right">Name <span class="uk-text-danger uk-text-bold">*</span> :</td> -->
21 17
                  <td for="name" class="uk-text-bold uk-width-1-2@xl uk-width-1-3@m uk-width-1-3@s uk-text-right">Name <span class="uk-text-danger uk-text-bold">*</span> :</td>
......
67 63
                          <input placeholder="Type managers" type="text" class="form-control uk-input uk-width-large@l uk-width-medium@s"
68 64
                                                      id="{{'manager'+i}}" name="{{'manager'+i}}" [(ngModel)] = "community.managers[i]" (input)="change()">
69 65
                          <!-- <img type="uk-image" src="assets/imgs/delete-icon.png" height="25" width="25" title="Remove" onmouseover="" style="cursor: pointer;" (click)="removeManager(i)"/> -->
70
                          <a class="uk-icon-button remove red_background_color red_color" uk-icon="close" title="Remove" (click)="removeManager(i)"></a>
66
                          <a class="uk-icon-button remove red_background_color red_color" uk-icon="close" title="Remove" (click)="removeManager(i); change()"></a>
71 67
                          <a *ngIf="i == community.managers.length - 1" class="uk-icon-button add green_background_color green_color" uk-icon="plus" title="Add" (click)="addManager()"></a>
72 68
                      </div>
73 69
                      <a *ngIf="community.managers.length == 0" class="uk-icon-button add green_background_color green_color" uk-icon="plus" title="Add" (click)="addManager()"></a>
modules/uoa-admin-portal/branches/project-cli/src/app/pages/community/projects/add-projects.component.html
12 12
  <div>
13 13
    <form class="uk-text-center uk-animation uk-card uk-card-default uk-padding">
14 14
      <div>
15
        <input type="text" class="uk-input  uk-width-1-2" placeholder="Search projects in OpenAIRE..." aria-describedby="sizing-addon2"  [(ngModel)]="keyword"  name="keyword" >
15
        <input type="text" class="uk-input  uk-width-1-2" placeholder="Project name or ID" aria-describedby="sizing-addon2"  [(ngModel)]="keyword"  name="keyword" >
16 16
        <button (click)="keywordChanged(keyword)"  type="submit" class=" uk-button">
17 17
           <span class="uk-icon">
18 18
           <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="search" ratio="1"><circle fill="none" stroke="#000" stroke-width="1.1" cx="9" cy="9" r="7"></circle><path fill="none" stroke="#000" stroke-width="1.1" d="M14,14 L18,18 L14,14 Z"></path></svg>
modules/uoa-admin-portal/branches/project-cli/src/app/pages/community/projects/add-projects.component.ts
63 63
             if (typeof location !== 'undefined') {
64 64
               referrer = location.href;
65 65
             }
66
             this.body = "[Please write your message here] \n\n\nOpenAIRE " + this.community + " \nSent from "+((referrer)?referrer:" [referrer not available]")+ "  \n(please don't delete this part of the message)";
66
             this.body = "[Please write your message here]";
67 67
             this.body = StringUtils.URIEncode(this.body);
68 68
           });
69 69
        });
modules/uoa-admin-portal/branches/project-cli/src/app/pages/divhelpcontent/div-help-contents.component.html
67 67
                                  <div class="uk-alert uk-alert-primary uk-margin-top-large">
68 68
                                       <span class="uk-margin-small-right uk-icon" uk-icon="info"></span>
69 69
                                      Enable or disable help text to show or hide it from the dashboard
70
                                      <div class="uk-text-small">....  </div>
71

  
70
 
72 71
                                    </div>
73 72

  
74 73
                                  <ul uk-tab class="links">
......
91 90
                                            <!--th *ngIf="!selectedPageId">Community</th-->
92 91
                                            <th>Class</th>
93 92
                                            <th>Content</th>
94
                                            <th>Active</th>
93
                                            <th>Change status</th>
95 94
                                            <th>Actions</th>
96 95
                                        </tr>
97 96
                                    </thead>
modules/uoa-admin-portal/branches/project-cli/src/app/pages/page/pages.component.html
61 61
                                        <tr>
62 62
                                            <th><input id="allPageCheckbox" type="checkbox" (change)="toggleCheckBoxes($event)"></th>
63 63
                                            <th>Name</th>
64
                                            <th>State</th>
64
                                            <th>Change status</th>
65 65
                                            <th *ngIf="!pagesType">Type</th>
66 66
                                            <th>Related Entities</th>
67 67
                                            <th>Route</th>
modules/uoa-admin-portal/branches/project-cli/src/app/pages/entity/entities.component.html
53 53
                                        <tr>
54 54
                                            <th><input id="allEntityCheckbox" type="checkbox" (change)="toggleCheckBoxes($event)"></th>
55 55
                                            <th>Name</th>
56
                                            <th>State</th>
56
                                            <th>Change status</th>
57 57
                                            <th *ngIf="isPortalAdministrator">Actions</th>
58 58
                                        </tr>
59 59
                                    </thead>

Also available in: Unified diff