@openui5/sap.ui.mdc 1.101.0 → 1.102.2

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 (186) 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/Chart.js +1 -1
  7. package/src/sap/ui/mdc/Control.js +1 -1
  8. package/src/sap/ui/mdc/Element.js +1 -1
  9. package/src/sap/ui/mdc/Field.js +9 -2
  10. package/src/sap/ui/mdc/FilterBar.js +1 -1
  11. package/src/sap/ui/mdc/FilterField.js +2 -2
  12. package/src/sap/ui/mdc/Link.js +1 -1
  13. package/src/sap/ui/mdc/MultiValueField.js +1 -1
  14. package/src/sap/ui/mdc/Table.js +114 -160
  15. package/src/sap/ui/mdc/TableDelegate.js +28 -32
  16. package/src/sap/ui/mdc/ValueHelp.js +20 -14
  17. package/src/sap/ui/mdc/ValueHelpDelegate.js +9 -3
  18. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +1 -1
  19. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -1
  20. package/src/sap/ui/mdc/chart/ChartToolbar.js +5 -2
  21. package/src/sap/ui/mdc/chart/PropertyHelper.js +1 -1
  22. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  23. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  24. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  25. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  26. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +9 -9
  27. package/src/sap/ui/mdc/condition/Operator.js +85 -15
  28. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +5 -3
  29. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  30. package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +13 -1
  31. package/src/sap/ui/mdc/enum/PropagationReason.js +2 -2
  32. package/src/sap/ui/mdc/enum/SelectType.js +3 -0
  33. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  34. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  35. package/src/sap/ui/mdc/field/ConditionType.js +32 -14
  36. package/src/sap/ui/mdc/field/ConditionsType.js +6 -2
  37. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -1
  38. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  39. package/src/sap/ui/mdc/field/DefineConditionPanel.js +15 -19
  40. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +9 -62
  41. package/src/sap/ui/mdc/field/FieldBase.js +18 -4
  42. package/src/sap/ui/mdc/field/FieldHelpBase.js +1 -1
  43. package/src/sap/ui/mdc/field/FieldInfoBase.js +1 -1
  44. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  45. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  46. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  47. package/src/sap/ui/mdc/field/FieldValueHelp.js +1 -1
  48. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
  49. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +3 -1
  50. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +13 -1
  51. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +3 -3
  52. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +28 -29
  53. package/src/sap/ui/mdc/field/InParameter.js +1 -1
  54. package/src/sap/ui/mdc/field/ListFieldHelp.js +1 -1
  55. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  56. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  57. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  58. package/src/sap/ui/mdc/field/TokenDisplay.js +1 -1
  59. package/src/sap/ui/mdc/field/TokenizerDisplay.js +1 -1
  60. package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -1
  61. package/src/sap/ui/mdc/field/content/ContentFactory.js +8 -0
  62. package/src/sap/ui/mdc/field/content/DateContent.js +3 -3
  63. package/src/sap/ui/mdc/field/content/DateTimeContent.js +43 -2
  64. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +1 -1
  65. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  66. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +21 -1
  67. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  68. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  69. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  70. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  71. package/src/sap/ui/mdc/library.js +4 -4
  72. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  73. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  74. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  75. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  76. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  77. package/src/sap/ui/mdc/link/ContactDetailsRenderer.js +1 -1
  78. package/src/sap/ui/mdc/link/Factory.js +1 -1
  79. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  80. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  81. package/src/sap/ui/mdc/link/Panel.js +2 -4
  82. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  83. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  84. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  85. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  86. package/src/sap/ui/mdc/messagebundle.properties +4 -2
  87. package/src/sap/ui/mdc/messagebundle_ar.properties +3 -3
  88. package/src/sap/ui/mdc/messagebundle_bg.properties +1 -1
  89. package/src/sap/ui/mdc/messagebundle_ca.properties +1 -1
  90. package/src/sap/ui/mdc/messagebundle_cs.properties +1 -1
  91. package/src/sap/ui/mdc/messagebundle_cy.properties +1 -1
  92. package/src/sap/ui/mdc/messagebundle_da.properties +1 -1
  93. package/src/sap/ui/mdc/messagebundle_de.properties +1 -1
  94. package/src/sap/ui/mdc/messagebundle_el.properties +1 -1
  95. package/src/sap/ui/mdc/messagebundle_en.properties +1 -1
  96. package/src/sap/ui/mdc/messagebundle_en_GB.properties +1 -1
  97. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +1 -1
  98. package/src/sap/ui/mdc/messagebundle_es.properties +1 -1
  99. package/src/sap/ui/mdc/messagebundle_es_MX.properties +1 -1
  100. package/src/sap/ui/mdc/messagebundle_et.properties +1 -1
  101. package/src/sap/ui/mdc/messagebundle_fi.properties +1 -1
  102. package/src/sap/ui/mdc/messagebundle_fr.properties +1 -1
  103. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +1 -1
  104. package/src/sap/ui/mdc/messagebundle_hi.properties +1 -1
  105. package/src/sap/ui/mdc/messagebundle_hr.properties +1 -1
  106. package/src/sap/ui/mdc/messagebundle_hu.properties +1 -1
  107. package/src/sap/ui/mdc/messagebundle_id.properties +1 -1
  108. package/src/sap/ui/mdc/messagebundle_it.properties +1 -1
  109. package/src/sap/ui/mdc/messagebundle_iw.properties +1 -1
  110. package/src/sap/ui/mdc/messagebundle_ja.properties +1 -1
  111. package/src/sap/ui/mdc/messagebundle_kk.properties +1 -1
  112. package/src/sap/ui/mdc/messagebundle_ko.properties +1 -1
  113. package/src/sap/ui/mdc/messagebundle_lt.properties +1 -1
  114. package/src/sap/ui/mdc/messagebundle_lv.properties +1 -1
  115. package/src/sap/ui/mdc/messagebundle_ms.properties +1 -1
  116. package/src/sap/ui/mdc/messagebundle_nl.properties +1 -1
  117. package/src/sap/ui/mdc/messagebundle_no.properties +1 -1
  118. package/src/sap/ui/mdc/messagebundle_pl.properties +1 -1
  119. package/src/sap/ui/mdc/messagebundle_pt.properties +6 -6
  120. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +1 -1
  121. package/src/sap/ui/mdc/messagebundle_ro.properties +1 -1
  122. package/src/sap/ui/mdc/messagebundle_ru.properties +1 -1
  123. package/src/sap/ui/mdc/messagebundle_sh.properties +1 -1
  124. package/src/sap/ui/mdc/messagebundle_sk.properties +1 -1
  125. package/src/sap/ui/mdc/messagebundle_sl.properties +1 -1
  126. package/src/sap/ui/mdc/messagebundle_sv.properties +1 -1
  127. package/src/sap/ui/mdc/messagebundle_th.properties +1 -1
  128. package/src/sap/ui/mdc/messagebundle_tr.properties +3 -3
  129. package/src/sap/ui/mdc/messagebundle_uk.properties +1 -1
  130. package/src/sap/ui/mdc/messagebundle_vi.properties +1 -1
  131. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +1 -1
  132. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +1 -1
  133. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  134. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
  135. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
  136. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  137. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +4 -4
  138. package/src/sap/ui/mdc/odata/TypeUtil.js +1 -0
  139. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelper.js +1 -1
  140. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +53 -16
  141. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +19 -3
  142. package/src/sap/ui/mdc/p13n/Engine.js +8 -4
  143. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  144. package/src/sap/ui/mdc/p13n/UIManager.js +1 -1
  145. package/src/sap/ui/mdc/p13n/modules/DefaultProviderRegistry.js +14 -11
  146. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +42 -18
  147. package/src/sap/ui/mdc/p13n/panels/GroupView.js +1 -0
  148. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +1 -1
  149. package/src/sap/ui/mdc/table/Column.js +4 -1
  150. package/src/sap/ui/mdc/table/CreationRow.js +3 -1
  151. package/src/sap/ui/mdc/table/GridTableType.js +0 -5
  152. package/src/sap/ui/mdc/table/PropertyHelper.js +27 -74
  153. package/src/sap/ui/mdc/table/ResponsiveTableType.js +29 -17
  154. package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
  155. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  156. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
  157. package/src/sap/ui/mdc/table/menu/QuickActionContainer.js +3 -3
  158. package/src/sap/ui/mdc/themes/base/Chart.less +5 -0
  159. package/src/sap/ui/mdc/util/DateUtil.js +30 -5
  160. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  161. package/src/sap/ui/mdc/util/PropertyHelper.js +1 -1
  162. package/src/sap/ui/mdc/valuehelp/Dialog.js +61 -26
  163. package/src/sap/ui/mdc/valuehelp/Popover.js +2 -2
  164. package/src/sap/ui/mdc/valuehelp/base/Container.js +9 -5
  165. package/src/sap/ui/mdc/valuehelp/base/Content.js +23 -9
  166. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
  167. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +43 -7
  168. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +3 -3
  169. package/src/sap/ui/mdc/valuehelp/content/Bool.js +1 -1
  170. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +1 -1
  171. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +1 -1
  172. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +7 -3
  173. package/src/sap/ui/mdc/valuehelp/content/MTable.js +8 -2
  174. package/test/sap/ui/mdc/testutils/opa/chart/ActionsBase.js +48 -2
  175. package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +3 -3
  176. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +3 -3
  177. package/test/sap/ui/mdc/testutils/opa/filterbar/Actions.js +55 -4
  178. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +2 -2
  179. package/test/sap/ui/mdc/testutils/opa/link/Actions.js +53 -12
  180. package/test/sap/ui/mdc/testutils/opa/link/TestObjects.js +6 -6
  181. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +87 -120
  182. package/test/sap/ui/mdc/testutils/opa/p13n/waitForSelectWithSelectedTextOnPanel.js +5 -2
  183. package/test/sap/ui/mdc/testutils/opa/table/Actions.js +70 -0
  184. package/test/sap/ui/mdc/testutils/opa/table/TestObjects.js +9 -7
  185. package/test/sap/ui/mdc/testutils/opa/valueHelp/Actions.js +2 -2
  186. package/src/sap/ui/mdc/valuehelp/content/ListCollection.js +0 -205
@@ -51,7 +51,7 @@ sap.ui.define([
51
51
  * @param {object} [mSettings] Initial settings for the new element
52
52
  * @class Content for the {@link sap.ui.mdc.valuehelp.base.Container Container} element using a {@link sap.m.Table}.
53
53
  * @extends sap.ui.mdc.valuehelp.base.FilterableListContent
54
- * @version 1.101.0
54
+ * @version 1.102.2
55
55
  * @constructor
56
56
  * @abstract
57
57
  * @private
@@ -152,7 +152,7 @@ sap.ui.define([
152
152
 
153
153
  var sFilterFields = this.getFilterFields();
154
154
  var oFilterBar = this._getPriorityFilterBar();
155
- var oConditions = oFilterBar ? oFilterBar.getInternalConditions() : this._oInitialFilterConditions;
155
+ var oConditions = oFilterBar ? oFilterBar.getInternalConditions() : this._oInitialFilterConditions || {};
156
156
 
157
157
  if (!oFilterBar && sFieldSearch && sFilterFields && sFilterFields !== "$search") {
158
158
  // add condition for Search value
@@ -369,6 +369,12 @@ sap.ui.define([
369
369
  if (!oConfig.checkKey && oConfig.parsedValue && !oConfig.checkDescription) {
370
370
  return null;
371
371
  }
372
+ if (oConfig.checkKey && !this.getKeyPath()) {
373
+ throw new Error("MTable: KeyPath missing! " + this.getId());
374
+ }
375
+ if (oConfig.checkDescription && !this.getDescriptionPath()) {
376
+ throw new Error("MTable: DescriptionPath missing! " + this.getId());
377
+ }
372
378
 
373
379
  /* load data from model if nothing is found in the current items / contexts
374
380
  / steps:
@@ -1,12 +1,18 @@
1
1
  sap.ui.define([
2
+ "sap/ui/test/Opa5",
2
3
  "sap/ui/test/actions/Press",
3
4
  "sap/base/Log",
4
5
  "sap/ui/test/matchers/Ancestor",
5
- "sap/ui/test/matchers/PropertyStrictEquals"
6
- ], function (Press, Log, Ancestor, PropertyStrictEquals) {
6
+ "sap/ui/test/matchers/PropertyStrictEquals",
7
+ "sap/ui/test/matchers/Properties",
8
+ "../p13n/Util",
9
+ "../p13n/waitForP13nButtonWithMatchers",
10
+ "../p13n/waitForP13nDialog"
11
+ ], function (Opa5, Press, Log, Ancestor, PropertyStrictEquals, Properties, p13nUtil, waitForP13nButtonWithMatchers, waitForP13nDialog) {
7
12
  "use strict";
8
13
 
9
14
  var oCore = sap.ui.test.Opa5.getWindow().sap.ui.getCore();
15
+ var oMDCBundle = oCore.getLibraryResourceBundle("sap.ui.mdc");
10
16
 
11
17
  var waitForMDCChartWithId = function(sId, oSettings) {
12
18
  return this.waitFor({
@@ -85,6 +91,46 @@ sap.ui.define([
85
91
  };
86
92
 
87
93
  return {
94
+ iOpenThePersonalizationDialog: function(oControl, oSettings) {
95
+ var sControlId = typeof oControl === "string" ? oControl : oControl.getId();
96
+ var aDialogMatchers = [];
97
+ var aButtonMatchers = [];
98
+ return this.waitFor({
99
+ id: sControlId,
100
+ success: function(oControlInstance) {
101
+ Opa5.assert.ok(oControlInstance);
102
+
103
+ aButtonMatchers.push(new Ancestor(oControlInstance));
104
+
105
+ aDialogMatchers.push(new Ancestor(oControlInstance, false));
106
+
107
+ // Add matcher for p13n button icon
108
+ aButtonMatchers.push(new Properties({
109
+ icon: p13nUtil.icons.settings
110
+ }));
111
+ aDialogMatchers.push(new Properties({
112
+ title: oMDCBundle.getText("p13nDialog.VIEW_SETTINGS")
113
+ }));
114
+
115
+ waitForP13nButtonWithMatchers.call(this, {
116
+ actions: new Press(),
117
+ matchers: aButtonMatchers,
118
+ success: function() {
119
+ waitForP13nDialog.call(this, {
120
+ matchers: aDialogMatchers,
121
+ success: function(oP13nDialog) {
122
+ if (oSettings && typeof oSettings.success === "function") {
123
+ oSettings.success.call(this, oP13nDialog);
124
+ }
125
+ }
126
+ });
127
+ },
128
+ errorMessage: "Control '" + sControlId + "' has no P13n button"
129
+ });
130
+ },
131
+ errorMessage: "Control '" + sControlId + "' not found."
132
+ });
133
+ },
88
134
  /**
89
135
  * Clicks on the "Zoom In" button in the toolbar of a mdc chart.
90
136
  * @param {string} sId The id of the mdc chart
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * 4. Closes the personalization dialog.
35
35
  */
36
36
  iPersonalizeChart: function(oChart, aConfigurations){
37
- return p13nActions.iPersonalizeChart.call(this, oChart, null, aConfigurations, true);
37
+ return p13nActions.iPersonalizeChart.call(this, oChart, null, aConfigurations, true, chartActions.iOpenThePersonalizationDialog);
38
38
  },
39
39
  /**
40
40
  * @typedef {object} SortPersonalizationConfiguration
@@ -51,7 +51,7 @@ sap.ui.define([
51
51
  * 3. Closes the personalization dialog.
52
52
  */
53
53
  iPersonalizeSort: function(oChart, aConfigurations) {
54
- return p13nActions.iPersonalizeSort.call(this, oChart, aConfigurations);
54
+ return p13nActions.iPersonalizeSort.call(this, oChart, aConfigurations, chartActions.iOpenThePersonalizationDialog);
55
55
  },
56
56
  /**
57
57
  * Opa5 test action
@@ -63,7 +63,7 @@ sap.ui.define([
63
63
  * 4. Closes the personalization dialog.
64
64
  */
65
65
  iResetThePersonalization: function(oChart) {
66
- return p13nActions.iResetThePersonalization.call(this, oChart);
66
+ return p13nActions.iResetThePersonalization.call(this, oChart, chartActions.iOpenThePersonalizationDialog);
67
67
  },
68
68
 
69
69
  /**
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * 4. Closes the personalization dialog.
35
35
  */
36
36
  iPersonalizeChart: function(oChart, aConfigurations){
37
- return p13nActions.iPersonalizeChart.call(this, oChart, null, aConfigurations, true);
37
+ return p13nActions.iPersonalizeChart.call(this, oChart, null, aConfigurations, true, chartActions.iOpenThePersonalizationDialog);
38
38
  },
39
39
  /**
40
40
  * @typedef {object} SortPersonalizationConfiguration
@@ -51,7 +51,7 @@ sap.ui.define([
51
51
  * 3. Closes the personalization dialog.
52
52
  */
53
53
  iPersonalizeSort: function(oChart, aConfigurations) {
54
- return p13nActions.iPersonalizeSort.call(this, oChart, aConfigurations);
54
+ return p13nActions.iPersonalizeSort.call(this, oChart, aConfigurations, chartActions.iOpenThePersonalizationDialog);
55
55
  },
56
56
  /**
57
57
  * Opa5 test action
@@ -63,7 +63,7 @@ sap.ui.define([
63
63
  * 4. Closes the personalization dialog.
64
64
  */
65
65
  iResetThePersonalization: function(oChart) {
66
- return p13nActions.iResetThePersonalization.call(this, oChart);
66
+ return p13nActions.iResetThePersonalization.call(this, oChart, chartActions.iOpenThePersonalizationDialog);
67
67
  },
68
68
 
69
69
  /**
@@ -13,7 +13,10 @@ sap.ui.define([
13
13
  "sap/ui/test/actions/EnterText",
14
14
  "./Util",
15
15
  "../p13n/Actions",
16
- "../p13n/Util"
16
+ "../p13n/Util",
17
+ "../p13n/waitForP13nButtonWithMatchers",
18
+ "../p13n/waitForP13nDialog",
19
+ "sap/ui/core/Core"
17
20
  ], function(
18
21
  Opa5,
19
22
  Matcher,
@@ -25,10 +28,15 @@ sap.ui.define([
25
28
  EnterText,
26
29
  FilterBarUtil,
27
30
  p13nActions,
28
- p13nUtil
31
+ p13nUtil,
32
+ waitForP13nButtonWithMatchers,
33
+ waitForP13nDialog,
34
+ oCore
29
35
  ) {
30
36
  "use strict";
31
37
 
38
+ var oMDCBundle = oCore.getLibraryResourceBundle("sap.ui.mdc");
39
+
32
40
  var iEnterFilterValue = function(oGroupViewItem, mSettings) {
33
41
  // Get sap.m.Panel of GroupViewItem
34
42
  this.waitFor({
@@ -126,7 +134,48 @@ sap.ui.define([
126
134
  });
127
135
  };
128
136
 
129
- return {
137
+ var oActions = {
138
+ iOpenThePersonalizationDialog: function(oControl, oSettings) {
139
+ var sControlId = typeof oControl === "string" ? oControl : oControl.getId();
140
+ var aDialogMatchers = [];
141
+ var aButtonMatchers = [];
142
+ return this.waitFor({
143
+ id: sControlId,
144
+ success: function(oControlInstance) {
145
+ Opa5.assert.ok(oControlInstance);
146
+
147
+ aButtonMatchers.push(new Ancestor(oControlInstance));
148
+ aDialogMatchers.push(new Ancestor(oControlInstance, false));
149
+
150
+ // Add matcher for p13n button text
151
+ var oMatcher = new Matcher();
152
+ oMatcher.isMatching = function(oButton) {
153
+ return oButton.getText().includes(oMDCBundle.getText("filterbar.ADAPT"));
154
+ };
155
+ aButtonMatchers.push(oMatcher);
156
+ aDialogMatchers.push(new Properties({
157
+ title: oMDCBundle.getText("filterbar.ADAPT_TITLE")
158
+ }));
159
+
160
+ waitForP13nButtonWithMatchers.call(this, {
161
+ actions: new Press(),
162
+ matchers: aButtonMatchers,
163
+ success: function() {
164
+ waitForP13nDialog.call(this, {
165
+ matchers: aDialogMatchers,
166
+ success: function(oP13nDialog) {
167
+ if (oSettings && typeof oSettings.success === "function") {
168
+ oSettings.success.call(this, oP13nDialog);
169
+ }
170
+ }
171
+ });
172
+ },
173
+ errorMessage: "Control '" + sControlId + "' has no P13n button"
174
+ });
175
+ },
176
+ errorMessage: "Control '" + sControlId + "' not found."
177
+ });
178
+ },
130
179
  iExpectSearch: function(oFilterBar) {
131
180
  var sFilterBarId = typeof oFilterBar === "string" ? oFilterBar : oFilterBar.getId();
132
181
  var sText = FilterBarUtil.texts.go;
@@ -153,7 +202,7 @@ sap.ui.define([
153
202
  },
154
203
  iEnterFilterValue: function(oFilterBar, mSettings) {
155
204
  var sIcon = p13nUtil.icons.group;
156
- return p13nActions.iOpenThePersonalizationDialog.call(this, oFilterBar, {
205
+ return oActions.iOpenThePersonalizationDialog.call(this, oFilterBar, {
157
206
  success: function(oP13nDialog) {
158
207
  this.waitFor({
159
208
  controlType: "sap.m.Button",
@@ -247,4 +296,6 @@ sap.ui.define([
247
296
  }
248
297
  };
249
298
 
299
+ return oActions;
300
+
250
301
  });
@@ -38,7 +38,7 @@ sap.ui.define([
38
38
  * @returns
39
39
  */
40
40
  iPersonalizeFilter: function(oFilterBar, oSettings) {
41
- return p13nActions.iPersonalizeFilterBar.call(this, oFilterBar, oSettings);
41
+ return p13nActions.iPersonalizeFilterBar.call(this, oFilterBar, oSettings, filterBarActions.iOpenThePersonalizationDialog);
42
42
  },
43
43
  /**
44
44
  * OPA5 test action
@@ -60,7 +60,7 @@ sap.ui.define([
60
60
  * @returns
61
61
  */
62
62
  iResetThePersonalization: function(oFilterBar) {
63
- return p13nActions.iResetThePersonalization.call(this, oFilterBar);
63
+ return p13nActions.iResetThePersonalization.call(this, oFilterBar, filterBarActions.iOpenThePersonalizationDialog);
64
64
  },
65
65
  /**
66
66
  * OPA5 test action
@@ -4,32 +4,73 @@
4
4
 
5
5
  sap.ui.define([
6
6
  "sap/ui/test/Opa5",
7
- "sap/ui/test/matchers/Matcher",
8
- "sap/ui/test/matchers/Properties",
9
7
  "sap/ui/test/matchers/Ancestor",
10
8
  "sap/ui/test/matchers/Descendant",
11
9
  "sap/ui/test/matchers/PropertyStrictEquals",
12
10
  "sap/ui/test/actions/Press",
13
- "sap/ui/test/actions/EnterText",
14
- "../p13n/Actions",
15
- "../p13n/Util",
16
- "./waitForLink"
11
+ "../p13n/waitForP13nButtonWithMatchers",
12
+ "../p13n/waitForP13nDialog",
13
+ "./waitForLink",
14
+ "sap/ui/core/Core"
17
15
  ], function(
18
16
  Opa5,
19
- Matcher,
20
- Properties,
21
17
  Ancestor,
22
18
  Descendant,
23
19
  PropertyStrictEquals,
24
20
  Press,
25
- EnterText,
26
- p13nActions,
27
- p13nUtil,
28
- waitForLink
21
+ waitForP13nButtonWithMatchers,
22
+ waitForP13nDialog,
23
+ waitForLink,
24
+ oCore
29
25
  ) {
30
26
  "use strict";
31
27
 
28
+ var oMDCBundle = oCore.getLibraryResourceBundle("sap.ui.mdc");
29
+
32
30
  return {
31
+ iOpenThePersonalizationDialog: function(oControl, oSettings) {
32
+ var sControlId = typeof oControl === "string" ? oControl : oControl.getId();
33
+ return this.waitFor({
34
+ id: sControlId,
35
+ success: function(oControlInstance) {
36
+ Opa5.assert.ok(oControlInstance);
37
+
38
+ new Press().executeOn(oControlInstance);
39
+ this.waitFor({
40
+ controlType: "sap.ui.mdc.link.Panel",
41
+ success: function(aPanels) {
42
+ Opa5.assert.equal(aPanels.length, 1, "mdc.link.Panel found");
43
+ var oPanel = aPanels[0];
44
+
45
+ waitForP13nButtonWithMatchers.call(this, {
46
+ actions: new Press(),
47
+ matchers: [
48
+ new Ancestor(oPanel, false),
49
+ new PropertyStrictEquals({
50
+ name: "text",
51
+ value: oMDCBundle.getText("info.POPOVER_DEFINE_LINKS")
52
+ })
53
+ ],
54
+ success: function() {
55
+ waitForP13nDialog.call(this, {
56
+ matchers: new PropertyStrictEquals({
57
+ name: "title",
58
+ value: oMDCBundle.getText("info.SELECTION_DIALOG_ALIGNEDTITLE")
59
+ }),
60
+ success: function(oP13nDialog) {
61
+ if (oSettings && typeof oSettings.success === "function") {
62
+ oSettings.success.call(this, oP13nDialog);
63
+ }
64
+ }
65
+ });
66
+ }
67
+ });
68
+ }
69
+ });
70
+ },
71
+ errorMessage: "Control '" + sControlId + "' not found."
72
+ });
73
+ },
33
74
  iPressTheLink: function(oLinkIdentifier) {
34
75
  return waitForLink.call(this, oLinkIdentifier, {
35
76
  actions: new Press()
@@ -5,14 +5,14 @@ sap.ui.define([
5
5
  "sap/ui/test/Opa5",
6
6
  "./Actions",
7
7
  "./Assertions",
8
- "../p13n/Actions",
9
- "./waitForLink"
8
+ "./waitForLink",
9
+ "../p13n/Actions"
10
10
  ], function(
11
11
  Opa5,
12
12
  linkActions,
13
13
  linkAssertions,
14
- p13nActions,
15
- waitForLink
14
+ waitForLink,
15
+ p13nActions
16
16
  ) {
17
17
  "use strict";
18
18
 
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  iPersonalizeTheLinks: function(oLinkIdentifier, aLinks) {
38
38
  return waitForLink.call(this, oLinkIdentifier, {
39
39
  success: function(oLink) {
40
- p13nActions.iPersonalizeLink.call(this, oLink, aLinks);
40
+ p13nActions.iPersonalizeLink.call(this, oLink, aLinks, linkActions.iOpenThePersonalizationDialog);
41
41
  }
42
42
  });
43
43
  },
@@ -53,7 +53,7 @@ sap.ui.define([
53
53
  iResetThePersonalization: function(oLinkIdentifier) {
54
54
  return waitForLink.call(this, oLinkIdentifier, {
55
55
  success: function(oLink) {
56
- p13nActions.iResetThePersonalization.call(this, oLink);
56
+ p13nActions.iResetThePersonalization.call(this, oLink, linkActions.iOpenThePersonalizationDialog);
57
57
  }
58
58
  });
59
59
  },