Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface IAppManager

Интерфейс объекта AppManager, который управляет приложением.

Hierarchy

  • IAppManager

Implemented by

Properties

activeForm

activeForm: IForm<IFormEvents>

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

ВНИМАНИЕ! Форма активизируется после выполнения _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;//Текущая форма
    }, 
}        

appPrefix

appPrefix: string

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

forms

forms: IForms

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

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

Optional fullViewPort

fullViewPort: boolean

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

.fullViewPort {
    height: 100vh;
}

id

id: string

Идентификатор AppManager

Methods

activate

  • Активация формы. Форма становится видимой.

    Parameters

    • formName: string

      Название формы, которую активируем.

    • Optional caller: IForm<IFormEvents>

      Форма, которая активирует эту форму. По умолчанию undefined

    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?: object[], serverUrl?: string): Promise<void>
  • Инициализирует AppManager, подключает HTMLElement. Зависит от SSR (серверный рендеринг).

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

    .

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

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

    Parameters

    • dom: HTMLElement

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

    • Optional modules: object[]

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

    • Optional serverUrl: string

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

    Returns Promise<void>

load

  • Загрузка формы. Выполняются методы onBeforeLoad() и onAfterLoad() для всех элементов формы. Производится установка и рендеринг HTMLElement-ов всех элементов формы.

    Parameters

    • formName: string

      Название формы, которая загружается.

    • data: any

      Данные, переданные в загрузку формы.

    Returns Promise<IForm<IFormEvents>>

    Форма

onPopState

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

open

  • Метод открывает форму в приложении.

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

    Метод open выполняет три метода:

    Parameters

    • formName: string

      имя формы

    • data: object

      данные, передаваемые в форму

    • caller: IForm<IFormEvents>

      форма, из которой произведено открытие другой формы.

    Returns Promise<IForm<IFormEvents>>

    Форма

setData

  • setData(formName: string, data: any): Promise<void>
  • Загрузка данных формы. Выполняеются методы onBeforeSetData() и onAfterSetData() для всех элементов формы.

    Parameters

    • formName: string

      Название формы, которая загружает данные.

    • data: any

      Данные, переданные в форму.

    Returns Promise<void>

setUserMarkdownParser

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

    Parameters

    Returns void

Generated using TypeDoc