mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-17 15:03:07 +00:00
clean up
This commit is contained in:
@@ -31,11 +31,8 @@ export class AdminNotifySearchResultComponent extends TabulatableResultListElem
|
|||||||
QUEUE_STATUS_UNMAPPED_ACTION: 'Unmapped action',
|
QUEUE_STATUS_UNMAPPED_ACTION: 'Unmapped action',
|
||||||
};
|
};
|
||||||
|
|
||||||
constructor(private modalService: NgbModal,
|
constructor(private modalService: NgbModal) {
|
||||||
protected truncatableService: TruncatableService,
|
super();
|
||||||
public dsoNameService: DSONameService,
|
|
||||||
@Inject(APP_CONFIG) protected appConfig?: AppConfig) {
|
|
||||||
super(truncatableService, dsoNameService, appConfig);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -133,7 +133,7 @@ export function getListableObjectComponent(types: (string | GenericConstructor<L
|
|||||||
* @param defaults the default values to use for each level, in case no value is found for the key at that index
|
* @param defaults the default values to use for each level, in case no value is found for the key at that index
|
||||||
* @returns matchAndLevel a {@link MatchRelevancy} object containing the match and its level of relevancy
|
* @returns matchAndLevel a {@link MatchRelevancy} object containing the match and its level of relevancy
|
||||||
*/
|
*/
|
||||||
function getMatch(typeMap: Map<any, any>, keys: any[], defaults: any[]): MatchRelevancy {
|
export function getMatch(typeMap: Map<any, any>, keys: any[], defaults: any[]): MatchRelevancy {
|
||||||
let currentMap = typeMap;
|
let currentMap = typeMap;
|
||||||
let level = -1;
|
let level = -1;
|
||||||
let relevancy = 0;
|
let relevancy = 0;
|
||||||
|
@@ -73,10 +73,6 @@ export class AbstractTabulatableElementComponent<T extends PaginatedList<Listabl
|
|||||||
*/
|
*/
|
||||||
contexts = Context;
|
contexts = Context;
|
||||||
|
|
||||||
constructor(
|
|
||||||
public dsoNameService: DSONameService,
|
|
||||||
) {
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@ import { ListableObject } from '../listable-object.model';
|
|||||||
import {
|
import {
|
||||||
DEFAULT_CONTEXT,
|
DEFAULT_CONTEXT,
|
||||||
DEFAULT_THEME,
|
DEFAULT_THEME,
|
||||||
DEFAULT_VIEW_MODE,
|
DEFAULT_VIEW_MODE, getMatch,
|
||||||
MatchRelevancy, resolveTheme
|
MatchRelevancy, resolveTheme
|
||||||
} from '../listable-object/listable-object.decorator';
|
} from '../listable-object/listable-object.decorator';
|
||||||
import { PaginatedList } from '../../../../core/data/paginated-list.model';
|
import { PaginatedList } from '../../../../core/data/paginated-list.model';
|
||||||
@@ -15,7 +15,7 @@ import { PaginatedList } from '../../../../core/data/paginated-list.model';
|
|||||||
const map = new Map();
|
const map = new Map();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Decorator used for rendering a listable object
|
* Decorator used for rendering tabulatable objects
|
||||||
* @param objectType The object type or entity type the component represents
|
* @param objectType The object type or entity type the component represents
|
||||||
* @param viewMode The view mode the component represents
|
* @param viewMode The view mode the component represents
|
||||||
* @param context The optional context the component represents
|
* @param context The optional context the component represents
|
||||||
@@ -40,12 +40,12 @@ export function tabulatableObjectsComponent(objectsType: string | GenericConstru
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Getter to retrieve the matching listable object component
|
* Getter to retrieve the matching tabulatable objects component
|
||||||
*
|
*
|
||||||
* Looping over the provided types, it'll attempt to find the best match depending on the {@link MatchRelevancy} returned by getMatch()
|
* Looping over the provided types, it'll attempt to find the best match depending on the {@link MatchRelevancy} returned by getMatch()
|
||||||
* The most relevant match between types is kept and eventually returned
|
* The most relevant match between types is kept and eventually returned
|
||||||
*
|
*
|
||||||
* @param types The types of which one should match the listable component
|
* @param types The types of which one should match the tabulatable component
|
||||||
* @param viewMode The view mode that should match the components
|
* @param viewMode The view mode that should match the components
|
||||||
* @param context The context that should match the components
|
* @param context The context that should match the components
|
||||||
* @param theme The theme that should match the components
|
* @param theme The theme that should match the components
|
||||||
@@ -63,46 +63,3 @@ export function getTabulatableObjectsComponent(types: (string | GenericConstruct
|
|||||||
}
|
}
|
||||||
return hasValue(currentBestMatch) ? currentBestMatch.match : null;
|
return hasValue(currentBestMatch) ? currentBestMatch.match : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Find an object within a nested map, matching the provided keys as best as possible, falling back on defaults wherever
|
|
||||||
* needed.
|
|
||||||
*
|
|
||||||
* Starting off with a Map, it loops over the provided keys, going deeper into the map until it finds a value
|
|
||||||
* If at some point, no value is found, it'll attempt to use the default value for that index instead
|
|
||||||
* If the default value exists, the index is stored in the "level"
|
|
||||||
* If no default value exists, 1 is added to "relevancy"
|
|
||||||
* See {@link MatchRelevancy} what these represent
|
|
||||||
*
|
|
||||||
* @param typeMap a multi-dimensional map
|
|
||||||
* @param keys the keys of the multi-dimensional map to loop over. Each key represents a level within the map
|
|
||||||
* @param defaults the default values to use for each level, in case no value is found for the key at that index
|
|
||||||
* @returns matchAndLevel a {@link MatchRelevancy} object containing the match and its level of relevancy
|
|
||||||
*/
|
|
||||||
function getMatch(typeMap: Map<any, any>, keys: any[], defaults: any[]): MatchRelevancy {
|
|
||||||
let currentMap = typeMap;
|
|
||||||
let level = -1;
|
|
||||||
let relevancy = 0;
|
|
||||||
for (let i = 0; i < keys.length; i++) {
|
|
||||||
// If we're currently checking the theme, resolve it first to take extended themes into account
|
|
||||||
let currentMatch = defaults[i] === DEFAULT_THEME ? resolveTheme(currentMap, keys[i]) : currentMap.get(keys[i]);
|
|
||||||
if (hasNoValue(currentMatch)) {
|
|
||||||
currentMatch = currentMap.get(defaults[i]);
|
|
||||||
if (level === -1) {
|
|
||||||
level = i;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
relevancy++;
|
|
||||||
}
|
|
||||||
if (hasValue(currentMatch)) {
|
|
||||||
if (currentMatch instanceof Map) {
|
|
||||||
currentMap = currentMatch as Map<any, any>;
|
|
||||||
} else {
|
|
||||||
return new MatchRelevancy(currentMatch, level > -1 ? level : i + 1, relevancy);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
@@ -12,11 +12,4 @@ import { SearchResult } from '../../../search/models/search-result.model';
|
|||||||
selector: 'ds-search-result-list-element',
|
selector: 'ds-search-result-list-element',
|
||||||
template: ``
|
template: ``
|
||||||
})
|
})
|
||||||
export class TabulatableResultListElementsComponent<T extends PaginatedList<K>, K extends SearchResult<any>> extends AbstractTabulatableElementComponent<T> {
|
export class TabulatableResultListElementsComponent<T extends PaginatedList<K>, K extends SearchResult<any>> extends AbstractTabulatableElementComponent<T> {}
|
||||||
public constructor(protected truncatableService: TruncatableService,
|
|
||||||
public dsoNameService: DSONameService,
|
|
||||||
@Inject(APP_CONFIG) protected appConfig?: AppConfig) {
|
|
||||||
super(dsoNameService);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
Reference in New Issue
Block a user