import { DOCUMENT } from '@angular/common'; import { Component, EventEmitter, Inject, Input, OnInit, Output, SimpleChanges } from '@angular/core'; import { BaseComponent } from '@common/base/base.component'; import { Foo, ToCEntry, ToCEntryType } from '../table-of-contents-entry'; @Component({ selector: 'app-dataset-profile-table-of-contents-internal-section', styleUrls: ['./table-of-contents-internal-section.scss'], templateUrl: './table-of-contents-internal-section.html' }) export class DatasetProfileTableOfContentsInternalSection extends BaseComponent implements OnInit { @Input() links: ToCEntry[]; @Output() itemClick = new EventEmitter(); @Output() newEntry = new EventEmitter(); @Output() removeEntry = new EventEmitter(); @Output() createFooEntry = new EventEmitter(); @Input() parentLink: ToCEntry; @Input() itemSelected: ToCEntry; @Input() viewOnly: boolean; constructor( @Inject(DOCUMENT) private _document: Document) { super(); } tocEntryType = ToCEntryType; ngOnInit(): void { } ngOnChanges(changes: SimpleChanges) { } itemClicked(item: ToCEntry) { //leaf node this.itemClick.emit(item); } deleteEntry(currentLink: ToCEntry){ this.removeEntry.emit(currentLink); } createNewEntry(foo: Foo){ this.createFooEntry.emit(foo); } }