Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Note

s_widget это объект класса SimpleWidget, который инициализируетя внутри виджета при создании.

s_widgets это объект класса SimpleWidgets, который инициализируется при добавлении виджета на форму или на страницу портала.

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

  • Используйте методы s_widget и s_widgets в клиентских скриптах для добавления необходимой функциональности виджетов.
  • Для создания пользовательских методов используйте custom method functionality.
Info

Эти методы могут быть использованы только на стороне клиента.

s_widget


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

Info
titleManual console invoke

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

Code Block
languagejs
s_widget.getFieldValue(key); 

используйте следующий метод:

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



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


Этот метод добавляет дочерний шаблон к существующему по его ID с одним из следующих типов: inner, before, after.

Параметры:

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

Н 

Note

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


Н
typeString (возможные варианты: inner, before, after)Y

inner 

Tooltip
onlyIcontrue
appendIconinfo-filled
iconColorblue

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


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

ТипОписание
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>Элементы структуры виджета, собранные в массив.

Пример:

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

s_widget.getFieldValue(key)


Используйте этот метод для получения значения поля виджета, определенного опцией key

Параметр:

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

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

ТипОписание
mixedЗначение поля определенное указанным ключом.

Пример:

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.

Параметр:

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

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

ТипОписание
mixedЗначение опций виджета определено ключом.

Пример:

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

s_widget.removeTemplate(id)


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

Параметр:

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

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

ТипОписание
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)


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

Info

Если значение параметра равно 'null', например, s_widget.setFieldValue('subject', null), заданное поле будет очищено. 

Параметры:

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

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

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

Пример:

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


Данный метод предназначен для переноса данных виджета на серверный скрипт и обновления данных виджета после ответа сервера.

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

ТипОписание
ObjectМетод возвращает промис, содержащий определенные данные. 

Пример:

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)


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

Параметры:

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

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

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

Пример:

Code Block
languagejs
themeEclipse
titles_widget.setOptionValue
s_widget.setOptionValue('label', 'name');

s_widget.showData()


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

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

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

Данный метод не возвращает значение.

Пример:

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

s_widgets


Вызывайте метод s_widgets в своих скриптах при добавлении виджета на форму или страницу для взаимодействия с виджетом.

s_widgets.getFieldValue(widgetInstanceID, key)


Данный метод возвращает значение объекта при помощи ключа (key) и ID экземпляра виджета (widget instance ID).

Параметры:

НазваниеТипОбязательныйДефолтное значение
widgetInstanceIDString (значение sys_id)ДН
keyIntegerДН

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

ТипОписание
mixedВозвращает значение объекта.

Пример:

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

s_widgets.getWidgets()


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

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

ТипОписание
List<String>Список ID объектов типа строка 

Пример:

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

s_widgets.setFieldValue(widgetInstanceID, key, value)


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

Параметры:

НазваниеТипОбязательныйДефолтное значение
widgetInstanceIDString (значение sys_id)ДН
keyIntegerДН
valuemixedДН

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

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

Пример:

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

Anchor
Custom method
Custom method
s_widget_custom


При помощи переменной  window.s_widget_custom можно изменять настройки пользовательских методов для виджетов внутри клиентского скрипта.

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


Table of Contents
maxLevel3
classfixedPosition