UNPKG

core-cde

Version:

116 lines (115 loc) 4.05 kB
import { CellValue, RawCellContent } from 'hyperformula'; import { EventDispatcher } from '../../events/Events.module'; import * as DM from '../Data.module'; export interface DataViewJSON { sort: DM.SortInfoJSON[]; page: DM.PageInfoJSON; filter: DM.FilterExprestionJSON; uniqueName: string; idTable?: string; } export declare class DataView { uniqueName: string; private static _counter; private _hashCode; private _sort; private _page; private _filter; private _table; private _rows; /** * Событие, происходящее при изменении информации о страницах */ private readonly _onPageInfoChanged; get onPageInfoChanged(): EventDispatcher<PageInfoChangedArg>; /** * Событие, происходящее при изменении информации о фильтрации */ private readonly _onFilterChanged; get onFilterChanged(): EventDispatcher<FilterChangedArg>; /** * Событие, происходящее при изменении информации о сортировке */ private readonly _onSortInfoChanged; get onSortInfoChanged(): EventDispatcher<SortInfoChangedArg>; get hashCode(): number; constructor(uniqueName: string, table: DM.DataTable); static fromJSON(json: DataViewJSON | string): DataView; toJSON(): DataViewJSON; /** * Объект таблицы */ get table(): DM.DataTable; set table(value: DM.DataTable); private onTableDataRowAdded; private onTableDataRowRemoved; private onTableValuesUpdated; /** * Объект разбиения на страницы */ get page(): DM.PageInfo | null; set page(value: DM.PageInfo | null); /** * Массив описателей сортировки */ get sort(): DM.SortInfo[] | null; set sort(value: DM.SortInfo[] | null); /** * Выражение фильтрации */ get filter(): DM.FilterExprestion | null; set filter(value: DM.FilterExprestion | null); /** * По индексу записи в представлении возвращает индекс записи в таблице * @param viewRow Индекс записи в представлении */ getOriginalIndex(viewRow: number): number; /** * Возвращает количество записей в представлении */ get rowCount(): number; /** * Возвращает значение формулы в ячейке * @param row индекс строки * @param col индекс колонки */ getCellFormula(row: number, col: number): string; /** * Возвращает расчитанное значение ячейки * @param row индекс строки * @param col индекс колонки */ getCellValue(row: number, col: number): CellValue; setCellValue(row: number, col: number, value: RawCellContent): void; getPage(): DM.DataRow[]; private resetRows; private createRows; private onPageInfoPropertyChanged; private processFilter; private processSort; private processPage; private predicate; private blank; private notBlank; private equal; private notEqual; private between; private notBetween; private contains; private notContains; private greate; private less; private startWith; } export declare class PageInfoChangedArg { newPageInfo: DM.PageInfo | null; constructor(newPageInfo: DM.PageInfo | null); } export declare class FilterChangedArg { newFilter: DM.FilterExprestion | null; constructor(newFilter: DM.FilterExprestion | null); } export declare class SortInfoChangedArg { newSort: DM.SortInfo[] | null; constructor(newSort: DM.SortInfo[] | null); }