xenos
Version:
Xenos is a data grid built upon angular2 and bootstrap.
33 lines (27 loc) • 896 B
text/typescript
import { Directive, ElementRef, Renderer, Input } from "@angular/core";
import { DataGridColumn } from "./data-grid-column";
import { ElementRenderer } from "./element-renderer";
interface HeaderRenderArgs {
column: DataGridColumn;
cell: HTMLTableDataCellElement,
row: HTMLTableRowElement
}
({
selector: "[xnHeader]"
})
export class HeaderDirective {
private elementRenderer: ElementRenderer;
constructor(
private renderer: Renderer,
private elementRef: ElementRef) {
this.elementRenderer = new ElementRenderer(elementRef, renderer);
}
()
public set xnHeader(args: HeaderRenderArgs) {
let value = args.column.headerRenderer(args.cell, args.row);
if (value == null || value == "") {
return;
}
this.elementRenderer.render(value);
}
}