core-cde
Version:
116 lines (115 loc) • 4.05 kB
TypeScript
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);
}