mdt-client 31.3.21 → 31.3.22

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 (142) hide show
  1. package/dist/index.d.ts +11 -10
  2. package/dist/index.js +16 -16
  3. package/package.json +29 -29
  4. package/readme.md +15 -15
  5. package/types/common/Datasource.d.ts +9 -9
  6. package/types/common/Field.d.ts +51 -51
  7. package/types/common/FieldSettings.schema.d.ts +8 -8
  8. package/types/common/MdtField.d.ts +9 -9
  9. package/types/common/MdtObject.d.ts +7 -7
  10. package/types/common/Record.d.ts +27 -27
  11. package/types/common/Table.d.ts +66 -66
  12. package/types/common/list/group/groupTypes.d.ts +30 -30
  13. package/types/common/list/hierarchy/hierarchyTypes.d.ts +48 -48
  14. package/types/common/serverMessage/ServerMessageTypes.d.ts +17 -17
  15. package/types/components/baseFormControls/input/inputOptions.d.ts +31 -30
  16. package/types/components/baseFormControls/maskedInput/MaskFormatter.types.d.ts +2 -2
  17. package/types/components/button/baseButton/buttonOptions.d.ts +12 -12
  18. package/types/components/buttonGroup/buttonGroupOptions.d.ts +7 -7
  19. package/types/components/dropdown/menu/item/dropdownInputItemOptions.d.ts +5 -5
  20. package/types/components/dropdown/menu/item/dropdownItemWrapOptions.d.ts +19 -19
  21. package/types/components/dropdown/menuActionItem/dropdownMenuItemOptions.d.ts +32 -32
  22. package/types/components/form/fieldView/fieldViewOptions.d.ts +13 -13
  23. package/types/components/form/header/types.d.ts +14 -0
  24. package/types/components/form/label/labelOptions.d.ts +22 -22
  25. package/types/components/icon/iconOptions.d.ts +22 -21
  26. package/types/components/iconButton/iconButtonOptions.d.ts +10 -9
  27. package/types/components/processPrincipalsList/ProcessPrincipalsListItem.d.ts +5 -5
  28. package/types/components/resizablePanels/panelTitle/panelTitleOptions.d.ts +16 -16
  29. package/types/components/resizablePanels/panelToolbar/panelToolbarOptions.d.ts +4 -4
  30. package/types/components/resizablePanels/resizablePanel/resizablePanelOptions.d.ts +24 -24
  31. package/types/components/resizablePanels/resizablePanelsOptions.d.ts +22 -22
  32. package/types/components/toggleablePanels/toggleablePanelsOptions.d.ts +40 -40
  33. package/types/data/active/ActivationListAdapterTypes.d.ts +6 -6
  34. package/types/data/periods/helpers/types.d.ts +4 -0
  35. package/types/datasources/FetchResult.d.ts +5 -5
  36. package/types/helpers/IUi.d.ts +2 -2
  37. package/types/helpers/deleteFromArray.d.ts +1 -1
  38. package/types/helpers/events/EventEmitter.d.ts +12 -12
  39. package/types/helpers/fireEvent.d.ts +4 -4
  40. package/types/helpers/formatOptions.d.ts +16 -14
  41. package/types/helpers/formattedText.d.ts +8 -8
  42. package/types/helpers/pipeline/ImmutableArgPipeline.d.ts +7 -7
  43. package/types/helpers/pipeline/Pipeline.d.ts +20 -20
  44. package/types/helpers/redraw.d.ts +16 -16
  45. package/types/helpers/types.d.ts +85 -84
  46. package/types/helpers/ui/elementModificators/focusableComponent.d.ts +15 -14
  47. package/types/helpers/ui/elementModificators/modificatorsTypes.d.ts +4 -4
  48. package/types/helpers/ui/keyboardUtils/getKeySymbol.d.ts +2 -2
  49. package/types/helpers/ui/keyboardUtils/keyboardUtils.d.ts +23 -23
  50. package/types/helpers/ui/keyboardUtils/osByUserAgent.d.ts +1 -1
  51. package/types/helpers/utils/classNames.d.ts +20 -20
  52. package/types/helpers/utils/keyStorage/KeyStorage.d.ts +6 -6
  53. package/types/helpers/utils/memoization/memoize.d.ts +18 -18
  54. package/types/helpers/utils/object.d.ts +4 -4
  55. package/types/helpers/utils/stringifyControlSize.d.ts +3 -3
  56. package/types/helpers/utils/valued/getValued.d.ts +18 -18
  57. package/types/helpers/zone/IZone.d.ts +8 -7
  58. package/types/security/PermissionLevel.d.ts +40 -40
  59. package/types/security/User.d.ts +19 -19
  60. package/types/services/HotkeyManager.d.ts +6 -6
  61. package/types/services/IFilter.d.ts +322 -322
  62. package/types/services/ModuleData.d.ts +9 -9
  63. package/types/services/api/ApiAccessor/apiV1Types.d.ts +266 -266
  64. package/types/services/api/ApiAccessor/apiV2Types.d.ts +583 -583
  65. package/types/services/api/ApiAccessor/binding/bindingApiTypes.d.ts +37 -37
  66. package/types/services/api/ApiAccessorRequestAdapter/handlers/fetch/helpers/count/count.d.ts +10 -10
  67. package/types/services/api/ApiAccessorRequestAdapter/handlers/fetch/helpers/query/exts/hierarchy/hierarchyQueryHelpersTypes.d.ts +28 -28
  68. package/types/services/api/ApiAccessorRequestAdapter/handlers/fetch/helpers/query/exts/placeIn/placeInQueryTypes.d.ts +9 -9
  69. package/types/services/api/ApiAccessorRequestAdapter/handlers/messageTypes.d.ts +37 -37
  70. package/types/services/api/ApiAccessorRequestAdapter/message/apiV2MessageTypes.d.ts +2 -2
  71. package/types/services/api/ApiRequestOptions.d.ts +43 -43
  72. package/types/services/api/BaseQuery.d.ts +23 -23
  73. package/types/services/api/Query.d.ts +59 -59
  74. package/types/services/api/QuerySorting.d.ts +18 -18
  75. package/types/services/api/ServerResonseType.d.ts +2 -2
  76. package/types/services/commands/Command.d.ts +22 -22
  77. package/types/services/commands/CommandGroup.d.ts +15 -15
  78. package/types/services/commands/CommandManager.d.ts +77 -77
  79. package/types/services/customModules/facades/Form/IFieldControlFacade.d.ts +26 -26
  80. package/types/services/customModules/facades/Form/IFieldControlManagerFacade.d.ts +36 -36
  81. package/types/services/customModules/facades/Form/IFieldStateFacade.d.ts +13 -13
  82. package/types/services/customModules/facades/Form/IFormControlFacade.d.ts +133 -133
  83. package/types/services/customModules/facades/Form/IFormFacade.d.ts +101 -101
  84. package/types/services/customModules/facades/Form/IFormLayout.d.ts +12 -0
  85. package/types/services/customModules/facades/IAppFacade.d.ts +38 -38
  86. package/types/services/customModules/facades/IAuthFacade.d.ts +9 -9
  87. package/types/services/customModules/facades/ILegacyFacade.d.ts +151 -151
  88. package/types/services/customModules/facades/IMdtFacade.d.ts +82 -81
  89. package/types/services/customModules/facades/IModuleRegistryFacade.d.ts +5 -5
  90. package/types/services/customModules/facades/IPageFacade.d.ts +7 -7
  91. package/types/services/customModules/facades/List/Column/IColumnFacade.d.ts +7 -7
  92. package/types/services/customModules/facades/List/IListCellFacade.d.ts +8 -8
  93. package/types/services/customModules/facades/List/IListComponentFacade.d.ts +10 -10
  94. package/types/services/customModules/facades/List/IListControlFacade.d.ts +88 -88
  95. package/types/services/customModules/facades/List/IListRowFacade.d.ts +2 -2
  96. package/types/services/customModules/facades/List/IListServiceFacade.d.ts +53 -53
  97. package/types/services/customModules/facades/components/CodeEditorFacade.d.ts +9 -9
  98. package/types/services/customModules/facades/components/ModalFacade.d.ts +4 -4
  99. package/types/services/customModules/facades/formDashboard/IFormDashboard.d.ts +20 -15
  100. package/types/services/customModules/facades/internalModules/importFormCtrl.types.d.ts +76 -76
  101. package/types/services/customModules/facades/internalModules/importModuleFacade.d.ts +48 -48
  102. package/types/services/customModules/facades/internalModules/modulesFacadeTypes.d.ts +11 -11
  103. package/types/services/customModules/facades/internalModules/statusFacade.d.ts +13 -13
  104. package/types/services/customModules/facades/record/IRecordFacade.d.ts +13 -13
  105. package/types/services/customModules/facades/record/IRecordManagerFacade.d.ts +5 -5
  106. package/types/services/customModules/facades/schema/IFieldFacade.d.ts +12 -11
  107. package/types/services/customModules/facades/schema/IObjectFacade.d.ts +15 -15
  108. package/types/services/customModules/facades/schema/ISchemaFacade.d.ts +11 -11
  109. package/types/services/customModules/facades/services/CommandManagerFacade.d.ts +11 -11
  110. package/types/services/customModules/facades/services/IListButtonExtendPipelineService.d.ts +13 -13
  111. package/types/services/customModules/facades/services/INavigationFacade.d.ts +87 -87
  112. package/types/services/customModules/facades/services/ISecurityFacade.d.ts +13 -13
  113. package/types/services/customModules/facades/utils/IApiFacade.d.ts +91 -91
  114. package/types/services/customModules/facades/utils/IUiComponentsFacade.d.ts +92 -85
  115. package/types/services/customModules/facades/utils/IUiFacade.d.ts +84 -83
  116. package/types/services/customModules/facades/utils/IUtilsFacade.d.ts +26 -26
  117. package/types/services/customModules/facades/utils/ImUtilsFacade.d.ts +26 -25
  118. package/types/services/dropdown/IDropDownMenu.d.ts +41 -40
  119. package/types/services/e2e/e2eServiceType.d.ts +11 -11
  120. package/types/views/controls/Control.d.ts +7 -7
  121. package/types/views/controls/panels/panelOptions.d.ts +15 -15
  122. package/types/views/form/controls/commonControl/ICommonControl.d.ts +29 -28
  123. package/types/views/form/controls/fileupload/FileInputFacade.types.d.ts +6 -6
  124. package/types/views/form/controls/monacoEditor/MonacoCodeOptions.schema.d.ts +23 -23
  125. package/types/views/form/controls/monacoEditor/jsonSchemas/Button.schema.d.ts +70 -70
  126. package/types/views/form/controls/picker/multiPickerFacade/IMultiPickerFacade.d.ts +36 -36
  127. package/types/views/form/controls/toggleablePanels/editor/toggleablePanelsEditorFacadeOptions.d.ts +21 -21
  128. package/types/views/form/formTypes.d.ts +4 -4
  129. package/types/views/form/schema/FormPageOptions.schema.d.ts +19 -19
  130. package/types/views/list/IListView.d.ts +71 -70
  131. package/types/views/list/schema/ListPageOptions.schema.d.ts +116 -116
  132. package/types/views/page/PageZoneTypes.d.ts +1 -1
  133. package/types/views/page/charts/ChartControlOptions.schema.d.ts +617 -617
  134. package/types/views/page/charts/facade/IChartControlFacade.d.ts +25 -0
  135. package/types/views/page/charts/facade/I/320/241hartControlFacade.d.ts +24 -24
  136. package/types/views/page/charts/reportDashboard/config/chartConfig.d.ts +31 -0
  137. package/types/views/page/charts/reportDashboard/config/filterConfig.d.ts +52 -0
  138. package/types/views/page/charts/reportDashboard/config/listConfig.d.ts +9 -0
  139. package/types/views/page/charts/reportDashboard/config/reportDashboardConfig.d.ts +45 -0
  140. package/types/views/page/charts/reportDashboard/controls/dynamicChart/dynamicChartControlPublicOptions.d.ts +3 -0
  141. package/types/views/page/charts/reportDashboard/index.d.ts +5 -0
  142. package/types/views/page/charts/reportDashboard/utils/formJsonVarParser.d.ts +13 -0
@@ -1,87 +1,87 @@
1
- import { AnyObject, URLString, Valued } from "mdtScripts/helpers/types";
2
- export interface CustomPageCtrl {
3
- new (node: ICustomNodeNavigationFacade): any;
4
- }
5
- export interface ICustomNodeNavigationFacade {
6
- getSettings<T = AnyObject>(): T;
7
- }
8
- /** Управление навигацией */
9
- export interface INavigationFacade {
10
- /** Добавить узел навигации */
11
- addNode: (node: CustomNavNode) => void;
12
- /**
13
- * Обновить узлы навигации по условию.
14
- */
15
- updateNodes: (predicate: (item: NavigationNodeFacade) => boolean, data: {
16
- visible?: () => boolean;
17
- }) => void;
18
- /**
19
- * Зарегистрировать новый контрол для узла навигации.
20
- * Использование: Чтобы отобразить контрол на странице, нужно в узле навигации указать название контрола в поле "Идентификатор подключаемого элемента" (Control)
21
- */
22
- registerPageCtrl: (ctrl: CustomPageCtrl, name: string) => void;
23
- /**
24
- * Очистить кеш отображения верхней и боковой навигации.
25
- * Используется в случае, если условия отображения узлов навигации изменились.
26
- */
27
- clearViewCache: () => void;
28
- /**
29
- * Подписаться на событие перехода по узлу навигации
30
- */
31
- onNavigated: (listener: (args: {
32
- node: NavigationNodeFacade;
33
- path: string;
34
- }) => void) => void;
35
- }
36
- export interface CustomNavNode {
37
- /** Код узла */
38
- code: string;
39
- /** Наименование узла */
40
- title: string;
41
- /** Ссылка, на которую осуществится переход при нажатии на узел */
42
- url?: Valued<URLString>;
43
- /** В какой вкладке должен открыться url (по умолчанию - "new") */
44
- urlTarget?: "new" | "current";
45
- /** Уникальный идентификатор узла */
46
- key?: string;
47
- /** Иконка узла */
48
- icon?: string;
49
- /** Настройки значения узла */
50
- value?: CustomNavNodeValue;
51
- /** Код объекта узла навигации */
52
- objectCode?: string;
53
- /** Дочерние узлы */
54
- childNodes?: CustomNavNode[];
55
- /** Позиция размещения узла навигации. Сортировка узлов производится от меньшего к большему. */
56
- position?: number;
57
- /** Путь к родительскому узлу */
58
- parentPath?: string;
59
- /** Код контрола для текущего узла навигации
60
- * @default "ListCtrl"
61
- */
62
- controlCode?: NavNodeControl | string;
63
- /** Настройки контрола */
64
- controlTemplate?: Record<string, any>;
65
- }
66
- export interface NavigationNodeFacade {
67
- code?: string;
68
- title?: string;
69
- id_Object?: number;
70
- control?: Function;
71
- id_Control?: number;
72
- id_ControlTemplate?: number;
73
- controlTemplate?: string;
74
- parent?: NavigationNodeFacade;
75
- }
76
- interface CustomNavNodeValue {
77
- /** Иконка статуса узла */
78
- iconExt?: string;
79
- /** Значение узла навигации. Отображается рядом с заголовком */
80
- value?: string;
81
- /** Стиль значения узла */
82
- style?: string;
83
- /** Иконка значения узла */
84
- icon?: string;
85
- }
86
- declare type NavNodeControl = "ListCtrl" | "FormCtrl" | "FkPanelsPage" | "dashboard" | "FirstRecordCtrl";
87
- export {};
1
+ import { AnyObject, URLString, Valued } from "mdtScripts/helpers/types";
2
+ export interface CustomPageCtrl {
3
+ new (node: ICustomNodeNavigationFacade): any;
4
+ }
5
+ export interface ICustomNodeNavigationFacade {
6
+ getSettings<T = AnyObject>(): T;
7
+ }
8
+ /** Управление навигацией */
9
+ export interface INavigationFacade {
10
+ /** Добавить узел навигации */
11
+ addNode: (node: CustomNavNode) => void;
12
+ /**
13
+ * Обновить узлы навигации по условию.
14
+ */
15
+ updateNodes: (predicate: (item: NavigationNodeFacade) => boolean, data: {
16
+ visible?: () => boolean;
17
+ }) => void;
18
+ /**
19
+ * Зарегистрировать новый контрол для узла навигации.
20
+ * Использование: Чтобы отобразить контрол на странице, нужно в узле навигации указать название контрола в поле "Идентификатор подключаемого элемента" (Control)
21
+ */
22
+ registerPageCtrl: (ctrl: CustomPageCtrl, name: string) => void;
23
+ /**
24
+ * Очистить кеш отображения верхней и боковой навигации.
25
+ * Используется в случае, если условия отображения узлов навигации изменились.
26
+ */
27
+ clearViewCache: () => void;
28
+ /**
29
+ * Подписаться на событие перехода по узлу навигации
30
+ */
31
+ onNavigated: (listener: (args: {
32
+ node: NavigationNodeFacade;
33
+ path: string;
34
+ }) => void) => void;
35
+ }
36
+ export interface CustomNavNode {
37
+ /** Код узла */
38
+ code: string;
39
+ /** Наименование узла */
40
+ title: string;
41
+ /** Ссылка, на которую осуществится переход при нажатии на узел */
42
+ url?: Valued<URLString>;
43
+ /** В какой вкладке должен открыться url (по умолчанию - "new") */
44
+ urlTarget?: "new" | "current";
45
+ /** Уникальный идентификатор узла */
46
+ key?: string;
47
+ /** Иконка узла */
48
+ icon?: string;
49
+ /** Настройки значения узла */
50
+ value?: CustomNavNodeValue;
51
+ /** Код объекта узла навигации */
52
+ objectCode?: string;
53
+ /** Дочерние узлы */
54
+ childNodes?: CustomNavNode[];
55
+ /** Позиция размещения узла навигации. Сортировка узлов производится от меньшего к большему. */
56
+ position?: number;
57
+ /** Путь к родительскому узлу */
58
+ parentPath?: string;
59
+ /** Код контрола для текущего узла навигации
60
+ * @default "ListCtrl"
61
+ */
62
+ controlCode?: NavNodeControl | string;
63
+ /** Настройки контрола */
64
+ controlTemplate?: Record<string, any>;
65
+ }
66
+ export interface NavigationNodeFacade {
67
+ code?: string;
68
+ title?: string;
69
+ id_Object?: number;
70
+ control?: Function;
71
+ id_Control?: number;
72
+ id_ControlTemplate?: number;
73
+ controlTemplate?: string;
74
+ parent?: NavigationNodeFacade;
75
+ }
76
+ interface CustomNavNodeValue {
77
+ /** Иконка статуса узла */
78
+ iconExt?: string;
79
+ /** Значение узла навигации. Отображается рядом с заголовком */
80
+ value?: string;
81
+ /** Стиль значения узла */
82
+ style?: string;
83
+ /** Иконка значения узла */
84
+ icon?: string;
85
+ }
86
+ declare type NavNodeControl = "ListCtrl" | "FormCtrl" | "FkPanelsPage" | "dashboard" | "FirstRecordCtrl";
87
+ export {};
@@ -1,13 +1,13 @@
1
- import { User } from "../../../../security/User";
2
- import type { PermissionLevel, PrincipalTypes } from "../../../../security/PermissionLevel";
3
- import { IObjectFacade } from "../schema/IObjectFacade";
4
- export interface ISecurityFacade {
5
- /** Проверка на наличие роли у пользователя */
6
- hasRole(role: string): boolean;
7
- /** Получить информацию о текущем пользователе */
8
- getUser(): User;
9
- /** Имеет ли текущий пользователь разрешение на объект */
10
- hasPermission(object: IObjectFacade, permissionLevel: PermissionLevel): any;
11
- PermissionLevel: typeof PermissionLevel;
12
- PrincipalTypes: typeof PrincipalTypes;
13
- }
1
+ import { User } from "../../../../security/User";
2
+ import type { PermissionLevel, PrincipalTypes } from "../../../../security/PermissionLevel";
3
+ import { IObjectFacade } from "../schema/IObjectFacade";
4
+ export interface ISecurityFacade {
5
+ /** Проверка на наличие роли у пользователя */
6
+ hasRole(role: string): boolean;
7
+ /** Получить информацию о текущем пользователе */
8
+ getUser(): User;
9
+ /** Имеет ли текущий пользователь разрешение на объект */
10
+ hasPermission(object: IObjectFacade, permissionLevel: PermissionLevel): any;
11
+ PermissionLevel: typeof PermissionLevel;
12
+ PrincipalTypes: typeof PrincipalTypes;
13
+ }
@@ -1,91 +1,91 @@
1
- import { BaseQuery } from "../../../../services/api/BaseQuery";
2
- import { FetchResult } from "../../../../datasources/FetchResult";
3
- import { ApiRequestOptions } from "../../../../services/api/ApiRequestOptions";
4
- import { RecordId } from "../../../../common/Record";
5
- import { AnyObject } from "../../../../../scripts/helpers/types";
6
- import { MessageMetaData } from "../../../../services/api/ApiAccessorRequestAdapter/message/apiV2MessageTypes";
7
- import { ApiV2 } from "../../../../services/api/ApiAccessor/apiV2Types";
8
- export interface QueryParams {
9
- [param: string]: string | number;
10
- }
11
- export interface IApiFacade {
12
- /** Отправить запрос на получение данных по объекту
13
- * Метод получает данные без переводов.
14
- * Для получения локализованных данных используйте {@link fetchWithExts}
15
- */
16
- fetch<R = FetchResult>(objectCode: string, query?: BaseQuery, options?: QueryExecutionOptions): Promise<R>;
17
- fetchWithExts<R = FetchResult>(objectCode: string, query?: BaseQuery, options?: QueryExecutionOptions): Promise<R>;
18
- /** Отправить запрос к функции */
19
- fetchFunction<R extends FetchResult = FetchResult>(objectCode: string, params?: AnyObject, query?: BaseQuery): Promise<R>;
20
- /** Отправить запрос на получение одной записи из объекта */
21
- fetchRecord<R = MdtRecord>(objectCode: string, query?: BaseQuery, options?: QueryExecutionOptions): Promise<R>;
22
- /**
23
- * @deprecated
24
- * Отправить запрос к функции
25
- */
26
- fetchFromFunction<R extends FetchResult = FetchResult>(objectCode: string, query?: BaseQuery, params?: any[]): Promise<R>;
27
- /**
28
- * @deprecated
29
- * Отправить запрос на получение одной записи из функции
30
- */
31
- fetchRecordFromFunction<R = MdtRecord>(objectCode: string, query?: BaseQuery, params?: any[]): Promise<R>;
32
- /** Отправить запрос к хранимой процедуре */
33
- executeStoredProcedure<Result = any>(objectCode: string, params: any): PromiseLike<Result>;
34
- /** Сохранить новые данные */
35
- save<S = MdtQueryResult>(objectCode: string, record: MdtRecord, options?: ApiSaveOptions): Promise<S>;
36
- /** Удалить данные */
37
- delete(objectCode: string, ids: number[]): Promise<MdtQueryResult>;
38
- /** Отправить запрос к API */
39
- request<R = any>(serviceUrl: string, params?: any, options?: ApiRequestOptions): Promise<R>;
40
- /**
41
- * @deprecated, т.к. не поддерживает относительные пути. Используйте getApiEndpoint
42
- */
43
- getFullUrl(url: string, queryParams?: QueryParams): string;
44
- /** Получить полный url
45
- * - поддерживает относительные пути
46
- * - url можно указывать любым способом
47
- *
48
- * **Например,**
49
-
50
- * Если `url` = `/item/list`, то возвращает `http://mdt-instance.ru/project/api/v1/item/list`
51
- */
52
- getApiEndpoint(url: string, queryParams?: QueryParams): string;
53
- /** Скачивание файла */
54
- downloadFile(fileUid: string): void;
55
- v2: IApiFacadeV2;
56
- }
57
- export interface QueryExecutionOptions {
58
- /**
59
- * Определяет, должен ли запрос выполняться в фоновом режиме.
60
- * Если запрос выполняется в фоновом режиме, то он не блокирует интерфейс.
61
- */
62
- background?: boolean;
63
- }
64
- export declare type IApiFacadeV2FetchOptions = QueryExecutionOptions;
65
- export interface IApiFacadeV2 {
66
- fetch(data: ApiV2.Request.Fetch, options?: IApiFacadeV2FetchOptions): Promise<{
67
- rows: any[];
68
- }>;
69
- }
70
- export interface MdtRecord {
71
- $id?: RecordId;
72
- [key: string]: any;
73
- }
74
- export interface MdtQueryResult {
75
- $: string;
76
- /** Результаты выполнения операции */
77
- items: {
78
- /** ID сохраненных записей */
79
- ids: number[];
80
- /** Информация о затронутых строках */
81
- stats: {
82
- deleted: number;
83
- inserted: number;
84
- updated: number;
85
- };
86
- }[];
87
- type: string;
88
- }
89
- export interface ApiSaveOptions extends QueryExecutionOptions {
90
- messageAction: MessageMetaData;
91
- }
1
+ import { BaseQuery } from "../../../../services/api/BaseQuery";
2
+ import { FetchResult } from "../../../../datasources/FetchResult";
3
+ import { ApiRequestOptions } from "../../../../services/api/ApiRequestOptions";
4
+ import { RecordId } from "../../../../common/Record";
5
+ import { AnyObject } from "../../../../../scripts/helpers/types";
6
+ import { MessageMetaData } from "../../../../services/api/ApiAccessorRequestAdapter/message/apiV2MessageTypes";
7
+ import { ApiV2 } from "../../../../services/api/ApiAccessor/apiV2Types";
8
+ export interface QueryParams {
9
+ [param: string]: string | number;
10
+ }
11
+ export interface IApiFacade {
12
+ /** Отправить запрос на получение данных по объекту
13
+ * Метод получает данные без переводов.
14
+ * Для получения локализованных данных используйте {@link fetchWithExts}
15
+ */
16
+ fetch<R = FetchResult>(objectCode: string, query?: BaseQuery, options?: QueryExecutionOptions): Promise<R>;
17
+ fetchWithExts<R = FetchResult>(objectCode: string, query?: BaseQuery, options?: QueryExecutionOptions): Promise<R>;
18
+ /** Отправить запрос к функции */
19
+ fetchFunction<R extends FetchResult = FetchResult>(objectCode: string, params?: AnyObject, query?: BaseQuery): Promise<R>;
20
+ /** Отправить запрос на получение одной записи из объекта */
21
+ fetchRecord<R = MdtRecord>(objectCode: string, query?: BaseQuery, options?: QueryExecutionOptions): Promise<R>;
22
+ /**
23
+ * @deprecated
24
+ * Отправить запрос к функции
25
+ */
26
+ fetchFromFunction<R extends FetchResult = FetchResult>(objectCode: string, query?: BaseQuery, params?: any[]): Promise<R>;
27
+ /**
28
+ * @deprecated
29
+ * Отправить запрос на получение одной записи из функции
30
+ */
31
+ fetchRecordFromFunction<R = MdtRecord>(objectCode: string, query?: BaseQuery, params?: any[]): Promise<R>;
32
+ /** Отправить запрос к хранимой процедуре */
33
+ executeStoredProcedure<Result = any>(objectCode: string, params: any): PromiseLike<Result>;
34
+ /** Сохранить новые данные */
35
+ save<S = MdtQueryResult>(objectCode: string, record: MdtRecord, options?: ApiSaveOptions): Promise<S>;
36
+ /** Удалить данные */
37
+ delete(objectCode: string, ids: number[]): Promise<MdtQueryResult>;
38
+ /** Отправить запрос к API */
39
+ request<R = any>(serviceUrl: string, params?: any, options?: ApiRequestOptions): Promise<R>;
40
+ /**
41
+ * @deprecated, т.к. не поддерживает относительные пути. Используйте getApiEndpoint
42
+ */
43
+ getFullUrl(url: string, queryParams?: QueryParams): string;
44
+ /** Получить полный url
45
+ * - поддерживает относительные пути
46
+ * - url можно указывать любым способом
47
+ *
48
+ * **Например,**
49
+
50
+ * Если `url` = `/item/list`, то возвращает `http://mdt-instance.ru/project/api/v1/item/list`
51
+ */
52
+ getApiEndpoint(url: string, queryParams?: QueryParams): string;
53
+ /** Скачивание файла */
54
+ downloadFile(fileUid: string): void;
55
+ v2: IApiFacadeV2;
56
+ }
57
+ export interface QueryExecutionOptions {
58
+ /**
59
+ * Определяет, должен ли запрос выполняться в фоновом режиме.
60
+ * Если запрос выполняется в фоновом режиме, то он не блокирует интерфейс.
61
+ */
62
+ background?: boolean;
63
+ }
64
+ export declare type IApiFacadeV2FetchOptions = QueryExecutionOptions;
65
+ export interface IApiFacadeV2 {
66
+ fetch(data: ApiV2.Request.Fetch, options?: IApiFacadeV2FetchOptions): Promise<{
67
+ rows: any[];
68
+ }>;
69
+ }
70
+ export interface MdtRecord {
71
+ $id?: RecordId;
72
+ [key: string]: any;
73
+ }
74
+ export interface MdtQueryResult {
75
+ $: string;
76
+ /** Результаты выполнения операции */
77
+ items: {
78
+ /** ID сохраненных записей */
79
+ ids: number[];
80
+ /** Информация о затронутых строках */
81
+ stats: {
82
+ deleted: number;
83
+ inserted: number;
84
+ updated: number;
85
+ };
86
+ }[];
87
+ type: string;
88
+ }
89
+ export interface ApiSaveOptions extends QueryExecutionOptions {
90
+ messageAction: MessageMetaData;
91
+ }
@@ -1,85 +1,92 @@
1
- /// <reference types="../../../../mithril" />
2
- import { ProcessPrincipalsListItem } from "../../../../components/processPrincipalsList/ProcessPrincipalsListItem";
3
- import { Markdown, MithrilAttributes, Valued, ViewControl, ViewElement } from "../../../../helpers/types";
4
- import { Icon, IconElOptions, IconOptions } from "../../../../components/icon/iconOptions";
5
- import { CommonControlOptions } from "../../../../views/form/controls/commonControl/ICommonControl";
6
- import { ButtonFacade } from "../Form/IFormFacade";
7
- import { DropdownInputItemOptions } from "../../../../components/dropdown/menu/item/dropdownInputItemOptions";
8
- import { DropdownItemViewOptions } from "../../../../components/dropdown/menu/item/dropdownItemWrapOptions";
9
- import { MonacoCodeOptions } from "../../../../views/form/controls/monacoEditor/MonacoCodeOptions.schema";
10
- import { ToggleablePanelsEditorFacadeOptions } from "../../../../views/form/controls/toggleablePanels/editor/toggleablePanelsEditorFacadeOptions";
11
- import { InputOptions } from "../../../../components/baseFormControls/input/inputOptions";
12
- import { CodeEditorFacade, CodeEditorFacadeOptions } from "../components/CodeEditorFacade";
13
- import { FileInputFacadeOptions } from "../../../../views/form/controls/fileupload/FileInputFacade.types";
14
- import { FieldViewOptions } from "../../../../components/form/fieldView/fieldViewOptions";
15
- import { ComponentConfigParams } from "mdtScripts/helpers/ui/elementModificators/modificatorsTypes";
16
- import { FormattedText } from "../../../../helpers/formattedText";
17
- import { ChartFormControlFacadeOptions, IChartControlFacade } from "../../../../views/page/charts/facade/IСhartControlFacade";
18
- import { IMultiPickerFacade, MultiPickerFacadeOptions, MultiPickerItem } from "../../../../views/form/controls/picker/multiPickerFacade/IMultiPickerFacade";
19
- export interface IUiComponentsFacade {
20
- button(button: ButtonFacade, translate?: boolean): ViewElement;
21
- topNavButton(options: TopNavButton): _mithril.MithrilVirtualElement;
22
- icon(code: string, options?: IconOptions): _mithril.MithrilVirtualElement;
23
- iconHTML(icon: Icon, options?: IconElOptions): HTMLElement;
24
- processFormBlock(options: IProcessFormBlockOptions): _mithril.MithrilVirtualElement;
25
- commonControl(options: CommonControlOptions): _mithril.MithrilVirtualElement;
26
- unstyledInput(options: InputOptions): _mithril.MithrilVirtualElement;
27
- input(options: InputOptions): _mithril.MithrilVirtualElement;
28
- tooltip(tooltipContent: TooltipContent, params: ComponentConfigParams): void;
29
- field(options: FieldViewOptions): _mithril.MithrilVirtualElement;
30
- dropdownItem(options: DropdownItemViewOptions): _mithril.MithrilVirtualElement;
31
- dropdownInputItem(options: DropdownInputItemOptions): _mithril.MithrilVirtualElement;
32
- toggleablePanelsCtrl(options: ToggleablePanelsEditorFacadeOptions): ViewControl;
33
- fileCtrl(options: FileInputFacadeOptions): ViewControl;
34
- editors: {
35
- codeEditor(options: CodeEditorFacadeOptions): CodeEditorFacade;
36
- };
37
- /** @deprecated Use `UiComponents.editors.codeEditor` instead. */
38
- fullScreenCodeEditor(options: MonacoCodeOptions): _mithril.MithrilVirtualElement;
39
- chart(createOptions: () => ChartFormControlFacadeOptions): IChartControlFacade;
40
- /**
41
- * @experimental
42
- * @deprecated
43
- */
44
- multiPicker<T extends MultiPickerItem = MultiPickerItem>(options: MultiPickerFacadeOptions<T>): IMultiPickerFacade<T>;
45
- /**
46
- *
47
- * **Пример**
48
- *
49
- * ```js
50
- * const markdownText = 'Удалено записей: **9**';
51
- * Ui.showModal({
52
- * $view: () => UiComponents.markdown(markdownText)
53
- * })
54
- * ```
55
- */
56
- markdown(content: string, options?: MarkdownOptions): ViewElement;
57
- }
58
- export interface IProcessFormBlockOptions {
59
- title: string;
60
- subtitle: string;
61
- titleTooltip: string;
62
- subtitleTooltip: string;
63
- icon?: Icon;
64
- description?: Markdown;
65
- principals?: ProcessPrincipalsListItem[];
66
- principalsTooltip?: string;
67
- principalsTextError?: string;
68
- principalsOnclick?: (item: ProcessPrincipalsListItem) => void;
69
- historyAction?: ButtonFacade;
70
- actions?: ButtonFacade[];
71
- }
72
- export interface TopNavButton {
73
- title: string;
74
- icon?: Icon;
75
- attrs?: MithrilAttributes;
76
- showCaret?: boolean;
77
- focused?: Valued<boolean>;
78
- execute?: () => void;
79
- }
80
- export declare type TooltipContent = (el: HTMLElement) => FormattedText;
81
- export interface MarkdownOptions {
82
- type?: string;
83
- title?: string;
84
- icon?: string;
85
- }
1
+ /// <reference types="../../../../mithril" />
2
+ /// <reference types="mithril" />
3
+ import { ProcessPrincipalsListItem } from "../../../../components/processPrincipalsList/ProcessPrincipalsListItem";
4
+ import { Markdown, MithrilAttributes, Valued, ViewControl, ViewElement } from "../../../../helpers/types";
5
+ import { Icon, IconElOptions, IconOptions } from "../../../../components/icon/iconOptions";
6
+ import { CommonControlOptions } from "../../../../views/form/controls/commonControl/ICommonControl";
7
+ import { ButtonFacade } from "../Form/IFormFacade";
8
+ import { DropdownInputItemOptions } from "../../../../components/dropdown/menu/item/dropdownInputItemOptions";
9
+ import { DropdownItemViewOptions } from "../../../../components/dropdown/menu/item/dropdownItemWrapOptions";
10
+ import { MonacoCodeOptions } from "../../../../views/form/controls/monacoEditor/MonacoCodeOptions.schema";
11
+ import { ToggleablePanelsEditorFacadeOptions } from "../../../../views/form/controls/toggleablePanels/editor/toggleablePanelsEditorFacadeOptions";
12
+ import { InputOptions } from "../../../../components/baseFormControls/input/inputOptions";
13
+ import { CodeEditorFacade, CodeEditorFacadeOptions } from "../components/CodeEditorFacade";
14
+ import { FileInputFacadeOptions } from "../../../../views/form/controls/fileupload/FileInputFacade.types";
15
+ import { FieldViewOptions } from "../../../../components/form/fieldView/fieldViewOptions";
16
+ import { ComponentConfigParams } from "mdtScripts/helpers/ui/elementModificators/modificatorsTypes";
17
+ import { FormattedText } from "../../../../helpers/formattedText";
18
+ import { ChartFormControlFacadeOptions, IChartControlFacade } from "../../../../views/page/charts/facade/IСhartControlFacade";
19
+ import { IMultiPickerFacade, MultiPickerFacadeOptions, MultiPickerItem } from "../../../../views/form/controls/picker/multiPickerFacade/IMultiPickerFacade";
20
+ import { HeaderSize } from "mdtScripts/components/form/header/types";
21
+ export interface IUiComponentsFacade {
22
+ button(button: ButtonFacade, translate?: boolean): ViewElement;
23
+ topNavButton(options: TopNavButton): _mithril.MithrilVirtualElement;
24
+ icon(code: string, options?: IconOptions): _mithril.MithrilVirtualElement;
25
+ iconHTML(icon: Icon, options?: IconElOptions): HTMLElement;
26
+ processFormBlock(options: IProcessFormBlockOptions): _mithril.MithrilVirtualElement;
27
+ commonControl(options: CommonControlOptions): _mithril.MithrilVirtualElement;
28
+ unstyledInput(options: InputOptions): _mithril.MithrilVirtualElement;
29
+ input(options: InputOptions): _mithril.MithrilVirtualElement;
30
+ tooltip(tooltipContent: TooltipContent, params: ComponentConfigParams): void;
31
+ field(options: FieldViewOptions): _mithril.MithrilVirtualElement;
32
+ dropdownItem(options: DropdownItemViewOptions): _mithril.MithrilVirtualElement;
33
+ dropdownInputItem(options: DropdownInputItemOptions): _mithril.MithrilVirtualElement;
34
+ toggleablePanelsCtrl(options: ToggleablePanelsEditorFacadeOptions): ViewControl;
35
+ fileCtrl(options: FileInputFacadeOptions): ViewControl;
36
+ editors: {
37
+ codeEditor(options: CodeEditorFacadeOptions): CodeEditorFacade;
38
+ };
39
+ /** @deprecated Use `UiComponents.editors.codeEditor` instead. */
40
+ fullScreenCodeEditor(options: MonacoCodeOptions): _mithril.MithrilVirtualElement;
41
+ chart(createOptions: () => ChartFormControlFacadeOptions): IChartControlFacade;
42
+ /**
43
+ * @experimental
44
+ * @deprecated
45
+ */
46
+ multiPicker<T extends MultiPickerItem = MultiPickerItem>(options: MultiPickerFacadeOptions<T>): IMultiPickerFacade<T>;
47
+ /**
48
+ *
49
+ * **Пример**
50
+ *
51
+ * ```js
52
+ * const markdownText = 'Удалено записей: **9**';
53
+ * Ui.showModal({
54
+ * $view: () => UiComponents.markdown(markdownText)
55
+ * })
56
+ * ```
57
+ */
58
+ markdown(content: string, options?: MarkdownOptions): ViewElement;
59
+ }
60
+ export interface IProcessFormBlockOptions {
61
+ title: string;
62
+ subtitle: string;
63
+ titleTooltip: string;
64
+ subtitleTooltip: string;
65
+ icon?: Icon;
66
+ description?: Markdown;
67
+ principals?: ProcessPrincipalsListItem[];
68
+ principalsTooltip?: string;
69
+ principalsTextError?: string;
70
+ principalsOnclick?: (item: ProcessPrincipalsListItem) => void;
71
+ historyAction?: ButtonFacade;
72
+ actions?: ButtonFacade[];
73
+ }
74
+ export interface TopNavButton {
75
+ title: string;
76
+ icon?: Icon;
77
+ attrs?: MithrilAttributes;
78
+ showCaret?: boolean;
79
+ focused?: Valued<boolean>;
80
+ execute?: () => void;
81
+ }
82
+ export declare type TooltipContent = (el: HTMLElement) => FormattedText;
83
+ export interface MarkdownOptions {
84
+ type?: string;
85
+ title?: string;
86
+ icon?: string;
87
+ className?: string;
88
+ zones?: {
89
+ end?: ViewElement[];
90
+ };
91
+ headerSize?: HeaderSize;
92
+ }