[master]: Add alternative method for browse rfos/rpos.
This commit is contained in:
parent
3599f3d7d9
commit
215ac51664
|
@ -1 +1 @@
|
||||||
Subproject commit 9ef3f71ea656dca035238bb4f715666348a29616
|
Subproject commit e0de892998d76b2236babf3439ed532e4501145d
|
|
@ -1,11 +1,10 @@
|
||||||
import {ChangeDetectorRef, Directive, OnInit} from "@angular/core";
|
import {ChangeDetectorRef, Directive, OnInit} from "@angular/core";
|
||||||
import {StakeholderBaseComponent} from "../openaireLibrary/monitor-admin/utils/stakeholder-base.component";
|
import {StakeholderBaseComponent} from "../openaireLibrary/monitor-admin/utils/stakeholder-base.component";
|
||||||
import {Stakeholder, StakeholderType} from "../openaireLibrary/monitor/entities/stakeholder";
|
import {StakeholderType} from "../openaireLibrary/monitor/entities/stakeholder";
|
||||||
import {Option} from "../openaireLibrary/sharedComponents/input/input.component";
|
import {Option} from "../openaireLibrary/sharedComponents/input/input.component";
|
||||||
import {FormBuilder, FormControl} from "@angular/forms";
|
import {FormBuilder, FormControl} from "@angular/forms";
|
||||||
import {debounceTime, distinctUntilChanged} from "rxjs/operators";
|
import {debounceTime, distinctUntilChanged} from "rxjs/operators";
|
||||||
import {HelperFunctions} from "../openaireLibrary/utils/HelperFunctions.class";
|
import {HelperFunctions} from "../openaireLibrary/utils/HelperFunctions.class";
|
||||||
import {StakeholderService} from "../openaireLibrary/monitor/services/stakeholder.service";
|
|
||||||
import {LayoutService} from "../openaireLibrary/dashboard/sharedComponents/sidebar/layout.service";
|
import {LayoutService} from "../openaireLibrary/dashboard/sharedComponents/sidebar/layout.service";
|
||||||
import {IrishMonitorService} from "./irish-monitor.service";
|
import {IrishMonitorService} from "./irish-monitor.service";
|
||||||
import {StakeholderPublication} from "./irish";
|
import {StakeholderPublication} from "./irish";
|
||||||
|
@ -33,6 +32,7 @@ export class BrowseStakeholderBaseComponent extends StakeholderBaseComponent imp
|
||||||
pageSize: number = 10;
|
pageSize: number = 10;
|
||||||
parameters = {};
|
parameters = {};
|
||||||
keywordControl: FormControl;
|
keywordControl: FormControl;
|
||||||
|
hasPublications: boolean = true;
|
||||||
|
|
||||||
/* Services */
|
/* Services */
|
||||||
protected irishMonitorService: IrishMonitorService;
|
protected irishMonitorService: IrishMonitorService;
|
||||||
|
@ -57,6 +57,11 @@ export class BrowseStakeholderBaseComponent extends StakeholderBaseComponent imp
|
||||||
this.subscriptions.push(this.irishMonitorService.getStakeholdersWithPublications(this.stakeholderType).subscribe(stakeholders => {
|
this.subscriptions.push(this.irishMonitorService.getStakeholdersWithPublications(this.stakeholderType).subscribe(stakeholders => {
|
||||||
this.stakeholders = stakeholders;
|
this.stakeholders = stakeholders;
|
||||||
this.filteredStakeholders = stakeholders;
|
this.filteredStakeholders = stakeholders;
|
||||||
|
this.hasPublications = this.stakeholders.length > 0 && this.stakeholders.filter(stakeholder => stakeholder.publications > 0).length > 0;
|
||||||
|
if(!this.hasPublications) {
|
||||||
|
this.sortBy = 'alphAsc';
|
||||||
|
this.sortOptions = this.sortOptions.filter(option => !!option.value);
|
||||||
|
}
|
||||||
this.sortByChanged();
|
this.sortByChanged();
|
||||||
this.filtering(this.keywordControl.value);
|
this.filtering(this.keywordControl.value);
|
||||||
}));
|
}));
|
||||||
|
|
|
@ -117,7 +117,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<th>Logo</th>
|
<th>Logo</th>
|
||||||
<th>Name</th>
|
<th>Name</th>
|
||||||
<th># of Publications</th>
|
<th *ngIf="hasPublications"># of Publications</th>
|
||||||
<th *ngIf="stakeholderType === 'funder'">Type</th>
|
<th *ngIf="stakeholderType === 'funder'">Type</th>
|
||||||
<!-- <th class="uk-flex uk-flex-middle">
|
<!-- <th class="uk-flex uk-flex-middle">
|
||||||
<icon [name]="'open_access'" [flex]="true" [ratio]="0.8" class="open-access"></icon>
|
<icon [name]="'open_access'" [flex]="true" [ratio]="0.8" class="open-access"></icon>
|
||||||
|
@ -142,7 +142,7 @@
|
||||||
{{item.name}}
|
{{item.name}}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td *ngIf="hasPublications">
|
||||||
<div class="uk-text-truncate uk-text-capitalize uk-text-italic uk-text-small uk-text-bold" [title]="item.name">
|
<div class="uk-text-truncate uk-text-capitalize uk-text-italic uk-text-small uk-text-bold" [title]="item.name">
|
||||||
{{item.publications | number}}
|
{{item.publications | number}}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -5,8 +5,9 @@ import {StakeholderPublication} from "./irish";
|
||||||
import {properties} from "../../environments/environment";
|
import {properties} from "../../environments/environment";
|
||||||
import {Stakeholder, StakeholderType} from "../openaireLibrary/monitor/entities/stakeholder";
|
import {Stakeholder, StakeholderType} from "../openaireLibrary/monitor/entities/stakeholder";
|
||||||
import {CustomOptions} from "../openaireLibrary/services/servicesUtils/customOptions.class";
|
import {CustomOptions} from "../openaireLibrary/services/servicesUtils/customOptions.class";
|
||||||
import {map} from "rxjs/operators";
|
import {catchError, map} from "rxjs/operators";
|
||||||
import {HelperFunctions} from "../openaireLibrary/utils/HelperFunctions.class";
|
import {HelperFunctions} from "../openaireLibrary/utils/HelperFunctions.class";
|
||||||
|
import {StakeholderService} from "../openaireLibrary/monitor/services/stakeholder.service";
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root'
|
providedIn: 'root'
|
||||||
|
@ -14,11 +15,14 @@ import {HelperFunctions} from "../openaireLibrary/utils/HelperFunctions.class";
|
||||||
export class IrishMonitorService {
|
export class IrishMonitorService {
|
||||||
|
|
||||||
|
|
||||||
constructor(private http: HttpClient) {
|
constructor(private http: HttpClient,
|
||||||
|
private stakeholderService: StakeholderService) {
|
||||||
}
|
}
|
||||||
|
|
||||||
public getStakeholdersWithPublications(type: StakeholderType): Observable<StakeholderPublication[]> {
|
public getStakeholdersWithPublications(type: StakeholderType): Observable<StakeholderPublication[]> {
|
||||||
return this.http.get<StakeholderPublication[]>(properties.monitorServiceAPIURL + '/publications/' + type, CustomOptions.registryOptions()).pipe(map(stakeholders => {
|
return this.http.get<StakeholderPublication[]>(properties.monitorServiceAPIURL + '/publications/' + type, CustomOptions.registryOptions()).pipe(catchError(err => {
|
||||||
|
return this.stakeholderService.getStakeholders(properties.monitorServiceAPIURL, type, null);
|
||||||
|
}), map(stakeholders => {
|
||||||
return HelperFunctions.copy(Stakeholder.checkIsUpload(stakeholders));
|
return HelperFunctions.copy(Stakeholder.checkIsUpload(stakeholders));
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue