diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 4681a77..41a585c 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -5,7 +5,7 @@ import {ActivatedRoute} from '@angular/router'; import { EnvProperties} from './openaireLibrary/utils/properties/env-properties'; import{MenuItem, RootMenuItem} from './openaireLibrary/sharedComponents/menu'; import { EnvironmentSpecificService} from './openaireLibrary/utils/properties/environment-specific.service'; -import {CommunityService} from "./community/community.service"; +import {CommunityService} from "./utils/services/community.service"; @Component({ diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 55aab58..115a12c 100755 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -21,7 +21,7 @@ import { ErrorModule} from './openaireLibrary/error/error.module'; import { OpenaireErrorPageComponent } from './error/errorPage.component'; import { AppRoutingModule } from './app-routing.module'; -import { CommunityService } from './community/community.service'; +import { CommunityService } from './utils/services/community.service'; import { CommunitiesService } from './communities/communities.service'; //import { LibSearchProjectsModule } from './searchPages/simple/searchProjects.module'; diff --git a/src/app/communities/communities.component.ts b/src/app/communities/communities.component.ts index aa1a25a..909c27e 100644 --- a/src/app/communities/communities.component.ts +++ b/src/app/communities/communities.component.ts @@ -6,10 +6,10 @@ import "rxjs/add/observable/zip"; import { EnvProperties} from '../openaireLibrary/utils/properties/env-properties'; import { ErrorCodes} from '../openaireLibrary/utils/properties/errorCodes'; import {Properties} from '../utils/properties'; + import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service'; import {Meta} from '../openaireLibrary/sharedComponents/metaService'; import {ConfigurationService} from '../openaireLibrary/utils/configuration/configuration.service'; - import {CommunitiesService} from './communities.service'; @Component({ @@ -25,14 +25,14 @@ export class CommunitiesComponent { public communitiesResults = null; - constructor ( private route: ActivatedRoute, private _router: Router, - private location: Location, private _meta: Meta,private _piwikService:PiwikService, private _communitiesService:CommunitiesService, + private location: Location, private _meta: Meta, + private _piwikService:PiwikService, + private _communitiesService:CommunitiesService, private config: ConfigurationService ) { - var description = "open access, research, scientific publication, European Commission, EC, FP7, ERC, Horizon 2020, H2020, search, projects "; var title = "OpenAIRE"; @@ -41,9 +41,6 @@ export class CommunitiesComponent { this._meta.updateMeta("description", description); this._meta.updateProperty("og:description", description); this._meta.updateProperty("og:title", title); - - - } public ngOnInit() { @@ -57,8 +54,7 @@ export class CommunitiesComponent { } }); - - this._communitiesService.getResults('https://dev-openaire.d4science.org/openaire/community/communities').subscribe( + this._communitiesService.getCommunities('https://dev-openaire.d4science.org/openaire/community/communities').subscribe( communitiesResults => { this.communitiesResults = communitiesResults; //console.log(communitiesResults); @@ -66,13 +62,9 @@ export class CommunitiesComponent { } - public ngOnDestroy() { if(this.piwiksub){ this.piwiksub.unsubscribe(); } - - } - } diff --git a/src/app/communities/communities.service.ts b/src/app/communities/communities.service.ts index b4d495d..470e8da 100644 --- a/src/app/communities/communities.service.ts +++ b/src/app/communities/communities.service.ts @@ -10,11 +10,11 @@ export class CommunitiesService { constructor(private http:Http) { } - getResults(url: string) { - return this.http.get(url).map(res => res.json()).map(res => this.parseResults(res)); + getCommunities(url: string) { + return this.http.get(url).map(res => res.json()).map(res => this.parseCommunities(res)); } - parseResults(data: any): CommunityInfo[] { + parseCommunities(data: any): CommunityInfo[] { let communities: CommunityInfo[] = []; let length = Array.isArray(data) ? data.length :1; diff --git a/src/app/community/community.component.ts b/src/app/community/community.component.ts index 6556801..74c2b8c 100644 --- a/src/app/community/community.component.ts +++ b/src/app/community/community.component.ts @@ -5,13 +5,13 @@ import {Location} from '@angular/common'; import "rxjs/add/observable/zip"; import { EnvProperties} from '../openaireLibrary/utils/properties/env-properties'; import { ErrorCodes} from '../openaireLibrary/utils/properties/errorCodes'; - import {Properties} from '../utils/properties'; -import {CommunityService} from "./community.service"; -import {CommunitiesService} from "../communities/communities.service"; + +import {CommunityService} from "../utils/services/community.service"; import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service'; import {Meta} from '../openaireLibrary/sharedComponents/metaService'; import {ConfigurationService} from '../openaireLibrary/utils/configuration/configuration.service'; +import {SearchEntriesService} from '../searchEntries/searchEntries.service'; @Component({ @@ -44,22 +44,19 @@ export class CommunityComponent { constructor ( private route: ActivatedRoute, private _router: Router, - private location: Location, private _meta: Meta, private _piwikService:PiwikService, + private location: Location, private _meta: Meta, + private _piwikService:PiwikService, private config: ConfigurationService, - private _communityService:CommunityService, private _communitiesService:CommunitiesService + private _communityService:CommunityService, + private _searchEntriesService:SearchEntriesService, ) { - var description = "open access, research, scientific publication, European Commission, EC, FP7, ERC, Horizon 2020, H2020, search, projects "; - var title = "OpenAIRE"; this._meta.setTitle(title); this._meta.updateMeta("description", description); this._meta.updateProperty("og:description", description); this._meta.updateProperty("og:title", title); - - - } public ngOnInit() { @@ -74,7 +71,6 @@ export class CommunityComponent { }); - this.route.queryParams.subscribe( communityId => { this.communityId = communityId['communityId']; @@ -84,67 +80,64 @@ export class CommunityComponent { community => { this.community = community; this.params = {community: encodeURIComponent('"'+community.queryId+'"')}; - console.log(community); + //console.log(community); }); - this._communityService.getTotal('http://beta.services.openaire.eu:8480/search/rest/v2/api/publications/count?format=json&fq=communityid='+this.communityId).subscribe( + this._searchEntriesService.getTotal('http://beta.services.openaire.eu:8480/search/rest/v2/api/publications/count?format=json&fq=communityid='+this.communityId).subscribe( publicationTotal => { this.publicationTotal = publicationTotal; }); - this._communityService.getTotal('http://beta.services.openaire.eu:8480/search/rest/v2/api/datasets/count?format=json&fq=communityid='+this.communityId).subscribe( + this._searchEntriesService.getTotal('http://beta.services.openaire.eu:8480/search/rest/v2/api/datasets/count?format=json&fq=communityid='+this.communityId).subscribe( researchDataTotal => { this.researchDataTotal = researchDataTotal; }); - this._communityService.getTotal('http://beta.services.openaire.eu:8480/search/rest/v2/api/software/count?format=json&fq=communityid='+this.communityId).subscribe( + this._searchEntriesService.getTotal('http://beta.services.openaire.eu:8480/search/rest/v2/api/software/count?format=json&fq=communityid='+this.communityId).subscribe( softwareTotal => { this.softwareTotal = softwareTotal; }); - this._communityService.countTotal('https://dev-openaire.d4science.org/openaire/community/'+this.communityId+'/projects').subscribe( + this._searchEntriesService.countTotal('https://dev-openaire.d4science.org/openaire/community/'+this.communityId+'/projects').subscribe( projectTotal => { this.projectTotal = projectTotal; //console.log(projectTotal); }); - this._communityService.countTotal('https://dev-openaire.d4science.org/openaire/community/'+this.communityId+'/contentproviders').subscribe( + this._searchEntriesService.countTotal('https://dev-openaire.d4science.org/openaire/community/'+this.communityId+'/contentproviders').subscribe( contentProviderTotal => { this.contentProviderTotal = contentProviderTotal; //console.log(contentProviderTotal); }); - // this._communityService.countTotal('https://dev-openaire.d4science.org/openaire/community/'+this.communityId+'/organizations').subscribe( + // this._searchEntriesService.countTotal('https://dev-openaire.d4science.org/openaire/community/'+this.communityId+'/organizations').subscribe( // organizationTotal => { // this.organizationTotal = organizationTotal; // console.log(organizationTotal); // }); - this._communityService.getResults('http://beta.services.openaire.eu:8480/search/rest/v2/api/publications?fq=communityid%20exact%20%22'+this.communityId+'%22&sortBy=resultdateofacceptance,descending&format=json&size=5').subscribe( + this._searchEntriesService.getResults('http://beta.services.openaire.eu:8480/search/rest/v2/api/publications?fq=communityid%20exact%20%22'+this.communityId+'%22&sortBy=resultdateofacceptance,descending&format=json&size=5').subscribe( publicationResults => { this.publicationResults = publicationResults; //console.log(publicationResults); }); - this._communityService.getResults('http://beta.services.openaire.eu:8480/search/rest/v2/api/datasets?fq=communityid%20exact%20%22'+this.communityId+'%22&sortBy=resultdateofacceptance,descending&format=json&size=5').subscribe( + this._searchEntriesService.getResults('http://beta.services.openaire.eu:8480/search/rest/v2/api/datasets?fq=communityid%20exact%20%22'+this.communityId+'%22&sortBy=resultdateofacceptance,descending&format=json&size=5').subscribe( researchDataResults => { this.researchDataResults = researchDataResults; }); - this._communityService.getResults('http://beta.services.openaire.eu:8480/search/rest/v2/api/software?fq=communityid%20exact%20%22'+this.communityId+'%22&sortBy=resultdateofacceptance,descending&format=json&size=5').subscribe( + this._searchEntriesService.getResults('http://beta.services.openaire.eu:8480/search/rest/v2/api/software?fq=communityid%20exact%20%22'+this.communityId+'%22&sortBy=resultdateofacceptance,descending&format=json&size=5').subscribe( softwareResults => { this.softwareResults = softwareResults; }); } - public ngOnDestroy() { if(this.piwiksub){ this.piwiksub.unsubscribe(); } - - } } diff --git a/src/app/community/community.module.ts b/src/app/community/community.module.ts index 2bc425d..7e3444a 100644 --- a/src/app/community/community.module.ts +++ b/src/app/community/community.module.ts @@ -5,15 +5,13 @@ import { RouterModule } from '@angular/router'; import{CommunityRoutingModule} from './community-routing.module'; import{CommunityComponent} from './community.component'; - -import { CommunityService } from './community.service'; -import { CommunitiesService } from '../communities/communities.service'; - -import {ResultsComponent} from './results/results.component'; +import {ResultsComponent} from '../searchEntries/results/results.component'; import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service'; import {Meta} from '../openaireLibrary/sharedComponents/metaService'; import {ConfigurationService} from '../openaireLibrary/utils/configuration/configuration.service'; +import {SearchEntriesService} from '../searchEntries/searchEntries.service'; +import { CommunityService } from '../utils/services/community.service'; import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @@ -28,7 +26,8 @@ import {SubscribeModule} from '../utils/subscribe/subscribe.module'; CommunityComponent, ResultsComponent ], providers:[ - FreeGuard, PreviousRouteRecorder, ConfigurationService, Meta, PiwikService, CommunityService, CommunitiesService + FreeGuard, PreviousRouteRecorder, ConfigurationService, Meta, + PiwikService, CommunityService, SearchEntriesService ], exports: [ CommunityComponent diff --git a/src/app/community/results/resultInfo.ts b/src/app/searchEntries/results/resultInfo.ts similarity index 100% rename from src/app/community/results/resultInfo.ts rename to src/app/searchEntries/results/resultInfo.ts diff --git a/src/app/community/results/results.component.ts b/src/app/searchEntries/results/results.component.ts similarity index 100% rename from src/app/community/results/results.component.ts rename to src/app/searchEntries/results/results.component.ts diff --git a/src/app/searchEntries/searchEntries.service.ts b/src/app/searchEntries/searchEntries.service.ts new file mode 100644 index 0000000..a7db82b --- /dev/null +++ b/src/app/searchEntries/searchEntries.service.ts @@ -0,0 +1,91 @@ +import { Injectable } from '@angular/core'; +import { Http, Response, Headers, RequestOptions } from '@angular/http'; +import { Observable } from 'rxjs/Rx'; + +import { ResultInfo } from './results/resultInfo'; +import { CommunityInfo } from '../utils/communityInfo'; + +@Injectable() +export class SearchEntriesService { + + private sizeOfDescription: number = 135; + + constructor(private http:Http) { + } + + getTotal(url: string) { + return this.http.get(url).map(res => res.json()).map(res => res.total); + //.do(res => {console.log(res)}); + } + + countTotal(url:string) { + return this.http.get(url).map(res => res.json()).map(res => res.length); + } + + getResults(url: string) { + return this.http.get(url).map(res => res.json()).map(res => this.parseResults(res['results'])); + } + + parseResults(data: any): ResultInfo[] { + let results: ResultInfo[] = []; + + let length = Array.isArray(data) ? data.length :1; + + for (let i=0; i(); + } + + let authors = resData['creator']; + let length = Array.isArray(authors) ? authors.length : 1; + + for(let i=0; i this.sizeOfDescription) { + result.description = result.description.substring(0, this.sizeOfDescription) + "..."; + } + + results.push(result); + } + return results; + } +} diff --git a/src/app/statistics/statistics.component.ts b/src/app/statistics/statistics.component.ts index d1cd0e9..b0b73c5 100644 --- a/src/app/statistics/statistics.component.ts +++ b/src/app/statistics/statistics.component.ts @@ -8,7 +8,7 @@ import { EnvProperties} from '../openaireLibrary/utils/properties/env-properties import { ErrorCodes} from '../openaireLibrary/utils/properties/errorCodes'; import {Properties} from '../utils/properties'; -import {CommunityService} from "../community/community.service"; +import {CommunityService} from "../utils/services/community.service"; import {CommunitiesService} from "../communities/communities.service"; import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service'; import {Meta} from '../openaireLibrary/sharedComponents/metaService'; diff --git a/src/app/statistics/statistics.module.ts b/src/app/statistics/statistics.module.ts index 7e0c78e..924f9fb 100644 --- a/src/app/statistics/statistics.module.ts +++ b/src/app/statistics/statistics.module.ts @@ -6,7 +6,7 @@ import { RouterModule } from '@angular/router'; import{StatisticsRoutingModule} from './statistics-routing.module'; import{StatisticsComponent} from './statistics.component'; import { StatisticsService } from '../utils/services/statistics.service'; -import { CommunityService } from '../community/community.service'; +import { CommunityService } from '../utils/services/community.service'; import { CommunitiesService } from '../communities/communities.service'; import {IFrameModule} from '../openaireLibrary/utils/iframe.module'; diff --git a/src/app/community/community.service.ts b/src/app/utils/services/community.service.ts similarity index 55% rename from src/app/community/community.service.ts rename to src/app/utils/services/community.service.ts index 62c92d1..1ecc33e 100644 --- a/src/app/community/community.service.ts +++ b/src/app/utils/services/community.service.ts @@ -2,92 +2,15 @@ import { Injectable } from '@angular/core'; import { Http, Response, Headers, RequestOptions } from '@angular/http'; import { Observable } from 'rxjs/Rx'; -import { ResultInfo } from './results/resultInfo'; -import { CommunityInfo } from '../utils/communityInfo'; +import { ResultInfo } from '../../searchEntries/results/resultInfo'; +import { CommunityInfo } from '../communityInfo'; @Injectable() export class CommunityService { - private sizeOfDescription: number = 135; - constructor(private http:Http) { } - getTotal(url: string) { - return this.http.get(url).map(res => res.json()).map(res => res.total).do(res => {console.log(res)}); - } - - countTotal(url:string) { - return this.http.get(url).map(res => res.json()).map(res => res.length); - } - - getResults(url: string) { - return this.http.get(url).map(res => res.json()).map(res => this.parseResults(res['results'])); - } - - parseResults(data: any): ResultInfo[] { - let results: ResultInfo[] = []; - - let length = Array.isArray(data) ? data.length :1; - - for (let i=0; i(); - } - - let authors = resData['creator']; - let length = Array.isArray(authors) ? authors.length : 1; - - for(let i=0; i this.sizeOfDescription) { - result.description = result.description.substring(0, this.sizeOfDescription) + "..."; - } - - results.push(result); - } - return results; - } - getCommunity(url: string) { return this.http.get(url).map(res => res.json()).map(res => this.parseCommunity(res)); }