Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface IElement<T>

Корневой интерфейс, описывающий базовые свойства и методы всех елементов формы.

От этого интерфейса наследуются интерфейсы всех других элементов формы.

Этот интерфейс реализуют все элементы формы.

ПРИМЕР

export var baseElem: IElement = <IElement>{
    type: 'IElement',
    name: 'baseElement',                     //optional
    caption: 'Базовый элемент',              //optional
    visibility: true,                        //optional
    readonly: true,                          //optional
    justifyContent: JustifyContent.center,   //optional
    textSelect: true,                        //optional
    positionAbsolute: false,                 //optional
    alignSelf: AlignSelf.topCenter,          //optional
    alignItems: AlignItems.flexStart,        //optional
    async onBeforeLoad(event: UILoadEvent, form: IForm, elem: IElement): Promise<void>{
        console.log(`Элемент ${elem.name} перед загрузкой`);
    },                                       //optional
    async onAfterLoad(event: UILoadEvent, form: IForm, elem: IElement): Promise<void>{
        console.log(`Элемент ${elem.name} после загрузки`);
    }                                        //optional
    async onBeforeEdit(event: UIEditEvent, form: IForm, elem: IElement, item:IElement): Promise<void>{
        console.log(`Элемент ${elem.name} перед редактированием`);
    },                                       //optional
    async onAfterEdit(event: UIEditEvent, form: IForm, elem: IElement, item:IElement): Promise<void>{
        console.log(`Элемент ${elem.name} после редактирования`);
    }                                        //optional
    async onClick(event: UIMouseEvent, form: IForm, elem: IElement, item:IElement): Promise<void>{
        console.log(`Клик по элементу ${elem.name}`);
    },                                       //optional
    async onDblClick(event: UIMouseEvent, form: IForm, elem: IElement, item:IElement): Promise<void>{
        console.log(`Двойной клик по элементу ${elem.name}`);
    }                                        //optional
}

Вы можете описывать любые дополнительные свойства или методы, которые будете потом использовать. То есть использовать как обычный объект javascript.

ПРИМЕР

export var baseElem: IElement = <IElement>{
    ...,
    someProperty: string,
    setProperty: function(val: string){
        this.someProperty = val;
    }
}

function(elem: IElement) {
     elem.setProperty("Some Value");
     console.log(elem['someProperty']);
}

Type parameters

Hierarchy

Implemented by

Properties

Optional alignItems

alignItems: AlignItems

Свойство указывает как выравнивать элементы. Выравнивание происходит поперек главной оси флекс контейнера.

Добавляет атрибут align-items в HTML элемент. Если свойство не задано, то атрибут не добавляется.

См. AlignItems.

Подробное описание способов выравнивания элементов смотрите здесь.

Optional alignSelf

alignSelf: AlignSelf

Расплагает элемент в одну из девяти позиций:

  • по вертикали: top, center, bottom;
  • по горизонтали: left, center, right.

ПРИМЕР

export var list: IList = <IList>{
     ...
     alignSelf: AlignSelf.topCenter,
     ...
}

Если задано, то к html элементу добавляется соответствующий класс, например для элемента из примера topCenter.

Cм. AlignSelf

Подробное описание способов выравнивания элементов смотрите здесь.

Optional allowOverflow

allowOverflow: boolean

Свойство указывает на наличие полосы прокрутки. Если значение true, то добавляет атрибут overflow-auto в HTML элемент.

Optional bordered

bordered: boolean

Устанавливает окантовку элементу управления. По умолчанию false.

Optional caption

caption: string

Заголовок элемента.

ПРИМЕР

export var list: IList = <IList>{
     ...
     caption: "Список продуктов",
     ...
}

Заголовок отображается в верхней части элемента. Например:

<div class='app ui-list' id='a57cf348' name='productsList'>
     'Список продуктов'
     <div class='menu fixed'>...</div>
     <div class='content flexible'>...</div>
<div>

Заголовок подставляется в текст элемента, если свойство IElement.value не задано, для следующих элементов: IElement, IDataElement, IButton, IMenuItem.

defaultOptions

defaultOptions: object

Optional dom

dom: HTMLElement

Возвращает узел HTML элемента.

ПРИМЕР

export var list: IList = <IList>{
     ... ,
     onclick: function(form: IForm, elem: IList, item: IListItem): Promise<void> {
         var dom: HTMLElement = elem.dom; //IList inherit IElement
     }
}
внимание!

Зарезервированное свойство, доступное только в процессе выполнения (методах). Не указывайте его в описании элемента в JSON объекте. Если вы опишите это свойство в JSON объекте, ваше описание будет проигнорировано.

Optional flex

flex: Flex

Свойство, указывающее на способ позиционирования элемента внутри группы (по умолчанию гибкое - flexible):

  • гибкое (Flex.flexible) - элемент занимает все свободное место, В реальности элементу устанавливается свойство flex: 1 1 auto; т.е. он может растягиваться или сжиматься вдоль главной оси флекс контейнера.
  • фиксированное (Flex.fixed) - элемент занимает место ровно по своему размеру. В реальности элементу устанавливается свойство flex: 0 1 auto; т.е. он может только сжиматься вдоль главной оси флекс контейнера.

См. Flex.

Optional form

Возвращает форму (IForm), которой принадлежит элемент.

ПРИМЕР

export var list: IList = <IList>{
     ... ,
     async onClick(e: IMouseEvent, form: IForm, elem: IList, item: IListItem): Promise<boolean> {
         var _form: IForm = elem.form; //IList inherit IElement
         return true;
     }
}
внимание!

Зарезервированное свойство, доступное только в процессе выполнения (методах). Не указывайте его в описании элемента в JSON объекте. Если вы опишите это свойство в JSON объекте, ваше описание будет проигнорировано.

Optional href

href: string

Устанавливает в элемент гиперссылку

let elem: IElement = <IElement>{
 type: 'IElement',
 href: 'https://ui-organizer.ru',
 value: 'ui-organizer',
}

Результат:

 <div class='app ui-element'>
    <a href='https://ui-organizer.ru'>ui-organizer</a>
 </div>

Optional id

id: string

Возвращает идентификатор элемента. Идентификатор задается системой при создании элемента.

ПРИМЕР

export var list: IList = <IList>{
     ... ,
     async onСlick(event:UIMouseEvent, form: IForm, elem: IList, item: IListItem): Promise<void> {
         console.log(`Идентификатор элемента ${elem.id}`);
     }
}

Из идентификатора формируется атрибут id HTML элемента.

Результат следующий:

<div class="..." id="abcff8d5" />

По id, также осуществляется доступ к элементу формы из любого метода объекта:

AppManager.ActiveForm.getElementById('abcff8d5');
внимание!

Зарезервированное свойство, доступное только в процессе выполнения (методах). Не указывайте его в описании элемента в JSON объекте. Если вы опишите это свойство в JSON объекте, ваше описание будет проигнорировано.

Optional justifyContent

justifyContent: JustifyContent

Выравнивание текста внутри элемента. Так как все элементы являются флекс контейнерами, то и выравнивание внутри элемента или группы происходит с использованием HTML стиля justify-content.

Подробное описание способов выравнивания элементов смотрите здесь.

ПРИМЕР

export var someGroup: IGroup = <IGroup>{
     ...
     justifyContent: JustifyContent.start,
     ...
}

Если задано, то соответствующий класс будет добавлен к html элементу.

<div class='... left'/>
.left{
     justify-content: left
}

Optional name

name: string

Наименование элемента латиницей. Не должно содержать управляющих символов и пробелов. Необязательно.

ПРИМЕР

export var productsList: IList = <IList>{
     ...
     name: 'productsList',
     ...
}

Из названия формируется атрибут name HTML элемента.

Результат следующий:

<div class="..." name="productsList" />

По названию, также осуществляется доступ к элементу формы из любого метода объекта:

AppManager.ActiveForm.getElement('productsList');

Optional owner

Возвращает элемент (наследник IContextElement), которому принадлежит этот элемент.

ПРИМЕР

export var elem: IElement = <IElement>{
     ... ,
     async onClick(e: IMouseEvent, form: IForm, elem: IElement, item: IElement): Promise<boolean> {
         var owner: IContextElement = elem.owner;
         return true;
     }
}

Элемент:

  • либо имеет значение в свойстве owner - это значит, что создан и принадлежит какому-то элементу (например, является элементом строки IList IListItem.element), - тогда свойство parent = undefined;
  • либо имеет значение в свойстве parent - это значит, что добавлен в группу IGroup.elements, - тогда свойство owner = undefined;
  • либо оба свойства undefined - это только у формы IForm.
внимание!

Зарезервированное свойство, доступное только в процессе выполнения (методах). Не указывайте его в описании элемента в JSON объекте. Если вы опишите это свойство в JSON объекте, ваше описание будет проигнорировано.

Optional parent

Возвращает родительскую группу (IGroup), которой принадлежит элемент.

ПРИМЕР

export var list: IList = <IList>{
     ... ,
     async onClick(e: IMouseEvent, form: IForm, elem: IList, item: IListItem): Promise<boolean> {
         var form: IGroup = elem.parent; //IList inherit IElement
         return true;
     }
}

Элемент:

  • либо имеет значение в свойстве owner - это значит, что создан и принадлежит какому-то элементу (например, является элементом строки IList {@link IList.element}), - тогда свойство parent = undefined;
  • либо имеет значение в свойстве parent - это значит, что добавлен в группу IGroup.elements, - тогда свойство owner = undefined;
  • либо оба свойства undefined - это только у формы IForm.
внимание!

Зарезервированное свойство, доступное только в процессе выполнения (методах). Не указывайте его в описании элемента в JSON объекте. Если вы опишите это свойство в JSON объекте, ваше описание будет проигнорировано.

Optional positionAbsolute

positionAbsolute: boolean

Устанавливает элемент в абсолютную позицию. Чаще испльзуется для задания контекстного меню или всплывающего диалога.

ПРИМЕР

export var list: IList = <IList>{
     ...
     positionAbsolute: true,
     ...
}

Если задано, и значение true, то к html элементу добавляется класс positionAbsolute. CSS

.positionAbsolute{
     position: absolute;
}

Optional readonly

readonly: boolean

Доступность элемента только для чтения.

ПРИМЕР

export var list: IList = <IList>{
     ...
     readonly: true,
     ...
}

Если значение true, то к html элементу добавляется класс readonly.

<div class="... readonly"/>

Optional tabindex

tabindex: number

Позволяет разработчикам делать элементы управления фокусируемыми, разрешать или запрещать их последовательную фокусировку (обычно с помощью клавиши tab, отсюда и название) и определять их относительный порядок для последовательной навигации между элементами формы

Порядок навигации (при нажатии клавиши tab) следующий:

  • Элементы с положительным tabIndex фокусируются в порядке номера tabIndex. Навигация осуществляется от самого низкого tabIndex к самому высокому tabIndex.
  • Элементы, у которых tabIndex = 0, и элементы, имеющие одинаковые tabIndex значения, фокусируются в порядке их расположения на форме.
  • Элементы с отрицательным tabIndex фокусируются только программно.

Optional textSelect

textSelect: boolean

Возможность выделения текста внутри элемента на html странице.

ПРИМЕР

export var list: IList = <IList>{
     ...
     textSelect: false,
     ...
}

Если задано, и значение false, то к html элементу добавляется класс unselectable. CSS

.unselectable {
     user-select: none;
}

type

type: string | typeof RuntimeElement | typeof UIElement

Свойство, которое описывает тип объекта, который будет создан. Тип должет реализовывать этот интерфейс. В примере ниже тип UIList реализует интерфейс IList.

ПРИМЕР

export var list: IList = <IList>{
     type: 'IList',
     ...
}

По типу объекта формируется название класса HTML элемента. Для этого в начало типа добавляется префикс: "ui-".

Для html элемента объекта из примера результат следующий:

<div class="... ui-list" id="..." />

Optional value

value: any

Текст HTML элемента.

Если вы хотите установить текст HTML элемента IElement задайте значение value.

В процессе описания:

let baseElem: IElement = <IElement>{
    type: 'IElement',
    name: 'baseElem',
    value: 'Элемент' 
}

Либо в процессе выполнения:

let baseElem: IElement = <IElement>{
    type: 'IElement',
    name: 'baseElem',
    caption: 'Базовый элемент',
    onAfterLoad: async function (event: UILoadEvent, form: IForm, elem: IElement) {
        elem.value = 'Элемент';
    }   
}

Результат следующий:

<div class='app ui-element' id='a77ch448' name='baseElem'>
     'Элемент'
<div>

Если value не задано, то текст элемента принимает значение свойства IElement.caption, если caption не задан, то текст элемента принимает значение свойства IElement.name для следующих элементов: IElement, IDataElement, IButton, IMenuItem.

Если value == undefined, то значение устанавливается из данных при первоначальном заполнении и последующих вызовах метода setData() для всех наследников IDataElement.

Optional visibility

visibility: boolean

Видимость элемента.

ПРИМЕР

export var list: IList = <IList>{
     ...
     visibility: true,
     ...
}

При установке значения генерируются события:

  • "show" при visibility = true,
  • "hide" при visibility = false.

ПРИМЕР прослушивания этих событий

function addListener(elem: IElement) {
     elem.on("hide", ()=>{
         console.log("Элемент скрыт");
     })
}

Methods

Optional addClass

  • addClass(className: string): void
  • Добавляет класс к HTML элементу.

    ПРИМЕР

    function someFunction(elem: IElement) {
         elem.addClass("someClass");
    }
    

    РЕЗУЛЬТАТ

    <div class="someClass"></div>
    
    внимание!

    Зарезервированный метод, доступный только в процессе выполнения (методах). Не указывайте его в описании элемента в JSON объекте. Если вы опишите этот метод в JSON объекте, ваше описание будет проигнорировано.

    Parameters

    • className: string

    Returns void

Optional addListener

  • addListener<P, T>(event: P, listener: function): T
  • addListener(event: typeof assignmentCompatibilityHack, listener: function): void
  • Описание addListener() в StrictEventEmitter

    Type parameters

    • P: string | number | symbol

    • T

    Parameters

    • event: P
    • listener: function
        • (...args: ListenerType<T[P]>): void
        • Parameters

          • Rest ...args: ListenerType<T[P]>

          Returns void

    Returns T

  • Parameters

    • event: typeof assignmentCompatibilityHack
    • listener: function
        • (...args: any[]): any
        • Parameters

          • Rest ...args: any[]

          Returns any

    Returns void

Optional addStyle

  • addStyle(property: string, value: string): void
  • Добавляет стиль к HTML элементу.

    addStyle('color', 'grey');
    

    Добавит к HTML элементу атрибут style:

    <div class='app ui-element' style='color:grey;'>
    

    Parameters

    • property: string

      Название свойства, например: color

    • value: string

      Значение свойства, например: grey

    Returns void

Optional blur

  • blur(): Promise<void>
  • Убирает фокус с элемента.

    Returns Promise<void>

Optional edit

  • edit(elementId?: string): Promise<string>
  • Вызывает режим редактирования элемента. По завершении редактирования устанавливает значение IElement.value. Возвращает результат редактирования.

    внимание!

    Зарезервированный метод, доступный только в процессе выполнения (методах). Не указывайте его в описании элемента в JSON объекте. Если вы опишите этот метод в JSON объекте, ваше описание будет проигнорировано.

    Parameters

    • Optional elementId: string

      Идентификатор подэлемента (если есть). Если не указан, то используется идентификатор самого элемента IElement.id или идентификатор выбранного подэлемента, например, выбранная строка в списке IList.

    Returns Promise<string>

Optional emit

  • emit<P, T>(event: P, ...args: ListenerType<T[P]>): T
  • emit(event: typeof assignmentCompatibilityHack, ...args: any[]): void
  • Описание emit() в StrictEventEmitter

    Type parameters

    • P: string | number | symbol

    • T

    Parameters

    • event: P
    • Rest ...args: ListenerType<T[P]>

    Returns T

  • Parameters

    • event: typeof assignmentCompatibilityHack
    • Rest ...args: any[]

    Returns void

Optional emitWithOptions

  • emitWithOptions(eventName: string | symbol, opt: object, ...args: any[]): boolean
  • Parameters

    • eventName: string | symbol
    • opt: object
    • Rest ...args: any[]

    Returns boolean

Optional focus

  • focus(): Promise<void>
  • Устанавливает фокус на элементе.

    Returns Promise<void>

Optional getElement

  • Осуществляет поиск элемента по названию.

    внимание!

    Зарезервированный метод, доступный только в процессе выполнения (методах). Не указывайте его в описании элемента в JSON объекте. Если вы опишите этот метод в JSON объекте, ваше описание будет проигнорировано.

    Parameters

    • elemName: string

      Название элемента

    • Optional throwNotFound: boolean

      Если true, то выдает исключение.

    Returns IElement<IElementEvents>

Optional getType

  • getType(): string
  • Возвращает название типа элемента: "RuntimeElement", "RuntimeDataElement" и т.д.

    Returns string

Optional hasClass

  • hasClass(className: string): boolean
  • Проверяет наличие класса в HTML элементе.

    внимание!

    Зарезервированный метод, доступный только в процессе выполнения (методах). Не указывайте его в описании элемента в JSON объекте. Если вы опишите этот метод в JSON объекте, ваше описание будет проигнорировано.

    Parameters

    • className: string

    Returns boolean

Optional isFocused

  • isFocused(): boolean
  • Имеет ли элемент фокус.

    Returns boolean

Optional isType

  • isType(type: string | typeof UIElement): this
  • Проверяет тип элемента. Тип элемента, который определен в свойстве IElement.type.

    внимание!

    Зарезервированный метод, доступный только в процессе выполнения (методах). Не указывайте его в описании элемента в JSON объекте. Если вы опишите этот метод в JSON объекте, ваше описание будет проигнорировано.

    Parameters

    • type: string | typeof UIElement

    Returns this

Optional listenerCount

  • listenerCount(eventName: EventName): number
  • Parameters

    • eventName: EventName

    Returns number

Optional off

  • off<P, T>(event: P, listener: function): T
  • off(event: typeof assignmentCompatibilityHack, listener: function): void
  • Описание removeListener() в StrictEventEmitter

    Type parameters

    • P: string | number | symbol

    • T

    Parameters

    • event: P
    • listener: function
        • (...args: ListenerType<T[P]>): void
        • Parameters

          • Rest ...args: ListenerType<T[P]>

          Returns void

    Returns T

  • Parameters

    • event: typeof assignmentCompatibilityHack
    • listener: function
        • (...args: any[]): any
        • Parameters

          • Rest ...args: any[]

          Returns any

    Returns void

Optional on

  • on<P, T>(event: P, listener: function): T
  • on<P, T>(event: P, listener: function, options?: object): T
  • on(event: typeof assignmentCompatibilityHack, listener: function): void
  • Описание on() в StrictEventEmitter

    Type parameters

    • P: string | number | symbol

    • T

    Parameters

    • event: P
    • listener: function
        • (...args: ListenerType<T[P]>): void
        • Parameters

          • Rest ...args: ListenerType<T[P]>

          Returns void

    Returns T

  • Type parameters

    • P: string | number | symbol

    • T

    Parameters

    • event: P
    • listener: function
        • (...args: ListenerType<T[P]>): void
        • Parameters

          • Rest ...args: ListenerType<T[P]>

          Returns void

    • Optional options: object

    Returns T

  • Parameters

    • event: typeof assignmentCompatibilityHack
    • listener: function
        • (...args: any[]): any
        • Parameters

          • Rest ...args: any[]

          Returns any

    Returns void

Optional onAfterEdit

  • Этот метод вызывается после редактирования элемента в результате вызова метода IElement.edit.

    Для получения или изменения значения после редактирования используйте UIEditEvent.value.

    По завершении метода результат редактирования UIEditEvent.value будет подставлен в IElement.value.

    Так как редактирование завершено вызов UIEditEvent.stop игнорируется.

    На данные (если элемент - наследник IDataElement) возвращаемое значение никак не влияет. Если вы хотите изменить данные элемента вызывайте метод this.setData(...).

    ПРИМЕР

    export var form: IForm = <IForm>{
         type: 'IForm',
         name: "emptyForm",
         ...
         elements: [
             <IElement> {
                 type: 'IElement',
                 name: 'elem',
                 async onAfterEdit(editEvent:UIEditEvent, form: IForm, elem: IElement, item:IElement): Promise<void> {
                     editEvent.value = 'prefix-' + editEvent.value;
                 }
             }
         ],
    }
    

    Перед выполнением метода генерируется событие afterEdit.

    Метод не вызывается, если в методе onBeforeEdit() вызван UIEditEvent.stop.

    Parameters

    • editEvent: UIEditEvent

      Объект для управлиения событием onBeforeedit.

    • form: IForm<IFormEvents>

      Объект формы, которая содержит элемент.

    • elem: IElement<IElementEvents>

      Текущий элемент формы, для которого вызывается метод.

    • item: IElement<IElementEvents>

      Подэлемент, если у элемента редактируется подэлемент (например, в IList или IGroup).

    Returns Promise<void>

Optional onAfterLoad

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

    ПРИМЕР

    export var form: IForm = <IForm>{
         type: 'IForm',
         name: "emptyForm",
         caption: "Пустая форма",
         ...
         elements: [],
         async onAfterLoad(event: UILoadEvent, form: IForm, elem: IElement): Promise<void> {
             console.log(`Форма ${form.name} после загрузки`);
         }
    }
    

    Перед выполнением метода генерируется событие afterLoad.

    Метод не вызывается, если в методе IElement.onBeforeLoad или событии IElementEvents.beforeLoad вызвали UILoadEvent.stop.

    Parameters

    • event: UILoadEvent

      Объект события загузки.

    • form: IForm<IFormEvents>

      Объект формы, которая содержит элемент.

    • elem: IElement<IElementEvents>

      Текущий элемент формы, для которого вызывается метод.

    Returns Promise<void>

Optional onBeforeEdit

  • Этот метод вызывается перед редактированием элемента в результате вызова метода IElement.edit.

    Для получения значения до изменения используйте UIEditEvent.value.

    Для отмены редактирования выполните UIEditEvent.stop.

    ПРИМЕР:

    export var form: IForm = <IForm>{
         type: 'IForm',
         name: "emptyForm",
         ...
         elements: [
             <IElement> {
                 type: 'IElement',
                 name: 'elem',
                 async onBeforeEdit(editEvent:UIEditEvent, form: IForm, elem: IElement, item:IElement): Promise<void> {
                     console.log(`Значение перед редактированием: ${editEvent.value}`);
                     if (editEvent.value === '') {
                         editEvent.stopPropagation();//Отменить редактирование
                     }
                 }
             }
         ],
    }
    

    Перед выполнением метода генерируется событие beforeEdit.

    Parameters

    • editEvent: UIEditEvent

      Объект для управлиения событием onBeforeedit.

    • form: IForm<IFormEvents>

      Объект формы, которая содержит элемент.

    • elem: IElement<IElementEvents>

      Текущий элемент формы, для которого вызывается метод.

    • item: IElement<IElementEvents>

      Подэлемент, если у элемента редактируется подэлемент (например, в IList или IGroup).

    Returns Promise<void>

Optional onBeforeLoad

  • Этот метод вызывается перед загрузкой элемента, для каждого элемента формы.

    ПРИМЕР

    export var form: IForm = <IForm>{
         type: 'IForm',
         name: "emptyForm",
         caption: "Пустая форма",
         ...
         elements: [],
         async onBeforeLoad(event: UILoadEvent, form: IForm, elem: IElement): Promise<void> {
             console.log(`Форма ${form.name} перед загрузкой`);
         }
    }
    

    Перед выполнением метода генерируется событие IElementEvents.beforeLoad.

    Если вы хотите получить данные, переданные в событие onBeforeLoad, или хотите остановить загрузку элемента, используйте объект event: UILoadEvent, соответственно UILoadEvent.data и UILoadEvent.stop.

    Parameters

    • event: UILoadEvent

      Объект события загузки.

    • form: IForm<IFormEvents>

      Объект формы, которая содержит элемент. В примере form будет иметь тип IForm.

    • elem: IElement<IElementEvents>

      Текущий элемент формы, для которого вызывается метод. В примере elem будет иметь тип IForm и будет совпадать с form.

    Returns Promise<void>

Optional onBlur

  • Метод вызывается при потере фокуса элементом в следующих случаях:

    • при клике мыши на другом элементе (если на другом элементе установлено свойство tabindex),
    • при переключении между элементами с помощью клавиатуры,
    • при вызове метода IElement.blur.

    Перед выполнением метода генерируется событие IElementEvents.blur.

    Сначала происходит погружение от элемента ко всем подэлементам, т.е. метод onBlur вызывается сначала у элемента, потом по всей иерархии вложенных элементов с фокусом. Затем всплытие от вложенного элемента с фокусом к элементу. При всплытии метод onBlur не вызывается.

    Parameters

    • event: UIFocusEvent
    • form: IForm<IFormEvents>

      Объект формы, которая содержит элемент.

    • elem: IElement<IElementEvents>

      Элемент формы, на котором происходит событие.

    • item: IElement<IElementEvents>

      Подэлемент, если элемент формы включает другие элементы (например, подэлемент IList - элемент IListItem).

    Returns Promise<void>

Optional onClick

  • Этот метод вызывается при клике мыши по элементу.

    ПРИМЕР

    export var sendButton: IElement = <IElement>{
         type: 'IElement',
         name: 'elem',
         ...
         async onClick(event: UIMouseEvent, form: IForm, elem: IElement, item: IElement: Promise<void> {
             console.log(`Клик по элементу  ${elem.name}!`);
             return;
         }
    }
    

    Перед выполнением метода генерируется событие click.

    Parameters

    • event: UIMouseEvent
    • form: IForm<IFormEvents>

      Объект формы, которая содержит элемент.

    • elem: IElement<IElementEvents>

      Элемент формы, на котором клик.

    • item: IElement<IElementEvents>

      Подэлемент, на котором клик, если элемент формы включает другие элементы (например, подэлемент IList - элемент IListItem).

    Returns Promise<void>

Optional onDblClick

  • Этот метод вызывается при двойном клике мыши по элементу.

    ПРИМЕР

    export var sendButton: IElement = <IElement>{
         type: 'IElement',
         name: 'elem',
         ...
         async ondblClick(event: UIMouseEvent, form: IForm, elem: IElement, item: IElement: Promise<void> {
             console.log(`Двойной клик по элементу  ${elem.name}!`);
             return;
         }
    }
    

    Перед выполнением метода генерируется событие dblclick.

    Parameters

    • event: UIMouseEvent
    • form: IForm<IFormEvents>

      Объект формы, которая содержит элемент.

    • elem: IElement<IElementEvents>

      Элемент формы, на котором клик.

    • item: IElement<IElementEvents>

      Подэлемент, на котором клик, если элемент формы включает другие элементы (например, подэлемент IList - элемент IListItem).

    Returns Promise<void>

Optional onFocus

  • Фокус на IElement появляется при клике и при навигации клавишами, только если установлено свойство tabindex, кроме IElements, являющихся подэлементом IList, ITable. Для них фокус если IList и ITable с tabindex.

    Метод вызывается при фокусе на элементе в следующих случаях:

    • при клике мыши (если установлено свойство tabindex),
    • при переключении между элементами с помощью клавиатуры (если установлено свойство tabindex),
    • при вызове метода IElement.focus.

    Перед выполнением метода генерируется событие IElementEvents.focus.

    Сначала происходит погружение от формы к элементу, т.е. метод onFocus вызывается сначала у формы, потом по всей иерархии вложенных элементов. Затем всплытие от элемента к форме. При всплытии метод onFocus не вызывается.

    Parameters

    • event: UIFocusEvent
    • form: IForm<IFormEvents>

      Объект формы, которая содержит элемент.

    • elem: IElement<IElementEvents>

      Элемент формы, на котором происходит событие.

    • item: IElement<IElementEvents>

      Подэлемент, если элемент формы включает другие элементы (например, подэлемент IList - элемент IListItem).

    Returns Promise<void>

Optional onKeyDown

  • Метод вызывается при нажатии клавиши на элементе, на котором установлен фокус (IElement.focus):

    Перед выполнением метода генерируется событие IElementEvents.keydown.

    Сначала происходит погружение от формы к элементу с фокусом, т.е. метод onKeyDown вызывается сначала у формы, потом по всей иерархии вложенных элементов до элемента с фокусом. Затем всплытие от элемента с фокусом к форме. При всплытии метод onKeyDown не вызывается.

    Parameters

    • event: UIKeyboardEvent
    • form: IForm<IFormEvents>

      Объект формы, которая содержит элемент.

    • elem: IElement<IElementEvents>

      Элемент формы, на котором происходит событие.

    • item: IElement<IElementEvents>

      Подэлемент, если элемент формы включает другие элементы с фокусом (например, подэлемент IList - элемент IListItem).

    Returns Promise<void>

Optional onKeyUp

  • Метод вызывается при отпускании клавиши на элементе, на котором установлен фокус (IElement.focus):

    Перед выполнением метода генерируется событие IElementEvents.keyup.

    Сначала происходит погружение от формы к элементу с фокусом, т.е. метод onKeyUp вызывается сначала у формы, потом по всей иерархии вложенных элементов до элемента с фокусом. Затем всплытие от элемента с фокусом к форме. При всплытии метод onKeyUp не вызывается.

    Parameters

    Returns Promise<void>

Optional once

  • once<P, T>(event: P, listener: function): T
  • once(event: typeof assignmentCompatibilityHack, listener: function): void
  • Описание once() в StrictEventEmitter

    Type parameters

    • P: string | number | symbol

    • T

    Parameters

    • event: P
    • listener: function
        • (...args: ListenerType<T[P]>): void
        • Parameters

          • Rest ...args: ListenerType<T[P]>

          Returns void

    Returns T

  • Parameters

    • event: typeof assignmentCompatibilityHack
    • listener: function
        • (...args: any[]): any
        • Parameters

          • Rest ...args: any[]

          Returns any

    Returns void

Optional prependListener

  • prependListener<P, T>(event: P, listener: function): T
  • prependListener(event: typeof assignmentCompatibilityHack, listener: function): void
  • Описание prependListener() в StrictEventEmitter

    Type parameters

    • P: string | number | symbol

    • T

    Parameters

    • event: P
    • listener: function
        • (...args: ListenerType<T[P]>): void
        • Parameters

          • Rest ...args: ListenerType<T[P]>

          Returns void

    Returns T

  • Parameters

    • event: typeof assignmentCompatibilityHack
    • listener: function
        • (...args: any[]): any
        • Parameters

          • Rest ...args: any[]

          Returns any

    Returns void

Optional prependOnceListener

  • prependOnceListener<P, T>(event: P, listener: function): T
  • prependOnceListener(event: typeof assignmentCompatibilityHack, listener: function): void
  • Описание prependOnceListener() в StrictEventEmitter

    Type parameters

    • P: string | number | symbol

    • T

    Parameters

    • event: P
    • listener: function
        • (...args: ListenerType<T[P]>): void
        • Parameters

          • Rest ...args: ListenerType<T[P]>

          Returns void

    Returns T

  • Parameters

    • event: typeof assignmentCompatibilityHack
    • listener: function
        • (...args: any[]): any
        • Parameters

          • Rest ...args: any[]

          Returns any

    Returns void

Optional rawListeners

  • rawListeners(eventName: EventName): EventHandler[]
  • Parameters

    • eventName: EventName

    Returns EventHandler[]

Optional removeClass

  • removeClass(className: string): void
  • Удаляет класс из HTML элемента.

    внимание!

    Зарезервированный метод, доступный только в процессе выполнения (методах). Не указывайте его в описании элемента в JSON объекте. Если вы опишите этот метод в JSON объекте, ваше описание будет проигнорировано.

    Parameters

    • className: string

    Returns void

Optional removeListener

  • removeListener<P, T>(event: P, listener: function): T
  • removeListener(event: typeof assignmentCompatibilityHack, listener: function): void
  • Описание removeListener() в StrictEventEmitter

    Type parameters

    • P: string | number | symbol

    • T

    Parameters

    • event: P
    • listener: function
        • (...args: ListenerType<T[P]>): void
        • Parameters

          • Rest ...args: ListenerType<T[P]>

          Returns void

    Returns T

  • Parameters

    • event: typeof assignmentCompatibilityHack
    • listener: function
        • (...args: any[]): any
        • Parameters

          • Rest ...args: any[]

          Returns any

    Returns void

Optional removeStyle

  • removeStyle(property: string): void
  • Удаляет стиль из HTML элемента

    Parameters

    • property: string

      Название стиля, например: color

    Returns void

Optional stopEdit

  • stopEdit(): void
  • Останавливает редактирование элемента.

    внимание!

    Зарезервированный метод, доступный только в процессе выполнения (методах). Не указывайте его в описании элемента в JSON объекте. Если вы опишите этот метод в JSON объекте, ваше описание будет проигнорировано.

    Returns void

Generated using TypeDoc