@sapui5/sap.suite.ui.generic.template 1.152.1 → 1.154.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 (265) hide show
  1. package/package.json +1 -1
  2. package/src/sap/suite/ui/generic/template/.library +1 -1
  3. package/src/sap/suite/ui/generic/template/AnalyticalListPage/controller/ControllerImplementation.js +31 -2
  4. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n.properties +7 -2
  5. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ar.properties +3 -0
  6. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_bg.properties +3 -0
  7. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ca.properties +3 -0
  8. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_cnr.properties +3 -0
  9. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_cs.properties +3 -0
  10. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_cy.properties +3 -0
  11. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_da.properties +3 -0
  12. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_de.properties +3 -0
  13. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_el.properties +3 -0
  14. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_en.properties +3 -0
  15. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_en_GB.properties +3 -0
  16. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_en_US_sappsd.properties +3 -0
  17. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_en_US_saprigi.properties +3 -0
  18. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_es.properties +3 -0
  19. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_es_MX.properties +3 -0
  20. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_et.properties +3 -0
  21. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_fi.properties +3 -0
  22. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_fr.properties +3 -0
  23. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_fr_CA.properties +3 -0
  24. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_hi.properties +3 -0
  25. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_hr.properties +3 -0
  26. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_hu.properties +3 -0
  27. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_id.properties +3 -0
  28. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_it.properties +3 -0
  29. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_iw.properties +3 -0
  30. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ja.properties +3 -0
  31. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_kk.properties +3 -0
  32. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ko.properties +3 -0
  33. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_lt.properties +3 -0
  34. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_lv.properties +3 -0
  35. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_mk.properties +3 -0
  36. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ms.properties +3 -0
  37. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_nl.properties +3 -0
  38. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_no.properties +3 -0
  39. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_pl.properties +3 -0
  40. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_pt.properties +3 -0
  41. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_pt_PT.properties +3 -0
  42. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ro.properties +3 -0
  43. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ru.properties +3 -0
  44. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sh.properties +3 -0
  45. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sk.properties +3 -0
  46. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sl.properties +3 -0
  47. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sr.properties +3 -0
  48. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sv.properties +3 -0
  49. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_th.properties +3 -0
  50. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_tr.properties +3 -0
  51. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_uk.properties +3 -0
  52. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_vi.properties +3 -0
  53. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_zh_CN.properties +3 -0
  54. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_zh_TW.properties +3 -0
  55. package/src/sap/suite/ui/generic/template/AnalyticalListPage/manifest.json +8 -3
  56. package/src/sap/suite/ui/generic/template/AnalyticalListPage/view/fragments/FilterContainer.fragment.xml +2 -1
  57. package/src/sap/suite/ui/generic/template/AnalyticalListPage/view/fragments/HeaderCommands.fragment.xml +1 -1
  58. package/src/sap/suite/ui/generic/template/AnalyticalListPage/view/fragments/SmartFilterBar.fragment.xml +1 -1
  59. package/src/sap/suite/ui/generic/template/Canvas/manifest.json +1 -1
  60. package/src/sap/suite/ui/generic/template/ListReport/Component.js +25 -1
  61. package/src/sap/suite/ui/generic/template/ListReport/controller/ControllerImplementation.js +121 -25
  62. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n.properties +6 -3
  63. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ar.properties +2 -0
  64. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_bg.properties +2 -0
  65. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ca.properties +2 -0
  66. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cnr.properties +2 -0
  67. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cs.properties +2 -0
  68. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cy.properties +2 -0
  69. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_da.properties +2 -0
  70. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_de.properties +2 -0
  71. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_el.properties +2 -0
  72. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en.properties +3 -1
  73. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en_GB.properties +2 -0
  74. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en_US_sappsd.properties +2 -0
  75. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en_US_saprigi.properties +2 -0
  76. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_es.properties +3 -1
  77. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_es_MX.properties +2 -0
  78. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_et.properties +2 -0
  79. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fi.properties +2 -0
  80. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fr.properties +2 -0
  81. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fr_CA.properties +2 -0
  82. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_hi.properties +2 -0
  83. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_hr.properties +2 -0
  84. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_hu.properties +2 -0
  85. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_id.properties +2 -0
  86. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_it.properties +2 -0
  87. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_iw.properties +2 -0
  88. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ja.properties +4 -2
  89. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_kk.properties +2 -0
  90. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ko.properties +2 -0
  91. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_lt.properties +2 -0
  92. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_lv.properties +2 -0
  93. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_mk.properties +2 -0
  94. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ms.properties +2 -0
  95. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_nl.properties +2 -0
  96. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_no.properties +2 -0
  97. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_pl.properties +2 -0
  98. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_pt.properties +2 -0
  99. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_pt_PT.properties +2 -0
  100. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ro.properties +2 -0
  101. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ru.properties +2 -0
  102. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sh.properties +2 -0
  103. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sk.properties +2 -0
  104. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sl.properties +2 -0
  105. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sr.properties +2 -0
  106. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sv.properties +2 -0
  107. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_th.properties +2 -0
  108. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_tr.properties +2 -0
  109. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_uk.properties +3 -1
  110. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_vi.properties +2 -0
  111. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_zh_CN.properties +4 -2
  112. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_zh_TW.properties +5 -3
  113. package/src/sap/suite/ui/generic/template/ListReport/manifest.json +7 -2
  114. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/HeaderCommands.fragment.xml +21 -15
  115. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartFilterBar.fragment.xml +1 -1
  116. package/src/sap/suite/ui/generic/template/ObjectPage/controller/ControllerImplementation.js +96 -14
  117. package/src/sap/suite/ui/generic/template/ObjectPage/controller/SectionTitleHandler.js +1 -1
  118. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n.properties +6 -0
  119. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ar.properties +4 -0
  120. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_bg.properties +4 -0
  121. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ca.properties +4 -0
  122. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cnr.properties +4 -0
  123. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cs.properties +4 -0
  124. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cy.properties +4 -0
  125. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_da.properties +4 -0
  126. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_de.properties +4 -0
  127. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_el.properties +4 -0
  128. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en.properties +4 -0
  129. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_GB.properties +4 -0
  130. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_US_sappsd.properties +4 -0
  131. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_US_saprigi.properties +4 -0
  132. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_es.properties +5 -1
  133. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_es_MX.properties +4 -0
  134. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_et.properties +4 -0
  135. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fi.properties +4 -0
  136. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fr.properties +4 -0
  137. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fr_CA.properties +4 -0
  138. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hi.properties +4 -0
  139. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hr.properties +4 -0
  140. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hu.properties +4 -0
  141. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_id.properties +4 -0
  142. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_it.properties +4 -0
  143. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_iw.properties +4 -0
  144. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ja.properties +4 -0
  145. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_kk.properties +30 -26
  146. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ko.properties +4 -0
  147. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_lt.properties +4 -0
  148. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_lv.properties +4 -0
  149. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_mk.properties +4 -0
  150. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ms.properties +4 -0
  151. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_nl.properties +4 -0
  152. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_no.properties +4 -0
  153. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pl.properties +4 -0
  154. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pt.properties +4 -0
  155. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pt_PT.properties +4 -0
  156. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ro.properties +4 -0
  157. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ru.properties +4 -0
  158. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sh.properties +4 -0
  159. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sk.properties +4 -0
  160. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sl.properties +4 -0
  161. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sr.properties +4 -0
  162. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sv.properties +4 -0
  163. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_th.properties +4 -0
  164. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_tr.properties +4 -0
  165. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_uk.properties +8 -4
  166. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_vi.properties +4 -0
  167. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_zh_CN.properties +4 -0
  168. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_zh_TW.properties +8 -4
  169. package/src/sap/suite/ui/generic/template/ObjectPage/manifest.json +13 -5
  170. package/src/sap/suite/ui/generic/template/ObjectPage/templateSpecificPreparationHelper.js +2 -2
  171. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/Actions.fragment.xml +1 -1
  172. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/PageLevelCommands.fragment.xml +2 -0
  173. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartTableUiTableCommons.fragment.xml +1 -1
  174. package/src/sap/suite/ui/generic/template/QuickCreate/manifest.json +1 -1
  175. package/src/sap/suite/ui/generic/template/QuickView/manifest.json +1 -1
  176. package/src/sap/suite/ui/generic/template/designtime/controls/DynamicPage.designtime.js +39 -3
  177. package/src/sap/suite/ui/generic/template/designtime/controls/ObjectPageLayout.designtime.js +39 -5
  178. package/src/sap/suite/ui/generic/template/designtime/controls/SmartTable.designtime.js +17 -0
  179. package/src/sap/suite/ui/generic/template/detailTemplates/detailUtils.js +3 -2
  180. package/src/sap/suite/ui/generic/template/detailTemplates/i18n/i18n_es.properties +1 -1
  181. package/src/sap/suite/ui/generic/template/fragments/EasyFilter.fragment.xml +1 -0
  182. package/src/sap/suite/ui/generic/template/fragments/SmartTableUiTableCommons.fragment.xml +1 -0
  183. package/src/sap/suite/ui/generic/template/fragments/TableColumnListItem.fragment.xml +3 -0
  184. package/src/sap/suite/ui/generic/template/genericUtilities/controlHelper.js +3 -0
  185. package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartFilterBarWrapper.js +8 -3
  186. package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartTableChartCommon.js +7 -0
  187. package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartVariantManagementWrapper.js +35 -43
  188. package/src/sap/suite/ui/generic/template/genericUtilities/designtime/messagebundle.properties +0 -0
  189. package/src/sap/suite/ui/generic/template/lib/AppComponent.js +28 -7
  190. package/src/sap/suite/ui/generic/template/lib/Application.js +13 -0
  191. package/src/sap/suite/ui/generic/template/lib/CommonEventHandlers.js +88 -4
  192. package/src/sap/suite/ui/generic/template/lib/CommonUtils.js +36 -5
  193. package/src/sap/suite/ui/generic/template/lib/ContextMenuHandler.js +45 -2
  194. package/src/sap/suite/ui/generic/template/lib/MessageUtils.js +1 -0
  195. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillAIOrchestrator.js +142 -8
  196. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillApplyHandler.js +21 -6
  197. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillDialogController.js +234 -13
  198. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillFileHandler.js +218 -0
  199. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillFormRenderer.js +83 -18
  200. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillHandler.js +165 -6
  201. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillTableRenderer.js +106 -6
  202. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/fragments/EasyFillDialog.fragment.xml +193 -30
  203. package/src/sap/suite/ui/generic/template/lib/ai/EasyFilterBarHandler.js +610 -27
  204. package/src/sap/suite/ui/generic/template/lib/i18n/i18n.properties +71 -2
  205. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ar.properties +47 -1
  206. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_bg.properties +47 -1
  207. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ca.properties +47 -1
  208. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cnr.properties +47 -1
  209. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cs.properties +47 -1
  210. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cy.properties +47 -1
  211. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_da.properties +48 -2
  212. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_de.properties +47 -1
  213. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_el.properties +47 -1
  214. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en.properties +47 -1
  215. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_GB.properties +47 -1
  216. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_sappsd.properties +47 -1
  217. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saprigi.properties +47 -1
  218. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saptrc.properties +7 -1
  219. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es.properties +49 -3
  220. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es_MX.properties +47 -1
  221. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_et.properties +47 -1
  222. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fi.properties +47 -1
  223. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr.properties +50 -4
  224. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr_CA.properties +47 -1
  225. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hi.properties +47 -1
  226. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hr.properties +47 -1
  227. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hu.properties +47 -1
  228. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_id.properties +47 -1
  229. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_it.properties +47 -1
  230. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_iw.properties +47 -1
  231. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ja.properties +47 -1
  232. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_kk.properties +47 -1
  233. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ko.properties +47 -1
  234. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lt.properties +47 -1
  235. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lv.properties +47 -1
  236. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_mk.properties +47 -1
  237. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ms.properties +47 -1
  238. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_nl.properties +47 -1
  239. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_no.properties +47 -1
  240. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pl.properties +47 -1
  241. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt.properties +47 -1
  242. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt_PT.properties +47 -1
  243. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ro.properties +47 -1
  244. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ru.properties +47 -1
  245. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sh.properties +47 -1
  246. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sk.properties +47 -1
  247. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sl.properties +47 -1
  248. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sr.properties +47 -1
  249. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sv.properties +47 -1
  250. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_th.properties +49 -3
  251. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_tr.properties +47 -1
  252. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_uk.properties +47 -1
  253. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_vi.properties +47 -1
  254. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_CN.properties +47 -1
  255. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_TW.properties +48 -2
  256. package/src/sap/suite/ui/generic/template/lib/insights/InsightsCardHelper.js +24 -4
  257. package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +27 -7
  258. package/src/sap/suite/ui/generic/template/lib/presentationControl/SmartTableHandler.js +4 -0
  259. package/src/sap/suite/ui/generic/template/library.js +1 -1
  260. package/src/sap/suite/ui/generic/template/listTemplates/fragments/DetailSmartTable.fragment.xml +3 -0
  261. package/src/sap/suite/ui/generic/template/listTemplates/fragments/TableCommands.fragment.xml +23 -19
  262. package/src/sap/suite/ui/generic/template/themes/base/ObjectPage.less +271 -0
  263. package/src/sap/suite/ui/generic/template/themes/sap_belize_base/ObjectPage.less +9 -0
  264. package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/ObjectPage.less +9 -0
  265. package/src/sap/suite/ui/generic/template/themes/sap_hcb/base_ObjectPage.less +9 -0
@@ -835,10 +835,10 @@ sap.ui.define(["sap/ui/base/Object",
835
835
 
836
836
  setComponentRefreshBehaviour(oOutbound);
837
837
 
838
- // We now ensure that the 'sap-ushell-navmode' parameter is passed to the NavigationHandler.navigate method
839
- // and skip setting the app to busy mode when opening a new tab
840
- if (oOutbound.parameters["sap-ushell-navmode"] === "explace") {
841
- oNavigationHandler.navigate(oOutbound.semanticObject, oOutbound.action, oSelectionVariant.toJSONString(), null, null, null, oOutbound.parameters["sap-ushell-navmode"]);
838
+ // We now skip setting the app to busy mode when opening a new tab and bypass the re-entry guard (fnNavigateExternal) for explace navigations:
839
+ // the source app stays alive when a new tab is opened, so without the bypass AppComponent.restore() is never called and the guard is never reset.
840
+ if (oServices.oApplication.isExplaceNavigation(oOutbound.parameters)) {
841
+ oNavigationHandler.navigate(oOutbound.semanticObject, oOutbound.action, oSelectionVariant.toJSONString(), null, null, null, "explace");
842
842
  } else {
843
843
  oServices.oApplication.navigateExternal(oOutbound.semanticObject, oOutbound.action, oSelectionVariant.toJSONString(), null, fnHandleError);
844
844
  //null object has to be passed to the NavigationHandler as an
@@ -1791,6 +1791,36 @@ sap.ui.define(["sap/ui/base/Object",
1791
1791
  var fnRemovePropertiesFromNavigationContext = testableHelper.testable(fnRemovePropertiesFromNavigationContext, "removePropertiesFromNavigationContext");
1792
1792
  /* eslint-enable */
1793
1793
 
1794
+ /**
1795
+ * Returns the first visible, enabled custom Emphasized button in the view, or null.
1796
+ * Skips excluded controls and their children, framework buttons (template:: IDs),
1797
+ * buttons inside dialogs or popovers (including closed ones), buttons in hidden containers,
1798
+ * and the internal buttons of a sap.m.PDFViewer.
1799
+ * Used by Ctrl+Enter on LR (live mode or worklist), ALP (live mode) and OP.
1800
+ * @param {sap.ui.core.mvc.View} oView The view to scan
1801
+ * @param {sap.ui.core.Control[]} aExcludedControls Controls to skip together with their children
1802
+ * @returns {sap.m.Button|null} The button, or null
1803
+ */
1804
+ function fnFindCustomEmphasizedButton(oView, aExcludedControls) {
1805
+ var aButtons = oView.findAggregatedObjects(true, function(oControl) {
1806
+ if (!oControl.isA("sap.m.Button") || oControl.getType() !== "Emphasized" ||
1807
+ !oControl.getVisible() || !oControl.getEnabled() ||
1808
+ aExcludedControls.indexOf(oControl) >= 0 || oControl.getId().indexOf("template::") !== -1) {
1809
+ return false;
1810
+ }
1811
+ for (var oParent = oControl.getParent(); oParent && oParent !== oView; oParent = oParent.getParent()) {
1812
+ if (aExcludedControls.indexOf(oParent) >= 0 ||
1813
+ oParent.isA("sap.m.Dialog") || oParent.isA("sap.m.Popover") ||
1814
+ oParent.isA("sap.m.PDFViewer") ||
1815
+ (oParent.getVisible && !oParent.getVisible())) {
1816
+ return false;
1817
+ }
1818
+ }
1819
+ return true;
1820
+ });
1821
+ return aButtons[0] || null;
1822
+ }
1823
+
1794
1824
  return {
1795
1825
  getPositionableControlId: getPositionableControlId,
1796
1826
  getMetaModelEntityType: getMetaModelEntityType,
@@ -2101,7 +2131,8 @@ sap.ui.define(["sap/ui/base/Object",
2101
2131
  transformTechnicalPropsOnExportedFile: fnTransformTechnicalPropsOnExportedFile,
2102
2132
  includeEntitySetParametersToExportedFile: fnIncludeEntitySetParametersToExportedFile,
2103
2133
  openContextInNewTabFromListItem: fnOpenContextInNewTabFromListItem,
2104
- getCustomizedTextFromApp: getCustomizedTextFromApp
2134
+ getCustomizedTextFromApp: getCustomizedTextFromApp,
2135
+ findCustomEmphasizedButton: fnFindCustomEmphasizedButton
2105
2136
  };
2106
2137
  }
2107
2138
 
@@ -228,7 +228,7 @@ sap.ui.define([
228
228
 
229
229
  function fnAddToolbarButtonToContextMenu(sPathToItems, oFocusInfo, oToolbarControlsData, aItems, oButton, bStartsNewSection){
230
230
  // Case 1: If button has the stable id, use it to find local id.
231
- // Case 2: If the button was created using design time adaption, use the custom data "originalButtonId" to find local id.
231
+ // Case 2: If the button was created using design time adaption, use the custom data "originalButtonId" to find local id.
232
232
  var sButtonLocalId = oView.getLocalId(oButton.getId()) || oView.getLocalId(oButton.data("originalButtonId"));
233
233
 
234
234
  var oHandlePromise = null;
@@ -254,6 +254,45 @@ sap.ui.define([
254
254
  return false;
255
255
  }
256
256
 
257
+ // Returns a raw entry object for a toolbar button child without writing to the model.
258
+ // Generates a key and registers the handler in mHandlers so clicks on sub-menu items
259
+ // resolve correctly via onContextMenu. The parent fnAddMenuItem Promise.all owns all
260
+ // child enabled-flag writes; no setProperty call is made here.
261
+ function fnGetToolbarButtonContextMenuEntry(oFocusInfo, oToolbarControlsData, oButton, bStartsSection) {
262
+ var sButtonLocalId = oView.getLocalId(oButton.getId()) || oView.getLocalId(oButton.data("originalButtonId"));
263
+
264
+ var oStandardControlData = oToolbarControlsData.standardActions.find(function(oControlData){
265
+ return oControlData.ID === sButtonLocalId;
266
+ });
267
+ var oBreakoutControlData = oConfiguration.findBreakoutActionByLocalId(oToolbarControlsData.breakoutActions, sButtonLocalId);
268
+
269
+ var oHandlePromise = null;
270
+ if (oStandardControlData) {
271
+ oHandlePromise = getHandlePromiseForStandardAction(oFocusInfo, oStandardControlData, oButton);
272
+ } else if (oBreakoutControlData) {
273
+ oHandlePromise = getHandlePromiseForBreakoutAction(oFocusInfo, oBreakoutControlData, oButton);
274
+ }
275
+
276
+ if (!oHandlePromise) {
277
+ return null;
278
+ }
279
+ iCreatedMenuItemsCounter++;
280
+ var sKey = "ContextMenuKey" + iCreatedMenuItemsCounter;
281
+ oHandlePromise.then(function(fnHandler) {
282
+ if (fnHandler) {
283
+ mHandlers[sKey] = fnHandler;
284
+ }
285
+ });
286
+ return {
287
+ text: oButton.getText(),
288
+ icon: oButton.getIcon(),
289
+ key: sKey,
290
+ enabled: false,
291
+ startsSection: bStartsSection,
292
+ handlerPromise: oHandlePromise
293
+ };
294
+ }
295
+
257
296
  /**
258
297
  *
259
298
  * Evaluates the menu items in a menu button and adds them to the context menu based on the following rules:
@@ -271,7 +310,11 @@ sap.ui.define([
271
310
  var aChildContextMenuEntries = [];
272
311
  aMenuItems.forEach(function (oMenuItem) {
273
312
  var bStartsSectionOnSubMenu = oMenuItem.getStartsSection();
274
- fnAddToolbarButtonToContextMenu(sItemsPath, oFocusInfo, oToolbarControlsData, aChildContextMenuEntries, oMenuItem, bStartsSectionOnSubMenu);
313
+ var oEntry = fnGetToolbarButtonContextMenuEntry(oFocusInfo, oToolbarControlsData, oMenuItem, bStartsSectionOnSubMenu);
314
+ if (oEntry) {
315
+ oEntry.startsSection = oEntry.startsSection && aChildContextMenuEntries.length > 0;
316
+ aChildContextMenuEntries.push(oEntry);
317
+ }
275
318
  });
276
319
 
277
320
  if (aChildContextMenuEntries.length === 1) {
@@ -169,6 +169,7 @@ sap.ui.define([
169
169
  sMessageDescription = oResourceBundle.getText("ST_GENERIC_ERROR_SYSTEM_UNAVAILABLE_DESC");
170
170
  break;
171
171
  case 0:
172
+ case undefined:
172
173
  // case when server being offline
173
174
  /*adapted to have a reasonable processing for the Apply-Button -
174
175
  * workaround to not leave the page in case of apply */
@@ -73,12 +73,30 @@ sap.ui.define([
73
73
  fnGetLabel
74
74
  );
75
75
 
76
+ // Seed current field values so the LLM can compute relative changes
77
+ // (e.g. "increase Delivery Date by 10 days", "increase Price by 20%").
78
+ if (oObjectPageContext) {
79
+ Object.keys(mFieldMapping).forEach(function(sPropertyName) {
80
+ var oEntry = mFieldMapping[sPropertyName];
81
+ if (!oEntry || oEntry.isCollection === true) {
82
+ return;
83
+ }
84
+ var vCurrentValue = oObjectPageContext.getProperty(sPropertyName);
85
+ if (vCurrentValue !== undefined && vCurrentValue !== null) {
86
+ oEntry.currentValue = vCurrentValue;
87
+ }
88
+ });
89
+ }
90
+
76
91
  return mFieldMapping;
77
92
  },
78
93
 
79
94
  /**
80
- * Sends the user's free-text input to the AI service and returns the structured result.
81
- * The AI service is accessed via oTemplateUtils.oServices.oFioriAIHandler.
95
+ * Sends the user's free-text input to the AI service using a two-prompt flow.
96
+ *
97
+ * First prompt sends field metadata without table row data. If the AI returns
98
+ * 'scnd_cll' (second-call flag), a second prompt is made with the current table
99
+ * row data (ISLM_Collection_Data) so the AI can reference existing rows.
82
100
  *
83
101
  * @param {string} sInputText - the user's free-text input from the EasyFill textarea
84
102
  * @param {object} mFieldMapping - the complete field mapping built by buildFieldMapping()
@@ -86,19 +104,135 @@ sap.ui.define([
86
104
  * @returns {Promise<object>} AI service result: { success: boolean, data: object }
87
105
  */
88
106
  submitToAI: async function(sInputText, mFieldMapping, oTemplateUtils) {
89
- oLogger.debug("submitToAI: sending input to AI service");
107
+ oLogger.debug("submitToAI: starting two-prompt AI extraction flow");
90
108
  try {
91
- var aiCallResult = await oTemplateUtils.oServices.oFioriAIHandler.fioriaiLib.EasyFill.extractFieldValuesFromText(
92
- sInputText,
93
- mFieldMapping
94
- );
95
- return aiCallResult;
109
+ var oEasyFill = oTemplateUtils.oServices.oFioriAIHandler.fioriaiLib.EasyFill;
110
+
111
+ // First prompt: send field metadata without table row data
112
+ var mFieldMappingWithoutTableRows = this.buildFieldMappingWithoutTableRows(mFieldMapping);
113
+ var oFirstResult = await oEasyFill.extractFieldValuesFromText(sInputText, mFieldMappingWithoutTableRows);
114
+ if (!oFirstResult.success) {
115
+ return oFirstResult;
116
+ }
117
+
118
+ // If the AI signals that table row context is needed, run a second prompt
119
+ if ("scnd_cll" in oFirstResult.data) {
120
+ oLogger.debug("submitToAI: second prompt required for table row edits");
121
+ var oTableData = this.buildTableDataForSecondPrompt(oFirstResult.data, mFieldMapping);
122
+ var mFilteredMetadata = this.filterFieldMetadataByFirstPromptResponse(oFirstResult.data, mFieldMapping);
123
+ var oSecondResult = await oEasyFill.extractFieldValuesWithTableData(sInputText, mFilteredMetadata, oTableData);
124
+ if (!oSecondResult.success) {
125
+ return oSecondResult;
126
+ }
127
+ return { success: true, data: this.stripSecondPromptFlag(oSecondResult.data) };
128
+ }
129
+
130
+ // No second prompt needed: first prompt returned all field values
131
+ return { success: true, data: this.stripSecondPromptFlag(oFirstResult.data) };
96
132
  } catch (e) {
97
133
  oLogger.error("submitToAI: AI call failed: " + (e && e.message));
98
134
  return { success: false, data: {} };
99
135
  }
100
136
  },
101
137
 
138
+ /**
139
+ * Returns a copy of mFieldMapping where collection entries contain only
140
+ * { description, dataType, itemProperties, isCollection: true }, with
141
+ * currentItems removed. Used for the first AI prompt to avoid sending large
142
+ * table row payloads before it is known whether the AI needs them.
143
+ * itemProperties is preserved so the LLM knows the schema of each collection.
144
+ *
145
+ * @param {object} mFieldMapping - the complete field mapping
146
+ * @returns {object} field mapping with currentItems stripped from collection entries
147
+ */
148
+ buildFieldMappingWithoutTableRows: function(mFieldMapping) {
149
+ var mResult = {};
150
+ Object.keys(mFieldMapping).forEach(function(sFieldName) {
151
+ var oEntry = mFieldMapping[sFieldName];
152
+ if (oEntry && oEntry.isCollection === true) {
153
+ mResult[sFieldName] = {
154
+ description: oEntry.description,
155
+ dataType: oEntry.dataType,
156
+ itemProperties: oEntry.itemProperties,
157
+ isCollection: true
158
+ };
159
+ } else {
160
+ mResult[sFieldName] = oEntry;
161
+ }
162
+ });
163
+ return mResult;
164
+ },
165
+
166
+ /**
167
+ * Builds the table data structure passed to the second AI prompt (ISLM_Collection_Data).
168
+ * Only includes tables that were mentioned in the first prompt response and have
169
+ * existing row data.
170
+ *
171
+ * @param {object} oFirstPromptData - the first prompt response data (may contain scnd_cll)
172
+ * @param {object} mFieldMapping - the complete field mapping (contains currentItems per table)
173
+ * @returns {object} table data: { [navProp]: { currentItems: array } }
174
+ */
175
+ buildTableDataForSecondPrompt: function(oFirstPromptData, mFieldMapping) {
176
+ var oTableData = {};
177
+ Object.keys(oFirstPromptData).forEach(function(sFieldName) {
178
+ if (sFieldName === "scnd_cll") { return; }
179
+ var oFieldMeta = mFieldMapping[sFieldName];
180
+ if (!oFieldMeta || oFieldMeta.isCollection !== true) { return; }
181
+ var aCurrentItems = oFieldMeta.currentItems;
182
+ if (Array.isArray(aCurrentItems) && aCurrentItems.length > 0) {
183
+ oTableData[sFieldName] = { currentItems: aCurrentItems };
184
+ }
185
+ });
186
+ return oTableData;
187
+ },
188
+
189
+ /**
190
+ * Filters the field mapping to only include fields mentioned in the first prompt
191
+ * response. For collection fields, currentItems is excluded because table data is
192
+ * passed separately via ISLM_Collection_Data in the second prompt.
193
+ *
194
+ * @param {object} oFirstPromptData - the first prompt response data
195
+ * @param {object} mFieldMapping - the complete field mapping
196
+ * @returns {object} filtered field metadata for the second prompt
197
+ */
198
+ filterFieldMetadataByFirstPromptResponse: function(oFirstPromptData, mFieldMapping) {
199
+ var mResult = {};
200
+ Object.keys(oFirstPromptData).forEach(function(sFieldName) {
201
+ if (sFieldName === "scnd_cll") { return; }
202
+ var oFieldMeta = mFieldMapping[sFieldName];
203
+ if (oFieldMeta === undefined) { return; }
204
+ if (oFieldMeta.isCollection === true) {
205
+ // Include collection metadata without currentItems
206
+ var oWithoutCurrentItems = {};
207
+ Object.keys(oFieldMeta).forEach(function(sKey) {
208
+ if (sKey !== "currentItems") {
209
+ oWithoutCurrentItems[sKey] = oFieldMeta[sKey];
210
+ }
211
+ });
212
+ mResult[sFieldName] = oWithoutCurrentItems;
213
+ } else {
214
+ mResult[sFieldName] = oFieldMeta;
215
+ }
216
+ });
217
+ return mResult;
218
+ },
219
+
220
+ /**
221
+ * Returns a copy of oData with the internal 'scnd_cll' flag key removed.
222
+ *
223
+ * @param {object} oData - field values that may contain the scnd_cll flag
224
+ * @returns {object} field values without the internal flag
225
+ */
226
+ stripSecondPromptFlag: function(oData) {
227
+ var oResult = {};
228
+ Object.keys(oData).forEach(function(sKey) {
229
+ if (sKey !== "scnd_cll") {
230
+ oResult[sKey] = oData[sKey];
231
+ }
232
+ });
233
+ return oResult;
234
+ },
235
+
102
236
  /**
103
237
  * Converts date-like string values in the AI response to JavaScript Date objects,
104
238
  * based on the OData data type declared in the field mapping.
@@ -8,6 +8,11 @@ sap.ui.define([
8
8
  var sClassName = "lib.ai.EasyFill.EasyFillApplyHandler";
9
9
  var oLogger = new FeLogger(sClassName).getLogger();
10
10
 
11
+ // Maximum number of characters accepted as AI input.
12
+ // Keep in sync with EasyFillDialogController.MAX_INPUT_LENGTH and the TextArea maxLength in
13
+ // EasyFillDialog.fragment.xml.
14
+ var MAX_INPUT_LENGTH = 50000;
15
+
11
16
  /**
12
17
  * EasyFillApplyHandler
13
18
  *
@@ -98,8 +103,11 @@ sap.ui.define([
98
103
  var mCollectionPropertyMap = (mCollectionState && mCollectionState.mCollectionProperties &&
99
104
  mCollectionState.mCollectionProperties[sCollectionName]) || Object.create(null);
100
105
 
101
- // Extract scalar values for ALL new row contexts — multiple row creation is supported
102
- var aRowValues = aNewContexts.map(function(oNewContext) {
106
+ // Extract scalar values for ALL non-excluded new row contexts
107
+ var oExcludedNew = oTableStagingState.mExcludedNewRows && oTableStagingState.mExcludedNewRows[sCollectionName];
108
+ var aRowValues = aNewContexts.filter(function(_, i) {
109
+ return !oExcludedNew || !oExcludedNew[i];
110
+ }).map(function(oNewContext) {
103
111
  var oValues = Object.create(null);
104
112
  Object.keys(mCollectionPropertyMap).forEach(function(sPropName) {
105
113
  var vValue = oNewContext.getProperty && oNewContext.getProperty(sPropName);
@@ -132,7 +140,9 @@ sap.ui.define([
132
140
  var aStagedRows = mStagedRowsByCollection[sCollectionName] || [];
133
141
  var mCollectionPropertyMap = mCollectionState.mCollectionProperties[sCollectionName] || Object.create(null);
134
142
 
135
- aStagedRows.forEach(function(oStagedRow) {
143
+ var oExcludedRows = oTableStagingState.mExcludedRows && oTableStagingState.mExcludedRows[sCollectionName];
144
+ aStagedRows.forEach(function(oStagedRow, iIndex) {
145
+ if (oExcludedRows && oExcludedRows[iIndex]) { return; }
136
146
  var oRealContext = oStagedRow.realContext;
137
147
  var oTransientContext = oStagedRow.transientContext;
138
148
  if (!oRealContext || !oTransientContext) {
@@ -192,9 +202,11 @@ sap.ui.define([
192
202
  if (bHasUpdates) {
193
203
  return true;
194
204
  }
195
- // Also return true if there are pending new row contexts
205
+ // Also return true if there are pending new row contexts that are not excluded
196
206
  return Object.keys((oTableStagingState && oTableStagingState.mPendingNewRowContexts) || {}).some(function(sCollectionName) {
197
- return ((oTableStagingState.mPendingNewRowContexts[sCollectionName]) || []).length > 0;
207
+ var aContexts = (oTableStagingState.mPendingNewRowContexts[sCollectionName]) || [];
208
+ var oExcludedNew = oTableStagingState.mExcludedNewRows && oTableStagingState.mExcludedNewRows[sCollectionName];
209
+ return aContexts.some(function(_, i) { return !oExcludedNew || !oExcludedNew[i]; });
198
210
  });
199
211
  },
200
212
 
@@ -203,7 +215,7 @@ sap.ui.define([
203
215
  * Clears the dialog model properties, destroys table preview items,
204
216
  * and optionally clears the text area value.
205
217
  *
206
- * @param {boolean} bRemoveTextAreaValue - if true, also clears the user input text area
218
+ * @param {boolean} bRemoveTextAreaValue - if true, also clears the user input text area and resets all file import state (sImportedFileText, file model properties)
207
219
  * @param {object} oDialogModel - the easyFillDialogModel JSONModel
208
220
  * @param {object} oController - MVC controller (used to byId controls)
209
221
  * @param {object} mCollectionUpdates - mutable collection updates map (cleared in place)
@@ -253,6 +265,9 @@ sap.ui.define([
253
265
  var oTextArea = oController.byId("EasyFillInputTextArea");
254
266
  if (oTextArea) { oTextArea.setValue(""); }
255
267
  oDialogModel.setProperty("/isEasyFillButtonEnabled", false);
268
+ oDialogModel.setProperty("/hasEnteredText", false);
269
+ var oRb = oController.getView().getModel("i18n").getResourceBundle();
270
+ oDialogModel.setProperty("/remainingCharactersText", oRb.getText("EASYFILL_REMAINING_CHARACTERS", [MAX_INPUT_LENGTH]));
256
271
  }
257
272
 
258
273
  oLogger.debug("resetEasyFill: dialog state reset" + (bRemoveTextAreaValue ? " (including text area)" : ""));