@sapui5/sap.ushell_abap 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 (24) hide show
  1. package/package.json +1 -1
  2. package/src/main/js/sap/ushell_abap/.library +5 -1
  3. package/src/main/js/sap/ushell_abap/adapters/abap/AppStateAdapter.js +1 -1
  4. package/src/main/js/sap/ushell_abap/adapters/abap/ClientSideTargetResolutionAdapter.js +1 -1
  5. package/src/main/js/sap/ushell_abap/adapters/abap/ConfigurationDefaultsAdapter.js +1 -1
  6. package/src/main/js/sap/ushell_abap/adapters/abap/ContainerAdapter.js +1 -1
  7. package/src/main/js/sap/ushell_abap/adapters/abap/LaunchPageAdapter.js +10 -17
  8. package/src/main/js/sap/ushell_abap/adapters/abap/NavTargetResolutionAdapter.js +1 -1
  9. package/src/main/js/sap/ushell_abap/adapters/abap/PageBuildingAdapter.js +6 -2
  10. package/src/main/js/sap/ushell_abap/adapters/abap/PagePersistenceAdapter.js +6 -3
  11. package/src/main/js/sap/ushell_abap/adapters/abap/PersonalizationAdapter.js +1 -1
  12. package/src/main/js/sap/ushell_abap/adapters/abap/SearchAdapter.js +1 -1
  13. package/src/main/js/sap/ushell_abap/adapters/abap/SupportTicketAdapter.js +9 -6
  14. package/src/main/js/sap/ushell_abap/adapters/abap/Ui5ComponentLoaderAdapter.js +1 -1
  15. package/src/main/js/sap/ushell_abap/adapters/hana/ContainerAdapter.js +1 -1
  16. package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.configure.ushell.js +1 -1
  17. package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.constants.js +1 -1
  18. package/src/main/js/sap/ushell_abap/bootstrap/evo/boottask.js +13 -3
  19. package/src/main/js/sap/ushell_abap/integration/fileshares/NavTargetResolutionFileShareSupport.js +69 -0
  20. package/src/main/js/sap/ushell_abap/library.js +10 -7
  21. package/src/main/js/sap/ushell_abap/pbServices/ui2/Factory.js +4 -2
  22. package/src/main/js/sap/ushell_abap/pbServices/ui2/PageBuildingService.js +13 -6
  23. package/src/main/js/sap/ushell_abap/pbServices/ui2/Utils.js +3 -1
  24. package/ui5.yaml +35 -27
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.ushell_abap",
3
- "version": "1.100.0",
3
+ "version": "1.102.0",
4
4
  "description": "SAPUI5 Library sap.ushell_abap",
5
5
  "homepage": "https://sap.github.io/ui5-tooling/pages/SAPUI5/",
6
6
  "keywords": [
@@ -2,7 +2,7 @@
2
2
  <library xmlns="http://www.sap.com/sap.ui.library.xsd">
3
3
  <name>sap.ushell_abap</name>
4
4
  <vendor>SAP SE</vendor>
5
- <version>1.100.0</version>
5
+ <version>1.102.0</version>
6
6
  <copyright>Copyright (c) 2009-2022 SAP SE, All Rights Reserved</copyright>
7
7
  <documentation>SAP library: sap.ushell_abap</documentation>
8
8
 
@@ -24,6 +24,10 @@
24
24
  <libraryName>sap.ui.fl</libraryName>
25
25
  <lazy>true</lazy>
26
26
  </dependency>
27
+ <dependency>
28
+ <libraryName>sap.f</libraryName>
29
+ <lazy>true</lazy>
30
+ </dependency>
27
31
  </dependencies>
28
32
 
29
33
  <appData>
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The Unified Shell's AppStateAdapter for the ABAP platform.
5
- * @version 1.100.0
5
+ * @version 1.102.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/util/ObjectPath",
@@ -9,7 +9,7 @@
9
9
  * <li>provide the resolveHashFragmentFallback function, a fallback method called by ClientSideTargetResolution service.</li>
10
10
  * </ul>
11
11
  *
12
- * @version 1.100.0
12
+ * @version 1.102.0
13
13
  */
14
14
  sap.ui.define([
15
15
  "sap/ui/thirdparty/jquery",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The ConfigurationDefaults adapter for the ABAP platform.
5
- * @version 1.100.0
5
+ * @version 1.102.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ushell_abap/bootstrap/evo/abap.constants",
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * @fileOverview The Unified Shell's container adapter for the ABAP platform.
4
4
  *
5
- * @version 1.100.0
5
+ * @version 1.102.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ui/thirdparty/jquery",
@@ -2,7 +2,9 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The Unified Shell's page building adapter for the ABAP platform.
5
- * @version 1.100.0
5
+ *
6
+ * @deprecated since 1.100
7
+ * @version 1.102.0
6
8
  */
7
9
  sap.ui.define([
8
10
  "sap/ui/thirdparty/URI",
@@ -76,6 +78,7 @@ sap.ui.define([
76
78
  * @constructor
77
79
  * @see sap.ushell.services.LaunchPage
78
80
  * @since 1.11.0
81
+ * @deprecated since 1.100
79
82
  * @private
80
83
  */
81
84
  var LaunchPageAdapter = function (oUnused, sParameter, oAdapterConfiguration) {
@@ -88,7 +91,6 @@ sap.ui.define([
88
91
  oTargetMappingSupport = new Utils.Map(),
89
92
 
90
93
  oAdapterConfig = (oAdapterConfiguration && oAdapterConfiguration.config) || {},
91
- oTargetMappingServiceConfig = oAdapterConfig.services && oAdapterConfig.services.targetMappings,
92
94
  oLaunchPageServiceConfig = oAdapterConfig.services && oAdapterConfig.services.launchPage,
93
95
  mEarlyTileVisibilities = {},
94
96
  that = this;
@@ -96,16 +98,6 @@ sap.ui.define([
96
98
  this._oCurrentPageSet = null;
97
99
  this._bPageSetFullyLoaded = false;
98
100
 
99
- if (!oTargetMappingServiceConfig) {
100
- throw new Error("Configuration for target mappings service not passed");
101
- }
102
- if (!oTargetMappingServiceConfig.baseUrl) {
103
- throw new Error("baseUrl was not passed in Configuration for target mappings service");
104
- }
105
- if (!oTargetMappingServiceConfig.relativeUrl) {
106
- throw new Error("relativeUrl was not passed in Configuration for target mappings service");
107
- }
108
-
109
101
  if (sap.ui2.srvc.contracts.preview.setEnvironmentType) {
110
102
  sap.ui2.srvc.contracts.preview.setEnvironmentType("runtime");
111
103
  }
@@ -2419,17 +2411,18 @@ sap.ui.define([
2419
2411
  this._startLoading = function (oDeferred, bRefreshRequired) {
2420
2412
  var oPromise;
2421
2413
 
2422
- if (oTargetMappingServiceConfig && oTargetMappingServiceConfig.cacheId) {
2423
- // add cache buster token for the allCatalogs request.
2424
- // Reuse TargetMappings token as it is also invalidated in case the user's catalogs changed
2414
+ if (oLaunchPageServiceConfig && oLaunchPageServiceConfig.cacheId) {
2415
+ // add cache buster token for the allCatalogs request
2416
+ // use the same token as for the classic homepage (for service /UI2/PAGE_BUILDER_PERS),
2417
+ // this is invalidated for all kind of changes of a catalog (title, tiles, target mappings)
2425
2418
  oPromise = sap.ushell.Container.getServiceAsync("PageBuilding")
2426
2419
  .then(function (PageBuildingService) {
2427
2420
  var oCacheTokens = PageBuildingService.getFactory().getPageBuildingService().readAllCatalogs.cacheBusterTokens;
2428
2421
 
2429
- oCacheTokens.put(sDEFAULT_PAGE_ID, oTargetMappingServiceConfig.cacheId);
2422
+ oCacheTokens.put(sDEFAULT_PAGE_ID, oLaunchPageServiceConfig.cacheId);
2430
2423
 
2431
2424
  if (Config.last("/core/spaces/enabled")) {
2432
- oCacheTokens.put(PAGE_ID_WITHOUT_TM, oTargetMappingServiceConfig.cacheId);
2425
+ oCacheTokens.put(PAGE_ID_WITHOUT_TM, oLaunchPageServiceConfig.cacheId);
2433
2426
  }
2434
2427
  })
2435
2428
  .catch(oDeferred.reject);
@@ -8,7 +8,7 @@
8
8
  * service now calls the ClientSideTargetResolution service in the abap
9
9
  * platform.
10
10
  *
11
- * @version 1.100.0
11
+ * @version 1.102.0
12
12
  */
13
13
  sap.ui.define([], function () {
14
14
  "use strict";
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The Unified Shell's page building adapter for the ABAP platform.
5
- * @version 1.100.0
5
+ * @version 1.102.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/util/ObjectPath",
@@ -103,10 +103,14 @@ sap.ui.define([
103
103
  sPageBuilderServiceUrl = sConfigBaseUrl;
104
104
  }
105
105
 
106
+ // Get CacheId for PAGE_BUILDER_PERS when available
107
+ var sCacheId = ObjectPath.get("sap-ushell-config.services.Container.adapter.config.services.pbFioriHome.cacheId");
108
+
106
109
  oFactory = Factory.createFactory(
107
110
  sPageBuilderServiceUrl,
108
111
  undefined,
109
- sScope === "PERS"
112
+ sScope === "PERS",
113
+ sCacheId
110
114
  );
111
115
  [ // predefined remote catalog services
112
116
  "/sap/hba/apps/kpi/s/odata/hana_chip_catalog.xsodata/",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview PagePersistenceAdapter for the ABAP platform.
5
- * @version 1.100.0
5
+ * @version 1.102.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/util/ObjectPath",
@@ -3958,8 +3958,7 @@ sap.ui.define([
3958
3958
  "sap-client": sap.ushell.Container.getLogonSystem().getClient()
3959
3959
  },
3960
3960
  defaultCountMode: "None",
3961
- skipMetadataAnnotationParsing: true,
3962
- useBatch: true
3961
+ skipMetadataAnnotationParsing: true
3963
3962
  });
3964
3963
 
3965
3964
  // If we have the metdata cache backe in action, we will need to revert to the previous implementation
@@ -4056,6 +4055,8 @@ sap.ui.define([
4056
4055
  PagePersistenceAdapter.prototype._readPage = function (pageId) {
4057
4056
  return this.getMetadataPromise().then(function () {
4058
4057
  return new Promise(function (resolve, reject) {
4058
+ // disable batch mode for reading single pages to avoid additional round trip for CSRF token fetch
4059
+ this.getODataModel().setUseBatch(false);
4059
4060
  this.getODataModel().read("/pageSet('" + encodeURIComponent(pageId) + "')", {
4060
4061
  urlParameters: {
4061
4062
  $expand: "sections/viz,vizReferences/chipBags/properties,tileTypes/vizOptions/displayFormats/supported"
@@ -4091,6 +4092,8 @@ sap.ui.define([
4091
4092
  });
4092
4093
  aPageFilters.push(oPageFilter);
4093
4094
  }
4095
+ // use batch mode for reading multiple pages to avoid URL length limit exceeding
4096
+ this.getODataModel().setUseBatch(true);
4094
4097
  this.getODataModel().read("/pageSet", {
4095
4098
  urlParameters: {
4096
4099
  $expand: "sections/viz,vizReferences/chipBags/properties,tileTypes/vizOptions/displayFormats/supported"
@@ -7,7 +7,7 @@
7
7
  * Container header properties transported via pseudo-items are mapped to the
8
8
  * respective header properties in setItem/getItem/delItem
9
9
  *
10
- * @version 1.100.0
10
+ * @version 1.102.0
11
11
  */
12
12
  sap.ui.define([
13
13
  "sap/ushell_abap/adapters/abap/AdapterContainer",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The Search adapter for the ABAP platform.
5
- * @version 1.100.0
5
+ * @version 1.102.0
6
6
  */
7
7
  sap.ui.define([], function () {
8
8
  "use strict";
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The SupportTicket adapter for the ABAP platform.
5
- * @version 1.100.0
5
+ * @version 1.102.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/util/isEmptyObject",
@@ -76,13 +76,16 @@ sap.ui.define([
76
76
  sHash = typeof sHash === "string" ? sHash : "";
77
77
  sCatalogId = typeof sCatalogId === "string" && sCatalogId.length > 0 ? JSON.parse(sCatalogId).catalogId || "" : "";
78
78
 
79
+ //Remove whitespaces from both sides of the string
80
+ oSupportTicketData.text = oSupportTicketData.text.trim();
81
+ oSupportTicketData.subject = oSupportTicketData.subject.trim();
82
+
83
+ if (oSupportTicketData.subject.length > 40) {
84
+ oSupportTicketData.text = oSupportTicketData.subject + "\n" + oSupportTicketData.text;
85
+ oSupportTicketData.subject = oSupportTicketData.subject.substring(0, 40).slice(0, -3) + "...";
86
+ }
79
87
  oSupportTicketData.url = sUrl;
80
88
  oSupportTicketData.catalogId = sCatalogId;
81
-
82
- oSupportTicketData.subject = resources.i18n.getText("contactSupport.Subject", [
83
- oContainer.getLogonSystem().getName() + "-" + oContainer.getLogonSystem().getClient(),
84
- oContainer.getUser().getId()
85
- ]).substring(0, 40);
86
89
  oSupportTicketData.hash = sHash;
87
90
  oSupportTicketData.clientContext = convertToReadable(oSupportTicketData.clientContext);
88
91
 
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * @fileOverview The Unified Shell's Ui5ComponentLoaderAdapter for the ABAP platform
4
4
  *
5
- * @version 1.100.0
5
+ * @version 1.102.0
6
6
  */
7
7
  sap.ui.define([
8
8
  ], function () {
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * @fileOverview The Unified Shell's container adapter for the HANA platform.
5
5
  *
6
- * @version 1.100.0
6
+ * @version 1.102.0
7
7
  */
8
8
  /**
9
9
  * @namespace Default namespace for Unified Shell adapters for the HANA platform. They can usually
@@ -14,7 +14,7 @@
14
14
  * It furthermore calculates if FLP pages get activated and if needed sets up
15
15
  * the configuration environment to run these.
16
16
  *
17
- * @version 1.100.0
17
+ * @version 1.102.0
18
18
  */
19
19
  sap.ui.define([
20
20
  "./abap.constants",
@@ -12,7 +12,7 @@ sap.ui.define([
12
12
  tilesWrappingType: "Hyphenated"
13
13
  },
14
14
  darkMode: {
15
- enabled: false
15
+ enabled: true
16
16
  },
17
17
  spaces: {
18
18
  myHome: {
@@ -359,7 +359,7 @@ function (
359
359
  *
360
360
  * @private
361
361
  */
362
- function setSapui5Settings (oSettings, oCurrencyFormats) {
362
+ function setSapui5Settings (oSettings, oCurrencyFormats, sTimeZoneIana) {
363
363
  var oCore = sap.ui.getCore(),
364
364
  oConfiguration = oCore.getConfiguration(),
365
365
  oFormatSettings = oConfiguration.getFormatSettings();
@@ -384,6 +384,9 @@ function (
384
384
  if (typeof oCurrencyFormats === "object") {
385
385
  oFormatSettings.addCustomCurrencies(oCurrencyFormats);
386
386
  }
387
+ if (sTimeZoneIana !== "" && typeof sTimeZoneIana === "string") {
388
+ oConfiguration.setTimezone(sTimeZoneIana);
389
+ }
387
390
  }
388
391
 
389
392
  /**
@@ -648,7 +651,8 @@ function (
648
651
  var mParameterMap = Utils.getParameterMap(),
649
652
  sRequestLocale = oAbapUtils.getUrlParameterValue("sap-locale", mParameterMap),
650
653
  oUi5UserInfo = {},
651
- oConfig;
654
+ oConfig,
655
+ sTimeZoneIana;
652
656
 
653
657
  // write the support ticket service enablement to the bootstrap config;
654
658
  // do not enable if already disabled, but disable if not available in backend
@@ -699,8 +703,14 @@ function (
699
703
  legacyTimeFormat: oStartupResult.timeFormat
700
704
  };
701
705
  }
706
+
707
+ sTimeZoneIana = ObjectPath.get("sap-ushell-config.startupConfig.timeZoneIana");
708
+ if (sTimeZoneIana === undefined) {
709
+ sTimeZoneIana = ObjectPath.set("sap-ushell-config.startupConfig.timeZoneIana", "");
710
+ }
711
+
702
712
  processTheme(oStartupTheme, sSystemThemeRoot);
703
- setSapui5Settings(oUi5UserInfo, oStartupResult.currencyFormats);
713
+ setSapui5Settings(oUi5UserInfo, oStartupResult.currencyFormats, sTimeZoneIana);
704
714
  }
705
715
 
706
716
  /**
@@ -0,0 +1,69 @@
1
+ // Copyright (c) 2009-2022 SAP SE, All Rights Reserved
2
+
3
+ sap.ui.define([
4
+ "sap/base/Log",
5
+ "sap/ui/core/Manifest"
6
+ ], function (
7
+ Log,
8
+ Manifest
9
+ ) {
10
+ "use strict";
11
+
12
+ /**
13
+ * Provides the configuration for integration with remote file shares.
14
+ * <p>
15
+ * This is the <em>FileShareSupport</em> strategy implementation for usage in the FLP on the ABAP platform.
16
+ * It uses the <code>NavTargetResolution</code> service to determine whether the Fiori App for the file integration
17
+ * is assigned to the currently logged on user (controls the enablement) and then reads the data source
18
+ * properties for the file share integration service from the app manifest.
19
+ * </p>
20
+ * <p>
21
+ * This module must not be used directly. Instead, the module name must be retrieved from the SAPUI5 Core
22
+ * configuration (<code>Core.getConfiguration().getFileShareSupport()</code>) and then loaded
23
+ * using <code>sap.ui.require</code> if set. The configuration is done by the FLP during bootstrap.
24
+ * </p>
25
+ *
26
+ * @private
27
+ */
28
+ var NavTargetResolutionFileShareSupport = {};
29
+
30
+ var MODULE_NAME = "sap.ushell_abap.integration.fileshares.NavTargetResolutionFileShareSupport";
31
+ var FILE_SHARE_INTENT = "#FileShare-manage";
32
+
33
+ /**
34
+ * Get the data source for file share integration
35
+ * <p>
36
+ * This is the implementation of the <em>FileShareSupport</em> interface, i.e.
37
+ * the public contract with the consumers.
38
+ * </p>
39
+ *
40
+ * @return {Promise<Object>} Promise resolving an object for the
41
+ * data source of the file integration service as defined in the manifest;
42
+ * if the file share integration is not enabled or an error occurs, the promise is rejected
43
+ */
44
+ NavTargetResolutionFileShareSupport.getDataSource = function () {
45
+ if (!NavTargetResolutionFileShareSupport._getDataSourcePromise) {
46
+ NavTargetResolutionFileShareSupport._getDataSourcePromise = sap.ushell.Container.getServiceAsync("NavTargetResolution").then(function (oNavTargetResolutionService) {
47
+ return oNavTargetResolutionService.resolveHashFragment(FILE_SHARE_INTENT); // jQuery promise is implicitly converted to native
48
+ }).then(function (oResolvedHashFragment) {
49
+ var sManifestUrl = oResolvedHashFragment && oResolvedHashFragment.applicationDependencies && oResolvedHashFragment.applicationDependencies.manifest;
50
+ if (sManifestUrl) {
51
+ return Manifest.load({
52
+ manifestUrl: sManifestUrl,
53
+ async: true
54
+ });
55
+ }
56
+
57
+ var sErrorMessage = ["No manifest URL defined in resolved navigation target:", JSON.stringify(oResolvedHashFragment)].join(" ");
58
+ Log.error(sErrorMessage, null, MODULE_NAME);
59
+ throw new Error(sErrorMessage);
60
+ }).then(function (oManifest) {
61
+ return oManifest.getEntry("/sap.app/dataSources/mainService");
62
+ });
63
+ }
64
+
65
+ return NavTargetResolutionFileShareSupport._getDataSourcePromise;
66
+ };
67
+
68
+ return NavTargetResolutionFileShareSupport;
69
+ });
@@ -3,23 +3,26 @@
3
3
  sap.ui.define([
4
4
  "sap/ui/core/library",
5
5
  "sap/m/library"
6
- ], function (coreLib, mLib) {
6
+ ], function (
7
+ coreLib,
8
+ mLib
9
+ ) {
7
10
  "use strict";
8
11
 
9
12
  /**
10
13
  * SAP library: sap.ushell_abap
11
- * provides base functions for the Fiori Launchpad running under SAP NetWeaver
14
+ * provides base functions for Fiori launchpad running on SAP NetWeaver ABAP
12
15
  *
13
16
  * @namespace
14
17
  * @name sap.ushell_abap
15
18
  * @author SAP SE
16
- * @version 1.100.0
19
+ * @version 1.102.0
17
20
  * @private
18
21
  * @ui5-restricted
19
22
  */
20
- sap.ui.getCore().initLibrary({
23
+ var ushellAbapLib = sap.ui.getCore().initLibrary({
21
24
  name: "sap.ushell_abap",
22
- version: "1.100.0",
25
+ version: "1.102.0",
23
26
  dependencies: ["sap.ui.core", "sap.m"],
24
27
  noLibraryCSS: true,
25
28
  extensions: {
@@ -31,5 +34,5 @@ sap.ui.define([
31
34
  }
32
35
  });
33
36
 
34
- return sap.ushell_abap;
35
- }, /* bExport= */ true);
37
+ return ushellAbapLib;
38
+ });
@@ -629,6 +629,8 @@ sap.ui.define([
629
629
  * @param {boolean} [bIsPersonalization=false]
630
630
  * defines the return value of {@link sap.ushell_abap.pbServices.ui2.PageBuildingService#isPersonalization} of
631
631
  * the returned factory's page building service facade (since 1.16.1)
632
+ * @param {string} [sCacheId]
633
+ * Cache ID to read from PAGE_BUILDER_PERS with cache busting.
632
634
  * @returns {sap.ushell_abap.pbServices.ui2.Factory}
633
635
  * returns the new factory for the given <code>sBaseUri</code>
634
636
  * @since 1.2.0
@@ -637,9 +639,9 @@ sap.ui.define([
637
639
  * @see sap.ushell_abap.pbServices.ui2.PageBuildingService
638
640
  * @see PageBuildingService.createPageBuildingService()
639
641
  */
640
- Factory.createFactory = function (sBaseUri, fnDefaultFailure, bIsPersonalization) {
642
+ Factory.createFactory = function (sBaseUri, fnDefaultFailure, bIsPersonalization, sCacheId) {
641
643
  return new Factory(
642
- PageBuildingService.createPageBuildingService(sBaseUri, fnDefaultFailure, bIsPersonalization)
644
+ PageBuildingService.createPageBuildingService(sBaseUri, fnDefaultFailure, bIsPersonalization, sCacheId)
643
645
  );
644
646
  };
645
647
 
@@ -52,12 +52,13 @@ sap.ui.define([
52
52
  * for more details.
53
53
  * @param {boolean} [bIsPersonalization=false]
54
54
  * defines the return value of {@link #isPersonalization}; nothing else (since 1.16.1)
55
- *
55
+ * @param {string} [sCacheId]
56
+ * Cache ID to read from PAGE_BUILDER_PERS with cache busting.
56
57
  * @class
57
58
  * @augments ODataService
58
59
  * @since 1.2.0
59
60
  */
60
- var PageBuildingService = function (vODataBase, fnDefaultFailure, bIsPersonalization) {
61
+ var PageBuildingService = function (vODataBase, fnDefaultFailure, bIsPersonalization, sCacheId) {
61
62
  var oWrapper,
62
63
  that = this;
63
64
 
@@ -1431,9 +1432,13 @@ sap.ui.define([
1431
1432
  if (!sChipId) {
1432
1433
  throw new SrvcError("Missing CHIP ID", "PageBuildingService");
1433
1434
  }
1435
+ var sUrl = "Chips('" + encodeURIComponent(sChipId) + "')?$expand=ChipBags/ChipProperties";
1436
+
1437
+ if (sCacheId !== undefined) {
1438
+ sUrl = sUrl + "&sap-cache-id=" + sCacheId;
1439
+ }
1434
1440
 
1435
- oWrapper.read("Chips('" + encodeURIComponent(sChipId) + "')" +
1436
- "?$expand=ChipBags/ChipProperties", fnSuccess, fnFailure);
1441
+ oWrapper.read(sUrl, fnSuccess, fnFailure);
1437
1442
  };
1438
1443
 
1439
1444
  // constructor code -------------------------------------------------------
@@ -1484,14 +1489,16 @@ sap.ui.define([
1484
1489
  * @param {boolean} [bIsPersonalization=false]
1485
1490
  * defines the return value of {@link PageBuildingService#isPersonalization} of
1486
1491
  * the returned instance (since 1.16.1)
1492
+ * @param {string} [sCacheId]
1493
+ * Cache ID to read from PAGE_BUILDER_PERS with cache busting.
1487
1494
  * @returns {PageBuildingService}
1488
1495
  * a facade to the page building service
1489
1496
  * @since 1.2.0
1490
1497
  *
1491
1498
  * @see PageBuildingService
1492
1499
  */
1493
- PageBuildingService.createPageBuildingService = function (sBaseUri, fnDefaultFailure, bIsPersonalization) {
1494
- return new PageBuildingService(sBaseUri, fnDefaultFailure, bIsPersonalization);
1500
+ PageBuildingService.createPageBuildingService = function (sBaseUri, fnDefaultFailure, bIsPersonalization, sCacheId) {
1501
+ return new PageBuildingService(sBaseUri, fnDefaultFailure, bIsPersonalization, sCacheId);
1495
1502
  };
1496
1503
 
1497
1504
  return PageBuildingService;
@@ -522,6 +522,7 @@ sap.ui.define([
522
522
  sValue,
523
523
  iIndexOfEquals,
524
524
  aKeyValuePairs,
525
+ aKeyValuePairsLength,
525
526
  // Note: location.search starts with "?" if not empty
526
527
  sSearch = arguments.length > 0 ? sSearchString : location.search;
527
528
 
@@ -536,8 +537,9 @@ sap.ui.define([
536
537
  // (http://www.w3.org/TR/1999/REC-html401-19991224/appendix/notes.html#h-B.2.2)
537
538
  // http://unixpapa.com/js/querystring.html advocates this on the client-side also!
538
539
  aKeyValuePairs = sSearch.substring(1).replace(/\+/g, " ").split(/[&;]/);
540
+ aKeyValuePairsLength = aKeyValuePairs.length < 500 ? aKeyValuePairs.length : 500;
539
541
 
540
- for (i = 0, n = aKeyValuePairs.length; i < n; i += 1) {
542
+ for (i = 0, n = aKeyValuePairsLength; i < n; i += 1) {
541
543
  // decode key/value pair at first "=" character
542
544
  sKey = aKeyValuePairs[i];
543
545
  sValue = ""; // Note: empty value may be omitted altogether
package/ui5.yaml CHANGED
@@ -16,6 +16,7 @@ framework:
16
16
  - name: sap.ui.layout
17
17
  - name: sap.ui.fl
18
18
  - name: sap.ushell
19
+ - name: sap.f
19
20
  builder:
20
21
  bundles:
21
22
  - bundleDefinition:
@@ -273,9 +274,6 @@ builder:
273
274
  - sap/ushell_abap/bootstrap/evo/abap-def-loader.js
274
275
  # end bundle sap/ushell_abap/bootstrap/evo/abap.js
275
276
  # bundle sap/ushell_abap/bootstrap/evo/core-min.js
276
- - ui5loader-autoconfig.js
277
- - sap/ushell_abap/bootstrap/evo/abap-def.js
278
- - sap/ushell/bootstrap/ui5loader-config.js
279
277
  - sap/ui/core/ComponentContainer.js
280
278
  - sap/ui/core/CustomData.js
281
279
  - sap/ui/core/EventBus.js
@@ -306,6 +304,7 @@ builder:
306
304
  - sap/m/BusyIndicator.js
307
305
  - sap/m/GenericTile.js
308
306
  - sap/m/GenericTileRenderer.js
307
+ - sap/m/IllustratedMessage.js
309
308
  - sap/m/Image.js
310
309
  - sap/m/ImageContent.js
311
310
  - sap/m/ImageContentRenderer.js
@@ -324,6 +323,8 @@ builder:
324
323
  - sap/m/Table.js
325
324
  - sap/m/TileContent.js
326
325
  - sap/m/TileContentRenderer.js
326
+ - sap/f/GridContainer.js
327
+ - sap/f/GridContainerItemLayoutData.js
327
328
  - sap/ushell/library.js
328
329
  - sap/ushell/CanvasShapesManager.js
329
330
  - sap/ushell/Fiori20AdapterTest.js
@@ -429,7 +430,6 @@ builder:
429
430
  resolve: true
430
431
  renderer: true
431
432
  - mode: preload
432
- name: sap/fiori/core-ext-light
433
433
  filters:
434
434
  - jquery.sap.*
435
435
  - sap/base/
@@ -437,14 +437,19 @@ builder:
437
437
  - sap/ui/core/
438
438
  - sap/ui/dom/
439
439
  - sap/ui/events/
440
+ - sap/ui/layout/ # layout's library.js is used in sap.f in core-min
440
441
  - sap/ui/model/
441
442
  - sap/ui/performance/
442
443
  - sap/ui/security/
443
444
  - sap/ui/util/
444
445
  - sap/ui/thirdparty/
445
446
  - sap/m/
447
+ - sap/f/
446
448
  - sap/ushell/
449
+ - 'sap/ushell_abap/integration/fileshares/NavTargetResolutionFileShareSupport.js'
447
450
  - '!**/*-preload.js'
451
+ - '!**/*.support.js'
452
+ - '!**/designtime/'
448
453
  - '!sap/ui/core/messagebundle*.properties'
449
454
  - '!sap/ui/core/plugin/'
450
455
  - '!sap/ui/core/tmpl/'
@@ -453,15 +458,35 @@ builder:
453
458
  - '!sap/ui/thirdparty/blanket.js'
454
459
  - '!sap/ui/thirdparty/qunit*'
455
460
  - '!sap/ui/thirdparty/sinon*'
456
- - '!sap/ui/core/designtime/'
457
- - '!sap/ui/core/**/*.support.js'
458
461
  - '!sap/ui/core/rules/'
459
462
  - '!sap/ui/core/support/'
460
463
  - '!sap/m/designtime/'
461
- - '!sap/m/**/*.support.js'
462
464
  - '!sap/m/rules/'
463
- - '!sap/ushell/UIActions.js'
465
+ - '!sap/f/designtime/'
466
+ - '!sap/ui/layout/designtime/'
467
+ - '!sap/ushell/adapters/'
468
+ - '!sap/ushell/applications/'
469
+ - '!sap/ushell/appRuntime/'
470
+ - '!sap/ushell/bootstrap/'
471
+ - '!sap/ushell/components/appfinder/'
472
+ - '!sap/ushell/components/homepage/'
473
+ - '!sap/ushell/components/pages/'
474
+ - '!sap/ushell/components/shell/'
475
+ - '!sap/ushell/components/tiles/action/'
476
+ - '!sap/ushell/components/tiles/applauncher/Configuration.view.xml'
477
+ - '!sap/ushell/components/tiles/applauncher/StaticTile.controller.js'
478
+ - '!sap/ushell/components/tiles/applauncher/StaticTile.view.js'
479
+ - '!sap/ushell/components/tiles/applauncherdynamic/Configuration.view.xml'
480
+ - '!sap/ushell/components/tiles/applauncherdynamic/DynamicTile.controller.js'
481
+ - '!sap/ushell/components/tiles/applauncherdynamic/DynamicTile.view.js'
482
+ - '!sap/ushell/components/tiles/cdm/'
483
+ - '!sap/ushell/components/tiles/utils.js'
484
+ - '!sap/ushell/components/workPageBuilder/'
485
+ - '!sap/ushell/components/workPageRuntime/'
486
+ - '!sap/ushell/designtime'
464
487
  - '!sap/ushell/Layout.js'
488
+ - '!sap/ushell/plugins/'
489
+ - '!sap/ushell/services/SearchCEP.js'
465
490
  - '!sap/ushell/ui/launchpad/AccessibilityCustomData.js'
466
491
  - '!sap/ushell/ui/launchpad/AnchorItem.js'
467
492
  - '!sap/ushell/ui/launchpad/AnchorItemRenderer.js'
@@ -491,26 +516,9 @@ builder:
491
516
  - '!sap/ushell/ui/launchpad/TileState.js'
492
517
  - '!sap/ushell/ui/launchpad/TileStateRenderer.js'
493
518
  - '!sap/ushell/ui/tile/'
494
- - '!sap/ushell/components/tiles/applauncher/StaticTile.controller.js'
495
- - '!sap/ushell/components/tiles/applauncher/StaticTile.view.js'
496
- - '!sap/ushell/components/tiles/applauncherdynamic/DynamicTile.controller.js'
497
- - '!sap/ushell/components/tiles/applauncherdynamic/DynamicTile.view.js'
498
- - '!sap/ushell/components/tiles/cdm/'
499
- - '!sap/ushell/components/tiles/utils.js'
500
- - '!sap/ushell/adapters/'
501
- - '!sap/ushell/applications/'
502
- - '!sap/ushell/appRuntime/'
503
- - '!sap/ushell/bootstrap/'
504
- - '!sap/ushell/components/homepage/'
505
- - '!sap/ushell/components/appfinder/'
506
- - '!sap/ushell/components/shell/'
507
- - '!sap/ushell/components/pages/'
508
- - '!sap/ushell/components/tiles/action/'
509
- - '!sap/ushell/components/tiles/applauncher/Configuration.view.xml'
510
- - '!sap/ushell/components/tiles/applauncherdynamic/Configuration.view.xml'
511
- - '!sap/ushell/plugins/'
512
- - '!sap/ushell/utils/'
519
+ - '!sap/ushell/UIActions.js'
513
520
  - '!sap/ushell/ui5service/UserStatus.js'
521
+ - '!sap/ushell/utils/'
514
522
  resolve: false
515
523
  bundleOptions:
516
524
  optimize: true