65195: removed duplicate view mode, renamed existing modes from SetViewMode

This commit is contained in:
lotte
2019-09-27 11:22:55 +02:00
parent d85cc0a0f2
commit e584489eaf
44 changed files with 115 additions and 145 deletions

View File

@@ -93,7 +93,7 @@ export class MyDSpacePageComponent implements OnInit {
/** /**
* List of available view mode * List of available view mode
*/ */
viewModeList = [ViewMode.List, ViewMode.Detail]; viewModeList = [ViewMode.ListElement, ViewMode.DetailedListElement];
constructor(private service: SearchService, constructor(private service: SearchService,
private sidebarService: SearchSidebarService, private sidebarService: SearchSidebarService,

View File

@@ -17,7 +17,7 @@ import { ItemMyDSpaceResultDetailElementComponent } from '../shared/object-detai
import { WorkspaceitemMyDSpaceResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-detail-element.component'; import { WorkspaceitemMyDSpaceResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/workspaceitem-my-dspace-result/workspaceitem-my-dspace-result-detail-element.component';
import { WorkflowitemMyDSpaceResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/workflowitem-my-dspace-result/workflowitem-my-dspace-result-detail-element.component'; import { WorkflowitemMyDSpaceResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/workflowitem-my-dspace-result/workflowitem-my-dspace-result-detail-element.component';
import { ClaimedMyDSpaceResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/claimed-my-dspace-result/claimed-my-dspace-result-detail-element.component'; import { ClaimedMyDSpaceResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/claimed-my-dspace-result/claimed-my-dspace-result-detail-element.component';
import { PoolMyDSpaceResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/pool-my-dspace-result/pool-my-dspace-result-detail-lement.component'; import { PoolMyDSpaceResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/pool-my-dspace-result/pool-my-dspace-result-detail-element.component';
import { MyDSpaceGuard } from './my-dspace.guard'; import { MyDSpaceGuard } from './my-dspace.guard';
import { MyDSpaceConfigurationService } from './my-dspace-configuration.service'; import { MyDSpaceConfigurationService } from './my-dspace-configuration.service';

View File

@@ -3,14 +3,14 @@ import { URLCombiner } from '../core/url-combiner/url-combiner';
import 'core-js/library/fn/object/entries'; import 'core-js/library/fn/object/entries';
import { SearchFilter } from './search-filter.model'; import { SearchFilter } from './search-filter.model';
import { DSpaceObjectType } from '../core/shared/dspace-object-type.model'; import { DSpaceObjectType } from '../core/shared/dspace-object-type.model';
import { SetViewMode } from '../shared/view-mode'; import { ViewMode } from '../core/shared/view-mode.model';
/** /**
* This model class represents all parameters needed to request information about a certain search request * This model class represents all parameters needed to request information about a certain search request
*/ */
export class SearchOptions { export class SearchOptions {
configuration?: string; configuration?: string;
view?: SetViewMode = SetViewMode.List; view?: ViewMode = ViewMode.ListElement;
scope?: string; scope?: string;
query?: string; query?: string;
dsoType?: DSpaceObjectType; dsoType?: DSpaceObjectType;

View File

@@ -2,12 +2,12 @@ import { Component, Input } from '@angular/core';
import { RemoteData } from '../../core/data/remote-data'; import { RemoteData } from '../../core/data/remote-data';
import { DSpaceObject } from '../../core/shared/dspace-object.model'; import { DSpaceObject } from '../../core/shared/dspace-object.model';
import { fadeIn, fadeInOut } from '../../shared/animations/fade'; import { fadeIn, fadeInOut } from '../../shared/animations/fade';
import { SetViewMode } from '../../shared/view-mode';
import { SearchOptions } from '../search-options.model'; import { SearchOptions } from '../search-options.model';
import { SearchResult } from '../search-result.model'; import { SearchResult } from '../search-result.model';
import { PaginatedList } from '../../core/data/paginated-list'; import { PaginatedList } from '../../core/data/paginated-list';
import { hasNoValue, isNotEmpty } from '../../shared/empty.util'; import { hasNoValue, isNotEmpty } from '../../shared/empty.util';
import { SortOptions } from '../../core/cache/models/sort-options.model'; import { SortOptions } from '../../core/cache/models/sort-options.model';
import { ViewMode } from '../../core/shared/view-mode.model';
@Component({ @Component({
selector: 'ds-search-results', selector: 'ds-search-results',
@@ -42,7 +42,7 @@ export class SearchResultsComponent {
/** /**
* The current view-mode of the list * The current view-mode of the list
*/ */
@Input() viewMode: SetViewMode; @Input() viewMode: ViewMode;
/** /**
* An optional configuration to filter the result on one type * An optional configuration to filter the result on one type

View File

@@ -5,9 +5,6 @@ import { CommonModule } from '@angular/common';
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { SearchService } from './search.service'; import { SearchService } from './search.service';
import { ItemDataService } from './../../core/data/item-data.service';
import { SetViewMode } from '../../shared/view-mode';
import { GLOBAL_CONFIG } from '../../../config';
import { RemoteDataBuildService } from '../../core/cache/builders/remote-data-build.service'; import { RemoteDataBuildService } from '../../core/cache/builders/remote-data-build.service';
import { Router, UrlTree } from '@angular/router'; import { Router, UrlTree } from '@angular/router';
import { RequestService } from '../../core/data/request.service'; import { RequestService } from '../../core/data/request.service';
@@ -66,7 +63,7 @@ describe('SearchService', () => {
it('should return list view mode', () => { it('should return list view mode', () => {
searchService.getViewMode().subscribe((viewMode) => { searchService.getViewMode().subscribe((viewMode) => {
expect(viewMode).toBe(ViewMode.List); expect(viewMode).toBe(ViewMode.ListElement);
}); });
}); });
}); });
@@ -125,38 +122,38 @@ describe('SearchService', () => {
}); });
it('should call the navigate method on the Router with view mode list parameter as a parameter when setViewMode is called', () => { it('should call the navigate method on the Router with view mode list parameter as a parameter when setViewMode is called', () => {
searchService.setViewMode(ViewMode.List); searchService.setViewMode(ViewMode.ListElement);
expect(router.navigate).toHaveBeenCalledWith(['/search'], { expect(router.navigate).toHaveBeenCalledWith(['/search'], {
queryParams: { view: ViewMode.List, page: 1 }, queryParams: { view: ViewMode.ListElement, page: 1 },
queryParamsHandling: 'merge' queryParamsHandling: 'merge'
}); });
}); });
it('should call the navigate method on the Router with view mode grid parameter as a parameter when setViewMode is called', () => { it('should call the navigate method on the Router with view mode grid parameter as a parameter when setViewMode is called', () => {
searchService.setViewMode(ViewMode.Grid); searchService.setViewMode(ViewMode.GridElement);
expect(router.navigate).toHaveBeenCalledWith(['/search'], { expect(router.navigate).toHaveBeenCalledWith(['/search'], {
queryParams: { view: ViewMode.Grid, page: 1 }, queryParams: { view: ViewMode.GridElement, page: 1 },
queryParamsHandling: 'merge' queryParamsHandling: 'merge'
}); });
}); });
it('should return ViewMode.List when the viewMode is set to ViewMode.List in the ActivatedRoute', () => { it('should return ViewMode.List when the viewMode is set to ViewMode.List in the ActivatedRoute', () => {
let viewMode = ViewMode.Grid; let viewMode = ViewMode.GridElement;
spyOn(routeService, 'getQueryParamMap').and.returnValue(observableOf(new Map([ spyOn(routeService, 'getQueryParamMap').and.returnValue(observableOf(new Map([
[ 'view', ViewMode.List ], [ 'view', ViewMode.ListElement ],
]))); ])));
searchService.getViewMode().subscribe((mode) => viewMode = mode); searchService.getViewMode().subscribe((mode) => viewMode = mode);
expect(viewMode).toEqual(ViewMode.List); expect(viewMode).toEqual(ViewMode.ListElement);
}); });
it('should return ViewMode.Grid when the viewMode is set to ViewMode.Grid in the ActivatedRoute', () => { it('should return ViewMode.Grid when the viewMode is set to ViewMode.Grid in the ActivatedRoute', () => {
let viewMode = ViewMode.List; let viewMode = ViewMode.ListElement;
spyOn(routeService, 'getQueryParamMap').and.returnValue(observableOf(new Map([ spyOn(routeService, 'getQueryParamMap').and.returnValue(observableOf(new Map([
[ 'view', ViewMode.Grid ], [ 'view', ViewMode.GridElement ],
]))); ])));
searchService.getViewMode().subscribe((mode) => viewMode = mode); searchService.getViewMode().subscribe((mode) => viewMode = mode);
expect(viewMode).toEqual(ViewMode.Grid); expect(viewMode).toEqual(ViewMode.GridElement);
}); });
describe('when search is called', () => { describe('when search is called', () => {

View File

@@ -339,7 +339,7 @@ export class SearchService implements OnDestroy {
if (isNotEmpty(params.get('view')) && hasValue(params.get('view'))) { if (isNotEmpty(params.get('view')) && hasValue(params.get('view'))) {
return params.get('view'); return params.get('view');
} else { } else {
return ViewMode.List; return ViewMode.ListElement;
} }
})); }));
} }
@@ -352,7 +352,7 @@ export class SearchService implements OnDestroy {
this.routeService.getQueryParameterValue('pageSize').pipe(first()) this.routeService.getQueryParameterValue('pageSize').pipe(first())
.subscribe((pageSize) => { .subscribe((pageSize) => {
let queryParams = { view: viewMode, page: 1 }; let queryParams = { view: viewMode, page: 1 };
if (viewMode === ViewMode.Detail) { if (viewMode === ViewMode.DetailedListElement) {
queryParams = Object.assign(queryParams, {pageSize: '1'}); queryParams = Object.assign(queryParams, {pageSize: '1'});
} else if (pageSize === '1') { } else if (pageSize === '1') {
queryParams = Object.assign(queryParams, {pageSize: '10'}); queryParams = Object.assign(queryParams, {pageSize: '10'});

View File

@@ -3,7 +3,7 @@
*/ */
export enum ViewMode { export enum ViewMode {
List = 'list', ListElement = 'listElement',
Grid = 'grid', GridElement = 'gridElement',
Detail = 'detail' DetailedListElement = 'detailedListElement'
} }

View File

@@ -8,7 +8,7 @@
(pageSizeChange)="onPageSizeChange($event)" (pageSizeChange)="onPageSizeChange($event)"
(sortDirectionChange)="onSortDirectionChange($event)" (sortDirectionChange)="onSortDirectionChange($event)"
(sortFieldChange)="onSortFieldChange($event)" (sortFieldChange)="onSortFieldChange($event)"
*ngIf="(currentMode$ | async) === viewModeEnum.List"> *ngIf="(currentMode$ | async) === viewModeEnum.ListElement">
</ds-object-list> </ds-object-list>
<ds-object-grid [config]="config" <ds-object-grid [config]="config"
@@ -20,14 +20,14 @@
(pageSizeChange)="onPageSizeChange($event)" (pageSizeChange)="onPageSizeChange($event)"
(sortDirectionChange)="onSortDirectionChange($event)" (sortDirectionChange)="onSortDirectionChange($event)"
(sortFieldChange)="onSortFieldChange($event)" (sortFieldChange)="onSortFieldChange($event)"
*ngIf="(currentMode$ | async) === viewModeEnum.Grid"> *ngIf="(currentMode$ | async) === viewModeEnum.GridElement">
</ds-object-grid> </ds-object-grid>
<ds-object-detail [config]="config" <ds-object-detail [config]="config"
[sortConfig]="sortConfig" [sortConfig]="sortConfig"
[objects]="objects" [objects]="objects"
[hideGear]="hideGear" [hideGear]="hideGear"
*ngIf="(currentMode$ | async) === viewModeEnum.Detail"> *ngIf="(currentMode$ | async) === viewModeEnum.DetailedListElement">
</ds-object-detail> </ds-object-detail>

View File

@@ -1,11 +1,11 @@
import { ObjectCollectionComponent } from './object-collection.component'; import { ObjectCollectionComponent } from './object-collection.component';
import { SetViewMode } from '../view-mode';
import { By } from '@angular/platform-browser'; import { By } from '@angular/platform-browser';
import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { NO_ERRORS_SCHEMA } from '@angular/core'; import { NO_ERRORS_SCHEMA } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import { of as observableOf } from 'rxjs'; import { of as observableOf } from 'rxjs';
import { RouterStub } from '../testing/router-stub'; import { RouterStub } from '../testing/router-stub';
import { ViewMode } from '../../core/shared/view-mode.model';
describe('ObjectCollectionComponent', () => { describe('ObjectCollectionComponent', () => {
let fixture: ComponentFixture<ObjectCollectionComponent>; let fixture: ComponentFixture<ObjectCollectionComponent>;
@@ -36,14 +36,14 @@ describe('ObjectCollectionComponent', () => {
})); }));
it('should only show the grid component when the viewmode is set to grid', () => { it('should only show the grid component when the viewmode is set to grid', () => {
objectCollectionComponent.currentMode$ = observableOf(SetViewMode.Grid); objectCollectionComponent.currentMode$ = observableOf(ViewMode.GridElement);
expect(fixture.debugElement.query(By.css('ds-object-grid'))).toBeDefined(); expect(fixture.debugElement.query(By.css('ds-object-grid'))).toBeDefined();
expect(fixture.debugElement.query(By.css('ds-object-list'))).toBeNull(); expect(fixture.debugElement.query(By.css('ds-object-list'))).toBeNull();
}); });
it('should only show the list component when the viewmode is set to list', () => { it('should only show the list component when the viewmode is set to list', () => {
objectCollectionComponent.currentMode$ = observableOf(SetViewMode.List); objectCollectionComponent.currentMode$ = observableOf(ViewMode.ListElement);
expect(fixture.debugElement.query(By.css('ds-object-list'))).toBeDefined(); expect(fixture.debugElement.query(By.css('ds-object-list'))).toBeDefined();
expect(fixture.debugElement.query(By.css('ds-object-grid'))).toBeNull(); expect(fixture.debugElement.query(By.css('ds-object-grid'))).toBeNull();

View File

@@ -18,8 +18,8 @@ import { PageInfo } from '../../core/shared/page-info.model';
import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; import { PaginationComponentOptions } from '../pagination/pagination-component-options.model';
import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model';
import { ListableObject } from './shared/listable-object.model'; import { ListableObject } from './shared/listable-object.model';
import { SetViewMode } from '../view-mode';
import { hasValue, isEmpty, isNotEmpty } from '../empty.util'; import { hasValue, isEmpty, isNotEmpty } from '../empty.util';
import { ViewMode } from '../../core/shared/view-mode.model';
@Component({ @Component({
selector: 'ds-viewable-collection', selector: 'ds-viewable-collection',
@@ -60,8 +60,8 @@ export class ObjectCollectionComponent implements OnInit {
*/ */
@Output() sortFieldChange: EventEmitter<string> = new EventEmitter<string>(); @Output() sortFieldChange: EventEmitter<string> = new EventEmitter<string>();
data: any = {}; data: any = {};
currentMode$: Observable<SetViewMode>; currentMode$: Observable<ViewMode>;
viewModeEnum = SetViewMode; viewModeEnum = ViewMode;
ngOnInit(): void { ngOnInit(): void {
this.currentMode$ = this.route this.currentMode$ = this.route
@@ -69,7 +69,7 @@ export class ObjectCollectionComponent implements OnInit {
.pipe( .pipe(
filter((params) => isNotEmpty(params.view)), filter((params) => isNotEmpty(params.view)),
map((params) => params.view), map((params) => params.view),
startWith(SetViewMode.List) startWith(ViewMode.ListElement)
); );
} }

View File

@@ -1,10 +1,10 @@
import { SetViewMode } from '../../view-mode';
import { renderElementsFor } from './dso-element-decorator'; import { renderElementsFor } from './dso-element-decorator';
import { Item } from '../../../core/shared/item.model'; import { Item } from '../../../core/shared/item.model';
import { ViewMode } from '../../../core/shared/view-mode.model';
describe('ElementDecorator', () => { describe('ElementDecorator', () => {
const gridDecorator = renderElementsFor(Item, SetViewMode.Grid); const gridDecorator = renderElementsFor(Item, ViewMode.GridElement);
const listDecorator = renderElementsFor(Item, SetViewMode.List); const listDecorator = renderElementsFor(Item, ViewMode.ListElement);
it('should have a decorator for both list and grid', () => { it('should have a decorator for both list and grid', () => {
expect(listDecorator.length).not.toBeNull(); expect(listDecorator.length).not.toBeNull();
expect(gridDecorator.length).not.toBeNull(); expect(gridDecorator.length).not.toBeNull();

View File

@@ -1,9 +1,9 @@
import { GenericConstructor } from '../../../core/shared/generic-constructor'; import { GenericConstructor } from '../../../core/shared/generic-constructor';
import { ListableObject } from './listable-object.model'; import { ListableObject } from './listable-object.model';
import { SetViewMode } from '../../view-mode'; import { ViewMode } from '../../../core/shared/view-mode.model';
const dsoElementMap = new Map(); const dsoElementMap = new Map();
export function renderElementsFor(listable: GenericConstructor<ListableObject>, viewMode: SetViewMode) { export function renderElementsFor(listable: GenericConstructor<ListableObject>, viewMode: ViewMode) {
return function decorator(objectElement: any) { return function decorator(objectElement: any) {
if (!objectElement) { if (!objectElement) {
return; return;
@@ -15,6 +15,6 @@ export function renderElementsFor(listable: GenericConstructor<ListableObject>,
}; };
} }
export function rendersDSOType(listable: GenericConstructor<ListableObject>, viewMode: SetViewMode) { export function rendersDSOType(listable: GenericConstructor<ListableObject>, viewMode: ViewMode) {
return dsoElementMap.get(viewMode).get(listable); return dsoElementMap.get(viewMode).get(listable);
} }

View File

@@ -13,7 +13,6 @@ import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.m
import { ClaimedTaskMyDSpaceResult } from '../../../object-collection/shared/claimed-task-my-dspace-result.model'; import { ClaimedTaskMyDSpaceResult } from '../../../object-collection/shared/claimed-task-my-dspace-result.model';
import { MyDSpaceResultDetailElementComponent } from '../my-dspace-result-detail-element.component'; import { MyDSpaceResultDetailElementComponent } from '../my-dspace-result-detail-element.component';
import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type';
import { SetViewMode } from '../../../view-mode';
/** /**
* This component renders claimed task object for the mydspace result in the detail view. * This component renders claimed task object for the mydspace result in the detail view.
@@ -24,8 +23,8 @@ import { SetViewMode } from '../../../view-mode';
templateUrl: './claimed-my-dspace-result-detail-element.component.html' templateUrl: './claimed-my-dspace-result-detail-element.component.html'
}) })
@renderElementsFor(ClaimedTaskMyDSpaceResult, SetViewMode.Detail) @renderElementsFor(ClaimedTaskMyDSpaceResult, ViewMode.DetailedListElement)
@renderElementsFor(ClaimedTask, SetViewMode.Detail) @renderElementsFor(ClaimedTask, ViewMode.DetailedListElement)
export class ClaimedMyDSpaceResultDetailElementComponent extends MyDSpaceResultDetailElementComponent<ClaimedTaskMyDSpaceResult, ClaimedTask> { export class ClaimedMyDSpaceResultDetailElementComponent extends MyDSpaceResultDetailElementComponent<ClaimedTaskMyDSpaceResult, ClaimedTask> {
/** /**

View File

@@ -6,7 +6,6 @@ import { Item } from '../../../../core/shared/item.model';
import { ItemMyDSpaceResult } from '../../../object-collection/shared/item-my-dspace-result.model'; import { ItemMyDSpaceResult } from '../../../object-collection/shared/item-my-dspace-result.model';
import { MyDSpaceResultDetailElementComponent } from '../my-dspace-result-detail-element.component'; import { MyDSpaceResultDetailElementComponent } from '../my-dspace-result-detail-element.component';
import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type';
import { SetViewMode } from '../../../view-mode';
/** /**
* This component renders item object for the mydspace result in the detail view. * This component renders item object for the mydspace result in the detail view.
@@ -17,7 +16,7 @@ import { SetViewMode } from '../../../view-mode';
templateUrl: './item-my-dspace-result-detail-element.component.html' templateUrl: './item-my-dspace-result-detail-element.component.html'
}) })
@renderElementsFor(ItemMyDSpaceResult, SetViewMode.Detail) @renderElementsFor(ItemMyDSpaceResult, ViewMode.DetailedListElement)
export class ItemMyDSpaceResultDetailElementComponent extends MyDSpaceResultDetailElementComponent<ItemMyDSpaceResult, Item> { export class ItemMyDSpaceResultDetailElementComponent extends MyDSpaceResultDetailElementComponent<ItemMyDSpaceResult, Item> {
/** /**

View File

@@ -5,10 +5,9 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { of as observableOf } from 'rxjs'; import { of as observableOf } from 'rxjs';
import { Item } from '../../../../core/shared/item.model'; import { Item } from '../../../../core/shared/item.model';
import { PoolMyDSpaceResultDetailElementComponent } from './pool-my-dspace-result-detail-lement.component'; import { PoolMyDSpaceResultDetailElementComponent } from './pool-my-dspace-result-detail-element.component';
import { PoolTaskMyDSpaceResult } from '../../../object-collection/shared/pool-task-my-dspace-result.model'; import { PoolTaskMyDSpaceResult } from '../../../object-collection/shared/pool-task-my-dspace-result.model';
import { PoolTask } from '../../../../core/tasks/models/pool-task-object.model'; import { PoolTask } from '../../../../core/tasks/models/pool-task-object.model';
import { RemoteData } from '../../../../core/data/remote-data';
import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type';
import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model';
import { createSuccessfulRemoteDataObject } from '../../../testing/utils'; import { createSuccessfulRemoteDataObject } from '../../../testing/utils';

View File

@@ -10,8 +10,8 @@ import { PoolTask } from '../../../../core/tasks/models/pool-task-object.model';
import { PoolTaskMyDSpaceResult } from '../../../object-collection/shared/pool-task-my-dspace-result.model'; import { PoolTaskMyDSpaceResult } from '../../../object-collection/shared/pool-task-my-dspace-result.model';
import { MyDSpaceResultDetailElementComponent } from '../my-dspace-result-detail-element.component'; import { MyDSpaceResultDetailElementComponent } from '../my-dspace-result-detail-element.component';
import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type';
import { SetViewMode } from '../../../view-mode';
import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model';
import { ViewMode } from '../../../../core/shared/view-mode.model';
/** /**
* This component renders pool task object for the mydspace result in the detail view. * This component renders pool task object for the mydspace result in the detail view.
@@ -22,8 +22,8 @@ import { WorkflowItem } from '../../../../core/submission/models/workflowitem.mo
templateUrl: './pool-my-dspace-result-detail-element.component.html', templateUrl: './pool-my-dspace-result-detail-element.component.html',
}) })
@renderElementsFor(PoolTaskMyDSpaceResult, SetViewMode.Detail) @renderElementsFor(PoolTaskMyDSpaceResult, ViewMode.DetailedListElement)
@renderElementsFor(PoolTask, SetViewMode.Detail) @renderElementsFor(PoolTask, ViewMode.DetailedListElement)
export class PoolMyDSpaceResultDetailElementComponent extends MyDSpaceResultDetailElementComponent<PoolTaskMyDSpaceResult, PoolTask> { export class PoolMyDSpaceResultDetailElementComponent extends MyDSpaceResultDetailElementComponent<PoolTaskMyDSpaceResult, PoolTask> {
/** /**

View File

@@ -12,7 +12,6 @@ import { Observable } from 'rxjs/internal/Observable';
import { RemoteData } from '../../../../core/data/remote-data'; import { RemoteData } from '../../../../core/data/remote-data';
import { find } from 'rxjs/operators'; import { find } from 'rxjs/operators';
import { isNotUndefined } from '../../../empty.util'; import { isNotUndefined } from '../../../empty.util';
import { SetViewMode } from '../../../view-mode';
/** /**
* This component renders workflowitem object for the mydspace result in the detail view. * This component renders workflowitem object for the mydspace result in the detail view.
@@ -23,8 +22,8 @@ import { SetViewMode } from '../../../view-mode';
templateUrl: './workflowitem-my-dspace-result-detail-element.component.html', templateUrl: './workflowitem-my-dspace-result-detail-element.component.html',
}) })
@renderElementsFor(WorkflowitemMyDSpaceResult, SetViewMode.Detail) @renderElementsFor(WorkflowitemMyDSpaceResult, ViewMode.DetailedListElement)
@renderElementsFor(WorkflowItem, SetViewMode.Detail) @renderElementsFor(WorkflowItem, ViewMode.DetailedListElement)
export class WorkflowitemMyDSpaceResultDetailElementComponent extends MyDSpaceResultDetailElementComponent<WorkflowitemMyDSpaceResult, WorkflowItem> { export class WorkflowitemMyDSpaceResultDetailElementComponent extends MyDSpaceResultDetailElementComponent<WorkflowitemMyDSpaceResult, WorkflowItem> {
/** /**

View File

@@ -14,7 +14,7 @@ import { isNotUndefined } from '../../../empty.util';
import { ListableObject } from '../../../object-collection/shared/listable-object.model'; import { ListableObject } from '../../../object-collection/shared/listable-object.model';
import { MyDSpaceResultDetailElementComponent } from '../my-dspace-result-detail-element.component'; import { MyDSpaceResultDetailElementComponent } from '../my-dspace-result-detail-element.component';
import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type';
import { SetViewMode } from '../../../view-mode'; import { ViewMode } from '../../../../core/shared/view-mode.model';
/** /**
* This component renders workspaceitem object for the mydspace result in the detail view. * This component renders workspaceitem object for the mydspace result in the detail view.
@@ -25,8 +25,8 @@ import { SetViewMode } from '../../../view-mode';
templateUrl: './workspaceitem-my-dspace-result-detail-element.component.html', templateUrl: './workspaceitem-my-dspace-result-detail-element.component.html',
}) })
@renderElementsFor(WorkspaceitemMyDSpaceResult, SetViewMode.Detail) @renderElementsFor(WorkspaceitemMyDSpaceResult, ViewMode.DetailedListElement)
@renderElementsFor(WorkspaceItem, SetViewMode.Detail) @renderElementsFor(WorkspaceItem, ViewMode.DetailedListElement)
export class WorkspaceitemMyDSpaceResultDetailElementComponent extends MyDSpaceResultDetailElementComponent<WorkspaceitemMyDSpaceResult, WorkspaceItem> { export class WorkspaceitemMyDSpaceResultDetailElementComponent extends MyDSpaceResultDetailElementComponent<WorkspaceitemMyDSpaceResult, WorkspaceItem> {
/** /**

View File

@@ -4,7 +4,6 @@ import { ViewMode } from '../../../core/shared/view-mode.model';
import { GenericConstructor } from '../../../core/shared/generic-constructor'; import { GenericConstructor } from '../../../core/shared/generic-constructor';
import { rendersDSOType } from '../../object-collection/shared/dso-element-decorator'; import { rendersDSOType } from '../../object-collection/shared/dso-element-decorator';
import { ListableObject } from '../../object-collection/shared/listable-object.model'; import { ListableObject } from '../../object-collection/shared/listable-object.model';
import { SetViewMode } from '../../view-mode';
/** /**
* This component renders a wrapper for an object in the detail view. * This component renders a wrapper for an object in the detail view.
@@ -52,6 +51,6 @@ export class WrapperDetailElementComponent implements OnInit {
*/ */
private getDetailElement(): string { private getDetailElement(): string {
const f: GenericConstructor<ListableObject> = this.object.constructor as GenericConstructor<ListableObject>; const f: GenericConstructor<ListableObject> = this.object.constructor as GenericConstructor<ListableObject>;
return rendersDSOType(f, SetViewMode.Detail); return rendersDSOType(f, ViewMode.DetailedListElement);
} }
} }

View File

@@ -2,8 +2,8 @@ import { Component, Inject } from '@angular/core';
import { Collection } from '../../../core/shared/collection.model'; import { Collection } from '../../../core/shared/collection.model';
import { renderElementsFor} from '../../object-collection/shared/dso-element-decorator'; import { renderElementsFor} from '../../object-collection/shared/dso-element-decorator';
import { SetViewMode } from '../../view-mode';
import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component';
import { ViewMode } from '../../../core/shared/view-mode.model';
@Component({ @Component({
selector: 'ds-collection-grid-element', selector: 'ds-collection-grid-element',
@@ -11,5 +11,5 @@ import { AbstractListableElementComponent } from '../../object-collection/shared
templateUrl: './collection-grid-element.component.html' templateUrl: './collection-grid-element.component.html'
}) })
@renderElementsFor(Collection, SetViewMode.Grid) @renderElementsFor(Collection, ViewMode.GridElement)
export class CollectionGridElementComponent extends AbstractListableElementComponent<Collection> {} export class CollectionGridElementComponent extends AbstractListableElementComponent<Collection> {}

View File

@@ -1,9 +1,9 @@
import { Component, Input, Inject } from '@angular/core'; import { Component } from '@angular/core';
import { Community } from '../../../core/shared/community.model'; import { Community } from '../../../core/shared/community.model';
import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component';
import { renderElementsFor} from '../../object-collection/shared/dso-element-decorator'; import { renderElementsFor } from '../../object-collection/shared/dso-element-decorator';
import { SetViewMode } from '../../view-mode'; import { ViewMode } from '../../../core/shared/view-mode.model';
@Component({ @Component({
selector: 'ds-community-grid-element', selector: 'ds-community-grid-element',
@@ -11,5 +11,5 @@ import { SetViewMode } from '../../view-mode';
templateUrl: './community-grid-element.component.html' templateUrl: './community-grid-element.component.html'
}) })
@renderElementsFor(Community, SetViewMode.Grid) @renderElementsFor(Community, ViewMode.GridElement)
export class CommunityGridElementComponent extends AbstractListableElementComponent<Community> {} export class CommunityGridElementComponent extends AbstractListableElementComponent<Community> {}

View File

@@ -3,7 +3,7 @@ import { Component, Input, Inject } from '@angular/core';
import { Item } from '../../../core/shared/item.model'; import { Item } from '../../../core/shared/item.model';
import { renderElementsFor} from '../../object-collection/shared/dso-element-decorator'; import { renderElementsFor} from '../../object-collection/shared/dso-element-decorator';
import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component';
import { SetViewMode } from '../../view-mode'; import { ViewMode } from '../../../core/shared/view-mode.model';
@Component({ @Component({
selector: 'ds-item-grid-element', selector: 'ds-item-grid-element',
@@ -11,5 +11,5 @@ import { SetViewMode } from '../../view-mode';
templateUrl: './item-grid-element.component.html' templateUrl: './item-grid-element.component.html'
}) })
@renderElementsFor(Item, SetViewMode.Grid) @renderElementsFor(Item, ViewMode.GridElement)
export class ItemGridElementComponent extends AbstractListableElementComponent<Item> {} export class ItemGridElementComponent extends AbstractListableElementComponent<Item> {}

View File

@@ -3,8 +3,8 @@ import { Component } from '@angular/core';
import { renderElementsFor} from '../../../object-collection/shared/dso-element-decorator'; import { renderElementsFor} from '../../../object-collection/shared/dso-element-decorator';
import { SearchResultGridElementComponent } from '../search-result-grid-element.component'; import { SearchResultGridElementComponent } from '../search-result-grid-element.component';
import { Collection } from '../../../../core/shared/collection.model'; import { Collection } from '../../../../core/shared/collection.model';
import { SetViewMode } from '../../../view-mode';
import { CollectionSearchResult } from '../../../object-collection/shared/collection-search-result.model'; import { CollectionSearchResult } from '../../../object-collection/shared/collection-search-result.model';
import { ViewMode } from '../../../../core/shared/view-mode.model';
@Component({ @Component({
selector: 'ds-collection-search-result-grid-element', selector: 'ds-collection-search-result-grid-element',
@@ -12,5 +12,5 @@ import { CollectionSearchResult } from '../../../object-collection/shared/collec
templateUrl: 'collection-search-result-grid-element.component.html' templateUrl: 'collection-search-result-grid-element.component.html'
}) })
@renderElementsFor(CollectionSearchResult, SetViewMode.Grid) @renderElementsFor(CollectionSearchResult, ViewMode.GridElement)
export class CollectionSearchResultGridElementComponent extends SearchResultGridElementComponent<CollectionSearchResult, Collection> {} export class CollectionSearchResultGridElementComponent extends SearchResultGridElementComponent<CollectionSearchResult, Collection> {}

View File

@@ -2,8 +2,8 @@ import { Component } from '@angular/core';
import { Community } from '../../../../core/shared/community.model'; import { Community } from '../../../../core/shared/community.model';
import { renderElementsFor } from '../../../object-collection/shared/dso-element-decorator'; import { renderElementsFor } from '../../../object-collection/shared/dso-element-decorator';
import { SearchResultGridElementComponent } from '../search-result-grid-element.component'; import { SearchResultGridElementComponent } from '../search-result-grid-element.component';
import { SetViewMode } from '../../../view-mode';
import { CommunitySearchResult } from '../../../object-collection/shared/community-search-result.model'; import { CommunitySearchResult } from '../../../object-collection/shared/community-search-result.model';
import { ViewMode } from '../../../../core/shared/view-mode.model';
@Component({ @Component({
selector: 'ds-community-search-result-grid-element', selector: 'ds-community-search-result-grid-element',
@@ -11,7 +11,7 @@ import { CommunitySearchResult } from '../../../object-collection/shared/communi
templateUrl: 'community-search-result-grid-element.component.html' templateUrl: 'community-search-result-grid-element.component.html'
}) })
@renderElementsFor(CommunitySearchResult, SetViewMode.Grid) @renderElementsFor(CommunitySearchResult, ViewMode.GridElement)
export class CommunitySearchResultGridElementComponent extends SearchResultGridElementComponent<CommunitySearchResult, Community> { export class CommunitySearchResultGridElementComponent extends SearchResultGridElementComponent<CommunitySearchResult, Community> {
} }

View File

@@ -4,9 +4,9 @@ import { renderElementsFor } from '../../../object-collection/shared/dso-element
import { SearchResultGridElementComponent } from '../search-result-grid-element.component'; import { SearchResultGridElementComponent } from '../search-result-grid-element.component';
import { Item } from '../../../../core/shared/item.model'; import { Item } from '../../../../core/shared/item.model';
import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model';
import { SetViewMode } from '../../../view-mode'; import { focusShadow } from '../../../animations/focus';
import { focusShadow } from '../../../../shared/animations/focus';
import { ItemViewMode } from '../../../items/item-type-decorator'; import { ItemViewMode } from '../../../items/item-type-decorator';
import { ViewMode } from '../../../../core/shared/view-mode.model';
@Component({ @Component({
selector: 'ds-item-search-result-grid-element', selector: 'ds-item-search-result-grid-element',
@@ -15,7 +15,7 @@ import { ItemViewMode } from '../../../items/item-type-decorator';
animations: [focusShadow], animations: [focusShadow],
}) })
@renderElementsFor(ItemSearchResult, SetViewMode.Grid) @renderElementsFor(ItemSearchResult, ViewMode.GridElement)
export class ItemSearchResultGridElementComponent extends SearchResultGridElementComponent<ItemSearchResult, Item> { export class ItemSearchResultGridElementComponent extends SearchResultGridElementComponent<ItemSearchResult, Item> {
viewMode = ItemViewMode.Card; viewMode = ItemViewMode.Card;
} }

View File

@@ -1,8 +1,8 @@
import { Component, Injector, Input, OnInit } from '@angular/core'; import { Component, Injector, Input, OnInit } from '@angular/core';
import { SetViewMode } from '../../view-mode';
import { GenericConstructor } from '../../../core/shared/generic-constructor'; import { GenericConstructor } from '../../../core/shared/generic-constructor';
import { rendersDSOType } from '../../object-collection/shared/dso-element-decorator'; import { rendersDSOType } from '../../object-collection/shared/dso-element-decorator';
import { ListableObject } from '../../object-collection/shared/listable-object.model'; import { ListableObject } from '../../object-collection/shared/listable-object.model';
import { ViewMode } from '../../../core/shared/view-mode.model';
@Component({ @Component({
selector: 'ds-wrapper-grid-element', selector: 'ds-wrapper-grid-element',
@@ -27,6 +27,6 @@ export class WrapperGridElementComponent implements OnInit {
getGridElement(): string { getGridElement(): string {
const f: GenericConstructor<ListableObject> = this.object.constructor as GenericConstructor<ListableObject>; const f: GenericConstructor<ListableObject> = this.object.constructor as GenericConstructor<ListableObject>;
return rendersDSOType(f, SetViewMode.Grid); return rendersDSOType(f, ViewMode.GridElement);
} }
} }

View File

@@ -4,7 +4,6 @@ import { AbstractListableElementComponent } from '../../object-collection/shared
import { renderElementsFor } from '../../object-collection/shared/dso-element-decorator'; import { renderElementsFor } from '../../object-collection/shared/dso-element-decorator';
import { BrowseEntry } from '../../../core/shared/browse-entry.model'; import { BrowseEntry } from '../../../core/shared/browse-entry.model';
import { ViewMode } from '../../../core/shared/view-mode.model'; import { ViewMode } from '../../../core/shared/view-mode.model';
import { SetViewMode } from '../../view-mode';
@Component({ @Component({
selector: 'ds-browse-entry-list-element', selector: 'ds-browse-entry-list-element',
@@ -15,5 +14,5 @@ import { SetViewMode } from '../../view-mode';
/** /**
* This component is automatically used to create a list view for BrowseEntry objects when used in ObjectCollectionComponent * This component is automatically used to create a list view for BrowseEntry objects when used in ObjectCollectionComponent
*/ */
@renderElementsFor(BrowseEntry, SetViewMode.List) @renderElementsFor(BrowseEntry, ViewMode.ListElement)
export class BrowseEntryListElementComponent extends AbstractListableElementComponent<BrowseEntry> {} export class BrowseEntryListElementComponent extends AbstractListableElementComponent<BrowseEntry> {}

View File

@@ -2,8 +2,8 @@ import { Component, Inject } from '@angular/core';
import { Collection } from '../../../core/shared/collection.model'; import { Collection } from '../../../core/shared/collection.model';
import { renderElementsFor } from '../../object-collection/shared/dso-element-decorator'; import { renderElementsFor } from '../../object-collection/shared/dso-element-decorator';
import { SetViewMode } from '../../view-mode';
import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component';
import { ViewMode } from '../../../core/shared/view-mode.model';
@Component({ @Component({
selector: 'ds-collection-list-element', selector: 'ds-collection-list-element',
@@ -11,5 +11,5 @@ import { AbstractListableElementComponent } from '../../object-collection/shared
templateUrl: './collection-list-element.component.html' templateUrl: './collection-list-element.component.html'
}) })
@renderElementsFor(Collection, SetViewMode.List) @renderElementsFor(Collection, ViewMode.ListElement)
export class CollectionListElementComponent extends AbstractListableElementComponent<Collection> {} export class CollectionListElementComponent extends AbstractListableElementComponent<Collection> {}

View File

@@ -3,7 +3,7 @@ import { Component, Input, Inject } from '@angular/core';
import { Community } from '../../../core/shared/community.model'; import { Community } from '../../../core/shared/community.model';
import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component';
import { renderElementsFor } from '../../object-collection/shared/dso-element-decorator'; import { renderElementsFor } from '../../object-collection/shared/dso-element-decorator';
import { SetViewMode } from '../../view-mode'; import { ViewMode } from '../../../core/shared/view-mode.model';
@Component({ @Component({
selector: 'ds-community-list-element', selector: 'ds-community-list-element',
@@ -11,5 +11,5 @@ import { SetViewMode } from '../../view-mode';
templateUrl: './community-list-element.component.html' templateUrl: './community-list-element.component.html'
}) })
@renderElementsFor(Community, SetViewMode.List) @renderElementsFor(Community, ViewMode.ListElement)
export class CommunityListElementComponent extends AbstractListableElementComponent<Community> {} export class CommunityListElementComponent extends AbstractListableElementComponent<Community> {}

View File

@@ -3,8 +3,8 @@ import { Component } from '@angular/core';
import { Item } from '../../../core/shared/item.model'; import { Item } from '../../../core/shared/item.model';
import { renderElementsFor } from '../../object-collection/shared/dso-element-decorator'; import { renderElementsFor } from '../../object-collection/shared/dso-element-decorator';
import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component';
import { SetViewMode } from '../../view-mode';
import { ItemViewMode } from '../../items/item-type-decorator'; import { ItemViewMode } from '../../items/item-type-decorator';
import { ViewMode } from '../../../core/shared/view-mode.model';
@Component({ @Component({
selector: 'ds-item-list-element', selector: 'ds-item-list-element',
@@ -16,7 +16,7 @@ import { ItemViewMode } from '../../items/item-type-decorator';
* The component used to list items depending on type * The component used to list items depending on type
* Uses item-type-switcher to determine which components to use for displaying the list * Uses item-type-switcher to determine which components to use for displaying the list
*/ */
@renderElementsFor(Item, SetViewMode.List) @renderElementsFor(Item, ViewMode.ListElement)
export class ItemListElementComponent extends AbstractListableElementComponent<Item> { export class ItemListElementComponent extends AbstractListableElementComponent<Item> {
viewMode = ItemViewMode.Element; viewMode = ItemViewMode.Element;
} }

View File

@@ -13,7 +13,6 @@ import { WorkflowItem } from '../../../../core/submission/models/workflowitem.mo
import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model';
import { ClaimedTaskMyDSpaceResult } from '../../../object-collection/shared/claimed-task-my-dspace-result.model'; import { ClaimedTaskMyDSpaceResult } from '../../../object-collection/shared/claimed-task-my-dspace-result.model';
import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type';
import { SetViewMode } from '../../../view-mode';
/** /**
* This component renders claimed task object for the mydspace result in the list view. * This component renders claimed task object for the mydspace result in the list view.
@@ -25,8 +24,8 @@ import { SetViewMode } from '../../../view-mode';
providers: [Location, { provide: LocationStrategy, useClass: PathLocationStrategy }] providers: [Location, { provide: LocationStrategy, useClass: PathLocationStrategy }]
}) })
@renderElementsFor(ClaimedTaskMyDSpaceResult, SetViewMode.List) @renderElementsFor(ClaimedTaskMyDSpaceResult, ViewMode.ListElement)
@renderElementsFor(ClaimedTask, SetViewMode.List) @renderElementsFor(ClaimedTask, ViewMode.ListElement)
export class ClaimedMyDSpaceResultListElementComponent extends MyDSpaceResultListElementComponent<ClaimedTaskMyDSpaceResult, ClaimedTask> { export class ClaimedMyDSpaceResultListElementComponent extends MyDSpaceResultListElementComponent<ClaimedTaskMyDSpaceResult, ClaimedTask> {
/** /**

View File

@@ -5,7 +5,7 @@ import { MyDSpaceResultListElementComponent, } from '../my-dspace-result-list-el
import { Item } from '../../../../core/shared/item.model'; import { Item } from '../../../../core/shared/item.model';
import { ItemMyDSpaceResult } from '../../../object-collection/shared/item-my-dspace-result.model'; import { ItemMyDSpaceResult } from '../../../object-collection/shared/item-my-dspace-result.model';
import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type';
import { SetViewMode } from '../../../view-mode'; import { ViewMode } from '../../../../core/shared/view-mode.model';
/** /**
* This component renders item object for the mydspace result in the list view. * This component renders item object for the mydspace result in the list view.
@@ -16,7 +16,7 @@ import { SetViewMode } from '../../../view-mode';
templateUrl: './item-my-dspace-result-list-element.component.html' templateUrl: './item-my-dspace-result-list-element.component.html'
}) })
@renderElementsFor(ItemMyDSpaceResult, SetViewMode.List) @renderElementsFor(ItemMyDSpaceResult, ViewMode.ListElement)
export class ItemMyDSpaceResultListElementComponent extends MyDSpaceResultListElementComponent<ItemMyDSpaceResult, Item> { export class ItemMyDSpaceResultListElementComponent extends MyDSpaceResultListElementComponent<ItemMyDSpaceResult, Item> {
/** /**

View File

@@ -13,7 +13,6 @@ import { WorkflowItem } from '../../../../core/submission/models/workflowitem.mo
import { PoolTask } from '../../../../core/tasks/models/pool-task-object.model'; import { PoolTask } from '../../../../core/tasks/models/pool-task-object.model';
import { PoolTaskMyDSpaceResult } from '../../../object-collection/shared/pool-task-my-dspace-result.model'; import { PoolTaskMyDSpaceResult } from '../../../object-collection/shared/pool-task-my-dspace-result.model';
import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type';
import { SetViewMode } from '../../../view-mode';
/** /**
* This component renders pool task object for the mydspace result in the list view. * This component renders pool task object for the mydspace result in the list view.
@@ -24,8 +23,8 @@ import { SetViewMode } from '../../../view-mode';
templateUrl: './pool-my-dspace-result-list-element.component.html', templateUrl: './pool-my-dspace-result-list-element.component.html',
}) })
@renderElementsFor(PoolTaskMyDSpaceResult, SetViewMode.List) @renderElementsFor(PoolTaskMyDSpaceResult, ViewMode.ListElement)
@renderElementsFor(PoolTask, SetViewMode.List) @renderElementsFor(PoolTask, ViewMode.ListElement)
export class PoolMyDSpaceResultListElementComponent extends MyDSpaceResultListElementComponent<PoolTaskMyDSpaceResult, PoolTask> implements OnInit { export class PoolMyDSpaceResultListElementComponent extends MyDSpaceResultListElementComponent<PoolTaskMyDSpaceResult, PoolTask> implements OnInit {
/** /**

View File

@@ -12,7 +12,6 @@ import { WorkflowitemMyDSpaceResult } from '../../../object-collection/shared/wo
import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model';
import { Item } from '../../../../core/shared/item.model'; import { Item } from '../../../../core/shared/item.model';
import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type';
import { SetViewMode } from '../../../view-mode';
/** /**
* This component renders workflowitem object for the mydspace result in the list view. * This component renders workflowitem object for the mydspace result in the list view.
@@ -23,8 +22,8 @@ import { SetViewMode } from '../../../view-mode';
templateUrl: './workflowitem-my-dspace-result-list-element.component.html', templateUrl: './workflowitem-my-dspace-result-list-element.component.html',
}) })
@renderElementsFor(WorkflowitemMyDSpaceResult, SetViewMode.List) @renderElementsFor(WorkflowitemMyDSpaceResult, ViewMode.ListElement)
@renderElementsFor(WorkflowItem, SetViewMode.List) @renderElementsFor(WorkflowItem, ViewMode.ListElement)
export class WorkflowitemMyDSpaceResultListElementComponent extends MyDSpaceResultListElementComponent<WorkflowitemMyDSpaceResult, WorkflowItem> { export class WorkflowitemMyDSpaceResultListElementComponent extends MyDSpaceResultListElementComponent<WorkflowitemMyDSpaceResult, WorkflowItem> {
/** /**

View File

@@ -12,7 +12,6 @@ import { RemoteData } from '../../../../core/data/remote-data';
import { isNotUndefined } from '../../../empty.util'; import { isNotUndefined } from '../../../empty.util';
import { Item } from '../../../../core/shared/item.model'; import { Item } from '../../../../core/shared/item.model';
import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type';
import { SetViewMode } from '../../../view-mode';
/** /**
* This component renders workspaceitem object for the mydspace result in the list view. * This component renders workspaceitem object for the mydspace result in the list view.
@@ -23,7 +22,7 @@ import { SetViewMode } from '../../../view-mode';
templateUrl: './workspaceitem-my-dspace-result-list-element.component.html', templateUrl: './workspaceitem-my-dspace-result-list-element.component.html',
}) })
@renderElementsFor(WorkspaceitemMyDSpaceResult, SetViewMode.List) @renderElementsFor(WorkspaceitemMyDSpaceResult, ViewMode.ListElement)
export class WorkspaceitemMyDSpaceResultListElementComponent extends MyDSpaceResultListElementComponent<WorkspaceitemMyDSpaceResult, WorkspaceItem> { export class WorkspaceitemMyDSpaceResultListElementComponent extends MyDSpaceResultListElementComponent<WorkspaceitemMyDSpaceResult, WorkspaceItem> {
/** /**

View File

@@ -4,8 +4,8 @@ import { renderElementsFor } from '../../../object-collection/shared/dso-element
import { SearchResultListElementComponent } from '../search-result-list-element.component'; import { SearchResultListElementComponent } from '../search-result-list-element.component';
import { Collection } from '../../../../core/shared/collection.model'; import { Collection } from '../../../../core/shared/collection.model';
import { SetViewMode } from '../../../view-mode';
import { CollectionSearchResult } from '../../../object-collection/shared/collection-search-result.model'; import { CollectionSearchResult } from '../../../object-collection/shared/collection-search-result.model';
import { ViewMode } from '../../../../core/shared/view-mode.model';
@Component({ @Component({
selector: 'ds-collection-search-result-list-element', selector: 'ds-collection-search-result-list-element',
@@ -13,5 +13,5 @@ import { CollectionSearchResult } from '../../../object-collection/shared/collec
templateUrl: 'collection-search-result-list-element.component.html' templateUrl: 'collection-search-result-list-element.component.html'
}) })
@renderElementsFor(CollectionSearchResult, SetViewMode.List) @renderElementsFor(CollectionSearchResult, ViewMode.ListElement)
export class CollectionSearchResultListElementComponent extends SearchResultListElementComponent<CollectionSearchResult, Collection> {} export class CollectionSearchResultListElementComponent extends SearchResultListElementComponent<CollectionSearchResult, Collection> {}

View File

@@ -4,8 +4,8 @@ import { renderElementsFor } from '../../../object-collection/shared/dso-element
import { SearchResultListElementComponent } from '../search-result-list-element.component'; import { SearchResultListElementComponent } from '../search-result-list-element.component';
import { Community } from '../../../../core/shared/community.model'; import { Community } from '../../../../core/shared/community.model';
import { SetViewMode } from '../../../view-mode';
import { CommunitySearchResult } from '../../../object-collection/shared/community-search-result.model'; import { CommunitySearchResult } from '../../../object-collection/shared/community-search-result.model';
import { ViewMode } from '../../../../core/shared/view-mode.model';
@Component({ @Component({
selector: 'ds-community-search-result-list-element', selector: 'ds-community-search-result-list-element',
@@ -13,7 +13,7 @@ import { CommunitySearchResult } from '../../../object-collection/shared/communi
templateUrl: 'community-search-result-list-element.component.html' templateUrl: 'community-search-result-list-element.component.html'
}) })
@renderElementsFor(CommunitySearchResult, SetViewMode.List) @renderElementsFor(CommunitySearchResult, ViewMode.ListElement)
export class CommunitySearchResultListElementComponent extends SearchResultListElementComponent<CommunitySearchResult, Community> { export class CommunitySearchResultListElementComponent extends SearchResultListElementComponent<CommunitySearchResult, Community> {
} }

View File

@@ -1,14 +1,12 @@
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { DSpaceObject } from '../../../../core/shared/dspace-object.model';
import { Item } from '../../../../core/shared/item.model'; import { Item } from '../../../../core/shared/item.model';
import { focusBackground } from '../../../animations/focus'; import { focusBackground } from '../../../animations/focus';
import { hasValue } from '../../../empty.util';
import { renderElementsFor } from '../../../object-collection/shared/dso-element-decorator'; import { renderElementsFor } from '../../../object-collection/shared/dso-element-decorator';
import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model';
import { SetViewMode } from '../../../view-mode';
import { SearchResultListElementComponent } from '../search-result-list-element.component'; import { SearchResultListElementComponent } from '../search-result-list-element.component';
import { ItemViewMode } from '../../../items/item-type-decorator'; import { ItemViewMode } from '../../../items/item-type-decorator';
import { ViewMode } from '../../../../core/shared/view-mode.model';
@Component({ @Component({
selector: 'ds-item-search-result-list-element', selector: 'ds-item-search-result-list-element',
@@ -18,7 +16,7 @@ import { ItemViewMode } from '../../../items/item-type-decorator';
}) })
@renderElementsFor(ItemSearchResult, SetViewMode.List) @renderElementsFor(ItemSearchResult, ViewMode.ListElement)
export class ItemSearchResultListElementComponent extends SearchResultListElementComponent<ItemSearchResult, Item> { export class ItemSearchResultListElementComponent extends SearchResultListElementComponent<ItemSearchResult, Item> {
viewMode = ItemViewMode.Element; viewMode = ItemViewMode.Element;

View File

@@ -1,8 +1,8 @@
import { Component, Injector, Input, OnInit } from '@angular/core'; import { Component, Injector, Input, OnInit } from '@angular/core';
import { SetViewMode } from '../../view-mode';
import { GenericConstructor } from '../../../core/shared/generic-constructor'; import { GenericConstructor } from '../../../core/shared/generic-constructor';
import { rendersDSOType } from '../../object-collection/shared/dso-element-decorator' import { rendersDSOType } from '../../object-collection/shared/dso-element-decorator'
import { ListableObject } from '../../object-collection/shared/listable-object.model'; import { ListableObject } from '../../object-collection/shared/listable-object.model';
import { ViewMode } from '../../../core/shared/view-mode.model';
@Component({ @Component({
selector: 'ds-wrapper-list-element', selector: 'ds-wrapper-list-element',
@@ -30,6 +30,6 @@ export class WrapperListElementComponent implements OnInit {
private getListElement(): string { private getListElement(): string {
const f: GenericConstructor<ListableObject> = this.object.constructor as GenericConstructor<ListableObject>; const f: GenericConstructor<ListableObject> = this.object.constructor as GenericConstructor<ListableObject>;
return rendersDSOType(f, SetViewMode.List); return rendersDSOType(f, ViewMode.ListElement);
} }
} }

View File

@@ -1,22 +1,22 @@
import {of as observableOf, Observable , BehaviorSubject } from 'rxjs'; import {of as observableOf, Observable , BehaviorSubject } from 'rxjs';
import { SetViewMode } from '../view-mode'; import { ViewMode } from '../../core/shared/view-mode.model';
export class SearchServiceStub { export class SearchServiceStub {
private _viewMode: SetViewMode; private _viewMode: ViewMode;
private subject?: BehaviorSubject<any> = new BehaviorSubject(this.testViewMode); private subject?: BehaviorSubject<any> = new BehaviorSubject(this.testViewMode);
viewMode = this.subject.asObservable(); viewMode = this.subject.asObservable();
constructor(private searchLink: string = '/search') { constructor(private searchLink: string = '/search') {
this.setViewMode(SetViewMode.List); this.setViewMode(ViewMode.ListElement);
} }
getViewMode(): Observable<SetViewMode> { getViewMode(): Observable<ViewMode> {
return this.viewMode; return this.viewMode;
} }
setViewMode(viewMode: SetViewMode) { setViewMode(viewMode: ViewMode) {
this.testViewMode = viewMode; this.testViewMode = viewMode;
} }
@@ -24,11 +24,11 @@ export class SearchServiceStub {
return null; return null;
} }
get testViewMode(): SetViewMode { get testViewMode(): ViewMode {
return this._viewMode; return this._viewMode;
} }
set testViewMode(viewMode: SetViewMode) { set testViewMode(viewMode: ViewMode) {
this._viewMode = viewMode; this._viewMode = viewMode;
this.subject.next(viewMode); this.subject.next(viewMode);
} }

View File

@@ -1,31 +1,31 @@
<div class="btn-group" data-toggle="buttons"> <div class="btn-group" data-toggle="buttons">
<a *ngIf="isToShow(viewModeEnum.List)" <a *ngIf="isToShow(viewModeEnum.ListElement)"
routerLink="." routerLink="."
[queryParams]="{view: 'list'}" [queryParams]="{view: 'list'}"
queryParamsHandling="merge" queryParamsHandling="merge"
(click)="switchViewTo(viewModeEnum.List)" (click)="switchViewTo(viewModeEnum.ListElement)"
routerLinkActive="active" routerLinkActive="active"
[class.active]="currentMode === viewModeEnum.List" [class.active]="currentMode === viewModeEnum.ListElement"
class="btn btn-secondary"> class="btn btn-secondary">
<i class="fas fa-list" title="{{'search.view-switch.show-list' | translate}}"></i> <i class="fas fa-list" title="{{'search.view-switch.show-list' | translate}}"></i>
</a> </a>
<a *ngIf="isToShow(viewModeEnum.Grid)" <a *ngIf="isToShow(viewModeEnum.GridElement)"
routerLink="." routerLink="."
[queryParams]="{view: 'grid'}" [queryParams]="{view: 'grid'}"
queryParamsHandling="merge" queryParamsHandling="merge"
(click)="switchViewTo(viewModeEnum.Grid)" (click)="switchViewTo(viewModeEnum.GridElement)"
routerLinkActive="active" routerLinkActive="active"
[class.active]="currentMode === viewModeEnum.Grid" [class.active]="currentMode === viewModeEnum.GridElement"
class="btn btn-secondary"> class="btn btn-secondary">
<i class="fas fa-th-large" title="{{'search.view-switch.show-grid' | translate}}"></i> <i class="fas fa-th-large" title="{{'search.view-switch.show-grid' | translate}}"></i>
</a> </a>
<a *ngIf="isToShow(viewModeEnum.Detail)" <a *ngIf="isToShow(viewModeEnum.DetailedListElement)"
routerLink="." routerLink="."
[queryParams]="{view: 'detail'}" [queryParams]="{view: 'detail'}"
queryParamsHandling="merge" queryParamsHandling="merge"
(click)="switchViewTo(viewModeEnum.Detail)" (click)="switchViewTo(viewModeEnum.DetailedListElement)"
routerLinkActive="active" routerLinkActive="active"
[class.active]="currentMode === viewModeEnum.Detail" [class.active]="currentMode === viewModeEnum.DetailedListElement"
class="btn btn-secondary"> class="btn btn-secondary">
<i class="far fa-square" title="{{'search.view-switch.show-detail' | translate}}"></i> <i class="far fa-square" title="{{'search.view-switch.show-detail' | translate}}"></i>
</a> </a>

View File

@@ -8,8 +8,8 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
import { SearchService } from '../../+search-page/search-service/search.service'; import { SearchService } from '../../+search-page/search-service/search.service';
import { ViewModeSwitchComponent } from './view-mode-switch.component'; import { ViewModeSwitchComponent } from './view-mode-switch.component';
import { SetViewMode } from '../view-mode';
import { SearchServiceStub } from '../testing/search-service-stub'; import { SearchServiceStub } from '../testing/search-service-stub';
import { ViewMode } from '../../core/shared/view-mode.model';
@Component({ template: '' }) @Component({ template: '' })
class DummyComponent { } class DummyComponent { }
@@ -55,19 +55,19 @@ describe('ViewModeSwitchComponent', () => {
}); });
it('should set list button as active when on list mode', fakeAsync(() => { it('should set list button as active when on list mode', fakeAsync(() => {
searchService.setViewMode(SetViewMode.List); searchService.setViewMode(ViewMode.ListElement);
tick(); tick();
fixture.detectChanges(); fixture.detectChanges();
expect(comp.currentMode).toBe(SetViewMode.List); expect(comp.currentMode).toBe(ViewMode.ListElement);
expect(listButton.classList).toContain('active'); expect(listButton.classList).toContain('active');
expect(gridButton.classList).not.toContain('active'); expect(gridButton.classList).not.toContain('active');
})); }));
it('should set grid button as active when on grid mode', fakeAsync(() => { it('should set grid button as active when on grid mode', fakeAsync(() => {
searchService.setViewMode(SetViewMode.Grid); searchService.setViewMode(ViewMode.GridElement);
tick(); tick();
fixture.detectChanges(); fixture.detectChanges();
expect(comp.currentMode).toBe(SetViewMode.Grid); expect(comp.currentMode).toBe(ViewMode.GridElement);
expect(listButton.classList).not.toContain('active'); expect(listButton.classList).not.toContain('active');
expect(gridButton.classList).toContain('active'); expect(gridButton.classList).toContain('active');
})); }));

View File

@@ -22,7 +22,7 @@ export class ViewModeSwitchComponent implements OnInit, OnDestroy {
*/ */
@Input() inPlaceSearch; @Input() inPlaceSearch;
currentMode: ViewMode = ViewMode.List; currentMode: ViewMode = ViewMode.ListElement;
viewModeEnum = ViewMode; viewModeEnum = ViewMode;
private sub: Subscription; private sub: Subscription;
@@ -31,7 +31,7 @@ export class ViewModeSwitchComponent implements OnInit, OnDestroy {
ngOnInit(): void { ngOnInit(): void {
if (isEmpty(this.viewModeList)) { if (isEmpty(this.viewModeList)) {
this.viewModeList = [ViewMode.List, ViewMode.Grid]; this.viewModeList = [ViewMode.ListElement, ViewMode.GridElement];
} }
this.sub = this.searchService.getViewMode().subscribe((viewMode: ViewMode) => { this.sub = this.searchService.getViewMode().subscribe((viewMode: ViewMode) => {

View File

@@ -1,15 +0,0 @@
/**
* Enum used for defining the view-mode of a set of elements
* List Display the elements in a (vertical) list
* Grid Display the elements in a grid
*/
export enum SetViewMode {
List = 'list',
Grid = 'grid',
Detail = 'detail'
}
/**
* ViewMode refers to either a SetViewMode or ElementViewMode
*/
export type ViewMode = SetViewMode;