Refactors rendering pipeline with flexible data handling
Removes hardcoded data from render context, allowing more dynamic renderer implementation Changes include: - Decoupling data retrieval from render context - Simplifying renderer interface - Supporting more flexible data traversal strategies Prepares for more modular and adaptable rendering approach
This commit is contained in:
parent
a3a1b9a421
commit
c16e432b29
5 changed files with 517 additions and 22 deletions
|
|
@ -2,7 +2,7 @@ import { from } from 'ts-linq-light';
|
|||
import { ViewConfig } from './ViewConfig';
|
||||
import { IGroupingRenderer, RenderContext } from './IGroupingRenderer';
|
||||
import { IGroupingStore } from './IGroupingStore';
|
||||
import { RenderBuilder, RenderData } from './RenderBuilder';
|
||||
import { RenderBuilder } from './RenderBuilder';
|
||||
import { EventRenderer } from '../features/event/EventRenderer';
|
||||
|
||||
export class CalendarOrchestrator {
|
||||
|
|
@ -37,15 +37,8 @@ export class CalendarOrchestrator {
|
|||
const types = from(viewConfig.groupings).select(g => g.type).toArray();
|
||||
headerContainer.dataset.levels = types.join(' ');
|
||||
|
||||
// Hent alt data
|
||||
const data: RenderData = {
|
||||
teams: this.getItems('team', viewConfig),
|
||||
resources: this.getItems('resource', viewConfig),
|
||||
dates: this.getItems('date', viewConfig)
|
||||
};
|
||||
|
||||
// Byg renderer chain
|
||||
const builder = new RenderBuilder(context, data);
|
||||
const builder = new RenderBuilder(context);
|
||||
|
||||
for (const grouping of viewConfig.groupings) {
|
||||
const renderer = this.getRenderer(grouping.type);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue