Revision 52307
Added by Argiro Kokogiannaki almost 6 years ago
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 & 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 & 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 & 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 & 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
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