Options
All
  • Public
  • Public/Protected
  • All
Menu

Class UIAppManager

Hierarchy

  • UIAppManager

Implements

Constructors

constructor

Properties

Private _activeForm

_activeForm: IForm<IFormEvents> = ...

Private _appDom

_appDom: HTMLElement = ...

Private _fullViewPort

_fullViewPort: boolean = true

Private _id

_id: string

_isReady

_isReady: boolean

Private _parent

_parent: HTMLElement = null

Private _serverSideRendering

_serverSideRendering: boolean = false

Private _serverUrl

_serverUrl: string

Private _ssrModules

_ssrModules: object[]

additionalContext

additionalContext: any = ...

appPrefix

appPrefix: string = 'app'

Префикс приложения. По умолчанию app. В HTMLElement каждого элемента устанавливается класс ${prefix}.

forms

forms: IForms = ...

Объект, каждое свойство которого соответствует одной форме, добавленной в приложение. Ключ свойства - название формы. Значение свойства - объект формы.

let form: Organizer.IForm = AppManager.forms[formName];

loadedForms

loadedForms: object = {}

mdToHtml

mdToHtml: MdToHtml

onPopState

onPopState: function

Type declaration

    • (event: PopStateEvent): Promise<void>
    • Parameters

      • event: PopStateEvent

      Returns Promise<void>

viewPrefix

viewPrefix: string = 'view'

warnings

warnings: boolean = false

Accessors

activeForm

  • Свойство возвращает активную форму.

    ВНИМАНИЕ! Форма активизируется после выполнения _onLoad каждого элемента формы. Соответственно, в методe {@link Organizer.IElement.onBeforeLoad} и событии IElementEvents.beforeLoad это свойство возвращает {} или другую форму. В этом случае используйте form, передаваемую в обработчик.

    export var baseElem: Organizer.IElement = <Organizer.IElement>{
        type: 'Organizer.IElement',
        ...
        async onBeforeLoad(event: UILoadEvent, form: Organizer.IForm, elem: Organizer.IElement): Promise<void>{
            let noForm = AppManager.activeform;//Либо {}, либо другая форма
            let thisForm = form;//Текущая форма
        }, 
    }        
    

    Returns IForm<IFormEvents>

fullViewPort

  • get fullViewPort(): boolean
  • set fullViewPort(val: boolean): void
  • Если свойство установлено в true, то форма по высоте вписана в видимую область экрана. Это определяется css:

    .fullViewPort {
        height: 100vh;
    }
    

    Returns boolean

  • Если свойство установлено в true, то форма по высоте вписана в видимую область экрана. Это определяется css:

    .fullViewPort {
        height: 100vh;
    }
    

    Parameters

    • val: boolean

    Returns void

id

  • get id(): string
  • Идентификатор AppManager

    Returns string

isReady

  • get isReady(): boolean
  • Returns boolean

onServer

  • get onServer(): boolean
  • Returns boolean

parent

  • get parent(): HTMLElement
  • Returns HTMLElement

serverUrl

  • get serverUrl(): string
  • set serverUrl(val: string): void
  • Returns string

  • Parameters

    • val: string

    Returns void

ssrModules

  • get ssrModules(): any[]
  • set ssrModules(val: any[]): void
  • get и set ssrModules используется только в Renderer.

    Returns any[]

  • get и set ssrModules используется только в Renderer.

    Parameters

    • val: any[]

    Returns void

Methods

_activate

  • Parameters

    Returns Promise<void>

Private _loadForm

  • _loadForm(formName: string, data: any, toView?: boolean, additionalContext?: any): Promise<RuntimeForm>
  • Parameters

    • formName: string
    • data: any
    • toView: boolean = false
    • additionalContext: any = ...

    Returns Promise<RuntimeForm>

_onPopState

  • _onPopState(event: PopStateEvent): Promise<void>
  • Parameters

    • event: PopStateEvent

    Returns Promise<void>

_open

_open_init

  • _open_init(): Promise<void>
  • Returns Promise<void>

_removeDom

  • _removeDom(): void
  • Returns void

_setData

  • _setData(formName: string, data: any): Promise<void>
  • Parameters

    • formName: string
    • data: any

    Returns Promise<void>

Private _setParentDom

  • _setParentDom(dom: HTMLElement): void
  • Parameters

    • dom: HTMLElement

    Returns void

activate

  • Включает видимость формы.

    Выполняется только в браузере, даже при использовании SSR.

    Parameters

    • formName: string

      Название формы

    • Optional caller: IForm<IFormEvents>

    Returns Promise<void>

add

  • Метод добавляет описание формы в приложение. Только после этого форму можно загрузить, установить данные и активировать.

     import { AppManager } from "ui-organizer";     
     import { form } from "./simple";//Импортируем описание формы
    
     ...
     AppManager.add([form]); //Добавляем форму в список форм приложения
     AppManager.open('simpleForm', {}, undefined); //Открываем форму и передаем ей данные
    
    

    Parameters

    Returns void

back

  • back(): void
  • Метод эмулирует нажатие кнопки "Назад" браузера. Это важно, когда вы из одной формы открываете другую форму, в истории сохраняется открытая форма.

    Returns void

close

  • close(formName: string): Promise<any>
  • Метод закрывает форму, удаляет HTMLElement, связанный с этой формой. А также удаляет саму форму из приложения.

    Parameters

    • formName: string

    Returns Promise<any>

forward

  • forward(): void
  • Метод эмулирует нажатие кнопки "Вперед" браузера. Это важно, когда вы из одной формы открываете другую форму, в истории сохраняется открытая форма.

    Returns void

go

  • go(num: number): void
  • Относительное перемещение в истории, куда вы хотите переместиться. Отрицательные значения перемещают назад, а положительные — вперёд. Например, AppManager.go(2) перемещает вперёд на 2 страницы, а AppManager.go(-2) перемещает на 2 страницы назад. Это важно, когда вы из одной формы открываете другую форму, в истории сохраняется открытая форма.

    Parameters

    • num: number

    Returns void

init

  • init(dom: HTMLElement, modules?: any[], serverUrl?: string): Promise<void>
  • Инициализирует AppManager, подключает HTMLElement. Зависит от SSR (серверный рендеринг).

    Когда вызывается на сервере при SSR, устанавливает в родительский HTMLElement

    .

    Когда вызывается *на клиенте, проверяет:

    • если использован SSR, то загружает себя с сервера,
    • если SSR не используется, устанавливает в родительский HTMLElement
      .

    Parameters

    • dom: HTMLElement

      Родительский HTMLElement, к которому подключается

    • Optional modules: any[]

      Массив используемых в приложении модулей для поиска классов при сериализации. Обязательно устанавливается в приложении при сереверном рендеринге.

    • Optional serverUrl: string

      url серверного приложения. Может устанавливатся в приложении при сереверном рендеринге, если приложение запускается по пути, например, http://localhost/myapp/.

    Returns Promise<void>

load

  • Загружает форму, заполняет DOM структуру html.

    Выполняется только в браузере, даже при использовании SSR.

    Parameters

    • formName: string

      Название формы

    • data: any

      данные, которые будут доступны в onBeforeLoad и onAfterLoad

    Returns Promise<IForm<IFormEvents>>

open

  • Открывает форму:

    • загружает форму (заполняет DOM структуру html),
    • устанавливает данные,
    • включает видимость формы.

    Выполняется только в браузере, даже при использовании SSR.

    Parameters

    • formName: string

      Название формы

    • data: any

      данные, которые будут доступны в onBeforeLoad и onAfterLoad

    • Optional caller: IForm<IFormEvents>

    Returns Promise<IForm<IFormEvents>>

setData

  • setData(formName: string, data: any): Promise<void>
  • Заполняет данные формы.

    Выполняется только в браузере, даже при использовании SSR.

    Parameters

    • formName: string

      Название формы

    • data: any

      данные, которые будут доступны в onBeforeLoad и onAfterLoad

    Returns Promise<void>

setUserMarkdownParser

  • Устанавливает пользовательский обработчик текста Markdown

    Parameters

    Returns void

waitForReady

  • waitForReady(timeout?: number): Promise<boolean>
  • С интервалом в 10, в течение timeout выполняет проверку:

    • AppManager инициализирован.
    • AppManager.activeForm загружена (но может быть невидима). Работает на сервере при SSR и на клиенте

    Parameters

    • timeout: number = 20000

    Returns Promise<boolean>

Generated using TypeDoc