Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Merged branch "DOC0000026" into parent

Данные классы описывают методы настройки структуры и функциональности виджетов:

Note
  • Используйте методы объекта
  • s_widget
это объект
  • класса SimpleWidget
, который инициализируетя внутри виджета при создании.
  • для добавления необходимой функциональности. Объект доступен при инициализации виджета.
  • Используйте методы объекта
  • s_widgets
это объект
  • класса SimpleWidgets
, который
  • для добавления необходимой функциональности. Объект инициализируется при добавлении виджета на форму или на страницу портала.

API виджетов описывает методы  и  custom method declarations for widget structure and functionality customization:

  • Use

    Для создания пользовательских методов используйтеs_widget

    and s

    _

    widgets methods in client-side scripts to implement the widget functionality you need.If you need to create your own widget methods, use the

    custom

    method functionality

    .

    Info

    Эти методы могут

спользованы
  • быть использованы только на стороне клиента.


SimpleWidget

s_widget

To perform the current widget customization you created, use the methods below.


Используйте глобальный объект s_widget для того, чтобы выполнить пользовательскую настройку текущего виджета.

Info

Для того чтобы вручную вызвать метод в консоли, передайте ID экземпляра виджета в первом параметре. Например, чтобы вызвать метод

Info
titleManual console invoke

In the console, to manually invoke the method, pass the widget instance ID as the first parameter. For example, to call the following method:

Code Block
languagejs
s_widget.getFieldValue(key); 

use the method insteadиспользуйте следующий способ его вызова:

Code Block
languagejs
s_widget.getFieldValue(widgetId, key);


s_widget.addTemplate(id, template, script, type)


This method adds a child template to the existing template by its ID with one of the following typesИспользуйте метод для добавления дочернего шаблона (template) к существующему по его id с одним из следующих типов: inner, before, after.

Параметры:

Дефолтное значениеННН  патаметра

inner 

НазваниеТипОбязательныйОписаниеЗначение по умолчаниюПример
idStringДДаУкажите id тега div.Нетsteps
templateStringДДаУкажите тело шаблона.Нет<div class="main">
scriptString

Нет

Note

Для настройки

параметра type этот параметр является обязательным. Если параметр script не используется, используйте (''), как показано в примере ниже.

НtypeString (возможные варианты: inner, before, after)Y
Tooltip
onlyIcontrue
appendIconinfo-filled
iconColorblue

Если не указано.


Составьте скрипт шаблона. Скрипт запускается один раз после добавления шаблона.

Нетs_widget.addTemplate("cards", s_widget.getFieldValue("template"), "console.log('Hello world!');", "inner");typeStringНет

Укажите тип шаблона. Это определяет, куда добавляется шаблон. Доступные опции:

  • inner
  • before
  • after

inner

before

Возвращаемое значениеВозврат:

ТипОписание
Void
Данный метод
Метод не возвращает значение.

Пример:

Code Block
languagexml
titleAdd to a template field:Шаблон
<div id="steps"></div>


Code Block
languagejs
themeEclipse
titleAdd to a client scriptКлиентский скрипт
s_widget.addTemplate('steps', '<div class="main">', '', 'inner');

s_widget.getElements()

Данный метод возвращает элемент виджета structure.


Используйте метод, чтобы вернуть массив элементов структуры виджета. Элементы в массиве имеют тот же порядок, что и на странице.

Возвращаемое значениеВозврат:

ТипОписание
array<elements>Элементы структуры виджета, собранные в массив
Array of HTML elementsМетод возвращает массив элементов структуры виджета.

Пример:

Code Block
languagejs
themeEclipse
titles_widget.getElements()
linenumberstrue
window.s_widget.getElements();

s_widget.getFieldValue(key)


Use this method to return the widget field value defined by the key optionИспользуйте этот метод для получения значения данных виджета, определенных ключом (key).

Параметр:

НазваниеТипОбязательный
Дефолтное значение
ОписаниеЗначение по умолчаниюПример
keyString
ДН
ДаУкажите ключ поля, который должен использоваться для получения значения.Нетelement

Возвращаемое значениеВозврат:

ТипОписание
mixedAnyЗначение поля определенное указанным ключомМетод возвращает значение поля, заданного ключом (key).

Пример:

Code Block
languagejs
themeEclipse
titles_widget.getFieldValue
linenumberstrue
s_widget.getFieldValue('element');

s_widget

.getForm()Данный метод возвращает объект формы, размещенный при помощи тэга <Form> или <remform>

.

Параметр:

НазваниеТипОбязательныйДефолтное значениеnameStringДН

Возврат:

ТипОписаниеObjectМетод возвращает объект SimpleForm.

Пример:

Code Block
languagejs
themeEclipse
titles_widget.getOptionValue
const builtInForm = s_widgets.getForm('custom');
await builtInForm.save();
s_widget.

getId()


Данный Используйте метод возвращает для возращения ID экземпляра виджета как значение строки.

ВозвратВозвращаемое значение:

ТипОписание
StringМетод возвращает ID экземпляра виджета.

Пример:

Code Block
languagejs
themeEclipse
titles_widget.getId
linenumberstrue
s_widget.getId();

s_widget.getOptionValue(key)


Используйте данный метод для возврата опции виджета получения значения value, определенной опцией keyзаданного в опции ключа (key) из Опций схемы виджета.

Параметр:

НазваниеТипОбязательный
Дефолтное значение
ОписаниеЗначение по умолчаниюПример
keyString
ДН
ДаУкажите ключ опции из Опций схемы виджета.Нетlabel

Возвращаемое значениеВозврат:

ТипОписание
AnyМетод возвращает значение опции виджета, заданной ключом (key)mixedЗначение опций виджета определено ключом.

Пример:

Code Block
languagejs
themeEclipse
titles_widget.getOptionValue
s_widget.getOptionValue('label');

s_widget.removeTemplate(id)


The method removes all child nodes and content from the specified elements. It does not remove the element itself or its attributesИспользуйте метод, чтобы удалить все дочерние узлы и содержимое указанного элемента. Сам элемент и его атрибуты при этом сохраняются.

Параметр:

Дефолтное значение
НазваниеТипОбязательныйОписаниеЗначение по умолчаниюПример
idStringДНДаУкажите id тега div.Нетelement1

Возвращаемое значениеВозврат:

ТипОписание
VoidДанный метод Метод не возвращает значение.

Пример:

Code Block
languagexml
themeEclipse
titleAdd this to the Template fieldШаблон
linenumberstrue
<div id="element1">
  Remove meУбрать
</div>
<button buttonType="approve" event-click="window.s_widget_custom.remove();">
  Click meДобавить
</button>


Code Block
languagecss
themeEclipse
titleAdd this to the CSS field
linenumberstrue
#element1 {
  background-color: yellow;
  height: 20px;
}


Code Block
languagejs
themeEclipse
titleAdd this to the Client Script fieldКлиентский скрипт
linenumberstrue
;
(() => {
    window.s_widget_custom = window.s_widget_custom || {};
    window.s_widget_custom.remove = function () {
        s_widget.removeTemplate('element1');
    } 
})();

s_widget.setFieldValue(key, value)


This method sets a value using the keyИспользуйте этот метод, чтобы задать значение (value) для ключа (key).

Info

If the value parameter is equal to 'null', for exampleЕсли задаваемое значение равно null, например, s_widget.setFieldValue('subject', null), the defined field is cleared.

Parameter(s):

NameTypeMandatoryDefault ValuekeyStringYNvaluemixedYN

Return:

TypeDescriptionVoidThis method does not return a value.

заданное поле будет очищено. 

Параметры:

НазваниеТипОбязательныйОписаниеЗначение по умолчаниюПример
keyStringДаУкажите ключ поля, значение которого нужно изменить.Нетtable_name
valueAnyДаУкажите новое значение поля.НетtableName

Возвращаемое значение:

ТипОписание
VoidМетод не возвращает значение.

Пример

Example

:

Code Block
languagejs
themeEclipse
titles_widget.setFieldValue
linenumberstrue
;
(async () => {
    const tableName = s_form.getTableName();
    const recordId = s_form.getUniqueValue();
    const serviceId = s_form.getValue('service');
    const serviceDisplayValue = s_form.getDisplayValue('service');

    s_widget.setFieldValue('table_name', tableName);
    s_widget.setFieldValue('record_id', recordId);
    s_widget.setFieldValue('service', { database_value: serviceId, display_value: serviceDisplayValue });
    await s_widget.serverUpdate();
})();


s_widget.serverUpdate()

This method transfers widget data to a server script and updates widget data according to the server reply.

Return:

TypeDescriptionObjectThis method returns a promise containing specific data.

Используйте метод, чтобы перенести данные на сервер, где выполняется серверный скрипт виджета, в результате чего обновляются его данные.

Возвращаемое значение:

ТипОписание
ObjectМетод возвращает объект Promise, содержащий ответ сервера. 

Пример

Example

:

Code Block
languagejs
themeEclipse
titles_widget.serverUpdate
linenumberstrue
;
(async () => {
    const tableName = s_form.getTableName();
    const recordId = s_form.getUniqueValue();
    s_widget.setFieldValue('table_name', tableName);
    s_widget.setFieldValue('record_id', recordId);
    const response = await s_widget.serverUpdate();
    console.log(response.getData().data);
})();

s_widget.setOptionValue(key, value)

This method sets a widget option value using the key option.

Parameter(s):


Используйте этот метод, чтобы задать значение (value) для ключа (key) опций виджета.

Default Value
НазваниеТипОбязательныйОписаниеЗначение по умолчаниюПримерNameTypeMandatory
keyStringYN
valuemixedYN

Return:

TypeDescriptionVoidThis method does not return a value.
ДаУкажите ключ опции виджета из Опций схемы виджета.Нетlabel
valueAnyДаУкажите новое значение опции.НетName

Возвращаемое значение:

ТипОписание
VoidМетод не возвращает значение.

Пример

Example

:

Code Block
languagejs
themeEclipse
titles_widget.setOptionValue
s_widget.setOptionValue('label', 'nameНаименование');

s_widget.showData()

The method displays the field data of a widget in the console. 

Return:

TypeDescriptionVoid

This method does not return a value.


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

Возвращаемое значение:

ТипОписание
Void

Метод не возвращает значение.

Пример

Example

:

Code Block
languagejs
themeEclipse
titles_widget.showData
s_widget.showData();

SimpleWidgets

s_widgets


Invoke the s_widgets methods within your scripts, when adding a widget to a form or a page for widget interactionВызывайте методы у глобального объекта s_widgets в своих скриптах при добавлении виджета на форму или страницу для взаимодействия с виджетом.

s_widgets.getFieldValue(widgetInstanceID, key)

This method returns the objectvalue using the key and widget instance ID.

Метод возвращает значение из данных виджета для ключа (key) и ID экземпляра виджета (widgetinstanceID).

Параметры:

НазваниеТипОбязательныйОписаниеЗначение по умолчаниюПример
widgetInstanceIDStringДаУкажите ID экземпляра виджета.Нет169598365414458401
keyStringДаУкажите ключ поля, значение которого вы хотите получить.Нетname

Возвращаемое значение:

ТипОписание
AnyМетод возвращает значение объекта.

Пример

Parameter(s):

NameTypeMandatoryDefault ValuewidgetInstanceIDString (the sys_id value)YNkeyIntegerYN

Return:

TypeDescriptionmixedReturns the object value.Example

:

Code Block
languagejs
themeEclipse
titles_widgets.getFieldValue
s_widgets.getFieldValue('157555401214600424', 'name');

s_widgets.getForm()


Метод возвращает объект формы, размещенный при помощи тега <Form> или <remform>.

Параметр:

НазваниеТипОбязательныйЗначение по умолчанию
nameStringДаНет

Возвращаемое значение:

ТипОписание
ObjectМетод возвращает объект SimpleForm.

Пример:

Code Block
languagejs
themeEclipse
title s_widgets.getForm
linenumberstrue
const builtInForm = s_widgets.getForm('custom');
await builtInForm.save();

s_widgets.getWidgets()

This method returns all the widget instance IDs of the page.

Return:

TypeDescriptionList<String>A list of ID objects of the String type. 

Этот метод возвращает список ID всех экземпляров виджетов на странице. ID включаются в ответ в том же порядке, в котором виджеты расположены на странице. 

Возвращаемое значение:

ТипОписание
ArrayМетод возвращает список ID всех экземпляров виджетов на странице.

Пример

Example

:

Code Block
languagejs
themeEclipse
titles_widgets.getWidgets
s_widgets.getWidgets();


Code Block
languagejs
themeEclipse
titleПример ответа
['160767740511016793', '160767742115787725', '160767742915897037', '160767743612372124', '158965632914393037', '158965975317960937', '161062077113210360']

s_widgets.setFieldValue(widgetInstanceID, key, value)

This method sets the value using the key and the widget instance ID.

Parameter(s):

NameTypeMandatoryDefault ValuewidgetInstanceIDString (the sys_id value)YNkeyIntegerYNvaluemixedYN

Return:

TypeDescriptionVoidThis method does not return a value.

Используйте метод, чтобы задать значение (value) для ключа (key) в данных виджета и ID экземпляра виджета (widgetinstanceID).

Параметры:

НазваниеТипОбязательныйОписаниеЗначение по умолчаниюПример
widgetInstanceIDStringДаУкажите ID экземпляра виджета.Нет169598365414458401
keyStringДаУкажите ключ поля, значение которого вы хотите задать.Нетname
valueAnyДаУкажите новое значение поля.НетAlex

Возвращаемое значение:

ТипОписание
VoidМетод не возвращает значение.

Пример

Example

:

Code Block
languagejs
themeEclipse
titles_widgets.setFieldValue
s_widgets.getFieldValuesetFieldValue('157555401214600424', 'name', 'AlexАлександр');
AnchorCustom methodCustom methods_widget_custom

Within the client-side scripts, you can configure your own widget methods by using the window.s_widget_custom variable:

Code Block
languagejs
themeEclipse
titleEx.
linenumberstrue
window.s_widget_custom.updateFullname = function() {
  //
}


Table of Contents
maxLevel3
classfixedPosition