add quality assurance configuration

This commit is contained in:
FrancescoMolinaro
2023-12-13 17:00:24 +01:00
parent 922172d9ae
commit 7fe81ec111
6 changed files with 41 additions and 2 deletions

View File

@@ -5,11 +5,14 @@ import { map } from 'rxjs/operators';
import { PaginatedList } from '../../../core/data/paginated-list.model';
import { QualityAssuranceSourceObject } from '../../../core/notifications/qa/models/quality-assurance-source.model';
import { QualityAssuranceSourceService } from '../../../notifications/qa/source/quality-assurance-source.service';
import {environment} from '../../../../environments/environment';
/**
* This class represents a resolver that retrieve the route data before the route is activated.
*/
@Injectable()
export class SourceDataResolver implements Resolve<Observable<QualityAssuranceSourceObject[]>> {
private paginationStart = environment.qualityAssuranceConfig.defaultPaginationStart;
private paginationItemsCount = environment.qualityAssuranceConfig.defaultPaginationItemsCount;
/**
* Initialize the effect class variables.
* @param {QualityAssuranceSourceService} qualityAssuranceSourceService
@@ -25,7 +28,7 @@ export class SourceDataResolver implements Resolve<Observable<QualityAssuranceSo
* @returns Observable<QualityAssuranceSourceObject[]>
*/
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<QualityAssuranceSourceObject[]> {
return this.qualityAssuranceSourceService.getSources(5,0).pipe(
return this.qualityAssuranceSourceService.getSources(this.paginationItemsCount,this.paginationStart).pipe(
map((sources: PaginatedList<QualityAssuranceSourceObject>) => {
if (sources.page.length === 1) {
this.router.navigate([this.getResolvedUrl(route) + '/' + sources.page[0].id]);

View File

@@ -30,6 +30,7 @@ import { getFirstCompletedRemoteData } from '../../../core/shared/operators';
import { PaginationService } from '../../../core/pagination/pagination.service';
import { Item } from '../../../core/shared/item.model';
import { FindListOptions } from '../../../core/data/find-list-options.model';
import {environment} from '../../../../environments/environment';
/**
* Component to display the Quality Assurance event list.
@@ -98,7 +99,7 @@ export class QualityAssuranceEventsComponent implements OnInit, OnDestroy {
/**
* The Open Aire base url for project search
*/
public openAireUrl = 'https://explore.openaire.eu/search/project?projectId=';
public openAireUrl = environment.qualityAssuranceConfig.openAireUrl;
/**
* The FindListOptions object
*/

View File

@@ -22,6 +22,7 @@ import { HomeConfig } from './homepage-config.interface';
import { MarkdownConfig } from './markdown-config.interface';
import { FilterVocabularyConfig } from './filter-vocabulary-config';
import { DiscoverySortConfig } from './discovery-sort.config';
import {QualityAssuranceConfig} from './quality-assurance.config';
interface AppConfig extends Config {
ui: UIServerConfig;
@@ -48,6 +49,7 @@ interface AppConfig extends Config {
markdown: MarkdownConfig;
vocabularies: FilterVocabularyConfig[];
comcolSelectionSort: DiscoverySortConfig;
qualityAssuranceConfig: QualityAssuranceConfig;
}
/**

View File

@@ -22,6 +22,7 @@ import { HomeConfig } from './homepage-config.interface';
import { MarkdownConfig } from './markdown-config.interface';
import { FilterVocabularyConfig } from './filter-vocabulary-config';
import { DiscoverySortConfig } from './discovery-sort.config';
import {QualityAssuranceConfig} from './quality-assurance.config';
export class DefaultAppConfig implements AppConfig {
production = false;
@@ -432,4 +433,10 @@ export class DefaultAppConfig implements AppConfig {
sortField:'dc.title',
sortDirection:'ASC',
};
qualityAssuranceConfig: QualityAssuranceConfig = {
openAireUrl: 'https://explore.openaire.eu/search/project?projectId=',
defaultPaginationItemsCount: 5,
defaultPaginationStart: 0
};
}

View File

@@ -0,0 +1,21 @@
import { Config } from './config.interface';
/**
* Config that determines a metadata sorting config.
* It's created mainly to sort by metadata community and collection edition and creation
*/
export class QualityAssuranceConfig implements Config {
/**
* Url for OAIRE resources
*/
public openAireUrl: string;
/**
* default count of QA sources to load
*/
public defaultPaginationItemsCount: number;
/**
* default starting point of pagination
*/
public defaultPaginationStart: number;
}

View File

@@ -306,6 +306,11 @@ export const environment: BuildConfig = {
sortField:'dc.title',
sortDirection:'ASC',
},
qualityAssuranceConfig: {
openAireUrl: 'https://explore.openaire.eu/search/project?projectId=',
defaultPaginationItemsCount: 5,
defaultPaginationStart: 0
},
vocabularies: [
{