@openui5/sap.ui.mdc 1.94.0 → 1.95.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 (178) hide show
  1. package/.reuse/dep5 +1 -6
  2. package/THIRDPARTY.txt +3 -9
  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 +12 -5
  7. package/src/sap/ui/mdc/ChartNew.js +1 -1
  8. package/src/sap/ui/mdc/Control.js +1 -1
  9. package/src/sap/ui/mdc/Element.js +2 -2
  10. package/src/sap/ui/mdc/Field.js +2 -2
  11. package/src/sap/ui/mdc/FilterBar.js +1 -1
  12. package/src/sap/ui/mdc/FilterField.js +28 -4
  13. package/src/sap/ui/mdc/Link.js +1 -1
  14. package/src/sap/ui/mdc/MultiValueField.js +1 -1
  15. package/src/sap/ui/mdc/Table.js +44 -29
  16. package/src/sap/ui/mdc/ValueHelp.js +1459 -0
  17. package/src/sap/ui/mdc/ValueHelpDelegate.js +41 -0
  18. package/src/sap/ui/mdc/chart/ToolbarHandler.js +233 -224
  19. package/src/sap/ui/mdc/chartNew/ChartSelectionDetailsNew.js +1 -1
  20. package/src/sap/ui/mdc/chartNew/ChartToolbarNew.js +1 -1
  21. package/src/sap/ui/mdc/chartNew/ChartTypeButtonNew.js +1 -1
  22. package/src/sap/ui/mdc/chartNew/PropertyHelperNew.js +1 -1
  23. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  24. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  25. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  26. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  27. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +1 -1
  28. package/src/sap/ui/mdc/condition/Operator.js +1 -1
  29. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  30. package/src/sap/ui/mdc/enum/SelectType.js +43 -0
  31. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  32. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  33. package/src/sap/ui/mdc/field/ConditionType.js +61 -29
  34. package/src/sap/ui/mdc/field/ConditionsType.js +2 -1
  35. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -1
  36. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  37. package/src/sap/ui/mdc/field/DefineConditionPanel.js +13 -2
  38. package/src/sap/ui/mdc/field/FieldBase.js +81 -35
  39. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +9 -2
  40. package/src/sap/ui/mdc/field/FieldHelpBase.js +64 -4
  41. package/src/sap/ui/mdc/field/FieldInfoBase.js +1 -1
  42. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  43. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  44. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  45. package/src/sap/ui/mdc/field/FieldValueHelp.js +7 -1
  46. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
  47. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +1 -1
  48. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +1 -1
  49. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +1 -1
  50. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +1 -1
  51. package/src/sap/ui/mdc/field/InParameter.js +1 -1
  52. package/src/sap/ui/mdc/field/ListFieldHelp.js +1 -1
  53. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  54. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  55. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  56. package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -1
  57. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +17 -9
  58. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  59. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +1 -1
  60. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  61. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  62. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  63. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  64. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +203 -197
  65. package/src/sap/ui/mdc/library.js +576 -4
  66. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  67. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  68. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  69. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  70. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  71. package/src/sap/ui/mdc/link/Factory.js +1 -1
  72. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  73. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  74. package/src/sap/ui/mdc/link/Panel.js +1 -1
  75. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  76. package/src/sap/ui/mdc/link/PanelListItem.js +1 -1
  77. package/src/sap/ui/mdc/link/SelectionDialog.js +1 -1
  78. package/src/sap/ui/mdc/link/SelectionDialogItem.js +1 -1
  79. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  80. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  81. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  82. package/src/sap/ui/mdc/messagebundle.properties +10 -3
  83. package/src/sap/ui/mdc/messagebundle_ar.properties +10 -3
  84. package/src/sap/ui/mdc/messagebundle_bg.properties +9 -2
  85. package/src/sap/ui/mdc/messagebundle_ca.properties +9 -2
  86. package/src/sap/ui/mdc/messagebundle_cs.properties +11 -4
  87. package/src/sap/ui/mdc/messagebundle_cy.properties +9 -2
  88. package/src/sap/ui/mdc/messagebundle_da.properties +9 -2
  89. package/src/sap/ui/mdc/messagebundle_de.properties +9 -2
  90. package/src/sap/ui/mdc/messagebundle_el.properties +10 -3
  91. package/src/sap/ui/mdc/messagebundle_en.properties +9 -2
  92. package/src/sap/ui/mdc/messagebundle_en_GB.properties +9 -2
  93. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +7 -2
  94. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +7 -2
  95. package/src/sap/ui/mdc/messagebundle_es.properties +33 -26
  96. package/src/sap/ui/mdc/messagebundle_es_MX.properties +9 -2
  97. package/src/sap/ui/mdc/messagebundle_et.properties +9 -2
  98. package/src/sap/ui/mdc/messagebundle_fi.properties +10 -3
  99. package/src/sap/ui/mdc/messagebundle_fr.properties +16 -9
  100. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +9 -2
  101. package/src/sap/ui/mdc/messagebundle_hi.properties +9 -2
  102. package/src/sap/ui/mdc/messagebundle_hr.properties +9 -2
  103. package/src/sap/ui/mdc/messagebundle_hu.properties +10 -3
  104. package/src/sap/ui/mdc/messagebundle_id.properties +9 -2
  105. package/src/sap/ui/mdc/messagebundle_it.properties +32 -25
  106. package/src/sap/ui/mdc/messagebundle_iw.properties +9 -2
  107. package/src/sap/ui/mdc/messagebundle_ja.properties +9 -2
  108. package/src/sap/ui/mdc/messagebundle_kk.properties +9 -2
  109. package/src/sap/ui/mdc/messagebundle_ko.properties +9 -2
  110. package/src/sap/ui/mdc/messagebundle_lt.properties +9 -2
  111. package/src/sap/ui/mdc/messagebundle_lv.properties +9 -2
  112. package/src/sap/ui/mdc/messagebundle_ms.properties +9 -2
  113. package/src/sap/ui/mdc/messagebundle_nl.properties +10 -3
  114. package/src/sap/ui/mdc/messagebundle_no.properties +16 -9
  115. package/src/sap/ui/mdc/messagebundle_pl.properties +13 -6
  116. package/src/sap/ui/mdc/messagebundle_pt.properties +9 -2
  117. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +9 -2
  118. package/src/sap/ui/mdc/messagebundle_ro.properties +12 -5
  119. package/src/sap/ui/mdc/messagebundle_ru.properties +9 -2
  120. package/src/sap/ui/mdc/messagebundle_sh.properties +9 -2
  121. package/src/sap/ui/mdc/messagebundle_sk.properties +10 -3
  122. package/src/sap/ui/mdc/messagebundle_sl.properties +9 -2
  123. package/src/sap/ui/mdc/messagebundle_sv.properties +10 -3
  124. package/src/sap/ui/mdc/messagebundle_th.properties +15 -8
  125. package/src/sap/ui/mdc/messagebundle_tr.properties +9 -2
  126. package/src/sap/ui/mdc/messagebundle_uk.properties +9 -2
  127. package/src/sap/ui/mdc/messagebundle_vi.properties +9 -2
  128. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +9 -2
  129. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +9 -2
  130. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  131. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
  132. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
  133. package/src/sap/ui/mdc/mixin/PromiseMixin.js +94 -0
  134. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelperNew.js +1 -1
  135. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +94 -0
  136. package/src/sap/ui/mdc/p13n/DefaultProviderRegistry.js +1 -1
  137. package/src/sap/ui/mdc/p13n/Engine.js +1 -1
  138. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  139. package/src/sap/ui/mdc/p13n/UIManager.js +1 -1
  140. package/src/sap/ui/mdc/p13n/panels/BasePanel.js +2 -2
  141. package/src/sap/ui/mdc/p13n/panels/GroupPanel.js +1 -1
  142. package/src/sap/ui/mdc/p13n/panels/ListView.js +1 -1
  143. package/src/sap/ui/mdc/p13n/panels/QueryPanel.js +1 -1
  144. package/src/sap/ui/mdc/p13n/panels/SortQueryPanel.js +1 -1
  145. package/src/sap/ui/mdc/p13n/panels/Wrapper.js +1 -1
  146. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +1 -1
  147. package/src/sap/ui/mdc/table/Column.js +20 -4
  148. package/src/sap/ui/mdc/table/CreationRow.js +1 -1
  149. package/src/sap/ui/mdc/table/PropertyHelper.js +176 -4
  150. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  151. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
  152. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +51 -21
  153. package/src/sap/ui/mdc/ui/Container.js +2 -2
  154. package/src/sap/ui/mdc/ui/ContainerItem.js +2 -2
  155. package/src/sap/ui/mdc/util/Common.js +26 -0
  156. package/src/sap/ui/mdc/util/PromiseCache.js +266 -0
  157. package/src/sap/ui/mdc/util/PropertyHelper.js +19 -1
  158. package/src/sap/ui/mdc/valuehelp/Dialog.js +475 -0
  159. package/src/sap/ui/mdc/valuehelp/Popover.js +346 -0
  160. package/src/sap/ui/mdc/valuehelp/base/Container.js +440 -0
  161. package/src/sap/ui/mdc/valuehelp/base/Content.js +442 -0
  162. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +96 -0
  163. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +537 -0
  164. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +105 -0
  165. package/src/sap/ui/mdc/valuehelp/content/Bool.js +232 -0
  166. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +250 -0
  167. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +504 -0
  168. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +619 -0
  169. package/src/sap/ui/mdc/valuehelp/content/MTable.js +881 -0
  170. package/test/sap/ui/mdc/testutils/opa/TestLibrary.js +2 -2
  171. package/test/sap/ui/mdc/testutils/opa/filterbar/Actions.js +250 -0
  172. package/test/sap/ui/mdc/testutils/opa/filterbar/Assertions.js +91 -0
  173. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +137 -0
  174. package/test/sap/ui/mdc/testutils/opa/filterbar/Util.js +25 -0
  175. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +239 -77
  176. package/test/sap/ui/mdc/testutils/opa/p13n/Util.js +2 -1
  177. package/test/sap/ui/mdc/testutils/opa/p13n/{waitForP13nButtonWithParentAndIcon.js → waitForP13nButtonWithMatchers.js} +5 -18
  178. package/test/sap/ui/mdc/testutils/opa/table/TestObjects.js +0 -1
@@ -11,7 +11,7 @@ sap.ui.define([
11
11
  "sap/ui/test/matchers/PropertyStrictEquals",
12
12
  "sap/ui/test/actions/Press",
13
13
  "sap/ui/test/actions/EnterText",
14
- "./waitForP13nButtonWithParentAndIcon",
14
+ "./waitForP13nButtonWithMatchers",
15
15
  "./waitForP13nDialog",
16
16
  "./waitForSelectWithSelectedTextOnPanel",
17
17
  "./Util"
@@ -24,40 +24,60 @@ sap.ui.define([
24
24
  PropertyStrictEquals,
25
25
  Press,
26
26
  EnterText,
27
- waitForP13nButtonWithParentAndIcon,
27
+ waitForP13nButtonWithMatchers,
28
28
  waitForP13nDialog,
29
29
  waitForSelectWithSelectedTextOnPanel,
30
30
  Util
31
31
  ) {
32
32
  "use strict";
33
33
 
34
+ var oMDCBundle = sap.ui.getCore().getLibraryResourceBundle("sap.ui.mdc");
35
+
34
36
  var iOpenThePersonalizationDialog = function(oControl, oSettings) {
35
37
  var sControlId = typeof oControl === "string" ? oControl : oControl.getId();
36
- var aMatchers = [
37
- new Properties({
38
- title: "View Settings"
39
- })
40
- ];
38
+ var aDialogMatchers = [];
39
+ var aButtonMatchers = [];
41
40
  return this.waitFor({
42
41
  id: sControlId,
43
42
  success: function(oControlInstance) {
44
43
  Opa5.assert.ok(oControlInstance);
45
44
 
45
+ aButtonMatchers.push(new Ancestor(oControlInstance));
46
+
46
47
  if (oControlInstance.isA("sap.ui.comp.smartchart.SmartChart")) {
47
- aMatchers.push(function(oP13nDialog) {
48
+ aDialogMatchers.push(function(oP13nDialog) {
48
49
  return oP13nDialog.getParent().getChart() === oControlInstance.getChart().getId();
49
50
  });
50
51
  } else {
51
- aMatchers.push(new Ancestor(oControlInstance, false));
52
+ aDialogMatchers.push(new Ancestor(oControlInstance, false));
53
+ }
54
+
55
+ if (oControlInstance.isA("sap.ui.mdc.FilterBar")) {
56
+ // Add matcher for p13n button text
57
+ var oMatcher = new Matcher();
58
+ oMatcher.isMatching = function(oButton) {
59
+ return oButton.getText().includes(oMDCBundle.getText("filterbar.ADAPT"));
60
+ };
61
+ aButtonMatchers.push(oMatcher);
62
+ aDialogMatchers.push(new Properties({
63
+ title: oMDCBundle.getText("filterbar.ADAPT_TITLE")
64
+ }));
65
+ } else {
66
+ // Add matcher for p13n button icon
67
+ aButtonMatchers.push(new Properties({
68
+ icon: Util.icons.settings
69
+ }));
70
+ aDialogMatchers.push(new Properties({
71
+ title: oMDCBundle.getText("p13nDialog.VIEW_SETTINGS")
72
+ }));
52
73
  }
53
74
 
54
- waitForP13nButtonWithParentAndIcon.call(this, {
55
- parent: oControlInstance,
56
- icon: Util.icons.settings,
75
+ waitForP13nButtonWithMatchers.call(this, {
57
76
  actions: new Press(),
77
+ matchers: aButtonMatchers,
58
78
  success: function() {
59
79
  waitForP13nDialog.call(this, {
60
- matchers: aMatchers,
80
+ matchers: aDialogMatchers,
61
81
  success: function(oP13nDialog) {
62
82
  if (oSettings && typeof oSettings.success === "function") {
63
83
  oSettings.success.call(this, oP13nDialog);
@@ -127,7 +147,7 @@ sap.ui.define([
127
147
  success: function(aLists) {
128
148
  Opa5.assert.equal(aLists.length, 1 , "One list found");
129
149
  if (oSettings && typeof oSettings.success === "function") {
130
- oSettings.succes.call(this, aLists[0]);
150
+ oSettings.success.call(this, aLists[0]);
131
151
  }
132
152
  }
133
153
  });
@@ -430,7 +450,170 @@ sap.ui.define([
430
450
  });
431
451
  };
432
452
 
453
+ var iPersonalizeListViewItems = function(oP13nDialog, aItems) {
454
+ this.waitFor({
455
+ controlType: "sap.ui.mdc.p13n.panels.ListView",
456
+ matchers: new Ancestor(oP13nDialog, false),
457
+ success: function(aListViews) {
458
+ var oListView = aListViews[0];
459
+ this.waitFor({
460
+ controlType: "sap.m.ColumnListItem",
461
+ matchers: new Ancestor(oListView, false),
462
+ actions: function(oColumnListItem) {
463
+ this.waitFor({
464
+ controlType: "sap.m.Label",
465
+ matchers: new Ancestor(oColumnListItem, false),
466
+ success: function(aLabels) {
467
+ var oLabelControl = aLabels[0];
468
+ this.waitFor({
469
+ controlType: "sap.m.CheckBox",
470
+ matchers: [
471
+ new Ancestor(oColumnListItem, false)
472
+ ],
473
+ actions: function(oCheckBox) {
474
+ if ((!oCheckBox.getSelected() && aItems.includes(oLabelControl.getText())) ||
475
+ (oCheckBox.getSelected() && !aItems.includes(oLabelControl.getText()))) {
476
+ new Press().executeOn(oCheckBox);
477
+ }
478
+ },
479
+ success: function(aCheckBoxes) {
480
+ if (aCheckBoxes[0].getSelected()) {
481
+ // click on columnlist item
482
+ new Press().executeOn(oColumnListItem);
483
+ // click on move to top
484
+ if (oColumnListItem.getParent().getItems().indexOf(oColumnListItem) > 0) {
485
+ this.waitFor({
486
+ controlType: "sap.m.Button",
487
+ matchers: [
488
+ new PropertyStrictEquals({
489
+ name: "icon",
490
+ value: Util.icons.movetotop
491
+ })
492
+ ],
493
+ actions: new Press(),
494
+ success: function() {
495
+ var iIndex = aItems.indexOf(oLabelControl.getText());
496
+ while (iIndex > 0) {
497
+ this.waitFor({
498
+ controlType: "sap.m.Button",
499
+ matchers: [
500
+ new PropertyStrictEquals({
501
+ name: "icon",
502
+ value: Util.icons.movedown
503
+ })
504
+ ],
505
+ actions: new Press()
506
+ });
507
+ iIndex--;
508
+ }
509
+ }
510
+ });
511
+ }
512
+ }
513
+ }
514
+ });
515
+ }
516
+ });
517
+ }.bind(this),
518
+ success: function() {
519
+ iPressTheOKButtonOnTheDialog.call(this, oP13nDialog);
520
+ }
521
+ });
522
+ }
523
+ });
524
+ };
525
+
526
+ var iPersonalizeGroupViewItem = function(oGroupViewItem, mSettings) {
527
+ // Get sap.m.Panel of GroupViewItem
528
+ this.waitFor({
529
+ controlType: "sap.m.Panel",
530
+ matchers: new Ancestor(oGroupViewItem, true),
531
+ success: function(aPanels) {
532
+ var oGroupPanel = aPanels[0];
533
+ // Get the expand button for the panel
534
+ this.waitFor({
535
+ controlType: "sap.m.Button",
536
+ matchers: new Ancestor(oGroupPanel, true),
537
+ success: function(aButtons) {
538
+ var oButton = aButtons[0];
539
+ // click on expand button
540
+ if (!oGroupPanel.getExpanded()) {
541
+ new Press().executeOn(oButton);
542
+ }
543
+ this.waitFor({
544
+ controlType: "sap.m.Toolbar",
545
+ matchers: new Ancestor(oGroupPanel, true),
546
+ success: function(aToolbars) {
547
+ var oToolbar = aToolbars[0];
548
+ // Get label of the GroupViewItem
549
+ this.waitFor({
550
+ controlType: "sap.m.Label",
551
+ matchers: new Ancestor(oToolbar, true),
552
+ success: function(aToolbarLabels) {
553
+ var oToolbarLabel = aToolbarLabels[0];
554
+ this.waitFor({
555
+ controlType: "sap.m.List",
556
+ matchers: new Ancestor(oGroupPanel, true),
557
+ success: function(aLists) {
558
+ var oList = aLists[0];
559
+ // Get CustomListItems inside the GroupViewItem panel
560
+ this.waitFor({
561
+ controlType: "sap.m.CustomListItem",
562
+ matchers: new Ancestor(oList, true),
563
+ actions: function(oFilterItem) {
564
+ this.waitFor({
565
+ controlType: "sap.m.Label",
566
+ matchers: new Ancestor(oFilterItem, false),
567
+ success: function(aFilterItemLabels) {
568
+ var oFilterItemLabel = aFilterItemLabels[0];
569
+ this.waitFor({
570
+ controlType: "sap.m.CheckBox",
571
+ matchers: new Ancestor(oFilterItem, false),
572
+ actions: function (oFilterItemCheckBox) {
573
+ if (mSettings[oToolbarLabel.getText()]) {
574
+ var aSettings = mSettings[oToolbarLabel.getText()];
575
+ // check / uncheck item if needed and group is in mSettings
576
+ if ((aSettings.includes(oFilterItemLabel.getText()) && !oFilterItemCheckBox.getSelected()) ||
577
+ (!aSettings.includes(oFilterItemLabel.getText()) && oFilterItemCheckBox.getSelected())) {
578
+ new Press().executeOn(oFilterItemCheckBox);
579
+ }
580
+ } else {
581
+ // uncheck all items of group if it's not in mSettings
582
+ if (oFilterItemCheckBox.getSelected()) {
583
+ new Press().executeOn(oFilterItemCheckBox);
584
+ }
585
+ }
586
+ }
587
+ });
588
+ }
589
+ });
590
+ }.bind(this),
591
+ // close group panel
592
+ success: function() {
593
+ if (oGroupPanel.getExpanded()) {
594
+ new Press().executeOn(oButton);
595
+ }
596
+ }
597
+ });
598
+ }
599
+ });
600
+ }
601
+ });
602
+ }
603
+ });
604
+ }
605
+ });
606
+ }
607
+ });
608
+ };
609
+
433
610
  return {
611
+ iPressTheOKButtonOnTheDialog: function(oDialog, oSettings) {
612
+ return iPressTheOKButtonOnTheDialog.call(this, oDialog, oSettings);
613
+ },
614
+ iOpenThePersonalizationDialog: function(oControl, oSettings) {
615
+ return iOpenThePersonalizationDialog.call(this, oControl, oSettings);
616
+ },
434
617
  iPersonalizeChart: function(oControl, sChartType, aItems) {
435
618
  return iPersonalize.call(this, oControl, Util.texts.chart, {
436
619
  success: function(oP13nDialog) {
@@ -493,7 +676,7 @@ sap.ui.define([
493
676
  });
494
677
  }.bind(this),
495
678
  success: function() {
496
- iPressTheOKButtonOnTheDialog.call(this, oP13nDialog);
679
+ iPressTheOKButtonOnTheDialog.call(this,oP13nDialog);
497
680
  }
498
681
  });
499
682
  }
@@ -515,79 +698,59 @@ sap.ui.define([
515
698
  */
516
699
  iPersonalizeColumns: function(oControl, aColumns) {
517
700
  return iPersonalize.call(this, oControl, Util.texts.column, {
701
+ success: function(oP13nDialog) {
702
+ iPersonalizeListViewItems.call(this, oP13nDialog, aColumns);
703
+ }
704
+ });
705
+ },
706
+ iPersonalizeFilterBar: function(oControl, mSettings) {
707
+ var sIcon = Util.icons.group;
708
+ return iOpenThePersonalizationDialog.call(this, oControl, {
518
709
  success: function(oP13nDialog) {
519
710
  this.waitFor({
520
- controlType: "sap.ui.mdc.p13n.panels.ListView",
521
- matchers: new Ancestor(oP13nDialog, false),
522
- success: function(aListViews) {
523
- var oListView = aListViews[0];
711
+ controlType: "sap.m.Button",
712
+ matchers: [
713
+ new Ancestor(oP13nDialog, false),
714
+ new PropertyStrictEquals({
715
+ name: "icon",
716
+ value: sIcon
717
+ })
718
+ ],
719
+ actions: new Press(),
720
+ success: function() {
524
721
  this.waitFor({
525
- controlType: "sap.m.Label",
526
- matchers: new Ancestor(oListView, false),
527
- actions: function(oLabelControl) {
722
+ controlType: "sap.ui.mdc.p13n.panels.GroupView",
723
+ matchers: new Ancestor(oP13nDialog, false),
724
+ success: function(aGroupViews) {
725
+ var oGroupView = aGroupViews[0];
528
726
  this.waitFor({
529
- controlType: "sap.m.ColumnListItem",
530
- matchers: [
531
- new Ancestor(oP13nDialog, false),
532
- new Descendant(oLabelControl)
533
- ],
534
- success: function(aColumnListItems) {
535
- var oColumnListItem = aColumnListItems[0];
727
+ controlType: "sap.m.VBox",
728
+ matchers: new Ancestor(oGroupView, true),
729
+ success: function(aVBoxes) {
730
+ var oVBox = aVBoxes[0];
536
731
  this.waitFor({
537
- controlType: "sap.m.CheckBox",
538
- matchers: [
539
- new Ancestor(oColumnListItem, false)
540
- ],
541
- actions: function(oCheckBox) {
542
- if ((!oCheckBox.getSelected() && aColumns.includes(oLabelControl.getText())) ||
543
- (oCheckBox.getSelected() && !aColumns.includes(oLabelControl.getText()))) {
544
- new Press().executeOn(oCheckBox);
545
- }
546
- },
547
- success: function(aCheckBoxes) {
548
- if (aCheckBoxes[0].getSelected()) {
549
- // click on columnlist item
550
- new Press().executeOn(oColumnListItem);
551
- // click on move to top
552
- if (oColumnListItem.getParent().getItems().indexOf(oColumnListItem) > 0) {
553
- this.waitFor({
554
- controlType: "sap.m.Button",
555
- matchers: [
556
- new PropertyStrictEquals({
557
- name: "icon",
558
- value: Util.icons.movetotop
559
- })
560
- ],
561
- actions: new Press(),
562
- success: function() {
563
- var iIndex = aColumns.indexOf(oLabelControl.getText());
564
- while (iIndex > 0) {
565
- this.waitFor({
566
- controlType: "sap.m.Button",
567
- matchers: [
568
- new PropertyStrictEquals({
569
- name: "icon",
570
- value: Util.icons.movedown
571
- })
572
- ],
573
- actions: new Press()
574
- });
575
- iIndex--;
576
- }
577
- }
578
- });
732
+ controlType: "sap.m.List",
733
+ matchers: new Ancestor(oVBox, true),
734
+ success: function(aLists) {
735
+ var oList = aLists[0];
736
+ this.waitFor({
737
+ controlType: "sap.m.CustomListItem",
738
+ matchers: new Ancestor(oList, true),
739
+ actions: function(oGroupViewItem) {
740
+ iPersonalizeGroupViewItem.call(this, oGroupViewItem, mSettings);
741
+ }.bind(this),
742
+ success: function() {
743
+ iPressTheOKButtonOnTheDialog.call(this, oP13nDialog);
579
744
  }
580
- }
745
+ });
581
746
  }
582
747
  });
583
748
  }
584
749
  });
585
- }.bind(this),
586
- success: function() {
587
- iPressTheOKButtonOnTheDialog.call(this, oP13nDialog);
588
750
  }
589
751
  });
590
- }
752
+ },
753
+ errorMessage: "No button with icon '" + sIcon + "' found on P13nDialog"
591
754
  });
592
755
  }
593
756
  });
@@ -722,7 +885,6 @@ sap.ui.define([
722
885
  aConfigurations.forEach(function(oConfiguration, iIndex) {
723
886
  iAddSortConfiguration.call(this, oSortPanel, oConfiguration);
724
887
  }.bind(this));
725
-
726
888
  iPressTheOKButtonOnTheDialog.call(this, oP13nDialog);
727
889
  }
728
890
  });
@@ -28,7 +28,8 @@ sap.ui.define([
28
28
  decline: "sap-icon://decline",
29
29
  settings: "sap-icon://action-settings",
30
30
  movetotop: "sap-icon://collapse-group",
31
- movedown: "sap-icon://navigation-down-arrow"
31
+ movedown: "sap-icon://navigation-down-arrow",
32
+ group: "sap-icon://group-2"
32
33
  }
33
34
 
34
35
  };
@@ -2,28 +2,15 @@
2
2
  * ${copyright}
3
3
  */
4
4
  sap.ui.define([
5
- "sap/ui/test/Opa5",
6
- "sap/ui/test/matchers/Ancestor",
7
- "sap/ui/test/matchers/Properties"
5
+ "sap/ui/test/Opa5"
8
6
  ], function(
9
- Opa5,
10
- Ancestor,
11
- Properties
7
+ Opa5
12
8
  ) {
13
9
  "use strict";
14
10
 
15
- return function waitForP13nButtonWithParentAndIcon(oSettings) {
16
- var aMatchers = [];
17
- if (oSettings.parent) {
18
- aMatchers.push(new Ancestor(oSettings.parent, false));
19
- }
20
- if (oSettings.icon) {
21
- aMatchers.push(
22
- new Properties({
23
- icon: oSettings.icon
24
- })
25
- );
26
- }
11
+ return function waitForP13nButtonWithMatchers(oSettings) {
12
+ var aMatchers = oSettings.matchers ? oSettings.matchers : [];
13
+
27
14
  return this.waitFor({
28
15
  controlType: "sap.m.Button",
29
16
  matchers: aMatchers,
@@ -1,7 +1,6 @@
1
1
  /*!
2
2
  * ${copyright}
3
3
  */
4
-
5
4
  sap.ui.define([
6
5
  "sap/ui/test/Opa5",
7
6
  "test-resources/sap/ui/mdc/testutils/opa/p13n/Actions",