@sapui5/sap.ushell_abap 1.152.1 → 1.154.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 (121) hide show
  1. package/package.json +1 -1
  2. package/src/main/js/sap/ushell_abap/.library +1 -1
  3. package/src/main/js/sap/ushell_abap/adapters/abap/AppStateAdapter.js +53 -63
  4. package/src/main/js/sap/ushell_abap/adapters/abap/ClientSideTargetResolutionAdapter.js +1 -1
  5. package/src/main/js/sap/ushell_abap/adapters/abap/CommonDataModelAdapter.js +1 -1
  6. package/src/main/js/sap/ushell_abap/adapters/abap/ConfigurationDefaultsAdapter.js +1 -1
  7. package/src/main/js/sap/ushell_abap/adapters/abap/ContainerAdapter.js +1 -1
  8. package/src/main/js/sap/ushell_abap/adapters/abap/FlpLaunchPageAdapter.js +62 -4
  9. package/src/main/js/sap/ushell_abap/adapters/abap/LaunchPageAdapter.js +1 -1
  10. package/src/main/js/sap/ushell_abap/adapters/abap/NavTargetResolutionAdapter.js +1 -1
  11. package/src/main/js/sap/ushell_abap/adapters/abap/NavTargetResolutionInternalAdapter.js +1 -1
  12. package/src/main/js/sap/ushell_abap/adapters/abap/PageBuildingAdapter.js +1 -1
  13. package/src/main/js/sap/ushell_abap/adapters/abap/PagePersistenceAdapter.js +8 -8
  14. package/src/main/js/sap/ushell_abap/adapters/abap/PersonalizationAdapter.js +1 -1
  15. package/src/main/js/sap/ushell_abap/adapters/abap/PersonalizationV2Adapter.js +1 -1
  16. package/src/main/js/sap/ushell_abap/adapters/abap/SearchAdapter.js +1 -1
  17. package/src/main/js/sap/ushell_abap/adapters/abap/SupportTicketAdapter.js +1 -1
  18. package/src/main/js/sap/ushell_abap/adapters/abap/Ui5ComponentLoaderAdapter.js +1 -1
  19. package/src/main/js/sap/ushell_abap/adapters/abap/UserInfoAdapter.js +11 -11
  20. package/src/main/js/sap/ushell_abap/adapters/abap/VisualizationInstantiationAdapter.js +76 -0
  21. package/src/main/js/sap/ushell_abap/adapters/hana/ContainerAdapter.js +1 -1
  22. package/src/main/js/sap/ushell_abap/adapters/local/ClientSideTargetResolutionAdapter.js +123 -0
  23. package/src/main/js/sap/ushell_abap/adapters/local/FlpLaunchPageAdapter.js +115 -0
  24. package/src/main/js/sap/ushell_abap/adapters/local/MenuAdapter.js +92 -0
  25. package/src/main/js/sap/ushell_abap/adapters/local/PageBuildingAdapter.js +242 -0
  26. package/src/main/js/sap/ushell_abap/adapters/local/PagePersistenceAdapter.js +308 -0
  27. package/src/main/js/sap/ushell_abap/api/S4MyHome.js +58 -0
  28. package/src/main/js/sap/ushell_abap/bootstrap/DirectAppStart.js +28 -15
  29. package/src/main/js/sap/ushell_abap/bootstrap/LoadLaunchpad/CreateRenderer.js +4 -2
  30. package/src/main/js/sap/ushell_abap/bootstrap/LoadLaunchpad/RequestPages.js +2 -6
  31. package/src/main/js/sap/ushell_abap/bootstrap/PlatformConfig.js +5 -5
  32. package/src/main/js/sap/ushell_abap/bootstrap/XhrLogonEventHandler.js +6 -7
  33. package/src/main/js/sap/ushell_abap/bootstrap/abapConstants.js +30 -0
  34. package/src/main/js/sap/ushell_abap/components/SideNavigation/modules/Favorites.js +549 -0
  35. package/src/main/js/sap/ushell_abap/components/SideNavigation/modules/GenericNavigationListProvider.js +241 -0
  36. package/src/main/js/sap/ushell_abap/components/cards/Card.controller.js +117 -0
  37. package/src/main/js/sap/ushell_abap/components/cards/Card.view.xml +11 -0
  38. package/src/main/js/sap/ushell_abap/components/cards/Configuration.controller.js +280 -0
  39. package/src/main/js/sap/ushell_abap/components/cards/Configuration.view.xml +27 -0
  40. package/src/main/js/sap/ushell_abap/components/cards/ManifestPropertyHelper.js +298 -0
  41. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/Component.js +90 -0
  42. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/TransactionCode.controller.js +110 -0
  43. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/TransactionCode.view.xml +16 -0
  44. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n.properties +17 -0
  45. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ar.properties +10 -0
  46. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_bg.properties +10 -0
  47. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ca.properties +10 -0
  48. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_cnr.properties +10 -0
  49. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_cs.properties +10 -0
  50. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_cy.properties +10 -0
  51. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_da.properties +10 -0
  52. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_de.properties +10 -0
  53. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_el.properties +10 -0
  54. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_en.properties +10 -0
  55. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_en_GB.properties +10 -0
  56. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_en_US_sappsd.properties +10 -0
  57. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_en_US_saprigi.properties +10 -0
  58. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_en_US_saptrc.properties +10 -0
  59. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_es.properties +10 -0
  60. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_es_MX.properties +10 -0
  61. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_et.properties +10 -0
  62. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_fi.properties +10 -0
  63. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_fr.properties +10 -0
  64. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_fr_CA.properties +10 -0
  65. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_hi.properties +10 -0
  66. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_hr.properties +10 -0
  67. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_hu.properties +10 -0
  68. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_id.properties +10 -0
  69. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_it.properties +10 -0
  70. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_iw.properties +10 -0
  71. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ja.properties +10 -0
  72. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_kk.properties +10 -0
  73. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ko.properties +10 -0
  74. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_lt.properties +10 -0
  75. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_lv.properties +10 -0
  76. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_mk.properties +10 -0
  77. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ms.properties +10 -0
  78. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_nl.properties +10 -0
  79. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_no.properties +10 -0
  80. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_pl.properties +10 -0
  81. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_pt.properties +10 -0
  82. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_pt_PT.properties +10 -0
  83. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ro.properties +10 -0
  84. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ru.properties +10 -0
  85. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_sh.properties +10 -0
  86. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_sk.properties +10 -0
  87. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_sl.properties +10 -0
  88. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_sr.properties +10 -0
  89. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_sv.properties +10 -0
  90. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_th.properties +10 -0
  91. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_tr.properties +10 -0
  92. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_uk.properties +10 -0
  93. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_vi.properties +10 -0
  94. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_zh_CN.properties +10 -0
  95. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_zh_TW.properties +10 -0
  96. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/manifest.json +96 -0
  97. package/src/main/js/sap/ushell_abap/components/tiles/action/ActionTile.controller.js +189 -0
  98. package/src/main/js/sap/ushell_abap/components/tiles/action/ActionTile.view.xml +13 -0
  99. package/src/main/js/sap/ushell_abap/components/tiles/action/Configuration.controller.js +193 -0
  100. package/src/main/js/sap/ushell_abap/components/tiles/action/Configuration.view.xml +333 -0
  101. package/src/main/js/sap/ushell_abap/components/tiles/applauncher/Component.js +41 -0
  102. package/src/main/js/sap/ushell_abap/components/tiles/applauncher/Configuration.controller.js +114 -0
  103. package/src/main/js/sap/ushell_abap/components/tiles/applauncher/Configuration.view.xml +208 -0
  104. package/src/main/js/sap/ushell_abap/components/tiles/applauncher/StaticTile.controller.js +497 -0
  105. package/src/main/js/sap/ushell_abap/components/tiles/applauncher/StaticTile.view.js +61 -0
  106. package/src/main/js/sap/ushell_abap/components/tiles/applauncherdynamic/Component.js +45 -0
  107. package/src/main/js/sap/ushell_abap/components/tiles/applauncherdynamic/Configuration.controller.js +113 -0
  108. package/src/main/js/sap/ushell_abap/components/tiles/applauncherdynamic/Configuration.view.xml +231 -0
  109. package/src/main/js/sap/ushell_abap/components/tiles/applauncherdynamic/DynamicTile.controller.js +729 -0
  110. package/src/main/js/sap/ushell_abap/components/tiles/applauncherdynamic/DynamicTile.view.js +106 -0
  111. package/src/main/js/sap/ushell_abap/library.js +12 -1
  112. package/src/main/js/sap/ushell_abap/messagebundle.properties +6 -2
  113. package/src/main/js/sap/ushell_abap/pbServices/ui2/Chip.js +7 -3
  114. package/src/main/js/sap/ushell_abap/pbServices/ui2/ODataWrapper.js +3 -5
  115. package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/configuration.js +54 -4
  116. package/src/main/js/sap/ushell_abap/services/NavigationDataProvider.js +4 -4
  117. package/src/main/js/sap/ushell_abap/ui/VisualizationInstantiation/ChipInstanceWrapper.js +248 -0
  118. package/src/main/js/sap/ushell_abap/ui/VisualizationInstantiation/VizInstanceAbap.js +134 -0
  119. package/src/main/js/sap/ushell_abap/ui/VisualizationInstantiation/VizInstanceAbapLink.js +145 -0
  120. package/src/main/js/sap/ushell_abap/utils/UserPersonalization.js +127 -0
  121. package/ui5.yaml +21 -3
@@ -0,0 +1,134 @@
1
+ // Copyright (c) 2009-2026 SAP SE, All Rights Reserved
2
+
3
+ /**
4
+ * @fileOverview VizInstance implementation for the ABAP platform, backed by a CHIP instance.
5
+ * @version 1.154.0
6
+ */
7
+ sap.ui.define([
8
+ "sap/ushell/ui/launchpad/VizInstance",
9
+ "sap/ushell_abap/ui/VisualizationInstantiation/ChipInstanceWrapper"
10
+ ], (
11
+ VizInstance,
12
+ ChipInstanceWrapper
13
+ ) => {
14
+ "use strict";
15
+
16
+ /**
17
+ * @alias sap.ushell_abap.ui.VisualizationInstantiation.VizInstanceAbap
18
+ * @class
19
+ * @classdesc VizInstance for visualizations sourced from the ABAP platform.
20
+ * Delegates rendering and data loading to a {@link sap.ushell_abap.ui.VisualizationInstantiation.ChipInstanceWrapper}.
21
+ *
22
+ * @extends sap.ushell.ui.launchpad.VizInstance
23
+ *
24
+ * @since 1.77
25
+ * @private
26
+ */
27
+ const VizInstanceAbap = VizInstance.extend("sap.ushell_abap.ui.VisualizationInstantiation.VizInstanceAbap", /** @lends sap.ushell_abap.ui.VisualizationInstantiation.VizInstanceAbap.prototype */ {
28
+ metadata: {
29
+ library: "sap.ushell_abap"
30
+ },
31
+ renderer: VizInstance.getMetadata().getRenderer()
32
+ });
33
+
34
+ /**
35
+ * @override
36
+ * @since 1.77
37
+ * @private
38
+ */
39
+ VizInstanceAbap.prototype.init = function () {
40
+ VizInstance.prototype.init.apply(this, arguments);
41
+
42
+ this._oChipInstanceWrapper = new ChipInstanceWrapper(this);
43
+ };
44
+
45
+ /**
46
+ * Initializes the underlying CHIP instance with the provided instantiation data.
47
+ *
48
+ * @param {object} oInstantiationData The instantiation data for the CHIP.
49
+ * @returns {sap.ushell_abap.ui.VisualizationInstantiation.VizInstanceAbap} This instance, for chaining.
50
+ * @override
51
+ * @since 1.77
52
+ * @private
53
+ */
54
+ VizInstanceAbap.prototype.setInstantiationData = function (oInstantiationData) {
55
+ this._oChipInstanceWrapper.init(oInstantiationData);
56
+ this.setProperty("instantiationData", oInstantiationData);
57
+ return this;
58
+ };
59
+
60
+ /**
61
+ * A function which sets the content of the VizInstance to a UI5 view.
62
+ * @param {boolean} [isCustom] Whether this VizInstance is a standard tile or custom.
63
+ * @returns {Promise<undefined>} Resolves when the chip instance is loaded.
64
+ * @override
65
+ * @since 1.77
66
+ */
67
+ VizInstanceAbap.prototype.load = function (isCustom) {
68
+ return this._oChipInstanceWrapper.load();
69
+ };
70
+
71
+ /**
72
+ * @returns {Promise<undefined>} Resolves when the chip instance has finished loading.
73
+ * @override
74
+ * @since 1.77
75
+ * @private
76
+ */
77
+ VizInstanceAbap.prototype.loaded = function () {
78
+ return this._oChipInstanceWrapper.loaded();
79
+ };
80
+
81
+ /**
82
+ * Returns the transaction code from the inner CHIP instance
83
+ * Requires {@link #load} to be called first.
84
+ *
85
+ * @returns {Promise<string>} Resolves the transaction code to display.
86
+ *
87
+ * @since 1.154.0
88
+ * @private
89
+ */
90
+ VizInstanceAbap.prototype.getTransactionCode = async function () {
91
+ return this._oChipInstanceWrapper.getTransactionCode();
92
+ };
93
+
94
+ /**
95
+ * Refreshes the chip instance's data
96
+ *
97
+ * @since 1.78
98
+ */
99
+ VizInstanceAbap.prototype.refresh = function () {
100
+ this._oChipInstanceWrapper.refresh();
101
+ };
102
+
103
+ /**
104
+ * Updates the visualization's active state.
105
+ * E.g. inactive dynamic tiles do not send requests
106
+ *
107
+ * @param {boolean} active The visualization's active state
108
+ * @param {boolean} refresh Refresh the visualization immediately
109
+ * @returns {object} The VizInstance
110
+ * @since 1.78
111
+ */
112
+ VizInstanceAbap.prototype.setActive = function (active, refresh) {
113
+ this._oChipInstanceWrapper.setVisible(active);
114
+
115
+ if (refresh) {
116
+ this.refresh();
117
+ }
118
+
119
+ return this.setProperty("active", active, false);
120
+ };
121
+
122
+ /**
123
+ * Returns whether the VizInstance is a standard tile type.
124
+ * @returns {boolean} Whether the VizInstance is standard.
125
+ * @override
126
+ * @since 1.153
127
+ * @private
128
+ */
129
+ VizInstanceAbap.prototype.isStandardType = function () {
130
+ return this._oChipInstanceWrapper.isStandardType();
131
+ };
132
+
133
+ return VizInstanceAbap;
134
+ });
@@ -0,0 +1,145 @@
1
+ // Copyright (c) 2009-2026 SAP SE, All Rights Reserved
2
+
3
+ /**
4
+ * @fileOverview VizInstance link implementation for the ABAP platform, displaying the TCode as a shortcut.
5
+ * @version 1.154.0
6
+ */
7
+ sap.ui.define([
8
+ "sap/ushell/ui/launchpad/VizInstanceLink",
9
+ "sap/ushell_abap/ui/VisualizationInstantiation/ChipInstanceWrapper",
10
+ "sap/ushell_abap/utils/UserPersonalization"
11
+ ], (
12
+ VizInstanceLink,
13
+ ChipInstanceWrapper,
14
+ UserPersonalization
15
+ ) => {
16
+ "use strict";
17
+
18
+ /**
19
+ * @alias sap.ushell_abap.ui.VisualizationInstantiation.VizInstanceAbapLink
20
+ * @class
21
+ * @classdesc VizInstance for compact ABAP link tiles backed by a CHIP instance,
22
+ * displaying the transaction code as an app shortcut.
23
+ *
24
+ * @param {string} [sId] ID for the new managed object; generated automatically if no non-empty ID is given
25
+ * @param {object} [mSettings] Optional map/JSON-object with initial property values, aggregated objects etc. for the new object
26
+ *
27
+ * @extends sap.ushell.ui.launchpad.VizInstanceLink
28
+ *
29
+ * @since 1.154.0
30
+ *
31
+ * @private
32
+ */ // eslint-disable-next-line max-len
33
+ const VizInstanceAbapLink = VizInstanceLink.extend("sap.ushell_abap.ui.VisualizationInstantiation.VizInstanceAbapLink", /** @lends sap.ushell_abap.ui.VisualizationInstantiation.VizInstanceAbapLink.prototype */ {
34
+ metadata: {
35
+ library: "sap.ushell_abap"
36
+ },
37
+ renderer: VizInstanceLink.getMetadata().getRenderer()
38
+ });
39
+
40
+ /**
41
+ * Lifecycle method which is called on create
42
+ *
43
+ * @since 1.154.0
44
+ * @private
45
+ */
46
+ VizInstanceAbapLink.prototype.init = function () {
47
+ VizInstanceLink.prototype.init.apply(this, arguments);
48
+
49
+ // prepare chip
50
+ this._oChipInstanceWrapper = new ChipInstanceWrapper(this);
51
+
52
+ this._fetchAndUpdateTransactionCode();
53
+
54
+ UserPersonalization.attachDisplayTransactionCodeChanged(this._fetchAndUpdateTransactionCode, this);
55
+ };
56
+
57
+ /**
58
+ * Fetches the transaction code and updates the internal value
59
+ *
60
+ * @returns {Promise} Resolves once updated
61
+ *
62
+ * @since 1.154.0
63
+ * @private
64
+ */
65
+ VizInstanceAbapLink.prototype._fetchAndUpdateTransactionCode = async function () {
66
+ const sTransactionCode = await this._oChipInstanceWrapper.getTransactionCode();
67
+ this.setAppShortcut(sTransactionCode);
68
+ };
69
+
70
+ /**
71
+ * Initializes the underlying CHIP instance with the provided instantiation data.
72
+ *
73
+ * @param {object} oInstantiationData The instantiation data for the CHIP.
74
+ * @returns {this} This instance, for chaining.
75
+ * @override
76
+ * @since 1.154.0
77
+ * @private
78
+ */
79
+ VizInstanceAbapLink.prototype.setInstantiationData = function (oInstantiationData) {
80
+ this._oChipInstanceWrapper.init(oInstantiationData);
81
+ this.setProperty("instantiationData", oInstantiationData);
82
+ return this;
83
+ };
84
+
85
+ /**
86
+ * Loads the underlying CHIP instance.
87
+ *
88
+ * @returns {Promise<undefined>} Resolves when the chip instance is loaded.
89
+ * @override
90
+ * @since 1.154.0
91
+ * @private
92
+ */
93
+ VizInstanceAbapLink.prototype.load = function () {
94
+ return this._oChipInstanceWrapper.load();
95
+ };
96
+
97
+ /**
98
+ * @returns {Promise<undefined>} Resolves when the chip instance has finished loading.
99
+ * @override
100
+ * @since 1.154.0
101
+ * @private
102
+ */
103
+ VizInstanceAbapLink.prototype.loaded = function () {
104
+ return this._oChipInstanceWrapper.loaded();
105
+ };
106
+
107
+ /**
108
+ * Returns whether the VizInstanceAbapLink is a standard tile type.
109
+ * @returns {boolean} Whether the VizInstanceAbapLink is standard.
110
+ * @since 1.154.0
111
+ * @private
112
+ */
113
+ VizInstanceAbapLink.prototype.isStandardType = function () {
114
+ return this._oChipInstanceWrapper.isStandardType();
115
+ };
116
+
117
+ /**
118
+ * Returns the transaction code from the inner CHIP instance
119
+ * Requires {@link #load} to be called first.
120
+ *
121
+ * @returns {Promise<string>} Resolves the transaction code to display.
122
+ *
123
+ * @since 1.154.0
124
+ * @private
125
+ */
126
+ VizInstanceAbapLink.prototype.getTransactionCode = async function () {
127
+ return this._oChipInstanceWrapper.getTransactionCode();
128
+ };
129
+
130
+ /**
131
+ * Lifecycle method which is called on destroy
132
+ *
133
+ * @since 1.154.0
134
+ * @private
135
+ */
136
+ VizInstanceAbapLink.prototype.exit = function () {
137
+ UserPersonalization.detachDisplayTransactionCodeChanged(this._fetchAndUpdateTransactionCode, this);
138
+
139
+ if (VizInstanceLink.prototype.exit) {
140
+ VizInstanceLink.prototype.exit.apply(this, arguments);
141
+ }
142
+ };
143
+
144
+ return VizInstanceAbapLink;
145
+ });
@@ -0,0 +1,127 @@
1
+ // Copyright (c) 2009-2026 SAP SE, All Rights Reserved
2
+ /**
3
+ * @fileOverview The ABAP platform's helper module to handle personalized settings values
4
+ *
5
+ * @version 1.154.0
6
+ */
7
+ sap.ui.define([
8
+ "sap/ui/base/EventProvider",
9
+ "sap/ui/core/Lib",
10
+ "sap/ushell/Config",
11
+ "sap/ushell/User/UserPersonalization"
12
+ ], (
13
+ EventProvider,
14
+ Lib,
15
+ Config,
16
+ UshellUserPersonalization
17
+ ) => {
18
+ "use strict";
19
+ class UserPersonalization {
20
+ #oEventProvider = new EventProvider();
21
+
22
+ /**
23
+ * Resolves the formatted transaction code to display on a tile.
24
+ *
25
+ * Returns the raw tcode when admin and user settings both permit display, a placeholder
26
+ * text when the feature is active but no tcode is configured, or an empty string when
27
+ * the feature is disabled (admin flag or user toggle).
28
+ *
29
+ * @param {string} sTransactionCode The raw transaction code from the tile configuration.
30
+ * @returns {Promise<string>} Resolves to the formatted display value.
31
+ *
32
+ * @since 1.153.0
33
+ * @private
34
+ */
35
+ async formatTransactionCode (sTransactionCode) {
36
+ const bShowTCode = await this.getDisplayTransactionCode();
37
+ if (!bShowTCode) {
38
+ return "";
39
+ }
40
+ if (sTransactionCode) {
41
+ return sTransactionCode.toUpperCase();
42
+ }
43
+ return Lib.getResourceBundleFor("sap.ushell_abap").getText("tileTransactionCodeNotMaintained").toUpperCase();
44
+ }
45
+
46
+ /**
47
+ * Handles the different setting options
48
+ *
49
+ * 1) Admin enablement ("/abap/ui/displayTransaction")
50
+ * 2) User enablement (personalization setting "showTransactionCode")
51
+ *
52
+ * @returns {Promise<boolean>} Resolves to whether the transaction code should be shown.
53
+ *
54
+ * @since 1.153.0
55
+ * @private
56
+ */
57
+ async getDisplayTransactionCode () {
58
+ if (Config.last("/abap/ui/displayTransaction") !== "Display_AllowUser") {
59
+ // feature off -> hidden; the user toggle is irrelevant
60
+ return false;
61
+ }
62
+ try {
63
+ const bValue = await UshellUserPersonalization.getItemValue("showTransactionCode");
64
+ return typeof bValue === "undefined" ? true : !!bValue;
65
+ } catch (oError) {
66
+ return false;
67
+ }
68
+ }
69
+
70
+ /**
71
+ * Persists display transaction code user setting in the personalization
72
+ *
73
+ * @param {boolean} bValue Whether the transaction code should be shown.
74
+ * @returns {Promise<undefined>} Resolves once the value was persisted.
75
+ *
76
+ * @since 1.153.0
77
+ * @private
78
+ */
79
+ async setDisplayTransactionCode (bValue) {
80
+ await UshellUserPersonalization.setItemValue("showTransactionCode", bValue);
81
+ this.#oEventProvider.fireEvent("displayTransactionCodeChanged");
82
+ }
83
+
84
+ /**
85
+ * Attaches an event handler to the display transaction code change event.
86
+ *
87
+ * @param {object} [oData] An object that will be passed to the handler along with the event object when the event is fired
88
+ * @param {function} fnFunction The handler function to call when the event occurs.
89
+ * This function will be called in the context of the <code>oListener</code> instance (if present) or on the event provider instance.
90
+ * The event object ({@link sap.ui.base.Event}) is provided as first argument of the handler. Handlers must not change the content of
91
+ * the event. The second argument is the specified <code>oData</code> instance (if present).
92
+ * @param {object} [oListener] The object that wants to be notified when the event occurs (<code>this</code> context within the
93
+ * handler function). If it is not specified, the handler function is called in the context of the event provider.
94
+ *
95
+ * @since 1.154.0
96
+ * @private
97
+ */
98
+ attachDisplayTransactionCodeChanged (...args) {
99
+ this.#oEventProvider.attachEvent("displayTransactionCodeChanged", ...args);
100
+ }
101
+
102
+ /**
103
+ * Detaches an event handler from the display transaction code change event.
104
+ *
105
+ * @param {function} fnFunction The handler function to detach from the event
106
+ * @param {object} [oListener] The object that wanted to be notified when the event occurred
107
+ *
108
+ * @since 1.154.0
109
+ * @private
110
+ */
111
+ detachDisplayTransactionCodeChanged (...args) {
112
+ this.#oEventProvider.detachEvent("displayTransactionCodeChanged", ...args);
113
+ }
114
+
115
+ /**
116
+ * Only for testing!
117
+ *
118
+ * @since 1.154.0
119
+ * @private
120
+ */
121
+ reset () {
122
+ this.#oEventProvider.destroy();
123
+ this.#oEventProvider = new EventProvider();
124
+ }
125
+ }
126
+ return new UserPersonalization();
127
+ });
package/ui5.yaml CHANGED
@@ -282,8 +282,6 @@ builder:
282
282
  - sap/ushell/components/container/ApplicationContainer.js
283
283
  - sap/ushell/components/pages/controller/PagesAndSpaceId.js
284
284
  - sap/ushell/components/SchedulingAgent/*.json # json files must be explicitly defined
285
- - sap/ushell/components/tiles/applauncher/StaticTile.controller.js
286
- - sap/ushell/components/tiles/applauncherdynamic/DynamicTile.controller.js
287
285
  - sap/ushell/components/tiles/cdm/applauncher/Component.js
288
286
  - sap/ushell/components/tiles/cdm/applauncher/StaticTile.controller.js
289
287
  - sap/ushell/components/tiles/cdm/applauncher/StaticTile.view.js
@@ -297,7 +295,7 @@ builder:
297
295
  - sap/ushell/library.js
298
296
  - sap/ushell/modules
299
297
  - sap/ushell/override.js
300
- - sap/ushell/renderer/Renderer.js
298
+ - sap/ushell/renderer/Component.js
301
299
  - sap/ushell/renderer/RendererRootView.fragment.xml
302
300
  - sap/ushell/renderer/Shell.controller.js
303
301
  - sap/ushell/renderer/Shell.view.js
@@ -347,6 +345,7 @@ builder:
347
345
  - sap/ushell/ui5service/ShellUIService.js
348
346
  - sap/ushell/utils/HttpClient.js
349
347
  - sap/ushell/utils/utilsCdm.js
348
+ - sap/ushell_abap/api
350
349
  - sap/ushell_abap/bootstrap/LoadLaunchpadModule.js
351
350
  - sap/ushell_abap/adapters/abap/AppStateAdapter.js
352
351
  - sap/ushell_abap/adapters/abap/ClientSideTargetResolutionAdapter.js
@@ -362,9 +361,14 @@ builder:
362
361
  - sap/ushell_abap/adapters/abap/PersonalizationV2Adapter.js
363
362
  - sap/ushell_abap/adapters/abap/Ui5ComponentLoaderAdapter.js
364
363
  - sap/ushell_abap/adapters/abap/UserInfoAdapter.js
364
+ - sap/ushell_abap/adapters/abap/VisualizationInstantiationAdapter.js
365
+ - sap/ushell_abap/components/tiles/applauncher/StaticTile.controller.js
366
+ - sap/ushell_abap/components/tiles/applauncherdynamic/DynamicTile.controller.js
365
367
  - sap/ushell_abap/services/NavigationDataProvider.js
366
368
  - sap/ushell_abap/library.js
367
369
  - sap/ushell_abap/pbServices/
370
+ - sap/ushell_abap/ui
371
+ - sap/ushell_abap/utils
368
372
  - '!sap/viz/libs/sap-viz.js'
369
373
  - '!sap/ui/unified/'
370
374
  resolve: true
@@ -440,6 +444,7 @@ builder:
440
444
  - '!sap/ushell/ui/tile/'
441
445
  - '!sap/ushell/ui5service/UserStatus.js'
442
446
  - '!sap/ushell/utils/'
447
+ - "!sap/ushell_abap/adapters/local/"
443
448
  - '!sap/ushell_abap/bootstrap/'
444
449
  - '!sap/ushell_abap/thirdparty/sap-xhrlib-esm*.js'
445
450
  - '!sap/ushell_abap/ui5appruntime/'
@@ -514,6 +519,11 @@ builder:
514
519
  - mode: preload
515
520
  filters:
516
521
  - sap/ushell_abap/
522
+ - "!sap/ushell_abap/components/"
523
+ - sap/ushell_abap/components/TCodeNavigation/
524
+ - sap/ushell_abap/components/TCodeNavigation.js
525
+ - sap/ushell_abap/components/SideNavigation/
526
+ - "!sap/ushell_abap/adapters/local/"
517
527
  # Exclude all bundles
518
528
  - "!sap/ushell_abap/**/*-preload*.js"
519
529
  - "!sap/ushell_abap/preload-bundles/"
@@ -526,6 +536,14 @@ builder:
526
536
  renderer: true
527
537
  bundleOptions:
528
538
  optimize: true
539
+ componentPreload:
540
+ excludes:
541
+ - sap/ushell_abap/components/TCodeNavigation.js
542
+ - sap/ushell_abap/components/TCodeNavigation/
543
+ paths:
544
+ - sap/ushell_abap/components/tiles/applauncher/Component.js
545
+ - sap/ushell_abap/components/tiles/applauncherdynamic/Component.js
546
+ - sap/ushell_abap/components/settings/TransactionCode/Component.js
529
547
  jsdoc:
530
548
  excludes:
531
549
  - sap/ui/Device.js