diff --git a/src/app/utils/approvedByCommunity/approved.component.ts b/src/app/utils/approvedByCommunity/approved.component.ts new file mode 100644 index 0000000..fc906f9 --- /dev/null +++ b/src/app/utils/approvedByCommunity/approved.component.ts @@ -0,0 +1,60 @@ +import { Component, Input } from '@angular/core'; +import { Location } from '@angular/common'; +import { ActivatedRoute } from '@angular/router'; +import { EnvProperties} from '../../openaireLibrary/utils/properties/env-properties'; + +import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; +import {SearchCommunityDataprovidersService} from '../../services/searchDataproviders.service'; + +@Component({ + selector: 'approved-by-community', + template: ` + Community Approved + ` +}) + +export class ApprovedByCommunityComponent { + @Input() contentProviderId: string; + + public communityId:string; + public approved:boolean = false; + private communityContentProviders = []; + + properties:EnvProperties; + + constructor (private route: ActivatedRoute, private _searchDataprovidersService: SearchCommunityDataprovidersService) {} + + public ngOnInit() { + this.route.data + .subscribe((data: { envSpecific: EnvProperties }) => { + this.properties = data.envSpecific; + + this.route.queryParams.subscribe( + communityId => { + this.communityId = communityId['communityId']; + + if(!this.communityId){ + this.communityId = ConnectHelper.getCommunityFromDomain(document.location.hostname); + } + + if(this.communityId && this.communityId != "openaire") { + this._searchDataprovidersService.searchDataproviders(this.properties, this.communityId).subscribe ( + contentproviders => { + this.communityContentProviders = contentproviders; + this.approved = this.checkApproval(); + } + ); + } + }); + }); + + + } + + private checkApproval(): boolean { + let self = this; + return this.communityContentProviders.map(contentprovider => contentprovider.openaireId).some(function(id) { + return id == self.contentProviderId; + }); + } +} diff --git a/src/app/utils/approvedByCommunity/approved.module.ts b/src/app/utils/approvedByCommunity/approved.module.ts new file mode 100644 index 0000000..c2e64bd --- /dev/null +++ b/src/app/utils/approvedByCommunity/approved.module.ts @@ -0,0 +1,21 @@ +import { NgModule} from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { RouterModule } from '@angular/router'; + +import { ApprovedByCommunityComponent } from './approved.component'; +import {SearchDataprovidersServiceModule} from '../../services/searchDataprovidersService.module'; + +@NgModule({ + imports: [ + CommonModule, RouterModule, SearchDataprovidersServiceModule + ], + declarations: [ + ApprovedByCommunityComponent + ], + providers:[ + ], + exports: [ + ApprovedByCommunityComponent + ] +}) +export class ApprovedByCommunityModule { }