@sapui5/sap.fe.core 1.135.0 → 1.136.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 (217) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/ActionRuntime.js +3 -2
  4. package/src/sap/fe/core/ActionRuntime.ts +3 -1
  5. package/src/sap/fe/core/AppComponent.js +6 -4
  6. package/src/sap/fe/core/AppComponent.ts +3 -1
  7. package/src/sap/fe/core/AppStateHandler.js +8 -6
  8. package/src/sap/fe/core/AppStateHandler.ts +7 -5
  9. package/src/sap/fe/core/CommonUtils.js +4 -1
  10. package/src/sap/fe/core/CommonUtils.ts +12 -2
  11. package/src/sap/fe/core/ExtensionAPI.js +5 -3
  12. package/src/sap/fe/core/ExtensionAPI.ts +4 -2
  13. package/src/sap/fe/core/PageController.js +13 -1
  14. package/src/sap/fe/core/PageController.ts +13 -0
  15. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +13 -5
  16. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +19 -6
  17. package/src/sap/fe/core/controllerextensions/BaseControllerExtension.js +4 -2
  18. package/src/sap/fe/core/controllerextensions/BaseControllerExtension.ts +3 -1
  19. package/src/sap/fe/core/controllerextensions/EditFlow.js +58 -14
  20. package/src/sap/fe/core/controllerextensions/EditFlow.ts +71 -11
  21. package/src/sap/fe/core/controllerextensions/InlineEditFlow.js +184 -17
  22. package/src/sap/fe/core/controllerextensions/InlineEditFlow.ts +204 -12
  23. package/src/sap/fe/core/controllerextensions/InternalRouting.js +12 -3
  24. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +11 -1
  25. package/src/sap/fe/core/controllerextensions/MessageHandler.js +35 -5
  26. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +41 -1
  27. package/src/sap/fe/core/controllerextensions/Routing.js +6 -6
  28. package/src/sap/fe/core/controllerextensions/Routing.ts +2 -2
  29. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +3 -11
  30. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +2 -10
  31. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +11 -1
  32. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +12 -0
  33. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +21 -6
  34. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +19 -5
  35. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +17 -14
  36. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +19 -17
  37. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +2 -2
  38. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +4 -1
  39. package/src/sap/fe/core/controllerextensions/editFlow/operations/ODataOperation.js +10 -2
  40. package/src/sap/fe/core/controllerextensions/editFlow/operations/ODataOperation.ts +8 -2
  41. package/src/sap/fe/core/controllerextensions/editFlow/operations/ODataStrictHandling.js +2 -2
  42. package/src/sap/fe/core/controllerextensions/editFlow/operations/ODataStrictHandling.ts +1 -1
  43. package/src/sap/fe/core/controllerextensions/editFlow/operations/Operation.js +1 -1
  44. package/src/sap/fe/core/controllerextensions/editFlow/operations/Operation.ts +33 -31
  45. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +2 -2
  46. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +3 -3
  47. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +4 -1
  48. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +2 -1
  49. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.js +2 -2
  50. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.tsx +8 -1
  51. package/src/sap/fe/core/controls/HideFormGroupAutomatically.js +4 -3
  52. package/src/sap/fe/core/controls/HideFormGroupAutomatically.ts +7 -2
  53. package/src/sap/fe/core/controls/inlineEditFlow/BeforeActionDialog.js +68 -0
  54. package/src/sap/fe/core/controls/inlineEditFlow/BeforeActionDialog.tsx +52 -0
  55. package/src/sap/fe/core/controls/inlineEditFlow/BeforeNavigationDialog.js +144 -0
  56. package/src/sap/fe/core/controls/inlineEditFlow/BeforeNavigationDialog.tsx +128 -0
  57. package/src/sap/fe/core/controls/inlineEditFlow/DraftExistsDialog.js +53 -0
  58. package/src/sap/fe/core/controls/inlineEditFlow/DraftExistsDialog.tsx +39 -0
  59. package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  60. package/src/sap/fe/core/converters/ManifestSettings.ts +18 -8
  61. package/src/sap/fe/core/converters/controls/Common/Action.js +54 -5
  62. package/src/sap/fe/core/converters/controls/Common/Action.ts +59 -3
  63. package/src/sap/fe/core/converters/controls/Common/Chart.js +22 -4
  64. package/src/sap/fe/core/converters/controls/Common/Chart.ts +23 -4
  65. package/src/sap/fe/core/converters/controls/Common/Form.js +13 -4
  66. package/src/sap/fe/core/converters/controls/Common/Form.ts +13 -3
  67. package/src/sap/fe/core/converters/controls/Common/Table.js +29 -9
  68. package/src/sap/fe/core/converters/controls/Common/Table.ts +38 -8
  69. package/src/sap/fe/core/converters/controls/Common/table/Columns.js +14 -16
  70. package/src/sap/fe/core/converters/controls/Common/table/Columns.ts +61 -96
  71. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +62 -13
  72. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +75 -13
  73. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +4 -33
  74. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +4 -44
  75. package/src/sap/fe/core/converters/controls/ListReport/FilterField.js +106 -0
  76. package/src/sap/fe/core/converters/controls/ListReport/FilterField.ts +129 -0
  77. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +9 -4
  78. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +8 -3
  79. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +7 -2
  80. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +5 -1
  81. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +29 -7
  82. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +40 -16
  83. package/src/sap/fe/core/designtime/AnnotationBasedChanges.js +34 -16
  84. package/src/sap/fe/core/designtime/AnnotationBasedChanges.ts +35 -16
  85. package/src/sap/fe/core/designtime/messagebundle_ar.properties +7 -0
  86. package/src/sap/fe/core/designtime/messagebundle_bg.properties +7 -0
  87. package/src/sap/fe/core/designtime/messagebundle_ca.properties +7 -0
  88. package/src/sap/fe/core/designtime/messagebundle_cnr.properties +7 -0
  89. package/src/sap/fe/core/designtime/messagebundle_cs.properties +7 -0
  90. package/src/sap/fe/core/designtime/messagebundle_cy.properties +7 -0
  91. package/src/sap/fe/core/designtime/messagebundle_da.properties +7 -0
  92. package/src/sap/fe/core/designtime/messagebundle_de.properties +7 -0
  93. package/src/sap/fe/core/designtime/messagebundle_el.properties +7 -0
  94. package/src/sap/fe/core/designtime/messagebundle_en.properties +7 -0
  95. package/src/sap/fe/core/designtime/messagebundle_en_GB.properties +7 -0
  96. package/src/sap/fe/core/designtime/messagebundle_es.properties +7 -0
  97. package/src/sap/fe/core/designtime/messagebundle_es_MX.properties +7 -0
  98. package/src/sap/fe/core/designtime/messagebundle_et.properties +7 -0
  99. package/src/sap/fe/core/designtime/messagebundle_fi.properties +7 -0
  100. package/src/sap/fe/core/designtime/messagebundle_fr.properties +7 -0
  101. package/src/sap/fe/core/designtime/messagebundle_fr_CA.properties +7 -0
  102. package/src/sap/fe/core/designtime/messagebundle_hi.properties +7 -0
  103. package/src/sap/fe/core/designtime/messagebundle_hr.properties +7 -0
  104. package/src/sap/fe/core/designtime/messagebundle_hu.properties +7 -0
  105. package/src/sap/fe/core/designtime/messagebundle_id.properties +7 -0
  106. package/src/sap/fe/core/designtime/messagebundle_it.properties +7 -0
  107. package/src/sap/fe/core/designtime/messagebundle_iw.properties +7 -0
  108. package/src/sap/fe/core/designtime/messagebundle_ja.properties +7 -0
  109. package/src/sap/fe/core/designtime/messagebundle_kk.properties +7 -0
  110. package/src/sap/fe/core/designtime/messagebundle_ko.properties +7 -0
  111. package/src/sap/fe/core/designtime/messagebundle_lt.properties +7 -0
  112. package/src/sap/fe/core/designtime/messagebundle_lv.properties +7 -0
  113. package/src/sap/fe/core/designtime/messagebundle_mk.properties +7 -0
  114. package/src/sap/fe/core/designtime/messagebundle_ms.properties +7 -0
  115. package/src/sap/fe/core/designtime/messagebundle_nl.properties +7 -0
  116. package/src/sap/fe/core/designtime/messagebundle_no.properties +7 -0
  117. package/src/sap/fe/core/designtime/messagebundle_pl.properties +7 -0
  118. package/src/sap/fe/core/designtime/messagebundle_pt.properties +7 -0
  119. package/src/sap/fe/core/designtime/messagebundle_pt_PT.properties +7 -0
  120. package/src/sap/fe/core/designtime/messagebundle_ro.properties +7 -0
  121. package/src/sap/fe/core/designtime/messagebundle_ru.properties +7 -0
  122. package/src/sap/fe/core/designtime/messagebundle_sh.properties +7 -0
  123. package/src/sap/fe/core/designtime/messagebundle_sk.properties +7 -0
  124. package/src/sap/fe/core/designtime/messagebundle_sl.properties +7 -0
  125. package/src/sap/fe/core/designtime/messagebundle_sr.properties +7 -0
  126. package/src/sap/fe/core/designtime/messagebundle_sv.properties +7 -0
  127. package/src/sap/fe/core/designtime/messagebundle_th.properties +7 -0
  128. package/src/sap/fe/core/designtime/messagebundle_tr.properties +7 -0
  129. package/src/sap/fe/core/designtime/messagebundle_uk.properties +7 -0
  130. package/src/sap/fe/core/designtime/messagebundle_vi.properties +7 -0
  131. package/src/sap/fe/core/designtime/messagebundle_zh_CN.properties +7 -0
  132. package/src/sap/fe/core/designtime/messagebundle_zh_TW.properties +7 -0
  133. package/src/sap/fe/core/fpm/manifest.json +1 -1
  134. package/src/sap/fe/core/helpers/AppStartupHelper.js +24 -3
  135. package/src/sap/fe/core/helpers/AppStartupHelper.ts +28 -2
  136. package/src/sap/fe/core/helpers/BindingHelper.js +3 -2
  137. package/src/sap/fe/core/helpers/BindingHelper.ts +2 -1
  138. package/src/sap/fe/core/helpers/DeleteHelper.js +4 -9
  139. package/src/sap/fe/core/helpers/DeleteHelper.ts +3 -8
  140. package/src/sap/fe/core/helpers/ModelHelper.js +14 -4
  141. package/src/sap/fe/core/helpers/ModelHelper.ts +15 -4
  142. package/src/sap/fe/core/helpers/PasteHelper.js +38 -39
  143. package/src/sap/fe/core/helpers/PasteHelper.ts +49 -51
  144. package/src/sap/fe/core/helpers/WebSocket.js +10 -1
  145. package/src/sap/fe/core/helpers/WebSocket.ts +8 -0
  146. package/src/sap/fe/core/library.js +1 -1
  147. package/src/sap/fe/core/messagebundle.properties +41 -2
  148. package/src/sap/fe/core/messagebundle_ar.properties +23 -2
  149. package/src/sap/fe/core/messagebundle_bg.properties +23 -2
  150. package/src/sap/fe/core/messagebundle_ca.properties +21 -0
  151. package/src/sap/fe/core/messagebundle_cnr.properties +23 -2
  152. package/src/sap/fe/core/messagebundle_cs.properties +21 -0
  153. package/src/sap/fe/core/messagebundle_cy.properties +21 -0
  154. package/src/sap/fe/core/messagebundle_da.properties +23 -2
  155. package/src/sap/fe/core/messagebundle_de.properties +23 -2
  156. package/src/sap/fe/core/messagebundle_el.properties +21 -0
  157. package/src/sap/fe/core/messagebundle_en.properties +23 -2
  158. package/src/sap/fe/core/messagebundle_en_GB.properties +23 -2
  159. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +23 -2
  160. package/src/sap/fe/core/messagebundle_es.properties +21 -0
  161. package/src/sap/fe/core/messagebundle_es_MX.properties +21 -0
  162. package/src/sap/fe/core/messagebundle_et.properties +21 -0
  163. package/src/sap/fe/core/messagebundle_fi.properties +21 -0
  164. package/src/sap/fe/core/messagebundle_fr.properties +22 -1
  165. package/src/sap/fe/core/messagebundle_fr_CA.properties +21 -0
  166. package/src/sap/fe/core/messagebundle_hi.properties +22 -1
  167. package/src/sap/fe/core/messagebundle_hr.properties +24 -3
  168. package/src/sap/fe/core/messagebundle_hu.properties +21 -0
  169. package/src/sap/fe/core/messagebundle_id.properties +21 -0
  170. package/src/sap/fe/core/messagebundle_it.properties +23 -2
  171. package/src/sap/fe/core/messagebundle_iw.properties +21 -0
  172. package/src/sap/fe/core/messagebundle_ja.properties +21 -0
  173. package/src/sap/fe/core/messagebundle_kk.properties +21 -0
  174. package/src/sap/fe/core/messagebundle_ko.properties +21 -0
  175. package/src/sap/fe/core/messagebundle_lt.properties +21 -0
  176. package/src/sap/fe/core/messagebundle_lv.properties +23 -2
  177. package/src/sap/fe/core/messagebundle_mk.properties +21 -0
  178. package/src/sap/fe/core/messagebundle_ms.properties +22 -1
  179. package/src/sap/fe/core/messagebundle_nl.properties +21 -0
  180. package/src/sap/fe/core/messagebundle_no.properties +21 -0
  181. package/src/sap/fe/core/messagebundle_pl.properties +23 -2
  182. package/src/sap/fe/core/messagebundle_pt.properties +23 -2
  183. package/src/sap/fe/core/messagebundle_pt_PT.properties +21 -0
  184. package/src/sap/fe/core/messagebundle_ro.properties +23 -2
  185. package/src/sap/fe/core/messagebundle_ru.properties +22 -1
  186. package/src/sap/fe/core/messagebundle_sh.properties +23 -2
  187. package/src/sap/fe/core/messagebundle_sk.properties +21 -0
  188. package/src/sap/fe/core/messagebundle_sl.properties +23 -2
  189. package/src/sap/fe/core/messagebundle_sr.properties +23 -2
  190. package/src/sap/fe/core/messagebundle_sv.properties +21 -0
  191. package/src/sap/fe/core/messagebundle_th.properties +21 -0
  192. package/src/sap/fe/core/messagebundle_tr.properties +21 -0
  193. package/src/sap/fe/core/messagebundle_uk.properties +23 -2
  194. package/src/sap/fe/core/messagebundle_vi.properties +23 -2
  195. package/src/sap/fe/core/messagebundle_zh_CN.properties +23 -2
  196. package/src/sap/fe/core/messagebundle_zh_TW.properties +21 -0
  197. package/src/sap/fe/core/rootView/Fcl.controller.js +5 -5
  198. package/src/sap/fe/core/rootView/Fcl.controller.ts +10 -4
  199. package/src/sap/fe/core/rootView/NavContainer.controller.js +2 -2
  200. package/src/sap/fe/core/rootView/NavContainer.controller.ts +1 -1
  201. package/src/sap/fe/core/rootView/RootViewBaseController.js +61 -9
  202. package/src/sap/fe/core/rootView/RootViewBaseController.ts +70 -7
  203. package/src/sap/fe/core/services/CollaborationManagerServiceFactory.js +28 -12
  204. package/src/sap/fe/core/services/CollaborationManagerServiceFactory.ts +27 -13
  205. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +7 -1
  206. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +6 -0
  207. package/src/sap/fe/core/services/RoutingServiceFactory.js +3 -2
  208. package/src/sap/fe/core/services/RoutingServiceFactory.ts +2 -1
  209. package/src/sap/fe/core/services/ShellServicesFactory.js +4 -3
  210. package/src/sap/fe/core/services/ShellServicesFactory.ts +5 -3
  211. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +27 -3
  212. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +32 -3
  213. package/src/sap/fe/core/services/view/TemplatingErrorPage.view.xml +1 -1
  214. package/src/sap/fe/core/templating/EntitySetHelper.js +198 -58
  215. package/src/sap/fe/core/templating/EntitySetHelper.ts +221 -61
  216. package/src/sap/fe/core/templating/SemanticObjectHelper.js +6 -7
  217. package/src/sap/fe/core/templating/SemanticObjectHelper.ts +9 -7
@@ -99,6 +99,7 @@ import type { DefaultTypeForEdmType } from "sap/fe/core/type/EDM";
99
99
  // eslint-disable-next-line @typescript-eslint/no-restricted-imports
100
100
  import tableFormatters from "sap/fe/macros/formatters/TableFormatter";
101
101
  import type Control from "sap/ui/core/Control";
102
+ import type { MDCTablePropertyInfo as PropertyInfo, VisualSettings } from "sap/ui/mdc/Table";
102
103
 
103
104
  // Custom Column from Manifest
104
105
  type ManifestDefinedCustomColumn = CustomDefinedTableColumn & {
@@ -118,7 +119,7 @@ type BaseTableColumn = ConfigurableObject & {
118
119
  horizontalAlign?: HorizontalAlign;
119
120
  availability?: AvailabilityType;
120
121
  isNavigable?: boolean;
121
- caseSensitive: boolean;
122
+ caseSensitive?: boolean;
122
123
  label?: string;
123
124
  tooltip?: string;
124
125
  };
@@ -174,6 +175,7 @@ export type PropertyTypeFormatOptions = Partial<{
174
175
  parseAsString: boolean;
175
176
  emptyString: string;
176
177
  parseKeepsEmptyString: boolean;
178
+ style: string;
177
179
  }>;
178
180
 
179
181
  export type PropertyTypeConfig = {
@@ -185,85 +187,47 @@ export type PropertyTypeConfig = {
185
187
  className?: keyof typeof DefaultTypeForEdmType;
186
188
  };
187
189
 
188
- export type ColumnExportSettings = Partial<{
189
- template: string;
190
- label: string;
191
- wrap: boolean;
192
- type: string;
193
- inputFormat: string;
194
- format: string;
195
- scale: number;
196
- delimiter: boolean;
197
- unit: string;
198
- unitProperty: string;
199
- timezone: string;
200
- timezoneProperty: string;
201
- utc: boolean;
202
- dataPointTargetValue: string;
203
- isCurrency: boolean;
204
- property: string[];
205
- width: number;
206
- autoScale: boolean;
207
- }>;
190
+ export type ColumnExportSettings = PropertyInfo["exportSettings"] & {
191
+ dataPointTargetValue?: string;
192
+ isCurrency?: boolean;
193
+ };
208
194
 
209
195
  // Properties for Annotation Columns
210
- export type AnnotationTableColumn = AnnotationTableColumnForOverride & {
211
- name: string;
212
- propertyInfos?: string[];
213
- annotationPath: string;
214
- relativePath: string;
215
- label?: string;
216
- tooltip?: string;
217
- groupLabel?: string;
218
- group?: string;
219
- FieldGroupHiddenExpressions?: CompiledBindingToolkitExpression;
220
- showDataFieldsLabel?: boolean;
221
- required?: CompiledBindingToolkitExpression;
222
- isKey?: boolean;
223
- isGroupable?: boolean;
224
- unit?: string;
225
- unitText?: string;
226
- timezoneText?: string;
227
- timezone?: string;
228
- semanticObjectPath?: string;
229
- sortable: boolean;
230
- filterable?: boolean;
231
- exportSettings?: ColumnExportSettings | null;
232
- textArrangement?: {
233
- textProperty: string;
234
- mode: DisplayMode;
196
+ export type AnnotationTableColumn = PropertyInfo &
197
+ AnnotationTableColumnForOverride & {
198
+ name: string;
199
+ annotationPath: string;
200
+ relativePath: string;
201
+ tooltip?: string;
202
+ groupLabel?: string;
203
+ group?: string;
204
+ FieldGroupHiddenExpressions?: CompiledBindingToolkitExpression;
205
+ showDataFieldsLabel?: boolean;
206
+ required?: CompiledBindingToolkitExpression;
207
+ isGroupable?: boolean;
208
+ unitText?: string;
209
+ timezoneText?: string;
210
+ timezone?: string;
211
+ semanticObjectPath?: string;
212
+ textArrangement?: {
213
+ textProperty: string;
214
+ mode: DisplayMode;
215
+ };
216
+ additionalPropertyInfos?: string[];
217
+ typeConfig?: PropertyTypeConfig;
218
+ isPartOfLineItem?: boolean; // temporary indicator to only allow filtering on navigation properties when they're part of a line item
219
+ isPartOfCustomColumn?: boolean;
220
+ additionalLabels?: string[];
221
+ exportDataPointTargetValue?: string;
222
+ extension?: ExtensionForAnalytics;
223
+ isMultiValue?: boolean;
224
+ descriptionProperty?: string;
225
+ mode?: DisplayMode;
226
+ valueProperty?: string;
235
227
  };
236
- additionalPropertyInfos?: string[];
237
- visualSettings?: VisualSettings;
238
- typeConfig?: PropertyTypeConfig;
239
- isPartOfLineItem?: boolean; // temporary indicator to only allow filtering on navigation properties when they're part of a line item
240
- isPartOfCustomColumn?: boolean;
241
- additionalLabels?: string[];
242
- exportDataPointTargetValue?: string;
243
- aggregatable?: boolean;
244
- extension?: ExtensionForAnalytics;
245
- isMultiValue?: boolean;
246
- };
247
228
 
248
- export type ExtensionForAnalytics = {
229
+ export type ExtensionForAnalytics = PropertyInfo["extension"] & {
249
230
  additionalProperties?: string[];
250
- technicallyGroupable?: boolean;
251
- technicallyAggregatable?: boolean;
252
- };
253
-
254
- export type VisualSettings = {
255
- widthCalculation?: WidthCalculation;
256
- };
257
-
258
- type WidthCalculation = null | {
259
- minWidth?: number;
260
- maxWidth?: number;
261
- defaultWidth?: number;
262
- truncateLabel?: boolean;
263
- gap?: number;
264
- // only relevant for complex types
265
- excludeProperties?: string[];
266
- verticalArrangement?: boolean;
267
231
  };
268
232
 
269
233
  export type TableColumn = CustomBasedTableColumn | AnnotationTableColumn | ComputedTableColumn;
@@ -577,13 +541,12 @@ const getColumnDefinitionFromProperty = function (
577
541
  relatedPropertiesInfo?: ComplexPropertyInfo,
578
542
  relativePathForMultiValue?: string
579
543
  ): AnnotationTableColumn {
580
- let name, key;
581
544
  const semanticObjectAnnotationPath = getSemanticObjectPath(converterContext, property);
582
545
  const isHidden = isReferencePropertyStaticallyHidden(property);
583
546
  const groupPath: string | undefined = property.name ? _sliceAtSlash(property.name, true, false) : undefined;
584
547
  const isGroup: boolean = groupPath != property.name;
585
548
  const label = getLabel(property, isGroup);
586
- const dataType: string | undefined = getDataFieldDataType(property);
549
+ const dataType = getDataFieldDataType(property);
587
550
  const propertyTypeConfig = getTypeConfig(property, dataType);
588
551
  const isAPropertyFromTextOnlyAnnotation = displayModeOfDescriptionPropertiesMap[relativePath] === "Description";
589
552
  const sortable =
@@ -594,26 +557,24 @@ const getColumnDefinitionFromProperty = function (
594
557
  formatOptions: propertyTypeConfig.formatOptions,
595
558
  constraints: propertyTypeConfig.constraints
596
559
  };
597
- let exportSettings: ColumnExportSettings | null = null;
560
+ let exportSettings: PropertyInfo["exportSettings"] = null;
598
561
  if (_isExportableColumn(property)) {
599
562
  exportSettings = createColumnExportSettings(property, relatedPropertiesInfo);
600
563
  }
601
564
  const availability: AvailabilityType =
602
- !availableForAdaptation || isHidden || displayModeOfDescriptionPropertiesMap[relativePath] ? "Hidden" : "Adaptation";
565
+ !isHidden && (availableForAdaptation || displayModeOfDescriptionPropertiesMap[relativePath]) ? "Adaptation" : "Hidden";
603
566
  const collectedNavigationPropertyLabels: string[] | undefined = _getCollectedNavigationPropertyLabels(relativePath, converterContext);
604
567
  if (relativePathForMultiValue) {
605
- name = relativePathForMultiValue;
606
- key = "DataField::" + replaceSpecialChars(relativePathForMultiValue);
607
568
  relativePath = relativePathForMultiValue;
608
- } else {
609
- name = useDataFieldPrefix ? relativePath : `Property::${relativePath}`;
610
- key = (useDataFieldPrefix ? "DataField::" : "Property::") + replaceSpecialChars(relativePath);
611
569
  }
570
+ const name = useDataFieldPrefix ? relativePath : `Property::${relativePath}`;
571
+ const key = (useDataFieldPrefix ? "DataField::" : "Property::") + replaceSpecialChars(relativePath);
612
572
 
613
573
  const column: AnnotationTableColumn = {
614
574
  key: key,
615
575
  type: ColumnType.Annotation,
616
- label: label,
576
+ dataType: dataType ?? property.type,
577
+ label: label ?? property.name,
617
578
  groupLabel: isGroup ? getLabel(property) : undefined,
618
579
  group: isGroup ? groupPath : undefined,
619
580
  annotationPath: fullPropertyPath,
@@ -1507,7 +1468,7 @@ const getColumnsFromAnnotations = function (
1507
1468
  annotationColumns: AnnotationTableColumn[] = [],
1508
1469
  columnsToBeCreated: Record<string, Property> = {},
1509
1470
  displayModeOfDescriptionPropertiesMap: Record<string, DisplayMode> = {},
1510
- restrictionsOnProperties = getRestrictionsOnProperties(converterContext.getEntitySet()),
1471
+ restrictionsOnProperties = getRestrictionsOnProperties(converterContext),
1511
1472
  tableManifestSettings: TableManifestConfiguration = converterContext.getManifestControlConfiguration(visualizationPath),
1512
1473
  defaultCreationMode =
1513
1474
  converterContext.getManifestWrapper().getSapFeManifestConfiguration()?.macros?.table?.defaultCreationMode ===
@@ -1528,7 +1489,7 @@ const getColumnsFromAnnotations = function (
1528
1489
  if (!_isValidColumn(dataField)) {
1529
1490
  return;
1530
1491
  }
1531
- let exportSettings: ColumnExportSettings | null = null;
1492
+ let exportSettings: PropertyInfo["exportSettings"] = null;
1532
1493
  const semanticObjectAnnotationPath =
1533
1494
  isDataFieldTypes(dataField) && dataField.Value?.$target?.fullyQualifiedName
1534
1495
  ? getSemanticObjectPath(converterContext, dataField)
@@ -1540,7 +1501,7 @@ const getColumnsFromAnnotations = function (
1540
1501
  const additionalPropertyNames: string[] = Object.keys(relatedPropertiesInfo.additionalProperties);
1541
1502
  const groupPath: string | undefined = relativePath ? _sliceAtSlash(relativePath, true, false) : undefined;
1542
1503
  const isGroup: boolean = groupPath != relativePath;
1543
- const sLabel: string | undefined = getLabel(dataField, isGroup);
1504
+ const label = getLabel(dataField, isGroup);
1544
1505
  const name = _getAnnotationColumnName(dataField);
1545
1506
  const isFieldGroupColumn: boolean = groupPath ? groupPath.includes(`@${UIAnnotationTerms.FieldGroup}`) : false;
1546
1507
  const showDataFieldsLabel: boolean | undefined = isFieldGroupColumn
@@ -1600,7 +1561,7 @@ const getColumnsFromAnnotations = function (
1600
1561
  const column: AnnotationTableColumn = {
1601
1562
  key: KeyHelper.generateKeyFromDataField(dataField),
1602
1563
  type: ColumnType.Annotation,
1603
- label: sLabel,
1564
+ label: label ?? name,
1604
1565
  groupLabel: isGroup ? getLabel(dataField) : undefined,
1605
1566
  group: isGroup ? groupPath : undefined,
1606
1567
  FieldGroupHiddenExpressions: fieldGroupHiddenExpressions,
@@ -1621,12 +1582,13 @@ const getColumnsFromAnnotations = function (
1621
1582
  formatOptions: formatOptions,
1622
1583
  caseSensitive: isFilteringCaseSensitive(converterContext),
1623
1584
  typeConfig: typeConfig,
1624
- visualSettings: visualSettings,
1585
+ visualSettings: visualSettings as PropertyInfo["visualSettings"],
1625
1586
  timezoneText: exportSettings?.timezone,
1626
1587
  isPartOfLineItem: true,
1588
+ dataType: dataType ?? ("Edm.String" as keyof typeof DefaultTypeForEdmType),
1627
1589
  isMultiValue
1628
1590
  };
1629
- const tooltip = _getTooltip(dataField) ?? sLabel;
1591
+ const tooltip = _getTooltip(dataField) ?? label;
1630
1592
  if (tooltip) {
1631
1593
  column.tooltip = tooltip;
1632
1594
  }
@@ -1689,13 +1651,13 @@ const getColumnsFromAnnotations = function (
1689
1651
  * @returns The columns from the annotations
1690
1652
  */
1691
1653
  const _getPropertyNames = function (
1692
- properties: string[] | undefined,
1654
+ properties: string[] | string | undefined,
1693
1655
  annotationColumns: AnnotationTableColumn[],
1694
1656
  converterContext: ConverterContext<PageContextPathTarget>,
1695
1657
  entityType: EntityType
1696
1658
  ): string[] | undefined {
1697
1659
  let matchedProperties: string[] | undefined;
1698
- if (properties) {
1660
+ if (Array.isArray(properties)) {
1699
1661
  matchedProperties = properties.map(function (propertyPath) {
1700
1662
  const annotationColumn = annotationColumns.find(function (annotationColumn) {
1701
1663
  return annotationColumn.relativePath === propertyPath && annotationColumn.propertyInfos === undefined;
@@ -1859,8 +1821,11 @@ const isRequiredColumn = function (
1859
1821
  return undefined;
1860
1822
  };
1861
1823
 
1862
- const _appendCustomTemplate = function (properties: string[] | undefined, exportProperties: string[] | undefined): string | undefined {
1863
- if (exportProperties?.length) {
1824
+ const _appendCustomTemplate = function (
1825
+ properties: string[] | undefined,
1826
+ exportProperties: string[] | string | undefined
1827
+ ): string | undefined {
1828
+ if (Array.isArray(exportProperties)) {
1864
1829
  properties = exportProperties;
1865
1830
  }
1866
1831
  if (properties) {
@@ -1904,7 +1869,7 @@ const getColumnsFromManifest = function (
1904
1869
  return manifestColumn.type === undefined && !!manifestColumn.template;
1905
1870
  }
1906
1871
  function _updateLinkedPropertiesOnCustomColumns(propertyInfos: string[], annotationTableColumns: AnnotationTableColumn[]): void {
1907
- const restrictionsOnProperties = getRestrictionsOnProperties(converterContext.getEntitySet());
1872
+ const restrictionsOnProperties = getRestrictionsOnProperties(converterContext);
1908
1873
  propertyInfos.forEach((property) => {
1909
1874
  annotationTableColumns.forEach((prop) => {
1910
1875
  if (prop.name === property) {