Multiple updates.

This commit is contained in:
Michael Spalti
2022-09-13 14:26:37 -07:00
parent db79d46a76
commit 78358a4067
53 changed files with 116 additions and 109 deletions

View File

@@ -169,7 +169,7 @@ browseBy:
# The absolute lowest year to display in the dropdown (only used when no lowest date can be found for all items)
defaultLowerLimit: 1900
# If true, thumbnail images for items will be added to BOTH search and browse result lists.
showItemThumbnails: true
showThumbnails: true
# Item Config
item:

View File

@@ -18,11 +18,10 @@ import { BrowseEntrySearchOptions } from '../../core/browse/browse-entry-search-
import { toRemoteData } from '../browse-by-metadata-page/browse-by-metadata-page.component.spec';
import { VarDirective } from '../../shared/utils/var.directive';
import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils';
import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model';
import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model';
import { PaginationService } from '../../core/pagination/pagination.service';
import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub';
import { FindListOptions } from '../../core/data/find-list-options.model';
import { APP_CONFIG } from '../../../config/app-config.interface';
import { environment } from '../../../environments/environment';
describe('BrowseByDatePageComponent', () => {
let comp: BrowseByDatePageComponent;
@@ -83,7 +82,8 @@ describe('BrowseByDatePageComponent', () => {
{ provide: DSpaceObjectDataService, useValue: mockDsoService },
{ provide: Router, useValue: new RouterMock() },
{ provide: PaginationService, useValue: paginationService },
{ provide: ChangeDetectorRef, useValue: mockCdRef }
{ provide: ChangeDetectorRef, useValue: mockCdRef },
{ provide: APP_CONFIG, useValue: environment }
],
schemas: [NO_ERRORS_SCHEMA]
}).compileComponents();

View File

@@ -1,4 +1,4 @@
import { ChangeDetectorRef, Component } from '@angular/core';
import { ChangeDetectorRef, Component, Inject } from '@angular/core';
import {
BrowseByMetadataPageComponent,
browseParamsToOptions
@@ -19,6 +19,7 @@ import { map } from 'rxjs/operators';
import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model';
import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model';
import { isValidDate } from '../../shared/date.util';
import { APP_CONFIG, AppConfig } from '../../../config/app-config.interface';
@Component({
selector: 'ds-browse-by-date-page',
@@ -43,15 +44,16 @@ export class BrowseByDatePageComponent extends BrowseByMetadataPageComponent {
protected dsoService: DSpaceObjectDataService,
protected router: Router,
protected paginationService: PaginationService,
protected cdRef: ChangeDetectorRef) {
super(route, browseService, dsoService, paginationService, router);
protected cdRef: ChangeDetectorRef,
@Inject(APP_CONFIG) protected appConfig: AppConfig) {
super(route, browseService, dsoService, paginationService, router, appConfig);
}
ngOnInit(): void {
const sortConfig = new SortOptions('default', SortDirection.ASC);
this.startsWithType = StartsWithType.date;
this.updatePage(new BrowseEntrySearchOptions(this.defaultBrowseId, this.paginationConfig, sortConfig, null,
null, this.embedThumbnail));
null));
this.currentPagination$ = this.paginationService.getCurrentPagination(this.paginationConfig.id, this.paginationConfig);
this.currentSort$ = this.paginationService.getCurrentSort(this.paginationConfig.id, sortConfig);
this.subs.push(

View File

@@ -14,7 +14,7 @@ import { RemoteData } from '../../core/data/remote-data';
import { buildPaginatedList, PaginatedList } from '../../core/data/paginated-list.model';
import { PageInfo } from '../../core/shared/page-info.model';
import { BrowseEntrySearchOptions } from '../../core/browse/browse-entry-search-options.model';
import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model';
import { SortDirection } from '../../core/cache/models/sort-options.model';
import { Item } from '../../core/shared/item.model';
import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service';
import { Community } from '../../core/shared/community.model';
@@ -26,6 +26,7 @@ import { PaginationService } from '../../core/pagination/pagination.service';
import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model';
import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub';
import { environment } from '../../../environments/environment';
import { APP_CONFIG } from '../../../config/app-config.interface';
describe('BrowseByMetadataPageComponent', () => {
let comp: BrowseByMetadataPageComponent;
@@ -98,14 +99,15 @@ describe('BrowseByMetadataPageComponent', () => {
{ provide: BrowseService, useValue: mockBrowseService },
{ provide: DSpaceObjectDataService, useValue: mockDsoService },
{ provide: PaginationService, useValue: paginationService },
{ provide: Router, useValue: new RouterMock() }
{ provide: Router, useValue: new RouterMock() },
{ provide: APP_CONFIG, useValue: environment }
],
schemas: [NO_ERRORS_SCHEMA]
}).compileComponents();
}));
beforeEach(() => {
environment.browseBy.showItemThumbnails = true;
environment.browseBy.showThumbnails = true;
fixture = TestBed.createComponent(BrowseByMetadataPageComponent);
comp = fixture.componentInstance;
fixture.detectChanges();

View File

@@ -1,5 +1,5 @@
import { combineLatest as observableCombineLatest, Observable, Subscription } from 'rxjs';
import { Component, OnInit } from '@angular/core';
import { Component, Inject, OnInit } from '@angular/core';
import { RemoteData } from '../../core/data/remote-data';
import { PaginatedList } from '../../core/data/paginated-list.model';
import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model';
@@ -17,8 +17,7 @@ import { StartsWithType } from '../../shared/starts-with/starts-with-decorator';
import { BrowseByDataType, rendersBrowseBy } from '../browse-by-switcher/browse-by-decorator';
import { PaginationService } from '../../core/pagination/pagination.service';
import { map } from 'rxjs/operators';
import { environment } from '../../../environments/environment';
import { APP_CONFIG, AppConfig } from '../../../config/app-config.interface';
export const BBM_PAGINATION_ID = 'bbm';
@@ -122,8 +121,9 @@ export class BrowseByMetadataPageComponent implements OnInit {
protected browseService: BrowseService,
protected dsoService: DSpaceObjectDataService,
protected paginationService: PaginationService,
protected router: Router) {
this.embedThumbnail = environment.browseBy.showItemThumbnails;
protected router: Router,
@Inject(APP_CONFIG) protected appConfig: AppConfig) {
this.embedThumbnail = this.appConfig.browseBy.showThumbnails;
}
ngOnInit(): void {
@@ -172,6 +172,7 @@ export class BrowseByMetadataPageComponent implements OnInit {
* scope: string }
*/
updatePage(searchOptions: BrowseEntrySearchOptions) {
searchOptions.embedThumbnail = this.embedThumbnail;
this.browseEntries$ = this.browseService.getBrowseEntriesFor(searchOptions);
this.items$ = undefined;
}

View File

@@ -18,11 +18,10 @@ import { BrowseService } from '../../core/browse/browse.service';
import { RouterMock } from '../../shared/mocks/router.mock';
import { VarDirective } from '../../shared/utils/var.directive';
import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils';
import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model';
import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model';
import { PaginationService } from '../../core/pagination/pagination.service';
import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub';
import { FindListOptions } from '../../core/data/find-list-options.model';
import { APP_CONFIG } from '../../../config/app-config.interface';
import { environment } from '../../../environments/environment';
describe('BrowseByTitlePageComponent', () => {
let comp: BrowseByTitlePageComponent;
@@ -77,7 +76,8 @@ describe('BrowseByTitlePageComponent', () => {
{ provide: BrowseService, useValue: mockBrowseService },
{ provide: DSpaceObjectDataService, useValue: mockDsoService },
{ provide: PaginationService, useValue: paginationService },
{ provide: Router, useValue: new RouterMock() }
{ provide: Router, useValue: new RouterMock() },
{ provide: APP_CONFIG, useValue: environment }
],
schemas: [NO_ERRORS_SCHEMA]
}).compileComponents();

View File

@@ -1,5 +1,5 @@
import { combineLatest as observableCombineLatest } from 'rxjs';
import { Component } from '@angular/core';
import { Component, Inject } from '@angular/core';
import { ActivatedRoute, Params, Router } from '@angular/router';
import { hasValue } from '../../shared/empty.util';
import {
@@ -14,6 +14,8 @@ import { BrowseByDataType, rendersBrowseBy } from '../browse-by-switcher/browse-
import { PaginationService } from '../../core/pagination/pagination.service';
import { map } from 'rxjs/operators';
import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model';
import { APP_CONFIG, AppConfig } from '../../../config/app-config.interface';
import { environment } from '../../../environments/environment';
@Component({
selector: 'ds-browse-by-title-page',
@@ -30,14 +32,15 @@ export class BrowseByTitlePageComponent extends BrowseByMetadataPageComponent {
protected browseService: BrowseService,
protected dsoService: DSpaceObjectDataService,
protected paginationService: PaginationService,
protected router: Router) {
super(route, browseService, dsoService, paginationService, router);
protected router: Router,
@Inject(APP_CONFIG) protected appConfig: AppConfig) {
super(route, browseService, dsoService, paginationService, router, appConfig);
}
ngOnInit(): void {
const sortConfig = new SortOptions('dc.title', SortDirection.ASC);
this.updatePage(new BrowseEntrySearchOptions(this.defaultBrowseId, this.paginationConfig, sortConfig, null,
null, this.embedThumbnail));
null));
this.currentPagination$ = this.paginationService.getCurrentPagination(this.paginationConfig.id, this.paginationConfig);
this.currentSort$ = this.paginationService.getCurrentSort(this.paginationConfig.id, sortConfig);
this.subs.push(

View File

@@ -28,7 +28,9 @@ import { AuthorizationDataService } from '../core/data/feature-authorization/aut
import { FeatureID } from '../core/data/feature-authorization/feature-id';
import { getCollectionPageRoute } from './collection-page-routing-paths';
import { redirectOn4xx } from '../core/shared/authorized.operators';
import { BROWSE_ITEM_LINKS_TO_FOLLOW } from '../core/browse/browse.service';
import { BROWSE_LINKS_TO_FOLLOW } from '../core/browse/browse.service';
import { DSpaceObject } from '../core/shared/dspace-object.model';
import { FollowLinkConfig } from '../shared/utils/follow-link-config.model';
@Component({
selector: 'ds-collection-page',
@@ -104,13 +106,13 @@ export class CollectionPageComponent implements OnInit {
getFirstSucceededRemoteData(),
map((rd) => rd.payload.id),
switchMap((id: string) => {
return this.searchService.search(
return this.searchService.search<Item>(
new PaginatedSearchOptions({
scope: id,
pagination: currentPagination,
sort: currentSort,
dsoTypes: [DSpaceObjectType.ITEM]
}), null, true, true, ...BROWSE_ITEM_LINKS_TO_FOLLOW)
}), null, true, true, ...BROWSE_LINKS_TO_FOLLOW)
.pipe(toDSpaceObjectListRD()) as Observable<RemoteData<PaginatedList<Item>>>;
}),
startWith(undefined) // Make sure switching pages shows loading component

Binary file not shown.

View File

@@ -23,11 +23,8 @@ import { BrowseDefinitionDataService } from './browse-definition-data.service';
import { HrefOnlyDataService } from '../data/href-only-data.service';
import { followLink, FollowLinkConfig } from '../../shared/utils/follow-link-config.model';
const BROWSE_ENTRY_LINKS_TO_FOLLOW: FollowLinkConfig<BrowseEntry>[] = [
followLink('thumbnail')
];
export const BROWSE_ITEM_LINKS_TO_FOLLOW: FollowLinkConfig<Item>[] = [
export const BROWSE_LINKS_TO_FOLLOW: FollowLinkConfig<BrowseEntry | Item>[] = [
followLink('thumbnail')
];
@@ -106,7 +103,7 @@ export class BrowseService {
})
);
if (options.embedThumbnail) {
return this.hrefOnlyDataService.findAllByHref<BrowseEntry>(href$, {}, null, null, ...BROWSE_ENTRY_LINKS_TO_FOLLOW);
return this.hrefOnlyDataService.findAllByHref<BrowseEntry>(href$, {}, null, null, ...BROWSE_LINKS_TO_FOLLOW);
}
return this.hrefOnlyDataService.findAllByHref<BrowseEntry>(href$);
}
@@ -154,7 +151,7 @@ export class BrowseService {
}),
);
if (options.embedThumbnail) {
return this.hrefOnlyDataService.findAllByHref<Item>(href$, {}, null, null, ...BROWSE_ITEM_LINKS_TO_FOLLOW);
return this.hrefOnlyDataService.findAllByHref<Item>(href$, {}, null, null, ...BROWSE_LINKS_TO_FOLLOW);
}
return this.hrefOnlyDataService.findAllByHref<Item>(href$);
}

View File

@@ -1,5 +1,5 @@
<div class="row">
<div *ngIf="showThumbnails" class="col-md-2">
<div *ngIf="showThumbnails" class="col-3 col-md-2">
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'"
rel="noopener noreferrer"
[routerLink]="[itemPageRoute]" class="lead item-list-title dont-break-out">
@@ -7,7 +7,7 @@
</ds-thumbnail>
</a>
</div>
<div [ngClass]="showThumbnails ? 'col-md-10' : 'col-md-12'">
<div [ngClass]="showThumbnails ? 'col-9' : 'col-md-12'">
<ds-type-badge *ngIf="showLabel" [object]="dso"></ds-type-badge>
<ds-truncatable [id]="dso.id">
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'"

View File

@@ -76,13 +76,13 @@ describe('JournalIssueSearchResultListElementComponent', () => {
}));
beforeEach(waitForAsync(() => {
environment.browseBy.showItemThumbnails = true;
environment.browseBy.showThumbnails = true;
fixture = TestBed.createComponent(JournalIssueSearchResultListElementComponent);
journalIssueListElementComponent = fixture.componentInstance;
}));
describe('with environment.browseBy.showItemThumbnails set to true', () => {
describe('with environment.browseBy.showThumbnails set to true', () => {
beforeEach(() => {
journalIssueListElementComponent.object = mockItemWithMetadata;
fixture.detectChanges();
@@ -165,12 +165,12 @@ describe('JournalIssueSearchResultListElementComponent', () => {
}));
beforeEach(waitForAsync(() => {
environment.browseBy.showItemThumbnails = false;
environment.browseBy.showThumbnails = false;
fixture = TestBed.createComponent(JournalIssueSearchResultListElementComponent);
journalIssueListElementComponent = fixture.componentInstance;
}));
describe('with environment.browseBy.showItemThumbnails set to false', () => {
describe('with environment.browseBy.showThumbnails set to false', () => {
beforeEach(() => {
journalIssueListElementComponent.object = mockItemWithMetadata;

View File

@@ -21,7 +21,7 @@ export class JournalIssueSearchResultListElementComponent extends ItemSearchResu
ngOnInit(): void {
super.ngOnInit();
this.showThumbnails = this.appConfig.browseBy.showItemThumbnails;
this.showThumbnails = this.appConfig.browseBy.showThumbnails;
}
}

View File

@@ -1,5 +1,5 @@
<div class="row">
<div *ngIf="showThumbnails" class="col-md-2">
<div *ngIf="showThumbnails" class="col-3 col-md-2">
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'"
rel="noopener noreferrer"
[routerLink]="[itemPageRoute]" class="lead item-list-title dont-break-out">
@@ -7,7 +7,7 @@
</ds-thumbnail>
</a>
</div>
<div [ngClass]="showThumbnails ? 'col-md-10' : 'col-md-12'">
<div [ngClass]="showThumbnails ? 'col-9' : 'col-md-12'">
<ds-type-badge *ngIf="showLabel" [object]="dso"></ds-type-badge>
<ds-truncatable [id]="dso.id">
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'"

View File

@@ -75,13 +75,13 @@ describe('JournalVolumeSearchResultListElementComponent', () => {
}));
beforeEach(waitForAsync(() => {
environment.browseBy.showItemThumbnails = true;
environment.browseBy.showThumbnails = true;
fixture = TestBed.createComponent(JournalVolumeSearchResultListElementComponent);
journalVolumeListElementComponent = fixture.componentInstance;
}));
describe('with environment.browseBy.showItemThumbnails set to true', () => {
describe('with environment.browseBy.showThumbnails set to true', () => {
beforeEach(() => {
journalVolumeListElementComponent.object = mockItemWithMetadata;
fixture.detectChanges();
@@ -163,12 +163,12 @@ describe('JournalVolumeSearchResultListElementComponent', () => {
}));
beforeEach(waitForAsync(() => {
environment.browseBy.showItemThumbnails = false;
environment.browseBy.showThumbnails = false;
fixture = TestBed.createComponent(JournalVolumeSearchResultListElementComponent);
journalVolumeListElementComponent = fixture.componentInstance;
}));
describe('with environment.browseBy.showItemThumbnails set to false', () => {
describe('with environment.browseBy.showThumbnails set to false', () => {
beforeEach(() => {
journalVolumeListElementComponent.object = mockItemWithMetadata;
fixture.detectChanges();

View File

@@ -21,7 +21,7 @@ export class JournalVolumeSearchResultListElementComponent extends ItemSearchRes
ngOnInit(): void {
super.ngOnInit();
this.showThumbnails = this.appConfig.browseBy.showItemThumbnails;
this.showThumbnails = this.appConfig.browseBy.showThumbnails;
}
}

View File

@@ -1,12 +1,12 @@
<div class="row">
<div *ngIf="showThumbnails" class="col-md-2">
<div *ngIf="showThumbnails" class="col-3 col-md-2">
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'" rel="noopener noreferrer"
[routerLink]="[itemPageRoute]" class="lead item-list-title dont-break-out">
<ds-thumbnail [thumbnail]="dso?.thumbnail | async" [limitWidth]="true">
</ds-thumbnail>
</a>
</div>
<div [ngClass]="showThumbnails ? 'col-md-10' : 'col-md-12'">
<div [ngClass]="showThumbnails ? 'col-9' : 'col-md-12'">
<ds-type-badge *ngIf="showLabel" [object]="dso"></ds-type-badge>
<ds-truncatable [id]="dso.id">
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'" rel="noopener noreferrer"

View File

@@ -71,13 +71,13 @@ describe('JournalSearchResultListElementComponent', () => {
}));
beforeEach(waitForAsync(() => {
environment.browseBy.showItemThumbnails = true;
environment.browseBy.showThumbnails = true;
fixture = TestBed.createComponent(JournalSearchResultListElementComponent);
journalListElementComponent = fixture.componentInstance;
}));
describe('with environment.browseBy.showItemThumbnails set to true', () => {
describe('with environment.browseBy.showThumbnails set to true', () => {
beforeEach(() => {
journalListElementComponent.object = mockItemWithMetadata;
fixture.detectChanges();
@@ -135,12 +135,12 @@ describe('JournalSearchResultListElementComponent', () => {
}));
beforeEach(waitForAsync(() => {
environment.browseBy.showItemThumbnails = false;
environment.browseBy.showThumbnails = false;
fixture = TestBed.createComponent(JournalSearchResultListElementComponent);
journalListElementComponent = fixture.componentInstance;
}));
describe('with environment.browseBy.showItemThumbnails set to false', () => {
describe('with environment.browseBy.showThumbnails set to false', () => {
beforeEach(() => {
journalListElementComponent.object = mockItemWithMetadata;

View File

@@ -21,7 +21,7 @@ export class JournalSearchResultListElementComponent extends ItemSearchResultLis
ngOnInit(): void {
super.ngOnInit();
this.showThumbnails = this.appConfig.browseBy.showItemThumbnails;
this.showThumbnails = this.appConfig.browseBy.showThumbnails;
}
}

View File

@@ -1,5 +1,5 @@
<div class="row">
<div *ngIf="showThumbnails" class="col-md-2">
<div *ngIf="showThumbnails" class="col-3 col-md-2">
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'"
rel="noopener noreferrer"
[routerLink]="[itemPageRoute]" class="dont-break-out">
@@ -10,7 +10,7 @@
</ds-thumbnail>
</a>
</div>
<div [ngClass]="showThumbnails ? 'col-md-10' : 'col-md-12'">
<div [ngClass]="showThumbnails ? 'col-9' : 'col-md-12'">
<ds-type-badge *ngIf="showLabel" [object]="dso"></ds-type-badge>
<ds-truncatable [id]="dso.id">
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'"

View File

@@ -69,13 +69,13 @@ describe('OrgUnitSearchResultListElementComponent', () => {
}));
beforeEach(waitForAsync(() => {
environment.browseBy.showItemThumbnails = true;
environment.browseBy.showThumbnails = true;
fixture = TestBed.createComponent(OrgUnitSearchResultListElementComponent);
orgUnitListElementComponent = fixture.componentInstance;
}));
describe('with environment.browseBy.showItemThumbnails set to true', () => {
describe('with environment.browseBy.showThumbnails set to true', () => {
beforeEach(() => {
orgUnitListElementComponent.object = mockItemWithMetadata;
fixture.detectChanges();
@@ -133,12 +133,12 @@ describe('OrgUnitSearchResultListElementComponent', () => {
}));
beforeEach(waitForAsync(() => {
environment.browseBy.showItemThumbnails = false;
environment.browseBy.showThumbnails = false;
fixture = TestBed.createComponent(OrgUnitSearchResultListElementComponent);
orgUnitListElementComponent = fixture.componentInstance;
}));
describe('with environment.browseBy.showItemThumbnails set to false', () => {
describe('with environment.browseBy.showThumbnails set to false', () => {
beforeEach(() => {
orgUnitListElementComponent.object = mockItemWithMetadata;

View File

@@ -21,7 +21,7 @@ export class OrgUnitSearchResultListElementComponent extends ItemSearchResultLis
ngOnInit(): void {
super.ngOnInit();
this.showThumbnails = this.appConfig.browseBy.showItemThumbnails;
this.showThumbnails = this.appConfig.browseBy.showThumbnails;
}
}

View File

@@ -1,5 +1,5 @@
<div class="row">
<div *ngIf="showThumbnails" class="col-md-2">
<div *ngIf="showThumbnails" class="col-3 col-md-2">
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'"
rel="noopener noreferrer"
[routerLink]="[itemPageRoute]" class="dont-break-out">
@@ -10,7 +10,7 @@
</ds-thumbnail>
</a>
</div>
<div [ngClass]="showThumbnails ? 'col-md-10' : 'col-md-12'">
<div [ngClass]="showThumbnails ? 'col-9 col-md-10' : 'col-12'">
<ds-type-badge *ngIf="showLabel" [object]="dso"></ds-type-badge>
<ds-truncatable [id]="dso.id">
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'"

View File

@@ -69,13 +69,13 @@ describe('PersonSearchResultListElementComponent', () => {
}));
beforeEach(waitForAsync(() => {
environment.browseBy.showItemThumbnails = true;
environment.browseBy.showThumbnails = true;
fixture = TestBed.createComponent(PersonSearchResultListElementComponent);
personListElementComponent = fixture.componentInstance;
}));
describe('with environment.browseBy.showItemThumbnails set to true', () => {
describe('with environment.browseBy.showThumbnails set to true', () => {
beforeEach(() => {
personListElementComponent.object = mockItemWithMetadata;
fixture.detectChanges();
@@ -133,12 +133,12 @@ describe('PersonSearchResultListElementComponent', () => {
}));
beforeEach(waitForAsync(() => {
environment.browseBy.showItemThumbnails = false;
environment.browseBy.showThumbnails = false;
fixture = TestBed.createComponent(PersonSearchResultListElementComponent);
personListElementComponent = fixture.componentInstance;
}));
describe('with environment.browseBy.showItemThumbnails set to false', () => {
describe('with environment.browseBy.showThumbnails set to false', () => {
beforeEach(() => {
personListElementComponent.object = mockItemWithMetadata;

View File

@@ -34,7 +34,7 @@ export class PersonSearchResultListElementComponent extends ItemSearchResultList
ngOnInit(): void {
super.ngOnInit();
this.showThumbnails = this.appConfig.browseBy.showItemThumbnails;
this.showThumbnails = this.appConfig.browseBy.showThumbnails;
}
/**

View File

@@ -1,5 +1,5 @@
<div class="row">
<div *ngIf="showThumbnails" class="col-md-2">
<div *ngIf="showThumbnails" class="col-3 col-md-2">
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'"
rel="noopener noreferrer"
[routerLink]="[itemPageRoute]" class="dont-break-out">
@@ -10,7 +10,7 @@
</ds-thumbnail>
</a>
</div>
<div [ngClass]="showThumbnails ? 'col-md-10' : 'col-md-12'">
<div [ngClass]="showThumbnails ? 'col-9' : 'col-md-12'">
<ds-truncatable [id]="dso.id">
<ds-type-badge *ngIf="showLabel" [object]="dso"></ds-type-badge>
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'"

View File

@@ -70,13 +70,13 @@ describe('ProjectSearchResultListElementComponent', () => {
}));
beforeEach(waitForAsync(() => {
environment.browseBy.showItemThumbnails = true;
environment.browseBy.showThumbnails = true;
fixture = TestBed.createComponent(ProjectSearchResultListElementComponent);
projectListElementComponent = fixture.componentInstance;
}));
describe('with environment.browseBy.showItemThumbnails set to true', () => {
describe('with environment.browseBy.showThumbnails set to true', () => {
beforeEach(() => {
projectListElementComponent.object = mockItemWithMetadata;
fixture.detectChanges();
@@ -135,12 +135,12 @@ describe('ProjectSearchResultListElementComponent', () => {
}));
beforeEach(waitForAsync(() => {
environment.browseBy.showItemThumbnails = false;
environment.browseBy.showThumbnails = false;
fixture = TestBed.createComponent(ProjectSearchResultListElementComponent);
projectListElementComponent = fixture.componentInstance;
}));
describe('with environment.browseBy.showItemThumbnails set to false', () => {
describe('with environment.browseBy.showThumbnails set to false', () => {
beforeEach(() => {
projectListElementComponent.object = mockItemWithMetadata;

View File

@@ -21,7 +21,7 @@ export class ProjectSearchResultListElementComponent extends ItemSearchResultLis
ngOnInit(): void {
super.ngOnInit();
this.showThumbnails = this.appConfig.browseBy.showItemThumbnails;
this.showThumbnails = this.appConfig.browseBy.showThumbnails;
}
}

View File

@@ -72,7 +72,7 @@ export class OrgUnitSearchResultListSubmissionElementComponent extends SearchRes
}
);
}
this.showThumbnails = this.appConfig.browseBy.showItemThumbnails;
this.showThumbnails = this.appConfig.browseBy.showThumbnails;
}
select(value) {

View File

@@ -1,5 +1,5 @@
<div class="row">
<div *ngIf="showThumbnails" class="col-md-2">
<div *ngIf="showThumbnails" class="col-3 col-md-2">
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'"
rel="noopener noreferrer" class="dont-break-out">
<ds-thumbnail [thumbnail]="dso?.thumbnail | async"
@@ -9,7 +9,7 @@
</ds-thumbnail>
</a>
</div>
<div [ngClass]="showThumbnails ? 'col-md-10' : 'col-md-12'">
<div [ngClass]="showThumbnails ? 'col-9' : 'col-md-12'">
<div class="d-flex">
<div class="flex-grow-1">
<ds-person-input-suggestions [suggestions]="allSuggestions" [(ngModel)]="selectedName"

View File

@@ -65,7 +65,7 @@ export class PersonSearchResultListSubmissionElementComponent extends SearchResu
this.selectedName = nameVariant || defaultValue;
}
);
this.showThumbnails = this.appConfig.browseBy.showItemThumbnails;
this.showThumbnails = this.appConfig.browseBy.showThumbnails;
}
select(value) {

View File

@@ -1,9 +1,9 @@
<div class="row">
<div *ngIf="showThumbnails" class="col-md-2">
<div *ngIf="showThumbnails" class="col-3 col-md-2">
<ds-thumbnail [thumbnail]="item?.thumbnail | async" [limitWidth]="true">
</ds-thumbnail>
</div>
<div [ngClass]="showThumbnails ? 'col-md-10' : 'col-md-12'">
<div [ngClass]="showThumbnails ? 'col-9' : 'col-md-12'">
<div *ngIf="item" @fadeInOut>
<ng-container *ngIf="status">
<ds-mydspace-item-status [status]="status"></ds-mydspace-item-status>

View File

@@ -47,6 +47,6 @@ export class ItemListPreviewComponent implements OnInit{
}
ngOnInit(): void {
this.showThumbnails = this.appConfig.browseBy.showItemThumbnails;
this.showThumbnails = this.appConfig.browseBy.showThumbnails;
}
}

View File

@@ -3,7 +3,7 @@
[status]="status"></ds-themed-item-list-preview>
<div class="row">
<div [ngClass]="showThumbnails ? 'offset-md-2 pl-3' : ''">
<div [ngClass]="showThumbnails ? 'offset-3 offset-md-2 pl-3' : ''">
<ds-item-actions [object]="dso" (processCompleted)="reloadedObject.emit($event.reloadedObject)"></ds-item-actions>
</div>
</div>

View File

@@ -32,6 +32,6 @@ export class ItemSearchResultListElementSubmissionComponent extends SearchResult
ngOnInit() {
super.ngOnInit();
this.showThumbnails = this.appConfig.browseBy.showItemThumbnails;
this.showThumbnails = this.appConfig.browseBy.showThumbnails;
}
}

View File

@@ -5,7 +5,7 @@
[showSubmitter]="showSubmitter"
[status]="status"></ds-themed-item-list-preview>
<div class="row">
<div [ngClass]="showThumbnails ? 'offset-md-2 pl-3' : ''">
<div [ngClass]="showThumbnails ? 'offset-3 offset-md-2pl-3' : ''">
<ds-pool-task-actions id="actions" *ngIf="workflowitem" [object]="dso"
(processCompleted)="this.reloadedObject.emit($event.reloadedObject)"></ds-pool-task-actions>
</div>

View File

@@ -71,7 +71,7 @@ export class PoolSearchResultListElementComponent extends SearchResultListElemen
followLink('item'), followLink('submitter')
), followLink('action'));
this.workflowitemRD$ = this.dso.workflowitem as Observable<RemoteData<WorkflowItem>>;
this.showThumbnails = this.appConfig.browseBy.showItemThumbnails;
this.showThumbnails = this.appConfig.browseBy.showThumbnails;
}
}

View File

@@ -4,7 +4,7 @@
[object]="object"
[status]="status"></ds-themed-item-list-preview>
<div class="row">
<div [ngClass]="showThumbnails ? 'offset-md-2 pl-3' : ''">
<div [ngClass]="showThumbnails ? 'offset-3 offset-md-2 pl-3' : ''">
<ds-workflowitem-actions [object]="dso" (processCompleted)="reloadedObject.emit($event.reloadedObject)"></ds-workflowitem-actions>
</div>
</div>

View File

@@ -61,7 +61,7 @@ export class WorkflowItemSearchResultListElementComponent extends SearchResultLi
super.ngOnInit();
this.linkService.resolveLink(this.dso, followLink('item'));
this.initItem(this.dso.item as Observable<RemoteData<Item>> );
this.showThumbnails = this.appConfig.browseBy.showItemThumbnails;
this.showThumbnails = this.appConfig.browseBy.showThumbnails;
}
/**

View File

@@ -5,7 +5,7 @@
[status]="status"></ds-themed-item-list-preview>
<div class="row">
<div [ngClass]="showThumbnails ? 'offset-md-2 pl-3' : ''">
<div [ngClass]="showThumbnails ? 'offset-3 offset-md-2 pl-3' : ''">
<ds-workspaceitem-actions [object]="dso" (processCompleted)="reloadedObject.emit($event.reloadedObject)"></ds-workspaceitem-actions>
</div>
</div>

View File

@@ -61,7 +61,7 @@ export class WorkspaceItemSearchResultListElementComponent extends SearchResultL
super.ngOnInit();
this.linkService.resolveLink(this.dso, followLink('item'));
this.initItem(this.dso.item as Observable<RemoteData<Item>>);
this.showThumbnails = this.appConfig.browseBy.showItemThumbnails;
this.showThumbnails = this.appConfig.browseBy.showThumbnails;
}
/**

View File

@@ -1,6 +1,6 @@
<div class="row">
<div *ngIf="showThumbnails" class="offset-md-2"></div>
<div [ngClass]="showThumbnails ? 'col-md-10' : 'col-md-12'">
<div *ngIf="showThumbnails" class="offset-3 offset-md-2 "></div>
<div [ngClass]="showThumbnails ? 'col-9' : 'col-md-12'">
<ds-type-badge *ngIf="showLabel" [object]="dso"></ds-type-badge>
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'" rel="noopener noreferrer" [routerLink]="['/collections/' + dso.id]" class="lead" [innerHTML]="dsoTitle"></a>
<span *ngIf="linkType == linkTypes.None" class="lead" [innerHTML]="dsoTitle"></span>

View File

@@ -23,7 +23,7 @@ export class CollectionSearchResultListElementComponent extends SearchResultList
ngOnInit(): void {
super.ngOnInit();
this.showThumbnails = this.appConfig.browseBy.showItemThumbnails;
this.showThumbnails = this.appConfig.browseBy.showThumbnails;
}
}

View File

@@ -1,6 +1,6 @@
<div class="row">
<div *ngIf="showThumbnails" class="offset-md-2"></div>
<div [ngClass]="showThumbnails ? 'col-md-10' : 'col-md-12'">
<div [ngClass]="showThumbnails ? 'col-9' : 'col-md-12'">
<ds-type-badge *ngIf="showLabel" [object]="dso"></ds-type-badge>
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'" rel="noopener noreferrer" [routerLink]="['/communities/' + dso.id]" class="lead" [innerHTML]="dsoTitle"></a>
<span *ngIf="linkType == linkTypes.None" class="lead" [innerHTML]="dsoTitle"></span>

View File

@@ -23,6 +23,6 @@ export class CommunitySearchResultListElementComponent extends SearchResultListE
ngOnInit(): void {
super.ngOnInit();
this.showThumbnails = this.appConfig.browseBy.showItemThumbnails;
this.showThumbnails = this.appConfig.browseBy.showThumbnails;
}
}

View File

@@ -1,12 +1,12 @@
<div class="row">
<div *ngIf="showThumbnails" class="col-md-2">
<div *ngIf="showThumbnails" class="col-3 col-md-2">
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'" rel="noopener noreferrer"
[routerLink]="[itemPageRoute]" class="dont-break-out">
<ds-thumbnail [thumbnail]="dso?.thumbnail | async" [limitWidth]="true">
</ds-thumbnail>
</a>
</div>
<div [ngClass]="showThumbnails ? 'col-md-10' : 'col-md-12'">
<div [ngClass]="showThumbnails ? 'col-9' : 'col-md-12'">
<div class="d-flex">
<ds-type-badge *ngIf="showLabel" [object]="dso"></ds-type-badge>
<ds-access-status-badge [item]="dso" class="pl-1"></ds-access-status-badge>

View File

@@ -79,13 +79,13 @@ describe('ItemSearchResultListElementComponent', () => {
}));
beforeEach(waitForAsync(() => {
environment.browseBy.showItemThumbnails = true;
environment.browseBy.showThumbnails = true;
fixture = TestBed.createComponent(ItemSearchResultListElementComponent);
publicationListElementComponent = fixture.componentInstance;
}));
describe('with environment.browseBy.showItemThumbnails set to true', () => {
describe('with environment.browseBy.showThumbnails set to true', () => {
beforeEach(() => {
publicationListElementComponent.object = mockItemWithMetadata;
fixture.detectChanges();
@@ -227,12 +227,12 @@ describe('ItemSearchResultListElementComponent', () => {
}));
beforeEach(waitForAsync(() => {
environment.browseBy.showItemThumbnails = false;
environment.browseBy.showThumbnails = false;
fixture = TestBed.createComponent(ItemSearchResultListElementComponent);
publicationListElementComponent = fixture.componentInstance;
}));
describe('with environment.browseBy.showItemThumbnails set to false', () => {
describe('with environment.browseBy.showThumbnails set to false', () => {
beforeEach(() => {
publicationListElementComponent.object = mockItemWithMetadata;

View File

@@ -29,7 +29,7 @@ export class ItemSearchResultListElementComponent extends SearchResultListElemen
ngOnInit(): void {
super.ngOnInit();
this.showThumbnails = this.appConfig.browseBy.showItemThumbnails;
this.showThumbnails = this.appConfig.browseBy.showThumbnails;
this.itemPageRoute = getItemPageRoute(this.dso);
}
}

View File

@@ -22,5 +22,5 @@ export interface BrowseByConfig extends Config {
/**
* If true, thumbnail images for items will be added to BOTH search and browse result lists.
*/
showItemThumbnails: boolean;
showThumbnails: boolean;
}

View File

@@ -207,7 +207,7 @@ export class DefaultAppConfig implements AppConfig {
// The absolute lowest year to display in the dropdown (only used when no lowest date can be found for all items)
defaultLowerLimit: 1900,
// Whether to add item thumbnail images to BOTH browse and search result lists.
showItemThumbnails: true
showThumbnails: true
};
// Item Config

View File

@@ -200,7 +200,7 @@ export const environment: BuildConfig = {
// The absolute lowest year to display in the dropdown (only used when no lowest date can be found for all items)
defaultLowerLimit: 1900,
// Whether to add item thumbnail images to BOTH browse and search result lists.
showItemThumbnails: true
showThumbnails: true
},
item: {

View File

@@ -45,7 +45,7 @@
--ds-edit-item-metadata-field-width: 190px;
--ds-edit-item-language-field-width: 43px;
--ds-thumbnail-max-width: 175px;
--ds-thumbnail-max-width: 125px;
--ds-thumbnail-placeholder-background: #{$gray-100};
--ds-thumbnail-placeholder-border: 1px solid #{$gray-300};
--ds-thumbnail-placeholder-color: #{lighten($gray-800, 7%)};

View File

@@ -144,8 +144,8 @@ ds-dynamic-form-control-container.d-none {
font-size: 0.7rem !important;
padding: 0.125rem;
@media screen and (max-width: map-get($grid-breakpoints, sm)) {
font-size: 1.1rem !important;
padding: 0.5rem;
font-size: 0.5rem !important;
padding: 0.1rem;
}
visibility: inherit;
}