mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-13 21:13:07 +00:00
65195: removed duplicate view mode, renamed existing modes from SetViewMode
This commit is contained in:
@@ -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,
|
||||||
|
@@ -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';
|
||||||
|
|
||||||
|
@@ -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;
|
||||||
|
@@ -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
|
||||||
|
@@ -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', () => {
|
||||||
|
@@ -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'});
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
export enum ViewMode {
|
export enum ViewMode {
|
||||||
List = 'list',
|
ListElement = 'listElement',
|
||||||
Grid = 'grid',
|
GridElement = 'gridElement',
|
||||||
Detail = 'detail'
|
DetailedListElement = 'detailedListElement'
|
||||||
}
|
}
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
|
||||||
|
@@ -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();
|
||||||
|
@@ -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)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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();
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
|
@@ -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> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -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> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -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';
|
||||||
|
@@ -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> {
|
||||||
|
|
||||||
/**
|
/**
|
@@ -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> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -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> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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> {}
|
||||||
|
@@ -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> {}
|
||||||
|
@@ -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> {}
|
||||||
|
@@ -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> {}
|
||||||
|
@@ -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> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -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;
|
||||||
}
|
}
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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> {}
|
||||||
|
@@ -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> {}
|
||||||
|
@@ -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> {}
|
||||||
|
@@ -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;
|
||||||
}
|
}
|
||||||
|
@@ -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> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -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> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -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 {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -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> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -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> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -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> {}
|
||||||
|
@@ -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> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -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;
|
||||||
|
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
|
@@ -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>
|
||||||
|
@@ -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');
|
||||||
}));
|
}));
|
||||||
|
@@ -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) => {
|
||||||
|
@@ -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;
|
|
Reference in New Issue
Block a user