@sapui5/sap.fe.templates 1.99.0 → 1.101.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 (137) hide show
  1. package/package.json +6 -5
  2. package/src/sap/fe/templates/.library +1 -2
  3. package/src/sap/fe/templates/AnalyticalListPage/Component.js +24 -12
  4. package/src/sap/fe/templates/AnalyticalListPage/Component.ts +6 -0
  5. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +30 -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 +156 -118
  10. package/src/sap/fe/templates/ListComponent.ts +105 -0
  11. package/src/sap/fe/templates/ListReport/Component.js +82 -47
  12. package/src/sap/fe/templates/ListReport/Component.ts +39 -0
  13. package/src/sap/fe/templates/ListReport/ExtensionAPI.js +123 -112
  14. package/src/sap/fe/templates/ListReport/ExtensionAPI.ts +100 -0
  15. package/src/sap/fe/templates/ListReport/ListReport.view.xml +24 -22
  16. package/src/sap/fe/templates/ListReport/ListReportController.controller.js +1111 -1086
  17. package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +1009 -0
  18. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +54 -53
  19. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.ts +55 -0
  20. package/src/sap/fe/templates/ListReport/overrides/Share.js +134 -137
  21. package/src/sap/fe/templates/ListReport/overrides/Share.ts +134 -0
  22. package/src/sap/fe/templates/ListReport/overrides/ViewState.js +443 -428
  23. package/src/sap/fe/templates/ListReport/overrides/ViewState.ts +413 -0
  24. package/src/sap/fe/templates/ListReport/view/fragments/CollectionVisualization.fragment.xml +25 -25
  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 +478 -473
  29. package/src/sap/fe/templates/ObjectPage/AnnotationHelper.ts +511 -0
  30. package/src/sap/fe/templates/ObjectPage/Component.js +169 -149
  31. package/src/sap/fe/templates/ObjectPage/Component.ts +131 -0
  32. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +140 -142
  33. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.ts +116 -0
  34. package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +6 -8
  35. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +1530 -1414
  36. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +1442 -0
  37. package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +136 -95
  38. package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.ts +84 -0
  39. package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.js +24 -21
  40. package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.ts +10 -0
  41. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +98 -53
  42. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.ts +50 -0
  43. package/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js +20 -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 +50 -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 +34 -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 +15 -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 +11 -11
  52. package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.ts +7 -0
  53. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +55 -52
  54. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.ts +57 -0
  55. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +15 -17
  56. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.ts +13 -0
  57. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +13 -17
  58. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.ts +14 -0
  59. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +23 -21
  60. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.ts +21 -0
  61. package/src/sap/fe/templates/ObjectPage/overrides/Share.js +310 -317
  62. package/src/sap/fe/templates/ObjectPage/overrides/Share.ts +316 -0
  63. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +66 -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 +1 -1
  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 +4 -4
  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/SwitchDraftAndActiveObjectPopOver.fragment.xml +27 -0
  74. package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +851 -815
  75. package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.ts +795 -0
  76. package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +205 -187
  77. package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.ts +178 -0
  78. package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +484 -459
  79. package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.ts +438 -0
  80. package/src/sap/fe/templates/RootContainer/overrides/EditFlow.js +16 -14
  81. package/src/sap/fe/templates/RootContainer/overrides/EditFlow.ts +20 -0
  82. package/src/sap/fe/templates/TableScroller.js +45 -53
  83. package/src/sap/fe/templates/TableScroller.ts +48 -0
  84. package/src/sap/fe/templates/controls/Chart.fragment.xml +18 -17
  85. package/src/sap/fe/templates/controls/MacroChart.fragment.xml +22 -0
  86. package/src/sap/fe/templates/library.js +49 -63
  87. package/src/sap/fe/templates/library.ts +57 -0
  88. package/src/sap/fe/templates/messagebundle.properties +19 -7
  89. package/src/sap/fe/templates/messagebundle_ar.properties +6 -17
  90. package/src/sap/fe/templates/messagebundle_bg.properties +6 -17
  91. package/src/sap/fe/templates/messagebundle_ca.properties +6 -17
  92. package/src/sap/fe/templates/messagebundle_cs.properties +6 -17
  93. package/src/sap/fe/templates/messagebundle_cy.properties +6 -17
  94. package/src/sap/fe/templates/messagebundle_da.properties +6 -17
  95. package/src/sap/fe/templates/messagebundle_de.properties +6 -17
  96. package/src/sap/fe/templates/messagebundle_el.properties +6 -17
  97. package/src/sap/fe/templates/messagebundle_en.properties +6 -17
  98. package/src/sap/fe/templates/messagebundle_en_GB.properties +6 -17
  99. package/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +0 -15
  100. package/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +6 -17
  101. package/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +6 -17
  102. package/src/sap/fe/templates/messagebundle_es.properties +6 -17
  103. package/src/sap/fe/templates/messagebundle_es_MX.properties +6 -17
  104. package/src/sap/fe/templates/messagebundle_et.properties +6 -17
  105. package/src/sap/fe/templates/messagebundle_fi.properties +6 -17
  106. package/src/sap/fe/templates/messagebundle_fr.properties +6 -17
  107. package/src/sap/fe/templates/messagebundle_fr_CA.properties +6 -17
  108. package/src/sap/fe/templates/messagebundle_hi.properties +6 -17
  109. package/src/sap/fe/templates/messagebundle_hr.properties +6 -17
  110. package/src/sap/fe/templates/messagebundle_hu.properties +6 -17
  111. package/src/sap/fe/templates/messagebundle_id.properties +6 -17
  112. package/src/sap/fe/templates/messagebundle_it.properties +6 -17
  113. package/src/sap/fe/templates/messagebundle_iw.properties +6 -17
  114. package/src/sap/fe/templates/messagebundle_ja.properties +6 -17
  115. package/src/sap/fe/templates/messagebundle_kk.properties +6 -17
  116. package/src/sap/fe/templates/messagebundle_ko.properties +6 -17
  117. package/src/sap/fe/templates/messagebundle_lt.properties +6 -17
  118. package/src/sap/fe/templates/messagebundle_lv.properties +6 -17
  119. package/src/sap/fe/templates/messagebundle_ms.properties +6 -17
  120. package/src/sap/fe/templates/messagebundle_nl.properties +6 -17
  121. package/src/sap/fe/templates/messagebundle_no.properties +6 -17
  122. package/src/sap/fe/templates/messagebundle_pl.properties +6 -17
  123. package/src/sap/fe/templates/messagebundle_pt.properties +6 -17
  124. package/src/sap/fe/templates/messagebundle_pt_PT.properties +6 -17
  125. package/src/sap/fe/templates/messagebundle_ro.properties +6 -17
  126. package/src/sap/fe/templates/messagebundle_ru.properties +6 -17
  127. package/src/sap/fe/templates/messagebundle_sh.properties +6 -17
  128. package/src/sap/fe/templates/messagebundle_sk.properties +6 -17
  129. package/src/sap/fe/templates/messagebundle_sl.properties +6 -17
  130. package/src/sap/fe/templates/messagebundle_sv.properties +6 -17
  131. package/src/sap/fe/templates/messagebundle_th.properties +6 -17
  132. package/src/sap/fe/templates/messagebundle_tr.properties +6 -17
  133. package/src/sap/fe/templates/messagebundle_uk.properties +6 -17
  134. package/src/sap/fe/templates/messagebundle_vi.properties +6 -17
  135. package/src/sap/fe/templates/messagebundle_zh_CN.properties +6 -17
  136. package/src/sap/fe/templates/messagebundle_zh_TW.properties +6 -17
  137. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.xml +0 -49
@@ -1,190 +1,208 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- (c) Copyright 2009-2021 SAP SE. All rights reserved
4
-
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
5
4
  */
6
- sap.ui.define(
7
- [
8
- "sap/ui/model/json/JSONModel",
9
- "./RootContainerBaseController",
10
- "sap/fe/core/CommonUtils",
11
- "sap/fe/core/helpers/KeepAliveHelper",
12
- "sap/fe/core/controllerextensions/ViewState",
13
- "sap/m/Link",
14
- "sap/m/MessagePage",
15
- "sap/m/MessageBox",
16
- "sap/base/Log"
17
- ],
18
- function(JSONModel, BaseController, CommonUtils, KeepAliveHelper, ViewState, Link, MessagePage, MessageBox, Log) {
19
- "use strict";
20
-
21
- /**
22
- * @class Application developers should use this controller for the sap.fe.templates.RootContainer.NavContainer.Fcl view.
23
- *
24
- * This controller and its associated view provide the entry point for your application when using the classic full page layout in SAP Fiori elements.
25
- * When used, you should declare a sap.m.routing.Router as `router` in your application manifest.
26
- *
27
- * @hideconstructor
28
- * @public
29
- * @name sap.fe.templates.RootContainer.controller.NavContainer
30
- */
31
- return BaseController.extend("sap.fe.templates.RootContainer.controller.NavContainer", {
32
- viewState: ViewState.override({
33
- applyInitialStateOnly: function() {
34
- return false;
35
- },
36
- adaptBindingRefreshControls: function(aControls) {
37
- var oView = this.getView(),
38
- oController = oView.getController();
39
- aControls.push(oController._getCurrentPage(oView));
40
- },
41
- adaptStateControls: function(aStateControls) {
42
- var oView = this.getView(),
43
- oController = oView.getController();
44
- aStateControls.push(oController._getCurrentPage(oView));
45
- },
46
- onRestore: function() {
47
- var oView = this.getView(),
48
- oNavContainer = oView.byId("appContent");
49
- var oInternalModel = oNavContainer.getModel("internal");
50
- var oPages = oInternalModel.getProperty("/pages");
51
-
52
- for (var sComponentId in oPages) {
53
- oInternalModel.setProperty("/pages/" + sComponentId + "/restoreStatus", "pending");
54
- }
55
- },
56
- onSuspend: function() {
57
- var oView = this.getView(),
58
- oNavContainer = oView.byId("appContent");
59
- var aPages = oNavContainer.getPages();
60
- aPages.forEach(function(oPage) {
61
- var oTargetView = CommonUtils.getTargetView(oPage);
62
-
63
- var oController = oTargetView && oTargetView.getController();
64
- if (oController && oController.viewState && oController.viewState.onSuspend) {
65
- return oController.viewState.onSuspend();
66
- }
67
- });
68
- }
69
- }),
70
-
71
- onContainerReady: function() {
72
- // Restore views if neccessary.
73
- var oView = this.getView(),
74
- oPagePromise = this._getCurrentPage(oView);
75
-
76
- return oPagePromise.then(function(oCurrentPage) {
77
- var oTargetView = CommonUtils.getTargetView(oCurrentPage);
78
- return KeepAliveHelper.restoreView(oTargetView);
79
- });
80
- },
81
-
82
- _getCurrentPage: function(oView) {
83
- return new Promise(function(resolve) {
84
- var oNavContainer = oView.byId("appContent");
85
- var oCurrentPage = oNavContainer.getCurrentPage();
86
- if (
87
- oCurrentPage &&
88
- oCurrentPage.getController &&
89
- oCurrentPage.getController().isPlaceholder &&
90
- oCurrentPage.getController().isPlaceholder()
91
- ) {
92
- oCurrentPage.getController().attachEventOnce("targetPageInsertedInContainer", function(oEvent) {
93
- var oTargetPage = oEvent.getParameter("targetpage");
94
- var oTargetView = CommonUtils.getTargetView(oTargetPage);
95
- resolve(oTargetView !== oView && oTargetView);
96
- });
97
- } else {
98
- var oTargetView = CommonUtils.getTargetView(oCurrentPage);
99
- resolve(oTargetView !== oView && oTargetView);
100
- }
101
- });
102
- },
103
-
104
- /**
105
- * @private
106
- * @name sap.fe.templates.RootContainer.controller.NavContainer.getMetadata
107
- * @function
108
- */
109
-
110
- _getNavContainer: function() {
111
- return this.getView().getContent()[0];
112
- },
113
-
114
- /**
115
- * Check if the FCL component is enabled.
116
- *
117
- * @function
118
- * @name sap.fe.templates.RootContainer.controller.NavContainer.controller#isFclEnabled
119
- * @memberof sap.fe.templates.RootContainer.controller.NavContainer.controller
120
- * @returns {boolean} `false` since we are not in FCL scenario
121
- *
122
- * @ui5-restricted
123
- * @final
124
- */
125
- isFclEnabled: function() {
126
- return false;
127
- },
128
-
129
- _scrollTablesToLastNavigatedItems: function() {},
130
-
131
- displayMessagePage: function(sErrorMessage, mParameters) {
132
- return new Promise(
133
- function(resolve, reject) {
134
- try {
135
- var oNavContainer = this._getNavContainer();
136
-
137
- if (!this.oMessagePage) {
138
- this.oMessagePage = new MessagePage({
139
- showHeader: false,
140
- icon: "sap-icon://message-error"
141
- });
142
-
143
- oNavContainer.addPage(this.oMessagePage);
144
- }
145
-
146
- this.oMessagePage.setText(sErrorMessage);
147
-
148
- if (mParameters.technicalMessage) {
149
- this.oMessagePage.setCustomDescription(
150
- new Link({
151
- text: mParameters.description || mParameters.technicalMessage,
152
- press: function() {
153
- MessageBox.show(mParameters.technicalMessage, {
154
- icon: MessageBox.Icon.ERROR,
155
- title: mParameters.title,
156
- actions: [MessageBox.Action.OK],
157
- defaultAction: MessageBox.Action.OK,
158
- details: mParameters.technicalDetails || "",
159
- contentWidth: "60%"
160
- });
161
- }
162
- })
163
- );
164
- } else {
165
- this.oMessagePage.setDescription(mParameters.description || "");
166
- }
167
-
168
- if (mParameters.handleShellBack) {
169
- var oErrorOriginPage = oNavContainer.getCurrentPage(),
170
- oAppComponent = CommonUtils.getAppComponent(oNavContainer.getCurrentPage());
171
- oAppComponent.getShellServices().setBackNavigation(function() {
172
- oNavContainer.to(oErrorOriginPage.getId());
173
- oAppComponent.getShellServices().setBackNavigation();
174
- });
175
- }
176
- oNavContainer.attachAfterNavigate(function() {
177
- resolve(true);
178
- });
179
- oNavContainer.to(this.oMessagePage.getId());
180
- } catch (e) {
181
- reject(false);
182
- Log.info(e);
183
- }
184
- }.bind(this)
185
- );
186
- }
187
- });
188
- },
189
- true
190
- );
5
+ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/controllerextensions/ViewState", "sap/fe/core/helpers/ClassSupport", "sap/fe/core/helpers/KeepAliveHelper", "sap/m/Link", "sap/m/MessageBox", "sap/m/MessagePage", "./RootContainerBaseController"], function (Log, CommonUtils, ViewState, ClassSupport, KeepAliveHelper, Link, MessageBox, MessagePage, BaseController) {
6
+ "use strict";
7
+
8
+ var _dec, _dec2, _class, _class2, _descriptor;
9
+
10
+ var Icon = MessageBox.Icon;
11
+ var Action = MessageBox.Action;
12
+ var usingExtension = ClassSupport.usingExtension;
13
+ var defineUI5Class = ClassSupport.defineUI5Class;
14
+
15
+ function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
16
+
17
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
18
+
19
+ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
20
+
21
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
22
+
23
+ function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
24
+
25
+ function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }
26
+
27
+ var NavContainerController = (_dec = defineUI5Class("sap.fe.templates.RootContainer.controller.NavContainer"), _dec2 = usingExtension(ViewState.override({
28
+ applyInitialStateOnly: function () {
29
+ return false;
30
+ },
31
+ adaptBindingRefreshControls: function (aControls) {
32
+ var oView = this.getView(),
33
+ oController = oView.getController();
34
+ aControls.push(oController._getCurrentPage(oView));
35
+ },
36
+ adaptStateControls: function (aStateControls) {
37
+ var oView = this.getView(),
38
+ oController = oView.getController();
39
+ aStateControls.push(oController._getCurrentPage(oView));
40
+ },
41
+ onRestore: function () {
42
+ var oView = this.getView(),
43
+ oNavContainer = oView.byId("appContent"),
44
+ oController = oView.getController();
45
+ var oInternalModel = oNavContainer.getModel("internal");
46
+ var oPages = oInternalModel.getProperty("/pages");
47
+
48
+ for (var sComponentId in oPages) {
49
+ oInternalModel.setProperty("/pages/" + sComponentId + "/restoreStatus", "pending");
50
+ }
51
+
52
+ oController.onContainerReady();
53
+ },
54
+ onSuspend: function () {
55
+ var oView = this.getView(),
56
+ oNavContainer = oView.byId("appContent");
57
+ var aPages = oNavContainer.getPages();
58
+ aPages.forEach(function (oPage) {
59
+ var oTargetView = CommonUtils.getTargetView(oPage);
60
+ var oController = oTargetView && oTargetView.getController();
61
+
62
+ if (oController && oController.viewState && oController.viewState.onSuspend) {
63
+ return oController.viewState.onSuspend();
64
+ }
65
+ });
66
+ }
67
+ })), _dec(_class = (_class2 = /*#__PURE__*/function (_BaseController) {
68
+ _inheritsLoose(NavContainerController, _BaseController);
69
+
70
+ function NavContainerController() {
71
+ var _this;
72
+
73
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
74
+ args[_key] = arguments[_key];
75
+ }
76
+
77
+ _this = _BaseController.call.apply(_BaseController, [this].concat(args)) || this;
78
+
79
+ _initializerDefineProperty(_this, "viewState", _descriptor, _assertThisInitialized(_this));
80
+
81
+ return _this;
82
+ }
83
+
84
+ var _proto = NavContainerController.prototype;
85
+
86
+ _proto.onContainerReady = function onContainerReady() {
87
+ // Restore views if neccessary.
88
+ var oView = this.getView(),
89
+ oPagePromise = this._getCurrentPage(oView);
90
+
91
+ return oPagePromise.then(function (oCurrentPage) {
92
+ var oTargetView = CommonUtils.getTargetView(oCurrentPage);
93
+ return KeepAliveHelper.restoreView(oTargetView);
94
+ });
95
+ };
96
+
97
+ _proto._getCurrentPage = function _getCurrentPage(oView) {
98
+ return new Promise(function (resolve) {
99
+ var oNavContainer = oView.byId("appContent");
100
+ var oCurrentPage = oNavContainer.getCurrentPage();
101
+
102
+ if (oCurrentPage && oCurrentPage.getController && oCurrentPage.getController().isPlaceholder && oCurrentPage.getController().isPlaceholder()) {
103
+ oCurrentPage.getController().attachEventOnce("targetPageInsertedInContainer", function (oEvent) {
104
+ var oTargetPage = oEvent.getParameter("targetpage");
105
+ var oTargetView = CommonUtils.getTargetView(oTargetPage);
106
+ resolve(oTargetView !== oView && oTargetView);
107
+ });
108
+ } else {
109
+ var oTargetView = CommonUtils.getTargetView(oCurrentPage);
110
+ resolve(oTargetView !== oView && oTargetView);
111
+ }
112
+ });
113
+ }
114
+ /**
115
+ * @private
116
+ * @name sap.fe.templates.RootContainer.controller.NavContainer.getMetadata
117
+ * @function
118
+ */
119
+ ;
120
+
121
+ _proto._getNavContainer = function _getNavContainer() {
122
+ return this.getView().getContent()[0];
123
+ }
124
+ /**
125
+ * Check if the FCL component is enabled.
126
+ *
127
+ * @function
128
+ * @name sap.fe.templates.RootContainer.controller.NavContainer.controller#isFclEnabled
129
+ * @memberof sap.fe.templates.RootContainer.controller.NavContainer.controller
130
+ * @returns {boolean} `false` since we are not in FCL scenario
131
+ *
132
+ * @ui5-restricted
133
+ * @final
134
+ */
135
+ ;
136
+
137
+ _proto.isFclEnabled = function isFclEnabled() {
138
+ return false;
139
+ };
140
+
141
+ _proto._scrollTablesToLastNavigatedItems = function _scrollTablesToLastNavigatedItems() {// Do nothing
142
+ };
143
+
144
+ _proto.displayMessagePage = function displayMessagePage(sErrorMessage, mParameters) {
145
+ var _this2 = this;
146
+
147
+ return new Promise(function (resolve, reject) {
148
+ try {
149
+ var oNavContainer = _this2._getNavContainer();
150
+
151
+ if (!_this2.oMessagePage) {
152
+ _this2.oMessagePage = new MessagePage({
153
+ showHeader: false,
154
+ icon: "sap-icon://message-error"
155
+ });
156
+ oNavContainer.addPage(_this2.oMessagePage);
157
+ }
158
+
159
+ _this2.oMessagePage.setText(sErrorMessage);
160
+
161
+ if (mParameters.technicalMessage) {
162
+ _this2.oMessagePage.setCustomDescription(new Link({
163
+ text: mParameters.description || mParameters.technicalMessage,
164
+ press: function () {
165
+ MessageBox.show(mParameters.technicalMessage, {
166
+ icon: Icon.ERROR,
167
+ title: mParameters.title,
168
+ actions: [Action.OK],
169
+ defaultAction: Action.OK,
170
+ details: mParameters.technicalDetails || "",
171
+ contentWidth: "60%"
172
+ });
173
+ }
174
+ }));
175
+ } else {
176
+ _this2.oMessagePage.setDescription(mParameters.description || "");
177
+ }
178
+
179
+ if (mParameters.handleShellBack) {
180
+ var oErrorOriginPage = oNavContainer.getCurrentPage(),
181
+ oAppComponent = CommonUtils.getAppComponent(oNavContainer.getCurrentPage());
182
+ oAppComponent.getShellServices().setBackNavigation(function () {
183
+ oNavContainer.to(oErrorOriginPage.getId());
184
+ oAppComponent.getShellServices().setBackNavigation();
185
+ });
186
+ }
187
+
188
+ oNavContainer.attachAfterNavigate(function () {
189
+ resolve(true);
190
+ });
191
+ oNavContainer.to(_this2.oMessagePage.getId());
192
+ } catch (e) {
193
+ reject(false);
194
+ Log.info(e);
195
+ }
196
+ });
197
+ };
198
+
199
+ return NavContainerController;
200
+ }(BaseController), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "viewState", [_dec2], {
201
+ configurable: true,
202
+ enumerable: true,
203
+ writable: true,
204
+ initializer: null
205
+ })), _class2)) || _class);
206
+ return NavContainerController;
207
+ }, false);
208
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk5hdkNvbnRhaW5lci5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbIk5hdkNvbnRhaW5lckNvbnRyb2xsZXIiLCJkZWZpbmVVSTVDbGFzcyIsInVzaW5nRXh0ZW5zaW9uIiwiVmlld1N0YXRlIiwib3ZlcnJpZGUiLCJhcHBseUluaXRpYWxTdGF0ZU9ubHkiLCJhZGFwdEJpbmRpbmdSZWZyZXNoQ29udHJvbHMiLCJhQ29udHJvbHMiLCJvVmlldyIsImdldFZpZXciLCJvQ29udHJvbGxlciIsImdldENvbnRyb2xsZXIiLCJwdXNoIiwiX2dldEN1cnJlbnRQYWdlIiwiYWRhcHRTdGF0ZUNvbnRyb2xzIiwiYVN0YXRlQ29udHJvbHMiLCJvblJlc3RvcmUiLCJvTmF2Q29udGFpbmVyIiwiYnlJZCIsIm9JbnRlcm5hbE1vZGVsIiwiZ2V0TW9kZWwiLCJvUGFnZXMiLCJnZXRQcm9wZXJ0eSIsInNDb21wb25lbnRJZCIsInNldFByb3BlcnR5Iiwib25Db250YWluZXJSZWFkeSIsIm9uU3VzcGVuZCIsImFQYWdlcyIsImdldFBhZ2VzIiwiZm9yRWFjaCIsIm9QYWdlIiwib1RhcmdldFZpZXciLCJDb21tb25VdGlscyIsImdldFRhcmdldFZpZXciLCJ2aWV3U3RhdGUiLCJvUGFnZVByb21pc2UiLCJ0aGVuIiwib0N1cnJlbnRQYWdlIiwiS2VlcEFsaXZlSGVscGVyIiwicmVzdG9yZVZpZXciLCJQcm9taXNlIiwicmVzb2x2ZSIsImdldEN1cnJlbnRQYWdlIiwiaXNQbGFjZWhvbGRlciIsImF0dGFjaEV2ZW50T25jZSIsIm9FdmVudCIsIm9UYXJnZXRQYWdlIiwiZ2V0UGFyYW1ldGVyIiwiX2dldE5hdkNvbnRhaW5lciIsImdldENvbnRlbnQiLCJpc0ZjbEVuYWJsZWQiLCJfc2Nyb2xsVGFibGVzVG9MYXN0TmF2aWdhdGVkSXRlbXMiLCJkaXNwbGF5TWVzc2FnZVBhZ2UiLCJzRXJyb3JNZXNzYWdlIiwibVBhcmFtZXRlcnMiLCJyZWplY3QiLCJvTWVzc2FnZVBhZ2UiLCJNZXNzYWdlUGFnZSIsInNob3dIZWFkZXIiLCJpY29uIiwiYWRkUGFnZSIsInNldFRleHQiLCJ0ZWNobmljYWxNZXNzYWdlIiwic2V0Q3VzdG9tRGVzY3JpcHRpb24iLCJMaW5rIiwidGV4dCIsImRlc2NyaXB0aW9uIiwicHJlc3MiLCJNZXNzYWdlQm94Iiwic2hvdyIsIkljb24iLCJFUlJPUiIsInRpdGxlIiwiYWN0aW9ucyIsIkFjdGlvbiIsIk9LIiwiZGVmYXVsdEFjdGlvbiIsImRldGFpbHMiLCJ0ZWNobmljYWxEZXRhaWxzIiwiY29udGVudFdpZHRoIiwic2V0RGVzY3JpcHRpb24iLCJoYW5kbGVTaGVsbEJhY2siLCJvRXJyb3JPcmlnaW5QYWdlIiwib0FwcENvbXBvbmVudCIsImdldEFwcENvbXBvbmVudCIsImdldFNoZWxsU2VydmljZXMiLCJzZXRCYWNrTmF2aWdhdGlvbiIsInRvIiwiZ2V0SWQiLCJhdHRhY2hBZnRlck5hdmlnYXRlIiwiZSIsIkxvZyIsImluZm8iLCJCYXNlQ29udHJvbGxlciJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFXTUEsc0IsV0FETEMsY0FBYyxDQUFDLHdEQUFELEMsVUFFYkMsY0FBYyxDQUNkQyxTQUFTLENBQUNDLFFBQVYsQ0FBbUI7QUFDbEJDLElBQUFBLHFCQUFxQixFQUFFLFlBQVk7QUFDbEMsYUFBTyxLQUFQO0FBQ0EsS0FIaUI7QUFJbEJDLElBQUFBLDJCQUEyQixFQUFFLFVBQTJCQyxTQUEzQixFQUEyQztBQUN2RSxVQUFNQyxLQUFLLEdBQUcsS0FBS0MsT0FBTCxFQUFkO0FBQUEsVUFDQ0MsV0FBVyxHQUFHRixLQUFLLENBQUNHLGFBQU4sRUFEZjtBQUVBSixNQUFBQSxTQUFTLENBQUNLLElBQVYsQ0FBZUYsV0FBVyxDQUFDRyxlQUFaLENBQTRCTCxLQUE1QixDQUFmO0FBQ0EsS0FSaUI7QUFTbEJNLElBQUFBLGtCQUFrQixFQUFFLFVBQTJCQyxjQUEzQixFQUFnRDtBQUNuRSxVQUFNUCxLQUFLLEdB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QUE1QixDQURqQjtBQUVBeUMsWUFBQUEsYUFBYSxDQUFDRSxnQkFBZCxHQUFpQ0MsaUJBQWpDLENBQW1ELFlBQVk7QUFDN0RyRSxjQUFBQSxhQUFELENBQXVCc0UsRUFBdkIsQ0FBMEJMLGdCQUFnQixDQUFDTSxLQUFqQixFQUExQjtBQUNBTCxjQUFBQSxhQUFhLENBQUNFLGdCQUFkLEdBQWlDQyxpQkFBakM7QUFDQSxhQUhEO0FBSUE7O0FBQ0RyRSxVQUFBQSxhQUFhLENBQUN3RSxtQkFBZCxDQUFrQyxZQUFZO0FBQzdDaEQsWUFBQUEsT0FBTyxDQUFDLElBQUQsQ0FBUDtBQUNBLFdBRkQ7QUFHQ3hCLFVBQUFBLGFBQUQsQ0FBdUJzRSxFQUF2QixDQUEwQixNQUFJLENBQUMvQixZQUFMLENBQWtCZ0MsS0FBbEIsRUFBMUI7QUFDQSxTQTlDRCxDQThDRSxPQUFPRSxDQUFQLEVBQVU7QUFDWG5DLFVBQUFBLE1BQU0sQ0FBQyxLQUFELENBQU47QUFDQW9DLFVBQUFBLEdBQUcsQ0FBQ0MsSUFBSixDQUFTRixDQUFUO0FBQ0E7QUFDRCxPQW5ETSxDQUFQO0FBb0RBLEs7OztJQWpLbUNHLGM7Ozs7OztTQW9LdEI3RixzQiIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgVmlld1N0YXRlIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9WaWV3U3RhdGVcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCB1c2luZ0V4dGVuc2lvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IEtlZXBBbGl2ZUhlbHBlciBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9LZWVwQWxpdmVIZWxwZXJcIjtcbmltcG9ydCBMaW5rIGZyb20gXCJzYXAvbS9MaW5rXCI7XG5pbXBvcnQgTWVzc2FnZUJveCwgeyBBY3Rpb24sIEljb24gfSBmcm9tIFwic2FwL20vTWVzc2FnZUJveFwiO1xuaW1wb3J0IE1lc3NhZ2VQYWdlIGZyb20gXCJzYXAvbS9NZXNzYWdlUGFnZVwiO1xuaW1wb3J0IE5hdkNvbnRhaW5lciBmcm9tIFwic2FwL20vTmF2Q29udGFpbmVyXCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCBCYXNlQ29udHJvbGxlciBmcm9tIFwiLi9Sb290Q29udGFpbmVyQmFzZUNvbnRyb2xsZXJcIjtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLnRlbXBsYXRlcy5Sb290Q29udGFpbmVyLmNvbnRyb2xsZXIuTmF2Q29udGFpbmVyXCIpXG5jbGFzcyBOYXZDb250YWluZXJDb250cm9sbGVyIGV4dGVuZHMgQmFzZUNvbnRyb2xsZXIge1xuXHRAdXNpbmdFeHRlbnNpb24oXG5cdFx0Vmlld1N0YXRlLm92ZXJyaWRlKHtcblx0XHRcdGFwcGx5SW5pdGlhbFN0YXRlT25seTogZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHR9LFxuXHRcdFx0YWRhcHRCaW5kaW5nUmVmcmVzaENvbnRyb2xzOiBmdW5jdGlvbiAodGhpczogVmlld1N0YXRlLCBhQ29udHJvbHM6IGFueSkge1xuXHRcdFx0XHRjb25zdCBvVmlldyA9IHRoaXMuZ2V0VmlldygpLFxuXHRcdFx0XHRcdG9Db250cm9sbGVyID0gb1ZpZXcuZ2V0Q29udHJvbGxlcigpIGFzIE5hdkNvbnRhaW5lckNvbnRyb2xsZXI7XG5cdFx0XHRcdGFDb250cm9scy5wdXNoKG9Db250cm9sbGVyLl9nZXRDdXJyZW50UGFnZShvVmlldykpO1xuXHRcdFx0fSxcblx0XHRcdGFkYXB0U3RhdGVDb250cm9sczogZnVuY3Rpb24gKHRoaXM6IFZpZXdTdGF0ZSwgYVN0YXRlQ29udHJvbHM6IGFueSkge1xuXHRcdFx0XHRjb25zdCBvVmlldyA9IHRoaXMuZ2V0VmlldygpLFxuXHRcdFx0XHRcdG9Db250cm9sbGVyID0gb1ZpZXcuZ2V0Q29udHJvbGxlcigpIGFzIE5hdkNvbnRhaW5lckNvbnRyb2xsZXI7XG5cdFx0XHRcdGFTdGF0ZUNvbnRyb2xzLnB1c2gob0NvbnRyb2xsZXIuX2dldEN1cnJlbnRQYWdlKG9WaWV3KSk7XG5cdFx0XHR9LFxuXHRcdFx0b25SZXN0b3JlOiBmdW5jdGlvbiAodGhpczogVmlld1N0YXRlKSB7XG5cdFx0XHRcdGNvbnN0IG9WaWV3ID0gdGhpcy5nZXRWaWV3KCksXG5cdFx0XHRcdFx0b05hdkNvbnRhaW5lciA9IG9WaWV3LmJ5SWQoXCJhcHBDb250ZW50XCIpLFxuXHRcdFx0XHRcdG9Db250cm9sbGVyID0gb1ZpZXcuZ2V0Q29udHJvbGxlcigpIGFzIE5hdkNvbnRhaW5lckNvbnRyb2xsZXI7XG5cdFx0XHRcdGNvbnN0IG9JbnRlcm5hbE1vZGVsID0gb05hdkNvbnRhaW5lci5nZXRNb2RlbChcImludGVybmFsXCIpIGFzIEpTT05Nb2RlbDtcblx0XHRcdFx0Y29uc3Qgb1BhZ2VzID0gb0ludGVybmFsTW9kZWwuZ2V0UHJvcGVydHkoXCIvcGFnZXNcIik7XG5cblx0XHRcdFx0Zm9yIChjb25zdCBzQ29tcG9uZW50SWQgaW4gb1BhZ2VzKSB7XG5cdFx0XHRcdFx0b0ludGVybmFsTW9kZWwuc2V0UHJvcGVydHkoXCIvcGFnZXMvXCIgKyBzQ29tcG9uZW50SWQgKyBcIi9yZXN0b3JlU3RhdHVzXCIsIFwicGVuZGluZ1wiKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRvQ29udHJvbGxlci5vbkNvbnRhaW5lclJlYWR5KCk7XG5cdFx0XHR9LFxuXHRcdFx0b25TdXNwZW5kOiBmdW5jdGlvbiAodGhpczogVmlld1N0YXRlKSB7XG5cdFx0XHRcdGNvbnN0IG9WaWV3ID0gdGhpcy5nZXRWaWV3KCksXG5cdFx0XHRcdFx0b05hdkNvbnRhaW5lciA9IG9WaWV3LmJ5SWQoXCJhcHBDb250ZW50XCIpIGFzIE5hdkNvbnRhaW5lcjtcblx0XHRcdFx0Y29uc3QgYVBhZ2VzID0gb05hdkNvbnRhaW5lci5nZXRQYWdlcygpO1xuXHRcdFx0XHRhUGFnZXMuZm9yRWFjaChmdW5jdGlvbiAob1BhZ2U6IGFueSkge1xuXHRcdFx0XHRcdGNvbnN0IG9UYXJnZXRWaWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0VmlldyhvUGFnZSk7XG5cblx0XHRcdFx0XHRjb25zdCBvQ29udHJvbGxlciA9IG9UYXJnZXRWaWV3ICYmIG9UYXJnZXRWaWV3LmdldENvbnRyb2xsZXIoKTtcblx0XHRcdFx0XHRpZiAob0NvbnRyb2xsZXIgJiYgb0NvbnRyb2xsZXIudmlld1N0YXRlICYmIG9Db250cm9sbGVyLnZpZXdTdGF0ZS5vblN1c3BlbmQpIHtcblx0XHRcdFx0XHRcdHJldHVybiBvQ29udHJvbGxlci52aWV3U3RhdGUub25TdXNwZW5kKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9KVxuXHQpXG5cdHZpZXdTdGF0ZSE6IFZpZXdTdGF0ZTtcblx0cHJpdmF0ZSBvTWVzc2FnZVBhZ2U/OiBNZXNzYWdlUGFnZTtcblxuXHRvbkNvbnRhaW5lclJlYWR5KCkge1xuXHRcdC8vIFJlc3RvcmUgdmlld3MgaWYgbmVjY2Vzc2FyeS5cblx0XHRjb25zdCBvVmlldyA9IHRoaXMuZ2V0VmlldygpLFxuXHRcdFx0b1BhZ2VQcm9taXNlID0gdGhpcy5fZ2V0Q3VycmVudFBhZ2Uob1ZpZXcpO1xuXG5cdFx0cmV0dXJuIG9QYWdlUHJvbWlzZS50aGVuKGZ1bmN0aW9uIChvQ3VycmVudFBhZ2U6IGFueSkge1xuXHRcdFx0Y29uc3Qgb1RhcmdldFZpZXcgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KG9DdXJyZW50UGFnZSk7XG5cdFx0XHRyZXR1cm4gS2VlcEFsaXZlSGVscGVyLnJlc3RvcmVWaWV3KG9UYXJnZXRWaWV3KTtcblx0XHR9KTtcblx0fVxuXG5cdF9nZXRDdXJyZW50UGFnZShvVmlldzogYW55KSB7XG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlOiAodmFsdWU6IGFueSkgPT4gdm9pZCkge1xuXHRcdFx0Y29uc3Qgb05hdkNvbnRhaW5lciA9IG9WaWV3LmJ5SWQoXCJhcHBDb250ZW50XCIpO1xuXHRcdFx0Y29uc3Qgb0N1cnJlbnRQYWdlID0gb05hdkNvbnRhaW5lci5nZXRDdXJyZW50UGFnZSgpO1xuXHRcdFx0aWYgKFxuXHRcdFx0XHRvQ3VycmVudFBhZ2UgJiZcblx0XHRcdFx0b0N1cnJlbnRQYWdlLmdldENvbnRyb2xsZXIgJiZcblx0XHRcdFx0b0N1cnJlbnRQYWdlLmdldENvbnRyb2xsZXIoKS5pc1BsYWNlaG9sZGVyICYmXG5cdFx0XHRcdG9DdXJyZW50UGFnZS5nZXRDb250cm9sbGVyKCkuaXNQbGFjZWhvbGRlcigpXG5cdFx0XHQpIHtcblx0XHRcdFx0b0N1cnJlbnRQYWdlLmdldENvbnRyb2xsZXIoKS5hdHRhY2hFdmVudE9uY2UoXCJ0YXJnZXRQYWdlSW5zZXJ0ZWRJbkNvbnRhaW5lclwiLCBmdW5jdGlvbiAob0V2ZW50OiBhbnkpIHtcblx0XHRcdFx0XHRjb25zdCBvVGFyZ2V0UGFnZSA9IG9FdmVudC5nZXRQYXJhbWV0ZXIoXCJ0YXJnZXRwYWdlXCIpO1xuXHRcdFx0XHRcdGNvbnN0IG9UYXJnZXRWaWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0VmlldyhvVGFyZ2V0UGFnZSk7XG5cdFx0XHRcdFx0cmVzb2x2ZShvVGFyZ2V0VmlldyAhPT0gb1ZpZXcgJiYgb1RhcmdldFZpZXcpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbnN0IG9UYXJnZXRWaWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0VmlldyhvQ3VycmVudFBhZ2UpO1xuXHRcdFx0XHRyZXNvbHZlKG9UYXJnZXRWaWV3ICE9PSBvVmlldyAmJiBvVGFyZ2V0Vmlldyk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogQHByaXZhdGVcblx0ICogQG5hbWUgc2FwLmZlLnRlbXBsYXRlcy5Sb290Q29udGFpbmVyLmNvbnRyb2xsZXIuTmF2Q29udGFpbmVyLmdldE1ldGFkYXRhXG5cdCAqIEBmdW5jdGlvblxuXHQgKi9cblxuXHRfZ2V0TmF2Q29udGFpbmVyKCkge1xuXHRcdHJldHVybiB0aGlzLmdldFZpZXcoKS5nZXRDb250ZW50KClbMF07XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2sgaWYgdGhlIEZDTCBjb21wb25lbnQgaXMgZW5hYmxlZC5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIHNhcC5mZS50ZW1wbGF0ZXMuUm9vdENvbnRhaW5lci5jb250cm9sbGVyLk5hdkNvbnRhaW5lci5jb250cm9sbGVyI2lzRmNsRW5hYmxlZFxuXHQgKiBAbWVtYmVyb2Ygc2FwLmZlLnRlbXBsYXRlcy5Sb290Q29udGFpbmVyLmNvbnRyb2xsZXIuTmF2Q29udGFpbmVyLmNvbnRyb2xsZXJcblx0ICogQHJldHVybnMge2Jvb2xlYW59IGBmYWxzZWAgc2luY2Ugd2UgYXJlIG5vdCBpbiBGQ0wgc2NlbmFyaW9cblx0ICpcblx0ICogQHVpNS1yZXN0cmljdGVkXG5cdCAqIEBmaW5hbFxuXHQgKi9cblx0aXNGY2xFbmFibGVkKCkge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdF9zY3JvbGxUYWJsZXNUb0xhc3ROYXZpZ2F0ZWRJdGVtcygpIHtcblx0XHQvLyBEbyBub3RoaW5nXG5cdH1cblxuXHRkaXNwbGF5TWVzc2FnZVBhZ2Uoc0Vycm9yTWVzc2FnZTogYW55LCBtUGFyYW1ldGVyczogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBhbnksIHJlamVjdDogYW55KSA9PiB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRjb25zdCBvTmF2Q29udGFpbmVyID0gdGhpcy5fZ2V0TmF2Q29udGFpbmVyKCkgYXMgTmF2Q29udGFpbmVyO1xuXG5cdFx0XHRcdGlmICghdGhpcy5vTWVzc2FnZVBhZ2UpIHtcblx0XHRcdFx0XHR0aGlzLm9NZXNzYWdlUGFnZSA9IG5ldyBNZXNzYWdlUGFnZSh7XG5cdFx0XHRcdFx0XHRzaG93SGVhZGVyOiBmYWxzZSxcblx0XHRcdFx0XHRcdGljb246IFwic2FwLWljb246Ly9tZXNzYWdlLWVycm9yXCJcblx0XHRcdFx0XHR9KTtcblxuXHRcdFx0XHRcdG9OYXZDb250YWluZXIuYWRkUGFnZSh0aGlzLm9NZXNzYWdlUGFnZSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aGlzLm9NZXNzYWdlUGFnZS5zZXRUZXh0KHNFcnJvck1lc3NhZ2UpO1xuXG5cdFx0XHRcdGlmIChtUGFyYW1ldGVycy50ZWNobmljYWxNZXNzYWdlKSB7XG5cdFx0XHRcdFx0dGhpcy5vTWVzc2FnZVBhZ2Uuc2V0Q3VzdG9tRGVzY3JpcHRpb24oXG5cdFx0XHRcdFx0XHRuZXcgTGluayh7XG5cdFx0XHRcdFx0XHRcdHRleHQ6IG1QYXJhbWV0ZXJzLmRlc2NyaXB0aW9uIHx8IG1QYXJhbWV0ZXJzLnRlY2huaWNhbE1lc3NhZ2UsXG5cdFx0XHRcdFx0XHRcdHByZXNzOiBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRcdFx0TWVzc2FnZUJveC5zaG93KG1QYXJhbWV0ZXJzLnRlY2huaWNhbE1lc3NhZ2UsIHtcblx0XHRcdFx0XHRcdFx0XHRcdGljb246IEljb24uRVJST1IsXG5cdFx0XHRcdFx0XHRcdFx0XHR0aXRsZTogbVBhcmFtZXRlcnMudGl0bGUsXG5cdFx0XHRcdFx0XHRcdFx0XHRhY3Rpb25zOiBbQWN0aW9uLk9LXSxcblx0XHRcdFx0XHRcdFx0XHRcdGRlZmF1bHRBY3Rpb246IEFjdGlvbi5PSyxcblx0XHRcdFx0XHRcdFx0XHRcdGRldGFpbHM6IG1QYXJhbWV0ZXJzLnRlY2huaWNhbERldGFpbHMgfHwgXCJcIixcblx0XHRcdFx0XHRcdFx0XHRcdGNvbnRlbnRXaWR0aDogXCI2MCVcIlxuXHRcdFx0XHRcdFx0XHRcdH0gYXMgYW55KTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRoaXMub01lc3NhZ2VQYWdlLnNldERlc2NyaXB0aW9uKG1QYXJhbWV0ZXJzLmRlc2NyaXB0aW9uIHx8IFwiXCIpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKG1QYXJhbWV0ZXJzLmhhbmRsZVNoZWxsQmFjaykge1xuXHRcdFx0XHRcdGNvbnN0IG9FcnJvck9yaWdpblBhZ2UgPSBvTmF2Q29udGFpbmVyLmdldEN1cnJlbnRQYWdlKCksXG5cdFx0XHRcdFx0XHRvQXBwQ29tcG9uZW50ID0gQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KG9OYXZDb250YWluZXIuZ2V0Q3VycmVudFBhZ2UoKSk7XG5cdFx0XHRcdFx0b0FwcENvbXBvbmVudC5nZXRTaGVsbFNlcnZpY2VzKCkuc2V0QmFja05hdmlnYXRpb24oZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRcdFx0KG9OYXZDb250YWluZXIgYXMgYW55KS50byhvRXJyb3JPcmlnaW5QYWdlLmdldElkKCkpO1xuXHRcdFx0XHRcdFx0b0FwcENvbXBvbmVudC5nZXRTaGVsbFNlcnZpY2VzKCkuc2V0QmFja05hdmlnYXRpb24oKTtcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRvTmF2Q29udGFpbmVyLmF0dGFjaEFmdGVyTmF2aWdhdGUoZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRcdHJlc29sdmUodHJ1ZSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHQob05hdkNvbnRhaW5lciBhcyBhbnkpLnRvKHRoaXMub01lc3NhZ2VQYWdlLmdldElkKCkpO1xuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRyZWplY3QoZmFsc2UpO1xuXHRcdFx0XHRMb2cuaW5mbyhlIGFzIGFueSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTmF2Q29udGFpbmVyQ29udHJvbGxlcjtcbiJdfQ==
@@ -0,0 +1,178 @@
1
+ import Log from "sap/base/Log";
2
+ import CommonUtils from "sap/fe/core/CommonUtils";
3
+ import ViewState from "sap/fe/core/controllerextensions/ViewState";
4
+ import { defineUI5Class, usingExtension } from "sap/fe/core/helpers/ClassSupport";
5
+ import KeepAliveHelper from "sap/fe/core/helpers/KeepAliveHelper";
6
+ import Link from "sap/m/Link";
7
+ import MessageBox, { Action, Icon } from "sap/m/MessageBox";
8
+ import MessagePage from "sap/m/MessagePage";
9
+ import NavContainer from "sap/m/NavContainer";
10
+ import JSONModel from "sap/ui/model/json/JSONModel";
11
+ import BaseController from "./RootContainerBaseController";
12
+
13
+ @defineUI5Class("sap.fe.templates.RootContainer.controller.NavContainer")
14
+ class NavContainerController extends BaseController {
15
+ @usingExtension(
16
+ ViewState.override({
17
+ applyInitialStateOnly: function () {
18
+ return false;
19
+ },
20
+ adaptBindingRefreshControls: function (this: ViewState, aControls: any) {
21
+ const oView = this.getView(),
22
+ oController = oView.getController() as NavContainerController;
23
+ aControls.push(oController._getCurrentPage(oView));
24
+ },
25
+ adaptStateControls: function (this: ViewState, aStateControls: any) {
26
+ const oView = this.getView(),
27
+ oController = oView.getController() as NavContainerController;
28
+ aStateControls.push(oController._getCurrentPage(oView));
29
+ },
30
+ onRestore: function (this: ViewState) {
31
+ const oView = this.getView(),
32
+ oNavContainer = oView.byId("appContent"),
33
+ oController = oView.getController() as NavContainerController;
34
+ const oInternalModel = oNavContainer.getModel("internal") as JSONModel;
35
+ const oPages = oInternalModel.getProperty("/pages");
36
+
37
+ for (const sComponentId in oPages) {
38
+ oInternalModel.setProperty("/pages/" + sComponentId + "/restoreStatus", "pending");
39
+ }
40
+ oController.onContainerReady();
41
+ },
42
+ onSuspend: function (this: ViewState) {
43
+ const oView = this.getView(),
44
+ oNavContainer = oView.byId("appContent") as NavContainer;
45
+ const aPages = oNavContainer.getPages();
46
+ aPages.forEach(function (oPage: any) {
47
+ const oTargetView = CommonUtils.getTargetView(oPage);
48
+
49
+ const oController = oTargetView && oTargetView.getController();
50
+ if (oController && oController.viewState && oController.viewState.onSuspend) {
51
+ return oController.viewState.onSuspend();
52
+ }
53
+ });
54
+ }
55
+ })
56
+ )
57
+ viewState!: ViewState;
58
+ private oMessagePage?: MessagePage;
59
+
60
+ onContainerReady() {
61
+ // Restore views if neccessary.
62
+ const oView = this.getView(),
63
+ oPagePromise = this._getCurrentPage(oView);
64
+
65
+ return oPagePromise.then(function (oCurrentPage: any) {
66
+ const oTargetView = CommonUtils.getTargetView(oCurrentPage);
67
+ return KeepAliveHelper.restoreView(oTargetView);
68
+ });
69
+ }
70
+
71
+ _getCurrentPage(oView: any) {
72
+ return new Promise(function (resolve: (value: any) => void) {
73
+ const oNavContainer = oView.byId("appContent");
74
+ const oCurrentPage = oNavContainer.getCurrentPage();
75
+ if (
76
+ oCurrentPage &&
77
+ oCurrentPage.getController &&
78
+ oCurrentPage.getController().isPlaceholder &&
79
+ oCurrentPage.getController().isPlaceholder()
80
+ ) {
81
+ oCurrentPage.getController().attachEventOnce("targetPageInsertedInContainer", function (oEvent: any) {
82
+ const oTargetPage = oEvent.getParameter("targetpage");
83
+ const oTargetView = CommonUtils.getTargetView(oTargetPage);
84
+ resolve(oTargetView !== oView && oTargetView);
85
+ });
86
+ } else {
87
+ const oTargetView = CommonUtils.getTargetView(oCurrentPage);
88
+ resolve(oTargetView !== oView && oTargetView);
89
+ }
90
+ });
91
+ }
92
+
93
+ /**
94
+ * @private
95
+ * @name sap.fe.templates.RootContainer.controller.NavContainer.getMetadata
96
+ * @function
97
+ */
98
+
99
+ _getNavContainer() {
100
+ return this.getView().getContent()[0];
101
+ }
102
+
103
+ /**
104
+ * Check if the FCL component is enabled.
105
+ *
106
+ * @function
107
+ * @name sap.fe.templates.RootContainer.controller.NavContainer.controller#isFclEnabled
108
+ * @memberof sap.fe.templates.RootContainer.controller.NavContainer.controller
109
+ * @returns {boolean} `false` since we are not in FCL scenario
110
+ *
111
+ * @ui5-restricted
112
+ * @final
113
+ */
114
+ isFclEnabled() {
115
+ return false;
116
+ }
117
+
118
+ _scrollTablesToLastNavigatedItems() {
119
+ // Do nothing
120
+ }
121
+
122
+ displayMessagePage(sErrorMessage: any, mParameters: any): Promise<boolean> {
123
+ return new Promise((resolve: any, reject: any) => {
124
+ try {
125
+ const oNavContainer = this._getNavContainer() as NavContainer;
126
+
127
+ if (!this.oMessagePage) {
128
+ this.oMessagePage = new MessagePage({
129
+ showHeader: false,
130
+ icon: "sap-icon://message-error"
131
+ });
132
+
133
+ oNavContainer.addPage(this.oMessagePage);
134
+ }
135
+
136
+ this.oMessagePage.setText(sErrorMessage);
137
+
138
+ if (mParameters.technicalMessage) {
139
+ this.oMessagePage.setCustomDescription(
140
+ new Link({
141
+ text: mParameters.description || mParameters.technicalMessage,
142
+ press: function () {
143
+ MessageBox.show(mParameters.technicalMessage, {
144
+ icon: Icon.ERROR,
145
+ title: mParameters.title,
146
+ actions: [Action.OK],
147
+ defaultAction: Action.OK,
148
+ details: mParameters.technicalDetails || "",
149
+ contentWidth: "60%"
150
+ } as any);
151
+ }
152
+ })
153
+ );
154
+ } else {
155
+ this.oMessagePage.setDescription(mParameters.description || "");
156
+ }
157
+
158
+ if (mParameters.handleShellBack) {
159
+ const oErrorOriginPage = oNavContainer.getCurrentPage(),
160
+ oAppComponent = CommonUtils.getAppComponent(oNavContainer.getCurrentPage());
161
+ oAppComponent.getShellServices().setBackNavigation(function () {
162
+ (oNavContainer as any).to(oErrorOriginPage.getId());
163
+ oAppComponent.getShellServices().setBackNavigation();
164
+ });
165
+ }
166
+ oNavContainer.attachAfterNavigate(function () {
167
+ resolve(true);
168
+ });
169
+ (oNavContainer as any).to(this.oMessagePage.getId());
170
+ } catch (e) {
171
+ reject(false);
172
+ Log.info(e as any);
173
+ }
174
+ });
175
+ }
176
+ }
177
+
178
+ export default NavContainerController;