@sapui5/sap.fe.templates 1.98.0 → 1.101.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 (144) hide show
  1. package/package.json +9 -6
  2. package/src/sap/fe/templates/.library +1 -2
  3. package/src/sap/fe/templates/AnalyticalListPage/Component.js +25 -12
  4. package/src/sap/fe/templates/AnalyticalListPage/Component.ts +6 -0
  5. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +31 -32
  6. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.ts +25 -0
  7. package/src/sap/fe/templates/Feedback.js +80 -0
  8. package/src/sap/fe/templates/Feedback.ts +67 -0
  9. package/src/sap/fe/templates/ListComponent.js +157 -118
  10. package/src/sap/fe/templates/ListComponent.ts +105 -0
  11. package/src/sap/fe/templates/ListReport/Component.js +83 -39
  12. package/src/sap/fe/templates/ListReport/Component.ts +39 -0
  13. package/src/sap/fe/templates/ListReport/ExtensionAPI.js +124 -107
  14. package/src/sap/fe/templates/ListReport/ExtensionAPI.ts +100 -0
  15. package/src/sap/fe/templates/ListReport/ListReport.view.xml +34 -27
  16. package/src/sap/fe/templates/ListReport/ListReportController.controller.js +1112 -1001
  17. package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +1009 -0
  18. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +55 -53
  19. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.ts +55 -0
  20. package/src/sap/fe/templates/ListReport/overrides/Share.js +135 -136
  21. package/src/sap/fe/templates/ListReport/overrides/Share.ts +134 -0
  22. package/src/sap/fe/templates/ListReport/overrides/ViewState.js +444 -406
  23. package/src/sap/fe/templates/ListReport/overrides/ViewState.ts +413 -0
  24. package/src/sap/fe/templates/ListReport/view/fragments/CollectionVisualization.fragment.xml +31 -23
  25. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.js +72 -0
  26. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.ts +62 -0
  27. package/src/sap/fe/templates/ListReport/view/fragments/MultipleModeOld.fragment.xml +50 -0
  28. package/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +479 -473
  29. package/src/sap/fe/templates/ObjectPage/AnnotationHelper.ts +511 -0
  30. package/src/sap/fe/templates/ObjectPage/Component.js +170 -149
  31. package/src/sap/fe/templates/ObjectPage/Component.ts +131 -0
  32. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +141 -142
  33. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.ts +116 -0
  34. package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +14 -53
  35. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +1531 -1464
  36. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +1442 -0
  37. package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +137 -95
  38. package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.ts +84 -0
  39. package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.js +25 -21
  40. package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.ts +10 -0
  41. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +99 -53
  42. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.ts +50 -0
  43. package/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js +21 -16
  44. package/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.ts +15 -0
  45. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +51 -47
  46. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.ts +47 -0
  47. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +35 -34
  48. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.ts +34 -0
  49. package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.js +16 -15
  50. package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.ts +13 -0
  51. package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.js +12 -11
  52. package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.ts +7 -0
  53. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +56 -52
  54. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.ts +57 -0
  55. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +16 -17
  56. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.ts +13 -0
  57. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +14 -17
  58. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.ts +14 -0
  59. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +24 -21
  60. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.ts +21 -0
  61. package/src/sap/fe/templates/ObjectPage/overrides/Share.js +311 -317
  62. package/src/sap/fe/templates/ObjectPage/overrides/Share.ts +316 -0
  63. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +67 -57
  64. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.ts +65 -0
  65. package/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.js +1 -1
  66. package/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.ts +3 -3
  67. package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +18 -24
  68. package/src/sap/fe/templates/ObjectPage/view/fragments/CollaborationDraft.fragment.xml +38 -0
  69. package/src/sap/fe/templates/ObjectPage/view/fragments/EditableHeaderFacet.fragment.xml +1 -1
  70. package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +9 -5
  71. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacet.fragment.xml +1 -0
  72. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacetCustomContainer.fragment.xml +1 -0
  73. package/src/sap/fe/templates/ObjectPage/view/fragments/Heading.fragment.xml +33 -0
  74. package/src/sap/fe/templates/ObjectPage/view/fragments/HeadingAvatar.fragment.xml +17 -0
  75. package/src/sap/fe/templates/ObjectPage/view/fragments/HeadingTitle.fragment.xml +18 -0
  76. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +3 -3
  77. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +3 -3
  78. package/src/sap/fe/templates/ObjectPage/view/fragments/SwitchDraftAndActiveObjectPopOver.fragment.xml +27 -0
  79. package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +852 -815
  80. package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.ts +795 -0
  81. package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +206 -187
  82. package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.ts +178 -0
  83. package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +485 -459
  84. package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.ts +438 -0
  85. package/src/sap/fe/templates/RootContainer/overrides/EditFlow.js +17 -14
  86. package/src/sap/fe/templates/RootContainer/overrides/EditFlow.ts +20 -0
  87. package/src/sap/fe/templates/TableScroller.js +46 -53
  88. package/src/sap/fe/templates/TableScroller.ts +48 -0
  89. package/src/sap/fe/templates/controls/Chart.fragment.xml +18 -17
  90. package/src/sap/fe/templates/controls/MacroChart.fragment.xml +22 -0
  91. package/src/sap/fe/templates/library.js +50 -63
  92. package/src/sap/fe/templates/library.ts +57 -0
  93. package/src/sap/fe/templates/messagebundle.properties +32 -36
  94. package/src/sap/fe/templates/messagebundle_ar.properties +15 -8
  95. package/src/sap/fe/templates/messagebundle_bg.properties +15 -8
  96. package/src/sap/fe/templates/messagebundle_ca.properties +15 -8
  97. package/src/sap/fe/templates/messagebundle_cs.properties +15 -8
  98. package/src/sap/fe/templates/messagebundle_cy.properties +15 -8
  99. package/src/sap/fe/templates/messagebundle_da.properties +15 -8
  100. package/src/sap/fe/templates/messagebundle_de.properties +15 -8
  101. package/src/sap/fe/templates/messagebundle_el.properties +16 -9
  102. package/src/sap/fe/templates/messagebundle_en.properties +15 -8
  103. package/src/sap/fe/templates/messagebundle_en_GB.properties +15 -8
  104. package/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +9 -6
  105. package/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +15 -8
  106. package/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +15 -8
  107. package/src/sap/fe/templates/messagebundle_es.properties +15 -8
  108. package/src/sap/fe/templates/messagebundle_es_MX.properties +15 -8
  109. package/src/sap/fe/templates/messagebundle_et.properties +15 -8
  110. package/src/sap/fe/templates/messagebundle_fi.properties +15 -8
  111. package/src/sap/fe/templates/messagebundle_fr.properties +15 -8
  112. package/src/sap/fe/templates/messagebundle_fr_CA.properties +15 -8
  113. package/src/sap/fe/templates/messagebundle_hi.properties +15 -8
  114. package/src/sap/fe/templates/messagebundle_hr.properties +16 -9
  115. package/src/sap/fe/templates/messagebundle_hu.properties +15 -8
  116. package/src/sap/fe/templates/messagebundle_id.properties +17 -10
  117. package/src/sap/fe/templates/messagebundle_it.properties +15 -8
  118. package/src/sap/fe/templates/messagebundle_iw.properties +15 -8
  119. package/src/sap/fe/templates/messagebundle_ja.properties +15 -8
  120. package/src/sap/fe/templates/messagebundle_kk.properties +15 -8
  121. package/src/sap/fe/templates/messagebundle_ko.properties +15 -8
  122. package/src/sap/fe/templates/messagebundle_lt.properties +15 -8
  123. package/src/sap/fe/templates/messagebundle_lv.properties +15 -8
  124. package/src/sap/fe/templates/messagebundle_ms.properties +15 -8
  125. package/src/sap/fe/templates/messagebundle_nl.properties +15 -8
  126. package/src/sap/fe/templates/messagebundle_no.properties +15 -8
  127. package/src/sap/fe/templates/messagebundle_pl.properties +15 -8
  128. package/src/sap/fe/templates/messagebundle_pt.properties +18 -11
  129. package/src/sap/fe/templates/messagebundle_pt_PT.properties +16 -9
  130. package/src/sap/fe/templates/messagebundle_ro.properties +15 -8
  131. package/src/sap/fe/templates/messagebundle_ru.properties +15 -8
  132. package/src/sap/fe/templates/messagebundle_sh.properties +15 -8
  133. package/src/sap/fe/templates/messagebundle_sk.properties +15 -8
  134. package/src/sap/fe/templates/messagebundle_sl.properties +15 -8
  135. package/src/sap/fe/templates/messagebundle_sv.properties +16 -9
  136. package/src/sap/fe/templates/messagebundle_th.properties +15 -8
  137. package/src/sap/fe/templates/messagebundle_tr.properties +15 -8
  138. package/src/sap/fe/templates/messagebundle_uk.properties +16 -9
  139. package/src/sap/fe/templates/messagebundle_vi.properties +15 -8
  140. package/src/sap/fe/templates/messagebundle_zh_CN.properties +15 -8
  141. package/src/sap/fe/templates/messagebundle_zh_TW.properties +15 -8
  142. package/ui5.yaml +0 -3
  143. package/src/sap/fe/templates/ListReport/overrides/MassEdit.js +0 -95
  144. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.xml +0 -49
@@ -1,144 +1,143 @@
1
1
  /*!
2
- * SAPUI5
3
- * (c) Copyright 2009-2022 SAP SE. All rights reserved.
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/fe/core/ExtensionAPI", "sap/fe/core/CommonUtils", "sap/fe/core/converters/helpers/ID"], function(
6
- ExtensionAPI,
7
- CommonUtils,
8
- ID
9
- ) {
10
- "use strict";
11
-
12
- /**
13
- * @class Extension API for object pages on SAP Fiori elements for OData V4.
14
- * @alias sap.fe.templates.ObjectPage.ExtensionAPI
15
- * @extends sap.fe.core.ExtensionAPI
16
- * @public
17
- * @hideconstructor
18
- * @final
19
- * @since 1.79.0
20
- */
21
- var extensionAPI = ExtensionAPI.extend("sap.fe.templates.ObjectPage.ExtensionAPI", {
22
- /**
23
- * @private
24
- * @name sap.fe.templates.ObjectPage.ExtensionAPI.getMetadata
25
- * @function
26
- */
27
- /**
28
- * @private
29
- * @name sap.fe.templates.ObjectPage.ExtensionAPI.extend
30
- * @function
31
- */
32
-
33
- /**
34
- * Refreshes either the whole object page or only parts of it.
35
- *
36
- * @alias sap.fe.templates.ObjectPage.ExtensionAPI#refresh
37
- * @param {string | string[]} [vPath] Path or array of paths referring to entities or properties to be refreshed.
38
- * If omitted, the whole object page is refreshed. The path "" refreshes the entity assigned to the object page
39
- * without navigations
40
- * @returns {Promise} Resolved once the data is refreshed or rejected if the request failed
41
- *
42
- * @public
43
- */
44
- refresh: function(vPath) {
45
- var oBindingContext = this._view.getBindingContext(),
46
- oAppComponent = CommonUtils.getAppComponent(this._view),
47
- oSideEffectsService = oAppComponent.getSideEffectsService(),
48
- oMetaModel = oBindingContext.getModel().getMetaModel(),
49
- aPaths,
50
- oSideEffects = {
51
- TargetProperties: [],
52
- TargetEntities: []
53
- },
54
- sPath,
55
- sBaseEntitySet,
56
- sKind;
57
-
58
- if (vPath === undefined || vPath === null) {
59
- // we just add an empty path which should refresh the page with all dependent bindings
60
- oSideEffects.TargetEntities.push({
61
- $NavigationPropertyPath: ""
62
- });
63
- } else {
64
- aPaths = Array.isArray(vPath) ? vPath : [vPath];
65
- sBaseEntitySet = this._controller.getOwnerComponent().getEntitySet();
66
-
67
- for (var i = 0; i < aPaths.length; i++) {
68
- sPath = aPaths[i];
69
- if (sPath === "") {
70
- // an empty path shall refresh the entity without dependencies which means * for the model
71
- oSideEffects.TargetProperties.push({
72
- $PropertyPath: "*"
73
- });
74
- } else {
75
- sKind = oMetaModel.getObject("/" + sBaseEntitySet + "/" + sPath + "/$kind");
76
-
77
- if (sKind === "NavigationProperty") {
78
- oSideEffects.TargetEntities.push({
79
- $NavigationPropertyPath: sPath
80
- });
81
- } else if (sKind) {
82
- oSideEffects.TargetProperties.push({
83
- $PropertyPath: sPath
84
- });
85
- } else {
86
- return Promise.reject(sPath + " is not a valid path to be refreshed");
87
- }
88
- }
89
- }
90
- }
91
- return oSideEffectsService.requestSideEffects(
92
- oSideEffects.TargetEntities.concat(oSideEffects.TargetProperties),
93
- oBindingContext
94
- );
95
- },
96
-
97
- /**
98
- * Gets the list entries currently selected for the table.
99
- *
100
- * @alias sap.fe.templates.ObjectPage.ExtensionAPI#getSelectedContexts
101
- * @param {string} sTableId The ID identifying the table the selected context is requested for
102
- * @returns {sap.ui.model.odata.v4.Context[]} Array containing the selected contexts
103
- *
104
- * @public
105
- */
106
- getSelectedContexts: function(sTableId) {
107
- var oTable = this._view.byId(sTableId);
108
- if (oTable && oTable.isA("sap.fe.macros.TableAPI")) {
109
- oTable = oTable.getContent();
110
- }
111
- return (oTable && oTable.isA("sap.ui.mdc.Table") && oTable.getSelectedContexts()) || [];
112
- },
113
-
114
- /**
115
- * Displays or hides the side content of an object page block.
116
- *
117
- * @alias sap.fe.templates.ObjectPage.ExtensionAPI#showSideContent
118
- * @param {string} sSubSectionKey Key of the side content fragment as defined in the manifest.json
119
- * @param {boolean} [bShow] Optional Boolean flag to show or hide the side content
120
- *
121
- * @public
122
- */
123
- showSideContent: function(sSubSectionKey, bShow) {
124
- var sBlockID = ID.SideContentLayoutID(sSubSectionKey),
125
- oBlock = this._view.byId(sBlockID),
126
- bBlockState = bShow === undefined ? !oBlock.getShowSideContent() : bShow;
127
- oBlock.setShowSideContent(bBlockState);
128
- },
129
-
130
- /**
131
- * Gets the bound context of the current object page.
132
- *
133
- * @alias sap.fe.templates.ObjectPage.ExtensionAPI#getBindingContext
134
- * @returns {sap.ui.model.odata.v4.Context} Context bound to the object page
135
- *
136
- * @public
137
- */
138
- getBindingContext: function() {
139
- return this._view.getBindingContext();
140
- }
141
- });
142
-
143
- return extensionAPI;
144
- });
5
+ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/converters/helpers/ID", "sap/fe/core/ExtensionAPI", "sap/fe/core/helpers/ClassSupport"], function (CommonUtils, ID, ExtensionAPI, ClassSupport) {
6
+ "use strict";
7
+
8
+ var defineUI5Class = ClassSupport.defineUI5Class;
9
+ var SideContentLayoutID = ID.SideContentLayoutID;
10
+
11
+ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
12
+
13
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
14
+
15
+ defineUI5Class("sap.fe.templates.ObjectPage.ExtensionAPI");
16
+
17
+ var ObjectPageExtensionAPI = /*#__PURE__*/function (_ExtensionAPI) {
18
+ _inheritsLoose(ObjectPageExtensionAPI, _ExtensionAPI);
19
+
20
+ function ObjectPageExtensionAPI() {
21
+ return _ExtensionAPI.apply(this, arguments) || this;
22
+ }
23
+
24
+ var _proto = ObjectPageExtensionAPI.prototype;
25
+
26
+ /**
27
+ * Refreshes either the whole object page or only parts of it.
28
+ *
29
+ * @alias sap.fe.templates.ObjectPage.ExtensionAPI#refresh
30
+ * @param {string | string[]} [vPath] Path or array of paths referring to entities or properties to be refreshed.
31
+ * If omitted, the whole object page is refreshed. The path "" refreshes the entity assigned to the object page
32
+ * without navigations
33
+ * @returns {Promise} Resolved once the data is refreshed or rejected if the request failed
34
+ *
35
+ * @public
36
+ */
37
+ _proto.refresh = function refresh(vPath) {
38
+ var oBindingContext = this._view.getBindingContext(),
39
+ oAppComponent = CommonUtils.getAppComponent(this._view),
40
+ oSideEffectsService = oAppComponent.getSideEffectsService(),
41
+ oMetaModel = oBindingContext.getModel().getMetaModel(),
42
+ oSideEffects = {
43
+ TargetProperties: [],
44
+ TargetEntities: []
45
+ };
46
+
47
+ var aPaths, sPath, sBaseEntitySet, sKind;
48
+
49
+ if (vPath === undefined || vPath === null) {
50
+ // we just add an empty path which should refresh the page with all dependent bindings
51
+ oSideEffects.TargetEntities.push({
52
+ $NavigationPropertyPath: ""
53
+ });
54
+ } else {
55
+ aPaths = Array.isArray(vPath) ? vPath : [vPath];
56
+ sBaseEntitySet = this._controller.getOwnerComponent().getEntitySet();
57
+
58
+ for (var i = 0; i < aPaths.length; i++) {
59
+ sPath = aPaths[i];
60
+
61
+ if (sPath === "") {
62
+ // an empty path shall refresh the entity without dependencies which means * for the model
63
+ oSideEffects.TargetProperties.push({
64
+ $PropertyPath: "*"
65
+ });
66
+ } else {
67
+ sKind = oMetaModel.getObject("/" + sBaseEntitySet + "/" + sPath + "/$kind");
68
+
69
+ if (sKind === "NavigationProperty") {
70
+ oSideEffects.TargetEntities.push({
71
+ $NavigationPropertyPath: sPath
72
+ });
73
+ } else if (sKind) {
74
+ oSideEffects.TargetProperties.push({
75
+ $PropertyPath: sPath
76
+ });
77
+ } else {
78
+ return Promise.reject(sPath + " is not a valid path to be refreshed");
79
+ }
80
+ }
81
+ }
82
+ }
83
+
84
+ return oSideEffectsService.requestSideEffects(oSideEffects.TargetEntities.concat(oSideEffects.TargetProperties), oBindingContext);
85
+ }
86
+ /**
87
+ * Gets the list entries currently selected for the table.
88
+ *
89
+ * @alias sap.fe.templates.ObjectPage.ExtensionAPI#getSelectedContexts
90
+ * @param {string} sTableId The ID identifying the table the selected context is requested for
91
+ * @returns {sap.ui.model.odata.v4.Context[]} Array containing the selected contexts
92
+ *
93
+ * @public
94
+ */
95
+ ;
96
+
97
+ _proto.getSelectedContexts = function getSelectedContexts(sTableId) {
98
+ var oTable = this._view.byId(sTableId);
99
+
100
+ if (oTable && oTable.isA("sap.fe.macros.TableAPI")) {
101
+ oTable = oTable.getContent();
102
+ }
103
+
104
+ return oTable && oTable.isA("sap.ui.mdc.Table") && oTable.getSelectedContexts() || [];
105
+ }
106
+ /**
107
+ * Displays or hides the side content of an object page block.
108
+ *
109
+ * @alias sap.fe.templates.ObjectPage.ExtensionAPI#showSideContent
110
+ * @param {string} sSubSectionKey Key of the side content fragment as defined in the manifest.json
111
+ * @param {boolean} [bShow] Optional Boolean flag to show or hide the side content
112
+ *
113
+ * @public
114
+ */
115
+ ;
116
+
117
+ _proto.showSideContent = function showSideContent(sSubSectionKey, bShow) {
118
+ var sBlockID = SideContentLayoutID(sSubSectionKey),
119
+ oBlock = this._view.byId(sBlockID),
120
+ bBlockState = bShow === undefined ? !oBlock.getShowSideContent() : bShow;
121
+
122
+ oBlock.setShowSideContent(bBlockState, false);
123
+ }
124
+ /**
125
+ * Gets the bound context of the current object page.
126
+ *
127
+ * @alias sap.fe.templates.ObjectPage.ExtensionAPI#getBindingContext
128
+ * @returns {sap.ui.model.odata.v4.Context} Context bound to the object page
129
+ *
130
+ * @public
131
+ */
132
+ ;
133
+
134
+ _proto.getBindingContext = function getBindingContext() {
135
+ return this._view.getBindingContext();
136
+ };
137
+
138
+ return ObjectPageExtensionAPI;
139
+ }(ExtensionAPI);
140
+
141
+ return ObjectPageExtensionAPI;
142
+ }, false);
143
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkV4dGVuc2lvbkFQSS50cyJdLCJuYW1lcyI6WyJkZWZpbmVVSTVDbGFzcyIsIk9iamVjdFBhZ2VFeHRlbnNpb25BUEkiLCJyZWZyZXNoIiwidlBhdGgiLCJvQmluZGluZ0NvbnRleHQiLCJfdmlldyIsImdldEJpbmRpbmdDb250ZXh0Iiwib0FwcENvbXBvbmVudCIsIkNvbW1vblV0aWxzIiwiZ2V0QXBwQ29tcG9uZW50Iiwib1NpZGVFZmZlY3RzU2VydmljZSIsImdldFNpZGVFZmZlY3RzU2VydmljZSIsIm9NZXRhTW9kZWwiLCJnZXRNb2RlbCIsImdldE1ldGFNb2RlbCIsIm9TaWRlRWZmZWN0cyIsIlRhcmdldFByb3BlcnRpZXMiLCJUYXJnZXRFbnRpdGllcyIsImFQYXRocyIsInNQYXRoIiwic0Jhc2VFbnRpdHlTZXQiLCJzS2luZCIsInVuZGVmaW5lZCIsInB1c2giLCIkTmF2aWdhdGlvblByb3BlcnR5UGF0aCIsIkFycmF5IiwiaXNBcnJheSIsIl9jb250cm9sbGVyIiwiZ2V0T3duZXJDb21wb25lbnQiLCJnZXRFbnRpdHlTZXQiLCJpIiwibGVuZ3RoIiwiJFByb3BlcnR5UGF0aCIsImdldE9iamVjdCIsIlByb21pc2UiLCJyZWplY3QiLCJyZXF1ZXN0U2lkZUVmZmVjdHMiLCJjb25jYXQiLCJnZXRTZWxlY3RlZENvbnRleHRzIiwic1RhYmxlSWQiLCJvVGFibGUiLCJieUlkIiwiaXNBIiwiZ2V0Q29udGVudCIsInNob3dTaWRlQ29udGVudCIsInNTdWJTZWN0aW9uS2V5IiwiYlNob3ciLCJzQmxvY2tJRCIsIlNpZGVDb250ZW50TGF5b3V0SUQiLCJvQmxvY2siLCJiQmxvY2tTdGF0ZSIsImdldFNob3dTaWRlQ29udGVudCIsInNldFNob3dTaWRlQ29udGVudCIsIkV4dGVuc2lvbkFQSSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7QUFNQUEsRUFBQUEsY0FBYyxDQUFDLDBDQUFELENBQWQ7O01BRU1DLHNCOzs7Ozs7Ozs7QUFDTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO1dBQ0NDLE8sR0FBQSxpQkFBUUMsS0FBUixFQUE4QztBQUM3QyxVQUFNQyxlQUFlLEdBQUcsS0FBS0MsS0FBTCxDQUFXQyxpQkFBWCxFQUF4QjtBQUFBLFVBQ0NDLGFBQWEsR0FBR0MsV0FBVyxDQUFDQyxlQUFaLENBQTRCLEtBQUtKLEtBQWpDLENBRGpCO0FBQUEsVUFFQ0ssbUJBQW1CLEdBQUdILGFBQWEsQ0FBQ0kscUJBQWQsRUFGdkI7QUFBQSxVQUdDQyxVQUFVLEdBQUdSLGVBQWUsQ0FBQ1MsUUFBaEIsR0FBMkJDLFlBQTNCLEVBSGQ7QUFBQSxVQUlDQyxZQUFpQixHQUFHO0FBQ25CQyxRQUFBQSxnQkFBZ0IsRUFBRSxFQURDO0FBRW5CQyxRQUFBQSxjQUFjLEVBQUU7QUFGRyxPQUpyQjs7QUFRQSxVQUFJQyxNQUFKLEVBQVlDLEtBQVosRUFBbUJDLGNBQW5CLEVBQW1DQyxLQUFuQzs7QUFFQSxVQUFJbEIsS0FBSyxLQUFLbUIsU0FBVixJQUF1Qm5CLEtBQUssS0FBSyxJQUFyQyxFQUEyQztBQUMxQztBQUNBWSxRQUFBQSxZQUFZLENBQUNFLGNBQWIsQ0FBNEJNLElBQTVCLENBQWlDO0FBQ2hDQyxVQUFBQSx1QkFBdUIsRUFBRTtBQURPLFNBQWpDO0FBR0EsT0FMRCxNQUtPO0FBQ05OLFFBQUFBLE1BQU0sR0FBR08sS0FBSyxDQUFDQyxPQUFOLENBQWN2QixLQUFkLElBQXVCQSxLQUF2QixHQUErQixDQUFDQSxLQUFELENBQXhDO0FBQ0FpQixRQUFBQSxjQUFjLEdBQUksS0FBS08sV0FBTCxDQUFpQkMsaUJBQWpCLEVBQUQsQ0FBOENDLFlBQTlDLEVBQWpCOztBQUVBLGFBQUssSUFBSUMsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBR1osTUFBTSxDQUFDYSxNQUEzQixFQUFtQ0QsQ0FBQyxFQUFwQyxFQUF3QztBQUN2Q1gsVUFBQUEsS0FBSyxHQUFHRCxNQUFNLENBQUNZLENBQUQsQ0FBZDs7QUFDQSxjQUFJWCxLQUFLLEtBQUssRUFBZCxFQUFrQjtBQUNqQjtBQUNBSixZQUFBQSxZQUFZLENBQUNDLGdCQUFiLENBQThCTyxJQUE5QixDQUFtQztBQUNsQ1MsY0FBQUEsYUFBYSxFQUFFO0FBRG1CLGFBQW5DO0FBR0EsV0FMRCxNQUtPO0FBQ05YLFlBQUFBLEtBQUssR0FBR1QsVUFBVSxDQUFDcUIsU0FBWCxDQUFxQixNQUFNYixjQUFOLEdBQXVCLEdBQXZCLEdBQTZCRCxLQUE3QixHQUFxQyxRQUExRCxDQUFSOztBQUVBLGdCQUFJRSxLQUFLLEtBQUssb0JBQWQsRUFBb0M7QUFDbkNOLGNBQUFBLFlBQVksQ0FBQ0UsY0FBYixDQUE0Qk0sSUFBNUIsQ0FBaUM7QUFDaENDLGdCQUFBQSx1QkFBdUIsRUFBRUw7QUFETyxlQUFqQztBQUdBLGFBSkQsTUFJTyxJQUFJRSxLQUFKLEVBQVc7QUFDakJOLGNBQUFBLFlBQVksQ0FBQ0MsZ0JBQWIsQ0FBOEJPLElBQTlCLENBQW1DO0FBQ2xDUyxnQkFBQUEsYUFBYSxFQUFFYjtBQURtQixlQUFuQztBQUdBLGFBSk0sTUFJQTtBQUNOLHFCQUFPZSxPQUFPLENBQUNDLE1BQVIsQ0FBZWhCLEtBQUssR0FBRyxzQ0FBdkIsQ0FBUDtBQUNBO0FBQ0Q7QUFDRDtBQUNEOztBQUNELGFBQU9ULG1CQUFtQixDQUFDMEIsa0JBQXBCLENBQXVDckIsWUFBWSxDQUFDRSxjQUFiLENBQTRCb0IsTUFBNUIsQ0FBbUN0QixZQUFZLENBQUNDLGdCQUFoRCxDQUF2QyxFQUEwR1osZUFBMUcsQ0FBUDtBQUNBO0FBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7V0FDQ2tDLG1CLEdBQUEsNkJBQW9CQyxRQUFwQixFQUFzQztBQUNyQyxVQUFJQyxNQUFNLEdBQUcsS0FBS25DLEtBQUwsQ0FBV29DLElBQVgsQ0FBZ0JGLFFBQWhCLENBQWI7O0FBQ0EsVUFBSUMsTUFBTSxJQUFJQSxNQUFNLENBQUNFLEdBQVAsQ0FBVyx3QkFBWCxDQUFkLEVBQW9EO0FBQ25ERixRQUFBQSxNQUFNLEdBQUlBLE1BQUQsQ0FBcUNHLFVBQXJDLEVBQVQ7QUFDQTs7QUFDRCxhQUFRSCxNQUFNLElBQUlBLE1BQU0sQ0FBQ0UsR0FBUCxDQUFXLGtCQUFYLENBQVYsSUFBNkNGLE1BQUQsQ0FBZ0JGLG1CQUFoQixFQUE3QyxJQUF1RixFQUE5RjtBQUNBO0FBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7V0FDQ00sZSxHQUFBLHlCQUFnQkMsY0FBaEIsRUFBd0NDLEtBQXhDLEVBQW9FO0FBQ25FLFVBQU1DLFFBQVEsR0FBR0MsbUJBQW1CLENBQUNILGNBQUQsQ0FBcEM7QUFBQSxVQUNDSSxNQUFNLEdBQUcsS0FBSzVDLEtBQUwsQ0FBV29DLElBQVgsQ0FBZ0JNLFFBQWhCLENBRFY7QUFBQSxVQUVDRyxXQUFXLEdBQUdKLEtBQUssS0FBS3hCLFNBQVYsR0FBc0IsQ0FBRTJCLE1BQUQsQ0FBK0JFLGtCQUEvQixFQUF2QixHQUE2RUwsS0FGNUY7O0FBR0NHLE1BQUFBLE1BQUQsQ0FBK0JHLGtCQUEvQixDQUFrREYsV0FBbEQsRUFBK0QsS0FBL0Q7QUFDQTtBQUVEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztXQUNDNUMsaUIsR0FBQSw2QkFBb0I7QUFDbkIsYUFBTyxLQUFLRCxLQUFMLENBQVdDLGlCQUFYLEVBQVA7QUFDQSxLOzs7SUF0R21DK0MsWTs7U0F5R3RCcEQsc0IiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB7IFNpZGVDb250ZW50TGF5b3V0SUQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9oZWxwZXJzL0lEXCI7XG5pbXBvcnQgRXh0ZW5zaW9uQVBJIGZyb20gXCJzYXAvZmUvY29yZS9FeHRlbnNpb25BUElcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBFbmhhbmNlV2l0aFVJNSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IFRhYmxlQVBJIGZyb20gXCJzYXAvZmUvbWFjcm9zL1RhYmxlQVBJXCI7XG5pbXBvcnQgRHluYW1pY1NpZGVDb250ZW50IGZyb20gXCJzYXAvdWkvbGF5b3V0L0R5bmFtaWNTaWRlQ29udGVudFwiO1xuaW1wb3J0IENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgT0RhdGFNZXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1ldGFNb2RlbFwiO1xuZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJXCIpO1xuXG5jbGFzcyBPYmplY3RQYWdlRXh0ZW5zaW9uQVBJIGV4dGVuZHMgRXh0ZW5zaW9uQVBJIHtcblx0LyoqXG5cdCAqIFJlZnJlc2hlcyBlaXRoZXIgdGhlIHdob2xlIG9iamVjdCBwYWdlIG9yIG9ubHkgcGFydHMgb2YgaXQuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJI3JlZnJlc2hcblx0ICogQHBhcmFtIHtzdHJpbmcgfCBzdHJpbmdbXX0gW3ZQYXRoXSBQYXRoIG9yIGFycmF5IG9mIHBhdGhzIHJlZmVycmluZyB0byBlbnRpdGllcyBvciBwcm9wZXJ0aWVzIHRvIGJlIHJlZnJlc2hlZC5cblx0ICogSWYgb21pdHRlZCwgdGhlIHdob2xlIG9iamVjdCBwYWdlIGlzIHJlZnJlc2hlZC4gVGhlIHBhdGggXCJcIiByZWZyZXNoZXMgdGhlIGVudGl0eSBhc3NpZ25lZCB0byB0aGUgb2JqZWN0IHBhZ2Vcblx0ICogd2l0aG91dCBuYXZpZ2F0aW9uc1xuXHQgKiBAcmV0dXJucyB7UHJvbWlzZX0gUmVzb2x2ZWQgb25jZSB0aGUgZGF0YSBpcyByZWZyZXNoZWQgb3IgcmVqZWN0ZWQgaWYgdGhlIHJlcXVlc3QgZmFpbGVkXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdHJlZnJlc2godlBhdGg6IHN0cmluZyB8IHN0cmluZ1tdIHwgdW5kZWZpbmVkKSB7XG5cdFx0Y29uc3Qgb0JpbmRpbmdDb250ZXh0ID0gdGhpcy5fdmlldy5nZXRCaW5kaW5nQ29udGV4dCgpIGFzIENvbnRleHQsXG5cdFx0XHRvQXBwQ29tcG9uZW50ID0gQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KHRoaXMuX3ZpZXcpLFxuXHRcdFx0b1NpZGVFZmZlY3RzU2VydmljZSA9IG9BcHBDb21wb25lbnQuZ2V0U2lkZUVmZmVjdHNTZXJ2aWNlKCksXG5cdFx0XHRvTWV0YU1vZGVsID0gb0JpbmRpbmdDb250ZXh0LmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCkgYXMgT0RhdGFNZXRhTW9kZWwsXG5cdFx0XHRvU2lkZUVmZmVjdHM6IGFueSA9IHtcblx0XHRcdFx0VGFyZ2V0UHJvcGVydGllczogW10sXG5cdFx0XHRcdFRhcmdldEVudGl0aWVzOiBbXVxuXHRcdFx0fTtcblx0XHRsZXQgYVBhdGhzLCBzUGF0aCwgc0Jhc2VFbnRpdHlTZXQsIHNLaW5kO1xuXG5cdFx0aWYgKHZQYXRoID09PSB1bmRlZmluZWQgfHwgdlBhdGggPT09IG51bGwpIHtcblx0XHRcdC8vIHdlIGp1c3QgYWRkIGFuIGVtcHR5IHBhdGggd2hpY2ggc2hvdWxkIHJlZnJlc2ggdGhlIHBhZ2Ugd2l0aCBhbGwgZGVwZW5kZW50IGJpbmRpbmdzXG5cdFx0XHRvU2lkZUVmZmVjdHMuVGFyZ2V0RW50aXRpZXMucHVzaCh7XG5cdFx0XHRcdCROYXZpZ2F0aW9uUHJvcGVydHlQYXRoOiBcIlwiXG5cdFx0XHR9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0YVBhdGhzID0gQXJyYXkuaXNBcnJheSh2UGF0aCkgPyB2UGF0aCA6IFt2UGF0aF07XG5cdFx0XHRzQmFzZUVudGl0eVNldCA9ICh0aGlzLl9jb250cm9sbGVyLmdldE93bmVyQ29tcG9uZW50KCkgYXMgYW55KS5nZXRFbnRpdHlTZXQoKTtcblxuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhUGF0aHMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0c1BhdGggPSBhUGF0aHNbaV07XG5cdFx0XHRcdGlmIChzUGF0aCA9PT0gXCJcIikge1xuXHRcdFx0XHRcdC8vIGFuIGVtcHR5IHBhdGggc2hhbGwgcmVmcmVzaCB0aGUgZW50aXR5IHdpdGhvdXQgZGVwZW5kZW5jaWVzIHdoaWNoIG1lYW5zICogZm9yIHRoZSBtb2RlbFxuXHRcdFx0XHRcdG9TaWRlRWZmZWN0cy5UYXJnZXRQcm9wZXJ0aWVzLnB1c2goe1xuXHRcdFx0XHRcdFx0JFByb3BlcnR5UGF0aDogXCIqXCJcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRzS2luZCA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KFwiL1wiICsgc0Jhc2VFbnRpdHlTZXQgKyBcIi9cIiArIHNQYXRoICsgXCIvJGtpbmRcIik7XG5cblx0XHRcdFx0XHRpZiAoc0tpbmQgPT09IFwiTmF2aWdhdGlvblByb3BlcnR5XCIpIHtcblx0XHRcdFx0XHRcdG9TaWRlRWZmZWN0cy5UYXJnZXRFbnRpdGllcy5wdXNoKHtcblx0XHRcdFx0XHRcdFx0JE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGg6IHNQYXRoXG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9IGVsc2UgaWYgKHNLaW5kKSB7XG5cdFx0XHRcdFx0XHRvU2lkZUVmZmVjdHMuVGFyZ2V0UHJvcGVydGllcy5wdXNoKHtcblx0XHRcdFx0XHRcdFx0JFByb3BlcnR5UGF0aDogc1BhdGhcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gUHJvbWlzZS5yZWplY3Qoc1BhdGggKyBcIiBpcyBub3QgYSB2YWxpZCBwYXRoIHRvIGJlIHJlZnJlc2hlZFwiKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIG9TaWRlRWZmZWN0c1NlcnZpY2UucmVxdWVzdFNpZGVFZmZlY3RzKG9TaWRlRWZmZWN0cy5UYXJnZXRFbnRpdGllcy5jb25jYXQob1NpZGVFZmZlY3RzLlRhcmdldFByb3BlcnRpZXMpLCBvQmluZGluZ0NvbnRleHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGxpc3QgZW50cmllcyBjdXJyZW50bHkgc2VsZWN0ZWQgZm9yIHRoZSB0YWJsZS5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5FeHRlbnNpb25BUEkjZ2V0U2VsZWN0ZWRDb250ZXh0c1xuXHQgKiBAcGFyYW0ge3N0cmluZ30gc1RhYmxlSWQgVGhlIElEIGlkZW50aWZ5aW5nIHRoZSB0YWJsZSB0aGUgc2VsZWN0ZWQgY29udGV4dCBpcyByZXF1ZXN0ZWQgZm9yXG5cdCAqIEByZXR1cm5zIHtzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dFtdfSBBcnJheSBjb250YWluaW5nIHRoZSBzZWxlY3RlZCBjb250ZXh0c1xuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRnZXRTZWxlY3RlZENvbnRleHRzKHNUYWJsZUlkOiBzdHJpbmcpIHtcblx0XHRsZXQgb1RhYmxlID0gdGhpcy5fdmlldy5ieUlkKHNUYWJsZUlkKTtcblx0XHRpZiAob1RhYmxlICYmIG9UYWJsZS5pc0EoXCJzYXAuZmUubWFjcm9zLlRhYmxlQVBJXCIpKSB7XG5cdFx0XHRvVGFibGUgPSAob1RhYmxlIGFzIEVuaGFuY2VXaXRoVUk1PFRhYmxlQVBJPikuZ2V0Q29udGVudCgpO1xuXHRcdH1cblx0XHRyZXR1cm4gKG9UYWJsZSAmJiBvVGFibGUuaXNBKFwic2FwLnVpLm1kYy5UYWJsZVwiKSAmJiAob1RhYmxlIGFzIGFueSkuZ2V0U2VsZWN0ZWRDb250ZXh0cygpKSB8fCBbXTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNwbGF5cyBvciBoaWRlcyB0aGUgc2lkZSBjb250ZW50IG9mIGFuIG9iamVjdCBwYWdlIGJsb2NrLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNzaG93U2lkZUNvbnRlbnRcblx0ICogQHBhcmFtIHtzdHJpbmd9IHNTdWJTZWN0aW9uS2V5IEtleSBvZiB0aGUgc2lkZSBjb250ZW50IGZyYWdtZW50IGFzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0Lmpzb25cblx0ICogQHBhcmFtIHtib29sZWFufSBbYlNob3ddIE9wdGlvbmFsIEJvb2xlYW4gZmxhZyB0byBzaG93IG9yIGhpZGUgdGhlIHNpZGUgY29udGVudFxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRzaG93U2lkZUNvbnRlbnQoc1N1YlNlY3Rpb25LZXk6IHN0cmluZywgYlNob3c6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcblx0XHRjb25zdCBzQmxvY2tJRCA9IFNpZGVDb250ZW50TGF5b3V0SUQoc1N1YlNlY3Rpb25LZXkpLFxuXHRcdFx0b0Jsb2NrID0gdGhpcy5fdmlldy5ieUlkKHNCbG9ja0lEKSxcblx0XHRcdGJCbG9ja1N0YXRlID0gYlNob3cgPT09IHVuZGVmaW5lZCA/ICEob0Jsb2NrIGFzIER5bmFtaWNTaWRlQ29udGVudCkuZ2V0U2hvd1NpZGVDb250ZW50KCkgOiBiU2hvdztcblx0XHQob0Jsb2NrIGFzIER5bmFtaWNTaWRlQ29udGVudCkuc2V0U2hvd1NpZGVDb250ZW50KGJCbG9ja1N0YXRlLCBmYWxzZSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgYm91bmQgY29udGV4dCBvZiB0aGUgY3VycmVudCBvYmplY3QgcGFnZS5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5FeHRlbnNpb25BUEkjZ2V0QmluZGluZ0NvbnRleHRcblx0ICogQHJldHVybnMge3NhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0fSBDb250ZXh0IGJvdW5kIHRvIHRoZSBvYmplY3QgcGFnZVxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRnZXRCaW5kaW5nQ29udGV4dCgpIHtcblx0XHRyZXR1cm4gdGhpcy5fdmlldy5nZXRCaW5kaW5nQ29udGV4dCgpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE9iamVjdFBhZ2VFeHRlbnNpb25BUEk7XG4iXX0=
@@ -0,0 +1,116 @@
1
+ import CommonUtils from "sap/fe/core/CommonUtils";
2
+ import { SideContentLayoutID } from "sap/fe/core/converters/helpers/ID";
3
+ import ExtensionAPI from "sap/fe/core/ExtensionAPI";
4
+ import { defineUI5Class, EnhanceWithUI5 } from "sap/fe/core/helpers/ClassSupport";
5
+ import TableAPI from "sap/fe/macros/TableAPI";
6
+ import DynamicSideContent from "sap/ui/layout/DynamicSideContent";
7
+ import Context from "sap/ui/model/odata/v4/Context";
8
+ import ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
9
+ defineUI5Class("sap.fe.templates.ObjectPage.ExtensionAPI");
10
+
11
+ class ObjectPageExtensionAPI extends ExtensionAPI {
12
+ /**
13
+ * Refreshes either the whole object page or only parts of it.
14
+ *
15
+ * @alias sap.fe.templates.ObjectPage.ExtensionAPI#refresh
16
+ * @param {string | string[]} [vPath] Path or array of paths referring to entities or properties to be refreshed.
17
+ * If omitted, the whole object page is refreshed. The path "" refreshes the entity assigned to the object page
18
+ * without navigations
19
+ * @returns {Promise} Resolved once the data is refreshed or rejected if the request failed
20
+ *
21
+ * @public
22
+ */
23
+ refresh(vPath: string | string[] | undefined) {
24
+ const oBindingContext = this._view.getBindingContext() as Context,
25
+ oAppComponent = CommonUtils.getAppComponent(this._view),
26
+ oSideEffectsService = oAppComponent.getSideEffectsService(),
27
+ oMetaModel = oBindingContext.getModel().getMetaModel() as ODataMetaModel,
28
+ oSideEffects: any = {
29
+ TargetProperties: [],
30
+ TargetEntities: []
31
+ };
32
+ let aPaths, sPath, sBaseEntitySet, sKind;
33
+
34
+ if (vPath === undefined || vPath === null) {
35
+ // we just add an empty path which should refresh the page with all dependent bindings
36
+ oSideEffects.TargetEntities.push({
37
+ $NavigationPropertyPath: ""
38
+ });
39
+ } else {
40
+ aPaths = Array.isArray(vPath) ? vPath : [vPath];
41
+ sBaseEntitySet = (this._controller.getOwnerComponent() as any).getEntitySet();
42
+
43
+ for (let i = 0; i < aPaths.length; i++) {
44
+ sPath = aPaths[i];
45
+ if (sPath === "") {
46
+ // an empty path shall refresh the entity without dependencies which means * for the model
47
+ oSideEffects.TargetProperties.push({
48
+ $PropertyPath: "*"
49
+ });
50
+ } else {
51
+ sKind = oMetaModel.getObject("/" + sBaseEntitySet + "/" + sPath + "/$kind");
52
+
53
+ if (sKind === "NavigationProperty") {
54
+ oSideEffects.TargetEntities.push({
55
+ $NavigationPropertyPath: sPath
56
+ });
57
+ } else if (sKind) {
58
+ oSideEffects.TargetProperties.push({
59
+ $PropertyPath: sPath
60
+ });
61
+ } else {
62
+ return Promise.reject(sPath + " is not a valid path to be refreshed");
63
+ }
64
+ }
65
+ }
66
+ }
67
+ return oSideEffectsService.requestSideEffects(oSideEffects.TargetEntities.concat(oSideEffects.TargetProperties), oBindingContext);
68
+ }
69
+
70
+ /**
71
+ * Gets the list entries currently selected for the table.
72
+ *
73
+ * @alias sap.fe.templates.ObjectPage.ExtensionAPI#getSelectedContexts
74
+ * @param {string} sTableId The ID identifying the table the selected context is requested for
75
+ * @returns {sap.ui.model.odata.v4.Context[]} Array containing the selected contexts
76
+ *
77
+ * @public
78
+ */
79
+ getSelectedContexts(sTableId: string) {
80
+ let oTable = this._view.byId(sTableId);
81
+ if (oTable && oTable.isA("sap.fe.macros.TableAPI")) {
82
+ oTable = (oTable as EnhanceWithUI5<TableAPI>).getContent();
83
+ }
84
+ return (oTable && oTable.isA("sap.ui.mdc.Table") && (oTable as any).getSelectedContexts()) || [];
85
+ }
86
+
87
+ /**
88
+ * Displays or hides the side content of an object page block.
89
+ *
90
+ * @alias sap.fe.templates.ObjectPage.ExtensionAPI#showSideContent
91
+ * @param {string} sSubSectionKey Key of the side content fragment as defined in the manifest.json
92
+ * @param {boolean} [bShow] Optional Boolean flag to show or hide the side content
93
+ *
94
+ * @public
95
+ */
96
+ showSideContent(sSubSectionKey: string, bShow: boolean | undefined) {
97
+ const sBlockID = SideContentLayoutID(sSubSectionKey),
98
+ oBlock = this._view.byId(sBlockID),
99
+ bBlockState = bShow === undefined ? !(oBlock as DynamicSideContent).getShowSideContent() : bShow;
100
+ (oBlock as DynamicSideContent).setShowSideContent(bBlockState, false);
101
+ }
102
+
103
+ /**
104
+ * Gets the bound context of the current object page.
105
+ *
106
+ * @alias sap.fe.templates.ObjectPage.ExtensionAPI#getBindingContext
107
+ * @returns {sap.ui.model.odata.v4.Context} Context bound to the object page
108
+ *
109
+ * @public
110
+ */
111
+ getBindingContext() {
112
+ return this._view.getBindingContext();
113
+ }
114
+ }
115
+
116
+ export default ObjectPageExtensionAPI;
@@ -67,59 +67,18 @@
67
67
  enabled="{= OP.getDeleteCommandExecutionEnabled(${converterContext>header/actions}) }"
68
68
  command="DeleteObject"
69
69
  />
70
- <control:CommandExecution
71
- execute="._saveDocument(${$view>/getBindingContext})"
72
- visible="{= ${ui>/editMode} === 'Editable' }"
73
- command="Save"
74
- />
70
+ <control:CommandExecution execute="._saveDocument(${$view>/getBindingContext})" visible="{ui>/isEditable}" command="Save" />
75
71
  <control:CommandExecution
76
72
  execute="._cancelDocument(${$view>/getBindingContext},{cancelButton:'fe::FooterBar::StandardAction::Cancel'})"
77
- visible="{= ${ui>/editMode} === 'Editable' }"
73
+ visible="{ui>/isEditable}"
78
74
  command="Cancel"
79
75
  />
80
76
  </uxap:dependents>
81
77
  <template:if test="{converterContext>header/visible}">
82
- <template:with path="converterContext>header/avatar" var="avatar">
78
+ <template:with path="converterContext>header" var="header">
83
79
  <uxap:headerTitle>
84
- <uxap:ObjectPageDynamicHeaderTitle primaryArea="Begin">
85
- <uxap:expandedHeading>
86
- <FlexBox>
87
- <FlexBox visible="{converterContext>header/title/expandedImageVisible}">
88
- <Avatar
89
- class="sapUiSmallMarginEnd"
90
- src="{avatar>src}"
91
- initials="{avatar>initials}"
92
- fallbackIcon="{avatar>fallbackIcon}"
93
- displayShape="{avatar>displayShape}"
94
- displaySize="S"
95
- />
96
- </FlexBox>
97
- <template:with path="entityType>@com.sap.vocabularies.UI.v1.HeaderInfo" var="headerInfo">
98
- <Title
99
- text="{= OPTemplating.getExpressionForTitle(${headerInfo>@@UI.getConverterContext}, ${viewData>}, ${fullContextPath>@@UI.getDataModelObjectPath}, ${entitySet>@com.sap.vocabularies.Common.v1.DraftRoot})}"
100
- wrapping="true"
101
- />
102
- </template:with>
103
- </FlexBox>
104
- </uxap:expandedHeading>
105
- <uxap:snappedHeading>
106
- <FlexBox>
107
- <Avatar
108
- class="sapUiSmallMarginEnd"
109
- src="{avatar>src}"
110
- initials="{avatar>initials}"
111
- fallbackIcon="{avatar>fallbackIcon}"
112
- displayShape="{avatar>displayShape}"
113
- displaySize="S"
114
- />
115
- <template:with path="entityType>@com.sap.vocabularies.UI.v1.HeaderInfo" var="headerInfo">
116
- <Title
117
- text="{= OPTemplating.getExpressionForTitle(${headerInfo>@@UI.getConverterContext}, ${viewData>}, ${fullContextPath>@@UI.getDataModelObjectPath}, ${entitySet>@com.sap.vocabularies.Common.v1.DraftRoot})}"
118
- wrapping="true"
119
- />
120
- </template:with>
121
- </FlexBox>
122
- </uxap:snappedHeading>
80
+ <uxap:ObjectPageDynamicHeaderTitle primaryArea="Begin" areaShrinkRatio="0:0:1">
81
+ <core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.Heading" type="XML" />
123
82
  <uxap:expandedContent>
124
83
  <FlexBox>
125
84
  <template:if test="{entityType>@com.sap.vocabularies.UI.v1.HeaderInfo/Description}">
@@ -144,7 +103,9 @@
144
103
  <template:if test="{entitySet>@com.sap.vocabularies.Common.v1.DraftRoot}">
145
104
  <macro:DraftIndicator DraftIndicatorType="IconOnly" class="sapUiTinyMarginBegin sapMTB sapMTBNewFlex" entitySet="{entitySet>}" />
146
105
  </template:if>
147
- <internal:SituationsIndicator xmlns:internal="sap.fe.macros.internal" entitySet="{entitySet>}" />
106
+ <template:if test="{header>situations}">
107
+ <internal:SituationsIndicator xmlns:internal="sap.fe.macros.internal" entitySet="{entitySet>}" />
108
+ </template:if>
148
109
  </uxap:content>
149
110
  <uxap:navigationActions>
150
111
  <template:if test="{= ${viewData>/viewLevel} > 1}">
@@ -169,7 +130,7 @@
169
130
  </uxap:breadcrumbs>
170
131
  </uxap:ObjectPageDynamicHeaderTitle>
171
132
  </uxap:headerTitle>
172
- <template:if test="{converterContext>header/hasContent}">
133
+ <template:if test="{header>hasContent}">
173
134
  <uxap:headerContent>
174
135
  <FlexBox
175
136
  id="fe::HeaderContentContainer"
@@ -179,14 +140,14 @@
179
140
  fitContainer="true"
180
141
  alignItems="Stretch"
181
142
  >
182
- <template:if test="{converterContext>header/avatar}">
143
+ <template:if test="{header>avatar}">
183
144
  <Avatar
184
145
  unittest:id="AvatarOPHeaderContent"
185
146
  class="sapUiSmallMarginEnd sapUiSmallMarginBottom"
186
- src="{avatar>src}"
187
- initials="{avatar>initials}"
188
- fallbackIcon="{avatar>fallbackIcon}"
189
- displayShape="{avatar>displayShape}"
147
+ src="{header>avatar/src}"
148
+ initials="{header>avatar/initials}"
149
+ fallbackIcon="{header>avatar/fallbackIcon}"
150
+ displayShape="{header>avatar/displayShape}"
190
151
  displaySize="XL"
191
152
  />
192
153
  </template:if>