33 lines
690 B
TypeScript
33 lines
690 B
TypeScript
import type { CellRendererProps } from 'tui-grid/types/renderer';
|
|
|
|
export class RadioHeaderRenderer {
|
|
el: HTMLElement;
|
|
|
|
constructor(props: CellRendererProps) {
|
|
const { rowKey, grid } = props;
|
|
|
|
const { options } = props.columnInfo.renderer;
|
|
const data = grid.getRow(rowKey);
|
|
|
|
const el = document.createElement('input');
|
|
el.name = 'gridRadio';
|
|
el.type = 'radio';
|
|
el.className = '';
|
|
el.addEventListener('change', () => options?.onChange(data));
|
|
|
|
this.el = el;
|
|
}
|
|
|
|
beforeDestroy(): void {}
|
|
|
|
focused(): void {}
|
|
|
|
getElement(): Element {
|
|
return this.el;
|
|
}
|
|
|
|
mounted(parent: HTMLElement): void {}
|
|
|
|
render(props: CellRendererProps): void {}
|
|
}
|