@sapui5/sap.fe.templates 1.102.2 → 1.104.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.
- package/package.json +3 -4
- package/src/sap/fe/templates/.library +1 -1
- package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +2 -2
- package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.ts +1 -1
- package/src/sap/fe/templates/Feedback.js +18 -18
- package/src/sap/fe/templates/Feedback.ts +12 -12
- package/src/sap/fe/templates/ListReport/ExtensionAPI.js +9 -12
- package/src/sap/fe/templates/ListReport/ExtensionAPI.ts +9 -12
- package/src/sap/fe/templates/ListReport/ListReport.view.xml +4 -3
- package/src/sap/fe/templates/ListReport/ListReportController.controller.js +102 -313
- package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +109 -297
- package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.js +367 -0
- package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.ts +259 -0
- package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +16 -9
- package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.ts +17 -11
- package/src/sap/fe/templates/ListReport/overrides/Share.js +3 -4
- package/src/sap/fe/templates/ListReport/overrides/Share.ts +6 -7
- package/src/sap/fe/templates/ListReport/overrides/ViewState.js +22 -31
- package/src/sap/fe/templates/ListReport/overrides/ViewState.ts +33 -37
- package/src/sap/fe/templates/ListReport/view/fragments/CollectionVisualization.fragment.xml +1 -1
- package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.js +19 -3
- package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.ts +75 -47
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +12 -16
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI.ts +17 -20
- package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +5 -4
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +270 -244
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +175 -235
- package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js +62 -73
- package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.ts +75 -90
- package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton.tsx +132 -0
- package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +2 -3
- package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.ts +4 -4
- package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +1 -1
- package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.ts +1 -1
- package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +1 -1
- package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.ts +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.ts +6 -6
- package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.ts +2 -2
- package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.ts +2 -2
- package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/Paginator.ts +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/Share.js +67 -41
- package/src/sap/fe/templates/ObjectPage/overrides/Share.ts +44 -56
- package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +2 -2
- package/src/sap/fe/templates/ObjectPage/overrides/ViewState.ts +4 -4
- package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +3 -10
- package/src/sap/fe/templates/ObjectPage/view/fragments/EditableHeaderFacet.fragment.xml +15 -5
- package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +1 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacet.fragment.xml +1 -14
- package/src/sap/fe/templates/ObjectPage/view/fragments/HeadingTitle.fragment.xml +1 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderAddress.fragment.xml +7 -2
- package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderContact.fragment.xml +26 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +1 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +4 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +6 -2
- 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 +25 -28
- package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.ts +30 -33
- package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +3 -4
- package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.ts +4 -5
- package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +140 -52
- package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.ts +108 -54
- package/src/sap/fe/templates/RootContainer/overrides/EditFlow.js +1 -1
- package/src/sap/fe/templates/RootContainer/overrides/EditFlow.ts +3 -3
- package/src/sap/fe/templates/TableScroller.js +3 -3
- package/src/sap/fe/templates/TableScroller.ts +2 -2
- package/src/sap/fe/templates/controls/Table.fragment.xml +1 -0
- package/src/sap/fe/templates/library.js +7 -3
- package/src/sap/fe/templates/library.ts +5 -0
- package/src/sap/fe/templates/messagebundle.properties +7 -22
- package/src/sap/fe/templates/messagebundle_ar.properties +3 -12
- package/src/sap/fe/templates/messagebundle_bg.properties +0 -9
- package/src/sap/fe/templates/messagebundle_ca.properties +2 -11
- package/src/sap/fe/templates/messagebundle_cs.properties +3 -12
- package/src/sap/fe/templates/messagebundle_cy.properties +0 -9
- package/src/sap/fe/templates/messagebundle_da.properties +3 -12
- package/src/sap/fe/templates/messagebundle_de.properties +2 -11
- package/src/sap/fe/templates/messagebundle_el.properties +2 -11
- package/src/sap/fe/templates/messagebundle_en.properties +2 -11
- package/src/sap/fe/templates/messagebundle_en_GB.properties +2 -11
- package/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +2 -11
- package/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +2 -11
- package/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +1 -5
- package/src/sap/fe/templates/messagebundle_es.properties +0 -9
- package/src/sap/fe/templates/messagebundle_es_MX.properties +2 -11
- package/src/sap/fe/templates/messagebundle_et.properties +0 -9
- package/src/sap/fe/templates/messagebundle_fi.properties +2 -11
- package/src/sap/fe/templates/messagebundle_fr.properties +3 -12
- package/src/sap/fe/templates/messagebundle_fr_CA.properties +2 -11
- package/src/sap/fe/templates/messagebundle_hi.properties +2 -11
- package/src/sap/fe/templates/messagebundle_hr.properties +2 -11
- package/src/sap/fe/templates/messagebundle_hu.properties +2 -11
- package/src/sap/fe/templates/messagebundle_id.properties +2 -11
- package/src/sap/fe/templates/messagebundle_it.properties +2 -11
- package/src/sap/fe/templates/messagebundle_iw.properties +2 -11
- package/src/sap/fe/templates/messagebundle_ja.properties +2 -11
- package/src/sap/fe/templates/messagebundle_kk.properties +2 -11
- package/src/sap/fe/templates/messagebundle_ko.properties +2 -11
- package/src/sap/fe/templates/messagebundle_lt.properties +2 -11
- package/src/sap/fe/templates/messagebundle_lv.properties +0 -9
- package/src/sap/fe/templates/messagebundle_ms.properties +2 -11
- package/src/sap/fe/templates/messagebundle_nl.properties +2 -11
- package/src/sap/fe/templates/messagebundle_no.properties +0 -9
- package/src/sap/fe/templates/messagebundle_pl.properties +0 -9
- package/src/sap/fe/templates/messagebundle_pt.properties +3 -12
- package/src/sap/fe/templates/messagebundle_pt_PT.properties +2 -11
- package/src/sap/fe/templates/messagebundle_ro.properties +0 -9
- package/src/sap/fe/templates/messagebundle_ru.properties +2 -11
- package/src/sap/fe/templates/messagebundle_sh.properties +2 -11
- package/src/sap/fe/templates/messagebundle_sk.properties +2 -11
- package/src/sap/fe/templates/messagebundle_sl.properties +2 -11
- package/src/sap/fe/templates/messagebundle_sv.properties +2 -11
- package/src/sap/fe/templates/messagebundle_th.properties +1 -10
- package/src/sap/fe/templates/messagebundle_tr.properties +2 -11
- package/src/sap/fe/templates/messagebundle_uk.properties +2 -11
- package/src/sap/fe/templates/messagebundle_vi.properties +0 -9
- package/src/sap/fe/templates/messagebundle_zh_CN.properties +0 -9
- package/src/sap/fe/templates/messagebundle_zh_TW.properties +2 -11
- package/src/sap/fe/templates/ObjectPage/view/fragments/SwitchDraftAndActiveObjectPopOver.fragment.xml +0 -27
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import Log from "sap/base/Log";
|
|
2
2
|
import CommonUtils from "sap/fe/core/CommonUtils";
|
|
3
|
-
import ViewState from "sap/fe/core/controllerextensions/ViewState";
|
|
3
|
+
import type ViewState from "sap/fe/core/controllerextensions/ViewState";
|
|
4
4
|
import KeepAliveHelper from "sap/fe/core/helpers/KeepAliveHelper";
|
|
5
|
-
import
|
|
5
|
+
import type { InternalModelContext } from "sap/fe/core/helpers/ModelHelper";
|
|
6
|
+
import ModelHelper from "sap/fe/core/helpers/ModelHelper";
|
|
6
7
|
import CoreLibrary from "sap/fe/core/library";
|
|
7
8
|
import * as PropertyFormatters from "sap/fe/core/templating/PropertyFormatters";
|
|
8
9
|
import DelegateUtil from "sap/fe/macros/DelegateUtil";
|
|
9
10
|
import FilterUtils from "sap/fe/macros/filter/FilterUtils";
|
|
10
11
|
import NavLibrary from "sap/fe/navigation/library";
|
|
11
|
-
import ListReportController from "sap/fe/templates/ListReport/ListReportController.controller";
|
|
12
|
+
import type ListReportController from "sap/fe/templates/ListReport/ListReportController.controller";
|
|
12
13
|
import { system } from "sap/ui/Device";
|
|
13
14
|
import ControlVariantApplyAPI from "sap/ui/fl/apply/api/ControlVariantApplyAPI";
|
|
14
|
-
import VariantManagement from "sap/ui/fl/variants/VariantManagement";
|
|
15
|
+
import type VariantManagement from "sap/ui/fl/variants/VariantManagement";
|
|
15
16
|
import ConditionValidated from "sap/ui/mdc/enum/ConditionValidated";
|
|
16
17
|
import StateUtil from "sap/ui/mdc/p13n/StateUtil";
|
|
17
|
-
import JSONModel from "sap/ui/model/json/JSONModel";
|
|
18
|
+
import type JSONModel from "sap/ui/model/json/JSONModel";
|
|
18
19
|
|
|
19
20
|
const NavType = NavLibrary.NavType,
|
|
20
21
|
VariantManagementType = CoreLibrary.VariantManagement,
|
|
@@ -49,15 +50,10 @@ const ViewStateOverride: any = {
|
|
|
49
50
|
if (oFilterBar) {
|
|
50
51
|
oFilterBar.setSuspendSelection(false);
|
|
51
52
|
} else if (oController._isFilterBarHidden()) {
|
|
52
|
-
const oInternalModelContext = oController.getView().getBindingContext("internal") as InternalModelContext
|
|
53
|
-
aControls = oController._getControls();
|
|
53
|
+
const oInternalModelContext = oController.getView().getBindingContext("internal") as InternalModelContext;
|
|
54
54
|
oInternalModelContext.setProperty("hasPendingFilters", false);
|
|
55
55
|
if (oController._isMultiMode()) {
|
|
56
|
-
oController.
|
|
57
|
-
const sDisplayedControlId = oController._getCurrentControl().getId();
|
|
58
|
-
aControls.forEach(function (oControl: any) {
|
|
59
|
-
oControl.data("outdatedRows", oControl.getId() !== sDisplayedControlId);
|
|
60
|
-
});
|
|
56
|
+
oController._getMultiModeControl().setCountsOutDated(true);
|
|
61
57
|
}
|
|
62
58
|
}
|
|
63
59
|
},
|
|
@@ -72,7 +68,7 @@ const ViewStateOverride: any = {
|
|
|
72
68
|
adaptStateControls: function (this: ViewState & typeof ViewStateOverride, aStateControls: any) {
|
|
73
69
|
const oView = this.getView(),
|
|
74
70
|
oController = oView.getController() as ListReportController,
|
|
75
|
-
oViewData = oView.getViewData()
|
|
71
|
+
oViewData = oView.getViewData(),
|
|
76
72
|
bControlVM = oViewData.variantManagement === VariantManagementType.Control;
|
|
77
73
|
|
|
78
74
|
const oFilterBarVM = this._getFilterBarVM(oView);
|
|
@@ -142,7 +138,7 @@ const ViewStateOverride: any = {
|
|
|
142
138
|
oAdditionalStates.alpContentView = TemplateContentView.Chart;
|
|
143
139
|
}
|
|
144
140
|
(oInternalModelContext.getModel() as JSONModel).setProperty(
|
|
145
|
-
oInternalModelContext.getPath()
|
|
141
|
+
`${oInternalModelContext.getPath()}/alpContentView`,
|
|
146
142
|
oAdditionalStates.alpContentView
|
|
147
143
|
);
|
|
148
144
|
}
|
|
@@ -164,27 +160,28 @@ const ViewStateOverride: any = {
|
|
|
164
160
|
bFilterVariantApplied = true;
|
|
165
161
|
}
|
|
166
162
|
}
|
|
167
|
-
return this._applySelectionVariant(oView, oNavigationParameter, bFilterVariantApplied)
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
)
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
oFilterBarControl.setSuspendSelection(false);
|
|
184
|
-
this._bSearchTriggered = !bPreventInitialSearch;
|
|
185
|
-
oDynamicPage.setHeaderExpanded(system.desktop || bPreventInitialSearch);
|
|
163
|
+
return this._applySelectionVariant(oView, oNavigationParameter, bFilterVariantApplied);
|
|
164
|
+
})
|
|
165
|
+
.then(() => {
|
|
166
|
+
const oDynamicPage = oView.byId("fe::ListReport");
|
|
167
|
+
let bPreventInitialSearch = false;
|
|
168
|
+
const oFilterBarVM = this._getFilterBarVM(oView);
|
|
169
|
+
const oFilterBarControl = oController._getFilterBarControl();
|
|
170
|
+
if (oFilterBarControl) {
|
|
171
|
+
if (
|
|
172
|
+
(oNavigationParameter.navigationType !== NavType.initial && oNavigationParameter.requiresStandardVariant) ||
|
|
173
|
+
(!oFilterBarVM && oView.getViewData().initialLoad === InitialLoadMode.Enabled) ||
|
|
174
|
+
oController._shouldAutoTriggerSearch(oFilterBarVM)
|
|
175
|
+
) {
|
|
176
|
+
oFilterBarControl.triggerSearch();
|
|
177
|
+
} else {
|
|
178
|
+
bPreventInitialSearch = this._preventInitialSearch(oFilterBarVM);
|
|
186
179
|
}
|
|
187
|
-
|
|
180
|
+
// reset the suspend selection on filter bar to allow loading of data when needed (was set on LR Init)
|
|
181
|
+
oFilterBarControl.setSuspendSelection(false);
|
|
182
|
+
this._bSearchTriggered = !bPreventInitialSearch;
|
|
183
|
+
oDynamicPage.setHeaderExpanded(system.desktop || bPreventInitialSearch);
|
|
184
|
+
}
|
|
188
185
|
})
|
|
189
186
|
.catch(function () {
|
|
190
187
|
Log.error("Variant ID cannot be applied");
|
|
@@ -270,7 +267,7 @@ const ViewStateOverride: any = {
|
|
|
270
267
|
case VariantManagementType.None:
|
|
271
268
|
return null;
|
|
272
269
|
default:
|
|
273
|
-
throw new Error(
|
|
270
|
+
throw new Error(`unhandled variant setting: ${oViewData.variantManagement}`);
|
|
274
271
|
}
|
|
275
272
|
},
|
|
276
273
|
|
|
@@ -295,7 +292,7 @@ const ViewStateOverride: any = {
|
|
|
295
292
|
let oConditions = {};
|
|
296
293
|
const oMetaModel = oView.getModel().getMetaModel();
|
|
297
294
|
const oViewData = oView.getViewData();
|
|
298
|
-
const sContextPath = oViewData.contextPath ||
|
|
295
|
+
const sContextPath = oViewData.contextPath || `/${oViewData.entitySet}`;
|
|
299
296
|
const aMandatoryFilterFields = CommonUtils.getMandatoryFilterFields(oMetaModel, sContextPath);
|
|
300
297
|
let oVariant;
|
|
301
298
|
const bRequiresStandardVariant = oNavigationParameter.requiresStandardVariant;
|
|
@@ -382,7 +379,6 @@ const ViewStateOverride: any = {
|
|
|
382
379
|
? false
|
|
383
380
|
: PropertyFormatters.hasValueHelp(oPropertyContext.getObject(), { context: oPropertyContext })
|
|
384
381
|
});
|
|
385
|
-
return;
|
|
386
382
|
}
|
|
387
383
|
});
|
|
388
384
|
return aPropertyInfo;
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<template:with path="view>primaryVisualization" var="presentationContext">
|
|
12
12
|
<template:repeat list="{presentationContext>visualizations}" var="visualizationDefinition">
|
|
13
13
|
<m:MessageStrip
|
|
14
|
-
text="{= '{parts:[{path:\'internal>controls/ignoredFields' + (${visualizationDefinition>collection}) + (${visualizationDefinition>type}) + '\'},
|
|
14
|
+
text="{= '{parts:[{path:\'internal>controls/ignoredFields' + (${visualizationDefinition>collection}) + (${visualizationDefinition>type}) + '\'}, {value: \'' + (${visualizationDefinition>type} === 'Chart') + '\'},{value: ' + (${visualizationDefinition>type} === 'Chart' ? JSON.stringify(${visualizationDefinition>applySupported}) : '\'\'') + '}], formatter: \'.formatters.setALPControlMessageStrip\'}'}"
|
|
15
15
|
type="Information"
|
|
16
16
|
showIcon="true"
|
|
17
17
|
showCloseButton="true"
|
|
@@ -53,9 +53,25 @@ sap.ui.define(["sap/fe/core/buildingBlocks/BuildingBlock", "sap/fe/core/building
|
|
|
53
53
|
_exports = MultipleMode;
|
|
54
54
|
var _proto = MultipleMode.prototype;
|
|
55
55
|
|
|
56
|
+
_proto.getInnerControlsAPI = function getInnerControlsAPI() {
|
|
57
|
+
var _this$converterContex;
|
|
58
|
+
|
|
59
|
+
return ((_this$converterContex = this.converterContext) === null || _this$converterContex === void 0 ? void 0 : _this$converterContex.views.reduce(function (innerControls, view) {
|
|
60
|
+
var innerControlId = view.tableControlId || view.chartControlId;
|
|
61
|
+
|
|
62
|
+
if (innerControlId) {
|
|
63
|
+
innerControls.push("".concat(innerControlId, "::").concat(view.tableControlId ? "Table" : "Chart"));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return innerControls;
|
|
67
|
+
}, []).join(",")) || "";
|
|
68
|
+
};
|
|
69
|
+
|
|
56
70
|
_proto.getTemplate = function getTemplate() {
|
|
57
|
-
|
|
58
|
-
|
|
71
|
+
var _this$converterContex2, _this$converterContex3, _this$converterContex4;
|
|
72
|
+
|
|
73
|
+
return xml(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n\t\t\t<fe:MultipleModeControl\n\t\t\t\txmlns=\"sap.m\"\n\t\t\t\txmlns:fe=\"sap.fe.templates.ListReport.controls\"\n\t\t\t\txmlns:core=\"sap.ui.core\"\n\t\t\t\txmlns:macro=\"sap.fe.macros\"\n\t\t\t\tselect=\".handlers.onTabMultiModeChange\"\n\t\t\t\tinnerControls= \"", "\"\n\t\t\t\tshowCounts=\"", "\"\n\t\t\t\tfreezeContent=\"true\"\n\t\t\t\tid=\"", "::Control\"\n\t\t\t>\n\t\t\t\t<IconTabBar\n\t\t\t\t\texpandable=\"false\"\n\t\t\t\t\theaderMode=\"Inline\"\n\t\t\t\t\tid=\"", "\"\n\t\t\t\t\tstretchContentHeight=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<items>\n\t\t\t\t\t", "\n\t\t\t\t\t</items>\n\t\t\t\t</IconTabBar>\n\t\t\t</fe:MultipleModeControl>"])), this.getInnerControlsAPI(), (_this$converterContex2 = this.converterContext.multiViewsControl) === null || _this$converterContex2 === void 0 ? void 0 : _this$converterContex2.showTabCounts, (_this$converterContex3 = this.converterContext.multiViewsControl) === null || _this$converterContex3 === void 0 ? void 0 : _this$converterContex3.id, (_this$converterContex4 = this.converterContext.multiViewsControl) === null || _this$converterContex4 === void 0 ? void 0 : _this$converterContex4.id, this.converterContext.views.map(function (view, viewIdx) {
|
|
74
|
+
return "<template:with path=\"converterContext>views/".concat(viewIdx, "/\" var=\"view\"\n\t\t\t\t\t\t\t\t\t\ttemplate:require=\"{\n\t\t\t\t\t\t\t\t\t\t\tID: 'sap/fe/core/helpers/StableIdHelper'\n\t\t\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t\t\txmlns:core=\"sap.ui.core\"\n\t\t\t\t\t\t\t\t\t\txmlns:template=\"http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1\">\n\t\t\t\t\t\t\t\t<template:with path=\"view>presentation\" var=\"presentationContext\">\n\t\t\t\t\t\t\t\t<IconTabFilter\n\t\t\t\t\t\t\t\t\ttext=\"").concat(view.title, "\"\n\t\t\t\t\t\t\t\t\tkey=\"{= ID.generate([${view>tableControlId} || ${view>customTabId} || ${view>chartControlId}])}\"\n\t\t\t\t\t\t\t\t\tvisible=\"{view>visible}\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<content>\n\t\t\t\t\t\t\t\t\t\t<template:if test=\"{= ${view>type} === 'Custom'}\">\n\t\t\t\t\t\t\t\t\t\t\t<template:then>\n\t\t\t\t\t\t\t\t\t\t\t\t<core:Fragment fragmentName=\"sap.fe.templates.ListReport.view.fragments.CustomView\" type=\"XML\" />\n\t\t\t\t\t\t\t\t\t\t\t</template:then>\n\t\t\t\t\t\t\t\t\t\t\t<template:else>\n\t\t\t\t\t\t\t\t\t\t\t\t<MessageStrip\n\t\t\t\t\t\t\t\t\t\t\t\t\ttext=\"{= '{= (${tabsInternal>/' + (${view>tableControlId} || ${view>chartControlId}) + '/notApplicable/title} ) }' }\"\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"Information\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowIcon=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowCloseButton=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"sapUiSmallMargin\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tvisible=\"{= '{= (${tabsInternal>/' + (${view>tableControlId} || ${view>chartControlId}) + '/notApplicable/fields} || []).length>0 }' }\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t</MessageStrip>\n\t\t\t\t\t\t\t\t\t\t\t\t<core:Fragment fragmentName=\"sap.fe.templates.ListReport.view.fragments.CollectionVisualization\" type=\"XML\" />\n\t\t\t\t\t\t\t\t\t\t\t</template:else>\n\t\t\t\t\t\t\t\t\t\t</template:if>\n\t\t\t\t\t\t\t\t\t</content>\n\t\t\t\t\t\t\t\t</IconTabFilter>\n\t\t\t\t\t\t\t</template:with></template:with>");
|
|
59
75
|
}).join(""));
|
|
60
76
|
};
|
|
61
77
|
|
|
@@ -69,4 +85,4 @@ sap.ui.define(["sap/fe/core/buildingBlocks/BuildingBlock", "sap/fe/core/building
|
|
|
69
85
|
_exports = MultipleMode;
|
|
70
86
|
return _exports;
|
|
71
87
|
}, false);
|
|
72
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk11bHRpcGxlTW9kZS5mcmFnbWVudC50cyJdLCJuYW1lcyI6WyJNdWx0aXBsZU1vZGUiLCJkZWZpbmVCdWlsZGluZ0Jsb2NrIiwibmFtZSIsIm5hbWVzcGFjZSIsImlzT3BlbiIsInhtbEF0dHJpYnV0ZSIsInR5cGUiLCJnZXRJbm5lckNvbnRyb2xzQVBJIiwiY29udmVydGVyQ29udGV4dCIsInZpZXdzIiwicmVkdWNlIiwiaW5uZXJDb250cm9scyIsInZpZXciLCJpbm5lckNvbnRyb2xJZCIsInRhYmxlQ29udHJvbElkIiwiY2hhcnRDb250cm9sSWQiLCJwdXNoIiwiam9pbiIsImdldFRlbXBsYXRlIiwieG1sIiwibXVsdGlWaWV3c0NvbnRyb2wiLCJzaG93VGFiQ291bnRzIiwiaWQiLCJtYXAiLCJ2aWV3SWR4IiwidGl0bGUiLCJCdWlsZGluZ0Jsb2NrQmFzZSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFPcUJBLFksV0FEcEJDLG1CQUFtQixDQUFDO0FBQUVDLElBQUFBLElBQUksRUFBRSxjQUFSO0FBQXdCQyxJQUFBQSxTQUFTLEVBQUUsNENBQW5DO0FBQWlGQyxJQUFBQSxNQUFNLEVBQUU7QUFBekYsR0FBRCxDLFVBRWxCQyxZQUFZLENBQUM7QUFBRUMsSUFBQUEsSUFBSSxFQUFFO0FBQVIsR0FBRCxDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQUdiQyxtQixHQUFBLCtCQUFzQjtBQUFBOztBQUNyQixhQUNDLCtCQUFLQyxnQkFBTCxnRkFBdUJDLEtBQXZCLENBQ0VDLE1BREYsQ0FDUyxVQUFDQyxhQUFELEVBQTBCQyxJQUExQixFQUFtQztBQUMxQyxZQUFNQyxjQUFjLEdBQ2xCRCxJQUFELENBQW9DRSxjQUFwQyxJQUF1REYsSUFBRCxDQUFvQ0csY0FEM0Y7O0FBRUEsWUFBSUYsY0FBSixFQUFvQjtBQUNuQkYsVUFBQUEsYUFBYSxDQUFDSyxJQUFkLFdBQXNCSCxjQUF0QixlQUEwQ0QsSUFBRCxDQUFvQ0UsY0FBcEMsR0FBcUQsT0FBckQsR0FBK0QsT0FBeEc7QUFDQTs7QUFDRCxlQUFPSCxhQUFQO0FBQ0EsT0FSRixFQVFJLEVBUkosRUFTRU0sSUFURixDQVNPLEdBVFAsTUFTZSxFQVZoQjtBQVlBLEs7O1dBRURDLFcsR0FBQSx1QkFBYztBQUFBOztBQUNiLGFBQU9DLEdBQVAsNHNCQU9vQixLQUFLWixtQkFBTCxFQVBwQiw0QkFRZ0IsS0FBS0MsZ0JBQUwsQ0FBc0JZLGlCQVJ0QywyREFRZ0IsdUJBQXlDQyxhQVJ6RCw0QkFVUSxLQUFLYixnQkFBTCxDQUFzQlksaUJBVjlCLDJEQVVRLHVCQUF5Q0UsRUFWakQsNEJBZVMsS0FBS2QsZ0JBQUwsQ0FBc0JZLGlCQWYvQiwyREFlUyx1QkFBeUNFLEVBZmxELEVBbUJLLEtBQUtkLGdCQUFMLENBQXNCQyxLQUF0QixDQUNBYyxHQURBLENBQ0ksVUFBQ1gsSUFBRCxFQUFPWSxPQUFQLEVBQW1CO0FBQ3ZCLHNFQUFzREEsT0FBdEQsMmNBUVVaLElBQUksQ0FBQ2EsS0FSZjtBQWlDQSxPQW5DQSxFQW9DQVIsSUFwQ0EsQ0FvQ0ssRUFwQ0wsQ0FuQkw7QUEyREEsSzs7O0lBL0V3Q1MsaUIiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1aWxkaW5nQmxvY2tCYXNlLCBkZWZpbmVCdWlsZGluZ0Jsb2NrLCB4bWxBdHRyaWJ1dGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvQnVpbGRpbmdCbG9ja1wiO1xuaW1wb3J0IHsgeG1sIH0gZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL0J1aWxkaW5nQmxvY2tSdW50aW1lXCI7XG5pbXBvcnQgdHlwZSB7XG5cdExpc3RSZXBvcnREZWZpbml0aW9uLFxuXHRTaW5nbGVDaGFydFZpZXdEZWZpbml0aW9uLFxuXHRTaW5nbGVUYWJsZVZpZXdEZWZpbml0aW9uXG59IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL3RlbXBsYXRlcy9MaXN0UmVwb3J0Q29udmVydGVyXCI7XG5cbkBkZWZpbmVCdWlsZGluZ0Jsb2NrKHsgbmFtZTogXCJNdWx0aXBsZU1vZGVcIiwgbmFtZXNwYWNlOiBcInNhcC5mZS50ZW1wbGF0ZXMuTGlzdFJlcG9ydC52aWV3LmZyYWdtZW50c1wiLCBpc09wZW46IHRydWUgfSlcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE11bHRpcGxlTW9kZSBleHRlbmRzIEJ1aWxkaW5nQmxvY2tCYXNlIHtcblx0QHhtbEF0dHJpYnV0ZSh7IHR5cGU6IFwic2FwLnVpLm1vZGVsLkNvbnRleHRcIiB9KVxuXHRjb252ZXJ0ZXJDb250ZXh0ITogTGlzdFJlcG9ydERlZmluaXRpb247XG5cblx0Z2V0SW5uZXJDb250cm9sc0FQSSgpIHtcblx0XHRyZXR1cm4gKFxuXHRcdFx0dGhpcy5jb252ZXJ0ZXJDb250ZXh0Py52aWV3c1xuXHRcdFx0XHQucmVkdWNlKChpbm5lckNvbnRyb2xzOiBzdHJpbmdbXSwgdmlldykgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IGlubmVyQ29udHJvbElkID1cblx0XHRcdFx0XHRcdCh2aWV3IGFzIFNpbmdsZVRhYmxlVmlld0RlZmluaXRpb24pLnRhYmxlQ29udHJvbElkIHx8ICh2aWV3IGFzIFNpbmdsZUNoYXJ0Vmlld0RlZmluaXRpb24pLmNoYXJ0Q29udHJvbElkO1xuXHRcdFx0XHRcdGlmIChpbm5lckNvbnRyb2xJZCkge1xuXHRcdFx0XHRcdFx0aW5uZXJDb250cm9scy5wdXNoKGAke2lubmVyQ29udHJvbElkfTo6JHsodmlldyBhcyBTaW5nbGVUYWJsZVZpZXdEZWZpbml0aW9uKS50YWJsZUNvbnRyb2xJZCA/IFwiVGFibGVcIiA6IFwiQ2hhcnRcIn1gKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIGlubmVyQ29udHJvbHM7XG5cdFx0XHRcdH0sIFtdKVxuXHRcdFx0XHQuam9pbihcIixcIikgfHwgXCJcIlxuXHRcdCk7XG5cdH1cblxuXHRnZXRUZW1wbGF0ZSgpIHtcblx0XHRyZXR1cm4geG1sYFxuXHRcdFx0PGZlOk11bHRpcGxlTW9kZUNvbnRyb2xcblx0XHRcdFx0eG1sbnM9XCJzYXAubVwiXG5cdFx0XHRcdHhtbG5zOmZlPVwic2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0LmNvbnRyb2xzXCJcblx0XHRcdFx0eG1sbnM6Y29yZT1cInNhcC51aS5jb3JlXCJcblx0XHRcdFx0eG1sbnM6bWFjcm89XCJzYXAuZmUubWFjcm9zXCJcblx0XHRcdFx0c2VsZWN0PVwiLmhhbmRsZXJzLm9uVGFiTXVsdGlNb2RlQ2hhbmdlXCJcblx0XHRcdFx0aW5uZXJDb250cm9scz0gXCIke3RoaXMuZ2V0SW5uZXJDb250cm9sc0FQSSgpfVwiXG5cdFx0XHRcdHNob3dDb3VudHM9XCIke3RoaXMuY29udmVydGVyQ29udGV4dC5tdWx0aVZpZXdzQ29udHJvbD8uc2hvd1RhYkNvdW50c31cIlxuXHRcdFx0XHRmcmVlemVDb250ZW50PVwidHJ1ZVwiXG5cdFx0XHRcdGlkPVwiJHt0aGlzLmNvbnZlcnRlckNvbnRleHQubXVsdGlWaWV3c0NvbnRyb2w/LmlkfTo6Q29udHJvbFwiXG5cdFx0XHQ+XG5cdFx0XHRcdDxJY29uVGFiQmFyXG5cdFx0XHRcdFx0ZXhwYW5kYWJsZT1cImZhbHNlXCJcblx0XHRcdFx0XHRoZWFkZXJNb2RlPVwiSW5saW5lXCJcblx0XHRcdFx0XHRpZD1cIiR7dGhpcy5jb252ZXJ0ZXJDb250ZXh0Lm11bHRpVmlld3NDb250cm9sPy5pZH1cIlxuXHRcdFx0XHRcdHN0cmV0Y2hDb250ZW50SGVpZ2h0PVwidHJ1ZVwiXG5cdFx0XHRcdD5cblx0XHRcdFx0XHQ8aXRlbXM+XG5cdFx0XHRcdFx0JHt0aGlzLmNvbnZlcnRlckNvbnRleHQudmlld3Ncblx0XHRcdFx0XHRcdC5tYXAoKHZpZXcsIHZpZXdJZHgpID0+IHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIGA8dGVtcGxhdGU6d2l0aCBwYXRoPVwiY29udmVydGVyQ29udGV4dD52aWV3cy8ke3ZpZXdJZHh9L1wiIHZhcj1cInZpZXdcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0ZW1wbGF0ZTpyZXF1aXJlPVwie1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdElEOiAnc2FwL2ZlL2NvcmUvaGVscGVycy9TdGFibGVJZEhlbHBlcidcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHhtbG5zOmNvcmU9XCJzYXAudWkuY29yZVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHhtbG5zOnRlbXBsYXRlPVwiaHR0cDovL3NjaGVtYXMuc2FwLmNvbS9zYXB1aTUvZXh0ZW5zaW9uL3NhcC51aS5jb3JlLnRlbXBsYXRlLzFcIj5cblx0XHRcdFx0XHRcdFx0XHQ8dGVtcGxhdGU6d2l0aCBwYXRoPVwidmlldz5wcmVzZW50YXRpb25cIiB2YXI9XCJwcmVzZW50YXRpb25Db250ZXh0XCI+XG5cdFx0XHRcdFx0XHRcdFx0PEljb25UYWJGaWx0ZXJcblx0XHRcdFx0XHRcdFx0XHRcdHRleHQ9XCIke3ZpZXcudGl0bGV9XCJcblx0XHRcdFx0XHRcdFx0XHRcdGtleT1cIns9IElELmdlbmVyYXRlKFtcXCR7dmlldz50YWJsZUNvbnRyb2xJZH0gfHwgXFwke3ZpZXc+Y3VzdG9tVGFiSWR9IHx8IFxcJHt2aWV3PmNoYXJ0Q29udHJvbElkfV0pfVwiXG5cdFx0XHRcdFx0XHRcdFx0XHR2aXNpYmxlPVwie3ZpZXc+dmlzaWJsZX1cIlxuXHRcdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHRcdDxjb250ZW50PlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGVtcGxhdGU6aWYgdGVzdD1cIns9IFxcJHt2aWV3PnR5cGV9ID09PSAnQ3VzdG9tJ31cIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGVtcGxhdGU6dGhlbj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxjb3JlOkZyYWdtZW50IGZyYWdtZW50TmFtZT1cInNhcC5mZS50ZW1wbGF0ZXMuTGlzdFJlcG9ydC52aWV3LmZyYWdtZW50cy5DdXN0b21WaWV3XCIgdHlwZT1cIlhNTFwiIC8+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC90ZW1wbGF0ZTp0aGVuPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZW1wbGF0ZTplbHNlPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PE1lc3NhZ2VTdHJpcFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0ZXh0PVwiez0gJ3s9IChcXCR7dGFic0ludGVybmFsPi8nICsgKFxcJHt2aWV3PnRhYmxlQ29udHJvbElkfSB8fCBcXCR7dmlldz5jaGFydENvbnRyb2xJZH0pICsgJy9ub3RBcHBsaWNhYmxlL3RpdGxlfSApIH0nIH1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlPVwiSW5mb3JtYXRpb25cIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzaG93SWNvbj1cInRydWVcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzaG93Q2xvc2VCdXR0b249XCJ0cnVlXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJzYXBVaVNtYWxsTWFyZ2luXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dmlzaWJsZT1cIns9ICd7PSAoXFwke3RhYnNJbnRlcm5hbD4vJyArIChcXCR7dmlldz50YWJsZUNvbnRyb2xJZH0gfHwgXFwke3ZpZXc+Y2hhcnRDb250cm9sSWR9KSArICcvbm90QXBwbGljYWJsZS9maWVsZHN9IHx8IFtdKS5sZW5ndGg+MCB9JyB9XCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvTWVzc2FnZVN0cmlwPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGNvcmU6RnJhZ21lbnQgZnJhZ21lbnROYW1lPVwic2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0LnZpZXcuZnJhZ21lbnRzLkNvbGxlY3Rpb25WaXN1YWxpemF0aW9uXCIgdHlwZT1cIlhNTFwiIC8+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC90ZW1wbGF0ZTplbHNlPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3RlbXBsYXRlOmlmPlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9jb250ZW50PlxuXHRcdFx0XHRcdFx0XHRcdDwvSWNvblRhYkZpbHRlcj5cblx0XHRcdFx0XHRcdFx0PC90ZW1wbGF0ZTp3aXRoPjwvdGVtcGxhdGU6d2l0aD5gO1xuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdC5qb2luKFwiXCIpfVxuXHRcdFx0XHRcdDwvaXRlbXM+XG5cdFx0XHRcdDwvSWNvblRhYkJhcj5cblx0XHRcdDwvZmU6TXVsdGlwbGVNb2RlQ29udHJvbD5gO1xuXHR9XG59XG4iXX0=
|
|
@@ -1,62 +1,90 @@
|
|
|
1
1
|
import { BuildingBlockBase, defineBuildingBlock, xmlAttribute } from "sap/fe/core/buildingBlocks/BuildingBlock";
|
|
2
2
|
import { xml } from "sap/fe/core/buildingBlocks/BuildingBlockRuntime";
|
|
3
|
-
import {
|
|
3
|
+
import type {
|
|
4
|
+
ListReportDefinition,
|
|
5
|
+
SingleChartViewDefinition,
|
|
6
|
+
SingleTableViewDefinition
|
|
7
|
+
} from "sap/fe/core/converters/templates/ListReportConverter";
|
|
4
8
|
|
|
5
9
|
@defineBuildingBlock({ name: "MultipleMode", namespace: "sap.fe.templates.ListReport.view.fragments", isOpen: true })
|
|
6
10
|
export default class MultipleMode extends BuildingBlockBase {
|
|
7
11
|
@xmlAttribute({ type: "sap.ui.model.Context" })
|
|
8
12
|
converterContext!: ListReportDefinition;
|
|
9
13
|
|
|
14
|
+
getInnerControlsAPI() {
|
|
15
|
+
return (
|
|
16
|
+
this.converterContext?.views
|
|
17
|
+
.reduce((innerControls: string[], view) => {
|
|
18
|
+
const innerControlId =
|
|
19
|
+
(view as SingleTableViewDefinition).tableControlId || (view as SingleChartViewDefinition).chartControlId;
|
|
20
|
+
if (innerControlId) {
|
|
21
|
+
innerControls.push(`${innerControlId}::${(view as SingleTableViewDefinition).tableControlId ? "Table" : "Chart"}`);
|
|
22
|
+
}
|
|
23
|
+
return innerControls;
|
|
24
|
+
}, [])
|
|
25
|
+
.join(",") || ""
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
|
|
10
29
|
getTemplate() {
|
|
11
30
|
return xml`
|
|
12
|
-
<
|
|
31
|
+
<fe:MultipleModeControl
|
|
13
32
|
xmlns="sap.m"
|
|
14
|
-
|
|
15
|
-
xmlns:
|
|
16
|
-
|
|
17
|
-
headerMode="Inline"
|
|
18
|
-
id="${this.converterContext.iconTabBarId}"
|
|
33
|
+
xmlns:fe="sap.fe.templates.ListReport.controls"
|
|
34
|
+
xmlns:core="sap.ui.core"
|
|
35
|
+
xmlns:macro="sap.fe.macros"
|
|
19
36
|
select=".handlers.onTabMultiModeChange"
|
|
20
|
-
|
|
21
|
-
|
|
37
|
+
innerControls= "${this.getInnerControlsAPI()}"
|
|
38
|
+
showCounts="${this.converterContext.multiViewsControl?.showTabCounts}"
|
|
39
|
+
freezeContent="true"
|
|
40
|
+
id="${this.converterContext.multiViewsControl?.id}::Control"
|
|
22
41
|
>
|
|
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
|
-
|
|
42
|
+
<IconTabBar
|
|
43
|
+
expandable="false"
|
|
44
|
+
headerMode="Inline"
|
|
45
|
+
id="${this.converterContext.multiViewsControl?.id}"
|
|
46
|
+
stretchContentHeight="true"
|
|
47
|
+
>
|
|
48
|
+
<items>
|
|
49
|
+
${this.converterContext.views
|
|
50
|
+
.map((view, viewIdx) => {
|
|
51
|
+
return `<template:with path="converterContext>views/${viewIdx}/" var="view"
|
|
52
|
+
template:require="{
|
|
53
|
+
ID: 'sap/fe/core/helpers/StableIdHelper'
|
|
54
|
+
}"
|
|
55
|
+
xmlns:core="sap.ui.core"
|
|
56
|
+
xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1">
|
|
57
|
+
<template:with path="view>presentation" var="presentationContext">
|
|
58
|
+
<IconTabFilter
|
|
59
|
+
text="${view.title}"
|
|
60
|
+
key="{= ID.generate([\${view>tableControlId} || \${view>customTabId} || \${view>chartControlId}])}"
|
|
61
|
+
visible="{view>visible}"
|
|
62
|
+
>
|
|
63
|
+
<content>
|
|
64
|
+
<template:if test="{= \${view>type} === 'Custom'}">
|
|
65
|
+
<template:then>
|
|
66
|
+
<core:Fragment fragmentName="sap.fe.templates.ListReport.view.fragments.CustomView" type="XML" />
|
|
67
|
+
</template:then>
|
|
68
|
+
<template:else>
|
|
69
|
+
<MessageStrip
|
|
70
|
+
text="{= '{= (\${tabsInternal>/' + (\${view>tableControlId} || \${view>chartControlId}) + '/notApplicable/title} ) }' }"
|
|
71
|
+
type="Information"
|
|
72
|
+
showIcon="true"
|
|
73
|
+
showCloseButton="true"
|
|
74
|
+
class="sapUiSmallMargin"
|
|
75
|
+
visible="{= '{= (\${tabsInternal>/' + (\${view>tableControlId} || \${view>chartControlId}) + '/notApplicable/fields} || []).length>0 }' }"
|
|
76
|
+
>
|
|
77
|
+
</MessageStrip>
|
|
78
|
+
<core:Fragment fragmentName="sap.fe.templates.ListReport.view.fragments.CollectionVisualization" type="XML" />
|
|
79
|
+
</template:else>
|
|
80
|
+
</template:if>
|
|
81
|
+
</content>
|
|
82
|
+
</IconTabFilter>
|
|
83
|
+
</template:with></template:with>`;
|
|
84
|
+
})
|
|
85
|
+
.join("")}
|
|
86
|
+
</items>
|
|
87
|
+
</IconTabBar>
|
|
88
|
+
</fe:MultipleModeControl>`;
|
|
61
89
|
}
|
|
62
90
|
}
|
|
@@ -6,7 +6,7 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/converters/helpers/ID", "
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
var defineUI5Class = ClassSupport.defineUI5Class;
|
|
9
|
-
var
|
|
9
|
+
var getSideContentLayoutID = ID.getSideContentLayoutID;
|
|
10
10
|
|
|
11
11
|
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
|
|
12
12
|
|
|
@@ -27,11 +27,10 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/converters/helpers/ID", "
|
|
|
27
27
|
* Refreshes either the whole object page or only parts of it.
|
|
28
28
|
*
|
|
29
29
|
* @alias sap.fe.templates.ObjectPage.ExtensionAPI#refresh
|
|
30
|
-
* @param
|
|
30
|
+
* @param [vPath] Path or array of paths referring to entities or properties to be refreshed.
|
|
31
31
|
* If omitted, the whole object page is refreshed. The path "" refreshes the entity assigned to the object page
|
|
32
32
|
* without navigations
|
|
33
|
-
* @returns
|
|
34
|
-
*
|
|
33
|
+
* @returns Resolved once the data is refreshed or rejected if the request failed
|
|
35
34
|
* @public
|
|
36
35
|
*/
|
|
37
36
|
_proto.refresh = function refresh(vPath) {
|
|
@@ -64,7 +63,7 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/converters/helpers/ID", "
|
|
|
64
63
|
$PropertyPath: "*"
|
|
65
64
|
});
|
|
66
65
|
} else {
|
|
67
|
-
sKind = oMetaModel.getObject("/"
|
|
66
|
+
sKind = oMetaModel.getObject("/".concat(sBaseEntitySet, "/").concat(sPath, "/$kind"));
|
|
68
67
|
|
|
69
68
|
if (sKind === "NavigationProperty") {
|
|
70
69
|
oSideEffects.TargetEntities.push({
|
|
@@ -75,7 +74,7 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/converters/helpers/ID", "
|
|
|
75
74
|
$PropertyPath: sPath
|
|
76
75
|
});
|
|
77
76
|
} else {
|
|
78
|
-
return Promise.reject(sPath
|
|
77
|
+
return Promise.reject("".concat(sPath, " is not a valid path to be refreshed"));
|
|
79
78
|
}
|
|
80
79
|
}
|
|
81
80
|
}
|
|
@@ -87,9 +86,8 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/converters/helpers/ID", "
|
|
|
87
86
|
* Gets the list entries currently selected for the table.
|
|
88
87
|
*
|
|
89
88
|
* @alias sap.fe.templates.ObjectPage.ExtensionAPI#getSelectedContexts
|
|
90
|
-
* @param
|
|
91
|
-
* @returns
|
|
92
|
-
*
|
|
89
|
+
* @param sTableId The ID identifying the table the selected context is requested for
|
|
90
|
+
* @returns Array containing the selected contexts
|
|
93
91
|
* @public
|
|
94
92
|
*/
|
|
95
93
|
;
|
|
@@ -107,15 +105,14 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/converters/helpers/ID", "
|
|
|
107
105
|
* Displays or hides the side content of an object page block.
|
|
108
106
|
*
|
|
109
107
|
* @alias sap.fe.templates.ObjectPage.ExtensionAPI#showSideContent
|
|
110
|
-
* @param
|
|
111
|
-
* @param
|
|
112
|
-
*
|
|
108
|
+
* @param sSubSectionKey Key of the side content fragment as defined in the manifest.json
|
|
109
|
+
* @param [bShow] Optional Boolean flag to show or hide the side content
|
|
113
110
|
* @public
|
|
114
111
|
*/
|
|
115
112
|
;
|
|
116
113
|
|
|
117
114
|
_proto.showSideContent = function showSideContent(sSubSectionKey, bShow) {
|
|
118
|
-
var sBlockID =
|
|
115
|
+
var sBlockID = getSideContentLayoutID(sSubSectionKey),
|
|
119
116
|
oBlock = this._view.byId(sBlockID),
|
|
120
117
|
bBlockState = bShow === undefined ? !oBlock.getShowSideContent() : bShow;
|
|
121
118
|
|
|
@@ -125,8 +122,7 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/converters/helpers/ID", "
|
|
|
125
122
|
* Gets the bound context of the current object page.
|
|
126
123
|
*
|
|
127
124
|
* @alias sap.fe.templates.ObjectPage.ExtensionAPI#getBindingContext
|
|
128
|
-
* @returns
|
|
129
|
-
*
|
|
125
|
+
* @returns Context bound to the object page
|
|
130
126
|
* @public
|
|
131
127
|
*/
|
|
132
128
|
;
|
|
@@ -140,4 +136,4 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/converters/helpers/ID", "
|
|
|
140
136
|
|
|
141
137
|
return ObjectPageExtensionAPI;
|
|
142
138
|
}, false);
|
|
143
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkV4dGVuc2lvbkFQSS50cyJdLCJuYW1lcyI6WyJkZWZpbmVVSTVDbGFzcyIsIk9iamVjdFBhZ2VFeHRlbnNpb25BUEkiLCJyZWZyZXNoIiwidlBhdGgiLCJvQmluZGluZ0NvbnRleHQiLCJfdmlldyIsImdldEJpbmRpbmdDb250ZXh0Iiwib0FwcENvbXBvbmVudCIsIkNvbW1vblV0aWxzIiwiZ2V0QXBwQ29tcG9uZW50Iiwib1NpZGVFZmZlY3RzU2VydmljZSIsImdldFNpZGVFZmZlY3RzU2VydmljZSIsIm9NZXRhTW9kZWwiLCJnZXRNb2RlbCIsImdldE1ldGFNb2RlbCIsIm9TaWRlRWZmZWN0cyIsIlRhcmdldFByb3BlcnRpZXMiLCJUYXJnZXRFbnRpdGllcyIsImFQYXRocyIsInNQYXRoIiwic0Jhc2VFbnRpdHlTZXQiLCJzS2luZCIsInVuZGVmaW5lZCIsInB1c2giLCIkTmF2aWdhdGlvblByb3BlcnR5UGF0aCIsIkFycmF5IiwiaXNBcnJheSIsIl9jb250cm9sbGVyIiwiZ2V0T3duZXJDb21wb25lbnQiLCJnZXRFbnRpdHlTZXQiLCJpIiwibGVuZ3RoIiwiJFByb3BlcnR5UGF0aCIsImdldE9iamVjdCIsIlByb21pc2UiLCJyZWplY3QiLCJyZXF1ZXN0U2lkZUVmZmVjdHMiLCJjb25jYXQiLCJnZXRTZWxlY3RlZENvbnRleHRzIiwic1RhYmxlSWQiLCJvVGFibGUiLCJieUlkIiwiaXNBIiwiZ2V0Q29udGVudCIsInNob3dTaWRlQ29udGVudCIsInNTdWJTZWN0aW9uS2V5IiwiYlNob3ciLCJzQmxvY2tJRCIsIlNpZGVDb250ZW50TGF5b3V0SUQiLCJvQmxvY2siLCJiQmxvY2tTdGF0ZSIsImdldFNob3dTaWRlQ29udGVudCIsInNldFNob3dTaWRlQ29udGVudCIsIkV4dGVuc2lvbkFQSSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7QUFNQUEsRUFBQUEsY0FBYyxDQUFDLDBDQUFELENBQWQ7O01BRU1DLHNCOzs7Ozs7Ozs7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O0FBQ25ERixRQUFBQSxNQUFNLEdBQUlBLE1BQUQsQ0FBcUNHLFVBQXJDLEVBQVQ7QUFDQTs7QUFDRCxhQUFRSCxNQUFNLElBQUlBLE1BQU0sQ0FBQ0UsR0FBUCxDQUFXLGtCQUFYLENBQVYsSUFBNkNGLE1BQUQsQ0FBZ0JGLG1CQUFoQixFQUE3QyxJQUF1RixFQUE5RjtBQUNBO0FBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7V0FDQ00sZSxHQUFBLHlCQUFnQkMsY0FBaEIsRUFBd0NDLEtBQXhDLEVBQW9FO0FBQ25FLFVBQU1DLFFBQVEsR0FBR0MsbUJBQW1CLENBQUNILGNBQUQsQ0FBcEM7QUFBQSxVQUNDSSxNQUFNLEdBQUcsS0FBSzVDLEtBQUwsQ0FBV29DLElBQVgsQ0FBZ0JNLFFBQWhCLENBRFY7QUFBQSxVQUVDRyxXQUFXLEdBQUdKLEtBQUssS0FBS3hCLFNBQVYsR0FBc0IsQ0FBRTJCLE1BQUQsQ0FBK0JFLGtCQUEvQixFQUF2QixHQUE2RUwsS0FGNUY7O0FBR0NHLE1BQUFBLE1BQUQsQ0FBK0JHLGtCQUEvQixDQUFrREYsV0FBbEQsRUFBK0QsS0FBL0Q7QUFDQTtBQUVEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztXQUNDNUMsaUIsR0FBQSw2QkFBb0I7QUFDbkIsYUFBTyxLQUFLRCxLQUFMLENBQVdDLGlCQUFYLEVBQVA7QUFDQSxLOzs7SUF0R21DK0MsWTs7U0F5R3RCcEQsc0IiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB7IFNpZGVDb250ZW50TGF5b3V0SUQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9oZWxwZXJzL0lEXCI7XG5pbXBvcnQgRXh0ZW5zaW9uQVBJIGZyb20gXCJzYXAvZmUvY29yZS9FeHRlbnNpb25BUElcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBFbmhhbmNlV2l0aFVJNSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IFRhYmxlQVBJIGZyb20gXCJzYXAvZmUvbWFjcm9zL1RhYmxlQVBJXCI7XG5pbXBvcnQgRHluYW1pY1NpZGVDb250ZW50IGZyb20gXCJzYXAvdWkvbGF5b3V0L0R5bmFtaWNTaWRlQ29udGVudFwiO1xuaW1wb3J0IENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgT0RhdGFNZXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1ldGFNb2RlbFwiO1xuZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJXCIpO1xuXG5jbGFzcyBPYmplY3RQYWdlRXh0ZW5zaW9uQVBJIGV4dGVuZHMgRXh0ZW5zaW9uQVBJIHtcblx0LyoqXG5cdCAqIFJlZnJlc2hlcyBlaXRoZXIgdGhlIHdob2xlIG9iamVjdCBwYWdlIG9yIG9ubHkgcGFydHMgb2YgaXQuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJI3JlZnJlc2hcblx0ICogQHBhcmFtIHtzdHJpbmcgfCBzdHJpbmdbXX0gW3ZQYXRoXSBQYXRoIG9yIGFycmF5IG9mIHBhdGhzIHJlZmVycmluZyB0byBlbnRpdGllcyBvciBwcm9wZXJ0aWVzIHRvIGJlIHJlZnJlc2hlZC5cblx0ICogSWYgb21pdHRlZCwgdGhlIHdob2xlIG9iamVjdCBwYWdlIGlzIHJlZnJlc2hlZC4gVGhlIHBhdGggXCJcIiByZWZyZXNoZXMgdGhlIGVudGl0eSBhc3NpZ25lZCB0byB0aGUgb2JqZWN0IHBhZ2Vcblx0ICogd2l0aG91dCBuYXZpZ2F0aW9uc1xuXHQgKiBAcmV0dXJucyB7UHJvbWlzZX0gUmVzb2x2ZWQgb25jZSB0aGUgZGF0YSBpcyByZWZyZXNoZWQgb3IgcmVqZWN0ZWQgaWYgdGhlIHJlcXVlc3QgZmFpbGVkXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdHJlZnJlc2godlBhdGg6IHN0cmluZyB8IHN0cmluZ1tdIHwgdW5kZWZpbmVkKSB7XG5cdFx0Y29uc3Qgb0JpbmRpbmdDb250ZXh0ID0gdGhpcy5fdmlldy5nZXRCaW5kaW5nQ29udGV4dCgpIGFzIENvbnRleHQsXG5cdFx0XHRvQXBwQ29tcG9uZW50ID0gQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KHRoaXMuX3ZpZXcpLFxuXHRcdFx0b1NpZGVFZmZlY3RzU2VydmljZSA9IG9BcHBDb21wb25lbnQuZ2V0U2lkZUVmZmVjdHNTZXJ2aWNlKCksXG5cdFx0XHRvTWV0YU1vZGVsID0gb0JpbmRpbmdDb250ZXh0LmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCkgYXMgT0RhdGFNZXRhTW9kZWwsXG5cdFx0XHRvU2lkZUVmZmVjdHM6IGFueSA9IHtcblx0XHRcdFx0VGFyZ2V0UHJvcGVydGllczogW10sXG5cdFx0XHRcdFRhcmdldEVudGl0aWVzOiBbXVxuXHRcdFx0fTtcblx0XHRsZXQgYVBhdGhzLCBzUGF0aCwgc0Jhc2VFbnRpdHlTZXQsIHNLaW5kO1xuXG5cdFx0aWYgKHZQYXRoID09PSB1bmRlZmluZWQgfHwgdlBhdGggPT09IG51bGwpIHtcblx0XHRcdC8vIHdlIGp1c3QgYWRkIGFuIGVtcHR5IHBhdGggd2hpY2ggc2hvdWxkIHJlZnJlc2ggdGhlIHBhZ2Ugd2l0aCBhbGwgZGVwZW5kZW50IGJpbmRpbmdzXG5cdFx0XHRvU2lkZUVmZmVjdHMuVGFyZ2V0RW50aXRpZXMucHVzaCh7XG5cdFx0XHRcdCROYXZpZ2F0aW9uUHJvcGVydHlQYXRoOiBcIlwiXG5cdFx0XHR9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0YVBhdGhzID0gQXJyYXkuaXNBcnJheSh2UGF0aCkgPyB2UGF0aCA6IFt2UGF0aF07XG5cdFx0XHRzQmFzZUVudGl0eVNldCA9ICh0aGlzLl9jb250cm9sbGVyLmdldE93bmVyQ29tcG9uZW50KCkgYXMgYW55KS5nZXRFbnRpdHlTZXQoKTtcblxuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhUGF0aHMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0c1BhdGggPSBhUGF0aHNbaV07XG5cdFx0XHRcdGlmIChzUGF0aCA9PT0gXCJcIikge1xuXHRcdFx0XHRcdC8vIGFuIGVtcHR5IHBhdGggc2hhbGwgcmVmcmVzaCB0aGUgZW50aXR5IHdpdGhvdXQgZGVwZW5kZW5jaWVzIHdoaWNoIG1lYW5zICogZm9yIHRoZSBtb2RlbFxuXHRcdFx0XHRcdG9TaWRlRWZmZWN0cy5UYXJnZXRQcm9wZXJ0aWVzLnB1c2goe1xuXHRcdFx0XHRcdFx0JFByb3BlcnR5UGF0aDogXCIqXCJcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRzS2luZCA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KFwiL1wiICsgc0Jhc2VFbnRpdHlTZXQgKyBcIi9cIiArIHNQYXRoICsgXCIvJGtpbmRcIik7XG5cblx0XHRcdFx0XHRpZiAoc0tpbmQgPT09IFwiTmF2aWdhdGlvblByb3BlcnR5XCIpIHtcblx0XHRcdFx0XHRcdG9TaWRlRWZmZWN0cy5UYXJnZXRFbnRpdGllcy5wdXNoKHtcblx0XHRcdFx0XHRcdFx0JE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGg6IHNQYXRoXG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9IGVsc2UgaWYgKHNLaW5kKSB7XG5cdFx0XHRcdFx0XHRvU2lkZUVmZmVjdHMuVGFyZ2V0UHJvcGVydGllcy5wdXNoKHtcblx0XHRcdFx0XHRcdFx0JFByb3BlcnR5UGF0aDogc1BhdGhcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gUHJvbWlzZS5yZWplY3Qoc1BhdGggKyBcIiBpcyBub3QgYSB2YWxpZCBwYXRoIHRvIGJlIHJlZnJlc2hlZFwiKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIG9TaWRlRWZmZWN0c1NlcnZpY2UucmVxdWVzdFNpZGVFZmZlY3RzKG9TaWRlRWZmZWN0cy5UYXJnZXRFbnRpdGllcy5jb25jYXQob1NpZGVFZmZlY3RzLlRhcmdldFByb3BlcnRpZXMpLCBvQmluZGluZ0NvbnRleHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGxpc3QgZW50cmllcyBjdXJyZW50bHkgc2VsZWN0ZWQgZm9yIHRoZSB0YWJsZS5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5FeHRlbnNpb25BUEkjZ2V0U2VsZWN0ZWRDb250ZXh0c1xuXHQgKiBAcGFyYW0ge3N0cmluZ30gc1RhYmxlSWQgVGhlIElEIGlkZW50aWZ5aW5nIHRoZSB0YWJsZSB0aGUgc2VsZWN0ZWQgY29udGV4dCBpcyByZXF1ZXN0ZWQgZm9yXG5cdCAqIEByZXR1cm5zIHtzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dFtdfSBBcnJheSBjb250YWluaW5nIHRoZSBzZWxlY3RlZCBjb250ZXh0c1xuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRnZXRTZWxlY3RlZENvbnRleHRzKHNUYWJsZUlkOiBzdHJpbmcpIHtcblx0XHRsZXQgb1RhYmxlID0gdGhpcy5fdmlldy5ieUlkKHNUYWJsZUlkKTtcblx0XHRpZiAob1RhYmxlICYmIG9UYWJsZS5pc0EoXCJzYXAuZmUubWFjcm9zLlRhYmxlQVBJXCIpKSB7XG5cdFx0XHRvVGFibGUgPSAob1RhYmxlIGFzIEVuaGFuY2VXaXRoVUk1PFRhYmxlQVBJPikuZ2V0Q29udGVudCgpO1xuXHRcdH1cblx0XHRyZXR1cm4gKG9UYWJsZSAmJiBvVGFibGUuaXNBKFwic2FwLnVpLm1kYy5UYWJsZVwiKSAmJiAob1RhYmxlIGFzIGFueSkuZ2V0U2VsZWN0ZWRDb250ZXh0cygpKSB8fCBbXTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNwbGF5cyBvciBoaWRlcyB0aGUgc2lkZSBjb250ZW50IG9mIGFuIG9iamVjdCBwYWdlIGJsb2NrLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNzaG93U2lkZUNvbnRlbnRcblx0ICogQHBhcmFtIHtzdHJpbmd9IHNTdWJTZWN0aW9uS2V5IEtleSBvZiB0aGUgc2lkZSBjb250ZW50IGZyYWdtZW50IGFzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0Lmpzb25cblx0ICogQHBhcmFtIHtib29sZWFufSBbYlNob3ddIE9wdGlvbmFsIEJvb2xlYW4gZmxhZyB0byBzaG93IG9yIGhpZGUgdGhlIHNpZGUgY29udGVudFxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRzaG93U2lkZUNvbnRlbnQoc1N1YlNlY3Rpb25LZXk6IHN0cmluZywgYlNob3c6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcblx0XHRjb25zdCBzQmxvY2tJRCA9IFNpZGVDb250ZW50TGF5b3V0SUQoc1N1YlNlY3Rpb25LZXkpLFxuXHRcdFx0b0Jsb2NrID0gdGhpcy5fdmlldy5ieUlkKHNCbG9ja0lEKSxcblx0XHRcdGJCbG9ja1N0YXRlID0gYlNob3cgPT09IHVuZGVmaW5lZCA/ICEob0Jsb2NrIGFzIER5bmFtaWNTaWRlQ29udGVudCkuZ2V0U2hvd1NpZGVDb250ZW50KCkgOiBiU2hvdztcblx0XHQob0Jsb2NrIGFzIER5bmFtaWNTaWRlQ29udGVudCkuc2V0U2hvd1NpZGVDb250ZW50KGJCbG9ja1N0YXRlLCBmYWxzZSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgYm91bmQgY29udGV4dCBvZiB0aGUgY3VycmVudCBvYmplY3QgcGFnZS5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5FeHRlbnNpb25BUEkjZ2V0QmluZGluZ0NvbnRleHRcblx0ICogQHJldHVybnMge3NhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0fSBDb250ZXh0IGJvdW5kIHRvIHRoZSBvYmplY3QgcGFnZVxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRnZXRCaW5kaW5nQ29udGV4dCgpIHtcblx0XHRyZXR1cm4gdGhpcy5fdmlldy5nZXRCaW5kaW5nQ29udGV4dCgpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE9iamVjdFBhZ2VFeHRlbnNpb25BUEk7XG4iXX0=
|
|
139
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkV4dGVuc2lvbkFQSS50cyJdLCJuYW1lcyI6WyJkZWZpbmVVSTVDbGFzcyIsIk9iamVjdFBhZ2VFeHRlbnNpb25BUEkiLCJyZWZyZXNoIiwidlBhdGgiLCJvQmluZGluZ0NvbnRleHQiLCJfdmlldyIsImdldEJpbmRpbmdDb250ZXh0Iiwib0FwcENvbXBvbmVudCIsIkNvbW1vblV0aWxzIiwiZ2V0QXBwQ29tcG9uZW50Iiwib1NpZGVFZmZlY3RzU2VydmljZSIsImdldFNpZGVFZmZlY3RzU2VydmljZSIsIm9NZXRhTW9kZWwiLCJnZXRNb2RlbCIsImdldE1ldGFNb2RlbCIsIm9TaWRlRWZmZWN0cyIsIlRhcmdldFByb3BlcnRpZXMiLCJUYXJnZXRFbnRpdGllcyIsImFQYXRocyIsInNQYXRoIiwic0Jhc2VFbnRpdHlTZXQiLCJzS2luZCIsInVuZGVmaW5lZCIsInB1c2giLCIkTmF2aWdhdGlvblByb3BlcnR5UGF0aCIsIkFycmF5IiwiaXNBcnJheSIsIl9jb250cm9sbGVyIiwiZ2V0T3duZXJDb21wb25lbnQiLCJnZXRFbnRpdHlTZXQiLCJpIiwibGVuZ3RoIiwiJFByb3BlcnR5UGF0aCIsImdldE9iamVjdCIsIlByb21pc2UiLCJyZWplY3QiLCJyZXF1ZXN0U2lkZUVmZmVjdHMiLCJjb25jYXQiLCJnZXRTZWxlY3RlZENvbnRleHRzIiwic1RhYmxlSWQiLCJvVGFibGUiLCJieUlkIiwiaXNBIiwiZ2V0Q29udGVudCIsInNob3dTaWRlQ29udGVudCIsInNTdWJTZWN0aW9uS2V5IiwiYlNob3ciLCJzQmxvY2tJRCIsImdldFNpZGVDb250ZW50TGF5b3V0SUQiLCJvQmxvY2siLCJiQmxvY2tTdGF0ZSIsImdldFNob3dTaWRlQ29udGVudCIsInNldFNob3dTaWRlQ29udGVudCIsIkV4dGVuc2lvbkFQSSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7QUFPQUEsRUFBQUEsY0FBYyxDQUFDLDBDQUFELENBQWQ7O01BRU1DLHNCOzs7Ozs7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QUFUO0FBQ0E7O0FBQ0QsYUFBUUgsTUFBTSxJQUFJQSxNQUFNLENBQUNFLEdBQVAsQ0FBVyxrQkFBWCxDQUFWLElBQTZDRixNQUFELENBQWdCRixtQkFBaEIsRUFBN0MsSUFBdUYsRUFBOUY7QUFDQTtBQUVEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztXQUNDTSxlLEdBQUEseUJBQWdCQyxjQUFoQixFQUF3Q0MsS0FBeEMsRUFBb0U7QUFDbkUsVUFBTUMsUUFBUSxHQUFHQyxzQkFBc0IsQ0FBQ0gsY0FBRCxDQUF2QztBQUFBLFVBQ0NJLE1BQU0sR0FBRyxLQUFLNUMsS0FBTCxDQUFXb0MsSUFBWCxDQUFnQk0sUUFBaEIsQ0FEVjtBQUFBLFVBRUNHLFdBQVcsR0FBR0osS0FBSyxLQUFLeEIsU0FBVixHQUFzQixDQUFFMkIsTUFBRCxDQUErQkUsa0JBQS9CLEVBQXZCLEdBQTZFTCxLQUY1Rjs7QUFHQ0csTUFBQUEsTUFBRCxDQUErQkcsa0JBQS9CLENBQWtERixXQUFsRCxFQUErRCxLQUEvRDtBQUNBO0FBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztXQUNDNUMsaUIsR0FBQSw2QkFBb0I7QUFDbkIsYUFBTyxLQUFLRCxLQUFMLENBQVdDLGlCQUFYLEVBQVA7QUFDQSxLOzs7SUFsR21DK0MsWTs7U0FxR3RCcEQsc0IiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB7IGdldFNpZGVDb250ZW50TGF5b3V0SUQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9oZWxwZXJzL0lEXCI7XG5pbXBvcnQgRXh0ZW5zaW9uQVBJIGZyb20gXCJzYXAvZmUvY29yZS9FeHRlbnNpb25BUElcIjtcbmltcG9ydCB0eXBlIHsgRW5oYW5jZVdpdGhVSTUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSBUYWJsZUFQSSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9UYWJsZUFQSVwiO1xuaW1wb3J0IHR5cGUgRHluYW1pY1NpZGVDb250ZW50IGZyb20gXCJzYXAvdWkvbGF5b3V0L0R5bmFtaWNTaWRlQ29udGVudFwiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L0NvbnRleHRcIjtcbmltcG9ydCB0eXBlIE9EYXRhTWV0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNZXRhTW9kZWxcIjtcbmRlZmluZVVJNUNsYXNzKFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSVwiKTtcblxuY2xhc3MgT2JqZWN0UGFnZUV4dGVuc2lvbkFQSSBleHRlbmRzIEV4dGVuc2lvbkFQSSB7XG5cdC8qKlxuXHQgKiBSZWZyZXNoZXMgZWl0aGVyIHRoZSB3aG9sZSBvYmplY3QgcGFnZSBvciBvbmx5IHBhcnRzIG9mIGl0LlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNyZWZyZXNoXG5cdCAqIEBwYXJhbSBbdlBhdGhdIFBhdGggb3IgYXJyYXkgb2YgcGF0aHMgcmVmZXJyaW5nIHRvIGVudGl0aWVzIG9yIHByb3BlcnRpZXMgdG8gYmUgcmVmcmVzaGVkLlxuXHQgKiBJZiBvbWl0dGVkLCB0aGUgd2hvbGUgb2JqZWN0IHBhZ2UgaXMgcmVmcmVzaGVkLiBUaGUgcGF0aCBcIlwiIHJlZnJlc2hlcyB0aGUgZW50aXR5IGFzc2lnbmVkIHRvIHRoZSBvYmplY3QgcGFnZVxuXHQgKiB3aXRob3V0IG5hdmlnYXRpb25zXG5cdCAqIEByZXR1cm5zIFJlc29sdmVkIG9uY2UgdGhlIGRhdGEgaXMgcmVmcmVzaGVkIG9yIHJlamVjdGVkIGlmIHRoZSByZXF1ZXN0IGZhaWxlZFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRyZWZyZXNoKHZQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuXHRcdGNvbnN0IG9CaW5kaW5nQ29udGV4dCA9IHRoaXMuX3ZpZXcuZ2V0QmluZGluZ0NvbnRleHQoKSBhcyBDb250ZXh0LFxuXHRcdFx0b0FwcENvbXBvbmVudCA9IENvbW1vblV0aWxzLmdldEFwcENvbXBvbmVudCh0aGlzLl92aWV3KSxcblx0XHRcdG9TaWRlRWZmZWN0c1NlcnZpY2UgPSBvQXBwQ29tcG9uZW50LmdldFNpZGVFZmZlY3RzU2VydmljZSgpLFxuXHRcdFx0b01ldGFNb2RlbCA9IG9CaW5kaW5nQ29udGV4dC5nZXRNb2RlbCgpLmdldE1ldGFNb2RlbCgpIGFzIE9EYXRhTWV0YU1vZGVsLFxuXHRcdFx0b1NpZGVFZmZlY3RzOiBhbnkgPSB7XG5cdFx0XHRcdFRhcmdldFByb3BlcnRpZXM6IFtdLFxuXHRcdFx0XHRUYXJnZXRFbnRpdGllczogW11cblx0XHRcdH07XG5cdFx0bGV0IGFQYXRocywgc1BhdGgsIHNCYXNlRW50aXR5U2V0LCBzS2luZDtcblxuXHRcdGlmICh2UGF0aCA9PT0gdW5kZWZpbmVkIHx8IHZQYXRoID09PSBudWxsKSB7XG5cdFx0XHQvLyB3ZSBqdXN0IGFkZCBhbiBlbXB0eSBwYXRoIHdoaWNoIHNob3VsZCByZWZyZXNoIHRoZSBwYWdlIHdpdGggYWxsIGRlcGVuZGVudCBiaW5kaW5nc1xuXHRcdFx0b1NpZGVFZmZlY3RzLlRhcmdldEVudGl0aWVzLnB1c2goe1xuXHRcdFx0XHQkTmF2aWdhdGlvblByb3BlcnR5UGF0aDogXCJcIlxuXHRcdFx0fSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGFQYXRocyA9IEFycmF5LmlzQXJyYXkodlBhdGgpID8gdlBhdGggOiBbdlBhdGhdO1xuXHRcdFx0c0Jhc2VFbnRpdHlTZXQgPSAodGhpcy5fY29udHJvbGxlci5nZXRPd25lckNvbXBvbmVudCgpIGFzIGFueSkuZ2V0RW50aXR5U2V0KCk7XG5cblx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgYVBhdGhzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdHNQYXRoID0gYVBhdGhzW2ldO1xuXHRcdFx0XHRpZiAoc1BhdGggPT09IFwiXCIpIHtcblx0XHRcdFx0XHQvLyBhbiBlbXB0eSBwYXRoIHNoYWxsIHJlZnJlc2ggdGhlIGVudGl0eSB3aXRob3V0IGRlcGVuZGVuY2llcyB3aGljaCBtZWFucyAqIGZvciB0aGUgbW9kZWxcblx0XHRcdFx0XHRvU2lkZUVmZmVjdHMuVGFyZ2V0UHJvcGVydGllcy5wdXNoKHtcblx0XHRcdFx0XHRcdCRQcm9wZXJ0eVBhdGg6IFwiKlwiXG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0c0tpbmQgPSBvTWV0YU1vZGVsLmdldE9iamVjdChgLyR7c0Jhc2VFbnRpdHlTZXR9LyR7c1BhdGh9LyRraW5kYCk7XG5cblx0XHRcdFx0XHRpZiAoc0tpbmQgPT09IFwiTmF2aWdhdGlvblByb3BlcnR5XCIpIHtcblx0XHRcdFx0XHRcdG9TaWRlRWZmZWN0cy5UYXJnZXRFbnRpdGllcy5wdXNoKHtcblx0XHRcdFx0XHRcdFx0JE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGg6IHNQYXRoXG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9IGVsc2UgaWYgKHNLaW5kKSB7XG5cdFx0XHRcdFx0XHRvU2lkZUVmZmVjdHMuVGFyZ2V0UHJvcGVydGllcy5wdXNoKHtcblx0XHRcdFx0XHRcdFx0JFByb3BlcnR5UGF0aDogc1BhdGhcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gUHJvbWlzZS5yZWplY3QoYCR7c1BhdGh9IGlzIG5vdCBhIHZhbGlkIHBhdGggdG8gYmUgcmVmcmVzaGVkYCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBvU2lkZUVmZmVjdHNTZXJ2aWNlLnJlcXVlc3RTaWRlRWZmZWN0cyhvU2lkZUVmZmVjdHMuVGFyZ2V0RW50aXRpZXMuY29uY2F0KG9TaWRlRWZmZWN0cy5UYXJnZXRQcm9wZXJ0aWVzKSwgb0JpbmRpbmdDb250ZXh0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBsaXN0IGVudHJpZXMgY3VycmVudGx5IHNlbGVjdGVkIGZvciB0aGUgdGFibGUuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJI2dldFNlbGVjdGVkQ29udGV4dHNcblx0ICogQHBhcmFtIHNUYWJsZUlkIFRoZSBJRCBpZGVudGlmeWluZyB0aGUgdGFibGUgdGhlIHNlbGVjdGVkIGNvbnRleHQgaXMgcmVxdWVzdGVkIGZvclxuXHQgKiBAcmV0dXJucyBBcnJheSBjb250YWluaW5nIHRoZSBzZWxlY3RlZCBjb250ZXh0c1xuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRnZXRTZWxlY3RlZENvbnRleHRzKHNUYWJsZUlkOiBzdHJpbmcpIHtcblx0XHRsZXQgb1RhYmxlID0gdGhpcy5fdmlldy5ieUlkKHNUYWJsZUlkKTtcblx0XHRpZiAob1RhYmxlICYmIG9UYWJsZS5pc0EoXCJzYXAuZmUubWFjcm9zLlRhYmxlQVBJXCIpKSB7XG5cdFx0XHRvVGFibGUgPSAob1RhYmxlIGFzIEVuaGFuY2VXaXRoVUk1PFRhYmxlQVBJPikuZ2V0Q29udGVudCgpO1xuXHRcdH1cblx0XHRyZXR1cm4gKG9UYWJsZSAmJiBvVGFibGUuaXNBKFwic2FwLnVpLm1kYy5UYWJsZVwiKSAmJiAob1RhYmxlIGFzIGFueSkuZ2V0U2VsZWN0ZWRDb250ZXh0cygpKSB8fCBbXTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNwbGF5cyBvciBoaWRlcyB0aGUgc2lkZSBjb250ZW50IG9mIGFuIG9iamVjdCBwYWdlIGJsb2NrLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNzaG93U2lkZUNvbnRlbnRcblx0ICogQHBhcmFtIHNTdWJTZWN0aW9uS2V5IEtleSBvZiB0aGUgc2lkZSBjb250ZW50IGZyYWdtZW50IGFzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0Lmpzb25cblx0ICogQHBhcmFtIFtiU2hvd10gT3B0aW9uYWwgQm9vbGVhbiBmbGFnIHRvIHNob3cgb3IgaGlkZSB0aGUgc2lkZSBjb250ZW50XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdHNob3dTaWRlQ29udGVudChzU3ViU2VjdGlvbktleTogc3RyaW5nLCBiU2hvdzogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuXHRcdGNvbnN0IHNCbG9ja0lEID0gZ2V0U2lkZUNvbnRlbnRMYXlvdXRJRChzU3ViU2VjdGlvbktleSksXG5cdFx0XHRvQmxvY2sgPSB0aGlzLl92aWV3LmJ5SWQoc0Jsb2NrSUQpLFxuXHRcdFx0YkJsb2NrU3RhdGUgPSBiU2hvdyA9PT0gdW5kZWZpbmVkID8gIShvQmxvY2sgYXMgRHluYW1pY1NpZGVDb250ZW50KS5nZXRTaG93U2lkZUNvbnRlbnQoKSA6IGJTaG93O1xuXHRcdChvQmxvY2sgYXMgRHluYW1pY1NpZGVDb250ZW50KS5zZXRTaG93U2lkZUNvbnRlbnQoYkJsb2NrU3RhdGUsIGZhbHNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBib3VuZCBjb250ZXh0IG9mIHRoZSBjdXJyZW50IG9iamVjdCBwYWdlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNnZXRCaW5kaW5nQ29udGV4dFxuXHQgKiBAcmV0dXJucyBDb250ZXh0IGJvdW5kIHRvIHRoZSBvYmplY3QgcGFnZVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRnZXRCaW5kaW5nQ29udGV4dCgpIHtcblx0XHRyZXR1cm4gdGhpcy5fdmlldy5nZXRCaW5kaW5nQ29udGV4dCgpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE9iamVjdFBhZ2VFeHRlbnNpb25BUEk7XG4iXX0=
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import CommonUtils from "sap/fe/core/CommonUtils";
|
|
2
|
-
import {
|
|
2
|
+
import { getSideContentLayoutID } from "sap/fe/core/converters/helpers/ID";
|
|
3
3
|
import ExtensionAPI from "sap/fe/core/ExtensionAPI";
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
4
|
+
import type { EnhanceWithUI5 } from "sap/fe/core/helpers/ClassSupport";
|
|
5
|
+
import { defineUI5Class } from "sap/fe/core/helpers/ClassSupport";
|
|
6
|
+
import type TableAPI from "sap/fe/macros/TableAPI";
|
|
7
|
+
import type DynamicSideContent from "sap/ui/layout/DynamicSideContent";
|
|
8
|
+
import type Context from "sap/ui/model/odata/v4/Context";
|
|
9
|
+
import type ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
|
|
9
10
|
defineUI5Class("sap.fe.templates.ObjectPage.ExtensionAPI");
|
|
10
11
|
|
|
11
12
|
class ObjectPageExtensionAPI extends ExtensionAPI {
|
|
@@ -13,11 +14,10 @@ class ObjectPageExtensionAPI extends ExtensionAPI {
|
|
|
13
14
|
* Refreshes either the whole object page or only parts of it.
|
|
14
15
|
*
|
|
15
16
|
* @alias sap.fe.templates.ObjectPage.ExtensionAPI#refresh
|
|
16
|
-
* @param
|
|
17
|
+
* @param [vPath] Path or array of paths referring to entities or properties to be refreshed.
|
|
17
18
|
* If omitted, the whole object page is refreshed. The path "" refreshes the entity assigned to the object page
|
|
18
19
|
* without navigations
|
|
19
|
-
* @returns
|
|
20
|
-
*
|
|
20
|
+
* @returns Resolved once the data is refreshed or rejected if the request failed
|
|
21
21
|
* @public
|
|
22
22
|
*/
|
|
23
23
|
refresh(vPath: string | string[] | undefined) {
|
|
@@ -48,7 +48,7 @@ class ObjectPageExtensionAPI extends ExtensionAPI {
|
|
|
48
48
|
$PropertyPath: "*"
|
|
49
49
|
});
|
|
50
50
|
} else {
|
|
51
|
-
sKind = oMetaModel.getObject(
|
|
51
|
+
sKind = oMetaModel.getObject(`/${sBaseEntitySet}/${sPath}/$kind`);
|
|
52
52
|
|
|
53
53
|
if (sKind === "NavigationProperty") {
|
|
54
54
|
oSideEffects.TargetEntities.push({
|
|
@@ -59,7 +59,7 @@ class ObjectPageExtensionAPI extends ExtensionAPI {
|
|
|
59
59
|
$PropertyPath: sPath
|
|
60
60
|
});
|
|
61
61
|
} else {
|
|
62
|
-
return Promise.reject(sPath
|
|
62
|
+
return Promise.reject(`${sPath} is not a valid path to be refreshed`);
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
}
|
|
@@ -71,9 +71,8 @@ class ObjectPageExtensionAPI extends ExtensionAPI {
|
|
|
71
71
|
* Gets the list entries currently selected for the table.
|
|
72
72
|
*
|
|
73
73
|
* @alias sap.fe.templates.ObjectPage.ExtensionAPI#getSelectedContexts
|
|
74
|
-
* @param
|
|
75
|
-
* @returns
|
|
76
|
-
*
|
|
74
|
+
* @param sTableId The ID identifying the table the selected context is requested for
|
|
75
|
+
* @returns Array containing the selected contexts
|
|
77
76
|
* @public
|
|
78
77
|
*/
|
|
79
78
|
getSelectedContexts(sTableId: string) {
|
|
@@ -88,13 +87,12 @@ class ObjectPageExtensionAPI extends ExtensionAPI {
|
|
|
88
87
|
* Displays or hides the side content of an object page block.
|
|
89
88
|
*
|
|
90
89
|
* @alias sap.fe.templates.ObjectPage.ExtensionAPI#showSideContent
|
|
91
|
-
* @param
|
|
92
|
-
* @param
|
|
93
|
-
*
|
|
90
|
+
* @param sSubSectionKey Key of the side content fragment as defined in the manifest.json
|
|
91
|
+
* @param [bShow] Optional Boolean flag to show or hide the side content
|
|
94
92
|
* @public
|
|
95
93
|
*/
|
|
96
94
|
showSideContent(sSubSectionKey: string, bShow: boolean | undefined) {
|
|
97
|
-
const sBlockID =
|
|
95
|
+
const sBlockID = getSideContentLayoutID(sSubSectionKey),
|
|
98
96
|
oBlock = this._view.byId(sBlockID),
|
|
99
97
|
bBlockState = bShow === undefined ? !(oBlock as DynamicSideContent).getShowSideContent() : bShow;
|
|
100
98
|
(oBlock as DynamicSideContent).setShowSideContent(bBlockState, false);
|
|
@@ -104,8 +102,7 @@ class ObjectPageExtensionAPI extends ExtensionAPI {
|
|
|
104
102
|
* Gets the bound context of the current object page.
|
|
105
103
|
*
|
|
106
104
|
* @alias sap.fe.templates.ObjectPage.ExtensionAPI#getBindingContext
|
|
107
|
-
* @returns
|
|
108
|
-
*
|
|
105
|
+
* @returns Context bound to the object page
|
|
109
106
|
* @public
|
|
110
107
|
*/
|
|
111
108
|
getBindingContext() {
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
OP: 'sap/fe/templates/ObjectPage/ObjectPageTemplating',
|
|
17
17
|
CONTACT: 'sap/fe/macros/ContactHelper',
|
|
18
18
|
UI: 'sap/fe/core/templating/UIFormatters',
|
|
19
|
-
COMMON: 'sap/fe/macros/CommonHelper'
|
|
19
|
+
COMMON: 'sap/fe/macros/CommonHelper',
|
|
20
|
+
COMMONFORMATTERS: 'sap/fe/core/templating/CommonFormatters'
|
|
20
21
|
}"
|
|
21
22
|
>
|
|
22
23
|
<template:with path="entitySet>./" var="entityType">
|
|
@@ -29,7 +30,7 @@
|
|
|
29
30
|
unittest:id="objectPageLayoutTest"
|
|
30
31
|
customdata:showRelatedApps="{viewData>/showRelatedApps}"
|
|
31
32
|
customdata:ObjectPageTitle="{headerInfo>TypeName}"
|
|
32
|
-
customdata:ObjectPageSubtitle="{headerInfo>Title/Value@@
|
|
33
|
+
customdata:ObjectPageSubtitle="{= COMMONFORMATTERS.getBindingWithText(${headerInfo>Title/Value@@UI.getDataModelObjectPath}) }"
|
|
33
34
|
showHeaderContent="{converterContext>header/showContent}"
|
|
34
35
|
showFooter="true"
|
|
35
36
|
busy="{ui>/busy}"
|
|
@@ -222,7 +223,7 @@
|
|
|
222
223
|
<template:if test="{converterContext>header/visible}">
|
|
223
224
|
<template:with path="converterContext>header" var="header">
|
|
224
225
|
<uxap:headerTitle>
|
|
225
|
-
<uxap:ObjectPageDynamicHeaderTitle primaryArea="Begin" areaShrinkRatio="
|
|
226
|
+
<uxap:ObjectPageDynamicHeaderTitle primaryArea="Begin" areaShrinkRatio="1:0:1.6">
|
|
226
227
|
<core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.Heading" type="XML" />
|
|
227
228
|
<uxap:expandedContent>
|
|
228
229
|
<FlexBox>
|
|
@@ -283,7 +284,7 @@
|
|
|
283
284
|
unittest:id="FlexBoxTest"
|
|
284
285
|
dt:designtime="sap/fe/templates/ObjectPage/designtime/FlexBox.designtime"
|
|
285
286
|
wrap="Wrap"
|
|
286
|
-
fitContainer="
|
|
287
|
+
fitContainer="false"
|
|
287
288
|
alignItems="Stretch"
|
|
288
289
|
>
|
|
289
290
|
<template:if test="{header>avatar}">
|