wip
This commit is contained in:
parent
f39e38986c
commit
6fc9be9534
5 changed files with 3 additions and 20 deletions
|
|
@ -6,6 +6,5 @@ export interface RenderContext {
|
|||
|
||||
export interface Renderer {
|
||||
readonly type: string;
|
||||
next: Renderer | null;
|
||||
render(context: RenderContext): void;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,16 +5,11 @@ export interface Pipeline {
|
|||
}
|
||||
|
||||
export function buildPipeline(renderers: Renderer[]): Pipeline {
|
||||
// Link renderers
|
||||
for (let i = 0; i < renderers.length - 1; i++) {
|
||||
renderers[i].next = renderers[i + 1];
|
||||
}
|
||||
|
||||
const first = renderers[0] ?? null;
|
||||
|
||||
return {
|
||||
run(context: RenderContext) {
|
||||
if (first) first.render(context);
|
||||
for (const renderer of renderers) {
|
||||
renderer.render(context);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ import { DateService } from '../../core/DateService';
|
|||
|
||||
export class DateRenderer implements Renderer {
|
||||
readonly type = 'date';
|
||||
next: Renderer | null = null;
|
||||
|
||||
constructor(private dateService: DateService) {}
|
||||
|
||||
|
|
@ -32,7 +31,5 @@ export class DateRenderer implements Renderer {
|
|||
context.columnContainer.appendChild(column);
|
||||
}
|
||||
}
|
||||
|
||||
// Leaf - ingen next
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ interface Resource {
|
|||
|
||||
export class ResourceRenderer implements Renderer {
|
||||
readonly type = 'resource';
|
||||
next: Renderer | null = null;
|
||||
|
||||
// Hardcoded data
|
||||
private resources: Resource[] = [
|
||||
|
|
@ -30,8 +29,5 @@ export class ResourceRenderer implements Renderer {
|
|||
header.style.gridColumn = `span ${dateCount}`;
|
||||
context.headerContainer.appendChild(header);
|
||||
}
|
||||
|
||||
// Derefter kald next ÉN gang
|
||||
if (this.next) this.next.render(context);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ interface Team {
|
|||
|
||||
export class TeamRenderer implements Renderer {
|
||||
readonly type = 'team';
|
||||
next: Renderer | null = null;
|
||||
|
||||
// Hardcoded data
|
||||
private teams: Team[] = [
|
||||
|
|
@ -35,8 +34,5 @@ export class TeamRenderer implements Renderer {
|
|||
header.style.setProperty('--team-cols', String(colspan));
|
||||
context.headerContainer.appendChild(header);
|
||||
}
|
||||
|
||||
// Derefter kald next ÉN gang
|
||||
if (this.next) this.next.render(context);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue