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'; import { ViewMode } from '../../../+search-page/search-options.model';
const dsoElementMap = new Map(); 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) { return function decorator(objectElement: any) {
if (!objectElement) { if (!objectElement) {
return; 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) { export function rendersDSOType(listable: GenericConstructor<ListableObject>, viewMode: ViewMode) {
return dsoElementMap.get(listable+viewMode); return dsoElementMap.get(viewMode).get(listable);
} }