SimpleWidget(s)
Данные классы описывают методы настройки структуры и функциональности виджетов:
- Используйте методы объекта s_widget класса SimpleWidget для добавления необходимой функциональности. Объект доступен при инициализации виджета.
- Используйте методы объекта s_widgets класса SimpleWidgets для добавления необходимой функциональности. Объект инициализируется при добавлении виджета на форму или на страницу портала.
- Для создания пользовательских методов используйте s_widget_custom.
Эти методы могут быть использованы только на стороне клиента.
SimpleWidget
s_widget
Используйте глобальный объект s_widget для того, чтобы выполнить пользовательскую настройку текущего виджета.
Для того чтобы вручную вызвать метод в консоли, передайте ID экземпляра виджета в первом параметре. Например, чтобы вызвать метод:
s_widget.getFieldValue(key);
используйте следующий способ его вызова:
s_widget.getFieldValue(widgetId, key);
s_widget.addTemplate(id, template, script, type)
Используйте метод для добавления дочернего шаблона (template) к существующему по его id с одним из следующих типов inner, before, after.
Параметры:
Наименование | Тип | Обязательно | Описание | Значение по умолчанию | Пример |
---|---|---|---|---|---|
id | String | Да | Укажите id тега div. | Нет | steps |
template | String | Да | Укажите тело шаблона. | Нет | <div class="main"> |
script | String | Нет Для настройки параметра type этот параметр является обязательным. Если параметр script не используется, используйте (''), как показано в примере ниже. | Составьте скрипт шаблона. Скрипт запускается один раз после добавления шаблона. | Нет | s_widget.addTemplate("cards", s_widget.getFieldValue("template"), "console.log('Hello world!');", "inner"); |
type | String | Нет | Укажите тип шаблона. Это определяет, куда добавляется шаблон. Доступные опции:
| inner | before |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
<div id="steps"></div>
s_widget.addTemplate('steps', '<div class="main">', '', 'inner');
s_widget.getElements()
Используйте метод, чтобы вернуть массив элементов структуры виджета. Элементы в массиве имеют тот же порядок, что и на странице.
Возвращаемое значение:
Тип | Описание |
---|---|
Array of HTML elements | Метод возвращает массив элементов структуры виджета. |
Пример:
s_widget.getElements();
s_widget.getFieldValue(key)
Используйте этот метод для получения значения данных виджета, определенных ключом (key).
Параметры:
Наименование | Тип | Обязательно | Описание | Значение по умолчанию | Пример |
---|---|---|---|---|---|
key | String | Да | Укажите ключ поля, который должен использоваться для получения значения. | Нет | element |
Возвращаемое значение:
Тип | Описание |
---|---|
Any | Метод возвращает значение поля, заданного ключом (key). |
Пример:
s_widget.getFieldValue('element');
s_widget.getId()
Используйте метод для возращения ID экземпляра виджета.
Возвращаемое значение:
Тип | Описание |
---|---|
String | Метод возвращает ID экземпляра виджета. |
Пример:
s_widget.getId();
s_widget.getOptionValue(key)
Используйте метод для получения значения value, заданного в опции ключа (key) из Опций схемы виджета.
Параметры:
Наименование | Тип | Обязательно | Описание | Значение по умолчанию | Пример |
---|---|---|---|---|---|
key | String | Да | Укажите ключ опции из Опций схемы виджета. | Нет | label |
Возвращаемое значение:
Тип | Описание |
---|---|
Any | Метод возвращает значение опции виджета, заданной ключом (key). |
Пример:
s_widget.getOptionValue('label');
s_widget.removeTemplate(id)
Используйте метод, чтобы удалить все дочерние узлы и содержимое указанного элемента. Сам элемент и его атрибуты при этом сохраняются.
Параметры:
Наименование | Тип | Обязательно | Описание | Значение по умолчанию | Пример |
---|---|---|---|---|---|
id | String | Да | Укажите id тега div. | Нет | element1 |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
<div id="element1">
Remove
</div>
<button buttonType="approve" event-click="window.s_widget_custom.remove();">
Add
</button>
#element1 {
background-color: yellow;
height: 20px;
}
;
(() => {
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).
Если задаваемое значение равно null, например s_widget.setFieldValue ('subject', null)
, заданное поле будет очищено.
Параметры:
Наименование | Тип | Обязательно | Описание | Значение по умолчанию | Пример |
---|---|---|---|---|---|
key | String | Да | Укажите ключ поля, значение которого нужно изменить. | Нет | table_name |
value | Any | Да | Укажите новое значение поля. | Нет | tableName |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
;
(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 | Метод возвращает объект Promise, содержащий ответ сервера. |
Пример:
;
(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) опций виджета.
Параметры:
Наименование | Тип | Обязательно | Описание | Значение по умолчанию | Пример |
---|---|---|---|---|---|
key | String | Да | Укажите ключ опции виджета из Опций схемы виджета. | Нет | label |
value | Any | Да | Укажите новое значение опции. | Нет | Name |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
s_widget.setOptionValue('label', 'Наименование');
s_widget.showData()
Используйте этот метод для отображения данных виджета в консоли.
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
s_widget.showData();
SimpleWidgets
s_widgets
Вызывайте методы у глобального объекта s_widgets в своих скриптах при добавлении виджета на форму или страницу для взаимодействия с виджетом.
s_widgets.getFieldValue(widgetInstanceID, key)
Метод возвращает значение из данных виджета для ключа (key) и ID экземпляра виджета (widget instance ID).
Параметры:
Наименование | Тип | Обязательно | Описание | Значение по умолчанию | Пример |
---|---|---|---|---|---|
widgetInstanceID | String | Да | Укажите ID экземпляра виджета. | Нет | 169598365414458401 |
key | String | Да | Укажите ключ поля, значение которого вы хотите получить. | Нет | Name |
Возвращаемое значение:
Тип | Описание |
---|---|
Any | Метод возвращает значение объекта. |
Пример:
s_widgets.getFieldValue('157555401214600424', 'name');
s_widgets.getForm()
Метод возвращает объект формы, размещенный при помощи тега <Form> или <remform>.
Parameter(s):
Name | Type | Mandatory | Default value |
---|---|---|---|
name | String | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Object | Метод возвращает объект SimpleForm object. |
Пример:
const builtInForm = s_widgets.getForm('custom');
await builtInForm.save();
s_widgets.getWidgets()
Этот метод возвращает список ID всех экземпляров виджетов на странице. ID включаются в ответ в том же порядке, в котором виджеты расположены на странице.
Возвращаемое значение:
Тип | Описание |
---|---|
Array | Метод возвращает список ID всех экземпляров виджетов на странице. |
Пример:
s_widgets.getWidgets();
['160767740511016793', '160767742115787725', '160767742915897037', '160767743612372124', '158965632914393037', '158965975317960937', '161062077113210360']
s_widgets.setFieldValue(widgetInstanceID, key, value)
Используйте метод, чтобы задать значение (value) для ключа (key) в данных виджета и ID экземпляра виджета (widgetinstanceID).
Параметры:
Наименование | Тип | Обязательно | Описание | Значение по умолчанию | Пример |
---|---|---|---|---|---|
widgetInstanceID | String | Да | Укажите ID экземпляра виджета. | Нет | 169598365414458401 |
key | String | Да | Укажите ключ поля, значение которого вы хотите задать. | Нет | Name |
value | Any | Да | Укажите новое значение поля. | Нет | Alex |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
s_widgets.setFieldValue('157555401214600424', 'name', 'Александр');