Options
All
  • Public
  • Public/Protected
  • All
Menu

Class RuntimeImage

Hierarchy

  • RuntimeDataElement
    • RuntimeImage

Implements

Constructors

Properties

Accessors

Methods

Constructors

constructor

  • Returns RuntimeImage

Properties

Protected _alignItems

_alignItems: AlignItems

Protected _alignSelf

_alignSelf: AlignSelf

Protected _allowOverflow

_allowOverflow: boolean

Protected _bindingProperty

_bindingProperty: string

Protected _bordered

_bordered: boolean

Protected _caption

_caption: string

Protected _data

_data: any

Protected _dom

_dom: HTMLElement

Protected _domHref

_domHref: HTMLElement

Protected _domHrefFig

_domHrefFig: HTMLElement

_domIcon

_domIcon: HTMLElement

Protected _flex

_flex: Flex

Protected _focused

_focused: boolean

Protected _form

_form: RuntimeForm

Protected _href

_href: string

Protected _id

_id: string

Protected _isEditing

_isEditing: boolean

_justifyContent

_justifyContent: JustifyContent

Protected _name

_name: string

_owner

_owner: RuntimeElement

Protected _parent

_parent: RuntimeGroup

Protected _positionAbsolute

_positionAbsolute: boolean

Protected _readonly

_readonly: boolean

Protected _serverSideRendering

_serverSideRendering: boolean

Protected _size

_size: string

Protected _tabindex

_tabindex: number

Protected _textSelect

_textSelect: boolean

Protected _type

_type: string | typeof RuntimeElement

Protected _value

_value: any

Protected _valueBeforeEdit

_valueBeforeEdit: any

Protected _viewPrefix

_viewPrefix: string

Protected _visibility

_visibility: boolean

Accessors

alignItems

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

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

    См. AlignItems.

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

    Returns AlignItems

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

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

    См. AlignItems.

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

    Parameters

    Returns void

alignSelf

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

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

    ПРИМЕР

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

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

    Cм. AlignSelf

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

    Returns AlignSelf

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

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

    ПРИМЕР

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

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

    Cм. AlignSelf

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

    Parameters

    Returns void

allowOverflow

  • get allowOverflow(): boolean
  • set allowOverflow(val: boolean): void
  • Свойство указывает на наличие полосы прокрутки. Если значение true, то добавляет атрибут overflow-auto в HTML элемент.

    Returns boolean

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

    Parameters

    • val: boolean

    Returns void

bindingProperty

  • get bindingProperty(): string
  • set bindingProperty(prop: string): void
  • Свойство указывающее на данные.

    ПРИМЕР данных

    const person = {
     "firstName": "Иван",
     "secondName": "Иванович",
    }
    

    ПРИМЕР описания формы, где в коментариях указано, какие данные будет содержать элемент, после установки данных AppManager.forms.setData('dataForm', person).

    export var form: IForm = <IForm>{
        ...
        name: "dataForm",
        bindingProperty: '', //data = {"firstName": "Иван", "secondName": "Иванович"}
        elements: [
            <IProperty>{
                ...
                bindingProperty: 'firstName', //data = "Иван"
            },
            <IProperty>{
               ...
                bindingProperty: 'secondNamae', //data = "Иванович"
            },
            <IButton>{
                ...
                onClick: function () {
                    alert("Data sent!")
                }
            },
       ]
    }
    

    Как система управляет данными в элементах формы смотрите {@link UseData | здесь}

    Returns string

  • Свойство указывающее на данные.

    ПРИМЕР данных

    const person = {
     "firstName": "Иван",
     "secondName": "Иванович",
    }
    

    ПРИМЕР описания формы, где в коментариях указано, какие данные будет содержать элемент, после установки данных AppManager.forms.setData('dataForm', person).

    export var form: IForm = <IForm>{
        ...
        name: "dataForm",
        bindingProperty: '', //data = {"firstName": "Иван", "secondName": "Иванович"}
        elements: [
            <IProperty>{
                ...
                bindingProperty: 'firstName', //data = "Иван"
            },
            <IProperty>{
               ...
                bindingProperty: 'secondNamae', //data = "Иванович"
            },
            <IButton>{
                ...
                onClick: function () {
                    alert("Data sent!")
                }
            },
       ]
    }
    

    Как система управляет данными в элементах формы смотрите {@link UseData | здесь}

    Parameters

    • prop: string

    Returns void

bordered

  • get bordered(): boolean
  • set bordered(val: boolean): void
  • Устанавливает окантовку элементу управления. По умолчанию false.

    Returns boolean

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

    Parameters

    • val: boolean

    Returns void

caption

  • get caption(): string
  • set caption(val: string): void
  • Заголовок элемента.

    ПРИМЕР

    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.

    Returns 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.

    Parameters

    • val: string

    Returns void

defaultOptions

  • get defaultOptions(): object
  • set defaultOptions(val: object): void
  • Returns object

  • Parameters

    • val: object

    Returns void

dom

  • get 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
         }
    }
    

    Returns HTMLElement

domContentEditable

  • get domContentEditable(): HTMLElement
  • Returns HTMLElement

flex

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

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

    См. Flex.

    Returns Flex

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

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

    См. Flex.

    Parameters

    Returns void

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;
         }
    }
    

    Returns IForm<IFormEvents>

href

  • get href(): string
  • set href(val: string): void
  • Устанавливает в элемент гиперссылку

    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>
    

    Returns 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>
    

    Parameters

    • val: string

    Returns void

id

  • get 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');
    

    Returns string

isEditing

  • get isEditing(): boolean
  • set isEditing(val: boolean): void
  • Returns boolean

  • Parameters

    • val: boolean

    Returns void

justifyContent

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

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

    ПРИМЕР

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

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

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

    Returns JustifyContent

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

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

    ПРИМЕР

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

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

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

    Parameters

    Returns void

Private listeners

  • get listeners(): object
  • Returns object

name

  • get name(): string
  • set name(val: string): void
  • Наименование элемента латиницей. Не должно содержать управляющих символов и пробелов. Необязательно.

    ПРИМЕР

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

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

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

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

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

    AppManager.ActiveForm.getElement('productsList');
    

    Returns string

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

    ПРИМЕР

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

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

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

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

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

    AppManager.ActiveForm.getElement('productsList');
    

    Parameters

    • val: string

    Returns void

onServer

  • get onServer(): boolean
  • Returns boolean

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.

    Returns IContextElement<IContextElementEvents>

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.

    Returns IGroup<IGroupEvents>

positionAbsolute

  • get positionAbsolute(): boolean
  • set positionAbsolute(val: boolean): void
  • Устанавливает элемент в абсолютную позицию. Чаще испльзуется для задания контекстного меню или всплывающего диалога.

    ПРИМЕР

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

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

    .positionAbsolute{
         position: absolute;
    }
    

    Returns boolean

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

    ПРИМЕР

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

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

    .positionAbsolute{
         position: absolute;
    }
    

    Parameters

    • val: boolean

    Returns void

readonly

  • get readonly(): boolean
  • set readonly(val: boolean): void
  • Доступность элемента только для чтения.

    ПРИМЕР

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

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

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

    Returns boolean

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

    ПРИМЕР

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

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

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

    Parameters

    • val: boolean

    Returns void

serverSideRendering

  • get serverSideRendering(): boolean
  • Returns boolean

size

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

  • Parameters

    • val: string

    Returns void

tabindex

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

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

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

    Returns number

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

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

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

    Parameters

    • val: number

    Returns void

textSelect

  • get textSelect(): boolean
  • set textSelect(val: boolean): void
  • Возможность выделения текста внутри элемента на html странице.

    ПРИМЕР

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

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

    .unselectable {
         user-select: none;
    }
    

    Returns boolean

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

    ПРИМЕР

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

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

    .unselectable {
         user-select: none;
    }
    

    Parameters

    • val: boolean

    Returns void

type

  • get type(): string | typeof RuntimeElement
  • Свойство, которое описывает тип объекта, который будет создан. Тип должет реализовывать этот интерфейс. В примере ниже тип UIList реализует интерфейс IList.

    ПРИМЕР

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

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

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

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

    Returns string | typeof RuntimeElement

value

  • get value(): any
  • set value(val: any): void
  • Текст 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.

    Returns 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.

    Parameters

    • val: any

    Returns void

visibility

  • get visibility(): boolean
  • set visibility(val: boolean): void
  • Видимость элемента.

    ПРИМЕР

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

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

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

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

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

    Returns boolean

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

    ПРИМЕР

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

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

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

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

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

    Parameters

    • val: boolean

    Returns void

Methods

Protected _addChangeListeners

  • _addChangeListeners(_dom: HTMLElement, allowFromDescendant: boolean): void
  • Parameters

    • _dom: HTMLElement
    • allowFromDescendant: boolean

    Returns void

Protected _addClickListeners

  • _addClickListeners(_dom: HTMLElement, allowFromDescendant: boolean): Promise<void>
  • Parameters

    • _dom: HTMLElement
    • allowFromDescendant: boolean

    Returns Promise<void>

_addFocusClass

  • устанавливает класс focused в HTMLElement

    Parameters

    • Optional elem: IElement<IElementEvents>

      подэлемент, для которого устанавливается фокус

    Returns void

_addToFormTabIndexed

  • _addToFormTabIndexed(): void
  • Returns void

Protected _afterEdit

  • Parameters

    Returns Promise<UIEditEvent>

_afterSetData

  • Parameters

    • allowSetDataEvent: boolean
    • uiSetDataEvent: UISetDataEvent
    • throwOnError: boolean = false

    Returns Promise<UISetDataEvent>

Protected _beforeEdit

  • Parameters

    Returns Promise<UIEditEvent>

_beforeSetData

  • _beforeSetData(allowSetDataEvent: boolean, data: object, throwOnError?: boolean): Promise<UISetDataEvent>
  • Parameters

    • allowSetDataEvent: boolean
    • data: object
    • throwOnError: boolean = false

    Returns Promise<UISetDataEvent>

Protected _betweenOnEditEvents

  • _betweenOnEditEvents(target: HTMLElement, targetElement: IElement<IElementEvents>, callback: function, thisArg: any): Promise<string>
  • Этот метод, перед вызовом передаваемой функции, вызывает метод onBeforeEdit(), а, после вызова передаваемой функции, вызывает метод onAfterEdit().

    Parameters

    • target: HTMLElement
    • targetElement: IElement<IElementEvents>
    • callback: function
        • (): Promise<any>
        • Returns Promise<any>

    • thisArg: any

    Returns Promise<string>

Protected _edit

  • Parameters

    Returns Promise<string>

Protected _getClosestElement

  • Parameters

    • elem: RuntimeElement
    • target: HTMLElement
    • selector: string

    Returns IElement<IElementEvents>

Protected _getContentEditableValue

  • _getContentEditableValue(): string
  • Возвращает значение HTML элемента, который является contenteditable для данного элемента управления.

    Returns string

Protected _getDataText

  • _getDataText(data: any): string
  • Возвращает строку из данных, переданных элементу для установки в innerText

    Parameters

    • data: any

    Returns string

_getFocusedChild

  • Returns IElement<IElementEvents>

Protected _getInnerText

  • _getInnerText(dom: HTMLElement): string
  • Parameters

    • dom: HTMLElement

    Returns string

_init

  • _init(_form: RuntimeForm, _parent: RuntimeGroup, _owner: RuntimeElement, parentDom: HTMLElement, allowFromDescendant: boolean, data: any): Promise<boolean>
  • Parameters

    • _form: RuntimeForm
    • _parent: RuntimeGroup
    • _owner: RuntimeElement
    • parentDom: HTMLElement
    • allowFromDescendant: boolean
    • data: any

    Returns Promise<boolean>

Protected _initDataElement

  • _initDataElement(allowFromDescendant: boolean, data: any): Promise<void>
  • Parameters

    • allowFromDescendant: boolean
    • data: any

    Returns Promise<void>

Protected _initElement

  • _initElement(allowFromDescendant: boolean): Promise<void>
  • Parameters

    • allowFromDescendant: boolean

    Returns Promise<void>

Protected _initImage

  • _initImage(allowFromDescendant: boolean, data: any): Promise<void>
  • Parameters

    • allowFromDescendant: boolean
    • data: any

    Returns Promise<void>

Protected _isVisibilityOnEdit

  • Parameters

    Returns boolean

_load

  • _load(_form: RuntimeForm, _parent: RuntimeGroup, _owner: RuntimeElement, viewPrefix: string, parentDom: HTMLElement, _dom: HTMLElement, allowFromDescendant: boolean, data: any): Promise<boolean>
  • Выполняет загрузку элемента в браузере. Метод общедоступный, потому что UIForn._onLoad() вызывается в AppManager.

    Parameters

    • _form: RuntimeForm
    • _parent: RuntimeGroup
    • _owner: RuntimeElement
    • viewPrefix: string
    • parentDom: HTMLElement
    • _dom: HTMLElement
    • allowFromDescendant: boolean

      Определяет:

      • Вызывать ли события onBeforeLoad и onAfterLoad.
      • Добавлять ли класс в элемент.
    • data: any

    Returns Promise<boolean>

_onBlurBubble

_onBlurCapture

Protected _onClick

Protected _onClickCapture

_onFocusBubble

_onFocusCapture

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

    Parameters

    • chainElements: RuntimeElement[]

      цепочка вложенных элементов, для которых необходимо вызвать метод дальше. not protected потому что элемент вызывает этот метод формы.

    • Optional eventUI: UIFocusEvent
    • Optional form: IForm<IFormEvents>
    • Optional elem: IElement<IElementEvents>
    • Optional item: IElement<IElementEvents>

    Returns Promise<UIFocusEvent>

_onKeyDownBubble

_onKeyDownCapture

  • Метод вызывается другими элементами в цепочке вызова keydown во время погружения, начиная от формы

    Parameters

    Returns Promise<UIKeyboardEvent>

_onKeyUpBubble

_onKeyUpCapture

  • Метод вызывается другими элементами в цепочке вызова keyup во время погружения, начиная от формы

    Parameters

    Returns Promise<UIKeyboardEvent>

Private _onLoadImage

  • _onLoadImage(viewPrefix: string, allowFromDescendant: boolean): Promise<void>
  • Parameters

    • viewPrefix: string
    • allowFromDescendant: boolean

    Returns Promise<void>

Protected _ondblClick

Protected _ondblClickCapture

Protected _removeContentEditable

  • _removeContentEditable(target: HTMLElement): string
  • Удаляет аттрибут contenteditable Вызывается в _stopEdit()

    Parameters

    • target: HTMLElement

    Returns string

_removeDom

  • _removeDom(): void
  • Returns void

_removeFocusClass

  • удаляет класс focused в HTMLElement

    Parameters

    • Optional elem: IElement<IElementEvents>

      подэлемент, для которого устанавливается фокус

    Returns void

Protected _removeInnerHTML

  • _removeInnerHTML(dom: HTMLElement): void
  • Parameters

    • dom: HTMLElement

    Returns void

Protected _setContentEditable

  • _setContentEditable(target: HTMLElement): void
  • Устанавливает аттрибут contenteditable в передаваемый HTML элемент. Устанавливает курсор в нужную позицию.

    Parameters

    • target: HTMLElement

    Returns void

_setData

  • _setData(allowSetDataEvent: boolean, data: any, throwOnError?: boolean): Promise<any>
  • Выполняет установку данных элемента. Метод не защищенный, потому что может вызываеться другими элементами.

    Parameters

    • allowSetDataEvent: boolean
    • data: any
    • throwOnError: boolean = false

    Returns Promise<any>

Protected _setHref

  • _setHref(_dom: HTMLElement, val: string): void
  • Parameters

    • _dom: HTMLElement
    • val: string

    Returns void

Optional _setHrefFig

  • _setHrefFig(_dom: HTMLElement, val: string): any
  • Parameters

    • _dom: HTMLElement
    • val: string

    Returns any

Protected _setInnerText

  • _setInnerText(dom: HTMLElement, val?: any, isNbsp?: boolean): void
  • Parameters

    • dom: HTMLElement
    • val: any = ...
    • isNbsp: boolean = true

    Returns void

Protected _setUIEditEvent

  • Parameters

    Returns UIEditEvent

Protected _setUIFocusEvent

  • Parameters

    Returns UIFocusEvent

Protected _setUIKeyboardEvent

  • Parameters

    • event: KeyboardEvent
    • chainElements: RuntimeElement[]
    • eventUI: UIKeyboardEvent

    Returns UIKeyboardEvent

Protected _setUIMouseEvent

  • Parameters

    Returns UIMouseEvent

Protected _stopEdit

  • _stopEdit(target: HTMLElement, setValue?: boolean): string
  • Parameters

    • target: HTMLElement
    • setValue: boolean = true

    Returns string

addClass

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

    ПРИМЕР

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

    РЕЗУЛЬТАТ

    <div class="someClass"></div>
    

    Parameters

    • className: string

    Returns void

Protected addInnerTextFromData

  • addInnerTextFromData(): void
  • Returns void

addListener

  • addListener(eventName: EventName, fn: EventListener): RuntimeImage
  • addListener(eventName: EventName, fn: EventListener, opt: object): RuntimeImage
  • Описание addListener() в StrictEventEmitter

    Parameters

    • eventName: EventName
    • fn: EventListener

    Returns RuntimeImage

  • Parameters

    • eventName: EventName
    • fn: EventListener
    • opt: object

    Returns RuntimeImage

addStyle

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

    addStyle('color', 'grey');
    

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

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

    Parameters

    • property: string
    • value: string

    Returns void

blur

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

    Returns Promise<void>

collectData

  • collectData(data?: any): any
  • Собирает данные со всех подэлементов и сначала обновляет внутреннее свойство _data. Затем возвращает внутреннее свойство _data также как и getData().

    Parameters

    • data: any = ...

      Любые данные (обычно данные родительского объекта) или undefined.

    Returns any

    Возвращаемые данные зависят от передаваемых данных.

edit

  • edit(itemId?: string): Promise<string>
  • Вызывает _edit() либо у самого элемента, либо вызывает edit() у первого элемента в иерархии элементов. Таким образом происходит иерархия вызовов edit у всех вложенных элементов.

    Parameters

    • itemId: string = ...

    Returns Promise<string>

editNext

  • Передает поиск следующего элемента для редактирования форме или owner

    Parameters

    • Optional currentEditElement: IElement<IElementEvents>

      текущий редактируемый элемент (необязательно)

    Returns Promise<string>

    результат редактирования следующего элемента

editPrevious

  • Передает поиск предыдущего элемента для редактирования форме или owner

    Parameters

    • Optional currentEditElement: IElement<IElementEvents>

      текущий редактируемый элемент (необязательно)

    Returns Promise<string>

    результат редактирования предыдущего элемента

emit

  • emit(eventName: string | symbol, ...args: any[]): boolean
  • Описание emit() в StrictEventEmitter

    Parameters

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

    Returns boolean

emitWithOptions

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

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

    Returns boolean

focus

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

    Returns Promise<void>

getChainElementsById

  • Parameters

    • id: string
    • throwNotFound: boolean = false

    Returns IElement<IElementEvents>[]

getChainFocusedElements

  • Возвращает массив с цепочкой всех сфокусированных элементов, включая все элементы всех дочерних групп.

    Returns IElement<IElementEvents>[]

getData

  • getData(data?: any): any
  • Получает данные элемента, записанные во внутреннем свойстве _data. Во внутреннем свойстве _data хранятся изначальные данные (если вы их, конечно, не изменяяете в методах) и не зависят от изменений подэлементов.

    • Если передать данные родительского элемента, тогда в передавемых данных изменится только атрибут, соответствующий свойству 'bindingProperty'.
    • Если передать данные, в которых нет атрибута, соответствующего свойству 'bindingProperty', тогда такой атрибут с данными элемента добавится.
    • Если передать undefined, тогда будут возвращены непосредственно данные элемента.

    Parameters

    • data: any = ...

      Любые данные (обычно данные родительского объекта) или undefined.

    Returns any

    Возвращаемые данные зависят от передаваемых данных.

getElement

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

    Parameters

    • elementName: string
    • throwNotFound: boolean = false

    Returns IElement<IElementEvents>

getElementById

  • Parameters

    • id: string
    • throwNotFound: boolean = false

    Returns IElement<IElementEvents>

getType

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

    Returns string

hasClass

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

    Parameters

    • className: string

    Returns boolean

isFocused

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

    Returns boolean

isType

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

    Parameters

    • type: string | typeof UIElement

    Returns this

listenerCount

  • listenerCount(eventName: EventName): number
  • Parameters

    • eventName: EventName

    Returns number

off

  • off(eventName: EventName, fn: EventListener): RuntimeImage
  • off(eventName: EventName, fn: EventListener, opt: object): RuntimeImage
  • Описание removeListener() в StrictEventEmitter

    Parameters

    • eventName: EventName
    • fn: EventListener

    Returns RuntimeImage

  • Parameters

    • eventName: EventName
    • fn: EventListener
    • opt: object

    Returns RuntimeImage

on

  • on(eventName: EventName, fn: EventListener): RuntimeImage
  • on(eventName: EventName, fn: EventListener, opt: object): RuntimeImage
  • Описание on() в StrictEventEmitter

    Parameters

    • eventName: EventName
    • fn: EventListener

    Returns RuntimeImage

  • Parameters

    • eventName: EventName
    • fn: EventListener
    • opt: object

    Returns RuntimeImage

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

    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

    Returns Promise<void>

Optional onAfterSetData

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

    ПРИМЕР

    export var form: IForm = <IForm>{
         type: 'IForm',
         name: "emptyForm",
         caption: "Пустая форма",
         ...
         elements: [],
         async onAfterSetData(event: UISetDataEvent, form: IForm, elem: IDataElement): Promise<void> {
             console.log(`Форма ${form.name} после установки данных`);
         }
    }
    

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

    Метод не вызывается, если в методе IDataElement.onBeforeSetData вызван UISetDataEvent.stop.

    Parameters

    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

    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

    Returns Promise<void>

Optional onBeforeSetData

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

    ПРИМЕР

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

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

    Если внутри метода вызвать UISetDataEvent.stop, то установка данных для элемента прекратится.

    Parameters

    Returns Promise<void>

Optional onBlur

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

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

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

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

    Parameters

    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

    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

    Returns Promise<void>

Optional onFocus

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

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

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

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

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

    Parameters

    Returns Promise<void>

Optional onKeyDown

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

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

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

    Parameters

    Returns Promise<void>

Optional onKeyUp

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

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

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

    Parameters

    Returns Promise<void>

once

  • once(eventName: EventName, fn: EventListener): RuntimeImage
  • once(eventName: EventName, fn: EventListener, opt: object): RuntimeImage
  • Описание once() в StrictEventEmitter

    Parameters

    • eventName: EventName
    • fn: EventListener

    Returns RuntimeImage

  • Parameters

    • eventName: EventName
    • fn: EventListener
    • opt: object

    Returns RuntimeImage

prependListener

  • prependListener(eventName: EventName, fn: EventListener): RuntimeImage
  • prependListener(eventName: EventName, fn: EventListener, opt: object): RuntimeImage
  • Описание prependListener() в StrictEventEmitter

    Parameters

    • eventName: EventName
    • fn: EventListener

    Returns RuntimeImage

  • Parameters

    • eventName: EventName
    • fn: EventListener
    • opt: object

    Returns RuntimeImage

prependOnceListener

  • prependOnceListener(eventName: EventName, fn: EventListener): RuntimeImage
  • prependOnceListener(eventName: EventName, fn: EventListener, opt: object): RuntimeImage
  • Описание prependOnceListener() в StrictEventEmitter

    Parameters

    • eventName: EventName
    • fn: EventListener

    Returns RuntimeImage

  • Parameters

    • eventName: EventName
    • fn: EventListener
    • opt: object

    Returns RuntimeImage

rawListeners

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

    • eventName: EventName

    Returns EventHandler[]

removeClass

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

    Parameters

    • className: string

    Returns void

removeListener

  • removeListener(eventName: EventName, fn: EventListener): RuntimeImage
  • removeListener(eventName: EventName, fn: EventListener, opt: object): RuntimeImage
  • Описание removeListener() в StrictEventEmitter

    Parameters

    • eventName: EventName
    • fn: EventListener

    Returns RuntimeImage

  • Parameters

    • eventName: EventName
    • fn: EventListener
    • opt: object

    Returns RuntimeImage

removeStyle

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

    Parameters

    • property: string

    Returns void

setData

  • setData(data: any, throwOnError?: boolean): Promise<any>
  • Устанавливает данные элементу, в том числе, всем подэлементам. Переопределяется наследниками.

    Parameters

    • data: any
    • throwOnError: boolean = false

    Returns Promise<any>

stopEdit

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

    Returns void

Generated using TypeDoc