API виджетов описывает Данные классы описывают методы настройки структуры и функциональности виджетов:
note это объект класса SimpleWidget, который становится доступен при инициализации виджета.
Используйте глобальный объект s_widget
s_widgets это объект класса SimpleWidgets, который инициализируется при добавлении виджета на форму или на страницу портала.
Используйте нижеописанные методы для того, чтобы выполнить пользовательскую настройку текущего виджета.
Info |
---|
Для того чтобы вручную вызвать метод в консоли, передайте ID экземпляра виджета в первом параметре. Например, чтобы вызвать метод: Code Block |
---|
| s_widget.getFieldValue(key); |
используйте следующий способ его вызова: Code Block |
---|
| s_widget.getFieldValue(widgetId, key); |
|
Этот Используйте метод добавляет для добавления дочерний шаблон (template) к существующему по его ID с одним из следующих типов: inner, before, after.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|
id | String | Да | Нет |
template | String | Да | Нет |
script | String | Нет Note |
---|
Для настройки параметра type этот параметр является обязательным. Если параметр script не используется, используйте (''), как показано в примере ниже. |
| Нет |
type | String (возможные | Нет | inner
Info |
---|
Возможные варианты: inner, before, after |
) | Нет | |
Возвращаемое значение:
Тип | Описание |
---|
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>Array of <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 | Метод возвращает объект Promise, содержащий ответ сервера. |
Пример:
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 IDwidgetinstanceID).
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|
widgetInstanceID | String (значение sys_id) | Да | Нет |
key | String | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|
Any | Возвращает значение объекта. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widgets.getFieldValue |
---|
|
s_widgets.getFieldValue('157555401214600424', 'name'); |
Данный метод возвращает объект формы, размещенный при помощи тега <form> <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 IDwidgetinstanceID).
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|
widgetInstanceID | String (значение sys_id) | Да | Нет |
key | String | Да | Нет |
value | Any | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|
Void | Метод не возвращает значение. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | s_widgets.setFieldValue |
---|
|
s_widgets.setFieldValue('157555401214600424', 'name', 'Александр'); |