@imtf/dms-core 1.0.0-beta.2 → 1.1.0-beta.0

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 (166) hide show
  1. package/apps/folder-manager/routes/InodeCollection/hooks/useRemoveInodesFromUrl.d.ts +4 -0
  2. package/core/components/Chip/Chip.d.ts +8 -0
  3. package/core/components/Chip/index.d.ts +1 -0
  4. package/core/components/CloseModalButton/CloseModalButton.d.ts +10 -0
  5. package/core/components/CloseModalButton/index.d.ts +1 -0
  6. package/core/components/DatePicker/DatePicker.d.ts +6 -0
  7. package/core/components/DatePicker/index.d.ts +1 -0
  8. package/core/components/Error/index.d.ts +7 -0
  9. package/core/components/FormattedNumberTextfield/FormattedNumberTextfield.d.ts +3 -0
  10. package/core/components/FormattedNumberTextfield/index.d.ts +1 -0
  11. package/core/components/ItemIcon/TaskIcon.d.ts +5 -0
  12. package/core/components/ItemIcon/index.d.ts +19 -0
  13. package/core/components/JsonForm/types.d.ts +15 -0
  14. package/core/components/Select/ListboxComponent.d.ts +5 -0
  15. package/core/components/Select/Select.d.ts +20 -0
  16. package/core/components/Select/index.d.ts +1 -0
  17. package/core/components/dms-ui/DatasourceAutocomplete.d.ts +14 -0
  18. package/core/components/dms-ui/ImmutableComposer.d.ts +15 -0
  19. package/core/components/dms-ui/immutableDefault/DatasourceAutocomplete.d.ts +19 -0
  20. package/core/components/dms-ui/immutableDefault/DatePicker.d.ts +15 -0
  21. package/core/components/dms-ui/immutableDefault/Group.d.ts +16 -0
  22. package/core/components/dms-ui/immutableDefault/NumberFormattedTexfield.d.ts +14 -0
  23. package/core/components/dms-ui/immutableDefault/NumberTextfield.d.ts +2 -0
  24. package/core/components/dms-ui/immutableDefault/RadioButton.d.ts +19 -0
  25. package/core/components/dms-ui/immutableDefault/Select.d.ts +19 -0
  26. package/core/components/dms-ui/immutableDefault/Switch.d.ts +19 -0
  27. package/core/components/dms-ui/immutableDefault/Textfield.d.ts +21 -0
  28. package/core/components/dms-ui/immutableDefault/index.d.ts +10 -0
  29. package/core/components/dms-ui/immutableFacet/DatasourceAutocomplete.d.ts +13 -0
  30. package/core/components/dms-ui/immutableFacet/DateRangeSearcher.d.ts +14 -0
  31. package/core/components/dms-ui/immutableFacet/Facet.d.ts +23 -0
  32. package/core/components/dms-ui/immutableFacet/NumericRangePicker.d.ts +14 -0
  33. package/core/components/dms-ui/immutableFacet/Select.d.ts +13 -0
  34. package/core/components/dms-ui/immutableFacet/Textfield.d.ts +13 -0
  35. package/core/components/dms-ui/immutableFacet/TypePicker.d.ts +13 -0
  36. package/core/components/dms-ui/immutableFacet/index.d.ts +7 -0
  37. package/core/components/dms-ui/immutableFacet/styles.d.ts +5 -0
  38. package/core/components/dms-ui/messages.d.ts +27 -0
  39. package/core/components/dms-ui/types.d.ts +49 -0
  40. package/core/components/dms-ui/utils/getImmutableComponent.d.ts +19 -0
  41. package/core/components/dms-ui/utils/removeLabelFromValues.d.ts +1 -0
  42. package/core/components/dms-ui/utils/utils.d.ts +3 -0
  43. package/core/constants/apps.d.ts +0 -5
  44. package/core/constants/kinds.d.ts +1 -0
  45. package/core/containers/DataGrid/constants.d.ts +26 -0
  46. package/core/containers/DataGrid/types.d.ts +36 -0
  47. package/core/containers/DataGrid/utils/handleWidth.d.ts +18 -0
  48. package/core/containers/DropZone/actions.d.ts +25 -0
  49. package/core/containers/DropZone/constants.d.ts +5 -0
  50. package/core/containers/DropZone/selectors.d.ts +8 -70
  51. package/core/containers/PDFTronViewer/components/LightViewer/config.d.ts +1 -0
  52. package/core/containers/PDFTronViewer/constants.d.ts +0 -1
  53. package/core/containers/SearchDataGrid/types.d.ts +16 -0
  54. package/core/hooks/useCollator.d.ts +2 -0
  55. package/core/providers/Actions/types.d.ts +2 -4
  56. package/core/providers/App/actions.d.ts +8 -6
  57. package/core/providers/App/constants.d.ts +0 -1
  58. package/core/providers/App/hooks/useApplicationSettings.d.ts +3 -2
  59. package/core/providers/App/hooks/useDownload.d.ts +23 -0
  60. package/core/providers/App/hooks/useSettings.d.ts +4 -8
  61. package/core/providers/App/hooks/useTriggerItems.d.ts +11 -0
  62. package/core/providers/App/messages.d.ts +8 -0
  63. package/core/providers/App/types.d.ts +8 -2
  64. package/core/providers/App/utils/convertOldUserSettings.d.ts +1 -1
  65. package/core/providers/App/utils/convertTreeviewFields.d.ts +69 -0
  66. package/core/providers/App/utils/sortListByWeightAndName.d.ts +8 -0
  67. package/core/providers/Cases/actions.d.ts +16 -3
  68. package/core/providers/Cases/hooks/useCaseFiles.d.ts +4 -0
  69. package/core/providers/Cases/utils/common.d.ts +37 -9
  70. package/core/providers/Ccm/types.d.ts +5 -0
  71. package/core/providers/DataGrid/Context.d.ts +47 -0
  72. package/core/providers/Definitions/hooks/useTaskDefinition.d.ts +1 -0
  73. package/core/providers/Definitions/hooks/useTaskDefinitions.d.ts +4 -0
  74. package/core/providers/Definitions/types.d.ts +14 -11
  75. package/core/providers/Definitions/utils/typesToTypeRefs.d.ts +5 -0
  76. package/core/providers/Inodes/actions.d.ts +13 -441
  77. package/core/providers/Inodes/constants.d.ts +1 -44
  78. package/core/providers/Inodes/hooks/useDelete.d.ts +5 -2
  79. package/core/providers/Inodes/hooks/useInodeByOid.d.ts +5 -0
  80. package/core/providers/Inodes/hooks/useInodeTypeAssignment.d.ts +4 -0
  81. package/core/providers/Inodes/hooks/useInodesByOids.d.ts +7 -0
  82. package/core/providers/Inodes/hooks/usePropertiesType.d.ts +14 -0
  83. package/core/providers/Inodes/hooks/usePropertyComponents.d.ts +11 -0
  84. package/core/providers/Inodes/hooks/useRestore.d.ts +22 -0
  85. package/core/providers/Inodes/hooks/useSortedTypes.d.ts +5 -0
  86. package/core/providers/Inodes/hooks/useTypes.d.ts +10 -0
  87. package/core/providers/Inodes/hooks/useUpdateInodes.d.ts +35 -0
  88. package/core/providers/Inodes/messages.d.ts +8 -0
  89. package/core/providers/Inodes/modals/AssignTypeAndPropertiesModal/AccordionItem.d.ts +29 -0
  90. package/core/providers/Inodes/modals/AssignTypeAndPropertiesModal/BarcodeLoading.d.ts +5 -0
  91. package/core/providers/Inodes/modals/AssignTypeAndPropertiesModal/ModalContent.d.ts +35 -0
  92. package/core/providers/Inodes/modals/AssignTypeAndPropertiesModal/index.d.ts +12 -0
  93. package/core/providers/Inodes/modals/AssignTypeAndPropertiesModal/messages.d.ts +59 -0
  94. package/core/providers/Inodes/modals/AssignTypeAndPropertiesModal/types.d.ts +43 -0
  95. package/core/providers/Inodes/modals/AssignTypeAndPropertiesModal/utils/addInodeOidToName.d.ts +22 -0
  96. package/core/providers/Inodes/modals/AssignTypeAndPropertiesModal/utils/createBarcodeProcessingFormData.d.ts +5 -0
  97. package/core/providers/Inodes/modals/AssignTypeAndPropertiesModal/utils/findMostUsedValue.d.ts +18 -0
  98. package/core/providers/Inodes/modals/AssignTypeAndPropertiesModal/utils/getInodesRequiredFieldNames.d.ts +10 -0
  99. package/core/providers/Inodes/modals/AssignTypeAndPropertiesModal/utils/getInvalidInodeOids.d.ts +10 -0
  100. package/core/providers/Inodes/modals/AssignTypeAndPropertiesModal/utils/replaceComponentsWithConfig.d.ts +10 -0
  101. package/core/providers/Inodes/modals/AssignTypeAndPropertiesModal/utils/resolveStatusIconAndColor.d.ts +5 -0
  102. package/core/providers/Inodes/modals/AssignTypeModal.d.ts +9 -0
  103. package/core/providers/Inodes/service.d.ts +7 -6
  104. package/core/providers/Inodes/types.d.ts +19 -49
  105. package/core/providers/Inodes/utils/getAssignableTypesFromInode.d.ts +2 -0
  106. package/core/providers/Inodes/utils/getBulkUrl.d.ts +1 -0
  107. package/core/providers/Inodes/utils/getDataFromForbiddenError.d.ts +18 -0
  108. package/core/providers/Inodes/utils/is.d.ts +1 -1
  109. package/core/providers/Inodes/utils/isImmutable.d.ts +1 -0
  110. package/core/providers/Inodes/utils/isInodeType.d.ts +3 -0
  111. package/core/providers/Inodes/utils/isInodeTypeRef.d.ts +3 -0
  112. package/core/providers/Inodes/utils/mutateInodes.d.ts +7 -0
  113. package/core/providers/Inodes/utils/replacePropertiesWithConfig.d.ts +10 -0
  114. package/core/providers/Inodes/utils/resolveInodeTypes.d.ts +183 -0
  115. package/core/providers/Inspectors/Context.d.ts +2 -0
  116. package/core/providers/Localization/Context.d.ts +7 -0
  117. package/core/providers/Localization/hooks/useLocale.d.ts +3 -0
  118. package/core/providers/MdmGraph/actions.d.ts +8 -0
  119. package/core/providers/MdmGraph/types.d.ts +11 -0
  120. package/core/providers/Modal/hooks/useModal.d.ts +44 -0
  121. package/core/providers/Modal/slice.d.ts +6 -0
  122. package/core/providers/Modal/types.d.ts +2 -0
  123. package/core/providers/Plugins/hooks/cases/useCaseDocuments.d.ts +6 -1
  124. package/core/providers/Plugins/hooks/inodes/useActions.d.ts +13 -2
  125. package/core/providers/Plugins/hooks/tasks/useTaskCompletionDisabling.d.ts +9 -0
  126. package/core/providers/Plugins/pluginRegistry.d.ts +60 -22
  127. package/core/providers/Search/hooks/useReloader.d.ts +1 -1
  128. package/core/providers/Search/reducer.d.ts +7 -4
  129. package/core/providers/Search/selectors.d.ts +48 -262
  130. package/core/providers/Search/types.d.ts +26 -28
  131. package/core/providers/Search/utils/createQuery.d.ts +5 -5
  132. package/core/providers/SystemNotification/slice.d.ts +1 -1
  133. package/core/providers/Tasks/Context.d.ts +10 -0
  134. package/core/providers/Tasks/hooks/useEntityDelete.d.ts +1 -1
  135. package/core/providers/Tasks/hooks/useEntityMutate.d.ts +1 -1
  136. package/core/providers/Tasks/hooks/useTaskStatus.d.ts +8 -0
  137. package/core/providers/Uploader/Context.d.ts +4 -4
  138. package/core/routes/navigate.d.ts +1 -1
  139. package/core/services/utils/generatePaths.d.ts +1 -1
  140. package/core/theme/theme.base.d.ts +32 -0
  141. package/core/theme/theme.lightMode.d.ts +206 -0
  142. package/core/utils/action.d.ts +2 -2
  143. package/core/utils/date/getUTCDateInCurrentTimezone.d.ts +11 -0
  144. package/core/utils/hasValidKind.d.ts +2 -0
  145. package/core/utils/immutable.d.ts +2 -0
  146. package/core/utils/string.d.ts +5 -5
  147. package/index.d.ts +5 -0
  148. package/package.json +1 -1
  149. package/store.d.ts +15 -10
  150. package/vendor/@imtf/react-components/components/Chip/utils.d.ts +2 -2
  151. package/vendor/@imtf/react-components/utils/constants.d.ts +0 -20
  152. package/core/components/JsonForm/widgets/widgetHOC.d.ts +0 -33
  153. package/core/components/TreeView/types.d.ts +0 -17
  154. package/core/components/TreeViewCell/constants.d.ts +0 -25
  155. package/core/containers/TreeView/actions.d.ts +0 -197
  156. package/core/containers/TreeView/constants.d.ts +0 -36
  157. package/core/containers/TreeView/types.d.ts +0 -46
  158. package/core/providers/App/utils/isSupportedItem.d.ts +0 -2
  159. package/core/providers/Cases/reducer.d.ts +0 -18
  160. package/core/providers/Cases/selectors.d.ts +0 -64
  161. package/core/providers/Inodes/selectors.d.ts +0 -55
  162. package/core/providers/MdmGraph/containers/MdmEntitiesEditor/utils/createHighlightsSchema.d.ts +0 -13
  163. package/core/providers/MdmGraph/utils/misc.d.ts +0 -13
  164. package/core/providers/Plugins/hooks/inodes/useInodesByOids.d.ts +0 -6
  165. package/core/providers/Tasks/hooks/useQuestionnaire.d.ts +0 -4
  166. package/core/utils/requestMiddleware.d.ts +0 -1
@@ -0,0 +1,183 @@
1
+ import { Inode, InodeChangeStatus, InodeType, InodeTypeRef, TemplateRef } from "../types";
2
+ /** Documentation : https://imtf.atlassian.net/wiki/spaces/FM/pages/530186290 */
3
+ /**
4
+ * Identify the proper RESOLVE_INODE_TYPES_STATUS to use
5
+ */
6
+ export declare const identifyStatus: (inodes: Inode[], { types, templates, forceType, forceTemplate, enablePropertiesUpload, }: {
7
+ types: InodeType[] | InodeTypeRef[];
8
+ templates: TemplateRef[];
9
+ forceType: boolean;
10
+ forceTemplate: boolean;
11
+ enablePropertiesUpload?: boolean;
12
+ }) => InodeChangeStatus;
13
+ /**
14
+ * Resolve the types of inodes when uploading, moving or copying files into a targetted inode.
15
+ * @param inodes The inodes to resolve the types for.
16
+ * @param targetInode The targetted folder inode.
17
+ * @returns
18
+ */
19
+ declare const resolveInodeTypes: (inodes: Inode[], { types, templates, forceType, forceTemplate, enablePropertiesUpload, }: {
20
+ types: InodeType[] | InodeTypeRef[];
21
+ templates: TemplateRef[];
22
+ forceType: boolean;
23
+ forceTemplate: boolean;
24
+ enablePropertiesUpload?: boolean;
25
+ }, files?: File[]) => {
26
+ status: InodeChangeStatus;
27
+ resolvedInodes: Inode[] | {
28
+ type: null;
29
+ allowedTypes: InodeTypeRef[];
30
+ ancestors?: {
31
+ kind: typeof import("../../../constants/kinds").INODE_REF;
32
+ name: Inode["name"];
33
+ label: Inode["label"];
34
+ oid: Inode["oid"];
35
+ }[];
36
+ capabilities?: {
37
+ kind: "dms.core.Capabilities";
38
+ canAddFolderOfTypes: InodeType["name"][];
39
+ canViewPanels: string[];
40
+ canAddFile: boolean;
41
+ canSendLinkByEmail: boolean;
42
+ canAddFileOfTypes: InodeType["name"][];
43
+ canAssignTypes: InodeType["name"][];
44
+ canCreateCase: boolean;
45
+ canAddFileWithoutBinary: boolean;
46
+ canAddFileWithoutBinaryOfTypes: InodeType["name"][];
47
+ };
48
+ childrenAllowedTemplates?: TemplateRef[];
49
+ childrenAllowedTypes?: InodeTypeRef[];
50
+ creationDate: string;
51
+ deleted?: boolean;
52
+ deleteInfo?: {
53
+ kind: "dms-core.DeleteInfo";
54
+ timestamp: string;
55
+ user: import("../../User/types").User;
56
+ };
57
+ shared?: boolean;
58
+ downloadId: string;
59
+ favorite?: boolean;
60
+ forceChildrenWithTemplate?: boolean;
61
+ forceChildrenWithType?: boolean;
62
+ forceWithType?: boolean;
63
+ kind: "dms-core.Folder" | "dms-core.File" | "dms-core.Template" | "dms-core.Dossier" | "dms-core.DeniedInode";
64
+ commentsCount?: number;
65
+ label: string;
66
+ mimeType: keyof typeof import("../../../containers/PDFTronViewer/constants").SUPPORTED_MIME_TYPES | string;
67
+ modificationDate: string;
68
+ name: string;
69
+ oid: string;
70
+ orderingWeight: number;
71
+ parentOid?: string;
72
+ watched?: boolean;
73
+ template?: TemplateRef;
74
+ permissions: {
75
+ [key: string]: boolean | undefined;
76
+ } | null;
77
+ fields: {
78
+ [key: string]: string;
79
+ };
80
+ caseRefs?: {
81
+ items: import("../../Cases/types").CaseRef[];
82
+ };
83
+ mdmEntityRefs?: {
84
+ kind: "dms-core.MdmEntityRefList";
85
+ items: Array<{
86
+ kind: "dms-core.MdmEntityRef";
87
+ oid: string;
88
+ uri: string;
89
+ }>;
90
+ };
91
+ referredUnfile?: {
92
+ referrers: import("../types").InodeRef[];
93
+ };
94
+ tags?: import("../types").TagList;
95
+ properties: {
96
+ kind: typeof import("../../../constants/kinds").PROPERTY_LIST;
97
+ items: import("../types").Property[];
98
+ };
99
+ size: number;
100
+ stateMachines?: import("../types").StateMachine[];
101
+ uri: string;
102
+ version: number;
103
+ transientFileId?: string;
104
+ }[] | {
105
+ type: InodeType | InodeTypeRef;
106
+ allowedTypes: InodeTypeRef[];
107
+ ancestors?: {
108
+ kind: typeof import("../../../constants/kinds").INODE_REF;
109
+ name: Inode["name"];
110
+ label: Inode["label"];
111
+ oid: Inode["oid"];
112
+ }[];
113
+ capabilities?: {
114
+ kind: "dms.core.Capabilities";
115
+ canAddFolderOfTypes: InodeType["name"][];
116
+ canViewPanels: string[];
117
+ canAddFile: boolean;
118
+ canSendLinkByEmail: boolean;
119
+ canAddFileOfTypes: InodeType["name"][];
120
+ canAssignTypes: InodeType["name"][];
121
+ canCreateCase: boolean;
122
+ canAddFileWithoutBinary: boolean;
123
+ canAddFileWithoutBinaryOfTypes: InodeType["name"][];
124
+ };
125
+ childrenAllowedTemplates?: TemplateRef[];
126
+ childrenAllowedTypes?: InodeTypeRef[];
127
+ creationDate: string;
128
+ deleted?: boolean;
129
+ deleteInfo?: {
130
+ kind: "dms-core.DeleteInfo";
131
+ timestamp: string;
132
+ user: import("../../User/types").User;
133
+ };
134
+ shared?: boolean;
135
+ downloadId: string;
136
+ favorite?: boolean;
137
+ forceChildrenWithTemplate?: boolean;
138
+ forceChildrenWithType?: boolean;
139
+ forceWithType?: boolean;
140
+ kind: "dms-core.Folder" | "dms-core.File" | "dms-core.Template" | "dms-core.Dossier" | "dms-core.DeniedInode";
141
+ commentsCount?: number;
142
+ label: string;
143
+ mimeType: keyof typeof import("../../../containers/PDFTronViewer/constants").SUPPORTED_MIME_TYPES | string;
144
+ modificationDate: string;
145
+ name: string;
146
+ oid: string;
147
+ orderingWeight: number;
148
+ parentOid?: string;
149
+ watched?: boolean;
150
+ template?: TemplateRef;
151
+ permissions: {
152
+ [key: string]: boolean | undefined;
153
+ } | null;
154
+ fields: {
155
+ [key: string]: string;
156
+ };
157
+ caseRefs?: {
158
+ items: import("../../Cases/types").CaseRef[];
159
+ };
160
+ mdmEntityRefs?: {
161
+ kind: "dms-core.MdmEntityRefList";
162
+ items: Array<{
163
+ kind: "dms-core.MdmEntityRef";
164
+ oid: string;
165
+ uri: string;
166
+ }>;
167
+ };
168
+ referredUnfile?: {
169
+ referrers: import("../types").InodeRef[];
170
+ };
171
+ tags?: import("../types").TagList;
172
+ properties: {
173
+ kind: typeof import("../../../constants/kinds").PROPERTY_LIST;
174
+ items: import("../types").Property[];
175
+ };
176
+ size: number;
177
+ stateMachines?: import("../types").StateMachine[];
178
+ uri: string;
179
+ version: number;
180
+ transientFileId?: string;
181
+ }[] | null | undefined;
182
+ };
183
+ export default resolveInodeTypes;
@@ -6,6 +6,8 @@ type InspectorContextType = {
6
6
  registerInspectors: (inspectors: InspectorModuleDefinition[]) => void;
7
7
  activeTabName: string | undefined;
8
8
  setActiveTabName: (name: string | undefined) => void;
9
+ items: SupportedItem[] | undefined;
10
+ setItems: (items: SupportedItem[] | undefined) => void;
9
11
  };
10
12
  declare const InspectorsContext: import("react").Context<InspectorContextType>;
11
13
  export default InspectorsContext;
@@ -0,0 +1,7 @@
1
+ import { Locale } from "./types";
2
+ export type LocalizationContextValue = {
3
+ locale: Locale;
4
+ setLocale: (locale: Locale) => Promise<void>;
5
+ };
6
+ declare const LocalizationContext: import("react").Context<LocalizationContextValue>;
7
+ export default LocalizationContext;
@@ -0,0 +1,3 @@
1
+ import { Locale } from "../types";
2
+ declare const useLocale: () => Locale;
3
+ export default useLocale;
@@ -9,6 +9,8 @@ export function editEntityModal(taskOid: any, props: any): {
9
9
  fullWidth: boolean;
10
10
  maxWidth: import("@mui/material").DialogProps["maxWidth"];
11
11
  blocker: boolean;
12
+ onConfirm: (...args: any[]) => void;
13
+ onCancel: () => void;
12
14
  onClose: () => void;
13
15
  }> | undefined;
14
16
  };
@@ -106,6 +108,8 @@ export function showFieldHistory(fieldHistory: any, fieldLabel: any, entity: any
106
108
  fullWidth: boolean;
107
109
  maxWidth: import("@mui/material").DialogProps["maxWidth"];
108
110
  blocker: boolean;
111
+ onConfirm: (...args: any[]) => void;
112
+ onCancel: () => void;
109
113
  onClose: () => void;
110
114
  }> | undefined;
111
115
  };
@@ -122,6 +126,8 @@ export function showFieldComments(taskOid: any, entityOid: any, fieldName: any,
122
126
  fullWidth: boolean;
123
127
  maxWidth: import("@mui/material").DialogProps["maxWidth"];
124
128
  blocker: boolean;
129
+ onConfirm: (...args: any[]) => void;
130
+ onCancel: () => void;
125
131
  onClose: () => void;
126
132
  }> | undefined;
127
133
  };
@@ -138,6 +144,8 @@ export function generateEntityReportModal(entity: any): {
138
144
  fullWidth: boolean;
139
145
  maxWidth: import("@mui/material").DialogProps["maxWidth"];
140
146
  blocker: boolean;
147
+ onConfirm: (...args: any[]) => void;
148
+ onCancel: () => void;
141
149
  onClose: () => void;
142
150
  }> | undefined;
143
151
  };
@@ -30,6 +30,8 @@ export type Entity<Type extends string = string, Data extends EntityData = Entit
30
30
  canDelete: boolean;
31
31
  canEdit: boolean;
32
32
  canCommentEntityField: boolean;
33
+ canGenerateReport: boolean;
34
+ canImportSearchResult?: boolean;
33
35
  } & Capabilities;
34
36
  creationDate: string;
35
37
  modificationDate: string;
@@ -149,3 +151,12 @@ export type EntityReportsList = {
149
151
  kind: null;
150
152
  items: EntityReport[];
151
153
  };
154
+ export type History = {
155
+ currentValue: any;
156
+ previousValue: any;
157
+ timestamp: string;
158
+ username: string;
159
+ };
160
+ export type FieldHistory = {
161
+ [field: string]: History[] | FieldHistory;
162
+ };
@@ -0,0 +1,44 @@
1
+ import { ReactNode } from "react";
2
+ import { AssignTypeAndPropertiesModalType } from "../../Inodes/modals/AssignTypeAndPropertiesModal";
3
+ import { AssignTypeModalType } from "../../Inodes/modals/AssignTypeModal";
4
+ import { Inode } from "../../Inodes/types";
5
+ import * as PERMISSIONS from "../../../../core/constants/permissions";
6
+ type ValidateModalOptions = {
7
+ title?: ReactNode;
8
+ message?: ReactNode;
9
+ disableCancel?: boolean;
10
+ correlationId?: string;
11
+ };
12
+ type AssignTypeModalOptions = AssignTypeModalType;
13
+ type AssignTypeAndPropertiesModalOptions = AssignTypeAndPropertiesModalType;
14
+ type NameConflictModalOptions = {
15
+ permissions: {
16
+ [PERMISSIONS.UPDATE]: boolean;
17
+ [PERMISSIONS.RENAME]: boolean;
18
+ };
19
+ name: string;
20
+ isPlural: boolean;
21
+ shouldCheckForExtensionRename: boolean;
22
+ };
23
+ type ForceFolderActionModalOptions = {
24
+ targettedFolders: Inode[];
25
+ inodesPaths: string[];
26
+ itemCount: number;
27
+ action: "DELETE" | "MOVE" | "DUPLICATE";
28
+ args?: {
29
+ inodes: Inode[];
30
+ permanent?: boolean;
31
+ showNotification?: boolean;
32
+ };
33
+ };
34
+ export declare function useModal(): {
35
+ showValidateModal: (options: ValidateModalOptions) => Promise<boolean>;
36
+ showAssignTypeModal: (options: AssignTypeModalOptions) => Promise<any[] | null>;
37
+ showAssignTypeAndPropertiesModal: (options: AssignTypeAndPropertiesModalOptions) => Promise<any[] | null>;
38
+ showNameConflictModal: (options: NameConflictModalOptions) => Promise<{
39
+ type: typeof PERMISSIONS.UPDATE | typeof PERMISSIONS.RENAME;
40
+ newName: string;
41
+ } | null>;
42
+ showForceFolderActionModal: (options: ForceFolderActionModalOptions) => Promise<any>;
43
+ };
44
+ export {};
@@ -14,6 +14,8 @@ export declare const showModal: import("@reduxjs/toolkit").ActionCreatorWithPrep
14
14
  fullWidth: boolean;
15
15
  maxWidth: import("@mui/material").DialogProps["maxWidth"];
16
16
  blocker: boolean;
17
+ onConfirm: (...args: any[]) => void;
18
+ onCancel: () => void;
17
19
  onClose: () => void;
18
20
  }> | undefined], {
19
21
  type: string;
@@ -25,6 +27,8 @@ export declare const showModal: import("@reduxjs/toolkit").ActionCreatorWithPrep
25
27
  fullWidth: boolean;
26
28
  maxWidth: import("@mui/material").DialogProps["maxWidth"];
27
29
  blocker: boolean;
30
+ onConfirm: (...args: any[]) => void;
31
+ onCancel: () => void;
28
32
  onClose: () => void;
29
33
  }> | undefined;
30
34
  }, "modal/showModal", never, never>, updateModalProps: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<Partial<{
@@ -35,6 +39,8 @@ export declare const showModal: import("@reduxjs/toolkit").ActionCreatorWithPrep
35
39
  fullWidth: boolean;
36
40
  maxWidth: import("@mui/material").DialogProps["maxWidth"];
37
41
  blocker: boolean;
42
+ onConfirm: (...args: any[]) => void;
43
+ onCancel: () => void;
38
44
  onClose: () => void;
39
45
  }> | undefined, "modal/updateModalProps">, closeModal: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
40
46
  type?: string;
@@ -19,6 +19,8 @@ export type ModalProps = Partial<{
19
19
  fullWidth: boolean;
20
20
  maxWidth: DialogProps["maxWidth"];
21
21
  blocker: boolean;
22
+ onConfirm: (...args: any[]) => void;
23
+ onCancel: () => void;
22
24
  onClose: () => void;
23
25
  [key: string]: unknown;
24
26
  }>;
@@ -1,2 +1,7 @@
1
+ import { Case } from "../../../Cases/types";
2
+ declare const useCaseDocuments: (caseOid?: Case["oid"]) => {
3
+ data: import("../../../Inodes/types").Inode<"dms-core.File">[] | undefined;
4
+ isLoading: boolean;
5
+ mutate: () => void;
6
+ };
1
7
  export default useCaseDocuments;
2
- declare function useCaseDocuments(item: any): (import("../../../Inodes/types").Inode<"dms-core.Folder" | "dms-core.File" | "dms-core.Template" | "dms-core.Dossier" | "dms-core.DeniedInode"> | undefined)[] | undefined;
@@ -4,9 +4,20 @@ declare function useInodeActions(): {
4
4
  inodes: import("../../../Inodes/types").Inode[];
5
5
  permanent?: boolean;
6
6
  showNotification?: boolean;
7
+ deleteMode?: "FORCE_DELETE" | "ELIGIBLE_DELETE";
8
+ } & {
9
+ result: import("../../../Inodes/types").InodeList | undefined;
7
10
  }>;
8
- update: (inodes: any) => void;
11
+ update: (inodes: any) => Promise<({
12
+ inodes: import("../../../Inodes/types").Inode[];
13
+ targetInode?: import("../../../Inodes/types").Inode;
14
+ originalInodes?: import("../../../Inodes/types").Inode[];
15
+ mergeOnNameConflict?: boolean;
16
+ moveMode?: "FORCE_MOVE";
17
+ } & {
18
+ newInodes: import("../../../Inodes/types").Inode[];
19
+ }) | undefined>;
20
+ checkAndGetWithType: (inodes: any, targetTypes: any, forceChildrenWithType: any) => Promise<import("../../../Inodes/types").Inode[] | null>;
9
21
  stateAction: (inodes: any, action: any) => void;
10
22
  updateProperties: (newProperties: any, oid: any) => void;
11
- checkAndGetWithType: (inodes: any, targetTypes: any, forceChildrenWithType: any, sort: any) => Promise<any>;
12
23
  };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Allows to manually disable or enable the task completion buttons.
3
+ * Can be useful for plugins that need to prevent the user from completing a task
4
+ * until some conditions are met.
5
+ */
6
+ export declare function useTaskCompletionDisabling(): {
7
+ taskCompletionDisabled: boolean;
8
+ setTaskCompletionDisabled: import("react").Dispatch<import("react").SetStateAction<boolean>>;
9
+ };
@@ -1,15 +1,20 @@
1
+ import { ListmakerFormatter } from "@imtf/panache";
2
+ import { OperatorEvaluator } from "json-rules-engine";
3
+ import React, { ElementType } from "react";
1
4
  import { useIntl } from "react-intl";
5
+ import { Action, ActionDefinition } from "../Actions/types";
2
6
  import useReloader from "../Search/hooks/useReloader";
7
+ import { Action as FormAction } from "../../../core/components/JsonForm/types";
3
8
  import { api } from "../../../core/services/settings";
4
9
  import { TRIGGER_TARGET } from "../Actions/constants";
5
- import { Action, ActionDefinition } from "../Actions/types";
6
10
  import { SupportedItem } from "../App/types";
7
11
  import { Case } from "../Cases/types";
12
+ import { useInodesByOids } from "../Inodes/hooks/useInodesByOids";
8
13
  import { Inode } from "../Inodes/types";
9
14
  import { InspectorProps } from "../Inspectors/types";
10
15
  import { Task } from "../Tasks/types";
11
16
  import { TYPES } from "./constants";
12
- import useInodesByOids from "./hooks/inodes/useInodesByOids";
17
+ import { useTaskCompletionDisabling } from "./hooks/tasks/useTaskCompletionDisabling";
13
18
  import { CategoryFilterProps, EntitiesWrapperProps, EntityDocumentsDocumentLabelProps, EntityDocumentsDocumentProps, EntityDocumentsTypeLabelProps, EntityEditModalEditForm, MdmEditorEntityRowActionsProps } from "./types/componentPlugins";
14
19
  type PLUGIN_TYPES = (typeof TYPES)[keyof typeof TYPES];
15
20
  declare const plugins: {
@@ -18,7 +23,7 @@ declare const plugins: {
18
23
  declare class PluginRegistry {
19
24
  private getActions;
20
25
  private triggerItems;
21
- private uploadFiles;
26
+ private _uploadFiles;
22
27
  TYPES: Readonly<{
23
28
  QUESTIONNAIRE_PART: "QUESTIONNAIRE_PART";
24
29
  FORM_WIDGET: "FORM_WIDGET";
@@ -50,7 +55,7 @@ declare class PluginRegistry {
50
55
  CancelToken: import("axios").CancelTokenStatic;
51
56
  };
52
57
  components: {
53
- DocumentViewer: import("react").MemoExoticComponent<({ inode }: {
58
+ DocumentViewer: React.MemoExoticComponent<({ inode }: {
54
59
  inode: Inode;
55
60
  }) => import("react/jsx-runtime").JSX.Element>;
56
61
  CountryFlag: any;
@@ -68,7 +73,10 @@ declare class PluginRegistry {
68
73
  notify: (message: import("react-toastify").ToastContent, options: import("react-toastify").ToastOptions) => import("react-toastify").Id;
69
74
  updateNotification: (tastId: import("react-toastify").Id, options: import("react-toastify").UpdateOptions) => void;
70
75
  };
71
- useParameter: <T>(key: "translations" | "language" | "contentType" | "locales" | "enableCaseCreation" | "shouldReloadResults" | "reloadResultsIntervals" | "userInactivitySessionTimeout" | "showDropzone" | "theme" | "productNameInSidebar" | "disableTaskAutoClaim" | "useRelativeDateWheneverPossible" | "customerRelatedEntitiesTemplates" | "documentTaskSearchContextName" | "canOpenRelatedAlertFromInspector" | "propertyPanelOverrides" | "additionalTransactionsColumns" | "millisecondsToHideUploadProgress" | "inodeTimelineExportLimit" | "searchExportLimit" | "customStamps" | "openEachInodeInNewTabOrWindowLimit" | "useSolrDocumentIcons" | "loadFirstFromQuickSearch" | "enableDossierCreation" | "enableBarcodeProcessing" | "enablePropertiesUpload" | "navigateOnCaseCreation" | "navigateOnTaskCompletion" | "authenticationWorkflow" | "hitListLimit" | "inodeListLimit" | "appBarColor" | "displayEnvironmentName" | "autosaveDebounce" | "displayFullnameInDocuments" | "enableDigitalSignatureVerification" | "certificateRevocationListProxyServerUrl" | "companionScanDPIResolution", defaultValue?: T) => T | undefined;
76
+ useParameter: <T>(key: "translations" | "language" | "navigateOnTaskCompletion" | "contentType" | "locales" | "enableCaseCreation" | "shouldReloadResults" | "reloadResultsIntervals" | "userInactivitySessionTimeout" | "showDropzone" | "theme" | "productNameInSidebar" | "disableTaskAutoClaim" | "useRelativeDateWheneverPossible" | "customerRelatedEntitiesTemplates" | "documentTaskSearchContextName" | "canOpenRelatedAlertFromInspector" | "propertyPanelOverrides" | "additionalTransactionsColumns" | "millisecondsToHideUploadProgress" | "inodeTimelineExportLimit" | "searchExportLimit" | "customStamps" | "openEachInodeInNewTabOrWindowLimit" | "useSolrDocumentIcons" | "loadFirstFromQuickSearch" | "enableDossierCreation" | "enableBarcodeProcessing" | "enablePropertiesUpload" | "navigateOnCaseCreation" | "authenticationWorkflow" | "hitListLimit" | "inodeListLimit" | "appBarColor" | "displayEnvironmentName" | "autosaveDebounce" | "displayFullnameInDocuments" | "enableDigitalSignatureVerification" | "certificateRevocationListProxyServerUrl" | "companionScanDPIResolution", defaultValue?: T) => T | undefined;
77
+ /**
78
+ * @deprecated
79
+ */
72
80
  useReloader: typeof useReloader;
73
81
  useSWR: import("swr").SWRHook;
74
82
  useSWRImmutable: import("swr").SWRHook;
@@ -90,7 +98,11 @@ declare class PluginRegistry {
90
98
  offset?: number;
91
99
  limit?: number;
92
100
  }) => import("swr").SWRResponse<import("../MdmGraph/types").MdmGraphData, any, any>;
93
- useDocuments: (item: any) => (Inode<"dms-core.Folder" | "dms-core.File" | "dms-core.Template" | "dms-core.Dossier" | "dms-core.DeniedInode"> | undefined)[] | undefined;
101
+ useDocuments: (caseOid?: Case["oid"]) => {
102
+ data: Inode<"dms-core.File">[] | undefined;
103
+ isLoading: boolean;
104
+ mutate: () => void;
105
+ };
94
106
  useDocumentTypes: (item: string | Case | Task) => import("swr").SWRResponse<import("../Cases/hooks/useCaseDocumentTypes").CaseDocumentType[], any, any>;
95
107
  usePayload: (item: unknown) => import("swr").SWRResponse<{
96
108
  kind: "acm.CasePayload";
@@ -126,7 +138,6 @@ declare class PluginRegistry {
126
138
  trigger: (entity: import("../MdmGraph/types").Entity, patchData?: import("../MdmGraph/types").EntityData, params?: import("../Tasks/hooks/useEntityMutate").Params) => Promise<void>;
127
139
  isMutating: boolean;
128
140
  reset: () => void;
129
- error: import("axios").AxiosError<unknown, any> | undefined;
130
141
  data: {
131
142
  entity?: import("../MdmGraph/types").Entity & {
132
143
  __creationOid?: string;
@@ -134,6 +145,7 @@ declare class PluginRegistry {
134
145
  relation?: import("../MdmGraph/types").Relation;
135
146
  params?: import("../Tasks/hooks/useEntityMutate").Params | undefined;
136
147
  } | undefined;
148
+ error: import("axios").AxiosError<unknown, any> | undefined;
137
149
  };
138
150
  useEntityDelete: (taskOid: string) => {
139
151
  deleteEntity: (entityOid: string, params: Omit<{
@@ -150,10 +162,11 @@ declare class PluginRegistry {
150
162
  entityOid: string;
151
163
  }>;
152
164
  reset: () => void;
153
- error: import("axios").AxiosError<unknown, any> | undefined;
154
165
  data: string | undefined;
166
+ error: import("axios").AxiosError<unknown, any> | undefined;
155
167
  };
156
168
  useTask: (taskOid: string | undefined) => import("swr").SWRResponse<Task, any, any>;
169
+ useTaskCompletionDisabling: typeof useTaskCompletionDisabling;
157
170
  };
158
171
  mdm: {
159
172
  useEntity: (taskOid: any, entityOid: any) => {
@@ -168,11 +181,22 @@ declare class PluginRegistry {
168
181
  inodes: Inode[];
169
182
  permanent?: boolean;
170
183
  showNotification?: boolean;
184
+ deleteMode?: "FORCE_DELETE" | "ELIGIBLE_DELETE";
185
+ } & {
186
+ result: import("../Inodes/types").InodeList | undefined;
171
187
  }>;
172
- update: (inodes: any) => void;
188
+ update: (inodes: any) => Promise<({
189
+ inodes: Inode[];
190
+ targetInode?: Inode;
191
+ originalInodes?: Inode[];
192
+ mergeOnNameConflict?: boolean;
193
+ moveMode?: "FORCE_MOVE";
194
+ } & {
195
+ newInodes: Inode[];
196
+ }) | undefined>;
197
+ checkAndGetWithType: (inodes: any, targetTypes: any, forceChildrenWithType: any) => Promise<Inode[] | null>;
173
198
  stateAction: (inodes: any, action: any) => void;
174
199
  updateProperties: (newProperties: any, oid: any) => void;
175
- checkAndGetWithType: (inodes: any, targetTypes: any, forceChildrenWithType: any, sort: any) => Promise<any>;
176
200
  };
177
201
  useInodesByOids: typeof useInodesByOids;
178
202
  };
@@ -180,7 +204,7 @@ declare class PluginRegistry {
180
204
  setDeps({ getActions, triggerItems, upload, }: {
181
205
  getActions: typeof PluginRegistry.prototype.getActions;
182
206
  triggerItems: typeof PluginRegistry.prototype.triggerItems;
183
- upload: typeof PluginRegistry.prototype.uploadFiles;
207
+ upload: typeof PluginRegistry.prototype._uploadFiles;
184
208
  }): void;
185
209
  register(type: typeof TYPES.FORM_WIDGET | typeof TYPES.FORM_FIELD | typeof TYPES.RENDERER | typeof TYPES.CONTEXT_MENU_ACTION | typeof TYPES.EXTERNAL_MODULE | typeof TYPES.QUESTIONNAIRE_PART | typeof TYPES.PROVIDER, name: string, plugin: (...args: any[]) => React.ReactNode, options?: {
186
210
  condition?: (item: unknown) => boolean;
@@ -189,30 +213,35 @@ declare class PluginRegistry {
189
213
  label?: string;
190
214
  condition?: (item: Case | Task | Inode) => boolean;
191
215
  }): void;
192
- register(type: typeof TYPES.FORM_OPERATOR, name: string, plugin: (item: Record<string, any>) => React.ReactNode): void;
193
- register(type: typeof TYPES.FORMATTER, name: string, plugin: (...args: any[]) => string, params?: unknown): void;
216
+ register(type: typeof TYPES.FORM_ACTION, name: string, action: FormAction): void;
217
+ register(type: typeof TYPES.FORM_OPERATOR, name: string, operator: OperatorEvaluator<unknown, unknown>): void;
218
+ register(type: typeof TYPES.FORMATTER, name: string, formatter: ListmakerFormatter): void;
194
219
  register(type: typeof TYPES.COMPONENT, name: "mdmEditor/EntitiesWrapper", plugin: React.FC<EntitiesWrapperProps>, params?: {
195
- condition: (props: EntitiesWrapperProps) => boolean;
220
+ condition?: (props: EntitiesWrapperProps) => boolean;
196
221
  }): void;
197
222
  register(type: typeof TYPES.COMPONENT, name: "mdmEditor/EntityRowActions", plugin: React.FC<MdmEditorEntityRowActionsProps>, params?: {
198
- condition: (props: MdmEditorEntityRowActionsProps) => boolean;
223
+ condition?: (props: MdmEditorEntityRowActionsProps) => boolean;
199
224
  }): void;
200
225
  register(type: typeof TYPES.COMPONENT, name: "mdmEditor/EditModal/EditForm", plugin: React.FC<EntityEditModalEditForm>, params?: {
201
- condition: (props: EntityEditModalEditForm) => boolean;
226
+ condition?: (props: EntityEditModalEditForm) => boolean;
202
227
  }): void;
203
228
  register(type: typeof TYPES.COMPONENT, name: "documentUpload/Filters", plugin: React.FC<CategoryFilterProps>, params?: {
204
- condition: (props: CategoryFilterProps) => boolean;
229
+ condition?: (props: CategoryFilterProps) => boolean;
205
230
  }): void;
206
231
  register(type: typeof TYPES.COMPONENT, name: "entityDocuments/TypeLabel", plugin: React.FC<EntityDocumentsTypeLabelProps>, params?: {
207
- condition: (props: EntityDocumentsTypeLabelProps) => boolean;
232
+ condition?: (props: EntityDocumentsTypeLabelProps) => boolean;
208
233
  }): void;
209
234
  register(type: typeof TYPES.COMPONENT, name: "entityDocuments/Document", plugin: React.FC<EntityDocumentsDocumentProps>, params?: {
210
- condition: (props: EntityDocumentsDocumentProps) => boolean;
235
+ condition?: (props: EntityDocumentsDocumentProps) => boolean;
211
236
  }): void;
212
237
  register(type: typeof TYPES.COMPONENT, name: "entityDocuments/DocumentLabel", plugin: React.FC<EntityDocumentsDocumentLabelProps>, params?: {
213
- condition: (props: EntityDocumentsDocumentLabelProps) => boolean;
238
+ condition?: (props: EntityDocumentsDocumentLabelProps) => boolean;
214
239
  }): void;
215
- get(type: keyof typeof plugins, name?: string): Record<string, any> | undefined;
240
+ get(type: keyof typeof plugins, name?: string): any;
241
+ get<A = unknown, B = unknown>(type: typeof TYPES.FORMATTER, name: string): OperatorEvaluator<A, B> | undefined;
242
+ get(type: typeof TYPES.PROVIDER, name: "default"): {
243
+ object: ElementType;
244
+ } | undefined;
216
245
  getAll(type: keyof typeof plugins): Record<string, Record<string, any>>;
217
246
  upload: {
218
247
  promptIcosUpload: (params: {
@@ -225,6 +254,11 @@ declare class PluginRegistry {
225
254
  properties?: any;
226
255
  types?: import("../Inodes/types").InodeType[];
227
256
  }) => Promise<null>;
257
+ promptUpdateBinary: (params: {
258
+ accept?: string;
259
+ target: string;
260
+ updateInodeName?: boolean;
261
+ }) => Promise<null>;
228
262
  uploadIcosFiles: (params: {
229
263
  files: File[];
230
264
  caseOid?: string;
@@ -234,8 +268,12 @@ declare class PluginRegistry {
234
268
  fileInodes?: Inode[];
235
269
  types: import("../Inodes/types").InodeType[];
236
270
  }) => Promise<null>;
237
- updateBinary: (inodeOid: string, file: File, getUpdatedItem?: (file: File) => File) => Promise<null>;
271
+ updateBinary: (inodeOid: string, file: File, updateInodeName?: boolean | undefined) => Promise<null>;
238
272
  };
273
+ /**
274
+ * As `getActions` and `triggerItems` as redefined after class instantiation,
275
+ * we need to expose them as a function to be able to use them in the actions object.
276
+ */
239
277
  actions: {
240
278
  getActions: (items: SupportedItem[], extraActions?: ActionDefinition[], extraActionParams?: Record<string, any>) => Action[];
241
279
  triggerItems: (items: SupportedItem[], target?: keyof typeof TRIGGER_TARGET) => void;
@@ -8,7 +8,7 @@
8
8
  * @param {Boolean} enabled Wether this hook should be enabled or not
9
9
  * @returns an object containing restart and stop function
10
10
  */
11
- export default function useReloader(fn: Function, intervals?: number[] | undefined, infinite?: boolean, enabled?: boolean, triggerOnBlurAndFocus?: boolean): {
11
+ export default function useReloader(fn: Function, intervals?: Array<number>, infinite?: boolean, enabled?: boolean, triggerOnBlurAndFocus?: boolean): {
12
12
  restart: () => void;
13
13
  stop: () => void;
14
14
  };
@@ -1,19 +1,21 @@
1
1
  import { AnyAction } from "@reduxjs/toolkit";
2
- import { TableRow, TreeViewField } from "../../../core/containers/TreeView/types";
2
+ import { ColumnDefinition } from "../../../core/containers/DataGrid/types";
3
+ import { TableRow } from "../../../core/containers/SearchDataGrid/types";
3
4
  import { SearchMask } from "../Definitions/types";
4
- import { SearchResultCapabilities } from "./types";
5
+ import { SearchResultAlert, SearchResultCapabilities } from "./types";
5
6
  export type SearchState = {
6
7
  loading: boolean;
7
8
  error: any;
8
9
  results: {
9
10
  contextName: string | undefined;
10
11
  count: number | null;
11
- head: TreeViewField[];
12
+ head: ColumnDefinition[];
12
13
  mask: SearchMask | null;
13
14
  rows: TableRow[];
14
15
  hasUnknowCount: boolean;
15
16
  timestamp: number | undefined;
16
17
  capabilities: SearchResultCapabilities;
18
+ alerts?: SearchResultAlert[];
17
19
  };
18
20
  };
19
21
  export default function searchReducer(state: SearchState | undefined, action: AnyAction): {
@@ -22,11 +24,12 @@ export default function searchReducer(state: SearchState | undefined, action: An
22
24
  results: {
23
25
  contextName: string | undefined;
24
26
  count: number | null;
25
- head: TreeViewField[];
27
+ head: ColumnDefinition[];
26
28
  mask: SearchMask | null;
27
29
  rows: TableRow[];
28
30
  hasUnknowCount: boolean;
29
31
  timestamp: number | undefined;
30
32
  capabilities: SearchResultCapabilities;
33
+ alerts?: SearchResultAlert[];
31
34
  };
32
35
  };