@sapui5/sap.fe.core 1.96.0 → 1.97.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 (96) hide show
  1. package/package.json +5 -5
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AnnotationHelper.js +2 -2
  4. package/src/sap/fe/core/CommonUtils.js +59 -274
  5. package/src/sap/fe/core/RouterProxy.js +52 -64
  6. package/src/sap/fe/core/TemplateComponent.js +2 -2
  7. package/src/sap/fe/core/TransactionHelper.js +18 -22
  8. package/src/sap/fe/core/actions/messageHandling.js +80 -4
  9. package/src/sap/fe/core/actions/operations.js +42 -23
  10. package/src/sap/fe/core/controllerextensions/EditFlow.js +36 -21
  11. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +9 -3
  12. package/src/sap/fe/core/controllerextensions/InternalRouting.js +20 -50
  13. package/src/sap/fe/core/controllerextensions/MessageHandler.js +222 -102
  14. package/src/sap/fe/core/controllerextensions/ViewState.js +33 -6
  15. package/src/sap/fe/core/controls/CustomQuickViewPage.js +109 -111
  16. package/src/sap/fe/core/controls/filterbar.d.js +8 -0
  17. package/src/sap/fe/core/controls/filterbar.d.ts +0 -0
  18. package/src/sap/fe/core/converters/ManifestSettings.js +2 -1
  19. package/src/sap/fe/core/converters/ManifestSettings.ts +4 -1
  20. package/src/sap/fe/core/converters/MetaModelConverter.js +10 -1
  21. package/src/sap/fe/core/converters/MetaModelConverter.ts +9 -1
  22. package/src/sap/fe/core/converters/annotations/DataField.js +2 -2
  23. package/src/sap/fe/core/converters/annotations/DataField.ts +1 -1
  24. package/src/sap/fe/core/converters/common/AnnotationConverter.js +67 -40
  25. package/src/sap/fe/core/converters/controls/Common/Action.js +6 -3
  26. package/src/sap/fe/core/converters/controls/Common/Action.ts +6 -3
  27. package/src/sap/fe/core/converters/controls/Common/Form.js +57 -18
  28. package/src/sap/fe/core/converters/controls/Common/Form.ts +51 -13
  29. package/src/sap/fe/core/converters/controls/Common/Table.js +130 -19
  30. package/src/sap/fe/core/converters/controls/Common/Table.ts +139 -18
  31. package/src/sap/fe/core/converters/helpers/ID.js +9 -1
  32. package/src/sap/fe/core/converters/helpers/ID.ts +4 -0
  33. package/src/sap/fe/core/converters/templates/ListReportConverter.js +18 -7
  34. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +17 -12
  35. package/src/sap/fe/core/designtime/AppComponent.designtime.js +2 -1
  36. package/src/sap/fe/core/formatters/TableFormatter.js +27 -4
  37. package/src/sap/fe/core/formatters/TableFormatter.ts +20 -3
  38. package/src/sap/fe/core/helpers/KeepAliveHelper.js +211 -0
  39. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +202 -0
  40. package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +32 -0
  41. package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.ts +36 -0
  42. package/src/sap/fe/core/helpers/ModelHelper.js +51 -0
  43. package/src/sap/fe/core/library.js +1 -1
  44. package/src/sap/fe/core/messagebundle.properties +15 -1
  45. package/src/sap/fe/core/messagebundle_ar.properties +10 -0
  46. package/src/sap/fe/core/messagebundle_bg.properties +10 -0
  47. package/src/sap/fe/core/messagebundle_ca.properties +10 -0
  48. package/src/sap/fe/core/messagebundle_cs.properties +10 -0
  49. package/src/sap/fe/core/messagebundle_cy.properties +10 -0
  50. package/src/sap/fe/core/messagebundle_da.properties +10 -0
  51. package/src/sap/fe/core/messagebundle_de.properties +10 -0
  52. package/src/sap/fe/core/messagebundle_el.properties +10 -0
  53. package/src/sap/fe/core/messagebundle_en.properties +10 -0
  54. package/src/sap/fe/core/messagebundle_en_GB.properties +10 -0
  55. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +6 -0
  56. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +11 -1
  57. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +11 -1
  58. package/src/sap/fe/core/messagebundle_es.properties +10 -0
  59. package/src/sap/fe/core/messagebundle_es_MX.properties +10 -0
  60. package/src/sap/fe/core/messagebundle_et.properties +10 -0
  61. package/src/sap/fe/core/messagebundle_fi.properties +10 -0
  62. package/src/sap/fe/core/messagebundle_fr.properties +10 -0
  63. package/src/sap/fe/core/messagebundle_fr_CA.properties +10 -0
  64. package/src/sap/fe/core/messagebundle_hi.properties +10 -0
  65. package/src/sap/fe/core/messagebundle_hr.properties +10 -0
  66. package/src/sap/fe/core/messagebundle_hu.properties +10 -0
  67. package/src/sap/fe/core/messagebundle_id.properties +11 -1
  68. package/src/sap/fe/core/messagebundle_it.properties +10 -0
  69. package/src/sap/fe/core/messagebundle_iw.properties +10 -0
  70. package/src/sap/fe/core/messagebundle_ja.properties +19 -9
  71. package/src/sap/fe/core/messagebundle_kk.properties +10 -0
  72. package/src/sap/fe/core/messagebundle_ko.properties +10 -0
  73. package/src/sap/fe/core/messagebundle_lt.properties +10 -0
  74. package/src/sap/fe/core/messagebundle_lv.properties +10 -0
  75. package/src/sap/fe/core/messagebundle_ms.properties +10 -0
  76. package/src/sap/fe/core/messagebundle_nl.properties +10 -0
  77. package/src/sap/fe/core/messagebundle_no.properties +10 -0
  78. package/src/sap/fe/core/messagebundle_pl.properties +10 -0
  79. package/src/sap/fe/core/messagebundle_pt.properties +11 -1
  80. package/src/sap/fe/core/messagebundle_pt_PT.properties +10 -0
  81. package/src/sap/fe/core/messagebundle_ro.properties +10 -0
  82. package/src/sap/fe/core/messagebundle_ru.properties +10 -0
  83. package/src/sap/fe/core/messagebundle_sh.properties +10 -0
  84. package/src/sap/fe/core/messagebundle_sk.properties +10 -0
  85. package/src/sap/fe/core/messagebundle_sl.properties +10 -0
  86. package/src/sap/fe/core/messagebundle_sv.properties +10 -0
  87. package/src/sap/fe/core/messagebundle_th.properties +10 -0
  88. package/src/sap/fe/core/messagebundle_tr.properties +10 -0
  89. package/src/sap/fe/core/messagebundle_uk.properties +10 -0
  90. package/src/sap/fe/core/messagebundle_vi.properties +10 -0
  91. package/src/sap/fe/core/messagebundle_zh_CN.properties +10 -0
  92. package/src/sap/fe/core/messagebundle_zh_TW.properties +10 -0
  93. package/src/sap/fe/core/services/RoutingServiceFactory.js +30 -19
  94. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
  95. package/src/sap/fe/core/templating/EntitySetHelper.js +80 -7
  96. package/src/sap/fe/core/templating/EntitySetHelper.ts +42 -2
@@ -86,14 +86,22 @@ T_MESSAGE_GROUP_TITLE_TABLE_DENOMINATOR=Tabu\u013Eka
86
86
 
87
87
  T_MESSAGE_BUTTON_SAPFE_MESSAGE_GROUP_LAST_ACTION=Posledn\u00E1 akcia
88
88
 
89
+ T_MESSAGE_ITEM_SUBTITLE_CREATION_ROW_INDICATOR=<Nov\u00E9>
90
+
89
91
  T_MESSAGE_ITEM_SUBTITLE_INDICATOR_UNKNOWN=Nezn\u00E1me
90
92
 
93
+ T_COLUMN_INDICATOR_IN_TABLE_DEFINITION=Skryt\u00E9
94
+
91
95
  T_MESSAGE_ITEM_SUBTITLE=Riadok\: {0}, st\u013Apec\: {1}
92
96
 
93
97
  C_COMMON_SAPFE_ERROR=Chyba
94
98
 
95
99
  C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE=Spr\u00E1vy
96
100
 
101
+ C_MESSAGE_HANDLING_SAPFE_503_TITLE=Sorry, this service is temporarily unavailable.
102
+
103
+ C_MESSAGE_HANDLING_SAPFE_503_Description=Please try {0}.
104
+
97
105
  C_COMMON_SAPFE_ERROR_MESSAGES_PAGE_TITLE_ERROR=Chyba
98
106
 
99
107
  C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE_WARNING=Upozornenie
@@ -221,6 +229,8 @@ C_DRAFT_EDIT_STATE_DRAFT_LOCKED_FILTER=Blokovan\u00E9 in\u00FDm pou\u017E\u00EDv
221
229
 
222
230
  C_DRAFT_EDIT_STATE_DRAFT_UNSAVED_CHANGES_FILTER=Neulo\u017Een\u00E9 zmeny in\u00E9ho pou\u017E\u00EDvate\u013Ea
223
231
 
232
+ C_DRAFT_EDIT_STATE_DRAFT_ALL_HIDING_DRAFTS_FILTER=V\u0161etko (potla\u010Denie n\u00E1vrhov)
233
+
224
234
  T_COMMON_SAPFE_ACTION_SHARE=Zdie\u013Eanie
225
235
 
226
236
 
@@ -86,14 +86,22 @@ T_MESSAGE_GROUP_TITLE_TABLE_DENOMINATOR=Tabela
86
86
 
87
87
  T_MESSAGE_BUTTON_SAPFE_MESSAGE_GROUP_LAST_ACTION=Zadnja akcija
88
88
 
89
+ T_MESSAGE_ITEM_SUBTITLE_CREATION_ROW_INDICATOR=<Novo>
90
+
89
91
  T_MESSAGE_ITEM_SUBTITLE_INDICATOR_UNKNOWN=Neznano
90
92
 
93
+ T_COLUMN_INDICATOR_IN_TABLE_DEFINITION=Skrito
94
+
91
95
  T_MESSAGE_ITEM_SUBTITLE=Vrstica\: {0}, stolpec\: {1}
92
96
 
93
97
  C_COMMON_SAPFE_ERROR=Napaka
94
98
 
95
99
  C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE=Sporo\u010Dila
96
100
 
101
+ C_MESSAGE_HANDLING_SAPFE_503_TITLE=Sorry, this service is temporarily unavailable.
102
+
103
+ C_MESSAGE_HANDLING_SAPFE_503_Description=Please try {0}.
104
+
97
105
  C_COMMON_SAPFE_ERROR_MESSAGES_PAGE_TITLE_ERROR=Napaka
98
106
 
99
107
  C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE_WARNING=Opozorilo
@@ -221,6 +229,8 @@ C_DRAFT_EDIT_STATE_DRAFT_LOCKED_FILTER=Blokira drug uporabnik
221
229
 
222
230
  C_DRAFT_EDIT_STATE_DRAFT_UNSAVED_CHANGES_FILTER=Neshranjene spremembe drugega uporabnika
223
231
 
232
+ C_DRAFT_EDIT_STATE_DRAFT_ALL_HIDING_DRAFTS_FILTER=Vse (skrivanje osnutkov)
233
+
224
234
  T_COMMON_SAPFE_ACTION_SHARE=Delitev
225
235
 
226
236
 
@@ -86,14 +86,22 @@ T_MESSAGE_GROUP_TITLE_TABLE_DENOMINATOR=Tabell
86
86
 
87
87
  T_MESSAGE_BUTTON_SAPFE_MESSAGE_GROUP_LAST_ACTION=Senaste \u00E5tg\u00E4rd
88
88
 
89
+ T_MESSAGE_ITEM_SUBTITLE_CREATION_ROW_INDICATOR=<Ny>
90
+
89
91
  T_MESSAGE_ITEM_SUBTITLE_INDICATOR_UNKNOWN=Ok\u00E4nd
90
92
 
93
+ T_COLUMN_INDICATOR_IN_TABLE_DEFINITION=Dold
94
+
91
95
  T_MESSAGE_ITEM_SUBTITLE=Rad\: {0}, kolumn\: {1}
92
96
 
93
97
  C_COMMON_SAPFE_ERROR=Fel
94
98
 
95
99
  C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE=Meddelanden
96
100
 
101
+ C_MESSAGE_HANDLING_SAPFE_503_TITLE=Sorry, this service is temporarily unavailable.
102
+
103
+ C_MESSAGE_HANDLING_SAPFE_503_Description=Please try {0}.
104
+
97
105
  C_COMMON_SAPFE_ERROR_MESSAGES_PAGE_TITLE_ERROR=Fel
98
106
 
99
107
  C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE_WARNING=Varning
@@ -221,6 +229,8 @@ C_DRAFT_EDIT_STATE_DRAFT_LOCKED_FILTER=Sp\u00E4rras av en annan anv\u00E4ndare
221
229
 
222
230
  C_DRAFT_EDIT_STATE_DRAFT_UNSAVED_CHANGES_FILTER=Ej sparade \u00E4ndringar av en annan anv\u00E4ndare
223
231
 
232
+ C_DRAFT_EDIT_STATE_DRAFT_ALL_HIDING_DRAFTS_FILTER=Alla (d\u00F6ljer utkast)
233
+
224
234
  T_COMMON_SAPFE_ACTION_SHARE=Dela
225
235
 
226
236
 
@@ -86,14 +86,22 @@ T_MESSAGE_GROUP_TITLE_TABLE_DENOMINATOR=\u0E15\u0E32\u0E23\u0E32\u0E07
86
86
 
87
87
  T_MESSAGE_BUTTON_SAPFE_MESSAGE_GROUP_LAST_ACTION=\u0E01\u0E32\u0E23\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E25\u0E48\u0E32\u0E2A\u0E38\u0E14
88
88
 
89
+ T_MESSAGE_ITEM_SUBTITLE_CREATION_ROW_INDICATOR=<\u0E43\u0E2B\u0E21\u0E48>
90
+
89
91
  T_MESSAGE_ITEM_SUBTITLE_INDICATOR_UNKNOWN=\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01
90
92
 
93
+ T_COLUMN_INDICATOR_IN_TABLE_DEFINITION=\u0E0B\u0E48\u0E2D\u0E19\u0E2D\u0E22\u0E39\u0E48
94
+
91
95
  T_MESSAGE_ITEM_SUBTITLE=\u0E41\u0E16\u0E27\: {0}, \u0E04\u0E2D\u0E25\u0E31\u0E21\u0E19\u0E4C\: {1}
92
96
 
93
97
  C_COMMON_SAPFE_ERROR=\u0E02\u0E49\u0E2D\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14
94
98
 
95
99
  C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE=\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21
96
100
 
101
+ C_MESSAGE_HANDLING_SAPFE_503_TITLE=Sorry, this service is temporarily unavailable.
102
+
103
+ C_MESSAGE_HANDLING_SAPFE_503_Description=Please try {0}.
104
+
97
105
  C_COMMON_SAPFE_ERROR_MESSAGES_PAGE_TITLE_ERROR=\u0E02\u0E49\u0E2D\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14
98
106
 
99
107
  C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE_WARNING=\u0E04\u0E33\u0E40\u0E15\u0E37\u0E2D\u0E19
@@ -221,6 +229,8 @@ C_DRAFT_EDIT_STATE_DRAFT_LOCKED_FILTER=\u0E16\u0E39\u0E01\u0E25\u0E47\u0E2D\u0E0
221
229
 
222
230
  C_DRAFT_EDIT_STATE_DRAFT_UNSAVED_CHANGES_FILTER=\u0E01\u0E32\u0E23\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E1B\u0E25\u0E07\u0E42\u0E14\u0E22\u0E1C\u0E39\u0E49\u0E43\u0E0A\u0E49\u0E2D\u0E37\u0E48\u0E19\u0E17\u0E35\u0E48\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E40\u0E01\u0E47\u0E1A\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01
223
231
 
232
+ C_DRAFT_EDIT_STATE_DRAFT_ALL_HIDING_DRAFTS_FILTER=\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14 (\u0E0B\u0E48\u0E2D\u0E19\u0E41\u0E1A\u0E1A\u0E23\u0E48\u0E32\u0E07)
233
+
224
234
  T_COMMON_SAPFE_ACTION_SHARE=\u0E41\u0E0A\u0E23\u0E4C
225
235
 
226
236
 
@@ -86,14 +86,22 @@ T_MESSAGE_GROUP_TITLE_TABLE_DENOMINATOR=Tablo
86
86
 
87
87
  T_MESSAGE_BUTTON_SAPFE_MESSAGE_GROUP_LAST_ACTION=Son i\u015Flem
88
88
 
89
+ T_MESSAGE_ITEM_SUBTITLE_CREATION_ROW_INDICATOR=<Yeni>
90
+
89
91
  T_MESSAGE_ITEM_SUBTITLE_INDICATOR_UNKNOWN=Bilinmiyor
90
92
 
93
+ T_COLUMN_INDICATOR_IN_TABLE_DEFINITION=Gizli
94
+
91
95
  T_MESSAGE_ITEM_SUBTITLE=Sat\u0131r\: {0}, S\u00FCtun\: {1}
92
96
 
93
97
  C_COMMON_SAPFE_ERROR=Hata
94
98
 
95
99
  C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE=\u0130letiler
96
100
 
101
+ C_MESSAGE_HANDLING_SAPFE_503_TITLE=Sorry, this service is temporarily unavailable.
102
+
103
+ C_MESSAGE_HANDLING_SAPFE_503_Description=Please try {0}.
104
+
97
105
  C_COMMON_SAPFE_ERROR_MESSAGES_PAGE_TITLE_ERROR=Hata
98
106
 
99
107
  C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE_WARNING=Uyar\u0131
@@ -221,6 +229,8 @@ C_DRAFT_EDIT_STATE_DRAFT_LOCKED_FILTER=Ba\u015Fka kullan\u0131c\u0131 taraf\u013
221
229
 
222
230
  C_DRAFT_EDIT_STATE_DRAFT_UNSAVED_CHANGES_FILTER=Ba\u015Fka kullan\u0131c\u0131 trfn.kaydedilmeyen de\u011Fi\u015Fiklikler
223
231
 
232
+ C_DRAFT_EDIT_STATE_DRAFT_ALL_HIDING_DRAFTS_FILTER=T\u00FCm\u00FC (taslaklar gizleniyor)
233
+
224
234
  T_COMMON_SAPFE_ACTION_SHARE=Payla\u015F
225
235
 
226
236
 
@@ -86,14 +86,22 @@ T_MESSAGE_GROUP_TITLE_TABLE_DENOMINATOR=\u0422\u0430\u0431\u043B\u0438\u0446\u04
86
86
 
87
87
  T_MESSAGE_BUTTON_SAPFE_MESSAGE_GROUP_LAST_ACTION=\u041E\u0441\u0442\u0430\u043D\u043D\u044F \u043E\u043F\u0435\u0440\u0430\u0446\u0456\u044F
88
88
 
89
+ T_MESSAGE_ITEM_SUBTITLE_CREATION_ROW_INDICATOR=<\u041D\u043E\u0432\u0435>
90
+
89
91
  T_MESSAGE_ITEM_SUBTITLE_INDICATOR_UNKNOWN=\u041D\u0435\u0432\u0456\u0434\u043E\u043C\u043E
90
92
 
93
+ T_COLUMN_INDICATOR_IN_TABLE_DEFINITION=\u041F\u0440\u0438\u0445\u043E\u0432\u0430\u043D\u043E
94
+
91
95
  T_MESSAGE_ITEM_SUBTITLE=\u0420\u044F\u0434\u043E\u043A\: {0}, \u0441\u0442\u043E\u0432\u043F\u0447\u0438\u043A\: {1}
92
96
 
93
97
  C_COMMON_SAPFE_ERROR=\u041F\u043E\u043C\u0438\u043B\u043A\u0430
94
98
 
95
99
  C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE=\u041F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u043D\u044F
96
100
 
101
+ C_MESSAGE_HANDLING_SAPFE_503_TITLE=Sorry, this service is temporarily unavailable.
102
+
103
+ C_MESSAGE_HANDLING_SAPFE_503_Description=Please try {0}.
104
+
97
105
  C_COMMON_SAPFE_ERROR_MESSAGES_PAGE_TITLE_ERROR=\u041F\u043E\u043C\u0438\u043B\u043A\u0430
98
106
 
99
107
  C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE_WARNING=\u0417\u0430\u0441\u0442\u0435\u0440\u0435\u0436\u0435\u043D\u043D\u044F
@@ -221,6 +229,8 @@ C_DRAFT_EDIT_STATE_DRAFT_LOCKED_FILTER=\u0417\u0430\u0431\u043B\u043E\u043A\u043
221
229
 
222
230
  C_DRAFT_EDIT_STATE_DRAFT_UNSAVED_CHANGES_FILTER=\u041D\u0435\u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u0456 \u0437\u043C\u0456\u043D\u0438 \u0456\u043D\u0448\u043E\u0433\u043E \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430
223
231
 
232
+ C_DRAFT_EDIT_STATE_DRAFT_ALL_HIDING_DRAFTS_FILTER=\u0412\u0441\u0435 (\u043F\u0440\u0438\u0445\u043E\u0432\u0430\u043D\u043D\u044F \u0447\u0435\u0440\u043D\u0435\u0442\u043E\u043A)
233
+
224
234
  T_COMMON_SAPFE_ACTION_SHARE=\u0412\u0438\u043A\u043E\u0440.\u0441\u043F\u0456\u043B\u044C\u043D\u043E
225
235
 
226
236
 
@@ -86,14 +86,22 @@ T_MESSAGE_GROUP_TITLE_TABLE_DENOMINATOR=Ba\u0309ng
86
86
 
87
87
  T_MESSAGE_BUTTON_SAPFE_MESSAGE_GROUP_LAST_ACTION=Thao ta\u0301c cu\u00F4\u0301i
88
88
 
89
+ T_MESSAGE_ITEM_SUBTITLE_CREATION_ROW_INDICATOR=<M\u01A1\u0301i>
90
+
89
91
  T_MESSAGE_ITEM_SUBTITLE_INDICATOR_UNKNOWN=Ch\u01B0a bi\u00EA\u0301t
90
92
 
93
+ T_COLUMN_INDICATOR_IN_TABLE_DEFINITION=\u00C2\u0309n
94
+
91
95
  T_MESSAGE_ITEM_SUBTITLE=Ha\u0300ng\: {0}, C\u00F4\u0323t \: {1}
92
96
 
93
97
  C_COMMON_SAPFE_ERROR=L\u1ED7i
94
98
 
95
99
  C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE=Th\u00F4ng ba\u0301o
96
100
 
101
+ C_MESSAGE_HANDLING_SAPFE_503_TITLE=Sorry, this service is temporarily unavailable.
102
+
103
+ C_MESSAGE_HANDLING_SAPFE_503_Description=Please try {0}.
104
+
97
105
  C_COMMON_SAPFE_ERROR_MESSAGES_PAGE_TITLE_ERROR=L\u00F4\u0303i
98
106
 
99
107
  C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE_WARNING=Ca\u0309nh ba\u0301o
@@ -221,6 +229,8 @@ C_DRAFT_EDIT_STATE_DRAFT_LOCKED_FILTER=Bi\u0323 kho\u0301a b\u01A1\u0309i ng\u01
221
229
 
222
230
  C_DRAFT_EDIT_STATE_DRAFT_UNSAVED_CHANGES_FILTER=Ca\u0301c thay \u0111\u00F4\u0309i ch\u01B0a l\u01B0u b\u01A1\u0309i ng\u01B0\u01A1\u0300i du\u0300ng kha\u0301c
223
231
 
232
+ C_DRAFT_EDIT_STATE_DRAFT_ALL_HIDING_DRAFTS_FILTER=T\u00E2\u0301t ca\u0309 (Ba\u0309n tha\u0309o \u00E2\u0309n)
233
+
224
234
  T_COMMON_SAPFE_ACTION_SHARE=Chia se\u0309
225
235
 
226
236
 
@@ -86,14 +86,22 @@ T_MESSAGE_GROUP_TITLE_TABLE_DENOMINATOR=\u8868
86
86
 
87
87
  T_MESSAGE_BUTTON_SAPFE_MESSAGE_GROUP_LAST_ACTION=\u4E0A\u6B21\u64CD\u4F5C
88
88
 
89
+ T_MESSAGE_ITEM_SUBTITLE_CREATION_ROW_INDICATOR=<\u65B0>
90
+
89
91
  T_MESSAGE_ITEM_SUBTITLE_INDICATOR_UNKNOWN=\u672A\u77E5
90
92
 
93
+ T_COLUMN_INDICATOR_IN_TABLE_DEFINITION=\u5DF2\u9690\u85CF
94
+
91
95
  T_MESSAGE_ITEM_SUBTITLE=\u884C\uFF1A{0}\uFF0C\u5217\uFF1A{1}
92
96
 
93
97
  C_COMMON_SAPFE_ERROR=\u9519\u8BEF
94
98
 
95
99
  C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE=\u6D88\u606F
96
100
 
101
+ C_MESSAGE_HANDLING_SAPFE_503_TITLE=Sorry, this service is temporarily unavailable.
102
+
103
+ C_MESSAGE_HANDLING_SAPFE_503_Description=Please try {0}.
104
+
97
105
  C_COMMON_SAPFE_ERROR_MESSAGES_PAGE_TITLE_ERROR=\u9519\u8BEF
98
106
 
99
107
  C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE_WARNING=\u8B66\u544A
@@ -221,6 +229,8 @@ C_DRAFT_EDIT_STATE_DRAFT_LOCKED_FILTER=\u5DF2\u7531\u53E6\u4E00\u7528\u6237\u950
221
229
 
222
230
  C_DRAFT_EDIT_STATE_DRAFT_UNSAVED_CHANGES_FILTER=\u53E6\u4E00\u7528\u6237\u672A\u4FDD\u5B58\u7684\u66F4\u6539
223
231
 
232
+ C_DRAFT_EDIT_STATE_DRAFT_ALL_HIDING_DRAFTS_FILTER=\u5168\u90E8\uFF08\u9690\u85CF\u8349\u7A3F\uFF09
233
+
224
234
  T_COMMON_SAPFE_ACTION_SHARE=\u5171\u4EAB
225
235
 
226
236
 
@@ -86,14 +86,22 @@ T_MESSAGE_GROUP_TITLE_TABLE_DENOMINATOR=\u8868\u683C
86
86
 
87
87
  T_MESSAGE_BUTTON_SAPFE_MESSAGE_GROUP_LAST_ACTION=\u6700\u5F8C\u52D5\u4F5C
88
88
 
89
+ T_MESSAGE_ITEM_SUBTITLE_CREATION_ROW_INDICATOR=<\u65B0>
90
+
89
91
  T_MESSAGE_ITEM_SUBTITLE_INDICATOR_UNKNOWN=\u672A\u77E5
90
92
 
93
+ T_COLUMN_INDICATOR_IN_TABLE_DEFINITION=\u5DF2\u96B1\u85CF
94
+
91
95
  T_MESSAGE_ITEM_SUBTITLE=\u5217\uFF1A{0}\u3001\u6B04\uFF1A{1}
92
96
 
93
97
  C_COMMON_SAPFE_ERROR=\u932F\u8AA4
94
98
 
95
99
  C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE=\u8A0A\u606F
96
100
 
101
+ C_MESSAGE_HANDLING_SAPFE_503_TITLE=Sorry, this service is temporarily unavailable.
102
+
103
+ C_MESSAGE_HANDLING_SAPFE_503_Description=Please try {0}.
104
+
97
105
  C_COMMON_SAPFE_ERROR_MESSAGES_PAGE_TITLE_ERROR=\u932F\u8AA4
98
106
 
99
107
  C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE_WARNING=\u8B66\u544A
@@ -221,6 +229,8 @@ C_DRAFT_EDIT_STATE_DRAFT_LOCKED_FILTER=\u5176\u4ED6\u4F7F\u7528\u8005\u5DF2\u939
221
229
 
222
230
  C_DRAFT_EDIT_STATE_DRAFT_UNSAVED_CHANGES_FILTER=\u5176\u4ED6\u4F7F\u7528\u8005\u672A\u5132\u5B58\u7684\u66F4\u6539\u5167\u5BB9
223
231
 
232
+ C_DRAFT_EDIT_STATE_DRAFT_ALL_HIDING_DRAFTS_FILTER=\u6240\u6709 (\u96B1\u85CF\u8349\u7A3F)
233
+
224
234
  T_COMMON_SAPFE_ACTION_SHARE=\u5171\u7528
225
235
 
226
236
 
@@ -425,7 +425,8 @@ sap.ui.define(
425
425
  * @param {boolean} [mParameters.bPersistOPScroll] The bPersistOPScroll will be used for scrolling to first tab
426
426
  * @param {number} [mParameters.updateFCLLevel] `+1` if we add a column in FCL, `-1` to remove a column, 0 to stay on the same column
427
427
  * @param {boolean} [mParameters.noPreservationCache] Do navigation without taking into account the preserved cache mechanism
428
- * @param {boolean} [mParameters.bRecreateContext] Force re-creation of the context instaed of using the one passed as parameter
428
+ * @param {boolean} [mParameters.bRecreateContext] Force re-creation of the context instead of using the one passed as parameter
429
+ * @param {boolean} [mParameters.bForceFocus] Forces focus selection after navigation
429
430
  * @param {object} [oViewData] View data
430
431
  * @param {object} [oCurrentTargetInfo] The target information from which the navigation is triggered
431
432
  * @returns {Promise} Promise which is resolved once the navigation is triggered
@@ -485,10 +486,7 @@ sap.ui.define(
485
486
  mEventParameters.routeInformation = this._getRouteInformation(this.sCurrentRouteName);
486
487
  mEventParameters.routePattern = this.sCurrentRoutePattern;
487
488
  mEventParameters.views = this.aCurrentViews;
488
-
489
- // Store a fake focus information for the current hash, so that the logic to find the first editable / clickable
490
- // element in the OP gets triggered
491
- this.oRouterProxy.storeFocusForHash(0, null, this.oRouterProxy.getHash());
489
+ this.oRouterProxy.setFocusForced(mParameters.bForceFocus);
492
490
 
493
491
  this._fireRouteMatchEvents(mEventParameters);
494
492
 
@@ -531,7 +529,7 @@ sap.ui.define(
531
529
  }.bind(this)
532
530
  );
533
531
  }
534
- return this.oRouterProxy.navToHash(sTargetPath, false, mParameters.noPreservationCache);
532
+ return this.oRouterProxy.navToHash(sTargetPath, false, mParameters.noPreservationCache, mParameters.bForceFocus);
535
533
  },
536
534
 
537
535
  /**
@@ -857,6 +855,31 @@ sap.ui.define(
857
855
  });
858
856
  },
859
857
 
858
+ _requestObjectsFromParameters: function(oStartUpParameters, aExternallyNavigablePages) {
859
+ var that = this;
860
+
861
+ // Load the respective objects for all object pages found in aExternallyNavigablePages
862
+ var aContextPromises = aExternallyNavigablePages.map(function(oPage) {
863
+ var oCompleteFilter, oListBind;
864
+ if (oPage.isSemanticKeyNavigation) {
865
+ oCompleteFilter = that._createFilter(oPage.draft, oPage.semanticKeys, oStartUpParameters);
866
+ } else {
867
+ oCompleteFilter = that._createFilter(oPage.draft, oPage.technicalKeys, oStartUpParameters);
868
+ }
869
+ // only request a minimum of fields to boost backend performance since this is only used to check if an object exists
870
+ oListBind = that.oModel.bindList(oPage.contextPath, undefined, undefined, oCompleteFilter, {
871
+ "$select": oPage.isSemanticKeyNavigation
872
+ ? oPage.semanticKeys.map(function(key) {
873
+ return key.$PropertyPath;
874
+ })
875
+ : oPage.technicalKeys
876
+ });
877
+ return oListBind.requestContexts(0, 2);
878
+ });
879
+
880
+ return Promise.all(aContextPromises);
881
+ },
882
+
860
883
  _manageDeeplinkStartup: function(oStartUpParameters) {
861
884
  var that = this,
862
885
  aExternallyNavigablePages;
@@ -870,19 +893,7 @@ sap.ui.define(
870
893
 
871
894
  aExternallyNavigablePages = that._findTargetPagesFromStartupParams(oLevelOfObjectPages, oStartUpParameters);
872
895
 
873
- // Load the respective objects for all object pages found in the previous step
874
- var aContextPromises = aExternallyNavigablePages.map(function(oPage) {
875
- var oCompleteFilter, oListBind;
876
- if (oPage.isSemanticKeyNavigation) {
877
- oCompleteFilter = that._createFilter(oPage.draft, oPage.semanticKeys, oStartUpParameters);
878
- } else {
879
- oCompleteFilter = that._createFilter(oPage.draft, oPage.technicalKeys, oStartUpParameters);
880
- }
881
- oListBind = that.oModel.bindList(oPage.contextPath, undefined, undefined, oCompleteFilter);
882
- return oListBind.requestContexts(0, 2);
883
- });
884
-
885
- return Promise.all(aContextPromises);
896
+ return that._requestObjectsFromParameters(oStartUpParameters, aExternallyNavigablePages);
886
897
  })
887
898
  .then(function(aValues) {
888
899
  if (aValues.length) {
@@ -81,7 +81,7 @@ sap.ui.define(
81
81
  scopeType: "component",
82
82
  scopeObject: oComponent,
83
83
  settings: {
84
- bundles: ["sap.fe.core.messagebundle", "sap.fe.templates.messagebundle"],
84
+ bundles: ["sap.fe.core.messagebundle", "sap.fe.macros.messagebundle", "sap.fe.templates.messagebundle"],
85
85
  enhanceI18n: aEnhanceI18n,
86
86
  modelName: "sap.fe.i18n"
87
87
  }
@@ -7,6 +7,18 @@ sap.ui.define([], function () {
7
7
 
8
8
  var _exports = {};
9
9
 
10
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
11
+
12
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+
14
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
15
+
16
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
17
+
18
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
19
+
20
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
21
+
10
22
  var isEntitySet = function (dataObject) {
11
23
  return dataObject && dataObject.hasOwnProperty("_type") && dataObject._type === "EntitySet";
12
24
  };
@@ -18,26 +30,87 @@ sap.ui.define([], function () {
18
30
 
19
31
  return ((_entitySet$annotation = entitySet.annotations) === null || _entitySet$annotation === void 0 ? void 0 : (_entitySet$annotation2 = _entitySet$annotation.Capabilities) === null || _entitySet$annotation2 === void 0 ? void 0 : (_entitySet$annotation3 = _entitySet$annotation2.FilterRestrictions) === null || _entitySet$annotation3 === void 0 ? void 0 : _entitySet$annotation3.FilterExpressionRestrictions) || [];
20
32
  };
33
+ /**
34
+ * Reads all SortRestrictions of the main entity and the (first level) navigation restrictions.
35
+ * This does not work for more than one level of navigation.
36
+ *
37
+ * @param {EntitySet} entitySet Entity set to be analyzed
38
+ * @returns {string[]} Array containing the property names of all non-sortable properties
39
+ */
40
+
21
41
 
22
42
  _exports.getFilterExpressionRestrictions = getFilterExpressionRestrictions;
23
43
 
24
44
  var getNonSortablePropertiesRestrictions = function (entitySet) {
25
- var _entitySet$annotation4, _entitySet$annotation5, _entitySet$annotation6, _entitySet$annotation7, _entitySet$annotation8;
45
+ var _entitySet$annotation4, _entitySet$annotation5, _entitySet$annotation6, _entitySet$annotation11, _entitySet$annotation12, _entitySet$annotation13, _entitySet$annotation14;
46
+
47
+ var nonSortableProperties = []; // Check annotations for main entity
48
+
49
+ if ((entitySet === null || entitySet === void 0 ? void 0 : (_entitySet$annotation4 = entitySet.annotations) === null || _entitySet$annotation4 === void 0 ? void 0 : (_entitySet$annotation5 = _entitySet$annotation4.Capabilities) === null || _entitySet$annotation5 === void 0 ? void 0 : (_entitySet$annotation6 = _entitySet$annotation5.SortRestrictions) === null || _entitySet$annotation6 === void 0 ? void 0 : _entitySet$annotation6.Sortable) === false) {
50
+ var _nonSortablePropertie;
51
+
52
+ // add all properties of the entity to the nonSortableProperties
53
+ (_nonSortablePropertie = nonSortableProperties).push.apply(_nonSortablePropertie, _toConsumableArray(entitySet.entityType.entityProperties.map(function (property) {
54
+ return property.name;
55
+ })));
56
+ } else {
57
+ var _entitySet$annotation7, _entitySet$annotation8, _entitySet$annotation9, _entitySet$annotation10;
58
+
59
+ nonSortableProperties = (entitySet === null || entitySet === void 0 ? void 0 : (_entitySet$annotation7 = entitySet.annotations) === null || _entitySet$annotation7 === void 0 ? void 0 : (_entitySet$annotation8 = _entitySet$annotation7.Capabilities) === null || _entitySet$annotation8 === void 0 ? void 0 : (_entitySet$annotation9 = _entitySet$annotation8.SortRestrictions) === null || _entitySet$annotation9 === void 0 ? void 0 : (_entitySet$annotation10 = _entitySet$annotation9.NonSortableProperties) === null || _entitySet$annotation10 === void 0 ? void 0 : _entitySet$annotation10.map(function (property) {
60
+ return property.value;
61
+ })) || [];
62
+ } // Check for every navigationRestriction if it has sortRestrictions
63
+
64
+
65
+ entitySet === null || entitySet === void 0 ? void 0 : (_entitySet$annotation11 = entitySet.annotations) === null || _entitySet$annotation11 === void 0 ? void 0 : (_entitySet$annotation12 = _entitySet$annotation11.Capabilities) === null || _entitySet$annotation12 === void 0 ? void 0 : (_entitySet$annotation13 = _entitySet$annotation12.NavigationRestrictions) === null || _entitySet$annotation13 === void 0 ? void 0 : (_entitySet$annotation14 = _entitySet$annotation13.RestrictedProperties) === null || _entitySet$annotation14 === void 0 ? void 0 : _entitySet$annotation14.forEach(function (navigationRestriction) {
66
+ var _navigationRestrictio;
67
+
68
+ if ((navigationRestriction === null || navigationRestriction === void 0 ? void 0 : (_navigationRestrictio = navigationRestriction.SortRestrictions) === null || _navigationRestrictio === void 0 ? void 0 : _navigationRestrictio.Sortable) === false) {
69
+ var _entitySet$entityType, _entitySet$entityType2;
70
+
71
+ // find correct navigation property
72
+ var navigationProperty = entitySet === null || entitySet === void 0 ? void 0 : (_entitySet$entityType = entitySet.entityType) === null || _entitySet$entityType === void 0 ? void 0 : (_entitySet$entityType2 = _entitySet$entityType.navigationProperties) === null || _entitySet$entityType2 === void 0 ? void 0 : _entitySet$entityType2.filter(function (navigationProperty) {
73
+ var _navigationRestrictio2;
74
+
75
+ return navigationProperty.name == (navigationRestriction === null || navigationRestriction === void 0 ? void 0 : (_navigationRestrictio2 = navigationRestriction.NavigationProperty) === null || _navigationRestrictio2 === void 0 ? void 0 : _navigationRestrictio2.value);
76
+ });
77
+
78
+ if (navigationProperty[0]) {
79
+ var _nonSortablePropertie2, _navigationProperty$;
80
+
81
+ // add all properties of the navigation property to the nonSortableProperties
82
+ (_nonSortablePropertie2 = nonSortableProperties).push.apply(_nonSortablePropertie2, _toConsumableArray((_navigationProperty$ = navigationProperty[0].targetType) === null || _navigationProperty$ === void 0 ? void 0 : _navigationProperty$.entityProperties.map(function (property) {
83
+ return navigationProperty[0].name + "/" + property.name;
84
+ })));
85
+ }
86
+ } else {
87
+ var _navigationRestrictio3, _navigationRestrictio4;
88
+
89
+ var nonSortableNavigationProperties = navigationRestriction === null || navigationRestriction === void 0 ? void 0 : (_navigationRestrictio3 = navigationRestriction.SortRestrictions) === null || _navigationRestrictio3 === void 0 ? void 0 : (_navigationRestrictio4 = _navigationRestrictio3.NonSortableProperties) === null || _navigationRestrictio4 === void 0 ? void 0 : _navigationRestrictio4.map(function (property) {
90
+ var _navigationRestrictio5;
91
+
92
+ return (navigationRestriction === null || navigationRestriction === void 0 ? void 0 : (_navigationRestrictio5 = navigationRestriction.NavigationProperty) === null || _navigationRestrictio5 === void 0 ? void 0 : _navigationRestrictio5.value) + "/" + property.value;
93
+ });
94
+
95
+ if (nonSortableNavigationProperties) {
96
+ var _nonSortablePropertie3;
26
97
 
27
- return (_entitySet$annotation4 = entitySet === null || entitySet === void 0 ? void 0 : (_entitySet$annotation5 = entitySet.annotations) === null || _entitySet$annotation5 === void 0 ? void 0 : (_entitySet$annotation6 = _entitySet$annotation5.Capabilities) === null || _entitySet$annotation6 === void 0 ? void 0 : (_entitySet$annotation7 = _entitySet$annotation6.SortRestrictions) === null || _entitySet$annotation7 === void 0 ? void 0 : (_entitySet$annotation8 = _entitySet$annotation7.NonSortableProperties) === null || _entitySet$annotation8 === void 0 ? void 0 : _entitySet$annotation8.map(function (property) {
28
- return property.value;
29
- })) !== null && _entitySet$annotation4 !== void 0 ? _entitySet$annotation4 : [];
98
+ (_nonSortablePropertie3 = nonSortableProperties).push.apply(_nonSortablePropertie3, _toConsumableArray(nonSortableNavigationProperties));
99
+ }
100
+ }
101
+ });
102
+ return nonSortableProperties;
30
103
  };
31
104
 
32
105
  _exports.getNonSortablePropertiesRestrictions = getNonSortablePropertiesRestrictions;
33
106
 
34
107
  var isStickySessionSupported = function (entitySet) {
35
- var _entitySet$annotation9;
108
+ var _entitySet$annotation15;
36
109
 
37
- return !!((_entitySet$annotation9 = entitySet.annotations.Session) !== null && _entitySet$annotation9 !== void 0 && _entitySet$annotation9.StickySessionSupported);
110
+ return !!((_entitySet$annotation15 = entitySet.annotations.Session) !== null && _entitySet$annotation15 !== void 0 && _entitySet$annotation15.StickySessionSupported);
38
111
  };
39
112
 
40
113
  _exports.isStickySessionSupported = isStickySessionSupported;
41
114
  return _exports;
42
115
  }, false);
43
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkVudGl0eVNldEhlbHBlci50cyJdLCJuYW1lcyI6WyJpc0VudGl0eVNldCIsImRhdGFPYmplY3QiLCJoYXNPd25Qcm9wZXJ0eSIsIl90eXBlIiwiZ2V0RmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyIsImVudGl0eVNldCIsImFubm90YXRpb25zIiwiQ2FwYWJpbGl0aWVzIiwiRmlsdGVyUmVzdHJpY3Rpb25zIiwiRmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyIsImdldE5vblNvcnRhYmxlUHJvcGVydGllc1Jlc3RyaWN0aW9ucyIsIlNvcnRSZXN0cmljdGlvbnMiLCJOb25Tb3J0YWJsZVByb3BlcnRpZXMiLCJtYXAiLCJwcm9wZXJ0eSIsInZhbHVlIiwiaXNTdGlja3lTZXNzaW9uU3VwcG9ydGVkIiwiU2Vzc2lvbiIsIlN0aWNreVNlc3Npb25TdXBwb3J0ZWQiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7OztBQUFPLE1BQU1BLFdBQVcsR0FBRyxVQUFTQyxVQUFULEVBQW1EO0FBQzdFLFdBQU9BLFVBQVUsSUFBSUEsVUFBVSxDQUFDQyxjQUFYLENBQTBCLE9BQTFCLENBQWQsSUFBb0RELFVBQVUsQ0FBQ0UsS0FBWCxLQUFxQixXQUFoRjtBQUNBLEdBRk07Ozs7QUFJQSxNQUFNQywrQkFBK0IsR0FBRyxVQUFTQyxTQUFULEVBQStCO0FBQUE7O0FBQzdFLFdBQU8sMEJBQUFBLFNBQVMsQ0FBQ0MsV0FBViwwR0FBdUJDLFlBQXZCLDRHQUFxQ0Msa0JBQXJDLGtGQUF5REMsNEJBQXpELEtBQXlGLEVBQWhHO0FBQ0EsR0FGTTs7OztBQUlBLE1BQU1DLG9DQUFvQyxHQUFHLFVBQVNMLFNBQVQsRUFBMkM7QUFBQTs7QUFDOUYscUNBQU9BLFNBQVAsYUFBT0EsU0FBUCxpREFBT0EsU0FBUyxDQUFFQyxXQUFsQixxRkFBTyx1QkFBd0JDLFlBQS9CLHFGQUFPLHVCQUFzQ0ksZ0JBQTdDLHFGQUFPLHVCQUF3REMscUJBQS9ELDJEQUFPLHVCQUErRUMsR0FBL0UsQ0FBbUYsVUFBQUMsUUFBUTtBQUFBLGFBQUlBLFFBQVEsQ0FBQ0MsS0FBYjtBQUFBLEtBQTNGLENBQVAsMkVBQXlILEVBQXpIO0FBQ0EsR0FGTTs7OztBQUlBLE1BQU1DLHdCQUF3QixHQUFHLFVBQVNYLFNBQVQsRUFBd0M7QUFBQTs7QUFDL0UsV0FBTyxDQUFDLDRCQUFDQSxTQUFTLENBQUNDLFdBQVYsQ0FBc0JXLE9BQXZCLG1EQUFDLHVCQUErQkMsc0JBQWhDLENBQVI7QUFDQSxHQUZNIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHlTZXQgfSBmcm9tIFwiQHNhcC11eC9hbm5vdGF0aW9uLWNvbnZlcnRlclwiO1xuXG5leHBvcnQgY29uc3QgaXNFbnRpdHlTZXQgPSBmdW5jdGlvbihkYXRhT2JqZWN0OiBhbnkpOiBkYXRhT2JqZWN0IGlzIEVudGl0eVNldCB7XG5cdHJldHVybiBkYXRhT2JqZWN0ICYmIGRhdGFPYmplY3QuaGFzT3duUHJvcGVydHkoXCJfdHlwZVwiKSAmJiBkYXRhT2JqZWN0Ll90eXBlID09PSBcIkVudGl0eVNldFwiO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvbnMgPSBmdW5jdGlvbihlbnRpdHlTZXQ6IEVudGl0eVNldCkge1xuXHRyZXR1cm4gZW50aXR5U2V0LmFubm90YXRpb25zPy5DYXBhYmlsaXRpZXM/LkZpbHRlclJlc3RyaWN0aW9ucz8uRmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyB8fCBbXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXROb25Tb3J0YWJsZVByb3BlcnRpZXNSZXN0cmljdGlvbnMgPSBmdW5jdGlvbihlbnRpdHlTZXQ6IEVudGl0eVNldCB8IHVuZGVmaW5lZCkge1xuXHRyZXR1cm4gZW50aXR5U2V0Py5hbm5vdGF0aW9ucz8uQ2FwYWJpbGl0aWVzPy5Tb3J0UmVzdHJpY3Rpb25zPy5Ob25Tb3J0YWJsZVByb3BlcnRpZXM/Lm1hcChwcm9wZXJ0eSA9PiBwcm9wZXJ0eS52YWx1ZSkgPz8gW107XG59O1xuXG5leHBvcnQgY29uc3QgaXNTdGlja3lTZXNzaW9uU3VwcG9ydGVkID0gZnVuY3Rpb24oZW50aXR5U2V0OiBFbnRpdHlTZXQpOiBib29sZWFuIHtcblx0cmV0dXJuICEhZW50aXR5U2V0LmFubm90YXRpb25zLlNlc3Npb24/LlN0aWNreVNlc3Npb25TdXBwb3J0ZWQ7XG59O1xuIl19
116
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkVudGl0eVNldEhlbHBlci50cyJdLCJuYW1lcyI6WyJpc0VudGl0eVNldCIsImRhdGFPYmplY3QiLCJoYXNPd25Qcm9wZXJ0eSIsIl90eXBlIiwiZ2V0RmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyIsImVudGl0eVNldCIsImFubm90YXRpb25zIiwiQ2FwYWJpbGl0aWVzIiwiRmlsdGVyUmVzdHJpY3Rpb25zIiwiRmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyIsImdldE5vblNvcnRhYmxlUHJvcGVydGllc1Jlc3RyaWN0aW9ucyIsIm5vblNvcnRhYmxlUHJvcGVydGllcyIsIlNvcnRSZXN0cmljdGlvbnMiLCJTb3J0YWJsZSIsInB1c2giLCJlbnRpdHlUeXBlIiwiZW50aXR5UHJvcGVydGllcyIsIm1hcCIsInByb3BlcnR5IiwibmFtZSIsIk5vblNvcnRhYmxlUHJvcGVydGllcyIsInZhbHVlIiwiTmF2aWdhdGlvblJlc3RyaWN0aW9ucyIsIlJlc3RyaWN0ZWRQcm9wZXJ0aWVzIiwiZm9yRWFjaCIsIm5hdmlnYXRpb25SZXN0cmljdGlvbiIsIm5hdmlnYXRpb25Qcm9wZXJ0eSIsIm5hdmlnYXRpb25Qcm9wZXJ0aWVzIiwiZmlsdGVyIiwiTmF2aWdhdGlvblByb3BlcnR5IiwidGFyZ2V0VHlwZSIsIm5vblNvcnRhYmxlTmF2aWdhdGlvblByb3BlcnRpZXMiLCJpc1N0aWNreVNlc3Npb25TdXBwb3J0ZWQiLCJTZXNzaW9uIiwiU3RpY2t5U2Vzc2lvblN1cHBvcnRlZCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ08sTUFBTUEsV0FBVyxHQUFHLFVBQVNDLFVBQVQsRUFBbUQ7QUFDN0UsV0FBT0EsVUFBVSxJQUFJQSxVQUFVLENBQUNDLGNBQVgsQ0FBMEIsT0FBMUIsQ0FBZCxJQUFvREQsVUFBVSxDQUFDRSxLQUFYLEtBQXFCLFdBQWhGO0FBQ0EsR0FGTTs7OztBQUlBLE1BQU1DLCtCQUErQixHQUFHLFVB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QUF4QixrRkFBdUVSLEtBQXZFLElBQStFLEdBQS9FLEdBQXFGSCxRQUFRLENBQUNHLEtBQWxHO0FBQUEsU0FEK0IsQ0FBeEM7O0FBR0EsWUFBSVUsK0JBQUosRUFBcUM7QUFBQTs7QUFDcEMsb0NBQUFwQixxQkFBcUIsRUFBQ0csSUFBdEIsa0RBQThCaUIsK0JBQTlCO0FBQ0E7QUFDRDtBQUNELEtBckJEO0FBc0JBLFdBQU9wQixxQkFBUDtBQUNBLEdBbENNOzs7O0FBb0NBLE1BQU1xQix3QkFBd0IsR0FBRyxVQUFTM0IsU0FBVCxFQUF3QztBQUFBOztBQUMvRSxXQUFPLENBQUMsNkJBQUNBLFNBQVMsQ0FBQ0MsV0FBVixDQUFzQjJCLE9BQXZCLG9EQUFDLHdCQUErQkMsc0JBQWhDLENBQVI7QUFDQSxHQUZNIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHlTZXQgfSBmcm9tIFwiQHNhcC11eC9hbm5vdGF0aW9uLWNvbnZlcnRlclwiO1xuaW1wb3J0IHsgTmF2aWdhdGlvblByb3BlcnR5UGF0aCB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgaXNFbnRpdHlTZXQgPSBmdW5jdGlvbihkYXRhT2JqZWN0OiBhbnkpOiBkYXRhT2JqZWN0IGlzIEVudGl0eVNldCB7XG5cdHJldHVybiBkYXRhT2JqZWN0ICYmIGRhdGFPYmplY3QuaGFzT3duUHJvcGVydHkoXCJfdHlwZVwiKSAmJiBkYXRhT2JqZWN0Ll90eXBlID09PSBcIkVudGl0eVNldFwiO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvbnMgPSBmdW5jdGlvbihlbnRpdHlTZXQ6IEVudGl0eVNldCkge1xuXHRyZXR1cm4gZW50aXR5U2V0LmFubm90YXRpb25zPy5DYXBhYmlsaXRpZXM/LkZpbHRlclJlc3RyaWN0aW9ucz8uRmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyB8fCBbXTtcbn07XG5cbi8qKlxuICogUmVhZHMgYWxsIFNvcnRSZXN0cmljdGlvbnMgb2YgdGhlIG1haW4gZW50aXR5IGFuZCB0aGUgKGZpcnN0IGxldmVsKSBuYXZpZ2F0aW9uIHJlc3RyaWN0aW9ucy5cbiAqIFRoaXMgZG9lcyBub3Qgd29yayBmb3IgbW9yZSB0aGFuIG9uZSBsZXZlbCBvZiBuYXZpZ2F0aW9uLlxuICpcbiAqIEBwYXJhbSB7RW50aXR5U2V0fSBlbnRpdHlTZXQgRW50aXR5IHNldCB0byBiZSBhbmFseXplZFxuICogQHJldHVybnMge3N0cmluZ1tdfSBBcnJheSBjb250YWluaW5nIHRoZSBwcm9wZXJ0eSBuYW1lcyBvZiBhbGwgbm9uLXNvcnRhYmxlIHByb3BlcnRpZXNcbiAqL1xuZXhwb3J0IGNvbnN0IGdldE5vblNvcnRhYmxlUHJvcGVydGllc1Jlc3RyaWN0aW9ucyA9IGZ1bmN0aW9uKGVudGl0eVNldDogRW50aXR5U2V0IHwgdW5kZWZpbmVkKTogc3RyaW5nW10ge1xuXHRsZXQgbm9uU29ydGFibGVQcm9wZXJ0aWVzID0gW107XG5cdC8vIENoZWNrIGFubm90YXRpb25zIGZvciBtYWluIGVudGl0eVxuXHRpZiAoZW50aXR5U2V0Py5hbm5vdGF0aW9ucz8uQ2FwYWJpbGl0aWVzPy5Tb3J0UmVzdHJpY3Rpb25zPy5Tb3J0YWJsZSA9PT0gZmFsc2UpIHtcblx0XHQvLyBhZGQgYWxsIHByb3BlcnRpZXMgb2YgdGhlIGVudGl0eSB0byB0aGUgbm9uU29ydGFibGVQcm9wZXJ0aWVzXG5cdFx0bm9uU29ydGFibGVQcm9wZXJ0aWVzLnB1c2goLi4uZW50aXR5U2V0LmVudGl0eVR5cGUuZW50aXR5UHJvcGVydGllcy5tYXAocHJvcGVydHkgPT4gcHJvcGVydHkubmFtZSkpO1xuXHR9IGVsc2Uge1xuXHRcdG5vblNvcnRhYmxlUHJvcGVydGllcyA9XG5cdFx0XHRlbnRpdHlTZXQ/LmFubm90YXRpb25zPy5DYXBhYmlsaXRpZXM/LlNvcnRSZXN0cmljdGlvbnM/Lk5vblNvcnRhYmxlUHJvcGVydGllcz8ubWFwKHByb3BlcnR5ID0+IHByb3BlcnR5LnZhbHVlKSB8fCBbXTtcblx0fVxuXHQvLyBDaGVjayBmb3IgZXZlcnkgbmF2aWdhdGlvblJlc3RyaWN0aW9uIGlmIGl0IGhhcyBzb3J0UmVzdHJpY3Rpb25zXG5cdGVudGl0eVNldD8uYW5ub3RhdGlvbnM/LkNhcGFiaWxpdGllcz8uTmF2aWdhdGlvblJlc3RyaWN0aW9ucz8uUmVzdHJpY3RlZFByb3BlcnRpZXM/LmZvckVhY2gobmF2aWdhdGlvblJlc3RyaWN0aW9uID0+IHtcblx0XHRpZiAobmF2aWdhdGlvblJlc3RyaWN0aW9uPy5Tb3J0UmVzdHJpY3Rpb25zPy5Tb3J0YWJsZSA9PT0gZmFsc2UpIHtcblx0XHRcdC8vIGZpbmQgY29ycmVjdCBuYXZpZ2F0aW9uIHByb3BlcnR5XG5cdFx0XHRjb25zdCBuYXZpZ2F0aW9uUHJvcGVydHkgPSBlbnRpdHlTZXQ/LmVudGl0eVR5cGU/Lm5hdmlnYXRpb25Qcm9wZXJ0aWVzPy5maWx0ZXIoXG5cdFx0XHRcdG5hdmlnYXRpb25Qcm9wZXJ0eSA9PlxuXHRcdFx0XHRcdG5hdmlnYXRpb25Qcm9wZXJ0eS5uYW1lID09IChuYXZpZ2F0aW9uUmVzdHJpY3Rpb24/Lk5hdmlnYXRpb25Qcm9wZXJ0eSBhcyBOYXZpZ2F0aW9uUHJvcGVydHlQYXRoKT8udmFsdWVcblx0XHRcdCk7XG5cdFx0XHRpZiAobmF2aWdhdGlvblByb3BlcnR5WzBdKSB7XG5cdFx0XHRcdC8vIGFkZCBhbGwgcHJvcGVydGllcyBvZiB0aGUgbmF2aWdhdGlvbiBwcm9wZXJ0eSB0byB0aGUgbm9uU29ydGFibGVQcm9wZXJ0aWVzXG5cdFx0XHRcdG5vblNvcnRhYmxlUHJvcGVydGllcy5wdXNoKFxuXHRcdFx0XHRcdC4uLm5hdmlnYXRpb25Qcm9wZXJ0eVswXS50YXJnZXRUeXBlPy5lbnRpdHlQcm9wZXJ0aWVzLm1hcChwcm9wZXJ0eSA9PiBuYXZpZ2F0aW9uUHJvcGVydHlbMF0ubmFtZSArIFwiL1wiICsgcHJvcGVydHkubmFtZSlcblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0Y29uc3Qgbm9uU29ydGFibGVOYXZpZ2F0aW9uUHJvcGVydGllcyA9IG5hdmlnYXRpb25SZXN0cmljdGlvbj8uU29ydFJlc3RyaWN0aW9ucz8uTm9uU29ydGFibGVQcm9wZXJ0aWVzPy5tYXAoXG5cdFx0XHRcdHByb3BlcnR5ID0+IChuYXZpZ2F0aW9uUmVzdHJpY3Rpb24/Lk5hdmlnYXRpb25Qcm9wZXJ0eSBhcyBOYXZpZ2F0aW9uUHJvcGVydHlQYXRoKT8udmFsdWUgKyBcIi9cIiArIHByb3BlcnR5LnZhbHVlXG5cdFx0XHQpO1xuXHRcdFx0aWYgKG5vblNvcnRhYmxlTmF2aWdhdGlvblByb3BlcnRpZXMpIHtcblx0XHRcdFx0bm9uU29ydGFibGVQcm9wZXJ0aWVzLnB1c2goLi4ubm9uU29ydGFibGVOYXZpZ2F0aW9uUHJvcGVydGllcyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9KTtcblx0cmV0dXJuIG5vblNvcnRhYmxlUHJvcGVydGllcztcbn07XG5cbmV4cG9ydCBjb25zdCBpc1N0aWNreVNlc3Npb25TdXBwb3J0ZWQgPSBmdW5jdGlvbihlbnRpdHlTZXQ6IEVudGl0eVNldCk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISFlbnRpdHlTZXQuYW5ub3RhdGlvbnMuU2Vzc2lvbj8uU3RpY2t5U2Vzc2lvblN1cHBvcnRlZDtcbn07XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  import { EntitySet } from "@sap-ux/annotation-converter";
2
+ import { NavigationPropertyPath } from "@sap-ux/vocabularies-types";
2
3
 
3
4
  export const isEntitySet = function(dataObject: any): dataObject is EntitySet {
4
5
  return dataObject && dataObject.hasOwnProperty("_type") && dataObject._type === "EntitySet";
@@ -8,8 +9,47 @@ export const getFilterExpressionRestrictions = function(entitySet: EntitySet) {
8
9
  return entitySet.annotations?.Capabilities?.FilterRestrictions?.FilterExpressionRestrictions || [];
9
10
  };
10
11
 
11
- export const getNonSortablePropertiesRestrictions = function(entitySet: EntitySet | undefined) {
12
- return entitySet?.annotations?.Capabilities?.SortRestrictions?.NonSortableProperties?.map(property => property.value) ?? [];
12
+ /**
13
+ * Reads all SortRestrictions of the main entity and the (first level) navigation restrictions.
14
+ * This does not work for more than one level of navigation.
15
+ *
16
+ * @param {EntitySet} entitySet Entity set to be analyzed
17
+ * @returns {string[]} Array containing the property names of all non-sortable properties
18
+ */
19
+ export const getNonSortablePropertiesRestrictions = function(entitySet: EntitySet | undefined): string[] {
20
+ let nonSortableProperties = [];
21
+ // Check annotations for main entity
22
+ if (entitySet?.annotations?.Capabilities?.SortRestrictions?.Sortable === false) {
23
+ // add all properties of the entity to the nonSortableProperties
24
+ nonSortableProperties.push(...entitySet.entityType.entityProperties.map(property => property.name));
25
+ } else {
26
+ nonSortableProperties =
27
+ entitySet?.annotations?.Capabilities?.SortRestrictions?.NonSortableProperties?.map(property => property.value) || [];
28
+ }
29
+ // Check for every navigationRestriction if it has sortRestrictions
30
+ entitySet?.annotations?.Capabilities?.NavigationRestrictions?.RestrictedProperties?.forEach(navigationRestriction => {
31
+ if (navigationRestriction?.SortRestrictions?.Sortable === false) {
32
+ // find correct navigation property
33
+ const navigationProperty = entitySet?.entityType?.navigationProperties?.filter(
34
+ navigationProperty =>
35
+ navigationProperty.name == (navigationRestriction?.NavigationProperty as NavigationPropertyPath)?.value
36
+ );
37
+ if (navigationProperty[0]) {
38
+ // add all properties of the navigation property to the nonSortableProperties
39
+ nonSortableProperties.push(
40
+ ...navigationProperty[0].targetType?.entityProperties.map(property => navigationProperty[0].name + "/" + property.name)
41
+ );
42
+ }
43
+ } else {
44
+ const nonSortableNavigationProperties = navigationRestriction?.SortRestrictions?.NonSortableProperties?.map(
45
+ property => (navigationRestriction?.NavigationProperty as NavigationPropertyPath)?.value + "/" + property.value
46
+ );
47
+ if (nonSortableNavigationProperties) {
48
+ nonSortableProperties.push(...nonSortableNavigationProperties);
49
+ }
50
+ }
51
+ });
52
+ return nonSortableProperties;
13
53
  };
14
54
 
15
55
  export const isStickySessionSupported = function(entitySet: EntitySet): boolean {