import { AfterContentChecked, Directive, ElementRef, Renderer2 } from '@angular/core'; import { DomSanitizer } from '@angular/platform-browser'; import { UIElement } from 'common/models/elements/element'; import { ExternalResourceService } from 'common/services/external-resource.service'; @Directive() export abstract class ElementComponent implements AfterContentChecked { abstract elementModel: UIElement; project!: 'player' | 'editor'; constructor(public elementRef: ElementRef) {} get domElement(): Element { return this.elementRef.nativeElement; } ngAfterContentChecked(): void { this.project = this.elementRef.nativeElement.closest('aspect-element-group-selection') ? 'player' : 'editor'; } }