Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Merged branch "DOC0000026" into parent

Данные классы описывают методы настройки структуры и функциональности виджетов:

Note
  • Используйте методы объекта
  • s_widget
это объект
  • класса SimpleWidget
, который становится
  • для добавления необходимой функциональности. Объект доступен при инициализации виджета.
  • Используйте методы объекта s_widgets
это объект
  • класса SimpleWidgets
, который
  • для добавления необходимой функциональности. Объект инициализируется при добавлении виджета на форму или на страницу портала.
API виджетов описывает методы настройки структуры и функциональности виджетов:
  • Используйте методы объектов s_widget и s_widgets в клиентских скриптах виджетов для добавления необходимой функциональности.
  • Для создания пользовательских методов используйте s_widget_custom.

    Info

    Эти методы могут быть использованы только на стороне клиента.


SimpleWidget

s_widget


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

Info

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

Code Block
languagejs
s_widget.getFieldValue(key); 

используйте следующий методспособ его вызова:

Code Block
languagejs
s_widget.getFieldValue(widgetId, key);


s_widget.addTemplate(id, template, script, type)


Этот метод добавляет дочерний шаблон Используйте метод для добавления дочернего шаблона (template) к существующему по его ID id с одним из следующих типов: inner, before, after.

Параметры:

inner 

НазваниеТипОбязательныйОписаниеЗначение по умолчаниюПример
idStringДаУкажите id тега div.Нетsteps
templateStringДаУкажите тело шаблона.Нет<div class="main">
scriptString

Нет

Note

Для настройки параметра type этот параметр является обязательным. Если параметр script не используется, используйте (''), как показано в примере ниже.


Составьте скрипт шаблона. Скрипт запускается один раз после добавления шаблона.

НетtypeString (возможные варианты: inner, before, after)Нет
Tooltip
onlyIcontrue
appendIconinfo-filled
iconColorblue

Если не указано.

s_widget.addTemplate("cards", s_widget.getFieldValue("template"), "console.log('Hello world!');", "inner");typeStringНет

Укажите тип шаблона. Это определяет, куда добавляется шаблон. Доступные опции:

  • inner
  • before
  • after

inner

before

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

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

Пример:

Code Block
languagexml
titleДобавить к полю шаблонаШаблон
<div id="steps"></div>


Code Block
languagejs
themeEclipse
titleДобавить к клиентскому скриптуКлиентский скрипт
s_widget.addTemplate('steps', '<div class="main">', '', 'inner');

s_widget.getElements()


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

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

ТипОписание
array<elements>Элементы структуры виджета, собранные в массив
Array of HTML elementsМетод возвращает массив элементов структуры виджета.

Пример:

Code Block
languagejs
themeEclipse
titles_widget.getElements()
linenumberstrue
window.s_widget.getElements();

s_widget.getFieldValue(key)


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

Параметр:

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

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

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

Пример:

Code Block
languagejs
themeEclipse
titles_widget.getFieldValue
linenumberstrue
s_widget.getFieldValue('element');

s_widget.getId()


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

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

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

Пример:

Code Block
languagejs
themeEclipse
titles_widget.getId
linenumberstrue
s_widget.getId();

s_widget.getOptionValue(key)


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

Параметр:

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

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

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

Пример:

Code Block
languagejs
themeEclipse
titles_widget.getOptionValue
s_widget.getOptionValue('label');

s_widget.removeTemplate(id)


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

Параметр:

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

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

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

Пример:

Code Block
languagexml
themeEclipse
titleAdd this to the Template fieldШаблон
linenumberstrue
<div id="element1">
  Remove meУбрать
</div>
<button buttonType="approve" event-click="window.s_widget_custom.remove();">
  Click meДобавить
</button>


Code Block
languagecss
themeEclipse
titleAdd this to the CSS field
linenumberstrue
#element1 {
  background-color: yellow;
  height: 20px;
}


Code Block
languagejs
themeEclipse
titleAdd this to the Client Script fieldКлиентский скрипт
linenumberstrue
;
(() => {
    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).

Info

Если значение параметра равно 'null'задаваемое значение равно null, например, s_widget.setFieldValue('subject', null), заданное поле будет очищено. 

Параметры:

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

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

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

Пример:

Code Block
languagejs
themeEclipse
titles_widget.setFieldValue
linenumberstrue
;
(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, содержащий определенные данныеответ сервера

Пример:

Code Block
languagejs
themeEclipse
titles_widget.serverUpdate
linenumberstrue
;
(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) опций виджета.Параметры:

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

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

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

Пример:

Code Block
languagejs
themeEclipse
titles_widget.setOptionValue
s_widget.setOptionValue('label', 'nameНаименование');

s_widget.showData()


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

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

ТипОписание
Void

Данный метод Метод не возвращает значение.

Пример:

Code Block
languagejs
themeEclipse
titles_widget.showData
s_widget.showData();

SimpleWidgets

s_widgets


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

s_widgets.getFieldValue(widgetInstanceID, key)


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

Параметры:

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

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

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

Пример:

Code Block
languagejs
themeEclipse
titles_widgets.getFieldValue
s_widgets.getFieldValue('157555401214600424', 'name');

s_widgets.getForm()


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

Параметр:

НазваниеТипОбязательныйЗначение по умолчанию
nameStringДаНет

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

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

Пример:

Code Block
languagejs
themeEclipse
title s_widgets.getForm
linenumberstrue
const builtInForm = s_widgets.getForm('custom');
await builtInForm.save();

s_widgets.getWidgets()


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

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

ТипОписание
List<String>ArrayСписок ID объектов типа строка Метод возвращает список ID всех экземпляров виджетов на странице.

Пример:

Code Block
languagejs
themeEclipse
titles_widgets.getWidgets
s_widgets.getWidgets();


Code Block
languagejs
themeEclipse
titleПример ответа
['160767740511016793', '160767742115787725', '160767742915897037', '160767743612372124', '158965632914393037', '158965975317960937', '161062077113210360']

s_widgets.setFieldValue(widgetInstanceID, key, value)


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

Параметры:

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

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

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

Пример:

Code Block
languagejs
themeEclipse
titles_widgets.setFieldValue
s_widgets.getFieldValuesetFieldValue('157555401214600424', 'name', 'AlexАлександр');
AnchorCustom methodCustom methods_widget_custom

При помощи переменной  window.s_widget_custom можно изменять настройки пользовательских методов для виджетов внутри клиентского скрипта.

Code Block
languagejs
themeEclipse
titleEx.
linenumberstrue
window.s_widget_custom.updateFullname = function() {
  //
}


Table of Contents
maxLevel3
classfixedPosition