2018-12-03 12:33:03 +01:00
|
|
|
import { Component, ViewChild, OnInit, ViewEncapsulation, Input, ElementRef } from '@angular/core';
|
2018-11-13 16:26:49 +01:00
|
|
|
import { ActivatedRoute, Router } from "@angular/router";
|
2018-10-30 16:31:16 +01:00
|
|
|
|
|
|
|
import {RemoveContentProvidersComponent} from './remove-content-providers.component';
|
|
|
|
import {AddContentProvidersComponent} from './add-content-providers.component';
|
|
|
|
|
2018-11-13 16:26:49 +01:00
|
|
|
import {Session} from '../../../openaireLibrary/login/utils/helper.class';
|
|
|
|
import {LoginErrorCodes} from '../../../openaireLibrary/login/utils/guardHelper.class';
|
2019-04-24 13:44:46 +02:00
|
|
|
import {HelperFunctions} from "../../../openaireLibrary/utils/HelperFunctions.class";
|
2018-11-13 16:26:49 +01:00
|
|
|
|
2018-10-30 16:31:16 +01:00
|
|
|
@Component({
|
|
|
|
selector: 'manage-content-providers',
|
|
|
|
template: `
|
|
|
|
<div id="manage-content-providers">
|
|
|
|
<div class="menubar uk-margin-bottom ">
|
|
|
|
<a *ngIf="!toggle" (click)="updateCommunityContentProviders()" uk-toggle="target: .toggle-usage" class="uk-button uk-button-primary uk-float-right">{{toggleLinkMessage}}</a>
|
|
|
|
<div class="manage-content-providers-title uk-text-large">{{pageTitle}}</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="toggle-usage">
|
|
|
|
<remove-content-providers (communityContentProvidersChanged)="communityContentProvidersChanged($event)"></remove-content-providers>
|
|
|
|
<fab (clicked)="updateCommunityContentProviders()" uk-toggle="target: .toggle-usage"></fab>
|
|
|
|
</div>
|
|
|
|
<div class="toggle-usage" hidden>
|
|
|
|
<add-content-providers [(communityContentProviders)]="communityContentProviders"></add-content-providers>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
`
|
|
|
|
})
|
|
|
|
|
|
|
|
export class ManageContentProvidersComponent implements OnInit {
|
|
|
|
private community: string = '';
|
|
|
|
|
|
|
|
@Input() communityContentProviders =[];
|
|
|
|
@ViewChild (RemoveContentProvidersComponent) removeContentProvidersComponent : RemoveContentProvidersComponent ;
|
|
|
|
@ViewChild (AddContentProvidersComponent) addContentProvidersComponent : AddContentProvidersComponent ;
|
|
|
|
|
|
|
|
public warningMessage = "";
|
|
|
|
public infoMessage = "";
|
|
|
|
|
|
|
|
public toggle: boolean = true;
|
|
|
|
public updateCommunityContentProvidersOnToggle: boolean = false;
|
|
|
|
public pageTitle: string = "Manage content providers";
|
|
|
|
public toggleLinkMessage: string = "Manage content providers";
|
|
|
|
|
|
|
|
ngOnInit() {
|
|
|
|
this.route.queryParams.subscribe(params => {
|
|
|
|
if(params['communityId']) {
|
|
|
|
this.community = params['communityId'];
|
|
|
|
}
|
2019-04-24 13:44:46 +02:00
|
|
|
HelperFunctions.scroll();
|
2018-10-30 16:31:16 +01:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2018-12-03 12:33:03 +01:00
|
|
|
constructor(private element: ElementRef, private route: ActivatedRoute, private _router: Router) {}
|
2018-10-30 16:31:16 +01:00
|
|
|
|
|
|
|
public ngOnDestroy() {}
|
|
|
|
|
|
|
|
public updateCommunityContentProviders() {
|
2018-11-13 16:26:49 +01:00
|
|
|
if(!Session.isLoggedIn()){
|
|
|
|
this._router.navigate(['/user-info'], { queryParams: { "errorCode": LoginErrorCodes.NOT_VALID, "redirectUrl": this._router.url} });
|
2018-10-30 16:31:16 +01:00
|
|
|
} else {
|
2019-04-24 13:44:46 +02:00
|
|
|
HelperFunctions.scroll();
|
2018-12-03 12:33:03 +01:00
|
|
|
|
2018-11-13 16:26:49 +01:00
|
|
|
this.toggle = !this.toggle;
|
|
|
|
if(this.toggle) {
|
|
|
|
this.pageTitle = "Manage content providers";
|
|
|
|
//this.toggleLinkMessage = "Missing content providers?";
|
|
|
|
|
|
|
|
this.removeContentProvidersComponent._getCommunityContentProviders();
|
|
|
|
this.addContentProvidersComponent.undo = {};
|
|
|
|
} else {
|
|
|
|
this.updateCommunityContentProvidersOnToggle = false;
|
|
|
|
this.pageTitle = "Search content providers";
|
|
|
|
//this.toggleLinkMessage = "Manage content providers";
|
|
|
|
}
|
2018-10-30 16:31:16 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public communityContentProvidersChanged($event) {
|
|
|
|
this.communityContentProviders = $event.value;
|
|
|
|
}
|
|
|
|
}
|