import { Optional, StringHelper } from '@oinone/kunlun-shared'; import { SPI } from '@oinone/kunlun-spi'; import type { RenderCellContext } from '@oinone/kunlun-vue-ui'; import { Widget } from '@oinone/kunlun-vue-widget'; import { BaseElementWidget, BaseTableColumnWidget } from '../../basic'; @SPI.ClassFactory( BaseElementWidget.Token({ widget: ['radio-column', 'RadioColumn', 'radioColumn'] }) ) export class TableRadioColumnWidget extends BaseTableColumnWidget { @Widget.Reactive() public get columnType() { return 'radio'; } @Widget.Reactive() public get width() { return super.width || 52; } @Widget.Reactive() public get minWidth() { return super.minWidth || 52; } @Widget.Reactive() public className(context: RenderCellContext): string[] { return StringHelper.append(['table-column-radio'], super.className(context)); } @Widget.Reactive() public headerClassName(context: RenderCellContext): string[] { return StringHelper.append(['table-header-column-radio'], super.headerClassName(context)); } @Widget.Reactive() public get align() { return super.align || 'center'; } @Widget.Reactive() public get fixed() { return Optional.ofNullable(super.fixed).orElse('left'); } }