Numbre of bitstreams in item page is now configurable

This commit is contained in:
Sergio Fernández Celorio
2022-11-04 10:40:29 +00:00
parent f659e81aa9
commit 2ed8f8bad8
6 changed files with 62 additions and 20 deletions

View File

@@ -207,6 +207,13 @@ item:
undoTimeout: 10000 # 10 seconds
# Show the item access status label in items lists
showAccessStatuses: false
simpleView:
bitstreamPageSize: 5
fullView:
# Number of entries in the bitstream list in the full item view page.
# Rounded to the nearest size in the list of selectable sizes on the
# settings menu. See pageSizeOptions in 'pagination-component-options.model.ts'.
bitstreamPageSize: 5
# Collection Page Config
collection:

View File

@@ -1,4 +1,4 @@
import { Component, Input, OnInit } from '@angular/core';
import { Component, Inject, Input, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { BitstreamDataService } from '../../../../core/data/bitstream-data.service';
@@ -14,6 +14,7 @@ import { NotificationsService } from '../../../../shared/notifications/notificat
import { TranslateService } from '@ngx-translate/core';
import { hasValue, isEmpty } from '../../../../shared/empty.util';
import { PaginationService } from '../../../../core/pagination/pagination.service';
import { AppConfig, APP_CONFIG } from 'src/config/app-config.interface';
/**
* This component renders the file section of the item
@@ -34,26 +35,28 @@ export class FullFileSectionComponent extends FileSectionComponent implements On
originals$: Observable<RemoteData<PaginatedList<Bitstream>>>;
licenses$: Observable<RemoteData<PaginatedList<Bitstream>>>;
pageSize = 5;
originalOptions = Object.assign(new PaginationComponentOptions(), {
id: 'obo',
currentPage: 1,
pageSize: this.pageSize
});
licenseOptions = Object.assign(new PaginationComponentOptions(), {
id: 'lbo',
currentPage: 1,
pageSize: this.pageSize
});
originalOptions: PaginationComponentOptions;
licenseOptions: PaginationComponentOptions;
constructor(
bitstreamDataService: BitstreamDataService,
protected notificationsService: NotificationsService,
protected translateService: TranslateService,
protected paginationService: PaginationService
protected paginationService: PaginationService,
@Inject(APP_CONFIG) protected appConfig: AppConfig
) {
super(bitstreamDataService, notificationsService, translateService);
super(bitstreamDataService, notificationsService, translateService, appConfig);
this.originalOptions = Object.assign(new PaginationComponentOptions(), {
id: 'obo',
currentPage: 1,
pageSize: this.appConfig.item.fullView.bitstreamPageSize
});
this.licenseOptions = Object.assign(new PaginationComponentOptions(), {
id: 'lbo',
currentPage: 1,
pageSize: this.appConfig.item.fullView.bitstreamPageSize
});
}
ngOnInit(): void {

View File

@@ -1,4 +1,4 @@
import { Component, Input, OnInit } from '@angular/core';
import { Component, Inject, Input, OnInit } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { BitstreamDataService } from '../../../../core/data/bitstream-data.service';
@@ -10,6 +10,7 @@ import { PaginatedList } from '../../../../core/data/paginated-list.model';
import { NotificationsService } from '../../../../shared/notifications/notifications.service';
import { TranslateService } from '@ngx-translate/core';
import { getFirstCompletedRemoteData } from '../../../../core/shared/operators';
import { AppConfig, APP_CONFIG } from 'src/config/app-config.interface';
/**
* This component renders the file section of the item
@@ -35,13 +36,15 @@ export class FileSectionComponent implements OnInit {
isLastPage: boolean;
pageSize = 5;
pageSize: number;
constructor(
protected bitstreamDataService: BitstreamDataService,
protected notificationsService: NotificationsService,
protected translateService: TranslateService
protected translateService: TranslateService,
@Inject(APP_CONFIG) protected appConfig: AppConfig
) {
this.pageSize = this.appConfig.item.simpleView.bitstreamPageSize
}
ngOnInit(): void {

View File

@@ -245,7 +245,16 @@ export class DefaultAppConfig implements AppConfig {
undoTimeout: 10000 // 10 seconds
},
// Show the item access status label in items lists
showAccessStatuses: false
showAccessStatuses: false,
simpleView: {
bitstreamPageSize: 5
},
fullView: {
// Number of entries in the bitstream list in the full item view page.
// Rounded to the nearest size in the list of selectable sizes on the
// settings menu. See pageSizeOptions in 'pagination-component-options.model.ts'.
bitstreamPageSize: 5
}
};
// Collection Page Config

View File

@@ -6,4 +6,15 @@ export interface ItemConfig extends Config {
};
// This is used to show the access status label of items in results lists
showAccessStatuses: boolean;
simpleView: {
bitstreamPageSize: number;
};
fullView: {
// Number of entries in the bitstream list in the full item view page.
// Rounded to the nearest size in the list of selectable sizes on the
// settings menu. See pageSizeOptions in 'pagination-component-options.model.ts'.
bitstreamPageSize: number;
}
}

View File

@@ -229,7 +229,16 @@ export const environment: BuildConfig = {
undoTimeout: 10000 // 10 seconds
},
// Show the item access status label in items lists
showAccessStatuses: false
showAccessStatuses: false,
simpleView: {
bitstreamPageSize: 5
},
fullView: {
// Number of entries in the bitstream list in the full item view page.
// Rounded to the nearest size in the list of selectable sizes on the
// settings menu. See pageSizeOptions in 'pagination-component-options.model.ts'.
bitstreamPageSize: 5
}
},
collection: {
edit: {