@sapui5/sap.fe.templates 1.100.0 → 1.102.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 (150) hide show
  1. package/package.json +4 -5
  2. package/src/sap/fe/templates/.library +1 -2
  3. package/src/sap/fe/templates/AnalyticalListPage/Component.js +24 -12
  4. package/src/sap/fe/templates/AnalyticalListPage/Component.ts +6 -0
  5. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +30 -32
  6. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.ts +25 -0
  7. package/src/sap/fe/templates/Feedback.js +80 -0
  8. package/src/sap/fe/templates/Feedback.ts +67 -0
  9. package/src/sap/fe/templates/ListComponent.js +156 -118
  10. package/src/sap/fe/templates/ListComponent.ts +105 -0
  11. package/src/sap/fe/templates/ListReport/Component.js +82 -53
  12. package/src/sap/fe/templates/ListReport/Component.ts +39 -0
  13. package/src/sap/fe/templates/ListReport/ExtensionAPI.js +126 -112
  14. package/src/sap/fe/templates/ListReport/ExtensionAPI.ts +106 -0
  15. package/src/sap/fe/templates/ListReport/ListReport.view.xml +106 -58
  16. package/src/sap/fe/templates/ListReport/ListReportController.controller.js +1196 -1081
  17. package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +1088 -0
  18. package/src/sap/fe/templates/ListReport/ListReportTemplating.js +45 -0
  19. package/src/sap/fe/templates/ListReport/ListReportTemplating.ts +30 -0
  20. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +54 -53
  21. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.ts +55 -0
  22. package/src/sap/fe/templates/ListReport/overrides/Share.js +137 -137
  23. package/src/sap/fe/templates/ListReport/overrides/Share.ts +135 -0
  24. package/src/sap/fe/templates/ListReport/overrides/ViewState.js +451 -428
  25. package/src/sap/fe/templates/ListReport/overrides/ViewState.ts +419 -0
  26. package/src/sap/fe/templates/ListReport/view/fragments/CollectionVisualization.fragment.xml +25 -25
  27. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.js +72 -0
  28. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.ts +62 -0
  29. package/src/sap/fe/templates/ListReport/view/fragments/{MultipleMode.fragment.xml → MultipleModeOld.fragment.xml} +24 -23
  30. package/src/sap/fe/templates/ObjectPage/Component.js +169 -138
  31. package/src/sap/fe/templates/ObjectPage/Component.ts +131 -0
  32. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +140 -142
  33. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.ts +116 -0
  34. package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +162 -22
  35. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +1534 -1447
  36. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +1454 -0
  37. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js +872 -0
  38. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.ts +837 -0
  39. package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +136 -101
  40. package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.ts +84 -0
  41. package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.js +24 -21
  42. package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.ts +10 -0
  43. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +98 -53
  44. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.ts +50 -0
  45. package/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js +20 -19
  46. package/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.ts +15 -0
  47. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +50 -47
  48. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.ts +47 -0
  49. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +34 -34
  50. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.ts +34 -0
  51. package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.js +15 -15
  52. package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.ts +13 -0
  53. package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.js +11 -11
  54. package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.ts +7 -0
  55. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +55 -52
  56. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.ts +57 -0
  57. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +15 -17
  58. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.ts +13 -0
  59. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +13 -17
  60. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.ts +14 -0
  61. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +23 -21
  62. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.ts +21 -0
  63. package/src/sap/fe/templates/ObjectPage/overrides/Share.js +310 -317
  64. package/src/sap/fe/templates/ObjectPage/overrides/Share.ts +316 -0
  65. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +66 -57
  66. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.ts +65 -0
  67. package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +26 -33
  68. package/src/sap/fe/templates/ObjectPage/view/fragments/CollaborationDraft.fragment.xml +11 -10
  69. package/src/sap/fe/templates/ObjectPage/view/fragments/EditableHeaderFacet.fragment.xml +15 -15
  70. package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +31 -27
  71. package/src/sap/fe/templates/ObjectPage/view/fragments/FormActionButtons.fragment.xml +15 -16
  72. package/src/sap/fe/templates/ObjectPage/view/fragments/FormActions.fragment.xml +1 -5
  73. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPoint.fragment.xml +1 -2
  74. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPointTitle.fragment.xml +1 -3
  75. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacet.fragment.xml +3 -4
  76. package/src/sap/fe/templates/ObjectPage/view/fragments/Heading.fragment.xml +16 -17
  77. package/src/sap/fe/templates/ObjectPage/view/fragments/HeadingTitle.fragment.xml +3 -3
  78. package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +3 -3
  79. package/src/sap/fe/templates/ObjectPage/view/fragments/RelatedApps.fragment.xml +7 -4
  80. package/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +71 -6
  81. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +114 -94
  82. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContentLazyLoader.fragment.xml +127 -107
  83. package/src/sap/fe/templates/ObjectPage/view/fragments/SwitchDraftAndActiveObjectPopOver.fragment.xml +27 -0
  84. package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +899 -817
  85. package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.ts +833 -0
  86. package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +205 -189
  87. package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.ts +178 -0
  88. package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +484 -459
  89. package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.ts +438 -0
  90. package/src/sap/fe/templates/RootContainer/overrides/EditFlow.js +16 -14
  91. package/src/sap/fe/templates/RootContainer/overrides/EditFlow.ts +20 -0
  92. package/src/sap/fe/templates/TableScroller.js +45 -53
  93. package/src/sap/fe/templates/TableScroller.ts +48 -0
  94. package/src/sap/fe/templates/controls/Chart.fragment.xml +18 -17
  95. package/src/sap/fe/templates/controls/MacroChart.fragment.xml +23 -0
  96. package/src/sap/fe/templates/controls/Table.fragment.xml +3 -4
  97. package/src/sap/fe/templates/library.js +49 -63
  98. package/src/sap/fe/templates/library.ts +57 -0
  99. package/src/sap/fe/templates/messagebundle.properties +19 -7
  100. package/src/sap/fe/templates/messagebundle_ar.properties +12 -4
  101. package/src/sap/fe/templates/messagebundle_bg.properties +12 -4
  102. package/src/sap/fe/templates/messagebundle_ca.properties +12 -4
  103. package/src/sap/fe/templates/messagebundle_cs.properties +12 -4
  104. package/src/sap/fe/templates/messagebundle_cy.properties +12 -4
  105. package/src/sap/fe/templates/messagebundle_da.properties +12 -4
  106. package/src/sap/fe/templates/messagebundle_de.properties +12 -4
  107. package/src/sap/fe/templates/messagebundle_el.properties +12 -4
  108. package/src/sap/fe/templates/messagebundle_en.properties +12 -4
  109. package/src/sap/fe/templates/messagebundle_en_GB.properties +12 -4
  110. package/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +13 -5
  111. package/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +13 -5
  112. package/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +13 -5
  113. package/src/sap/fe/templates/messagebundle_es.properties +12 -4
  114. package/src/sap/fe/templates/messagebundle_es_MX.properties +12 -4
  115. package/src/sap/fe/templates/messagebundle_et.properties +12 -4
  116. package/src/sap/fe/templates/messagebundle_fi.properties +12 -4
  117. package/src/sap/fe/templates/messagebundle_fr.properties +12 -4
  118. package/src/sap/fe/templates/messagebundle_fr_CA.properties +12 -4
  119. package/src/sap/fe/templates/messagebundle_hi.properties +12 -4
  120. package/src/sap/fe/templates/messagebundle_hr.properties +12 -4
  121. package/src/sap/fe/templates/messagebundle_hu.properties +12 -4
  122. package/src/sap/fe/templates/messagebundle_id.properties +12 -4
  123. package/src/sap/fe/templates/messagebundle_it.properties +12 -4
  124. package/src/sap/fe/templates/messagebundle_iw.properties +12 -4
  125. package/src/sap/fe/templates/messagebundle_ja.properties +12 -4
  126. package/src/sap/fe/templates/messagebundle_kk.properties +12 -4
  127. package/src/sap/fe/templates/messagebundle_ko.properties +12 -4
  128. package/src/sap/fe/templates/messagebundle_lt.properties +12 -4
  129. package/src/sap/fe/templates/messagebundle_lv.properties +12 -4
  130. package/src/sap/fe/templates/messagebundle_ms.properties +12 -4
  131. package/src/sap/fe/templates/messagebundle_nl.properties +12 -4
  132. package/src/sap/fe/templates/messagebundle_no.properties +12 -4
  133. package/src/sap/fe/templates/messagebundle_pl.properties +12 -4
  134. package/src/sap/fe/templates/messagebundle_pt.properties +13 -5
  135. package/src/sap/fe/templates/messagebundle_pt_PT.properties +12 -4
  136. package/src/sap/fe/templates/messagebundle_ro.properties +12 -4
  137. package/src/sap/fe/templates/messagebundle_ru.properties +12 -4
  138. package/src/sap/fe/templates/messagebundle_sh.properties +12 -4
  139. package/src/sap/fe/templates/messagebundle_sk.properties +12 -4
  140. package/src/sap/fe/templates/messagebundle_sl.properties +12 -4
  141. package/src/sap/fe/templates/messagebundle_sv.properties +12 -4
  142. package/src/sap/fe/templates/messagebundle_th.properties +12 -4
  143. package/src/sap/fe/templates/messagebundle_tr.properties +12 -4
  144. package/src/sap/fe/templates/messagebundle_uk.properties +12 -4
  145. package/src/sap/fe/templates/messagebundle_vi.properties +12 -4
  146. package/src/sap/fe/templates/messagebundle_zh_CN.properties +12 -4
  147. package/src/sap/fe/templates/messagebundle_zh_TW.properties +12 -4
  148. package/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +0 -518
  149. package/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.js +0 -120
  150. package/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.ts +0 -138
@@ -0,0 +1,135 @@
1
+ import Log from "sap/base/Log";
2
+ import BaseController from "sap/fe/core/BaseController";
3
+ import CommonUtils from "sap/fe/core/CommonUtils";
4
+ import Share from "sap/fe/core/controllerextensions/Share";
5
+ import SemanticDateOperators from "sap/fe/core/helpers/SemanticDateOperators";
6
+ import IconTabBar from "sap/m/IconTabBar";
7
+ import HashChanger from "sap/ui/core/routing/HashChanger";
8
+ import Table from "sap/ui/mdc/Table";
9
+ function getCountUrl(oController: BaseController) {
10
+ // get selected table ID from multiple tabs
11
+ let sTableId = (oController.getView().byId("fe::TabMultipleMode") as IconTabBar)?.getSelectedKey();
12
+ if (!sTableId) {
13
+ // if not multiple tabs, get single table ID
14
+ sTableId = oController.getView().getContent()[0].data().singleTableId;
15
+ }
16
+ const oTable = oController.getView().byId(sTableId) as Table;
17
+ if (!oTable) {
18
+ return "";
19
+ }
20
+ const oBinding = oTable.getRowBinding() || oTable.getBinding("items");
21
+ const sDownloadUrl = (oBinding && (oBinding as any).getDownloadUrl()) || "";
22
+ const aSplitUrl = sDownloadUrl.split("?");
23
+ const baseUrl = aSplitUrl[0] + "/$count?";
24
+ // getDownloadUrl() returns url with $select, $expand which is not supported when /$count is used to get the record count. only $apply, $search, $filter is supported
25
+ // ?$count=true returns count in a format which is not supported by FLP yet.
26
+ // currently supported format for v4 is ../count.. only (where tile preview will still not work)
27
+ const aSupportedParams: any[] = [];
28
+ if (aSplitUrl.length > 1) {
29
+ const urlParams = aSplitUrl[1];
30
+ urlParams.split("&").forEach(function (urlParam: any) {
31
+ const aUrlParamParts = urlParam.split("=");
32
+ switch (aUrlParamParts[0]) {
33
+ case "$apply":
34
+ case "$search":
35
+ case "$filter":
36
+ aSupportedParams.push(urlParam);
37
+ }
38
+ });
39
+ }
40
+ return baseUrl + aSupportedParams.join("&");
41
+ }
42
+ function getShareUrl() {
43
+ const sHash = HashChanger.getInstance().getHash();
44
+ const sBasePath = (HashChanger.getInstance() as any).hrefForAppSpecificHash
45
+ ? (HashChanger.getInstance() as any).hrefForAppSpecificHash("")
46
+ : "";
47
+ const sShareUrl = sHash ? sBasePath + sHash : window.location.hash;
48
+ return sShareUrl;
49
+ }
50
+ function getShareEmailUrl() {
51
+ const oUShellContainer = sap.ushell && sap.ushell.Container;
52
+ if (oUShellContainer) {
53
+ return oUShellContainer
54
+ .getFLPUrlAsync(true)
55
+ .then(function (sFLPUrl: any) {
56
+ return sFLPUrl;
57
+ })
58
+ .catch(function (sError: any) {
59
+ Log.error("Could not retrieve cFLP URL for the sharing dialog (dialog will not be opened)", sError);
60
+ });
61
+ } else {
62
+ return Promise.resolve(document.URL);
63
+ }
64
+ }
65
+ function getSaveAsTileServiceUrl(oController: any) {
66
+ const oFilterBar = oController.getView().byId(oController.getView().getContent()[0].data("filterBarId"));
67
+ if (oFilterBar) {
68
+ const oConditions = oFilterBar.getFilterConditions();
69
+ const bSaveAsTileServiceUrlAllowed = SemanticDateOperators.hasSemanticDateOperations(oConditions);
70
+ if (bSaveAsTileServiceUrlAllowed) {
71
+ return getCountUrl(oController);
72
+ }
73
+ }
74
+ return "";
75
+ }
76
+ function getJamUrl() {
77
+ const sHash = HashChanger.getInstance().getHash();
78
+ const sBasePath = (HashChanger.getInstance() as any).hrefForAppSpecificHash
79
+ ? (HashChanger.getInstance() as any).hrefForAppSpecificHash("")
80
+ : "";
81
+ const sJamUrl = sHash ? sBasePath + sHash : window.location.hash;
82
+ // in case we are in cFLP scenario, the application is running
83
+ // inside an iframe, and there for we need to get the cFLP URL
84
+ // and not 'document.URL' that represents the iframe URL
85
+ if (sap.ushell && sap.ushell.Container && sap.ushell.Container.runningInIframe && sap.ushell.Container.runningInIframe()) {
86
+ sap.ushell.Container.getFLPUrl(true)
87
+ .then(function (sUrl: any) {
88
+ return sUrl.substr(0, sUrl.indexOf("#")) + sJamUrl;
89
+ })
90
+ .catch(function (sError: any) {
91
+ Log.error("Could not retrieve cFLP URL for the sharing dialog (dialog will not be opened)", sError);
92
+ });
93
+ } else {
94
+ return window.location.origin + window.location.pathname + sJamUrl;
95
+ }
96
+ }
97
+
98
+ const ShareOverride = {
99
+ adaptShareMetadata: function (this: Share, oShareMetadata: any) {
100
+ Promise.resolve(getJamUrl())
101
+ .then((sJamUrl: string | undefined) => {
102
+ const oAppComponent = CommonUtils.getAppComponent(this.base.getView());
103
+ const oMetadata = oAppComponent.getMetadata();
104
+ const oUIManifest = oMetadata.getManifestEntry("sap.ui");
105
+ const sIcon = (oUIManifest && oUIManifest.icons && oUIManifest.icons.icon) || "";
106
+ const oAppManifest = oMetadata.getManifestEntry("sap.app");
107
+ const sTitle = (oAppManifest && oAppManifest.title) || "";
108
+ // TODO: check if there is any semantic date used before adding serviceURL as BLI:FIORITECHP1-18023
109
+ oShareMetadata.tile = {
110
+ icon: sIcon,
111
+ title: sTitle,
112
+ queryUrl: getSaveAsTileServiceUrl(this.base)
113
+ };
114
+ oShareMetadata.title = document.title;
115
+ oShareMetadata.jam.url = sJamUrl;
116
+ })
117
+ .catch(function (error: any) {
118
+ Log.error(error);
119
+ });
120
+
121
+ Promise.resolve(getShareUrl())
122
+ .then(function (sUrl: any) {
123
+ oShareMetadata.url = sUrl;
124
+ })
125
+ .catch(function (error: any) {
126
+ Log.error(error);
127
+ });
128
+ return Promise.resolve(getShareEmailUrl()).then(function (sFLPUrl: any) {
129
+ oShareMetadata.email.url = sFLPUrl;
130
+ return oShareMetadata;
131
+ });
132
+ }
133
+ };
134
+
135
+ export default ShareOverride;