diff --git a/src/app/affiliations/affiliations.component.ts b/src/app/affiliations/affiliations.component.ts index cf08fad..0aa8d55 100644 --- a/src/app/affiliations/affiliations.component.ts +++ b/src/app/affiliations/affiliations.component.ts @@ -9,6 +9,7 @@ import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service"; import {PiwikService} from "../openaireLibrary/utils/piwik/piwik.service"; import {PiwikHelper} from "../utils/piwikHelper"; import {StringUtils} from '../openaireLibrary/utils/string-utils.class'; +import {Subscriber} from "rxjs"; @Component({ selector: 'affiliations', @@ -28,7 +29,7 @@ export class AffiliationsComponent { communityId: string; properties:EnvProperties; - public piwiksub: any; + subscriptions = []; public url: string = null; public pageTitle: string = "Related Organizations"; @@ -40,9 +41,9 @@ export class AffiliationsComponent { private affiliationService: AffiliationService) {} public ngOnInit() { - this.route.data + this.subscriptions.push(this.route.data .subscribe((data: { envSpecific: EnvProperties }) => { - this.route.queryParams.subscribe( + this.subscriptions.push(this.route.queryParams.subscribe( communityId => { this.communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); if(!this.communityId) { @@ -52,7 +53,7 @@ export class AffiliationsComponent { this.properties = data.envSpecific; if(this.longView) { if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) { - this.piwiksub = this._piwikService.trackView(this.properties, this.pageTitle, PiwikHelper.getSiteId(this.communityId, this.properties.environment)).subscribe(); + this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle, PiwikHelper.getSiteId(this.communityId, this.properties.environment)).subscribe()); } this.url = this.properties.domain + this._router.url; this.seoService.createLinkForCanonicalURL(this.url); @@ -63,7 +64,7 @@ export class AffiliationsComponent { if(this.getAffiliationsFromAPI) { this.showLoading = true; this.affiliationService.initAffiliations(this.communityId); - this.affiliationService.affiliations.subscribe( + this.subscriptions.push(this.affiliationService.affiliations.subscribe( affiliations => { this.affiliations = affiliations; this.showLoading = false; @@ -72,16 +73,19 @@ export class AffiliationsComponent { console.error("Affiliations Component: Error getting affiliations for community with id: " + this.communityId, error); this.showLoading = false; } - ); + )); } - }); - }); + })); + })); } - public ngOnDestroy() { - if (this.piwiksub) { - this.piwiksub.unsubscribe(); - } + ngOnDestroy() { + this.subscriptions.forEach(subscription => { + if (subscription instanceof Subscriber) { + subscription.unsubscribe(); + } + }); + this.affiliationService.clearSubscriptions(); } public urlPrefix(url: string): string { diff --git a/src/app/affiliations/affiliations.module.ts b/src/app/affiliations/affiliations.module.ts index 20e2528..82e7390 100644 --- a/src/app/affiliations/affiliations.module.ts +++ b/src/app/affiliations/affiliations.module.ts @@ -1,6 +1,5 @@ -import { NgModule, ModuleWithProviders } from '@angular/core'; +import { NgModule } from '@angular/core'; -import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {IsRouteEnabled} from '../openaireLibrary/error/isRouteEnabled.guard' import {RouterModule} from '@angular/router'; @@ -20,7 +19,7 @@ import {PiwikServiceModule} from "../openaireLibrary/utils/piwik/piwikService.mo declarations: [ AffiliationsComponent ], - providers:[FreeGuard,PreviousRouteRecorder, IsRouteEnabled, AffiliationService], + providers:[PreviousRouteRecorder, IsRouteEnabled, AffiliationService], exports: [ AffiliationsComponent ] diff --git a/src/app/app.component.ts b/src/app/app.component.ts index b995ded..52753a1 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -13,6 +13,7 @@ import {UserManagementService} from "./openaireLibrary/services/user-management. import {ConfigurationService} from "./openaireLibrary/utils/configuration/configuration.service"; import {properties} from '../environments/environment'; import {Header} from "./openaireLibrary/sharedComponents/navigationBar.component"; +import {Subscriber} from "rxjs"; @Component({ //changeDetection: ChangeDetectionStrategy.Default, @@ -92,54 +93,58 @@ export class AppComponent { communityId: string = ""; header: Header; logoPath: string = 'assets/common-assets/'; + subscriptions = []; // community: {id:string, name:string, logoUrl:string}; constructor(private route: ActivatedRoute, private propertiesService: EnvironmentSpecificService, private _communitiesService: CommunitiesService, private _subscribeService: SubscribeService, private router: Router, private userManagementService: UserManagementService, private configurationService: ConfigurationService) { - router.events.forEach((event) => { + this.subscriptions.push(router.events.forEach((event) => { if (event instanceof NavigationStart) { HelperFunctions.scroll(); } + })); + } + ngOnDestroy() { + this.subscriptions.forEach(subscription => { + if (subscription instanceof Subscriber) { + subscription.unsubscribe(); + } }); + this._communitiesService.clearSubscriptions(); + this.userManagementService.clearSubscriptions(); + this.configurationService.clearSubscriptions(); + this._subscribeService.clearSubscriptions(); } ngOnInit() { - // this.propertiesService.loadEnvironment() - // .then(es => { - // this.properties = this.propertiesService.envSpecific; this.properties = properties; - this._communitiesService.updateCommunities(this.properties, this.properties.communitiesAPI); - if (typeof document !== 'undefined') { - try { - this.isClient = true; - } catch (e) { - } - } - this.userManagementService.getUserInfo().subscribe(user => { - this.user = user; - this.init(); - }, - error => this.init()); - // }, error => { - // console.log("App couldn't fetch properties"); - // console.log(error); - // - // }); + this._communitiesService.updateCommunities(this.properties, this.properties.communitiesAPI); + if (typeof document !== 'undefined') { + try { + this.isClient = true; + } catch (e) { + } + } + this.subscriptions.push(this.userManagementService.getUserInfo().subscribe(user => { + this.user = user; + this.init(); + },error => this.init())); + } private init() { let communityId: string = ""; if (this.properties.environment == "development") { this.showMenu = false; - this.route.queryParams.subscribe(params => { + this.subscriptions.push(this.route.queryParams.subscribe(params => { communityId = (params['communityId']) ? params['communityId'] : ConnectHelper.getCommunityFromDomain(this.properties.domain); if(communityId) { this.properties.adminToolsPortalType = "community"; } this.configurationService.initCommunityInformation(this.properties, communityId); this.buildMenu(communityId); - }) + })); } else { this.showMenu = false; communityId = ConnectHelper.getCommunityFromDomain(this.properties.domain); @@ -155,7 +160,7 @@ export class AppComponent { public buildMenu(communityId: string) { let community = null; this.community = null; - this._communitiesService.getCommunitiesState().subscribe( + this.subscriptions.push(this._communitiesService.getCommunitiesState().subscribe( communities => { if (!communities || communities.length == 0 && communityId !== null && communityId !== '') { return; @@ -306,6 +311,6 @@ export class AppComponent { } } this.showMenu = true; - }); + })); } } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 2516134..7df3662 100755 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -20,14 +20,13 @@ import {EnvironmentSpecificResolver} from './openaireLibrary/utils/properties/en import {CommunitiesService} from './openaireLibrary/connect/communities/communities.service'; import {LayoutService} from "./openaireLibrary/services/layout.service"; import {SubscribeModule} from './utils/subscribe/subscribe.module'; -import {ThemeComponent} from "./openaireLibrary/utils/theme/theme.component"; import {CustomizationModule} from "./utils/customization/customization.module"; import {HttpInterceptorService} from "./openaireLibrary/http-interceptor.service"; -import {PageURLResolverComponent} from "./openaireLibrary/utils/pageURLResolver.component"; import {InviteBasicModule} from "./utils/subscribe/invite/inviteBasic.module"; import {SubscribeService} from "./openaireLibrary/utils/subscribe/subscribe.service"; import {PageURLResolverModule} from "./openaireLibrary/utils/pageURLResolver.module"; import {Schema2jsonldModule} from "./openaireLibrary/sharedComponents/schema2jsonld/schema2jsonld.module"; +import {DEFAULT_TIMEOUT, TimeoutInterceptor} from "./openaireLibrary/timeout-interceptor.service"; @NgModule({ @@ -56,9 +55,11 @@ import {Schema2jsonldModule} from "./openaireLibrary/sharedComponents/schema2jso provide: HTTP_INTERCEPTORS, useClass: HttpInterceptorService, multi: true - } + }, + [{ provide: HTTP_INTERCEPTORS, useClass: TimeoutInterceptor, multi: true }], + [{ provide: DEFAULT_TIMEOUT, useValue: 30000 }] ], bootstrap: [AppComponent] }) -// + export class AppModule {} diff --git a/src/app/claims/claim.module.ts b/src/app/claims/claim.module.ts deleted file mode 100644 index 113e859..0000000 --- a/src/app/claims/claim.module.ts +++ /dev/null @@ -1,68 +0,0 @@ -// import { NgModule} from '@angular/core'; -// import { CommonModule } from '@angular/common'; -// import { FormsModule } from '@angular/forms'; -// // -// import {UtilsModule} from '../utils/utils.module'; -// import {ServicesModule} from '../services/services.module'; -// -// import { ClaimsService} from '../services/claims.service'; -// //main -// import {ClaimComponent} from './claim/claim.component'; -// import {ClaimsAdminComponent} from './claims/claimsAdmin.component'; -// import {MyClaimsComponent} from './myClaims/myClaims.component'; -// import {LinkingHomeComponent} from './linking/linkingHome.component'; -// import {LinkingComponent} from './linking/linking.component'; -// import { BulkLinkingComponent } from './linking/bulkLinking.component'; -// -// import {BulkClaimComponent} from './linking/bulkClaim/bulkClaim.component'; -// import {ClaimsComponent} from './claim-utils/claims.component'; -// -// import {ClaimContextComponent} from './claim-utils/claimContext.component'; -// import {ClaimProjectsComponent} from './claim-utils/claimProject.component'; -// import {ClaimResultComponent} from './claim-utils/claimResult.component'; -// import {ClaimPublicationComponent} from './claim-utils/claimPublication.component'; -// import {ClaimDatasetComponent} from './claim-utils/claimDataset.component'; -// -// import {ClaimInsertComponent} from './linking/insertClaim/insertClaim.component'; -// -// import {ClaimSelectedContextsComponent} from './linking/selected/selectedContexts.component'; -// import {ClaimSelectedComponent} from './linking/selected/selected.component'; -// import {ClaimSelectedDatasetsComponent} from './linking/selected/selectedDatasets.component'; -// import {ClaimSelectedResultsComponent} from './linking/selected/selectedResults.component'; -// import {ClaimSelectedProjectsComponent} from './linking/selected/selectedProjects.component'; -// import {ClaimSelectedPublicationsComponent} from './linking/selected/selectedPublications.component'; -// -// import {LinkingGenericComponent} from './linking/linkingGeneric.component'; -// -// import {InlineClaimContextComponent} from './inlineClaims/inlineClaimContext.component'; -// import {InlineClaimProjectComponent} from './inlineClaims/inlineClaimProject.component'; -// import {InlineClaimResultComponent} from './inlineClaims/inlineClaimResult.component'; -// import {ClaimEntityFormatter} from '../utils/claimEntityFormatter.component'; -// -// import { Claim } from '../utils/entities/claim'; -// //helpers -// -// import { ClaimRoutingModule } from './claim-routing.module'; -// @NgModule({ -// imports: [ -// CommonModule, FormsModule, -// UtilsModule, -// ServicesModule, -// ClaimRoutingModule -// -// ], -// declarations: [ -// ClaimsAdminComponent, MyClaimsComponent, ClaimComponent, ClaimsComponent, -// BulkLinkingComponent, LinkingComponent, LinkingHomeComponent, LinkingGenericComponent, -// InlineClaimContextComponent, InlineClaimProjectComponent, InlineClaimResultComponent, ClaimSelectedComponent, -// ClaimContextComponent, ClaimSelectedContextsComponent, ClaimInsertComponent, ClaimProjectsComponent, ClaimSelectedProjectsComponent, -// ClaimResultComponent, ClaimSelectedPublicationsComponent, ClaimSelectedDatasetsComponent, ClaimSelectedResultsComponent, ClaimPublicationComponent, -// ClaimDatasetComponent, BulkClaimComponent, -// ClaimEntityFormatter -// ], -// providers: [ ClaimsService ], -// exports: [ -// InlineClaimContextComponent, InlineClaimProjectComponent, InlineClaimResultComponent -// ] -// }) -// export class ClaimModule { } diff --git a/src/app/claims/directLinking/directLinking.component.ts b/src/app/claims/directLinking/directLinking.component.ts index 008fa65..15104f2 100644 --- a/src/app/claims/directLinking/directLinking.component.ts +++ b/src/app/claims/directLinking/directLinking.component.ts @@ -2,6 +2,7 @@ import {Component} from '@angular/core'; import {ActivatedRoute} from '@angular/router'; import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; import {PiwikHelper} from "../../utils/piwikHelper"; +import {Subscriber} from "rxjs"; @Component({ selector: 'openaire-directLinking', @@ -11,13 +12,18 @@ import {PiwikHelper} from "../../utils/piwikHelper"; export class OpenaireDirectLinkingComponent { communityId: string; public piwikSiteId = null; - + sub; constructor(private route: ActivatedRoute) { } + ngOnDestroy() { + if (this.sub instanceof Subscriber) { + this.sub.unsubscribe(); + } + } public ngOnInit() { - this.route.data + this.sub = this.route.data .subscribe((data: { envSpecific: any }) => { this.route.queryParams.subscribe( communityId => { diff --git a/src/app/claims/linking/linking-routing.module.ts b/src/app/claims/linking/linking-routing.module.ts index f5ec9c5..785ea0f 100644 --- a/src/app/claims/linking/linking-routing.module.ts +++ b/src/app/claims/linking/linking-routing.module.ts @@ -4,12 +4,12 @@ import {OpenaireLinkingComponent} from './linkingGeneric.component'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'; import {ConnectSubscriberGuard} from '../../openaireLibrary/connect/communityGuard/connectSubscriber.guard'; +import {LoginGuard} from "../../openaireLibrary/login/loginGuard.guard"; -//LoginGuard @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireLinkingComponent, canActivate: [IsRouteEnabled, ConnectSubscriberGuard ], data: { + { path: '', component: OpenaireLinkingComponent, canActivate: [IsRouteEnabled, LoginGuard, ConnectSubscriberGuard ], data: { redirect: '/error' }, canDeactivate: [PreviousRouteRecorder]}, diff --git a/src/app/claims/linking/linkingGeneric.component.ts b/src/app/claims/linking/linkingGeneric.component.ts index e51f988..1b99fdf 100644 --- a/src/app/claims/linking/linkingGeneric.component.ts +++ b/src/app/claims/linking/linkingGeneric.component.ts @@ -2,6 +2,7 @@ import {Component} from '@angular/core'; import {ActivatedRoute} from '@angular/router'; import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; import {PiwikHelper} from "../../utils/piwikHelper"; +import {Subscriber} from "rxjs"; @Component({ selector: 'openaire-linking-generic', @@ -11,9 +12,14 @@ import {PiwikHelper} from "../../utils/piwikHelper"; export class OpenaireLinkingComponent { communityId:string; public piwikSiteId = null; - + sub; + ngOnDestroy() { + if (this.sub instanceof Subscriber) { + this.sub.unsubscribe(); + } + } constructor (private route: ActivatedRoute) { - this.route.data + this.sub = this.route.data .subscribe((data: { envSpecific: any }) => { this.route.queryParams.subscribe( communityId => { diff --git a/src/app/claims/myClaims/myClaims.component.ts b/src/app/claims/myClaims/myClaims.component.ts index 8bcd4a2..0f4a1a9 100644 --- a/src/app/claims/myClaims/myClaims.component.ts +++ b/src/app/claims/myClaims/myClaims.component.ts @@ -3,6 +3,7 @@ import {ActivatedRoute} from '@angular/router'; import {EnvProperties} from '../../openaireLibrary/utils/properties/env-properties'; import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper"; import {PiwikHelper} from "../../utils/piwikHelper"; +import {Subscriber} from "rxjs"; @Component({ @@ -19,9 +20,14 @@ import {PiwikHelper} from "../../utils/piwikHelper"; public piwikSiteId = null; constructor (private route: ActivatedRoute) {} - + sub; + ngOnDestroy() { + if (this.sub instanceof Subscriber) { + this.sub.unsubscribe(); + } + } public ngOnInit() { - this.route.data + this.sub = this.route.data .subscribe((data: { envSpecific: EnvProperties }) => { this.claimsInfoURL = data.envSpecific.claimsInformationLink; this.userInfoURL = data.envSpecific.userInfoUrl; diff --git a/src/app/claims/myClaimsDemo.component.ts b/src/app/claims/myClaimsDemo.component.ts deleted file mode 100644 index 6490a59..0000000 --- a/src/app/claims/myClaimsDemo.component.ts +++ /dev/null @@ -1,51 +0,0 @@ -// import {Component, Input} from '@angular/core'; -// import {Observable} from 'rxjs/Observable'; -// import { Router } from '@angular/router'; -// -// -// -// @Component({ -// selector: 'my-claims-demo', -// template: ` -//
-// -//
-//
Linking
-//
MyClaims
-//
Claims Admin
-//

Extra parameters for claims admin

-//
Claims By user
-//
Claims By project
-//
Claims By context
-// -// -//
Publication od_______908::3a5b2885656a91307156325644e73b92
-// -//
-//
-// -// -// -// ` -// //(click)="changeOrderby('target')" -// //od_______908::3a5b2885656a91307156325644e73b92 -// -// }) -// export class MyClaimsDemoComponent { -// constructor ( private _router: Router ) { -// } -// user:string="argirok@di.uoa.gr"; -// ngOnInit() { -// -// } -// goToPub(id: number){ -// this._router.navigate( ['Publication', { articleId: id}] ); -// } -// } diff --git a/src/app/communities/browseCommunity/browse-community.component.ts b/src/app/communities/browseCommunity/browse-community.component.ts index c50e68c..9854098 100644 --- a/src/app/communities/browseCommunity/browse-community.component.ts +++ b/src/app/communities/browseCommunity/browse-community.component.ts @@ -5,6 +5,7 @@ import {Location} from '@angular/common'; import {EnvProperties} from '../../openaireLibrary/utils/properties/env-properties'; import {CommunityInfo, prodReadyCommunities} from '../../openaireLibrary/connect/community/communityInfo'; import {LocalStorageService} from "../../openaireLibrary/services/localStorage.service"; +import {Subscriber} from "rxjs"; @Component({ selector: 'browse-community', @@ -33,18 +34,25 @@ export class BrowseCommunityComponent { public ngOnInit() { - this.route.data + this.subscriptions.push(this.route.data .subscribe((data: { envSpecific: EnvProperties }) => { this.properties = data.envSpecific; - this.localStorageService.get().subscribe(value => { + this.subscriptions.push(this.localStorageService.get().subscribe(value => { this.directLink = value; - }); - }); + })); + })); } - public ngOnDestroy() { + subscriptions = []; + ngOnDestroy() { + this.subscriptions.forEach(subscription => { + if (subscription instanceof Subscriber) { + subscription.unsubscribe(); + } + }); } + isProduction(): boolean { return this.properties.environment != "development"; } diff --git a/src/app/communities/browseCommunity/browse-community.module.ts b/src/app/communities/browseCommunity/browse-community.module.ts index 58edd4f..8380944 100644 --- a/src/app/communities/browseCommunity/browse-community.module.ts +++ b/src/app/communities/browseCommunity/browse-community.module.ts @@ -5,8 +5,6 @@ import {RouterModule} from '@angular/router'; import {BrowseCommunityComponent} from './browse-community.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; - import {SearchFormModule} from '../../openaireLibrary/searchPages/searchUtils/searchForm.module'; import {ManageModule} from '../../openaireLibrary/utils/manage/manage.module'; import {AlertModalModule} from "../../openaireLibrary/utils/modal/alertModal.module"; @@ -20,7 +18,6 @@ import {AlertModalModule} from "../../openaireLibrary/utils/modal/alertM BrowseCommunityComponent ], providers:[ - FreeGuard ], exports: [ BrowseCommunityComponent diff --git a/src/app/communities/communities-routing.module.ts b/src/app/communities/communities-routing.module.ts index 4c792f3..1428bc5 100644 --- a/src/app/communities/communities-routing.module.ts +++ b/src/app/communities/communities-routing.module.ts @@ -3,13 +3,12 @@ import { RouterModule } from '@angular/router'; import{CommunitiesComponent} from './communities.component'; -import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: CommunitiesComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] } + { path: '', component: CommunitiesComponent, canDeactivate: [PreviousRouteRecorder] } ]) ] diff --git a/src/app/communities/communities.component.ts b/src/app/communities/communities.component.ts index 6c39a92..f6aa3f3 100644 --- a/src/app/communities/communities.component.ts +++ b/src/app/communities/communities.component.ts @@ -14,6 +14,7 @@ import {ErrorMessagesComponent} from '../openaireLibrary/utils/errorMessages.com import {HelperService} from "../openaireLibrary/utils/helper/helper.service"; import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service"; import {properties} from "../../environments/environment"; +import {Subscriber} from "rxjs"; @Component({ selector: 'communities', @@ -21,7 +22,7 @@ import {properties} from "../../environments/environment"; }) export class CommunitiesComponent { - public piwiksub: any; + private subscriptions = []; public pageTitle = "OpenAIRE" public researchCommunities = []; @@ -64,32 +65,29 @@ export class CommunitiesComponent { } public ngOnInit() { - this.route.data - .subscribe((data: { envSpecific: EnvProperties }) => { - this.properties = data.envSpecific; - var url = this.properties.domain + this.properties.baseLink + this._router.url; - this.seoService.createLinkForCanonicalURL(url, false); - this._meta.updateTag({content: url}, "property='og:url'"); - if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) { - this.piwiksub = this._piwikService.trackView(this.properties, "OpenAIRE Connect", this.properties.piwikSiteId).subscribe(); - } - this.getCommunities(); - this.createGifs(); - //this.getDivContents(); - this.getPageContents(); - }); + this.properties = properties; + var url = this.properties.domain + this.properties.baseLink + this._router.url; + this.seoService.createLinkForCanonicalURL(url, false); + this._meta.updateTag({content: url}, "property='og:url'"); + if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) { + this.subscriptions.push(this._piwikService.trackView(this.properties, "OpenAIRE Connect", this.properties.piwikSiteId).subscribe()); + } + this.getCommunities(); + this.createGifs(); + //this.getDivContents(); + this.getPageContents(); } private getPageContents() { - this.helper.getPageHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { + this.subscriptions.push(this.helper.getPageHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { this.pageContents = contents; - }) + })); } private getDivContents() { - this.helper.getDivHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { + this.subscriptions.push(this.helper.getDivHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { this.divContents = contents; - }) + })); } public getCommunities() { @@ -99,7 +97,7 @@ export class CommunitiesComponent { this.researchCommunities = []; - this._communitiesService.getCommunitiesState().subscribe( + this.subscriptions.push(this._communitiesService.getCommunitiesState().subscribe( communitiesResults => { if(!communitiesResults){ return; @@ -125,7 +123,7 @@ export class CommunitiesComponent { this.status = this.handleError("Error getting communities", error); this.loading = false; } - ); + )); } private createGifs() { @@ -178,23 +176,25 @@ export class CommunitiesComponent { return StringUtils.quote(param); } - public ngOnDestroy() { - if (this.piwiksub) { - this.piwiksub.unsubscribe(); - } + ngOnDestroy() { + this.subscriptions.forEach(subscription => { + if (subscription instanceof Subscriber) { + subscription.unsubscribe(); + } + }); } private handleError(message: string, error): number { var code = ""; - if (!error.status) { - var error = error.json(); - code = error.code; - } else { - code = error.status; - } - + try { + if (!error.status) { + var error = error.json(); + code = error.code; + } else { + code = error.status; + } + }catch(e){} console.error("Communities (component): " + message, error); - return this.errorMessages.getErrorCode(code); } } diff --git a/src/app/communities/communities.module.ts b/src/app/communities/communities.module.ts index 04f7ee7..389db52 100644 --- a/src/app/communities/communities.module.ts +++ b/src/app/communities/communities.module.ts @@ -6,7 +6,6 @@ import {ManageModule} from '../openaireLibrary/utils/manage/manage.m import {CommunitiesComponent} from './communities.component'; -import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service'; @@ -30,7 +29,7 @@ import {SEOServiceModule} from "../openaireLibrary/sharedComponents/SEO/SEOServi CommunitiesComponent ], providers:[ - FreeGuard, PreviousRouteRecorder, + PreviousRouteRecorder, PiwikService ], exports: [ diff --git a/src/app/community/community-routing.module.ts b/src/app/community/community-routing.module.ts index a3f8003..4fda5c6 100644 --- a/src/app/community/community-routing.module.ts +++ b/src/app/community/community-routing.module.ts @@ -2,13 +2,12 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import{CommunityComponent} from './community.component'; -import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: CommunityComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] } + { path: '', component: CommunityComponent,canDeactivate: [PreviousRouteRecorder] } ]) ] diff --git a/src/app/community/community.component.ts b/src/app/community/community.component.ts index 11f8804..1a49d67 100644 --- a/src/app/community/community.component.ts +++ b/src/app/community/community.component.ts @@ -301,6 +301,10 @@ export class CommunityComponent { for (let sub of this.subs) { sub.unsubscribe(); } + this.fetchPublications.clearSubscriptions(); + this.fetchDatasets.clearSubscriptions(); + this.fetchOrps.clearSubscriptions(); + this.fetchSoftware.clearSubscriptions(); } isEntityEnabled(entity: string) { diff --git a/src/app/community/community.module.ts b/src/app/community/community.module.ts index 4cef217..eb1f900 100644 --- a/src/app/community/community.module.ts +++ b/src/app/community/community.module.ts @@ -6,7 +6,6 @@ import {CommunityComponent} from './community.component'; import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service'; -import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {SubscribeModule} from '../utils/subscribe/subscribe.module'; import {InviteModule} from '../utils/subscribe/invite/invite.module'; @@ -42,7 +41,7 @@ import {ErrorMessagesModule} from "../openaireLibrary/utils/errorMessages.module CommunityComponent ], providers:[ - FreeGuard, PreviousRouteRecorder, PiwikService + PreviousRouteRecorder, PiwikService ], exports: [ CommunityComponent diff --git a/src/app/communitywrapper/communityWrapper-routing.module.ts b/src/app/communitywrapper/communityWrapper-routing.module.ts index d886195..04c7788 100644 --- a/src/app/communitywrapper/communityWrapper-routing.module.ts +++ b/src/app/communitywrapper/communityWrapper-routing.module.ts @@ -2,13 +2,12 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import{CommunityWrapperComponent} from './communityWrapper.component'; -import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: CommunityWrapperComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] } + { path: '', component: CommunityWrapperComponent, canDeactivate: [PreviousRouteRecorder] } ]) ] diff --git a/src/app/communitywrapper/communityWrapper.component.ts b/src/app/communitywrapper/communityWrapper.component.ts index c5427e8..7a5de43 100644 --- a/src/app/communitywrapper/communityWrapper.component.ts +++ b/src/app/communitywrapper/communityWrapper.component.ts @@ -2,6 +2,8 @@ import {Component} from '@angular/core'; import {ActivatedRoute, Router} from '@angular/router'; import {ConnectHelper} from '../openaireLibrary/connect/connectHelper'; +import {properties} from "../../environments/environment"; +import {Subscriber} from "rxjs"; @Component({ selector: 'community-wrapper', @@ -14,35 +16,33 @@ import {ConnectHelper} from '../openaireLibrary/connect/connectHelper'; export class CommunityWrapperComponent { communityId:string; dashboard:boolean = null; + properties; + private sub; + constructor (private route: ActivatedRoute) { + this.properties = properties; + this.sub = this.route.queryParams.subscribe( + communityId => { + this.communityId = ConnectHelper.getCommunityFromDomain(this.properties.domain); + if(!this.communityId) { + this.communityId = communityId['communityId']; + } - constructor ( - private route: ActivatedRoute, - private _router: Router - - ) { - this.route.data - .subscribe((data: { envSpecific: any }) => { - this.route.queryParams.subscribe( - communityId => { - this.communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); - if(!this.communityId) { - this.communityId = communityId['communityId']; - } - - if(this.communityId){ - this.dashboard = true; - }else{ - this.dashboard = false; - } - - }); - }); + if(this.communityId){ + this.dashboard = true; + }else{ + this.dashboard = false; + } + }); } public ngOnInit() { } - + ngOnDestroy() { + if (this.sub instanceof Subscriber) { + this.sub.unsubscribe(); + } + } } diff --git a/src/app/communitywrapper/communityWrapper.module.ts b/src/app/communitywrapper/communityWrapper.module.ts index d45beb8..05578ac 100644 --- a/src/app/communitywrapper/communityWrapper.module.ts +++ b/src/app/communitywrapper/communityWrapper.module.ts @@ -2,7 +2,6 @@ import { NgModule} from '@angular/core'; import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; import { RouterModule } from '@angular/router'; -import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import{CommunityModule} from '../community/community.module'; import{CommunitiesModule} from '../communities/communities.module'; @@ -17,7 +16,7 @@ import {CommunityWrapperRoutingModule} from './communityWrapper-routing.module'; CommunityWrapperComponent ], providers:[ - FreeGuard, PreviousRouteRecorder, + PreviousRouteRecorder, ], exports: [ diff --git a/src/app/contact/contact.component.ts b/src/app/contact/contact.component.ts index 7d24ea0..69aecdf 100644 --- a/src/app/contact/contact.component.ts +++ b/src/app/contact/contact.component.ts @@ -11,6 +11,7 @@ import {HelperService} from "../openaireLibrary/utils/helper/helper.service"; import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service"; import {FormBuilder, FormGroup, Validators} from "@angular/forms"; import {Breadcrumb} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.component"; +import {Subscriber} from "rxjs"; @Component({ selector: 'contact', @@ -20,7 +21,6 @@ import {Breadcrumb} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.compo export class ContactComponent implements OnInit { public url: string = null; public pageTitle: string = "OpenAIRE - Connect | Contact Us"; - public piwiksub: any; public showLoading = true; public errorMessage = ''; public email: Email; @@ -32,6 +32,14 @@ export class ContactComponent implements OnInit { public contactForm: FormGroup; @ViewChild('AlertModal') modal; @ViewChild('recaptcha') recaptcha; + private subscriptions = []; + ngOnDestroy() { + this.subscriptions.forEach(subscription => { + if (subscription instanceof Subscriber) { + subscription.unsubscribe(); + } + }); + } constructor(private route: ActivatedRoute, private _router: Router, @@ -46,12 +54,12 @@ export class ContactComponent implements OnInit { ngOnInit() { this._title.setTitle('OpenAIRE-Connect | Contact Us'); - this.route.data.subscribe((data: { envSpecific: EnvProperties }) => { + this.subscriptions.push(this.route.data.subscribe((data: { envSpecific: EnvProperties }) => { this.properties = data.envSpecific; this.email = {body: '', subject: '', recipients: []}; if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) { - this.piwiksub = this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe(); + this.subscriptions.push( this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe()); } this.url = this.properties.domain + this._router.url; this.seoService.createLinkForCanonicalURL(this.url); @@ -63,19 +71,19 @@ export class ContactComponent implements OnInit { this.getPageContents(); HelperFunctions.scroll(); this.showLoading = false; - }); + })); } private getPageContents() { - this.helper.getPageHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { + this.subscriptions.push(this.helper.getPageHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { this.pageContents = contents; - }) + })); } private getDivContents() { - this.helper.getDivHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { + this.subscriptions.push(this.helper.getDivHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { this.divContents = contents; - }) + })); } public send(event) { @@ -102,9 +110,9 @@ export class ContactComponent implements OnInit { private sendMail(admins: any) { this.showLoading = true; - this._emailService.contact(this.properties, + this.subscriptions.push(this._emailService.contact(this.properties, Composer.composeEmailForNewCommunity(this.contactForm.value, admins), - this.contactForm.value.recaptcha).subscribe( + this.contactForm.value.recaptcha).subscribe( res => { this.showLoading = false; if (res) { @@ -120,7 +128,7 @@ export class ContactComponent implements OnInit { this.showLoading = false; this.contactForm.get('recaptcha').setValue(''); } - ); + )); } public modalOpen() { diff --git a/src/app/content/content-routing.module.ts b/src/app/content/content-routing.module.ts index 1b3ede0..e3f5048 100644 --- a/src/app/content/content-routing.module.ts +++ b/src/app/content/content-routing.module.ts @@ -2,14 +2,13 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import {ContentPageComponent} from './contentPage.component'; -import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {IsRouteEnabled} from "../openaireLibrary/error/isRouteEnabled.guard"; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: ContentPageComponent, canActivate: [FreeGuard, IsRouteEnabled], canDeactivate: [PreviousRouteRecorder] } + { path: '', component: ContentPageComponent, canActivate: [IsRouteEnabled], canDeactivate: [PreviousRouteRecorder] } ]) ] diff --git a/src/app/content/contentPage.module.ts b/src/app/content/contentPage.module.ts index 450523f..bef23ca 100644 --- a/src/app/content/contentPage.module.ts +++ b/src/app/content/contentPage.module.ts @@ -1,7 +1,6 @@ import {NgModule} from '@angular/core'; import {RouterModule} from '@angular/router'; -import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {ContentPageComponent} from './contentPage.component'; @@ -20,7 +19,7 @@ import {BreadcrumbsModule} from "../openaireLibrary/utils/breadcrumbs/breadcrumb declarations: [ ContentPageComponent ], - providers: [FreeGuard, PreviousRouteRecorder, IsRouteEnabled], + providers: [ PreviousRouteRecorder, IsRouteEnabled], exports: [ ContentPageComponent ] diff --git a/src/app/curators/curators.module.ts b/src/app/curators/curators.module.ts index 82788a0..543f71f 100644 --- a/src/app/curators/curators.module.ts +++ b/src/app/curators/curators.module.ts @@ -10,7 +10,6 @@ import {AffiliationsModule} from "../affiliations/affiliations.module"; import {HelperModule} from "../openaireLibrary/utils/helper/helper.module"; import {Schema2jsonldModule} from "../openaireLibrary/sharedComponents/schema2jsonld/schema2jsonld.module"; import {SEOServiceModule} from "../openaireLibrary/sharedComponents/SEO/SEOService.module"; -import {PiwikService} from "../openaireLibrary/utils/piwik/piwik.service"; import {PiwikServiceModule} from "../openaireLibrary/utils/piwik/piwikService.module"; import {BreadcrumbsModule} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.module"; diff --git a/src/app/deposit/deposit-routing.module.ts b/src/app/deposit/deposit-routing.module.ts index 69340f3..e517db4 100644 --- a/src/app/deposit/deposit-routing.module.ts +++ b/src/app/deposit/deposit-routing.module.ts @@ -1,14 +1,13 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import { OpenaireDepositComponent } from './deposit.component'; -import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {IsRouteEnabled} from '../openaireLibrary/error/isRouteEnabled.guard' @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireDepositComponent, canActivate: [FreeGuard, IsRouteEnabled], data: { + { path: '', component: OpenaireDepositComponent, canActivate: [ IsRouteEnabled], data: { redirect: '/error' }, canDeactivate: [PreviousRouteRecorder] } diff --git a/src/app/deposit/deposit.component.ts b/src/app/deposit/deposit.component.ts index d406cce..bb53207 100644 --- a/src/app/deposit/deposit.component.ts +++ b/src/app/deposit/deposit.component.ts @@ -1,5 +1,5 @@ import {Component} from '@angular/core'; -import {ActivatedRoute, Router} from '@angular/router'; +import {ActivatedRoute} from '@angular/router'; import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties'; import {ConnectHelper} from "../openaireLibrary/connect/connectHelper"; @@ -9,7 +9,7 @@ import {ZenodoCommunitiesService} from "../openaireLibrary/connect/zenodoCommuni import {CommunityService} from "../openaireLibrary/connect/community/community.service"; import {SearchZenodoCommunitiesService} from "../openaireLibrary/connect/zenodoCommunities/searchZenodoCommunities.service"; import {PiwikHelper} from "../utils/piwikHelper"; -import {Subscription} from "rxjs"; +import {Subscriber, Subscription} from "rxjs"; import {properties} from "../../environments/environment"; @Component({ @@ -77,8 +77,11 @@ export class OpenaireDepositComponent { public ngOnDestroy() { for (let sub of this.subs) { - sub.unsubscribe(); + if(sub instanceof Subscriber) { + sub.unsubscribe(); + } } + this.fetchZenodoInformation.clearSubscriptions(); } private handleError(message: string, error) { diff --git a/src/app/deposit/deposit.module.ts b/src/app/deposit/deposit.module.ts index e54229a..c4327dd 100644 --- a/src/app/deposit/deposit.module.ts +++ b/src/app/deposit/deposit.module.ts @@ -1,9 +1,6 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; - - -import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {IsRouteEnabled} from '../openaireLibrary/error/isRouteEnabled.guard'; @@ -25,7 +22,7 @@ import {SearchZenodoCommunitiesService} from "../openaireLibrary/connect/zenodoC exports: [ OpenaireDepositComponent, ], - providers: [FreeGuard,PreviousRouteRecorder, IsRouteEnabled, + providers: [PreviousRouteRecorder, IsRouteEnabled, ZenodoCommunitiesService, SearchZenodoCommunitiesService] }) export class LibDepositModule { } diff --git a/src/app/deposit/searchDataprovidersToDeposit-routing.module.ts b/src/app/deposit/searchDataprovidersToDeposit-routing.module.ts index a51787c..115c823 100644 --- a/src/app/deposit/searchDataprovidersToDeposit-routing.module.ts +++ b/src/app/deposit/searchDataprovidersToDeposit-routing.module.ts @@ -1,14 +1,13 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import { OpenaireSearchDataprovidersToDepositComponent } from './searchDataprovidersToDeposit.component'; -import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {IsRouteEnabled} from '../openaireLibrary/error/isRouteEnabled.guard' @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireSearchDataprovidersToDepositComponent, canActivate: [FreeGuard, IsRouteEnabled], data: { + { path: '', component: OpenaireSearchDataprovidersToDepositComponent, canActivate: [ IsRouteEnabled], data: { redirect: '/error' }, canDeactivate: [PreviousRouteRecorder] } diff --git a/src/app/deposit/searchDataprovidersToDeposit.component.ts b/src/app/deposit/searchDataprovidersToDeposit.component.ts index ff74304..881880f 100644 --- a/src/app/deposit/searchDataprovidersToDeposit.component.ts +++ b/src/app/deposit/searchDataprovidersToDeposit.component.ts @@ -11,7 +11,7 @@ import {CommunityService} from '../openaireLibrary/connect/community/community.s import {ZenodoInformationClass} from '../openaireLibrary/deposit/utils/zenodoInformation.class'; import {FetchZenodoInformation} from './utils/fetchZenodoInformation.class'; -import {Subscription} from "rxjs"; +import {Subscriber, Subscription} from "rxjs"; import {properties} from "../../environments/environment"; @Component({ @@ -32,9 +32,9 @@ export class OpenaireSearchDataprovidersToDepositComponent { subs: Subscription[] = []; constructor ( private route: ActivatedRoute, - private _ΖenodoCommunitieService: ZenodoCommunitiesService, + private _zenodoCommunitieService: ZenodoCommunitiesService, private _communityService: CommunityService,private _searchZenodoCommunitiesService: SearchZenodoCommunitiesService ) { - this.fetchZenodoInformation = new FetchZenodoInformation(this._ΖenodoCommunitieService, this._searchZenodoCommunitiesService); + this.fetchZenodoInformation = new FetchZenodoInformation(this._zenodoCommunitieService, this._searchZenodoCommunitiesService); } public ngOnInit() { @@ -78,8 +78,11 @@ export class OpenaireSearchDataprovidersToDepositComponent { public ngOnDestroy() { for (let sub of this.subs) { - sub.unsubscribe(); + if(sub instanceof Subscriber) { + sub.unsubscribe(); + } } + this.fetchZenodoInformation.clearSubscriptions(); } private handleError(message: string, error) { diff --git a/src/app/deposit/searchDataprovidersToDeposit.module.ts b/src/app/deposit/searchDataprovidersToDeposit.module.ts index c6823a4..e72b6e7 100644 --- a/src/app/deposit/searchDataprovidersToDeposit.module.ts +++ b/src/app/deposit/searchDataprovidersToDeposit.module.ts @@ -6,7 +6,6 @@ import { OpenaireSearchDataprovidersToDepositComponent } from './searchDataprovi import {SearchDataprovidersToDepositRoutingModule} from './searchDataprovidersToDeposit-routing.module'; import {SearchDataprovidersToDepositModule} from '../openaireLibrary/deposit/searchDataprovidersToDeposit.module'; -import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {IsRouteEnabled} from '../openaireLibrary/error/isRouteEnabled.guard'; import {ZenodoCommunitiesServiceModule} from '../openaireLibrary/connect/zenodoCommunities/zenodo-communitiesService.module'; @@ -25,6 +24,6 @@ import {SearchZenodoCommunitiesServiceModule} from '../openaireLibrary/connect/z exports: [ OpenaireSearchDataprovidersToDepositComponent, ], - providers: [FreeGuard,PreviousRouteRecorder, IsRouteEnabled] + providers: [PreviousRouteRecorder, IsRouteEnabled] }) export class LibSearchDataprovidersToDepositModule { } diff --git a/src/app/deposit/utils/fetchZenodoInformation.class.ts b/src/app/deposit/utils/fetchZenodoInformation.class.ts index ae64928..1b9e34f 100644 --- a/src/app/deposit/utils/fetchZenodoInformation.class.ts +++ b/src/app/deposit/utils/fetchZenodoInformation.class.ts @@ -3,15 +3,26 @@ import {ZenodoCommunitiesService} from '../../openaireLibrary/connect/zenodoComm import {SearchZenodoCommunitiesService} from '../../openaireLibrary/connect/zenodoCommunities/searchZenodoCommunities.service'; import {ZenodoInformationClass} from '../../openaireLibrary/deposit/utils/zenodoInformation.class'; +import {Subscriber} from "rxjs"; export class FetchZenodoInformation { - constructor ( private _ΖenodoCommunitieService: ZenodoCommunitiesService, + private subscriptions = []; + constructor ( private _zenodoCommunitieService: ZenodoCommunitiesService, private _searchZenodoCommunitiesService: SearchZenodoCommunitiesService ) { } - public ngOnDestroy() { } + public ngOnDestroy() { + this.clearSubscriptions(); + } + clearSubscriptions(){ + this.subscriptions.forEach(subscription => { + if (subscription instanceof Subscriber) { + subscription.unsubscribe(); + } + }); + } public getZenodoCommunityNameAndUrlById(masterZenodoCommunityId: string, properties:EnvProperties, zenodoInformation: ZenodoInformationClass){ - this._ΖenodoCommunitieService.getZenodoCommunityById(properties, properties.zenodoCommunities+masterZenodoCommunityId, null).subscribe( + this.subscriptions.push(this._zenodoCommunitieService.getZenodoCommunityById(properties, properties.zenodoCommunities+masterZenodoCommunityId, null).subscribe( result => { console.info("getZenodoCommunityNameAndUrlById", result); var masterZenodoCommunity = result; @@ -21,11 +32,11 @@ export class FetchZenodoInformation { error => { console.error("Master Zenodo community'"+masterZenodoCommunityId+"' couldn't be loaded"); } - ); + )); } public searchNumberOfZCommunities(communityId: string, properties: EnvProperties, zenodoInformation: ZenodoInformationClass) { - this._searchZenodoCommunitiesService.searchZCommunities(properties,communityId).subscribe ( + this.subscriptions.push(this._searchZenodoCommunitiesService.searchZCommunities(properties,communityId).subscribe ( result => { console.info("searchNumberOfZCommunities", result); @@ -39,6 +50,6 @@ export class FetchZenodoInformation { error => { console.error("list of zenodo communities couldn't be loaded"); } - ); + )); } } diff --git a/src/app/deposit/zenodo/shareInZenodo-routing.module.ts b/src/app/deposit/zenodo/shareInZenodo-routing.module.ts index 600c52f..bef554a 100644 --- a/src/app/deposit/zenodo/shareInZenodo-routing.module.ts +++ b/src/app/deposit/zenodo/shareInZenodo-routing.module.ts @@ -2,14 +2,13 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import {ShareInZenodoComponent} from './shareInZenodo.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {IsRouteEnabled} from "../../openaireLibrary/error/isRouteEnabled.guard"; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: ShareInZenodoComponent, canActivate: [FreeGuard, IsRouteEnabled], canDeactivate: [PreviousRouteRecorder] } + { path: '', component: ShareInZenodoComponent, canActivate: [IsRouteEnabled], canDeactivate: [PreviousRouteRecorder] } ]) ] diff --git a/src/app/deposit/zenodo/shareInZenodo.component.ts b/src/app/deposit/zenodo/shareInZenodo.component.ts index 9c8c73d..6982946 100644 --- a/src/app/deposit/zenodo/shareInZenodo.component.ts +++ b/src/app/deposit/zenodo/shareInZenodo.component.ts @@ -18,7 +18,7 @@ import {PiwikService} from "../../openaireLibrary/utils/piwik/piwik.service"; import {PiwikHelper} from "../../utils/piwikHelper"; import {Breadcrumb} from "../../openaireLibrary/utils/breadcrumbs/breadcrumbs.component"; import {properties} from "../../../environments/environment"; -import {Subscription} from "rxjs"; +import {Subscriber, Subscription} from "rxjs"; @Component({ selector: 'share-in-zenodo', @@ -150,7 +150,9 @@ export class ShareInZenodoComponent { public ngOnDestroy() { for (let sub of this.subs) { - sub.unsubscribe(); + if(sub instanceof Subscriber) { + sub.unsubscribe(); + } } } diff --git a/src/app/deposit/zenodo/shareInZenodo.module.ts b/src/app/deposit/zenodo/shareInZenodo.module.ts index 6e4fb8e..0eb171e 100644 --- a/src/app/deposit/zenodo/shareInZenodo.module.ts +++ b/src/app/deposit/zenodo/shareInZenodo.module.ts @@ -1,7 +1,6 @@ -import { NgModule, ModuleWithProviders } from '@angular/core'; +import { NgModule} from '@angular/core'; import { CommonModule } from '@angular/common'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard' @@ -26,7 +25,7 @@ import {BreadcrumbsModule} from "../../openaireLibrary/utils/breadcrumbs/breadcr declarations: [ ShareInZenodoComponent ], - providers:[FreeGuard,PreviousRouteRecorder, IsRouteEnabled], + providers:[PreviousRouteRecorder, IsRouteEnabled], exports: [ ShareInZenodoComponent ] diff --git a/src/app/error/errorPage.component.ts b/src/app/error/errorPage.component.ts index e96d3dc..52073bc 100644 --- a/src/app/error/errorPage.component.ts +++ b/src/app/error/errorPage.component.ts @@ -1,6 +1,5 @@ -import { Component, Input } from '@angular/core'; -import { Location } from '@angular/common'; - +import { Component } from '@angular/core'; + @Component({ selector: 'openaire-error', template: ` diff --git a/src/app/htmlPages/htmlPage.component.ts b/src/app/htmlPages/htmlPage.component.ts index 0eab46b..c8be71a 100644 --- a/src/app/htmlPages/htmlPage.component.ts +++ b/src/app/htmlPages/htmlPage.component.ts @@ -7,6 +7,7 @@ import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service"; import {PiwikService} from "../openaireLibrary/utils/piwik/piwik.service"; import {HelperService} from "../openaireLibrary/utils/helper/helper.service"; import {ConnectHelper} from "../openaireLibrary/connect/connectHelper"; +import {Subscriber} from "rxjs"; @Component({ selector: 'html-page', @@ -24,7 +25,7 @@ export class HtmlPageComponent { @Input() url: string = null; @Input() pageTitle: string; @Input() description: string; - piwiksub: any; + private subscriptions = []; communityId; constructor(private route: ActivatedRoute, private _router: Router, @@ -35,18 +36,18 @@ export class HtmlPageComponent { private helper: HelperService) {} public ngOnInit() { - this.route.data + this.subscriptions.push(this.route.data .subscribe((data: { envSpecific: EnvProperties }) => { this.properties = data.envSpecific; if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) { - this.piwiksub = this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe(); + this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe()); } this.communityId = ConnectHelper.getCommunityFromDomain(this.properties.domain); if (this.properties.environment == "development") { - this.route.queryParams.subscribe(params => { + this.subscriptions.push(this.route.queryParams.subscribe(params => { this.communityId = (params['communityId']) ? params['communityId'] : ConnectHelper.getCommunityFromDomain(this.properties.domain); - }) + })); } //TODO set the proper URL this.url = this.properties.domain + this._router.url; @@ -55,15 +56,18 @@ export class HtmlPageComponent { this.updateTitle(this.pageTitle); this.updateDescription(this.description); this.getPageContents(); - }); + })); } ngOnDestroy() { - if(this.piwiksub) { - this.piwiksub.unsubscribe(); - } + this.subscriptions.forEach(subscription => { + if (subscription instanceof Subscriber) { + subscription.unsubscribe(); + } + }); } + private updateDescription(description: string) { this._meta.updateTag({content: description}, "name='description'"); this._meta.updateTag({content: description}, "property='og:description'"); @@ -80,8 +84,8 @@ export class HtmlPageComponent { } private getPageContents() { - this.helper.getPageHelpContents(this.properties, this.communityId?this.communityId:"connect", this._router.url).subscribe(contents => { + this.subscriptions.push(this.helper.getPageHelpContents(this.properties, this.communityId?this.communityId:"connect", this._router.url).subscribe(contents => { this.pageContents = contents; - }) + })); } } diff --git a/src/app/htmlPages/nationalBulletins/nationalBulletinsPage-routing.module.ts b/src/app/htmlPages/nationalBulletins/nationalBulletinsPage-routing.module.ts index 16564b7..127ddb1 100644 --- a/src/app/htmlPages/nationalBulletins/nationalBulletinsPage-routing.module.ts +++ b/src/app/htmlPages/nationalBulletins/nationalBulletinsPage-routing.module.ts @@ -1,14 +1,13 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import {NationalBulletinPageComponent} from './nationalBulletinsPage.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {IsRouteEnabled} from "../../openaireLibrary/error/isRouteEnabled.guard"; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: NationalBulletinPageComponent, canActivate: [FreeGuard, IsRouteEnabled], canDeactivate: [PreviousRouteRecorder] } + { path: '', component: NationalBulletinPageComponent, canActivate: [IsRouteEnabled], canDeactivate: [PreviousRouteRecorder] } ]) ] diff --git a/src/app/htmlPages/nationalBulletins/nationalBulletinsPage.module.ts b/src/app/htmlPages/nationalBulletins/nationalBulletinsPage.module.ts index a6caa5c..c047137 100644 --- a/src/app/htmlPages/nationalBulletins/nationalBulletinsPage.module.ts +++ b/src/app/htmlPages/nationalBulletins/nationalBulletinsPage.module.ts @@ -1,7 +1,5 @@ import {NgModule} from '@angular/core'; import {RouterModule} from '@angular/router'; - -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {NationalBulletinPageComponent} from './nationalBulletinsPage.component'; import {CommonModule} from "@angular/common"; @@ -18,7 +16,7 @@ import {BreadcrumbsModule} from "../../openaireLibrary/utils/breadcrumbs/breadcr declarations: [ NationalBulletinPageComponent ], - providers: [FreeGuard, PreviousRouteRecorder, IsRouteEnabled], + providers: [PreviousRouteRecorder, IsRouteEnabled], exports: [ NationalBulletinPageComponent ] diff --git a/src/app/htmlPages/organizations/organizationsPage-routing.module.ts b/src/app/htmlPages/organizations/organizationsPage-routing.module.ts index 8500909..df440ba 100644 --- a/src/app/htmlPages/organizations/organizationsPage-routing.module.ts +++ b/src/app/htmlPages/organizations/organizationsPage-routing.module.ts @@ -2,14 +2,13 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import {OrganizationsPageComponent} from './organizationsPage.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard' @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OrganizationsPageComponent, canActivate: [FreeGuard, IsRouteEnabled], canDeactivate: [PreviousRouteRecorder] } + { path: '', component: OrganizationsPageComponent, canActivate: [ IsRouteEnabled], canDeactivate: [PreviousRouteRecorder] } ]) ] diff --git a/src/app/htmlPages/organizations/organizationsPage.module.ts b/src/app/htmlPages/organizations/organizationsPage.module.ts index 23f8c2a..ab19356 100644 --- a/src/app/htmlPages/organizations/organizationsPage.module.ts +++ b/src/app/htmlPages/organizations/organizationsPage.module.ts @@ -1,6 +1,5 @@ -import { NgModule, ModuleWithProviders } from '@angular/core'; +import { NgModule } from '@angular/core'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard' @@ -21,7 +20,7 @@ import {BreadcrumbsModule} from "../../openaireLibrary/utils/breadcrumbs/breadcr declarations: [ OrganizationsPageComponent ], - providers:[FreeGuard,PreviousRouteRecorder, IsRouteEnabled], + providers:[PreviousRouteRecorder, IsRouteEnabled], exports: [ OrganizationsPageComponent ] diff --git a/src/app/htmlPages/projects/projects-routing.module.ts b/src/app/htmlPages/projects/projects-routing.module.ts index 0c54b3a..fa1e7f6 100644 --- a/src/app/htmlPages/projects/projects-routing.module.ts +++ b/src/app/htmlPages/projects/projects-routing.module.ts @@ -1,14 +1,13 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import {ProjectsPageComponent} from './projectsPage.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {IsRouteEnabled} from "../../openaireLibrary/error/isRouteEnabled.guard"; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: ProjectsPageComponent, canActivate: [FreeGuard, IsRouteEnabled], canDeactivate: [PreviousRouteRecorder] } + { path: '', component: ProjectsPageComponent, canActivate: [IsRouteEnabled], canDeactivate: [PreviousRouteRecorder] } ]) ] diff --git a/src/app/htmlPages/projects/projectsPage.module.ts b/src/app/htmlPages/projects/projectsPage.module.ts index c97d5c1..66f5bf6 100644 --- a/src/app/htmlPages/projects/projectsPage.module.ts +++ b/src/app/htmlPages/projects/projectsPage.module.ts @@ -1,7 +1,5 @@ import {NgModule} from '@angular/core'; import {RouterModule} from '@angular/router'; - -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {ProjectsPageComponent} from './projectsPage.component'; import {CommonModule} from "@angular/common"; @@ -18,7 +16,7 @@ import {BreadcrumbsModule} from "../../openaireLibrary/utils/breadcrumbs/breadcr declarations: [ ProjectsPageComponent ], - providers: [FreeGuard, PreviousRouteRecorder, IsRouteEnabled], + providers: [ PreviousRouteRecorder, IsRouteEnabled], exports: [ ProjectsPageComponent ] diff --git a/src/app/htmlPages/publications/publications-page.module.ts b/src/app/htmlPages/publications/publications-page.module.ts index e2b5f75..275e45d 100644 --- a/src/app/htmlPages/publications/publications-page.module.ts +++ b/src/app/htmlPages/publications/publications-page.module.ts @@ -1,7 +1,6 @@ import {NgModule} from '@angular/core'; import {RouterModule} from '@angular/router'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {PublicationsPageComponent} from './publications-page.component'; import {CommonModule} from "@angular/common"; @@ -17,7 +16,7 @@ import {IsRouteEnabled} from "../../openaireLibrary/error/isRouteEnabled.guard"; declarations: [ PublicationsPageComponent ], - providers: [FreeGuard, PreviousRouteRecorder, IsRouteEnabled], + providers: [ PreviousRouteRecorder, IsRouteEnabled], exports: [ PublicationsPageComponent ] diff --git a/src/app/htmlPages/publications/publications-routing.module.ts b/src/app/htmlPages/publications/publications-routing.module.ts index 5f3beaf..59a77d9 100644 --- a/src/app/htmlPages/publications/publications-routing.module.ts +++ b/src/app/htmlPages/publications/publications-routing.module.ts @@ -1,14 +1,13 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import {PublicationsPageComponent} from './publications-page.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {IsRouteEnabled} from "../../openaireLibrary/error/isRouteEnabled.guard"; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: PublicationsPageComponent, canActivate: [FreeGuard, IsRouteEnabled], canDeactivate: [PreviousRouteRecorder] } + { path: '', component: PublicationsPageComponent, canActivate: [IsRouteEnabled], canDeactivate: [PreviousRouteRecorder] } ]) ] diff --git a/src/app/landingPages/dataProvider/dataProvider-routing.module.ts b/src/app/landingPages/dataProvider/dataProvider-routing.module.ts index 6379a65..03d625f 100644 --- a/src/app/landingPages/dataProvider/dataProvider-routing.module.ts +++ b/src/app/landingPages/dataProvider/dataProvider-routing.module.ts @@ -2,13 +2,12 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import { OpenaireDataProviderComponent } from './dataProvider.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireDataProviderComponent, canActivate: [FreeGuard], data: { + { path: '', component: OpenaireDataProviderComponent, data: { redirect: '/error' },canDeactivate: [PreviousRouteRecorder] } ]) diff --git a/src/app/landingPages/dataProvider/dataProvider.component.ts b/src/app/landingPages/dataProvider/dataProvider.component.ts index b3e145a..aacd9f6 100644 --- a/src/app/landingPages/dataProvider/dataProvider.component.ts +++ b/src/app/landingPages/dataProvider/dataProvider.component.ts @@ -2,6 +2,7 @@ import {Component} from '@angular/core'; import {ActivatedRoute} from '@angular/router'; import {PiwikHelper} from '../../utils/piwikHelper'; import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; +import {Subscriber} from "rxjs"; @Component({ selector: 'openaire-dataprovider', @@ -11,9 +12,9 @@ import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; export class OpenaireDataProviderComponent { piwikSiteId = null; communityId = null; - + private sub; constructor(private route: ActivatedRoute) { - this.route.data + this.sub = this.route.data .subscribe((data: { envSpecific: any }) => { this.route.queryParams.subscribe(params => { this.communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); @@ -28,6 +29,10 @@ export class OpenaireDataProviderComponent { ngOnInit() { } - + ngOnDestroy() { + if (this.sub instanceof Subscriber) { + this.sub.unsubscribe(); + } + } } diff --git a/src/app/landingPages/dataProvider/libDataProvider.module.ts b/src/app/landingPages/dataProvider/libDataProvider.module.ts index d6f8f93..3cefefe 100644 --- a/src/app/landingPages/dataProvider/libDataProvider.module.ts +++ b/src/app/landingPages/dataProvider/libDataProvider.module.ts @@ -2,13 +2,12 @@ import { NgModule} from '@angular/core'; import { DataProviderModule } from '../../openaireLibrary/landingPages/dataProvider/dataProvider.module'; import { OpenaireDataProviderComponent } from './dataProvider.component'; import {DataProviderRoutingModule} from './dataProvider-routing.module'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [DataProviderModule, DataProviderRoutingModule], declarations:[OpenaireDataProviderComponent], - providers:[FreeGuard, PreviousRouteRecorder], + providers:[ PreviousRouteRecorder], exports:[OpenaireDataProviderComponent] }) export class LibDataProviderModule { } diff --git a/src/app/landingPages/dataset/dataset-routing.module.ts b/src/app/landingPages/dataset/dataset-routing.module.ts index 4d69cc4..10992dc 100644 --- a/src/app/landingPages/dataset/dataset-routing.module.ts +++ b/src/app/landingPages/dataset/dataset-routing.module.ts @@ -2,13 +2,12 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import { OpenaireDatasetComponent } from './dataset.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireDatasetComponent, canActivate: [FreeGuard], data: { + { path: '', component: OpenaireDatasetComponent, data: { redirect: '/error' },canDeactivate: [PreviousRouteRecorder] } ]) diff --git a/src/app/landingPages/dataset/dataset.component.ts b/src/app/landingPages/dataset/dataset.component.ts index 1432671..cff8625 100644 --- a/src/app/landingPages/dataset/dataset.component.ts +++ b/src/app/landingPages/dataset/dataset.component.ts @@ -2,6 +2,7 @@ import {Component} from '@angular/core'; import {ActivatedRoute} from '@angular/router'; import {PiwikHelper} from '../../utils/piwikHelper'; import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; +import {Subscriber} from "rxjs"; @Component({ selector: 'openaire-dataset', @@ -12,9 +13,9 @@ import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; export class OpenaireDatasetComponent { piwikSiteId = null; communityId = null; - + private sub; constructor(private route: ActivatedRoute) { - this.route.data + this.sub = this.route.data .subscribe((data: { envSpecific: any }) => { this.route.queryParams.subscribe(params => { this.communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); @@ -27,6 +28,12 @@ export class OpenaireDatasetComponent { } ngOnInit() { + + } + ngOnDestroy() { + if (this.sub instanceof Subscriber) { + this.sub.unsubscribe(); + } } diff --git a/src/app/landingPages/dataset/libDataset.module.ts b/src/app/landingPages/dataset/libDataset.module.ts index bca312d..40b16d1 100644 --- a/src/app/landingPages/dataset/libDataset.module.ts +++ b/src/app/landingPages/dataset/libDataset.module.ts @@ -1,13 +1,12 @@ import { NgModule} from '@angular/core'; import { OpenaireDatasetComponent } from './dataset.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {DatasetRoutingModule} from './dataset-routing.module'; import {ResultLandingModule} from "../../openaireLibrary/landingPages/result/resultLanding.module"; @NgModule({ imports: [DatasetRoutingModule, ResultLandingModule], declarations:[OpenaireDatasetComponent], - providers:[FreeGuard, PreviousRouteRecorder], + providers:[ PreviousRouteRecorder], exports:[OpenaireDatasetComponent] }) export class LibDatasetModule { } diff --git a/src/app/landingPages/htmlProjectReport/htmlProjectReport-routing.module.ts b/src/app/landingPages/htmlProjectReport/htmlProjectReport-routing.module.ts index f019aa0..663831a 100644 --- a/src/app/landingPages/htmlProjectReport/htmlProjectReport-routing.module.ts +++ b/src/app/landingPages/htmlProjectReport/htmlProjectReport-routing.module.ts @@ -2,14 +2,13 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import { OpenaireHtmlProjectReportComponent } from './htmlProjectReport.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireHtmlProjectReportComponent , canActivate: [FreeGuard], + { path: '', component: OpenaireHtmlProjectReportComponent, data: { redirect: '/error' },canDeactivate: [PreviousRouteRecorder]} diff --git a/src/app/landingPages/htmlProjectReport/htmlProjectReport.component.ts b/src/app/landingPages/htmlProjectReport/htmlProjectReport.component.ts index 3c28b0d..86f0ef2 100644 --- a/src/app/landingPages/htmlProjectReport/htmlProjectReport.component.ts +++ b/src/app/landingPages/htmlProjectReport/htmlProjectReport.component.ts @@ -2,6 +2,7 @@ import {Component, ViewChild, ElementRef} from '@angular/core'; import {ActivatedRoute} from '@angular/router'; import {PiwikHelper} from '../../utils/piwikHelper'; import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; +import {Subscriber} from "rxjs"; @Component({ selector: 'openaire-htmlProjectReport', template: ``, @@ -9,8 +10,10 @@ import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; export class OpenaireHtmlProjectReportComponent{ piwikSiteId = null; communityId = null; - constructor (private route: ActivatedRoute ) { - this.route.data + private sub; + + constructor(private route: ActivatedRoute) { + this.sub = this.route.data .subscribe((data: { envSpecific: any }) => { this.route.queryParams.subscribe(params => { this.communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); @@ -22,9 +25,14 @@ export class OpenaireHtmlProjectReportComponent{ }); } - ngOnInit() { -} + + } + ngOnDestroy() { + if (this.sub instanceof Subscriber) { + this.sub.unsubscribe(); + } + } diff --git a/src/app/landingPages/htmlProjectReport/libHtmlProjectReport.module.ts b/src/app/landingPages/htmlProjectReport/libHtmlProjectReport.module.ts index e5d2a1d..557b898 100644 --- a/src/app/landingPages/htmlProjectReport/libHtmlProjectReport.module.ts +++ b/src/app/landingPages/htmlProjectReport/libHtmlProjectReport.module.ts @@ -1,6 +1,5 @@ import { NgModule} from '@angular/core'; import { HtmlProjectReportModule } from '../../openaireLibrary/landingPages/htmlProjectReport/htmlProjectReport.module'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import { OpenaireHtmlProjectReportComponent } from './htmlProjectReport.component'; import {HtmlProjectReportRoutingModule} from './htmlProjectReport-routing.module'; @@ -8,7 +7,7 @@ import {HtmlProjectReportRoutingModule} from './htmlProjectReport-routing.module @NgModule({ imports: [HtmlProjectReportModule, HtmlProjectReportRoutingModule], declarations:[OpenaireHtmlProjectReportComponent], - providers:[FreeGuard, PreviousRouteRecorder], + providers:[ PreviousRouteRecorder], exports:[OpenaireHtmlProjectReportComponent] }) export class LibHtmlProjectReportModule { } diff --git a/src/app/landingPages/organization/libOrganization.module.ts b/src/app/landingPages/organization/libOrganization.module.ts index 4111cc8..86382fe 100644 --- a/src/app/landingPages/organization/libOrganization.module.ts +++ b/src/app/landingPages/organization/libOrganization.module.ts @@ -1,6 +1,5 @@ import { NgModule} from '@angular/core'; import { OrganizationModule } from '../../openaireLibrary/landingPages/organization/organization.module'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import { OpenaireOrganizationComponent } from './organization.component'; import {OrganizationRoutingModule} from './organization-routing.module'; @@ -8,7 +7,7 @@ import {OrganizationRoutingModule} from './organization-routing.module'; @NgModule({ imports: [OrganizationModule, OrganizationRoutingModule], declarations:[OpenaireOrganizationComponent], - providers:[FreeGuard, PreviousRouteRecorder], + providers:[PreviousRouteRecorder], exports:[OpenaireOrganizationComponent] }) export class LibOrganizationModule { } diff --git a/src/app/landingPages/organization/organization-routing.module.ts b/src/app/landingPages/organization/organization-routing.module.ts index afc7bf7..d4ea234 100644 --- a/src/app/landingPages/organization/organization-routing.module.ts +++ b/src/app/landingPages/organization/organization-routing.module.ts @@ -2,14 +2,13 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import { OpenaireOrganizationComponent } from './organization.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireOrganizationComponent, canActivate: [FreeGuard], data: { + { path: '', component: OpenaireOrganizationComponent, data: { redirect: '/error' },canDeactivate: [PreviousRouteRecorder] } ]) diff --git a/src/app/landingPages/organization/organization.component.ts b/src/app/landingPages/organization/organization.component.ts index da07a87..fe52e56 100644 --- a/src/app/landingPages/organization/organization.component.ts +++ b/src/app/landingPages/organization/organization.component.ts @@ -2,6 +2,7 @@ import {Component} from '@angular/core'; import {ActivatedRoute} from '@angular/router'; import {PiwikHelper} from '../../utils/piwikHelper'; import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; +import {Subscriber} from "rxjs"; @Component({ selector: 'openaire-organization', @@ -11,9 +12,10 @@ import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; export class OpenaireOrganizationComponent { piwikSiteId = null; communityId = null; + private sub; constructor(private route: ActivatedRoute) { - this.route.data + this.sub = this.route.data .subscribe((data: { envSpecific: any }) => { this.route.queryParams.subscribe(params => { this.communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); @@ -28,6 +30,9 @@ export class OpenaireOrganizationComponent { ngOnInit() { } - - + ngOnDestroy() { + if (this.sub instanceof Subscriber) { + this.sub.unsubscribe(); + } + } } diff --git a/src/app/landingPages/orp/libOrp.module.ts b/src/app/landingPages/orp/libOrp.module.ts index 5629ee8..5769201 100644 --- a/src/app/landingPages/orp/libOrp.module.ts +++ b/src/app/landingPages/orp/libOrp.module.ts @@ -1,5 +1,4 @@ import {NgModule} from '@angular/core'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {OpenaireOrpComponent} from './orp.component'; import {OrpRoutingModule} from './orp-routing.module'; @@ -13,7 +12,7 @@ import {ResultLandingModule} from "../../openaireLibrary/landingPages/result/res OpenaireOrpComponent ], providers: [ - FreeGuard, PreviousRouteRecorder + PreviousRouteRecorder ], exports: [ OpenaireOrpComponent diff --git a/src/app/landingPages/orp/orp-routing.module.ts b/src/app/landingPages/orp/orp-routing.module.ts index 848ab00..5f463fe 100644 --- a/src/app/landingPages/orp/orp-routing.module.ts +++ b/src/app/landingPages/orp/orp-routing.module.ts @@ -2,13 +2,12 @@ import {NgModule} from '@angular/core'; import {RouterModule} from '@angular/router'; import {OpenaireOrpComponent } from './orp.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([{ - path: '', component: OpenaireOrpComponent, canActivate: [FreeGuard], data: { + path: '', component: OpenaireOrpComponent, data: { redirect: '/error' }, canDeactivate: [PreviousRouteRecorder] diff --git a/src/app/landingPages/orp/orp.component.ts b/src/app/landingPages/orp/orp.component.ts index 514a291..1a5e1f4 100644 --- a/src/app/landingPages/orp/orp.component.ts +++ b/src/app/landingPages/orp/orp.component.ts @@ -2,6 +2,7 @@ import {Component} from '@angular/core'; import {ActivatedRoute} from '@angular/router'; import {PiwikHelper} from '../../utils/piwikHelper'; import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; +import {Subscriber} from "rxjs"; @Component({ selector: 'openaire-orp', @@ -13,8 +14,10 @@ import {ConnectHelper} from '../../openaireLibrary/connect/co export class OpenaireOrpComponent { piwikSiteId = null; communityId = null; - constructor (private route: ActivatedRoute ) { - this.route.data + private sub; + + constructor(private route: ActivatedRoute) { + this.sub = this.route.data .subscribe((data: { envSpecific: any }) => { this.route.queryParams.subscribe(params => { this.communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); @@ -30,4 +33,9 @@ export class OpenaireOrpComponent { ngOnInit() { } + ngOnDestroy() { + if (this.sub instanceof Subscriber) { + this.sub.unsubscribe(); + } + } } diff --git a/src/app/landingPages/project/libProject.module.ts b/src/app/landingPages/project/libProject.module.ts index 36d8447..f68204c 100644 --- a/src/app/landingPages/project/libProject.module.ts +++ b/src/app/landingPages/project/libProject.module.ts @@ -1,6 +1,5 @@ import { NgModule} from '@angular/core'; import { ProjectModule } from '../../openaireLibrary/landingPages/project/project.module'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import { OpenaireProjectComponent } from './project.component'; import {ProjectRoutingModule} from './project-routing.module'; @@ -8,7 +7,7 @@ import {ProjectRoutingModule} from './project-routing.module'; @NgModule({ imports: [ProjectModule, ProjectRoutingModule], declarations:[OpenaireProjectComponent], - providers:[FreeGuard, PreviousRouteRecorder], + providers:[ PreviousRouteRecorder], exports:[OpenaireProjectComponent] }) export class LibProjectModule { } diff --git a/src/app/landingPages/project/project-routing.module.ts b/src/app/landingPages/project/project-routing.module.ts index dd498a3..10f49bc 100644 --- a/src/app/landingPages/project/project-routing.module.ts +++ b/src/app/landingPages/project/project-routing.module.ts @@ -2,13 +2,12 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import { OpenaireProjectComponent } from './project.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireProjectComponent, canActivate: [FreeGuard], data: { + { path: '', component: OpenaireProjectComponent, data: { redirect: '/error' },canDeactivate: [PreviousRouteRecorder] } ]) diff --git a/src/app/landingPages/project/project.component.ts b/src/app/landingPages/project/project.component.ts index 2cb4933..e8e4fff 100644 --- a/src/app/landingPages/project/project.component.ts +++ b/src/app/landingPages/project/project.component.ts @@ -2,6 +2,7 @@ import {Component} from '@angular/core'; import {ActivatedRoute} from '@angular/router'; import {PiwikHelper} from '../../utils/piwikHelper'; import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; +import {Subscriber} from "rxjs"; @Component({ selector: 'openaire-project', @@ -11,9 +12,10 @@ import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; export class OpenaireProjectComponent { piwikSiteId = null; communityId = null; + private sub; constructor(private route: ActivatedRoute) { - this.route.data + this.sub = this.route.data .subscribe((data: { envSpecific: any }) => { this.route.queryParams.subscribe(params => { this.communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); @@ -27,6 +29,10 @@ export class OpenaireProjectComponent { ngOnInit() { } - + ngOnDestroy() { + if (this.sub instanceof Subscriber) { + this.sub.unsubscribe(); + } + } } diff --git a/src/app/landingPages/publication/libPublication.module.ts b/src/app/landingPages/publication/libPublication.module.ts index 7a9b28a..b94b9ad 100644 --- a/src/app/landingPages/publication/libPublication.module.ts +++ b/src/app/landingPages/publication/libPublication.module.ts @@ -1,5 +1,4 @@ import { NgModule} from '@angular/core'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import { OpenairePublicationComponent } from './publication.component'; import {PublicationRoutingModule} from './publication-routing.module'; @@ -8,7 +7,7 @@ import {ResultLandingModule} from "../../openaireLibrary/landingPages/result/res @NgModule({ imports: [PublicationRoutingModule, ResultLandingModule], declarations:[OpenairePublicationComponent], - providers:[FreeGuard, PreviousRouteRecorder], + providers:[ PreviousRouteRecorder], exports:[OpenairePublicationComponent] }) export class LibPublicationModule { } diff --git a/src/app/landingPages/publication/publication-routing.module.ts b/src/app/landingPages/publication/publication-routing.module.ts index a022558..6e7c22b 100644 --- a/src/app/landingPages/publication/publication-routing.module.ts +++ b/src/app/landingPages/publication/publication-routing.module.ts @@ -2,13 +2,12 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import {OpenairePublicationComponent } from './publication.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenairePublicationComponent, canActivate: [FreeGuard], data: { + { path: '', component: OpenairePublicationComponent, data: { redirect: '/error' },canDeactivate: [PreviousRouteRecorder] } ]) diff --git a/src/app/landingPages/publication/publication.component.ts b/src/app/landingPages/publication/publication.component.ts index 10ec0ea..965c927 100644 --- a/src/app/landingPages/publication/publication.component.ts +++ b/src/app/landingPages/publication/publication.component.ts @@ -2,6 +2,7 @@ import {Component} from '@angular/core'; import {ActivatedRoute} from '@angular/router'; import {PiwikHelper} from '../../utils/piwikHelper'; import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; +import {Subscriber} from "rxjs"; @Component({ selector: 'openaire-publication', @@ -12,9 +13,10 @@ import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; export class OpenairePublicationComponent { piwikSiteId = null; communityId = null; + private sub; constructor(private route: ActivatedRoute) { - this.route.data + this.sub = this.route.data .subscribe((data: { envSpecific: any }) => { this.route.queryParams.subscribe(params => { this.communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); @@ -29,6 +31,10 @@ export class OpenairePublicationComponent { ngOnInit() { } - + ngOnDestroy() { + if (this.sub instanceof Subscriber) { + this.sub.unsubscribe(); + } + } } diff --git a/src/app/landingPages/result/libResult.module.ts b/src/app/landingPages/result/libResult.module.ts index fd55523..da2eafe 100644 --- a/src/app/landingPages/result/libResult.module.ts +++ b/src/app/landingPages/result/libResult.module.ts @@ -1,5 +1,4 @@ import {NgModule} from '@angular/core'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {OpenaireResultComponent} from './result.component'; import {ResultRoutingModule} from './result-routing.module'; @@ -8,7 +7,7 @@ import {ResultLandingModule} from "../../openaireLibrary/landingPages/result/res @NgModule({ imports: [ResultRoutingModule, ResultLandingModule], declarations:[OpenaireResultComponent], - providers:[FreeGuard, PreviousRouteRecorder], + providers:[ PreviousRouteRecorder], exports:[OpenaireResultComponent] }) export class LibResultModule { } diff --git a/src/app/landingPages/result/result-routing.module.ts b/src/app/landingPages/result/result-routing.module.ts index 48737fd..a3a73bd 100644 --- a/src/app/landingPages/result/result-routing.module.ts +++ b/src/app/landingPages/result/result-routing.module.ts @@ -2,14 +2,13 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import {OpenaireResultComponent } from './result.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireResultComponent, canActivate: [FreeGuard], data: { + { path: '', component: OpenaireResultComponent, data: { redirect: '/error', community : 'openaire' },canDeactivate: [PreviousRouteRecorder] } ]) diff --git a/src/app/landingPages/result/result.component.ts b/src/app/landingPages/result/result.component.ts index 5eca433..ccf1401 100644 --- a/src/app/landingPages/result/result.component.ts +++ b/src/app/landingPages/result/result.component.ts @@ -2,6 +2,7 @@ import {Component} from '@angular/core'; import {ActivatedRoute} from "@angular/router"; import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper"; import {PiwikHelper} from "../../utils/piwikHelper"; +import {Subscriber} from "rxjs"; @Component({ selector: 'openaire-publication', @@ -10,9 +11,10 @@ import {PiwikHelper} from "../../utils/piwikHelper"; export class OpenaireResultComponent{ piwikSiteId = null; communityId = null; + private sub; constructor(private route: ActivatedRoute) { - this.route.data + this.sub = this.route.data .subscribe((data: { envSpecific: any }) => { this.route.queryParams.subscribe(params => { this.communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); @@ -27,6 +29,10 @@ export class OpenaireResultComponent{ ngOnInit() { } - + ngOnDestroy() { + if (this.sub instanceof Subscriber) { + this.sub.unsubscribe(); + } + } } diff --git a/src/app/landingPages/software/libSoftware.module.ts b/src/app/landingPages/software/libSoftware.module.ts index a14e789..66864f7 100644 --- a/src/app/landingPages/software/libSoftware.module.ts +++ b/src/app/landingPages/software/libSoftware.module.ts @@ -1,5 +1,4 @@ import { NgModule} from '@angular/core'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import { OpenaireSoftwareComponent } from './software.component'; import {SoftwareRoutingModule} from './software-routing.module'; @@ -7,7 +6,7 @@ import {ResultLandingModule} from "../../openaireLibrary/landingPages/result/res @NgModule({ imports: [SoftwareRoutingModule, ResultLandingModule], declarations:[OpenaireSoftwareComponent], - providers:[FreeGuard, PreviousRouteRecorder], + providers:[ PreviousRouteRecorder], exports:[OpenaireSoftwareComponent] }) export class LibSoftwareModule { } diff --git a/src/app/landingPages/software/software-routing.module.ts b/src/app/landingPages/software/software-routing.module.ts index addd79e..7924dae 100644 --- a/src/app/landingPages/software/software-routing.module.ts +++ b/src/app/landingPages/software/software-routing.module.ts @@ -2,14 +2,13 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import {OpenaireSoftwareComponent } from './software.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireSoftwareComponent, canActivate: [FreeGuard], data: { + { path: '', component: OpenaireSoftwareComponent, data: { redirect: '/error' },canDeactivate: [PreviousRouteRecorder] } ]) diff --git a/src/app/landingPages/software/software.component.ts b/src/app/landingPages/software/software.component.ts index 44bd5fc..90a0253 100644 --- a/src/app/landingPages/software/software.component.ts +++ b/src/app/landingPages/software/software.component.ts @@ -2,6 +2,7 @@ import {Component} from '@angular/core'; import {ActivatedRoute} from '@angular/router'; import {PiwikHelper} from '../../utils/piwikHelper'; import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; +import {Subscriber} from "rxjs"; @Component({ selector: 'openaire-software', @@ -12,9 +13,10 @@ import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; export class OpenaireSoftwareComponent { piwikSiteId = null; communityId = null; + private sub; constructor(private route: ActivatedRoute) { - this.route.data + this.sub = this.route.data .subscribe((data: { envSpecific: any }) => { this.route.queryParams.subscribe(params => { this.communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); @@ -29,6 +31,10 @@ export class OpenaireSoftwareComponent { ngOnInit() { } - + ngOnDestroy() { + if (this.sub instanceof Subscriber) { + this.sub.unsubscribe(); + } + } } diff --git a/src/app/learn-how/faqs/faqs-routing.module.ts b/src/app/learn-how/faqs/faqs-routing.module.ts index bd476da..04c6f61 100644 --- a/src/app/learn-how/faqs/faqs-routing.module.ts +++ b/src/app/learn-how/faqs/faqs-routing.module.ts @@ -1,7 +1,6 @@ import {NgModule} from '@angular/core'; import {RouterModule} from '@angular/router'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {FaqsComponent} from "./faqs.component"; import {IsRouteEnabled} from "../../openaireLibrary/error/isRouteEnabled.guard"; @@ -9,7 +8,7 @@ import {IsRouteEnabled} from "../../openaireLibrary/error/isRouteEnabled.guard"; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: FaqsComponent, canActivate: [FreeGuard, IsRouteEnabled], canDeactivate: [PreviousRouteRecorder] } + { path: '', component: FaqsComponent, canActivate: [ IsRouteEnabled], canDeactivate: [PreviousRouteRecorder] } ]) ] diff --git a/src/app/learn-how/faqs/faqs.component.ts b/src/app/learn-how/faqs/faqs.component.ts index 879201d..638b796 100644 --- a/src/app/learn-how/faqs/faqs.component.ts +++ b/src/app/learn-how/faqs/faqs.component.ts @@ -6,6 +6,7 @@ import {Meta, Title} from "@angular/platform-browser"; import {SEOService} from "../../openaireLibrary/sharedComponents/SEO/SEO.service"; import {PiwikService} from "../../openaireLibrary/utils/piwik/piwik.service"; import {HelperService} from "../../openaireLibrary/utils/helper/helper.service"; +import {Subscriber} from "rxjs"; @Component({ selector: 'learn-in-depth', @@ -200,7 +201,7 @@ export class FaqsComponent { public pageTitle: string = "OpenAIRE - Connect | FAQs"; public pageDescription: string = "Frequently asked questions about OpenAIRE Connect research gateway"; public breadcrumbs: Breadcrumb[] = [{name: 'home', route: '/'}, {name: 'about', route: '/about'}, {name: 'FAQs'}]; - public piwiksub: any; + private subscriptions; public pageContents = null; public divContents = null; public url: string = null; @@ -217,12 +218,12 @@ export class FaqsComponent { } public ngOnInit() { - this.route.data + this.subscriptions.push(this.route.data .subscribe((data: { envSpecific: EnvProperties }) => { this.properties = data.envSpecific; if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) { - this.piwiksub = this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe(); + this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe()); } this.url = this.properties.baseLink + this._router.url; this.seoService.createLinkForCanonicalURL(this.url); @@ -232,25 +233,27 @@ export class FaqsComponent { //this.getDivContents(); this.getPageContents(); - }); + })); } private getPageContents() { - this.helper.getPageHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { + this.subscriptions.push(this.helper.getPageHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { this.pageContents = contents; - }) + })); } private getDivContents() { - this.helper.getDivHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { + this.subscriptions.push(this.helper.getDivHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { this.divContents = contents; - }) + })); } - - public ngOnDestroy() { - if (this.piwiksub) { - this.piwiksub.unsubscribe(); - } + + ngOnDestroy() { + this.subscriptions.forEach(subscription => { + if (subscription instanceof Subscriber) { + subscription.unsubscribe(); + } + }); } private updateDescription(description: string) { diff --git a/src/app/learn-how/faqs/faqs.module.ts b/src/app/learn-how/faqs/faqs.module.ts index 3415694..182b5ba 100644 --- a/src/app/learn-how/faqs/faqs.module.ts +++ b/src/app/learn-how/faqs/faqs.module.ts @@ -2,7 +2,6 @@ import {NgModule} from '@angular/core'; import {CommonModule} from '@angular/common'; import {RouterModule} from '@angular/router'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {PiwikService} from '../../openaireLibrary/utils/piwik/piwik.service'; @@ -27,7 +26,7 @@ import {HtmlPagesModule} from "../../htmlPages/htmlPages.module"; FaqsComponent ], providers:[ - FreeGuard, PreviousRouteRecorder, PiwikService, IsRouteEnabled + PreviousRouteRecorder, PiwikService, IsRouteEnabled ] }) export class FaqsModule { } diff --git a/src/app/learn-how/learn-how-routing.module.ts b/src/app/learn-how/learn-how-routing.module.ts index ca8e08c..7783b2f 100644 --- a/src/app/learn-how/learn-how-routing.module.ts +++ b/src/app/learn-how/learn-how-routing.module.ts @@ -1,7 +1,5 @@ import {NgModule} from '@angular/core'; import {RouterModule} from '@angular/router'; - -import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {LearnHowComponent} from "./learn-how.component"; import {IsRouteEnabled} from "../openaireLibrary/error/isRouteEnabled.guard"; @@ -9,7 +7,7 @@ import {IsRouteEnabled} from "../openaireLibrary/error/isRouteEnabled.guard"; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: LearnHowComponent, canActivate: [FreeGuard, IsRouteEnabled], canDeactivate: [PreviousRouteRecorder] } + { path: '', component: LearnHowComponent, canActivate: [ IsRouteEnabled], canDeactivate: [PreviousRouteRecorder] } ]) ] diff --git a/src/app/learn-how/learn-how.component.ts b/src/app/learn-how/learn-how.component.ts index 0a8256e..32caebc 100644 --- a/src/app/learn-how/learn-how.component.ts +++ b/src/app/learn-how/learn-how.component.ts @@ -6,6 +6,7 @@ import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties' import {HelperService} from "../openaireLibrary/utils/helper/helper.service"; import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service"; import {Breadcrumb} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.component"; +import {Subscriber} from "rxjs"; @Component({ selector: 'learn-how', @@ -232,7 +233,6 @@ import {Breadcrumb} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.compo ` }) export class LearnHowComponent implements OnInit { - public piwiksub: any; public pageContents = null; public divContents = null; @@ -242,7 +242,7 @@ export class LearnHowComponent implements OnInit { public breadcrumbs: Breadcrumb[] = [{name: 'home', route: '/'}, {name: 'about'}]; properties: EnvProperties; - + subscriptions = []; constructor( private route: ActivatedRoute, private _router: Router, @@ -254,12 +254,12 @@ export class LearnHowComponent implements OnInit { } public ngOnInit() { - this.route.data + this.subscriptions.push(this.route.data .subscribe((data: { envSpecific: EnvProperties }) => { this.properties = data.envSpecific; if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) { - this.piwiksub = this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe(); + this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe()); } this.url = this.properties.baseLink + this._router.url; this.seoService.createLinkForCanonicalURL(this.url); @@ -269,26 +269,29 @@ export class LearnHowComponent implements OnInit { //this.getDivContents(); this.getPageContents(); - }); + })); } private getPageContents() { - this.helper.getPageHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { + this.subscriptions.push(this.helper.getPageHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { this.pageContents = contents; - }) + })); } private getDivContents() { - this.helper.getDivHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { + this.subscriptions.push(this.helper.getDivHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { this.divContents = contents; - }) + })); } - - public ngOnDestroy() { - if (this.piwiksub) { - this.piwiksub.unsubscribe(); - } + + ngOnDestroy() { + this.subscriptions.forEach(subscription => { + if (subscription instanceof Subscriber) { + subscription.unsubscribe(); + } + }); } + private updateDescription(description: string) { this._meta.updateTag({content: description}, "name='description'"); diff --git a/src/app/learn-how/learn-how.module.ts b/src/app/learn-how/learn-how.module.ts index 472a55d..62d5d98 100644 --- a/src/app/learn-how/learn-how.module.ts +++ b/src/app/learn-how/learn-how.module.ts @@ -2,7 +2,6 @@ import { NgModule} from '@angular/core'; import { CommonModule } from '@angular/common'; import { RouterModule } from '@angular/router'; -import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service'; @@ -28,7 +27,7 @@ import {HtmlPagesModule} from "../htmlPages/htmlPages.module"; LearnHowComponent ], providers:[ - FreeGuard, PreviousRouteRecorder, PiwikService, IsRouteEnabled + PreviousRouteRecorder, PiwikService, IsRouteEnabled ] }) export class LearnHowModule { } diff --git a/src/app/learn-how/learnInDepth/learn-in-depth-routing.module.ts b/src/app/learn-how/learnInDepth/learn-in-depth-routing.module.ts index d1ab12f..2a5fe1e 100644 --- a/src/app/learn-how/learnInDepth/learn-in-depth-routing.module.ts +++ b/src/app/learn-how/learnInDepth/learn-in-depth-routing.module.ts @@ -1,7 +1,6 @@ import {NgModule} from '@angular/core'; import {RouterModule} from '@angular/router'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {LearnInDepthComponent} from "./learn-in-depth.component"; import {IsRouteEnabled} from "../../openaireLibrary/error/isRouteEnabled.guard"; @@ -9,7 +8,7 @@ import {IsRouteEnabled} from "../../openaireLibrary/error/isRouteEnabled.guard"; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: LearnInDepthComponent, canActivate: [FreeGuard, IsRouteEnabled], canDeactivate: [PreviousRouteRecorder] } + { path: '', component: LearnInDepthComponent, canActivate: [IsRouteEnabled], canDeactivate: [PreviousRouteRecorder] } ]) ] diff --git a/src/app/learn-how/learnInDepth/learn-in-depth.component.ts b/src/app/learn-how/learnInDepth/learn-in-depth.component.ts index d30efa9..53433db 100644 --- a/src/app/learn-how/learnInDepth/learn-in-depth.component.ts +++ b/src/app/learn-how/learnInDepth/learn-in-depth.component.ts @@ -6,6 +6,7 @@ import {Meta, Title} from "@angular/platform-browser"; import {SEOService} from "../../openaireLibrary/sharedComponents/SEO/SEO.service"; import {PiwikService} from "../../openaireLibrary/utils/piwik/piwik.service"; import {HelperService} from "../../openaireLibrary/utils/helper/helper.service"; +import {Subscriber} from "rxjs"; @Component({ selector: 'learn-in-depth', @@ -180,7 +181,7 @@ export class LearnInDepthComponent implements OnInit { {name: 'about', route: '/about'}, {name: 'learn in-depth'} ]; - public piwiksub: any; + subscriptions = []; public pageContents = null; public divContents = null; @@ -199,12 +200,12 @@ export class LearnInDepthComponent implements OnInit { } public ngOnInit() { - this.route.data + this.subscriptions.push(this.route.data .subscribe((data: { envSpecific: EnvProperties }) => { this.properties = data.envSpecific; if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) { - this.piwiksub = this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe(); + this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe()); } this.url = this.properties.baseLink + this._router.url; this.seoService.createLinkForCanonicalURL(this.url); @@ -214,27 +215,30 @@ export class LearnInDepthComponent implements OnInit { //this.getDivContents(); this.getPageContents(); - }); + })); } private getPageContents() { - this.helper.getPageHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { + this.subscriptions.push(this.helper.getPageHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { this.pageContents = contents; - }) + })); } private getDivContents() { - this.helper.getDivHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { + this.subscriptions.push(this.helper.getDivHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { this.divContents = contents; - }) + })); } - - public ngOnDestroy() { - if (this.piwiksub) { - this.piwiksub.unsubscribe(); - } + + ngOnDestroy() { + this.subscriptions.forEach(subscription => { + if (subscription instanceof Subscriber) { + subscription.unsubscribe(); + } + }); } - + + private updateDescription(description: string) { this._meta.updateTag({content: description}, "name='description'"); this._meta.updateTag({content: description}, "property='og:description'"); diff --git a/src/app/learn-how/learnInDepth/learn-in-depth.module.ts b/src/app/learn-how/learnInDepth/learn-in-depth.module.ts index 5b9b594..315345d 100644 --- a/src/app/learn-how/learnInDepth/learn-in-depth.module.ts +++ b/src/app/learn-how/learnInDepth/learn-in-depth.module.ts @@ -2,7 +2,6 @@ import {NgModule} from '@angular/core'; import {CommonModule} from '@angular/common'; import {RouterModule} from '@angular/router'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {PiwikService} from '../../openaireLibrary/utils/piwik/piwik.service'; @@ -27,7 +26,7 @@ import {HtmlPagesModule} from "../../htmlPages/htmlPages.module"; LearnInDepthComponent ], providers:[ - FreeGuard, PreviousRouteRecorder, PiwikService, IsRouteEnabled + PreviousRouteRecorder, PiwikService, IsRouteEnabled ] }) export class LearnInDepthModule { } diff --git a/src/app/login/libUser.module.ts b/src/app/login/libUser.module.ts index 8d8bace..25654b6 100644 --- a/src/app/login/libUser.module.ts +++ b/src/app/login/libUser.module.ts @@ -7,7 +7,6 @@ import { UserRoutingModule } from './user-routing.module'; import { UserModule} from '../openaireLibrary/login/user.module'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; -import { SubscribeService } from '../openaireLibrary/utils/subscribe/subscribe.service'; import {EmailService} from "../openaireLibrary/utils/email/email.service"; import {SubscribeModule} from '../utils/subscribe/subscribe.module'; @@ -16,7 +15,7 @@ import {SubscribeModule} from '../utils/subscribe/subscribe.module'; CommonModule, FormsModule, UserRoutingModule, UserModule, SubscribeModule ], - providers:[PreviousRouteRecorder, /*SubscribeService,*/ EmailService], + providers:[PreviousRouteRecorder, EmailService], declarations: [ OpenaireUserComponent diff --git a/src/app/login/user.component.ts b/src/app/login/user.component.ts index 7416482..dd5926f 100644 --- a/src/app/login/user.component.ts +++ b/src/app/login/user.component.ts @@ -1,16 +1,16 @@ -import {Component, ElementRef, ViewChild} from '@angular/core'; -import {Observable} from 'rxjs/Observable'; +import {Component, ViewChild} from '@angular/core'; import {ActivatedRoute} from '@angular/router'; import {UserComponent} from '../openaireLibrary/login/user.component'; import {SubscribeService} from '../openaireLibrary/utils/subscribe/subscribe.service'; import {EmailService} from "../openaireLibrary/utils/email/email.service"; -import {Email} from "../openaireLibrary/utils/email/email"; import {Session} from '../openaireLibrary/login/utils/helper.class'; import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties'; import {SubscribeComponent} from '../utils/subscribe/subscribe.component'; import {ConnectHelper} from '../openaireLibrary/connect/connectHelper'; +import {properties} from "../../environments/environment"; +import {Subscriber} from "rxjs"; @Component({ selector: 'openaire-user', @@ -19,84 +19,87 @@ import {ConnectHelper} from '../openaireLibrary/connect/connectHelper';
- +
For this action you have to login and subscribe to the research community. - Login and Subscribe here. + Login and Subscribe here. Subscribing to community.... An error occured while trying to subscribe to community.... - +
This action requires authentication. - - Please sign in to continue. + + Please sign in to continue.
- - ` + + ` }) export class OpenaireUserComponent { - @ViewChild(UserComponent) usercomponent:UserComponent; - @ViewChild(SubscribeComponent) subscribe:SubscribeComponent; - properties:EnvProperties; + @ViewChild(UserComponent) usercomponent: UserComponent; + @ViewChild(SubscribeComponent) subscribe: SubscribeComponent; + properties: EnvProperties; communityId = null; - subscribeLoading:boolean = false; - subscribeError:boolean = false; - isSubscribed:boolean = false; + subscribeLoading: boolean = false; + subscribeError: boolean = false; + isSubscribed: boolean = false; public server: boolean = true; - loggedIn:boolean = false; + loggedIn: boolean = false; + sub; constructor(private _subscribeService: SubscribeService, - private _emailService: EmailService, private route: ActivatedRoute){} + private _emailService: EmailService, private route: ActivatedRoute) { + } + ngOnDestroy() { + if (this.sub instanceof Subscriber) { + this.sub.unsubscribe(); + } + } public ngOnInit() { - if( typeof document !== 'undefined') { + if (typeof document !== 'undefined') { this.server = false; this.loggedIn = Session.isLoggedIn(); } - this.route.data - .subscribe((data: { envSpecific: any }) => { - this.route.queryParams.subscribe( - communityId => { - this.communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); - if(!this.communityId) { - this.communityId = communityId['communityId']; - } - if(this.subscribe.subscribed){ - this.usercomponent.redirect(); - } - }); + this.properties = properties; + this.sub = this.route.queryParams.subscribe( + communityId => { + this.communityId = ConnectHelper.getCommunityFromDomain(this.properties.domain); + if (!this.communityId) { + this.communityId = communityId['communityId']; + } + if (this.subscribe.subscribed) { + this.usercomponent.redirect(); + } }); - - - } - login(){ + + login() { this.usercomponent.logIn(); } - subscribeTo(){ - if(this.subscribe && this.communityId){ + + subscribeTo() { + if (this.subscribe && this.communityId) { this.subscribeLoading = true; this.subscribe.subscribe(); - - - } - } - afterSubscibeEvent($event){ + + afterSubscibeEvent($event) { var res = $event.value; this.subscribeLoading = false; this.isSubscribed = this.subscribe.subscribed; - if(res == "ok"){ + if (res == "ok") { this.isSubscribed = true; this.usercomponent.redirect(); - }else{ + } else { this.subscribeError = true; } diff --git a/src/app/my-communities/my-communities.component.ts b/src/app/my-communities/my-communities.component.ts index d1e962d..ebeb081 100644 --- a/src/app/my-communities/my-communities.component.ts +++ b/src/app/my-communities/my-communities.component.ts @@ -17,6 +17,7 @@ import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service"; import {UserManagementService} from "../openaireLibrary/services/user-management.service"; import {Breadcrumb} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.component"; import {properties} from "../../environments/environment"; +import {Subscriber} from "rxjs"; @Component({ selector: 'my-communities', @@ -24,8 +25,6 @@ import {properties} from "../../environments/environment"; }) export class MyCommunitiesComponent { - public piwiksub: any; - public pageTitle = "OpenAIRE" public subscriberOfCommunities = []; public managerOfCommunities = []; @@ -42,7 +41,7 @@ export class MyCommunitiesComponent { properties: EnvProperties; private user: User; - + subscriptions = []; constructor( private route: ActivatedRoute, private _router: Router, @@ -70,36 +69,34 @@ export class MyCommunitiesComponent { } public ngOnInit() { - this.route.data - .subscribe((data: { envSpecific: EnvProperties }) => { - this.properties = data.envSpecific; - var url = this.properties.domain + this.properties.baseLink + this._router.url; - this.seoService.createLinkForCanonicalURL(url, false); - this._meta.updateTag({content: url}, "property='og:url'"); - if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) { - this.piwiksub = this._piwikService.trackView(this.properties, "OpenAIRE Connect", this.properties.piwikSiteId).subscribe(); - } - this.userManagementService.getUserInfo().subscribe(user => { - this.user = user; - if(this.user) { - this.getCommunities(); - } - //this.getDivContents(); - //this.getPageContents(); - }); - }); + this.properties = properties; + var url = this.properties.domain + this.properties.baseLink + this._router.url; + this.seoService.createLinkForCanonicalURL(url, false); + this._meta.updateTag({content: url}, "property='og:url'"); + if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) { + this.subscriptions.push(this._piwikService.trackView(this.properties, "OpenAIRE Connect", this.properties.piwikSiteId).subscribe()); + } + this.subscriptions.push(this.userManagementService.getUserInfo().subscribe(user => { + this.user = user; + if(this.user) { + this.getCommunities(); + } + //this.getDivContents(); + //this.getPageContents(); + })); + } private getPageContents() { - this.helper.getPageHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { + this.subscriptions.push(this.helper.getPageHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { this.pageContents = contents; - }) + })); } private getDivContents() { - this.helper.getDivHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { + this.subscriptions.push(this.helper.getDivHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { this.divContents = contents; - }) + })); } public getCommunities() { @@ -111,7 +108,7 @@ export class MyCommunitiesComponent { this.managerOfCommunities = []; this.researchCommunities = []; - this._communitiesService.getCommunitiesState().subscribe( + this.subscriptions.push(this._communitiesService.getCommunitiesState().subscribe( communitiesResults => { if (!communitiesResults) { return; @@ -155,7 +152,7 @@ export class MyCommunitiesComponent { this.status = this.errorCodes.DONE; if (mail != null && showCommunity) { - this._subscribeService.isSubscribedToCommunity(this.properties, community.communityId).subscribe( + this.subscriptions.push(this._subscribeService.isSubscribedToCommunity(this.properties, community.communityId).subscribe( res => { isSubscriber = res; if (isSubscriber) { @@ -178,7 +175,7 @@ export class MyCommunitiesComponent { if (subscribedLoading == 0) { this.loading = false; } - }); + })); } else { subscribedLoading--; if (subscribedLoading == 0) { @@ -191,7 +188,7 @@ export class MyCommunitiesComponent { this.status = this.handleError("Error getting communities", error); this.loading = false; } - ); + )); } private sort(results: CommunityInfo[]) { @@ -216,10 +213,12 @@ export class MyCommunitiesComponent { return StringUtils.quote(param); } - public ngOnDestroy() { - if (this.piwiksub) { - this.piwiksub.unsubscribe(); - } + ngOnDestroy() { + this.subscriptions.forEach(subscription => { + if (subscription instanceof Subscriber) { + subscription.unsubscribe(); + } + }); } private handleError(message: string, error): number { diff --git a/src/app/searchPages/advanced/advancedSearchDataProviders-routing.module.ts b/src/app/searchPages/advanced/advancedSearchDataProviders-routing.module.ts index 2db1252..751e207 100644 --- a/src/app/searchPages/advanced/advancedSearchDataProviders-routing.module.ts +++ b/src/app/searchPages/advanced/advancedSearchDataProviders-routing.module.ts @@ -1,7 +1,6 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import{OpenaireAdvancedSearchDataProvidersComponent} from './advancedSearchDataProviders.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @@ -9,7 +8,7 @@ import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousR @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireAdvancedSearchDataProvidersComponent, canActivate: [FreeGuard], data: { + { path: '', component: OpenaireAdvancedSearchDataProvidersComponent, data: { redirect: '/error', community : 'openaire' }, canDeactivate: [PreviousRouteRecorder] } diff --git a/src/app/searchPages/advanced/advancedSearchDataProviders.component.ts b/src/app/searchPages/advanced/advancedSearchDataProviders.component.ts index 491a2ef..65dde29 100644 --- a/src/app/searchPages/advanced/advancedSearchDataProviders.component.ts +++ b/src/app/searchPages/advanced/advancedSearchDataProviders.component.ts @@ -3,6 +3,7 @@ import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/ import {ActivatedRoute} from "@angular/router"; import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper"; import {PiwikHelper} from "../../utils/piwikHelper"; +import {Subscriber} from "rxjs"; @Component({ @@ -20,8 +21,14 @@ export class OpenaireAdvancedSearchDataProvidersComponent { customFilter: SearchCustomFilter = null; constructor ( private route: ActivatedRoute) { } + sub; + ngOnDestroy() { + if (this.sub instanceof Subscriber) { + this.sub.unsubscribe(); + } + } ngOnInit() { - this.route.data + this.sub = this.route.data .subscribe((data: { envSpecific: any }) => { var communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); diff --git a/src/app/searchPages/advanced/advancedSearchDataProviders.module.ts b/src/app/searchPages/advanced/advancedSearchDataProviders.module.ts index a9760ce..cae770e 100644 --- a/src/app/searchPages/advanced/advancedSearchDataProviders.module.ts +++ b/src/app/searchPages/advanced/advancedSearchDataProviders.module.ts @@ -5,7 +5,6 @@ import {FormsModule} from '@angular/forms'; import {AdvancedSearchDataProvidersRoutingModule} from './advancedSearchDataProviders-routing.module'; import {OpenaireAdvancedSearchDataProvidersComponent} from './advancedSearchDataProviders.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searchDataProviders.module"; @NgModule({ @@ -18,7 +17,7 @@ import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searc declarations: [ OpenaireAdvancedSearchDataProvidersComponent ], - providers:[FreeGuard], + providers:[], exports: [ OpenaireAdvancedSearchDataProvidersComponent ] diff --git a/src/app/searchPages/advanced/advancedSearchOrganizations-routing.module.ts b/src/app/searchPages/advanced/advancedSearchOrganizations-routing.module.ts index deb98e8..eaa95da 100644 --- a/src/app/searchPages/advanced/advancedSearchOrganizations-routing.module.ts +++ b/src/app/searchPages/advanced/advancedSearchOrganizations-routing.module.ts @@ -2,14 +2,13 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import{OpenaireAdvancedSearchOrganizationsComponent} from './advancedSearchOrganizations.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireAdvancedSearchOrganizationsComponent , canActivate: [FreeGuard], data: { + { path: '', component: OpenaireAdvancedSearchOrganizationsComponent , data: { redirect: '/error', community : 'openaire' },canDeactivate: [PreviousRouteRecorder]} diff --git a/src/app/searchPages/advanced/advancedSearchOrganizations.component.ts b/src/app/searchPages/advanced/advancedSearchOrganizations.component.ts index 167f4f1..0007349 100644 --- a/src/app/searchPages/advanced/advancedSearchOrganizations.component.ts +++ b/src/app/searchPages/advanced/advancedSearchOrganizations.component.ts @@ -3,6 +3,7 @@ import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/ import {ActivatedRoute} from "@angular/router"; import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper"; import {PiwikHelper} from "../../utils/piwikHelper"; +import {Subscriber} from "rxjs"; @Component({ @@ -20,8 +21,14 @@ export class OpenaireAdvancedSearchOrganizationsComponent { customFilter: SearchCustomFilter = null; constructor ( private route: ActivatedRoute) { } + sub; + ngOnDestroy() { + if (this.sub instanceof Subscriber) { + this.sub.unsubscribe(); + } + } ngOnInit() { - this.route.data + this.sub =this.route.data .subscribe((data: { envSpecific: any }) => { var communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); diff --git a/src/app/searchPages/advanced/advancedSearchOrganizations.module.ts b/src/app/searchPages/advanced/advancedSearchOrganizations.module.ts index a9eabc4..b14b2c5 100644 --- a/src/app/searchPages/advanced/advancedSearchOrganizations.module.ts +++ b/src/app/searchPages/advanced/advancedSearchOrganizations.module.ts @@ -5,7 +5,6 @@ import {FormsModule} from '@angular/forms'; import {AdvancedSearchOrganizationsRoutingModule} from './advancedSearchOrganizations-routing.module'; import {OpenaireAdvancedSearchOrganizationsComponent} from './advancedSearchOrganizations.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {SearchOrganizationsModule} from "../../openaireLibrary/searchPages/searchOrganizations.module"; @NgModule({ @@ -18,7 +17,7 @@ import {SearchOrganizationsModule} from "../../openaireLibrary/searchPages/searc declarations: [ OpenaireAdvancedSearchOrganizationsComponent ], - providers:[FreeGuard], + providers:[], exports: [ OpenaireAdvancedSearchOrganizationsComponent ] diff --git a/src/app/searchPages/advanced/advancedSearchProjects-routing.module.ts b/src/app/searchPages/advanced/advancedSearchProjects-routing.module.ts index 791d46c..0457283 100644 --- a/src/app/searchPages/advanced/advancedSearchProjects-routing.module.ts +++ b/src/app/searchPages/advanced/advancedSearchProjects-routing.module.ts @@ -2,14 +2,13 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import{OpenaireAdvancedSearchProjectsComponent} from './advancedSearchProjects.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireAdvancedSearchProjectsComponent, canActivate: [FreeGuard], data: { + { path: '', component: OpenaireAdvancedSearchProjectsComponent, data: { redirect: '/error', community : 'openaire' }, canDeactivate: [PreviousRouteRecorder] } diff --git a/src/app/searchPages/advanced/advancedSearchProjects.component.ts b/src/app/searchPages/advanced/advancedSearchProjects.component.ts index 2bee137..56b7c1b 100644 --- a/src/app/searchPages/advanced/advancedSearchProjects.component.ts +++ b/src/app/searchPages/advanced/advancedSearchProjects.component.ts @@ -3,6 +3,7 @@ import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/ import {ActivatedRoute} from "@angular/router"; import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper"; import {PiwikHelper} from "../../utils/piwikHelper"; +import {Subscriber} from "rxjs"; @Component({ selector: 'openaire-advanced-search-projects', template: ` @@ -18,8 +19,14 @@ export class OpenaireAdvancedSearchProjectsComponent { customFilter: SearchCustomFilter = null; constructor ( private route: ActivatedRoute) { } + sub; + ngOnDestroy() { + if (this.sub instanceof Subscriber) { + this.sub.unsubscribe(); + } + } ngOnInit() { - this.route.data + this.sub = this.route.data .subscribe((data: { envSpecific: any }) => { var communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); diff --git a/src/app/searchPages/advanced/advancedSearchProjects.module.ts b/src/app/searchPages/advanced/advancedSearchProjects.module.ts index a8c9edc..aad0d69 100644 --- a/src/app/searchPages/advanced/advancedSearchProjects.module.ts +++ b/src/app/searchPages/advanced/advancedSearchProjects.module.ts @@ -4,7 +4,6 @@ import {FormsModule} from '@angular/forms'; import {AdvancedSearchProjectsRoutingModule} from './advancedSearchProjects-routing.module'; import {OpenaireAdvancedSearchProjectsComponent} from './advancedSearchProjects.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {SearchProjectsModule} from "../../openaireLibrary/searchPages/searchProjects.module"; @NgModule({ @@ -17,7 +16,7 @@ import {SearchProjectsModule} from "../../openaireLibrary/searchPages/searchProj declarations: [ OpenaireAdvancedSearchProjectsComponent ], - providers: [FreeGuard], + providers: [], exports: [ OpenaireAdvancedSearchProjectsComponent ] diff --git a/src/app/searchPages/advanced/searchResearchResults-routing.module.ts b/src/app/searchPages/advanced/searchResearchResults-routing.module.ts index 9b2f9a4..b9b3142 100644 --- a/src/app/searchPages/advanced/searchResearchResults-routing.module.ts +++ b/src/app/searchPages/advanced/searchResearchResults-routing.module.ts @@ -2,13 +2,12 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireSearchResearchResultsComponent, canActivate: [FreeGuard], data: { + { path: '', component: OpenaireSearchResearchResultsComponent, data: { redirect: '/error', community : 'openaire' }, canDeactivate: [PreviousRouteRecorder] } diff --git a/src/app/searchPages/advanced/searchResearchResults.component.ts b/src/app/searchPages/advanced/searchResearchResults.component.ts index 82a120e..65181e7 100644 --- a/src/app/searchPages/advanced/searchResearchResults.component.ts +++ b/src/app/searchPages/advanced/searchResearchResults.component.ts @@ -3,6 +3,7 @@ import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/ import {ActivatedRoute} from "@angular/router"; import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper"; import {PiwikHelper} from "../../utils/piwikHelper"; +import {Subscriber} from "rxjs"; @Component({ selector: 'openaire-search-results', @@ -16,8 +17,14 @@ export class OpenaireSearchResearchResultsComponent { customFilter: SearchCustomFilter = null; constructor ( private route: ActivatedRoute) { } - ngOnInit() { - this.route.data + sub; + ngOnDestroy() { + if (this.sub instanceof Subscriber) { + this.sub.unsubscribe(); + } + } + ngOnInit() { + this.sub = this.route.data .subscribe((data: { envSpecific: any }) => { var communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); diff --git a/src/app/searchPages/advanced/searchResearchResults.module.ts b/src/app/searchPages/advanced/searchResearchResults.module.ts index 795c61f..9462486 100644 --- a/src/app/searchPages/advanced/searchResearchResults.module.ts +++ b/src/app/searchPages/advanced/searchResearchResults.module.ts @@ -5,7 +5,6 @@ import { FormsModule } from '@angular/forms'; import{ SearchResearchResultsRoutingModule} from './searchResearchResults-routing.module'; import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/searchResearchResults.module"; @@ -18,7 +17,7 @@ import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/sea declarations: [ OpenaireSearchResearchResultsComponent ], - providers:[FreeGuard,PreviousRouteRecorder], + providers:[PreviousRouteRecorder], exports: [ OpenaireSearchResearchResultsComponent ] diff --git a/src/app/searchPages/communities/searchCommunities.component.ts b/src/app/searchPages/communities/searchCommunities.component.ts index 5274676..aca7fa6 100644 --- a/src/app/searchPages/communities/searchCommunities.component.ts +++ b/src/app/searchPages/communities/searchCommunities.component.ts @@ -15,6 +15,8 @@ import {HelperFunctions} from "../../openaireLibrary/utils/HelperFunctions.class import {UserManagementService} from "../../openaireLibrary/services/user-management.service"; import {Breadcrumb} from "../../openaireLibrary/utils/breadcrumbs/breadcrumbs.component"; import {NewSearchPageComponent} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component"; +import {properties} from "../../../environments/environment"; +import {Subscriber} from "rxjs"; @Component({ selector: 'search-communities', @@ -40,8 +42,7 @@ export class SearchCommunitiesComponent { private errorMessages: ErrorMessagesComponent; public results: CommunityInfo[] = []; public totalResults: CommunityInfo[] = []; - public sub: any; - public subResults: any; + public subscriptions = []; public filters = []; public searchFields: SearchFields = new SearchFields(); public searchUtils: SearchUtilsClass = new SearchUtilsClass(); @@ -80,13 +81,11 @@ export class SearchCommunitiesComponent { public ngOnInit() { var firstLoad = true; - this.route.data - .subscribe((data: { envSpecific: EnvProperties }) => { - this.properties = data.envSpecific; - this.piwikSiteId = this.properties.piwikSiteId; - this.baseUrl = data.envSpecific.searchLinkToCommunities; - }); - this.sub = this.route.queryParams.subscribe(params => { + this.properties = properties; + this.piwikSiteId = this.properties.piwikSiteId; + this.baseUrl = this.properties.searchLinkToCommunities; + + this.subscriptions.push(this.route.queryParams.subscribe(params => { this.searchPage.resultsPerPage = 10; this.keyword = (params['fv0'] ? params['fv0'] : ''); this.keyword = StringUtils.URIDecode(this.keyword); @@ -108,23 +107,22 @@ export class SearchCommunitiesComponent { let queryParams = params;//this.searchPage.getQueryParamsFromUrl(params); if (typeof document !== 'undefined') { - this.userManagementService.getUserInfo().subscribe(user => { + this.subscriptions.push(this.userManagementService.getUserInfo().subscribe(user => { this.user = user; this.initCommunities(queryParams); - }); + })); } else { this.initCommunities(queryParams); } - }); + })); } - - public ngOnDestroy() { - if (this.sub) { - this.sub.unsubscribe(); - } - if (this.subResults) { - this.subResults.unsubscribe(); - } + + ngOnDestroy() { + this.subscriptions.forEach(subscription => { + if (subscription instanceof Subscriber) { + subscription.unsubscribe(); + } + }); } /** @@ -133,7 +131,7 @@ export class SearchCommunitiesComponent { * @param params */ private initCommunities(params) { - this.subResults = this._communitiesService.getCommunitiesState().subscribe( + this.subscriptions.push(this._communitiesService.getCommunitiesState().subscribe( data => { if (!data) { return; @@ -147,14 +145,14 @@ export class SearchCommunitiesComponent { } } if (this.user) { - this._subscribeService.getCommunitiesSubscribedTo(this.properties/*, this.user.email*/).subscribe( + this.subscriptions.push(this._subscribeService.getCommunitiesSubscribedTo(this.properties/*, this.user.email*/).subscribe( res => { for (let i = 0; i < this.totalResults.length; i++) { this.totalResults[i].isSubscribed = (res.indexOf(this.totalResults[i].communityId) != -1); } this._getResults(params); } - ); + )); } else { this._getResults(params); } @@ -165,7 +163,7 @@ export class SearchCommunitiesComponent { this.disableForms = false; HelperFunctions.scroll(); } - ); + )); } diff --git a/src/app/searchPages/communities/searchCommunities.module.ts b/src/app/searchPages/communities/searchCommunities.module.ts index 1ce7f9b..b195439 100644 --- a/src/app/searchPages/communities/searchCommunities.module.ts +++ b/src/app/searchPages/communities/searchCommunities.module.ts @@ -2,7 +2,6 @@ import {NgModule} from "@angular/core"; import {CommonModule} from "@angular/common"; import {FormsModule} from "@angular/forms"; import {SearchCommunitiesComponent} from "./searchCommunities.component"; -import {SearchPageModule} from "../../openaireLibrary/searchPages/searchUtils/searchPage.module"; import {SearchFormModule} from "../../openaireLibrary/searchPages/searchUtils/searchForm.module"; import {SearchCommunitiesRoutingModule} from "./searchCommunities-routing.module"; import {PreviousRouteRecorder} from "../../openaireLibrary/utils/piwik/previousRouteRecorder.guard"; @@ -11,8 +10,7 @@ import {NewSearchPageModule} from "../../openaireLibrary/searchPages/searchUtils @NgModule({ imports: [ CommonModule, FormsModule, - SearchFormModule, SearchPageModule, - SearchCommunitiesRoutingModule, NewSearchPageModule + SearchFormModule, SearchCommunitiesRoutingModule, NewSearchPageModule ], declarations: [ SearchCommunitiesComponent diff --git a/src/app/searchPages/find/libSearch.module.ts b/src/app/searchPages/find/libSearch.module.ts index a84bd4d..6a0a54b 100644 --- a/src/app/searchPages/find/libSearch.module.ts +++ b/src/app/searchPages/find/libSearch.module.ts @@ -1,16 +1,14 @@ import { NgModule} from '@angular/core'; -import {MainSearchModule} from '../../openaireLibrary/searchPages/find/mainSearch.module'; import { OpenaireSearchComponent } from './search.component'; import { MainSearchRoutingModule } from './mainSearch-routing.module'; -import {FreeGuard} from "../../openaireLibrary/login/freeGuard.guard"; import {PreviousRouteRecorder} from "../../openaireLibrary/utils/piwik/previousRouteRecorder.guard"; import {SearchAllModule} from "../../openaireLibrary/searchPages/find/searchAll.module"; @NgModule({ - imports: [MainSearchRoutingModule, MainSearchModule, SearchAllModule], + imports: [MainSearchRoutingModule, SearchAllModule], declarations:[OpenaireSearchComponent], exports:[OpenaireSearchComponent], - providers:[FreeGuard,PreviousRouteRecorder], + providers:[PreviousRouteRecorder], }) export class LibMainSearchModule { } diff --git a/src/app/searchPages/find/mainSearch-routing.module.ts b/src/app/searchPages/find/mainSearch-routing.module.ts index 9104f19..2323e7c 100644 --- a/src/app/searchPages/find/mainSearch-routing.module.ts +++ b/src/app/searchPages/find/mainSearch-routing.module.ts @@ -2,13 +2,12 @@ import {NgModule} from '@angular/core'; import {RouterModule} from '@angular/router'; import {OpenaireSearchComponent} from './search.component'; -import {FreeGuard} from "../../openaireLibrary/login/freeGuard.guard"; import {PreviousRouteRecorder} from "../../openaireLibrary/utils/piwik/previousRouteRecorder.guard"; @NgModule({ imports: [ RouterModule.forChild([ - {path: '', component: OpenaireSearchComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder]} + {path: '', component: OpenaireSearchComponent, canDeactivate: [PreviousRouteRecorder]} ]) ] }) diff --git a/src/app/searchPages/find/search.component.ts b/src/app/searchPages/find/search.component.ts index 5027c7f..5a25efa 100644 --- a/src/app/searchPages/find/search.component.ts +++ b/src/app/searchPages/find/search.component.ts @@ -3,39 +3,46 @@ import {ActivatedRoute} from '@angular/router'; import {PiwikHelper} from '../../utils/piwikHelper'; import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class"; +import {properties} from "../../../environments/environment"; +import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties"; +import {Subscriber} from "rxjs"; @Component({ selector: 'openaire-search-find', template: ` - - `, }) export class OpenaireSearchComponent{ connectCommunityId:string; customFilter: SearchCustomFilter = null; piwikSiteId = null; + properties:EnvProperties; constructor ( private route: ActivatedRoute) { } + sub; + ngOnDestroy() { + if (this.sub instanceof Subscriber) { + this.sub.unsubscribe(); + } + } ngOnInit() { - this.route.data - .subscribe((data: { envSpecific: any }) => { - var communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); - this.piwikSiteId = PiwikHelper.getSiteId(communityId,data.envSpecific.environment); - if(communityId){ - this.connectCommunityId = communityId; - this.customFilter = new SearchCustomFilter("Community", "communityId", this.connectCommunityId, ""); - }else{ - this.route.queryParams.subscribe(params => { - if(params['communityId'] && params['communityId']!=""){ - this.connectCommunityId = params['communityId']; - this.piwikSiteId = PiwikHelper.getSiteId(this.connectCommunityId,data.envSpecific.environment); - this.customFilter = new SearchCustomFilter("Community", "communityId", this.connectCommunityId, ""); - } - }); - } - }); + this.properties = properties; + let communityId = ConnectHelper.getCommunityFromDomain(this.properties.domain); + this.piwikSiteId = PiwikHelper.getSiteId(communityId,this.properties.environment); + if(communityId){ + this.connectCommunityId = communityId; + this.customFilter = new SearchCustomFilter("Community", "communityId", this.connectCommunityId, ""); + }else{ + this.sub = this.route.queryParams.subscribe(params => { + if(params['communityId'] && params['communityId']!=""){ + this.connectCommunityId = params['communityId']; + this.piwikSiteId = PiwikHelper.getSiteId(this.connectCommunityId,this.properties.environment); + this.customFilter = new SearchCustomFilter("Community", "communityId", this.connectCommunityId, ""); + } + }); + } + } diff --git a/src/app/searchPages/simple/searchDataProviders-routing.module.ts b/src/app/searchPages/simple/searchDataProviders-routing.module.ts index c84701b..130f026 100644 --- a/src/app/searchPages/simple/searchDataProviders-routing.module.ts +++ b/src/app/searchPages/simple/searchDataProviders-routing.module.ts @@ -2,13 +2,12 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import{OpenaireSearchDataprovidersComponent} from './searchDataproviders.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireSearchDataprovidersComponent, canActivate: [FreeGuard], data: { + { path: '', component: OpenaireSearchDataprovidersComponent, data: { redirect: '/error' }, canDeactivate: [PreviousRouteRecorder] } diff --git a/src/app/searchPages/simple/searchDataProviders.module.ts b/src/app/searchPages/simple/searchDataProviders.module.ts index c758d2f..948cc50 100644 --- a/src/app/searchPages/simple/searchDataProviders.module.ts +++ b/src/app/searchPages/simple/searchDataProviders.module.ts @@ -3,13 +3,12 @@ import {CommonModule} from '@angular/common'; import {FormsModule} from '@angular/forms'; import {OpenaireSearchDataprovidersComponent} from './searchDataproviders.component'; import {SearchDataProvidersRoutingModule} from './searchDataProviders-routing.module'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; -import {SearchDataProvidersModule} from '../../openaireLibrary/searchPages/simple/searchDataProviders.module'; import {SearchPageTableViewModule} from '../../openaireLibrary/searchPages/searchUtils/searchPageTableView.module'; import {SearchFormModule} from '../../openaireLibrary/searchPages/searchUtils/searchForm.module'; import {SearchDataprovidersServiceModule} from '../../openaireLibrary/connect/contentProviders/searchDataprovidersService.module'; +import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searchDataProviders.module"; @NgModule({ imports: [ @@ -21,7 +20,7 @@ import {SearchDataprovidersServiceModule} from '../../openaireLibrary/connect/co declarations: [ OpenaireSearchDataprovidersComponent ], - providers: [FreeGuard, PreviousRouteRecorder], + providers: [PreviousRouteRecorder], exports: [ OpenaireSearchDataprovidersComponent ] diff --git a/src/app/searchPages/simple/searchDataproviders.component.ts b/src/app/searchPages/simple/searchDataproviders.component.ts index 16c4e66..3d992d2 100644 --- a/src/app/searchPages/simple/searchDataproviders.component.ts +++ b/src/app/searchPages/simple/searchDataproviders.component.ts @@ -10,6 +10,7 @@ import {EnvProperties} from '../../openaireLibrary/utils/properties/env-properti import {SearchCommunityDataprovidersService} from '../../openaireLibrary/connect/contentProviders/searchDataproviders.service'; import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; import {PiwikHelper} from '../../utils/piwikHelper'; +import {properties} from "../../../environments/environment"; @Component({ selector: 'openaire-search-dataproviders', @@ -61,11 +62,7 @@ export class OpenaireSearchDataprovidersComponent { } public ngOnInit() { - this.route.data - .subscribe((data: { envSpecific: EnvProperties }) => { - this.properties = data.envSpecific; - - //this.searchPage.refineFields = this.refineFields; + this.properties = properties; this.sub = this.route.queryParams.subscribe(params => { this.communityId = ConnectHelper.getCommunityFromDomain(this.properties.domain); if(!this.communityId) { @@ -86,7 +83,7 @@ export class OpenaireSearchDataprovidersComponent { console.log("Init transfrm " + this.searchUtils.keyword) } }); - }); + } public ngOnDestroy() { @@ -108,14 +105,8 @@ export class OpenaireSearchDataprovidersComponent { this.subResults = this._searchDataprovidersService.searchDataproviders(this.properties, this.communityId).subscribe( data => { - //this.filters = this.createFilters(data, params); this.searchUtils.totalResults = data.length; - //console.info("search Content Providers [total results:"+this.searchUtils.totalResults+"]"); this.results = data; - - //this.searchPage.checkSelectedFilters(this.filters); - - //var errorCodes:ErrorCodes = new ErrorCodes(); this.searchUtils.status = this.errorCodes.DONE; if(this.searchUtils.totalResults == 0 ){ this.searchUtils.status = this.errorCodes.NONE; @@ -146,55 +137,6 @@ export class OpenaireSearchDataprovidersComponent { } ); } - private setFilters(){ - //TODO set filters from - } -/* - private createFilters(data, params):Filter[] { - let length = Array.isArray(data) ? data.length : 1; - - var filter_names=[]; - var filter_ids=[]; - var searchFields = new SearchFields(); - var filter_original_ids = [];//searchFields.JOURNAL_FIELDS; - - this.refineFields = ["relfunder"]; - this.searchPage.refineFields = this.refineFields; - this.searchPage.getParametersFromUrl(params); - - var value_names=[]; - var value_original_ids=[]; - - var funders = new Set(); - var value_name = []; - var value_original_id = []; - let i; - for(i=0; i - - ` -}) - -export class OpenaireSearchDatasetsComponent { - advancedSearchParameters:any; - connectCommunityId:string; - piwikSiteId = null; - customFilter: SearchCustomFilter = null; - - constructor ( private route: ActivatedRoute) { - } - ngOnInit() { - - this.route.data - .subscribe((data: { envSpecific: any }) => { - - var communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); - if(communityId){ - this.connectCommunityId = communityId; - this.piwikSiteId = PiwikHelper.getSiteId(this.connectCommunityId,data.envSpecific.environment); - this.customFilter = new SearchCustomFilter("Community", "communityId", this.connectCommunityId, ""); - - }else{ - this.route.queryParams.subscribe(params => { - if(params['communityId'] && params['communityId']!=""){ - this.connectCommunityId = params['communityId']; - this.piwikSiteId = PiwikHelper.getSiteId(this.connectCommunityId,data.envSpecific.environment); - this.customFilter = new SearchCustomFilter("Community", "communityId", this.connectCommunityId, ""); - - } - }); - } - - }); - - } - } diff --git a/src/app/searchPages/simple/searchDatasets.module.ts b/src/app/searchPages/simple/searchDatasets.module.ts deleted file mode 100644 index adca757..0000000 --- a/src/app/searchPages/simple/searchDatasets.module.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { NgModule} from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { FormsModule } from '@angular/forms'; - -import{ SearchDatasetsRoutingModule} from './searchDatasets-routing.module'; -import{OpenaireSearchDatasetsComponent} from './searchDatasets.component'; - -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; -import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; -import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/simple/searchResearchResults.module"; - - -@NgModule({ - imports: [ - CommonModule, FormsModule, - SearchDatasetsRoutingModule, SearchResearchResultsModule - - ], - declarations: [ - OpenaireSearchDatasetsComponent - ], - providers:[FreeGuard,PreviousRouteRecorder], - exports: [ - OpenaireSearchDatasetsComponent - ] -}) -export class LibSearchDatasetsModule { } diff --git a/src/app/searchPages/simple/searchOrganizations-routing.module.ts b/src/app/searchPages/simple/searchOrganizations-routing.module.ts index 2f2d6e3..2de786b 100644 --- a/src/app/searchPages/simple/searchOrganizations-routing.module.ts +++ b/src/app/searchPages/simple/searchOrganizations-routing.module.ts @@ -2,13 +2,12 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import{OpenaireSearchOrganizationsComponent} from './searchOrganizations.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireSearchOrganizationsComponent, canActivate: [FreeGuard], data: { + { path: '', component: OpenaireSearchOrganizationsComponent, data: { redirect: '/error' }, canDeactivate: [PreviousRouteRecorder] } diff --git a/src/app/searchPages/simple/searchOrganizations.component.ts b/src/app/searchPages/simple/searchOrganizations.component.ts index 7985509..84bf96e 100644 --- a/src/app/searchPages/simple/searchOrganizations.component.ts +++ b/src/app/searchPages/simple/searchOrganizations.component.ts @@ -1,8 +1,9 @@ -import {Component, Input} from '@angular/core'; +import {Component} from '@angular/core'; import {ActivatedRoute} from '@angular/router'; import {PiwikHelper} from '../../utils/piwikHelper'; import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; +import {Subscriber} from "rxjs"; @Component({ selector: 'openaire-search-organizations', @@ -18,9 +19,14 @@ export class OpenaireSearchOrganizationsComponent { piwikSiteId = null; constructor (private route: ActivatedRoute ) { } + sub; + ngOnDestroy() { + if (this.sub instanceof Subscriber) { + this.sub.unsubscribe(); + } + } ngOnInit() { - - this.route.data + this.sub = this.route.data .subscribe((data: { envSpecific: any }) => { var communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); diff --git a/src/app/searchPages/simple/searchOrganizations.module.ts b/src/app/searchPages/simple/searchOrganizations.module.ts index 00fbc2c..6a38c6b 100644 --- a/src/app/searchPages/simple/searchOrganizations.module.ts +++ b/src/app/searchPages/simple/searchOrganizations.module.ts @@ -5,10 +5,8 @@ import { FormsModule } from '@angular/forms'; import{ SearchOrganizationsRoutingModule} from './searchOrganizations-routing.module'; import{OpenaireSearchOrganizationsComponent} from './searchOrganizations.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; - -import { SearchOrganizationsModule} from '../../openaireLibrary/searchPages/simple/searchOrganizations.module'; +import {SearchOrganizationsModule} from "../../openaireLibrary/searchPages/searchOrganizations.module"; @NgModule({ imports: [ @@ -19,7 +17,7 @@ import { SearchOrganizationsModule} from '../../openaireLibrary/searchPages/simp declarations: [ OpenaireSearchOrganizationsComponent ], - providers:[FreeGuard,PreviousRouteRecorder], + providers:[PreviousRouteRecorder], exports: [ OpenaireSearchOrganizationsComponent ] diff --git a/src/app/searchPages/simple/searchOrps-routing.module.ts b/src/app/searchPages/simple/searchOrps-routing.module.ts deleted file mode 100644 index 6468ae0..0000000 --- a/src/app/searchPages/simple/searchOrps-routing.module.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; - -import {OpenaireSearchOrpsComponent} from './searchOrps.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; -import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; - -@NgModule({ - imports: [ - RouterModule.forChild([ - { path: '', component: OpenaireSearchOrpsComponent, canActivate: [FreeGuard], data: { - redirect: '/error' - }, canDeactivate: [PreviousRouteRecorder] } - - ]) - ] -}) -export class SearchOrpsRoutingModule { } diff --git a/src/app/searchPages/simple/searchOrps.component.ts b/src/app/searchPages/simple/searchOrps.component.ts deleted file mode 100644 index b45ac6d..0000000 --- a/src/app/searchPages/simple/searchOrps.component.ts +++ /dev/null @@ -1,52 +0,0 @@ -import {Component} from '@angular/core'; -import {ActivatedRoute} from '@angular/router'; -import {PiwikHelper} from '../../utils/piwikHelper'; -import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; -import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class"; - -@Component({ - selector: 'openaire-search-other', - template: ` - - - ` - -}) -export class OpenaireSearchOrpsComponent { - - advancedSearchParameters: any; - connectCommunityId: string; - piwikSiteId = null; - customFilter: SearchCustomFilter = null; - - constructor(private route: ActivatedRoute) { - } - - ngOnInit() { - - this.route.data - .subscribe((data: { envSpecific: any }) => { - - var communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); - if (communityId) { - this.connectCommunityId = communityId - this.piwikSiteId = PiwikHelper.getSiteId(this.connectCommunityId,data.envSpecific.environment); - this.customFilter = new SearchCustomFilter("Community", "communityId", this.connectCommunityId, ""); - - } else { - this.route.queryParams.subscribe(params => { - if (params['communityId'] && params['communityId'] != "") { - this.connectCommunityId = params['communityId']; - this.piwikSiteId = PiwikHelper.getSiteId(this.connectCommunityId,data.envSpecific.environment); - this.customFilter = new SearchCustomFilter("Community", "communityId", this.connectCommunityId, ""); - - } - }); - } - - }); - - } -} diff --git a/src/app/searchPages/simple/searchOrps.module.ts b/src/app/searchPages/simple/searchOrps.module.ts deleted file mode 100644 index aa6ab95..0000000 --- a/src/app/searchPages/simple/searchOrps.module.ts +++ /dev/null @@ -1,27 +0,0 @@ -import {NgModule} from '@angular/core'; -import {CommonModule} from '@angular/common'; -import {FormsModule} from '@angular/forms'; - -import {SearchOrpsRoutingModule} from './searchOrps-routing.module'; -import {OpenaireSearchOrpsComponent} from './searchOrps.component'; - -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; -import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; -import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/simple/searchResearchResults.module"; - -@NgModule({ - imports: [ - CommonModule, FormsModule, - SearchOrpsRoutingModule, SearchResearchResultsModule - ], - declarations: [ - OpenaireSearchOrpsComponent - ], - providers: [ - FreeGuard, PreviousRouteRecorder - ], - exports: [ - OpenaireSearchOrpsComponent - ] -}) -export class LibSearchOrpsModule { } diff --git a/src/app/searchPages/simple/searchProjects-routing.module.ts b/src/app/searchPages/simple/searchProjects-routing.module.ts index a21ad21..a2e8755 100644 --- a/src/app/searchPages/simple/searchProjects-routing.module.ts +++ b/src/app/searchPages/simple/searchProjects-routing.module.ts @@ -2,13 +2,12 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import{OpenaireSearchProjectsComponent} from './searchProjects.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireSearchProjectsComponent, canActivate: [FreeGuard], data: { + { path: '', component: OpenaireSearchProjectsComponent, data: { redirect: '/error' }, canDeactivate: [PreviousRouteRecorder] } diff --git a/src/app/searchPages/simple/searchProjects.component.ts b/src/app/searchPages/simple/searchProjects.component.ts index 158d21a..5903fb2 100644 --- a/src/app/searchPages/simple/searchProjects.component.ts +++ b/src/app/searchPages/simple/searchProjects.component.ts @@ -1,17 +1,18 @@ -import {Component, Input, ViewChild} from '@angular/core'; +import {Component, ViewChild} from '@angular/core'; import { ActivatedRoute} from '@angular/router'; import { Filter, Value} from '../../openaireLibrary/searchPages/searchUtils/searchHelperClasses.class'; import {ErrorCodes} from '../../openaireLibrary/utils/properties/errorCodes'; import {ErrorMessagesComponent} from '../../openaireLibrary/utils/errorMessages.component'; -import {SearchFields, FieldDetails} from '../../openaireLibrary/utils/properties/searchFields'; +import {SearchFields} from '../../openaireLibrary/utils/properties/searchFields'; import {SearchPageTableViewComponent } from '../../openaireLibrary/searchPages/searchUtils/searchPageTableView.component'; import {SearchCustomFilter, SearchUtilsClass} from '../../openaireLibrary/searchPages/searchUtils/searchUtils.class'; import {EnvProperties} from '../../openaireLibrary/utils/properties/env-properties'; import {SearchCommunityProjectsService} from '../../openaireLibrary/connect/projects/searchProjects.service'; import {PiwikHelper} from '../../utils/piwikHelper'; import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; +import {properties} from "../../../environments/environment"; @Component({ selector: 'openaire-search-projects', @@ -62,13 +63,10 @@ export class OpenaireSearchProjectsComponent { } public ngOnInit() { - this.route.data - .subscribe((data: { envSpecific: EnvProperties }) => { - this.properties = data.envSpecific; - //this.searchPage.refineFields = this.refineFields; + this.properties = properties; + this.sub = this.route.queryParams.subscribe(params => { - //if (!this.communityId && typeof document !== 'undefined') { this.communityId = ConnectHelper.getCommunityFromDomain(this.properties.domain); if(!this.communityId) { this.communityId = params['communityId']; @@ -76,9 +74,6 @@ export class OpenaireSearchProjectsComponent { this.customFilter = new SearchCustomFilter("Community", "communityId", this.communityId, ""); this.piwikSiteId = PiwikHelper.getSiteId(this.communityId,this.properties.environment); this.searchUtils.keyword = (params['fv0']?params['fv0']:(params['keyword']?params['keyword']:'')); - //this.filters = this.createFilters(); - //this.searchPage.getParametersFromUrl(params); - if(this.initialLoad) { this.initialLoad = false; this._getResults(params); @@ -86,7 +81,6 @@ export class OpenaireSearchProjectsComponent { this.searchPage.goTo(1); } }); - }); } public ngOnDestroy() { diff --git a/src/app/searchPages/simple/searchProjects.module.ts b/src/app/searchPages/simple/searchProjects.module.ts index 6877103..58d98d9 100644 --- a/src/app/searchPages/simple/searchProjects.module.ts +++ b/src/app/searchPages/simple/searchProjects.module.ts @@ -4,10 +4,7 @@ import { FormsModule } from '@angular/forms'; import{ SearchProjectsRoutingModule} from './searchProjects-routing.module'; import{OpenaireSearchProjectsComponent} from './searchProjects.component'; - -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; -import { SearchProjectsModule} from '../../openaireLibrary/searchPages/simple/searchProjects.module'; import { SearchPageTableViewModule} from '../../openaireLibrary/searchPages/searchUtils/searchPageTableView.module'; import {DataProvidersServiceModule} from '../../openaireLibrary/services/dataProvidersService.module'; @@ -16,14 +13,14 @@ import {SearchProjectsServiceModule} from '../../openaireLibrary/connect/project @NgModule({ imports: [ - CommonModule, FormsModule, SearchProjectsRoutingModule, SearchProjectsModule, SearchPageTableViewModule, + CommonModule, FormsModule, SearchProjectsRoutingModule, SearchPageTableViewModule, DataProvidersServiceModule, SearchFormModule, SearchProjectsServiceModule ], declarations: [ OpenaireSearchProjectsComponent ], - providers:[FreeGuard,PreviousRouteRecorder], + providers:[PreviousRouteRecorder], exports: [ OpenaireSearchProjectsComponent ] diff --git a/src/app/searchPages/simple/searchPublications-routing.module.ts b/src/app/searchPages/simple/searchPublications-routing.module.ts deleted file mode 100644 index 0446756..0000000 --- a/src/app/searchPages/simple/searchPublications-routing.module.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; - -import{OpenaireSearchPublicationsComponent} from './searchPublications.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; -import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; - -@NgModule({ - imports: [ - RouterModule.forChild([ - { path: '', component: OpenaireSearchPublicationsComponent, canActivate: [FreeGuard], data: { - redirect: '/error' - }, canDeactivate: [PreviousRouteRecorder] } - - ]) - ] -}) -export class SearchPublicationsRoutingModule { } diff --git a/src/app/searchPages/simple/searchPublications.component.ts b/src/app/searchPages/simple/searchPublications.component.ts deleted file mode 100644 index f5ee214..0000000 --- a/src/app/searchPages/simple/searchPublications.component.ts +++ /dev/null @@ -1,55 +0,0 @@ -import {Component, Input} from '@angular/core'; -import {ActivatedRoute} from '@angular/router'; -import {PiwikHelper} from '../../utils/piwikHelper'; -import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; -import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class"; -import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties"; - -@Component({ - selector: 'openaire-search-publications', - template: ` - - - - ` - -}) -export class OpenaireSearchPublicationsComponent { - - connectCommunityId: string; - piwikSiteId = null; - customFilter: SearchCustomFilter = null; - properties:EnvProperties; - - constructor(private route: ActivatedRoute) { - } - - ngOnInit() { - - this.route.data - .subscribe((data: { envSpecific: any }) => { - - var communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); - if (communityId) { - this.connectCommunityId = communityId; - this.piwikSiteId = PiwikHelper.getSiteId(this.connectCommunityId,data.envSpecific.environment); - this.customFilter = new SearchCustomFilter("Community", "communityId", this.connectCommunityId, ""); - - } else { - this.route.queryParams.subscribe(params => { - if (params['communityId'] && params['communityId'] != "") { - this.connectCommunityId = params['communityId']; - this.piwikSiteId = PiwikHelper.getSiteId(this.connectCommunityId,data.envSpecific.environment); - this.customFilter = new SearchCustomFilter("Community", "communityId", this.connectCommunityId, ""); - - } - }); - } - - - }); - - } -} diff --git a/src/app/searchPages/simple/searchPublications.module.ts b/src/app/searchPages/simple/searchPublications.module.ts deleted file mode 100644 index 941d632..0000000 --- a/src/app/searchPages/simple/searchPublications.module.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { NgModule} from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { FormsModule } from '@angular/forms'; - -import{ SearchPublicationsRoutingModule} from './searchPublications-routing.module'; -import{OpenaireSearchPublicationsComponent} from './searchPublications.component'; - -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; -import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; -import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/simple/searchResearchResults.module"; - -@NgModule({ - imports: [ - CommonModule, FormsModule, - - SearchPublicationsRoutingModule, SearchResearchResultsModule - - ], - declarations: [ - OpenaireSearchPublicationsComponent - ], - providers:[FreeGuard,PreviousRouteRecorder], - exports: [ - OpenaireSearchPublicationsComponent - ] -}) -export class LibSearchPublicationsModule { } diff --git a/src/app/searchPages/simple/searchResearchResults-routing.module.ts b/src/app/searchPages/simple/searchResearchResults-routing.module.ts index 35745ad..de0ce51 100644 --- a/src/app/searchPages/simple/searchResearchResults-routing.module.ts +++ b/src/app/searchPages/simple/searchResearchResults-routing.module.ts @@ -2,14 +2,13 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireSearchResearchResultsComponent, canActivate: [FreeGuard], data: { + { path: '', component: OpenaireSearchResearchResultsComponent, data: { redirect: '/error', community : 'openaire' }, canDeactivate: [PreviousRouteRecorder] } diff --git a/src/app/searchPages/simple/searchResearchResults.component.ts b/src/app/searchPages/simple/searchResearchResults.component.ts index 77cf64d..33c6561 100644 --- a/src/app/searchPages/simple/searchResearchResults.component.ts +++ b/src/app/searchPages/simple/searchResearchResults.component.ts @@ -4,6 +4,7 @@ import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properti import {ActivatedRoute} from "@angular/router"; import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper"; import {PiwikHelper} from "../../utils/piwikHelper"; +import {Subscriber} from "rxjs"; @Component({ selector: 'openaire-search-results', @@ -24,9 +25,14 @@ export class OpenaireSearchResearchResultsComponent { constructor(private route: ActivatedRoute) { } + sub; + ngOnDestroy() { + if (this.sub instanceof Subscriber) { + this.sub.unsubscribe(); + } + } ngOnInit() { - - this.route.data + this.sub = this.route.data .subscribe((data: { envSpecific: any }) => { var communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); diff --git a/src/app/searchPages/simple/searchResearchResults.module.ts b/src/app/searchPages/simple/searchResearchResults.module.ts index e50f83a..b1d52c7 100644 --- a/src/app/searchPages/simple/searchResearchResults.module.ts +++ b/src/app/searchPages/simple/searchResearchResults.module.ts @@ -5,7 +5,6 @@ import { FormsModule } from '@angular/forms'; import{ SearchResearchResultsRoutingModule} from './searchResearchResults-routing.module'; import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/searchResearchResults.module"; @@ -18,7 +17,7 @@ import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/sea declarations: [ OpenaireSearchResearchResultsComponent ], - providers:[FreeGuard,PreviousRouteRecorder], + providers:[PreviousRouteRecorder], exports: [ OpenaireSearchResearchResultsComponent ] diff --git a/src/app/searchPages/simple/searchSoftware-routing.module.ts b/src/app/searchPages/simple/searchSoftware-routing.module.ts deleted file mode 100644 index 5c5acf6..0000000 --- a/src/app/searchPages/simple/searchSoftware-routing.module.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; - -import {OpenaireSearchSoftwareComponent} from './searchSoftware.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; -import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; - -@NgModule({ - imports: [ - RouterModule.forChild([ - { path: '', component: OpenaireSearchSoftwareComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder], data: { - redirect: '/error' - } } - - ]) - ] -}) -export class SearchSoftwareRoutingModule { } diff --git a/src/app/searchPages/simple/searchSoftware.component.ts b/src/app/searchPages/simple/searchSoftware.component.ts deleted file mode 100644 index 0d03b55..0000000 --- a/src/app/searchPages/simple/searchSoftware.component.ts +++ /dev/null @@ -1,52 +0,0 @@ -import {Component} from '@angular/core'; -import {ActivatedRoute} from '@angular/router'; -import {PiwikHelper} from '../../utils/piwikHelper'; -import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper'; -import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class"; - -@Component({ - selector: 'openaire-search-software', - template: ` - - - ` -}) - -export class OpenaireSearchSoftwareComponent { - advancedSearchParameters: any; - connectCommunityId: string; - piwikSiteId = null; - customFilter: SearchCustomFilter = null; - - constructor(private route: ActivatedRoute) { - } - - ngOnInit() { - - this.route.data - .subscribe((data: { envSpecific: any }) => { - - var communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain); - if (communityId) { - this.connectCommunityId = communityId; - - this.piwikSiteId = PiwikHelper.getSiteId(this.connectCommunityId,data.envSpecific.environment); - this.customFilter = new SearchCustomFilter("Community", "communityId", this.connectCommunityId, ""); - - } else { - this.route.queryParams.subscribe(params => { - if (params['communityId'] && params['communityId'] != "") { - this.connectCommunityId = params['communityId']; - this.piwikSiteId = PiwikHelper.getSiteId(this.connectCommunityId,data.envSpecific.environment); - this.customFilter = new SearchCustomFilter("Community", "communityId", this.connectCommunityId, ""); - - } - }); - } - - }); - - } -} diff --git a/src/app/searchPages/simple/searchSoftware.module.ts b/src/app/searchPages/simple/searchSoftware.module.ts deleted file mode 100644 index 820e972..0000000 --- a/src/app/searchPages/simple/searchSoftware.module.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { NgModule} from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { FormsModule } from '@angular/forms'; - -import{ SearchSoftwareRoutingModule} from './searchSoftware-routing.module'; -import{OpenaireSearchSoftwareComponent} from './searchSoftware.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; -import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; - -import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/simple/searchResearchResults.module"; - -@NgModule({ - imports: [ - CommonModule, FormsModule, SearchSoftwareRoutingModule, SearchResearchResultsModule - ], - declarations: [ - OpenaireSearchSoftwareComponent - ], - providers:[FreeGuard,PreviousRouteRecorder - ], - exports: [ - OpenaireSearchSoftwareComponent - ] -}) -export class LibSearchSoftwareModule { } diff --git a/src/app/statistics/statistics-routing.module.ts b/src/app/statistics/statistics-routing.module.ts index 3b0bc0b..d0b8a29 100644 --- a/src/app/statistics/statistics-routing.module.ts +++ b/src/app/statistics/statistics-routing.module.ts @@ -2,13 +2,12 @@ import {NgModule} from '@angular/core'; import {RouterModule} from '@angular/router'; import {StatisticsComponent} from './statistics.component'; -import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: StatisticsComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] } + { path: '', component: StatisticsComponent, canDeactivate: [PreviousRouteRecorder] } ]) ] diff --git a/src/app/statistics/statistics.component.ts b/src/app/statistics/statistics.component.ts index 53dc765..e5949ea 100644 --- a/src/app/statistics/statistics.component.ts +++ b/src/app/statistics/statistics.component.ts @@ -18,7 +18,7 @@ import {PiwikHelper} from '../utils/piwikHelper'; import {CommunityCharts} from "../openaireLibrary/connect/statistics/communityCharts"; import {HelperFunctions} from "../openaireLibrary/utils/HelperFunctions.class"; import {CommunityService} from "../openaireLibrary/connect/community/community.service"; -import {Subscription} from "rxjs"; +import {Subscriber, Subscription} from "rxjs"; import {properties} from "../../environments/environment"; @@ -118,7 +118,9 @@ export class StatisticsComponent { public ngOnDestroy() { for (let sub of this.subs) { - sub.unsubscribe(); + if (sub instanceof Subscriber) { + sub.unsubscribe(); + } } } diff --git a/src/app/statistics/statistics.module.ts b/src/app/statistics/statistics.module.ts index ca227f0..a4486c8 100644 --- a/src/app/statistics/statistics.module.ts +++ b/src/app/statistics/statistics.module.ts @@ -11,7 +11,6 @@ import {StatisticsComponent, StatisticsForDashboardComponent} from './statistics import {StatisticsService} from '../utils/services/statistics.service'; import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service'; -import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {IsRouteEnabled} from '../openaireLibrary/error/isRouteEnabled.guard' @@ -25,7 +24,7 @@ import {IsRouteEnabled} from '../openaireLibrary/error/isRouteEnabled.guard' StatisticsForDashboardComponent ], providers: [ - IsRouteEnabled, FreeGuard, PreviousRouteRecorder, + IsRouteEnabled, PreviousRouteRecorder, PiwikService, StatisticsService, TitleCasePipe ], exports: [ diff --git a/src/app/subjects/subjects.component.ts b/src/app/subjects/subjects.component.ts index b7442cc..9c4e405 100644 --- a/src/app/subjects/subjects.component.ts +++ b/src/app/subjects/subjects.component.ts @@ -12,7 +12,7 @@ import {PiwikHelper} from "../utils/piwikHelper"; import {StringUtils} from "../openaireLibrary/utils/string-utils.class"; import {Breadcrumb} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.component"; import {properties} from "../../environments/environment"; -import {Subscription} from "rxjs"; +import {Subscriber, Subscription} from "rxjs"; @Component({ selector: 'subjects', @@ -121,7 +121,9 @@ export class SubjectsComponent { ngOnDestroy() { for (let sub of this.subs) { - sub.unsubscribe(); + if (sub instanceof Subscriber) { + sub.unsubscribe(); + } } } diff --git a/src/app/utils/subscribe/invite/invite-routing.module.ts b/src/app/utils/subscribe/invite/invite-routing.module.ts index 09dba94..c23d9d3 100644 --- a/src/app/utils/subscribe/invite/invite-routing.module.ts +++ b/src/app/utils/subscribe/invite/invite-routing.module.ts @@ -4,12 +4,11 @@ import {RouterModule} from '@angular/router'; import {InviteComponent} from './invite.component'; import {LoginGuard} from '../../../openaireLibrary/login/loginGuard.guard'; import {PreviousRouteRecorder} from '../../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; -import {IsRouteEnabled} from "../../../openaireLibrary/error/isRouteEnabled.guard"; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: InviteComponent, canActivate: [LoginGuard, /*IsRouteEnabled*/], canDeactivate: [PreviousRouteRecorder] } + { path: '', component: InviteComponent, canActivate: [LoginGuard], canDeactivate: [PreviousRouteRecorder] } ]) ] diff --git a/src/app/utils/subscribe/invite/invite.component.ts b/src/app/utils/subscribe/invite/invite.component.ts index bd14872..580880e 100644 --- a/src/app/utils/subscribe/invite/invite.component.ts +++ b/src/app/utils/subscribe/invite/invite.component.ts @@ -23,7 +23,7 @@ import {PiwikService} from "../../../openaireLibrary/utils/piwik/piwik.service"; import {PiwikHelper} from "../../piwikHelper"; import {UserManagementService} from "../../../openaireLibrary/services/user-management.service"; import {Breadcrumb} from "../../../openaireLibrary/utils/breadcrumbs/breadcrumbs.component"; -import {Subscription} from "rxjs"; +import {Subscriber, Subscription} from "rxjs"; import {properties} from "../../../../environments/environment"; @Component({ @@ -118,7 +118,9 @@ export class InviteComponent implements OnInit { ngOnDestroy() { for (let sub of this.subs) { - sub.unsubscribe(); + if (sub instanceof Subscriber) { + sub.unsubscribe(); + } } } diff --git a/src/app/utils/subscribe/subscribe.component.ts b/src/app/utils/subscribe/subscribe.component.ts index e077bbc..7209c58 100644 --- a/src/app/utils/subscribe/subscribe.component.ts +++ b/src/app/utils/subscribe/subscribe.component.ts @@ -6,13 +6,13 @@ import {AlertModal} from '../../openaireLibrary/utils/modal/alert'; import {CommunityService} from '../../openaireLibrary/connect/community/community.service'; import {SubscribeService} from '../../openaireLibrary/utils/subscribe/subscribe.service'; import {EmailService} from "../../openaireLibrary/utils/email/email.service"; -import {Session, User} from '../../openaireLibrary/login/utils/helper.class'; +import {User} from '../../openaireLibrary/login/utils/helper.class'; import {Email} from "../../openaireLibrary/utils/email/email"; import {Composer} from "../../openaireLibrary/utils/email/composer"; import {LoginErrorCodes} from '../../openaireLibrary/login/utils/guardHelper.class'; import {UserManagementService} from "../../openaireLibrary/services/user-management.service"; -import {Subscription} from "rxjs"; +import {Subscriber, Subscription} from "rxjs"; import {properties} from "../../../environments/environment"; import {UserRegistryService} from "../../openaireLibrary/services/user-registry.service"; @@ -111,7 +111,9 @@ export class SubscribeComponent { public ngOnDestroy() { for (let sub of this.subs) { - sub.unsubscribe(); + if (sub instanceof Subscriber) { + sub.unsubscribe(); + } } } diff --git a/src/app/verification-manager/verification-manager.component.ts b/src/app/verification-manager/verification-manager.component.ts index d349659..f4d8bae 100644 --- a/src/app/verification-manager/verification-manager.component.ts +++ b/src/app/verification-manager/verification-manager.component.ts @@ -1,7 +1,7 @@ import {Component, OnDestroy, OnInit} from "@angular/core"; import {UserRegistryService} from "../openaireLibrary/services/user-registry.service"; import {ActivatedRoute} from "@angular/router"; -import {Subscription} from "rxjs"; +import {Subscriber, Subscription} from "rxjs"; import {CommunityService} from "../openaireLibrary/connect/community/community.service"; import {properties} from "../../environments/environment"; @@ -51,7 +51,9 @@ export class VerificationManagerComponent implements OnInit, OnDestroy { ngOnDestroy() { this.subscriptions.forEach(sub => { if (sub instanceof Subscription) { - sub.unsubscribe(); + if (sub instanceof Subscriber) { + sub.unsubscribe(); + } } }); } diff --git a/src/assets/env-properties.json b/src/assets/env-properties.json deleted file mode 100644 index 04f3ab8..0000000 --- a/src/assets/env-properties.json +++ /dev/null @@ -1,128 +0,0 @@ -{ - "environment" : "development", - "dashboard" : "connect", - "enablePiwikTrack" : false, - "useCache" : false, - "showContent" : true, - "showAddThis" : false, - "metricsAPIURL" : "https://beta.services.openaire.eu/usagestats/", - "framesAPIURL" : "https://beta.openaire.eu/stats3/", - "statisticsAPIURL" : "https://beta.services.openaire.eu/stats-api/", - "statisticsFrameAPIURL":"https://beta.openaire.eu/stats/", - "statisticsFrameNewAPIURL": "https://stats.madgik.di.uoa.gr/stats-api/", - "useNewStatistisTool":true, - "impactFactorsAPIURL" :"https://bip-api.imsi.athenarc.gr/paper/scores/batch/", - "claimsAPIURL" : "http://dl170.madgik.di.uoa.gr:8180/dnet-claims-service-2.0.0-SNAPSHOT/rest/claimsService/", - "searchAPIURLLAst" : "https://beta.services.openaire.eu/search/v2/api/", - "searchResourcesAPIURL" : "https://beta.services.openaire.eu/search/v2/api/resources", - "openCitationsAPIURL" : "https://services.openaire.eu/opencitations/getCitations?id=", - "csvAPIURL" : "https://beta.services.openaire.eu/search/v2/api/reports", - "searchCrossrefAPIURL" : "https://api.crossref.org/works", - "searchDataciteAPIURL" : "https://api.datacite.org/works", - "searchOrcidURL" : "https://pub.orcid.org/v2.1/", - "orcidURL" : "https://orcid.org/", - "doiURL" : "https://dx.doi.org/", - "pmcURL": "http://europepmc.org/articles/", - "pmidURL": "https://www.ncbi.nlm.nih.gov/pubmed/", - "handleURL": "http://hdl.handle.net/", - "cordisURL" : "http://cordis.europa.eu/projects/", - "openDoarURL": "http://v2.sherpa.ac.uk/id/repository/", - "r3DataURL": "http://service.re3data.org/repository/", - "sherpaURL": "http://sherpa.ac.uk/romeo/issn/", - "sherpaURLSuffix": "/", - "zenodo" : "https://zenodo.org/", - "zenodoCommunities" : "https://zenodo.org/api/communities/", - "openAccess" : "https://www.openaire.eu/support/faq#article-id-234", - "openAccessRepo" : "https://www.openaire.eu/support/faq#article-id-310", - "fp7Guidlines" : "https://www.openaire.eu/open-access-in-fp7-seventh-research-framework-programme", - "h2020Guidlines" : "https://www.openaire.eu/oa-publications/h2020/open-access-in-horizon-2020", - "ercGuidlines" : "http://erc.europa.eu/sites/default/files/document/file/ERC_Open_Access_Guidelines-revised_2014.pdf", - "helpdesk" : "https://www.openaire.eu/support/helpdesk", - "helpdeskEmail": "helpdesk@openaire.eu", - "utilsService" : "http://dl170.madgik.di.uoa.gr:8000", - - "vocabulariesAPI" :"https://dev-openaire.d4science.org/provision/mvc/vocabularies/", - - "piwikBaseUrl" :"https://analytics.openaire.eu/piwik.php?idsite=", - "piwikSiteId" : "80", - "loginUrl" :"http://dl170.madgik.di.uoa.gr:8180/dnet-openaire-users-1.0.0-SNAPSHOT/openid_connect_login", - - "userInfoUrl" : "http://dl170.madgik.di.uoa.gr:8180/dnet-openaire-users-1.0.0-SNAPSHOT/api/users/getUserInfo?accessToken=", - - "logoutUrl" :"https://aai.openaire.eu/proxy/saml2/idp/SingleLogoutService.php?ReturnTo=", - - "cookieDomain" :".di.uoa.gr", - - "feedbackmail" :"openaire.test@gmail.com", - - "cacheUrl" :"http://dl170.madgik.di.uoa.gr:3000/get?url=", - - "adminToolsAPIURL" :"http://duffy.di.uoa.gr:8080/uoa-admin-tools-branch/", - - "adminToolsCommunity" :"connect", - "adminToolsPortalType": "connect", - "datasourcesAPI": "https://beta.services.openaire.eu/openaire/ds/search/", - "contextsAPI":"https://dev-openaire.d4science.org/openaire/context", - "communityAPI": "https://dev-openaire.d4science.org/openaire/community/", - "communitiesAPI": "https://dev-openaire.d4science.org/openaire/community/communities", - - "csvLimit": 2000, - "pagingLimit": 20, - "resultsPerPage": 10, - - "baseLink" :"", - "domain": "https://beta.connect.openaire.eu", - - "afterLoginRedirectLink": "/myCommunities", - - "searchLinkToPublication" : "/search/publication?articleId=", - "searchLinkToProject" : "/search/project?projectId=", - "searchLinkToDataProvider" : "/search/dataprovider?datasourceId=", - "searchLinkToDataset" : "/search/dataset?datasetId=", - "searchLinkToSoftwareLanding" : "/search/software?softwareId=", - "searchLinkToOrganization" : "/search/organization?organizationId=", - "searchLinkToOrp" : "/search/other?orpId=", - - "searchLinkToCommunities" : "/search/find/communities", - "searchLinkToPublications" : "/search/find/publications", - "searchLinkToDataProviders" : "/search/find/dataproviders", - "searchLinkToProjects" : "/search/find/projects", - "searchLinkToDatasets" : "/search/find/datasets", - "searchLinkToSoftware" : "/search/find/software", - "searchLinkToOrps" : "/search/find/other", - "searchLinkToOrganizations" : "/search/find/organizations", - "searchLinkToCompatibleDataProviders" : "/search/content-providers", - "searchLinkToEntityRegistriesDataProviders" : "/search/entity-registries", - "searchLinkToEntityRegistriesDataProvidersTable" : "/search/entity-registries-table", - "searchLinkToJournals" : "/search/journals", - "searchLinkToJournalsTable" : "/search/journals-table", - "searchLinkToResults" : "/search/find/research-outcomes", - - "searchLinkToAdvancedPublications" : "/search/advanced/publications", - "searchLinkToAdvancedProjects" : "/search/advanced/projects", - "searchLinkToAdvancedDatasets" : "/search/advanced/datasets", - "searchLinkToAdvancedSoftware" : "/search/advanced/software", - "searchLinkToAdvancedOrps" : "/search/advanced/other", - "searchLinkToAdvancedDataProviders" : "/search/advanced/dataproviders", - "searchLinkToAdvancedOrganizations" : "/search/advanced/organizations", - "searchLinkToAdvancedResults" : "/search/advanced/research-outcomes", - - "lastIndexInformationLink" : "https://beta.openaire.eu/aggregation-and-content-provision-workflows", - "showLastIndexInformationLink" : true, - "widgetLink" : "https://beta.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=", - "claimsInformationLink": "https://beta.openaire.eu/linking", - - "depositLearnHowPage": "/participate/deposit/learn-how", - "depositSearchPage": "/participate/deposit/search", - "shareInZenodoPage": "/participate/deposit/zenodo", - - - "reCaptchaSiteKey": "6LcVtFIUAAAAAB2ac6xYivHxYXKoUvYRPi-6_rLu", - - "admins" : ["kostis30fylloy@gmail.com"], - "lastIndexUpdate": "2019-11-01", - "indexInfoAPI": "https://dev-openaire.d4science.org/openaire/info/", - "altMetricsAPIURL": "https://api.altmetric.com/v1/doi/", - "b2noteAPIURL": "http://b2note-dev.bsc.es/api/", - "adminPortalURL": "https://beta.admin.connect.openaire.eu" -}