1 import { AfterViewInit, Directive, ElementRef, Renderer2 } from '@angular/core'
4 selector: '[myAutoColspan]'
6 export class AutoColspanDirective implements AfterViewInit {
9 private host: ElementRef,
10 private renderer: Renderer2
14 const el = this.host.nativeElement as HTMLElement
15 const table = el.closest('table')
16 if (!table) throw new Error('table element not found')
18 const th = table.querySelectorAll('th')
20 this.renderer.setAttribute(el, 'colspan', th.length + '')