@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.
- package/package.json +9 -6
- package/src/sap/fe/templates/.library +1 -2
- package/src/sap/fe/templates/AnalyticalListPage/Component.js +25 -12
- package/src/sap/fe/templates/AnalyticalListPage/Component.ts +6 -0
- package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +31 -32
- package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.ts +25 -0
- package/src/sap/fe/templates/Feedback.js +80 -0
- package/src/sap/fe/templates/Feedback.ts +67 -0
- package/src/sap/fe/templates/ListComponent.js +157 -118
- package/src/sap/fe/templates/ListComponent.ts +105 -0
- package/src/sap/fe/templates/ListReport/Component.js +83 -39
- package/src/sap/fe/templates/ListReport/Component.ts +39 -0
- package/src/sap/fe/templates/ListReport/ExtensionAPI.js +124 -107
- package/src/sap/fe/templates/ListReport/ExtensionAPI.ts +100 -0
- package/src/sap/fe/templates/ListReport/ListReport.view.xml +34 -27
- package/src/sap/fe/templates/ListReport/ListReportController.controller.js +1112 -1001
- package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +1009 -0
- package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +55 -53
- package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.ts +55 -0
- package/src/sap/fe/templates/ListReport/overrides/Share.js +135 -136
- package/src/sap/fe/templates/ListReport/overrides/Share.ts +134 -0
- package/src/sap/fe/templates/ListReport/overrides/ViewState.js +444 -406
- package/src/sap/fe/templates/ListReport/overrides/ViewState.ts +413 -0
- package/src/sap/fe/templates/ListReport/view/fragments/CollectionVisualization.fragment.xml +31 -23
- package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.js +72 -0
- package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.ts +62 -0
- package/src/sap/fe/templates/ListReport/view/fragments/MultipleModeOld.fragment.xml +50 -0
- package/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +479 -473
- package/src/sap/fe/templates/ObjectPage/AnnotationHelper.ts +511 -0
- package/src/sap/fe/templates/ObjectPage/Component.js +170 -149
- package/src/sap/fe/templates/ObjectPage/Component.ts +131 -0
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +141 -142
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI.ts +116 -0
- package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +14 -53
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +1531 -1464
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +1442 -0
- package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +137 -95
- package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.ts +84 -0
- package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.js +25 -21
- package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.ts +10 -0
- package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +99 -53
- package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.ts +50 -0
- package/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js +21 -16
- package/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.ts +15 -0
- package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +51 -47
- package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.ts +47 -0
- package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +35 -34
- package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.ts +34 -0
- package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.js +16 -15
- package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.ts +13 -0
- package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.js +12 -11
- package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.ts +7 -0
- package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +56 -52
- package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.ts +57 -0
- package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +16 -17
- package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.ts +13 -0
- package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +14 -17
- package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.ts +14 -0
- package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +24 -21
- package/src/sap/fe/templates/ObjectPage/overrides/Paginator.ts +21 -0
- package/src/sap/fe/templates/ObjectPage/overrides/Share.js +311 -317
- package/src/sap/fe/templates/ObjectPage/overrides/Share.ts +316 -0
- package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +67 -57
- package/src/sap/fe/templates/ObjectPage/overrides/ViewState.ts +65 -0
- package/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.js +1 -1
- package/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.ts +3 -3
- package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +18 -24
- package/src/sap/fe/templates/ObjectPage/view/fragments/CollaborationDraft.fragment.xml +38 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/EditableHeaderFacet.fragment.xml +1 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +9 -5
- package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacet.fragment.xml +1 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacetCustomContainer.fragment.xml +1 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/Heading.fragment.xml +33 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/HeadingAvatar.fragment.xml +17 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/HeadingTitle.fragment.xml +18 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +3 -3
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +3 -3
- package/src/sap/fe/templates/ObjectPage/view/fragments/SwitchDraftAndActiveObjectPopOver.fragment.xml +27 -0
- package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +852 -815
- package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.ts +795 -0
- package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +206 -187
- package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.ts +178 -0
- package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +485 -459
- package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.ts +438 -0
- package/src/sap/fe/templates/RootContainer/overrides/EditFlow.js +17 -14
- package/src/sap/fe/templates/RootContainer/overrides/EditFlow.ts +20 -0
- package/src/sap/fe/templates/TableScroller.js +46 -53
- package/src/sap/fe/templates/TableScroller.ts +48 -0
- package/src/sap/fe/templates/controls/Chart.fragment.xml +18 -17
- package/src/sap/fe/templates/controls/MacroChart.fragment.xml +22 -0
- package/src/sap/fe/templates/library.js +50 -63
- package/src/sap/fe/templates/library.ts +57 -0
- package/src/sap/fe/templates/messagebundle.properties +32 -36
- package/src/sap/fe/templates/messagebundle_ar.properties +15 -8
- package/src/sap/fe/templates/messagebundle_bg.properties +15 -8
- package/src/sap/fe/templates/messagebundle_ca.properties +15 -8
- package/src/sap/fe/templates/messagebundle_cs.properties +15 -8
- package/src/sap/fe/templates/messagebundle_cy.properties +15 -8
- package/src/sap/fe/templates/messagebundle_da.properties +15 -8
- package/src/sap/fe/templates/messagebundle_de.properties +15 -8
- package/src/sap/fe/templates/messagebundle_el.properties +16 -9
- package/src/sap/fe/templates/messagebundle_en.properties +15 -8
- package/src/sap/fe/templates/messagebundle_en_GB.properties +15 -8
- package/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +9 -6
- package/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +15 -8
- package/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +15 -8
- package/src/sap/fe/templates/messagebundle_es.properties +15 -8
- package/src/sap/fe/templates/messagebundle_es_MX.properties +15 -8
- package/src/sap/fe/templates/messagebundle_et.properties +15 -8
- package/src/sap/fe/templates/messagebundle_fi.properties +15 -8
- package/src/sap/fe/templates/messagebundle_fr.properties +15 -8
- package/src/sap/fe/templates/messagebundle_fr_CA.properties +15 -8
- package/src/sap/fe/templates/messagebundle_hi.properties +15 -8
- package/src/sap/fe/templates/messagebundle_hr.properties +16 -9
- package/src/sap/fe/templates/messagebundle_hu.properties +15 -8
- package/src/sap/fe/templates/messagebundle_id.properties +17 -10
- package/src/sap/fe/templates/messagebundle_it.properties +15 -8
- package/src/sap/fe/templates/messagebundle_iw.properties +15 -8
- package/src/sap/fe/templates/messagebundle_ja.properties +15 -8
- package/src/sap/fe/templates/messagebundle_kk.properties +15 -8
- package/src/sap/fe/templates/messagebundle_ko.properties +15 -8
- package/src/sap/fe/templates/messagebundle_lt.properties +15 -8
- package/src/sap/fe/templates/messagebundle_lv.properties +15 -8
- package/src/sap/fe/templates/messagebundle_ms.properties +15 -8
- package/src/sap/fe/templates/messagebundle_nl.properties +15 -8
- package/src/sap/fe/templates/messagebundle_no.properties +15 -8
- package/src/sap/fe/templates/messagebundle_pl.properties +15 -8
- package/src/sap/fe/templates/messagebundle_pt.properties +18 -11
- package/src/sap/fe/templates/messagebundle_pt_PT.properties +16 -9
- package/src/sap/fe/templates/messagebundle_ro.properties +15 -8
- package/src/sap/fe/templates/messagebundle_ru.properties +15 -8
- package/src/sap/fe/templates/messagebundle_sh.properties +15 -8
- package/src/sap/fe/templates/messagebundle_sk.properties +15 -8
- package/src/sap/fe/templates/messagebundle_sl.properties +15 -8
- package/src/sap/fe/templates/messagebundle_sv.properties +16 -9
- package/src/sap/fe/templates/messagebundle_th.properties +15 -8
- package/src/sap/fe/templates/messagebundle_tr.properties +15 -8
- package/src/sap/fe/templates/messagebundle_uk.properties +16 -9
- package/src/sap/fe/templates/messagebundle_vi.properties +15 -8
- package/src/sap/fe/templates/messagebundle_zh_CN.properties +15 -8
- package/src/sap/fe/templates/messagebundle_zh_TW.properties +15 -8
- package/ui5.yaml +0 -3
- package/src/sap/fe/templates/ListReport/overrides/MassEdit.js +0 -95
- package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.xml +0 -49
|
@@ -1,55 +1,57 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* SAPUI5
|
|
3
|
-
*
|
|
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/CommonUtils", "sap/fe/macros/filter/FilterUtils"], function(CommonUtils, FilterUtils) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
5
|
+
sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/macros/filter/FilterUtils"], function (CommonUtils, FilterUtils) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var IntentBasedNavigationOverride = {
|
|
9
|
+
adaptNavigationContext: function (oSelectionVariant, oTargetInfo) {
|
|
10
|
+
var oView = this.getView(),
|
|
11
|
+
oController = oView.getController(),
|
|
12
|
+
oFilterBar = oController._getFilterBarControl(); // Adding filter bar values to the navigation does not make sense if no context has been selected.
|
|
13
|
+
// Hence only consider filter bar values when SelectionVariant is not empty
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
if (oFilterBar && !oSelectionVariant.isEmpty()) {
|
|
17
|
+
var oViewData = oView.getViewData(),
|
|
18
|
+
sRootPath = oViewData.fullContextPath + oViewData.entitySet;
|
|
19
|
+
var oFilterBarConditions = Object.assign({}, this.base.getView().getController().filterBarConditions);
|
|
20
|
+
var aParameters = [];
|
|
21
|
+
|
|
22
|
+
if (oViewData.contextPath) {
|
|
23
|
+
var oMetaModel = oView.getModel().getMetaModel(),
|
|
24
|
+
oParameterInfo = CommonUtils.getParameterInfo(oMetaModel, oViewData.contextPath),
|
|
25
|
+
oParamProperties = oParameterInfo.parameterProperties;
|
|
26
|
+
aParameters = oParamProperties && Object.keys(oParamProperties) || [];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
oFilterBarConditions = oController._intentBasedNavigation.prepareFiltersForExternalNavigation(oFilterBarConditions, sRootPath, aParameters);
|
|
30
|
+
var oFilterInfo = FilterUtils.getFilterInfo(oFilterBar, {
|
|
31
|
+
targetControl: oController._getTable()
|
|
32
|
+
}).filters;
|
|
33
|
+
var oInternalModelContext = oView.getBindingContext("internal");
|
|
34
|
+
var mTabs = oInternalModelContext && oInternalModelContext.getProperty("tabs"); // Do we need to exclude Fields (mutli tables mode)?
|
|
35
|
+
|
|
36
|
+
if (mTabs) {
|
|
37
|
+
var aIgnoredFieldsForTab = mTabs.ignoredFields[mTabs.selected];
|
|
38
|
+
|
|
39
|
+
if (Array.isArray(aIgnoredFieldsForTab) && aIgnoredFieldsForTab.length > 0) {
|
|
40
|
+
aIgnoredFieldsForTab.forEach(function (sProperty) {
|
|
41
|
+
delete oFilterBarConditions.filterConditions[sProperty];
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
} // TODO: move this also into the intent based navigation controller extension
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
CommonUtils.addExternalStateFiltersToSelectionVariant(oSelectionVariant, oFilterBarConditions, oTargetInfo, oFilterInfo);
|
|
48
|
+
delete oTargetInfo.propertiesWithoutConflict;
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
getEntitySet: function () {
|
|
52
|
+
return this.base.getCurrentEntitySet();
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
return IntentBasedNavigationOverride;
|
|
56
|
+
}, false);
|
|
57
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkludGVudEJhc2VkTmF2aWdhdGlvbi50cyJdLCJuYW1lcyI6WyJJbnRlbnRCYXNlZE5hdmlnYXRpb25PdmVycmlkZSIsImFkYXB0TmF2aWdhdGlvbkNvbnRleHQiLCJvU2VsZWN0aW9uVmFyaWFudCIsIm9UYXJnZXRJbmZvIiwib1ZpZXciLCJnZXRWaWV3Iiwib0NvbnRyb2xsZXIiLCJnZXRDb250cm9sbGVyIiwib0ZpbHRlckJhciIsIl9nZXRGaWx0ZXJCYXJDb250cm9sIiwiaXNFbXB0eSIsIm9WaWV3RGF0YSIsImdldFZpZXdEYXRhIiwic1Jvb3RQYXRoIiwiZnVsbENvbnRleHRQYXRoIiwiZW50aXR5U2V0Iiwib0ZpbHRlckJhckNvbmRpdGlvbnMiLCJPYmplY3QiLCJhc3NpZ24iLCJiYXNlIiwiZmlsdGVyQmFyQ29uZGl0aW9ucyIsImFQYXJhbWV0ZXJzIiwiY29udGV4dFBhdGgiLCJvTWV0YU1vZGVsIiwiZ2V0TW9kZWwiLCJnZXRNZXRhTW9kZWwiLCJvUGFyYW1ldGVySW5mbyIsIkNvbW1vblV0aWxzIiwiZ2V0UGFyYW1ldGVySW5mbyIsIm9QYXJhbVByb3BlcnRpZXMiLCJwYXJhbWV0ZXJQcm9wZXJ0aWVzIiwia2V5cyIsIl9pbnRlbnRCYXNlZE5hdmlnYXRpb24iLCJwcmVwYXJlRmlsdGVyc0ZvckV4dGVybmFsTmF2aWdhdGlvbiIsIm9GaWx0ZXJJbmZvIiwiRmlsdGVyVXRpbHMiLCJnZXRGaWx0ZXJJbmZvIiwidGFyZ2V0Q29udHJvbCIsIl9nZXRUYWJsZSIsImZpbHRlcnMiLCJvSW50ZXJuYWxNb2RlbENvbnRleHQiLCJnZXRCaW5kaW5nQ29udGV4dCIsIm1UYWJzIiwiZ2V0UHJvcGVydHkiLCJhSWdub3JlZEZpZWxkc0ZvclRhYiIsImlnbm9yZWRGaWVsZHMiLCJzZWxlY3RlZCIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsImZvckVhY2giLCJzUHJvcGVydHkiLCJmaWx0ZXJDb25kaXRpb25zIiwiYWRkRXh0ZXJuYWxTdGF0ZUZpbHRlcnNUb1NlbGVjdGlvblZhcmlhbnQiLCJwcm9wZXJ0aWVzV2l0aG91dENvbmZsaWN0IiwiZ2V0RW50aXR5U2V0IiwiZ2V0Q3VycmVudEVudGl0eVNldCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQUdBLE1BQU1BLDZCQUE2QixHQUFHO0FBQ3JDQyxJQUFBQSxzQkFBc0IsRUFBRSxVQUF1Q0MsaUJBQXZDLEVBQStEQyxXQUEvRCxFQUFpRjtBQUN4RyxVQUFNQyxLQUFLLEdBQUcsS0FBS0MsT0FBTCxFQUFkO0FBQUEsVUFDQ0MsV0FBVyxHQUFHRixLQUFLLENBQUNHLGFBQU4sRUFEZjtBQUFBLFVBRUNDLFVBQVUsR0FBR0YsV0FBVyxDQUFDRyxvQkFBWixFQUZkLENBRHdHLENBSXhHO0FBQ0E7OztBQUNBLFVBQUlELFVBQVUsSUFBSSxDQUFDTixpQkFBaUIsQ0FBQ1EsT0FBbEIsRUFBbkIsRUFBZ0Q7QUFDL0MsWUFBTUMsU0FBUyxHQUFHUCxLQUFLLENBQUNRLFdBQU4sRUFBbEI7QUFBQSxZQUNDQyxTQUFTLEdBQUdGLFNBQVMsQ0FBQ0csZUFBVixHQUE0QkgsU0FBUyxDQUFDSSxTQURuRDtBQUVBLFlBQUlDLG9CQUFvQixHQUFHQyxNQUFNLENBQUNDLE1BQVAsQ0FBYyxFQUFkLEVBQW1CLEtBQUtDLElBQUwsQ0FBVWQsT0FBVixHQUFvQkUsYUFBcEIsRUFBRCxDQUE2Q2EsbUJBQS9ELENBQTNCO0FBQ0EsWUFBSUMsV0FBVyxHQUFHLEVBQWxCOztBQUVBLFlBQUlWLFNBQVMsQ0FBQ1csV0FBZCxFQUEyQjtBQUMxQixjQUFNQyxVQUFVLEdBQUduQixLQUFLLENBQUNvQixRQUFOLEdBQWlCQyxZQUFqQixFQUFuQjtBQUFBLGNBQ0NDLGNBQWMsR0FBR0MsV0FBVyxDQUFDQyxnQkFBWixDQUE2QkwsVUFBN0IsRUFBeUNaLFNBQVMsQ0FBQ1csV0FBbkQsQ0FEbEI7QUFBQSxjQUVDTyxnQkFBZ0IsR0FBR0gsY0FBYyxDQUFDSSxtQkFGbkM7QUFHQVQsVUFBQUEsV0FBVyxHQUFJUSxnQkFBZ0IsSUFBSVosTUFBTSxDQUFDYyxJQUFQLENBQVlGLGdCQUFaLENBQXJCLElBQXVELEVBQXJFO0FBQ0E7O0FBRURiLFFBQUFBLG9CQUFvQixHQUFHVixXQUFXLENBQUMwQixzQkFBWixDQUFtQ0MsbUNBQW5DLENBQ3RCakIsb0JBRHNCLEVBRXRCSCxTQUZzQixFQUd0QlEsV0FIc0IsQ0FBdkI7QUFLQSxZQUFNYSxXQUFXLEdBQUdDLFdBQVcsQ0FBQ0MsYUFBWixDQUEwQjVCLFVBQTFCLEVBQXNDO0FBQ3pENkIsVUFBQUEsYUFBYSxFQUFFL0IsV0FBVyxDQUFDZ0MsU0FBWjtBQUQwQyxTQUF0QyxFQUVqQkMsT0FGSDtBQUdBLFlBQU1DLHFCQUFxQixHQUFHcEMsS0FBSyxDQUFDcUMsaUJBQU4sQ0FBd0IsVUFBeEIsQ0FBOUI7QUFDQSxZQUFNQyxLQUFLLEdBQUdGLHFCQUFxQixJQUFJQSxxQkFBcUIsQ0FBQ0csV0FBdEIsQ0FBa0MsTUFBbEMsQ0FBdkMsQ0F0QitDLENBdUIvQzs7QUFDQSxZQUFJRCxLQUFKLEVBQVc7QUFDVixjQUFNRSxvQkFBb0IsR0FBR0YsS0FBSyxDQUFDRyxhQUFOLENBQW9CSCxLQUFLLENBQUNJLFFBQTFCLENBQTdCOztBQUNBLGNBQUlDLEtBQUssQ0FBQ0MsT0FBTixDQUFjSixvQkFBZCxLQUF1Q0Esb0JBQW9CLENBQUNLLE1BQXJCLEdBQThCLENBQXpFLEVBQTRFO0FBQzNFTCxZQUFBQSxvQkFBb0IsQ0FBQ00sT0FBckIsQ0FBNkIsVUFBVUMsU0FBVixFQUEwQjtBQUN0RCxxQkFBT25DLG9CQUFvQixDQUFDb0MsZ0JBQXJCLENBQXNDRCxTQUF0QyxDQUFQO0FBQ0EsYUFGRDtBQUdBO0FBQ0QsU0EvQjhDLENBZ0MvQzs7O0FBQ0F4QixRQUFBQSxXQUFXLENBQUMwQix5Q0FBWixDQUFzRG5ELGlCQUF0RCxFQUF5RWMsb0JBQXpFLEVBQStGYixXQUEvRixFQUE0RytCLFdBQTVHO0FBQ0EsZUFBTy9CLFdBQVcsQ0FBQ21ELHlCQUFuQjtBQUNBO0FBQ0QsS0EzQ29DO0FBNENyQ0MsSUFBQUEsWUFBWSxFQUFFLFlBQXVDO0FBQ3BELGFBQVEsS0FBS3BDLElBQU4sQ0FBbUJxQyxtQkFBbkIsRUFBUDtBQUNBO0FBOUNvQyxHQUF0QztTQWlEZXhELDZCIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgSW50ZW50QmFzZWROYXZpZ2F0aW9uIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9JbnRlbnRCYXNlZE5hdmlnYXRpb25cIjtcbmltcG9ydCBGaWx0ZXJVdGlscyBmcm9tIFwic2FwL2ZlL21hY3Jvcy9maWx0ZXIvRmlsdGVyVXRpbHNcIjtcbmltcG9ydCBMaXN0UmVwb3J0Q29udHJvbGxlciBmcm9tIFwic2FwL2ZlL3RlbXBsYXRlcy9MaXN0UmVwb3J0L0xpc3RSZXBvcnRDb250cm9sbGVyLmNvbnRyb2xsZXJcIjtcblxuY29uc3QgSW50ZW50QmFzZWROYXZpZ2F0aW9uT3ZlcnJpZGUgPSB7XG5cdGFkYXB0TmF2aWdhdGlvbkNvbnRleHQ6IGZ1bmN0aW9uICh0aGlzOiBJbnRlbnRCYXNlZE5hdmlnYXRpb24sIG9TZWxlY3Rpb25WYXJpYW50OiBhbnksIG9UYXJnZXRJbmZvOiBhbnkpIHtcblx0XHRjb25zdCBvVmlldyA9IHRoaXMuZ2V0VmlldygpLFxuXHRcdFx0b0NvbnRyb2xsZXIgPSBvVmlldy5nZXRDb250cm9sbGVyKCkgYXMgTGlzdFJlcG9ydENvbnRyb2xsZXIsXG5cdFx0XHRvRmlsdGVyQmFyID0gb0NvbnRyb2xsZXIuX2dldEZpbHRlckJhckNvbnRyb2woKTtcblx0XHQvLyBBZGRpbmcgZmlsdGVyIGJhciB2YWx1ZXMgdG8gdGhlIG5hdmlnYXRpb24gZG9lcyBub3QgbWFrZSBzZW5zZSBpZiBubyBjb250ZXh0IGhhcyBiZWVuIHNlbGVjdGVkLlxuXHRcdC8vIEhlbmNlIG9ubHkgY29uc2lkZXIgZmlsdGVyIGJhciB2YWx1ZXMgd2hlbiBTZWxlY3Rpb25WYXJpYW50IGlzIG5vdCBlbXB0eVxuXHRcdGlmIChvRmlsdGVyQmFyICYmICFvU2VsZWN0aW9uVmFyaWFudC5pc0VtcHR5KCkpIHtcblx0XHRcdGNvbnN0IG9WaWV3RGF0YSA9IG9WaWV3LmdldFZpZXdEYXRhKCkgYXMgYW55LFxuXHRcdFx0XHRzUm9vdFBhdGggPSBvVmlld0RhdGEuZnVsbENvbnRleHRQYXRoICsgb1ZpZXdEYXRhLmVudGl0eVNldDtcblx0XHRcdGxldCBvRmlsdGVyQmFyQ29uZGl0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sICh0aGlzLmJhc2UuZ2V0VmlldygpLmdldENvbnRyb2xsZXIoKSBhcyBhbnkpLmZpbHRlckJhckNvbmRpdGlvbnMpO1xuXHRcdFx0bGV0IGFQYXJhbWV0ZXJzID0gW107XG5cblx0XHRcdGlmIChvVmlld0RhdGEuY29udGV4dFBhdGgpIHtcblx0XHRcdFx0Y29uc3Qgb01ldGFNb2RlbCA9IG9WaWV3LmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCksXG5cdFx0XHRcdFx0b1BhcmFtZXRlckluZm8gPSBDb21tb25VdGlscy5nZXRQYXJhbWV0ZXJJbmZvKG9NZXRhTW9kZWwsIG9WaWV3RGF0YS5jb250ZXh0UGF0aCksXG5cdFx0XHRcdFx0b1BhcmFtUHJvcGVydGllcyA9IG9QYXJhbWV0ZXJJbmZvLnBhcmFtZXRlclByb3BlcnRpZXM7XG5cdFx0XHRcdGFQYXJhbWV0ZXJzID0gKG9QYXJhbVByb3BlcnRpZXMgJiYgT2JqZWN0LmtleXMob1BhcmFtUHJvcGVydGllcykpIHx8IFtdO1xuXHRcdFx0fVxuXG5cdFx0XHRvRmlsdGVyQmFyQ29uZGl0aW9ucyA9IG9Db250cm9sbGVyLl9pbnRlbnRCYXNlZE5hdmlnYXRpb24ucHJlcGFyZUZpbHRlcnNGb3JFeHRlcm5hbE5hdmlnYXRpb24oXG5cdFx0XHRcdG9GaWx0ZXJCYXJDb25kaXRpb25zLFxuXHRcdFx0XHRzUm9vdFBhdGgsXG5cdFx0XHRcdGFQYXJhbWV0ZXJzXG5cdFx0XHQpO1xuXHRcdFx0Y29uc3Qgb0ZpbHRlckluZm8gPSBGaWx0ZXJVdGlscy5nZXRGaWx0ZXJJbmZvKG9GaWx0ZXJCYXIsIHtcblx0XHRcdFx0dGFyZ2V0Q29udHJvbDogb0NvbnRyb2xsZXIuX2dldFRhYmxlKClcblx0XHRcdH0pLmZpbHRlcnM7XG5cdFx0XHRjb25zdCBvSW50ZXJuYWxNb2RlbENvbnRleHQgPSBvVmlldy5nZXRCaW5kaW5nQ29udGV4dChcImludGVybmFsXCIpO1xuXHRcdFx0Y29uc3QgbVRhYnMgPSBvSW50ZXJuYWxNb2RlbENvbnRleHQgJiYgb0ludGVybmFsTW9kZWxDb250ZXh0LmdldFByb3BlcnR5KFwidGFic1wiKTtcblx0XHRcdC8vIERvIHdlIG5lZWQgdG8gZXhjbHVkZSBGaWVsZHMgKG11dGxpIHRhYmxlcyBtb2RlKT9cblx0XHRcdGlmIChtVGFicykge1xuXHRcdFx0XHRjb25zdCBhSWdub3JlZEZpZWxkc0ZvclRhYiA9IG1UYWJzLmlnbm9yZWRGaWVsZHNbbVRhYnMuc2VsZWN0ZWRdO1xuXHRcdFx0XHRpZiAoQXJyYXkuaXNBcnJheShhSWdub3JlZEZpZWxkc0ZvclRhYikgJiYgYUlnbm9yZWRGaWVsZHNGb3JUYWIubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdGFJZ25vcmVkRmllbGRzRm9yVGFiLmZvckVhY2goZnVuY3Rpb24gKHNQcm9wZXJ0eTogYW55KSB7XG5cdFx0XHRcdFx0XHRkZWxldGUgb0ZpbHRlckJhckNvbmRpdGlvbnMuZmlsdGVyQ29uZGl0aW9uc1tzUHJvcGVydHldO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQvLyBUT0RPOiBtb3ZlIHRoaXMgYWxzbyBpbnRvIHRoZSBpbnRlbnQgYmFzZWQgbmF2aWdhdGlvbiBjb250cm9sbGVyIGV4dGVuc2lvblxuXHRcdFx0Q29tbW9uVXRpbHMuYWRkRXh0ZXJuYWxTdGF0ZUZpbHRlcnNUb1NlbGVjdGlvblZhcmlhbnQob1NlbGVjdGlvblZhcmlhbnQsIG9GaWx0ZXJCYXJDb25kaXRpb25zLCBvVGFyZ2V0SW5mbywgb0ZpbHRlckluZm8pO1xuXHRcdFx0ZGVsZXRlIG9UYXJnZXRJbmZvLnByb3BlcnRpZXNXaXRob3V0Q29uZmxpY3Q7XG5cdFx0fVxuXHR9LFxuXHRnZXRFbnRpdHlTZXQ6IGZ1bmN0aW9uICh0aGlzOiBJbnRlbnRCYXNlZE5hdmlnYXRpb24pIHtcblx0XHRyZXR1cm4gKHRoaXMuYmFzZSBhcyBhbnkpLmdldEN1cnJlbnRFbnRpdHlTZXQoKTtcblx0fVxufTtcblxuZXhwb3J0IGRlZmF1bHQgSW50ZW50QmFzZWROYXZpZ2F0aW9uT3ZlcnJpZGU7XG4iXX0=
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import CommonUtils from "sap/fe/core/CommonUtils";
|
|
2
|
+
import IntentBasedNavigation from "sap/fe/core/controllerextensions/IntentBasedNavigation";
|
|
3
|
+
import FilterUtils from "sap/fe/macros/filter/FilterUtils";
|
|
4
|
+
import ListReportController from "sap/fe/templates/ListReport/ListReportController.controller";
|
|
5
|
+
|
|
6
|
+
const IntentBasedNavigationOverride = {
|
|
7
|
+
adaptNavigationContext: function (this: IntentBasedNavigation, oSelectionVariant: any, oTargetInfo: any) {
|
|
8
|
+
const oView = this.getView(),
|
|
9
|
+
oController = oView.getController() as ListReportController,
|
|
10
|
+
oFilterBar = oController._getFilterBarControl();
|
|
11
|
+
// Adding filter bar values to the navigation does not make sense if no context has been selected.
|
|
12
|
+
// Hence only consider filter bar values when SelectionVariant is not empty
|
|
13
|
+
if (oFilterBar && !oSelectionVariant.isEmpty()) {
|
|
14
|
+
const oViewData = oView.getViewData() as any,
|
|
15
|
+
sRootPath = oViewData.fullContextPath + oViewData.entitySet;
|
|
16
|
+
let oFilterBarConditions = Object.assign({}, (this.base.getView().getController() as any).filterBarConditions);
|
|
17
|
+
let aParameters = [];
|
|
18
|
+
|
|
19
|
+
if (oViewData.contextPath) {
|
|
20
|
+
const oMetaModel = oView.getModel().getMetaModel(),
|
|
21
|
+
oParameterInfo = CommonUtils.getParameterInfo(oMetaModel, oViewData.contextPath),
|
|
22
|
+
oParamProperties = oParameterInfo.parameterProperties;
|
|
23
|
+
aParameters = (oParamProperties && Object.keys(oParamProperties)) || [];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
oFilterBarConditions = oController._intentBasedNavigation.prepareFiltersForExternalNavigation(
|
|
27
|
+
oFilterBarConditions,
|
|
28
|
+
sRootPath,
|
|
29
|
+
aParameters
|
|
30
|
+
);
|
|
31
|
+
const oFilterInfo = FilterUtils.getFilterInfo(oFilterBar, {
|
|
32
|
+
targetControl: oController._getTable()
|
|
33
|
+
}).filters;
|
|
34
|
+
const oInternalModelContext = oView.getBindingContext("internal");
|
|
35
|
+
const mTabs = oInternalModelContext && oInternalModelContext.getProperty("tabs");
|
|
36
|
+
// Do we need to exclude Fields (mutli tables mode)?
|
|
37
|
+
if (mTabs) {
|
|
38
|
+
const aIgnoredFieldsForTab = mTabs.ignoredFields[mTabs.selected];
|
|
39
|
+
if (Array.isArray(aIgnoredFieldsForTab) && aIgnoredFieldsForTab.length > 0) {
|
|
40
|
+
aIgnoredFieldsForTab.forEach(function (sProperty: any) {
|
|
41
|
+
delete oFilterBarConditions.filterConditions[sProperty];
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// TODO: move this also into the intent based navigation controller extension
|
|
46
|
+
CommonUtils.addExternalStateFiltersToSelectionVariant(oSelectionVariant, oFilterBarConditions, oTargetInfo, oFilterInfo);
|
|
47
|
+
delete oTargetInfo.propertiesWithoutConflict;
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
getEntitySet: function (this: IntentBasedNavigation) {
|
|
51
|
+
return (this.base as any).getCurrentEntitySet();
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export default IntentBasedNavigationOverride;
|
|
@@ -1,138 +1,137 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* SAPUI5
|
|
3
|
-
*
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
}
|
|
138
|
-
);
|
|
5
|
+
sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/helpers/SemanticDateOperators", "sap/ui/core/routing/HashChanger"], function (Log, CommonUtils, SemanticDateOperators, HashChanger) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
function getCountUrl(oController) {
|
|
9
|
+
var sTableId = oController.getView().getContent()[0].data().singleTableId;
|
|
10
|
+
|
|
11
|
+
if (!sTableId) {
|
|
12
|
+
// if single table id is not there then get the selected table id from multiple tabs
|
|
13
|
+
sTableId = oController.getView().byId("fe::TabMultipleMode").getSelectedKey();
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
var oTable = oController.getView().byId(sTableId);
|
|
17
|
+
|
|
18
|
+
if (!oTable) {
|
|
19
|
+
return "";
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
var oBinding = oTable.getRowBinding() || oTable.getBinding("items");
|
|
23
|
+
var sDownloadUrl = oBinding && oBinding.getDownloadUrl() || "";
|
|
24
|
+
var aSplitUrl = sDownloadUrl.split("?");
|
|
25
|
+
var baseUrl = aSplitUrl[0] + "/$count?"; // getDownloadUrl() returns url with $select, $expand which is not supported when /$count is used to get the record count. only $apply, $search, $filter is supported
|
|
26
|
+
// ?$count=true returns count in a format which is not supported by FLP yet.
|
|
27
|
+
// currently supported format for v4 is ../count.. only (where tile preview will still not work)
|
|
28
|
+
|
|
29
|
+
var aSupportedParams = [];
|
|
30
|
+
|
|
31
|
+
if (aSplitUrl.length > 1) {
|
|
32
|
+
var urlParams = aSplitUrl[1];
|
|
33
|
+
urlParams.split("&").forEach(function (urlParam) {
|
|
34
|
+
var aUrlParamParts = urlParam.split("=");
|
|
35
|
+
|
|
36
|
+
switch (aUrlParamParts[0]) {
|
|
37
|
+
case "$apply":
|
|
38
|
+
case "$search":
|
|
39
|
+
case "$filter":
|
|
40
|
+
aSupportedParams.push(urlParam);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return baseUrl + aSupportedParams.join("&");
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function getShareUrl() {
|
|
49
|
+
var sHash = HashChanger.getInstance().getHash();
|
|
50
|
+
var sBasePath = HashChanger.getInstance().hrefForAppSpecificHash ? HashChanger.getInstance().hrefForAppSpecificHash("") : "";
|
|
51
|
+
var sShareUrl = sHash ? sBasePath + sHash : window.location.hash;
|
|
52
|
+
return sShareUrl;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function getShareEmailUrl() {
|
|
56
|
+
var oUShellContainer = sap.ushell && sap.ushell.Container;
|
|
57
|
+
|
|
58
|
+
if (oUShellContainer) {
|
|
59
|
+
return oUShellContainer.getFLPUrlAsync(true).then(function (sFLPUrl) {
|
|
60
|
+
return sFLPUrl;
|
|
61
|
+
}).catch(function (sError) {
|
|
62
|
+
Log.error("Could not retrieve cFLP URL for the sharing dialog (dialog will not be opened)", sError);
|
|
63
|
+
});
|
|
64
|
+
} else {
|
|
65
|
+
return Promise.resolve(document.URL);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function getSaveAsTileServiceUrl(oController) {
|
|
70
|
+
var oFilterBar = oController.getView().byId(oController.getView().getContent()[0].data("filterBarId"));
|
|
71
|
+
|
|
72
|
+
if (oFilterBar) {
|
|
73
|
+
var oConditions = oFilterBar.getFilterConditions();
|
|
74
|
+
var bSaveAsTileServiceUrlAllowed = SemanticDateOperators.hasSemanticDateOperations(oConditions);
|
|
75
|
+
|
|
76
|
+
if (bSaveAsTileServiceUrlAllowed) {
|
|
77
|
+
return getCountUrl(oController);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return "";
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function getJamUrl() {
|
|
85
|
+
var sHash = HashChanger.getInstance().getHash();
|
|
86
|
+
var sBasePath = HashChanger.getInstance().hrefForAppSpecificHash ? HashChanger.getInstance().hrefForAppSpecificHash("") : "";
|
|
87
|
+
var sJamUrl = sHash ? sBasePath + sHash : window.location.hash; // in case we are in cFLP scenario, the application is running
|
|
88
|
+
// inside an iframe, and there for we need to get the cFLP URL
|
|
89
|
+
// and not 'document.URL' that represents the iframe URL
|
|
90
|
+
|
|
91
|
+
if (sap.ushell && sap.ushell.Container && sap.ushell.Container.runningInIframe && sap.ushell.Container.runningInIframe()) {
|
|
92
|
+
sap.ushell.Container.getFLPUrl(true).then(function (sUrl) {
|
|
93
|
+
return sUrl.substr(0, sUrl.indexOf("#")) + sJamUrl;
|
|
94
|
+
}).catch(function (sError) {
|
|
95
|
+
Log.error("Could not retrieve cFLP URL for the sharing dialog (dialog will not be opened)", sError);
|
|
96
|
+
});
|
|
97
|
+
} else {
|
|
98
|
+
return window.location.origin + window.location.pathname + sJamUrl;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
var ShareOverride = {
|
|
103
|
+
adaptShareMetadata: function (oShareMetadata) {
|
|
104
|
+
var _this = this;
|
|
105
|
+
|
|
106
|
+
Promise.resolve(getJamUrl()).then(function (sJamUrl) {
|
|
107
|
+
var oAppComponent = CommonUtils.getAppComponent(_this.base.getView());
|
|
108
|
+
var oMetadata = oAppComponent.getMetadata();
|
|
109
|
+
var oUIManifest = oMetadata.getManifestEntry("sap.ui");
|
|
110
|
+
var sIcon = oUIManifest && oUIManifest.icons && oUIManifest.icons.icon || "";
|
|
111
|
+
var oAppManifest = oMetadata.getManifestEntry("sap.app");
|
|
112
|
+
var sTitle = oAppManifest && oAppManifest.title || ""; // TODO: check if there is any semantic date used before adding serviceURL as BLI:FIORITECHP1-18023
|
|
113
|
+
|
|
114
|
+
oShareMetadata.tile = {
|
|
115
|
+
icon: sIcon,
|
|
116
|
+
title: sTitle,
|
|
117
|
+
queryUrl: getSaveAsTileServiceUrl(_this.base)
|
|
118
|
+
};
|
|
119
|
+
oShareMetadata.title = document.title;
|
|
120
|
+
oShareMetadata.jam.url = sJamUrl;
|
|
121
|
+
}).catch(function (error) {
|
|
122
|
+
Log.error(error);
|
|
123
|
+
});
|
|
124
|
+
Promise.resolve(getShareUrl()).then(function (sUrl) {
|
|
125
|
+
oShareMetadata.url = sUrl;
|
|
126
|
+
}).catch(function (error) {
|
|
127
|
+
Log.error(error);
|
|
128
|
+
});
|
|
129
|
+
return Promise.resolve(getShareEmailUrl()).then(function (sFLPUrl) {
|
|
130
|
+
oShareMetadata.email.url = sFLPUrl;
|
|
131
|
+
return oShareMetadata;
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
return ShareOverride;
|
|
136
|
+
}, false);
|
|
137
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNoYXJlLnRzIl0sIm5hbWVzIjpbImdldENvdW50VXJsIiwib0NvbnRyb2xsZXIiLCJzVGFibGVJZCIsImdldFZpZXciLCJnZXRDb250ZW50IiwiZGF0YSIsInNpbmdsZVRhYmxlSWQiLCJieUlkIiwiZ2V0U2VsZWN0ZWRLZXkiLCJvVGFibGUiLCJvQmluZGluZyIsImdldFJvd0JpbmRpbmciLCJnZXRCaW5kaW5nIiwic0Rvd25sb2FkVXJsIiwiZ2V0RG93bmxvYWRVcmwiLCJhU3BsaXRVcmwiLCJzcGxpdCIsImJhc2VVcmwiLCJhU3VwcG9ydGVkUGFyYW1zIiwibGVuZ3RoIiwidXJsUGFyYW1zIiwiZm9yRWFjaCIsInVybFBhcmFtIiwiYVVybFBhcmFtUGFydHMiLCJwdXNoIiwiam9pbiIsImdldFNoYXJlVXJsIiwic0hhc2giLCJIYXNoQ2hhbmdlciIsImdldEluc3RhbmNlIiwiZ2V0SGFzaCIsInNCYXNlUGF0aCIsImhyZWZGb3JBcHBTcGVjaWZpY0hhc2giLCJzU2hhcmVVcmwiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhhc2giLCJnZXRTaGFyZUVtYWlsVXJsIiwib1VTaGVsbENvbnRhaW5lciIsInNhcCIsInVzaGVsbCIsIkNvbnRhaW5lciIsImdldEZMUFVybEFzeW5jIiwidGhlbiIsInNGTFBVcmwiLCJjYXRjaCIsInNFcnJvciIsIkxvZyIsImVycm9yIiwiUHJvbWlzZSIsInJlc29sdmUiLCJkb2N1bWVudCIsIlVSTCIsImdldFNhdmVBc1RpbGVTZXJ2aWNlVXJsIiwib0ZpbHRlckJhciIsIm9Db25kaXRpb25zIiwiZ2V0RmlsdGVyQ29uZGl0aW9ucyIsImJTYXZlQXNUaWxlU2VydmljZVVybEFsbG93ZWQiLCJTZW1hbnRpY0RhdGVPcGVyYXRvcnMiLCJoYXNTZW1hbnRpY0RhdGVPcGVyYXRpb25zIiwiZ2V0SmFtVXJsIiwic0phbVVybCIsInJ1bm5pbmdJbklmcmFtZSIsImdldEZMUFVybCIsInNVcmwiLCJzdWJzdHIiLCJpbmRleE9mIiwib3JpZ2luIiwicGF0aG5hbWUiLCJTaGFyZU92ZXJyaWRlIiwiYWRhcHRTaGFyZU1ldGFkYXRhIiwib1NoYXJlTWV0YWRhdGEiLCJvQXBwQ29tcG9uZW50IiwiQ29tbW9uVXRpbHMiLCJnZXRBcHBDb21wb25lbnQiLCJiYXNlIiwib01ldGFkYXRhIiwiZ2V0TWV0YWRhdGEiLCJvVUlNYW5pZmVzdCIsImdldE1hbmlmZXN0RW50cnkiLCJzSWNvbiIsImljb25zIiwiaWNvbiIsIm9BcHBNYW5pZmVzdCIsInNUaXRsZSIsInRpdGxlIiwidGlsZSIsInF1ZXJ5VXJsIiwiamFtIiwidXJsIiwiZW1haWwiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7QUFNQSxXQUFTQSxXQUFULENBQXFCQyxXQUFyQixFQUFrRDtBQUNqRCxRQUFJQyxRQUFRLEdBQUdELFdBQVcsQ0FBQ0UsT0FBWixHQUFzQkMsVUFBdEIsR0FBbUMsQ0FBbkMsRUFBc0NDLElBQXRDLEdBQTZDQyxhQUE1RDs7QUFDQSxRQUFJLENBQUNKLFFBQUwsRUFBZTtBQUNkO0FBQ0FBLE1BQUFBLFFBQVEsR0FBSUQsV0FBVyxDQUFDRSxPQUFaLEdBQXNCSSxJQUF0QixDQUEyQixxQkFBM0IsQ0FBRCxDQUFrRUMsY0FBbEUsRUFBWDtBQUNBOztBQUNELFFBQU1DLE1BQU0sR0FBR1IsV0FBVyxDQUFDRSxPQUFaLEdBQXNCSSxJQUF0QixDQUEyQkwsUUFBM0IsQ0FBZjs7QUFDQSxRQUFJLENBQUNPLE1BQUwsRUFBYTtBQUNaLGFBQU8sRUFBUDtBQUNBOztBQUNELFFBQU1DLFFBQVEsR0FBR0QsTUFBTSxDQUFDRSxhQUFQLE1BQTBCRixNQUFNLENBQUNHLFVBQVAsQ0FBa0IsT0FBbEIsQ0FBM0M7QUFDQSxRQUFNQyxZQUFZLEdBQUlILFFBQVEsSUFBS0EsUUFBRCxDQUFrQkksY0FBbEIsRUFBYixJQUFvRCxFQUF6RTtBQUNBLFFBQU1DLFNBQVMsR0FBR0YsWUFBWSxDQUFDRyxLQUFiLENBQW1CLEdBQW5CLENBQWxCO0FBQ0EsUUFBTUMsT0FBTyxHQUFH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LE9BSEYsRUFJRW5CLEtBSkYsQ0FJUSxVQUFVRyxLQUFWLEVBQXNCO0FBQzVCRCxRQUFBQSxHQUFHLENBQUNDLEtBQUosQ0FBVUEsS0FBVjtBQUNBLE9BTkY7QUFPQSxhQUFPQyxPQUFPLENBQUNDLE9BQVIsQ0FBZ0JiLGdCQUFnQixFQUFoQyxFQUFvQ00sSUFBcEMsQ0FBeUMsVUFBVUMsT0FBVixFQUF3QjtBQUN2RTJCLFFBQUFBLGNBQWMsQ0FBQ21CLEtBQWYsQ0FBcUJELEdBQXJCLEdBQTJCN0MsT0FBM0I7QUFDQSxlQUFPMkIsY0FBUDtBQUNBLE9BSE0sQ0FBUDtBQUlBO0FBbENvQixHQUF0QjtTQXFDZUYsYSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgQmFzZUNvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS9jb3JlL0Jhc2VDb250cm9sbGVyXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgU2hhcmUgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL1NoYXJlXCI7XG5pbXBvcnQgU2VtYW50aWNEYXRlT3BlcmF0b3JzIGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1NlbWFudGljRGF0ZU9wZXJhdG9yc1wiO1xuaW1wb3J0IEljb25UYWJCYXIgZnJvbSBcInNhcC9tL0ljb25UYWJCYXJcIjtcbmltcG9ydCBIYXNoQ2hhbmdlciBmcm9tIFwic2FwL3VpL2NvcmUvcm91dGluZy9IYXNoQ2hhbmdlclwiO1xuaW1wb3J0IFRhYmxlIGZyb20gXCJzYXAvdWkvbWRjL1RhYmxlXCI7XG5mdW5jdGlvbiBnZXRDb3VudFVybChvQ29udHJvbGxlcjogQmFzZUNvbnRyb2xsZXIpIHtcblx0bGV0IHNUYWJsZUlkID0gb0NvbnRyb2xsZXIuZ2V0VmlldygpLmdldENvbnRlbnQoKVswXS5kYXRhKCkuc2luZ2xlVGFibGVJZDtcblx0aWYgKCFzVGFibGVJZCkge1xuXHRcdC8vIGlmIHNpbmdsZSB0YWJsZSBpZCBpcyBub3QgdGhlcmUgdGhlbiBnZXQgdGhlIHNlbGVjdGVkIHRhYmxlIGlkIGZyb20gbXVsdGlwbGUgdGFic1xuXHRcdHNUYWJsZUlkID0gKG9Db250cm9sbGVyLmdldFZpZXcoKS5ieUlkKFwiZmU6OlRhYk11bHRpcGxlTW9kZVwiKSBhcyBJY29uVGFiQmFyKS5nZXRTZWxlY3RlZEtleSgpO1xuXHR9XG5cdGNvbnN0IG9UYWJsZSA9IG9Db250cm9sbGVyLmdldFZpZXcoKS5ieUlkKHNUYWJsZUlkKSBhcyBUYWJsZTtcblx0aWYgKCFvVGFibGUpIHtcblx0XHRyZXR1cm4gXCJcIjtcblx0fVxuXHRjb25zdCBvQmluZGluZyA9IG9UYWJsZS5nZXRSb3dCaW5kaW5nKCkgfHwgb1RhYmxlLmdldEJpbmRpbmcoXCJpdGVtc1wiKTtcblx0Y29uc3Qgc0Rvd25sb2FkVXJsID0gKG9CaW5kaW5nICYmIChvQmluZGluZyBhcyBhbnkpLmdldERvd25sb2FkVXJsKCkpIHx8IFwiXCI7XG5cdGNvbnN0IGFTcGxpdFVybCA9IHNEb3dubG9hZFVybC5zcGxpdChcIj9cIik7XG5cdGNvbnN0IGJhc2VVcmwgPSBhU3BsaXRVcmxbMF0gKyBcIi8kY291bnQ/XCI7XG5cdC8vIGdldERvd25sb2FkVXJsKCkgcmV0dXJucyB1cmwgd2l0aCAkc2VsZWN0LCAkZXhwYW5kIHdoaWNoIGlzIG5vdCBzdXBwb3J0ZWQgd2hlbiAvJGNvdW50IGlzIHVzZWQgdG8gZ2V0IHRoZSByZWNvcmQgY291bnQuIG9ubHkgJGFwcGx5LCAkc2VhcmNoLCAkZmlsdGVyIGlzIHN1cHBvcnRlZFxuXHQvLyA/JGNvdW50PXRydWUgcmV0dXJucyBjb3VudCBpbiBhIGZvcm1hdCB3aGljaCBpcyBub3Qgc3VwcG9ydGVkIGJ5IEZMUCB5ZXQuXG5cdC8vIGN1cnJlbnRseSBzdXBwb3J0ZWQgZm9ybWF0IGZvciB2NCBpcyAuLi9jb3VudC4uIG9ubHkgKHdoZXJlIHRpbGUgcHJldmlldyB3aWxsIHN0aWxsIG5vdCB3b3JrKVxuXHRjb25zdCBhU3VwcG9ydGVkUGFyYW1zOiBhbnlbXSA9IFtdO1xuXHRpZiAoYVNwbGl0VXJsLmxlbmd0aCA+IDEpIHtcblx0XHRjb25zdCB1cmxQYXJhbXMgPSBhU3BsaXRVcmxbMV07XG5cdFx0dXJsUGFyYW1zLnNwbGl0KFwiJlwiKS5mb3JFYWNoKGZ1bmN0aW9uICh1cmxQYXJhbTogYW55KSB7XG5cdFx0XHRjb25zdCBhVXJsUGFyYW1QYXJ0cyA9IHVybFBhcmFtLnNwbGl0KFwiPVwiKTtcblx0XHRcdHN3aXRjaCAoYVVybFBhcmFtUGFydHNbMF0pIHtcblx0XHRcdFx0Y2FzZSBcIiRhcHBseVwiOlxuXHRcdFx0XHRjYXNlIFwiJHNlYXJjaFwiOlxuXHRcdFx0XHRjYXNlIFwiJGZpbHRlclwiOlxuXHRcdFx0XHRcdGFTdXBwb3J0ZWRQYXJhbXMucHVzaCh1cmxQYXJhbSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblx0cmV0dXJuIGJhc2VVcmwgKyBhU3VwcG9ydGVkUGFyYW1zLmpvaW4oXCImXCIpO1xufVxuZnVuY3Rpb24gZ2V0U2hhcmVVcmwoKSB7XG5cdGNvbnN0IHNIYXNoID0gSGFzaENoYW5nZXIuZ2V0SW5zdGFuY2UoKS5nZXRIYXNoKCk7XG5cdGNvbnN0IHNCYXNlUGF0aCA9IChIYXNoQ2hhbmdlci5nZXRJbnN0YW5jZSgpIGFzIGFueSkuaHJlZkZvckFwcFNwZWNpZmljSGFzaFxuXHRcdD8gKEhhc2hDaGFuZ2VyLmdldEluc3RhbmNlKCkgYXMgYW55KS5ocmVmRm9yQXBwU3BlY2lmaWNIYXNoKFwiXCIpXG5cdFx0OiBcIlwiO1xuXHRjb25zdCBzU2hhcmVVcmwgPSBzSGFzaCA/IHNCYXNlUGF0aCArIHNIYXNoIDogd2luZG93LmxvY2F0aW9uLmhhc2g7XG5cdHJldHVybiBzU2hhcmVVcmw7XG59XG5mdW5jdGlvbiBnZXRTaGFyZUVtYWlsVXJsKCkge1xuXHRjb25zdCBvVVNoZWxsQ29udGFpbmVyID0gc2FwLnVzaGVsbCAmJiBzYXAudXNoZWxsLkNvbnRhaW5lcjtcblx0aWYgKG9VU2hlbGxDb250YWluZXIpIHtcblx0XHRyZXR1cm4gb1VTaGVsbENvbnRhaW5lclxuXHRcdFx0LmdldEZMUFVybEFzeW5jKHRydWUpXG5cdFx0XHQudGhlbihmdW5jdGlvbiAoc0ZMUFVybDogYW55KSB7XG5cdFx0XHRcdHJldHVybiBzRkxQVXJsO1xuXHRcdFx0fSlcblx0XHRcdC5jYXRjaChmdW5jdGlvbiAoc0Vycm9yOiBhbnkpIHtcblx0XHRcdFx0TG9nLmVycm9yKFwiQ291bGQgbm90IHJldHJpZXZlIGNGTFAgVVJMIGZvciB0aGUgc2hhcmluZyBkaWFsb2cgKGRpYWxvZyB3aWxsIG5vdCBiZSBvcGVuZWQpXCIsIHNFcnJvcik7XG5cdFx0XHR9KTtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGRvY3VtZW50LlVSTCk7XG5cdH1cbn1cbmZ1bmN0aW9uIGdldFNhdmVBc1RpbGVTZXJ2aWNlVXJsKG9Db250cm9sbGVyOiBhbnkpIHtcblx0Y29uc3Qgb0ZpbHRlckJhciA9IG9Db250cm9sbGVyLmdldFZpZXcoKS5ieUlkKG9Db250cm9sbGVyLmdldFZpZXcoKS5nZXRDb250ZW50KClbMF0uZGF0YShcImZpbHRlckJhcklkXCIpKTtcblx0aWYgKG9GaWx0ZXJCYXIpIHtcblx0XHRjb25zdCBvQ29uZGl0aW9ucyA9IG9GaWx0ZXJCYXIuZ2V0RmlsdGVyQ29uZGl0aW9ucygpO1xuXHRcdGNvbnN0IGJTYXZlQXNUaWxlU2VydmljZVVybEFsbG93ZWQgPSBTZW1hbnRpY0RhdGVPcGVyYXRvcnMuaGFzU2VtYW50aWNEYXRlT3BlcmF0aW9ucyhvQ29uZGl0aW9ucyk7XG5cdFx0aWYgKGJTYXZlQXNUaWxlU2VydmljZVVybEFsbG93ZWQpIHtcblx0XHRcdHJldHVybiBnZXRDb3VudFVybChvQ29udHJvbGxlcik7XG5cdFx0fVxuXHR9XG5cdHJldHVybiBcIlwiO1xufVxuZnVuY3Rpb24gZ2V0SmFtVXJsKCkge1xuXHRjb25zdCBzSGFzaCA9IEhhc2hDaGFuZ2VyLmdldEluc3RhbmNlKCkuZ2V0SGFzaCgpO1xuXHRjb25zdCBzQmFzZVBhdGggPSAoSGFzaENoYW5nZXIuZ2V0SW5zdGFuY2UoKSBhcyBhbnkpLmhyZWZGb3JBcHBTcGVjaWZpY0hhc2hcblx0XHQ/IChIYXNoQ2hhbmdlci5nZXRJbnN0YW5jZSgpIGFzIGFueSkuaHJlZkZvckFwcFNwZWNpZmljSGFzaChcIlwiKVxuXHRcdDogXCJcIjtcblx0Y29uc3Qgc0phbVVybCA9IHNIYXNoID8gc0Jhc2VQYXRoICsgc0hhc2ggOiB3aW5kb3cubG9jYXRpb24uaGFzaDtcblx0Ly8gaW4gY2FzZSB3ZSBhcmUgaW4gY0ZMUCBzY2VuYXJpbywgdGhlIGFwcGxpY2F0aW9uIGlzIHJ1bm5pbmdcblx0Ly8gaW5zaWRlIGFuIGlmcmFtZSwgYW5kIHRoZXJlIGZvciB3ZSBuZWVkIHRvIGdldCB0aGUgY0ZMUCBVUkxcblx0Ly8gYW5kIG5vdCAnZG9jdW1lbnQuVVJMJyB0aGF0IHJlcHJlc2VudHMgdGhlIGlmcmFtZSBVUkxcblx0aWYgKHNhcC51c2hlbGwgJiYgc2FwLnVzaGVsbC5Db250YWluZXIgJiYgc2FwLnVzaGVsbC5Db250YWluZXIucnVubmluZ0luSWZyYW1lICYmIHNhcC51c2hlbGwuQ29udGFpbmVyLnJ1bm5pbmdJbklmcmFtZSgpKSB7XG5cdFx0c2FwLnVzaGVsbC5Db250YWluZXIuZ2V0RkxQVXJsKHRydWUpXG5cdFx0XHQudGhlbihmdW5jdGlvbiAoc1VybDogYW55KSB7XG5cdFx0XHRcdHJldHVybiBzVXJsLnN1YnN0cigwLCBzVXJsLmluZGV4T2YoXCIjXCIpKSArIHNKYW1Vcmw7XG5cdFx0XHR9KVxuXHRcdFx0LmNhdGNoKGZ1bmN0aW9uIChzRXJyb3I6IGFueSkge1xuXHRcdFx0XHRMb2cuZXJyb3IoXCJDb3VsZCBub3QgcmV0cmlldmUgY0ZMUCBVUkwgZm9yIHRoZSBzaGFyaW5nIGRpYWxvZyAoZGlhbG9nIHdpbGwgbm90IGJlIG9wZW5lZClcIiwgc0Vycm9yKTtcblx0XHRcdH0pO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lICsgc0phbVVybDtcblx0fVxufVxuXG5jb25zdCBTaGFyZU92ZXJyaWRlID0ge1xuXHRhZGFwdFNoYXJlTWV0YWRhdGE6IGZ1bmN0aW9uICh0aGlzOiBTaGFyZSwgb1NoYXJlTWV0YWRhdGE6IGFueSkge1xuXHRcdFByb21pc2UucmVzb2x2ZShnZXRKYW1VcmwoKSlcblx0XHRcdC50aGVuKChzSmFtVXJsOiBzdHJpbmcgfCB1bmRlZmluZWQpID0+IHtcblx0XHRcdFx0Y29uc3Qgb0FwcENvbXBvbmVudCA9IENvbW1vblV0aWxzLmdldEFwcENvbXBvbmVudCh0aGlzLmJhc2UuZ2V0VmlldygpKTtcblx0XHRcdFx0Y29uc3Qgb01ldGFkYXRhID0gb0FwcENvbXBvbmVudC5nZXRNZXRhZGF0YSgpO1xuXHRcdFx0XHRjb25zdCBvVUlNYW5pZmVzdCA9IG9NZXRhZGF0YS5nZXRNYW5pZmVzdEVudHJ5KFwic2FwLnVpXCIpO1xuXHRcdFx0XHRjb25zdCBzSWNvbiA9IChvVUlNYW5pZmVzdCAmJiBvVUlNYW5pZmVzdC5pY29ucyAmJiBvVUlNYW5pZmVzdC5pY29ucy5pY29uKSB8fCBcIlwiO1xuXHRcdFx0XHRjb25zdCBvQXBwTWFuaWZlc3QgPSBvTWV0YWRhdGEuZ2V0TWFuaWZlc3RFbnRyeShcInNhcC5hcHBcIik7XG5cdFx0XHRcdGNvbnN0IHNUaXRsZSA9IChvQXBwTWFuaWZlc3QgJiYgb0FwcE1hbmlmZXN0LnRpdGxlKSB8fCBcIlwiO1xuXHRcdFx0XHQvLyBUT0RPOiBjaGVjayBpZiB0aGVyZSBpcyBhbnkgc2VtYW50aWMgZGF0ZSB1c2VkIGJlZm9yZSBhZGRpbmcgc2VydmljZVVSTCBhcyBCTEk6RklPUklURUNIUDEtMTgwMjNcblx0XHRcdFx0b1NoYXJlTWV0YWRhdGEudGlsZSA9IHtcblx0XHRcdFx0XHRpY29uOiBzSWNvbixcblx0XHRcdFx0XHR0aXRsZTogc1RpdGxlLFxuXHRcdFx0XHRcdHF1ZXJ5VXJsOiBnZXRTYXZlQXNUaWxlU2VydmljZVVybCh0aGlzLmJhc2UpXG5cdFx0XHRcdH07XG5cdFx0XHRcdG9TaGFyZU1ldGFkYXRhLnRpdGxlID0gZG9jdW1lbnQudGl0bGU7XG5cdFx0XHRcdG9TaGFyZU1ldGFkYXRhLmphbS51cmwgPSBzSmFtVXJsO1xuXHRcdFx0fSlcblx0XHRcdC5jYXRjaChmdW5jdGlvbiAoZXJyb3I6IGFueSkge1xuXHRcdFx0XHRMb2cuZXJyb3IoZXJyb3IpO1xuXHRcdFx0fSk7XG5cblx0XHRQcm9taXNlLnJlc29sdmUoZ2V0U2hhcmVVcmwoKSlcblx0XHRcdC50aGVuKGZ1bmN0aW9uIChzVXJsOiBhbnkpIHtcblx0XHRcdFx0b1NoYXJlTWV0YWRhdGEudXJsID0gc1VybDtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcblx0XHRcdFx0TG9nLmVycm9yKGVycm9yKTtcblx0XHRcdH0pO1xuXHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUoZ2V0U2hhcmVFbWFpbFVybCgpKS50aGVuKGZ1bmN0aW9uIChzRkxQVXJsOiBhbnkpIHtcblx0XHRcdG9TaGFyZU1ldGFkYXRhLmVtYWlsLnVybCA9IHNGTFBVcmw7XG5cdFx0XHRyZXR1cm4gb1NoYXJlTWV0YWRhdGE7XG5cdFx0fSk7XG5cdH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNoYXJlT3ZlcnJpZGU7XG4iXX0=
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import Log from "sap/base/Log";
|
|
2
|
+
import BaseController from "sap/fe/core/BaseController";
|
|
3
|
+
import CommonUtils from "sap/fe/core/CommonUtils";
|
|
4
|
+
import Share from "sap/fe/core/controllerextensions/Share";
|
|
5
|
+
import SemanticDateOperators from "sap/fe/core/helpers/SemanticDateOperators";
|
|
6
|
+
import IconTabBar from "sap/m/IconTabBar";
|
|
7
|
+
import HashChanger from "sap/ui/core/routing/HashChanger";
|
|
8
|
+
import Table from "sap/ui/mdc/Table";
|
|
9
|
+
function getCountUrl(oController: BaseController) {
|
|
10
|
+
let sTableId = oController.getView().getContent()[0].data().singleTableId;
|
|
11
|
+
if (!sTableId) {
|
|
12
|
+
// if single table id is not there then get the selected table id from multiple tabs
|
|
13
|
+
sTableId = (oController.getView().byId("fe::TabMultipleMode") as IconTabBar).getSelectedKey();
|
|
14
|
+
}
|
|
15
|
+
const oTable = oController.getView().byId(sTableId) as Table;
|
|
16
|
+
if (!oTable) {
|
|
17
|
+
return "";
|
|
18
|
+
}
|
|
19
|
+
const oBinding = oTable.getRowBinding() || oTable.getBinding("items");
|
|
20
|
+
const sDownloadUrl = (oBinding && (oBinding as any).getDownloadUrl()) || "";
|
|
21
|
+
const aSplitUrl = sDownloadUrl.split("?");
|
|
22
|
+
const baseUrl = aSplitUrl[0] + "/$count?";
|
|
23
|
+
// getDownloadUrl() returns url with $select, $expand which is not supported when /$count is used to get the record count. only $apply, $search, $filter is supported
|
|
24
|
+
// ?$count=true returns count in a format which is not supported by FLP yet.
|
|
25
|
+
// currently supported format for v4 is ../count.. only (where tile preview will still not work)
|
|
26
|
+
const aSupportedParams: any[] = [];
|
|
27
|
+
if (aSplitUrl.length > 1) {
|
|
28
|
+
const urlParams = aSplitUrl[1];
|
|
29
|
+
urlParams.split("&").forEach(function (urlParam: any) {
|
|
30
|
+
const aUrlParamParts = urlParam.split("=");
|
|
31
|
+
switch (aUrlParamParts[0]) {
|
|
32
|
+
case "$apply":
|
|
33
|
+
case "$search":
|
|
34
|
+
case "$filter":
|
|
35
|
+
aSupportedParams.push(urlParam);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return baseUrl + aSupportedParams.join("&");
|
|
40
|
+
}
|
|
41
|
+
function getShareUrl() {
|
|
42
|
+
const sHash = HashChanger.getInstance().getHash();
|
|
43
|
+
const sBasePath = (HashChanger.getInstance() as any).hrefForAppSpecificHash
|
|
44
|
+
? (HashChanger.getInstance() as any).hrefForAppSpecificHash("")
|
|
45
|
+
: "";
|
|
46
|
+
const sShareUrl = sHash ? sBasePath + sHash : window.location.hash;
|
|
47
|
+
return sShareUrl;
|
|
48
|
+
}
|
|
49
|
+
function getShareEmailUrl() {
|
|
50
|
+
const oUShellContainer = sap.ushell && sap.ushell.Container;
|
|
51
|
+
if (oUShellContainer) {
|
|
52
|
+
return oUShellContainer
|
|
53
|
+
.getFLPUrlAsync(true)
|
|
54
|
+
.then(function (sFLPUrl: any) {
|
|
55
|
+
return sFLPUrl;
|
|
56
|
+
})
|
|
57
|
+
.catch(function (sError: any) {
|
|
58
|
+
Log.error("Could not retrieve cFLP URL for the sharing dialog (dialog will not be opened)", sError);
|
|
59
|
+
});
|
|
60
|
+
} else {
|
|
61
|
+
return Promise.resolve(document.URL);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function getSaveAsTileServiceUrl(oController: any) {
|
|
65
|
+
const oFilterBar = oController.getView().byId(oController.getView().getContent()[0].data("filterBarId"));
|
|
66
|
+
if (oFilterBar) {
|
|
67
|
+
const oConditions = oFilterBar.getFilterConditions();
|
|
68
|
+
const bSaveAsTileServiceUrlAllowed = SemanticDateOperators.hasSemanticDateOperations(oConditions);
|
|
69
|
+
if (bSaveAsTileServiceUrlAllowed) {
|
|
70
|
+
return getCountUrl(oController);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return "";
|
|
74
|
+
}
|
|
75
|
+
function getJamUrl() {
|
|
76
|
+
const sHash = HashChanger.getInstance().getHash();
|
|
77
|
+
const sBasePath = (HashChanger.getInstance() as any).hrefForAppSpecificHash
|
|
78
|
+
? (HashChanger.getInstance() as any).hrefForAppSpecificHash("")
|
|
79
|
+
: "";
|
|
80
|
+
const sJamUrl = sHash ? sBasePath + sHash : window.location.hash;
|
|
81
|
+
// in case we are in cFLP scenario, the application is running
|
|
82
|
+
// inside an iframe, and there for we need to get the cFLP URL
|
|
83
|
+
// and not 'document.URL' that represents the iframe URL
|
|
84
|
+
if (sap.ushell && sap.ushell.Container && sap.ushell.Container.runningInIframe && sap.ushell.Container.runningInIframe()) {
|
|
85
|
+
sap.ushell.Container.getFLPUrl(true)
|
|
86
|
+
.then(function (sUrl: any) {
|
|
87
|
+
return sUrl.substr(0, sUrl.indexOf("#")) + sJamUrl;
|
|
88
|
+
})
|
|
89
|
+
.catch(function (sError: any) {
|
|
90
|
+
Log.error("Could not retrieve cFLP URL for the sharing dialog (dialog will not be opened)", sError);
|
|
91
|
+
});
|
|
92
|
+
} else {
|
|
93
|
+
return window.location.origin + window.location.pathname + sJamUrl;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
const ShareOverride = {
|
|
98
|
+
adaptShareMetadata: function (this: Share, oShareMetadata: any) {
|
|
99
|
+
Promise.resolve(getJamUrl())
|
|
100
|
+
.then((sJamUrl: string | undefined) => {
|
|
101
|
+
const oAppComponent = CommonUtils.getAppComponent(this.base.getView());
|
|
102
|
+
const oMetadata = oAppComponent.getMetadata();
|
|
103
|
+
const oUIManifest = oMetadata.getManifestEntry("sap.ui");
|
|
104
|
+
const sIcon = (oUIManifest && oUIManifest.icons && oUIManifest.icons.icon) || "";
|
|
105
|
+
const oAppManifest = oMetadata.getManifestEntry("sap.app");
|
|
106
|
+
const sTitle = (oAppManifest && oAppManifest.title) || "";
|
|
107
|
+
// TODO: check if there is any semantic date used before adding serviceURL as BLI:FIORITECHP1-18023
|
|
108
|
+
oShareMetadata.tile = {
|
|
109
|
+
icon: sIcon,
|
|
110
|
+
title: sTitle,
|
|
111
|
+
queryUrl: getSaveAsTileServiceUrl(this.base)
|
|
112
|
+
};
|
|
113
|
+
oShareMetadata.title = document.title;
|
|
114
|
+
oShareMetadata.jam.url = sJamUrl;
|
|
115
|
+
})
|
|
116
|
+
.catch(function (error: any) {
|
|
117
|
+
Log.error(error);
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
Promise.resolve(getShareUrl())
|
|
121
|
+
.then(function (sUrl: any) {
|
|
122
|
+
oShareMetadata.url = sUrl;
|
|
123
|
+
})
|
|
124
|
+
.catch(function (error: any) {
|
|
125
|
+
Log.error(error);
|
|
126
|
+
});
|
|
127
|
+
return Promise.resolve(getShareEmailUrl()).then(function (sFLPUrl: any) {
|
|
128
|
+
oShareMetadata.email.url = sFLPUrl;
|
|
129
|
+
return oShareMetadata;
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
export default ShareOverride;
|