PC styles nearly done

This commit is contained in:
Schmelczer András 2019-12-26 10:36:46 +01:00
parent da9d0a1136
commit 79f7c4c16f
25 changed files with 221 additions and 208 deletions

View file

@ -13,16 +13,16 @@ export abstract class PageElement {
this.element = value;
}
protected eventGenerator: PageElement;
protected eventBroadcaster: PageElement;
protected constructor(private children: Array<PageElement> = []) {}
public giveEvent(event: PageEvent, parent: PageElement = null) {
if (event.type === PageEventType.eventGeneratorChanged) {
this.eventGenerator = event.data;
public broadcastEvent(event: PageEvent, parent: PageElement = null) {
if (event.type === PageEventType.eventBroadcasterChanged) {
this.eventBroadcaster = event.data;
}
this.handleEvent(event, parent);
this.children.forEach(c => c.giveEvent(event, this));
this.children.forEach(c => c.broadcastEvent(event, this));
}
protected query(query: string): HTMLElement | null {

View file

@ -6,5 +6,5 @@ export class PageEvent {
export enum PageEventType {
onLoad,
onBodyDimensionsChanged,
eventGeneratorChanged
eventBroadcasterChanged
}

View file

@ -8,11 +8,11 @@ export class Page extends PageElement {
) {
super(children);
this.setElement(rootElement);
this.giveEvent(
{ type: PageEventType.eventGeneratorChanged, data: this },
this.broadcastEvent(
{ type: PageEventType.eventBroadcasterChanged, data: this },
this
);
rootElement.append(...children.map(e => e.getElement()).filter(e => e));
this.giveEvent({ type: PageEventType.onLoad }, this);
this.broadcastEvent({ type: PageEventType.onLoad }, this);
}
}