@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
97 lines (96 loc) • 5.11 kB
TypeScript
import { IApp } from "@docsvision/webclient/App";
import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models";
import "@docsvision/webclient/Legacy/NativeFunctions";
import { $StandardControllers } from "@docsvision/webclient/Legacy/StandardControllers";
import { $StandardServices } from "@docsvision/webclient/StandardServices";
import { FieldSpec } from '@docsvision/webclient/System/GetFieldName';
import { IBasicEvent } from "@docsvision/webclient/System/IBasicEvent";
import { Factories, ServiceContainer, ServiceGetter, ServiceSetter } from "@docsvision/web/core/services";
/** Входная точка приложения Web-клиента. */
export declare class Application extends ServiceContainer implements IApp {
private localization;
private static logEnabled;
private static isIE;
private static routeTimestampVal;
private static isMobileSafary;
private static isIOS;
private static webViewIOSEnabled;
private previousLogTimestamp;
private appCreatedTimestamp;
constructor();
get isInitialized(): boolean;
logTimestamp(message: string): void;
/** Экземпляр приложения Web-клиента. */
static Instance: Application & $StandardControllers & $StandardServices;
/**
* Регистрирует сервис через вызов `app.registerService` при инициализации приложения (по событию {@link AppInitialized}).
*
* @see {@link ServiceContainer.registerService}
*/
static registerService<T>(name: FieldSpec<any, T>, service: T, meta?: object): void;
/**
* Регистрирует сервис через вызов `app.registerServiceFactory` при инициализации приложения (по событию {@link AppInitialized}).
*
* @see {@link ServiceContainer.registerServiceFactory}
*/
static registerServiceFactory<T>(name: FieldSpec<any, T>, serviceFactory: (services: any) => T, meta?: object): void;
/**
* Регистрирует сервис через вызов `app.registerServiceAccessors` при инициализации приложения (по событию {@link AppInitialized}).
*
* @see {@link ServiceContainer.registerServiceAccessors}
*/
static registerServiceAccessors<T>(name: FieldSpec<any, T>, get: ServiceGetter<T>, set?: ServiceSetter<T>, meta?: object): void;
/**
* Регистрирует сервис через вызов `app.addService` при инициализации приложения (по событию {@link AppInitialized}).
*
* @see {@link ServiceContainer.addService}
*/
static addService<$T>(container: $T, meta?: object): void;
/**
* Регистрирует сервис через вызов `app.addServiceFactory` при инициализации приложения (по событию {@link AppInitialized}).
*
* @see {@link ServiceContainer.addServiceFactory}
*/
static addServiceFactory<$T>(container: Factories<$T>, meta?: object): void;
/** Событие инициализации приложения. */
static get Initialized(): IBasicEvent<IApp>;
get logEnabled(): boolean;
set logEnabled(value: boolean);
static get LogEnabled(): boolean;
static set LogEnabled(value: boolean);
get routeTimestamp(): number;
updateRouteTimestamp(): void;
/** Временная метка роута - при смене роута она изменяется. */
static get RouteTimestamp(): number;
/** Обновить {@link RouteTimestamp}. */
static UpdateRouteTimestamp(): void;
/** Является ли текущий браузер мобильной версией Safary. */
get isMobileSafari(): boolean;
static get IsMobileSafari(): boolean;
/** Является ли текущая ОС iOS. */
get isIOS(): boolean;
static get IsIOS(): boolean;
/** Открыт ли ВК через WebView в ОС iOS. */
get webViewIOSEnabled(): boolean;
static get WebViewIOSEnabled(): boolean;
/** @internal */
initialize(applicationSettings: GenModels.ApplicationSettings): void;
private ApplyBrowserFixes;
/** Открыть домашнюю страницу. */
GoToDashBoard(refresh?: boolean): Promise<void>;
/** Скрыть логотип Docsvision в шапке приложения. */
HideLogo(): void;
/** Отобразить логотип Docsvision в шапке приложения. */
ShowLogo(): void;
/** Сбрасывает локальные настройки и кеши пользователя сохраненные в браузере. */
ResetSettings(): Promise<void>;
/** @deprecated */
get CompanyLogo(): HTMLElement;
set InstalledCSP(value: boolean);
private isApple;
private DetectBrowsers;
private registerNotificationListener;
isIE(): boolean;
}
export declare type App = Application;
export declare const App: typeof Application;