@sapui5/sap.fe.templates 1.103.0 → 1.106.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 +5 -6
- package/src/sap/fe/templates/.library +1 -1
- package/src/sap/fe/templates/AnalyticalListPage/Component.js +2 -2
- 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 +1 -1
- package/src/sap/fe/templates/Feedback.ts +0 -3
- package/src/sap/fe/templates/ListComponent.js +2 -2
- package/src/sap/fe/templates/ListReport/Component.js +2 -2
- package/src/sap/fe/templates/ListReport/ExtensionAPI.js +5 -3
- package/src/sap/fe/templates/ListReport/ExtensionAPI.ts +2 -1
- package/src/sap/fe/templates/ListReport/ListReport.view.xml +12 -86
- package/src/sap/fe/templates/ListReport/ListReportController.controller.js +90 -429
- package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +81 -392
- package/src/sap/fe/templates/ListReport/ListReportTemplating.js +1 -1
- package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.js +459 -0
- package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.ts +338 -0
- package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +16 -9
- package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.ts +15 -9
- package/src/sap/fe/templates/ListReport/overrides/Share.js +4 -12
- package/src/sap/fe/templates/ListReport/overrides/Share.ts +4 -12
- package/src/sap/fe/templates/ListReport/overrides/ViewState.js +23 -31
- package/src/sap/fe/templates/ListReport/overrides/ViewState.ts +27 -31
- package/src/sap/fe/templates/ListReport/view/fragments/Chart.fragment.xml +3 -0
- package/src/sap/fe/templates/ListReport/view/fragments/CollectionVisualization.fragment.xml +16 -5
- package/src/sap/fe/templates/{controls → ListReport/view/fragments}/MacroChart.fragment.xml +3 -2
- package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.js +20 -4
- package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.ts +80 -48
- package/src/sap/fe/templates/{controls → ListReport/view/fragments}/Table.fragment.xml +6 -6
- package/src/sap/fe/templates/ListReport/view/fragments/VariantManagement.fragment.xml +31 -0
- package/src/sap/fe/templates/ObjectPage/Component.js +9 -9
- package/src/sap/fe/templates/ObjectPage/Component.ts +10 -6
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +25 -12
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI.ts +18 -5
- package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +60 -151
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +195 -140
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +103 -93
- package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js +52 -22
- package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.ts +46 -25
- package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton.js +178 -0
- package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton.tsx +132 -0
- package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +2 -2
- package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.js +2 -2
- package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +2 -2
- package/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js +1 -1
- package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +1 -1
- package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +1 -1
- package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.js +1 -1
- package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.js +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.ts +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/Share.js +55 -29
- package/src/sap/fe/templates/ObjectPage/overrides/Share.ts +28 -29
- package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +1 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +62 -62
- package/src/sap/fe/templates/ObjectPage/view/fragments/Chart.fragment.xml +13 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/EditableHeaderFacet.fragment.xml +10 -8
- package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +1 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/FormActionButtons.fragment.xml +5 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPoint.fragment.xml +1 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/Heading.fragment.xml +2 -2
- package/src/sap/fe/templates/ObjectPage/view/fragments/HeadingTitle.fragment.xml +11 -6
- package/src/sap/fe/templates/ObjectPage/view/fragments/MacroChart.fragment.xml +22 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +7 -2
- package/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +8 -49
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionPresentationVisualization.fragment.xml +1 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/Table.fragment.xml +23 -0
- package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +2 -2
- package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +2 -2
- package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +5 -5
- package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.ts +3 -3
- package/src/sap/fe/templates/RootContainer/overrides/EditFlow.js +1 -1
- package/src/sap/fe/templates/TableScroller.js +1 -1
- package/src/sap/fe/templates/library.js +4 -3
- package/src/sap/fe/templates/library.ts +2 -0
- package/src/sap/fe/templates/messagebundle.properties +2 -5
- package/src/sap/fe/templates/messagebundle_ar.properties +3 -12
- package/src/sap/fe/templates/messagebundle_bg.properties +2 -11
- 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 +2 -11
- 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 +2 -11
- 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 +2 -11
- 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 +2 -11
- 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/ListReport/view/fragments/MultipleModeOld.fragment.xml +0 -50
- package/src/sap/fe/templates/ObjectPage/handler/DraftHandler.js +0 -103
- package/src/sap/fe/templates/ObjectPage/handler/DraftHandler.ts +0 -97
- package/src/sap/fe/templates/ObjectPage/view/fragments/SwitchDraftAndActiveObjectPopOver.fragment.xml +0 -27
- package/src/sap/fe/templates/controls/Chart.fragment.xml +0 -25
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type ResourceBundle from "sap/base/i18n/ResourceBundle";
|
|
2
2
|
import Log from "sap/base/Log";
|
|
3
3
|
import merge from "sap/base/util/merge";
|
|
4
|
+
import ActionRuntime from "sap/fe/core/ActionRuntime";
|
|
4
5
|
import CommonUtils from "sap/fe/core/CommonUtils";
|
|
5
6
|
import BusyLocker from "sap/fe/core/controllerextensions/BusyLocker";
|
|
6
7
|
import { connect } from "sap/fe/core/controllerextensions/collaboration/ActivitySync";
|
|
@@ -39,17 +40,17 @@ import type Popover from "sap/m/Popover";
|
|
|
39
40
|
import Core from "sap/ui/core/Core";
|
|
40
41
|
import OverrideExecution from "sap/ui/core/mvc/OverrideExecution";
|
|
41
42
|
import type Binding from "sap/ui/model/Binding";
|
|
42
|
-
import JSONModel from "sap/ui/model/json/JSONModel";
|
|
43
|
+
import type JSONModel from "sap/ui/model/json/JSONModel";
|
|
43
44
|
import type Context from "sap/ui/model/odata/v4/Context";
|
|
44
45
|
import ODataListBinding from "sap/ui/model/odata/v4/ODataListBinding";
|
|
45
46
|
import type ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
|
|
46
47
|
import type ODataModel from "sap/ui/model/odata/v4/ODataModel";
|
|
47
48
|
import type ResourceModel from "sap/ui/model/resource/ResourceModel";
|
|
49
|
+
import type BreadCrumbs from "sap/uxap/BreadCrumbs";
|
|
48
50
|
import type ObjectPageDynamicHeaderTitle from "sap/uxap/ObjectPageDynamicHeaderTitle";
|
|
49
51
|
import type ObjectPageLayout from "sap/uxap/ObjectPageLayout";
|
|
50
52
|
import type ObjectPageSection from "sap/uxap/ObjectPageSection";
|
|
51
53
|
import type ObjectPageSubSection from "sap/uxap/ObjectPageSubSection";
|
|
52
|
-
import DraftHandler from "./handler/DraftHandler";
|
|
53
54
|
import IntentBasedNavigationOverride from "./overrides/IntentBasedNavigation";
|
|
54
55
|
import InternalRoutingOverride from "./overrides/InternalRouting";
|
|
55
56
|
import MessageHandlerOverride from "./overrides/MessageHandler";
|
|
@@ -257,18 +258,26 @@ class ObjectPageController extends PageController {
|
|
|
257
258
|
if (oBinding.isA("sap.ui.model.odata.v4.ODataListBinding")) {
|
|
258
259
|
this.paginator.initialize(oBinding, oContext);
|
|
259
260
|
} else {
|
|
260
|
-
//if the binding type is not ODataListBinding because of a deeplink navigation or a refresh of the page
|
|
261
|
+
// if the binding type is not ODataListBinding because of a deeplink navigation or a refresh of the page
|
|
261
262
|
// we need to create it
|
|
262
|
-
const
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
263
|
+
const sBindingPath = oBinding.getPath();
|
|
264
|
+
if (/\([^\)]*\)$/.test(sBindingPath)) {
|
|
265
|
+
// The current binding path ends with (xxx), so we create the listBinding by removing (xxx)
|
|
266
|
+
const sListBindingPath = sBindingPath.replace(/\([^\)]*\)$/, "");
|
|
267
|
+
oBinding = new (ODataListBinding as any)(oBinding.oModel, sListBindingPath);
|
|
268
|
+
const _setListBindingAsync = () => {
|
|
269
|
+
if (oBinding.getContexts().length > 0) {
|
|
270
|
+
this.paginator.initialize(oBinding, oContext);
|
|
271
|
+
oBinding.detachEvent("change", _setListBindingAsync);
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
|
|
275
|
+
oBinding.getContexts(0);
|
|
276
|
+
oBinding.attachEvent("change", _setListBindingAsync);
|
|
277
|
+
} else {
|
|
278
|
+
// The current binding doesn't end with (xxx) --> the last segment is a 1-1 navigation, so we don't display the paginator
|
|
279
|
+
this.paginator.initialize(undefined);
|
|
280
|
+
}
|
|
272
281
|
}
|
|
273
282
|
}
|
|
274
283
|
}
|
|
@@ -392,6 +401,7 @@ class ObjectPageController extends PageController {
|
|
|
392
401
|
}
|
|
393
402
|
|
|
394
403
|
_onBackNavigationInDraft(oContext: any) {
|
|
404
|
+
this.messageHandler.removeTransitionMessages();
|
|
395
405
|
if (this.getAppComponent().getRouterProxy().checkIfBackHasSameContext()) {
|
|
396
406
|
// Back nav will keep the same context --> no need to display the dialog
|
|
397
407
|
history.back();
|
|
@@ -459,7 +469,9 @@ class ObjectPageController extends PageController {
|
|
|
459
469
|
),
|
|
460
470
|
aSelectedContexts = oTable.getSelectedContexts();
|
|
461
471
|
|
|
462
|
-
|
|
472
|
+
ActionRuntime.setActionEnablement(oInternalModelContext, oActionOperationAvailableMap, aSelectedContexts, "table");
|
|
473
|
+
// Clear the selection in the table, need to be fixed and review with BLI: FIORITECHP1-24318
|
|
474
|
+
oTable.clearSelection();
|
|
463
475
|
});
|
|
464
476
|
CommonUtils.getSemanticTargetsFromPageModel(this, "_pageModel");
|
|
465
477
|
//Retrieve Object Page header actions from Object Page title control
|
|
@@ -477,40 +489,35 @@ class ObjectPageController extends PageController {
|
|
|
477
489
|
* @param oTable
|
|
478
490
|
* @param oListBinding
|
|
479
491
|
*/
|
|
480
|
-
function enableFastCreationRow(oTable: any, oListBinding: any) {
|
|
492
|
+
async function enableFastCreationRow(oTable: any, oListBinding: any) {
|
|
481
493
|
const oFastCreationRow = oTable.getCreationRow();
|
|
482
494
|
let oFastCreationListBinding, oFastCreationContext;
|
|
483
495
|
|
|
484
496
|
if (oFastCreationRow) {
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
// this is needed to avoid console error
|
|
506
|
-
oFastCreationContext.created().catch(function () {
|
|
507
|
-
Log.trace("transient fast creation context deleted");
|
|
508
|
-
});
|
|
497
|
+
try {
|
|
498
|
+
await oFinalUIState;
|
|
499
|
+
if (oFastCreationRow.getModel("ui").getProperty("/isEditable")) {
|
|
500
|
+
oFastCreationListBinding = oModel.bindList(oListBinding.getPath(), oListBinding.getContext(), [], [], {
|
|
501
|
+
$$updateGroupId: "doNotSubmit",
|
|
502
|
+
$$groupId: "doNotSubmit"
|
|
503
|
+
});
|
|
504
|
+
// Workaround suggested by OData model v4 colleagues
|
|
505
|
+
oFastCreationListBinding.refreshInternal = function () {
|
|
506
|
+
/* do nothing */
|
|
507
|
+
};
|
|
508
|
+
oFastCreationContext = oFastCreationListBinding.create();
|
|
509
|
+
oFastCreationRow.setBindingContext(oFastCreationContext);
|
|
510
|
+
|
|
511
|
+
// this is needed to avoid console error
|
|
512
|
+
try {
|
|
513
|
+
await oFastCreationContext.created();
|
|
514
|
+
} catch (e) {
|
|
515
|
+
Log.trace("transient fast creation context deleted");
|
|
509
516
|
}
|
|
510
|
-
}
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
517
|
+
}
|
|
518
|
+
} catch (oError: any) {
|
|
519
|
+
Log.error("Error while computing the final UI state", oError);
|
|
520
|
+
}
|
|
514
521
|
}
|
|
515
522
|
}
|
|
516
523
|
|
|
@@ -739,7 +746,11 @@ class ObjectPageController extends PageController {
|
|
|
739
746
|
if (err) {
|
|
740
747
|
Log.error(err);
|
|
741
748
|
}
|
|
742
|
-
|
|
749
|
+
const rootViewController = this.getAppComponent().getRootViewController() as any;
|
|
750
|
+
const currentPageView = rootViewController.isFclEnabled()
|
|
751
|
+
? rootViewController.getRightmostView()
|
|
752
|
+
: (this.getAppComponent().getRootContainer() as any).getCurrentPage();
|
|
753
|
+
if (!currentPageView.isA("sap.m.MessagePage")) {
|
|
743
754
|
const oMessageButton = this.getView().byId("fe::FooterBar::MessageButton") as any,
|
|
744
755
|
oMessagePopover = oMessageButton.oMessagePopover,
|
|
745
756
|
oItemBinding = oMessagePopover.getBinding("items");
|
|
@@ -763,7 +774,7 @@ class ObjectPageController extends PageController {
|
|
|
763
774
|
});
|
|
764
775
|
}
|
|
765
776
|
|
|
766
|
-
_saveDocument(oContext: any) {
|
|
777
|
+
async _saveDocument(oContext: any) {
|
|
767
778
|
const oModel = this.getView().getModel("ui"),
|
|
768
779
|
aWaitCreateDocuments: any[] = [];
|
|
769
780
|
// indicates if we are creating a new row in the OP
|
|
@@ -792,31 +803,33 @@ class ObjectPageController extends PageController {
|
|
|
792
803
|
);
|
|
793
804
|
}
|
|
794
805
|
});
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
806
|
+
|
|
807
|
+
try {
|
|
808
|
+
const aBindings = await Promise.all(aWaitCreateDocuments);
|
|
809
|
+
const mParameters = {
|
|
810
|
+
bExecuteSideEffectsOnError: bExecuteSideEffectsOnError,
|
|
811
|
+
bindings: aBindings
|
|
812
|
+
};
|
|
813
|
+
// We need to either reject or resolve a promise here and return it since this save
|
|
814
|
+
// function is not only called when pressing the save button in the footer, but also
|
|
815
|
+
// when the user selects create or save in a dataloss popup.
|
|
816
|
+
// The logic of the dataloss popup needs to detect if the save had errors or not in order
|
|
817
|
+
// to decide if the subsequent action - like a back navigation - has to be executed or not.
|
|
818
|
+
try {
|
|
819
|
+
await this.editFlow.saveDocument(oContext, mParameters);
|
|
820
|
+
} catch (error: any) {
|
|
821
|
+
// If the saveDocument in editFlow returns errors we need
|
|
822
|
+
// to show the message popover here and ensure that the
|
|
823
|
+
// dataloss logic does not perform the follow up function
|
|
824
|
+
// like e.g. a back navigation hence we return a promise and reject it
|
|
825
|
+
this._showMessagePopover(error);
|
|
826
|
+
throw error;
|
|
827
|
+
}
|
|
828
|
+
} finally {
|
|
829
|
+
if (BusyLocker.isLocked(oModel)) {
|
|
830
|
+
BusyLocker.unlock(oModel);
|
|
831
|
+
}
|
|
832
|
+
}
|
|
820
833
|
}
|
|
821
834
|
|
|
822
835
|
_manageCollaboration() {
|
|
@@ -836,9 +849,6 @@ class ObjectPageController extends PageController {
|
|
|
836
849
|
return this.editFlow.applyDocument(oContext).catch(() => this._showMessagePopover());
|
|
837
850
|
}
|
|
838
851
|
|
|
839
|
-
_showSwitchDraftAndActivePopover = DraftHandler.showSwitchDraftAndActivePopover;
|
|
840
|
-
_switchDraftAndActivePopoverListSelect = DraftHandler.switchDraftAndActivePopoverListSelect;
|
|
841
|
-
|
|
842
852
|
_updateRelatedApps() {
|
|
843
853
|
const oObjectPage = this._getObjectPageLayoutControl();
|
|
844
854
|
if (CommonUtils.resolveStringtoBoolean(oObjectPage.data("showRelatedApps"))) {
|
|
@@ -856,7 +866,7 @@ class ObjectPageController extends PageController {
|
|
|
856
866
|
oElement = oElement[0];
|
|
857
867
|
}
|
|
858
868
|
}
|
|
859
|
-
if (oElement && oElement.isA && oElement.isA("sap.fe.macros.TableAPI")) {
|
|
869
|
+
if (oElement && oElement.isA && oElement.isA("sap.fe.macros.table.TableAPI")) {
|
|
860
870
|
oElement = oElement.getContent instanceof Function && oElement.getContent();
|
|
861
871
|
if (oElement && oElement.length > 0) {
|
|
862
872
|
oElement = oElement[0];
|
|
@@ -1053,32 +1063,32 @@ class ObjectPageController extends PageController {
|
|
|
1053
1063
|
* @ui5-restricted
|
|
1054
1064
|
* @experimental
|
|
1055
1065
|
*/
|
|
1056
|
-
async _setBreadcrumbLinks(oSource:
|
|
1066
|
+
async _setBreadcrumbLinks(oSource: BreadCrumbs) {
|
|
1057
1067
|
const oContext = oSource.getBindingContext(),
|
|
1058
1068
|
oAppComponent = this.getAppComponent(),
|
|
1059
1069
|
aPromises: Promise<void>[] = [],
|
|
1060
1070
|
aSkipParameterized: any[] = [],
|
|
1061
|
-
sNewPath = oContext
|
|
1062
|
-
aPathParts = sNewPath
|
|
1071
|
+
sNewPath = oContext?.getPath(),
|
|
1072
|
+
aPathParts = sNewPath?.split("/") ?? [],
|
|
1063
1073
|
oMetaModel = oAppComponent && oAppComponent.getMetaModel();
|
|
1064
1074
|
let sPath = "";
|
|
1065
|
-
aPathParts.shift();
|
|
1066
|
-
aPathParts.splice(-1, 1);
|
|
1067
|
-
aPathParts.forEach(function (sPathPart: any) {
|
|
1068
|
-
sPath += `/${sPathPart}`;
|
|
1069
|
-
const oRootViewController = oAppComponent.getRootViewController() as RootContainerBaseController;
|
|
1070
|
-
const sParameterPath = oMetaModel.getMetaPath(sPath);
|
|
1071
|
-
const bResultContext = oMetaModel.getObject(`${sParameterPath}/@com.sap.vocabularies.Common.v1.ResultContext`);
|
|
1072
|
-
if (bResultContext) {
|
|
1073
|
-
// We dont need to create a breadcrumb for Parameter path
|
|
1074
|
-
aSkipParameterized.push(1);
|
|
1075
|
-
return;
|
|
1076
|
-
} else {
|
|
1077
|
-
aSkipParameterized.push(0);
|
|
1078
|
-
}
|
|
1079
|
-
aPromises.push(oRootViewController.getTitleInfoFromPath(sPath));
|
|
1080
|
-
});
|
|
1081
1075
|
try {
|
|
1076
|
+
aPathParts.shift();
|
|
1077
|
+
aPathParts.splice(-1, 1);
|
|
1078
|
+
aPathParts.forEach(function (sPathPart: any) {
|
|
1079
|
+
sPath += `/${sPathPart}`;
|
|
1080
|
+
const oRootViewController = oAppComponent.getRootViewController() as RootContainerBaseController;
|
|
1081
|
+
const sParameterPath = oMetaModel.getMetaPath(sPath);
|
|
1082
|
+
const bResultContext = oMetaModel.getObject(`${sParameterPath}/@com.sap.vocabularies.Common.v1.ResultContext`);
|
|
1083
|
+
if (bResultContext) {
|
|
1084
|
+
// We dont need to create a breadcrumb for Parameter path
|
|
1085
|
+
aSkipParameterized.push(1);
|
|
1086
|
+
return;
|
|
1087
|
+
} else {
|
|
1088
|
+
aSkipParameterized.push(0);
|
|
1089
|
+
}
|
|
1090
|
+
aPromises.push(oRootViewController.getTitleInfoFromPath(sPath));
|
|
1091
|
+
});
|
|
1082
1092
|
const titleHierarchyInfos: any[] = await Promise.all(aPromises);
|
|
1083
1093
|
let idx, hierarchyPosition, oLink;
|
|
1084
1094
|
for (const titleHierarchyInfo of titleHierarchyInfos) {
|