connect-admin/src/app/pages/zenodo-communities/manage-zenodo-communities.c...

115 lines
5.6 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import {Component, OnInit, Input} from '@angular/core';
import {SimpleChanges, OnChanges} from '@angular/core';
import {FormGroup, FormArray, FormBuilder, Validators} from '@angular/forms';
import {ActivatedRoute, Router} from '@angular/router';
import {HelpContentService} from '../../services/help-content.service';
import {EnvProperties} from '../../openaireLibrary/utils/properties/env-properties';
import {ErrorCodes} from '../../openaireLibrary/utils/properties/errorCodes';
import {SearchUtilsClass} from '../../openaireLibrary/searchPages/searchUtils/searchUtils.class';
import {ManageZenodoCommunitiesService} from './manage-zenodo-communities.service';
import {ZenodoCommunityInfo} from './zenodoCommunity/zenodoCommunityInfo';
import {Session} from '../../openaireLibrary/login/utils/helper.class';
import {LoginErrorCodes} from '../../openaireLibrary/login/utils/guardHelper.class';
@Component({
selector: 'manage-zenodo-communities',
templateUrl: './manage-zenodo-communities.component.html',
})
export class ManageZenodoCommunitiesComponent implements OnInit {
public zenodoCommunities = null;
public totalZenodoCommunities = null;
public properties:EnvProperties = null;
public communityId = null;
public zenodoCommunitySearchUtils:SearchUtilsClass = new SearchUtilsClass();
private errorCodes: ErrorCodes;
public rowsOnPage = 10;
constructor (private route: ActivatedRoute,
private _router: Router,
public _fb: FormBuilder,
private _helpContentService: HelpContentService,
private _manageΖenodoCommunitieService: ManageZenodoCommunitiesService) {
this.errorCodes = new ErrorCodes();
this.zenodoCommunitySearchUtils.status = this.errorCodes.LOADING;
}
ngOnInit() {
this.route.data.subscribe((data: { envSpecific: EnvProperties }) => {
this.properties = data.envSpecific;
this.route.queryParams.subscribe(
communityId => {
this.communityId = communityId['communityId'];
if(!Session.isLoggedIn()){
console.info(this._router.url);
this._router.navigate(['/user-info'], { queryParams: { "errorCode": LoginErrorCodes.NOT_VALID, "redirectUrl": this._router.url} });
} else {
if (this.communityId != null && this.communityId != '') {
this._manageΖenodoCommunitieService.getZenodoCommunities(this.properties, this.properties.zenodoCommunities+"?page="+this.zenodoCommunitySearchUtils.page+"&size="+this.rowsOnPage).subscribe(
zenodoCommunities => {
this.zenodoCommunities = zenodoCommunities;
console.log(zenodoCommunities);
console.log(this.zenodoCommunitySearchUtils.page);
});
this._manageΖenodoCommunitieService.getTotalZenodoCommunities(this.properties, this.properties.zenodoCommunities).subscribe(
totalZenodoCommunities => {
this.totalZenodoCommunities = totalZenodoCommunities;
this.zenodoCommunitySearchUtils.totalResults = totalZenodoCommunities;
console.log(totalZenodoCommunities);
});
}
}
});
});
this.zenodoCommunitySearchUtils.keyword = "";
}
public search() {
if(!Session.isLoggedIn()){
console.info(this._router.url);
this._router.navigate(['/user-info'], { queryParams: { "errorCode": LoginErrorCodes.NOT_VALID, "redirectUrl": this._router.url} });
} else {
this.zenodoCommunitySearchUtils.page = 1;
if (this.communityId != null && this.communityId != '') {
this._manageΖenodoCommunitieService.getZenodoCommunities(this.properties, this.properties.zenodoCommunities+"?q="+this.zenodoCommunitySearchUtils.keyword+"&page="+this.zenodoCommunitySearchUtils.page+"&size="+this.rowsOnPage).subscribe(
zenodoCommunities => {
this.zenodoCommunities = zenodoCommunities;
console.log(zenodoCommunities);
});
}
}
}
public goTo(page:number = 1) {
if(!Session.isLoggedIn()){
console.info(this._router.url);
this._router.navigate(['/user-info'], { queryParams: { "errorCode": LoginErrorCodes.NOT_VALID, "redirectUrl": this._router.url} });
} else {
this.zenodoCommunitySearchUtils.page=page;
console.log("Page is: "+page);
this._manageΖenodoCommunitieService.getZenodoCommunities(this.properties, this.properties.zenodoCommunities+"?page="+this.zenodoCommunitySearchUtils.page+"&size="+this.rowsOnPage).subscribe(
zenodoCommunities => {
this.zenodoCommunities = zenodoCommunities;
console.log(zenodoCommunities);
console.log(this.zenodoCommunitySearchUtils.page);
});
}
}
totalPages(): number {
let totalPages:any = this.zenodoCommunitySearchUtils.totalResults/(this.rowsOnPage);
if(!(Number.isInteger(totalPages))) {
totalPages = (parseInt(totalPages, 10) + 1);
}
return totalPages;
}
}