@openui5/sap.ui.mdc 1.94.0 → 1.97.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/.reuse/dep5 +12 -12
  2. package/THIRDPARTY.txt +21 -17
  3. package/package.json +4 -4
  4. package/src/sap/ui/mdc/.library +1 -1
  5. package/src/sap/ui/mdc/ActionToolbar.js +231 -334
  6. package/src/sap/ui/mdc/Chart.js +148 -21
  7. package/src/sap/ui/mdc/ChartDelegateNew.js +15 -0
  8. package/src/sap/ui/mdc/ChartNew.js +83 -56
  9. package/src/sap/ui/mdc/ChartNewRenderer.js +2 -2
  10. package/src/sap/ui/mdc/Control.js +4 -3
  11. package/src/sap/ui/mdc/Element.js +5 -4
  12. package/src/sap/ui/mdc/Field.js +3 -2
  13. package/src/sap/ui/mdc/FilterBar.js +1 -10
  14. package/src/sap/ui/mdc/FilterField.js +42 -4
  15. package/src/sap/ui/mdc/Link.js +2 -2
  16. package/src/sap/ui/mdc/MultiValueField.js +2 -1
  17. package/src/sap/ui/mdc/Table.js +285 -186
  18. package/src/sap/ui/mdc/TableDelegate.js +13 -11
  19. package/src/sap/ui/mdc/ValueHelp.js +1500 -0
  20. package/src/sap/ui/mdc/ValueHelpDelegate.js +167 -0
  21. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +49 -104
  22. package/src/sap/ui/mdc/chart/DimensionItem.js +3 -3
  23. package/src/sap/ui/mdc/chart/Item.js +2 -3
  24. package/src/sap/ui/mdc/chart/MeasureItem.js +2 -2
  25. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +21 -2
  26. package/src/sap/ui/mdc/chart/ToolbarHandler.js +237 -226
  27. package/src/sap/ui/mdc/chartNew/ChartSelectionDetailsNew.js +1 -1
  28. package/src/sap/ui/mdc/chartNew/ChartToolbarNew.js +14 -10
  29. package/src/sap/ui/mdc/chartNew/ChartTypeButtonNew.js +1 -1
  30. package/src/sap/ui/mdc/chartNew/DrillStackHandlerNew.js +11 -9
  31. package/src/sap/ui/mdc/chartNew/ItemNew.js +0 -1
  32. package/src/sap/ui/mdc/chartNew/PropertyHelperNew.js +1 -1
  33. package/src/sap/ui/mdc/condition/Condition.js +2 -2
  34. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  35. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  36. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  37. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +6 -2
  38. package/src/sap/ui/mdc/condition/Operator.js +9 -9
  39. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +437 -0
  40. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  41. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +43 -0
  42. package/src/sap/ui/mdc/designtime/chart/ChartNew.designtime.js +91 -0
  43. package/src/sap/ui/mdc/designtime/field/Field.designtime.js +21 -0
  44. package/src/sap/ui/mdc/designtime/field/FieldBase.designtime.js +104 -0
  45. package/src/sap/ui/mdc/designtime/field/FilterField.designtime.js +22 -0
  46. package/src/sap/ui/mdc/designtime/field/MultiValueField.designtime.js +23 -0
  47. package/src/sap/ui/mdc/designtime/filterbar/FilterBar.designtime.js +19 -0
  48. package/src/sap/ui/mdc/designtime/filterbar/FilterBarBase.designtime.js +31 -0
  49. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +5 -0
  50. package/src/sap/ui/mdc/enum/ContentMode.js +25 -4
  51. package/src/sap/ui/mdc/enum/SelectType.js +43 -0
  52. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  53. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  54. package/src/sap/ui/mdc/field/ConditionType.js +67 -35
  55. package/src/sap/ui/mdc/field/ConditionsType.js +12 -10
  56. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -1
  57. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  58. package/src/sap/ui/mdc/field/DefineConditionPanel.js +13 -2
  59. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +311 -0
  60. package/src/sap/ui/mdc/field/FieldBase.js +143 -83
  61. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +9 -2
  62. package/src/sap/ui/mdc/field/FieldHelpBase.js +64 -4
  63. package/src/sap/ui/mdc/field/FieldInfoBase.js +9 -1
  64. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  65. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  66. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  67. package/src/sap/ui/mdc/field/FieldValueHelp.js +12 -6
  68. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
  69. package/src/sap/ui/mdc/field/FieldValueHelpDelegate.js +20 -0
  70. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +1 -1
  71. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +1 -1
  72. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +2 -1
  73. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +1 -1
  74. package/src/sap/ui/mdc/field/InParameter.js +1 -1
  75. package/src/sap/ui/mdc/field/ListFieldHelp.js +1 -1
  76. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  77. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  78. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  79. package/src/sap/ui/mdc/field/ValueHelpPanel.js +2 -1
  80. package/src/sap/ui/mdc/field/content/BooleanContent.js +16 -4
  81. package/src/sap/ui/mdc/field/content/ContentFactory.js +34 -24
  82. package/src/sap/ui/mdc/field/content/DateContent.js +128 -2
  83. package/src/sap/ui/mdc/field/content/DateTimeContent.js +9 -1
  84. package/src/sap/ui/mdc/field/content/DefaultContent.js +65 -24
  85. package/src/sap/ui/mdc/field/content/LinkContent.js +6 -0
  86. package/src/sap/ui/mdc/field/content/SearchContent.js +21 -3
  87. package/src/sap/ui/mdc/field/content/TimeContent.js +8 -1
  88. package/src/sap/ui/mdc/field/content/UnitContent.js +25 -6
  89. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +43 -24
  90. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  91. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +1 -1
  92. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  93. package/src/sap/ui/mdc/flexibility/ActionToolbar.flexibility.js +22 -0
  94. package/src/sap/ui/mdc/flexibility/ActionToolbarAction.flexibility.js +19 -0
  95. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  96. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  97. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  98. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +203 -197
  99. package/src/sap/ui/mdc/library.js +603 -5
  100. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  101. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  102. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  103. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  104. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  105. package/src/sap/ui/mdc/link/Factory.js +1 -1
  106. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  107. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  108. package/src/sap/ui/mdc/link/Panel.js +1 -1
  109. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  110. package/src/sap/ui/mdc/link/PanelListItem.js +1 -1
  111. package/src/sap/ui/mdc/link/SelectionDialog.js +2 -2
  112. package/src/sap/ui/mdc/link/SelectionDialogItem.js +1 -1
  113. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  114. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  115. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  116. package/src/sap/ui/mdc/messagebundle.properties +37 -3
  117. package/src/sap/ui/mdc/messagebundle_ar.properties +24 -3
  118. package/src/sap/ui/mdc/messagebundle_bg.properties +23 -2
  119. package/src/sap/ui/mdc/messagebundle_ca.properties +23 -2
  120. package/src/sap/ui/mdc/messagebundle_cs.properties +36 -15
  121. package/src/sap/ui/mdc/messagebundle_cy.properties +23 -2
  122. package/src/sap/ui/mdc/messagebundle_da.properties +23 -2
  123. package/src/sap/ui/mdc/messagebundle_de.properties +23 -2
  124. package/src/sap/ui/mdc/messagebundle_el.properties +24 -3
  125. package/src/sap/ui/mdc/messagebundle_en.properties +23 -2
  126. package/src/sap/ui/mdc/messagebundle_en_GB.properties +23 -2
  127. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +23 -2
  128. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +23 -2
  129. package/src/sap/ui/mdc/messagebundle_es.properties +48 -27
  130. package/src/sap/ui/mdc/messagebundle_es_MX.properties +23 -2
  131. package/src/sap/ui/mdc/messagebundle_et.properties +23 -2
  132. package/src/sap/ui/mdc/messagebundle_fi.properties +24 -3
  133. package/src/sap/ui/mdc/messagebundle_fr.properties +36 -15
  134. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +23 -2
  135. package/src/sap/ui/mdc/messagebundle_hi.properties +23 -2
  136. package/src/sap/ui/mdc/messagebundle_hr.properties +23 -2
  137. package/src/sap/ui/mdc/messagebundle_hu.properties +24 -3
  138. package/src/sap/ui/mdc/messagebundle_id.properties +23 -2
  139. package/src/sap/ui/mdc/messagebundle_it.properties +46 -25
  140. package/src/sap/ui/mdc/messagebundle_iw.properties +23 -2
  141. package/src/sap/ui/mdc/messagebundle_ja.properties +30 -9
  142. package/src/sap/ui/mdc/messagebundle_kk.properties +23 -2
  143. package/src/sap/ui/mdc/messagebundle_ko.properties +23 -2
  144. package/src/sap/ui/mdc/messagebundle_lt.properties +23 -2
  145. package/src/sap/ui/mdc/messagebundle_lv.properties +23 -2
  146. package/src/sap/ui/mdc/messagebundle_ms.properties +23 -2
  147. package/src/sap/ui/mdc/messagebundle_nl.properties +24 -3
  148. package/src/sap/ui/mdc/messagebundle_no.properties +30 -9
  149. package/src/sap/ui/mdc/messagebundle_pl.properties +27 -6
  150. package/src/sap/ui/mdc/messagebundle_pt.properties +24 -3
  151. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +23 -2
  152. package/src/sap/ui/mdc/messagebundle_ro.properties +26 -5
  153. package/src/sap/ui/mdc/messagebundle_ru.properties +23 -2
  154. package/src/sap/ui/mdc/messagebundle_sh.properties +23 -2
  155. package/src/sap/ui/mdc/messagebundle_sk.properties +24 -3
  156. package/src/sap/ui/mdc/messagebundle_sl.properties +23 -2
  157. package/src/sap/ui/mdc/messagebundle_sv.properties +24 -3
  158. package/src/sap/ui/mdc/messagebundle_th.properties +29 -8
  159. package/src/sap/ui/mdc/messagebundle_tr.properties +23 -2
  160. package/src/sap/ui/mdc/messagebundle_uk.properties +23 -2
  161. package/src/sap/ui/mdc/messagebundle_vi.properties +23 -2
  162. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +23 -2
  163. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +23 -2
  164. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  165. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
  166. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +3 -3
  167. package/src/sap/ui/mdc/mixin/PromiseMixin.js +94 -0
  168. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelperNew.js +1 -1
  169. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +65 -37
  170. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +94 -0
  171. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegateNew.js +221 -32
  172. package/src/sap/ui/mdc/p13n/Engine.js +34 -10
  173. package/src/sap/ui/mdc/p13n/P13nBuilder.js +2 -2
  174. package/src/sap/ui/mdc/p13n/PersistenceProvider.js +21 -10
  175. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  176. package/src/sap/ui/mdc/p13n/StateUtil.js +20 -0
  177. package/src/sap/ui/mdc/p13n/UIManager.js +11 -6
  178. package/src/sap/ui/mdc/p13n/{DefaultProviderRegistry.js → modules/DefaultProviderRegistry.js} +2 -2
  179. package/src/sap/ui/mdc/p13n/modules/StateHandlerRegistry.js +86 -0
  180. package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +59 -0
  181. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +20 -5
  182. package/src/sap/ui/mdc/p13n/panels/BasePanel.js +8 -8
  183. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +1 -2
  184. package/src/sap/ui/mdc/p13n/panels/ChartItemPanelNew.js +1179 -0
  185. package/src/sap/ui/mdc/p13n/panels/GroupView.js +1 -2
  186. package/src/sap/ui/mdc/p13n/panels/ListView.js +6 -4
  187. package/src/sap/ui/mdc/p13n/panels/SelectionPanel.js +0 -1
  188. package/src/sap/ui/mdc/p13n/panels/SortPanel.js +0 -1
  189. package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +89 -0
  190. package/src/sap/ui/mdc/p13n/subcontroller/AggregateController.js +1 -1
  191. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +9 -6
  192. package/src/sap/ui/mdc/p13n/subcontroller/ChartItemController.js +33 -4
  193. package/src/sap/ui/mdc/p13n/subcontroller/ColumnController.js +9 -15
  194. package/src/sap/ui/mdc/p13n/subcontroller/GroupController.js +5 -12
  195. package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +19 -21
  196. package/src/sap/ui/mdc/table/Column.js +67 -17
  197. package/src/sap/ui/mdc/table/CreationRow.js +14 -13
  198. package/src/sap/ui/mdc/table/GridTableType.js +11 -11
  199. package/src/sap/ui/mdc/table/PropertyHelper.js +120 -17
  200. package/src/sap/ui/mdc/table/ResponsiveTableType.js +35 -26
  201. package/src/sap/ui/mdc/table/RowSettings.js +8 -6
  202. package/src/sap/ui/mdc/table/TableTypeBase.js +4 -5
  203. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +15 -71
  204. package/src/sap/ui/mdc/themes/base/Chart.less +3 -0
  205. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +51 -21
  206. package/src/sap/ui/mdc/themes/base/library.source.less +1 -0
  207. package/src/sap/ui/mdc/ui/Container.js +2 -2
  208. package/src/sap/ui/mdc/ui/ContainerItem.js +2 -2
  209. package/src/sap/ui/mdc/util/Common.js +26 -0
  210. package/src/sap/ui/mdc/util/PromiseCache.js +266 -0
  211. package/src/sap/ui/mdc/util/PropertyHelper.js +114 -304
  212. package/src/sap/ui/mdc/valuehelp/Dialog.js +499 -0
  213. package/src/sap/ui/mdc/valuehelp/Popover.js +373 -0
  214. package/src/sap/ui/mdc/valuehelp/base/Container.js +673 -0
  215. package/src/sap/ui/mdc/valuehelp/base/Content.js +658 -0
  216. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +139 -0
  217. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +584 -0
  218. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +133 -0
  219. package/src/sap/ui/mdc/valuehelp/content/Bool.js +318 -0
  220. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +270 -0
  221. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +532 -0
  222. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +643 -0
  223. package/src/sap/ui/mdc/valuehelp/content/MTable.js +928 -0
  224. package/test/sap/ui/mdc/testutils/opa/TestLibrary.js +3 -2
  225. package/test/sap/ui/mdc/testutils/opa/actions/OpenContextMenu.js +48 -0
  226. package/test/sap/ui/mdc/testutils/opa/chartNew/ActionsBase.js +310 -0
  227. package/test/sap/ui/mdc/testutils/opa/chartNew/ActionsViz.js +39 -0
  228. package/test/sap/ui/mdc/testutils/opa/chartNew/AssertionsBase.js +118 -0
  229. package/test/sap/ui/mdc/testutils/opa/chartNew/AssertionsViz.js +137 -0
  230. package/test/sap/ui/mdc/testutils/opa/chartNew/ChartNew.js +24 -0
  231. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +289 -0
  232. package/test/sap/ui/mdc/testutils/opa/filterbar/Actions.js +250 -0
  233. package/test/sap/ui/mdc/testutils/opa/filterbar/Assertions.js +91 -0
  234. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +137 -0
  235. package/test/sap/ui/mdc/testutils/opa/filterbar/Util.js +25 -0
  236. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +407 -93
  237. package/test/sap/ui/mdc/testutils/opa/p13n/Util.js +4 -1
  238. package/test/sap/ui/mdc/testutils/opa/p13n/{waitForP13nButtonWithParentAndIcon.js → waitForP13nButtonWithMatchers.js} +5 -18
  239. package/test/sap/ui/mdc/testutils/opa/table/TestObjects.js +0 -1
  240. package/src/sap/ui/mdc/p13n/panels/GroupPanel.js +0 -111
  241. package/src/sap/ui/mdc/p13n/panels/QueryPanel.js +0 -322
  242. package/src/sap/ui/mdc/p13n/panels/SortQueryPanel.js +0 -133
  243. package/src/sap/ui/mdc/p13n/panels/Wrapper.js +0 -203
@@ -46,7 +46,7 @@ sap.ui.define([
46
46
  * @extends sap.ui.model.SimpleType
47
47
  *
48
48
  * @author SAP SE
49
- * @version 1.94.0
49
+ * @version 1.97.0
50
50
  *
51
51
  * @since 1.62.0
52
52
  * @private
@@ -56,18 +56,19 @@ sap.ui.define([
56
56
  * @param {object} [oFormatOptions] Formatting options
57
57
  * @param {sap.ui.model.Type} [oFormatOptions.valueType] Type of the value of the condition (used for formatting and parsing)
58
58
  * @param {string[]} [oFormatOptions.operators] Possible operators to be used in the condition
59
- * @param {sap.ui.mdc.enum.FieldDisplay} [oFormatOptions.display] DisplayFormat used to visualize value
60
- * @param {string} [oFormatOptions.fieldHelpID] ID of the field help, to determine key and description // TODO: async request????
59
+ * @param {sap.ui.mdc.enum.FieldDisplay} [oFormatOptions.display] DisplayFormat used to visualize a value
60
+ * @param {string} [oFormatOptions.fieldHelpID] ID of the field help to determine the key and description // TODO: async request????
61
61
  * @param {boolean} [oFormatOptions.hideOperator] If set, only the value of the condition is shown, but no operator //TODO
62
62
  * @param {int} [oFormatOptions.maxConditions] Maximum number of allowed conditions
63
- * @param {sap.ui.model.Context} [oFormatOptions.bindingContext] BindingContext of field. Used to get key or description from the value help using in/out parameters. (In table, the value help might be connected to different row)
64
- * @param {sap.ui.model.Type} [oFormatOptions.originalDateType] Type used on field. E.g. for date types internally a different type is used internally to have different <code>formatOptions</code>
63
+ * @param {sap.ui.model.Context} [oFormatOptions.bindingContext] <code>BindingContext</code> of field. Used to get a key or description from the value help using in/out parameters. (In a table, the value help might be connected to a different row)
64
+ * @param {sap.ui.model.Type} [oFormatOptions.originalDateType] Type used on field, for example, for date types; a different type is used internally to have different <code>formatOptions</code>
65
+ * @param {sap.ui.model.Type} [oFormatOptions.additionalType] additional Type used on other part of a field. (This is the case for unit fields.)
65
66
  * @param {function} [oFormatOptions.getConditions] Function to get the existing conditions of the field. Only used if <code>isUnit</code> is set. // TODO: better solution
66
67
  * @param {function} [oFormatOptions.asyncParsing] Callback function to tell the <code>Field</code> the parsing is asynchronous.
67
- * @param {object} [oFormatOptions.navigateCondition] Condition of keyboard navigation. If this is filled, no real parsing is needed as the condition has already been determined. Just return it
68
+ * @param {object} [oFormatOptions.navigateCondition] Condition of keyboard navigation. If this is filled, no real parsing is needed as the condition has already been determined and is just returned
68
69
  * @param {object} [oFormatOptions.delegate] Field delegate to handle model-specific logic
69
70
  * @param {object} [oFormatOptions.payload] Payload of the delegate
70
- * @param {boolean} [oFormatOptions.preventGetDescription] If set, description is not read by <code>formatValue</code> as it is known that no description exist or it might be set later
71
+ * @param {boolean} [oFormatOptions.preventGetDescription] If set, description is not read by <code>formatValue</code> as it is known that no description exists or might be set later
71
72
  * @param {sap.ui.mdc.condition.ConditionModel} [oFormatOptions.conditionModel] <code>ConditionModel</code>, if bound to one
72
73
  * @param {string} [oFormatOptions.conditionModelName] Name of the <code>ConditionModel</code>, if bound to one
73
74
  * @param {string} [oFormatOptions.defaultOperatorName] Name of the default <code>Operator</code>
@@ -114,12 +115,10 @@ sap.ui.define([
114
115
  }
115
116
 
116
117
  var oType = _getValueType.call(this);
117
- var oOriginalDateType = _getOriginalDateType.call(this);
118
118
  var bIsUnit = _isUnit(oType);
119
119
  var bPreventGetDescription = this.oFormatOptions.preventGetDescription;
120
120
 
121
- _attachCurrentValueAtType.call(this, oCondition, oOriginalDateType); // use original condition
122
- _attachCurrentValueAtType.call(this, oCondition, oType);
121
+ _attachCurrentValueAtType.call(this, oCondition, oType); // use original condition
123
122
 
124
123
  switch (this.getPrimitiveType(sInternalType)) {
125
124
  case "string":
@@ -267,7 +266,7 @@ sap.ui.define([
267
266
  var sDisplay = _getDisplay.call(this);
268
267
  var bInputValidationEnabled = _isInputValidationEnabled.call(this);
269
268
  var oType = _getValueType.call(this);
270
- var oOriginalDateType = _getOriginalDateType.call(this);
269
+ var oOriginalType = _getOriginalType.call(this);
271
270
  var aOperators = _getOperators.call(this);
272
271
  var bIsUnit = _isUnit(oType);
273
272
  var sDefaultOperator;
@@ -279,8 +278,6 @@ sap.ui.define([
279
278
  }
280
279
 
281
280
  _initCurrentValueAtType.call(this, oType);
282
- _initCurrentValueAtType.call(this, oOriginalDateType);
283
- _useCurrentValueFromOriginalType.call(this, oType, oOriginalDateType);
284
281
 
285
282
  switch (this.getPrimitiveType(sInternalType)) {
286
283
  case "string":
@@ -349,12 +346,12 @@ sap.ui.define([
349
346
  }
350
347
  } catch (oException) {
351
348
  var oMyException = oException;
352
- if (oMyException instanceof ParseException && oOriginalDateType) {
349
+ if (oMyException instanceof ParseException && oOriginalType) {
353
350
  // As internal yyyy-MM-dd is used as pattern for dates (times similar) the
354
351
  // parse exception might contain this as pattern. The user should see the pattern thats shown
355
352
  // So try to parse date with the original type to get parseException with right pattern.
356
353
  try {
357
- oOriginalDateType.parseValue(vValue, "string", oOriginalDateType._aCurrentValue);
354
+ oOriginalType.parseValue(vValue, "string", oOriginalType._aCurrentValue);
358
355
  } catch (oOriginalException) {
359
356
  oMyException = oOriginalException;
360
357
  }
@@ -395,7 +392,6 @@ sap.ui.define([
395
392
  function _finishParseFromString(oCondition, oType) {
396
393
 
397
394
  var bIsUnit = _isUnit(oType);
398
- var oOriginalDateType = _getOriginalDateType.call(this);
399
395
 
400
396
  if (oCondition && !bIsUnit) {
401
397
  var sName = oType.getMetadata().getName();
@@ -413,7 +409,6 @@ sap.ui.define([
413
409
  }
414
410
 
415
411
  _attachCurrentValueAtType.call(this, oCondition, oType);
416
- _attachCurrentValueAtType.call(this, oCondition, oOriginalDateType);
417
412
 
418
413
  return oCondition;
419
414
 
@@ -570,7 +565,10 @@ sap.ui.define([
570
565
  // Field accepts values that are not found -> must be checked by caller
571
566
  // if user input fits to the type, let the caller validate it
572
567
  var oOperator;
573
- if (aOperators.length === 1) {
568
+ if (_isUnit(oType)) {
569
+ // in unit case just use EQ operator
570
+ oOperator = FilterOperatorUtil.getEQOperator("EQ");
571
+ } else if (aOperators.length === 1) {
574
572
  // just use the one supported type
575
573
  oOperator = FilterOperatorUtil.getOperator(aOperators[0]);
576
574
  } else {
@@ -589,6 +587,10 @@ sap.ui.define([
589
587
 
590
588
  if (oCondition) {
591
589
  oCondition.validated = ConditionValidated.NotValidated;
590
+ if (_isUnit(oType) && Array.isArray(oCondition.values[0])) {
591
+ // user input is valid for type -> just return unit for further processing
592
+ oCondition.values[0] = oCondition.values[0][1];
593
+ }
592
594
  }
593
595
 
594
596
  return oCondition;
@@ -598,7 +600,7 @@ sap.ui.define([
598
600
  ConditionType.prototype.validateValue = function(oCondition) {
599
601
 
600
602
  var oType = _getValueType.call(this);
601
- var oOriginalDateType = _getOriginalDateType.call(this);
603
+ var oOriginalType = _getOriginalType.call(this);
602
604
  var aOperators = _getOperators.call(this);
603
605
  var bIsUnit = _isUnit(oType);
604
606
 
@@ -647,11 +649,11 @@ sap.ui.define([
647
649
  try {
648
650
  oOperator.validate(oCondition.values, oType);
649
651
  } catch (oException) {
650
- if (oException instanceof ValidateException && oOriginalDateType) {
652
+ if (oException instanceof ValidateException && oOriginalType) {
651
653
  // As internal yyyy-MM-dd is used as pattern for dates (times similar) the
652
654
  // ValidateException might contain this as pattern. The user should see the pattern thats shown
653
655
  // So try to validate date with the original type to get ValidateException with right pattern.
654
- oOperator.validate(oCondition.values, oOriginalDateType);
656
+ oOperator.validate(oCondition.values, oOriginalType);
655
657
  }
656
658
  throw oException;
657
659
  }
@@ -691,12 +693,18 @@ sap.ui.define([
691
693
 
692
694
  }
693
695
 
694
- function _getOriginalDateType() {
696
+ function _getOriginalType() {
695
697
 
696
698
  return this.oFormatOptions.originalDateType;
697
699
 
698
700
  }
699
701
 
702
+ function _getAdditionalType() {
703
+
704
+ return this.oFormatOptions.additionalType;
705
+
706
+ }
707
+
700
708
  function _getOperators() {
701
709
 
702
710
  var aOperators = this.oFormatOptions.operators;
@@ -713,7 +721,7 @@ sap.ui.define([
713
721
  var sID = this.oFormatOptions.fieldHelpID;
714
722
  if (sID) {
715
723
  var oFieldHelp = sap.ui.getCore().byId(sID);
716
- if (oFieldHelp && oFieldHelp.isUsableForValidation()) {
724
+ if (oFieldHelp && oFieldHelp.isValidationSupported()) {
717
725
  return oFieldHelp;
718
726
  }
719
727
  }
@@ -746,23 +754,32 @@ sap.ui.define([
746
754
  function _attachCurrentValueAtType(oCondition, oType) {
747
755
 
748
756
  if (_isCompositeType.call(this, oType) && oCondition && oCondition.values[0]) {
749
- oType._aCurrentValue = oCondition.values[0];
750
- }
751
-
752
- }
757
+ oType._aCurrentValue = oCondition.values[0];
753
758
 
754
- function _initCurrentValueAtType(oType) {
759
+ var oAdditionalType = _getAdditionalType.call(this);
760
+ if (_isCompositeType.call(this, oAdditionalType)) { // store in corresponding unit or measure type too
761
+ oAdditionalType._aCurrentValue = oCondition.values[0];
762
+ }
755
763
 
756
- if (_isCompositeType.call(this, oType) && !oType._aCurrentValue) {
757
- oType._aCurrentValue = [];
764
+ var oOriginalType = _getOriginalType.call(this);
765
+ if (_isCompositeType.call(this, oOriginalType)) { // store in original type too (Currently not used in Unit/Currency type, but basically in CompositeType for parsing)
766
+ oOriginalType._aCurrentValue = oCondition.values[0];
767
+ }
758
768
  }
759
769
 
760
770
  }
761
771
 
762
- function _useCurrentValueFromOriginalType(oType, oOriginalDateType) {
772
+ function _initCurrentValueAtType(oType) {
773
+
774
+ if (_isCompositeType.call(this, oType)) {
775
+ var oAdditionalType = _getAdditionalType.call(this);
776
+ if (_isCompositeType.call(this, oAdditionalType)) {
777
+ if (!oAdditionalType._aCurrentValue) {
778
+ oAdditionalType._aCurrentValue = [];
779
+ }
763
780
 
764
- if (_isCompositeType.call(this, oType) && _isCompositeType.call(this, oOriginalDateType) && oOriginalDateType._aCurrentValue) {
765
- oType._aCurrentValue = oOriginalDateType._aCurrentValue;
781
+ oType._aCurrentValue = oAdditionalType._aCurrentValue; // to use before entered corresponding number or unit
782
+ }
766
783
  }
767
784
 
768
785
  }
@@ -844,11 +861,26 @@ sap.ui.define([
844
861
  var oFieldHelp = _getFieldHelp.call(this);
845
862
  var oDelegate = this.oFormatOptions.delegate;
846
863
  var oPayload = this.oFormatOptions.payload;
864
+ var oConfig = {
865
+ value: vValue,
866
+ parsedValue: vParsedValue,
867
+ inParameters: undefined, // TODO: needed?
868
+ outParameters: undefined, // TODO: needed?
869
+ bindingContext: oBindingContext,
870
+ checkKeyFirst: bCheckKeyFirst, // TODO: not longer needed?
871
+ checkKey: bCheckKey,
872
+ checkDescription: bCheckDescription,
873
+ conditionModel: oConditionModel,
874
+ conditionModelName: sConditionModelName,
875
+ exception: ParseException
876
+ };
847
877
 
848
878
  if (oDelegate) {
849
- return oDelegate.getItemForValue(oPayload, oFieldHelp, vValue, vParsedValue, oBindingContext, bCheckKeyFirst, bCheckKey, bCheckDescription, oConditionModel, sConditionModelName);
879
+ // return oDelegate.getItemForValue(oPayload, oFieldHelp, vValue, vParsedValue, oBindingContext, bCheckKeyFirst, bCheckKey, bCheckDescription, oConditionModel, sConditionModelName);
880
+ return oDelegate.getItemForValue(oPayload, oFieldHelp, oConfig);
850
881
  } else if (oFieldHelp) {
851
- return oFieldHelp.getItemForValue(vValue, vParsedValue, undefined, undefined, oBindingContext, bCheckKeyFirst, bCheckKey, bCheckDescription, oConditionModel, sConditionModelName);
882
+ // return oFieldHelp.getItemForValue(vValue, vParsedValue, undefined, undefined, oBindingContext, bCheckKeyFirst, bCheckKey, bCheckDescription, oConditionModel, sConditionModelName);
883
+ return oFieldHelp.getItemForValue(oConfig);
852
884
  }
853
885
 
854
886
  }
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @extends sap.ui.model.SimpleType
37
37
  *
38
38
  * @author SAP SE
39
- * @version 1.94.0
39
+ * @version 1.97.0
40
40
  *
41
41
  * @since 1.62.0
42
42
  * @private
@@ -46,18 +46,19 @@ sap.ui.define([
46
46
  * @param {object} [oFormatOptions] Formatting options
47
47
  * @param {sap.ui.model.Type} [oFormatOptions.valueType] Type of the value of the condition (used for formatting and parsing)
48
48
  * @param {string[]} [oFormatOptions.operators] Possible operators to be used in the condition
49
- * @param {sap.ui.mdc.enum.FieldDisplay} [oFormatOptions.display] DisplayFormat used to visualize value
50
- * @param {string} [oFormatOptions.fieldHelpID] ID of the field help, to determine key and description // TODO: async request????
49
+ * @param {sap.ui.mdc.enum.FieldDisplay} [oFormatOptions.display] DisplayFormat used to visualize a value
50
+ * @param {string} [oFormatOptions.fieldHelpID] ID of the field help to determine the key and description // TODO: async request????
51
51
  * @param {boolean} [oFormatOptions.hideOperator] If set, only the value of the condition is shown, but no operator //TODO
52
52
  * @param {int} [oFormatOptions.maxConditions] Maximum number of allowed conditions
53
- * @param {sap.ui.model.Context} [oFormatOptions.bindingContext] BindingContext of field. Used to get key or description from the value help using in/out parameters. (In table, the value help might be connected to different row)
54
- * @param {sap.ui.model.Type} [oFormatOptions.originalDateType] Type used on field. E.g. for date types internally a different type is used internally to have different <code>formatOptions</code>
53
+ * @param {sap.ui.model.Context} [oFormatOptions.bindingContext] <code>BindingContext</code> of field. Used to get a key or description from the value help using in/out parameters. (In a table, the value help might be connected to a different row)
54
+ * @param {sap.ui.model.Type} [oFormatOptions.originalDateType] Type used on field, for example, for date types; a different type is used internally to have different <code>formatOptions</code>
55
+ * @param {sap.ui.model.Type} [oFormatOptions.additionalType] additional Type used on other part of a field. (This is the case for unit fields.)
55
56
  * @param {function} [oFormatOptions.getConditions] Function to get the existing conditions of the field. Only used if <code>isUnit</code> is set. TODO: better solution
56
57
  * @param {function} [oFormatOptions.asyncParsing] Callback function to tell the <code>Field</code> the parsing is asynchronous.
57
- * @param {object} [oFormatOptions.navigateCondition] Condition of keyboard navigation. If this is filled, no real parsing is needed as the condition has already been determined. Just return it
58
+ * @param {object} [oFormatOptions.navigateCondition] Condition of keyboard navigation. If this is filled, no real parsing is needed as the condition has already been determined and is just returned
58
59
  * @param {object} [oFormatOptions.delegate] Field delegate to handle model-specific logic
59
60
  * @param {object} [oFormatOptions.payload] Payload of the delegate
60
- * @param {boolean} [oFormatOptions.preventGetDescription] If set, description is not read by <code>formatValue</code> as it is known that no description exist or it might be set later
61
+ * @param {boolean} [oFormatOptions.preventGetDescription] If set, description is not read by <code>formatValue</code> as it is known that no description exists or might be set later
61
62
  * @param {sap.ui.mdc.condition.ConditionModel} [oFormatOptions.conditionModel] <code>ConditionModel</code>, if bound to one
62
63
  * @param {string} [oFormatOptions.conditionModelName] Name of the <code>ConditionModel</code>, if bound to one
63
64
  * @param {string} [oFormatOptions.defaultOperatorName] Name of the default <code>Operator</code>
@@ -72,6 +73,7 @@ sap.ui.define([
72
73
  oFormatOptions = _createFormatOptionsForConditionType(oFormatOptions);
73
74
  // var oConstraints = merge({}, this.oConstraints);
74
75
  this._oConditionType = new ConditionType(oFormatOptions, this.oConstraints);
76
+ this._oResourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.ui.mdc");
75
77
  }
76
78
 
77
79
  });
@@ -159,8 +161,8 @@ sap.ui.define([
159
161
  }
160
162
 
161
163
  return SyncPromise.all(aSyncPromises).then(function(aFormattedValues) {
162
- return _concatenateFormattedValues(aFormattedValues, vValue);
163
- }).unwrap();
164
+ return _concatenateFormattedValues.call(this, aFormattedValues, vValue);
165
+ }.bind(this)).unwrap();
164
166
 
165
167
  };
166
168
 
@@ -168,7 +170,7 @@ sap.ui.define([
168
170
 
169
171
  for (var i = 0; i < aFormattedValues.length; i++) {
170
172
  if (vValue) {
171
- vValue = vValue + "; " + aFormattedValues[i];
173
+ vValue = vValue + this._oResourceBundle.getText("field.SEPARATOR") + aFormattedValues[i];
172
174
  } else {
173
175
  vValue = aFormattedValues[i];
174
176
  }
@@ -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.94.0
19
+ * @version 1.97.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.94.0
19
+ * @version 1.97.0
20
20
  * @constructor
21
21
  * @private
22
22
  * @ui5-restricted sap.fe
@@ -88,7 +88,7 @@ sap.ui.define([
88
88
  * @extends sap.ui.core.Control
89
89
  *
90
90
  * @author SAP SE
91
- * @version 1.94.0
91
+ * @version 1.97.0
92
92
  *
93
93
  * @constructor
94
94
  * @alias sap.ui.mdc.field.DefineConditionPanel
@@ -169,7 +169,12 @@ sap.ui.define([
169
169
  visibility: "hidden"
170
170
  }
171
171
  },
172
- events: {}
172
+ events: {
173
+ /**
174
+ * Event is fired if the user processes a condition. (Not known if changed.)
175
+ */
176
+ conditionProcessed: {}
177
+ }
173
178
  },
174
179
  _oManagedObjectModel: null,
175
180
 
@@ -272,6 +277,8 @@ sap.ui.define([
272
277
 
273
278
  aConditions.splice(iIndex, 1);
274
279
  this.setProperty("conditions", aConditions, true); // do not invalidate whole DefineConditionPanel
280
+
281
+ this.fireConditionProcessed();
275
282
  },
276
283
 
277
284
  addCondition: function(oEvent) {
@@ -492,6 +499,8 @@ sap.ui.define([
492
499
  FilterOperatorUtil.checkConditionsEmpty(aConditions);
493
500
  this.setProperty("conditions", aConditions, true); // do not invalidate whole DefineConditionPanel
494
501
 
502
+ this.fireConditionProcessed();
503
+
495
504
  }.bind(this), 0);
496
505
  }
497
506
  },
@@ -1452,6 +1461,8 @@ sap.ui.define([
1452
1461
  // check if at least one condition has an error
1453
1462
  _checkInvalidInput.call(this, bInvalid);
1454
1463
 
1464
+ this.fireConditionProcessed();
1465
+
1455
1466
  }
1456
1467
 
1457
1468
  function _checkInvalidInput(bInvalid) {