@sap-ux/fiori-mcp-server 0.0.1

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 (181) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +99 -0
  3. package/dist/constant.d.ts +5 -0
  4. package/dist/constant.js +8 -0
  5. package/dist/index.d.ts +3 -0
  6. package/dist/index.js +7 -0
  7. package/dist/page-editor-api/api.d.ts +48 -0
  8. package/dist/page-editor-api/api.js +93 -0
  9. package/dist/page-editor-api/index.d.ts +5 -0
  10. package/dist/page-editor-api/index.js +24 -0
  11. package/dist/page-editor-api/json-helper.d.ts +11 -0
  12. package/dist/page-editor-api/json-helper.js +64 -0
  13. package/dist/page-editor-api/parser/annotations.d.ts +9 -0
  14. package/dist/page-editor-api/parser/annotations.js +13 -0
  15. package/dist/page-editor-api/parser/index.d.ts +3 -0
  16. package/dist/page-editor-api/parser/index.js +19 -0
  17. package/dist/page-editor-api/parser/model/AggregationValidator.d.ts +64 -0
  18. package/dist/page-editor-api/parser/model/AggregationValidator.js +209 -0
  19. package/dist/page-editor-api/parser/model/ArrayAggregation.d.ts +49 -0
  20. package/dist/page-editor-api/parser/model/ArrayAggregation.js +122 -0
  21. package/dist/page-editor-api/parser/model/ObjectAggregation.d.ts +374 -0
  22. package/dist/page-editor-api/parser/model/ObjectAggregation.js +802 -0
  23. package/dist/page-editor-api/parser/model/PageEditModel.d.ts +223 -0
  24. package/dist/page-editor-api/parser/model/PageEditModel.js +954 -0
  25. package/dist/page-editor-api/parser/model/PageEditProperty.d.ts +38 -0
  26. package/dist/page-editor-api/parser/model/PageEditProperty.js +49 -0
  27. package/dist/page-editor-api/parser/model/RootAggregation.d.ts +24 -0
  28. package/dist/page-editor-api/parser/model/RootAggregation.js +54 -0
  29. package/dist/page-editor-api/parser/model/actions/ActionAggregation.d.ts +34 -0
  30. package/dist/page-editor-api/parser/model/actions/ActionAggregation.js +92 -0
  31. package/dist/page-editor-api/parser/model/actions/ActionsAggregation.d.ts +96 -0
  32. package/dist/page-editor-api/parser/model/actions/ActionsAggregation.js +252 -0
  33. package/dist/page-editor-api/parser/model/actions/index.d.ts +3 -0
  34. package/dist/page-editor-api/parser/model/actions/index.js +19 -0
  35. package/dist/page-editor-api/parser/model/additionalObjects/AdditionalObjectAggregation.d.ts +17 -0
  36. package/dist/page-editor-api/parser/model/additionalObjects/AdditionalObjectAggregation.js +26 -0
  37. package/dist/page-editor-api/parser/model/additionalObjects/AdditionalObjectsAggregation.d.ts +46 -0
  38. package/dist/page-editor-api/parser/model/additionalObjects/AdditionalObjectsAggregation.js +66 -0
  39. package/dist/page-editor-api/parser/model/additionalObjects/index.d.ts +3 -0
  40. package/dist/page-editor-api/parser/model/additionalObjects/index.js +19 -0
  41. package/dist/page-editor-api/parser/model/chart/ChartAggregation.d.ts +41 -0
  42. package/dist/page-editor-api/parser/model/chart/ChartAggregation.js +94 -0
  43. package/dist/page-editor-api/parser/model/chart/index.d.ts +2 -0
  44. package/dist/page-editor-api/parser/model/chart/index.js +18 -0
  45. package/dist/page-editor-api/parser/model/fields/ConnectedFieldsAggregation.d.ts +9 -0
  46. package/dist/page-editor-api/parser/model/fields/ConnectedFieldsAggregation.js +13 -0
  47. package/dist/page-editor-api/parser/model/fields/FieldAggregation.d.ts +25 -0
  48. package/dist/page-editor-api/parser/model/fields/FieldAggregation.js +42 -0
  49. package/dist/page-editor-api/parser/model/fields/FieldsAggregation.d.ts +22 -0
  50. package/dist/page-editor-api/parser/model/fields/FieldsAggregation.js +34 -0
  51. package/dist/page-editor-api/parser/model/fields/index.d.ts +4 -0
  52. package/dist/page-editor-api/parser/model/fields/index.js +20 -0
  53. package/dist/page-editor-api/parser/model/filter-fields/FilterFieldAggregation.d.ts +39 -0
  54. package/dist/page-editor-api/parser/model/filter-fields/FilterFieldAggregation.js +94 -0
  55. package/dist/page-editor-api/parser/model/filter-fields/FilterFieldsAggregation.d.ts +36 -0
  56. package/dist/page-editor-api/parser/model/filter-fields/FilterFieldsAggregation.js +59 -0
  57. package/dist/page-editor-api/parser/model/filter-fields/index.d.ts +3 -0
  58. package/dist/page-editor-api/parser/model/filter-fields/index.js +19 -0
  59. package/dist/page-editor-api/parser/model/index.d.ts +19 -0
  60. package/dist/page-editor-api/parser/model/index.js +35 -0
  61. package/dist/page-editor-api/parser/model/macros/MacrosRoot.d.ts +48 -0
  62. package/dist/page-editor-api/parser/model/macros/MacrosRoot.js +114 -0
  63. package/dist/page-editor-api/parser/model/macros/index.d.ts +2 -0
  64. package/dist/page-editor-api/parser/model/macros/index.js +18 -0
  65. package/dist/page-editor-api/parser/model/sections/HeaderSectionsAggregation.d.ts +31 -0
  66. package/dist/page-editor-api/parser/model/sections/HeaderSectionsAggregation.js +82 -0
  67. package/dist/page-editor-api/parser/model/sections/SectionAggregation.d.ts +78 -0
  68. package/dist/page-editor-api/parser/model/sections/SectionAggregation.js +131 -0
  69. package/dist/page-editor-api/parser/model/sections/SectionsAggregation.d.ts +135 -0
  70. package/dist/page-editor-api/parser/model/sections/SectionsAggregation.js +402 -0
  71. package/dist/page-editor-api/parser/model/sections/SectionsObjectAggregation.d.ts +50 -0
  72. package/dist/page-editor-api/parser/model/sections/SectionsObjectAggregation.js +119 -0
  73. package/dist/page-editor-api/parser/model/sections/SubSectionsAggregation.d.ts +39 -0
  74. package/dist/page-editor-api/parser/model/sections/SubSectionsAggregation.js +70 -0
  75. package/dist/page-editor-api/parser/model/sections/index.d.ts +6 -0
  76. package/dist/page-editor-api/parser/model/sections/index.js +22 -0
  77. package/dist/page-editor-api/parser/model/table/ColumnAggregation.d.ts +89 -0
  78. package/dist/page-editor-api/parser/model/table/ColumnAggregation.js +175 -0
  79. package/dist/page-editor-api/parser/model/table/ColumnsAggregation.d.ts +113 -0
  80. package/dist/page-editor-api/parser/model/table/ColumnsAggregation.js +293 -0
  81. package/dist/page-editor-api/parser/model/table/TableAggregation.d.ts +13 -0
  82. package/dist/page-editor-api/parser/model/table/TableAggregation.js +21 -0
  83. package/dist/page-editor-api/parser/model/table/ToolbarAggregation.d.ts +15 -0
  84. package/dist/page-editor-api/parser/model/table/ToolbarAggregation.js +22 -0
  85. package/dist/page-editor-api/parser/model/table/index.d.ts +5 -0
  86. package/dist/page-editor-api/parser/model/table/index.js +21 -0
  87. package/dist/page-editor-api/parser/model/table/utils.d.ts +12 -0
  88. package/dist/page-editor-api/parser/model/table/utils.js +44 -0
  89. package/dist/page-editor-api/parser/model/types/annotations.d.ts +63 -0
  90. package/dist/page-editor-api/parser/model/types/annotations.js +29 -0
  91. package/dist/page-editor-api/parser/model/types/common.d.ts +13 -0
  92. package/dist/page-editor-api/parser/model/types/common.js +3 -0
  93. package/dist/page-editor-api/parser/model/types/index.d.ts +220 -0
  94. package/dist/page-editor-api/parser/model/types/index.js +149 -0
  95. package/dist/page-editor-api/parser/model/utils/annotations.d.ts +38 -0
  96. package/dist/page-editor-api/parser/model/utils/annotations.js +120 -0
  97. package/dist/page-editor-api/parser/model/utils/i18n.d.ts +33 -0
  98. package/dist/page-editor-api/parser/model/utils/i18n.js +69 -0
  99. package/dist/page-editor-api/parser/model/utils/index.d.ts +6 -0
  100. package/dist/page-editor-api/parser/model/utils/index.js +22 -0
  101. package/dist/page-editor-api/parser/model/utils/object.d.ts +25 -0
  102. package/dist/page-editor-api/parser/model/utils/object.js +68 -0
  103. package/dist/page-editor-api/parser/model/utils/sort.d.ts +31 -0
  104. package/dist/page-editor-api/parser/model/utils/sort.js +18 -0
  105. package/dist/page-editor-api/parser/model/utils/utils.d.ts +94 -0
  106. package/dist/page-editor-api/parser/model/utils/utils.js +267 -0
  107. package/dist/page-editor-api/parser/model/views/ViewAggregation.d.ts +62 -0
  108. package/dist/page-editor-api/parser/model/views/ViewAggregation.js +112 -0
  109. package/dist/page-editor-api/parser/model/views/ViewsAggregation.d.ts +54 -0
  110. package/dist/page-editor-api/parser/model/views/ViewsAggregation.js +141 -0
  111. package/dist/page-editor-api/parser/model/views/index.d.ts +3 -0
  112. package/dist/page-editor-api/parser/model/views/index.js +19 -0
  113. package/dist/page-editor-api/parser/model/visual-filters/VisualFilterAggregation.d.ts +11 -0
  114. package/dist/page-editor-api/parser/model/visual-filters/VisualFilterAggregation.js +15 -0
  115. package/dist/page-editor-api/parser/model/visual-filters/VisualFiltersAggregation.d.ts +11 -0
  116. package/dist/page-editor-api/parser/model/visual-filters/VisualFiltersAggregation.js +15 -0
  117. package/dist/page-editor-api/parser/model/visual-filters/index.d.ts +3 -0
  118. package/dist/page-editor-api/parser/model/visual-filters/index.js +19 -0
  119. package/dist/page-editor-api/parser/tree.d.ts +135 -0
  120. package/dist/page-editor-api/parser/tree.js +464 -0
  121. package/dist/page-editor-api/project.d.ts +40 -0
  122. package/dist/page-editor-api/project.js +124 -0
  123. package/dist/page-editor-api/sapuxFtfsFileIO.d.ts +84 -0
  124. package/dist/page-editor-api/sapuxFtfsFileIO.js +195 -0
  125. package/dist/server.d.ts +35 -0
  126. package/dist/server.js +120 -0
  127. package/dist/tools/execute-functionality.d.ts +19 -0
  128. package/dist/tools/execute-functionality.js +175 -0
  129. package/dist/tools/functionalities/controller-extension/index.d.ts +4 -0
  130. package/dist/tools/functionalities/controller-extension/index.js +136 -0
  131. package/dist/tools/functionalities/functionalities.d.ts +4 -0
  132. package/dist/tools/functionalities/functionalities.js +19 -0
  133. package/dist/tools/functionalities/generate-fiori-ui-app/command.d.ts +9 -0
  134. package/dist/tools/functionalities/generate-fiori-ui-app/command.js +158 -0
  135. package/dist/tools/functionalities/generate-fiori-ui-app/generate-fiori-ui-app.d.ts +4 -0
  136. package/dist/tools/functionalities/generate-fiori-ui-app/generate-fiori-ui-app.js +240 -0
  137. package/dist/tools/functionalities/generate-fiori-ui-app/index.d.ts +2 -0
  138. package/dist/tools/functionalities/generate-fiori-ui-app/index.js +7 -0
  139. package/dist/tools/functionalities/index.d.ts +2 -0
  140. package/dist/tools/functionalities/index.js +18 -0
  141. package/dist/tools/functionalities/page/add-page.d.ts +5 -0
  142. package/dist/tools/functionalities/page/add-page.js +89 -0
  143. package/dist/tools/functionalities/page/application.d.ts +212 -0
  144. package/dist/tools/functionalities/page/application.js +616 -0
  145. package/dist/tools/functionalities/page/delete-page.d.ts +4 -0
  146. package/dist/tools/functionalities/page/delete-page.js +71 -0
  147. package/dist/tools/functionalities/page/index.d.ts +3 -0
  148. package/dist/tools/functionalities/page/index.js +10 -0
  149. package/dist/tools/functionalities/page/service.d.ts +82 -0
  150. package/dist/tools/functionalities/page/service.js +114 -0
  151. package/dist/tools/functionalities/page/serviceStore.d.ts +17 -0
  152. package/dist/tools/functionalities/page/serviceStore.js +34 -0
  153. package/dist/tools/functionalities/page/types.d.ts +42 -0
  154. package/dist/tools/functionalities/page/types.js +11 -0
  155. package/dist/tools/functionalities/page/utils.d.ts +12 -0
  156. package/dist/tools/functionalities/page/utils.js +63 -0
  157. package/dist/tools/get-functionality-details.d.ts +24 -0
  158. package/dist/tools/get-functionality-details.js +142 -0
  159. package/dist/tools/index.d.ts +7 -0
  160. package/dist/tools/index.js +55 -0
  161. package/dist/tools/input-schema/execute-functionality.json +28 -0
  162. package/dist/tools/input-schema/get-functionality-details.json +24 -0
  163. package/dist/tools/input-schema/index.d.ts +5 -0
  164. package/dist/tools/input-schema/index.js +15 -0
  165. package/dist/tools/input-schema/list-fiori-apps.json +12 -0
  166. package/dist/tools/input-schema/list-functionality.json +10 -0
  167. package/dist/tools/list-fiori-apps.d.ts +10 -0
  168. package/dist/tools/list-fiori-apps.js +33 -0
  169. package/dist/tools/list-functionalities.d.ts +10 -0
  170. package/dist/tools/list-functionalities.js +145 -0
  171. package/dist/tools/output-schema/execute-functionality.json +39 -0
  172. package/dist/tools/output-schema/get-functionality-details.json +142 -0
  173. package/dist/tools/output-schema/index.d.ts +5 -0
  174. package/dist/tools/output-schema/index.js +15 -0
  175. package/dist/tools/output-schema/list-fiori-apps.json +41 -0
  176. package/dist/tools/output-schema/list-functionality.json +37 -0
  177. package/dist/tools/utils.d.ts +16 -0
  178. package/dist/tools/utils.js +74 -0
  179. package/dist/types.d.ts +170 -0
  180. package/dist/types.js +3 -0
  181. package/package.json +63 -0
@@ -0,0 +1,374 @@
1
+ import type { PageData, CreationFormOptions, AggregationCreationForm, PendingChange, SupportedAggregationActions, ModelParserParams, AllowedDropAggregation, PropertyPath, PageAnnotations, PropertyMessage, Location, UINode, AllowedMoveRange } from './types';
2
+ import { AggregationActions, AggregationType, AggregationSortBy, SortingOptions, ValidationState } from './types';
3
+ import type { JSONSchema4 } from 'json-schema';
4
+ import { PageEditProperty, type PageProperties } from './PageEditProperty';
5
+ import type { I18nBundle } from '@sap-ux/i18n';
6
+ import type { ArtifactType, PageConfig, PageType } from '@sap/ux-specification/dist/types/src';
7
+ export interface PageAggregations {
8
+ [key: string]: ObjectAggregation;
9
+ }
10
+ export interface PageEditAggregationData {
11
+ aggregations: PageAggregations;
12
+ properties: PageProperties;
13
+ additionalProperties?: ObjectAggregation;
14
+ propertiesVariants?: Array<PageProperties>;
15
+ }
16
+ export interface AggregationVariant {
17
+ properties: PageProperties;
18
+ aggregations: PageAggregations;
19
+ }
20
+ export type SpecificationKey = {
21
+ name: string;
22
+ value: string;
23
+ };
24
+ export type SpecificationKeysTag = Array<SpecificationKey>;
25
+ interface AggregationUnion {
26
+ name: string;
27
+ originalNames: string[];
28
+ }
29
+ export declare const CUSTOM_EXTENSION_ANCHOR_PROPERTIES: string[];
30
+ /**
31
+ * Represents an aggregation for objects.
32
+ */
33
+ export declare class ObjectAggregation {
34
+ path: PropertyPath;
35
+ aggregations: PageAggregations;
36
+ properties: PageProperties;
37
+ additionalProperties?: ObjectAggregation;
38
+ variants: Array<AggregationVariant>;
39
+ childClass?: typeof ObjectAggregation;
40
+ additionalText?: string;
41
+ locations?: Location[];
42
+ actions?: SupportedAggregationActions;
43
+ inactive?: boolean;
44
+ schema?: JSONSchema4;
45
+ annotationCreationForms: CreationFormOptions[];
46
+ allowedAnnotationCreationForms?: AggregationCreationForm[];
47
+ schemaCreationForms: CreationFormOptions[];
48
+ formSchema?: ObjectAggregation;
49
+ sortableList?: boolean;
50
+ sortableItem?: SortingOptions;
51
+ sortableReadonlyTooltip?: string;
52
+ sortableConfigOnly?: boolean;
53
+ order?: number;
54
+ description?: string;
55
+ i18nKey?: string;
56
+ state?: ValidationState;
57
+ messages?: PropertyMessage[];
58
+ value: unknown;
59
+ readonly type: AggregationType;
60
+ readonly parent?: ObjectAggregation;
61
+ custom: boolean;
62
+ isViewNode?: boolean;
63
+ isTable: boolean;
64
+ pattern?: string;
65
+ name?: string;
66
+ union?: AggregationUnion;
67
+ sortableCollection?: string;
68
+ annotationNodeId?: number[];
69
+ dropUINodes?: Record<string, boolean>;
70
+ pending?: PendingChange;
71
+ hidden?: boolean;
72
+ artifactType?: ArtifactType;
73
+ virtual?: boolean;
74
+ icon?: string;
75
+ isAtomic?: boolean;
76
+ /**
77
+ * Creates an instance of `ObjectAggregation`.
78
+ *
79
+ * @param data Optional aggregation data object used to initialize properties.
80
+ * @param schema Optional JSON schema fragment associated with this aggregation.
81
+ */
82
+ constructor(data?: PageEditAggregationData, schema?: JSONSchema4);
83
+ /**
84
+ * Method adds aggregation object.
85
+ *
86
+ * @param name Name of aggregation.
87
+ * @param aggregation Aggregation to add.
88
+ * @param path Array of path to aggregation.
89
+ * @param order Order index.
90
+ * @param overwrite Overwrite existing aggregation.
91
+ * @returns Added aggregation.
92
+ */
93
+ addAggregation(name: string, aggregation: ObjectAggregation, path: PropertyPath, order?: number, overwrite?: boolean): ObjectAggregation;
94
+ /**
95
+ * Method adds property object.
96
+ *
97
+ * @param name Name of property.
98
+ * @param schema Schema object of property.
99
+ * @returns Instance of new property.
100
+ */
101
+ addProperty(name: string, schema: JSONSchema4): PageEditProperty;
102
+ /**
103
+ * Public method returns display name of aggregation.
104
+ * Is used as display name in outline.
105
+ *
106
+ * @param i18nBundle I18n translation entries which should be looked up if display value persists.
107
+ * @returns Display name of aggregation with applied i18n.
108
+ */
109
+ getDisplayName(i18nBundle?: I18nBundle): string;
110
+ /**
111
+ * Retrieves the supported aggregation actions for this instance.
112
+ *
113
+ * @returns A list of supported aggregation actions.
114
+ */
115
+ getSupportedActions(): SupportedAggregationActions;
116
+ /**
117
+ * Public method that returns keys from schema for an aggregation object.
118
+ *
119
+ * @returns Array of keys.
120
+ */
121
+ getKeys(): SpecificationKeysTag | undefined;
122
+ /**
123
+ * Method returns value of passed schema key.
124
+ *
125
+ * @param name Name to search.
126
+ * @returns Value for passed key's name.
127
+ */
128
+ getValueOfSchemaKey(name: string): string | undefined;
129
+ /**
130
+ * Public method that returns technical name for an aggregation object.
131
+ * Currently it is used to display in tooltip.
132
+ *
133
+ * @returns technical name.
134
+ */
135
+ getTechnicalName(): string | undefined;
136
+ /**
137
+ * Protected method returns display name of aggregation without applying i18n translation.
138
+ *
139
+ * @returns Display name of aggregation.
140
+ */
141
+ protected getRawDisplayName(): string;
142
+ /**
143
+ * Method formats text for display.
144
+ * Trim is used to avoid whitespaces.
145
+ *
146
+ * @param text Text to format.
147
+ * @returns Formatted text.
148
+ */
149
+ private formatTextForDisplay;
150
+ /**
151
+ * Method updates value of aggregatipn properties and child aggregations.
152
+ *
153
+ * @param data Data which should be used for value population.
154
+ */
155
+ private updateValues;
156
+ /**
157
+ * Public method which recursively updates aggregation's properties with values from passed data object.
158
+ *
159
+ * @param data Data which should be used for value population.
160
+ * @param page Page config data.
161
+ * @param pageType Page type.
162
+ * @param path Aggregation path.
163
+ * @param annotations Page annotations.
164
+ * @param parser Model parser parameters.
165
+ */
166
+ updatePropertiesValues(data: PageData | undefined, page: PageConfig, pageType: PageType, path: PropertyPath, annotations?: PageAnnotations, parser?: ModelParserParams<ObjectAggregation>): void;
167
+ /**
168
+ * Method which called when properties and aggregation data was applied and updated.
169
+ */
170
+ protected onPropertiesUpdated(): void;
171
+ /**
172
+ * Refreshes internal data based on annotation node data.
173
+ *
174
+ * @param annotations
175
+ */
176
+ /**
177
+ * Refreshes internal data based on latest annotation node data.
178
+ *
179
+ * @param annotations
180
+ */
181
+ updateAnnotationData(annotations: PageAnnotations | undefined): void;
182
+ /**
183
+ * Method checks if annotation contains allowedSubnodeTypes
184
+ * and sets disabled param for add action button.
185
+ *
186
+ * @param annotations Page annotations.
187
+ * @param uiNode Annotation node.
188
+ */
189
+ private setAllowedParents;
190
+ /**
191
+ * Refreshes node locations based on the annotation node data.
192
+ *
193
+ * @param annotations All page annotation nodes.
194
+ * @param currentUINode Current annotation node.
195
+ */
196
+ protected updateLocations(annotations: PageAnnotations | undefined, currentUINode?: UINode): void;
197
+ /**
198
+ * Method provides creation options based on its related annotation node.
199
+ *
200
+ * @param annotations Page annotations.
201
+ * @returns Array of creation forms.
202
+ */
203
+ protected getNativeNodeCreationForms(annotations: PageAnnotations | undefined): CreationFormOptions[];
204
+ /**
205
+ * Method provides default creation options, when no matching annotation node exists.
206
+ *
207
+ * @param annotations Page annotations.
208
+ * @returns Array of creation forms.
209
+ */
210
+ getDefaultNativeCreationForms(annotations: PageAnnotations): CreationFormOptions[];
211
+ /**
212
+ * Method recursively searches for parent with 'annotationNodeId' and returns 'annotationNodeId' as current context.
213
+ *
214
+ * @returns Annotation node id.
215
+ */
216
+ getParentAnnotationNodeId(): number[] | undefined;
217
+ /**
218
+ * Method get valid object of properties.
219
+ * There can be case when aggregation can have several variants of property combination - we are returning currently valid, depending on entered values.
220
+ *
221
+ * @returns Object of properties.
222
+ */
223
+ getProperties(): PageProperties;
224
+ /**
225
+ * Method returns copy of ObjectAggregation object.
226
+ *
227
+ * @param type Type of aggregation.
228
+ * @returns Copy of ObjectAggregation.
229
+ */
230
+ getCopy(type?: typeof ObjectAggregation): ObjectAggregation;
231
+ /**
232
+ * Recursive method to use for copying aggregations objects.
233
+ *
234
+ * @param aggregation Original aggregation for copy.
235
+ * @param type Type of aggregation.
236
+ */
237
+ private createAggregations;
238
+ /**
239
+ * Method sorts aggregation by 'order' property.
240
+ *
241
+ * @param name1 Aggregation name.
242
+ * @param name2 Aggregation name.
243
+ * @returns Sort result.
244
+ */
245
+ private aggregationOrderSorter;
246
+ /**
247
+ * Method returns array of ordered aggregation keys/names.
248
+ *
249
+ * @param viewNodesOnly Return only aggregations for view.
250
+ * @param sortBy Sorting type. Currently aggregations can be sorted by 'ViewNode' to move visible nodes to top.
251
+ * @returns Array of aggregations keys/names.
252
+ */
253
+ getAggregationKeys(viewNodesOnly?: boolean, sortBy?: AggregationSortBy): Array<string>;
254
+ /**
255
+ * Aggregation key sorter by view node.
256
+ * Sorter also sorts by aggregation key in scope of save view node group.
257
+ *
258
+ * @param key1 First aggregation key.
259
+ * @param key2 Second aggregation key.
260
+ * @returns Sorter result.
261
+ */
262
+ private getViewNodeSorter;
263
+ /**
264
+ * Method updates path recursively.
265
+ *
266
+ * @param aggregation Aggregation to update.
267
+ * @param path Current path.
268
+ */
269
+ private updatePath;
270
+ /**
271
+ * Set method to store path of aggregation.
272
+ *
273
+ * @param path Path array.
274
+ */
275
+ protected setPath(path: PropertyPath): void;
276
+ /**
277
+ * Method returns maximal order by looping through all properties.
278
+ *
279
+ * @returns Maximal property order index.
280
+ */
281
+ getMaxOrder(): number;
282
+ /**
283
+ * Traverses up the parent hierarchy to find the first matching parent of the specified aggregation type.
284
+ *
285
+ * @param matchType The constructor of the aggregation type to match against.
286
+ * @returns The first matching parent if found.
287
+ */
288
+ findMatchingParent(matchType?: typeof ObjectAggregation): ObjectAggregation | undefined;
289
+ /**
290
+ * Method enables union handling by adding setting union name and passing original name of aggregation.
291
+ *
292
+ * @param name Union name for aggregation.
293
+ * @param originalName Original name of aggregation.
294
+ */
295
+ addUnionName(name: string, originalName: string): void;
296
+ /**
297
+ * Protected method which returns name with additional formatting if it is unnecessary.
298
+ * Default logic does not apply any additional formatting, but it allows to overwrite such method and provide additional logic specific to each aggregation.
299
+ *
300
+ * @returns Name of aggregation.
301
+ */
302
+ protected getFormattedName(): string | undefined;
303
+ /**
304
+ * Method returns associated annotation UI Node for aggregation.
305
+ *
306
+ * @param annotations Annotations data.
307
+ * @returns Associated annotation UI Node.
308
+ */
309
+ private getCurrentUINode;
310
+ /**
311
+ * Method handles readonly annotation node by disabling actions and DnD.
312
+ *
313
+ * @param readonlyTooltip Tooltip text for readonly mode.
314
+ */
315
+ protected applyReadonlyAnnotationNode(readonlyTooltip?: string): void;
316
+ /**
317
+ * Method removes passed action from visible actions.
318
+ *
319
+ * @param action Action to remove.
320
+ */
321
+ protected removeAction(action: AggregationActions): void;
322
+ /**
323
+ * Method to stringify node id to string to match 'allowedParents' properties format.
324
+ *
325
+ * @param annotationNodeId - Annotation node id.
326
+ * @returns Formatted node id.
327
+ */
328
+ private nodeIdToString;
329
+ /**
330
+ * Method to find all droppable collections inside aggregation by passed collection name.
331
+ *
332
+ * @param aggregation Current aggregation to check.
333
+ * @param collectionName Collection name to check.
334
+ * @returns Found droppable collections.
335
+ */
336
+ private findDropableCollectionsByCollection;
337
+ /**
338
+ * Method returns allowed drop ranges for passed source aggregation.
339
+ *
340
+ * @param source Source aggregation.
341
+ * @returns Allowed drop ranges for passed source aggregation.
342
+ */
343
+ getAllowedDropRange(source: ObjectAggregation): AllowedMoveRange[] | undefined;
344
+ /**
345
+ * Method to find allowed drop parents for aggregation.
346
+ *
347
+ * @param source Source aggregation.
348
+ * @param aggregation Aggregation to search in.
349
+ * @returns Found allowed drop parents.
350
+ */
351
+ findAllowedDropAggregations(source: ObjectAggregation, aggregation?: ObjectAggregation): AllowedDropAggregation[];
352
+ /**
353
+ * Method returns whether aggregation node has macros metadata.
354
+ *
355
+ * @returns Whether aggregation node is macros node.
356
+ */
357
+ isMacrosNode(): boolean;
358
+ /**
359
+ * Method converts property to aggregation.
360
+ *
361
+ * @param key Property key/index in object.
362
+ * @param path Aggregation path.
363
+ */
364
+ private convertAtomicPropertyToAggregation;
365
+ /**
366
+ * Method handles atomic aggregation by converting properties to aggregation.
367
+ *
368
+ * @param data Aggregation source data.
369
+ * @param path Aggregation path.
370
+ */
371
+ private handleAtomicObject;
372
+ }
373
+ export {};
374
+ //# sourceMappingURL=ObjectAggregation.d.ts.map