UNPKG

@siberiaweb/components

Version:
76 lines (57 loc) 1.52 kB
import CSS from "./CSS"; import WebComponent from "@siberiaweb/webcomponent/lib/WebComponent"; /** * Строка данных. * * @template TRecord Тип записи. */ export default class DataRow< TRecord > extends HTMLTableRowElement { /** * Наименование компонента. */ public static readonly COMPONENT_NAME: string = "sw-grid-data-row"; /** * Запись. */ private _record: TRecord | null = null; /** * Получение записи. * * @throws Error Если запись для строки не указана. */ public get record(): TRecord { if ( this._record === null ) { throw new Error( "Запись для строки не указана." ); } return this._record; } /** * Установка записи. * * @param value Значение. */ public set record( value: TRecord ) { this._record = value; } /** * Выбор строки. */ public select(): void { this.classList.add( CSS.SELECTED_ROW ); } /** * Отмена выбора строки. */ public unselect(): void { this.classList.remove( CSS.SELECTED_ROW ); } /** * Конструктор. */ constructor() { super(); } } WebComponent.define( DataRow, "tr" );