@sapui5/sap.fe.core 1.97.0 → 1.99.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 (249) hide show
  1. package/package.json +5 -4
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AnnotationHelper.js +377 -405
  4. package/src/sap/fe/core/AnnotationHelper.ts +385 -0
  5. package/src/sap/fe/core/AppComponent.js +6 -3
  6. package/src/sap/fe/core/AppStateHandler.js +229 -181
  7. package/src/sap/fe/core/AppStateHandler.ts +171 -0
  8. package/src/sap/fe/core/BaseController.js +3 -2
  9. package/src/sap/fe/core/BusyLocker.js +105 -121
  10. package/src/sap/fe/core/BusyLocker.ts +98 -0
  11. package/src/sap/fe/core/CommonUtils.js +2073 -2379
  12. package/src/sap/fe/core/CommonUtils.ts +2078 -0
  13. package/src/sap/fe/core/ExtensionAPI.js +16 -7
  14. package/src/sap/fe/core/PageController.js +84 -119
  15. package/src/sap/fe/core/PageController.ts +101 -0
  16. package/src/sap/fe/core/RouterProxy.js +986 -807
  17. package/src/sap/fe/core/RouterProxy.ts +838 -0
  18. package/src/sap/fe/core/Synchronization.js +51 -35
  19. package/src/sap/fe/core/Synchronization.ts +29 -0
  20. package/src/sap/fe/core/TemplateComponent.js +173 -155
  21. package/src/sap/fe/core/TemplateComponent.ts +166 -0
  22. package/src/sap/fe/core/TemplateModel.js +97 -54
  23. package/src/sap/fe/core/TemplateModel.ts +64 -0
  24. package/src/sap/fe/core/TransactionHelper.js +1576 -1579
  25. package/src/sap/fe/core/TransactionHelper.ts +1706 -0
  26. package/src/sap/fe/core/actions/draft.js +560 -581
  27. package/src/sap/fe/core/actions/draft.ts +594 -0
  28. package/src/sap/fe/core/actions/messageHandling.js +545 -511
  29. package/src/sap/fe/core/actions/messageHandling.ts +532 -0
  30. package/src/sap/fe/core/actions/nonDraft.js +17 -19
  31. package/src/sap/fe/core/actions/nonDraft.ts +12 -0
  32. package/src/sap/fe/core/actions/operations.js +1074 -1211
  33. package/src/sap/fe/core/actions/operations.ts +1162 -0
  34. package/src/sap/fe/core/actions/sticky.js +102 -105
  35. package/src/sap/fe/core/actions/sticky.ts +102 -0
  36. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +3 -2
  37. package/src/sap/fe/core/controllerextensions/EditFlow.js +229 -260
  38. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +3 -2
  39. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +288 -13
  40. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +27 -23
  41. package/src/sap/fe/core/controllerextensions/InternalRouting.js +82 -46
  42. package/src/sap/fe/core/controllerextensions/KPIManagement.js +113 -25
  43. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +135 -44
  44. package/src/sap/fe/core/controllerextensions/MassEdit.js +172 -0
  45. package/src/sap/fe/core/controllerextensions/MessageHandler.js +22 -9
  46. package/src/sap/fe/core/controllerextensions/PageReady.js +3 -3
  47. package/src/sap/fe/core/controllerextensions/PageReady.ts +12 -8
  48. package/src/sap/fe/core/controllerextensions/Paginator.js +37 -9
  49. package/src/sap/fe/core/controllerextensions/Placeholder.js +8 -4
  50. package/src/sap/fe/core/controllerextensions/Routing.js +25 -5
  51. package/src/sap/fe/core/controllerextensions/RoutingListener.js +3 -2
  52. package/src/sap/fe/core/controllerextensions/Share.js +22 -8
  53. package/src/sap/fe/core/controllerextensions/SideEffects.js +9 -9
  54. package/src/sap/fe/core/controllerextensions/SideEffects.ts +22 -21
  55. package/src/sap/fe/core/controllerextensions/ViewState.js +3 -2
  56. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -1
  57. package/src/sap/fe/core/controls/CommandExecution.js +3 -2
  58. package/src/sap/fe/core/controls/ConditionalWrapper.js +3 -2
  59. package/src/sap/fe/core/controls/CustomQuickViewPage.js +3 -2
  60. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +9 -5
  61. package/src/sap/fe/core/controls/FieldWrapper.js +18 -23
  62. package/src/sap/fe/core/controls/FilterBar.js +3 -2
  63. package/src/sap/fe/core/controls/FormElementWrapper.js +3 -7
  64. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +3 -2
  65. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +2 -1
  66. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +3 -2
  67. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +5 -4
  68. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +3 -2
  69. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +3 -2
  70. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +106 -0
  71. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +79 -0
  72. package/src/sap/fe/core/converters/ConverterContext.js +14 -2
  73. package/src/sap/fe/core/converters/ConverterContext.ts +14 -3
  74. package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  75. package/src/sap/fe/core/converters/ManifestSettings.ts +4 -0
  76. package/src/sap/fe/core/converters/ManifestWrapper.js +56 -32
  77. package/src/sap/fe/core/converters/ManifestWrapper.ts +24 -6
  78. package/src/sap/fe/core/converters/MetaModelConverter.js +67 -6
  79. package/src/sap/fe/core/converters/MetaModelConverter.ts +70 -14
  80. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  81. package/src/sap/fe/core/converters/TemplateConverter.ts +2 -2
  82. package/src/sap/fe/core/converters/annotations/DataField.js +3 -3
  83. package/src/sap/fe/core/converters/annotations/DataField.ts +1 -1
  84. package/src/sap/fe/core/converters/common/AnnotationConverter.js +33 -21
  85. package/src/sap/fe/core/converters/controls/Common/Action.js +11 -2
  86. package/src/sap/fe/core/converters/controls/Common/Action.ts +8 -2
  87. package/src/sap/fe/core/converters/controls/Common/Chart.js +5 -3
  88. package/src/sap/fe/core/converters/controls/Common/Chart.ts +11 -3
  89. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +3 -3
  90. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +2 -2
  91. package/src/sap/fe/core/converters/controls/Common/Form.js +20 -10
  92. package/src/sap/fe/core/converters/controls/Common/Form.ts +24 -4
  93. package/src/sap/fe/core/converters/controls/Common/KPI.js +69 -4
  94. package/src/sap/fe/core/converters/controls/Common/KPI.ts +72 -0
  95. package/src/sap/fe/core/converters/controls/Common/Table.js +390 -398
  96. package/src/sap/fe/core/converters/controls/Common/Table.ts +497 -484
  97. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +527 -0
  98. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +655 -0
  99. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +489 -37
  100. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +506 -58
  101. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +2 -2
  102. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +1 -1
  103. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +17 -9
  104. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +24 -9
  105. package/src/sap/fe/core/converters/helpers/Aggregation.js +18 -3
  106. package/src/sap/fe/core/converters/helpers/Aggregation.ts +28 -5
  107. package/src/sap/fe/core/converters/helpers/IssueManager.js +7 -1
  108. package/src/sap/fe/core/converters/helpers/IssueManager.ts +6 -0
  109. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +4 -4
  110. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +3 -3
  111. package/src/sap/fe/core/converters/templates/ListReportConverter.js +13 -6
  112. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +26 -15
  113. package/src/sap/fe/core/designtime/AppComponent.designtime.js +11 -2
  114. package/src/sap/fe/core/formatters/CriticalityFormatter.js +1 -1
  115. package/src/sap/fe/core/formatters/CriticalityFormatter.ts +1 -1
  116. package/src/sap/fe/core/formatters/FPMFormatter.js +1 -1
  117. package/src/sap/fe/core/formatters/FPMFormatter.ts +4 -10
  118. package/src/sap/fe/core/formatters/KPIFormatter.js +1 -1
  119. package/src/sap/fe/core/formatters/KPIFormatter.ts +3 -1
  120. package/src/sap/fe/core/formatters/TableFormatter.js +39 -28
  121. package/src/sap/fe/core/formatters/TableFormatter.ts +43 -28
  122. package/src/sap/fe/core/formatters/ValueFormatter.js +30 -5
  123. package/src/sap/fe/core/formatters/ValueFormatter.ts +30 -7
  124. package/src/sap/fe/core/fpm/Component.js +3 -2
  125. package/src/sap/fe/core/helpers/AppStartupHelper.js +359 -0
  126. package/src/sap/fe/core/helpers/AppStartupHelper.ts +391 -0
  127. package/src/sap/fe/core/helpers/BindingExpression.js +484 -437
  128. package/src/sap/fe/core/helpers/BindingExpression.ts +480 -463
  129. package/src/sap/fe/core/helpers/ClassSupport.js +27 -15
  130. package/src/sap/fe/core/helpers/ClassSupport.ts +31 -20
  131. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +63 -59
  132. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +56 -0
  133. package/src/sap/fe/core/helpers/EditState.js +81 -84
  134. package/src/sap/fe/core/helpers/EditState.ts +81 -0
  135. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +62 -48
  136. package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +49 -0
  137. package/src/sap/fe/core/helpers/FPMHelper.js +52 -56
  138. package/src/sap/fe/core/helpers/FPMHelper.ts +62 -0
  139. package/src/sap/fe/core/helpers/KeepAliveHelper.js +4 -5
  140. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +10 -10
  141. package/src/sap/fe/core/helpers/MassEditHelper.js +687 -0
  142. package/src/sap/fe/core/helpers/ModelHelper.js +229 -225
  143. package/src/sap/fe/core/helpers/ModelHelper.ts +227 -0
  144. package/src/sap/fe/core/helpers/PasteHelper.js +210 -132
  145. package/src/sap/fe/core/helpers/PasteHelper.ts +196 -0
  146. package/src/sap/fe/core/helpers/SemanticDateOperators.js +332 -313
  147. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +330 -0
  148. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +66 -67
  149. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +73 -0
  150. package/src/sap/fe/core/helpers/StableIdHelper.js +4 -7
  151. package/src/sap/fe/core/helpers/StableIdHelper.ts +2 -6
  152. package/src/sap/fe/core/jsx-runtime/jsx.js +1 -1
  153. package/src/sap/fe/core/jsx-runtime/jsx.ts +1 -1
  154. package/src/sap/fe/core/library.js +30 -3
  155. package/src/sap/fe/core/library.support.js +12 -5
  156. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +62 -0
  157. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +66 -0
  158. package/src/sap/fe/core/messagebundle.properties +61 -13
  159. package/src/sap/fe/core/messagebundle_ar.properties +33 -2
  160. package/src/sap/fe/core/messagebundle_bg.properties +33 -2
  161. package/src/sap/fe/core/messagebundle_ca.properties +33 -2
  162. package/src/sap/fe/core/messagebundle_cs.properties +34 -3
  163. package/src/sap/fe/core/messagebundle_cy.properties +33 -2
  164. package/src/sap/fe/core/messagebundle_da.properties +33 -2
  165. package/src/sap/fe/core/messagebundle_de.properties +33 -2
  166. package/src/sap/fe/core/messagebundle_el.properties +33 -2
  167. package/src/sap/fe/core/messagebundle_en.properties +32 -1
  168. package/src/sap/fe/core/messagebundle_en_GB.properties +32 -1
  169. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +36 -1
  170. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +33 -2
  171. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +33 -2
  172. package/src/sap/fe/core/messagebundle_es.properties +33 -2
  173. package/src/sap/fe/core/messagebundle_es_MX.properties +33 -2
  174. package/src/sap/fe/core/messagebundle_et.properties +33 -2
  175. package/src/sap/fe/core/messagebundle_fi.properties +34 -3
  176. package/src/sap/fe/core/messagebundle_fr.properties +38 -7
  177. package/src/sap/fe/core/messagebundle_fr_CA.properties +33 -2
  178. package/src/sap/fe/core/messagebundle_hi.properties +33 -2
  179. package/src/sap/fe/core/messagebundle_hr.properties +33 -2
  180. package/src/sap/fe/core/messagebundle_hu.properties +34 -3
  181. package/src/sap/fe/core/messagebundle_id.properties +36 -5
  182. package/src/sap/fe/core/messagebundle_it.properties +33 -2
  183. package/src/sap/fe/core/messagebundle_iw.properties +33 -2
  184. package/src/sap/fe/core/messagebundle_ja.properties +33 -2
  185. package/src/sap/fe/core/messagebundle_kk.properties +33 -2
  186. package/src/sap/fe/core/messagebundle_ko.properties +33 -2
  187. package/src/sap/fe/core/messagebundle_lt.properties +33 -2
  188. package/src/sap/fe/core/messagebundle_lv.properties +33 -2
  189. package/src/sap/fe/core/messagebundle_ms.properties +33 -2
  190. package/src/sap/fe/core/messagebundle_nl.properties +33 -2
  191. package/src/sap/fe/core/messagebundle_no.properties +33 -2
  192. package/src/sap/fe/core/messagebundle_pl.properties +33 -2
  193. package/src/sap/fe/core/messagebundle_pt.properties +34 -3
  194. package/src/sap/fe/core/messagebundle_pt_PT.properties +33 -2
  195. package/src/sap/fe/core/messagebundle_ro.properties +33 -2
  196. package/src/sap/fe/core/messagebundle_ru.properties +33 -2
  197. package/src/sap/fe/core/messagebundle_sh.properties +33 -2
  198. package/src/sap/fe/core/messagebundle_sk.properties +33 -2
  199. package/src/sap/fe/core/messagebundle_sl.properties +33 -2
  200. package/src/sap/fe/core/messagebundle_sv.properties +34 -3
  201. package/src/sap/fe/core/messagebundle_th.properties +33 -2
  202. package/src/sap/fe/core/messagebundle_tr.properties +33 -2
  203. package/src/sap/fe/core/messagebundle_uk.properties +33 -2
  204. package/src/sap/fe/core/messagebundle_vi.properties +33 -2
  205. package/src/sap/fe/core/messagebundle_zh_CN.properties +33 -2
  206. package/src/sap/fe/core/messagebundle_zh_TW.properties +33 -2
  207. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +2 -2
  208. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +3 -1
  209. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +269 -202
  210. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +212 -0
  211. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +4 -3
  212. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +9 -5
  213. package/src/sap/fe/core/services/NavigationServiceFactory.js +406 -300
  214. package/src/sap/fe/core/services/NavigationServiceFactory.ts +316 -0
  215. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +149 -81
  216. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +80 -0
  217. package/src/sap/fe/core/services/RoutingServiceFactory.js +987 -1152
  218. package/src/sap/fe/core/services/RoutingServiceFactory.ts +898 -0
  219. package/src/sap/fe/core/services/ShellServicesFactory.js +31 -2
  220. package/src/sap/fe/core/services/ShellServicesFactory.ts +45 -11
  221. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +42 -85
  222. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +57 -100
  223. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +461 -478
  224. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +453 -0
  225. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +10 -8
  226. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +8 -0
  227. package/src/sap/fe/core/support/AnnotationIssue.support.js +15 -3
  228. package/src/sap/fe/core/support/AnnotationIssue.support.ts +16 -2
  229. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +2 -2
  230. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.ts +1 -1
  231. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +38 -0
  232. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.ts +18 -0
  233. package/src/sap/fe/core/templating/DataModelPathHelper.js +10 -48
  234. package/src/sap/fe/core/templating/DataModelPathHelper.ts +14 -46
  235. package/src/sap/fe/core/templating/DisplayModeFormatter.js +114 -0
  236. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +86 -0
  237. package/src/sap/fe/core/templating/FieldControlHelper.js +8 -8
  238. package/src/sap/fe/core/templating/FieldControlHelper.ts +25 -7
  239. package/src/sap/fe/core/templating/FilterHelper.js +139 -70
  240. package/src/sap/fe/core/templating/FilterHelper.ts +140 -70
  241. package/src/sap/fe/core/templating/PropertyHelper.js +2 -2
  242. package/src/sap/fe/core/templating/PropertyHelper.ts +1 -1
  243. package/src/sap/fe/core/templating/UIFormatters.js +45 -110
  244. package/src/sap/fe/core/templating/UIFormatters.ts +39 -75
  245. package/src/sap/fe/core/type/Email.js +1 -1
  246. package/src/sap/fe/core/type/Email.ts +4 -6
  247. package/ui5.yaml +0 -3
  248. package/src/sap/fe/core/controls/filterbar.d.js +0 -8
  249. package/src/sap/fe/core/controls/filterbar.d.ts +0 -0
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Separating these methods from the UIFormatters as they are used also in the converter.
3
+ * These methods must NOT used any dependency from the UI5 runtime.
4
+ * When consumed outside of converters, you should call them via UIFormatters.
5
+ */
6
+
7
+ import { Property } from "@sap-ux/annotation-converter";
8
+ import { DataModelObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
9
+ import { isPathExpression } from "sap/fe/core/templating/PropertyHelper";
10
+ import { PathAnnotationExpression } from "@sap-ux/vocabularies-types/types/Edm";
11
+
12
+ export type PropertyOrPath<P> = string | P | PathAnnotationExpression<P>;
13
+
14
+ export const EDM_TYPE_MAPPING: Record<string, any> = {
15
+ "Edm.Boolean": { type: "sap.ui.model.odata.type.Boolean" },
16
+ "Edm.Byte": { type: "sap.ui.model.odata.type.Byte" },
17
+ "Edm.Date": { type: "sap.ui.model.odata.type.Date" },
18
+ "Edm.DateTimeOffset": {
19
+ constraints: {
20
+ "$Precision": "precision"
21
+ },
22
+ type: "sap.ui.model.odata.type.DateTimeOffset"
23
+ },
24
+ "Edm.Decimal": {
25
+ constraints: {
26
+ "@Org.OData.Validation.V1.Minimum/$Decimal": "minimum",
27
+ "@Org.OData.Validation.V1.Minimum@Org.OData.Validation.V1.Exclusive": "minimumExclusive",
28
+ "@Org.OData.Validation.V1.Maximum/$Decimal": "maximum",
29
+ "@Org.OData.Validation.V1.Maximum@Org.OData.Validation.V1.Exclusive": "maximumExclusive",
30
+ "$Precision": "precision",
31
+ "$Scale": "scale"
32
+ },
33
+ type: "sap.ui.model.odata.type.Decimal"
34
+ },
35
+ "Edm.Double": { type: "sap.ui.model.odata.type.Double" },
36
+ "Edm.Guid": { type: "sap.ui.model.odata.type.Guid" },
37
+ "Edm.Int16": { type: "sap.ui.model.odata.type.Int16" },
38
+ "Edm.Int32": { type: "sap.ui.model.odata.type.Int32" },
39
+ "Edm.Int64": { type: "sap.ui.model.odata.type.Int64" },
40
+ "Edm.SByte": { type: "sap.ui.model.odata.type.SByte" },
41
+ "Edm.Single": { type: "sap.ui.model.odata.type.Single" },
42
+ "Edm.Stream": { type: "sap.ui.model.odata.type.Stream" },
43
+ "Edm.Binary": { type: "sap.ui.model.odata.type.Stream" },
44
+ "Edm.String": {
45
+ constraints: {
46
+ "@com.sap.vocabularies.Common.v1.IsDigitSequence": "isDigitSequence",
47
+ "$MaxLength": "maxLength",
48
+ "$Nullable": "nullable"
49
+ },
50
+ type: "sap.ui.model.odata.type.String"
51
+ },
52
+ "Edm.TimeOfDay": {
53
+ constraints: {
54
+ "$Precision": "precision"
55
+ },
56
+ type: "sap.ui.model.odata.type.TimeOfDay"
57
+ }
58
+ };
59
+
60
+ export type DisplayMode = "Value" | "Description" | "DescriptionValue" | "ValueDescription";
61
+ export const getDisplayMode = function(oPropertyPath: PropertyOrPath<Property>, oDataModelObjectPath?: DataModelObjectPath): DisplayMode {
62
+ if (!oPropertyPath || typeof oPropertyPath === "string") {
63
+ return "Value";
64
+ }
65
+ const oProperty = (isPathExpression(oPropertyPath) && oPropertyPath.$target) || (oPropertyPath as Property);
66
+ const oEntityType = oDataModelObjectPath && oDataModelObjectPath.targetEntityType;
67
+ const oTextAnnotation = oProperty.annotations?.Common?.Text;
68
+ const oTextArrangementAnnotation =
69
+ (typeof oTextAnnotation !== "string" && oTextAnnotation?.annotations?.UI?.TextArrangement?.toString()) ||
70
+ oEntityType?.annotations?.UI?.TextArrangement?.toString();
71
+
72
+ let sDisplayValue = oTextAnnotation ? "DescriptionValue" : "Value";
73
+ if ((oTextAnnotation && oTextArrangementAnnotation) || oEntityType?.annotations?.UI?.TextArrangement?.toString()) {
74
+ if (oTextArrangementAnnotation === "UI.TextArrangementType/TextOnly") {
75
+ sDisplayValue = "Description";
76
+ } else if (oTextArrangementAnnotation === "UI.TextArrangementType/TextLast") {
77
+ sDisplayValue = "ValueDescription";
78
+ } else if (oTextArrangementAnnotation === "UI.TextArrangementType/TextSeparate") {
79
+ sDisplayValue = "Value";
80
+ } else {
81
+ //Default should be TextFirst if there is a Text annotation and neither TextOnly nor TextLast are set
82
+ sDisplayValue = "DescriptionValue";
83
+ }
84
+ }
85
+ return sDisplayValue as DisplayMode;
86
+ };
@@ -14,7 +14,7 @@ sap.ui.define(["sap/fe/core/helpers/BindingExpression"], function (BindingExpres
14
14
  * Create the binding expression to check if the property is non editable or not.
15
15
  *
16
16
  * @param {object} oTarget The target property or DataField
17
- * @returns {ExpressionOrPrimitive<boolean>} The binding expression resolving to a boolean being true if it's non editable
17
+ * @returns {ExpressionOrPrimitive<boolean>} The binding expression resolving to a Boolean being true if it's non editable
18
18
  */
19
19
  var isNonEditableExpression = function (oTarget) {
20
20
  return or(isReadOnlyExpression(oTarget), isDisabledExpression(oTarget));
@@ -23,7 +23,7 @@ sap.ui.define(["sap/fe/core/helpers/BindingExpression"], function (BindingExpres
23
23
  * Create the binding expression to check if the property is read only or not.
24
24
  *
25
25
  * @param {object} oTarget The target property or DataField
26
- * @returns {ExpressionOrPrimitive<boolean>} The binding expression resolving to a boolean being true if it's read only
26
+ * @returns {ExpressionOrPrimitive<boolean>} The binding expression resolving to a Boolean being true if it's read only
27
27
  */
28
28
 
29
29
 
@@ -35,7 +35,7 @@ sap.ui.define(["sap/fe/core/helpers/BindingExpression"], function (BindingExpres
35
35
  var oFieldControlValue = oTarget === null || oTarget === void 0 ? void 0 : (_oTarget$annotations = oTarget.annotations) === null || _oTarget$annotations === void 0 ? void 0 : (_oTarget$annotations$ = _oTarget$annotations.Common) === null || _oTarget$annotations$ === void 0 ? void 0 : (_oTarget$annotations$2 = _oTarget$annotations$.FieldControl) === null || _oTarget$annotations$2 === void 0 ? void 0 : _oTarget$annotations$2.valueOf();
36
36
 
37
37
  if (typeof oFieldControlValue === "object") {
38
- return !!oFieldControlValue && equal(annotationExpression(oFieldControlValue), 1);
38
+ return !!oFieldControlValue && or(equal(annotationExpression(oFieldControlValue), 1), equal(annotationExpression(oFieldControlValue), "1"));
39
39
  }
40
40
 
41
41
  return oFieldControlValue === "Common.FieldControlType/ReadOnly";
@@ -44,7 +44,7 @@ sap.ui.define(["sap/fe/core/helpers/BindingExpression"], function (BindingExpres
44
44
  * Create the binding expression to check if the property is disabled or not.
45
45
  *
46
46
  * @param {object} oTarget The target property or DataField
47
- * @returns {ExpressionOrPrimitive<boolean>} The binding expression resolving to a boolean being true if it's disabled
47
+ * @returns {ExpressionOrPrimitive<boolean>} The binding expression resolving to a Boolean being true if it's disabled
48
48
  */
49
49
 
50
50
 
@@ -56,7 +56,7 @@ sap.ui.define(["sap/fe/core/helpers/BindingExpression"], function (BindingExpres
56
56
  var oFieldControlValue = oTarget === null || oTarget === void 0 ? void 0 : (_oTarget$annotations2 = oTarget.annotations) === null || _oTarget$annotations2 === void 0 ? void 0 : (_oTarget$annotations3 = _oTarget$annotations2.Common) === null || _oTarget$annotations3 === void 0 ? void 0 : (_oTarget$annotations4 = _oTarget$annotations3.FieldControl) === null || _oTarget$annotations4 === void 0 ? void 0 : _oTarget$annotations4.valueOf();
57
57
 
58
58
  if (typeof oFieldControlValue === "object") {
59
- return !!oFieldControlValue && equal(annotationExpression(oFieldControlValue), 0);
59
+ return !!oFieldControlValue && or(equal(annotationExpression(oFieldControlValue), 0), equal(annotationExpression(oFieldControlValue), "0"));
60
60
  }
61
61
 
62
62
  return oFieldControlValue === "Common.FieldControlType/Inapplicable";
@@ -65,7 +65,7 @@ sap.ui.define(["sap/fe/core/helpers/BindingExpression"], function (BindingExpres
65
65
  * Create the binding expression to check if the property is read only or not.
66
66
  *
67
67
  * @param {object} oTarget The target property or DataField
68
- * @returns {ExpressionOrPrimitive<boolean>} The binding expression resolving to a boolean being true if it's read only
68
+ * @returns {ExpressionOrPrimitive<boolean>} The binding expression resolving to a Boolean being true if it's read only
69
69
  */
70
70
 
71
71
 
@@ -77,7 +77,7 @@ sap.ui.define(["sap/fe/core/helpers/BindingExpression"], function (BindingExpres
77
77
  var oFieldControlValue = oTarget === null || oTarget === void 0 ? void 0 : (_oTarget$annotations5 = oTarget.annotations) === null || _oTarget$annotations5 === void 0 ? void 0 : (_oTarget$annotations6 = _oTarget$annotations5.Common) === null || _oTarget$annotations6 === void 0 ? void 0 : (_oTarget$annotations7 = _oTarget$annotations6.FieldControl) === null || _oTarget$annotations7 === void 0 ? void 0 : _oTarget$annotations7.valueOf();
78
78
 
79
79
  if (typeof oFieldControlValue === "object") {
80
- return !!oFieldControlValue && equal(annotationExpression(oFieldControlValue), 7);
80
+ return !!oFieldControlValue && or(equal(annotationExpression(oFieldControlValue), 7), equal(annotationExpression(oFieldControlValue), "7"));
81
81
  }
82
82
 
83
83
  return oFieldControlValue === "Common.FieldControlType/Mandatory";
@@ -86,4 +86,4 @@ sap.ui.define(["sap/fe/core/helpers/BindingExpression"], function (BindingExpres
86
86
  _exports.isRequiredExpression = isRequiredExpression;
87
87
  return _exports;
88
88
  }, false);
89
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpZWxkQ29udHJvbEhlbHBlci50cyJdLCJuYW1lcyI6WyJpc05vbkVkaXRhYmxlRXhwcmVzc2lvbiIsIm9UYXJnZXQiLCJvciIsImlzUmVhZE9ubHlFeHByZXNzaW9uIiwiaXNEaXNhYmxlZEV4cHJlc3Npb24iLCJvRmllbGRDb250cm9sVmFsdWUiLCJhbm5vdGF0aW9ucyIsIkNvbW1vbiIsIkZpZWxkQ29udHJvbCIsInZhbHVlT2YiLCJlcXVhbCIsImFubm90YXRpb25FeHByZXNzaW9uIiwiaXNSZXF1aXJlZEV4cHJlc3Npb24iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLE1BQU1BLHVCQUF1QixHQUFHLFVBQVNDLE9BQVQsRUFBNEM7QUFDbEYsV0FBT0MsRUFBRSxDQUFDQyxvQkFBb0IsQ0FBQ0YsT0FBRCxDQUFyQixFQUFnQ0csb0JBQW9CLENBQUNILE9BQUQsQ0FBcEQsQ0FBVDtBQUNBLEdBRk07QUFJUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBQ08sTUFBTUUsb0JBQW9CLEdBQUcsVUFBU0YsT0FBVCxFQUF1RDtBQUFBOztBQUMxRixRQUFNSSxrQkFBa0IsR0FBR0osT0FBSCxhQUFHQSxPQUFILCtDQUFHQSxPQUFPLENBQUVLLFdBQVosa0ZBQUcscUJBQXNCQyxNQUF6QixvRkFBRyxzQkFBOEJDLFlBQWpDLDJEQUFHLHVCQUE0Q0MsT0FBNUMsRUFBM0I7O0FBQ0EsUUFBSSxPQUFPSixrQkFBUCxLQUE4QixRQUFsQyxFQUE0QztBQUMzQyxhQUFPLENBQUMsQ0FBQ0Esa0JBQUYsSUFBd0JLLEtBQUssQ0FBQ0Msb0JBQW9CLENBQUNOLGtCQUFELENBQXJCLEVBQTRFLENBQTVFLENBQXBDO0FBQ0E7O0FBQ0QsV0FBT0Esa0JBQWtCLEtBQUssa0NBQTlCO0FBQ0EsR0FOTTtBQVFQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUFDTyxNQUFNRCxvQkFBb0IsR0FBRyxVQUFTSCxPQUFULEVBQXVEO0FBQUE7O0FBQzFGLFFBQU1JLGtCQUFrQixHQUFHSixPQUFILGFBQUdBLE9BQUgsZ0RBQUdBLE9BQU8sQ0FBRUssV0FBWixtRkFBRyxzQkFBc0JDLE1BQXpCLG1GQUFHLHNCQUE4QkMsWUFBakMsMERBQUcsc0JBQTRDQyxPQUE1QyxFQUEzQjs7QUFDQSxRQUFJLE9BQU9KLGtCQUFQLEtBQThCLFFBQWxDLEVBQTRDO0FBQzNDLGFBQU8sQ0FBQyxDQUFDQSxrQkFBRixJQUF3QkssS0FBSyxDQUFDQyxvQkFBb0IsQ0FBQ04sa0JBQUQsQ0FBckIsRUFBNEUsQ0FBNUUsQ0FBcEM7QUFDQTs7QUFDRCxXQUFPQSxrQkFBa0IsS0FBSyxzQ0FBOUI7QUFDQSxHQU5NO0FBUVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUNPLE1BQU1PLG9CQUFvQixHQUFHLFVBQVNYLE9BQVQsRUFBdUQ7QUFBQTs7QUFDMUYsUUFBTUksa0JBQWtCLEdBQUdKLE9BQUgsYUFBR0EsT0FBSCxnREFBR0EsT0FBTyxDQUFFSyxXQUFaLG1GQUFHLHNCQUFzQkMsTUFBekIsbUZBQUcsc0JBQThCQyxZQUFqQywwREFBRyxzQkFBNENDLE9BQTVDLEVBQTNCOztBQUNBLFFBQUksT0FBT0osa0JBQVAsS0FBOEIsUUFBbEMsRUFBNEM7QUFDM0MsYUFBTyxDQUFDLENBQUNBLGtCQUFGLElBQXdCSyxLQUFLLENBQUNDLG9CQUFvQixDQUFDTixrQkFBRCxDQUFyQixFQUE0RSxDQUE1RSxDQUFwQztBQUNBOztBQUNELFdBQU9BLGtCQUFrQixLQUFLLG1DQUE5QjtBQUNBLEdBTk0iLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVxdWFsLCBFeHByZXNzaW9uLCBFeHByZXNzaW9uT3JQcmltaXRpdmUsIG9yLCBhbm5vdGF0aW9uRXhwcmVzc2lvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdFeHByZXNzaW9uXCI7XG5cbi8qKlxuICogQ3JlYXRlIHRoZSBiaW5kaW5nIGV4cHJlc3Npb24gdG8gY2hlY2sgaWYgdGhlIHByb3BlcnR5IGlzIG5vbiBlZGl0YWJsZSBvciBub3QuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IG9UYXJnZXQgVGhlIHRhcmdldCBwcm9wZXJ0eSBvciBEYXRhRmllbGRcbiAqIEByZXR1cm5zIHtFeHByZXNzaW9uT3JQcmltaXRpdmU8Ym9vbGVhbj59IFRoZSBiaW5kaW5nIGV4cHJlc3Npb24gcmVzb2x2aW5nIHRvIGEgYm9vbGVhbiBiZWluZyB0cnVlIGlmIGl0J3Mgbm9uIGVkaXRhYmxlXG4gKi9cbmV4cG9ydCBjb25zdCBpc05vbkVkaXRhYmxlRXhwcmVzc2lvbiA9IGZ1bmN0aW9uKG9UYXJnZXQ6IGFueSk6IEV4cHJlc3Npb248Ym9vbGVhbj4ge1xuXHRyZXR1cm4gb3IoaXNSZWFkT25seUV4cHJlc3Npb24ob1RhcmdldCksIGlzRGlzYWJsZWRFeHByZXNzaW9uKG9UYXJnZXQpKTtcbn07XG5cbi8qKlxuICogQ3JlYXRlIHRoZSBiaW5kaW5nIGV4cHJlc3Npb24gdG8gY2hlY2sgaWYgdGhlIHByb3BlcnR5IGlzIHJlYWQgb25seSBvciBub3QuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IG9UYXJnZXQgVGhlIHRhcmdldCBwcm9wZXJ0eSBvciBEYXRhRmllbGRcbiAqIEByZXR1cm5zIHtFeHByZXNzaW9uT3JQcmltaXRpdmU8Ym9vbGVhbj59IFRoZSBiaW5kaW5nIGV4cHJlc3Npb24gcmVzb2x2aW5nIHRvIGEgYm9vbGVhbiBiZWluZyB0cnVlIGlmIGl0J3MgcmVhZCBvbmx5XG4gKi9cbmV4cG9ydCBjb25zdCBpc1JlYWRPbmx5RXhwcmVzc2lvbiA9IGZ1bmN0aW9uKG9UYXJnZXQ6IGFueSk6IEV4cHJlc3Npb25PclByaW1pdGl2ZTxib29sZWFuPiB7XG5cdGNvbnN0IG9GaWVsZENvbnRyb2xWYWx1ZSA9IG9UYXJnZXQ/LmFubm90YXRpb25zPy5Db21tb24/LkZpZWxkQ29udHJvbD8udmFsdWVPZigpO1xuXHRpZiAodHlwZW9mIG9GaWVsZENvbnRyb2xWYWx1ZSA9PT0gXCJvYmplY3RcIikge1xuXHRcdHJldHVybiAhIW9GaWVsZENvbnRyb2xWYWx1ZSAmJiBlcXVhbChhbm5vdGF0aW9uRXhwcmVzc2lvbihvRmllbGRDb250cm9sVmFsdWUpIGFzIEV4cHJlc3Npb25PclByaW1pdGl2ZTxudW1iZXI+LCAxKTtcblx0fVxuXHRyZXR1cm4gb0ZpZWxkQ29udHJvbFZhbHVlID09PSBcIkNvbW1vbi5GaWVsZENvbnRyb2xUeXBlL1JlYWRPbmx5XCI7XG59O1xuXG4vKipcbiAqIENyZWF0ZSB0aGUgYmluZGluZyBleHByZXNzaW9uIHRvIGNoZWNrIGlmIHRoZSBwcm9wZXJ0eSBpcyBkaXNhYmxlZCBvciBub3QuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IG9UYXJnZXQgVGhlIHRhcmdldCBwcm9wZXJ0eSBvciBEYXRhRmllbGRcbiAqIEByZXR1cm5zIHtFeHByZXNzaW9uT3JQcmltaXRpdmU8Ym9vbGVhbj59IFRoZSBiaW5kaW5nIGV4cHJlc3Npb24gcmVzb2x2aW5nIHRvIGEgYm9vbGVhbiBiZWluZyB0cnVlIGlmIGl0J3MgZGlzYWJsZWRcbiAqL1xuZXhwb3J0IGNvbnN0IGlzRGlzYWJsZWRFeHByZXNzaW9uID0gZnVuY3Rpb24ob1RhcmdldDogYW55KTogRXhwcmVzc2lvbk9yUHJpbWl0aXZlPGJvb2xlYW4+IHtcblx0Y29uc3Qgb0ZpZWxkQ29udHJvbFZhbHVlID0gb1RhcmdldD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uRmllbGRDb250cm9sPy52YWx1ZU9mKCk7XG5cdGlmICh0eXBlb2Ygb0ZpZWxkQ29udHJvbFZhbHVlID09PSBcIm9iamVjdFwiKSB7XG5cdFx0cmV0dXJuICEhb0ZpZWxkQ29udHJvbFZhbHVlICYmIGVxdWFsKGFubm90YXRpb25FeHByZXNzaW9uKG9GaWVsZENvbnRyb2xWYWx1ZSkgYXMgRXhwcmVzc2lvbk9yUHJpbWl0aXZlPG51bWJlcj4sIDApO1xuXHR9XG5cdHJldHVybiBvRmllbGRDb250cm9sVmFsdWUgPT09IFwiQ29tbW9uLkZpZWxkQ29udHJvbFR5cGUvSW5hcHBsaWNhYmxlXCI7XG59O1xuXG4vKipcbiAqIENyZWF0ZSB0aGUgYmluZGluZyBleHByZXNzaW9uIHRvIGNoZWNrIGlmIHRoZSBwcm9wZXJ0eSBpcyByZWFkIG9ubHkgb3Igbm90LlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSBvVGFyZ2V0IFRoZSB0YXJnZXQgcHJvcGVydHkgb3IgRGF0YUZpZWxkXG4gKiBAcmV0dXJucyB7RXhwcmVzc2lvbk9yUHJpbWl0aXZlPGJvb2xlYW4+fSBUaGUgYmluZGluZyBleHByZXNzaW9uIHJlc29sdmluZyB0byBhIGJvb2xlYW4gYmVpbmcgdHJ1ZSBpZiBpdCdzIHJlYWQgb25seVxuICovXG5leHBvcnQgY29uc3QgaXNSZXF1aXJlZEV4cHJlc3Npb24gPSBmdW5jdGlvbihvVGFyZ2V0OiBhbnkpOiBFeHByZXNzaW9uT3JQcmltaXRpdmU8Ym9vbGVhbj4ge1xuXHRjb25zdCBvRmllbGRDb250cm9sVmFsdWUgPSBvVGFyZ2V0Py5hbm5vdGF0aW9ucz8uQ29tbW9uPy5GaWVsZENvbnRyb2w/LnZhbHVlT2YoKTtcblx0aWYgKHR5cGVvZiBvRmllbGRDb250cm9sVmFsdWUgPT09IFwib2JqZWN0XCIpIHtcblx0XHRyZXR1cm4gISFvRmllbGRDb250cm9sVmFsdWUgJiYgZXF1YWwoYW5ub3RhdGlvbkV4cHJlc3Npb24ob0ZpZWxkQ29udHJvbFZhbHVlKSBhcyBFeHByZXNzaW9uT3JQcmltaXRpdmU8bnVtYmVyPiwgNyk7XG5cdH1cblx0cmV0dXJuIG9GaWVsZENvbnRyb2xWYWx1ZSA9PT0gXCJDb21tb24uRmllbGRDb250cm9sVHlwZS9NYW5kYXRvcnlcIjtcbn07XG4iXX0=
89
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpZWxkQ29udHJvbEhlbHBlci50cyJdLCJuYW1lcyI6WyJpc05vbkVkaXRhYmxlRXhwcmVzc2lvbiIsIm9UYXJnZXQiLCJvciIsImlzUmVhZE9ubHlFeHByZXNzaW9uIiwiaXNEaXNhYmxlZEV4cHJlc3Npb24iLCJvRmllbGRDb250cm9sVmFsdWUiLCJhbm5vdGF0aW9ucyIsIkNvbW1vbiIsIkZpZWxkQ29udHJvbCIsInZhbHVlT2YiLCJlcXVhbCIsImFubm90YXRpb25FeHByZXNzaW9uIiwiaXNSZXF1aXJlZEV4cHJlc3Npb24iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLE1BQU1BLHVCQUF1QixHQUFHLFVBQVNDLE9BQVQsRUFBNEM7QUFDbEYsV0FBT0MsRUFBRSxDQUFDQyxvQkFBb0IsQ0FBQ0YsT0FBRCxDQUFyQixFQUFnQ0csb0JBQW9CLENBQUNILE9BQUQsQ0FBcEQsQ0FBVDtBQUNBLEdBRk07QUFJUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBQ08sTUFBTUUsb0JBQW9CLEdBQUcsVUFBU0YsT0FBVCxFQUF1RDtBQUFBOztBQUMxRixRQUFNSSxrQkFBa0IsR0FBR0osT0FBSCxhQUFHQSxPQUFILCtDQUFHQSxPQUFPLENBQUVLLFdBQVosa0ZBQUcscUJBQXNCQyxNQUF6QixvRkFBRyxzQkFBOEJDLFlBQWpDLDJEQUFHLHVCQUE0Q0MsT0FBNUMsRUFBM0I7O0FBQ0EsUUFBSSxPQUFPSixrQkFBUCxLQUE4QixRQUFsQyxFQUE0QztBQUMzQyxhQUNDLENBQUMsQ0FBQ0Esa0JBQUYsSUFDQUgsRUFBRSxDQUNEUSxLQUFLLENBQUNDLG9CQUFvQixDQUFDTixrQkFBRCxDQUFyQixFQUE0RSxDQUE1RSxDQURKLEVBRURLLEtBQUssQ0FBQ0Msb0JBQW9CLENBQUNOLGtCQUFELENBQXJCLEVBQTRFLEdBQTVFLENBRkosQ0FGSDtBQU9BOztBQUNELFdBQU9BLGtCQUFrQixLQUFLLGtDQUE5QjtBQUNBLEdBWk07QUFjUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBQ08sTUFBTUQsb0JBQW9CLEdBQUcsVUFBU0gsT0FBVCxFQUF1RDtBQUFBOztBQUMxRixRQUFNSSxrQkFBa0IsR0FBR0osT0FBSCxhQUFHQSxPQUFILGdEQUFHQSxPQUFPLENBQUVLLFdBQVosbUZBQUcsc0JBQXNCQyxNQUF6QixtRkFBRyxzQkFBOEJDLFlBQWpDLDBEQUFHLHNCQUE0Q0MsT0FBNUMsRUFBM0I7O0FBQ0EsUUFBSSxPQUFPSixrQkFBUCxLQUE4QixRQUFsQyxFQUE0QztBQUMzQyxhQUNDLENBQUMsQ0FBQ0Esa0JBQUYsSUFDQUgsRUFBRSxDQUNEUSxLQUFLLENBQUNDLG9CQUFvQixDQUFDTixrQkFBRCxDQUFyQixFQUE0RSxDQUE1RSxDQURKLEVBRURLLEtBQUssQ0FBQ0Msb0JBQW9CLENBQUNOLGtCQUFELENBQXJCLEVBQTRFLEdBQTVFLENBRkosQ0FGSDtBQU9BOztBQUNELFdBQU9BLGtCQUFrQixLQUFLLHNDQUE5QjtBQUNBLEdBWk07QUFjUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBQ08sTUFBTU8sb0JBQW9CLEdBQUcsVUFBU1gsT0FBVCxFQUF1RDtBQUFBOztBQUMxRixRQUFNSSxrQkFBa0IsR0FBR0osT0FBSCxhQUFHQSxPQUFILGdEQUFHQSxPQUFPLENBQUVLLFdBQVosbUZBQUcsc0JBQXNCQyxNQUF6QixtRkFBRyxzQkFBOEJDLFlBQWpDLDBEQUFHLHNCQUE0Q0MsT0FBNUMsRUFBM0I7O0FBQ0EsUUFBSSxPQUFPSixrQkFBUCxLQUE4QixRQUFsQyxFQUE0QztBQUMzQyxhQUNDLENBQUMsQ0FBQ0Esa0JBQUYsSUFDQUgsRUFBRSxDQUNEUSxLQUFLLENBQUNDLG9CQUFvQixDQUFDTixrQkFBRCxDQUFyQixFQUE0RSxDQUE1RSxDQURKLEVBRURLLEtBQUssQ0FBQ0Msb0JBQW9CLENBQUNOLGtCQUFELENBQXJCLEVBQTRFLEdBQTVFLENBRkosQ0FGSDtBQU9BOztBQUNELFdBQU9BLGtCQUFrQixLQUFLLG1DQUE5QjtBQUNBLEdBWk0iLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVxdWFsLCBFeHByZXNzaW9uLCBFeHByZXNzaW9uT3JQcmltaXRpdmUsIG9yLCBhbm5vdGF0aW9uRXhwcmVzc2lvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdFeHByZXNzaW9uXCI7XG5cbi8qKlxuICogQ3JlYXRlIHRoZSBiaW5kaW5nIGV4cHJlc3Npb24gdG8gY2hlY2sgaWYgdGhlIHByb3BlcnR5IGlzIG5vbiBlZGl0YWJsZSBvciBub3QuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IG9UYXJnZXQgVGhlIHRhcmdldCBwcm9wZXJ0eSBvciBEYXRhRmllbGRcbiAqIEByZXR1cm5zIHtFeHByZXNzaW9uT3JQcmltaXRpdmU8Ym9vbGVhbj59IFRoZSBiaW5kaW5nIGV4cHJlc3Npb24gcmVzb2x2aW5nIHRvIGEgQm9vbGVhbiBiZWluZyB0cnVlIGlmIGl0J3Mgbm9uIGVkaXRhYmxlXG4gKi9cbmV4cG9ydCBjb25zdCBpc05vbkVkaXRhYmxlRXhwcmVzc2lvbiA9IGZ1bmN0aW9uKG9UYXJnZXQ6IGFueSk6IEV4cHJlc3Npb248Ym9vbGVhbj4ge1xuXHRyZXR1cm4gb3IoaXNSZWFkT25seUV4cHJlc3Npb24ob1RhcmdldCksIGlzRGlzYWJsZWRFeHByZXNzaW9uKG9UYXJnZXQpKTtcbn07XG5cbi8qKlxuICogQ3JlYXRlIHRoZSBiaW5kaW5nIGV4cHJlc3Npb24gdG8gY2hlY2sgaWYgdGhlIHByb3BlcnR5IGlzIHJlYWQgb25seSBvciBub3QuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IG9UYXJnZXQgVGhlIHRhcmdldCBwcm9wZXJ0eSBvciBEYXRhRmllbGRcbiAqIEByZXR1cm5zIHtFeHByZXNzaW9uT3JQcmltaXRpdmU8Ym9vbGVhbj59IFRoZSBiaW5kaW5nIGV4cHJlc3Npb24gcmVzb2x2aW5nIHRvIGEgQm9vbGVhbiBiZWluZyB0cnVlIGlmIGl0J3MgcmVhZCBvbmx5XG4gKi9cbmV4cG9ydCBjb25zdCBpc1JlYWRPbmx5RXhwcmVzc2lvbiA9IGZ1bmN0aW9uKG9UYXJnZXQ6IGFueSk6IEV4cHJlc3Npb25PclByaW1pdGl2ZTxib29sZWFuPiB7XG5cdGNvbnN0IG9GaWVsZENvbnRyb2xWYWx1ZSA9IG9UYXJnZXQ/LmFubm90YXRpb25zPy5Db21tb24/LkZpZWxkQ29udHJvbD8udmFsdWVPZigpO1xuXHRpZiAodHlwZW9mIG9GaWVsZENvbnRyb2xWYWx1ZSA9PT0gXCJvYmplY3RcIikge1xuXHRcdHJldHVybiAoXG5cdFx0XHQhIW9GaWVsZENvbnRyb2xWYWx1ZSAmJlxuXHRcdFx0b3IoXG5cdFx0XHRcdGVxdWFsKGFubm90YXRpb25FeHByZXNzaW9uKG9GaWVsZENvbnRyb2xWYWx1ZSkgYXMgRXhwcmVzc2lvbk9yUHJpbWl0aXZlPG51bWJlcj4sIDEpLFxuXHRcdFx0XHRlcXVhbChhbm5vdGF0aW9uRXhwcmVzc2lvbihvRmllbGRDb250cm9sVmFsdWUpIGFzIEV4cHJlc3Npb25PclByaW1pdGl2ZTxzdHJpbmc+LCBcIjFcIilcblx0XHRcdClcblx0XHQpO1xuXHR9XG5cdHJldHVybiBvRmllbGRDb250cm9sVmFsdWUgPT09IFwiQ29tbW9uLkZpZWxkQ29udHJvbFR5cGUvUmVhZE9ubHlcIjtcbn07XG5cbi8qKlxuICogQ3JlYXRlIHRoZSBiaW5kaW5nIGV4cHJlc3Npb24gdG8gY2hlY2sgaWYgdGhlIHByb3BlcnR5IGlzIGRpc2FibGVkIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gb1RhcmdldCBUaGUgdGFyZ2V0IHByb3BlcnR5IG9yIERhdGFGaWVsZFxuICogQHJldHVybnMge0V4cHJlc3Npb25PclByaW1pdGl2ZTxib29sZWFuPn0gVGhlIGJpbmRpbmcgZXhwcmVzc2lvbiByZXNvbHZpbmcgdG8gYSBCb29sZWFuIGJlaW5nIHRydWUgaWYgaXQncyBkaXNhYmxlZFxuICovXG5leHBvcnQgY29uc3QgaXNEaXNhYmxlZEV4cHJlc3Npb24gPSBmdW5jdGlvbihvVGFyZ2V0OiBhbnkpOiBFeHByZXNzaW9uT3JQcmltaXRpdmU8Ym9vbGVhbj4ge1xuXHRjb25zdCBvRmllbGRDb250cm9sVmFsdWUgPSBvVGFyZ2V0Py5hbm5vdGF0aW9ucz8uQ29tbW9uPy5GaWVsZENvbnRyb2w/LnZhbHVlT2YoKTtcblx0aWYgKHR5cGVvZiBvRmllbGRDb250cm9sVmFsdWUgPT09IFwib2JqZWN0XCIpIHtcblx0XHRyZXR1cm4gKFxuXHRcdFx0ISFvRmllbGRDb250cm9sVmFsdWUgJiZcblx0XHRcdG9yKFxuXHRcdFx0XHRlcXVhbChhbm5vdGF0aW9uRXhwcmVzc2lvbihvRmllbGRDb250cm9sVmFsdWUpIGFzIEV4cHJlc3Npb25PclByaW1pdGl2ZTxudW1iZXI+LCAwKSxcblx0XHRcdFx0ZXF1YWwoYW5ub3RhdGlvbkV4cHJlc3Npb24ob0ZpZWxkQ29udHJvbFZhbHVlKSBhcyBFeHByZXNzaW9uT3JQcmltaXRpdmU8c3RyaW5nPiwgXCIwXCIpXG5cdFx0XHQpXG5cdFx0KTtcblx0fVxuXHRyZXR1cm4gb0ZpZWxkQ29udHJvbFZhbHVlID09PSBcIkNvbW1vbi5GaWVsZENvbnRyb2xUeXBlL0luYXBwbGljYWJsZVwiO1xufTtcblxuLyoqXG4gKiBDcmVhdGUgdGhlIGJpbmRpbmcgZXhwcmVzc2lvbiB0byBjaGVjayBpZiB0aGUgcHJvcGVydHkgaXMgcmVhZCBvbmx5IG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gb1RhcmdldCBUaGUgdGFyZ2V0IHByb3BlcnR5IG9yIERhdGFGaWVsZFxuICogQHJldHVybnMge0V4cHJlc3Npb25PclByaW1pdGl2ZTxib29sZWFuPn0gVGhlIGJpbmRpbmcgZXhwcmVzc2lvbiByZXNvbHZpbmcgdG8gYSBCb29sZWFuIGJlaW5nIHRydWUgaWYgaXQncyByZWFkIG9ubHlcbiAqL1xuZXhwb3J0IGNvbnN0IGlzUmVxdWlyZWRFeHByZXNzaW9uID0gZnVuY3Rpb24ob1RhcmdldDogYW55KTogRXhwcmVzc2lvbk9yUHJpbWl0aXZlPGJvb2xlYW4+IHtcblx0Y29uc3Qgb0ZpZWxkQ29udHJvbFZhbHVlID0gb1RhcmdldD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uRmllbGRDb250cm9sPy52YWx1ZU9mKCk7XG5cdGlmICh0eXBlb2Ygb0ZpZWxkQ29udHJvbFZhbHVlID09PSBcIm9iamVjdFwiKSB7XG5cdFx0cmV0dXJuIChcblx0XHRcdCEhb0ZpZWxkQ29udHJvbFZhbHVlICYmXG5cdFx0XHRvcihcblx0XHRcdFx0ZXF1YWwoYW5ub3RhdGlvbkV4cHJlc3Npb24ob0ZpZWxkQ29udHJvbFZhbHVlKSBhcyBFeHByZXNzaW9uT3JQcmltaXRpdmU8bnVtYmVyPiwgNyksXG5cdFx0XHRcdGVxdWFsKGFubm90YXRpb25FeHByZXNzaW9uKG9GaWVsZENvbnRyb2xWYWx1ZSkgYXMgRXhwcmVzc2lvbk9yUHJpbWl0aXZlPHN0cmluZz4sIFwiN1wiKVxuXHRcdFx0KVxuXHRcdCk7XG5cdH1cblx0cmV0dXJuIG9GaWVsZENvbnRyb2xWYWx1ZSA9PT0gXCJDb21tb24uRmllbGRDb250cm9sVHlwZS9NYW5kYXRvcnlcIjtcbn07XG4iXX0=
@@ -4,7 +4,7 @@ import { equal, Expression, ExpressionOrPrimitive, or, annotationExpression } fr
4
4
  * Create the binding expression to check if the property is non editable or not.
5
5
  *
6
6
  * @param {object} oTarget The target property or DataField
7
- * @returns {ExpressionOrPrimitive<boolean>} The binding expression resolving to a boolean being true if it's non editable
7
+ * @returns {ExpressionOrPrimitive<boolean>} The binding expression resolving to a Boolean being true if it's non editable
8
8
  */
9
9
  export const isNonEditableExpression = function(oTarget: any): Expression<boolean> {
10
10
  return or(isReadOnlyExpression(oTarget), isDisabledExpression(oTarget));
@@ -14,12 +14,18 @@ export const isNonEditableExpression = function(oTarget: any): Expression<boolea
14
14
  * Create the binding expression to check if the property is read only or not.
15
15
  *
16
16
  * @param {object} oTarget The target property or DataField
17
- * @returns {ExpressionOrPrimitive<boolean>} The binding expression resolving to a boolean being true if it's read only
17
+ * @returns {ExpressionOrPrimitive<boolean>} The binding expression resolving to a Boolean being true if it's read only
18
18
  */
19
19
  export const isReadOnlyExpression = function(oTarget: any): ExpressionOrPrimitive<boolean> {
20
20
  const oFieldControlValue = oTarget?.annotations?.Common?.FieldControl?.valueOf();
21
21
  if (typeof oFieldControlValue === "object") {
22
- return !!oFieldControlValue && equal(annotationExpression(oFieldControlValue) as ExpressionOrPrimitive<number>, 1);
22
+ return (
23
+ !!oFieldControlValue &&
24
+ or(
25
+ equal(annotationExpression(oFieldControlValue) as ExpressionOrPrimitive<number>, 1),
26
+ equal(annotationExpression(oFieldControlValue) as ExpressionOrPrimitive<string>, "1")
27
+ )
28
+ );
23
29
  }
24
30
  return oFieldControlValue === "Common.FieldControlType/ReadOnly";
25
31
  };
@@ -28,12 +34,18 @@ export const isReadOnlyExpression = function(oTarget: any): ExpressionOrPrimitiv
28
34
  * Create the binding expression to check if the property is disabled or not.
29
35
  *
30
36
  * @param {object} oTarget The target property or DataField
31
- * @returns {ExpressionOrPrimitive<boolean>} The binding expression resolving to a boolean being true if it's disabled
37
+ * @returns {ExpressionOrPrimitive<boolean>} The binding expression resolving to a Boolean being true if it's disabled
32
38
  */
33
39
  export const isDisabledExpression = function(oTarget: any): ExpressionOrPrimitive<boolean> {
34
40
  const oFieldControlValue = oTarget?.annotations?.Common?.FieldControl?.valueOf();
35
41
  if (typeof oFieldControlValue === "object") {
36
- return !!oFieldControlValue && equal(annotationExpression(oFieldControlValue) as ExpressionOrPrimitive<number>, 0);
42
+ return (
43
+ !!oFieldControlValue &&
44
+ or(
45
+ equal(annotationExpression(oFieldControlValue) as ExpressionOrPrimitive<number>, 0),
46
+ equal(annotationExpression(oFieldControlValue) as ExpressionOrPrimitive<string>, "0")
47
+ )
48
+ );
37
49
  }
38
50
  return oFieldControlValue === "Common.FieldControlType/Inapplicable";
39
51
  };
@@ -42,12 +54,18 @@ export const isDisabledExpression = function(oTarget: any): ExpressionOrPrimitiv
42
54
  * Create the binding expression to check if the property is read only or not.
43
55
  *
44
56
  * @param {object} oTarget The target property or DataField
45
- * @returns {ExpressionOrPrimitive<boolean>} The binding expression resolving to a boolean being true if it's read only
57
+ * @returns {ExpressionOrPrimitive<boolean>} The binding expression resolving to a Boolean being true if it's read only
46
58
  */
47
59
  export const isRequiredExpression = function(oTarget: any): ExpressionOrPrimitive<boolean> {
48
60
  const oFieldControlValue = oTarget?.annotations?.Common?.FieldControl?.valueOf();
49
61
  if (typeof oFieldControlValue === "object") {
50
- return !!oFieldControlValue && equal(annotationExpression(oFieldControlValue) as ExpressionOrPrimitive<number>, 7);
62
+ return (
63
+ !!oFieldControlValue &&
64
+ or(
65
+ equal(annotationExpression(oFieldControlValue) as ExpressionOrPrimitive<number>, 7),
66
+ equal(annotationExpression(oFieldControlValue) as ExpressionOrPrimitive<string>, "7")
67
+ )
68
+ );
51
69
  }
52
70
  return oFieldControlValue === "Common.FieldControlType/Mandatory";
53
71
  };