@rdkmaster/jigsaw-labs
Version:
Jigsaw, the next generation component set for RDK
141 lines (140 loc) • 4.43 kB
TypeScript
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnDestroy, OnInit, Renderer2 } from "@angular/core";
import { AbstractJigsawComponent } from "../common";
import { TableData } from "../../core/data/table-data";
import { AdditionalColumnDefine, ColumnDefine, ColumnDefineGenerator, SortChangeEvent, TableCellSetting, TableDataChangeEvent, TableHeadSetting } from "./table-typings";
import { PerfectScrollbarDirective } from "ngx-perfect-scrollbar";
export declare class JigsawTable extends AbstractJigsawComponent implements OnInit, AfterViewInit, OnDestroy {
private _renderer;
private _elementRef;
private _zone;
private _changeDetectorRef;
constructor(_renderer: Renderer2, _elementRef: ElementRef, _zone: NgZone, _changeDetectorRef: ChangeDetectorRef);
_$isFFBrowser: any;
width: string;
sort: EventEmitter<SortChangeEvent>;
private _contentWidth;
contentWidth: string;
hideHeader: boolean;
private _selectedRow;
selectedRow: number;
selectChange: EventEmitter<number>;
selectedRowChange: EventEmitter<number>;
private _getColumnIndex(field);
private _getHeaderValueByField(field);
/**
* @internal
*/
_$headerSettings: TableHeadSetting[];
private _headerSettingsBackup;
private _updateHeaderSettings(columnDefines);
/**
* 没有cellData generator获取数据的情况
* @param {string} field
* @param {number} row
* @returns {any}
* @private
*/
private _getCellDataByField(field, row);
private _updateAdditionalData(field, row, cellData);
/**
* @internal
*/
_$cellSettings: TableCellSetting[][];
private _cellSettingsBackup;
private _updateCellSettings(columnDefines);
/**
* 生成混合后的列定义序列
* @returns {ColumnDefine[]}
* @private
*/
private _getMixedColumnDefines();
update(): void;
private _additionalData;
additionalData: TableData;
additionalDataChange: EventEmitter<TableData>;
private _trackRowBy;
trackRowBy: string;
private _removeTableDataRefresh;
private _removeAdditionalDataRefresh;
private _data;
data: TableData;
dataChange: EventEmitter<TableDataChangeEvent>;
columnDefines: ColumnDefine[] | ColumnDefineGenerator;
columnDefineGeneratorContext: any;
private _additionalColumnDefines;
additionalColumnDefines: AdditionalColumnDefine[];
private _columnDefineGenerator(field, index);
doubleClick: EventEmitter<number>;
/**
* @internal
*/
_$handleRowDoubleClick(rowIndex: number): void;
private _rowElementRefs;
/**
* @internal
*/
_$clickRow(rowIndex: number): void;
private _selectRow(rowIndex, suppressEvent?);
floatingHeader: boolean;
private _removeWindowScrollListener;
private _removeWindowResizeListener;
private _addWindowListener();
resize(): void;
private _tableHeaderElement;
private _fixHeaderTop();
private _removeWindowListener();
private _headerComponents;
/**
* @internal
*/
_$onSort(sortInfo: any): void;
private _initAdditionalData();
contentScrollbar: PerfectScrollbarDirective;
private _bodyScrollbar;
/**
* @internal
*/
_$noDataSrc: string;
/**
* 根据内容计算自适应列宽
* @private
*/
private _calculateContentWidth();
/**
* 处理滚动条
* @private
*/
private _handleScrollBar();
/**
* 校正表头表体的宽度
* @private
*/
private _calibrateTable();
private _yScrollbarElement;
/**
* 设置纵向滚动条位置
* @private
*/
private _setVerticalScrollbarOffset();
/**
* 找到纵向滚动条,并设置初始位置
* @private
*/
private _initVerticalScroll();
/**
* 当内容数据变化时,刷新一下滚动条
* @private
*/
private _updateScrollbar();
private _removeHorizontalScrollListener;
/**
* 监听横向滚动事件,更新纵向滚动条的位置
* @private
*/
private _listenHorizontalScroll();
ngAfterViewInit(): void;
ngOnInit(): void;
ngOnDestroy(): void;
}
export declare class JigsawTableModule {
}