@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
@@ -4,18 +4,16 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
7
- "sap/ui/mdc/p13n/Engine"
8
- ], function (Engine) {
7
+ "sap/ui/mdc/p13n/Engine",
8
+ "sap/ui/mdc/Table",
9
+ "../Util"
10
+ ], function (Engine, Table, Util) {
9
11
  "use strict";
10
12
 
11
- return {
13
+ // initial structure of designTime object
14
+ var oDesignTime = {
12
15
  name: "{name}",
13
16
  description: "{description}",
14
- aggregations: {
15
- _content: {
16
- ignore: false
17
- }
18
- },
19
17
  actions: {
20
18
  settings: function () {
21
19
  //RTA expects the settings to be returned as function
@@ -25,7 +23,36 @@ sap.ui.define([
25
23
  }
26
24
  };
27
25
  }
26
+ },
27
+ properties: {},
28
+ aggregations: {
29
+ _content: {
30
+ propagateMetadata: function(oElement) {
31
+ if (oElement.isA("sap.ui.mdc.ActionToolbar")) {
32
+ return {
33
+ actions: {
34
+ settings: {}
35
+ }
36
+ };
37
+ }
38
+
39
+ return {
40
+ actions: "not-adaptable" // other controls within the conten aggregation will not be adaptable for RTA and Visual Editor
41
+ };
42
+ }
43
+ }
28
44
  }
29
45
  };
46
+ // array containing all allowed control properties. Update the aAllowedProperties to enable a property for DTA
47
+ var aAllowedProperties = ["width", "height", "headerLevel",
48
+ "header", "headerVisible", "showRowCount", "threshold",
49
+ "noDataText", "enableExport", "busyIndicatorDelay","enableColumnResize",
50
+ "showPasteButton", "multiSelectMode"],
51
+ // array containing all allowed control aggregations. Update the aAllowedAggregations to enable an aggregation for DTA
52
+ aAllowedAggregations = [
53
+ "_content"
54
+ ];
55
+
56
+ return Util.getDesignTime(Table, aAllowedProperties, aAllowedAggregations, oDesignTime);
30
57
 
31
58
  });
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * @param {object} [mSettings] Initial settings for the new control
36
36
  * @class A field help used in the <code>FieldHelp</code> association in <code>FieldBase</code> controls that shows a list for Boolean values.
37
37
  * @extends sap.ui.mdc.field.FieldHelpBase
38
- * @version 1.97.1
38
+ * @version 1.100.0
39
39
  * @constructor
40
40
  * @private
41
41
  * @ui5-restricted sap.ui.mdc.field.FieldBase
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * @param {object} [mSettings] Initial settings for the new control
36
36
  * @class A field help used in the <code>FieldHelp</code> association in <code>FieldBase</code> controls to show a popover of conditions.
37
37
  * @extends sap.ui.mdc.field.FieldHelpBase
38
- * @version 1.97.1
38
+ * @version 1.100.0
39
39
  * @constructor
40
40
  * @private
41
41
  * @ui5-restricted sap.ui.mdc.field.FieldBase, sap.fe
@@ -18,6 +18,7 @@ sap.ui.define([
18
18
  'sap/ui/mdc/enum/BaseType',
19
19
  'sap/ui/mdc/enum/ConditionValidated',
20
20
  'sap/base/util/merge',
21
+ 'sap/base/strings/whitespaceReplacer',
21
22
  'sap/ui/base/SyncPromise'
22
23
  ],
23
24
  function(
@@ -33,6 +34,7 @@ sap.ui.define([
33
34
  BaseType,
34
35
  ConditionValidated,
35
36
  merge,
37
+ whitespaceReplacer,
36
38
  SyncPromise
37
39
  ) {
38
40
  "use strict";
@@ -46,7 +48,7 @@ sap.ui.define([
46
48
  * @extends sap.ui.model.SimpleType
47
49
  *
48
50
  * @author SAP SE
49
- * @version 1.97.1
51
+ * @version 1.100.0
50
52
  *
51
53
  * @since 1.62.0
52
54
  * @private
@@ -72,6 +74,7 @@ sap.ui.define([
72
74
  * @param {sap.ui.mdc.condition.ConditionModel} [oFormatOptions.conditionModel] <code>ConditionModel</code>, if bound to one
73
75
  * @param {string} [oFormatOptions.conditionModelName] Name of the <code>ConditionModel</code>, if bound to one
74
76
  * @param {string} [oFormatOptions.defaultOperatorName] Name of the default <code>Operator</code>
77
+ * @param {boolean} [oFormatOptions.convertWhitespaces] If set, whitespaces will be replaced by special characters to display whitespaces in HTML
75
78
  * @param {object} [oConstraints] Value constraints
76
79
  * @alias sap.ui.mdc.field.ConditionType
77
80
  */
@@ -204,7 +207,15 @@ sap.ui.define([
204
207
  throw new FormatException("No valid condition provided, Operator wrong.");
205
208
  }
206
209
 
207
- return oOperator.format(oCondition, oType, sDisplay, bHideOperator);
210
+ var sResult = oOperator.format(oCondition, oType, sDisplay, bHideOperator);
211
+ var bConvertWhitespaces = this.oFormatOptions.convertWhitespaces;
212
+
213
+ if (bConvertWhitespaces && (_getBaseType.call(this, oType) === BaseType.String || sDisplay !== FieldDisplay.Value)) {
214
+ // convert only string types to prevent unwanted side effects
215
+ sResult = whitespaceReplacer(sResult);
216
+ }
217
+
218
+ return sResult;
208
219
 
209
220
  }
210
221
 
@@ -527,8 +538,8 @@ sap.ui.define([
527
538
  oType.validateValue(vCheckParsedValue);
528
539
  }
529
540
  } catch (oException) {
530
- if (oException && !(oException instanceof ParseException) && !(oException instanceof ValidateException)) {// FormatException could also occur
531
- // unknown error -> just raise it
541
+ if (oException && !(bCheckDescription && (oException instanceof ParseException || oException instanceof ValidateException))) {
542
+ // unknown error or no search for description -> just raise it
532
543
  throw oException;
533
544
  }
534
545
  bCheckKey = false; // cannot be a valid key
@@ -635,14 +646,14 @@ sap.ui.define([
635
646
  throw new ValidateException(this._oResourceBundle.getText("field.VALUE_NOT_VALID"));
636
647
  }
637
648
 
638
- var oOperator = FilterOperatorUtil.getOperator(oCondition.operator, aOperators);
649
+ var oOperator = FilterOperatorUtil.getOperator(oCondition.operator);
639
650
 
640
651
  if (bIsUnit) {
641
652
  // only use unit in condition
642
653
  oOperator = FilterOperatorUtil.getEQOperator(); // as only EQ is allowed for unit
643
654
  }
644
655
 
645
- if (!oOperator) {
656
+ if (!oOperator || aOperators.indexOf(oOperator.name) === -1) {
646
657
  throw new ValidateException("No valid condition provided, Operator wrong.");
647
658
  }
648
659
 
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @extends sap.ui.model.SimpleType
37
37
  *
38
38
  * @author SAP SE
39
- * @version 1.97.1
39
+ * @version 1.100.0
40
40
  *
41
41
  * @since 1.62.0
42
42
  * @private
@@ -62,6 +62,7 @@ sap.ui.define([
62
62
  * @param {sap.ui.mdc.condition.ConditionModel} [oFormatOptions.conditionModel] <code>ConditionModel</code>, if bound to one
63
63
  * @param {string} [oFormatOptions.conditionModelName] Name of the <code>ConditionModel</code>, if bound to one
64
64
  * @param {string} [oFormatOptions.defaultOperatorName] Name of the default <code>Operator</code>
65
+ * @param {boolean} [oFormatOptions.convertWhitespaces] If set, whitespaces will be replaced by special characters to display whitespaces in HTML
65
66
  * @param {object} [oConstraints] Value constraints
66
67
  * @alias sap.ui.mdc.field.ConditionsType
67
68
  */
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  * @param {object} [mSettings] Initial settings for the new control
17
17
  * @class A field help used in the <code>FieldHelp</code> association in <code>FieldBase</code> controls that allows you to add custom content.
18
18
  * @extends sap.ui.mdc.field.FieldHelpBase
19
- * @version 1.97.1
19
+ * @version 1.100.0
20
20
  * @constructor
21
21
  * @private
22
22
  * @ui5-restricted sap.fe
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  * @param {object} [mSettings] Initial settings for the new control
17
17
  * @class A field help used in the <code>FieldInfo</code> aggregation in <code>FieldBase</code> controls that allows you to add custom content.
18
18
  * @extends sap.ui.mdc.field.FieldInfoBase
19
- * @version 1.97.1
19
+ * @version 1.100.0
20
20
  * @constructor
21
21
  * @private
22
22
  * @ui5-restricted sap.fe
@@ -29,10 +29,11 @@ sap.ui.define([
29
29
  'sap/ui/layout/Grid',
30
30
  'sap/ui/layout/GridData',
31
31
  'sap/m/library',
32
- 'sap/m/ScrollContainer',
33
32
  'sap/m/Button',
34
33
  'sap/m/Panel',
35
- 'sap/base/Log'
34
+ 'sap/base/Log',
35
+ 'sap/ui/core/InvisibleMessage',
36
+ 'sap/ui/thirdparty/jquery'
36
37
  ], function(
37
38
  Control,
38
39
  ManagedObjectObserver,
@@ -59,10 +60,11 @@ sap.ui.define([
59
60
  Grid,
60
61
  GridData,
61
62
  mLibrary,
62
- ScrollContainer,
63
63
  Button,
64
64
  Panel,
65
- Log
65
+ Log,
66
+ InvisibleMessage,
67
+ jQuery
66
68
  ) {
67
69
  "use strict";
68
70
 
@@ -74,6 +76,7 @@ sap.ui.define([
74
76
 
75
77
  var ButtonType = mLibrary.ButtonType;
76
78
  var ValueState = coreLibrary.ValueState;
79
+ var InvisibleMessageMode = coreLibrary.InvisibleMessageMode;
77
80
 
78
81
  /**
79
82
  * Constructor for a new <code>DefineConditionPanel</code>.
@@ -88,7 +91,7 @@ sap.ui.define([
88
91
  * @extends sap.ui.core.Control
89
92
  *
90
93
  * @author SAP SE
91
- * @version 1.97.1
94
+ * @version 1.100.0
92
95
  *
93
96
  * @constructor
94
97
  * @alias sap.ui.mdc.field.DefineConditionPanel
@@ -194,6 +197,8 @@ sap.ui.define([
194
197
 
195
198
  Control.prototype.init.apply(this, arguments);
196
199
 
200
+ this.oInvisibleMessage = InvisibleMessage.getInstance();
201
+
197
202
  this._oManagedObjectModel = new ManagedObjectModel(this);
198
203
 
199
204
  this._oObserver = new ManagedObjectObserver(_observeChanges.bind(this));
@@ -259,6 +264,8 @@ sap.ui.define([
259
264
  this._bFocusLastRemoveBtn = true; // as remove-Button will disappear and focus should set on the last row remove button
260
265
  }
261
266
 
267
+ this.oInvisibleMessage.announce(oMessageBundle.getText("valuehelp.DEFINECONDITIONS_REMOVECONDITION_ANNOUNCE"), InvisibleMessageMode.Polite);
268
+
262
269
  // try to reset valueState and value of value Fields inside the removed row
263
270
  var oGrid = this.byId("conditions");
264
271
  var aGridContent = oGrid.getContent();
@@ -275,8 +282,15 @@ sap.ui.define([
275
282
  }
276
283
  }
277
284
 
285
+ if (aConditions.length === 1 && iIndex === 0) {
286
+ // the only one existing condition is removed. -> add dummy condition to have it in update in one step
287
+ this.addDummyCondition(1); // TODO: without setProperty to update condition at once?
288
+ aConditions = this.getConditions();
289
+ }
290
+
278
291
  aConditions.splice(iIndex, 1);
279
292
  this.setProperty("conditions", aConditions, true); // do not invalidate whole DefineConditionPanel
293
+ _checkInvalidInput.call(this, undefined); // check if invalid condition was removed
280
294
 
281
295
  this.fireConditionProcessed();
282
296
  },
@@ -301,8 +315,10 @@ sap.ui.define([
301
315
  var sOperator = oOperator.name;
302
316
  var oCondition = Condition.createCondition(sOperator, oOperator.valueDefaults ? oOperator.valueDefaults : [], undefined, undefined, ConditionValidated.NotValidated);
303
317
 
304
- // mark the condition as initial and not modified by the user
305
- oCondition.isInitial = true;
318
+ if (oOperator.valueTypes[0] && oOperator.valueTypes[0] !== Operator.ValueType.Static) {
319
+ // mark the condition as initial and not modified by the user
320
+ oCondition.isInitial = true;
321
+ }
306
322
 
307
323
  FilterOperatorUtil.updateConditionValues(oCondition);
308
324
  FilterOperatorUtil.checkConditionsEmpty(oCondition, aOperators);
@@ -313,6 +329,11 @@ sap.ui.define([
313
329
  aConditions.push(oCondition);
314
330
  }
315
331
  this.setProperty("conditions", aConditions, true); // do not invalidate whole DefineConditionPanel
332
+
333
+ if (!oCondition.isInitial) {
334
+ // static condition added, it is ready to use -> fire event
335
+ this.fireConditionProcessed();
336
+ }
316
337
  },
317
338
 
318
339
  updateDefineConditions: function() {
@@ -350,6 +371,21 @@ sap.ui.define([
350
371
 
351
372
  onSelectChange: function(oEvent) {
352
373
  var oField = oEvent.getSource();
374
+ var oCondition = oField.getBindingContext("$this").getObject();
375
+ var aConditions = this.getConditions();
376
+ var iIndex = FilterOperatorUtil.indexOfCondition(oCondition, aConditions);
377
+ if (iIndex >= 0) {
378
+ oCondition = aConditions[iIndex]; // to get right instance
379
+ }
380
+
381
+ if (!oEvent.getParameter("valid")) { // if Operator in error state -> don't update values
382
+ oCondition.invalid = true;
383
+ this.setProperty("conditions", aConditions, true); // do not invalidate whole DefineConditionPanel
384
+ oField._sOldKey = oField.getValue();
385
+ _checkInvalidInput.call(this, true); // set imediately, not only if row left
386
+ return;
387
+ }
388
+
353
389
  var sKey = oField.getValue();
354
390
  var sOldKey = oField._sOldKey;
355
391
  var oOperator = FilterOperatorUtil.getOperator(sKey); // operator must exist as List is created from valid operators
@@ -357,16 +393,11 @@ sap.ui.define([
357
393
 
358
394
  if (oOperator && oOperatorOld) {
359
395
  var bUpdate = false;
360
- var oCondition = oField.getBindingContext("$this").getObject();
361
- var aConditions = this.getConditions();
362
- var iIndex = FilterOperatorUtil.indexOfCondition(oCondition, aConditions);
363
396
 
364
397
  if (!deepEqual(oOperator.valueTypes[0], oOperatorOld.valueTypes[0]) && oOperator.valueTypes[0] !== Operator.ValueType.Static ) {
365
398
  // type changed -> remove entered value (only if changed by user in Select)
366
399
  // As Static text updated on condition change, don't delete it here.
367
400
  if (iIndex >= 0) {
368
- oCondition = aConditions[iIndex]; // to get right instance
369
-
370
401
  oCondition.values.forEach(function(value, index) {
371
402
  if (value !== null) {
372
403
  if ((oOperator.valueTypes[index] === Operator.ValueType.Self && oOperatorOld.valueTypes[index] === Operator.ValueType.SelfNoParse) ||
@@ -391,8 +422,6 @@ sap.ui.define([
391
422
 
392
423
  if (iIndex >= 0 && oOperator.valueDefaults) {
393
424
  // sets the default values for the operator back to default, if the condition is inital or the value is null
394
- oCondition = aConditions[iIndex];
395
-
396
425
  oCondition.values.forEach(function(value, index) {
397
426
  if ((oCondition.isInitial && value !== oOperator.valueDefaults[index]) || (value === null)) {
398
427
  // set the default value and mark the condition as initial
@@ -407,7 +436,6 @@ sap.ui.define([
407
436
  if (!oOperator.valueTypes[1] && oOperatorOld.valueTypes[1]) {
408
437
  // switch from BT to EQ -> remove second value even if filled
409
438
  if (iIndex >= 0) {
410
- oCondition = aConditions[iIndex]; // to get right instance
411
439
  if (oCondition.values.length > 1 && oCondition.values[1]) {
412
440
  oCondition.values = oCondition.values.slice(0, 1);
413
441
  bUpdate = true;
@@ -415,9 +443,14 @@ sap.ui.define([
415
443
  }
416
444
  }
417
445
 
446
+ if (oCondition.invalid) {
447
+ delete oCondition.invalid;
448
+ bUpdate = true;
449
+ }
418
450
  if (bUpdate) {
419
451
  FilterOperatorUtil.checkConditionsEmpty(oCondition, _getOperators.call(this));
420
452
  this.setProperty("conditions", aConditions, true); // do not invalidate whole DefineConditionPanel
453
+ _checkInvalidInput.call(this, false); // set imediately, not only if row left
421
454
  }
422
455
  }
423
456
 
@@ -674,7 +707,8 @@ sap.ui.define([
674
707
  oControl = new Field(sId, {
675
708
  delegate: _getDelegate.call(this),
676
709
  value: { path: "$this>", type: oNullableType, mode: 'TwoWay', targetType: 'raw' },
677
- editMode: {path: "$condition>operator", formatter: _getEditModeFromOperator},
710
+ editMode: {parts: [{path: "$condition>operator"}, {path: "$condition>invalid"}], formatter: _getEditModeFromOperator},
711
+ multipleLines: false,
678
712
  width: "100%"
679
713
  });
680
714
  }
@@ -788,7 +822,7 @@ sap.ui.define([
788
822
  // default operator not valid -> cannot use -> use first include-operator which requires some values
789
823
  for (var i = 0; i < aOperators.length; i++) {
790
824
  oOperator = FilterOperatorUtil.getOperator(aOperators[i]);
791
- if (oOperator.exclude || !oOperator.hasRequiredValues()) {
825
+ if (!oOperator || oOperator.exclude || !oOperator.hasRequiredValues()) {
792
826
  oOperator = undefined;
793
827
  } else {
794
828
  break;
@@ -955,7 +989,7 @@ sap.ui.define([
955
989
  if (oOperator && oOperator.valueTypes[0] === Operator.ValueType.Static && (oCondition.values.length === 0 || bTypeChange)) {
956
990
  // if type changed the text needs to be new formatted (setting of type and conditions might be async.)
957
991
  if (oOperator.getStaticText) {
958
- var sText = oOperator.getStaticText(oDataType);
992
+ var sText = oOperator.getStaticText(oDataType, _getBaseType.call(this, oDataType));
959
993
  if (oCondition.values.length > 0) {
960
994
  oCondition.values[0] = sText;
961
995
  } else {
@@ -1000,6 +1034,11 @@ sap.ui.define([
1000
1034
  oPanel.addContent(oInvisibleOperatorText);
1001
1035
  oPanel.addContent(oGrid);
1002
1036
 
1037
+ this._oInvisibleAddOperatorButtonText = new InvisibleText({
1038
+ text: oMessageBundle.getText("valuehelp.DEFINECONDITIONS_ADDCONDITION_DESCRIPTION")
1039
+ });
1040
+ oPanel.addContent(this._oInvisibleAddOperatorButtonText);
1041
+
1003
1042
  var oAddBtn = new Button(this.getId() + "--addBtn", {
1004
1043
  press: this.addCondition.bind(this),
1005
1044
  type: ButtonType.Default,
@@ -1011,8 +1050,9 @@ sap.ui.define([
1011
1050
  visibleS: {path: "$this>/conditions", formatter: _getAddButtonVisible.bind(this)},
1012
1051
  visibleM: {path: "$this>/conditions", formatter: _getAddButtonVisible.bind(this)},
1013
1052
  visibleL: {path: "$this>/conditions", formatter: _getAddButtonVisible.bind(this)},
1014
- visibleXL: {path: "$this>/conditions", formatter: _getAddButtonVisible.bind(this)}})}
1015
- );
1053
+ visibleXL: {path: "$this>/conditions", formatter: _getAddButtonVisible.bind(this)}}),
1054
+ ariaDescribedBy: this._oInvisibleAddOperatorButtonText
1055
+ });
1016
1056
 
1017
1057
  oGrid.addContent(oAddBtn);
1018
1058
 
@@ -1136,7 +1176,9 @@ sap.ui.define([
1136
1176
  var oOperatorField = new Field(sIdPrefix + "-operator", {
1137
1177
  value: {path: "$this>operator", type: this._oOperatorFieldType},
1138
1178
  width: "100%",
1139
- display: "Description",
1179
+ display: FieldDisplay.Description,
1180
+ editMode: EditMode.Editable,
1181
+ multipleLines: false,
1140
1182
  fieldHelp: this.getId() + "--rowSelect-help",
1141
1183
  change: this.onSelectChange.bind(this),
1142
1184
  ariaLabelledBy: this.getId() + "--ivtOperator"
@@ -1210,10 +1252,12 @@ sap.ui.define([
1210
1252
 
1211
1253
  }
1212
1254
 
1213
- function _getEditModeFromOperator(sOperator) {
1255
+ function _getEditModeFromOperator(sOperator, bInvalid) {
1214
1256
 
1215
1257
  if (!sOperator) {
1216
1258
  return EditMode.Display;
1259
+ } else if (bInvalid) {
1260
+ return EditMode.ReadOnly;
1217
1261
  }
1218
1262
 
1219
1263
  var oOperator = FilterOperatorUtil.getOperator(sOperator);
@@ -1231,7 +1275,7 @@ sap.ui.define([
1231
1275
 
1232
1276
  var oOperator = sOperator && FilterOperatorUtil.getOperator(sOperator);
1233
1277
 
1234
- if (!oOperator || !oOperator.valueTypes[0]) {
1278
+ if (!oOperator || !oOperator.valueTypes[0] || (oOperator.valueTypes[0] === Operator.ValueType.Static && !oOperator.getStaticText)) {
1235
1279
  return "XL8 L8 M8 S0";
1236
1280
  } else {
1237
1281
  return "";
@@ -1309,6 +1353,10 @@ sap.ui.define([
1309
1353
  if (oBindingContext) {
1310
1354
  oOperatorField.setFieldGroupIds([oBindingContext.getPath()]); // use path to have a ID for every condition
1311
1355
  }
1356
+ if (oOperatorField.getValueState() === ValueState.Error && !oCondition.invalid) {
1357
+ // remove error and show right value
1358
+ oOperatorField.setValue(oOperatorField.getValue());
1359
+ }
1312
1360
  iIndex++;
1313
1361
 
1314
1362
  var oRemoveButton = aGridContent[iIndex];
@@ -1323,8 +1371,7 @@ sap.ui.define([
1323
1371
  var oValue0Field = aGridContent[iIndex];
1324
1372
  var oValue1Field;
1325
1373
  if (oValue0Field.hasOwnProperty("_iValueIndex") && oValue0Field._iValueIndex === 0) {
1326
- var sEditMode = _getEditModeFromOperator(oCondition.operator);
1327
- if (oCondition.values.length > 0 || sEditMode === EditMode.Display) { // as static text for display controls is created after update
1374
+ if (oCondition.values.length > 0) {
1328
1375
  oValueBindingContext = this._oManagedObjectModel.getContext(oBindingContext.getPath() + "values/0/");
1329
1376
  oValue0Field.setBindingContext(oValueBindingContext, "$this");
1330
1377
  oValue0Field.setBindingContext(oBindingContext, "$condition");
@@ -1421,9 +1468,9 @@ sap.ui.define([
1421
1468
  var oField2; // also update second Field if exist
1422
1469
  var oCondition = oBindingContext.getObject();
1423
1470
  var oOperator = FilterOperatorUtil.getOperator(oCondition.operator);
1424
- var bInvalid = false;
1471
+ var bInvalid = !!oCondition.invalid;
1425
1472
 
1426
- if (oOperator.valueTypes.length > 0 && oOperator.valueTypes[0] !== Operator.ValueType.Static) {
1473
+ if (!bInvalid && oOperator.valueTypes.length > 0 && oOperator.valueTypes[0] !== Operator.ValueType.Static) {
1427
1474
  // check only not static operators
1428
1475
  if (oOperator.valueTypes.length > 1 && oOperator.valueTypes[1]) {
1429
1476
  // two fields exist
@@ -1467,14 +1514,26 @@ sap.ui.define([
1467
1514
 
1468
1515
  function _checkInvalidInput(bInvalid) {
1469
1516
 
1517
+ var i = 0;
1518
+
1470
1519
  if (bInvalid !== true) {
1471
1520
  // if already known that invalid input exist -> no additional check needed
1521
+ var aConditions = this.getConditions();
1522
+ for (i = 0; i < aConditions.length; i++) {
1523
+ if (aConditions[i].invalid) {
1524
+ bInvalid = true;
1525
+ break;
1526
+ }
1527
+ }
1528
+ }
1529
+
1530
+ if (bInvalid !== true) {
1472
1531
  var oGrid = this.byId("conditions");
1473
1532
  var aContent = oGrid.getContent();
1474
1533
  bInvalid = false;
1475
- for (var i = 0; i < aContent.length; i++) {
1534
+ for (i = 0; i < aContent.length; i++) {
1476
1535
  var oControl = aContent[i];
1477
- if (oControl instanceof Field && oControl.hasOwnProperty("_iValueIndex") && oControl.getValueState() === ValueState.Error) {
1536
+ if (oControl.hasOwnProperty("_iValueIndex") && oControl.getValueState && oControl.getValueState() === ValueState.Error) {
1478
1537
  bInvalid = true;
1479
1538
  break;
1480
1539
  }