150 Separate maps per viewMode

This commit is contained in:
Jonas Van Goolen
2017-11-21 13:57:49 +01:00
parent db0db81c63
commit d045b67b73

View File

@@ -3,15 +3,18 @@ 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) {
export function renderElementsFor(listable: GenericConstructor<ListableObject>, viewMode: ViewMode) {
return function decorator(objectElement: any) {
if (!objectElement) {
return;
}
dsoElementMap.set(listable+viewMode, objectElement);
if (!dsoElementMap.get(viewMode)) {
dsoElementMap.set(viewMode, new Map());
}
dsoElementMap.get(viewMode).set(listable, objectElement);
};
}
export function rendersDSOType(listable: GenericConstructor<ListableObject>, viewMode : ViewMode) {
return dsoElementMap.get(listable+viewMode);
export function rendersDSOType(listable: GenericConstructor<ListableObject>, viewMode: ViewMode) {
return dsoElementMap.get(viewMode).get(listable);
}