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
, который
  • для добавления необходимой функциональности. Объект инициализируется при добавлении виджета на форму или на страницу портала.

The widget API describes methods and 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.

Parameter(s):

Параметры:

Default ValueNN

inner 

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

Нет

Note

This parameter is mandatory if you need to define the type parameter. If no script is needed, use an empty string ('') as in the example below.

NtypeString (possible options: inner, before, after)Y
Tooltip
onlyIcontrue
appendIconinfo-filled
iconColorblue

If not specified.

Return:

TypeDescriptionVoidThis method does not return a value.

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


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

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

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

  • inner
  • before
  • after

inner

before

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

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

Пример

Example

:

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()

This method returns the structure element of a widget.

Return:

TypeDescriptionarray<elements>The widget structure elements are collected in an array.

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

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

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

Пример

Example

:

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.

Parameter(s):


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

Параметр:

НазваниеТипОбязательныйОписаниеЗначение по умолчаниюПример
NameTypeMandatoryDefault Value
keyString
YN

Return:

TypeDescriptionmixedThe value of the field is defined by the key defined.
ДаУкажите ключ поля, который должен использоваться для получения значения.Нетelement

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

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

Пример

Example

:

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

s_widget.getForm()

This method returns a form object that is placed using the <Form> or <remform> tags.

Parameter(s):

NameTypeMandatoryDefault ValuenameStringYN

Return:

TypeDescriptionObjectThis method returns a SimpleForm object.

Example:

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

s_widget.getId()

This method returns a widget instance ID as a string value.

Return:

TypeDescriptionStringThis method returns a widget instance ID.

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

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

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

Пример

Example

:

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

s_widget.getOptionValue(key)

Use this method to return a widget option value defined by the key option.

Parameter(s):


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

Параметр:

НазваниеТипОбязательныйОписаниеЗначение по умолчаниюПример
NameTypeMandatoryDefault Value
keyString
YN

Return:

TypeDescriptionmixedThe value of the widget options is defined by the key.
ДаУкажите ключ опции из Опций схемы виджета.Нетlabel

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

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

Пример

Example

:

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.

Parameter(s):

NameTypeMandatoryDefault ValueidStringYN

Return:

TypeDescriptionVoidThis method does not return a value.

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

Параметр:

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

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

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

Пример

Example

:

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 Value
keyString
YNvaluemixedYN

Return:

TypeDescriptionVoidThis method does not return a value.
ДаУкажите ключ поля, значение которого нужно изменить.Нет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