@sapui5/sap.suite.ui.generic.template 1.96.0 → 1.96.1

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 (54) hide show
  1. package/package.json +1 -1
  2. package/src/sap/suite/ui/generic/template/.library +1 -1
  3. package/src/sap/suite/ui/generic/template/AnalyticalListPage/controller/ControllerImplementation.js +1 -1
  4. package/src/sap/suite/ui/generic/template/AnalyticalListPage/extensionAPI/ExtensionAPI.js +1 -1
  5. package/src/sap/suite/ui/generic/template/ListReport/controller/ControllerImplementation.js +5 -0
  6. package/src/sap/suite/ui/generic/template/ListReport/controller/IappStateHandler.js +1 -1
  7. package/src/sap/suite/ui/generic/template/ObjectPage/controller/ControllerImplementation.js +1 -1
  8. package/src/sap/suite/ui/generic/template/ObjectPage/extensionAPI/ExtensionAPI.js +1 -1
  9. package/src/sap/suite/ui/generic/template/changeHandler/AddFilterItem.js +1 -1
  10. package/src/sap/suite/ui/generic/template/changeHandler/AddFooterActionButton.js +1 -1
  11. package/src/sap/suite/ui/generic/template/changeHandler/AddGroup.js +1 -1
  12. package/src/sap/suite/ui/generic/template/changeHandler/AddGroupElement.js +1 -1
  13. package/src/sap/suite/ui/generic/template/changeHandler/AddHeaderActionButton.js +1 -1
  14. package/src/sap/suite/ui/generic/template/changeHandler/AddHeaderFacet.js +1 -1
  15. package/src/sap/suite/ui/generic/template/changeHandler/AddSection.js +1 -1
  16. package/src/sap/suite/ui/generic/template/changeHandler/AddSubSection.js +1 -1
  17. package/src/sap/suite/ui/generic/template/changeHandler/AddTableColumn.js +1 -1
  18. package/src/sap/suite/ui/generic/template/changeHandler/AddToolbarActionButton.js +1 -1
  19. package/src/sap/suite/ui/generic/template/changeHandler/MoveFilterItems.js +1 -1
  20. package/src/sap/suite/ui/generic/template/changeHandler/MoveGroup.js +1 -1
  21. package/src/sap/suite/ui/generic/template/changeHandler/MoveGroupElement.js +1 -1
  22. package/src/sap/suite/ui/generic/template/changeHandler/MoveHeaderAndFooterActionButton.js +1 -1
  23. package/src/sap/suite/ui/generic/template/changeHandler/MoveHeaderFacet.js +1 -1
  24. package/src/sap/suite/ui/generic/template/changeHandler/MoveSection.js +1 -1
  25. package/src/sap/suite/ui/generic/template/changeHandler/MoveSubSection.js +1 -1
  26. package/src/sap/suite/ui/generic/template/changeHandler/MoveTableColumns.js +1 -1
  27. package/src/sap/suite/ui/generic/template/changeHandler/MoveToolbarActionButtons.js +1 -1
  28. package/src/sap/suite/ui/generic/template/changeHandler/RemoveFilterItem.js +1 -1
  29. package/src/sap/suite/ui/generic/template/changeHandler/RemoveGroup.js +1 -1
  30. package/src/sap/suite/ui/generic/template/changeHandler/RemoveGroupElement.js +1 -1
  31. package/src/sap/suite/ui/generic/template/changeHandler/RemoveHeaderAndFooterActionButton.js +1 -1
  32. package/src/sap/suite/ui/generic/template/changeHandler/RemoveHeaderFacet.js +1 -1
  33. package/src/sap/suite/ui/generic/template/changeHandler/RemoveSection.js +1 -1
  34. package/src/sap/suite/ui/generic/template/changeHandler/RemoveSubSection.js +1 -1
  35. package/src/sap/suite/ui/generic/template/changeHandler/RemoveTableColumn.js +1 -1
  36. package/src/sap/suite/ui/generic/template/changeHandler/RemoveToolbarActionButton.js +1 -1
  37. package/src/sap/suite/ui/generic/template/changeHandler/RevealFilterItem.js +1 -1
  38. package/src/sap/suite/ui/generic/template/changeHandler/RevealHeaderFacet.js +1 -1
  39. package/src/sap/suite/ui/generic/template/changeHandler/RevealTableColumn.js +1 -1
  40. package/src/sap/suite/ui/generic/template/changeHandler/RevealToolbarActionButton.js +1 -1
  41. package/src/sap/suite/ui/generic/template/changeHandler/generic/AddElement.js +1 -1
  42. package/src/sap/suite/ui/generic/template/changeHandler/generic/MoveElements.js +1 -1
  43. package/src/sap/suite/ui/generic/template/changeHandler/generic/RemoveElement.js +1 -1
  44. package/src/sap/suite/ui/generic/template/changeHandler/generic/RevealElement.js +1 -1
  45. package/src/sap/suite/ui/generic/template/changeHandler/util/AnnotationPropertyCommand.js +1 -1
  46. package/src/sap/suite/ui/generic/template/lib/AppComponent.js +2 -1
  47. package/src/sap/suite/ui/generic/template/lib/CRUDManager.js +12 -7
  48. package/src/sap/suite/ui/generic/template/lib/CommonEventHandlers.js +4 -9
  49. package/src/sap/suite/ui/generic/template/lib/CommonUtils.js +3 -9
  50. package/src/sap/suite/ui/generic/template/lib/multipleViews/MultipleViewsHandler.js +4 -5
  51. package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +16 -6
  52. package/src/sap/suite/ui/generic/template/lib/presentationControl/PresentationControlHandlerFactory.js +58 -20
  53. package/src/sap/suite/ui/generic/template/lib/presentationControl/SmartChartHandler.js +1 -2
  54. package/src/sap/suite/ui/generic/template/library.js +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.suite.ui.generic.template",
3
- "version": "1.96.0",
3
+ "version": "1.96.1",
4
4
  "description": "SAPUI5 Library sap.suite.ui.generic.template",
5
5
  "homepage": "https://sap.github.io/ui5-tooling/pages/SAPUI5/",
6
6
  "author": "SAP SE (https://www.sap.com)",
@@ -7,7 +7,7 @@
7
7
 
8
8
  (c) Copyright 2009-2015 SAP SE. All rights reserved
9
9
  </copyright>
10
- <version>1.96.0</version>
10
+ <version>1.96.1</version>
11
11
 
12
12
  <documentation>Library with generic Suite UI templates.</documentation>
13
13
 
@@ -625,7 +625,7 @@ sap.ui.define(["sap/ui/generic/app/navigation/service/SelectionVariant",
625
625
  var bAllLocked = true;
626
626
  var bAllNotDeletable = (sDeletablePath && sDeletablePath !== ""); // if Deletable-Path is undefined, then the items are deletable.
627
627
 
628
- var aContexts = oTemplateUtils.oCommonUtils.getSelectedContexts(oTable);
628
+ var aContexts = oTemplateUtils.oServices.oPresentationControlHandlerFactory.getPresentationControlHandler(oTemplateUtils.oCommonUtils.getOwnerPresentationControl(oTable)).getSelectedContexts();
629
629
  if (aContexts.length > 0) {
630
630
  for (var i = 0; i < aContexts.length; i++) {
631
631
  var oObject = oModel.getObject(aContexts[i].getPath());
@@ -26,7 +26,7 @@ sap.ui.define(["sap/ui/base/Object",
26
26
  if (sUiElementId) {
27
27
  oControl = oController.byId(sUiElementId);
28
28
  }
29
- return oTemplateUtils.oCommonUtils.getSelectedContexts(oControl);
29
+ return oTemplateUtils.oServices.oPresentationControlHandlerFactory.getPresentationControlHandler(oTemplateUtils.oCommonUtils.getOwnerPresentationControl(oControl)).getSelectedContexts();
30
30
  },
31
31
  /**
32
32
  * Triggers rebinding on the list
@@ -517,6 +517,9 @@ sap.ui.define([
517
517
  oController.byId("template::FilterText").attachBrowserEvent("click", function () {
518
518
  oController.byId("page").setHeaderExpanded(true);
519
519
  });
520
+ //To keep the placeholders in listReport intact even after data loads for apps with applyAutomatically enabled, as routematched the placeholders of the already visited page is removed.
521
+ var oTemplatePrivateGlobal = oTemplateUtils.oComponentUtils.getTemplatePrivateGlobalModel();
522
+ oTemplatePrivateGlobal.setProperty("/generic/bRetainPlaceholder", true);
520
523
  },
521
524
 
522
525
  handlers: {
@@ -601,6 +604,8 @@ sap.ui.define([
601
604
  oTemplatePrivateModel.setProperty("/listReport/firstSelection", true);
602
605
  oState.oIappStateHandler.setDataShownInTable(true);
603
606
  oTemplateUtils.oComponentUtils.hidePlaceholder();
607
+ var oTemplatePrivateGlobal = oTemplateUtils.oComponentUtils.getTemplatePrivateGlobalModel();
608
+ oTemplatePrivateGlobal.setProperty("/generic/bRetainPlaceholder", false);
604
609
  },
605
610
  // it is a workaround for the time being till SmartChart fired an Event DataRequested; then it has to be changed
606
611
  onSmartChartDataReceived: function () {
@@ -468,7 +468,6 @@ sap.ui.define([
468
468
  // in case of navigation with URL parameters but no xAppState, no CustomData is provided
469
469
  oAppData.customData = oAppData.customData || {};
470
470
 
471
- fnHidePlaceHolder(areDataShownInTable());
472
471
  fnAdaptOtherControlsToAppState(oAppData.controlStates);
473
472
  // applying selection variant to SFB has to happen AFTER setting variant id to SmartVariantManagement - otherwise setting standard variant in case of dirty variant in appState would
474
473
  // set back and thus override any other values in SFB coming directly from appState
@@ -484,6 +483,7 @@ sap.ui.define([
484
483
  // this shows another dependency. Triggering search should be treated separately (after all other states have been restored). Collapsing header needs to be checked (currently happening after search, but
485
484
  // shouldn't it be handled by dynamicPageWrapper solely?)
486
485
  fnRestorePageState(oAppData.customData, true);
486
+ fnHidePlaceHolder(areDataShownInTable());
487
487
 
488
488
  }
489
489
 
@@ -941,7 +941,7 @@ sap.ui.define([
941
941
  if (!controlHelper.isSmartTable(oSmartTable)) {
942
942
  oSmartTable = oSmartTable.getParent();
943
943
  }
944
- var aContexts = oTemplateUtils.oCommonUtils.getSelectedContexts(oSmartTable);
944
+ var aContexts = oTemplateUtils.oServices.oPresentationControlHandlerFactory.getPresentationControlHandler(oSmartTable).getSelectedContexts();
945
945
  var sUiElementId = oButton.getParent().getParent().getId();
946
946
  fnDeleteEntriesImpl(oSmartTable, aContexts, sUiElementId);
947
947
  }
@@ -24,7 +24,7 @@ sap.ui.define(
24
24
  */
25
25
  getSelectedContexts: function(sUiElementId) {
26
26
  var oControl = oController.byId(sUiElementId);
27
- return oTemplateUtils.oCommonUtils.getSelectedContexts(oControl);
27
+ return oTemplateUtils.oServices.oPresentationControlHandlerFactory.getPresentationControlHandler(oTemplateUtils.oCommonUtils.getOwnerPresentationControl(oControl)).getSelectedContexts();
28
28
  },
29
29
 
30
30
  /**
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  *
31
31
  * @alias sap.suite.ui.generic.template.changeHandler.AddFilterItem
32
32
  * @author SAP SE
33
- * @version 1.96.0
33
+ * @version 1.96.1
34
34
  * @experimental
35
35
  */
36
36
  var AddFilterItem = {};
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  *
18
18
  * @alias sap.suite.ui.generic.template.changeHandler.AddFooterActionButton
19
19
  * @author SAP SE
20
- * @version 1.96.0
20
+ * @version 1.96.1
21
21
  * @experimental
22
22
  */
23
23
  var AddFooterActionButton = {};
@@ -14,7 +14,7 @@ sap.ui.define([
14
14
  *
15
15
  * @alias sap.suite.ui.generic.template.changeHandler.AddGroup
16
16
  * @author SAP SE
17
- * @version 1.96.0
17
+ * @version 1.96.1
18
18
  * @experimental
19
19
  */
20
20
  var AddGroup = {};
@@ -15,7 +15,7 @@ sap.ui.define([
15
15
  * Change handler for adding a group element in a SmartForm group.
16
16
  *
17
17
  * @author SAP SE
18
- * @version 1.96.0
18
+ * @version 1.96.1
19
19
  * @experimental
20
20
  */
21
21
  var DATAFIELD = "com.sap.vocabularies.UI.v1.DataField";
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  *
18
18
  * @alias sap.suite.ui.generic.template.changeHandler.AddHeaderActionButton
19
19
  * @author SAP SE
20
- * @version 1.96.0
20
+ * @version 1.96.1
21
21
  * @experimental
22
22
  */
23
23
  var AddHeaderActionButton = {};
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  *
22
22
  * @alias sap.suite.ui.generic.template.changeHandler.AddHeaderFacet
23
23
  * @author SAP SE
24
- * @version 1.96.0
24
+ * @version 1.96.1
25
25
  * @experimental
26
26
  */
27
27
  var AddHeaderFacet = {};
@@ -14,7 +14,7 @@ sap.ui.define([
14
14
  *
15
15
  * @alias sap.suite.ui.generic.template.changeHandler.AddSection **
16
16
  * @author SAP SE
17
- * @version 1.96.0
17
+ * @version 1.96.1
18
18
  * @experimental
19
19
  */
20
20
  var AddSection = {};
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  *
19
19
  * @alias sap.suite.ui.generic.template.changeHandler.Add SubSection **
20
20
  * @author SAP SE
21
- * @version 1.96.0
21
+ * @version 1.96.1
22
22
  * @experimental
23
23
  */
24
24
  var AddSubSection = {};
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  *
20
20
  * @alias sap.suite.ui.generic.template.changeHandler.AddTableColumn
21
21
  * @author SAP SE
22
- * @version 1.96.0
22
+ * @version 1.96.1
23
23
  * @experimental
24
24
  */
25
25
  var AddTableColumn = {};
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  *
18
18
  * @alias sap.suite.ui.generic.template.changeHandler.AddToolbarActionButton
19
19
  * @author SAP SE
20
- * @version 1.96.0
20
+ * @version 1.96.1
21
21
  * @experimental
22
22
  */
23
23
  var AddToolbarActionButton = {};
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  *
20
20
  * @alias sap.suite.ui.generic.template.changeHandler.MoveFilterItem
21
21
  * @author SAP SE
22
- * @version 1.96.0
22
+ * @version 1.96.1
23
23
  * @experimental
24
24
  */
25
25
  var MoveFilterItems = {};
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  *
22
22
  * @alias sap.suite.ui.generic.template.changeHandler.MoveGroup
23
23
  * @author SAP SE
24
- * @version 1.96.0
24
+ * @version 1.96.1
25
25
  * @experimental
26
26
  */
27
27
  var MoveGroup = {},
@@ -15,7 +15,7 @@ sap.ui.define([
15
15
  * Change handler for moving a form group element.
16
16
  *
17
17
  * @author SAP SE
18
- * @version 1.96.0
18
+ * @version 1.96.1
19
19
  * @experimental
20
20
  */
21
21
  var MoveGroupElement = {};
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @alias sap.suite.ui.generic.template.changeHandler.MoveHeaderAndFooterActionButton
22
22
  * @author SAP SE
23
- * @version 1.96.0
23
+ * @version 1.96.1
24
24
  * @experimental
25
25
  */
26
26
  var MoveHeaderAndFooterActionButton = {};
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  *
20
20
  * @alias sap.suite.ui.generic.template.changeHandler.MoveHeaderFacet
21
21
  * @author SAP SE
22
- * @version 1.96.0
22
+ * @version 1.96.1
23
23
  * @experimental
24
24
  */
25
25
  var MoveHeaderFacet = {},
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  *
22
22
  * @alias sap.suite.ui.generic.template.changeHandler.MoveGroup
23
23
  * @author SAP SE
24
- * @version 1.96.0
24
+ * @version 1.96.1
25
25
  * @experimental
26
26
  */
27
27
  var MoveSection = {};
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  *
22
22
  * @alias sap.suite.ui.generic.template.changeHandler.MoveSubSection
23
23
  * @author SAP SE
24
- * @version 1.96.0
24
+ * @version 1.96.1
25
25
  * @experimental
26
26
  */
27
27
  var MoveSubSection = {},
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  *
22
22
  * @alias sap.suite.ui.generic.template.changeHandler.MoveTableColumns
23
23
  * @author SAP SE
24
- * @version 1.96.0
24
+ * @version 1.96.1
25
25
  * @experimental
26
26
  */
27
27
  var MoveTableColumns = {};
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  *
22
22
  * @alias sap.suite.ui.generic.template.changeHandler.MoveToolbarActionButtons
23
23
  * @author SAP SE
24
- * @version 1.96.0
24
+ * @version 1.96.1
25
25
  * @experimental
26
26
  */
27
27
  var MoveToolbarActionButtons = {};
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  *
18
18
  * @alias sap.suite.ui.generic.template.changeHandler.RemoveFilterItem
19
19
  * @author SAP SE
20
- * @version 1.96.0
20
+ * @version 1.96.1
21
21
  */
22
22
 
23
23
  var RemoveFilterItem = {};
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  *
20
20
  * @alias sap.suite.ui.generic.template.changeHandler.RemoveGroup
21
21
  * @author SAP SE
22
- * @version 1.96.0
22
+ * @version 1.96.1
23
23
  * @experimental
24
24
  */
25
25
  var RemoveGroup = {};
@@ -13,7 +13,7 @@ sap.ui.define([
13
13
  * Change handler for removing a form group element.
14
14
  *
15
15
  * @author SAP SE
16
- * @version 1.96.0
16
+ * @version 1.96.1
17
17
  * @experimental
18
18
  */
19
19
  var FIELDGROUP = "com.sap.vocabularies.UI.v1.FieldGroup";
@@ -15,7 +15,7 @@ sap.ui.define([
15
15
  *
16
16
  * @alias sap.suite.ui.generic.template.changeHandler.RemoveHeaderAndFooterActionButton
17
17
  * @author SAP SE
18
- * @version 1.96.0
18
+ * @version 1.96.1
19
19
  * @experimental
20
20
  */
21
21
  var RemoveHeaderAndFooterActionButton = {};
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  *
18
18
  * @alias sap.suite.ui.generic.template.changeHandler.RemoveHeaderFacet **
19
19
  * @author SAP SE
20
- * @version 1.96.0
20
+ * @version 1.96.1
21
21
  * @experimental
22
22
  */
23
23
  var RemoveHeaderFacet = {};
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  *
18
18
  * @alias sap.suite.ui.generic.template.changeHandler.RemoveSection **
19
19
  * @author SAP SE
20
- * @version 1.96.0
20
+ * @version 1.96.1
21
21
  * @experimental
22
22
  */
23
23
  var RemoveSection = {};
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  *
19
19
  * @alias sap.suite.ui.generic.template.changeHandler.RemoveSection **
20
20
  * @author SAP SE
21
- * @version 1.96.0
21
+ * @version 1.96.1
22
22
  * @experimental
23
23
  */
24
24
  var RemoveSubSection = {};
@@ -15,7 +15,7 @@ sap.ui.define([
15
15
  *
16
16
  * @alias sap.suite.ui.generic.template.changeHandler.RemoveTableColumn
17
17
  * @author SAP SE
18
- * @version 1.96.0
18
+ * @version 1.96.1
19
19
  */
20
20
 
21
21
  var RemoveTableColumn = {};
@@ -15,7 +15,7 @@ sap.ui.define([
15
15
  *
16
16
  * @alias sap.suite.ui.generic.template.changeHandler.RemoveToolbarActionButton
17
17
  * @author SAP SE
18
- * @version 1.96.0
18
+ * @version 1.96.1
19
19
  * @experimental
20
20
  */
21
21
 
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  *
20
20
  * @alias sap.suite.ui.generic.template.changeHandler.RevealFilterItem
21
21
  * @author SAP SE
22
- * @version 1.96.0
22
+ * @version 1.96.1
23
23
  * @experimental
24
24
  */
25
25
  var RevealFilterItem = {};
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  *
20
20
  * @alias sap.suite.ui.generic.template.changeHandler.RevealHeaderFacet
21
21
  * @author SAP SE
22
- * @version 1.96.0
22
+ * @version 1.96.1
23
23
  * @experimental
24
24
  */
25
25
  var RevealHeaderFacet = {};
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  *
17
17
  * @alias sap.suite.ui.generic.template.changeHandler.RevealTableColumn
18
18
  * @author SAP SE
19
- * @version 1.96.0
19
+ * @version 1.96.1
20
20
  * @experimental
21
21
  */
22
22
  var RevealTableColumn = {};
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  *
20
20
  * @alias sap.suite.ui.generic.template.changeHandler.RevealToolbarActionButton
21
21
  * @author SAP SE
22
- * @version 1.96.0
22
+ * @version 1.96.1
23
23
  * @experimental
24
24
  */
25
25
 
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @alias sap.suite.ui.generic.template.changeHandler.AddElement
22
22
  * @author SAP SE
23
- * @version 1.96.0
23
+ * @version 1.96.1
24
24
  * @experimental
25
25
  */
26
26
  var AddElement = {};
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  *
20
20
  * @alias sap.suite.ui.generic.template.changeHandler.MoveElements
21
21
  * @author SAP SE
22
- * @version 1.96.0
22
+ * @version 1.96.1
23
23
  */
24
24
 
25
25
  var MoveElements = {},
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  *
20
20
  * @alias sap.suite.ui.generic.template.changeHandler.RemoveElement
21
21
  * @author SAP SE
22
- * @version 1.96.0
22
+ * @version 1.96.1
23
23
  */
24
24
 
25
25
  var RemoveElement = {};
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @alias sap.suite.ui.generic.template.changeHandler.RevealElements
22
22
  * @author SAP SE
23
- * @version 1.96.0
23
+ * @version 1.96.1
24
24
  * @experimental
25
25
  */
26
26
  var RevealElement = {};
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @class
31
31
  * @extends sap.ui.rta.command.FlexCommand
32
32
  * @author SAP SE
33
- * @version 1.96.0
33
+ * @version 1.96.1
34
34
  * @constructor
35
35
  * @private
36
36
  * @alias sap.suite.ui.generic.template.changeHandler.util.AnnotationPropertyCommand
@@ -140,7 +140,8 @@ sap.ui.define([
140
140
  // Will be updated in ComponentUtils.setStatePreserverPromise
141
141
  oValidationMessageBinding: oMessageModel.bindList("/", null, null, oValidationMessasageFilter), // a list binding that filters all validation messages
142
142
 
143
- bEnablePlaceholder: bShellConfigPlaceholderEnabled //holds the value of placeholder enablement shell and URL
143
+ bEnablePlaceholder: bShellConfigPlaceholderEnabled,//holds the value of placeholder enablement shell and URL
144
+ bRetainPlaceholder: false //Placeholders are removed when the visited root page becomes the target, however when dataauto load happens, the placeholders should be retained.
144
145
  };
145
146
  oTemplateContract.oDataLossHandler = new DataLossHandler(oTemplateContract); // an object which expose methods that can be used to bring data loss popup at app level
146
147
  oTemplateContract.oPageLeaveHandler = new PageLeaveHandler(oTemplateContract);
@@ -10,8 +10,9 @@ sap.ui.define(["sap/ui/base/Object",
10
10
  "sap/suite/ui/generic/template/genericUtilities/FeError",
11
11
  "sap/ui/model/Context",
12
12
  "sap/m/MessageBox",
13
- "sap/suite/ui/generic/template/genericUtilities/oDataModelHelper"
14
- ], function(BaseObject, ModelUtil, ActionUtil, MessageUtils, CRUDHelper, CacheHelper, testableHelper, extend, isEmptyObject, FeError, Context, MessageBox, oDataModelHelper) {
13
+ "sap/suite/ui/generic/template/genericUtilities/oDataModelHelper",
14
+ "sap/suite/ui/generic/template/genericUtilities/controlHelper"
15
+ ], function(BaseObject, ModelUtil, ActionUtil, MessageUtils, CRUDHelper, CacheHelper, testableHelper, extend, isEmptyObject, FeError, Context, MessageBox, oDataModelHelper, controlHelper) {
15
16
  "use strict";
16
17
  var sClassName = "lib.CRUDManager";
17
18
 
@@ -696,14 +697,18 @@ sap.ui.define(["sap/ui/base/Object",
696
697
  */
697
698
  function getDefaultValues(oEventSource, oPredefinedValues) {
698
699
  if (!oComponentUtils.isDraftEnabled()) {
699
- var oTable = oCommonUtils.getOwnerControl(oEventSource);
700
700
  var oContext, sNavigationProperty;
701
- if (oTable.getBindingContext() && (oTable.getBindingContext().getPath() !== oTable.getParent().getEntitySet())) {
701
+ var oTable = oCommonUtils.getOwnerControl(oEventSource);
702
+ oTable = controlHelper.isSmartTable(oTable) ? oTable : oTable.getParent();
703
+ var sEntitySet = oTable.getEntitySet();
704
+ // For tables in Object page binding context will be present and the binding path will be different from the table entity set.
705
+ //In this case navigation property of the table should be passed to get function import annotated under the default values function (which will be annotated under object page entity type / navigation property)
706
+ if (oTable.getBindingContext() && (oTable.getBindingContext().getPath() !== sEntitySet)) {
702
707
  oContext = oTable.getBindingContext();
703
- sNavigationProperty = oTable.getParent().getTableBindingPath();
708
+ sNavigationProperty = oTable.getTableBindingPath();
704
709
  } else {
705
710
  var oModelForContext = oTable.getModel();
706
- var sPath = "/" + (oTable.getEntitySet ? oTable.getEntitySet() : oTable.getParent().getEntitySet());
711
+ var sPath = "/" + sEntitySet;
707
712
  oContext = new Context(oModelForContext, sPath);
708
713
  }
709
714
  return oServices.oTransactionController.getDefaultValues(oContext, oPredefinedValues, sNavigationProperty);
@@ -871,7 +876,7 @@ sap.ui.define(["sap/ui/base/Object",
871
876
  if (oResponseContext && oResponseContext !== oActionContext && oResponseContext.getPath() !== "/undefined"){
872
877
  oServices.oApplication.navigateToDetailContextIfPossible(oResponseContext, false, oContextInfo.bIsDraft ? 2 * (1 + oContextInfo.bIsCreate) : 1, oContextInfo);
873
878
  }
874
- var oTableBindingInfo = oSourceControlHandler.getBindingInfo();
879
+ var oTableBindingInfo = oSourceControlHandler && oSourceControlHandler.getBindingInfo();
875
880
  var oListBinding = oTableBindingInfo && oTableBindingInfo.binding;
876
881
  if (oListBinding && oListBinding.oEntityType){
877
882
  // update the enablement of toolbar buttons
@@ -1719,13 +1719,8 @@ sap.ui.define(["sap/ui/base/Object",
1719
1719
  */
1720
1720
  function onDataFieldForIntentBasedNavigation(oEvent, oState) {
1721
1721
  var oEventSource = oEvent.getSource();
1722
- var oCustomData = oCommonUtils.getElementCustomData(oEventSource);
1723
- var oControl = oCommonUtils.getOwnerControl(oEventSource);
1724
- //getOwnerControl returns a responsive table control in case table type is responsive table
1725
- //Condition below makes sure oControl is a smartTable which is used later for getting the contexts of selected objects
1726
- oControl = controlHelper.isMTable(oControl) ? oControl.getParent() : oControl;
1727
- var aContexts = oCommonUtils.getSelectedContexts(oControl);
1728
- onDataFieldForIntentBasedNavigationSelectedContext(oCustomData, aContexts, oState.oSmartFilterbar);
1722
+ var aContexts = oServices.oPresentationControlHandlerFactory.getPresentationControlHandler(oCommonUtils.getOwnerPresentationControl(oEventSource)).getSelectedContexts();
1723
+ onDataFieldForIntentBasedNavigationSelectedContext(oCommonUtils.getElementCustomData(oEventSource), aContexts, oState.oSmartFilterbar);
1729
1724
  }
1730
1725
 
1731
1726
  function onDataFieldWithIntentBasedNavigation(oEvent, oState) {
@@ -1826,7 +1821,7 @@ sap.ui.define(["sap/ui/base/Object",
1826
1821
  //Condition below makes sure oControl is a smartTable which is used later for getting the contexts of selected objects
1827
1822
  oControl = controlHelper.isMTable(oControl) ? oControl.getParent() : oControl;
1828
1823
  var oCustomData = oEvent.getSource().data();
1829
- var aContexts = oCommonUtils.getSelectedContexts(oControl);
1824
+ var aContexts = oServices.oPresentationControlHandlerFactory.getPresentationControlHandler(oControl).getSelectedContexts();
1830
1825
 
1831
1826
  if (controlHelper.isSmartTable(oControl)) {
1832
1827
  oSourceControl = oControl.getTable();
@@ -2100,7 +2095,7 @@ sap.ui.define(["sap/ui/base/Object",
2100
2095
  */
2101
2096
  function deleteEntries(oEvent) {
2102
2097
  var oSmartTable = getSmartTableFromEvent(oEvent);
2103
- var aSelectedContexts = oCommonUtils.getSelectedContexts(oSmartTable);
2098
+ var aSelectedContexts = oServices.oPresentationControlHandlerFactory.getPresentationControlHandler(oSmartTable).getSelectedContexts();
2104
2099
  deleteImpl(oSmartTable, aSelectedContexts);
2105
2100
  }
2106
2101
 
@@ -248,10 +248,6 @@ sap.ui.define(["sap/ui/base/Object",
248
248
  }
249
249
  }
250
250
 
251
- function getSelectedContexts(oControl) {
252
- return oServices.oPresentationControlHandlerFactory.getPresentationControlHandler(fnGetOwnerPresentationControl(oControl)).getSelectedContexts();
253
- }
254
-
255
251
  function getElementCustomData(oElement) {
256
252
  var oCustomData = {};
257
253
  if (oElement instanceof sap.ui.core.Element) {
@@ -272,7 +268,7 @@ sap.ui.define(["sap/ui/base/Object",
272
268
  if (!controlHelper.isSmartTable(oControl) && !controlHelper.isSmartChart(oControl)) {
273
269
  oControl = oControl.getParent();
274
270
  }
275
- var aContexts = getSelectedContexts(oControl);
271
+ var aContexts = oServices.oPresentationControlHandlerFactory.getPresentationControlHandler(oControl).getSelectedContexts();
276
272
  var oModel = oControl.getModel();
277
273
 
278
274
  // Handle custom action buttons (added in manifest)
@@ -315,8 +311,8 @@ sap.ui.define(["sap/ui/base/Object",
315
311
  }
316
312
 
317
313
  function fnSetEnabledFooterButtons (oEventSource) {
318
- var oSmartControl = getOwnerControl(oEventSource);
319
- fnFillEnabledMapForBreakoutActions(getSelectedContexts(oSmartControl), oEventSource.getModel(), oSmartControl);
314
+ var oSmartControl = fnGetOwnerPresentationControl(oEventSource);
315
+ fnFillEnabledMapForBreakoutActions(oServices.oPresentationControlHandlerFactory.getPresentationControlHandler(oSmartControl).getSelectedContexts(), oEventSource.getModel(), oSmartControl);
320
316
  }
321
317
 
322
318
  /*
@@ -1341,7 +1337,6 @@ sap.ui.define(["sap/ui/base/Object",
1341
1337
  /* eslint-disable */
1342
1338
  var fnFillEnabledMapForBreakoutActions = testableHelper.testable(fnFillEnabledMapForBreakoutActions, "fillEnabledMapForBreakoutActions");
1343
1339
  var getOwnerControl = testableHelper.testable(getOwnerControl, "getOwnerControl");
1344
- var getSelectedContexts = testableHelper.testable(getSelectedContexts, "getSelectedContexts");
1345
1340
  var fnGetToolbarCustomData = testableHelper.testable(fnGetToolbarCustomData, "fnGetToolbarCustomData");
1346
1341
  var fnRemovePropertiesFromNavigationContext = testableHelper.testable(fnRemovePropertiesFromNavigationContext, "removePropertiesFromNavigationContext");
1347
1342
  /* eslint-enable */
@@ -1422,7 +1417,6 @@ sap.ui.define(["sap/ui/base/Object",
1422
1417
  setEnabledFooterButtons: fnSetEnabledFooterButtons,
1423
1418
  fillEnabledMapForBreakoutActions: fnFillEnabledMapForBreakoutActions,
1424
1419
  getBreakoutActions: fnGetBreakoutActions,
1425
- getSelectedContexts: getSelectedContexts,
1426
1420
  getSelectionPoints: getSelectionPoints,
1427
1421
  getDeleteRestrictions: fnGetDeleteRestrictions,
1428
1422
  getSmartTableDefaultVariant: fnGetSmartTableDefaultVariant,
@@ -127,15 +127,14 @@ sap.ui.define([
127
127
  //To get the current value of the parameter
128
128
  // refactoring if required: need to check if sSelectionVariant is empty object
129
129
  var sValue = oSelectionVariant.getParameter(sParameterName);
130
- //Fix BCP : 1970602412 Count is not being update in case of parameterized entityset having date as a parameter.
130
+ //Count is not being update in case of parameterized entityset having date as a parameter.
131
131
  if (oFilterParam.type === 'Edm.DateTime' || oFilterParam.type === 'Edm.DateTimeOffset') {
132
132
  sValue = new Date(sValue);
133
133
  sValue = DateTimeUtil.localToUtc(sValue);
134
- sValue = encodeURL(oFilterParam.control.getModel().formatValue(sValue, oFilterParam.type));
135
- aApplicableParams.push(sParameterName + '=' + sValue);
136
- } else {
137
- aApplicableParams.push(sParameterName + '=' + "'" + sValue + "'");
138
134
  }
135
+ //Encoding sValue for all filterParam types instead of just DateTime/DateTimeOffset type
136
+ sValue = encodeURL(oFilterParam.control.getModel().formatValue(sValue, oFilterParam.type));
137
+ aApplicableParams.push(sParameterName + '=' + sValue);
139
138
  }
140
139
  });
141
140
  });
@@ -2288,11 +2288,21 @@ sap.ui.define(["sap/ui/base/Object",
2288
2288
  /* When target reached is indicated by the routematched event, UI5 sets a placeholder on the container of target(i.e NavContainer or FlexibleColumLayoutHanlder)
2289
2289
  but the placeholders are not necessary if the feature is disabled or if the navigation direction is backwards.
2290
2290
  */
2291
- if (!bEnablePlaceholder || isBackwards()){
2292
- if (oTemplateContract.oFlexibleColumnLayoutHandler){
2293
- oTemplateContract.oFlexibleColumnLayoutHandler.hidePlaceholder(oCurrentIdentity.treeNode.fCLLevel,true);
2294
- } else {
2295
- oTemplateContract.oNavigationHost.hidePlaceholder();
2291
+ /* Placeholders are removed in the following scenarios
2292
+ 1) Placeholders switched off using FLP or URL configuration
2293
+ 2) on BackNavigation
2294
+ Note:- placeholders of object page are removed at onPageDataLoadedEvent, cases like breadcrumbs navigation, or reloading bookmarked URL of an object page, placeholders are removed at same place
2295
+ 3) on Shell Navigation or bookmark navigation to ListReport
2296
+ */
2297
+ if (!bEnablePlaceholder || isBackwards() || (oCurrentIdentity.treeNode.sRouteName === "root" && oCurrentIdentity.treeNode.componentId)){
2298
+ var oTemplatePrivateGlobalModel = oTemplateContract.oTemplatePrivateGlobalModel;
2299
+ var bRetainPlaceholder = oTemplatePrivateGlobalModel.getProperty("/generic/bRetainPlaceholder");
2300
+ if (!bRetainPlaceholder) {
2301
+ if (oTemplateContract.oFlexibleColumnLayoutHandler){
2302
+ oTemplateContract.oFlexibleColumnLayoutHandler.hidePlaceholder(oCurrentIdentity.treeNode.fCLLevel,true);
2303
+ } else {
2304
+ oTemplateContract.oNavigationHost.hidePlaceholder();
2305
+ }
2296
2306
  }
2297
2307
  }
2298
2308
  if (bIsRestoring && !aPreviousHashes.length){ // restarted this app via back navigation without direct access to the history we have returned to
@@ -2671,7 +2681,7 @@ sap.ui.define(["sap/ui/base/Object",
2671
2681
  * @param {sap.suite.ui.generic.template.lib.AppComponent} oAppComponent The AppComponent instance
2672
2682
  * @public
2673
2683
  * @extends sap.ui.base.Object
2674
- * @version 1.96.0
2684
+ * @version 1.96.1
2675
2685
  * @since 1.30.0
2676
2686
  * @alias sap.suite.ui.generic.template.lib.NavigationController
2677
2687
  */
@@ -12,24 +12,62 @@ sap.ui.define([
12
12
  requested smart control already exists in the map and if it does, same is returned otherwise, a new handler instance for the requested smart control is
13
13
  created, put in the map (for future references) and returned to the caller.
14
14
  This class is instantiated per view i.e in the oServices object of TemplateAssembler class.
15
- The interface of each of the handlers is as follow:
16
-
17
- getBinding: returns a binding object for a specific property (items or rows) of the smart control.
18
- getBindingPath: returns a string representing binding path that is used during the binding of the smart control.
19
- getItems: returns an array containing the content of items aggregation.
20
- getSelectedContexts: returns an array of selected items contexts for each smart control.
21
- getVisibleProperties: returns an array of the currently visible entities like columns of a smart table.
22
- getBindingInfo: returns the binding info for the given property (items or rows) which contains information about path, binding object, sorter, filter etc.
23
- getModel: returns the smart control's model.
24
- setEnabledToolbarButtons: used to set the enablement of toolbar button on user's selection interaction on the smart control.
25
- setEnabledFooterButtons: used to set the enablement of footer button on user's selection interaction on the smart control.
26
- setCurrentVariantId: used to set the variant of the smart control.
27
- setCurrentTableVariantId: used to set the variant of the smart table.
28
- setCurrentChartVariantId: used to set the variant of the smart table.
29
- refresh: used to refresh the data of the smart control.
30
- rebind: used to trigger binding call on the inner control used in the smart control. The binding of a control represents the contexts
31
- which determines its overall content and presentation. Rebinding a control leads to an implicit call to refresh its data as well.
32
- applyNavigationSortOrder: used to set a final sort order to the smart control in case of external navigation scenario. */
15
+ The interface of each of the handlers is defined in the oDummyHandler object. */
16
+
17
+ /* Dummy handler for not existing or not (yet) supported controls. Currently supported controls are:
18
+ => SmartTable
19
+ => SmartChart
20
+ => SmartList
21
+ */
22
+ var oDummyHandler = {
23
+ // returns a binding object for a specific property (items or rows) of the smart control
24
+ getBinding: Function.prototype,
25
+
26
+ // returns a string representing binding path that is used during the binding of the smart control
27
+ getBindingPath: Function.prototype,
28
+
29
+ // returns an array containing the content of items aggregation
30
+ getItems: Function.prototype,
31
+
32
+ // returns an array of selected items contexts for each smart control.
33
+ getSelectedContexts: function() {
34
+ return [];
35
+ },
36
+
37
+ // returns an array of the currently visible entities like columns of a smart table
38
+ getVisibleProperties: Function.prototype,
39
+
40
+ // returns the binding info for the given property (items or rows) which contains information about path, binding object, sorter, filter etc.
41
+ getBindingInfo: Function.prototype,
42
+
43
+ // returns the smart control's model
44
+ getModel: Function.prototype,
45
+
46
+ // used to set the enablement of toolbar button on user's selection interaction on the smart control
47
+ setEnabledToolbarButtons: Function.prototype,
48
+
49
+ // used to set the enablement of footer button on user's selection interaction on the smart control
50
+ setEnabledFooterButtons: Function.prototype,
51
+
52
+ // used to set the variant of the smart control
53
+ setCurrentVariantId: Function.prototype,
54
+
55
+ // used to set the variant of the smart table
56
+ setCurrentTableVariantId: Function.prototype,
57
+
58
+ // used to set the variant of the smart table
59
+ setCurrentChartVariantId: Function.prototype,
60
+
61
+ // used to refresh the data of the smart control
62
+ refresh: Function.prototype,
63
+
64
+ /* used to trigger binding call on the inner control used in the smart control. The binding of a control represents the contexts
65
+ which determines its overall content and presentation. Rebinding a control leads to an implicit call to refresh its data as well. */
66
+ rebind: Function.prototype,
67
+
68
+ // used to set a final sort order to the smart control in case of external navigation scenario
69
+ applyNavigationSortOrder: Function.prototype
70
+ };
33
71
 
34
72
  function getMethods(oController, oCommonUtils, oComponentUtils) {
35
73
  /* Currently only 'activeButtonTableState' custom data is being used in MultipleTablesModeHelper class.
@@ -87,7 +125,7 @@ sap.ui.define([
87
125
  return {
88
126
  getPresentationControlHandler: function (oControl) {
89
127
  if (!oControl) {
90
- return;
128
+ return oDummyHandler;
91
129
  }
92
130
 
93
131
  var sId = oController.getView().getLocalId(oControl.getId());
@@ -104,7 +142,7 @@ sap.ui.define([
104
142
  oHandler = new SmartListHandler(oController, oCommonUtils, oComponentUtils, oControl);
105
143
  break;
106
144
  default:
107
- return undefined;
145
+ return oDummyHandler;
108
146
  }
109
147
  oHandler.getActiveButtonTableStateCustomData = getActiveButtonTableStateCustomData.bind(null, oControl);
110
148
  oHandler.setActiveButtonTableStateCustomData = setActiveButtonTableStateCustomData.bind(null, oControl);
@@ -85,8 +85,7 @@ sap.ui.define([
85
85
  function fnApplyNavigationSortOrder(aNavigationSortOrder) {
86
86
  var oUiState = oSmartChart.getUiState();
87
87
  var oPresentationVariant = oUiState.getPresentationVariant();
88
- oPresentationVariant.SortOrder = oPresentationVariant.SortOrder.concat(aNavigationSortOrder);
89
-
88
+ oPresentationVariant.SortOrder = oPresentationVariant.SortOrder ? oPresentationVariant.SortOrder.concat(aNavigationSortOrder) : aNavigationSortOrder;
90
89
  oUiState.setPresentationVariant(oPresentationVariant);
91
90
  oSmartChart.setUiState(oUiState);
92
91
  }
@@ -37,7 +37,7 @@ sap.ui.define(['sap/ui/core/library','sap/fe/placeholder/library'
37
37
  interfaces: [],
38
38
  controls: [],
39
39
  elements: [],
40
- version: "1.96.0",
40
+ version: "1.96.1",
41
41
  extensions: {
42
42
  //Configuration used for rule loading of Support Assistant
43
43
  "sap.ui.support": {