UNPKG

@foxpage/foxpage-manager

Version:

foxpage resource manager

73 lines (72 loc) 2.08 kB
import { Application, ContentRelationInfo, Page, PageManager, Relations, ResourceUpdateInfo } from '@foxpage/foxpage-types'; import { ManagerBaseImpl } from '../common'; import { PageInstance } from './page'; /** * page manager * * @export * @class PageManager */ export declare class PageManagerImpl extends ManagerBaseImpl<Page> implements PageManager { constructor(app: Application); /** * add page to manager * * @param {Page} page */ addPage(page: Page): PageInstance; /** * remove page from manager * * @param {string[]} pageIds */ removePages(pageIds: string[]): void; /** * get page from local first * no exist will fetch from server * * @param {string} pageId * @return {*} {(Page | undefined)} */ getPage(pageId: string): Promise<Page | undefined>; /** * get pages * * @param {string[]} pageIds * @return {*} {Promise<Page[]>} */ getPages(pageIds: string[]): Promise<Page[]>; /** * fetch draft pages * * @param {string[]} pageIds * @param {string} [locale] * @return {*} {Promise<ContentRelationInfo[]>} */ getDraftPages(pageIds: string[], locale?: string): Promise<ContentRelationInfo[]>; /** * fetch preview version pages * @param pageIds * @param version * @param locale * @return {*} {Promise<ContentRelationInfo>} */ getPreviewPages(pageId: string, version: number, locale?: string): Promise<ContentRelationInfo>; /** * fetch pages from server * * @return {*} {Promise<Page[]>} */ freshPages(pageIds?: string[]): Promise<Page[]>; /** * first request page will return the all relations * * @protected * @param {string[]} pageIds */ protected onFetch(pageIds: string[]): Promise<PageInstance[]>; protected onPull(data: ResourceUpdateInfo): Promise<void>; protected onStash(data: Relations): void; protected createInstance(data: Page): Promise<PageInstance>; private newPage; }