mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 18:14:17 +00:00
#150 Intermediate commit
This commit is contained in:
@@ -2,7 +2,7 @@ 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 { SearchOptions } from '../search-options.model';
|
import { SearchOptions, ViewMode } from '../search-options.model';
|
||||||
import { SortOptions } from '../../core/cache/models/sort-options.model';
|
import { SortOptions } from '../../core/cache/models/sort-options.model';
|
||||||
import { SearchResult } from '../search-result.model';
|
import { SearchResult } from '../search-result.model';
|
||||||
|
|
||||||
@@ -23,4 +23,5 @@ export class SearchResultsComponent {
|
|||||||
@Input() searchResults: RemoteData<Array<SearchResult<DSpaceObject>>>;
|
@Input() searchResults: RemoteData<Array<SearchResult<DSpaceObject>>>;
|
||||||
@Input() searchConfig: SearchOptions;
|
@Input() searchConfig: SearchOptions;
|
||||||
@Input() sortConfig: SortOptions;
|
@Input() sortConfig: SortOptions;
|
||||||
|
@Input() viewMode: ViewMode;
|
||||||
}
|
}
|
||||||
|
17
src/app/object-collection/shared/dso-element-decorator.ts
Normal file
17
src/app/object-collection/shared/dso-element-decorator.ts
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
import { GenericConstructor } from '../../core/shared/generic-constructor';
|
||||||
|
import { ListableObject } from './listable-object.model';
|
||||||
|
import { ViewMode } from '../../+search-page/search-options.model';
|
||||||
|
|
||||||
|
const dsoElementMap = new Map();
|
||||||
|
export function renderElementsFor(listable: GenericConstructor<ListableObject>, viewMode : ViewMode) {
|
||||||
|
return function decorator(objectElement: any) {
|
||||||
|
if (!objectElement) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
dsoElementMap.set(listable+viewMode, objectElement);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export function rendersDSOType(listable: GenericConstructor<ListableObject>, viewMode : ViewMode) {
|
||||||
|
return dsoElementMap.get(listable+viewMode);
|
||||||
|
}
|
@@ -2,7 +2,9 @@ import { Component, Inject } from '@angular/core';
|
|||||||
|
|
||||||
import { Collection } from '../../core/shared/collection.model';
|
import { Collection } from '../../core/shared/collection.model';
|
||||||
import { ObjectGridElementComponent } from '../object-grid-element/object-grid-element.component';
|
import { ObjectGridElementComponent } from '../object-grid-element/object-grid-element.component';
|
||||||
import { gridElementFor } from '../grid-element-decorator';
|
import { renderElementsFor} from '../../object-collection/shared/dso-element-decorator';
|
||||||
|
import { ViewMode } from '../../+search-page/search-options.model';
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-collection-grid-element',
|
selector: 'ds-collection-grid-element',
|
||||||
@@ -10,5 +12,5 @@ import { gridElementFor } from '../grid-element-decorator';
|
|||||||
templateUrl: './collection-grid-element.component.html'
|
templateUrl: './collection-grid-element.component.html'
|
||||||
})
|
})
|
||||||
|
|
||||||
@gridElementFor(Collection)
|
@renderElementsFor(Collection, ViewMode.Grid)
|
||||||
export class CollectionGridElementComponent extends ObjectGridElementComponent<Collection> {}
|
export class CollectionGridElementComponent extends ObjectGridElementComponent<Collection> {}
|
||||||
|
@@ -2,7 +2,8 @@ import { Component, Input, Inject } from '@angular/core';
|
|||||||
|
|
||||||
import { Community } from '../../core/shared/community.model';
|
import { Community } from '../../core/shared/community.model';
|
||||||
import { ObjectGridElementComponent } from '../object-grid-element/object-grid-element.component';
|
import { ObjectGridElementComponent } from '../object-grid-element/object-grid-element.component';
|
||||||
import { gridElementFor} from '../grid-element-decorator';
|
import { renderElementsFor} from '../../object-collection/shared/dso-element-decorator';
|
||||||
|
import { ViewMode } from '../../+search-page/search-options.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-community-grid-element',
|
selector: 'ds-community-grid-element',
|
||||||
@@ -10,5 +11,5 @@ import { gridElementFor} from '../grid-element-decorator';
|
|||||||
templateUrl: './community-grid-element.component.html'
|
templateUrl: './community-grid-element.component.html'
|
||||||
})
|
})
|
||||||
|
|
||||||
@gridElementFor(Community)
|
@renderElementsFor(Community, ViewMode.Grid)
|
||||||
export class CommunityGridElementComponent extends ObjectGridElementComponent<Community> {}
|
export class CommunityGridElementComponent extends ObjectGridElementComponent<Community> {}
|
||||||
|
@@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
.card{
|
.card{
|
||||||
margin-bottom: $card-block-margin-base *3;
|
margin-bottom: $card-block-margin-base *3;
|
||||||
height: 98%;
|
height: $card-height-percentage;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-img-top ::ng-deep img
|
.card-img-top ::ng-deep img
|
||||||
|
@@ -1,16 +0,0 @@
|
|||||||
import { GenericConstructor } from '../core/shared/generic-constructor';
|
|
||||||
import { ListableObject } from '../object-collection/shared/listable-object.model';
|
|
||||||
|
|
||||||
const gridElementMap = new Map();
|
|
||||||
export function gridElementFor(gridable: GenericConstructor<ListableObject>) {
|
|
||||||
return function decorator(objectElement: any) {
|
|
||||||
if (!objectElement) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
gridElementMap.set(gridable, objectElement);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getGridElementFor(gridable: GenericConstructor<ListableObject>) {
|
|
||||||
return gridElementMap.get(gridable);
|
|
||||||
}
|
|
@@ -1,8 +1,9 @@
|
|||||||
import { Component, Input, Inject } from '@angular/core';
|
import { Component, Input, Inject } from '@angular/core';
|
||||||
|
|
||||||
import { Item } from '../../core/shared/item.model';
|
import { Item } from '../../core/shared/item.model';
|
||||||
import { gridElementFor } from '../grid-element-decorator';
|
import { renderElementsFor} from '../../object-collection/shared/dso-element-decorator';
|
||||||
import { ObjectGridElementComponent } from '../object-grid-element/object-grid-element.component';
|
import { ObjectGridElementComponent } from '../object-grid-element/object-grid-element.component';
|
||||||
|
import { ViewMode } from '../../+search-page/search-options.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-item-grid-element',
|
selector: 'ds-item-grid-element',
|
||||||
@@ -10,5 +11,5 @@ import { ObjectGridElementComponent } from '../object-grid-element/object-grid-e
|
|||||||
templateUrl: './item-grid-element.component.html'
|
templateUrl: './item-grid-element.component.html'
|
||||||
})
|
})
|
||||||
|
|
||||||
@gridElementFor(Item)
|
@renderElementsFor(Item, ViewMode.Grid)
|
||||||
export class ItemGridElementComponent extends ObjectGridElementComponent<Item> {}
|
export class ItemGridElementComponent extends ObjectGridElementComponent<Item> {}
|
||||||
|
@@ -1,9 +1,11 @@
|
|||||||
import { Component } from '@angular/core';
|
import { Component } from '@angular/core';
|
||||||
|
|
||||||
import { gridElementFor } from '../../grid-element-decorator';
|
import { renderElementsFor} from '../../../object-collection/shared/dso-element-decorator';
|
||||||
|
|
||||||
import { CollectionSearchResult } from './collection-search-result.model';
|
import { CollectionSearchResult } from './collection-search-result.model';
|
||||||
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 { ViewMode } from '../../../+search-page/search-options.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-collection-search-result-grid-element',
|
selector: 'ds-collection-search-result-grid-element',
|
||||||
@@ -11,5 +13,5 @@ import { Collection } from '../../../core/shared/collection.model';
|
|||||||
templateUrl: 'collection-search-result-grid-element.component.html'
|
templateUrl: 'collection-search-result-grid-element.component.html'
|
||||||
})
|
})
|
||||||
|
|
||||||
@gridElementFor(CollectionSearchResult)
|
@renderElementsFor(CollectionSearchResult, ViewMode.Grid)
|
||||||
export class CollectionSearchResultGridElementComponent extends SearchResultGridElementComponent<CollectionSearchResult, Collection> {}
|
export class CollectionSearchResultGridElementComponent extends SearchResultGridElementComponent<CollectionSearchResult, Collection> {}
|
||||||
|
@@ -2,8 +2,9 @@ import { Component } from '@angular/core';
|
|||||||
|
|
||||||
import { CommunitySearchResult } from './community-search-result.model';
|
import { CommunitySearchResult } from './community-search-result.model';
|
||||||
import { Community } from '../../../core/shared/community.model';
|
import { Community } from '../../../core/shared/community.model';
|
||||||
import { gridElementFor } from '../../grid-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 { ViewMode } from '../../../+search-page/search-options.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-community-search-result-grid-element',
|
selector: 'ds-community-search-result-grid-element',
|
||||||
@@ -11,7 +12,7 @@ import { SearchResultGridElementComponent } from '../search-result-grid-element.
|
|||||||
templateUrl: 'community-search-result-grid-element.component.html'
|
templateUrl: 'community-search-result-grid-element.component.html'
|
||||||
})
|
})
|
||||||
|
|
||||||
@gridElementFor(CommunitySearchResult)
|
@renderElementsFor(CommunitySearchResult, ViewMode.Grid)
|
||||||
export class CommunitySearchResultGridElementComponent extends SearchResultGridElementComponent<CommunitySearchResult, Community> {
|
export class CommunitySearchResultGridElementComponent extends SearchResultGridElementComponent<CommunitySearchResult, Community> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -1,9 +1,10 @@
|
|||||||
import { Component } from '@angular/core';
|
import { Component } from '@angular/core';
|
||||||
|
|
||||||
import { gridElementFor } from '../../grid-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 { 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 { ViewMode } from '../../../+search-page/search-options.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-item-search-result-grid-element',
|
selector: 'ds-item-search-result-grid-element',
|
||||||
@@ -11,5 +12,5 @@ import { ItemSearchResult } from '../../../object-collection/shared/item-search-
|
|||||||
templateUrl: 'item-search-result-grid-element.component.html'
|
templateUrl: 'item-search-result-grid-element.component.html'
|
||||||
})
|
})
|
||||||
|
|
||||||
@gridElementFor(ItemSearchResult)
|
@renderElementsFor(ItemSearchResult, ViewMode.Grid)
|
||||||
export class ItemSearchResultGridElementComponent extends SearchResultGridElementComponent<ItemSearchResult, Item> {}
|
export class ItemSearchResultGridElementComponent extends SearchResultGridElementComponent<ItemSearchResult, Item> {}
|
||||||
|
@@ -1,7 +1,8 @@
|
|||||||
import { Component, Input, Injector, ReflectiveInjector, OnInit } from '@angular/core';
|
import { Component, Input, Injector, ReflectiveInjector, OnInit } from '@angular/core';
|
||||||
import { GenericConstructor } from '../../core/shared/generic-constructor';
|
import { GenericConstructor } from '../../core/shared/generic-constructor';
|
||||||
import { getGridElementFor } from '../grid-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 '../../+search-page/search-options.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-wrapper-grid-element',
|
selector: 'ds-wrapper-grid-element',
|
||||||
@@ -22,6 +23,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 getGridElementFor(f);
|
return rendersDSOType(f, ViewMode.Grid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -2,7 +2,8 @@ import { Component, Inject } from '@angular/core';
|
|||||||
|
|
||||||
import { Collection } from '../../core/shared/collection.model';
|
import { Collection } from '../../core/shared/collection.model';
|
||||||
import { ObjectListElementComponent } from '../object-list-element/object-list-element.component';
|
import { ObjectListElementComponent } from '../object-list-element/object-list-element.component';
|
||||||
import { listElementFor } from '../list-element-decorator';
|
import { renderElementsFor } from '../../object-collection/shared/dso-element-decorator';
|
||||||
|
import { ViewMode } from '../../+search-page/search-options.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-collection-list-element',
|
selector: 'ds-collection-list-element',
|
||||||
@@ -10,5 +11,5 @@ import { listElementFor } from '../list-element-decorator';
|
|||||||
templateUrl: './collection-list-element.component.html'
|
templateUrl: './collection-list-element.component.html'
|
||||||
})
|
})
|
||||||
|
|
||||||
@listElementFor(Collection)
|
@renderElementsFor(Collection, ViewMode.List)
|
||||||
export class CollectionListElementComponent extends ObjectListElementComponent<Collection> {}
|
export class CollectionListElementComponent extends ObjectListElementComponent<Collection> {}
|
||||||
|
@@ -2,7 +2,8 @@ import { Component, Input, Inject } from '@angular/core';
|
|||||||
|
|
||||||
import { Community } from '../../core/shared/community.model';
|
import { Community } from '../../core/shared/community.model';
|
||||||
import { ObjectListElementComponent } from '../object-list-element/object-list-element.component';
|
import { ObjectListElementComponent } from '../object-list-element/object-list-element.component';
|
||||||
import { listElementFor } from '../list-element-decorator';
|
import { renderElementsFor } from '../../object-collection/shared/dso-element-decorator';
|
||||||
|
import { ViewMode } from '../../+search-page/search-options.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-community-list-element',
|
selector: 'ds-community-list-element',
|
||||||
@@ -10,5 +11,5 @@ import { listElementFor } from '../list-element-decorator';
|
|||||||
templateUrl: './community-list-element.component.html'
|
templateUrl: './community-list-element.component.html'
|
||||||
})
|
})
|
||||||
|
|
||||||
@listElementFor(Community)
|
@renderElementsFor(Community, ViewMode.List)
|
||||||
export class CommunityListElementComponent extends ObjectListElementComponent<Community> {}
|
export class CommunityListElementComponent extends ObjectListElementComponent<Community> {}
|
||||||
|
@@ -2,7 +2,8 @@ import { Component, Input, Inject } from '@angular/core';
|
|||||||
|
|
||||||
import { Item } from '../../core/shared/item.model';
|
import { Item } from '../../core/shared/item.model';
|
||||||
import { ObjectListElementComponent } from '../object-list-element/object-list-element.component';
|
import { ObjectListElementComponent } from '../object-list-element/object-list-element.component';
|
||||||
import { listElementFor } from '../list-element-decorator';
|
import { renderElementsFor } from '../../object-collection/shared/dso-element-decorator';
|
||||||
|
import { ViewMode } from '../../+search-page/search-options.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-item-list-element',
|
selector: 'ds-item-list-element',
|
||||||
@@ -10,5 +11,5 @@ import { listElementFor } from '../list-element-decorator';
|
|||||||
templateUrl: './item-list-element.component.html'
|
templateUrl: './item-list-element.component.html'
|
||||||
})
|
})
|
||||||
|
|
||||||
@listElementFor(Item)
|
@renderElementsFor(Item, ViewMode.List)
|
||||||
export class ItemListElementComponent extends ObjectListElementComponent<Item> {}
|
export class ItemListElementComponent extends ObjectListElementComponent<Item> {}
|
||||||
|
@@ -1,16 +0,0 @@
|
|||||||
import { GenericConstructor } from '../core/shared/generic-constructor';
|
|
||||||
import { ListableObject } from '../object-collection/shared/listable-object.model';
|
|
||||||
|
|
||||||
const listElementMap = new Map();
|
|
||||||
export function listElementFor(listable: GenericConstructor<ListableObject>) {
|
|
||||||
return function decorator(objectElement: any) {
|
|
||||||
if (!objectElement) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
listElementMap.set(listable, objectElement);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getListElementFor(listable: GenericConstructor<ListableObject>) {
|
|
||||||
return listElementMap.get(listable);
|
|
||||||
}
|
|
||||||
|
@@ -12,7 +12,7 @@
|
|||||||
(paginationChange)="onPaginationChange($event)">
|
(paginationChange)="onPaginationChange($event)">
|
||||||
<ul *ngIf="objects?.hasSucceeded"> <!--class="list-unstyled"-->
|
<ul *ngIf="objects?.hasSucceeded"> <!--class="list-unstyled"-->
|
||||||
<li *ngFor="let object of objects?.payload">
|
<li *ngFor="let object of objects?.payload">
|
||||||
<ds-wrapper-list-element [object]="object"></ds-wrapper-list-element>
|
<ds-wrapper-list-element [object]="object"></ds-wrapper-list-element>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</ds-pagination>
|
</ds-pagination>
|
||||||
|
@@ -1,9 +1,10 @@
|
|||||||
import { Component } from '@angular/core';
|
import { Component } from '@angular/core';
|
||||||
|
|
||||||
import { listElementFor } from '../../list-element-decorator';
|
import { renderElementsFor } from '../../../object-collection/shared/dso-element-decorator';
|
||||||
import { CollectionSearchResult } from './collection-search-result.model';
|
import { CollectionSearchResult } from './collection-search-result.model';
|
||||||
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 { ViewMode } from '../../../+search-page/search-options.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-collection-search-result-list-element',
|
selector: 'ds-collection-search-result-list-element',
|
||||||
@@ -11,5 +12,5 @@ import { Collection } from '../../../core/shared/collection.model';
|
|||||||
templateUrl: 'collection-search-result-list-element.component.html'
|
templateUrl: 'collection-search-result-list-element.component.html'
|
||||||
})
|
})
|
||||||
|
|
||||||
@listElementFor(CollectionSearchResult)
|
@renderElementsFor(CollectionSearchResult, ViewMode.List)
|
||||||
export class CollectionSearchResultListElementComponent extends SearchResultListElementComponent<CollectionSearchResult, Collection> {}
|
export class CollectionSearchResultListElementComponent extends SearchResultListElementComponent<CollectionSearchResult, Collection> {}
|
||||||
|
@@ -1,9 +1,10 @@
|
|||||||
import { Component } from '@angular/core';
|
import { Component } from '@angular/core';
|
||||||
|
|
||||||
import { listElementFor } from '../../list-element-decorator';
|
import { renderElementsFor } from '../../../object-collection/shared/dso-element-decorator';
|
||||||
import { CommunitySearchResult } from './community-search-result.model';
|
import { CommunitySearchResult } from './community-search-result.model';
|
||||||
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 { ViewMode } from '../../../+search-page/search-options.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-community-search-result-list-element',
|
selector: 'ds-community-search-result-list-element',
|
||||||
@@ -11,7 +12,7 @@ import { Community } from '../../../core/shared/community.model';
|
|||||||
templateUrl: 'community-search-result-list-element.component.html'
|
templateUrl: 'community-search-result-list-element.component.html'
|
||||||
})
|
})
|
||||||
|
|
||||||
@listElementFor(CommunitySearchResult)
|
@renderElementsFor(CommunitySearchResult, ViewMode.List)
|
||||||
export class CommunitySearchResultListElementComponent extends SearchResultListElementComponent<CommunitySearchResult, Community> {
|
export class CommunitySearchResultListElementComponent extends SearchResultListElementComponent<CommunitySearchResult, Community> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -1,9 +1,10 @@
|
|||||||
import { Component } from '@angular/core';
|
import { Component } from '@angular/core';
|
||||||
|
|
||||||
import { listElementFor } from '../../list-element-decorator';
|
import { renderElementsFor } from '../../../object-collection/shared/dso-element-decorator';
|
||||||
import { SearchResultListElementComponent } from '../search-result-list-element.component';
|
import { SearchResultListElementComponent } from '../search-result-list-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 { ViewMode } from '../../../+search-page/search-options.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-item-search-result-list-element',
|
selector: 'ds-item-search-result-list-element',
|
||||||
@@ -11,5 +12,5 @@ import { ItemSearchResult } from '../../../object-collection/shared/item-search-
|
|||||||
templateUrl: 'item-search-result-list-element.component.html'
|
templateUrl: 'item-search-result-list-element.component.html'
|
||||||
})
|
})
|
||||||
|
|
||||||
@listElementFor(ItemSearchResult)
|
@renderElementsFor(ItemSearchResult, ViewMode.List)
|
||||||
export class ItemSearchResultListElementComponent extends SearchResultListElementComponent<ItemSearchResult, Item> {}
|
export class ItemSearchResultListElementComponent extends SearchResultListElementComponent<ItemSearchResult, Item> {}
|
||||||
|
@@ -1,7 +1,8 @@
|
|||||||
import { Component, Input, Injector, ReflectiveInjector, OnInit } from '@angular/core';
|
import { Component, Input, Injector, ReflectiveInjector, OnInit } from '@angular/core';
|
||||||
import { getListElementFor } from '../list-element-decorator'
|
import { rendersDSOType } from '../../object-collection/shared/dso-element-decorator'
|
||||||
import { GenericConstructor } from '../../core/shared/generic-constructor';
|
import { GenericConstructor } from '../../core/shared/generic-constructor';
|
||||||
import { ListableObject } from '../../object-collection/shared/listable-object.model';
|
import { ListableObject } from '../../object-collection/shared/listable-object.model';
|
||||||
|
import { ViewMode } from '../../+search-page/search-options.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-wrapper-list-element',
|
selector: 'ds-wrapper-list-element',
|
||||||
@@ -17,11 +18,10 @@ export class WrapperListElementComponent implements OnInit {
|
|||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.objectInjector = ReflectiveInjector.resolveAndCreate(
|
this.objectInjector = ReflectiveInjector.resolveAndCreate(
|
||||||
[{provide: 'objectElementProvider', useFactory: () => (this.object) }], this.injector);
|
[{provide: 'objectElementProvider', useFactory: () => (this.object) }], this.injector);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
getListElement(): string {
|
getListElement(): string {
|
||||||
const f: GenericConstructor<ListableObject> = this.object.constructor as GenericConstructor<ListableObject>;
|
const f: GenericConstructor<ListableObject> = this.object.constructor as GenericConstructor<ListableObject>;
|
||||||
return getListElementFor(f);
|
return rendersDSOType(f, ViewMode.List);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,3 +1,4 @@
|
|||||||
$content-spacing: $spacer * 1.5;
|
$content-spacing: $spacer * 1.5;
|
||||||
|
|
||||||
$button-height: $input-btn-padding-y * 2 + $input-btn-line-height + calculateRem($input-btn-border-width*2);
|
$button-height: $input-btn-padding-y * 2 + $input-btn-line-height + calculateRem($input-btn-border-width*2);
|
||||||
|
$card-height-percentage:98%;
|
||||||
|
Reference in New Issue
Block a user