blob: 8da89b668eba635d0ce33afb13d10ee106b3d8e7 (
plain) (
tree)
|
|
import { AfterViewInit, Directive, ElementRef, Renderer2 } from '@angular/core'
@Directive({
selector: '[myAutoColspan]'
})
export class AutoColspanDirective implements AfterViewInit {
constructor (
private host: ElementRef,
private renderer: Renderer2
) { }
ngAfterViewInit () {
const el = this.host.nativeElement as HTMLElement
const table = el.closest('table')
if (!table) throw new Error('table element not found')
const th = table.querySelectorAll('th')
this.renderer.setAttribute(el, 'colspan', th.length + '')
}
}
|