Компонент предназначен для навигации по формам.
| Name | Type | Default | Description |
|---|---|---|---|
| tabMenu | Object | { tabHeader: ‘Главная’, path: ‘views/Menu’, component: () => import(‘@/views/Menu.vue’) } | Компонент/страница которые будут смонтированы на первой табке компонента навигации |
| tabStyle | Object | { padding: ‘0px’, height: ‘calc(100vh - 32px)’ } | Кастомный стиль для отображения всех табок |
Компонент слушает и обрабатывает следующие события из шины событий:
| Name | Parameters | Description |
|---|---|---|
| action:formElement | { objectSlug, appliedObject, actionName } | Выполняет action для формы элемента |
| action:formList | { objectSlug, appliedObject, actionName } | Выполняет action для формы списка |
| close:form | Закрывает активную форму(табку) | |
| delete:formList | deprecated | |
| open:formElement | { appliedObjectForResponse, mode, path, state, objectSlug } | Открывает форму элемента |
| open:formList | { appliedObjectForResponse, mode, path, state, objectSlug } | Открывает форму списка |
| open:freeForm | Открывает свободную форму | |
| refresh:formList | deprecated | |
| save:formElement | deprecated | |
| return:selection | { appliedObject, sourseFormIndex } | Возвращает значение appliedObject в форму с индексом sourseFormIndex |
Компонент предназначен для размещения на форме заголовка формы
| Name | Type | Default | Description |
|---|---|---|---|
| appliedObject | [Array, Object] | [] | Массив или Объект с данными |
| objectSlug | String | Имя прикладного объекта |
Компонент генерирует на шину событий следующие события:
| Name | Parameters | Description |
|---|---|---|
| close:form | Закрывает форму |
Компонент предназначен для размещения командной панели
| Name | Type | Default | Description |
|---|---|---|---|
| dense | Boolean | true | Задает высоту тулбара (dense ? 28 : 48) |
| options | { items: [ { action: ‘spacer’ } ] | Опции тулбара (см. Description) | |
| mode | deprecated | ||
| isActive | deprecated | ||
| isDisabled | deprecated |
Существует 4 набора стандартных опций командной панели:
optionsToolbarList - набор для формы спискаoptionsToolbarElementCatalog - набор для формы элемента каталогаoptionsToolbarElementDocument - набор для формы элемента документаoptionsToolbarTabularSection - набор для табличной частиПри необходимости можно переопределить любой из наборов или создать на форме свой. Для этого необходимо на форме, в секции data, определить новый объект вида (при совпадении имени объекта со стандартными из набора, стандартный будет переопределен, но только для этой формы):
optionsToolbarListNew: {
items: [
TOOLBAR_ITEMS.CREATE, // стандартные действия
TOOLBAR_ITEMS.COPY,
TOOLBAR_ITEMS.EDIT,
TOOLBAR_ITEMS.DELETE,
TOOLBAR_ITEMS.REFRESH,
{
action: 'openFreeForm', // пользовательское действие
icon: ICON.DIAGRAM,
tooltip: 'Открыть свободную форму',
},
],
refRelatedItem: 'CatBaseService',
},
При добавлении пользовательского действия, необходимо так-же добавить его к стандартным действиям командной панели указав имя action и выполняемое действие:
toolbarActions: {
openFreeForm: this.openFreeForm,
},
Для опций командной панели ТЧ необходимо прописать refRelatedItem в опциях тулбара, например, на форме есть ТЧ TabdocBaseService, необходимо добавить следующее computed свойство:
optionsToolbarTabdocBaseService() {
return {
...this.optionsToolbarTabularSection,
refRelatedItem: 'TabdocBaseService',
};
},
и в props - options командной панели для ТЧ передать значение optionsToolbarTabdocBaseService.
Компонент не генерирует никаких событий. При клике на элемент тулбара, компонент вызывает метод родителя executeAction, со следующими параметрами:
| Name | Description |
|---|---|
| refRelatedItem | Имя (ref) связанного с тулбаром компонента |
| actionName | Имя action |
Компонент предназначен для размещения на форме полей ввода
| Name | Type | Default | Description |
|---|---|---|---|
| value | [String, Number, Date, Boolean, Object] | null | Значение переданное через v-modal |
| options | Object | {} | Объект содержащий имя связанного поля |
| objectSlug | String | Имя прикладного объекта |
Компонент предназначен для размещения на форме списка элементов
| Name | Type | Default | Description |
|---|---|---|---|
| appliedObject | Array | [] | Массив с данными |
| options | Object | {} | Объект содержаший описание полей |
У компонента есть внешние методы:
Компонент не генерирует никаких событий. При клике на элемент тулбара, компонент вызывает метод родителя selectRow, со следующими параметрами: | Name | Description | | ————– | —————————————— | | refRelatedItem | Имя (ref) компонента |
Компонент предназначен для размещения на форме табличной части
| Name | Type | Default | Description |
|---|---|---|---|
| appliedObjects | Array | [] | Массив с данными переданнsq через v-modal |
| options | Object | {} | Объект содержаший описание полей |
| objectSlug | String | Имя прикладного объекта |
У компонента есть внешние методы:
Компонент не генерирует никаких событий. При клике на элемент тулбара, компонент вызывает метод родителя selectRow, со следующими параметрами: | Name | Description | | ————– | —————————————— | | refRelatedItem | Имя (ref) компонента |
Компонент предназначен для размещения на форме вкладок с элементами формы. Является родителем для компонента DTab. Позволяет размещать на себе несколько вкладок.
У компонента есть внешний метод:
Компонент не генерирует никаких событий. Для компонента обязательно наличие компонента DTab.
DTab
Компонент является дочерним компонентом для DTabs, то есть вкладкой. Предназначен для размещения элементов формы.
Рекомендуется обворачивать размещаемые элементы в блоки с классом .height-fixed и .height-auto.
| Name | Type | Default | Description |
|---|---|---|---|
| label | String | ‘Tab’ | Наименование вкладки. Название должно быть уникальное. |
Пример кода:
<d-tabs>
<d-tab label="Tab 1">
<div class="height-fixed">
<div>
<d-form-element-field
:options="options"
:object-slug="objectSlug"
v-model="value"
></d-form-element-field>
</div>
</div>
</d-tab>
<d-tab label="Tab 2">
<div class="height-fixed">
<d-toolbar
:options="optionsToolbarTabdocBudgetGzCoefficient"
></d-toolbar>
</div>
<div class="height-auto">
<d-tabular-sections
ref="tab_2_1"
:options="options1"
:object-slug="objectSlug"
v-model="appliedObject.value1"
/>
</div>
<div class="height-auto">
<d-tabular-sections
ref="tab_2_2"
:options="options2"
:object-slug="objectSlug"
v-model="appliedObject.value2"
/>
</div>
</d-tab>
</d-tabs>