core-cde
Version:
116 lines (115 loc) • 3.62 kB
TypeScript
/// <reference types="node" />
import { Action } from './actions/Action';
import { LinkedListModified } from './LinqList';
import { Page } from './Page';
import { State } from './State';
import { IDocumentPageResponse, IDocumentTableResponse } from './response/IDocument.response';
import { DataSet } from '../../data/Data.module';
import EventEmitter from 'events';
interface DocumentJSON {
id: string;
name: string;
}
/**
* Класс для документа
*/
export declare class Document {
id: string;
name?: string;
/**
* Data set
*/
private _ds;
/**s
* Получаем ссылку на DataSet
*/
get ds(): DataSet;
/**
* Список пользователей которые редактируют документ
*/
usersView: any[];
/**
* Событие изменения документа
*/
$eventChangeState: EventEmitter;
/**
* Список страниц
*/
pages: LinkedListModified<Page>;
constructor(id?: string, name?: string);
/**
* Добавить страницу на документ
* @param pageResponse Страница
*/
addPage(pageResponse: IDocumentPageResponse[]): void;
/**
* Добавление таблиц в датасет
* @param resp Таблицы
*/
addTables(resp: IDocumentTableResponse[]): void;
/**
* Получить ID активной станицы
*/
get pageSelectId(): string;
/**
* Активная страница
*/
get pageSelect(): Page;
/**
* Сделать активную первую страницу
*/
firstPageActive(): void;
/**
* Сделать страницу активной по id
* @param idPage ID страницы
*/
makePageActive(id: string): void;
/**
* Получить страницу по ID
* @param id ID Страницы
* @returns Страница
*/
getPageById(id: string): Page | undefined;
/**
* Получить страницу по названию
* @param name Название страницы
* @returns Страница
*/
getPageByName(name: string): Page | undefined;
/**
* Получить новое имя для страницы
* @returns Имя страницы
*/
generatePageName(name: string): string;
private _generatePageName;
/**
* Сделать все страницы неактивными
*/
makeAllPagesInactive(): void;
/**
* Предыдущая страница
* @param idCurPage id страницы
* @returns страница
*/
prevPage(idCurPage: string): Page | null;
/**
* Следующая страница
* @param idCurPage id страницы
* @returns страница
*/
nextPage(idCurPage: string): Page | null;
/**
* Получить состояния документа/страницы/виджета от типа действия
* @param action Тип действия
* @returns Состояние документа/страницы/виджета
*/
stateSelection(action: Action<any>): State | null;
static fromJSON(json: string): Document;
toJSON(): DocumentJSON;
private _isWidget;
private _isPage;
private _isDocument;
private _findStatePageById;
private _findStateWidgetById;
}
export {};