UNPKG

core-cde

Version:

236 lines (235 loc) 9.29 kB
import { CellValue, RawCellContent, SimpleCellAddress } from 'hyperformula'; import { IWithId } from '../../stateChanger/StateChanger.module'; import { EventDispatcher } from '../../events/Events.module'; import * as DM from '../Data.module'; export interface DataTableJSON { columns: DM.DataColumn[]; rows: DM.DataRow[]; uniqueName: string; id: string; } export declare class DataTable implements IWithId { private static _hashCounter; private _hashCode; private _columns; private _rows; private _sheetId; private _uniqueName; private _ds; id: string; get hashCode(): number; private _onDataRowAdded; get onDataRowAdded(): EventDispatcher<DataRowAddedArg>; private _onDataRowRemoved; get onDataRowRemoved(): EventDispatcher<DataRowRemovedArg>; private _onDataColumnAdded; get onDataColumnAdded(): EventDispatcher<DataColumnAddedArg>; private _onDataColumnRemoved; get onDataColumnRemoved(): EventDispatcher<DataColumnRemovedArg>; /** * Конструктор. Не предназначен для использования внешним кодом. * Следует использовать DataTable.createNew(), DataSet.addTable() */ constructor(); static createNew(dataSet: DM.DataSet, uniqueName: string, id?: string): DataTable; static fromJSON(json: DataTableJSON | string): DataTable; toJSON(): DataTableJSON; private onDataSetValuesUpdated; /** * Возвращает объект набора данных, к которому принадлежит таблица */ get dataSet(): DM.DataSet; /** * Возвращает уникальное имя таблицы */ get uniqueName(): string; /** * Задает уникальное имя таблицы */ set uniqueName(value: string); /** * Задает значение идентификатора листа в HyperFormula */ get sheetId(): number; /** * Возвращает значение идентификатора листа в HyperFormula */ set sheetId(value: number); get columns(): DM.DataColumn[]; get columnCollection(): DM.DataColumnCollection; get rowCollection(): DM.DataRowCollection; /** * Возвращает количество колонок */ get columnsCount(): number; /** * Возвращает объект колонки * @param index Индекс колонки */ getColumnByIndex(index: number): DM.DataColumn; /** * Возвращает колонку по имени. Если не найдено - возвращает undefined */ getColumnByName(columnName: string): DM.DataColumn; /** * Вставляет колонку в таблицу в указанной позиции * @param index Индекс по которому будет вставлена колонка * @param columnName Имя колонки * @param dataType Тип данных. По умолчанию - string */ insertColumn(index: number, columnName: string, dataType?: DM.DataType, values?: RawCellContent[]): DM.DataColumn; /** * Добавляет колонку в таблицу * @param columnName Имя колонки * @param dataType Тип данных. По умолчанию - string */ addColumn(columnName: string, dataType?: DM.DataType): DM.DataColumn; /** * Изменить тип колонки * @param column Название колонки * @param type Тип колонки * @returns Колонка */ changeTypeColumn(name: string, type: DM.DataType): DM.DataColumn; /** * Изменить тип колонки * @param index Index колонки * @param type Тип колонки * @returns Колонка */ changeTypeColumn(index: number, type: DM.DataType): DM.DataColumn; /** * Изменить тип колонки * @param column Колонка * @param type Тип колонки * @returns Колонка */ changeTypeColumn(column: DM.DataColumn, type: DM.DataType): DM.DataColumn; /** * Удаляет колонку и возвращает количество удаленных колонок */ removeColumn(column: DM.DataColumn): number; /** * Удаляет колонку по индексу и возвращает количество удаленных колонок */ removeColumnByIndex(index: number): number; /** * Удаляет колонку по имени и возвращает количество удаленных колонок */ removeColumnByName(columnName: string): number; /** * Возвращает индекс колонки по имени. Если не найдено - возвращает -1 */ getColumnOrdinal(columnName: string): number; /** * Возвращает количество строк в таблице */ get rowCount(): number; /** * Удаляет все строки таблицы */ removeAllRows(): void; /** * Не предназначен для использования внешним кодом */ addRowsItem(index: number): void; /** * Не предназначен для использования внешним кодом */ removeRowsItem(index: number): void; getCellAddress(row: number, col: number): SimpleCellAddress; /** * Возвращает оригинальные значения колонки по индексу. Если не найдено - undefined */ getColumnValues(col: number): Array<DM.DataItem>; /** * Возвращает оригинальные значения строки по индексу. Если не найдено - undefined */ getRowValues(row: number): Array<any>; getRowValuesTest(row: number): Array<DM.DataItem>; /** * Возвращает значение формулы в ячейке * @param row индекс строки * @param col индекс колонки */ getCellFormula(row: number, col: number): string; /** * Возвращает рассчитанное значение ячейки * @param row Индекс строки * @param col Индекс колонки */ getCellValue(row: number, col: number): CellValue; /** * Задает оригинальное значение ячейки * @param row Индекс строки * @param col Индекс колонки * @param value Значение */ setCellValue(row: number, col: number, value: RawCellContent): void; private assignDataRowsToSheet; refreshAfterRestore(): void; getRowIndex(row: DM.DataRow): number; /** * Возвращает коллекцию записей таблицы */ getRowCollection(): DM.DataRowCollection; /** * Возвращает расчитанные значения строки по индексу. Если не найдено - undefined * @param index Индект строки */ getRowSheetValues(index: number): RawCellContent[]; /** * Добавить новую запись */ addRow(values?: RawCellContent[]): DM.DataRow; /** * Вставляет новую запись по указанному индексу */ insertRow(index: number, values?: RawCellContent[]): DM.DataRow; private addRowToHyperformulaShadow; private addRowToHyperformula; /** * Удалить запись */ removeRow(index: number): number; /** * Возвращает рассчитанные значения таблицы */ getSheetValues(): RawCellContent[][]; /** * Задает DataSet для таблицы */ setDataSet(dataSet: DM.DataSet | null): void; /** * Получить новое имя для колонки * @param indexColumn Index колонки * @returns Имя колонки */ generationColumnName(indexColumn: number): string; private throwIfDataSetIsNull; private isDataSetEmpty; private raiseDataRowAdded; private raiseDataRowRemoved; private raiseDataColumnAdded; private raiseDataColumnRemoved; } export declare class DataRowAddedArg { sender: any; row: DM.DataRow; constructor(sender: any, row: DM.DataRow); } export declare class DataRowRemovedArg { sender: any; row: DM.DataRow; constructor(sender: any, row: DM.DataRow); } export declare class DataColumnAddedArg { sender: any; column: DM.DataColumn; constructor(sender: any, column: DM.DataColumn); } export declare class DataColumnRemovedArg { sender: any; column: DM.DataColumn; constructor(sender: any, column: DM.DataColumn); }