97 lines
4.6 KiB
TypeScript
97 lines
4.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';
|
|||
|
|
|||
|
@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 (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() {
|
|||
|
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) {
|
|||
|
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;
|
|||
|
}
|
|||
|
}
|