Note |
---|
s_widget это объект класса SimpleWidget, который становится доступен при инициализации виджета. s_widgets это объект класса SimpleWidgets, который инициализируется при добавлении виджета на форму или на страницу портала. |
API виджетов описывает методы настройки структуры и функциональности виджетов:
s_widget Note |
---|
s_widget это объект класса SimpleWidget, который становится доступен при инициализации виджета. s_widgets это объект класса SimpleWidgets, который инициализируется при добавлении виджета на форму или на страницу портала. |
Используйте нижеописанные методы для того, чтобы выполнить пользовательскую настройку текущего виджета.
Info |
---|
Для того чтобы вручную вызвать метод в консоли, передайте 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) | Нет | inner Tooltip |
---|
onlyIcon | true |
---|
appendIcon | info-filled |
---|
iconColor | blue |
---|
| Если не указано. |
|
Возвращаемое значение:
Тип | Описание |
---|
Void | Данный метод не возвращает значение. |
Пример:
Code Block |
---|
language | xml |
---|
title | Добавить в поле Шаблон |
---|
|
<div id="steps"></div> |
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | Добавить в поле Клиентский скрипт |
---|
|
s_widget.addTemplate('steps', '<div class="main">', '', 'inner'); |
Данный метод возвращает массив элементов структуры виджета.
Возвращаемое значение:
Тип | Описание |
---|
Array<elements> | Элементы структуры виджета, собранные в массив. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widget.getElements() |
---|
linenumbers | true |
---|
|
s_widget.getElements(); |
Используйте этот метод для получения значения поля виджета, определенного ключом key.
Параметр:
Название | Тип | Обязательный | Значение по умолчанию |
---|
key | String | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|
Any | Значение поля, определённого указанным ключом. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widget.getFieldValue |
---|
linenumbers | true |
---|
|
s_widget.getFieldValue('element'); |
Данный метод возвращает ID экземпляра виджета.
Возвращаемое значение:
Тип | Описание |
---|
String | Метод возвращает ID экземпляра виджета. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widget.getId |
---|
linenumbers | true |
---|
|
s_widget.getId(); |
Используйте данный метод для получения значения value, заданного в опции key.
Параметр:
Название | Тип | Обязательный | Значение по умолчанию |
---|
key | String | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|
Any | Значение опции виджета, определённой ключом. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widget.getOptionValue |
---|
|
s_widget.getOptionValue('label'); |
Используйте данный метод, чтобы удалить все дочерние узлы и содержимое указанного элемента. Сам элемент и его атрибуты при этом сохраняются.
Параметр:
Название | Тип | Обязательный | Значение по умолчанию |
---|
id | String | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|
Void | Данный метод не возвращает значение. |
Пример:
Code Block |
---|
language | xml |
---|
theme | Eclipse |
---|
title | Добавьте в поле Шаблон |
---|
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 | Добавьте в поле CSS |
---|
linenumbers | true |
---|
|
#element1 {
background-color: yellow;
height: 20px;
} |
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | Добавьте в поле Клиентский скрипт |
---|
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 | Any | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|
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 | Any | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|
Void | Данный метод не возвращает значение. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widget.setOptionValue |
---|
|
s_widget.setOptionValue('label', 'название'); |
Используйте этот метод для отображения данных виджета в консоли.
Возвращаемое значение:
Тип | Описание |
---|
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 | String | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|
Any | Возвращает значение объекта. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widgets.getFieldValue |
---|
|
s_widgets.getFieldValue('157555401214600424', 'name'); |
Данный метод возвращает объект формы, размещенный при помощи тэга <form> или <remform>.
Параметр:
Название | Тип | Обязательный | Значение по умолчанию |
---|
name | String | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|
Object | Метод возвращает объект SimpleForm. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widgets.getForm |
---|
linenumbers | true |
---|
|
const builtInForm = s_widgets.getForm('custom');
await builtInForm.save(); |
Этот метод возвращает список ID всех экземпляров виджетов на странице.
Возвращаемое значение:
Тип | Описание |
---|
Array | Список 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 | String | Да | Нет |
value | Any | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|
Void | Метод не возвращает значение. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widgets.setFieldValue |
---|
|
s_widgets.setFieldValue('157555401214600424', 'name', 'Александр'); |