UNPKG

@siberiaweb/components

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