@openui5/sap.ui.mdc 1.97.1 → 1.100.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 (296) hide show
  1. package/.reuse/dep5 +25 -30
  2. package/THIRDPARTY.txt +15 -22
  3. package/package.json +4 -4
  4. package/src/sap/ui/mdc/.library +1 -1
  5. package/src/sap/ui/mdc/ActionToolbar.js +6 -3
  6. package/src/sap/ui/mdc/AggregationBaseDelegate.js +2 -2
  7. package/src/sap/ui/mdc/BaseDelegate.js +1 -1
  8. package/src/sap/ui/mdc/Chart.js +1128 -1806
  9. package/src/sap/ui/mdc/ChartDelegate.js +454 -250
  10. package/src/sap/ui/mdc/ChartRenderer.js +73 -77
  11. package/src/sap/ui/mdc/Control.js +11 -6
  12. package/src/sap/ui/mdc/Element.js +10 -6
  13. package/src/sap/ui/mdc/Field.js +19 -4
  14. package/src/sap/ui/mdc/FilterBar.js +3 -2
  15. package/src/sap/ui/mdc/FilterBarDelegate.js +26 -0
  16. package/src/sap/ui/mdc/FilterField.js +50 -9
  17. package/src/sap/ui/mdc/Link.js +25 -6
  18. package/src/sap/ui/mdc/LinkDelegate.js +3 -3
  19. package/src/sap/ui/mdc/MultiValueField.js +30 -6
  20. package/src/sap/ui/mdc/Table.js +151 -102
  21. package/src/sap/ui/mdc/TableDelegate.js +68 -13
  22. package/src/sap/ui/mdc/ValueHelp.js +26 -11
  23. package/src/sap/ui/mdc/ValueHelpDelegate.js +2 -1
  24. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +2 -2
  25. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarActionRenderer.js +1 -1
  26. package/src/sap/ui/mdc/{chartNew/ChartSelectionDetailsNew.js → chart/ChartSelectionDetails.js} +8 -8
  27. package/src/sap/ui/mdc/{chartNew/ChartToolbarNew.js → chart/ChartToolbar.js} +60 -17
  28. package/src/sap/ui/mdc/chart/ChartTypeButton.js +55 -54
  29. package/src/sap/ui/mdc/{chartNew/DrillBreadcrumbsNew.js → chart/DrillBreadcrumbs.js} +10 -10
  30. package/src/sap/ui/mdc/chart/DrillStackHandler.js +43 -254
  31. package/src/sap/ui/mdc/chart/Item.js +62 -92
  32. package/src/sap/ui/mdc/{chartNew/PropertyHelperNew.js → chart/PropertyHelper.js} +3 -3
  33. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +17 -21
  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 +4 -2
  38. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +388 -67
  39. package/src/sap/ui/mdc/condition/Operator.js +4 -2
  40. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +78 -24
  41. package/src/sap/ui/mdc/condition/RangeOperator.js +5 -5
  42. package/src/sap/ui/mdc/designtime/Util.js +63 -0
  43. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +23 -30
  44. package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +83 -5
  45. package/src/sap/ui/mdc/designtime/field/Field.designtime.js +81 -5
  46. package/src/sap/ui/mdc/designtime/filterbar/FilterBarBase.designtime.js +3 -0
  47. package/src/sap/ui/mdc/designtime/link/PanelItem.designtime.js +3 -1
  48. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +35 -8
  49. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  50. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  51. package/src/sap/ui/mdc/field/ConditionType.js +17 -6
  52. package/src/sap/ui/mdc/field/ConditionsType.js +2 -1
  53. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -1
  54. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  55. package/src/sap/ui/mdc/field/DefineConditionPanel.js +88 -29
  56. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +77 -20
  57. package/src/sap/ui/mdc/field/FieldBase.js +93 -16
  58. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +1 -1
  59. package/src/sap/ui/mdc/field/FieldBaseRenderer.js +0 -3
  60. package/src/sap/ui/mdc/field/FieldHelpBase.js +2 -2
  61. package/src/sap/ui/mdc/field/FieldInfoBase.js +24 -10
  62. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  63. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  64. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  65. package/src/sap/ui/mdc/field/FieldValueHelp.js +5 -2
  66. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
  67. package/src/sap/ui/mdc/field/FieldValueHelpDelegate.js +1 -1
  68. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +5 -4
  69. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +6 -4
  70. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +6 -3
  71. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +7 -7
  72. package/src/sap/ui/mdc/field/InParameter.js +1 -1
  73. package/src/sap/ui/mdc/field/ListFieldHelp.js +10 -2
  74. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  75. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  76. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  77. package/src/sap/ui/mdc/field/TokenDisplay.js +70 -0
  78. package/src/sap/ui/mdc/field/TokenDisplayRenderer.js +24 -0
  79. package/src/sap/ui/mdc/field/TokenizerDisplay.js +80 -0
  80. package/src/sap/ui/mdc/field/TokenizerDisplayRenderer.js +69 -0
  81. package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -1
  82. package/src/sap/ui/mdc/field/content/ContentFactory.js +10 -6
  83. package/src/sap/ui/mdc/field/content/DateContent.js +27 -19
  84. package/src/sap/ui/mdc/field/content/DateTimeContent.js +0 -6
  85. package/src/sap/ui/mdc/field/content/DefaultContent.js +35 -13
  86. package/src/sap/ui/mdc/field/content/LinkContent.js +1 -1
  87. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +285 -208
  88. package/src/sap/ui/mdc/filterbar/FilterBarBaseRenderer.js +1 -1
  89. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +27 -2
  90. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +132 -56
  91. package/src/sap/ui/mdc/filterbar/p13n/FilterColumnLayout.js +2 -2
  92. package/src/sap/ui/mdc/filterbar/p13n/GroupContainer.js +7 -3
  93. package/src/sap/ui/mdc/filterbar/p13n/TableContainer.js +52 -14
  94. package/src/sap/ui/mdc/filterbar/vh/CollectiveSearchSelect.js +3 -1
  95. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +43 -19
  96. package/src/sap/ui/mdc/filterbar/vh/FilterContainer.js +1 -1
  97. package/src/sap/ui/mdc/flexibility/AggregateFlex.js +2 -2
  98. package/src/sap/ui/mdc/flexibility/AggregationConfigFlex.js +48 -31
  99. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +6 -4
  100. package/src/sap/ui/mdc/flexibility/ChartItemFlex.js +36 -0
  101. package/src/sap/ui/mdc/flexibility/ColumnFlex.js +1 -1
  102. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +47 -10
  103. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +4 -3
  104. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  105. package/src/sap/ui/mdc/flexibility/GroupFlex.js +1 -1
  106. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +0 -1
  107. package/src/sap/ui/mdc/flexibility/Panel.flexibility.js +9 -3
  108. package/src/sap/ui/mdc/flexibility/PropertyInfoFlex.js +27 -0
  109. package/src/sap/ui/mdc/flexibility/SortFlex.js +2 -2
  110. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +6 -6
  111. package/src/sap/ui/mdc/library.js +54 -44
  112. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  113. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  114. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  115. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  116. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  117. package/src/sap/ui/mdc/link/Factory.js +2 -2
  118. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  119. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  120. package/src/sap/ui/mdc/link/Log.js +1 -1
  121. package/src/sap/ui/mdc/link/Panel.js +140 -177
  122. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  123. package/src/sap/ui/mdc/link/PanelListItem.js +1 -1
  124. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  125. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  126. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  127. package/src/sap/ui/mdc/messagebundle.properties +57 -2
  128. package/src/sap/ui/mdc/messagebundle_ar.properties +39 -4
  129. package/src/sap/ui/mdc/messagebundle_bg.properties +54 -19
  130. package/src/sap/ui/mdc/messagebundle_ca.properties +37 -2
  131. package/src/sap/ui/mdc/messagebundle_cs.properties +52 -17
  132. package/src/sap/ui/mdc/messagebundle_cy.properties +37 -2
  133. package/src/sap/ui/mdc/messagebundle_da.properties +44 -9
  134. package/src/sap/ui/mdc/messagebundle_de.properties +37 -2
  135. package/src/sap/ui/mdc/messagebundle_el.properties +38 -3
  136. package/src/sap/ui/mdc/messagebundle_en.properties +37 -2
  137. package/src/sap/ui/mdc/messagebundle_en_GB.properties +37 -2
  138. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +37 -2
  139. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +61 -4
  140. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +37 -2
  141. package/src/sap/ui/mdc/messagebundle_es.properties +37 -2
  142. package/src/sap/ui/mdc/messagebundle_es_MX.properties +51 -16
  143. package/src/sap/ui/mdc/messagebundle_et.properties +37 -2
  144. package/src/sap/ui/mdc/messagebundle_fi.properties +43 -8
  145. package/src/sap/ui/mdc/messagebundle_fr.properties +38 -3
  146. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +37 -2
  147. package/src/sap/ui/mdc/messagebundle_hi.properties +38 -3
  148. package/src/sap/ui/mdc/messagebundle_hr.properties +37 -2
  149. package/src/sap/ui/mdc/messagebundle_hu.properties +37 -2
  150. package/src/sap/ui/mdc/messagebundle_id.properties +37 -2
  151. package/src/sap/ui/mdc/messagebundle_it.properties +53 -18
  152. package/src/sap/ui/mdc/messagebundle_iw.properties +38 -3
  153. package/src/sap/ui/mdc/messagebundle_ja.properties +37 -2
  154. package/src/sap/ui/mdc/messagebundle_kk.properties +37 -2
  155. package/src/sap/ui/mdc/messagebundle_ko.properties +41 -6
  156. package/src/sap/ui/mdc/messagebundle_lt.properties +37 -2
  157. package/src/sap/ui/mdc/messagebundle_lv.properties +41 -6
  158. package/src/sap/ui/mdc/messagebundle_ms.properties +37 -2
  159. package/src/sap/ui/mdc/messagebundle_nl.properties +42 -7
  160. package/src/sap/ui/mdc/messagebundle_no.properties +45 -10
  161. package/src/sap/ui/mdc/messagebundle_pl.properties +38 -3
  162. package/src/sap/ui/mdc/messagebundle_pt.properties +44 -9
  163. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +37 -2
  164. package/src/sap/ui/mdc/messagebundle_ro.properties +37 -2
  165. package/src/sap/ui/mdc/messagebundle_ru.properties +37 -2
  166. package/src/sap/ui/mdc/messagebundle_sh.properties +37 -2
  167. package/src/sap/ui/mdc/messagebundle_sk.properties +37 -2
  168. package/src/sap/ui/mdc/messagebundle_sl.properties +37 -2
  169. package/src/sap/ui/mdc/messagebundle_sv.properties +39 -4
  170. package/src/sap/ui/mdc/messagebundle_th.properties +40 -5
  171. package/src/sap/ui/mdc/messagebundle_tr.properties +37 -2
  172. package/src/sap/ui/mdc/messagebundle_uk.properties +41 -6
  173. package/src/sap/ui/mdc/messagebundle_vi.properties +37 -2
  174. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +37 -2
  175. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +37 -2
  176. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +30 -15
  177. package/src/sap/ui/mdc/mixin/DelegateMixin.js +2 -142
  178. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +14 -17
  179. package/src/sap/ui/mdc/mixin/PromiseMixin.js +2 -3
  180. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +348 -0
  181. package/src/sap/ui/mdc/odata/TypeUtil.js +2 -2
  182. package/src/sap/ui/mdc/odata/v4/ChartDelegate.js +29 -483
  183. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelper.js +106 -0
  184. package/src/sap/ui/mdc/odata/v4/FilterBarDelegate.js +116 -20
  185. package/src/sap/ui/mdc/odata/v4/ODataMetaModelUtil.js +2 -2
  186. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +117 -123
  187. package/src/sap/ui/mdc/odata/v4/TypeUtil.js +3 -5
  188. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +1 -1
  189. package/src/sap/ui/mdc/odata/v4/util/DelegateUtil.js +1 -1
  190. package/src/sap/ui/mdc/odata/v4/vizChart/{ChartDelegateNew.js → ChartDelegate.js} +459 -351
  191. package/src/sap/ui/mdc/p13n/AdaptationProvider.js +1 -1
  192. package/src/sap/ui/mdc/p13n/Engine.js +51 -30
  193. package/src/sap/ui/mdc/p13n/FlexUtil.js +6 -118
  194. package/src/sap/ui/mdc/p13n/P13nBuilder.js +7 -7
  195. package/src/sap/ui/mdc/p13n/PropertyHelper.js +2 -2
  196. package/src/sap/ui/mdc/p13n/StateUtil.js +24 -6
  197. package/src/sap/ui/mdc/p13n/UIManager.js +20 -19
  198. package/src/sap/ui/mdc/p13n/modification/FlexModificationHandler.js +4 -1
  199. package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +19 -12
  200. package/src/sap/ui/mdc/p13n/modules/DefaultProviderRegistry.js +1 -1
  201. package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +6 -6
  202. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +49 -27
  203. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +1094 -49
  204. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +136 -0
  205. package/src/sap/ui/mdc/p13n/panels/GroupView.js +53 -28
  206. package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +108 -0
  207. package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +4 -7
  208. package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +7 -7
  209. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +156 -11
  210. package/src/sap/ui/mdc/p13n/subcontroller/ChartItemController.js +15 -26
  211. package/src/sap/ui/mdc/p13n/subcontroller/ColumnController.js +6 -5
  212. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +22 -11
  213. package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +174 -0
  214. package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +12 -19
  215. package/src/sap/ui/mdc/table/Column.js +12 -12
  216. package/src/sap/ui/mdc/table/CreationRow.js +11 -11
  217. package/src/sap/ui/mdc/table/GridTableType.js +80 -33
  218. package/src/sap/ui/mdc/table/PropertyHelper.js +63 -19
  219. package/src/sap/ui/mdc/table/ResponsiveTableType.js +94 -23
  220. package/src/sap/ui/mdc/table/RowActionItem.js +119 -0
  221. package/src/sap/ui/mdc/table/RowSettings.js +45 -4
  222. package/src/sap/ui/mdc/table/TableTypeBase.js +2 -2
  223. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +2 -2
  224. package/src/sap/ui/mdc/themes/base/Chart.less +2 -0
  225. package/src/sap/ui/mdc/themes/base/FieldBase.less +0 -5
  226. package/src/sap/ui/mdc/themes/base/TokenDisplay.less +89 -0
  227. package/src/sap/ui/mdc/themes/base/TokenizerDisplay.less +90 -0
  228. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +16 -4
  229. package/src/sap/ui/mdc/themes/base/library.source.less +2 -0
  230. package/src/sap/ui/mdc/util/Common.js +1 -1
  231. package/src/sap/ui/mdc/util/DateUtil.js +33 -8
  232. package/src/sap/ui/mdc/util/FilterUtil.js +2 -2
  233. package/src/sap/ui/mdc/util/FormatUtil.js +3 -3
  234. package/src/sap/ui/mdc/util/IdentifierUtil.js +6 -6
  235. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  236. package/src/sap/ui/mdc/util/PropertyHelper.js +243 -87
  237. package/src/sap/ui/mdc/util/TypeUtil.js +6 -5
  238. package/src/sap/ui/mdc/valuehelp/Dialog.js +11 -8
  239. package/src/sap/ui/mdc/valuehelp/Popover.js +6 -3
  240. package/src/sap/ui/mdc/valuehelp/base/Container.js +2 -1
  241. package/src/sap/ui/mdc/valuehelp/base/Content.js +2 -1
  242. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +2 -1
  243. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +5 -4
  244. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +2 -1
  245. package/src/sap/ui/mdc/valuehelp/content/Bool.js +2 -1
  246. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +4 -2
  247. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +23 -14
  248. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +46 -17
  249. package/src/sap/ui/mdc/valuehelp/content/MTable.js +48 -27
  250. package/test/sap/ui/mdc/testutils/opa/TestLibrary.js +3 -1
  251. package/test/sap/ui/mdc/testutils/opa/actions/OpenContextMenu.js +3 -3
  252. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ActionsBase.js +3 -3
  253. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ActionsViz.js +0 -0
  254. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/AssertionsBase.js +1 -1
  255. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/AssertionsViz.js +0 -0
  256. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ChartNew.js +0 -0
  257. package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +291 -0
  258. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +7 -7
  259. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +8 -9
  260. package/test/sap/ui/mdc/testutils/opa/filterbar/Util.js +12 -11
  261. package/test/sap/ui/mdc/testutils/opa/link/Actions.js +85 -0
  262. package/test/sap/ui/mdc/testutils/opa/link/Assertions.js +79 -0
  263. package/test/sap/ui/mdc/testutils/opa/link/TestObjects.js +112 -0
  264. package/test/sap/ui/mdc/testutils/opa/link/waitForLink.js +50 -0
  265. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +264 -139
  266. package/test/sap/ui/mdc/testutils/opa/p13n/Util.js +27 -26
  267. package/test/sap/ui/mdc/testutils/opa/valueHelp/Actions.js +54 -0
  268. package/test/sap/ui/mdc/testutils/opa/valueHelp/Assertions.js +5 -0
  269. package/test/sap/ui/mdc/testutils/opa/valueHelp/TestObjects.js +40 -0
  270. package/test/sap/ui/mdc/testutils/opa/valueHelp/Util.js +28 -0
  271. package/src/sap/ui/mdc/ChartDelegateNew.js +0 -395
  272. package/src/sap/ui/mdc/ChartNew.js +0 -1114
  273. package/src/sap/ui/mdc/ChartNewRenderer.js +0 -91
  274. package/src/sap/ui/mdc/chart/DimensionItem.js +0 -281
  275. package/src/sap/ui/mdc/chart/MeasureItem.js +0 -318
  276. package/src/sap/ui/mdc/chart/MetadataDelegate.js +0 -31
  277. package/src/sap/ui/mdc/chart/SelectionHandler.js +0 -127
  278. package/src/sap/ui/mdc/chart/ToolbarHandler.js +0 -328
  279. package/src/sap/ui/mdc/chartNew/ChartTypeButtonNew.js +0 -295
  280. package/src/sap/ui/mdc/chartNew/DrillStackHandlerNew.js +0 -212
  281. package/src/sap/ui/mdc/chartNew/ItemNew.js +0 -72
  282. package/src/sap/ui/mdc/chartNew/SelectionDetailsActionsNew.js +0 -34
  283. package/src/sap/ui/mdc/designtime/chart/ChartNew.designtime.js +0 -91
  284. package/src/sap/ui/mdc/filterbar/vh/GenericFilterBarDelegate.js +0 -150
  285. package/src/sap/ui/mdc/link/SelectionDialog.control.xml +0 -66
  286. package/src/sap/ui/mdc/link/SelectionDialog.js +0 -213
  287. package/src/sap/ui/mdc/link/SelectionDialogItem.js +0 -86
  288. package/src/sap/ui/mdc/odata/v4/ChartDelegateNew.js +0 -35
  289. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelperNew.js +0 -39
  290. package/src/sap/ui/mdc/p13n/panels/BasePanel.js +0 -721
  291. package/src/sap/ui/mdc/p13n/panels/ChartItemPanelNew.js +0 -1179
  292. package/src/sap/ui/mdc/p13n/panels/ListView.js +0 -404
  293. package/src/sap/ui/mdc/p13n/panels/SelectionPanel.js +0 -92
  294. package/src/sap/ui/mdc/p13n/panels/SortPanel.js +0 -150
  295. package/src/sap/ui/mdc/ui/Container.js +0 -240
  296. package/src/sap/ui/mdc/ui/ContainerItem.js +0 -79
@@ -46,7 +46,7 @@ sap.ui.define([
46
46
  * @extends sap.ui.mdc.field.ConditionsType
47
47
  *
48
48
  * @author SAP SE
49
- * @version 1.97.1
49
+ * @version 1.100.0
50
50
  *
51
51
  * @since 1.96.0
52
52
  * @private
@@ -120,20 +120,22 @@ sap.ui.define([
120
120
  }
121
121
 
122
122
  var aValues = [];
123
- var sOption = oOperator.name;
124
- if (mLibrary.StandardDynamicDateRangeKeys.indexOf(sOption) === -1) {
125
- sOption = oOperator.alias || sOption;
126
- }
123
+ var sBaseType = _getBaseType.call(this);
124
+ var sOption = FilterOperatorUtil.getDynamicDateOptionForOperator(oOperator, mLibrary.StandardDynamicDateRangeKeys, sBaseType);
127
125
 
128
126
  for (var i = 0; i < oOperator.valueTypes.length; i++) {
129
- if (mLibrary.StandardDynamicDateRangeKeys.indexOf(sOption) >= 0 && oOperator.valueTypes[i] === Operator.ValueType.Self) { // only for standard operators
127
+ if (sOption && oOperator.valueTypes[i] === Operator.ValueType.Self) { // only for standard operators
130
128
  aValues.push(_dateToTimestamp.call(this, oCondition.values[i]));
131
129
  } else if (oOperator.valueTypes[i] && oOperator.valueTypes[i] !== Operator.ValueType.Static) {
132
130
  aValues.push(oCondition.values[i]);
133
131
  }
134
132
  }
135
133
 
136
- var oDynamicDateType = _getDynamicDateType.call(this, oOperator);
134
+ if (!sOption) {
135
+ sOption = FilterOperatorUtil.getCustomDynamicDateOptionForOperator(oOperator, sBaseType);
136
+ }
137
+
138
+ var oDynamicDateType = _getDynamicDateType.call(this, sBaseType);
137
139
  vResult = oDynamicDateType.formatValue({operator: sOption, values: aValues}, sInternalType);
138
140
  }
139
141
 
@@ -141,7 +143,7 @@ sap.ui.define([
141
143
 
142
144
  };
143
145
 
144
- function _getDynamicDateType(oOperator) {
146
+ function _getDynamicDateType(sBaseType) {
145
147
 
146
148
  if (!this._oDynamicDateType) {
147
149
  var oDynamicDateFormatOptions = {
@@ -150,6 +152,11 @@ sap.ui.define([
150
152
  },
151
153
  "int": {}
152
154
  };
155
+ if (sBaseType === BaseType.DateTime) {
156
+ oDynamicDateFormatOptions.datetime = {
157
+ source: {pattern: "timestamp"}
158
+ };
159
+ }
153
160
 
154
161
  this._oDynamicDateType = new DynamicDateType(oDynamicDateFormatOptions);
155
162
  }
@@ -160,12 +167,30 @@ sap.ui.define([
160
167
  function _dateToTimestamp(vValue) {
161
168
 
162
169
  var oType = _getInternalType.call(this);
170
+ var sBaseType = _getBaseType.call(this);
163
171
  var sDate = oType.formatValue(vValue, "string");
164
- var aDate = sDate.split("-");
165
- var iYear = parseInt(aDate[0]);
166
- var iMonth = parseInt(aDate[1]) - 1;
167
- var iDate = parseInt(aDate[2]);
168
- var iTimeStamp = new Date(iYear, iMonth, iDate).getTime();
172
+ var aParts;
173
+ var iHour = 0;
174
+ var iMinute = 0;
175
+ var iSecond = 0;
176
+ var iMillisecond = 0;
177
+
178
+ if (sBaseType === BaseType.DateTime) {
179
+ aParts = sDate.split("T");
180
+ sDate = aParts[0];
181
+ var sTime = aParts[1];
182
+ aParts = sTime.split(":");
183
+ iHour = parseInt(aParts[0]);
184
+ iMinute = parseInt(aParts[1]);
185
+ iSecond = parseInt(aParts[2]);
186
+ iMillisecond = parseInt(aParts[3]);
187
+ }
188
+
189
+ aParts = sDate.split("-");
190
+ var iYear = parseInt(aParts[0]);
191
+ var iMonth = parseInt(aParts[1]) - 1;
192
+ var iDate = parseInt(aParts[2]);
193
+ var iTimeStamp = new Date(iYear, iMonth, iDate, iHour, iMinute, iSecond, iMillisecond).getTime();
169
194
 
170
195
  return iTimeStamp;
171
196
 
@@ -174,11 +199,20 @@ sap.ui.define([
174
199
  function _timestampToDate(iTimeStamp) {
175
200
 
176
201
  var oType = _getInternalType.call(this);
202
+ var sBaseType = _getBaseType.call(this);
177
203
  var oDate = new Date(iTimeStamp);
178
204
  var iYear = oDate.getFullYear();
179
205
  var iMonth = oDate.getMonth() + 1;
180
206
  var iDate = oDate.getDate();
181
207
  var sDate = iYear.toString() + "-" + ((iMonth < 10) ? "0" : "") + iMonth.toString() + "-" + ((iDate < 10) ? "0" : "") + iDate.toString();
208
+
209
+ if (sBaseType === BaseType.DateTime) {
210
+ var iHour = oDate.getHours();
211
+ var iMinute = oDate.getMinutes();
212
+ var iSecond = oDate.getSeconds();
213
+ var iMillisecond = oDate.getMilliseconds();
214
+ sDate = sDate + "T" + ((iHour < 10) ? "0" : "") + iHour.toString() + ":" + ((iMinute < 10) ? "0" : "") + iMinute.toString() + ":" + ((iSecond < 10) ? "0" : "") + iSecond.toString() + ":" + ((iMillisecond < 100) ? "0" : "") + ((iMillisecond < 10) ? "0" : "") + iMillisecond.toString();
215
+ }
182
216
  var vDate = oType.parseValue(sDate, "string");
183
217
 
184
218
  return vDate;
@@ -189,7 +223,15 @@ sap.ui.define([
189
223
 
190
224
  if (!this._oInternalType) {
191
225
  var oType = _getValueType.call(this);
192
- this._oInternalType = DateUtil.createInternalType(oType, "yyyy-MM-dd");
226
+ var sBaseType = _getBaseType.call(this);
227
+ var sPattern;
228
+
229
+ if (sBaseType === BaseType.DateTime) {
230
+ sPattern = "yyyy-MM-dd'T'HH:mm:ss:SSS";
231
+ } else {
232
+ sPattern = "yyyy-MM-dd";
233
+ }
234
+ this._oInternalType = DateUtil.createInternalType(oType, sPattern);
193
235
  }
194
236
 
195
237
  return this._oInternalType;
@@ -214,16 +256,17 @@ sap.ui.define([
214
256
  }
215
257
 
216
258
  var sOperator = oValue.operator; // sOperator is the Option name
217
- var oOperator = FilterOperatorUtil.getOperator(sOperator); // getOperator will search via name and alias
259
+ var oOperator = FilterOperatorUtil.getOperatorForDynamicDateOption(sOperator, _getBaseType.call(this)); // search via name and alias
218
260
  sOperator = oOperator.name; // map it back to the real Operator name
219
261
 
220
262
  if (oOperator) {
221
- var oDynamicDateType = _getDynamicDateType.call(this, oOperator);
263
+ var sBaseType = _getBaseType.call(this);
264
+ var oDynamicDateType = _getDynamicDateType.call(this, sBaseType);
222
265
  var vResult = oDynamicDateType.parseValue(oValue, sInternalType);
223
266
  var aValues = [];
224
267
 
225
268
  for (var i = 0; i < oOperator.valueTypes.length; i++) {
226
- if (mLibrary.StandardDynamicDateRangeKeys.indexOf(oValue.operator) >= 0 && oOperator.valueTypes[i] === Operator.ValueType.Self) { // only for standard operators
269
+ if (mLibrary.StandardDynamicDateRangeKeys[oValue.operator] && oOperator.valueTypes[i] === Operator.ValueType.Self) { // only for standard operators
227
270
  aValues.push(_timestampToDate.call(this, vResult.values[i]));
228
271
  } else if (oOperator.valueTypes[i] && oOperator.valueTypes[i] !== Operator.ValueType.Static) {
229
272
  aValues.push(vResult.values[i]);
@@ -261,9 +304,9 @@ sap.ui.define([
261
304
  throw new ValidateException(this._oResourceBundle.getText("field.VALUE_NOT_VALID"));
262
305
  }
263
306
 
264
- var oOperator = FilterOperatorUtil.getOperator(oCondition.operator, aOperators);
307
+ var oOperator = FilterOperatorUtil.getOperator(oCondition.operator);
265
308
 
266
- if (!oOperator) {
309
+ if (!oOperator || aOperators.indexOf(oOperator.name) === -1) {
267
310
  throw new ValidateException("No valid condition provided, Operator wrong.");
268
311
  }
269
312
 
@@ -299,13 +342,27 @@ sap.ui.define([
299
342
 
300
343
  var aOperators = this.oFormatOptions.operators;
301
344
  if (!aOperators || aOperators.length === 0) {
302
- aOperators = FilterOperatorUtil.getOperatorsForType(BaseType.Date); // TODO: check for type
345
+ aOperators = FilterOperatorUtil.getOperatorsForType(_getBaseType.call(this));
303
346
  }
304
347
 
305
348
  return aOperators;
306
349
 
307
350
  }
308
351
 
352
+ function _getBaseType() {
353
+
354
+ var oType = _getValueType.call(this);
355
+ var sType = oType.getMetadata().getName();
356
+ var oFormatOptions = oType.getFormatOptions();
357
+ var oConstraints = oType.getConstraints();
358
+ var oDelegate = this.oFormatOptions.delegate;
359
+ var oPayload = this.oFormatOptions.payload;
360
+ var sBaseType = oDelegate ? oDelegate.getTypeUtil(oPayload).getBaseType(sType, oFormatOptions, oConstraints) : BaseType.Date;
361
+
362
+ return sBaseType;
363
+
364
+ }
365
+
309
366
  return DynamicDateRangeConditionsType;
310
367
 
311
368
  });
@@ -86,7 +86,7 @@ sap.ui.define([
86
86
  * @implements sap.ui.core.IFormContent, sap.ui.core.ISemanticFormContent
87
87
  *
88
88
  * @author SAP SE
89
- * @version 1.97.1
89
+ * @version 1.100.0
90
90
  *
91
91
  * @constructor
92
92
  * @alias sap.ui.mdc.field.FieldBase
@@ -227,6 +227,8 @@ sap.ui.define([
227
227
  *
228
228
  * This property only affects types that support multiple lines.
229
229
  *
230
+ * This property is only used for single-value fields.
231
+ *
230
232
  * <b>Note</b> If the data type used doesn't support multiple lines an error is thrown.
231
233
  */
232
234
  multipleLines: {
@@ -565,8 +567,6 @@ sap.ui.define([
565
567
 
566
568
  Control.prototype.init.apply(this, arguments);
567
569
 
568
- this._oManagedObjectModel = new ManagedObjectModel(this);
569
-
570
570
  this._oObserver = new ManagedObjectObserver(this._observeChanges.bind(this));
571
571
 
572
572
  this._oObserver.observe(this, {
@@ -576,8 +576,6 @@ sap.ui.define([
576
576
  associations: ["fieldHelp", "ariaLabelledBy"]
577
577
  });
578
578
 
579
- this._oDatePickerRequested = {};
580
-
581
579
  this.attachEvent("modelContextChange", this._handleModelContextChange, this);
582
580
 
583
581
  this._oResourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.ui.mdc");
@@ -623,8 +621,10 @@ sap.ui.define([
623
621
  _detachContentHandlers.call(this, oContentDisplay);
624
622
  }
625
623
 
626
- this._oManagedObjectModel.destroy();
627
- delete this._oManagedObjectModel;
624
+ if (this._oManagedObjectModel) {
625
+ this._oManagedObjectModel.destroy();
626
+ delete this._oManagedObjectModel;
627
+ }
628
628
 
629
629
  this._oObserver.disconnect();
630
630
  this._oObserver = undefined;
@@ -655,19 +655,28 @@ sap.ui.define([
655
655
  if (!this.bDelegateInitialized && !this.bDelegateLoading) {
656
656
  this.initControlDelegate();
657
657
  }
658
+ this._triggerCheckCreateInternalContent();
659
+
660
+ this._bSettingsApplied = true;
658
661
 
659
662
  return this;
660
663
  };
661
664
 
662
- FieldBase.prototype.setProperty = function(sPropertyName, oValue, bSuppressInvalidate) {
665
+ FieldBase.prototype.setProperty = function(sPropertyName, vValue, bSuppressInvalidate) {
663
666
 
664
667
  // most properties are rendered from content controls. Only invalidate whole Field if needed
665
- // (multipleLines mostly changed together with editMode -> update once om rendering)
666
- if (sPropertyName !== "width" && sPropertyName !== "editMode" && sPropertyName !== "multipleLines" && sPropertyName !== "showEmptyIndicator") {
668
+ // (multipleLines mostly changed together with editMode -> update once on rendering)
669
+ if (sPropertyName === "editMode") {
670
+ // only invalidate if switched between edit and display, not for redonly or disabled
671
+ var sOld = this.getEditMode();
672
+ if (sOld !== EditMode.Display && sOld !== EditMode.EditableDisplay && vValue !== EditMode.Display && vValue !== EditMode.EditableDisplay) {
673
+ bSuppressInvalidate = true;
674
+ }
675
+ } else if (sPropertyName !== "width" && sPropertyName !== "multipleLines" && sPropertyName !== "showEmptyIndicator") {
667
676
  bSuppressInvalidate = true;
668
677
  }
669
678
 
670
- return Control.prototype.setProperty.apply(this, [sPropertyName, oValue, bSuppressInvalidate]);
679
+ return Control.prototype.setProperty.apply(this, [sPropertyName, vValue, bSuppressInvalidate]);
671
680
 
672
681
  };
673
682
 
@@ -1144,6 +1153,10 @@ sap.ui.define([
1144
1153
 
1145
1154
  if (oChanges.name === "editMode") {
1146
1155
  _refreshLabel.call(this); // as required-idicator might set or removed on Label
1156
+ if (this._bSettingsApplied && (oChanges.old === EditMode.Display || oChanges.old === EditMode.EditableDisplay || oChanges.current === EditMode.Display || oChanges.current === EditMode.EditableDisplay)) {
1157
+ // edit mode changed after settings applied (happens if edit mode is bound and binding updates after control initialization)
1158
+ this._triggerCheckCreateInternalContent();
1159
+ }
1147
1160
  }
1148
1161
  };
1149
1162
 
@@ -1580,6 +1593,34 @@ sap.ui.define([
1580
1593
  }
1581
1594
  }
1582
1595
 
1596
+ /*
1597
+ * Check if all needed information are provided. If possible create internal controls
1598
+ */
1599
+ FieldBase.prototype._checkCreateInternalContent = function() {
1600
+
1601
+ if (this.getVisible() && this._oContentFactory.getDataType()) {
1602
+ _createInternalContentWrapper.call(this);
1603
+ }
1604
+
1605
+ };
1606
+
1607
+ /*
1608
+ * To be sure that the check is not called multiple times it needs
1609
+ * to be checked if there is a pending check.
1610
+ * Multiple calls might happen if properties are cheged oftten or
1611
+ * the chck is triggered in BindingContext update (what is often called in propagation).
1612
+ */
1613
+ FieldBase.prototype._triggerCheckCreateInternalContent = function() {
1614
+
1615
+ if (!this._oCheckCreateInternalContentPromise) {
1616
+ this._oCheckCreateInternalContentPromise = this.awaitControlDelegate().then(function() {
1617
+ delete this._oCheckCreateInternalContentPromise;
1618
+ this._checkCreateInternalContent();
1619
+ }.bind(this));
1620
+ }
1621
+
1622
+ };
1623
+
1583
1624
  function _createInternalContent() {
1584
1625
  var sEditMode = this.getEditMode();
1585
1626
  var oContent = this.getContent();
@@ -1648,6 +1689,7 @@ sap.ui.define([
1648
1689
  var oControl = aControls[iIndex];
1649
1690
  oControl.attachEvent("parseError", _handleParseError, this);
1650
1691
  oControl.attachEvent("validationError", _handleValidationError, this);
1692
+ oControl.attachEvent("validationSuccess", _handleValidationSuccess, this);
1651
1693
  _modifyKeyboardHandler.call(this, oControl, oContentType.getUseDefaultEnterHandler());
1652
1694
  _modifyFieldGroupHandler.call(this, oControl, false);
1653
1695
  _setModelOnContent.call(this, oControl);
@@ -1658,6 +1700,7 @@ sap.ui.define([
1658
1700
  }
1659
1701
 
1660
1702
  _refreshLabel.call(this);
1703
+ delete this._oCreateContentPromise; // after finished new creation request can be sync again
1661
1704
  }.bind(this));
1662
1705
  }
1663
1706
  }
@@ -1695,6 +1738,9 @@ sap.ui.define([
1695
1738
  };
1696
1739
 
1697
1740
  function _setModelOnContent(oContent) {
1741
+ if (!this._oManagedObjectModel && !this._bIsBeingDestroyed) {
1742
+ this._oManagedObjectModel = new ManagedObjectModel(this);
1743
+ }
1698
1744
  oContent.setModel(this._oManagedObjectModel, "$field");
1699
1745
  }
1700
1746
 
@@ -1960,6 +2006,12 @@ sap.ui.define([
1960
2006
 
1961
2007
  }
1962
2008
 
2009
+ function _handleValidationSuccess(oEvent) {
2010
+
2011
+ this._bParseError = false; // if last valif value is entered again no condition is updated
2012
+
2013
+ }
2014
+
1963
2015
  function _handleContentChange(oEvent) {
1964
2016
 
1965
2017
  var oChangeEvent = { parameters: merge({}, oEvent.getParameters()), source: oEvent.getSource() };
@@ -2536,6 +2588,7 @@ sap.ui.define([
2536
2588
  aConditions.splice(0, aConditions.length - iMaxConditions);
2537
2589
  }
2538
2590
 
2591
+ var bChangeAfterError = false;
2539
2592
  if (oContent && oContent.setDOMValue) {
2540
2593
  if (this.getMaxConditionsForHelp() === 1 && aConditions.length > 0) {
2541
2594
  // the focus is still in the Field. The update of the inner control is done via ManagedObjectModel binding.
@@ -2576,6 +2629,7 @@ sap.ui.define([
2576
2629
  if (this._bParseError) { // only remove messages set by Field itself, message from outside should stay.
2577
2630
  this._bParseError = false;
2578
2631
  this._removeUIMessage();
2632
+ bChangeAfterError = true;
2579
2633
  }
2580
2634
  }
2581
2635
 
@@ -2592,6 +2646,8 @@ sap.ui.define([
2592
2646
 
2593
2647
  _triggerChange.call(this, aConditions, true);
2594
2648
  }
2649
+ } else if (bChangeAfterError) { // last valif value choosen again
2650
+ _triggerChange.call(this, aConditions, true);
2595
2651
  }
2596
2652
 
2597
2653
  }
@@ -2698,6 +2754,7 @@ sap.ui.define([
2698
2754
  var oContent = this.getControlForSuggestion();
2699
2755
  this._bIgnoreInputValue = false;
2700
2756
  oContent.setDOMValue("");
2757
+ this._sFilterValue = "";
2701
2758
  if (this.getMaxConditions() !== 1 && !this._oContentFactory.getBoundProperty() && oContent.getMetadata().hasProperty("value") && oContent.getProperty("value")) {
2702
2759
  // clear "value" property of MultiInput as there might be an old value from a invalid input before
2703
2760
  oContent.setValue();
@@ -2706,6 +2763,11 @@ sap.ui.define([
2706
2763
 
2707
2764
  _setAriaAttributes.call(this, false);
2708
2765
 
2766
+ // sync conditions with FieldHelp as we cannot e sure that it still is in sync
2767
+ var oFieldHelp = oEvent.getSource();
2768
+ var aConditions = this.getConditions();
2769
+ _setConditionsOnFieldHelp.call(this, aConditions, oFieldHelp);
2770
+
2709
2771
  }
2710
2772
 
2711
2773
  function _handleFieldSwitchToValueHelp(oEvent) {
@@ -2728,7 +2790,8 @@ sap.ui.define([
2728
2790
  // // also in display mode to get right text
2729
2791
  // _handleConditionsChange.call(this, this.getConditions());
2730
2792
  if (!isEditing && !this._bPendingConditionUpdate && this.getConditions().length > 0 &&
2731
- (this.getMaxConditions() !== 1 || (this.getDisplay() !== FieldDisplay.Value && !this._bParseError))) {
2793
+ (this.getMaxConditions() !== 1 || (this.getDisplay() !== FieldDisplay.Value && !this._bParseError))
2794
+ && this._oManagedObjectModel) {
2732
2795
  // update tokens in MultiValue
2733
2796
  // update text/value only if no parse error, otherwise wrong value would be removed
2734
2797
  // don't update if contidions are outdated (updated async in Field)
@@ -2764,7 +2827,8 @@ sap.ui.define([
2764
2827
  delegateName: this.getDelegate() && this.getDelegate().name,
2765
2828
  payload: this.getPayload(),
2766
2829
  conditionModel: oConditionModelInfo.model,
2767
- conditionModelName : oConditionModelInfo.name
2830
+ conditionModelName: oConditionModelInfo.name,
2831
+ defaultOperatorName: this.getDefaultOperator ? this.getDefaultOperator() : null
2768
2832
  };
2769
2833
  oFieldHelp.connect(this, oConfig);
2770
2834
  this._bConnected = true;
@@ -2885,8 +2949,9 @@ sap.ui.define([
2885
2949
  payload: this.getPayload(),
2886
2950
  preventGetDescription: this._bPreventGetDescription,
2887
2951
  conditionModel: oConditionModelInfo.model,
2888
- conditionModelName : oConditionModelInfo.name,
2889
- defaultOperatorName : this.getDefaultOperator ? this.getDefaultOperator() : null
2952
+ conditionModelName: oConditionModelInfo.name,
2953
+ defaultOperatorName: this.getDefaultOperator ? this.getDefaultOperator() : null,
2954
+ convertWhitespaces: this.getEditMode() === EditMode.Display || this.getMaxConditions() !== 1 // also replace whitespaces in tokens
2890
2955
  };
2891
2956
 
2892
2957
  };
@@ -2961,7 +3026,8 @@ sap.ui.define([
2961
3026
  preventGetDescription: this._bPreventGetDescription,
2962
3027
  conditionModel: oConditionModelInfo.model,
2963
3028
  conditionModelName : oConditionModelInfo.name,
2964
- getConditions: this.getConditions.bind(this) // TODO: better solution to update unit in all conditions
3029
+ getConditions: this.getConditions.bind(this), // TODO: better solution to update unit in all conditions
3030
+ convertWhitespaces: this.getEditMode() === EditMode.Display || this.getEditMode() === EditMode.EditableDisplay
2965
3031
  };
2966
3032
 
2967
3033
  };
@@ -3131,6 +3197,17 @@ sap.ui.define([
3131
3197
 
3132
3198
  }
3133
3199
 
3200
+ FieldBase.prototype._isPropertyInitial = function(sPropertyName) {
3201
+
3202
+ // as bound propertys are never initial even if there is no existing binding right now check the binding too
3203
+ if (this.isBound(sPropertyName) && !this.getBinding(sPropertyName)) {
3204
+ return !Object.prototype.hasOwnProperty.call(this.mProperties, sPropertyName);
3205
+ } else {
3206
+ return this.isPropertyInitial(sPropertyName);
3207
+ }
3208
+
3209
+ };
3210
+
3134
3211
  return FieldBase;
3135
3212
 
3136
3213
  });
@@ -98,7 +98,7 @@ sap.ui.define([
98
98
  * This function enhances the value with unit or currency information if needed by the data type.
99
99
  *
100
100
  * @param {object} oPayload Payload for delegate
101
- * @param {any[]} aValues Value
101
+ * @param {any[]} aValue Value
102
102
  * @param {object} oTypeInitialization Information needed to initialize internal type
103
103
  * @private
104
104
  * @ui5-restricted sap.ui.mdc.field.FieldBase
@@ -15,9 +15,6 @@ sap.ui.define([
15
15
  ) {
16
16
  "use strict";
17
17
 
18
- // initialize the Icon Pool
19
- IconPool.insertFontFaceStyle();
20
-
21
18
  /**
22
19
  * FieldBase renderer.
23
20
  * @namespace
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * @class Base type for the <code>FieldHelp</code> association in the <code>FieldBase</code> controls.
41
41
  * @extends sap.ui.mdc.Element
42
42
  * @implements sap.ui.core.PopupInterface
43
- * @version 1.97.1
43
+ * @version 1.100.0
44
44
  * @constructor
45
45
  * @abstract
46
46
  * @private
@@ -962,7 +962,7 @@ sap.ui.define([
962
962
  * @type {sap.ui.mdc.field.FieldHelpItem}
963
963
  * @static
964
964
  * @constant
965
- * @typedef {Object} sap.ui.mdc.field.FieldHelpItem
965
+ * @typedef {object} sap.ui.mdc.field.FieldHelpItem
966
966
  * @property {any} key Key of the item
967
967
  * @property {string} description Description of the item
968
968
  * @property {object} [inParameters] In parameters of the item. For each field path a value is stored
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @param {object} [mSettings] Initial settings for the new control
28
28
  * @class A <code>FieldInfoBase</code> element is a base class that shows any kind of information related to the <code>Field</code> control, for example, navigation targets or contact details.
29
29
  * @extends sap.ui.mdc.Element
30
- * @version 1.97.1
30
+ * @version 1.100.0
31
31
  * @constructor
32
32
  * @private
33
33
  * @since 1.54.0
@@ -99,17 +99,21 @@ sap.ui.define([
99
99
  if (this._oPopover && this._oPopover.isOpen()) {
100
100
  return Promise.resolve();
101
101
  }
102
- return this.createPopover().then(function(oPopover) {
103
- // Note: it is not needed to destroy this._oPopover in exit as through addDependent() the popover
104
- // instance will be automatically destroyed once the FieldInfoBase instance is destroyed.
105
- this._oPopover = oPopover;
102
+ return this.checkDirectNavigation().then(function(bNavigated) {
103
+ return bNavigated ? Promise.resolve() : this.createPopover().then(function(oPopover) {
104
+ if (oPopover) {
105
+ // Note: it is not needed to destroy this._oPopover in exit as through addDependent() the popover
106
+ // instance will be automatically destroyed once the FieldInfoBase instance is destroyed.
107
+ this._oPopover = oPopover;
106
108
 
107
- this.addDependent(this._oPopover);
109
+ this.addDependent(this._oPopover);
108
110
 
109
- this._oPopover.openBy(oControl || oParent);
111
+ this._oPopover.openBy(oControl || oParent);
110
112
 
111
- this._oPopover.attachAfterOpen(function() {
112
- this.firePopoverAfterOpen();
113
+ this._oPopover.attachAfterOpen(function() {
114
+ this.firePopoverAfterOpen();
115
+ }.bind(this));
116
+ }
113
117
  }.bind(this));
114
118
  }.bind(this));
115
119
  };
@@ -125,9 +129,19 @@ sap.ui.define([
125
129
  throw new Error("sap.ui.mdc.field.FieldInfoBase: method getContent must be redefined");
126
130
  };
127
131
 
132
+ /**
133
+ * Checks if there is a direct navigation or if there is a popover to be opened.
134
+ * @returns {Promise} Resolves a Boolean value
135
+ * @protected
136
+ */
137
+ FieldInfoBase.prototype.checkDirectNavigation = function() {
138
+ throw new Error("sap.ui.mdc.field.FieldInfoBase: method checkDirectNavigation must be redefined");
139
+ };
140
+
128
141
  // ----------------------- Protected methods --------------------------------------------
129
142
 
130
143
  /**
144
+ * Returns the parent control.
131
145
  * @returns {sap.ui.mdc.Field} <code>Field</code> control
132
146
  * @protected
133
147
  */
@@ -144,10 +158,10 @@ sap.ui.define([
144
158
  */
145
159
  FieldInfoBase.prototype.createPopover = function() {
146
160
  var oPopover;
161
+
147
162
  return this.getContent(function () {
148
163
  return oPopover;
149
164
  }).then(function(oPanel) {
150
-
151
165
  oPopover = new ResponsivePopover(this.getId() + "-popover", {
152
166
  contentWidth: "380px",
153
167
  horizontalScrolling: false,
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @param {object} [mSettings] Initial settings for the new control
24
24
  * @class The <code>FieldInput</code> control is used to render an input field inside a control based on {@link sap.ui.mdc.field.FieldBase FieldBase}.
25
25
  * @extends sap.m.Input
26
- * @version 1.97.1
26
+ * @version 1.100.0
27
27
  * @constructor
28
28
  * @abstract
29
29
  * @private
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  * @class Functions uses in <code>FieldInputRenderer</code> and <code>FieldMultiInputRenderer</code> to adjust aria attributes.
17
17
  *
18
18
  * @author SAP SE
19
- * @version 1.97.1
19
+ * @version 1.100.0
20
20
  * @since 1.86.0
21
21
  * @alias sap.ui.mdc.field.FieldInputRenderUtil
22
22
  *
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @param {object} [mSettings] Initial settings for the new control
24
24
  * @class The <code>FieldMultiInput</code> control is used to render a multi-input field inside a control based on {@link sap.ui.mdc.field.FieldBase FieldBase}.
25
25
  * @extends sap.m.MultiInput
26
- * @version 1.97.1
26
+ * @version 1.100.0
27
27
  * @constructor
28
28
  * @abstract
29
29
  * @private
@@ -74,7 +74,7 @@ sap.ui.define([
74
74
  * @param {object} [mSettings] Initial settings for the new control
75
75
  * @class A field help used in the <code>FieldHelp</code> association of controls based on {@link sap.ui.mdc.field.FieldBase FieldBase} that shows a value help dialog.
76
76
  * @extends sap.ui.mdc.field.FieldHelpBase
77
- * @version 1.97.1
77
+ * @version 1.100.0
78
78
  * @constructor
79
79
  * @private
80
80
  * @ui5-restricted sap.fe
@@ -1832,6 +1832,9 @@ sap.ui.define([
1832
1832
  // ignore empty conditions for filtering
1833
1833
  oHelpParameters[sHelpPath] = [];
1834
1834
  if (bUseConditions) { // just use conditions
1835
+ if (!vValue) {
1836
+ vValue = []; // if ConditionModel Binding not initilaized in the moment
1837
+ }
1835
1838
  for (j = 0; j < vValue.length; j++) {
1836
1839
  oCondition = merge({}, vValue[j]);
1837
1840
  // change paths of in- and out-parameters
@@ -2411,6 +2414,7 @@ sap.ui.define([
2411
2414
 
2412
2415
  function _handleDialogAfterClose(oEvent) {
2413
2416
 
2417
+ var aConditions = this.getConditions(); // get conditions here as they might be modified in a close handler
2414
2418
  this._bDialogOpen = false;
2415
2419
  this._aOldConditions = undefined;
2416
2420
 
@@ -2419,7 +2423,6 @@ sap.ui.define([
2419
2423
  if (this._bOK) {
2420
2424
  // fire select event after Dialog is closed because inside applyFocusInfo is called
2421
2425
  // that might reset cursor and selection of field -> update it after this
2422
- var aConditions = this.getConditions();
2423
2426
  this.fireSelect({conditions: aConditions, add: false, close: true});
2424
2427
  }
2425
2428
  this._bOK = undefined;
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @param {object} [mSettings] Initial settings for the new control
24
24
  * @class Base type for <code>FieldValueHelp</code> content control wrapper.
25
25
  * @extends sap.ui.core.Element
26
- * @version 1.97.1
26
+ * @version 1.100.0
27
27
  * @constructor
28
28
  * @abstract
29
29
  * @private
@@ -149,7 +149,7 @@ sap.ui.define([
149
149
  * <code>FieldValueHelp</code> needs to wait.
150
150
  *
151
151
  * @param {object} oPayload Payload for delegate
152
- * @param {sap.ui.model.ListBinding} oListBindings <code>ListBinding</code> to check
152
+ * @param {sap.ui.model.ListBinding} oListBinding <code>ListBinding</code> to check
153
153
  * @returns {boolean|Promise<boolean>} <code>Promise</code> that is resolved once <code>ListBinding</code> has been updated
154
154
  * @private
155
155
  * @ui5-restricted sap.ui.mdc.field.FieldvalueHelp, sap.ui.mdc.field.FieldValueHelpMTableWrapper