mdt-client 31.3.39 → 31.3.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/dist/index.d.ts +11 -11
  2. package/dist/index.js +16 -16
  3. package/dist/index.js.map +1 -1
  4. package/package.json +38 -38
  5. package/readme.md +15 -15
  6. package/types/common/Datasource.d.ts +9 -9
  7. package/types/common/Field.d.ts +51 -51
  8. package/types/common/FieldSettings.schema.d.ts +17 -17
  9. package/types/common/MdtField.d.ts +9 -9
  10. package/types/common/MdtObject.d.ts +7 -7
  11. package/types/common/Record.d.ts +27 -27
  12. package/types/common/Table.d.ts +66 -66
  13. package/types/common/form/tabs/TabsFormExtenderOptions.d.ts +12 -12
  14. package/types/common/list/aggregation/AggregayionTypes.d.ts +2 -2
  15. package/types/common/list/cacheUpdateTime/CacheUpdateTimePublicOptions.d.ts +6 -6
  16. package/types/common/list/cellControlExtender/CellControlExtender.d.ts +1 -1
  17. package/types/common/list/columnMenu/ColumnMenuOptions.d.ts +17 -17
  18. package/types/common/list/columnMenu/QuickFilterOptions.d.ts +7 -7
  19. package/types/common/list/columnMenu/ValuesFilterOptions.d.ts +24 -24
  20. package/types/common/list/form/FormListPublicOptions.d.ts +44 -44
  21. package/types/common/list/gallery/GalleryListExtenderPublicOptions.d.ts +11 -11
  22. package/types/common/list/group/groupTypes.d.ts +177 -177
  23. package/types/common/list/hierarchy/hierarchyTypes.d.ts +48 -48
  24. package/types/common/list/historyType/HistoryTypeListExtenderOptions.d.ts +3 -3
  25. package/types/common/list/labelStyle/LabelStylePublicOptions.d.ts +6 -6
  26. package/types/common/list/legend/LegendListExtenderOptions.d.ts +8 -8
  27. package/types/common/list/listView/ListViewListExtenderOptions.d.ts +25 -25
  28. package/types/common/list/namedFilter/InMemoryNamedFilterOptions.d.ts +23 -23
  29. package/types/common/list/namedFilter/NamedFilterListExtenderPublicOptions.d.ts +29 -29
  30. package/types/common/list/reorder/ReorderListExtenderPublicOptions.d.ts +4 -4
  31. package/types/common/list/select/SelectPublicOptions.d.ts +18 -18
  32. package/types/common/list/styleField/StyleFieldListExtenderPublicOptions.d.ts +3 -3
  33. package/types/common/list/toolbar/ToolbarPublicOptions.d.ts +23 -23
  34. package/types/common/list/virtualScroll/VIrtualScrollPublicOptions.d.ts +7 -7
  35. package/types/common/serverMessage/ServerMessageTypes.d.ts +17 -17
  36. package/types/components/baseFormControls/input/inputOptions.d.ts +31 -31
  37. package/types/components/baseFormControls/maskedInput/MaskFormatter.types.d.ts +2 -2
  38. package/types/components/button/baseButton/buttonOptions.d.ts +12 -12
  39. package/types/components/buttonGroup/buttonGroupOptions.d.ts +7 -7
  40. package/types/components/dropdown/menu/item/dropdownInputItemOptions.d.ts +5 -5
  41. package/types/components/dropdown/menu/item/dropdownItemWrapOptions.d.ts +20 -20
  42. package/types/components/dropdown/menuActionItem/dropdownMenuItemOptions.d.ts +32 -32
  43. package/types/components/form/fieldView/fieldViewOptions.d.ts +13 -13
  44. package/types/components/form/header/types.d.ts +14 -14
  45. package/types/components/form/label/labelOptions.d.ts +23 -23
  46. package/types/components/icon/iconOptions.d.ts +24 -24
  47. package/types/components/iconButton/iconButtonOptions.d.ts +10 -10
  48. package/types/components/navigation/header/userButton/UserMenuSlot.d.ts +10 -10
  49. package/types/components/processPrincipalsList/ProcessPrincipalsListItem.d.ts +5 -5
  50. package/types/components/resizablePanels/panelTitle/panelTitleOptions.d.ts +16 -16
  51. package/types/components/resizablePanels/panelToolbar/panelToolbarOptions.d.ts +4 -4
  52. package/types/components/resizablePanels/resizablePanel/resizablePanelOptions.d.ts +24 -24
  53. package/types/components/resizablePanels/resizablePanelsOptions.d.ts +22 -22
  54. package/types/components/textWithIcon/textWithIconOptions.d.ts +17 -17
  55. package/types/components/toggleablePanels/toggleablePanelsOptions.d.ts +40 -40
  56. package/types/data/active/ActivationListAdapterTypes.d.ts +6 -6
  57. package/types/data/fieldFilter/ToolbarFieldFilterOptions.d.ts +21 -21
  58. package/types/data/periods/helpers/types.d.ts +4 -4
  59. package/types/datasources/FetchResult.d.ts +5 -5
  60. package/types/helpers/IUi.d.ts +2 -2
  61. package/types/helpers/dateUtils.d.ts +23 -23
  62. package/types/helpers/deleteFromArray.d.ts +1 -1
  63. package/types/helpers/events/EventEmitter.d.ts +12 -12
  64. package/types/helpers/fireEvent.d.ts +4 -4
  65. package/types/helpers/formatOptions.d.ts +16 -16
  66. package/types/helpers/formattedText.d.ts +8 -8
  67. package/types/helpers/pipeline/ImmutableArgPipeline.d.ts +8 -8
  68. package/types/helpers/pipeline/Pipeline.d.ts +20 -20
  69. package/types/helpers/redraw.d.ts +16 -16
  70. package/types/helpers/types.d.ts +85 -85
  71. package/types/helpers/ui/elementModificators/focusableComponent.d.ts +15 -15
  72. package/types/helpers/ui/elementModificators/modificatorsTypes.d.ts +4 -4
  73. package/types/helpers/ui/keyboardUtils/getKeySymbol.d.ts +2 -2
  74. package/types/helpers/ui/keyboardUtils/keyboardUtils.d.ts +23 -23
  75. package/types/helpers/ui/keyboardUtils/osByUserAgent.d.ts +1 -1
  76. package/types/helpers/utils/classNames.d.ts +20 -20
  77. package/types/helpers/utils/keyStorage/KeyStorage.d.ts +6 -6
  78. package/types/helpers/utils/memoization/memoize.d.ts +18 -18
  79. package/types/helpers/utils/object.d.ts +4 -4
  80. package/types/helpers/utils/stringifyControlSize.d.ts +3 -3
  81. package/types/helpers/utils/valued/getValued.d.ts +18 -18
  82. package/types/helpers/zone/IZone.d.ts +8 -8
  83. package/types/security/PermissionLevel.d.ts +40 -40
  84. package/types/security/User.d.ts +20 -20
  85. package/types/services/HotkeyManager.d.ts +6 -6
  86. package/types/services/IFilter.d.ts +322 -322
  87. package/types/services/ModuleData.d.ts +9 -9
  88. package/types/services/api/ApiAccessor/apiV1Types.d.ts +266 -266
  89. package/types/services/api/ApiAccessor/apiV2Types.d.ts +586 -586
  90. package/types/services/api/ApiAccessor/binding/bindingApiTypes.d.ts +42 -42
  91. package/types/services/api/ApiAccessorRequestAdapter/handlers/fetch/helpers/count/count.d.ts +10 -10
  92. package/types/services/api/ApiAccessorRequestAdapter/handlers/fetch/helpers/query/exts/hierarchy/hierarchyQueryHelpersTypes.d.ts +28 -28
  93. package/types/services/api/ApiAccessorRequestAdapter/handlers/fetch/helpers/query/exts/placeIn/placeInQueryTypes.d.ts +9 -9
  94. package/types/services/api/ApiAccessorRequestAdapter/handlers/messageTypes.d.ts +37 -37
  95. package/types/services/api/ApiAccessorRequestAdapter/message/apiV2MessageTypes.d.ts +2 -2
  96. package/types/services/api/ApiRequestOptions.d.ts +43 -43
  97. package/types/services/api/BaseQuery.d.ts +25 -25
  98. package/types/services/api/Query.d.ts +56 -56
  99. package/types/services/api/QuerySorting.d.ts +18 -18
  100. package/types/services/api/ServerResonseType.d.ts +2 -2
  101. package/types/services/commands/Command.d.ts +22 -22
  102. package/types/services/commands/CommandGroup.d.ts +15 -15
  103. package/types/services/commands/CommandManager.d.ts +77 -77
  104. package/types/services/customModules/facades/Form/IFieldControlFacade.d.ts +26 -26
  105. package/types/services/customModules/facades/Form/IFieldControlManagerFacade.d.ts +38 -36
  106. package/types/services/customModules/facades/Form/IFieldStateFacade.d.ts +13 -13
  107. package/types/services/customModules/facades/Form/IFormControlFacade.d.ts +133 -133
  108. package/types/services/customModules/facades/Form/IFormFacade.d.ts +102 -102
  109. package/types/services/customModules/facades/Form/IFormLayout.d.ts +12 -12
  110. package/types/services/customModules/facades/IAppFacade.d.ts +38 -38
  111. package/types/services/customModules/facades/IAuthFacade.d.ts +9 -9
  112. package/types/services/customModules/facades/ILegacyFacade.d.ts +239 -239
  113. package/types/services/customModules/facades/IMdtFacade.d.ts +91 -88
  114. package/types/services/customModules/facades/IModuleRegistryFacade.d.ts +5 -5
  115. package/types/services/customModules/facades/IPageFacade.d.ts +7 -7
  116. package/types/services/customModules/facades/List/Column/IColumnFacade.d.ts +7 -7
  117. package/types/services/customModules/facades/List/IListCellFacade.d.ts +8 -8
  118. package/types/services/customModules/facades/List/IListComponentFacade.d.ts +10 -10
  119. package/types/services/customModules/facades/List/IListControlFacade.d.ts +88 -88
  120. package/types/services/customModules/facades/List/IListRowFacade.d.ts +2 -2
  121. package/types/services/customModules/facades/List/IListServiceFacade.d.ts +96 -96
  122. package/types/services/customModules/facades/List/ListOptions/IListOptions.d.ts +4 -4
  123. package/types/services/customModules/facades/components/CodeEditorFacade.d.ts +9 -9
  124. package/types/services/customModules/facades/components/ModalFacade.d.ts +4 -4
  125. package/types/services/customModules/facades/formDashboard/IFormDashboard.d.ts +20 -20
  126. package/types/services/customModules/facades/internalModules/importFormCtrl.types.d.ts +83 -83
  127. package/types/services/customModules/facades/internalModules/importModuleFacade.d.ts +53 -53
  128. package/types/services/customModules/facades/internalModules/modulesFacadeTypes.d.ts +11 -11
  129. package/types/services/customModules/facades/internalModules/statusFacade.d.ts +13 -13
  130. package/types/services/customModules/facades/record/IRecordFacade.d.ts +13 -13
  131. package/types/services/customModules/facades/record/IRecordManagerFacade.d.ts +5 -5
  132. package/types/services/customModules/facades/schema/IFieldFacade.d.ts +14 -14
  133. package/types/services/customModules/facades/schema/IObjectFacade.d.ts +20 -20
  134. package/types/services/customModules/facades/schema/ISchemaFacade.d.ts +24 -24
  135. package/types/services/customModules/facades/schema/fieldBuilder/fieldBuilder/IFieldBuilder.d.ts +23 -23
  136. package/types/services/customModules/facades/schema/fieldBuilder/fieldFkBuilder/IFieldFkBuilder.d.ts +8 -8
  137. package/types/services/customModules/facades/services/CommandManagerFacade.d.ts +11 -11
  138. package/types/services/customModules/facades/services/IListButtonExtendPipelineService.d.ts +13 -13
  139. package/types/services/customModules/facades/services/INavigationFacade.d.ts +91 -91
  140. package/types/services/customModules/facades/services/ISecurityFacade.d.ts +13 -13
  141. package/types/services/customModules/facades/sharedModules/ISharedModulesFacade.d.ts +4 -0
  142. package/types/services/customModules/facades/ui-kit/UiKitFacade.d.ts +8 -0
  143. package/types/services/customModules/facades/utils/IApiFacade.d.ts +91 -91
  144. package/types/services/customModules/facades/utils/IUiComponentsFacade.d.ts +191 -191
  145. package/types/services/customModules/facades/utils/IUiFacade.d.ts +84 -84
  146. package/types/services/customModules/facades/utils/IUtilsFacade.d.ts +225 -225
  147. package/types/services/customModules/facades/utils/ImUtilsFacade.d.ts +42 -42
  148. package/types/services/dropdown/IDropDownMenu.d.ts +41 -41
  149. package/types/services/e2e/e2eServiceType.d.ts +11 -11
  150. package/types/ui-kit/IUiKitUtilsFacade.d.ts +35 -35
  151. package/types/ui-kit/UiKitFacade.d.ts +106 -106
  152. package/types/ui-kit/components/calendar/Calendar.d.ts +3 -3
  153. package/types/views/controls/Control.d.ts +7 -7
  154. package/types/views/controls/panels/panelOptions.d.ts +15 -15
  155. package/types/views/form/controls/commonControl/ICommonControl.d.ts +29 -29
  156. package/types/views/form/controls/fileupload/FileInputFacade.types.d.ts +6 -6
  157. package/types/views/form/controls/monacoEditor/MonacoCodeOptions.schema.d.ts +24 -24
  158. package/types/views/form/controls/monacoEditor/jsonSchemas/Button.schema.d.ts +70 -70
  159. package/types/views/form/controls/picker/multiPickerFacade/IMultiPickerFacade.d.ts +36 -36
  160. package/types/views/form/controls/toggleablePanels/editor/toggleablePanelsEditorFacadeOptions.d.ts +21 -21
  161. package/types/views/form/formTypes.d.ts +5 -5
  162. package/types/views/form/schema/FormPageExtOptions.schema.d.ts +22 -22
  163. package/types/views/form/schema/FormPageOptions.schema.d.ts +19 -19
  164. package/types/views/gallery/ImageFetchOptions.d.ts +5 -5
  165. package/types/views/list/ListViewOptions.d.ts +102 -102
  166. package/types/views/list/features/aggregation/AggregationRowListOptions.d.ts +23 -23
  167. package/types/views/list/schema/ListPageExtOptions.schema.d.ts +123 -123
  168. package/types/views/list/schema/ListPageOptions.schema.d.ts +145 -145
  169. package/types/views/list/tabular/TabularListTypes.d.ts +53 -53
  170. package/types/views/page/PageZoneTypes.d.ts +1 -1
  171. package/types/views/page/charts/ChartControlOptions.schema.d.ts +850 -850
  172. package/types/views/page/charts/facade/IChartControlFacade.d.ts +29 -29
  173. package/types/views/page/charts/reportDashboard/config/chartConfig.d.ts +31 -31
  174. package/types/views/page/charts/reportDashboard/config/filterConfig.d.ts +56 -56
  175. package/types/views/page/charts/reportDashboard/config/listConfig.d.ts +9 -9
  176. package/types/views/page/charts/reportDashboard/config/reportDashboardConfig.d.ts +55 -55
  177. package/types/views/page/charts/reportDashboard/controls/dynamicChart/dynamicChartControlPublicOptions.d.ts +3 -3
  178. package/types/views/page/charts/reportDashboard/index.d.ts +5 -5
  179. package/types/views/page/charts/reportDashboard/utils/formJsonVarParser.d.ts +13 -13
@@ -1,191 +1,191 @@
1
- /// <reference types="../../../../mithril" />
2
- /// <reference types="mithril" />
3
- /// <reference types="react" />
4
- import { HeaderSize } from "mdtScripts/components/form/header/types";
5
- import { ComponentConfigParams } from "mdtScripts/helpers/ui/elementModificators/modificatorsTypes";
6
- import { InputOptions } from "../../../../components/baseFormControls/input/inputOptions";
7
- import { DropdownInputItemOptions } from "../../../../components/dropdown/menu/item/dropdownInputItemOptions";
8
- import { DropdownItemViewOptions } from "../../../../components/dropdown/menu/item/dropdownItemWrapOptions";
9
- import { FieldViewOptions } from "../../../../components/form/fieldView/fieldViewOptions";
10
- import { Icon, IconElOptions, IconOptions } from "../../../../components/icon/iconOptions";
11
- import { ProcessPrincipalsListItem } from "../../../../components/processPrincipalsList/ProcessPrincipalsListItem";
12
- import { FormattedText } from "../../../../helpers/formattedText";
13
- import { Markdown, MithrilAttributes, MithrilControl, Valued, ViewControl, ViewElement } from "../../../../helpers/types";
14
- import { CommonControlOptions } from "../../../../views/form/controls/commonControl/ICommonControl";
15
- import { FileInputFacadeOptions } from "../../../../views/form/controls/fileupload/FileInputFacade.types";
16
- import { MonacoCodeOptions } from "../../../../views/form/controls/monacoEditor/MonacoCodeOptions.schema";
17
- import { IMultiPickerFacade, MultiPickerFacadeOptions, MultiPickerItem } from "../../../../views/form/controls/picker/multiPickerFacade/IMultiPickerFacade";
18
- import { ToggleablePanelsEditorFacadeOptions } from "../../../../views/form/controls/toggleablePanels/editor/toggleablePanelsEditorFacadeOptions";
19
- import { ChartFormControlFacadeOptions, IChartControlFacade } from "../../../../views/page/charts/facade/IChartControlFacade";
20
- import { CodeEditorFacade, CodeEditorFacadeOptions } from "../components/CodeEditorFacade";
21
- import { ButtonFacade } from "../Form/IFormFacade";
22
- import { TabularListSettings } from "../../../../views/list/tabular/TabularListTypes";
23
- import { TextWithIconOptions } from "mdtScripts/components/textWithIcon/textWithIconOptions";
24
- import { ClassNamesArg } from "../../../../helpers/utils/classNames";
25
- import { ResizablePanelsCtrl } from "mdtScripts/components/resizablePanels/resizablePanelsCtrl";
26
- import { ResizablePanelsOptions } from "mdtScripts/components/resizablePanels/resizablePanelsOptions";
27
- import { UserMenuSlot } from "../../../../components/navigation/header/userButton/UserMenuSlot";
28
- export interface IUiComponentsFacade {
29
- button(button: ButtonFacade, translate?: boolean): ViewElement;
30
- topNavButton(options: TopNavButton): _mithril.MithrilVirtualElement;
31
- icon(code: string, options?: IconOptions): _mithril.MithrilVirtualElement;
32
- iconHTML(icon: Icon, options?: IconElOptions): HTMLElement;
33
- processFormBlock(options: IProcessFormBlockOptions): _mithril.MithrilVirtualElement;
34
- commonControl(options: CommonControlOptions): _mithril.MithrilVirtualElement;
35
- unstyledInput(options: InputOptions): _mithril.MithrilVirtualElement;
36
- input(options: InputOptions): _mithril.MithrilVirtualElement;
37
- tooltip(tooltipContent: TooltipContent, params: ComponentConfigParams): void;
38
- field(options: FieldViewOptions): _mithril.MithrilVirtualElement;
39
- dropdownItem(options: DropdownItemViewOptions): _mithril.MithrilVirtualElement;
40
- dropdownInputItem(options: DropdownInputItemOptions): _mithril.MithrilVirtualElement;
41
- toggleablePanelsCtrl(options: ToggleablePanelsEditorFacadeOptions): ViewControl;
42
- fileCtrl(options: FileInputFacadeOptions): ViewControl;
43
- editors: {
44
- codeEditor(options: CodeEditorFacadeOptions): CodeEditorFacade;
45
- };
46
- /** @deprecated Use `UiComponents.editors.codeEditor` instead. */
47
- fullScreenCodeEditor(options: MonacoCodeOptions): _mithril.MithrilVirtualElement;
48
- chart(createOptions: () => ChartFormControlFacadeOptions): IChartControlFacade;
49
- /**
50
- * @experimental
51
- * @deprecated
52
- */
53
- multiPicker<T extends MultiPickerItem = MultiPickerItem>(options: MultiPickerFacadeOptions<T>): IMultiPickerFacade<T>;
54
- /**
55
- *
56
- * **Пример**
57
- *
58
- * ```js
59
- * const markdownText = 'Удалено записей: **9**';
60
- * Ui.showModal({
61
- * $view: () => UiComponents.markdown(markdownText)
62
- * })
63
- * ```
64
- */
65
- markdown(content: string, options?: MarkdownOptions): ViewElement;
66
- /**
67
- * Компонент для отображения нескольких колонок из разных tabular таблиц в одной таблице.
68
- */
69
- tabularList(options: TabularListSettings & {
70
- listOptions?: any;
71
- listExtConfig?: any;
72
- }): MithrilControl & {
73
- getListCtrl(): any;
74
- };
75
- /**
76
- * Компонент для отображения разницы между датами.
77
- *
78
- * @param date дата события
79
- * @param base базовая дата относительно которой вычисляется разница во времени. По умолчанию - текущая дата
80
- *
81
- * @example
82
- * **Пример**
83
- *
84
- * ```js
85
- * const startDate = new Date("2024-01-01");
86
- * const endDate = new Date("2024-01-03");
87
- * Ui.userFriendlyDatesDistance(startDate);
88
- * // Результат: "2 дня назад"
89
- * ```
90
- *
91
- * При наведении курсора отображается точная дата и время
92
- */
93
- userFriendlyDatesDistance(date: Date, base?: Date): ViewElement;
94
- /**
95
- * Выводит иконку и текст с базовым отступом для консистентности системы
96
- *
97
- * @param options параметры для создания элемента с иконкой и текстом
98
- *
99
- * @example
100
- * **Примеры**
101
- *
102
- * Создать элемент с иконкой и простым текстом:
103
- * ```js
104
- * Ui.textWithIcon({
105
- * icon: { name: "check" },
106
- * textContent: { text: "Успешно выполнено" }
107
- * });
108
- * ```
109
- *
110
- * Создать элемент с иконкой и текстом с дополнительными стилями:
111
- * ```js
112
- *Ui.textWithIcon({
113
- *icon: {
114
- * name: "warning",
115
- * options: {
116
- * className: "icon-warning",
117
- * animate: "flash",
118
- * tooltip: "Внимание!"
119
- * }
120
- *},
121
- *textContent: {
122
- * text: "Ошибка загрузки",
123
- * className: "error-text",
124
- * attrs: { style: "color: red; font-weight: bold;" }
125
- *}
126
- *});
127
- * ```
128
- */
129
- textWithIcon(options: TextWithIconOptions): ViewElement;
130
- /**
131
- * Адаптирует React-компонент для использования в Mithril-представлениях.
132
- *
133
- * Создаёт Mithril-элемент, который управляет жизненным циклом React-компонента:
134
- * - При первом рендере создаёт React root и монтирует компонент
135
- * - При изменении пропсов перерендеривает компонент
136
- * - При размонтировании Mithril-элемента корректно unmount'ит React root
137
- *
138
- * @param Component React-компонент для адаптации
139
- * @param props Пропсы для компонента
140
- * @param options Дополнительные опции
141
- * @param options.className CSS-классы для обёртки (div-элемента)
142
- * @returns ViewElement для использования в Mithril
143
- *
144
- * @example
145
- * // В Mithril view:
146
- * return reactComponentWrap(MyReactComponent, {
147
- * title: "Hello",
148
- * onClick: () => console.log("clicked")
149
- * }, {
150
- * className: "my-wrapper"
151
- * });
152
- */
153
- reactComponentWrap<P>(Component: React.FC<P>, props?: P, options?: {
154
- className?: ClassNamesArg;
155
- }): ViewElement;
156
- resizablePanelsCtrl(options: ResizablePanelsOptions): ResizablePanelsCtrl;
157
- UserMenuSlot: typeof UserMenuSlot;
158
- }
159
- export interface IProcessFormBlockOptions {
160
- title: string;
161
- subtitle: string;
162
- titleTooltip: string;
163
- subtitleTooltip: string;
164
- icon?: Icon;
165
- description?: Markdown;
166
- principals?: ProcessPrincipalsListItem[];
167
- principalsTooltip?: string;
168
- principalsTextError?: string;
169
- principalsOnclick?: (item: ProcessPrincipalsListItem) => void;
170
- historyAction?: ButtonFacade;
171
- actions?: ButtonFacade[];
172
- }
173
- export interface TopNavButton {
174
- title: string;
175
- icon?: Icon;
176
- attrs?: MithrilAttributes;
177
- showCaret?: boolean;
178
- focused?: Valued<boolean>;
179
- execute?: () => void;
180
- }
181
- export type TooltipContent = (el: HTMLElement) => FormattedText;
182
- export interface MarkdownOptions {
183
- type?: string;
184
- title?: string;
185
- icon?: string;
186
- className?: string;
187
- zones?: {
188
- end?: ViewElement[];
189
- };
190
- headerSize?: HeaderSize;
191
- }
1
+ /// <reference types="../../../../mithril" />
2
+ /// <reference types="mithril" />
3
+ /// <reference types="react" />
4
+ import { HeaderSize } from "mdtScripts/components/form/header/types";
5
+ import { ComponentConfigParams } from "mdtScripts/helpers/ui/elementModificators/modificatorsTypes";
6
+ import { InputOptions } from "../../../../components/baseFormControls/input/inputOptions";
7
+ import { DropdownInputItemOptions } from "../../../../components/dropdown/menu/item/dropdownInputItemOptions";
8
+ import { DropdownItemViewOptions } from "../../../../components/dropdown/menu/item/dropdownItemWrapOptions";
9
+ import { FieldViewOptions } from "../../../../components/form/fieldView/fieldViewOptions";
10
+ import { Icon, IconElOptions, IconOptions } from "../../../../components/icon/iconOptions";
11
+ import { ProcessPrincipalsListItem } from "../../../../components/processPrincipalsList/ProcessPrincipalsListItem";
12
+ import { FormattedText } from "../../../../helpers/formattedText";
13
+ import { Markdown, MithrilAttributes, MithrilControl, Valued, ViewControl, ViewElement } from "../../../../helpers/types";
14
+ import { CommonControlOptions } from "../../../../views/form/controls/commonControl/ICommonControl";
15
+ import { FileInputFacadeOptions } from "../../../../views/form/controls/fileupload/FileInputFacade.types";
16
+ import { MonacoCodeOptions } from "../../../../views/form/controls/monacoEditor/MonacoCodeOptions.schema";
17
+ import { IMultiPickerFacade, MultiPickerFacadeOptions, MultiPickerItem } from "../../../../views/form/controls/picker/multiPickerFacade/IMultiPickerFacade";
18
+ import { ToggleablePanelsEditorFacadeOptions } from "../../../../views/form/controls/toggleablePanels/editor/toggleablePanelsEditorFacadeOptions";
19
+ import { ChartFormControlFacadeOptions, IChartControlFacade } from "../../../../views/page/charts/facade/IChartControlFacade";
20
+ import { CodeEditorFacade, CodeEditorFacadeOptions } from "../components/CodeEditorFacade";
21
+ import { ButtonFacade } from "../Form/IFormFacade";
22
+ import { TabularListSettings } from "../../../../views/list/tabular/TabularListTypes";
23
+ import { TextWithIconOptions } from "mdtScripts/components/textWithIcon/textWithIconOptions";
24
+ import { ClassNamesArg } from "../../../../helpers/utils/classNames";
25
+ import { ResizablePanelsCtrl } from "mdtScripts/components/resizablePanels/resizablePanelsCtrl";
26
+ import { ResizablePanelsOptions } from "mdtScripts/components/resizablePanels/resizablePanelsOptions";
27
+ import { UserMenuSlot } from "../../../../components/navigation/header/userButton/UserMenuSlot";
28
+ export interface IUiComponentsFacade {
29
+ button(button: ButtonFacade, translate?: boolean): ViewElement;
30
+ topNavButton(options: TopNavButton): _mithril.MithrilVirtualElement;
31
+ icon(code: string, options?: IconOptions): _mithril.MithrilVirtualElement;
32
+ iconHTML(icon: Icon, options?: IconElOptions): HTMLElement;
33
+ processFormBlock(options: IProcessFormBlockOptions): _mithril.MithrilVirtualElement;
34
+ commonControl(options: CommonControlOptions): _mithril.MithrilVirtualElement;
35
+ unstyledInput(options: InputOptions): _mithril.MithrilVirtualElement;
36
+ input(options: InputOptions): _mithril.MithrilVirtualElement;
37
+ tooltip(tooltipContent: TooltipContent, params: ComponentConfigParams): void;
38
+ field(options: FieldViewOptions): _mithril.MithrilVirtualElement;
39
+ dropdownItem(options: DropdownItemViewOptions): _mithril.MithrilVirtualElement;
40
+ dropdownInputItem(options: DropdownInputItemOptions): _mithril.MithrilVirtualElement;
41
+ toggleablePanelsCtrl(options: ToggleablePanelsEditorFacadeOptions): ViewControl;
42
+ fileCtrl(options: FileInputFacadeOptions): ViewControl;
43
+ editors: {
44
+ codeEditor(options: CodeEditorFacadeOptions): CodeEditorFacade;
45
+ };
46
+ /** @deprecated Use `UiComponents.editors.codeEditor` instead. */
47
+ fullScreenCodeEditor(options: MonacoCodeOptions): _mithril.MithrilVirtualElement;
48
+ chart(createOptions: () => ChartFormControlFacadeOptions): IChartControlFacade;
49
+ /**
50
+ * @experimental
51
+ * @deprecated
52
+ */
53
+ multiPicker<T extends MultiPickerItem = MultiPickerItem>(options: MultiPickerFacadeOptions<T>): IMultiPickerFacade<T>;
54
+ /**
55
+ *
56
+ * **Пример**
57
+ *
58
+ * ```js
59
+ * const markdownText = 'Удалено записей: **9**';
60
+ * Ui.showModal({
61
+ * $view: () => UiComponents.markdown(markdownText)
62
+ * })
63
+ * ```
64
+ */
65
+ markdown(content: string, options?: MarkdownOptions): ViewElement;
66
+ /**
67
+ * Компонент для отображения нескольких колонок из разных tabular таблиц в одной таблице.
68
+ */
69
+ tabularList(options: TabularListSettings & {
70
+ listOptions?: any;
71
+ listExtConfig?: any;
72
+ }): MithrilControl & {
73
+ getListCtrl(): any;
74
+ };
75
+ /**
76
+ * Компонент для отображения разницы между датами.
77
+ *
78
+ * @param date дата события
79
+ * @param base базовая дата относительно которой вычисляется разница во времени. По умолчанию - текущая дата
80
+ *
81
+ * @example
82
+ * **Пример**
83
+ *
84
+ * ```js
85
+ * const startDate = new Date("2024-01-01");
86
+ * const endDate = new Date("2024-01-03");
87
+ * Ui.userFriendlyDatesDistance(startDate);
88
+ * // Результат: "2 дня назад"
89
+ * ```
90
+ *
91
+ * При наведении курсора отображается точная дата и время
92
+ */
93
+ userFriendlyDatesDistance(date: Date, base?: Date): ViewElement;
94
+ /**
95
+ * Выводит иконку и текст с базовым отступом для консистентности системы
96
+ *
97
+ * @param options параметры для создания элемента с иконкой и текстом
98
+ *
99
+ * @example
100
+ * **Примеры**
101
+ *
102
+ * Создать элемент с иконкой и простым текстом:
103
+ * ```js
104
+ * Ui.textWithIcon({
105
+ * icon: { name: "check" },
106
+ * textContent: { text: "Успешно выполнено" }
107
+ * });
108
+ * ```
109
+ *
110
+ * Создать элемент с иконкой и текстом с дополнительными стилями:
111
+ * ```js
112
+ *Ui.textWithIcon({
113
+ *icon: {
114
+ * name: "warning",
115
+ * options: {
116
+ * className: "icon-warning",
117
+ * animate: "flash",
118
+ * tooltip: "Внимание!"
119
+ * }
120
+ *},
121
+ *textContent: {
122
+ * text: "Ошибка загрузки",
123
+ * className: "error-text",
124
+ * attrs: { style: "color: red; font-weight: bold;" }
125
+ *}
126
+ *});
127
+ * ```
128
+ */
129
+ textWithIcon(options: TextWithIconOptions): ViewElement;
130
+ /**
131
+ * Адаптирует React-компонент для использования в Mithril-представлениях.
132
+ *
133
+ * Создаёт Mithril-элемент, который управляет жизненным циклом React-компонента:
134
+ * - При первом рендере создаёт React root и монтирует компонент
135
+ * - При изменении пропсов перерендеривает компонент
136
+ * - При размонтировании Mithril-элемента корректно unmount'ит React root
137
+ *
138
+ * @param Component React-компонент для адаптации
139
+ * @param props Пропсы для компонента
140
+ * @param options Дополнительные опции
141
+ * @param options.className CSS-классы для обёртки (div-элемента)
142
+ * @returns ViewElement для использования в Mithril
143
+ *
144
+ * @example
145
+ * // В Mithril view:
146
+ * return reactComponentWrap(MyReactComponent, {
147
+ * title: "Hello",
148
+ * onClick: () => console.log("clicked")
149
+ * }, {
150
+ * className: "my-wrapper"
151
+ * });
152
+ */
153
+ reactComponentWrap<P>(Component: React.FC<P>, props?: P, options?: {
154
+ className?: ClassNamesArg;
155
+ }): ViewElement;
156
+ resizablePanelsCtrl(options: ResizablePanelsOptions): ResizablePanelsCtrl;
157
+ UserMenuSlot: typeof UserMenuSlot;
158
+ }
159
+ export interface IProcessFormBlockOptions {
160
+ title: string;
161
+ subtitle: string;
162
+ titleTooltip: string;
163
+ subtitleTooltip: string;
164
+ icon?: Icon;
165
+ description?: Markdown;
166
+ principals?: ProcessPrincipalsListItem[];
167
+ principalsTooltip?: string;
168
+ principalsTextError?: string;
169
+ principalsOnclick?: (item: ProcessPrincipalsListItem) => void;
170
+ historyAction?: ButtonFacade;
171
+ actions?: ButtonFacade[];
172
+ }
173
+ export interface TopNavButton {
174
+ title: string;
175
+ icon?: Icon;
176
+ attrs?: MithrilAttributes;
177
+ showCaret?: boolean;
178
+ focused?: Valued<boolean>;
179
+ execute?: () => void;
180
+ }
181
+ export type TooltipContent = (el: HTMLElement) => FormattedText;
182
+ export interface MarkdownOptions {
183
+ type?: string;
184
+ title?: string;
185
+ icon?: string;
186
+ className?: string;
187
+ zones?: {
188
+ end?: ViewElement[];
189
+ };
190
+ headerSize?: HeaderSize;
191
+ }
@@ -1,84 +1,84 @@
1
- /// <reference types="../../../../mithril" />
2
- /// <reference types="mithril" />
3
- import { MithrilControl } from "../../../../helpers/types";
4
- import { DropdownOptions } from "../../../dropdown/IDropDownMenu";
5
- import { ButtonFacade } from "../Form/IFormFacade";
6
- import { DropdownTargetContext, IDropdownMenu } from "../../../dropdown/IDropDownMenu";
7
- import { IModalFacade } from "../components/ModalFacade";
8
- import { UiType } from "../../../../helpers/IUi";
9
- import { IPanelOptions } from "mdtScripts/views/controls/panels/panelOptions";
10
- export type onModalResizeCallback = (data: IModalSizingState) => void;
11
- export interface IType<T> {
12
- new (...args: any[]): T;
13
- }
14
- export interface ParentCtrl {
15
- getViewControl(): MithrilControl;
16
- }
17
- export type NotificationType = "default" | "info" | "success" | "warning" | "danger";
18
- export type UiContainerContent = MithrilControl | ParentCtrl | string;
19
- export interface CustomNotification {
20
- /** Заголовок сообщения */
21
- title: string;
22
- /** Текст сообщения */
23
- text: string;
24
- /** Наименование иконки */
25
- icon?: string;
26
- /** Тип выводимого сообщения*/
27
- type?: NotificationType;
28
- /** Кнопки, отображаемые в сообщении*/
29
- actions?: ButtonFacade[];
30
- }
31
- export interface IUiFacade {
32
- /** Вызвать окно уведомления */
33
- showNotification(msg: CustomNotification, duration?: number): void;
34
- /** Вызвать модальное окно */
35
- showModal(content: UiContainerContent, options?: IModalOptions): IModalFacade;
36
- /** Вызвать боковую панель */
37
- showSidebar(content: UiContainerContent, options?: ISidebarOptions): void;
38
- /** Создать выпадающее меню */
39
- createDropdown<I>(options: DropdownOptions<I>, el: Element, ctx: DropdownTargetContext<I>): IDropdownMenu<I>;
40
- /** Создать компонент с пользовательской версткой */
41
- createControl(view: () => _mithril.MithrilVirtualElement): MithrilControl;
42
- }
43
- export type ModalTypes = UiType;
44
- export interface IModalOptions {
45
- /** CSS класс */
46
- class?: string;
47
- /** Подписка на инциализацию модального окна */
48
- initContainer?: (container: any) => void;
49
- /** Размер модального окна */
50
- size?: "lg" | "sm" | "md";
51
- /** Классы CSS для содержимого модального окна */
52
- css?: string;
53
- /** Заголовок модального окна */
54
- title?: string;
55
- /** Иконка для модального окна */
56
- icon?: string;
57
- /** Затемнение заднего фона */
58
- backdrop?: boolean;
59
- /** Параметры размеров модального окна */
60
- initialSizingState?: IModalSizingState;
61
- /** Тип модального окна */
62
- type?: ModalTypes;
63
- /** Дополнительные кнопки на окне */
64
- buttons?: ButtonFacade[];
65
- /** Настройки кнопки закрытия модального окна */
66
- closeButton?: Partial<ButtonFacade>;
67
- /**
68
- * Возможность закрыть окно по кнопкам закрытия и с помощью клавиатуры
69
- * @default true
70
- */
71
- closable?: boolean;
72
- onClose?: (closeResult?: any) => void;
73
- /** Содержит ли модальное окно какое-либо действие */
74
- isAction?: boolean;
75
- }
76
- export type ISidebarOptions = IPanelOptions;
77
- export interface IModalSizingState {
78
- /** Отображать окно в расширенном на весь экран виде */
79
- full: boolean;
80
- /** Ширина */
81
- width: number;
82
- /** Высота */
83
- height: number;
84
- }
1
+ /// <reference types="../../../../mithril" />
2
+ /// <reference types="mithril" />
3
+ import { MithrilControl } from "../../../../helpers/types";
4
+ import { DropdownOptions } from "../../../dropdown/IDropDownMenu";
5
+ import { ButtonFacade } from "../Form/IFormFacade";
6
+ import { DropdownTargetContext, IDropdownMenu } from "../../../dropdown/IDropDownMenu";
7
+ import { IModalFacade } from "../components/ModalFacade";
8
+ import { UiType } from "../../../../helpers/IUi";
9
+ import { IPanelOptions } from "mdtScripts/views/controls/panels/panelOptions";
10
+ export type onModalResizeCallback = (data: IModalSizingState) => void;
11
+ export interface IType<T> {
12
+ new (...args: any[]): T;
13
+ }
14
+ export interface ParentCtrl {
15
+ getViewControl(): MithrilControl;
16
+ }
17
+ export type NotificationType = "default" | "info" | "success" | "warning" | "danger";
18
+ export type UiContainerContent = MithrilControl | ParentCtrl | string;
19
+ export interface CustomNotification {
20
+ /** Заголовок сообщения */
21
+ title: string;
22
+ /** Текст сообщения */
23
+ text: string;
24
+ /** Наименование иконки */
25
+ icon?: string;
26
+ /** Тип выводимого сообщения*/
27
+ type?: NotificationType;
28
+ /** Кнопки, отображаемые в сообщении*/
29
+ actions?: ButtonFacade[];
30
+ }
31
+ export interface IUiFacade {
32
+ /** Вызвать окно уведомления */
33
+ showNotification(msg: CustomNotification, duration?: number): void;
34
+ /** Вызвать модальное окно */
35
+ showModal(content: UiContainerContent, options?: IModalOptions): IModalFacade;
36
+ /** Вызвать боковую панель */
37
+ showSidebar(content: UiContainerContent, options?: ISidebarOptions): void;
38
+ /** Создать выпадающее меню */
39
+ createDropdown<I>(options: DropdownOptions<I>, el: Element, ctx: DropdownTargetContext<I>): IDropdownMenu<I>;
40
+ /** Создать компонент с пользовательской версткой */
41
+ createControl(view: () => _mithril.MithrilVirtualElement): MithrilControl;
42
+ }
43
+ export type ModalTypes = UiType;
44
+ export interface IModalOptions {
45
+ /** CSS класс */
46
+ class?: string;
47
+ /** Подписка на инциализацию модального окна */
48
+ initContainer?: (container: any) => void;
49
+ /** Размер модального окна */
50
+ size?: "lg" | "sm" | "md";
51
+ /** Классы CSS для содержимого модального окна */
52
+ css?: string;
53
+ /** Заголовок модального окна */
54
+ title?: string;
55
+ /** Иконка для модального окна */
56
+ icon?: string;
57
+ /** Затемнение заднего фона */
58
+ backdrop?: boolean;
59
+ /** Параметры размеров модального окна */
60
+ initialSizingState?: IModalSizingState;
61
+ /** Тип модального окна */
62
+ type?: ModalTypes;
63
+ /** Дополнительные кнопки на окне */
64
+ buttons?: ButtonFacade[];
65
+ /** Настройки кнопки закрытия модального окна */
66
+ closeButton?: Partial<ButtonFacade>;
67
+ /**
68
+ * Возможность закрыть окно по кнопкам закрытия и с помощью клавиатуры
69
+ * @default true
70
+ */
71
+ closable?: boolean;
72
+ onClose?: (closeResult?: any) => void;
73
+ /** Содержит ли модальное окно какое-либо действие */
74
+ isAction?: boolean;
75
+ }
76
+ export type ISidebarOptions = IPanelOptions;
77
+ export interface IModalSizingState {
78
+ /** Отображать окно в расширенном на весь экран виде */
79
+ full: boolean;
80
+ /** Ширина */
81
+ width: number;
82
+ /** Высота */
83
+ height: number;
84
+ }