@openui5/sap.ui.mdc 1.103.0 → 1.105.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 (320) hide show
  1. package/.reuse/dep5 +18 -1
  2. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +5 -0
  3. package/THIRDPARTY.txt +36 -3
  4. package/package.json +4 -4
  5. package/src/sap/ui/mdc/.library +1 -1
  6. package/src/sap/ui/mdc/ActionToolbar.js +3 -3
  7. package/src/sap/ui/mdc/AggregationBaseDelegate.js +1 -1
  8. package/src/sap/ui/mdc/Chart.js +49 -35
  9. package/src/sap/ui/mdc/ChartDelegate.js +2 -2
  10. package/src/sap/ui/mdc/ChartRenderer.js +1 -1
  11. package/src/sap/ui/mdc/Control.js +1 -1
  12. package/src/sap/ui/mdc/Delegate.js +2 -2
  13. package/src/sap/ui/mdc/Element.js +1 -1
  14. package/src/sap/ui/mdc/Field.js +2 -2
  15. package/src/sap/ui/mdc/FilterBar.js +3 -3
  16. package/src/sap/ui/mdc/FilterBarDelegate.js +2 -2
  17. package/src/sap/ui/mdc/FilterField.js +2 -2
  18. package/src/sap/ui/mdc/Link.js +76 -15
  19. package/src/sap/ui/mdc/LinkDelegate.js +83 -78
  20. package/src/sap/ui/mdc/MultiValueField.js +1 -1
  21. package/src/sap/ui/mdc/Table.js +18 -6
  22. package/src/sap/ui/mdc/TableDelegate.js +27 -11
  23. package/src/sap/ui/mdc/ValueHelp.js +7 -7
  24. package/src/sap/ui/mdc/ValueHelpDelegate.js +2 -2
  25. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +3 -3
  26. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarActionRenderer.js +1 -2
  27. package/src/sap/ui/mdc/chart/ChartImplementationContainer.js +70 -0
  28. package/src/sap/ui/mdc/chart/ChartImplementationContainerRenderer.js +49 -0
  29. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -1
  30. package/src/sap/ui/mdc/chart/ChartSettings.js +2 -2
  31. package/src/sap/ui/mdc/chart/ChartToolbar.js +24 -10
  32. package/src/sap/ui/mdc/chart/ChartTypeButton.js +2 -2
  33. package/src/sap/ui/mdc/chart/PropertyHelper.js +3 -3
  34. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  35. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  36. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  37. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  38. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +1 -1
  39. package/src/sap/ui/mdc/condition/Operator.js +1 -1
  40. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +1 -1
  41. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  42. package/src/sap/ui/mdc/designtime/Util.js +2 -2
  43. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +15 -4
  44. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbarAction.designtime.js +2 -2
  45. package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +5 -2
  46. package/src/sap/ui/mdc/designtime/field/Field.designtime.js +2 -2
  47. package/src/sap/ui/mdc/designtime/field/FieldBase.designtime.js +2 -2
  48. package/src/sap/ui/mdc/designtime/field/FilterField.designtime.js +2 -2
  49. package/src/sap/ui/mdc/designtime/field/MultiValueField.designtime.js +2 -2
  50. package/src/sap/ui/mdc/designtime/filterbar/FilterBar.designtime.js +4 -3
  51. package/src/sap/ui/mdc/designtime/filterbar/FilterBarBase.designtime.js +2 -2
  52. package/src/sap/ui/mdc/designtime/link/Panel.designtime.js +2 -2
  53. package/src/sap/ui/mdc/designtime/link/PanelItem.designtime.js +2 -2
  54. package/src/sap/ui/mdc/designtime/p13n/PersistenceProvider.designtime.js +2 -2
  55. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +10 -8
  56. package/src/sap/ui/mdc/enum/PropagationReason.js +2 -2
  57. package/src/sap/ui/mdc/enum/SelectType.js +2 -2
  58. package/src/sap/ui/mdc/field/BoolFieldHelp.js +3 -3
  59. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +3 -3
  60. package/src/sap/ui/mdc/field/ConditionType.js +1 -1
  61. package/src/sap/ui/mdc/field/ConditionsType.js +1 -1
  62. package/src/sap/ui/mdc/field/CustomFieldHelp.js +3 -3
  63. package/src/sap/ui/mdc/field/CustomFieldInfo.js +3 -3
  64. package/src/sap/ui/mdc/field/DefineConditionPanel.js +1 -1
  65. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +1 -1
  66. package/src/sap/ui/mdc/field/FieldBase.js +4 -5
  67. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +2 -2
  68. package/src/sap/ui/mdc/field/FieldHelpBase.js +3 -3
  69. package/src/sap/ui/mdc/field/FieldHelpBaseDelegate.js +2 -2
  70. package/src/sap/ui/mdc/field/FieldInfoBase.js +30 -29
  71. package/src/sap/ui/mdc/field/FieldInput.js +3 -3
  72. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  73. package/src/sap/ui/mdc/field/FieldMultiInput.js +3 -3
  74. package/src/sap/ui/mdc/field/FieldValueHelp.js +3 -3
  75. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +3 -3
  76. package/src/sap/ui/mdc/field/FieldValueHelpDelegate.js +2 -2
  77. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +3 -3
  78. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +3 -3
  79. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +3 -3
  80. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +3 -3
  81. package/src/sap/ui/mdc/field/InParameter.js +3 -3
  82. package/src/sap/ui/mdc/field/ListFieldHelp.js +3 -3
  83. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  84. package/src/sap/ui/mdc/field/MultiValueFieldDelegate.js +2 -2
  85. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +3 -3
  86. package/src/sap/ui/mdc/field/OutParameter.js +3 -3
  87. package/src/sap/ui/mdc/field/TokenDisplay.js +3 -3
  88. package/src/sap/ui/mdc/field/TokenizerDisplay.js +3 -3
  89. package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -1
  90. package/src/sap/ui/mdc/field/content/BooleanContent.js +2 -2
  91. package/src/sap/ui/mdc/field/content/ContentFactory.js +8 -0
  92. package/src/sap/ui/mdc/field/content/DateContent.js +10 -2
  93. package/src/sap/ui/mdc/field/content/DateTimeContent.js +2 -2
  94. package/src/sap/ui/mdc/field/content/DefaultContent.js +2 -2
  95. package/src/sap/ui/mdc/field/content/LinkContent.js +2 -2
  96. package/src/sap/ui/mdc/field/content/SearchContent.js +2 -2
  97. package/src/sap/ui/mdc/field/content/TimeContent.js +2 -2
  98. package/src/sap/ui/mdc/field/content/UnitContent.js +2 -2
  99. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +17 -4
  100. package/src/sap/ui/mdc/filterbar/IFilterContainer.js +2 -2
  101. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +4 -4
  102. package/src/sap/ui/mdc/filterbar/aligned/FilterContainer.js +2 -2
  103. package/src/sap/ui/mdc/filterbar/aligned/FilterItemLayout.js +2 -2
  104. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +5 -5
  105. package/src/sap/ui/mdc/filterbar/p13n/FilterColumnLayout.js +2 -2
  106. package/src/sap/ui/mdc/filterbar/p13n/FilterGroupLayout.js +2 -2
  107. package/src/sap/ui/mdc/filterbar/p13n/GroupContainer.js +2 -2
  108. package/src/sap/ui/mdc/filterbar/p13n/TableContainer.js +2 -2
  109. package/src/sap/ui/mdc/filterbar/vh/CollectiveSearchSelect.js +2 -2
  110. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +3 -3
  111. package/src/sap/ui/mdc/filterbar/vh/FilterContainer.js +2 -2
  112. package/src/sap/ui/mdc/flexibility/ActionToolbar.flexibility.js +2 -2
  113. package/src/sap/ui/mdc/flexibility/ActionToolbarAction.flexibility.js +2 -2
  114. package/src/sap/ui/mdc/flexibility/AggregateFlex.js +2 -2
  115. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +3 -3
  116. package/src/sap/ui/mdc/flexibility/ChartItemFlex.js +2 -2
  117. package/src/sap/ui/mdc/flexibility/ChartTypeFlex.js +2 -2
  118. package/src/sap/ui/mdc/flexibility/ColumnFlex.js +2 -2
  119. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +104 -131
  120. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +3 -3
  121. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +3 -3
  122. package/src/sap/ui/mdc/flexibility/GroupFlex.js +2 -2
  123. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +24 -20
  124. package/src/sap/ui/mdc/flexibility/Panel.flexibility.js +4 -5
  125. package/src/sap/ui/mdc/flexibility/PanelItem.flexibility.js +2 -2
  126. package/src/sap/ui/mdc/flexibility/PropertyInfoFlex.js +2 -2
  127. package/src/sap/ui/mdc/flexibility/SortFlex.js +2 -2
  128. package/src/sap/ui/mdc/flexibility/Table.flexibility.js +2 -2
  129. package/src/sap/ui/mdc/flexibility/Util.js +3 -3
  130. package/src/sap/ui/mdc/flexibility/xConfigFlex.js +2 -2
  131. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +2 -2
  132. package/src/sap/ui/mdc/library.js +7 -2
  133. package/src/sap/ui/mdc/link/ContactDetails.js +3 -3
  134. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +3 -3
  135. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +3 -3
  136. package/src/sap/ui/mdc/link/ContactDetailsItem.js +3 -3
  137. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +3 -3
  138. package/src/sap/ui/mdc/link/ContactDetailsRenderer.js +2 -2
  139. package/src/sap/ui/mdc/link/Factory.js +3 -3
  140. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  141. package/src/sap/ui/mdc/link/LinkItem.js +3 -3
  142. package/src/sap/ui/mdc/link/Log.js +2 -2
  143. package/src/sap/ui/mdc/link/Panel.js +5 -4
  144. package/src/sap/ui/mdc/link/PanelItem.js +3 -3
  145. package/src/sap/ui/mdc/link/PanelRenderer.js +2 -2
  146. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +3 -3
  147. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +3 -3
  148. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +3 -3
  149. package/src/sap/ui/mdc/messagebundle.properties +9 -3
  150. package/src/sap/ui/mdc/messagebundle_ar.properties +5 -2
  151. package/src/sap/ui/mdc/messagebundle_bg.properties +5 -2
  152. package/src/sap/ui/mdc/messagebundle_ca.properties +5 -2
  153. package/src/sap/ui/mdc/messagebundle_cs.properties +8 -5
  154. package/src/sap/ui/mdc/messagebundle_cy.properties +5 -2
  155. package/src/sap/ui/mdc/messagebundle_da.properties +5 -2
  156. package/src/sap/ui/mdc/messagebundle_de.properties +5 -2
  157. package/src/sap/ui/mdc/messagebundle_el.properties +6 -3
  158. package/src/sap/ui/mdc/messagebundle_en.properties +5 -2
  159. package/src/sap/ui/mdc/messagebundle_en_GB.properties +5 -2
  160. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +5 -2
  161. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +5 -2
  162. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +5 -2
  163. package/src/sap/ui/mdc/messagebundle_es.properties +5 -2
  164. package/src/sap/ui/mdc/messagebundle_es_MX.properties +5 -2
  165. package/src/sap/ui/mdc/messagebundle_et.properties +5 -2
  166. package/src/sap/ui/mdc/messagebundle_fi.properties +5 -2
  167. package/src/sap/ui/mdc/messagebundle_fr.properties +9 -6
  168. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +5 -2
  169. package/src/sap/ui/mdc/messagebundle_hi.properties +5 -2
  170. package/src/sap/ui/mdc/messagebundle_hr.properties +8 -5
  171. package/src/sap/ui/mdc/messagebundle_hu.properties +6 -3
  172. package/src/sap/ui/mdc/messagebundle_id.properties +5 -2
  173. package/src/sap/ui/mdc/messagebundle_it.properties +49 -46
  174. package/src/sap/ui/mdc/messagebundle_iw.properties +6 -3
  175. package/src/sap/ui/mdc/messagebundle_ja.properties +5 -2
  176. package/src/sap/ui/mdc/messagebundle_kk.properties +5 -2
  177. package/src/sap/ui/mdc/messagebundle_ko.properties +8 -5
  178. package/src/sap/ui/mdc/messagebundle_lt.properties +5 -2
  179. package/src/sap/ui/mdc/messagebundle_lv.properties +5 -2
  180. package/src/sap/ui/mdc/messagebundle_ms.properties +5 -2
  181. package/src/sap/ui/mdc/messagebundle_nl.properties +5 -2
  182. package/src/sap/ui/mdc/messagebundle_no.properties +6 -3
  183. package/src/sap/ui/mdc/messagebundle_pl.properties +5 -2
  184. package/src/sap/ui/mdc/messagebundle_pt.properties +6 -3
  185. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +5 -2
  186. package/src/sap/ui/mdc/messagebundle_ro.properties +5 -2
  187. package/src/sap/ui/mdc/messagebundle_ru.properties +5 -2
  188. package/src/sap/ui/mdc/messagebundle_sh.properties +5 -2
  189. package/src/sap/ui/mdc/messagebundle_sk.properties +5 -2
  190. package/src/sap/ui/mdc/messagebundle_sl.properties +5 -2
  191. package/src/sap/ui/mdc/messagebundle_sv.properties +5 -2
  192. package/src/sap/ui/mdc/messagebundle_th.properties +14 -11
  193. package/src/sap/ui/mdc/messagebundle_tr.properties +5 -2
  194. package/src/sap/ui/mdc/messagebundle_uk.properties +6 -3
  195. package/src/sap/ui/mdc/messagebundle_vi.properties +5 -2
  196. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +6 -3
  197. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +5 -2
  198. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  199. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
  200. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
  201. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  202. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +1 -1
  203. package/src/sap/ui/mdc/odata/v4/ChartDelegate.js +2 -2
  204. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelper.js +3 -3
  205. package/src/sap/ui/mdc/odata/v4/FieldBaseDelegate.js +2 -2
  206. package/src/sap/ui/mdc/odata/v4/FieldValueHelpDelegate.js +2 -2
  207. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +63 -39
  208. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +2 -2
  209. package/src/sap/ui/mdc/odata/v4/util/DelegateUtil.js +2 -2
  210. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +61 -229
  211. package/src/sap/ui/mdc/p13n/AdaptationProvider.js +3 -3
  212. package/src/sap/ui/mdc/p13n/Engine.js +3 -3
  213. package/src/sap/ui/mdc/p13n/FlexUtil.js +4 -4
  214. package/src/sap/ui/mdc/p13n/P13nBuilder.js +81 -6
  215. package/src/sap/ui/mdc/p13n/PersistenceProvider.js +26 -4
  216. package/src/sap/ui/mdc/p13n/PropertyHelper.js +3 -3
  217. package/src/sap/ui/mdc/p13n/StateUtil.js +4 -4
  218. package/src/sap/ui/mdc/p13n/UIManager.js +3 -3
  219. package/src/sap/ui/mdc/p13n/modification/FlexModificationHandler.js +3 -3
  220. package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +3 -3
  221. package/src/sap/ui/mdc/p13n/modules/DefaultProviderRegistry.js +31 -11
  222. package/src/sap/ui/mdc/p13n/modules/StateHandlerRegistry.js +2 -2
  223. package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +2 -2
  224. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +3 -9
  225. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +39 -12
  226. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +2 -2
  227. package/src/sap/ui/mdc/p13n/panels/GroupView.js +2 -2
  228. package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +2 -2
  229. package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +2 -2
  230. package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +2 -2
  231. package/src/sap/ui/mdc/p13n/subcontroller/AggregateController.js +2 -2
  232. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +3 -3
  233. package/src/sap/ui/mdc/p13n/subcontroller/ChartItemController.js +2 -2
  234. package/src/sap/ui/mdc/p13n/subcontroller/ChartTypeController.js +2 -2
  235. package/src/sap/ui/mdc/p13n/subcontroller/ColumnController.js +2 -2
  236. package/src/sap/ui/mdc/p13n/subcontroller/ColumnWidthController.js +2 -2
  237. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +4 -5
  238. package/src/sap/ui/mdc/p13n/subcontroller/GroupController.js +2 -2
  239. package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +4 -3
  240. package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +2 -2
  241. package/src/sap/ui/mdc/table/Column.js +29 -3
  242. package/src/sap/ui/mdc/table/CreationRow.js +3 -3
  243. package/src/sap/ui/mdc/table/GridTableType.js +7 -2
  244. package/src/sap/ui/mdc/table/PropertyHelper.js +29 -34
  245. package/src/sap/ui/mdc/table/ResponsiveTableType.js +4 -3
  246. package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
  247. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  248. package/src/sap/ui/mdc/table/TableSettings.js +2 -2
  249. package/src/sap/ui/mdc/table/TableTypeBase.js +5 -2
  250. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +4 -9
  251. package/src/sap/ui/mdc/table/menu/Item.js +3 -3
  252. package/src/sap/ui/mdc/table/menu/QuickActionContainer.js +34 -0
  253. package/src/sap/ui/mdc/themes/base/Chart.less +28 -0
  254. package/src/sap/ui/mdc/themes/base/InfoPanel.less +0 -1
  255. package/src/sap/ui/mdc/util/Common.js +2 -2
  256. package/src/sap/ui/mdc/util/FilterUtil.js +2 -2
  257. package/src/sap/ui/mdc/util/FormatUtil.js +2 -2
  258. package/src/sap/ui/mdc/util/IdentifierUtil.js +2 -2
  259. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  260. package/src/sap/ui/mdc/util/PropertyHelper.js +59 -55
  261. package/src/sap/ui/mdc/valuehelp/Dialog.js +5 -3
  262. package/src/sap/ui/mdc/valuehelp/Popover.js +36 -8
  263. package/src/sap/ui/mdc/valuehelp/base/Container.js +7 -7
  264. package/src/sap/ui/mdc/valuehelp/base/Content.js +7 -7
  265. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +3 -3
  266. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +3 -3
  267. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +3 -3
  268. package/src/sap/ui/mdc/valuehelp/content/Bool.js +3 -3
  269. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +3 -3
  270. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +3 -3
  271. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +27 -5
  272. package/src/sap/ui/mdc/valuehelp/content/MTable.js +4 -4
  273. package/test/sap/ui/mdc/testutils/opa/JSDocGeneration.md +18 -0
  274. package/test/sap/ui/mdc/testutils/opa/TestLibrary.js +3 -1
  275. package/test/sap/ui/mdc/testutils/opa/Util.js +42 -0
  276. package/test/sap/ui/mdc/testutils/opa/Utils.js +22 -0
  277. package/test/sap/ui/mdc/testutils/opa/chart/ActionsBase.js +1 -1
  278. package/test/sap/ui/mdc/testutils/opa/chart/JSDoc.md +482 -0
  279. package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +379 -267
  280. package/test/sap/ui/mdc/testutils/opa/field/Actions.js +50 -0
  281. package/test/sap/ui/mdc/testutils/opa/field/Assertions.js +41 -0
  282. package/test/sap/ui/mdc/testutils/opa/field/JSDoc.md +37 -0
  283. package/test/sap/ui/mdc/testutils/opa/field/TestObjects.js +52 -0
  284. package/test/sap/ui/mdc/testutils/opa/field/waitForField.js +36 -0
  285. package/test/sap/ui/mdc/testutils/opa/field/waitForFieldValueHelpButton.js +42 -0
  286. package/test/sap/ui/mdc/testutils/opa/filterbar/Actions.js +31 -7
  287. package/test/sap/ui/mdc/testutils/opa/filterbar/Assertions.js +53 -7
  288. package/test/sap/ui/mdc/testutils/opa/filterbar/JSDoc.md +188 -0
  289. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +100 -34
  290. package/test/sap/ui/mdc/testutils/opa/filterbar/Util.js +3 -3
  291. package/test/sap/ui/mdc/testutils/opa/filterbar/waitForAdaptFiltersButton.js +47 -0
  292. package/test/sap/ui/mdc/testutils/opa/filterbar/waitForFilterBar.js +28 -0
  293. package/test/sap/ui/mdc/testutils/opa/filterfield/Actions.js +70 -0
  294. package/test/sap/ui/mdc/testutils/opa/filterfield/Assertions.js +87 -0
  295. package/test/sap/ui/mdc/testutils/opa/filterfield/JSDoc.md +63 -0
  296. package/test/sap/ui/mdc/testutils/opa/filterfield/TestObjects.js +71 -0
  297. package/test/sap/ui/mdc/testutils/opa/filterfield/waitForFilterField.js +36 -0
  298. package/test/sap/ui/mdc/testutils/opa/filterfield/waitForFilterFieldValueHelpButton.js +42 -0
  299. package/test/sap/ui/mdc/testutils/opa/link/JSDoc.md +136 -0
  300. package/test/sap/ui/mdc/testutils/opa/link/TestObjects.js +108 -91
  301. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +26 -16
  302. package/test/sap/ui/mdc/testutils/opa/p13n/Assertions.js +293 -2
  303. package/test/sap/ui/mdc/testutils/opa/p13n/Util.js +4 -3
  304. package/test/sap/ui/mdc/testutils/opa/table/Actions.js +190 -6
  305. package/test/sap/ui/mdc/testutils/opa/table/Assertions.js +210 -0
  306. package/test/sap/ui/mdc/testutils/opa/table/JSDoc.md +256 -0
  307. package/test/sap/ui/mdc/testutils/opa/table/TestObjects.js +179 -12
  308. package/test/sap/ui/mdc/testutils/opa/table/Util.js +20 -0
  309. package/test/sap/ui/mdc/testutils/opa/table/waitForColumnHeader.js +44 -0
  310. package/test/sap/ui/mdc/testutils/opa/table/waitForListItemInDialogWithLabel.js +55 -0
  311. package/test/sap/ui/mdc/testutils/opa/table/waitForP13nButtonWithParentAndIcon.js +42 -0
  312. package/test/sap/ui/mdc/testutils/opa/table/waitForTable.js +26 -0
  313. package/test/sap/ui/mdc/testutils/opa/valueHelp/JSDoc.md +35 -0
  314. package/test/sap/ui/mdc/testutils/opa/valueHelp/TestObjects.js +7 -0
  315. package/test/sap/ui/mdc/testutils/opa/valueHelp/Util.js +3 -3
  316. package/ui5.yaml +4 -1
  317. package/src/sap/ui/mdc/odata/json/FilterBarDelegate.js +0 -155
  318. package/src/sap/ui/mdc/odata/v4/FilterBarDelegate.js +0 -750
  319. package/test/sap/ui/mdc/testutils/opa/chart/ChartNew.js +0 -24
  320. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +0 -288
package/.reuse/dep5 CHANGED
@@ -137,6 +137,11 @@ Copyright: jQuery Foundation and other contributors
137
137
  License: MIT
138
138
  Comment: these files belong to: QUnit 2
139
139
 
140
+ Files: src/sap.ui.core/test/sap/ui/core/qunit/thirdparty/qunit-2.18.*
141
+ Copyright: jQuery Foundation and other contributors
142
+ License: MIT
143
+ Comment: these files belong to: QUnit 2.18
144
+
140
145
  Files: src/sap.ui.core/src/sap/ui/thirdparty/jquery-compat.js
141
146
  Copyright: OpenJS Foundation and other contributors
142
147
  License: MIT
@@ -154,7 +159,7 @@ Copyright:
154
159
  License: Apache-2.0 and MIT
155
160
  Comment: these files contain content from SAP and jQuery.rtl-scroll-type: _FeatureDetection.js is overall written by SAP, but contains code which is inspired by jQuery.rtl-scroll-type
156
161
 
157
- Files: src/sap.ui.core/src/sap/ui/thirdparty/qunit-composite*
162
+ Files: src/sap.ui.core/src/sap/ui/thirdparty/qunit-composite.*
158
163
  Copyright: jQuery Foundation and other contributors
159
164
  License: MIT
160
165
  Comment: these files belong to: QUnit Composite
@@ -234,6 +239,11 @@ Copyright: 2010-2017, Christian Johansen, christian@cjohansen.no
234
239
  License: BSD-3-Clause
235
240
  Comment: these files belong to: SinonJS
236
241
 
242
+ Files: src/sap.ui.core/test/sap/ui/core/qunit/thirdparty/sinon-14.0.*
243
+ Copyright: 2010-2022, Christian Johansen, christian@cjohansen.no
244
+ License: BSD-3-Clause
245
+ Comment: these files belong to: SinonJS 14
246
+
237
247
  Files: src/sap.ui.core/src/sap/ui/thirdparty/sinon-qunit.js
238
248
  Copyright: 2010-2011, Christian Johansen
239
249
  License: BSD-3-Clause
@@ -339,6 +349,13 @@ Copyright:
339
349
  License: Apache-2.0 and ISC
340
350
  Comment: these files contain content from SAP and node-lru-cache: LRUPersistentCache.js is overall written by SAP, but portions ('Least Recently Used' logic) are taken from the node-lru-cache project (see https://github.com/isaacs/node-lru-cache/blob/v2.7.3/README.md) and modified.
341
351
 
352
+ Files: src/sap.ui.core/test/sap/ui/core/qunit/i18n/helper/_timezones.js
353
+ Copyright:
354
+ 2009-2022 SAP SE or an SAP affiliate company and OpenUI5 contributors
355
+ Arthur David Olson, Paul Eggert and other contributors
356
+ License: Apache-2.0 and LicenseRef-tzdata-PublicDomain
357
+ Comment: these files contain content from SAP and Time Zone Database: _timezones.js is overall written by SAP, but the list of IANA timezone IDs is taken from the Timezone Database
358
+
342
359
 
343
360
  # Library: sap.ui.documentation:
344
361
 
@@ -0,0 +1,5 @@
1
+ Unless specified below, all files in the tz code and data (including
2
+ this LICENSE file) are in the public domain.
3
+
4
+ If the files date.c, newstrftime.3, and strftime.c are present, they
5
+ contain material derived from BSD and use the BSD 3-clause license.
package/THIRDPARTY.txt CHANGED
@@ -76,6 +76,12 @@ License: MIT
76
76
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
77
77
  Contained in: src/sap.ui.core/src/sap/ui/thirdparty/qunit-2.*
78
78
 
79
+ Component: QUnit 2.18, version: 2.18.0
80
+ Copyright: jQuery Foundation and other contributors
81
+ License: MIT
82
+ License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
83
+ Contained in: src/sap.ui.core/test/sap/ui/core/qunit/thirdparty/qunit-2.18.*
84
+
79
85
  Component: jQuery-Migrate, version: 3.3.1
80
86
  Copyright: OpenJS Foundation and other contributors
81
87
  License: MIT
@@ -98,7 +104,7 @@ Component: QUnit Composite, version: 1.0.2-pre
98
104
  Copyright: jQuery Foundation and other contributors
99
105
  License: MIT
100
106
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
101
- Contained in: src/sap.ui.core/src/sap/ui/thirdparty/qunit-composite*
107
+ Contained in: src/sap.ui.core/src/sap/ui/thirdparty/qunit-composite.*
102
108
 
103
109
  Component: JUnit Reporter for QUnit, version: 1.1.1
104
110
  Copyright: jQuery Foundation and other contributors
@@ -191,13 +197,19 @@ License: BSD-3-Clause
191
197
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/BSD-3-Clause.txt
192
198
  Contained in: src/sap.ui.core/src/sap/ui/thirdparty/sinon-4.js
193
199
 
200
+ Component: SinonJS 14, version: 14.0.0
201
+ Copyright: 2010-2022, Christian Johansen, christian@cjohansen.no
202
+ License: BSD-3-Clause
203
+ License Text: https://github.com/SAP/openui5/blob/master/LICENSES/BSD-3-Clause.txt
204
+ Contained in: src/sap.ui.core/test/sap/ui/core/qunit/thirdparty/sinon-14.0.*
205
+
194
206
  Component: Sinon-qunit, version: 2.0.0
195
207
  Copyright: 2010-2011, Christian Johansen
196
208
  License: BSD-3-Clause
197
209
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/BSD-3-Clause.txt
198
210
  Contained in: src/sap.ui.core/src/sap/ui/thirdparty/sinon-qunit.js
199
211
 
200
- Component: URI.js, version: 1.19.10
212
+ Component: URI.js, version: 1.19.11
201
213
  Copyright: Rodney Rehm
202
214
  License: MIT
203
215
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
@@ -315,6 +327,12 @@ License: ISC
315
327
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/ISC.txt
316
328
  Contained in: src/sap.ui.core/src/sap/ui/core/cache/LRUPersistentCache.js
317
329
 
330
+ Component: Time Zone Database, version: 2022a
331
+ Copyright: Arthur David Olson, Paul Eggert and other contributors
332
+ License: LicenseRef-tzdata-PublicDomain
333
+ License Text: https://github.com/SAP/openui5/blob/master/LICENSES/LicenseRef-tzdata-PublicDomain.txt
334
+ Contained in: src/sap.ui.core/test/sap/ui/core/qunit/i18n/helper/_timezones.js
335
+
318
336
 
319
337
  Library: sap.ui.documentation:
320
338
 
@@ -450,7 +468,7 @@ License: Apache-2.0
450
468
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
451
469
  Contained in: lib/jsdoc/ui5/plugin.js
452
470
 
453
- Component: SAP Theming Base Content, version: 11.1.39
471
+ Component: SAP Theming Base Content, version: 11.1.40
454
472
  Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
455
473
  License: Apache-2.0
456
474
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
@@ -980,6 +998,21 @@ END of license: LicenseRef-JSONinJSPublicDomain
980
998
  =================================
981
999
 
982
1000
 
1001
+ =================================
1002
+ BEGIN of license: LicenseRef-tzdata-PublicDomain
1003
+ =================================
1004
+
1005
+ Unless specified below, all files in the tz code and data (including
1006
+ this LICENSE file) are in the public domain.
1007
+
1008
+ If the files date.c, newstrftime.3, and strftime.c are present, they
1009
+ contain material derived from BSD and use the BSD 3-clause license.
1010
+
1011
+ =================================
1012
+ END of license: LicenseRef-tzdata-PublicDomain
1013
+ =================================
1014
+
1015
+
983
1016
  =================================
984
1017
  BEGIN of license: MIT
985
1018
  =================================
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.mdc",
3
- "version": "1.103.0",
3
+ "version": "1.105.0",
4
4
  "description": "OpenUI5 UI Library sap.ui.mdc",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "Apache-2.0",
@@ -14,8 +14,8 @@
14
14
  "url": "https://github.com/SAP/openui5.git"
15
15
  },
16
16
  "dependencies": {
17
- "@openui5/sap.m": "1.103.0",
18
- "@openui5/sap.ui.core": "1.103.0",
19
- "@openui5/sap.ui.layout": "1.103.0"
17
+ "@openui5/sap.m": "1.105.0",
18
+ "@openui5/sap.ui.core": "1.105.0",
19
+ "@openui5/sap.ui.layout": "1.105.0"
20
20
  }
21
21
  }
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
7
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
8
8
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
9
- <version>1.103.0</version>
9
+ <version>1.105.0</version>
10
10
 
11
11
  <documentation>UI5 library: sap.ui.mdc</documentation>
12
12
 
@@ -1,5 +1,5 @@
1
- /*
2
- * ! OpenUI5
1
+ /*!
2
+ * OpenUI5
3
3
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
@@ -31,7 +31,7 @@ sap.ui.define([
31
31
  * @class The column for the metadata driven table, that hold the template to be shown when the rows has data.
32
32
  * @extends sap.m.OverflowToolbar
33
33
  * @author SAP SE
34
- * @version 1.103.0
34
+ * @version 1.105.0
35
35
  * @constructor
36
36
  * @private
37
37
  * @since 1.58
@@ -104,7 +104,7 @@ sap.ui.define(['sap/ui/mdc/BaseDelegate', 'sap/ui/core/library'], function (Base
104
104
  },
105
105
 
106
106
  /**
107
- * Hook that will be executed is called when changes are done applying to controls during the XML flexibility change appliance process.
107
+ * Hook that will be executed when changes are done applying to controls during the XML flexibility change appliance process.
108
108
  *
109
109
  * @param {Object<sap.ui.mdc.Control>} oControl Instance of an MDC control
110
110
  * @param {Object} mPropertyBag Property bag from SAPUI5 flexibility
@@ -12,7 +12,6 @@ sap.ui.define([
12
12
  "./ChartRenderer",
13
13
  "sap/ui/mdc/library",
14
14
  "sap/m/Text",
15
- "sap/m/VBox",
16
15
  "sap/base/Log",
17
16
  "./chart/ChartToolbar",
18
17
  "./chart/PropertyHelper",
@@ -25,7 +24,8 @@ sap.ui.define([
25
24
  "sap/ui/base/ManagedObjectObserver",
26
25
  "sap/ui/mdc/chart/DrillBreadcrumbs",
27
26
  "sap/ui/mdc/actiontoolbar/ActionToolbarAction",
28
- "sap/ui/thirdparty/jquery"
27
+ "sap/ui/thirdparty/jquery",
28
+ "sap/ui/core/library"
29
29
  ],
30
30
  function (
31
31
  Core,
@@ -35,7 +35,6 @@ sap.ui.define([
35
35
  ChartRenderer,
36
36
  MDCLib,
37
37
  Text,
38
- VBox,
39
38
  Log,
40
39
  ChartToolbar,
41
40
  PropertyHelper,
@@ -48,11 +47,13 @@ sap.ui.define([
48
47
  ManagedObjectObserver,
49
48
  Breadcrumbs,
50
49
  ActionToolbarAction,
51
- jQuery
50
+ jQuery,
51
+ coreLibrary
52
52
  ) {
53
53
  "use strict";
54
54
 
55
55
  var DrillStackHandler;
56
+ var TitleLevel = coreLibrary.TitleLevel;
56
57
 
57
58
  /**
58
59
  * Constructor for a new Chart.
@@ -62,7 +63,7 @@ sap.ui.define([
62
63
  * @class The Chart control creates a chart based on metadata and the configuration specified.
63
64
  * @extends sap.ui.mdc.Control
64
65
  * @author SAP SE
65
- * @version 1.103.0
66
+ * @version 1.105.0
66
67
  * @constructor
67
68
  * @experimental As of version ...
68
69
  * @private
@@ -242,6 +243,17 @@ sap.ui.define([
242
243
  propertyInfo: {
243
244
  type: "object",
244
245
  defaultValue: []
246
+ },
247
+ /**
248
+ * Semantic level of the header.
249
+ * For more information, see {@link sap.m.Title#setLevel}.
250
+ *
251
+ * @since 1.104
252
+ */
253
+ headerLevel: {
254
+ type: "sap.ui.core.TitleLevel",
255
+ group: "Appearance",
256
+ defaultValue: TitleLevel.Auto
245
257
  }
246
258
  },
247
259
  aggregations: {
@@ -585,37 +597,12 @@ sap.ui.define([
585
597
  }.bind(this));
586
598
  };
587
599
 
588
- /**
589
- * Defines the height of the chart.
590
- * @param {sap.ui.core.CSSSize} iHeight New height for the chart.
591
- * @returns {sap.ui.mdc.Chart} Reference to <code>this</code> for method chaining
592
- *
593
- * @experimental
594
- * @private
595
- * @ui5-restricted Fiori Elements
596
- */
597
- Chart.prototype.setHeight = function(iHeight) {
598
- try {
599
- this.getControlDelegate().adjustChartHeight(this);
600
- } catch (oError) {
601
- //No need to do anything as correct height will be calculated anyways once inner chart is ready
602
- }
603
-
604
- this.setProperty("height", iHeight);
605
-
606
- return this;
607
- };
608
-
609
600
  Chart.prototype._createBreadcrumbs = function () {
610
- this._oBreadcrumbs = new Breadcrumbs(this.getId() + "--breadcrumbs");
611
- this._oBreadcrumbs.updateDrillBreadcrumbs(this, this.getControlDelegate().getDrillableItems(this));
612
- this.setAggregation("_breadcrumbs", this._oBreadcrumbs);
613
-
614
- this._oBreadcrumbs.addEventDelegate({
615
- onAfterRendering: function() {
616
- this.getControlDelegate().adjustChartHeight(this);
617
- }.bind(this)
618
- });
601
+ if (!this._oBreadcrumbs){
602
+ this._oBreadcrumbs = new Breadcrumbs(this.getId() + "--breadcrumbs");
603
+ this._oBreadcrumbs.updateDrillBreadcrumbs(this, this.getControlDelegate().getDrillableItems(this));
604
+ this.setAggregation("_breadcrumbs", this._oBreadcrumbs);
605
+ }
619
606
  };
620
607
 
621
608
  /**
@@ -1068,6 +1055,7 @@ sap.ui.define([
1068
1055
  * @private
1069
1056
  */
1070
1057
  Chart.prototype._innerChartDataLoadComplete = function (mArguments) {
1058
+ this._checkStyleClassesForDimensions();
1071
1059
  this.setBusy(false);
1072
1060
  this._renderOverlay(false);
1073
1061
 
@@ -1078,6 +1066,18 @@ sap.ui.define([
1078
1066
  });
1079
1067
  };
1080
1068
 
1069
+ Chart.prototype._checkStyleClassesForDimensions = function() {
1070
+ var bHasDimension = this.getItems().some(function(oItem){ return oItem.getType() === "groupable"; });
1071
+
1072
+ if (!bHasDimension && this.hasStyleClass("sapUiMDCChartGrid")) {
1073
+ this.removeStyleClass("sapUiMDCChartGrid");
1074
+ this.addStyleClass("sapUiMDCChartGridNoBreadcrumbs");
1075
+ } else if (bHasDimension && this.hasStyleClass("sapUiMDCChartGridNoBreadcrumbs")) {
1076
+ this.removeStyleClass("sapUiMDCChartGridNoBreadcrumbs");
1077
+ this.addStyleClass("sapUiMDCChartGrid");
1078
+ }
1079
+ };
1080
+
1081
1081
  /**
1082
1082
  * Fetches the current state of the chart (as a JSON)
1083
1083
  * Needed for P13n to fetch current state
@@ -1251,5 +1251,19 @@ sap.ui.define([
1251
1251
  return Control.prototype.addAggregation.apply(this, ["actions", oControl]);
1252
1252
  };
1253
1253
 
1254
+ /**
1255
+ * Specifies the header level for the title of the chart.
1256
+ * @param {sap.ui.core.TitleLevel} sHeaderLevel Header level
1257
+ * @returns {sap.ui.mdc.Chart} Reference to <code>this</code> in order to allow method chaining
1258
+ */
1259
+ Chart.prototype.setHeaderLevel = function(sHeaderLevel) {
1260
+ if (this.getAggregation("_toolbar")) {
1261
+ this.getAggregation("_toolbar")._setHeaderLevel(sHeaderLevel);
1262
+ }
1263
+
1264
+ this.setProperty("headerLevel", sHeaderLevel);
1265
+ return this;
1266
+ };
1267
+
1254
1268
  return Chart;
1255
1269
  });
@@ -1,5 +1,5 @@
1
- /*
2
- * ! OpenUI5
1
+ /*!
2
+ * OpenUI5
3
3
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
@@ -63,7 +63,7 @@ sap.ui.define(['./library'],
63
63
 
64
64
  if (oToolbar) {
65
65
  oRm.openStart("div");
66
- oRm.class("sapUiFixFlexFixed");
66
+ //oRm.class("sapUiFixFlexFixed");
67
67
  oRm.openEnd();
68
68
  oRm.renderControl(oToolbar);
69
69
  oRm.close("div");
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @extends sap.ui.core.Control
21
21
  * @abstract
22
22
  * @author SAP SE
23
- * @version 1.103.0
23
+ * @version 1.105.0
24
24
  * @alias sap.ui.mdc.Control
25
25
  *
26
26
  * @borrows sap.ui.mdc.mixin.DelegateMixin.awaitControlDelegate as awaitControlDelegate
@@ -1,5 +1,5 @@
1
- /*
2
- * ! OpenUI5
1
+ /*!
2
+ * OpenUI5
3
3
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @extends sap.ui.core.Element
21
21
  * @abstract
22
22
  * @author SAP SE
23
- * @version 1.103.0
23
+ * @version 1.105.0
24
24
  * @alias sap.ui.mdc.Element
25
25
  *
26
26
  * @borrows sap.ui.mdc.mixin.DelegateMixin.awaitControlDelegate as awaitControlDelegate
@@ -46,12 +46,12 @@ sap.ui.define([
46
46
  * @implements sap.ui.core.IFormContent
47
47
  *
48
48
  * @author SAP SE
49
- * @version 1.103.0
49
+ * @version 1.105.0
50
50
  *
51
51
  * @constructor
52
52
  * @alias sap.ui.mdc.Field
53
53
  * @author SAP SE
54
- * @version 1.103.0
54
+ * @version 1.105.0
55
55
  * @since 1.54.0
56
56
  * @experimental As of version 1.54
57
57
  *
@@ -1,5 +1,5 @@
1
- /*
2
- * ! OpenUI5
1
+ /*!
2
+ * OpenUI5
3
3
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * The metadata information is provided via the {@link sap.ui.mdc.FilterBarDelegate FilterBarDelegate} implementation. This implementation has to be provided by the application.
22
22
  * @extends sap.ui.mdc.filterbar.FilterBarBase
23
23
  * @author SAP SE
24
- * @version 1.103.0
24
+ * @version 1.105.0
25
25
  * @constructor
26
26
  * @experimental As of version 1.61
27
27
  * @private
@@ -1,5 +1,5 @@
1
- /*
2
- * ! OpenUI5
1
+ /*!
2
+ * OpenUI5
3
3
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
@@ -33,12 +33,12 @@ sap.ui.define([
33
33
  * @extends sap.ui.mdc.field.FieldBase
34
34
  *
35
35
  * @author SAP SE
36
- * @version 1.103.0
36
+ * @version 1.105.0
37
37
  *
38
38
  * @constructor
39
39
  * @alias sap.ui.mdc.FilterField
40
40
  * @author SAP SE
41
- * @version 1.103.0
41
+ * @version 1.105.0
42
42
  * @since 1.48.0
43
43
  *
44
44
  * @experimental As of version 1.48
@@ -1,5 +1,5 @@
1
- /*
2
- * ! OpenUI5
1
+ /*!
2
+ * OpenUI5
3
3
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
@@ -40,12 +40,12 @@ sap.ui.define([
40
40
  * @class
41
41
  * A <code>Link</code> control can be used to handle navigation scenarios with one or more targets through direct navigation or by opening a <code>Panel</code>.<br>
42
42
  * It can also be used to display additional content, such as <code>ContactDetails</code> on the <code>Panel</code>.
43
- * <b>Note:</b> Navigation targets are determined by the implementation of a {@link sap.ui.mdc.LinkDelegate}.
43
+ * <b>Note:</b> Navigation targets are determined by the implementation of a {@link module:sap/ui/mdc/LinkDelegate LinkDelegate}.
44
44
  *
45
45
  * @extends sap.ui.mdc.field.FieldInfoBase
46
46
  *
47
47
  * @author SAP SE
48
- * @version 1.103.0
48
+ * @version 1.105.0
49
49
  *
50
50
  * @constructor
51
51
  * @alias sap.ui.mdc.Link
@@ -54,7 +54,7 @@ sap.ui.define([
54
54
  * @experimental As of version 1.74
55
55
  * @private
56
56
  * @ui5-restricted sap.fe
57
- * @MDC_PUBLIC_CANDIDATE
57
+ * @MDC_PUBLIC_CANDIDATE
58
58
  */
59
59
  var Link = FieldInfoBase.extend("sap.ui.mdc.Link", /** @lends sap.ui.mdc.Link.prototype */ {
60
60
  metadata: {
@@ -106,13 +106,25 @@ sap.ui.define([
106
106
  oModel.setSizeLimit(1000);
107
107
  this.setModel(oModel, "$sapuimdcLink");
108
108
  this.attachEvent("modelContextChange", this.fireDataUpdate, this);
109
+ this._oLinkType = null;
109
110
  this._bLinkItemsFetched = false;
110
111
  this._aLinkItems = [];
111
- this._oLinkType = null;
112
112
 
113
113
  FieldInfoBase.prototype.init.apply(this, arguments);
114
114
  };
115
115
 
116
+ Link.prototype.exit = function() {
117
+ this._aLinkItems = undefined;
118
+ this._bLinkItemsFetched = undefined;
119
+ this._oLinkType = undefined;
120
+ this._oUseDelegateItemsPromise = undefined;
121
+
122
+ this._aAdditionalContent = undefined;
123
+ this._oUseDelegateAdditionalContentPromise = undefined;
124
+
125
+ FieldInfoBase.prototype.exit.apply(this, arguments);
126
+ };
127
+
116
128
  // ----------------------- Implementation of 'FieldInfoBase' interface --------------------------------------------
117
129
 
118
130
  /**
@@ -224,7 +236,17 @@ sap.ui.define([
224
236
 
225
237
  var oPanelAdditionalContent = !aAdditionalContent.length && !aMLinkItems.length ? this._getNoContent() : aAdditionalContent;
226
238
 
227
- var oPanel = new Panel(this._createPanelId(Utils, FlexRuntimeInfoAPI), {
239
+ var sPanelId = this._createPanelId(Utils, FlexRuntimeInfoAPI);
240
+ var oExistingPanel = sap.ui.getCore().byId(sPanelId);
241
+ if (oExistingPanel) {
242
+ // close Popover if existing
243
+ if (oExistingPanel.getParent() && oExistingPanel.getParent().close) {
244
+ oExistingPanel.getParent().close();
245
+ }
246
+ oExistingPanel.destroy();
247
+ }
248
+
249
+ var oPanel = new Panel(sPanelId, {
228
250
  enablePersonalization: this.getEnablePersonalization(), // brake the binding chain
229
251
  items: aMBaselineLinkItems.map(function(oMLinkItem) {
230
252
  return new PanelItem(oMLinkItem.key, {
@@ -251,11 +273,13 @@ sap.ui.define([
251
273
  beforeNavigationCallback: this._beforeNavigationCallback.bind(this),
252
274
  metadataHelperPath: "sap/ui/mdc/Link"
253
275
  });
254
-
255
276
  oPanel.setModel(new JSONModel({
256
277
  metadata: jQuery.extend(true, [], this._getInternalModel().getProperty("/linkItems")),
257
278
  baseline: jQuery.extend(true, [], this._getInternalModel().getProperty("/baselineLinkItems"))
258
279
  }), "$sapuimdcLink");
280
+ // reset _aAdditionalContent as the additionalContent gets forwarded to the Panel and will be destroyed when the Popover is closed
281
+ this._setAdditionalContent(undefined);
282
+
259
283
  return resolve(oPanel);
260
284
  }.bind(this));
261
285
  }.bind(this));
@@ -339,7 +363,7 @@ sap.ui.define([
339
363
  if (this.getParent()) {
340
364
  oField = this.getParent();
341
365
  }
342
- var oControl = typeof this.getSourceControl() === "string" ? sap.ui.getCore().byId(this.getSourceControl()) : this.getSourceControl();
366
+ var oControl = this._getSourceControl();
343
367
  if (!oControl) {
344
368
  //SapBaseLog.error("Invalid source control: " + this.getSourceControl() + ". The mandatory 'sourceControl' association should be defined due to personalization reasons, parent: " + oField + " used instead.");
345
369
  this.setSourceControl(oField);
@@ -442,18 +466,45 @@ sap.ui.define([
442
466
  * @MDC_PUBLIC_CANDIDATE
443
467
  */
444
468
  Link.prototype.retrieveAdditionalContent = function() {
469
+ if (this._aAdditionalContent) {
470
+ return Promise.resolve(this._aAdditionalContent);
471
+ } else {
472
+ this._oUseDelegateAdditionalContentPromise = this._useDelegateAdditionalContent();
473
+ return this._oUseDelegateAdditionalContentPromise.then(function() {
474
+ return Promise.resolve(this._aAdditionalContent);
475
+ }.bind(this));
476
+ }
477
+ };
478
+
479
+ /**
480
+ * Determines the <code>AdditionalContent</code> objects depending on the given <code>LinkDelegate</code>.
481
+ * @private
482
+ * @returns {Promise} Resolves once the <code>AdditionalContent</code> objects have been retrieved by the delegate. This also sets this._aAdditionalContent.
483
+ */
484
+ Link.prototype._useDelegateAdditionalContent = function() {
445
485
  if (this.awaitControlDelegate()) {
446
486
  return this.awaitControlDelegate().then(function() {
447
487
  var oPayload = Object.assign({}, this.getPayload());
448
- return this.getControlDelegate().fetchAdditionalContent(oPayload, this).then(function(aAdditionalContent) {
449
- return aAdditionalContent;
450
- });
488
+ return new Promise(function(resolve) {
489
+ this.getControlDelegate().fetchAdditionalContent(oPayload, this).then(function(aAdditionalContent) {
490
+ this._setAdditionalContent(aAdditionalContent === null ? [] : aAdditionalContent);
491
+ resolve();
492
+ }.bind(this));
493
+ }.bind(this));
451
494
  }.bind(this));
452
495
  }
453
496
  SapBaseLog.error("mdc.Link retrieveAdditionalContent: control delegate is not set - could not load AdditionalContent from delegate.");
454
497
  return Promise.resolve([]);
455
498
  };
456
499
 
500
+ /**
501
+ * @private
502
+ * @param {sap.ui.core.Control[]} aAdditionalContent The given <code>AdditionalContent</code> objects
503
+ */
504
+ Link.prototype._setAdditionalContent = function(aAdditionalContent) {
505
+ this._aAdditionalContent = aAdditionalContent;
506
+ };
507
+
457
508
  /**
458
509
  * @returns {Promise} Returns a {@link sap.ui.mdc.LinkDelegate.LinkType}, once resolved
459
510
  * @protected
@@ -496,8 +547,8 @@ sap.ui.define([
496
547
  if (this._bLinkItemsFetched) {
497
548
  return Promise.resolve(this._aLinkItems);
498
549
  } else {
499
- this.oUseDelegateItemsPromise = this._useDelegateItems();
500
- return this.oUseDelegateItemsPromise.then(function() {
550
+ this._oUseDelegateItemsPromise = this._useDelegateItems();
551
+ return this._oUseDelegateItemsPromise.then(function() {
501
552
  return Promise.resolve(this._aLinkItems);
502
553
  }.bind(this));
503
554
  }
@@ -539,6 +590,7 @@ sap.ui.define([
539
590
  aLinkItemsMissingParent.forEach(function(oLinkItem) {
540
591
  this.addDependent(oLinkItem);
541
592
  }.bind(this));
593
+
542
594
  this._aLinkItems = aLinkItems;
543
595
  };
544
596
 
@@ -565,7 +617,7 @@ sap.ui.define([
565
617
  * @returns {Object} The binding context of the SourceControl / link
566
618
  */
567
619
  Link.prototype._getControlBindingContext = function() {
568
- var oControl = typeof this.getSourceControl() === "string" ? sap.ui.getCore().byId(this.getSourceControl()) : this.getSourceControl();
620
+ var oControl = this._getSourceControl();
569
621
  return oControl && oControl.getBindingContext() || this.getBindingContext();
570
622
  };
571
623
 
@@ -577,5 +629,14 @@ sap.ui.define([
577
629
  return this.getModel("$sapuimdcLink");
578
630
  };
579
631
 
632
+ /**
633
+ * Returns the object which is defined in the association "sourceControl"
634
+ * @private
635
+ * @returns {sap.ui.core.Control} Associated sourceControl
636
+ */
637
+ Link.prototype._getSourceControl = function() {
638
+ return typeof this.getSourceControl() === "string" ? sap.ui.getCore().byId(this.getSourceControl()) : this.getSourceControl();
639
+ };
640
+
580
641
  return Link;
581
642
  });