@sapui5/sap.fe.templates 1.101.0 → 1.103.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 +1 -1
- 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 +15 -15
- package/src/sap/fe/templates/ListReport/ExtensionAPI.ts +19 -16
- package/src/sap/fe/templates/ListReport/ListReport.view.xml +107 -58
- package/src/sap/fe/templates/ListReport/ListReportController.controller.js +180 -70
- package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +191 -88
- package/src/sap/fe/templates/ListReport/ListReportTemplating.js +45 -0
- package/src/sap/fe/templates/ListReport/ListReportTemplating.ts +30 -0
- package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +1 -1
- package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.ts +2 -2
- package/src/sap/fe/templates/ListReport/overrides/Share.js +9 -7
- package/src/sap/fe/templates/ListReport/overrides/Share.ts +10 -10
- package/src/sap/fe/templates/ListReport/overrides/ViewState.js +13 -6
- package/src/sap/fe/templates/ListReport/overrides/ViewState.ts +17 -11
- package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.js +1 -1
- package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.ts +1 -1
- 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 +167 -20
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +195 -206
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +187 -229
- package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js +861 -0
- package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.ts +822 -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/handler/DraftHandler.js +103 -0
- package/src/sap/fe/templates/ObjectPage/handler/DraftHandler.ts +97 -0
- package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.ts +5 -5
- 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 +17 -17
- package/src/sap/fe/templates/ObjectPage/overrides/Share.ts +19 -30
- 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 +15 -11
- package/src/sap/fe/templates/ObjectPage/view/fragments/CollaborationDraft.fragment.xml +1 -2
- package/src/sap/fe/templates/ObjectPage/view/fragments/EditableHeaderFacet.fragment.xml +25 -17
- package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +28 -24
- package/src/sap/fe/templates/ObjectPage/view/fragments/FormActionButtons.fragment.xml +15 -16
- package/src/sap/fe/templates/ObjectPage/view/fragments/FormActions.fragment.xml +1 -5
- package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPoint.fragment.xml +1 -2
- package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPointTitle.fragment.xml +1 -3
- package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacet.fragment.xml +3 -17
- package/src/sap/fe/templates/ObjectPage/view/fragments/Heading.fragment.xml +16 -17
- package/src/sap/fe/templates/ObjectPage/view/fragments/HeadingTitle.fragment.xml +4 -3
- 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 +4 -4
- package/src/sap/fe/templates/ObjectPage/view/fragments/RelatedApps.fragment.xml +7 -4
- package/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +74 -6
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +118 -94
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContentLazyLoader.fragment.xml +127 -107
- 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/ObjectPage/view/fragments/SwitchDraftAndActiveObjectPopOver.fragment.xml +2 -2
- package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +102 -57
- package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.ts +96 -61
- 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/MacroChart.fragment.xml +1 -0
- package/src/sap/fe/templates/controls/Table.fragment.xml +4 -4
- package/src/sap/fe/templates/library.js +5 -2
- package/src/sap/fe/templates/library.ts +3 -0
- package/src/sap/fe/templates/messagebundle.properties +6 -18
- package/src/sap/fe/templates/messagebundle_ar.properties +10 -6
- package/src/sap/fe/templates/messagebundle_bg.properties +6 -2
- package/src/sap/fe/templates/messagebundle_ca.properties +10 -6
- package/src/sap/fe/templates/messagebundle_cs.properties +6 -2
- package/src/sap/fe/templates/messagebundle_cy.properties +10 -6
- package/src/sap/fe/templates/messagebundle_da.properties +10 -6
- package/src/sap/fe/templates/messagebundle_de.properties +10 -6
- package/src/sap/fe/templates/messagebundle_el.properties +10 -6
- package/src/sap/fe/templates/messagebundle_en.properties +6 -2
- package/src/sap/fe/templates/messagebundle_en_GB.properties +8 -4
- package/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +13 -5
- package/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +7 -3
- package/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +7 -3
- package/src/sap/fe/templates/messagebundle_es.properties +6 -2
- package/src/sap/fe/templates/messagebundle_es_MX.properties +10 -6
- package/src/sap/fe/templates/messagebundle_et.properties +6 -2
- package/src/sap/fe/templates/messagebundle_fi.properties +10 -6
- package/src/sap/fe/templates/messagebundle_fr.properties +6 -2
- package/src/sap/fe/templates/messagebundle_fr_CA.properties +10 -6
- package/src/sap/fe/templates/messagebundle_hi.properties +10 -6
- package/src/sap/fe/templates/messagebundle_hr.properties +10 -6
- package/src/sap/fe/templates/messagebundle_hu.properties +6 -2
- package/src/sap/fe/templates/messagebundle_id.properties +6 -2
- package/src/sap/fe/templates/messagebundle_it.properties +10 -6
- package/src/sap/fe/templates/messagebundle_iw.properties +10 -6
- package/src/sap/fe/templates/messagebundle_ja.properties +6 -2
- package/src/sap/fe/templates/messagebundle_kk.properties +10 -6
- package/src/sap/fe/templates/messagebundle_ko.properties +6 -2
- package/src/sap/fe/templates/messagebundle_lt.properties +6 -2
- package/src/sap/fe/templates/messagebundle_lv.properties +6 -2
- package/src/sap/fe/templates/messagebundle_ms.properties +10 -6
- package/src/sap/fe/templates/messagebundle_nl.properties +6 -2
- package/src/sap/fe/templates/messagebundle_no.properties +10 -6
- package/src/sap/fe/templates/messagebundle_pl.properties +10 -6
- package/src/sap/fe/templates/messagebundle_pt.properties +6 -2
- package/src/sap/fe/templates/messagebundle_pt_PT.properties +6 -2
- package/src/sap/fe/templates/messagebundle_ro.properties +10 -6
- package/src/sap/fe/templates/messagebundle_ru.properties +10 -6
- package/src/sap/fe/templates/messagebundle_sh.properties +6 -2
- package/src/sap/fe/templates/messagebundle_sk.properties +6 -2
- package/src/sap/fe/templates/messagebundle_sl.properties +10 -6
- package/src/sap/fe/templates/messagebundle_sv.properties +6 -2
- package/src/sap/fe/templates/messagebundle_th.properties +10 -6
- package/src/sap/fe/templates/messagebundle_tr.properties +6 -2
- package/src/sap/fe/templates/messagebundle_uk.properties +6 -2
- package/src/sap/fe/templates/messagebundle_vi.properties +10 -6
- package/src/sap/fe/templates/messagebundle_zh_CN.properties +10 -6
- package/src/sap/fe/templates/messagebundle_zh_TW.properties +10 -6
- package/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +0 -482
- package/src/sap/fe/templates/ObjectPage/AnnotationHelper.ts +0 -511
- package/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.js +0 -120
- package/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.ts +0 -138
|
@@ -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() {
|
|
@@ -13,15 +13,16 @@
|
|
|
13
13
|
controllerName="sap.fe.templates.ObjectPage.ObjectPageController"
|
|
14
14
|
template:require="{
|
|
15
15
|
MODEL: 'sap/ui/model/odata/v4/AnnotationHelper',
|
|
16
|
-
OP: 'sap/fe/templates/ObjectPage/
|
|
16
|
+
OP: 'sap/fe/templates/ObjectPage/ObjectPageTemplating',
|
|
17
17
|
CONTACT: 'sap/fe/macros/ContactHelper',
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
UI: 'sap/fe/core/templating/UIFormatters',
|
|
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">
|
|
23
24
|
<template:with path="entityType>@com.sap.vocabularies.UI.v1.HeaderInfo" var="headerInfo">
|
|
24
|
-
|
|
25
|
+
<!-- OPLayout binding contains explicit $select for SAP__Messages or the path from @Common.Messages until model provides an alternative.
|
|
25
26
|
This is to enable side effects to request messages. -->
|
|
26
27
|
<uxap:ObjectPageLayout
|
|
27
28
|
id="fe::ObjectPage"
|
|
@@ -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}"
|
|
@@ -67,33 +68,178 @@
|
|
|
67
68
|
enabled="{= OP.getDeleteCommandExecutionEnabled(${converterContext>header/actions}) }"
|
|
68
69
|
command="DeleteObject"
|
|
69
70
|
/>
|
|
70
|
-
<control:CommandExecution
|
|
71
|
+
<control:CommandExecution
|
|
72
|
+
execute="._saveDocument(${$view>/getBindingContext})"
|
|
73
|
+
visible="{ui>/isEditable}"
|
|
74
|
+
command="Save"
|
|
75
|
+
/>
|
|
71
76
|
<control:CommandExecution
|
|
72
77
|
execute="._cancelDocument(${$view>/getBindingContext},{cancelButton:'fe::FooterBar::StandardAction::Cancel'})"
|
|
73
78
|
visible="{ui>/isEditable}"
|
|
74
79
|
command="Cancel"
|
|
75
80
|
/>
|
|
81
|
+
<template:if test="{converterContext>header/actions}">
|
|
82
|
+
<template:repeat list="{converterContext>header/actions}" var="headerAction">
|
|
83
|
+
<template:if test="{= ${headerAction>type} === 'Menu' }">
|
|
84
|
+
<template:then>
|
|
85
|
+
<template:repeat list="{headerAction>menu}" var="menuItemAction">
|
|
86
|
+
<template:if test="{menuItemAction>command}">
|
|
87
|
+
<template:with path="menuItemAction>annotationPath" var="dataField">
|
|
88
|
+
<template:if test="{= ${menuItemAction>type} === 'ForAction'}">
|
|
89
|
+
<template:then>
|
|
90
|
+
<control:CommandExecution
|
|
91
|
+
execute="{= OP.getPressExpressionForEdit(${dataField>}, ${entitySet>@sapui.name}, ${headerAction>}) }"
|
|
92
|
+
enabled="{menuItemAction>enabled}"
|
|
93
|
+
visible="{menuItemAction>visible}"
|
|
94
|
+
command="{menuItemAction>command}"
|
|
95
|
+
/>
|
|
96
|
+
</template:then>
|
|
97
|
+
<template:elseif test="{= ${menuItemAction>type} === 'ForNavigation'}">
|
|
98
|
+
<control:CommandExecution
|
|
99
|
+
execute="{menuItemAction>press}"
|
|
100
|
+
enabled="{menuItemAction>enabled}"
|
|
101
|
+
visible="{menuItemAction>visible}"
|
|
102
|
+
command="{menuItemAction>command}"
|
|
103
|
+
/>
|
|
104
|
+
</template:elseif>
|
|
105
|
+
<template:else>
|
|
106
|
+
<control:CommandExecution
|
|
107
|
+
core:require="{FPM: 'sap/fe/core/helpers/FPMHelper'}"
|
|
108
|
+
execute="{= COMMON.buildActionWrapper(${menuItemAction>}, ${headerAction>})}"
|
|
109
|
+
visible="{menuItemAction>visible}"
|
|
110
|
+
enabled="{menuItemAction>enabled}"
|
|
111
|
+
command="{menuItemAction>command}"
|
|
112
|
+
/>
|
|
113
|
+
</template:else>
|
|
114
|
+
</template:if>
|
|
115
|
+
</template:with>
|
|
116
|
+
</template:if>
|
|
117
|
+
</template:repeat>
|
|
118
|
+
</template:then>
|
|
119
|
+
<template:elseif test="{headerAction>command}">
|
|
120
|
+
<template:with path="headerAction>annotationPath" var="dataField">
|
|
121
|
+
<template:if test="{= ${headerAction>type} === 'ForNavigation'}">
|
|
122
|
+
<template:then>
|
|
123
|
+
<control:CommandExecution
|
|
124
|
+
execute="{headerAction>press}"
|
|
125
|
+
enabled="{headerAction>enabled}"
|
|
126
|
+
visible="{headerAction>visible}"
|
|
127
|
+
command="{headerAction>command}"
|
|
128
|
+
/>
|
|
129
|
+
</template:then>
|
|
130
|
+
<template:elseif test="{= ${headerAction>type} === 'ForAction'}">
|
|
131
|
+
<template:if
|
|
132
|
+
test="{= ${dataField>$Type} === 'com.sap.vocabularies.UI.v1.DataFieldForAction' && ${dataField>Determining} !== true }"
|
|
133
|
+
>
|
|
134
|
+
<template:with
|
|
135
|
+
path="dataField>Action"
|
|
136
|
+
helper="COMMON.getActionContext"
|
|
137
|
+
var="actionContext"
|
|
138
|
+
>
|
|
139
|
+
<template:with
|
|
140
|
+
path="dataField>Action"
|
|
141
|
+
helper="COMMON.getPathToBoundActionOverload"
|
|
142
|
+
var="isBound"
|
|
143
|
+
>
|
|
144
|
+
<template:if
|
|
145
|
+
test="{= !(${dataField>./@com.sap.vocabularies.UI.v1.Hidden} === true) && (${isBound>$IsBound} !== true || ${actionContext>@Org.OData.Core.V1.OperationAvailable} !== false) }"
|
|
146
|
+
>
|
|
147
|
+
<control:CommandExecution
|
|
148
|
+
execute="{= OP.getPressExpressionForEdit(${dataField>}, ${entitySet>@sapui.name}, ${headerAction>}) }"
|
|
149
|
+
enabled="{headerAction>enabled}"
|
|
150
|
+
visible="{headerAction>visible}"
|
|
151
|
+
command="{headerAction>command}"
|
|
152
|
+
/>
|
|
153
|
+
</template:if>
|
|
154
|
+
</template:with>
|
|
155
|
+
</template:with>
|
|
156
|
+
</template:if>
|
|
157
|
+
</template:elseif>
|
|
158
|
+
<template:else>
|
|
159
|
+
<control:CommandExecution
|
|
160
|
+
core:require="{FPM: 'sap/fe/core/helpers/FPMHelper'}"
|
|
161
|
+
execute="{= COMMON.buildActionWrapper(${headerAction>})}"
|
|
162
|
+
enabled="{headerAction>enabled}"
|
|
163
|
+
visible="{headerAction>visible}"
|
|
164
|
+
command="{headerAction>command}"
|
|
165
|
+
/>
|
|
166
|
+
</template:else>
|
|
167
|
+
</template:if>
|
|
168
|
+
</template:with>
|
|
169
|
+
</template:elseif>
|
|
170
|
+
</template:if>
|
|
171
|
+
</template:repeat>
|
|
172
|
+
</template:if>
|
|
173
|
+
<template:if test="{converterContext>footerActions}">
|
|
174
|
+
<template:repeat list="{converterContext>footerActions}" var="footerAction">
|
|
175
|
+
<template:if test="{footerAction>command}">
|
|
176
|
+
<template:if test="{= ${footerAction>type} === 'ForAction'}">
|
|
177
|
+
<template:then>
|
|
178
|
+
<template:with path="footerAction>annotationPath" var="dataField">
|
|
179
|
+
<template:if test="{= !(${dataField>./@com.sap.vocabularies.UI.v1.Hidden} === true) }">
|
|
180
|
+
<template:if
|
|
181
|
+
test="{= ${dataField>$Type} === 'com.sap.vocabularies.UI.v1.DataFieldForAction' && ${dataField>Determining} === true}"
|
|
182
|
+
>
|
|
183
|
+
<template:with
|
|
184
|
+
path="dataField>Action"
|
|
185
|
+
helper="COMMON.getActionContext"
|
|
186
|
+
var="actionContext"
|
|
187
|
+
>
|
|
188
|
+
<template:with
|
|
189
|
+
path="dataField>Action"
|
|
190
|
+
helper="COMMON.getPathToBoundActionOverload"
|
|
191
|
+
var="isBound"
|
|
192
|
+
>
|
|
193
|
+
<template:if
|
|
194
|
+
test="{= ${isBound>$IsBound} !== true || ${actionContext>@Org.OData.Core.V1.OperationAvailable} !== false }"
|
|
195
|
+
>
|
|
196
|
+
<control:CommandExecution
|
|
197
|
+
execute="{= OP.getPressExpressionForFooterAnnotationAction(${dataField>}, ${entitySet>@sapui.name}, ${footerAction>}) }"
|
|
198
|
+
visible="{footerAction>visible}"
|
|
199
|
+
enabled="{footerAction>enabled}"
|
|
200
|
+
command="{footerAction>command}"
|
|
201
|
+
/>
|
|
202
|
+
</template:if>
|
|
203
|
+
</template:with>
|
|
204
|
+
</template:with>
|
|
205
|
+
</template:if>
|
|
206
|
+
</template:if>
|
|
207
|
+
</template:with>
|
|
208
|
+
</template:then>
|
|
209
|
+
<template:elseif test="{= OP.isManifestAction(${footerAction>}) }">
|
|
210
|
+
<control:CommandExecution
|
|
211
|
+
core:require="{FPM: 'sap/fe/core/helpers/FPMHelper'}"
|
|
212
|
+
execute="{= COMMON.buildActionWrapper(${footerAction>})}"
|
|
213
|
+
visible="{footerAction>visible}"
|
|
214
|
+
enabled="{footerAction>enabled}"
|
|
215
|
+
command="{footerAction>command}"
|
|
216
|
+
/>
|
|
217
|
+
</template:elseif>
|
|
218
|
+
</template:if>
|
|
219
|
+
</template:if>
|
|
220
|
+
</template:repeat>
|
|
221
|
+
</template:if>
|
|
76
222
|
</uxap:dependents>
|
|
77
223
|
<template:if test="{converterContext>header/visible}">
|
|
78
224
|
<template:with path="converterContext>header" var="header">
|
|
79
225
|
<uxap:headerTitle>
|
|
80
|
-
<uxap:ObjectPageDynamicHeaderTitle primaryArea="Begin" areaShrinkRatio="
|
|
226
|
+
<uxap:ObjectPageDynamicHeaderTitle primaryArea="Begin" areaShrinkRatio="1:0:1.6">
|
|
81
227
|
<core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.Heading" type="XML" />
|
|
82
228
|
<uxap:expandedContent>
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
text="{=
|
|
229
|
+
<FlexBox>
|
|
230
|
+
<template:if test="{entityType>@com.sap.vocabularies.UI.v1.HeaderInfo/Description}">
|
|
231
|
+
<Label
|
|
232
|
+
text="{= OP.getExpressionForDescription(${headerInfo>@@UI.getConverterContext}, ${fullContextPath>@@UI.getDataModelObjectPath})}"
|
|
87
233
|
wrapping="true"
|
|
88
234
|
/>
|
|
89
|
-
|
|
90
|
-
|
|
235
|
+
</template:if>
|
|
236
|
+
</FlexBox>
|
|
91
237
|
</uxap:expandedContent>
|
|
92
238
|
<uxap:snappedContent>
|
|
93
239
|
<FlexBox>
|
|
94
240
|
<template:if test="{entityType>@com.sap.vocabularies.UI.v1.HeaderInfo/Description}">
|
|
95
241
|
<Label
|
|
96
|
-
text="{=
|
|
242
|
+
text="{= OP.getExpressionForDescription(${headerInfo>@@UI.getConverterContext}, ${fullContextPath>@@UI.getDataModelObjectPath})}"
|
|
97
243
|
wrapping="true"
|
|
98
244
|
/>
|
|
99
245
|
</template:if>
|
|
@@ -101,11 +247,13 @@
|
|
|
101
247
|
</uxap:snappedContent>
|
|
102
248
|
<uxap:content>
|
|
103
249
|
<template:if test="{entitySet>@com.sap.vocabularies.Common.v1.DraftRoot}">
|
|
104
|
-
<macro:DraftIndicator
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
250
|
+
<macro:DraftIndicator
|
|
251
|
+
DraftIndicatorType="IconOnly"
|
|
252
|
+
class="sapUiTinyMarginBegin sapMTB sapMTBNewFlex"
|
|
253
|
+
entitySet="{entitySet>}"
|
|
254
|
+
/>
|
|
108
255
|
</template:if>
|
|
256
|
+
<SituationsIndicator xmlns="sap.fe.macros.internal.situations" entitySet="{entitySet>}" />
|
|
109
257
|
</uxap:content>
|
|
110
258
|
<uxap:navigationActions>
|
|
111
259
|
<template:if test="{= ${viewData>/viewLevel} > 1}">
|
|
@@ -125,8 +273,7 @@
|
|
|
125
273
|
visible="{= OP.getVisibleExpressionForBreadcrumbs(${viewData>/}) }"
|
|
126
274
|
modelContextChange="._setBreadcrumbLinks(${$source>/})"
|
|
127
275
|
id="fe::Breadcrumbs"
|
|
128
|
-
|
|
129
|
-
</Breadcrumbs>
|
|
276
|
+
/>
|
|
130
277
|
</uxap:breadcrumbs>
|
|
131
278
|
</uxap:ObjectPageDynamicHeaderTitle>
|
|
132
279
|
</uxap:headerTitle>
|