115 lines
5.6 KiB
TypeScript
115 lines
5.6 KiB
TypeScript
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;
|
||
}
|
||
}
|