@sapui5/sap.fe.templates 1.96.2 → 1.96.5
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.
- package/package.json +1 -1
- package/src/sap/fe/templates/.library +1 -1
- package/src/sap/fe/templates/AnalyticalListPage/Component.js +1 -1
- package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +1 -1
- package/src/sap/fe/templates/ListComponent.js +1 -1
- package/src/sap/fe/templates/ListReport/Component.js +1 -1
- package/src/sap/fe/templates/ListReport/ExtensionAPI.js +1 -1
- package/src/sap/fe/templates/ListReport/ListReportController.controller.js +8 -15
- package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +1 -1
- package/src/sap/fe/templates/ListReport/overrides/Share.js +37 -22
- package/src/sap/fe/templates/ListReport/overrides/ViewState.js +32 -32
- package/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +21 -1
- package/src/sap/fe/templates/ObjectPage/Component.js +1 -1
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +1 -1
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +72 -100
- package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +1 -1
- package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.js +1 -1
- package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +1 -1
- package/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js +1 -1
- package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +1 -1
- package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +1 -1
- package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.js +1 -1
- package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.js +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/Share.js +45 -34
- package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +1 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +1 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +1 -4
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +1 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +1 -0
- package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +60 -7
- package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +1 -1
- package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +25 -22
- package/src/sap/fe/templates/RootContainer/overrides/EditFlow.js +1 -1
- package/src/sap/fe/templates/RootContainer/view/Fcl.view.xml +2 -1
- package/src/sap/fe/templates/RootContainer/view/NavContainer.view.xml +1 -1
- package/src/sap/fe/templates/TableScroller.js +1 -1
- package/src/sap/fe/templates/library.js +2 -2
- package/src/sap/fe/templates/controls/OverflowToolbarButtonHover.js +0 -25
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
// ---------------------------------------------------------------------------------------
|
|
6
6
|
// Helper class used to help create content in the chart/item and fill relevant metadata
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
sap.ui.define(["sap/fe/core/ExtensionAPI", "sap/fe/macros/filter/FilterUtils", "sap/fe/macros/chart/ChartUtils"], function(
|
|
6
6
|
ExtensionAPI,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
sap.ui.define(
|
|
@@ -245,21 +245,14 @@ sap.ui.define(
|
|
|
245
245
|
});
|
|
246
246
|
},
|
|
247
247
|
onPageReady: function(mParameters) {
|
|
248
|
-
var oLastFocusedControl = mParameters.lastFocusedControl;
|
|
249
|
-
var oView = this.getView();
|
|
250
|
-
// set the focus to the first action button, or to the first editable input if in editable mode
|
|
251
|
-
if (oLastFocusedControl && oLastFocusedControl.controlId && oLastFocusedControl.focusInfo) {
|
|
252
|
-
var oFocusControl = oView.byId(oLastFocusedControl.controlId);
|
|
253
|
-
if (oFocusControl) {
|
|
254
|
-
oFocusControl.applyFocusInfo(oLastFocusedControl.focusInfo);
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
|
|
258
248
|
// Enabling mandatory filter fields message dialog and focusing on them
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
oFilterBar.
|
|
249
|
+
if (mParameters.forceFocus) {
|
|
250
|
+
var oFilterBar = this._getFilterBarControl();
|
|
251
|
+
|
|
252
|
+
if (oFilterBar && !oFilterBar.getShowMessages()) {
|
|
253
|
+
oFilterBar.setShowMessages(true);
|
|
254
|
+
oFilterBar.setFocusOnFirstErroneousField();
|
|
255
|
+
}
|
|
263
256
|
}
|
|
264
257
|
},
|
|
265
258
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
sap.ui.define(
|
|
6
6
|
["sap/fe/core/helpers/SemanticDateOperators", "sap/ui/core/routing/HashChanger", "sap/fe/core/CommonUtils", "sap/base/Log"],
|
|
@@ -52,11 +52,19 @@ sap.ui.define(
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
function getShareUrl() {
|
|
55
|
-
var
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
55
|
+
var oUShellContainer = sap.ushell && sap.ushell.Container;
|
|
56
|
+
if (oUShellContainer) {
|
|
57
|
+
return oUShellContainer
|
|
58
|
+
.getFLPUrlAsync(true)
|
|
59
|
+
.then(function(sFLPUrl) {
|
|
60
|
+
return sFLPUrl;
|
|
61
|
+
})
|
|
62
|
+
.catch(function(sError) {
|
|
63
|
+
Log.error("Could not retrieve cFLP URL for the sharing dialog (dialog will not be opened)", sError);
|
|
64
|
+
});
|
|
65
|
+
} else {
|
|
66
|
+
return Promise.resolve(document.URL);
|
|
67
|
+
}
|
|
60
68
|
}
|
|
61
69
|
|
|
62
70
|
function getSaveAsTileServiceUrl(oController) {
|
|
@@ -99,22 +107,29 @@ sap.ui.define(
|
|
|
99
107
|
return {
|
|
100
108
|
adaptShareMetadata: function(oShareMetadata) {
|
|
101
109
|
var that = this;
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
110
|
+
Promise.resolve(getJamUrl())
|
|
111
|
+
.then(function(sJamUrl) {
|
|
112
|
+
var oAppComponent = CommonUtils.getAppComponent(that.base.getView());
|
|
113
|
+
var oMetadata = oAppComponent.getMetadata();
|
|
114
|
+
var oUIManifest = oMetadata.getManifestEntry("sap.ui");
|
|
115
|
+
var sIcon = (oUIManifest && oUIManifest.icons && oUIManifest.icons.icon) || "";
|
|
116
|
+
var oAppManifest = oMetadata.getManifestEntry("sap.app");
|
|
117
|
+
var sTitle = (oAppManifest && oAppManifest.title) || "";
|
|
118
|
+
// TODO: check if there is any semantic date used before adding serviceURL as BLI:FIORITECHP1-18023
|
|
119
|
+
oShareMetadata.tile = {
|
|
120
|
+
icon: sIcon,
|
|
121
|
+
title: sTitle,
|
|
122
|
+
queryUrl: getSaveAsTileServiceUrl(that.base)
|
|
123
|
+
};
|
|
124
|
+
oShareMetadata.title = document.title;
|
|
125
|
+
oShareMetadata.jam.url = sJamUrl;
|
|
126
|
+
})
|
|
127
|
+
.catch(function(error) {
|
|
128
|
+
Log.error(error);
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
return Promise.resolve(getShareUrl()).then(function(sFLPUrl) {
|
|
132
|
+
oShareMetadata.url = sFLPUrl;
|
|
118
133
|
return oShareMetadata;
|
|
119
134
|
});
|
|
120
135
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
sap.ui.define(
|
|
6
6
|
[
|
|
@@ -124,42 +124,42 @@ sap.ui.define(
|
|
|
124
124
|
var oView = this.getView(),
|
|
125
125
|
that = this,
|
|
126
126
|
oController = oView.getController(),
|
|
127
|
-
|
|
128
|
-
oAppComponent = sap.ui.core.Component.getOwnerComponentFor(oComponent),
|
|
127
|
+
oAppComponent = oController.getAppComponent(oView),
|
|
129
128
|
oComponentData = oAppComponent.getComponentData(),
|
|
130
129
|
oStartupParameters = (oComponentData && oComponentData.startupParameters) || {},
|
|
131
130
|
oVariantPromise = that.handleVariantIdPassedViaURLParams(oStartupParameters),
|
|
132
131
|
bFilterVariantApplied;
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
if (aVariants
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
var oRes = that._applySelectionVariant(oView, oNavigationParameter, bFilterVariantApplied).then(function() {
|
|
141
|
-
var oController = oView.getController();
|
|
142
|
-
var oDynamicPage = oView.byId("fe::ListReport");
|
|
143
|
-
var bPreventInitialSearch = false;
|
|
144
|
-
var oFilterBarVM = that._getFilterBarVM(oView);
|
|
145
|
-
var oFilterBarControl = oController._getFilterBarControl();
|
|
146
|
-
if (
|
|
147
|
-
(oNavigationParameter.navigationType !== NavType.initial && oNavigationParameter.requiresStandardVariant) ||
|
|
148
|
-
(!oFilterBarVM && oView.getViewData().initialLoad === InitialLoadMode.Enabled) ||
|
|
149
|
-
oController._shouldAutoTriggerSearch(oFilterBarVM)
|
|
150
|
-
) {
|
|
151
|
-
oFilterBarControl.triggerSearch();
|
|
152
|
-
} else {
|
|
153
|
-
bPreventInitialSearch = that._preventInitialSearch(oFilterBarVM);
|
|
132
|
+
aResults.push(
|
|
133
|
+
oVariantPromise
|
|
134
|
+
.then(function(aVariants) {
|
|
135
|
+
if (aVariants && aVariants.length > 0) {
|
|
136
|
+
if (aVariants[0] === true || aVariants[1] === true) {
|
|
137
|
+
bFilterVariantApplied = true;
|
|
138
|
+
}
|
|
154
139
|
}
|
|
155
|
-
that.
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
140
|
+
return that._applySelectionVariant(oView, oNavigationParameter, bFilterVariantApplied).then(function() {
|
|
141
|
+
var oDynamicPage = oView.byId("fe::ListReport");
|
|
142
|
+
var bPreventInitialSearch = false;
|
|
143
|
+
var oFilterBarVM = that._getFilterBarVM(oView);
|
|
144
|
+
var oFilterBarControl = oController._getFilterBarControl();
|
|
145
|
+
if (
|
|
146
|
+
(oNavigationParameter.navigationType !== NavType.initial &&
|
|
147
|
+
oNavigationParameter.requiresStandardVariant) ||
|
|
148
|
+
(!oFilterBarVM && oView.getViewData().initialLoad === InitialLoadMode.Enabled) ||
|
|
149
|
+
oController._shouldAutoTriggerSearch(oFilterBarVM)
|
|
150
|
+
) {
|
|
151
|
+
oFilterBarControl.triggerSearch();
|
|
152
|
+
} else {
|
|
153
|
+
bPreventInitialSearch = that._preventInitialSearch(oFilterBarVM);
|
|
154
|
+
}
|
|
155
|
+
that._bSearchTriggered = !bPreventInitialSearch;
|
|
156
|
+
oDynamicPage.setHeaderExpanded(Device.system.desktop || bPreventInitialSearch);
|
|
157
|
+
});
|
|
158
|
+
})
|
|
159
|
+
.catch(function() {
|
|
160
|
+
Log.error("Variant ID cannot be applied");
|
|
161
|
+
})
|
|
162
|
+
);
|
|
163
163
|
},
|
|
164
164
|
|
|
165
165
|
handleVariantIdPassedViaURLParams: function(oUrlParams) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
sap.ui.define(
|
|
@@ -447,6 +447,26 @@ sap.ui.define(
|
|
|
447
447
|
return undefined;
|
|
448
448
|
}
|
|
449
449
|
}
|
|
450
|
+
},
|
|
451
|
+
isSubSectionTitleVisible: function(sSubSectionvisible, sSubSectiontitle, sSubSectionshowTitle) {
|
|
452
|
+
if (sSubSectionvisible.indexOf("{=") === 0) {
|
|
453
|
+
// Dynamic expression
|
|
454
|
+
var sExpressionResult = sSubSectionvisible.substring(
|
|
455
|
+
sSubSectionvisible.indexOf("{=") + 2,
|
|
456
|
+
sSubSectionvisible.lastIndexOf("}")
|
|
457
|
+
);
|
|
458
|
+
return (
|
|
459
|
+
"{= (" +
|
|
460
|
+
sExpressionResult +
|
|
461
|
+
") && ('" +
|
|
462
|
+
sSubSectiontitle +
|
|
463
|
+
"' !=='undefined') && (" +
|
|
464
|
+
sSubSectionshowTitle +
|
|
465
|
+
" ? true : false) }"
|
|
466
|
+
);
|
|
467
|
+
} else {
|
|
468
|
+
return sSubSectionvisible && sSubSectiontitle !== "undefined" && (sSubSectionshowTitle ? true : false);
|
|
469
|
+
}
|
|
450
470
|
}
|
|
451
471
|
};
|
|
452
472
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
sap.ui.define(["sap/fe/core/ExtensionAPI", "sap/fe/core/CommonUtils", "sap/fe/core/converters/helpers/ID"], function(
|
|
6
6
|
ExtensionAPI,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
sap.ui.define(
|
|
6
6
|
[
|
|
@@ -295,7 +295,9 @@ sap.ui.define(
|
|
|
295
295
|
// In IconTabBar mode keep the second section bound if there is an editable header and we are switching to display mode
|
|
296
296
|
if (iSkip < 1 || (bUseIconTabBar && (iSection > 1 || (iSection === 1 && !bEditableHeader && !bIsInEditMode)))) {
|
|
297
297
|
var oSubSection = aSubSections[iSubSection];
|
|
298
|
-
oSubSection.
|
|
298
|
+
if (oSubSection.data().isVisibilityDynamic !== "true") {
|
|
299
|
+
oSubSection.setBindingContext(null);
|
|
300
|
+
}
|
|
299
301
|
}
|
|
300
302
|
}
|
|
301
303
|
}
|
|
@@ -315,7 +317,7 @@ sap.ui.define(
|
|
|
315
317
|
var aActions = oObjectPage.getHeaderTitle() && oObjectPage.getHeaderTitle().getActions();
|
|
316
318
|
if (aActions && aActions.length) {
|
|
317
319
|
oFirstClickableElement = aActions.find(function(oAction) {
|
|
318
|
-
return oAction.getVisible();
|
|
320
|
+
return oAction.getVisible() && oAction.getEnabled();
|
|
319
321
|
});
|
|
320
322
|
}
|
|
321
323
|
return oFirstClickableElement;
|
|
@@ -354,37 +356,28 @@ sap.ui.define(
|
|
|
354
356
|
return undefined;
|
|
355
357
|
},
|
|
356
358
|
|
|
357
|
-
|
|
358
|
-
|
|
359
|
+
_updateFocusInEditMode: function(aSubSections) {
|
|
360
|
+
var oObjectPage = this.byId("fe::ObjectPage");
|
|
361
|
+
|
|
362
|
+
var oMandatoryField = this._getFirstEmptyMandatoryFieldFromSubSection(aSubSections);
|
|
363
|
+
var oFieldToFocus;
|
|
364
|
+
if (oMandatoryField) {
|
|
365
|
+
oFieldToFocus = oMandatoryField.content.getContentEdit()[0];
|
|
366
|
+
} else {
|
|
367
|
+
oFieldToFocus = oObjectPage._getFirstEditableInput() || this._getFirstClickableElement(oObjectPage);
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
if (oFieldToFocus) {
|
|
371
|
+
setTimeout(function() {
|
|
372
|
+
// We set the focus in a timeeout, otherwise the focus sometimes goes to the TabBar
|
|
373
|
+
oFieldToFocus.focus();
|
|
374
|
+
}, 0);
|
|
375
|
+
}
|
|
359
376
|
},
|
|
360
377
|
|
|
361
378
|
_handleSubSectionEnteredViewPort: function(oEvent) {
|
|
362
379
|
var oSubSection = oEvent.getParameter("subSection");
|
|
363
|
-
var oInternalModelContext = this.getView().getBindingContext("internal");
|
|
364
380
|
oSubSection.setBindingContext(undefined);
|
|
365
|
-
var oObjectPage = this.byId("fe::ObjectPage");
|
|
366
|
-
if (oObjectPage.getModel("ui").getProperty("/editMode") !== "Display") {
|
|
367
|
-
if (
|
|
368
|
-
this.getView().getViewData().sectionLayout === "Tabs" &&
|
|
369
|
-
this.initialTab.value === false &&
|
|
370
|
-
oInternalModelContext.getProperty("errorNavigationSectionFlag") === false
|
|
371
|
-
) {
|
|
372
|
-
var oFieldToFocus = this._getFirstEmptyMandatoryFieldFromSubSection([oSubSection]);
|
|
373
|
-
if (oFieldToFocus) {
|
|
374
|
-
oFieldToFocus.content.getContentEdit()[0].focus();
|
|
375
|
-
} else {
|
|
376
|
-
var oFirstEditableInput = oObjectPage._getFirstEditableInput();
|
|
377
|
-
if (oFirstEditableInput) {
|
|
378
|
-
oFirstEditableInput.focus();
|
|
379
|
-
} else {
|
|
380
|
-
var oFirstClickableElement = this._getFirstClickableElement(oObjectPage);
|
|
381
|
-
if (oFirstClickableElement) {
|
|
382
|
-
oFirstClickableElement.focus();
|
|
383
|
-
}
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
}
|
|
388
381
|
},
|
|
389
382
|
|
|
390
383
|
_onBackNavigationInDraft: function(oContext) {
|
|
@@ -562,16 +555,6 @@ sap.ui.define(
|
|
|
562
555
|
},
|
|
563
556
|
onPageReady: function(mParameters) {
|
|
564
557
|
// Apply app state only after the page is ready with the first section selected
|
|
565
|
-
function getVisibleSections(oObjectPage) {
|
|
566
|
-
var aVisibleSections;
|
|
567
|
-
var aSections = oObjectPage.getSections();
|
|
568
|
-
if (aSections && aSections.length) {
|
|
569
|
-
aVisibleSections = aSections.filter(function(oSection) {
|
|
570
|
-
return oSection.getVisible() === true;
|
|
571
|
-
});
|
|
572
|
-
}
|
|
573
|
-
return aVisibleSections;
|
|
574
|
-
}
|
|
575
558
|
var that = this;
|
|
576
559
|
var oView = this.getView();
|
|
577
560
|
var oInternalModelContext = oView.getBindingContext("internal");
|
|
@@ -587,60 +570,39 @@ sap.ui.define(
|
|
|
587
570
|
this.getAppComponent()
|
|
588
571
|
.getAppStateHandler()
|
|
589
572
|
.applyAppState();
|
|
590
|
-
var oLastFocusedControl = mParameters.lastFocusedControl;
|
|
591
|
-
if (oLastFocusedControl && oLastFocusedControl.controlId && oLastFocusedControl.focusInfo) {
|
|
592
|
-
var oFocusControl = oView.byId(oLastFocusedControl.controlId);
|
|
593
|
-
if (oFocusControl) {
|
|
594
|
-
oFocusControl.applyFocusInfo(oLastFocusedControl.focusInfo);
|
|
595
|
-
return;
|
|
596
|
-
}
|
|
597
|
-
}
|
|
598
|
-
var oObjectPage = this.byId("fe::ObjectPage");
|
|
599
|
-
// set the focus to the first action button, or to the first editable input if in editable mode
|
|
600
|
-
var isInDisplayMode = oObjectPage.getModel("ui").getProperty("/editMode") === "Display";
|
|
601
|
-
var oFirstClickableElement;
|
|
602
|
-
var aVisibleSections = getVisibleSections(oObjectPage);
|
|
603
573
|
|
|
604
|
-
if (
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
}
|
|
611
|
-
|
|
612
|
-
//Focus on first mandatory empty field
|
|
574
|
+
if (mParameters.forceFocus) {
|
|
575
|
+
var oObjectPage = this.byId("fe::ObjectPage");
|
|
576
|
+
// set the focus to the first action button, or to the first editable input if in editable mode
|
|
577
|
+
var isInDisplayMode = oObjectPage.getModel("ui").getProperty("/editMode") === "Display";
|
|
578
|
+
var aVisibleSections = oObjectPage.getSections().filter(function(oSection) {
|
|
579
|
+
return oSection.getVisible() === true;
|
|
580
|
+
});
|
|
581
|
+
// Select the first visible section
|
|
613
582
|
oObjectPage.setSelectedSection(aVisibleSections[0].getId());
|
|
614
|
-
if (
|
|
615
|
-
oView.getViewData().sectionLayout === "Page" ||
|
|
616
|
-
(oView.getViewData().sectionLayout === "Tabs" && this.initialTab.value === true)
|
|
617
|
-
) {
|
|
618
|
-
var oFieldToFocus;
|
|
619
|
-
var aSubSections = [];
|
|
620
|
-
for (var section = 0; section < aVisibleSections.length; section++) {
|
|
621
|
-
aSubSections = aVisibleSections[section].getSubSections();
|
|
622
|
-
oFieldToFocus = this._getFirstEmptyMandatoryFieldFromSubSection(aSubSections);
|
|
623
|
-
if (oFieldToFocus) {
|
|
624
|
-
oFieldToFocus.content.getContentEdit()[0].focus();
|
|
625
|
-
break;
|
|
626
|
-
}
|
|
627
|
-
}
|
|
628
583
|
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
584
|
+
if (isInDisplayMode) {
|
|
585
|
+
var oFirstClickableElement = this._getFirstClickableElement(oObjectPage);
|
|
586
|
+
if (oFirstClickableElement) {
|
|
587
|
+
oFirstClickableElement.focus();
|
|
588
|
+
}
|
|
589
|
+
} else {
|
|
590
|
+
var aVisibleSubSections;
|
|
591
|
+
if (oView.getViewData().sectionLayout === "Tabs") {
|
|
592
|
+
// In a tabbed layout, only the subsections of the selected section are visible on the screen
|
|
593
|
+
aVisibleSubSections = aVisibleSections[0].getSubSections();
|
|
635
594
|
} else {
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
595
|
+
// In a paged layout, all subsections of the visible sections are visible on the screen
|
|
596
|
+
aVisibleSubSections = aVisibleSections
|
|
597
|
+
.map(function(oSection) {
|
|
598
|
+
return oSection.getSubSections();
|
|
599
|
+
})
|
|
600
|
+
.flat();
|
|
640
601
|
}
|
|
602
|
+
this._updateFocusInEditMode(aVisibleSubSections);
|
|
641
603
|
}
|
|
642
|
-
this.initialTab.value = false;
|
|
643
604
|
}
|
|
605
|
+
|
|
644
606
|
oInternalModelContext.setProperty("errorNavigationSectionFlag", false);
|
|
645
607
|
this._checkDataPointTitleForExternalNavigation();
|
|
646
608
|
},
|
|
@@ -805,20 +767,19 @@ sap.ui.define(
|
|
|
805
767
|
);
|
|
806
768
|
}
|
|
807
769
|
});
|
|
808
|
-
return Promise.all(aWaitCreateDocuments)
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
.saveDocument(oContext, mParameters)
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
});
|
|
770
|
+
return Promise.all(aWaitCreateDocuments)
|
|
771
|
+
.then(function(aBindings) {
|
|
772
|
+
var mParameters = {
|
|
773
|
+
bExecuteSideEffectsOnError: bExecuteSideEffectsOnError,
|
|
774
|
+
bindings: aBindings
|
|
775
|
+
};
|
|
776
|
+
return that.editFlow.saveDocument(oContext, mParameters).catch(that._showMessagePopover.bind(that));
|
|
777
|
+
})
|
|
778
|
+
.finally(function() {
|
|
779
|
+
if (BusyLocker.isLocked(oModel)) {
|
|
780
|
+
BusyLocker.unlock(oModel);
|
|
781
|
+
}
|
|
782
|
+
});
|
|
822
783
|
},
|
|
823
784
|
|
|
824
785
|
_cancelDocument: function(oContext, mParameters) {
|
|
@@ -1349,6 +1310,17 @@ sap.ui.define(
|
|
|
1349
1310
|
//will be called always when we click on a section tab
|
|
1350
1311
|
this.getExtensionAPI().updateAppState();
|
|
1351
1312
|
this.bSectionNavigated = true;
|
|
1313
|
+
|
|
1314
|
+
var oInternalModelContext = this.getView().getBindingContext("internal");
|
|
1315
|
+
var oObjectPage = this.byId("fe::ObjectPage");
|
|
1316
|
+
if (
|
|
1317
|
+
oObjectPage.getModel("ui").getProperty("/editMode") !== "Display" &&
|
|
1318
|
+
this.getView().getViewData().sectionLayout === "Tabs" &&
|
|
1319
|
+
oInternalModelContext.getProperty("errorNavigationSectionFlag") === false
|
|
1320
|
+
) {
|
|
1321
|
+
var oSubSection = oEvent.getParameter("subSection");
|
|
1322
|
+
this._updateFocusInEditMode([oSubSection]);
|
|
1323
|
+
}
|
|
1352
1324
|
},
|
|
1353
1325
|
onVariantSelected: function(oEvent) {
|
|
1354
1326
|
this.getExtensionAPI().updateAppState();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/navigation/SelectionVariant"], function(CommonUtils, SelectionVariant) {
|
|
6
6
|
"use strict";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/navigation/SelectionVariant"], function(CommonUtils, SelectionVariant) {
|
|
6
6
|
"use strict";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
sap.ui.define(
|
|
6
6
|
[
|
|
@@ -229,25 +229,29 @@ sap.ui.define(
|
|
|
229
229
|
}
|
|
230
230
|
}
|
|
231
231
|
|
|
232
|
-
/**
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
function getShareUrl(
|
|
242
|
-
var
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
232
|
+
// /**
|
|
233
|
+
// * Get share URL.
|
|
234
|
+
// * @param sEditMode
|
|
235
|
+
// * @param bIsStickySupported
|
|
236
|
+
// * @param aActiveContextPaths
|
|
237
|
+
// * @returns {string} The share URL
|
|
238
|
+
// * @protected
|
|
239
|
+
// * @static
|
|
240
|
+
// */
|
|
241
|
+
function getShareUrl() {
|
|
242
|
+
var oUShellContainer = sap.ushell && sap.ushell.Container;
|
|
243
|
+
if (oUShellContainer) {
|
|
244
|
+
return oUShellContainer
|
|
245
|
+
.getFLPUrlAsync(true)
|
|
246
|
+
.then(function(sFLPUrl) {
|
|
247
|
+
return sFLPUrl;
|
|
248
|
+
})
|
|
249
|
+
.catch(function(sError) {
|
|
250
|
+
Log.error("Could not retrieve cFLP URL for the sharing dialog (dialog will not be opened)", sError);
|
|
251
|
+
});
|
|
247
252
|
} else {
|
|
248
|
-
|
|
253
|
+
return Promise.resolve(document.URL);
|
|
249
254
|
}
|
|
250
|
-
return sShareUrl;
|
|
251
255
|
}
|
|
252
256
|
|
|
253
257
|
function getJamUrl(sEditMode, bIsStickySupported, aActiveContextPaths) {
|
|
@@ -290,22 +294,29 @@ sap.ui.define(
|
|
|
290
294
|
._getPageTitleInformation()
|
|
291
295
|
);
|
|
292
296
|
aPromises.push(getJamUrl(sEditMode, bIsStickySupported, aActiveContextPaths));
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
297
|
+
Promise.all(aPromises)
|
|
298
|
+
.then(function(oData) {
|
|
299
|
+
var oPageTitleInfo = oData[0];
|
|
300
|
+
var sJamUrl = oData[1];
|
|
301
|
+
var sTitle = oPageTitleInfo.title;
|
|
302
|
+
var sObjectSubtitle = oPageTitleInfo.subtitle.toString();
|
|
303
|
+
if (sObjectSubtitle) {
|
|
304
|
+
sTitle = sTitle + " - " + sObjectSubtitle;
|
|
305
|
+
}
|
|
306
|
+
oShareMetadata.tile = {
|
|
307
|
+
title: oPageTitleInfo.title,
|
|
308
|
+
subtitle: oPageTitleInfo.subtitle.toString()
|
|
309
|
+
};
|
|
310
|
+
oShareMetadata.email.title = sTitle;
|
|
311
|
+
oShareMetadata.title = sTitle;
|
|
312
|
+
oShareMetadata.jam.url = sJamUrl;
|
|
313
|
+
})
|
|
314
|
+
.catch(function(error) {
|
|
315
|
+
Log.error(error);
|
|
316
|
+
});
|
|
317
|
+
|
|
318
|
+
return Promise.resolve(getShareUrl()).then(function(sFLPUrl) {
|
|
319
|
+
oShareMetadata.url = sFLPUrl;
|
|
309
320
|
return oShareMetadata;
|
|
310
321
|
});
|
|
311
322
|
});
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
>
|
|
58
58
|
<uxap:customData>
|
|
59
59
|
<core:CustomData key="strategyForVisibilityChange" value="lazyLoading" />
|
|
60
|
+
<core:CustomData key="isVisibilityDynamic" value="{subSection>isVisibilityDynamic}" />
|
|
60
61
|
</uxap:customData>
|
|
61
62
|
<template:if test="{= ${subSection>type} === 'Mixed'}">
|
|
62
63
|
<template:then>
|
|
@@ -131,10 +131,7 @@
|
|
|
131
131
|
<template:elseif test="{= ${subSection>type} === 'DataVisualization'}">
|
|
132
132
|
<uxap:blocks>
|
|
133
133
|
<template:if test="{= ${subSection>level} === 2}">
|
|
134
|
-
<Title
|
|
135
|
-
text="{subSection>title}"
|
|
136
|
-
visible="{= ${subSection>visible} && ${subSection>title} !=='undefined' && ${subSection>showTitle} ? true : false}"
|
|
137
|
-
/>
|
|
134
|
+
<Title text="{subSection>title}" visible="{subSection>titleVisible}" />
|
|
138
135
|
</template:if>
|
|
139
136
|
<opcontrol:SubSectionBlock visible="{subSection>visible}">
|
|
140
137
|
<opcontrol:content>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
sap.ui.define(
|
|
6
6
|
[
|
|
@@ -536,9 +536,11 @@ sap.ui.define(
|
|
|
536
536
|
if (FCLLevel >= this._oFCLConfig.maxColumnsCount) {
|
|
537
537
|
// The view is on a level > max number of columns. It's always fullscreen without close/exit buttons
|
|
538
538
|
viewColumn = oFclColName[this._oFCLConfig.maxColumnsCount - 1];
|
|
539
|
+
oUIState.actionButtonsInfo.midColumn.fullScreen = null;
|
|
539
540
|
oUIState.actionButtonsInfo.midColumn.exitFullScreen = null;
|
|
540
541
|
oUIState.actionButtonsInfo.midColumn.closeColumn = null;
|
|
541
542
|
oUIState.actionButtonsInfo.endColumn.exitFullScreen = null;
|
|
543
|
+
oUIState.actionButtonsInfo.endColumn.fullScreen = null;
|
|
542
544
|
oUIState.actionButtonsInfo.endColumn.closeColumn = null;
|
|
543
545
|
} else {
|
|
544
546
|
viewColumn = oFclColName[FCLLevel];
|
|
@@ -558,7 +560,13 @@ sap.ui.define(
|
|
|
558
560
|
// so we have to add this info manually
|
|
559
561
|
oUIState.actionButtonsInfo.beginColumn = { fullScreen: null, exitFullScreen: null, closeColumn: null };
|
|
560
562
|
|
|
561
|
-
|
|
563
|
+
var oActionButtonInfos = Object.assign({}, oUIState.actionButtonsInfo[viewColumn]);
|
|
564
|
+
oActionButtonInfos.switchVisible = oActionButtonInfos.fullScreen !== null || oActionButtonInfos.exitFullScreen !== null;
|
|
565
|
+
oActionButtonInfos.switchIcon =
|
|
566
|
+
oActionButtonInfos.fullScreen !== null ? "sap-icon://full-screen" : "sap-icon://exit-full-screen";
|
|
567
|
+
oActionButtonInfos.isFullScreen = oActionButtonInfos.fullScreen === null;
|
|
568
|
+
|
|
569
|
+
oView.getModel("fclhelper").setProperty("/actionButtonsInfo", oActionButtonInfos);
|
|
562
570
|
|
|
563
571
|
oView.getModel("fclhelper").setProperty("/showShareIcon", this._updateShareButtonVisibility(viewColumn, sLayout));
|
|
564
572
|
},
|
|
@@ -589,11 +597,7 @@ sap.ui.define(
|
|
|
589
597
|
|
|
590
598
|
// Update the layout of the FlexibleColumnLayout
|
|
591
599
|
if (sLayout) {
|
|
592
|
-
|
|
593
|
-
this.getFclControl().setModel(new JSONModel(), "fcl");
|
|
594
|
-
this.getFclControl().bindProperty("layout", "fcl>/layout");
|
|
595
|
-
}
|
|
596
|
-
this.getFclControl().setProperty("layout", sLayout);
|
|
600
|
+
this.getFclControl().setLayout(sLayout);
|
|
597
601
|
}
|
|
598
602
|
}
|
|
599
603
|
},
|
|
@@ -756,6 +760,55 @@ sap.ui.define(
|
|
|
756
760
|
return aPromises;
|
|
757
761
|
}, aRestorePromises);
|
|
758
762
|
return Promise.all(aRestorePromises);
|
|
763
|
+
},
|
|
764
|
+
|
|
765
|
+
getRightmostContext: function() {
|
|
766
|
+
var oContext;
|
|
767
|
+
switch (this.getFclControl().getLayout()) {
|
|
768
|
+
case sap.f.LayoutType.OneColumn:
|
|
769
|
+
if (this.getFclControl().getCurrentBeginColumnPage()) {
|
|
770
|
+
oContext = _getViewFromContainer(this.getFclControl().getCurrentBeginColumnPage()).getBindingContext();
|
|
771
|
+
}
|
|
772
|
+
break;
|
|
773
|
+
|
|
774
|
+
case sap.f.LayoutType.TwoColumnsBeginExpanded:
|
|
775
|
+
case sap.f.LayoutType.TwoColumnsMidExpanded:
|
|
776
|
+
if (this.getFclControl().getCurrentMidColumnPage()) {
|
|
777
|
+
oContext = _getViewFromContainer(this.getFclControl().getCurrentMidColumnPage()).getBindingContext();
|
|
778
|
+
}
|
|
779
|
+
break;
|
|
780
|
+
|
|
781
|
+
case sap.f.LayoutType.ThreeColumnsEndExpanded:
|
|
782
|
+
case sap.f.LayoutType.ThreeColumnsMidExpanded:
|
|
783
|
+
case sap.f.LayoutType.ThreeColumnsMidExpandedEndHidden:
|
|
784
|
+
case sap.f.LayoutType.ThreeColumnsBeginExpandedEndHidden:
|
|
785
|
+
case sap.f.LayoutType.EndColumnFullScreen:
|
|
786
|
+
if (this.getFclControl().getCurrentEndColumnPage()) {
|
|
787
|
+
oContext = _getViewFromContainer(this.getFclControl().getCurrentEndColumnPage()).getBindingContext();
|
|
788
|
+
}
|
|
789
|
+
break;
|
|
790
|
+
|
|
791
|
+
case sap.f.LayoutType.MidColumnFullScreen:
|
|
792
|
+
// In this case we need to determine if this mid column fullscreen comes from a 2 or a 3 column layout
|
|
793
|
+
var sLayoutWhenExitFullScreen = this.getHelper().getCurrentUIState().actionButtonsInfo.midColumn.exitFullScreen;
|
|
794
|
+
if (sLayoutWhenExitFullScreen.indexOf("ThreeColumn") >= 0) {
|
|
795
|
+
// We come from a 3 column layout
|
|
796
|
+
if (this.getFclControl().getCurrentEndColumnPage()) {
|
|
797
|
+
oContext = _getViewFromContainer(this.getFclControl().getCurrentEndColumnPage()).getBindingContext();
|
|
798
|
+
}
|
|
799
|
+
} else {
|
|
800
|
+
// We come from a 2 column layout
|
|
801
|
+
if (this.getFclControl().getCurrentMidColumnPage()) {
|
|
802
|
+
oContext = _getViewFromContainer(this.getFclControl().getCurrentMidColumnPage()).getBindingContext();
|
|
803
|
+
}
|
|
804
|
+
}
|
|
805
|
+
break;
|
|
806
|
+
|
|
807
|
+
default:
|
|
808
|
+
Log.error("Unhandled switch case for " + this.getFclControl().getLayout());
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
return oContext;
|
|
759
812
|
}
|
|
760
813
|
});
|
|
761
814
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
sap.ui.define(
|
|
6
6
|
[
|
|
@@ -53,12 +53,12 @@ sap.ui.define(
|
|
|
53
53
|
this.oPlaceholder.attachRouteMatchers();
|
|
54
54
|
this.getAppComponent()
|
|
55
55
|
.getRoutingService()
|
|
56
|
-
.attachAfterRouteMatched(this.
|
|
56
|
+
.attachAfterRouteMatched(this._onAfterRouteMatched, this);
|
|
57
57
|
},
|
|
58
58
|
onExit: function() {
|
|
59
59
|
this.getAppComponent()
|
|
60
60
|
.getRoutingService()
|
|
61
|
-
.detachAfterRouteMatched(this.
|
|
61
|
+
.detachAfterRouteMatched(this._onAfterRouteMatched, this);
|
|
62
62
|
this.oRouter = null;
|
|
63
63
|
|
|
64
64
|
SizeHelper.exit();
|
|
@@ -132,46 +132,49 @@ sap.ui.define(
|
|
|
132
132
|
},
|
|
133
133
|
|
|
134
134
|
/**
|
|
135
|
-
*
|
|
135
|
+
* Callback when the navigation is done.
|
|
136
|
+
* - update the shell title.
|
|
137
|
+
* - update table scroll.
|
|
138
|
+
* - call onPageReady on the rightMostView.
|
|
136
139
|
*
|
|
137
140
|
* @param oEvent
|
|
138
|
-
* @name sap.fe.templates.RootContainer.controller.BaseController#
|
|
141
|
+
* @name sap.fe.templates.RootContainer.controller.BaseController#_onAfterRouteMatched
|
|
139
142
|
* @memberof sap.fe.templates.RootContainer.controller.BaseController
|
|
140
143
|
*/
|
|
141
|
-
|
|
144
|
+
_onAfterRouteMatched: function(oEvent) {
|
|
142
145
|
var that = this;
|
|
143
|
-
if (!that.
|
|
144
|
-
that.
|
|
146
|
+
if (!that._oRouteMatchedPromise) {
|
|
147
|
+
that._oRouteMatchedPromise = that
|
|
145
148
|
.waitForRightMostViewReady(oEvent)
|
|
146
149
|
.then(function(oView) {
|
|
150
|
+
// The autoFocus is initially disabled on the navContainer or the FCL, so that the focus stays on the Shell menu
|
|
151
|
+
// even if the app takes a long time to launch
|
|
152
|
+
// The first time the view is displayed, we need to enable the autofocus so that it's managed properly during navigation
|
|
153
|
+
var oRootControl = that.getView().getContent()[0];
|
|
154
|
+
if (oRootControl && oRootControl.getAutoFocus && !oRootControl.getAutoFocus()) {
|
|
155
|
+
oRootControl.setProperty("autoFocus", true, true); // Do not mark the container as invalid, otherwise it's re-rendered
|
|
156
|
+
}
|
|
157
|
+
|
|
147
158
|
var oAppComponent = that.getAppComponent();
|
|
148
159
|
var oData = { oView: oView, oAppComponent: oAppComponent };
|
|
149
160
|
that._scrollTablesToLastNavigatedItems();
|
|
150
161
|
if (oAppComponent.getEnvironmentCapabilities().getCapabilities().UShell) {
|
|
151
162
|
that.computeTitleHierarchy(oData);
|
|
152
163
|
}
|
|
153
|
-
var
|
|
164
|
+
var bForceFocus = oAppComponent.getRouterProxy().isFocusForced();
|
|
165
|
+
oAppComponent.getRouterProxy().setFocusForced(false); // reset
|
|
154
166
|
if (oView.getController() && oView.getController().onPageReady) {
|
|
155
|
-
|
|
156
|
-
oView.getParent().onPageReady({ lastFocusedControl: oLastFocusedControl });
|
|
157
|
-
} else {
|
|
158
|
-
var currentFocusedControlId = sap.ui.getCore().getCurrentFocusedControlId();
|
|
159
|
-
var oCurrentFocusedControl = {
|
|
160
|
-
controlId: currentFocusedControlId,
|
|
161
|
-
focusInfo: { id: currentFocusedControlId }
|
|
162
|
-
};
|
|
163
|
-
oView.getParent().onPageReady({ lastFocusedControl: oCurrentFocusedControl });
|
|
164
|
-
}
|
|
167
|
+
oView.getParent().onPageReady({ forceFocus: bForceFocus });
|
|
165
168
|
}
|
|
166
169
|
if (that.onContainerReady) {
|
|
167
170
|
that.onContainerReady();
|
|
168
171
|
}
|
|
169
|
-
|
|
170
|
-
that.oShellTitlePromise = null;
|
|
171
172
|
})
|
|
172
173
|
.catch(function(oError) {
|
|
173
174
|
Log.error("An error occurs while computing the title hierarchy and calling focus method", oError);
|
|
174
|
-
|
|
175
|
+
})
|
|
176
|
+
.finally(function() {
|
|
177
|
+
that._oRouteMatchedPromise = null;
|
|
175
178
|
});
|
|
176
179
|
}
|
|
177
180
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* Initialization Code and shared classes of library sap.fe.templates
|
|
@@ -46,7 +46,7 @@ sap.ui.define(
|
|
|
46
46
|
interfaces: [],
|
|
47
47
|
controls: [],
|
|
48
48
|
elements: [],
|
|
49
|
-
version: "1.96.
|
|
49
|
+
version: "1.96.5",
|
|
50
50
|
noLibraryCSS: true
|
|
51
51
|
});
|
|
52
52
|
if (!sap.fe.templates.ObjectPage) {
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* SAPUI5
|
|
3
|
-
* (c) Copyright 2009-2021 SAP SE. All rights reserved.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
sap.ui.define(["sap/m/OverflowToolbarButton"], function(OverflowToolbarButton) {
|
|
7
|
-
"use strict";
|
|
8
|
-
|
|
9
|
-
var OverflowToolbarButtonHover = OverflowToolbarButton.extend("sap.fe.templates.ObjectPage.controls.OverflowToolbarButtonHover", {
|
|
10
|
-
metadata: {
|
|
11
|
-
events: {
|
|
12
|
-
hover: {} // this Button has also a "hover" event, in addition to "press" of the normal Button
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
|
|
16
|
-
// the hover event handler:
|
|
17
|
-
onmouseover: function(evt) {
|
|
18
|
-
// is called when the Button is hovered - no event registration required
|
|
19
|
-
this.fireHover();
|
|
20
|
-
},
|
|
21
|
-
renderer: {}
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
return OverflowToolbarButtonHover;
|
|
25
|
-
});
|