@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.
Files changed (136) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/templates/.library +1 -1
  3. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +2 -2
  4. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.ts +1 -1
  5. package/src/sap/fe/templates/Feedback.js +18 -18
  6. package/src/sap/fe/templates/Feedback.ts +12 -12
  7. package/src/sap/fe/templates/ListReport/ExtensionAPI.js +15 -15
  8. package/src/sap/fe/templates/ListReport/ExtensionAPI.ts +19 -16
  9. package/src/sap/fe/templates/ListReport/ListReport.view.xml +107 -58
  10. package/src/sap/fe/templates/ListReport/ListReportController.controller.js +180 -70
  11. package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +191 -88
  12. package/src/sap/fe/templates/ListReport/ListReportTemplating.js +45 -0
  13. package/src/sap/fe/templates/ListReport/ListReportTemplating.ts +30 -0
  14. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +1 -1
  15. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.ts +2 -2
  16. package/src/sap/fe/templates/ListReport/overrides/Share.js +9 -7
  17. package/src/sap/fe/templates/ListReport/overrides/Share.ts +10 -10
  18. package/src/sap/fe/templates/ListReport/overrides/ViewState.js +13 -6
  19. package/src/sap/fe/templates/ListReport/overrides/ViewState.ts +17 -11
  20. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.js +1 -1
  21. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.ts +1 -1
  22. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +12 -16
  23. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.ts +17 -20
  24. package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +167 -20
  25. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +195 -206
  26. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +187 -229
  27. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js +861 -0
  28. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.ts +822 -0
  29. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +2 -3
  30. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.ts +4 -4
  31. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +1 -1
  32. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.ts +1 -1
  33. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +1 -1
  34. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.ts +1 -1
  35. package/src/sap/fe/templates/ObjectPage/handler/DraftHandler.js +103 -0
  36. package/src/sap/fe/templates/ObjectPage/handler/DraftHandler.ts +97 -0
  37. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +1 -1
  38. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.ts +5 -5
  39. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +1 -1
  40. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.ts +2 -2
  41. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +1 -1
  42. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.ts +2 -2
  43. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +1 -1
  44. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.ts +1 -1
  45. package/src/sap/fe/templates/ObjectPage/overrides/Share.js +17 -17
  46. package/src/sap/fe/templates/ObjectPage/overrides/Share.ts +19 -30
  47. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +2 -2
  48. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.ts +4 -4
  49. package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +15 -11
  50. package/src/sap/fe/templates/ObjectPage/view/fragments/CollaborationDraft.fragment.xml +1 -2
  51. package/src/sap/fe/templates/ObjectPage/view/fragments/EditableHeaderFacet.fragment.xml +25 -17
  52. package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +28 -24
  53. package/src/sap/fe/templates/ObjectPage/view/fragments/FormActionButtons.fragment.xml +15 -16
  54. package/src/sap/fe/templates/ObjectPage/view/fragments/FormActions.fragment.xml +1 -5
  55. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPoint.fragment.xml +1 -2
  56. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPointTitle.fragment.xml +1 -3
  57. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacet.fragment.xml +3 -17
  58. package/src/sap/fe/templates/ObjectPage/view/fragments/Heading.fragment.xml +16 -17
  59. package/src/sap/fe/templates/ObjectPage/view/fragments/HeadingTitle.fragment.xml +4 -3
  60. package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderAddress.fragment.xml +7 -2
  61. package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderContact.fragment.xml +26 -0
  62. package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +4 -4
  63. package/src/sap/fe/templates/ObjectPage/view/fragments/RelatedApps.fragment.xml +7 -4
  64. package/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +74 -6
  65. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +118 -94
  66. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContentLazyLoader.fragment.xml +127 -107
  67. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +1 -0
  68. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +1 -0
  69. package/src/sap/fe/templates/ObjectPage/view/fragments/SwitchDraftAndActiveObjectPopOver.fragment.xml +2 -2
  70. package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +102 -57
  71. package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.ts +96 -61
  72. package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +3 -4
  73. package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.ts +4 -5
  74. package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +140 -52
  75. package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.ts +108 -54
  76. package/src/sap/fe/templates/RootContainer/overrides/EditFlow.js +1 -1
  77. package/src/sap/fe/templates/RootContainer/overrides/EditFlow.ts +3 -3
  78. package/src/sap/fe/templates/TableScroller.js +3 -3
  79. package/src/sap/fe/templates/TableScroller.ts +2 -2
  80. package/src/sap/fe/templates/controls/MacroChart.fragment.xml +1 -0
  81. package/src/sap/fe/templates/controls/Table.fragment.xml +4 -4
  82. package/src/sap/fe/templates/library.js +5 -2
  83. package/src/sap/fe/templates/library.ts +3 -0
  84. package/src/sap/fe/templates/messagebundle.properties +6 -18
  85. package/src/sap/fe/templates/messagebundle_ar.properties +10 -6
  86. package/src/sap/fe/templates/messagebundle_bg.properties +6 -2
  87. package/src/sap/fe/templates/messagebundle_ca.properties +10 -6
  88. package/src/sap/fe/templates/messagebundle_cs.properties +6 -2
  89. package/src/sap/fe/templates/messagebundle_cy.properties +10 -6
  90. package/src/sap/fe/templates/messagebundle_da.properties +10 -6
  91. package/src/sap/fe/templates/messagebundle_de.properties +10 -6
  92. package/src/sap/fe/templates/messagebundle_el.properties +10 -6
  93. package/src/sap/fe/templates/messagebundle_en.properties +6 -2
  94. package/src/sap/fe/templates/messagebundle_en_GB.properties +8 -4
  95. package/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +13 -5
  96. package/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +7 -3
  97. package/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +7 -3
  98. package/src/sap/fe/templates/messagebundle_es.properties +6 -2
  99. package/src/sap/fe/templates/messagebundle_es_MX.properties +10 -6
  100. package/src/sap/fe/templates/messagebundle_et.properties +6 -2
  101. package/src/sap/fe/templates/messagebundle_fi.properties +10 -6
  102. package/src/sap/fe/templates/messagebundle_fr.properties +6 -2
  103. package/src/sap/fe/templates/messagebundle_fr_CA.properties +10 -6
  104. package/src/sap/fe/templates/messagebundle_hi.properties +10 -6
  105. package/src/sap/fe/templates/messagebundle_hr.properties +10 -6
  106. package/src/sap/fe/templates/messagebundle_hu.properties +6 -2
  107. package/src/sap/fe/templates/messagebundle_id.properties +6 -2
  108. package/src/sap/fe/templates/messagebundle_it.properties +10 -6
  109. package/src/sap/fe/templates/messagebundle_iw.properties +10 -6
  110. package/src/sap/fe/templates/messagebundle_ja.properties +6 -2
  111. package/src/sap/fe/templates/messagebundle_kk.properties +10 -6
  112. package/src/sap/fe/templates/messagebundle_ko.properties +6 -2
  113. package/src/sap/fe/templates/messagebundle_lt.properties +6 -2
  114. package/src/sap/fe/templates/messagebundle_lv.properties +6 -2
  115. package/src/sap/fe/templates/messagebundle_ms.properties +10 -6
  116. package/src/sap/fe/templates/messagebundle_nl.properties +6 -2
  117. package/src/sap/fe/templates/messagebundle_no.properties +10 -6
  118. package/src/sap/fe/templates/messagebundle_pl.properties +10 -6
  119. package/src/sap/fe/templates/messagebundle_pt.properties +6 -2
  120. package/src/sap/fe/templates/messagebundle_pt_PT.properties +6 -2
  121. package/src/sap/fe/templates/messagebundle_ro.properties +10 -6
  122. package/src/sap/fe/templates/messagebundle_ru.properties +10 -6
  123. package/src/sap/fe/templates/messagebundle_sh.properties +6 -2
  124. package/src/sap/fe/templates/messagebundle_sk.properties +6 -2
  125. package/src/sap/fe/templates/messagebundle_sl.properties +10 -6
  126. package/src/sap/fe/templates/messagebundle_sv.properties +6 -2
  127. package/src/sap/fe/templates/messagebundle_th.properties +10 -6
  128. package/src/sap/fe/templates/messagebundle_tr.properties +6 -2
  129. package/src/sap/fe/templates/messagebundle_uk.properties +6 -2
  130. package/src/sap/fe/templates/messagebundle_vi.properties +10 -6
  131. package/src/sap/fe/templates/messagebundle_zh_CN.properties +10 -6
  132. package/src/sap/fe/templates/messagebundle_zh_TW.properties +10 -6
  133. package/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +0 -482
  134. package/src/sap/fe/templates/ObjectPage/AnnotationHelper.ts +0 -511
  135. package/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.js +0 -120
  136. 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 SideContentLayoutID = ID.SideContentLayoutID;
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 {string | string[]} [vPath] Path or array of paths referring to entities or properties to be refreshed.
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 {Promise} Resolved once the data is refreshed or rejected if the request failed
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("/" + sBaseEntitySet + "/" + sPath + "/$kind");
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 + " is not a valid path to be refreshed");
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 {string} sTableId The ID identifying the table the selected context is requested for
91
- * @returns {sap.ui.model.odata.v4.Context[]} Array containing the selected contexts
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 {string} sSubSectionKey Key of the side content fragment as defined in the manifest.json
111
- * @param {boolean} [bShow] Optional Boolean flag to show or hide the side content
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 = SideContentLayoutID(sSubSectionKey),
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 {sap.ui.model.odata.v4.Context} Context bound to the object page
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 { SideContentLayoutID } from "sap/fe/core/converters/helpers/ID";
2
+ import { getSideContentLayoutID } from "sap/fe/core/converters/helpers/ID";
3
3
  import ExtensionAPI from "sap/fe/core/ExtensionAPI";
4
- import { defineUI5Class, EnhanceWithUI5 } from "sap/fe/core/helpers/ClassSupport";
5
- import TableAPI from "sap/fe/macros/TableAPI";
6
- import DynamicSideContent from "sap/ui/layout/DynamicSideContent";
7
- import Context from "sap/ui/model/odata/v4/Context";
8
- import ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
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 {string | string[]} [vPath] Path or array of paths referring to entities or properties to be refreshed.
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 {Promise} Resolved once the data is refreshed or rejected if the request failed
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("/" + sBaseEntitySet + "/" + sPath + "/$kind");
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 + " is not a valid path to be refreshed");
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 {string} sTableId The ID identifying the table the selected context is requested for
75
- * @returns {sap.ui.model.odata.v4.Context[]} Array containing the selected contexts
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 {string} sSubSectionKey Key of the side content fragment as defined in the manifest.json
92
- * @param {boolean} [bShow] Optional Boolean flag to show or hide the side content
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 = SideContentLayoutID(sSubSectionKey),
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 {sap.ui.model.odata.v4.Context} Context bound to the object page
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/AnnotationHelper',
16
+ OP: 'sap/fe/templates/ObjectPage/ObjectPageTemplating',
17
17
  CONTACT: 'sap/fe/macros/ContactHelper',
18
- OPTemplating: 'sap/fe/templates/ObjectPage/templating/ObjectPageTemplating',
19
- UI: 'sap/fe/core/templating/UIFormatters'
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
- <!-- OPLayout binding contains explicit $select for SAP__Messages or the path from @Common.Messages until model provides an alternative.
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@@MODEL.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 execute="._saveDocument(${$view>/getBindingContext})" visible="{ui>/isEditable}" command="Save" />
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' &amp;&amp; ${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) &amp;&amp; (${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' &amp;&amp; ${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="0:0:1">
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
- <FlexBox>
84
- <template:if test="{entityType>@com.sap.vocabularies.UI.v1.HeaderInfo/Description}">
85
- <Label
86
- text="{= OPTemplating.getExpressionForDescription(${headerInfo>@@UI.getConverterContext}, ${fullContextPath>@@UI.getDataModelObjectPath})}"
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
- </template:if>
90
- </FlexBox>
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="{= OPTemplating.getExpressionForDescription(${headerInfo>@@UI.getConverterContext}, ${fullContextPath>@@UI.getDataModelObjectPath})}"
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 DraftIndicatorType="IconOnly" class="sapUiTinyMarginBegin sapMTB sapMTBNewFlex" entitySet="{entitySet>}" />
105
- </template:if>
106
- <template:if test="{header>situations}">
107
- <internal:SituationsIndicator xmlns:internal="sap.fe.macros.internal" entitySet="{entitySet>}" />
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>