mdt-client 31.3.20 → 31.3.21

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 (131) hide show
  1. package/dist/index.d.ts +10 -11
  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 +30 -31
  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/label/labelOptions.d.ts +22 -22
  24. package/types/components/icon/iconOptions.d.ts +21 -22
  25. package/types/components/iconButton/iconButtonOptions.d.ts +9 -10
  26. package/types/components/processPrincipalsList/ProcessPrincipalsListItem.d.ts +5 -5
  27. package/types/components/resizablePanels/panelTitle/panelTitleOptions.d.ts +16 -16
  28. package/types/components/resizablePanels/panelToolbar/panelToolbarOptions.d.ts +4 -4
  29. package/types/components/resizablePanels/resizablePanel/resizablePanelOptions.d.ts +24 -24
  30. package/types/components/resizablePanels/resizablePanelsOptions.d.ts +22 -22
  31. package/types/components/toggleablePanels/toggleablePanelsOptions.d.ts +40 -40
  32. package/types/data/active/ActivationListAdapterTypes.d.ts +6 -6
  33. package/types/datasources/FetchResult.d.ts +5 -5
  34. package/types/helpers/IUi.d.ts +2 -2
  35. package/types/helpers/deleteFromArray.d.ts +1 -1
  36. package/types/helpers/events/EventEmitter.d.ts +12 -12
  37. package/types/helpers/fireEvent.d.ts +4 -4
  38. package/types/helpers/formatOptions.d.ts +14 -14
  39. package/types/helpers/formattedText.d.ts +8 -8
  40. package/types/helpers/pipeline/ImmutableArgPipeline.d.ts +7 -7
  41. package/types/helpers/pipeline/Pipeline.d.ts +20 -20
  42. package/types/helpers/redraw.d.ts +16 -16
  43. package/types/helpers/types.d.ts +84 -85
  44. package/types/helpers/ui/elementModificators/focusableComponent.d.ts +14 -15
  45. package/types/helpers/ui/elementModificators/modificatorsTypes.d.ts +4 -4
  46. package/types/helpers/ui/keyboardUtils/getKeySymbol.d.ts +2 -2
  47. package/types/helpers/ui/keyboardUtils/keyboardUtils.d.ts +23 -23
  48. package/types/helpers/ui/keyboardUtils/osByUserAgent.d.ts +1 -1
  49. package/types/helpers/utils/classNames.d.ts +20 -20
  50. package/types/helpers/utils/keyStorage/KeyStorage.d.ts +6 -6
  51. package/types/helpers/utils/memoization/memoize.d.ts +18 -18
  52. package/types/helpers/utils/object.d.ts +4 -4
  53. package/types/helpers/utils/stringifyControlSize.d.ts +3 -3
  54. package/types/helpers/utils/valued/getValued.d.ts +18 -18
  55. package/types/helpers/zone/IZone.d.ts +7 -8
  56. package/types/security/PermissionLevel.d.ts +40 -40
  57. package/types/security/User.d.ts +19 -19
  58. package/types/services/HotkeyManager.d.ts +6 -6
  59. package/types/services/IFilter.d.ts +322 -322
  60. package/types/services/ModuleData.d.ts +9 -9
  61. package/types/services/api/ApiAccessor/apiV1Types.d.ts +266 -266
  62. package/types/services/api/ApiAccessor/apiV2Types.d.ts +583 -577
  63. package/types/services/api/ApiAccessor/binding/bindingApiTypes.d.ts +37 -0
  64. package/types/services/api/ApiAccessorRequestAdapter/handlers/fetch/helpers/count/count.d.ts +10 -10
  65. package/types/services/api/ApiAccessorRequestAdapter/handlers/fetch/helpers/query/exts/hierarchy/hierarchyQueryHelpersTypes.d.ts +28 -28
  66. package/types/services/api/ApiAccessorRequestAdapter/handlers/fetch/helpers/query/exts/placeIn/placeInQueryTypes.d.ts +9 -9
  67. package/types/services/api/ApiAccessorRequestAdapter/handlers/messageTypes.d.ts +37 -37
  68. package/types/services/api/ApiAccessorRequestAdapter/message/apiV2MessageTypes.d.ts +2 -2
  69. package/types/services/api/ApiRequestOptions.d.ts +43 -43
  70. package/types/services/api/BaseQuery.d.ts +23 -23
  71. package/types/services/api/Query.d.ts +59 -59
  72. package/types/services/api/QuerySorting.d.ts +18 -18
  73. package/types/services/api/ServerResonseType.d.ts +2 -2
  74. package/types/services/commands/Command.d.ts +22 -22
  75. package/types/services/commands/CommandGroup.d.ts +15 -15
  76. package/types/services/commands/CommandManager.d.ts +77 -77
  77. package/types/services/customModules/facades/Form/IFieldControlFacade.d.ts +26 -26
  78. package/types/services/customModules/facades/Form/IFieldControlManagerFacade.d.ts +36 -36
  79. package/types/services/customModules/facades/Form/IFieldStateFacade.d.ts +13 -13
  80. package/types/services/customModules/facades/Form/IFormControlFacade.d.ts +133 -133
  81. package/types/services/customModules/facades/Form/IFormFacade.d.ts +101 -101
  82. package/types/services/customModules/facades/IAppFacade.d.ts +38 -38
  83. package/types/services/customModules/facades/IAuthFacade.d.ts +9 -9
  84. package/types/services/customModules/facades/ILegacyFacade.d.ts +151 -147
  85. package/types/services/customModules/facades/IMdtFacade.d.ts +81 -82
  86. package/types/services/customModules/facades/IModuleRegistryFacade.d.ts +5 -5
  87. package/types/services/customModules/facades/IPageFacade.d.ts +7 -7
  88. package/types/services/customModules/facades/List/Column/IColumnFacade.d.ts +7 -7
  89. package/types/services/customModules/facades/List/IListCellFacade.d.ts +8 -8
  90. package/types/services/customModules/facades/List/IListComponentFacade.d.ts +10 -10
  91. package/types/services/customModules/facades/List/IListControlFacade.d.ts +88 -88
  92. package/types/services/customModules/facades/List/IListRowFacade.d.ts +2 -2
  93. package/types/services/customModules/facades/List/IListServiceFacade.d.ts +53 -53
  94. package/types/services/customModules/facades/components/CodeEditorFacade.d.ts +9 -9
  95. package/types/services/customModules/facades/components/ModalFacade.d.ts +4 -4
  96. package/types/services/customModules/facades/formDashboard/IFormDashboard.d.ts +15 -15
  97. package/types/services/customModules/facades/internalModules/importFormCtrl.types.d.ts +76 -76
  98. package/types/services/customModules/facades/internalModules/importModuleFacade.d.ts +48 -48
  99. package/types/services/customModules/facades/internalModules/modulesFacadeTypes.d.ts +11 -11
  100. package/types/services/customModules/facades/internalModules/statusFacade.d.ts +13 -13
  101. package/types/services/customModules/facades/record/IRecordFacade.d.ts +13 -13
  102. package/types/services/customModules/facades/record/IRecordManagerFacade.d.ts +5 -5
  103. package/types/services/customModules/facades/schema/IFieldFacade.d.ts +11 -11
  104. package/types/services/customModules/facades/schema/IObjectFacade.d.ts +15 -15
  105. package/types/services/customModules/facades/schema/ISchemaFacade.d.ts +11 -11
  106. package/types/services/customModules/facades/services/CommandManagerFacade.d.ts +11 -11
  107. package/types/services/customModules/facades/services/IListButtonExtendPipelineService.d.ts +13 -13
  108. package/types/services/customModules/facades/services/INavigationFacade.d.ts +87 -87
  109. package/types/services/customModules/facades/services/ISecurityFacade.d.ts +13 -13
  110. package/types/services/customModules/facades/utils/IApiFacade.d.ts +91 -92
  111. package/types/services/customModules/facades/utils/IUiComponentsFacade.d.ts +85 -81
  112. package/types/services/customModules/facades/utils/IUiFacade.d.ts +83 -84
  113. package/types/services/customModules/facades/utils/IUtilsFacade.d.ts +26 -26
  114. package/types/services/customModules/facades/utils/ImUtilsFacade.d.ts +25 -26
  115. package/types/services/dropdown/IDropDownMenu.d.ts +40 -41
  116. package/types/services/e2e/e2eServiceType.d.ts +11 -11
  117. package/types/views/controls/Control.d.ts +7 -7
  118. package/types/views/controls/panels/panelOptions.d.ts +15 -15
  119. package/types/views/form/controls/commonControl/ICommonControl.d.ts +28 -29
  120. package/types/views/form/controls/fileupload/FileInputFacade.types.d.ts +6 -6
  121. package/types/views/form/controls/monacoEditor/MonacoCodeOptions.schema.d.ts +23 -23
  122. package/types/views/form/controls/monacoEditor/jsonSchemas/Button.schema.d.ts +70 -70
  123. package/types/views/form/controls/picker/multiPickerFacade/IMultiPickerFacade.d.ts +36 -36
  124. package/types/views/form/controls/toggleablePanels/editor/toggleablePanelsEditorFacadeOptions.d.ts +21 -21
  125. package/types/views/form/formTypes.d.ts +4 -4
  126. package/types/views/form/schema/FormPageOptions.schema.d.ts +19 -19
  127. package/types/views/list/IListView.d.ts +70 -71
  128. package/types/views/list/schema/ListPageOptions.schema.d.ts +116 -116
  129. package/types/views/page/PageZoneTypes.d.ts +1 -1
  130. package/types/views/page/charts/ChartControlOptions.schema.d.ts +617 -569
  131. package/types/views/page/charts/facade/I/320/241hartControlFacade.d.ts +24 -23
@@ -1,70 +1,70 @@
1
- import { FormattedText } from "../../../../../helpers/formattedText";
2
- import { UiType } from "../../../../../helpers/IUi";
3
- import { ControlSize } from "../../../../../views/controls/Control";
4
- export declare type ButtonTypes = UiType | "default" | "link" | "group-title" | "extended" | "no-type";
5
- export interface IButton {
6
- /**
7
- * Тип кнопки
8
- */
9
- type?: ButtonTypes | (() => ButtonTypes);
10
- /**
11
- * Размер кнопки
12
- */
13
- size?: ControlSize;
14
- /**
15
- * Дочерние элементы
16
- */
17
- items?: Button[];
18
- /**
19
- * Поле является группировочным
20
- */
21
- group?: boolean;
22
- /**
23
- * Иконка
24
- */
25
- icon?: string | {
26
- (): string;
27
- };
28
- /**
29
- * Иконка при наведении
30
- */
31
- hoverIcon?: string | {
32
- (): string;
33
- };
34
- /**
35
- * Название
36
- */
37
- title?: any;
38
- supIcon?: string;
39
- /**
40
- * Показывать дочерние при наведении
41
- */
42
- itemsShowOnHover?: boolean;
43
- /**
44
- * Показывать дочерние по клику
45
- */
46
- showItemsOnClick?: boolean;
47
- /**
48
- * Скрыть каретку
49
- */
50
- hideCaret?: boolean;
51
- /**
52
- * Порядок отображения
53
- */
54
- order?: number;
55
- /**
56
- * Ссылка
57
- */
58
- href?: string | {
59
- (): string;
60
- };
61
- code?: string;
62
- }
63
- export interface Button extends IButton {
64
- /**
65
- * Всплывающая подсказка
66
- */
67
- tooltip?: FormattedText | {
68
- (): FormattedText;
69
- };
70
- }
1
+ import { FormattedText } from "../../../../../helpers/formattedText";
2
+ import { UiType } from "../../../../../helpers/IUi";
3
+ import { ControlSize } from "../../../../../views/controls/Control";
4
+ export declare type ButtonTypes = UiType | "default" | "link" | "group-title" | "extended" | "no-type";
5
+ export interface IButton {
6
+ /**
7
+ * Тип кнопки
8
+ */
9
+ type?: ButtonTypes | (() => ButtonTypes);
10
+ /**
11
+ * Размер кнопки
12
+ */
13
+ size?: ControlSize;
14
+ /**
15
+ * Дочерние элементы
16
+ */
17
+ items?: Button[];
18
+ /**
19
+ * Поле является группировочным
20
+ */
21
+ group?: boolean;
22
+ /**
23
+ * Иконка
24
+ */
25
+ icon?: string | {
26
+ (): string;
27
+ };
28
+ /**
29
+ * Иконка при наведении
30
+ */
31
+ hoverIcon?: string | {
32
+ (): string;
33
+ };
34
+ /**
35
+ * Название
36
+ */
37
+ title?: any;
38
+ supIcon?: string;
39
+ /**
40
+ * Показывать дочерние при наведении
41
+ */
42
+ itemsShowOnHover?: boolean;
43
+ /**
44
+ * Показывать дочерние по клику
45
+ */
46
+ showItemsOnClick?: boolean;
47
+ /**
48
+ * Скрыть каретку
49
+ */
50
+ hideCaret?: boolean;
51
+ /**
52
+ * Порядок отображения
53
+ */
54
+ order?: number;
55
+ /**
56
+ * Ссылка
57
+ */
58
+ href?: string | {
59
+ (): string;
60
+ };
61
+ code?: string;
62
+ }
63
+ export interface Button extends IButton {
64
+ /**
65
+ * Всплывающая подсказка
66
+ */
67
+ tooltip?: FormattedText | {
68
+ (): FormattedText;
69
+ };
70
+ }
@@ -1,36 +1,36 @@
1
- import { EventEmitterSubscribeController } from "../../../../../helpers/events/EventEmitter";
2
- import { FormattedText } from "../../../../../helpers/formattedText";
3
- import { Valued, ViewControl } from "../../../../../helpers/types";
4
- interface FetchQuery {
5
- searchString?: string;
6
- }
7
- export declare type MultiPickerItemKey = number | string;
8
- export declare type MultiPickerItem = Record<string, any>;
9
- export interface MultiPickerFacadeOptions<T extends MultiPickerItem = MultiPickerItem> {
10
- datasource: {
11
- fetch(query: FetchQuery): Promise<T[]>;
12
- };
13
- itemOptions: {
14
- getUniqueKey: (item: T) => string | number;
15
- getTitle: (item: T) => string;
16
- getTooltip?: (item: T) => FormattedText;
17
- };
18
- initialValue?: Valued<T[]>;
19
- actions: {
20
- pick: (filterItems: (availableItems: T[]) => T[]) => unknown;
21
- };
22
- }
23
- export interface MultiPickerEvents<T extends MultiPickerItem = MultiPickerItem> {
24
- trySelectItem: {
25
- item: T;
26
- };
27
- tryRemoveItem: {
28
- item: T;
29
- };
30
- }
31
- export interface IMultiPickerFacade<T extends MultiPickerItem = MultiPickerItem> extends ViewControl {
32
- readonly on: EventEmitterSubscribeController<MultiPickerEvents<T>>["subscribe"];
33
- updateValue(value: T[]): void;
34
- getValue(): T[];
35
- }
36
- export {};
1
+ import { EventEmitterSubscribeController } from "../../../../../helpers/events/EventEmitter";
2
+ import { FormattedText } from "../../../../../helpers/formattedText";
3
+ import { Valued, ViewControl } from "../../../../../helpers/types";
4
+ interface FetchQuery {
5
+ searchString?: string;
6
+ }
7
+ export declare type MultiPickerItemKey = number | string;
8
+ export declare type MultiPickerItem = Record<string, any>;
9
+ export interface MultiPickerFacadeOptions<T extends MultiPickerItem = MultiPickerItem> {
10
+ datasource: {
11
+ fetch(query: FetchQuery): Promise<T[]>;
12
+ };
13
+ itemOptions: {
14
+ getUniqueKey: (item: T) => string | number;
15
+ getTitle: (item: T) => string;
16
+ getTooltip?: (item: T) => FormattedText;
17
+ };
18
+ initialValue?: Valued<T[]>;
19
+ actions: {
20
+ pick: (filterItems: (availableItems: T[]) => T[]) => unknown;
21
+ };
22
+ }
23
+ export interface MultiPickerEvents<T extends MultiPickerItem = MultiPickerItem> {
24
+ trySelectItem: {
25
+ item: T;
26
+ };
27
+ tryRemoveItem: {
28
+ item: T;
29
+ };
30
+ }
31
+ export interface IMultiPickerFacade<T extends MultiPickerItem = MultiPickerItem> extends ViewControl {
32
+ readonly on: EventEmitterSubscribeController<MultiPickerEvents<T>>["subscribe"];
33
+ updateValue(value: T[]): void;
34
+ getValue(): T[];
35
+ }
36
+ export {};
@@ -1,21 +1,21 @@
1
- import { PanelTitleTextContent } from "../../../../../components/resizablePanels/panelTitle/panelTitleOptions";
2
- import { ResizablePanelFocusOptions } from "../../../../../components/resizablePanels/resizablePanel/resizablePanelOptions";
3
- import { PanelSizeFactor } from "../../../../../components/resizablePanels/resizablePanelsOptions";
4
- import { PanelsGrid, ToggleableRotatablePanelsOptions } from "../../../../../components/toggleablePanels/toggleablePanelsOptions";
5
- import { Valued, ViewElement } from "../../../../../helpers/types";
6
- import { ButtonFacade } from "../../../../../services/customModules/facades/Form/IFormFacade";
7
- export interface ToggleablePanelsEditorFacadeOptions extends ToggleableRotatablePanelsOptions {
8
- toolbarButtons?: ButtonFacade[];
9
- panels: PanelsGrid<ToggleablePanelsEditorPanelFacadeOptions>;
10
- runButton: ButtonFacade;
11
- hightlightFocusedPanel?: boolean;
12
- }
13
- interface ToggleablePanelsEditorPanelFacadeOptions {
14
- title: PanelTitleTextContent;
15
- error?: Valued<string>;
16
- isShown?: boolean;
17
- size?: PanelSizeFactor;
18
- content: () => ViewElement;
19
- focusOptions?: ResizablePanelFocusOptions;
20
- }
21
- export {};
1
+ import { PanelTitleTextContent } from "../../../../../components/resizablePanels/panelTitle/panelTitleOptions";
2
+ import { ResizablePanelFocusOptions } from "../../../../../components/resizablePanels/resizablePanel/resizablePanelOptions";
3
+ import { PanelSizeFactor } from "../../../../../components/resizablePanels/resizablePanelsOptions";
4
+ import { PanelsGrid, ToggleableRotatablePanelsOptions } from "../../../../../components/toggleablePanels/toggleablePanelsOptions";
5
+ import { Valued, ViewElement } from "../../../../../helpers/types";
6
+ import { ButtonFacade } from "../../../../../services/customModules/facades/Form/IFormFacade";
7
+ export interface ToggleablePanelsEditorFacadeOptions extends ToggleableRotatablePanelsOptions {
8
+ toolbarButtons?: ButtonFacade[];
9
+ panels: PanelsGrid<ToggleablePanelsEditorPanelFacadeOptions>;
10
+ runButton: ButtonFacade;
11
+ hightlightFocusedPanel?: boolean;
12
+ }
13
+ interface ToggleablePanelsEditorPanelFacadeOptions {
14
+ title: PanelTitleTextContent;
15
+ error?: Valued<string>;
16
+ isShown?: boolean;
17
+ size?: PanelSizeFactor;
18
+ content: () => ViewElement;
19
+ focusOptions?: ResizablePanelFocusOptions;
20
+ }
21
+ export {};
@@ -1,4 +1,4 @@
1
- import { IZone } from "../../helpers/zone/IZone";
2
- export interface FormZones {
3
- beforeLayout: IZone;
4
- }
1
+ import { IZone } from "../../helpers/zone/IZone";
2
+ export interface FormZones {
3
+ beforeLayout: IZone;
4
+ }
@@ -1,19 +1,19 @@
1
- import { Button } from "../controls/monacoEditor/jsonSchemas/Button.schema";
2
- export interface FormPageOptions {
3
- /** Форма только для чтения */
4
- readonly?: boolean | (() => boolean);
5
- /** Создавать автоматически новую запись, если не существует */
6
- createIfNotExists?: boolean;
7
- /** Кнопка удаления на форме */
8
- deleteButton?: false | Button;
9
- /** Настройки кнопки */
10
- primaryButton?: Button;
11
- /** Скрывать заголовок */
12
- hideTitle?: boolean;
13
- /** Скрывать подзаголовок */
14
- hideSubtitle?: boolean;
15
- /** Дополнительные данные для загрузки */
16
- hintSelect?: string[];
17
- /** Код макета формы */
18
- layoutCode?: string;
19
- }
1
+ import { Button } from "../controls/monacoEditor/jsonSchemas/Button.schema";
2
+ export interface FormPageOptions {
3
+ /** Форма только для чтения */
4
+ readonly?: boolean | (() => boolean);
5
+ /** Создавать автоматически новую запись, если не существует */
6
+ createIfNotExists?: boolean;
7
+ /** Кнопка удаления на форме */
8
+ deleteButton?: false | Button;
9
+ /** Настройки кнопки */
10
+ primaryButton?: Button;
11
+ /** Скрывать заголовок */
12
+ hideTitle?: boolean;
13
+ /** Скрывать подзаголовок */
14
+ hideSubtitle?: boolean;
15
+ /** Дополнительные данные для загрузки */
16
+ hintSelect?: string[];
17
+ /** Код макета формы */
18
+ layoutCode?: string;
19
+ }
@@ -1,71 +1,70 @@
1
- /// <reference types="../../../../mithril" />
2
- /// <reference types="mithril" />
3
- import { Valued } from "mdtScripts/helpers/types";
4
- import { Field } from "../../common/Field";
5
- import { IListControlFacade } from "../../services/customModules/facades/List/IListControlFacade";
6
- import { ClassNamesArg } from "mdtScripts/helpers/utils/classNames";
7
- export interface ICellTransformerCtx {
8
- row: {
9
- $rendered?: number;
10
- [k: string]: any;
11
- };
12
- td: _mithril.MithrilVirtualElement;
13
- tr: _mithril.MithrilVirtualElement;
14
- isHead?: boolean;
15
- idx?: number;
16
- }
17
- export interface CellTransformerContext extends ICellTransformerCtx {
18
- list: IListControlFacade;
19
- col: ILayoutColumnBase;
20
- }
21
- export interface IRowTransformerContext {
22
- row: any;
23
- tr: _mithril.MithrilVirtualElement;
24
- list: any;
25
- }
26
- export interface RowTransformerContext extends IRowTransformerContext {
27
- list: IListControlFacade;
28
- }
29
- export interface ILayoutColumnBase {
30
- id?: number;
31
- code?: string;
32
- fieldPath?: string;
33
- title?: string;
34
- description?: string;
35
- width?: number | string;
36
- type?: string;
37
- position?: number;
38
- flagIconOnly?: boolean;
39
- }
40
- export interface ILayoutColumn extends ILayoutColumnBase {
41
- /** Уникальный идентификатор колонки. Если задан, используется в качестве ключа в элементе при рендере */
42
- $key?: string;
43
- control?: any;
44
- transformer?: any;
45
- $field?: Field;
46
- $pathFields?: Field[];
47
- $pathFieldsFull?: Field[];
48
- $refFields?: Field[];
49
- $type?: any;
50
- $column?: ILayoutColumn;
51
- $valuePath?: string;
52
- $valuePathFull?: string;
53
- $lastRefField?: Field;
54
- $refIdPath?: string;
55
- $system?: boolean;
56
- $new?: boolean;
57
- $title?: string;
58
- class?: string;
59
- /** Стилизация ячейки */
60
- wrapClass?: Valued<ClassNamesArg>;
61
- $width?: number;
62
- $destroy?: boolean;
63
- }
64
- export interface LayoutColumnValued {
65
- $valueView?: (value: any, ctx: CellTransformerContext, args?: O2MValueViewArgs) => any;
66
- }
67
- export interface LayoutColumn extends ILayoutColumn, LayoutColumnValued {
68
- }
69
- export interface O2MValueViewArgs {
70
- valueIndex?: number;
71
- }
1
+ /// <reference types="../../../../mithril" />
2
+ import { Valued } from "mdtScripts/helpers/types";
3
+ import { Field } from "../../common/Field";
4
+ import { IListControlFacade } from "../../services/customModules/facades/List/IListControlFacade";
5
+ import { ClassNamesArg } from "mdtScripts/helpers/utils/classNames";
6
+ export interface ICellTransformerCtx {
7
+ row: {
8
+ $rendered?: number;
9
+ [k: string]: any;
10
+ };
11
+ td: _mithril.MithrilVirtualElement;
12
+ tr: _mithril.MithrilVirtualElement;
13
+ isHead?: boolean;
14
+ idx?: number;
15
+ }
16
+ export interface CellTransformerContext extends ICellTransformerCtx {
17
+ list: IListControlFacade;
18
+ col: ILayoutColumnBase;
19
+ }
20
+ export interface IRowTransformerContext {
21
+ row: any;
22
+ tr: _mithril.MithrilVirtualElement;
23
+ list: any;
24
+ }
25
+ export interface RowTransformerContext extends IRowTransformerContext {
26
+ list: IListControlFacade;
27
+ }
28
+ export interface ILayoutColumnBase {
29
+ id?: number;
30
+ code?: string;
31
+ fieldPath?: string;
32
+ title?: string;
33
+ description?: string;
34
+ width?: number | string;
35
+ type?: string;
36
+ position?: number;
37
+ flagIconOnly?: boolean;
38
+ }
39
+ export interface ILayoutColumn extends ILayoutColumnBase {
40
+ /** Уникальный идентификатор колонки. Если задан, используется в качестве ключа в элементе при рендере */
41
+ $key?: string;
42
+ control?: any;
43
+ transformer?: any;
44
+ $field?: Field;
45
+ $pathFields?: Field[];
46
+ $pathFieldsFull?: Field[];
47
+ $refFields?: Field[];
48
+ $type?: any;
49
+ $column?: ILayoutColumn;
50
+ $valuePath?: string;
51
+ $valuePathFull?: string;
52
+ $lastRefField?: Field;
53
+ $refIdPath?: string;
54
+ $system?: boolean;
55
+ $new?: boolean;
56
+ $title?: string;
57
+ class?: string;
58
+ /** Стилизация ячейки */
59
+ wrapClass?: Valued<ClassNamesArg>;
60
+ $width?: number;
61
+ $destroy?: boolean;
62
+ }
63
+ export interface LayoutColumnValued {
64
+ $valueView?: (value: any, ctx: CellTransformerContext, args?: O2MValueViewArgs) => any;
65
+ }
66
+ export interface LayoutColumn extends ILayoutColumn, LayoutColumnValued {
67
+ }
68
+ export interface O2MValueViewArgs {
69
+ valueIndex?: number;
70
+ }