From 40cb6a18bea543ce2bc983e29be041b3880ed1b8 Mon Sep 17 00:00:00 2001 From: Giuseppe Digilio Date: Tue, 22 Nov 2022 14:59:40 +0100 Subject: [PATCH] [CST-9636] Add flag to show or not thumbnail along list element by component's input firstly --- ...ue-search-result-list-element.component.ts | 10 --------- ...me-search-result-list-element.component.ts | 10 --------- ...al-search-result-list-element.component.ts | 10 --------- ...it-search-result-list-element.component.ts | 10 --------- ...on-search-result-list-element.component.ts | 22 +------------------ ...ct-search-result-list-element.component.ts | 10 --------- .../object-collection.component.html | 3 +++ .../object-collection.component.ts | 5 +++++ ...table-object-component-loader.component.ts | 6 +++++ .../abstract-listable-element.component.ts | 5 +++++ .../object-detail.component.html | 1 + .../object-detail/object-detail.component.ts | 5 +++++ .../object-grid/object-grid.component.html | 6 ++++- .../object-grid/object-grid.component.ts | 12 +++++++--- .../object-list/object-list.component.html | 9 ++++---- .../object-list/object-list.component.ts | 5 +++++ ...em-search-result-list-element.component.ts | 7 +----- .../themed-object-list.component.ts | 6 +++++ .../search-results.component.html | 1 + .../search-results.component.ts | 5 +++++ .../themed-search-results.component.ts | 4 +++- src/app/shared/search/search.component.html | 1 + src/app/shared/search/search.component.ts | 5 +++++ .../shared/search/themed-search.component.ts | 4 +++- 24 files changed, 75 insertions(+), 87 deletions(-) diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.ts b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.ts index 88f93d9d85..d804006eb1 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.ts @@ -14,14 +14,4 @@ import { ItemSearchResultListElementComponent } from '../../../../../shared/obje */ export class JournalIssueSearchResultListElementComponent extends ItemSearchResultListElementComponent { - /** - * Display thumbnails if required by configuration - */ - showThumbnails: boolean; - - ngOnInit(): void { - super.ngOnInit(); - this.showThumbnails = this.appConfig.browseBy.showThumbnails; - } - } diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.ts b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.ts index ec98946937..2a01d20668 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.ts @@ -14,14 +14,4 @@ import { ItemSearchResultListElementComponent } from '../../../../../shared/obje */ export class JournalVolumeSearchResultListElementComponent extends ItemSearchResultListElementComponent { - /** - * Display thumbnails if required by configuration - */ - showThumbnails: boolean; - - ngOnInit(): void { - super.ngOnInit(); - this.showThumbnails = this.appConfig.browseBy.showThumbnails; - } - } diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.ts b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.ts index 199bd3a748..38150d1a6a 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.ts @@ -14,14 +14,4 @@ import { ItemSearchResultListElementComponent } from '../../../../../shared/obje */ export class JournalSearchResultListElementComponent extends ItemSearchResultListElementComponent { - /** - * Display thumbnails if required by configuration - */ - showThumbnails: boolean; - - ngOnInit(): void { - super.ngOnInit(); - this.showThumbnails = this.appConfig.browseBy.showThumbnails; - } - } diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.ts b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.ts index baa27cdf0c..a9edb530cb 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.ts @@ -14,14 +14,4 @@ import { ItemSearchResultListElementComponent } from '../../../../../shared/obje */ export class OrgUnitSearchResultListElementComponent extends ItemSearchResultListElementComponent { - /** - * Display thumbnail if required by configuration - */ - showThumbnails: boolean; - - ngOnInit(): void { - super.ngOnInit(); - this.showThumbnails = this.appConfig.browseBy.showThumbnails; - } - } diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.ts b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.ts index 217d7baef9..67c01ed8f7 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject } from '@angular/core'; +import { Component } from '@angular/core'; import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; @@ -6,9 +6,6 @@ import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { ItemSearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { APP_CONFIG, AppConfig } from '../../../../../../config/app-config.interface'; @listableObjectComponent('PersonSearchResult', ViewMode.ListElement) @Component({ @@ -21,21 +18,4 @@ import { APP_CONFIG, AppConfig } from '../../../../../../config/app-config.inter */ export class PersonSearchResultListElementComponent extends ItemSearchResultListElementComponent { - public constructor( - protected truncatableService: TruncatableService, - protected dsoNameService: DSONameService, - @Inject(APP_CONFIG) protected appConfig: AppConfig - ) { - super(truncatableService, dsoNameService, appConfig); - } - - /** - * Display thumbnail if required by configuration - */ - showThumbnails: boolean; - - ngOnInit(): void { - super.ngOnInit(); - this.showThumbnails = this.appConfig.browseBy.showThumbnails; - } } diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.ts b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.ts index 88e95528ac..aaf98a8091 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.ts @@ -14,14 +14,4 @@ import { ItemSearchResultListElementComponent } from '../../../../../shared/obje */ export class ProjectSearchResultListElementComponent extends ItemSearchResultListElementComponent { - /** - * Display thumbnail if required by configuration - */ - showThumbnails: boolean; - - ngOnInit(): void { - super.ngOnInit(); - this.showThumbnails = this.appConfig.browseBy.showThumbnails; - } - } diff --git a/src/app/shared/object-collection/object-collection.component.html b/src/app/shared/object-collection/object-collection.component.html index 3dafba8298..3b0dca80ac 100644 --- a/src/app/shared/object-collection/object-collection.component.html +++ b/src/app/shared/object-collection/object-collection.component.html @@ -8,6 +8,7 @@ [context]="context" [hidePaginationDetail]="hidePaginationDetail" [showPaginator]="showPaginator" + [showThumbnails]="showThumbnails" (paginationChange)="onPaginationChange($event)" (pageChange)="onPageChange($event)" (pageSizeChange)="onPageSizeChange($event)" @@ -34,6 +35,7 @@ [context]="context" [hidePaginationDetail]="hidePaginationDetail" [showPaginator]="showPaginator" + [showThumbnails]="showThumbnails" (paginationChange)="onPaginationChange($event)" (pageChange)="onPageChange($event)" (pageSizeChange)="onPageSizeChange($event)" @@ -50,6 +52,7 @@ [context]="context" [hidePaginationDetail]="hidePaginationDetail" [showPaginator]="showPaginator" + [showThumbnails]="showThumbnails" (contentChange)="contentChange.emit($event)" *ngIf="(currentMode$ | async) === viewModeEnum.DetailedListElement"> diff --git a/src/app/shared/object-collection/object-collection.component.ts b/src/app/shared/object-collection/object-collection.component.ts index 369192c488..e1f9182562 100644 --- a/src/app/shared/object-collection/object-collection.component.ts +++ b/src/app/shared/object-collection/object-collection.component.ts @@ -107,6 +107,11 @@ export class ObjectCollectionComponent implements OnInit { */ @Input() showPaginator = true; + /** + * Whether to show the thumbnail preview + */ + @Input() showThumbnails; + /** * the page info of the list */ diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts index 6b75c59181..18b3d96d14 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts @@ -71,6 +71,11 @@ export class ListableObjectComponentLoaderComponent implements OnInit, OnChanges */ @Input() showLabel = true; + /** + * Whether to show the thumbnail preview + */ + @Input() showThumbnails; + /** * The value to display for this element */ @@ -127,6 +132,7 @@ export class ListableObjectComponentLoaderComponent implements OnInit, OnChanges 'linkType', 'listID', 'showLabel', + 'showThumbnails', 'context', 'viewMode', 'value', diff --git a/src/app/shared/object-collection/shared/object-collection-element/abstract-listable-element.component.ts b/src/app/shared/object-collection/shared/object-collection-element/abstract-listable-element.component.ts index 7d4e107b2b..d145b8146b 100644 --- a/src/app/shared/object-collection/shared/object-collection-element/abstract-listable-element.component.ts +++ b/src/app/shared/object-collection/shared/object-collection-element/abstract-listable-element.component.ts @@ -41,6 +41,11 @@ export class AbstractListableElementComponent { */ @Input() showLabel = true; + /** + * Whether to show the thumbnail preview + */ + @Input() showThumbnails; + /** * The context we matched on to get this component */ diff --git a/src/app/shared/object-detail/object-detail.component.html b/src/app/shared/object-detail/object-detail.component.html index 05b8342ca3..d077e2fd2b 100644 --- a/src/app/shared/object-detail/object-detail.component.html +++ b/src/app/shared/object-detail/object-detail.component.html @@ -21,6 +21,7 @@ diff --git a/src/app/shared/object-detail/object-detail.component.ts b/src/app/shared/object-detail/object-detail.component.ts index 15bd5b7bca..1a32be74b8 100644 --- a/src/app/shared/object-detail/object-detail.component.ts +++ b/src/app/shared/object-detail/object-detail.component.ts @@ -64,6 +64,11 @@ export class ObjectDetailComponent { */ @Input() showPaginator = true; + /** + * Whether to show the thumbnail preview + */ + @Input() showThumbnails; + /** * Emit when one of the listed object has changed. */ diff --git a/src/app/shared/object-grid/object-grid.component.html b/src/app/shared/object-grid/object-grid.component.html index 4050f93f77..59fe18820d 100644 --- a/src/app/shared/object-grid/object-grid.component.html +++ b/src/app/shared/object-grid/object-grid.component.html @@ -19,7 +19,11 @@
- +
diff --git a/src/app/shared/object-grid/object-grid.component.ts b/src/app/shared/object-grid/object-grid.component.ts index 1b5ab075e2..91630ca007 100644 --- a/src/app/shared/object-grid/object-grid.component.ts +++ b/src/app/shared/object-grid/object-grid.component.ts @@ -1,11 +1,12 @@ -import { combineLatest as observableCombineLatest, BehaviorSubject, Observable } from 'rxjs'; +import { BehaviorSubject, combineLatest as observableCombineLatest, Observable } from 'rxjs'; -import { startWith, distinctUntilChanged, map } from 'rxjs/operators'; +import { distinctUntilChanged, map, startWith } from 'rxjs/operators'; import { ChangeDetectionStrategy, Component, EventEmitter, - Input, OnInit, + Input, + OnInit, Output, ViewEncapsulation } from '@angular/core'; @@ -54,6 +55,11 @@ export class ObjectGridComponent implements OnInit { */ @Input() showPaginator = true; + /** + * Whether to show the thumbnail preview + */ + @Input() showThumbnails; + /** * The whether or not the gear is hidden */ diff --git a/src/app/shared/object-list/object-list.component.html b/src/app/shared/object-list/object-list.component.html index b8712b85c5..8e0482b1f7 100644 --- a/src/app/shared/object-list/object-list.component.html +++ b/src/app/shared/object-list/object-list.component.html @@ -25,12 +25,13 @@ - diff --git a/src/app/shared/object-list/object-list.component.ts b/src/app/shared/object-list/object-list.component.ts index 65e2b508da..5161b75459 100644 --- a/src/app/shared/object-list/object-list.component.ts +++ b/src/app/shared/object-list/object-list.component.ts @@ -81,6 +81,11 @@ export class ObjectListComponent { */ @Input() showPaginator = true; + /** + * Whether to show the thumbnail preview + */ + @Input() showThumbnails; + /** * Emit when one of the listed object has changed. */ diff --git a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts index f84ae642ad..99251d3c24 100644 --- a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts +++ b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts @@ -22,14 +22,9 @@ export class ItemSearchResultListElementComponent extends SearchResultListElemen */ itemPageRoute: string; - /** - * Display thumbnails if required by configuration - */ - showThumbnails: boolean; - ngOnInit(): void { super.ngOnInit(); - this.showThumbnails = this.appConfig.browseBy.showThumbnails; + this.showThumbnails = this.showThumbnails ?? this.appConfig.browseBy.showThumbnails; this.itemPageRoute = getItemPageRoute(this.dso); } } diff --git a/src/app/shared/object-list/themed-object-list.component.ts b/src/app/shared/object-list/themed-object-list.component.ts index 913302351f..4d7b5ca77b 100644 --- a/src/app/shared/object-list/themed-object-list.component.ts +++ b/src/app/shared/object-list/themed-object-list.component.ts @@ -78,6 +78,11 @@ export class ThemedObjectListComponent extends ThemedComponent diff --git a/src/app/shared/search/search-results/search-results.component.ts b/src/app/shared/search/search-results/search-results.component.ts index 0a83d3e5c6..15d2cc0f00 100644 --- a/src/app/shared/search/search-results/search-results.component.ts +++ b/src/app/shared/search/search-results/search-results.component.ts @@ -52,6 +52,11 @@ export class SearchResultsComponent { */ @Input() showCsvExport = false; + /** + * Whether to show the thumbnail preview + */ + @Input() showThumbnails; + /** * The current sorting configuration of the search */ diff --git a/src/app/shared/search/search-results/themed-search-results.component.ts b/src/app/shared/search/search-results/themed-search-results.component.ts index 7abfb2dfa8..01ee5761f3 100644 --- a/src/app/shared/search/search-results/themed-search-results.component.ts +++ b/src/app/shared/search/search-results/themed-search-results.component.ts @@ -21,7 +21,7 @@ import { ListableObject } from '../../object-collection/shared/listable-object.m templateUrl: '../../theme-support/themed.component.html', }) export class ThemedSearchResultsComponent extends ThemedComponent { - protected inAndOutputNames: (keyof SearchResultsComponent & keyof this)[] = ['linkType', 'searchResults', 'searchConfig', 'showCsvExport', 'sortConfig', 'viewMode', 'configuration', 'disableHeader', 'selectable', 'context', 'hidePaginationDetail', 'selectionConfig', 'contentChange', 'deselectObject', 'selectObject']; + protected inAndOutputNames: (keyof SearchResultsComponent & keyof this)[] = ['linkType', 'searchResults', 'searchConfig', 'showCsvExport', 'showThumbnails', 'sortConfig', 'viewMode', 'configuration', 'disableHeader', 'selectable', 'context', 'hidePaginationDetail', 'selectionConfig', 'contentChange', 'deselectObject', 'selectObject']; @Input() linkType: CollectionElementLinkType; @@ -31,6 +31,8 @@ export class ThemedSearchResultsComponent extends ThemedComponent diff --git a/src/app/shared/search/search.component.ts b/src/app/shared/search/search.component.ts index a5b9fb9c7d..5dd84344d4 100644 --- a/src/app/shared/search/search.component.ts +++ b/src/app/shared/search/search.component.ts @@ -128,6 +128,11 @@ export class SearchComponent implements OnInit { */ @Input() showSidebar = true; + /** + * Whether to show the thumbnail preview + */ + @Input() showThumbnails; + /** * Whether to show the view mode switch */ diff --git a/src/app/shared/search/themed-search.component.ts b/src/app/shared/search/themed-search.component.ts index 44c22c8925..fe531e4f0f 100644 --- a/src/app/shared/search/themed-search.component.ts +++ b/src/app/shared/search/themed-search.component.ts @@ -19,7 +19,7 @@ import { ListableObject } from '../object-collection/shared/listable-object.mode templateUrl: '../theme-support/themed.component.html', }) export class ThemedSearchComponent extends ThemedComponent { - protected inAndOutputNames: (keyof SearchComponent & keyof this)[] = ['configurationList', 'context', 'configuration', 'fixedFilterQuery', 'useCachedVersionIfAvailable', 'inPlaceSearch', 'linkType', 'paginationId', 'searchEnabled', 'sideBarWidth', 'searchFormPlaceholder', 'selectable', 'selectionConfig', 'showCsvExport', 'showSidebar', 'showViewModes', 'useUniquePageId', 'viewModeList', 'showScopeSelector', 'resultFound', 'deselectObject', 'selectObject', 'trackStatistics', 'query']; + protected inAndOutputNames: (keyof SearchComponent & keyof this)[] = ['configurationList', 'context', 'configuration', 'fixedFilterQuery', 'useCachedVersionIfAvailable', 'inPlaceSearch', 'linkType', 'paginationId', 'searchEnabled', 'sideBarWidth', 'searchFormPlaceholder', 'selectable', 'selectionConfig', 'showCsvExport', 'showSidebar', 'showThumbnails', 'showViewModes', 'useUniquePageId', 'viewModeList', 'showScopeSelector', 'resultFound', 'deselectObject', 'selectObject', 'trackStatistics', 'query']; @Input() configurationList: SearchConfigurationOption[]; @@ -51,6 +51,8 @@ export class ThemedSearchComponent extends ThemedComponent { @Input() showSidebar: boolean; + @Input() showThumbnails; + @Input() showViewModes: boolean; @Input() useUniquePageId: boolean;