UNPKG

core-cde

Version:

116 lines (115 loc) 3.62 kB
/// <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 {};