@openui5/sap.ui.mdc 1.101.0 → 1.103.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 (222) hide show
  1. package/.eslintrc.json +19 -0
  2. package/THIRDPARTY.txt +1 -1
  3. package/package.json +4 -4
  4. package/src/sap/ui/mdc/.library +1 -1
  5. package/src/sap/ui/mdc/ActionToolbar.js +1 -1
  6. package/src/sap/ui/mdc/AggregationBaseDelegate.js +11 -0
  7. package/src/sap/ui/mdc/Chart.js +111 -55
  8. package/src/sap/ui/mdc/ChartDelegate.js +97 -92
  9. package/src/sap/ui/mdc/Control.js +1 -1
  10. package/src/sap/ui/mdc/Element.js +1 -1
  11. package/src/sap/ui/mdc/Field.js +9 -2
  12. package/src/sap/ui/mdc/FilterBar.js +1 -1
  13. package/src/sap/ui/mdc/FilterField.js +2 -2
  14. package/src/sap/ui/mdc/Link.js +4 -1
  15. package/src/sap/ui/mdc/MultiValueField.js +1 -1
  16. package/src/sap/ui/mdc/Table.js +114 -160
  17. package/src/sap/ui/mdc/TableDelegate.js +3 -23
  18. package/src/sap/ui/mdc/ValueHelp.js +20 -32
  19. package/src/sap/ui/mdc/ValueHelpDelegate.js +9 -3
  20. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +2 -1
  21. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -2
  22. package/src/sap/ui/mdc/chart/ChartToolbar.js +38 -3
  23. package/src/sap/ui/mdc/chart/DrillBreadcrumbs.js +6 -2
  24. package/src/sap/ui/mdc/chart/Item.js +6 -11
  25. package/src/sap/ui/mdc/chart/PropertyHelper.js +7 -8
  26. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +2 -3
  27. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  28. package/src/sap/ui/mdc/condition/ConditionConverter.js +16 -131
  29. package/src/sap/ui/mdc/condition/ConditionModel.js +50 -21
  30. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  31. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +11 -11
  32. package/src/sap/ui/mdc/condition/Operator.js +85 -15
  33. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +5 -3
  34. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  35. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +6 -3
  36. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbarAction.designtime.js +53 -0
  37. package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +13 -1
  38. package/src/sap/ui/mdc/designtime/field/Field.designtime.js +9 -4
  39. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +1 -1
  40. package/src/sap/ui/mdc/enum/PropagationReason.js +2 -2
  41. package/src/sap/ui/mdc/enum/SelectType.js +3 -0
  42. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  43. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  44. package/src/sap/ui/mdc/field/ConditionType.js +166 -52
  45. package/src/sap/ui/mdc/field/ConditionsType.js +76 -11
  46. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -2
  47. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  48. package/src/sap/ui/mdc/field/DefineConditionPanel.js +107 -99
  49. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +9 -62
  50. package/src/sap/ui/mdc/field/FieldBase.js +108 -73
  51. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +20 -1
  52. package/src/sap/ui/mdc/field/FieldHelpBase.js +1 -39
  53. package/src/sap/ui/mdc/field/FieldInfoBase.js +1 -1
  54. package/src/sap/ui/mdc/field/FieldInput.js +2 -2
  55. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  56. package/src/sap/ui/mdc/field/FieldMultiInput.js +2 -2
  57. package/src/sap/ui/mdc/field/FieldValueHelp.js +1 -1
  58. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -19
  59. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +3 -1
  60. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +13 -1
  61. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +3 -3
  62. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +28 -29
  63. package/src/sap/ui/mdc/field/InParameter.js +1 -4
  64. package/src/sap/ui/mdc/field/ListFieldHelp.js +1 -1
  65. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  66. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  67. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  68. package/src/sap/ui/mdc/field/TokenDisplay.js +2 -2
  69. package/src/sap/ui/mdc/field/TokenizerDisplay.js +2 -2
  70. package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -5
  71. package/src/sap/ui/mdc/field/content/ContentFactory.js +8 -0
  72. package/src/sap/ui/mdc/field/content/DateContent.js +3 -3
  73. package/src/sap/ui/mdc/field/content/DateTimeContent.js +43 -2
  74. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +4 -4
  75. package/src/sap/ui/mdc/filterbar/IFilterContainer.js +1 -1
  76. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  77. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +21 -1
  78. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  79. package/src/sap/ui/mdc/flexibility/ActionToolbar.flexibility.js +80 -4
  80. package/src/sap/ui/mdc/flexibility/AggregateFlex.js +19 -38
  81. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  82. package/src/sap/ui/mdc/flexibility/ChartTypeFlex.js +23 -41
  83. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +43 -58
  84. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  85. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  86. package/src/sap/ui/mdc/flexibility/GroupFlex.js +25 -55
  87. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +21 -42
  88. package/src/sap/ui/mdc/flexibility/SortFlex.js +23 -52
  89. package/src/sap/ui/mdc/flexibility/Table.flexibility.js +3 -3
  90. package/src/sap/ui/mdc/flexibility/Util.js +82 -0
  91. package/src/sap/ui/mdc/flexibility/xConfigFlex.js +137 -0
  92. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +3 -1
  93. package/src/sap/ui/mdc/library.js +6 -17
  94. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  95. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  96. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  97. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  98. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  99. package/src/sap/ui/mdc/link/ContactDetailsRenderer.js +1 -1
  100. package/src/sap/ui/mdc/link/Factory.js +1 -1
  101. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  102. package/src/sap/ui/mdc/link/LinkItem.js +9 -1
  103. package/src/sap/ui/mdc/link/Panel.js +25 -13
  104. package/src/sap/ui/mdc/link/PanelItem.js +10 -1
  105. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  106. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  107. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  108. package/src/sap/ui/mdc/messagebundle.properties +13 -1
  109. package/src/sap/ui/mdc/messagebundle_ar.properties +11 -3
  110. package/src/sap/ui/mdc/messagebundle_bg.properties +9 -1
  111. package/src/sap/ui/mdc/messagebundle_ca.properties +9 -1
  112. package/src/sap/ui/mdc/messagebundle_cs.properties +9 -1
  113. package/src/sap/ui/mdc/messagebundle_cy.properties +9 -1
  114. package/src/sap/ui/mdc/messagebundle_da.properties +9 -1
  115. package/src/sap/ui/mdc/messagebundle_de.properties +9 -1
  116. package/src/sap/ui/mdc/messagebundle_el.properties +20 -12
  117. package/src/sap/ui/mdc/messagebundle_en.properties +9 -1
  118. package/src/sap/ui/mdc/messagebundle_en_GB.properties +9 -1
  119. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +9 -1
  120. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +8 -0
  121. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +8 -0
  122. package/src/sap/ui/mdc/messagebundle_es.properties +15 -7
  123. package/src/sap/ui/mdc/messagebundle_es_MX.properties +9 -1
  124. package/src/sap/ui/mdc/messagebundle_et.properties +9 -1
  125. package/src/sap/ui/mdc/messagebundle_fi.properties +9 -1
  126. package/src/sap/ui/mdc/messagebundle_fr.properties +10 -2
  127. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +9 -1
  128. package/src/sap/ui/mdc/messagebundle_hi.properties +9 -1
  129. package/src/sap/ui/mdc/messagebundle_hr.properties +9 -1
  130. package/src/sap/ui/mdc/messagebundle_hu.properties +9 -1
  131. package/src/sap/ui/mdc/messagebundle_id.properties +9 -1
  132. package/src/sap/ui/mdc/messagebundle_it.properties +10 -2
  133. package/src/sap/ui/mdc/messagebundle_iw.properties +10 -2
  134. package/src/sap/ui/mdc/messagebundle_ja.properties +9 -1
  135. package/src/sap/ui/mdc/messagebundle_kk.properties +9 -1
  136. package/src/sap/ui/mdc/messagebundle_ko.properties +11 -3
  137. package/src/sap/ui/mdc/messagebundle_lt.properties +9 -1
  138. package/src/sap/ui/mdc/messagebundle_lv.properties +9 -1
  139. package/src/sap/ui/mdc/messagebundle_ms.properties +9 -1
  140. package/src/sap/ui/mdc/messagebundle_nl.properties +23 -15
  141. package/src/sap/ui/mdc/messagebundle_no.properties +9 -1
  142. package/src/sap/ui/mdc/messagebundle_pl.properties +9 -1
  143. package/src/sap/ui/mdc/messagebundle_pt.properties +18 -10
  144. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +9 -1
  145. package/src/sap/ui/mdc/messagebundle_ro.properties +9 -1
  146. package/src/sap/ui/mdc/messagebundle_ru.properties +9 -1
  147. package/src/sap/ui/mdc/messagebundle_sh.properties +10 -2
  148. package/src/sap/ui/mdc/messagebundle_sk.properties +9 -1
  149. package/src/sap/ui/mdc/messagebundle_sl.properties +9 -1
  150. package/src/sap/ui/mdc/messagebundle_sv.properties +9 -1
  151. package/src/sap/ui/mdc/messagebundle_th.properties +9 -1
  152. package/src/sap/ui/mdc/messagebundle_tr.properties +11 -3
  153. package/src/sap/ui/mdc/messagebundle_uk.properties +9 -1
  154. package/src/sap/ui/mdc/messagebundle_vi.properties +9 -1
  155. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +9 -1
  156. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +10 -2
  157. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  158. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
  159. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
  160. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  161. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +4 -4
  162. package/src/sap/ui/mdc/odata/TypeUtil.js +25 -2
  163. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelper.js +5 -5
  164. package/src/sap/ui/mdc/odata/v4/FieldBaseDelegate.js +6 -0
  165. package/src/sap/ui/mdc/odata/v4/TypeUtil.js +6 -6
  166. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +0 -33
  167. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +378 -154
  168. package/src/sap/ui/mdc/p13n/Engine.js +8 -4
  169. package/src/sap/ui/mdc/p13n/PersistenceProvider.js +1 -0
  170. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  171. package/src/sap/ui/mdc/p13n/UIManager.js +1 -1
  172. package/src/sap/ui/mdc/p13n/modules/DefaultProviderRegistry.js +14 -11
  173. package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +133 -0
  174. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +41 -42
  175. package/src/sap/ui/mdc/p13n/panels/GroupView.js +1 -0
  176. package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +12 -4
  177. package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +1 -1
  178. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +1 -1
  179. package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +22 -27
  180. package/src/sap/ui/mdc/table/Column.js +4 -1
  181. package/src/sap/ui/mdc/table/CreationRow.js +3 -1
  182. package/src/sap/ui/mdc/table/GridTableType.js +0 -5
  183. package/src/sap/ui/mdc/table/PropertyHelper.js +27 -74
  184. package/src/sap/ui/mdc/table/ResponsiveTableType.js +29 -17
  185. package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
  186. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  187. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
  188. package/src/sap/ui/mdc/table/menu/QuickActionContainer.js +3 -3
  189. package/src/sap/ui/mdc/themes/base/Chart.less +5 -0
  190. package/src/sap/ui/mdc/themes/base/InfoPanel.less +1 -0
  191. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +5 -0
  192. package/src/sap/ui/mdc/util/DateUtil.js +30 -5
  193. package/src/sap/ui/mdc/util/FilterUtil.js +2 -2
  194. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  195. package/src/sap/ui/mdc/util/PropertyHelper.js +1 -1
  196. package/src/sap/ui/mdc/util/TypeUtil.js +105 -17
  197. package/src/sap/ui/mdc/valuehelp/Dialog.js +148 -48
  198. package/src/sap/ui/mdc/valuehelp/Popover.js +16 -3
  199. package/src/sap/ui/mdc/valuehelp/base/Container.js +45 -32
  200. package/src/sap/ui/mdc/valuehelp/base/Content.js +60 -28
  201. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +5 -5
  202. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +75 -32
  203. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +3 -3
  204. package/src/sap/ui/mdc/valuehelp/content/Bool.js +4 -4
  205. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +11 -3
  206. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +1 -1
  207. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +7 -3
  208. package/src/sap/ui/mdc/valuehelp/content/MTable.js +9 -3
  209. package/test/sap/ui/mdc/testutils/opa/chart/ActionsBase.js +48 -2
  210. package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +3 -3
  211. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +3 -3
  212. package/test/sap/ui/mdc/testutils/opa/filterbar/Actions.js +55 -4
  213. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +2 -2
  214. package/test/sap/ui/mdc/testutils/opa/link/Actions.js +53 -12
  215. package/test/sap/ui/mdc/testutils/opa/link/TestObjects.js +6 -6
  216. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +121 -202
  217. package/test/sap/ui/mdc/testutils/opa/p13n/waitForSelectWithSelectedTextOnPanel.js +5 -2
  218. package/test/sap/ui/mdc/testutils/opa/table/Actions.js +70 -0
  219. package/test/sap/ui/mdc/testutils/opa/table/TestObjects.js +9 -7
  220. package/test/sap/ui/mdc/testutils/opa/valueHelp/Actions.js +2 -2
  221. package/src/sap/ui/mdc/flexibility/AggregationConfigFlex.js +0 -139
  222. package/src/sap/ui/mdc/valuehelp/content/ListCollection.js +0 -205
@@ -41,7 +41,7 @@ sap.ui.define([
41
41
  * @extends sap.ui.mdc.p13n.AdaptationProvider
42
42
  *
43
43
  * @author SAP SE
44
- * @version 1.101.0
44
+ * @version 1.103.0
45
45
  *
46
46
  * @private
47
47
  * @ui5-restricted sap.ui.mdc
@@ -61,7 +61,7 @@ sap.ui.define([
61
61
  this._aStateHandlers = [];
62
62
 
63
63
  //Default Provider Registry to be used for internal PersistenceProvider functionality access
64
- this.defaultProviderRegistry = DefaultProviderRegistry.getInstance();
64
+ this.defaultProviderRegistry = DefaultProviderRegistry.getInstance(this);
65
65
 
66
66
  //UIManager to be used for p13n UI creation
67
67
  this.uimanager = UIManager.getInstance(this);
@@ -989,6 +989,8 @@ sap.ui.define([
989
989
  * @param {sap.ui.mdc.Control} vControl The registered control instance.
990
990
  * @param {string} sKey The registerd key to get the corresponding Controller.
991
991
  * @param {sap.ui.core.Control} oP13nUI The adaptation UI displayed in the container (e.g. BasePanel derivation).
992
+ *
993
+ * @returns {object} Object defining the state validation result
992
994
  */
993
995
  Engine.prototype.validateP13n = function(vControl, sKey, oP13nUI) {
994
996
  var oController = this.getController(vControl, sKey);
@@ -1003,7 +1005,7 @@ sap.ui.define([
1003
1005
  });
1004
1006
 
1005
1007
  //Only execeute validation for controllers that support 'model2State'
1006
- if (oController.model2State instanceof Function) {
1008
+ if (oController && oController.model2State instanceof Function) {
1007
1009
  oTheoreticalState[sKey] = oController.model2State();
1008
1010
 
1009
1011
  var mInfoState = oControl.validateState(this.externalizeKeys(oControl, oTheoreticalState), sKey);
@@ -1022,7 +1024,9 @@ sap.ui.define([
1022
1024
  } else {
1023
1025
  Log.warning("message strip could not be provided - the adaptation UI needs to implement 'setMessageStrip'");
1024
1026
  }
1025
-
1027
+ return mInfoState;
1028
+ } else {
1029
+ return undefined;
1026
1030
  }
1027
1031
 
1028
1032
  };
@@ -83,6 +83,7 @@ sap.ui.define([
83
83
  oVM.setModel(oModel, Utils.VARIANT_MODEL_NAME);
84
84
  });
85
85
  this._oWrapper = new VerticalLayout(this.getId() + "--accWrapper", {
86
+ visible: false,
86
87
  content: [
87
88
  oVM
88
89
  ]
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @extends sap.ui.mdc.util.PropertyHelper
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.101.0
32
+ * @version 1.103.0
33
33
  *
34
34
  * @private
35
35
  * @experimental
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @extends sap.ui.base.Object
34
34
  *
35
35
  * @author SAP SE
36
- * @version 1.101.0
36
+ * @version 1.103.0
37
37
  *
38
38
  * @private
39
39
  * @ui5-restricted sap.ui.mdc
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @extends sap.ui.base.Object
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.101.0
28
+ * @version 1.103.0
29
29
  *
30
30
  * @private
31
31
  * @ui5-restricted sap.ui.mdc
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @alias sap.ui.mdc.p13n.modules.DefaultProviderRegistry
35
35
  */
36
36
  var DefaultProviderRegistry = BaseObject.extend("sap.ui.mdc.p13n.modules.DefaultProviderRegistry", {
37
- constructor: function() {
37
+ constructor: function(oEngine) {
38
38
 
39
39
  if (oDefaultProviderRegistry) {
40
40
  throw Error(ERROR_INSTANCING);
@@ -42,6 +42,7 @@ sap.ui.define([
42
42
 
43
43
  BaseObject.call(this);
44
44
  this._mDefaultProviders = {};
45
+ this._oEngine = oEngine;
45
46
  }
46
47
  });
47
48
 
@@ -54,27 +55,29 @@ sap.ui.define([
54
55
  this._mDefaultProviders[sProviderName].destroy();
55
56
  delete this._mDefaultProviders[sProviderName];
56
57
  }.bind(this));
58
+ this._oEngine = null;
57
59
  BaseObject.prototype.destroy.apply(this, arguments);
60
+ oDefaultProviderRegistry = null;
58
61
  };
59
62
 
60
63
  /**
61
64
  * @private
62
65
  * @ui5-restricted sap.ui.mdc
63
66
  *
64
- * Attaches a control to a default persistence provider held inside the DefaultProviderRegistry for the given <code>PersistenceMode</code>
67
+ * Attaches an element to a default persistence provider held inside the DefaultProviderRegistry for the given <code>PersistenceMode</code>
65
68
  *
66
- * @param {sap.ui.mdc.Control|string} vControl The control instance or a control id.
69
+ * @param {sap.ui.core.Element|string} vElement The control instance or an element id.
67
70
  * @param {sap.ui.mdc.enum.PersistenceMode} sPersistenceMode Desired persistence mode for the retrieved persistence provider
68
71
  * @returns {sap.ui.mdc.p13n.PersistenceProvider} Returns a persistence provider instance, if possible
69
72
  */
70
- DefaultProviderRegistry.prototype.attach = function (vControl, sPersistenceMode) {
71
- if (vControl.getEngine().isRegisteredForModification(vControl)) { // Modification settings for a registered control are only determined once in the Engine
72
- throw new Error("DefaultProviderRegistry: You must not change the modificationSettings for an already registered control");
73
+ DefaultProviderRegistry.prototype.attach = function (vElement, sPersistenceMode) {
74
+ if (this._oEngine.isRegisteredForModification(vElement)) { // Modification settings for a registered element are only determined once in the Engine
75
+ throw new Error("DefaultProviderRegistry: You must not change the modificationSettings for an already registered element");
73
76
  }
74
77
  var oDefaultProvider = this._retrieveDefaultProvider(sPersistenceMode);
75
- var sControlId = typeof vControl === "string" ? vControl : vControl.getId();
78
+ var sControlId = typeof vElement === "string" ? vElement : vElement.getId();
76
79
  if (oDefaultProvider.getFor().indexOf(sControlId) === -1) {
77
- oDefaultProvider.addFor(vControl);
80
+ oDefaultProvider.addFor(vElement);
78
81
  }
79
82
 
80
83
  return oDefaultProvider;
@@ -115,9 +118,9 @@ sap.ui.define([
115
118
  *
116
119
  * This method is the central point of access to the DefaultProviderRegistry Singleton.
117
120
  */
118
- DefaultProviderRegistry.getInstance = function() {
121
+ DefaultProviderRegistry.getInstance = function(oEngine) {
119
122
  if (!oDefaultProviderRegistry) {
120
- oDefaultProviderRegistry = new DefaultProviderRegistry();
123
+ oDefaultProviderRegistry = new DefaultProviderRegistry(oEngine);
121
124
  }
122
125
  return oDefaultProviderRegistry;
123
126
  };
@@ -54,6 +54,139 @@ sap.ui.define([
54
54
  }
55
55
  };
56
56
 
57
+ ActionToolbarPanel.prototype._removeFactoryControl = function() {
58
+ this._oListControl.getItems().filter(function(oItem) {
59
+ return !oItem._bGroupHeader;
60
+ }).forEach(function(oItem){
61
+ var oFirstCell = oItem.getCells()[0];
62
+ if (oFirstCell.getItems().length > 1){
63
+ oFirstCell.removeItem(oFirstCell.getItems()[1]);
64
+ }
65
+ });
66
+ this.removeStyleClass("sapUiMDCAFLabelMarkingList");
67
+ return this._aInitializedFields;
68
+ };
69
+
70
+ ActionToolbarPanel.prototype._moveTableItem = function(oItem, iNewIndex) {
71
+ var aItems = this._oListControl.getItems();
72
+ var aFields = this._getP13nModel().getProperty("/items");
73
+
74
+ // index of the item in the model not the index in the aggregation
75
+ var iOlModelIndex = aFields.indexOf(this._getModelEntry(oItem));
76
+
77
+ // limit the minumum and maximum index
78
+ iNewIndex = (iNewIndex <= 0) ? 0 : Math.min(iNewIndex, aItems.length - 1);
79
+
80
+ // new index of the item in the model
81
+ var iNewModelIndex = aFields.indexOf(aItems[iNewIndex].getBindingContext(this.P13N_MODEL).getObject());
82
+ if (iNewModelIndex == iOlModelIndex) {
83
+ return;
84
+ }
85
+
86
+ // remove data from old position and insert it into new position
87
+ aFields.splice(iNewModelIndex, 0, aFields.splice(iOlModelIndex, 1)[0]);
88
+ this._getP13nModel().setProperty("/items", aFields);
89
+
90
+ // store the moved item again due to binding
91
+ this._oSelectedItem = this._oListControl.getItems()[iNewIndex];
92
+
93
+ this._updateEnableOfMoveButtons(this._oSelectedItem, true);
94
+
95
+ this._handleActivated(this._oSelectedItem);
96
+
97
+ this.fireChange({
98
+ reason: "Move",
99
+ item: this._getModelEntry(this._oSelectedItem)
100
+ });
101
+ };
102
+
103
+ ActionToolbarPanel.prototype._onPressButtonMoveToTop = function() {
104
+ var iIndex = this._oListControl.getItems().indexOf(this._oHoveredItem);
105
+
106
+ while (!this._oListControl.getItems()[iIndex - 1]._bGroupHeader) {
107
+ iIndex--;
108
+ }
109
+
110
+ this._moveSelectedItem(iIndex);
111
+ };
112
+
113
+ ActionToolbarPanel.prototype._onPressButtonMoveToBottom = function() {
114
+ var iIndex = this._oListControl.getItems().indexOf(this._oHoveredItem);
115
+
116
+ while (iIndex < this._oListControl.getItems().length - 1 && !this._oListControl.getItems()[iIndex + 1]._bGroupHeader) {
117
+ iIndex++;
118
+ }
119
+
120
+ this._moveSelectedItem(iIndex);
121
+ };
122
+
123
+ ActionToolbarPanel.prototype._onItemPressed = function(oEvent) {
124
+ var oSourceControl = oEvent.getParameter('srcControl');
125
+ if (!this._isControlPartOfMoveButtons(oSourceControl)) {
126
+ var oTableItem = oEvent.getParameter('listItem');
127
+ this._oSelectedItem = oTableItem;
128
+
129
+ var oContext = oTableItem.getBindingContext(this.P13N_MODEL);
130
+ if (this.getEnableReorder() && oContext && oContext.getProperty(this.PRESENCE_ATTRIBUTE)){
131
+ this._handleActivated(oTableItem);
132
+ this._updateEnableOfMoveButtons(oTableItem, true);
133
+ }
134
+ }
135
+ };
136
+
137
+ ActionToolbarPanel.prototype._isControlPartOfMoveButtons = function(oControl) {
138
+ var aSelectedItemActions = this._oSelectedItem ? this._oSelectedItem.getCells()[1].getItems() : [];
139
+ var bIsControlPartOfMoveButtons = false;
140
+
141
+ // Starting at index 2 as 0 and 1 are occupied by the active information
142
+ if (aSelectedItemActions.length > 2) {
143
+ for (var iIndex = 2; iIndex < aSelectedItemActions.length; iIndex++) {
144
+ if (aSelectedItemActions[iIndex] == oControl ||
145
+ aSelectedItemActions[iIndex] == oControl.getParent()) {
146
+ bIsControlPartOfMoveButtons = true;
147
+ }
148
+ }
149
+ }
150
+
151
+ return bIsControlPartOfMoveButtons;
152
+ };
153
+
154
+ ActionToolbarPanel.prototype._updateEnableOfMoveButtons = function(oTableItem, bFocus) {
155
+ var iTableItemPos = this._oListControl.getItems().indexOf(oTableItem);
156
+ var iLastItemPos = this._oListControl.getItems().length - 1;
157
+ var bUpEnabled = true, bDownEnabled = true;
158
+ if (iTableItemPos == 0) {
159
+ // disable move buttons upwards, if the item is at the top
160
+ bUpEnabled = false;
161
+ }
162
+ if (iTableItemPos == iLastItemPos) {
163
+ // disable move buttons downwards, if the item is at the bottom
164
+ bDownEnabled = false;
165
+ }
166
+ // Check if list is grouped
167
+ var bListIsGrouped = this._oListControl.getItems().some(function(oItem) {
168
+ return oItem._bGroupHeader;
169
+ });
170
+ if (bListIsGrouped) {
171
+
172
+ if (iTableItemPos > 0 && this._oListControl.getItems()[iTableItemPos - 1]._bGroupHeader) {
173
+ // disable move buttons upwards, if there is a group header item over it
174
+ bUpEnabled = false;
175
+ }
176
+ if (iTableItemPos < iLastItemPos && this._oListControl.getItems()[iTableItemPos + 1]._bGroupHeader) {
177
+ // disable move buttons upwards, if there is a group header item below it
178
+ bDownEnabled = false;
179
+ }
180
+ }
181
+ this._getMoveTopButton().setEnabled(bUpEnabled);
182
+ this._getMoveUpButton().setEnabled(bUpEnabled);
183
+ this._getMoveDownButton().setEnabled(bDownEnabled);
184
+ this._getMoveBottomButton().setEnabled(bDownEnabled);
185
+ if (bFocus) {
186
+ oTableItem.focus();
187
+ }
188
+ };
189
+
57
190
  return ActionToolbarPanel;
58
191
 
59
192
  });
@@ -5,11 +5,13 @@
5
5
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
6
6
  */
7
7
  sap.ui.define([
8
- "sap/m/p13n/QueryPanel", "sap/m/VBox", "sap/m/Text", "sap/ui/layout/Grid", "sap/ui/layout/GridData", "sap/m/Button", "sap/m/ComboBox", 'sap/base/util/merge'
8
+ "sap/m/p13n/QueryPanel", "sap/m/VBox", "sap/m/Text", "sap/ui/layout/Grid", "sap/ui/layout/GridData", "sap/m/Button", "sap/m/ComboBox", "sap/ui/core/library"
9
9
 
10
- ], function (QueryPanel, VBox, Text, Grid, GridData, Button, ComboBox, merge) {
10
+ ], function (QueryPanel, VBox, Text, Grid, GridData, Button, ComboBox, coreLibrary) {
11
11
  "use strict";
12
12
 
13
+ var ValueState = coreLibrary.ValueState;
14
+
13
15
  var FilterPanel = QueryPanel.extend("sap.ui.mdc.p13n.panels.FilterPanel", {
14
16
  metadata: {
15
17
  properties: {
@@ -31,45 +33,45 @@ sap.ui.define([
31
33
  ]
32
34
  }) : this._createKeySelect(oItem.name);
33
35
 
34
-
35
- var oAddButton;
36
- if (!oItem.name) {
37
- oAddButton = new Button({
38
- text: "Add",
39
- press: this._addPressed.bind(this),
40
- enabled: false
41
- });
42
- oAddButton.setLayoutData(new GridData({
43
- indent: "XL7 L7 M7 S7",
44
- span: "XL1 L1 M1 S1"
45
- }));
36
+ var aContent = [oSelect];
37
+ if (oItem.name) {
38
+ aContent.push(this._createFactoryControl(oItem));
46
39
  }
47
-
48
40
  return new Grid({
49
41
  containerQuery: true,
50
42
  defaultSpan: "XL4 L4 M4 S4",
51
- content: [
52
- oSelect, oItem.name ? this._createFactoryControl(oItem) : oAddButton
53
- ]
43
+ content: aContent
54
44
  }).addStyleClass("sapUiTinyMargin");
55
45
  };
56
46
 
47
+ FilterPanel.prototype._getPlaceholderText = function () {
48
+ return this._getResourceText("p13n.FILTER_PLACEHOLDER");
49
+ };
50
+
51
+ FilterPanel.prototype._getRemoveButtonTooltipText = function () {
52
+ return this._getResourceText("p13n.FILTER_REMOVEICONTOOLTIP");
53
+ };
54
+
57
55
  FilterPanel.prototype._createKeySelect = function (sKey) {
58
56
 
59
- var oKeySelect = new ComboBox({
57
+ var oComboBox = new ComboBox({
60
58
  width: "100%",
61
59
  items: this._getAvailableItems(),
62
- placeholder: "Select Filter",
63
- selectionChange: this._selectKey.bind(this)
60
+ placeholder: this._getPlaceholderText(),
61
+ selectionChange: function(oEvt) {
62
+ var oComboBox = oEvt.getSource();
63
+ this._selectKey(oComboBox);
64
+ }.bind(this),
65
+ change: function(oEvt) {
66
+ var oComboBox = oEvt.getSource();
67
+ var newValue = oEvt.getParameter("newValue");
68
+ oComboBox.setValueState( newValue && !oComboBox.getSelectedItem() ? ValueState.Error : ValueState.None);
69
+ this._selectKey();
70
+ }.bind(this)
64
71
  });
65
72
 
66
- return oKeySelect;
67
- };
68
73
 
69
- FilterPanel.prototype._getAvailableItems = function (sKey) {
70
- var aItems = QueryPanel.prototype._getAvailableItems.apply(this, arguments);
71
- aItems.shift();
72
- return aItems;
74
+ return oComboBox;
73
75
  };
74
76
 
75
77
  FilterPanel.prototype._createRemoveButton = function (bVisible) {
@@ -84,27 +86,24 @@ sap.ui.define([
84
86
  this._selectKey();
85
87
  };
86
88
 
87
- FilterPanel.prototype._selectKey = function(oEvt) {
89
+ FilterPanel.prototype._selectKey = function(oComboBox) {
88
90
  var oQueryRowGrid, sKey;
89
- if (oEvt) {
90
- this._oEvt = merge({}, oEvt);
91
- oQueryRowGrid = oEvt.oSource.getParent();
92
- sKey = oEvt.oSource.getSelectedKey();
93
- oQueryRowGrid.getContent()[1].setEnabled(!!sKey);
94
- } else if (this._oEvt) {
95
- oEvt = this._oEvt;
96
- oQueryRowGrid = oEvt.oSource.getParent();
97
- sKey = oEvt.oSource.getSelectedKey();
91
+ if (oComboBox) {
92
+ this._oComboBox = oComboBox;
93
+ oQueryRowGrid = oComboBox.getParent();
94
+ sKey = oComboBox.getSelectedKey();
95
+ } else if (this._oComboBox) {
96
+ oComboBox = this._oComboBox;
97
+ oQueryRowGrid = oComboBox.getParent();
98
+ sKey = oComboBox.getSelectedKey();
98
99
 
99
100
  if (sKey) {
100
- QueryPanel.prototype._selectKey.call(this, oEvt);
101
+ QueryPanel.prototype._selectKey.call(this, oComboBox);
101
102
 
102
- var sText = sKey ? oEvt.getParameter("selectedItem").getText() : "";
103
+ var sText = sKey ? oComboBox.getSelectedItem().getText() : "";
103
104
 
104
105
  var oSelect = oQueryRowGrid.getContent()[0];
105
106
  oQueryRowGrid.removeContent(oSelect);
106
- var oAddBtn = oQueryRowGrid.getContent()[0];
107
- oQueryRowGrid.removeContent(oAddBtn);
108
107
 
109
108
  // var sKey = oSelect._key;
110
109
  var oFieldBox = new VBox({
@@ -120,7 +119,7 @@ sap.ui.define([
120
119
  var oFilterField = this._createFactoryControl({name: sKey});
121
120
  oQueryRowGrid.insertContent(oFilterField, 1);
122
121
  }
123
- delete this._oEvt;
122
+ delete this._oComboBox;
124
123
  }
125
124
  };
126
125
 
@@ -232,6 +232,7 @@ sap.ui.define([
232
232
  return new CustomListItem({
233
233
  selected: "{" + this.P13N_MODEL + ">visible}",
234
234
  tooltip: "{" + this.P13N_MODEL + ">tooltip}",
235
+ accDescription: "{" + this.P13N_MODEL + ">label}",
235
236
  content: aInnerListItemContent
236
237
  });
237
238
 
@@ -14,8 +14,9 @@ sap.ui.define([
14
14
  "sap/ui/core/Icon",
15
15
  "sap/m/library",
16
16
  "sap/m/OverflowToolbar",
17
- "sap/ui/model/Filter"
18
- ], function (SelectionPanel, ColumnListItem, HBox, VBox, Link, Text, Icon, mLibrary, OverflowToolbar, Filter) {
17
+ "sap/ui/model/Filter",
18
+ "sap/ui/core/CustomData"
19
+ ], function (SelectionPanel, ColumnListItem, HBox, VBox, Link, Text, Icon, mLibrary, OverflowToolbar, Filter, CustomData) {
19
20
  "use strict";
20
21
 
21
22
  // shortcut for sap.m.ListType
@@ -50,7 +51,11 @@ sap.ui.define([
50
51
  text: "{" + this.P13N_MODEL + ">text}",
51
52
  href: "{" + this.P13N_MODEL + ">href}",
52
53
  target: "{" + this.P13N_MODEL + ">target}",
53
- press: this._onLinkPressed.bind(this)
54
+ press: this._onLinkPressed.bind(this),
55
+ customData: new CustomData({
56
+ key: "internalHref",
57
+ value: "{" + this.P13N_MODEL + ">internalHref}"
58
+ })
54
59
  }),
55
60
  new Text({
56
61
  text: "{" + this.P13N_MODEL + ">description}",
@@ -85,7 +90,10 @@ sap.ui.define([
85
90
  };
86
91
 
87
92
  LinkSelectionPanel.prototype._onLinkPressed = function(oEvent) {
88
- this.fireLinkPressed(oEvent);
93
+ if (oEvent.getSource().getTarget() !== "_blank") {
94
+ oEvent.preventDefault();
95
+ this.fireLinkPressed(oEvent);
96
+ }
89
97
  };
90
98
 
91
99
  LinkSelectionPanel.prototype.setMultiSelectMode = function(sMultiSelectMode) {
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  var oSelectionPanel = new ActionToolbarPanel({
27
27
  showHeader: true
28
28
  });
29
- oSelectionPanel.setEnableReorder(false);
29
+ //oSelectionPanel.setEnableReorder(false);
30
30
  oSelectionPanel.setFieldColumn(oResourceBundle.getText("actiontoolbar.RTA_COLUMN_HEADER"));
31
31
 
32
32
  var oAdaptationData = this.mixInfoAndState(oPropertyHelper);
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @extends sap.ui.base.Object
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.101.0
31
+ * @version 1.103.0
32
32
  *
33
33
  * @private
34
34
  * @ui5-restricted sap.ui.mdc
@@ -55,35 +55,29 @@ sap.ui.define([
55
55
 
56
56
  LinkPanelController.prototype._onLinkPressed = function(oEvent) {
57
57
  var oSource = oEvent.getParameter("oSource");
58
- var sTarget = oSource.getTarget();
58
+ var oPanel = this.getAdaptationControl();
59
+ var sHref = oSource && oSource.getCustomData() ? oSource.getCustomData()[0].getValue() : oSource.getHref();
59
60
 
60
- if (sTarget !== "_blank") {
61
- oEvent.preventDefault();
62
-
63
- var oPanel = this.getAdaptationControl();
64
- var sHref = oSource.getHref();
65
-
66
- if (oPanel.getBeforeNavigationCallback) {
67
- oPanel.getBeforeNavigationCallback()(oEvent).then(function (bNavigate) {
68
- if (bNavigate) {
69
- oPanel.navigate(sHref);
61
+ if (oPanel.getBeforeNavigationCallback) {
62
+ oPanel.getBeforeNavigationCallback()(oEvent).then(function (bNavigate) {
63
+ if (bNavigate) {
64
+ oPanel.getMetadata()._oClass.navigate(sHref);
65
+ }
66
+ });
67
+ } else {
68
+ MessageBox.show(sap.ui.getCore().getLibraryResourceBundle("sap.ui.mdc").getText("info.SELECTION_DIALOG_LINK_VALIDATION_QUESTION"), {
69
+ icon: MessageBox.Icon.WARNING,
70
+ title: sap.ui.getCore().getLibraryResourceBundle("sap.ui.mdc").getText("info.SELECTION_DIALOG_LINK_VALIDATION_TITLE"),
71
+ actions: [
72
+ MessageBox.Action.YES, MessageBox.Action.NO
73
+ ],
74
+ onClose: function (oAction) {
75
+ if (oAction === MessageBox.Action.YES) {
76
+ oPanel.getMetadata()._oClass.navigate(sHref);
70
77
  }
71
- });
72
- } else {
73
- MessageBox.show(sap.ui.getCore().getLibraryResourceBundle("sap.ui.mdc").getText("info.SELECTION_DIALOG_LINK_VALIDATION_QUESTION"), {
74
- icon: MessageBox.Icon.WARNING,
75
- title: sap.ui.getCore().getLibraryResourceBundle("sap.ui.mdc").getText("info.SELECTION_DIALOG_LINK_VALIDATION_TITLE"),
76
- actions: [
77
- MessageBox.Action.YES, MessageBox.Action.NO
78
- ],
79
- onClose: function (oAction) {
80
- if (oAction === MessageBox.Action.YES) {
81
- oPanel.navigate(sHref);
82
- }
83
- },
84
- styleClass: this.$().closest(".sapUiSizeCompact").length ? "sapUiSizeCompact" : ""
85
- });
86
- }
78
+ },
79
+ styleClass: this.$().closest(".sapUiSizeCompact").length ? "sapUiSizeCompact" : ""
80
+ });
87
81
  }
88
82
  };
89
83
 
@@ -128,6 +122,7 @@ sap.ui.define([
128
122
  mItem.visible = oExistingLinkItem ? true : false;
129
123
  mItem.position = oExistingLinkItem ? oExistingLinkItem.position : -1;
130
124
  mItem.href = oProperty.href;
125
+ mItem.internalHref = oProperty.internalHref;
131
126
  mItem.description = oProperty.description;
132
127
  mItem.target = oProperty.target;
133
128
  mItem.text = oProperty.text;
@@ -375,7 +375,10 @@ sap.ui.define([
375
375
 
376
376
  if (this._oInnerColumn) {
377
377
  this._oInnerColumn.destroy("KeepDom");
378
- oTable.invalidate();
378
+
379
+ if (!oTable.isInvalidateSuppressed()) {
380
+ oTable.invalidate();
381
+ }
379
382
  }
380
383
  };
381
384
 
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * {@link sap.ui.mdc.table.Column#getCreationTemplate creationTemplate} aggregation of the {@link sap.ui.mdc.table.Column}.
22
22
  * @extends sap.ui.core.Element
23
23
  * @author SAP SE
24
- * @version 1.101.0
24
+ * @version 1.103.0
25
25
  * @constructor
26
26
  * @experimental
27
27
  * @private
@@ -201,6 +201,8 @@ sap.ui.define([
201
201
  ]
202
202
  });
203
203
 
204
+ this._getTable()._oTable.getRowMode().setHideEmptyRows(this.getVisible());
205
+
204
206
  for (var sModelName in this._mBindingContexts) {
205
207
  var mBindingContext = this._mBindingContexts[sModelName];
206
208
  this._oInnerCreationRow.setBindingContext(mBindingContext.context, mBindingContext.modelName);
@@ -280,11 +280,6 @@ sap.ui.define([
280
280
  this._oRowActionItem.firePress({
281
281
  bindingContext: oRow.getBindingContext()
282
282
  });
283
- if (this._oTableRowAction) {
284
- this.fireRowPress({
285
- bindingContext: oRow.getBindingContext()
286
- });
287
- }
288
283
  };
289
284
 
290
285
  return GridTableType;