Skip to content
Snippets Groups Projects
element-component.directive.ts 651 B
Newer Older
  • Learn to ignore specific revisions
  • import {
    
    } from '@angular/core';
    
    import { DomSanitizer } from '@angular/platform-browser';
    
    import { UIElement } from '../interfaces/elements';
    
    
    @Directive()
    
    export abstract class ElementComponent implements AfterContentChecked {
    
    rhenck's avatar
    rhenck committed
      abstract elementModel: UIElement;
    
    rhenck's avatar
    rhenck committed
      project!: 'player' | 'editor';
    
      constructor(public elementRef: ElementRef, public sanitizer: DomSanitizer) {}
    
    
      get domElement(): Element {
        return this.elementRef.nativeElement;
      }
    
      ngAfterContentChecked(): void {
    
        this.project = this.elementRef.nativeElement.closest('aspect-element-splitter') ? 'player' : 'editor';