Note |
---|
s_widget это объект класса SimpleWidget, который инициализируетя внутри виджета при создании. s_widgets это объект класса SimpleWidgets, который инициализируется при добавлении виджета на форму или на страницу портала. |
API виджетов описывает методы настройки структуры и функциональности виджетов:
- Используйте методы s_widget и s_widgets в клиентских скриптах для добавления необходимой функциональности виджетов.
- Для создания пользовательских методов используйте custom method functionality.
Info |
---|
Эти методы могут быть использованы только на стороне клиента. |
Используйте нижеописанные методы для того, чтобы выполнить пользовательскую настройку текущего виджета.
Info |
---|
title | Manual console invoke |
---|
|
Для того чтобы вручную вызвать метод в консоли, передайте ID экземпляра виджета в первом параметре. Например, чтобы вызвать метод: Code Block |
---|
| s_widget.getFieldValue(key); |
используйте следующий метод: Code Block |
---|
| s_widget.getFieldValue(widgetId, key); |
|
Этот метод добавляет дочерний шаблон к существующему по его ID с одним из следующих типов: inner, before, after.
Параметры:
Название | Тип | ОбязательныйДефолтное значение | Значение по умолчанию |
---|
id | String | Д | Н |
template | String | Д | Н |
script | String | Н Note |
---|
Для настройки параметра type этот параметр является обязательным. Если параметр script не используется, используйте (''), как показано в примере ниже. |
| Н |
type | String (возможные варианты: inner, before, after) | Y | inner Tooltip |
---|
onlyIcon | true |
---|
appendIcon | info-filled |
---|
iconColor | blue |
---|
| Если не указано. |
|
Возвращаемое значение:
Тип | Описание |
---|
Void | Данный метод не возвращает значение. |
Пример:
Code Block |
---|
language | xml |
---|
title | Add to a template field: |
---|
|
<div id="steps"></div> |
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | Add to a client script |
---|
|
s_widget.addTemplate('steps', '<div class="main">', '', 'inner'); |
Данный метод возвращает элемент виджета structure.
Возвращаемое значение:
Тип | Описание |
---|
array<elements> | Элементы структуры виджета, собранные в массив. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widget.getElements() |
---|
linenumbers | true |
---|
|
window.s_widget.getElements(); |
Используйте этот метод для получения значения поля виджета, определенного опцией key.
Параметр:
Название | Тип | ОбязательныйДефолтное значение | Значение по умолчанию |
---|
key | String | Д | Н |
Возвращаемое значение:
Тип | Описание |
---|
mixed | Значение поля определенное указанным ключом. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widget.getFieldValue |
---|
linenumbers | true |
---|
|
s_widget.getFieldValue('element'); |
Данный метод возвращает объект формы, размещенный при помощи тэга <Form> или <remform>.
Параметр:
Название | Тип | ОбязательныйДефолтное значение | Значение по умолчанию |
---|
name | String | Д | Н |
Возвращаемое значение:
Тип | Описание |
---|
Object | Метод возвращает объект SimpleForm. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widget.getOptionValue |
---|
|
const builtInForm = s_widgets.getForm('custom');
await builtInForm.save(); |
Данный метод возвращает ID экземпляра виджета как значение строки.
Возвращаемое значение:
Тип | Описание |
---|
String | Метод возвращает ID экземпляра виджета. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widget.getId |
---|
linenumbers | true |
---|
|
s_widget.getId(); |
Используйте данный метод для возврата опции виджета value, определенной опцией key.
Параметр:
Название | Тип | ОбязательныйДефолтное значение | Значение по умолчанию |
---|
key | String | Д | Н |
Возвращаемое значение:
Тип | Описание |
---|
mixed | Значение опций виджета определено ключом. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widget.getOptionValue |
---|
|
s_widget.getOptionValue('label'); |
Используйте данный метод, чтобы удалить все дочерние узлы и содержимое указанных элементов. Сами элементы и аттрибуты при этом сохраняются.
Параметр:
Название | Тип | ОбязательныйДефолтное значение | Значение по умолчанию |
---|
id | String | Д | Н |
Возвращаемое значение:
Тип | Описание |
---|
Void | Данный метод не возвращает значение. |
Пример:
Code Block |
---|
language | xml |
---|
theme | Eclipse |
---|
title | Add this to the Template field |
---|
linenumbers | true |
---|
|
<div id="element1">
Remove me
</div>
<button buttonType="approve" event-click="window.s_widget_custom.remove();">
Click me
</button> |
Code Block |
---|
language | css |
---|
theme | Eclipse |
---|
title | Add this to the CSS field |
---|
linenumbers | true |
---|
|
#element1 {
background-color: yellow;
height: 20px;
} |
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | Add this to the Client Script field |
---|
linenumbers | true |
---|
|
;
(() => {
window.s_widget_custom = window.s_widget_custom || {};
window.s_widget_custom.remove = function () {
s_widget.removeTemplate('element1');
}
})(); |
Используйте этот метод, чтобы задать значение (value) при помощи ключа (key).
Info |
---|
Если значение параметра равно 'null', например, s_widget.setFieldValue ('subject', null) , заданное поле будет очищено. |
Параметры:
Название | Тип | ОбязательныйДефолтное значение | Значение по умолчанию |
---|
key | String | Д | Н |
value | mixed | Д | Н |
Возвращаемое значение:
Тип | Описание |
---|
Void | Данный метод не возвращает значение. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widget.setFieldValue |
---|
linenumbers | true |
---|
|
;
(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();
})(); |
Данный метод предназначен для переноса данных виджета на серверный скрипт и обновления данных виджета после ответа сервера.
Возвращаемое значение:
Тип | Описание |
---|
Object | Метод возвращает промис, содержащий определенные данные. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widget.serverUpdate |
---|
linenumbers | true |
---|
|
;
(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);
})(); |
Используйте этот метод, чтобы настроить значение(value) опции виджета при помощи ключа (key).
Параметры:
Название | Тип | ОбязательныйДефолтное значение | Значение по умолчанию |
---|
key | String | Д | Н |
value | mixed | Д | Н |
Возвращаемое значение:
Тип | Описание |
---|
Void | Данный метод не возвращает значение. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widget.setOptionValue |
---|
|
s_widget.setOptionValue('label', 'name'); |
Используйте этот метод для отображения данных поля виджета в консоли.
Возвращаемое значение:
Тип | Описание |
---|
Void | Данный метод не возвращает значение. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widget.showData |
---|
|
s_widget.showData(); |
Вызывайте метод s_widgets в своих скриптах при добавлении виджета на форму или страницу для взаимодействия с виджетом.
Данный метод возвращает значение объекта при помощи ключа (key) и ID экземпляра виджета (widget instance ID).
Параметры:
Название | Тип | ОбязательныйДефолтное значение | Значение по умолчанию |
---|
widgetInstanceID | String (значение sys_id) | Д | Н |
key | Integer | Д | Н |
Возвращаемое значение:
Тип | Описание |
---|
mixed | Возвращает значение объекта. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widgets.getFieldValue |
---|
|
s_widgets.getFieldValue('157555401214600424', 'name'); |
Этот метод возвращает список ID всех экземпляров виджетов на странице.
Возвращаемое значение:
Тип | Описание |
---|
List<String> | Список ID объектов типа строка |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widgets.getWidgets |
---|
|
s_widgets.getWidgets(); |
Используйте данный метод для настройки значения (value) поля при помощи ключа(key)и ID экземпляра виджета (widget instance ID).
Параметры:
Название | Тип | ОбязательныйДефолтное значение | Значение по умолчанию |
---|
widgetInstanceID | String (значение sys_id) | Д | Н |
key | Integer | Д | Н |
value | mixed | Д | Н |
Возвращаемое значение:
Тип | Описание |
---|
Void | Метод не возвращает значение. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widgets.setFieldValue |
---|
|
s_widgets.getFieldValue('157555401214600424', 'name', 'Alex'); |
При помощи переменной window.s_widget_custom можно изменять настройки пользовательских методов для виджетов внутри клиентского скрипта.
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | Ex. |
---|
linenumbers | true |
---|
|
window.s_widget_custom.updateFullname = function() {
//
} |