import IdsElement from '../../core/ids-element'; import type IdsDataGrid from './ids-data-grid'; import type { IdsDataGridColumn } from './ids-data-grid-column'; import IdsDataGridCell from './ids-data-grid-cell'; export default class IdsDataGridRow extends IdsElement { #private; rootNode?: any; constructor(); /** * Return the attributes we handle as getters/setters * @returns {Array} The attributes in an array */ static get attributes(): string[]; attributeChangedCallback(name: string, oldValue: string, newValue: string): void; connectedCallback(): void; /** * Reference to the data grid parent * @returns {IdsDataGrid} the data grid parent */ get dataGrid(): IdsDataGrid; get data(): Record[]; get rowData(): Record; get columns(): IdsDataGridColumn[]; get visibleColumns(): IdsDataGridColumn[]; get cellsEditable(): IdsDataGridCell[]; get isRowDisabled(): ((rowIndex: number, rowData: Record) => boolean) | undefined; get dimensions(): DOMRect; get expandIcon(): NodeListOf; /** * Set the row disabled state. * @param {boolean | string} value the value */ set disabled(value: boolean | string); get disabled(): boolean | string; /** * Set the row index. This index will be used to populate data from ids-data-grid. * @param {number} value the index */ set rowIndex(value: number); /** * Gets the row index # of this row. * @returns {number} the row-index */ get rowIndex(): number; /** Implements row cache */ static rowCache: { [key: string]: string; }; /** * Return the row from the cache or template. * @param {number} row the row index * @returns {string} the row's html */ cacheRow(row: number): string; /** * Render the row again from the cache or template. * @param {number} row the row index */ renderRow(row: number): void; /** * Refreshes the row's cells */ refreshRow(): void; /** * Validate all cells in this row */ validateCells(): void; /** * Toggle Selection on the row element (via click/keyboard in the main dataGrid) */ toggleSelection(): void; /** * Toggle Expand/Collpase on the row element * @param {boolean} triggerEvent If true, will trigger event */ toggleExpandCollapse(triggerEvent?: boolean): void; /** * Toggle activation on the row element */ toggleRowActivation(): void; /** * Select/Deselect all child rows * @param {boolean} isSelect true or false to select or deselect * @private */ toggleChildRowSelection(isSelect: boolean): void; /** * Hide/Show all child rows for groupable rows and fire events */ toggleGroupChildRows(): void; /** * Select this row node */ set selected(select: boolean); get selected(): boolean; get recordIndex(): number | null; /** * Updates some attributes/classes on a single row's cells * @private * @param {number} index the row index */ updateCells(index: number): void; /** * Return the row's markup * @param {Record} row The row data object * @param {number} index The data row index * @param {number} ariaRowIndex The indexes for aria-rowindex * @param {IdsDataGrid} dataGrid The dataGrid instance * @returns {string} The html string for the row */ static template(row: Record, index: number, ariaRowIndex: number, dataGrid: IdsDataGrid): string; /** * Check if cell should be skipped due to spanning * @param {number} rowIndex the row index * @param {string} columnId the column id * @returns {boolean} true if cell should be skipped */ private shouldSkipCell; /** * Get rowspan count for a cell * @param {string} columnId the column id * @returns {number} rowspan count */ private getRowspan; /** * Return the cells' markup * @returns {string} The html string for the row */ cellsHTML(): string; /** * Get the cell HTMLElement * @param {number} columnIndex the zero-based column index * @returns {IdsDataGridCell} html element for cell */ cellByIndex(columnIndex: number): IdsDataGridCell | null; /** * Get the cell HTMLElement by logical column index (accounting for rowspan) * @param {number} logicalColumnIndex the zero-based logical column index * @returns {IdsDataGridCell} html element for cell */ cellByLogicalIndex(logicalColumnIndex: number): IdsDataGridCell | null; /** * Is this row currently expanded * @returns {boolean} true if expanded */ isExpanded(): boolean; /** * Expand the row element */ doExpand(): void; /** * Collapse the row element */ doCollapse(): void; }