Hierarchy
- Widget
Properties
Readonly filePath
Путь к файлам виджета.
Пример использования в виджете Код:
<img src="<%= UI.widget.filePath %>/filename.png" />
Methods
contextRow
-
Отобразить строку с полем контекста (название и значение).
Рассмотрим, как можно применить это в виджете Код. Пример подсчёта суммы на основании цены и количества и её отображения только в том случае, если нужное поле не остаётся пустым:
<% Scripts.calcTotal = function () { Context.data.total = Context.data.price && Context.data.count ? Context.data.price.multiply(Context.data.count) : undefined; Scripts.totalNode.style.display = Context.data.total ? '' : 'none'; } Scripts.onTotalRender = function (node) { Scripts.totalNode = node; node.style.display = 'none'; } %> <%= UI.widget.contextRow('__name', { required: true }) %> <%= UI.widget.contextRow('price', { required: true, onChange: Scripts.calcTotal }) %> <%= UI.widget.contextRow('count', { required: true, onChange: Scripts.calcTotal }) %> <%= UI.widget.contextRow('total', { name: 'ИТОГО', tooltip: 'Сумма подсчитана автоматически', readonly: true, onRender: Scripts.onTotalRender, }) %>
Parameters
-
fieldCode: string
Код поля.
-
Optional params: WidgetContextRowParams
Параметры отображения поля.
Returns HtmlString
-
contextValue
-
Отобразить строку со значением поля контекста.
Пример использования в виджете Код:
<%= UI.widget.contextValue('__name', {required: true}) %>
Parameters
-
fieldCode: string
Код поля.
-
Optional params: WidgetContextValueParams
Параметры отображения поля.
Returns HtmlString
-
groupbox
-
Отобразить виджет Панель с заголовком.
Пример использования в виджете Код:
<%= UI.widget.groupbox({title: 'Заголовок'}, panelContent) %> <% $template panelContent %> <div> Здесь отобразим содержимое панели </div> <% $endtemplate %>
Parameters
-
params: WidgetGroupboxParams
Параметры отображения.
-
content: HtmlContent
Содержимое панели.
Returns HtmlString
-
popover
-
Отобразить виджет Выпадающее окно.
Представляет собой выпадающее окно с произвольным содержимым, открывающееся после клика по элементу для открывания.
Пример использования в виджете Код:
<% $template panelContent %> <p> Здесь отобразим содержимое выпадающего окна </p> <%= UI.widget.contextRow('__name', { name: 'Название' }) %> <% $endtemplate %> <% $template popoverOpener %> <button type="button">Открыть</button> <% $endtemplate %> <%= UI.widget.popover( popoverOpener, { type: 'widgets', size: 'md', position: 'bottom', }, panelContent ) %>
Parameters
-
opener: HtmlContent
Элемент для открывания выпадающего окна. Может содержать HTML-контент или другие виджеты.
-
params: WidgetPopoverParams
Параметры отображения.
-
Optional content: HtmlContent
Содержимое выпадающего окна.
Returns HtmlString
-
popoverMenu
-
Отобразить виджет Выпадающее меню.
Представляет собой выпадающее многоуровневое меню, открывающееся после клика по элементу для открывания. Пункты меню описываются массивом в свойстве
items
параметров отображения.Пример использования в виджете Код:
<% $template popoverMenuOpener %> <button type="button">Открыть меню</button> <% $endtemplate %> <%= UI.widget.popoverMenu( popoverMenuOpener, { position: 'right', items: [ { label: "Меню 1", click: function () { Scripts.onClickMenuItem('Меню 1'); }, }, { label: "Меню 2", click: function () { Scripts.onClickMenuItem('Меню 2'); }, }, { label: "Раздел 1", getItems: function () { return [ { label: "Меню второго уровня", click: function () { ViewContext.data.test = 'Дочерний элемент 1'; } }, ] }, }, ], } ) %>
Parameters
-
opener: HtmlContent
Элемент для открывания выпадающего меню. Может содержать HTML-контент или другие виджеты.
-
params: WidgetPopoverParams
Параметры отображения.
Returns HtmlString
-
render
-
Рендер виджета по его коду.
Пример использования в виджете Код:
<%= UI.widget.render('@custom_widget_1', {comment: "Некоторый текст комментария"}) %>
Parameters
-
code: string
Код виджета.
-
Optional params: Record<string, any> & WidgetParams
Параметры, передаваемые виджету (объект, где ключи соответсвуют кодам свойств виджета).
-
Optional content: HtmlContent
Контент, который будет рендериться внутри виджета.
Returns HtmlString
-
tabset
-
Отобразить виджет Вкладки.
Пример использования в виджете Код:
<%= UI.widget.tabset({}, [{title: 'Вкладка 1', content: firstTabContent}, {title: 'Вкладка 2', content: secondTabContent}]) %> <% $template firstTabContent %> <div> Здесь отобразим содержимое первой вкладки </div> <% $endtemplate %> <% $template secondTabContent %> <div> Здесь отобразим содержимое второй вкладки </div> <% $endtemplate %>
Parameters
-
values: WidgetParams
-
tabs: WidgetTabData[]
Returns HtmlString
-
viewContextRow
-
Отобразить строку с полем View-контекста (название и значение).
Рассмотрим, как можно применить это в виджете Код. Пример подсчёта суммы на основании цены и количества и её отображения только в том случае, если нужное поле не остаётся пустым.
<% Scripts.calcTotal = function () { ViewContext.data.total = ViewContext.data.price && ViewContext.data.count ? ViewContext.data.price.multiply(ViewContext.data.count) : undefined; Scripts.totalNode.style.display = Context.data.total ? '' : 'none'; } Scripts.onTotalRender = function (node) { Scripts.totalNode = node; node.style.display = 'none'; } %> <%= UI.widget.viewContextRow('__name', { required: true }) %> <%= UI.widget.viewContextRow('price', { required: true, onChange: Scripts.calcTotal }) %> <%= UI.widget.viewContextRow('count', { required: true, onChange: Scripts.calcTotal }) %> <%= UI.widget.viewContextRow('total', { name: 'ИТОГО', tooltip: 'Сумма подсчитана автоматически', readonly: true, onRender: Scripts.onTotalRender, }) %>
Parameters
-
fieldCode: string
Код поля.
-
Optional params: WidgetContextRowParams
Параметры отображения поля.
Returns HtmlString
-
viewContextValue
-
Отобразить строку со значением поля View-контекста.
Пример использования в виджете Код:
<%= UI.widget.viewContextValue('__name', {required: true}) %>
Parameters
-
fieldCode: string
Код поля.
-
Optional params: WidgetContextValueParams
Параметры отображения поля.
Returns HtmlString
-
API для отображения стандартных виджетов
Применяется для виджета «Код».