Перейти к основному содержимому
Версия: 1.21.3

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.

Параметры:

НаименованиеТипОбязательноОписаниеЗначение по умолчаниюПример
idStringДаУкажите id тега div.Нетsteps
templateStringДаУкажите тело шаблона.Нет<div class="main">
scriptStringНет
Для настройки параметра type этот параметр является обязательным. Если параметр script не используется, используйте (''), как показано в примере ниже.
Составьте скрипт шаблона. Скрипт запускается один раз после добавления шаблона.Нетs_widget.addTemplate("cards",
s_widget.getFieldValue("template"),
"console.log('Hello world!');", "inner");
typeStringНетУкажите тип шаблона. Это определяет, куда добавляется шаблон. Доступные опции:
  • inner
  • before
  • after
innerbefore

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

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

s_widget.getFieldValue(key)


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

Параметры:

НаименованиеТипОбязательноОписаниеЗначение по умолчаниюПример
keyStringДаУкажите ключ поля, который должен использоваться для получения значения.Нетelement

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

ТипОписание
AnyМетод возвращает значение поля, заданного ключом (key).

Пример:

s_widget.getFieldValue()
s_widget.getFieldValue('element');

s_widget.getId()


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

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

ТипОписание
StringМетод возвращает ID экземпляра виджета.

Пример:

s_widget.getId()
s_widget.getId();

s_widget.getOptionValue(key)


Используйте метод для получения значения value, заданного в опции ключа (key) из Опций схемы виджета.

Параметры:

НаименованиеТипОбязательноОписаниеЗначение по умолчаниюПример
keyStringДаУкажите ключ опции из Опций схемы виджета.Нетlabel

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

ТипОписание
AnyМетод возвращает значение опции виджета, заданной ключом (key).

Пример:

s_widget.getOptionValue
s_widget.getOptionValue('label');

s_widget.removeTemplate(id)


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

Параметры:

НаименованиеТипОбязательноОписаниеЗначение по умолчаниюПример
idStringДаУкажите id тега div.Нетelement1

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

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

Пример:

Шаблон
<div id="element1">
Remove
</div>
<button buttonType="approve" event-click="window.s_widget_custom.remove();">
Add
</button>
CSS
#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), заданное поле будет очищено.

Параметры:

НаименованиеТипОбязательноОписаниеЗначение по умолчаниюПример
keyStringДаУкажите ключ поля, значение которого нужно изменить.Нетtable_name
valueAnyДаУкажите новое значение поля.НетtableName

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

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

Пример:

s_widget.setFieldValue
;
(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, содержащий ответ сервера.

Пример:

s_widget.serverUpdate()
;
(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ДаУкажите ключ опции виджета из Опций схемы виджета.Нетlabel
valueAnyДаУкажите новое значение опции.НетName

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

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

Пример:

s_widget.setOptionValue()
s_widget.setOptionValue('label', 'Наименование');

s_widget.showData()


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

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

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

Пример:

s_widget.showData()
s_widget.showData();

SimpleWidgets

s_widgets


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

s_widgets.getFieldValue(widgetInstanceID, key)


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

Параметры:

НаименованиеТипОбязательноОписаниеЗначение по умолчаниюПример
widgetInstanceIDStringДаУкажите ID экземпляра виджета.Нет169598365414458401
keyStringДаУкажите ключ поля, значение которого вы хотите получить.НетName

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

ТипОписание
AnyМетод возвращает значение объекта.

Пример:

s_widgets.getFieldValue()
s_widgets.getFieldValue('157555401214600424', 'name');

s_widgets.getForm()


Метод возвращает объект формы, размещенный при помощи тега <Form> или <remform>.

Parameter(s):

NameTypeMandatoryDefault value
nameStringДаНет

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

ТипОписание
ObjectМетод возвращает объект SimpleForm object.

Пример:

s_widgets.getForm()
const builtInForm = s_widgets.getForm('custom');
await builtInForm.save();

s_widgets.getWidgets()


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

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

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

Пример:

s_widgets.getWidgets()
s_widgets.getWidgets();
Пример ответа
['160767740511016793', '160767742115787725', '160767742915897037', '160767743612372124', '158965632914393037', '158965975317960937', '161062077113210360']

s_widgets.setFieldValue(widgetInstanceID, key, value)


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

Параметры:

НаименованиеТипОбязательноОписаниеЗначение по умолчаниюПример
widgetInstanceIDStringДаУкажите ID экземпляра виджета.Нет169598365414458401
keyStringДаУкажите ключ поля, значение которого вы хотите задать.НетName
valueAnyДаУкажите новое значение поля.НетAlex

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

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

Пример:

s_widgets.setFieldValue()
s_widgets.setFieldValue('157555401214600424', 'name', 'Александр');