@sapui5/sap.cux.home 1.140.0 → 1.142.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/cux/home/.library +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.js +3 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.ts +3 -1
- package/src/sap/cux/home/App.d.ts.map +1 -1
- package/src/sap/cux/home/App.js +6 -1
- package/src/sap/cux/home/App.js.map +1 -1
- package/src/sap/cux/home/App.ts +7 -1
- package/src/sap/cux/home/AppsAdditionPanel.d.ts +1 -0
- package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.js +64 -59
- package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.ts +44 -34
- package/src/sap/cux/home/AppsContainer.d.ts +5 -1
- package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
- package/src/sap/cux/home/AppsContainer.js +44 -37
- package/src/sap/cux/home/AppsContainer.js.map +1 -1
- package/src/sap/cux/home/AppsContainer.ts +43 -33
- package/src/sap/cux/home/BaseAppPanel.d.ts +2 -1
- package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.js +3 -1
- package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.ts +5 -2
- package/src/sap/cux/home/BaseContainer.d.ts +8 -0
- package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainer.js +26 -4
- package/src/sap/cux/home/BaseContainer.js.map +1 -1
- package/src/sap/cux/home/BaseContainer.ts +26 -3
- package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.ts +1 -1
- package/src/sap/cux/home/BaseNewsPanel.js +1 -1
- package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.ts +2 -2
- package/src/sap/cux/home/BasePanel.d.ts +7 -0
- package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
- package/src/sap/cux/home/BasePanel.js +20 -0
- package/src/sap/cux/home/BasePanel.js.map +1 -1
- package/src/sap/cux/home/BasePanel.ts +16 -0
- package/src/sap/cux/home/BaseSettingsPanel.d.ts +9 -0
- package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.js +13 -0
- package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.ts +15 -0
- package/src/sap/cux/home/CardsPanel.d.ts +7 -0
- package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/CardsPanel.js +132 -113
- package/src/sap/cux/home/CardsPanel.js.map +1 -1
- package/src/sap/cux/home/CardsPanel.ts +19 -8
- package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.js +6 -2
- package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.ts +5 -1
- package/src/sap/cux/home/ErrorPanel.js +2 -2
- package/src/sap/cux/home/ErrorPanel.js.map +1 -1
- package/src/sap/cux/home/ErrorPanel.ts +2 -2
- package/src/sap/cux/home/FavAppPanel.d.ts +4 -10
- package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/FavAppPanel.js +432 -446
- package/src/sap/cux/home/FavAppPanel.js.map +1 -1
- package/src/sap/cux/home/FavAppPanel.ts +56 -84
- package/src/sap/cux/home/FrequentAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/FrequentAppPanel.js +5 -1
- package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
- package/src/sap/cux/home/FrequentAppPanel.ts +4 -0
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.js +3 -1
- package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.ts +2 -0
- package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsContainer.js +2 -2
- package/src/sap/cux/home/InsightsContainer.js.map +1 -1
- package/src/sap/cux/home/InsightsContainer.ts +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts +0 -4
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.js +2 -2
- package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.ts +4 -4
- package/src/sap/cux/home/NewsPanel.d.ts +17 -0
- package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsPanel.js +100 -68
- package/src/sap/cux/home/NewsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsPanel.ts +60 -33
- package/src/sap/cux/home/NewsSettingsPanel.d.ts +42 -6
- package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.js +219 -81
- package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.ts +215 -80
- package/src/sap/cux/home/Page.d.ts.map +1 -1
- package/src/sap/cux/home/Page.js +4 -1
- package/src/sap/cux/home/Page.js.map +1 -1
- package/src/sap/cux/home/Page.ts +2 -0
- package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
- package/src/sap/cux/home/PagePanel.js +5 -2
- package/src/sap/cux/home/PagePanel.js.map +1 -1
- package/src/sap/cux/home/PagePanel.ts +8 -8
- package/src/sap/cux/home/PageSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/PageSettingsPanel.js +6 -3
- package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/PageSettingsPanel.ts +2 -2
- package/src/sap/cux/home/RecentAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.js +6 -0
- package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.ts +5 -1
- package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.js +7 -0
- package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.ts +6 -1
- package/src/sap/cux/home/SettingsDialog.d.ts +1 -0
- package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/SettingsDialog.js +13 -6
- package/src/sap/cux/home/SettingsDialog.js.map +1 -1
- package/src/sap/cux/home/SettingsDialog.ts +14 -6
- package/src/sap/cux/home/SideBySideIconTabFilter.d.ts +10 -0
- package/src/sap/cux/home/SideBySideIconTabFilter.d.ts.map +1 -1
- package/src/sap/cux/home/SideBySideIconTabFilter.js +12 -1
- package/src/sap/cux/home/SideBySideIconTabFilter.js.map +1 -1
- package/src/sap/cux/home/SideBySideIconTabFilter.ts +13 -1
- package/src/sap/cux/home/SituationPanel.d.ts.map +1 -1
- package/src/sap/cux/home/SituationPanel.js +7 -2
- package/src/sap/cux/home/SituationPanel.js.map +1 -1
- package/src/sap/cux/home/SituationPanel.ts +2 -0
- package/src/sap/cux/home/SpaceInsightsPanel.js +1 -1
- package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -1
- package/src/sap/cux/home/SpaceInsightsPanel.ts +1 -1
- package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TaskPanel.js +3 -0
- package/src/sap/cux/home/TaskPanel.js.map +1 -1
- package/src/sap/cux/home/TaskPanel.ts +2 -1
- package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TilesPanel.js +10 -3
- package/src/sap/cux/home/TilesPanel.js.map +1 -1
- package/src/sap/cux/home/TilesPanel.ts +7 -3
- package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ToDoPanel.js +29 -8
- package/src/sap/cux/home/ToDoPanel.js.map +1 -1
- package/src/sap/cux/home/ToDoPanel.ts +19 -8
- package/src/sap/cux/home/ToDosContainer.js +3 -3
- package/src/sap/cux/home/ToDosContainer.js.map +1 -1
- package/src/sap/cux/home/ToDosContainer.ts +1 -1
- package/src/sap/cux/home/i18n/messagebundle.properties +13 -7
- package/src/sap/cux/home/i18n/messagebundle_ar.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_bg.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_ca.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_cnr.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_cs.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_cy.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_da.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_de.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_el.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_en.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +1 -3
- package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +1 -3
- package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_es.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_et.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_fi.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_fr.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_hi.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_hr.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_hu.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_id.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_it.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_iw.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_ja.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_kk.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_ko.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_lt.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_lv.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_mk.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_ms.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_nl.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_no.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_pl.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_pt.properties +1 -3
- package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_ro.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_ru.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_sh.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_sk.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_sl.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_sr.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_sv.properties +1 -3
- package/src/sap/cux/home/i18n/messagebundle_th.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_tr.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_uk.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_vi.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +0 -2
- package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +0 -2
- package/src/sap/cux/home/interface/AppsInterface.d.ts +5 -0
- package/src/sap/cux/home/interface/AppsInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/AppsInterface.js.map +1 -1
- package/src/sap/cux/home/interface/AppsInterface.ts +6 -0
- package/src/sap/cux/home/library.d.ts.map +1 -1
- package/src/sap/cux/home/library.js +1 -0
- package/src/sap/cux/home/library.js.map +1 -1
- package/src/sap/cux/home/library.ts +1 -0
- package/src/sap/cux/home/themes/base/AppsContainer.less +12 -1
- package/src/sap/cux/home/themes/base/BaseLayout.less +11 -0
- package/src/sap/cux/home/themes/base/InsightsContainer.less +4 -0
- package/src/sap/cux/home/themes/base/ToDosContainer.less +4 -0
- package/src/sap/cux/home/utils/AppManager.d.ts +7 -6
- package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
- package/src/sap/cux/home/utils/AppManager.js +1 -1
- package/src/sap/cux/home/utils/AppManager.js.map +1 -1
- package/src/sap/cux/home/utils/AppManager.ts +9 -10
- package/src/sap/cux/home/utils/BatchHelper.d.ts.map +1 -1
- package/src/sap/cux/home/utils/BatchHelper.js +1 -1
- package/src/sap/cux/home/utils/BatchHelper.js.map +1 -1
- package/src/sap/cux/home/utils/BatchHelper.ts +4 -1
- package/src/sap/cux/home/utils/FESRUtil.d.ts +30 -0
- package/src/sap/cux/home/utils/FESRUtil.d.ts.map +1 -1
- package/src/sap/cux/home/utils/FESRUtil.js +36 -1
- package/src/sap/cux/home/utils/FESRUtil.js.map +1 -1
- package/src/sap/cux/home/utils/FESRUtil.ts +36 -0
- package/src/sap/cux/home/utils/PXFeedback.d.ts +4 -0
- package/src/sap/cux/home/utils/PXFeedback.d.ts.map +1 -0
- package/src/sap/cux/home/utils/PXFeedback.js +28 -0
- package/src/sap/cux/home/utils/PXFeedback.js.map +1 -0
- package/src/sap/cux/home/utils/PXFeedback.ts +19 -0
- package/src/sap/cux/home/utils/PageManager.d.ts +0 -4
- package/src/sap/cux/home/utils/PageManager.d.ts.map +1 -1
- package/src/sap/cux/home/utils/PageManager.js +6 -6
- package/src/sap/cux/home/utils/PageManager.js.map +1 -1
- package/src/sap/cux/home/utils/PageManager.ts +6 -5
- package/src/sap/cux/home/utils/UshellPersonalizer.js +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.ts +1 -1
- package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +1 -1
|
@@ -69,6 +69,7 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
|
|
|
69
69
|
Device.resize.attachHandler(() => {
|
|
70
70
|
const deviceType = calculateDeviceType();
|
|
71
71
|
this._splitApp.setMode(deviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop ? "ShowHideMode" : "HideMode");
|
|
72
|
+
this._showHamburger = undefined;
|
|
72
73
|
const isMasterShown = this._splitApp.isMasterShown();
|
|
73
74
|
this._updateHeaderButtonVisibility(isMasterShown);
|
|
74
75
|
});
|
|
@@ -104,13 +105,16 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
|
|
|
104
105
|
_toggleMasterPage: function _toggleMasterPage() {
|
|
105
106
|
const isMasterShown = this._splitApp.isMasterShown();
|
|
106
107
|
const deviceType = this._deviceType || calculateDeviceType();
|
|
107
|
-
if (deviceType
|
|
108
|
+
if (deviceType === DeviceType.Mobile) {
|
|
108
109
|
this._splitApp.toMaster(this._masterPage.getId(), "slide");
|
|
110
|
+
this._splitApp.showMaster();
|
|
109
111
|
} else {
|
|
110
112
|
if (isMasterShown) {
|
|
111
113
|
this._splitApp.hideMaster();
|
|
114
|
+
this._showHamburger = true;
|
|
112
115
|
} else {
|
|
113
116
|
this._splitApp.showMaster();
|
|
117
|
+
this._showHamburger = false;
|
|
114
118
|
}
|
|
115
119
|
}
|
|
116
120
|
this._updateHeaderButtonVisibility(!isMasterShown);
|
|
@@ -130,17 +134,20 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
|
|
|
130
134
|
if (Device.orientation?.portrait) {
|
|
131
135
|
// Show menu button in portrait mode with a tooltip
|
|
132
136
|
const tooltipText = this._i18nBundle.getText(isMasterShown ? "ToggleButtonHide" : "ToggleButtonShow");
|
|
133
|
-
this._menuBtn.setVisible(true);
|
|
134
137
|
if (tooltipText) {
|
|
135
138
|
// Only set the tooltip if a valid string is available
|
|
136
139
|
this._menuBtn.setTooltip(tooltipText);
|
|
137
140
|
}
|
|
138
|
-
} else {
|
|
139
|
-
// Hide or show the menu button in other orientations
|
|
140
|
-
this._menuBtn.setVisible(isMasterShown);
|
|
141
141
|
}
|
|
142
|
+
this._menuBtn.setVisible(true);
|
|
142
143
|
} else {
|
|
143
|
-
|
|
144
|
+
let visibility = true;
|
|
145
|
+
if (this._showHamburger === undefined) {
|
|
146
|
+
if (this._splitApp.isMasterShown()) {
|
|
147
|
+
visibility = false;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
this._menuBtn.setVisible(visibility);
|
|
144
151
|
}
|
|
145
152
|
},
|
|
146
153
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsDialog.js","names":["sap","ui","define","Bar","Button","sap_m_library","List","Page","SplitApp","StandardListItem","Title","Element","Device","__BaseSettingsDialog","___utils_Device","_interopRequireDefault","obj","__esModule","default","SplitAppMode","BaseSettingsDialog","calculateDeviceType","DeviceType","SettingsDialog","extend","renderer","apiVersion","init","_init","BaseSettingsDialog.prototype.init.call","_controlMap","Map","setContentWidth","setStretch","setCustomHeader","_setCustomHeader","addButton","getId","text","_i18nBundle","getText","type","press","close","addContent","title","showHeader","content","_getPageContent","_attachResizeHandler","resize","attachHandler","deviceType","_splitApp","setMode","Desktop","LargeDesktop","XLargeDesktop","isMasterShown","_updateHeaderButtonVisibility","_menuBtn","icon","tooltip","_toggleMasterPage","visible","contentLeft","contentMiddle","level","_deviceType","Tablet","toMaster","_masterPage","hideMaster","showMaster","Mobile","setVisible","orientation","portrait","tooltipText","setTooltip","_menuList","mode","itemPress","event","_navigateToDetailPage","addStyleClass","masterPages","masterButton","_hideNavigationButton","context","listItem","getParameter","firstPanel","getPanels","selectedKey","data","getProperty","setProperty","detailPage","getElementById","toDetail","getMode","ShowHideMode","selectedPanel","find","panel","firePanelNavigated","removeSelections","pageItem","setTimeout","setSelectedItem","focus","navigationButton","getSource","destroy","onBeforeRendering","_onBeforeRendering","BaseSettingsDialog.prototype.onBeforeRendering.call","forEach","_getPageListItem","then","item","addItem","addDetailPage","_getDetailPage","settingsPanel","_this","id","get","iconDensityAware","set","_listItem","_setVisible","Promise","resolve","isSupported","_settingsPanel$isSupp","call","e","reject","page","backgroundDesign","getActionButtons","actionButton","addHeaderContent","getAggregation"],"sources":["SettingsDialog.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport { Event as JQueryEvent } from \"jquery\";\nimport Bar from \"sap/m/Bar\";\nimport Button from \"sap/m/Button\";\nimport { SplitAppMode } from \"sap/m/library\";\nimport List from \"sap/m/List\";\nimport Page from \"sap/m/Page\";\nimport SplitApp from \"sap/m/SplitApp\";\nimport StandardListItem from \"sap/m/StandardListItem\";\nimport Title from \"sap/m/Title\";\nimport Event from \"sap/ui/base/Event\";\nimport Control from \"sap/ui/core/Control\";\nimport Element from \"sap/ui/core/Element\";\nimport Device from \"sap/ui/Device\";\nimport BaseSettingsDialog from \"./BaseSettingsDialog\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport { calculateDeviceType, DeviceType } from \"./utils/Device\";\n\n/**\n *\n * Dialog class for My Home Settings.\n *\n * @extends BaseSettingsDialog\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n * @private\n *\n * @alias sap.cux.home.SettingsDialog\n */\nexport default class SettingsDialog extends BaseSettingsDialog {\n\tprivate _controlMap!: Map<string, Control | Element>;\n\tprivate _menuBtn!: Button;\n\tprivate _menuList!: List;\n\tprivate _masterPage!: Page;\n\tprivate _splitApp!: SplitApp;\n\tprivate _deviceType!: DeviceType;\n\n\tstatic renderer = {\n\t\tapiVersion: 2\n\t};\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\t\tthis._controlMap = new Map();\n\n\t\t//setup dialog\n\t\tthis.setContentWidth(\"72rem\");\n\t\tthis.setStretch(false);\n\t\tthis.setCustomHeader(this._setCustomHeader());\n\n\t\t//setup dialog buttons\n\t\tthis.addButton(\n\t\t\tnew Button(`${this.getId()}-close-btn`, {\n\t\t\t\ttext: this._i18nBundle.getText(\"XBUT_CLOSE\"),\n\t\t\t\ttype: \"Transparent\",\n\t\t\t\tpress: () => this.close()\n\t\t\t})\n\t\t);\n\n\t\t//setup dialog content\n\t\tthis.addContent(\n\t\t\tnew Page(`${this.getId()}-settingsPage`, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\t\tshowHeader: false,\n\t\t\t\tcontent: this._getPageContent()\n\t\t\t})\n\t\t);\n\t\tthis._attachResizeHandler();\n\t}\n\t/**\n\t * Attaches a resize event handler to dynamically adjust the split app mode and\n\t * header button visibility based on the current device type.\n\t *\n\t * @returns {void}\n\t */\n\n\tprivate _attachResizeHandler(): void {\n\t\tDevice.resize.attachHandler(() => {\n\t\t\tconst deviceType = calculateDeviceType();\n\t\t\tthis._splitApp.setMode(\n\t\t\t\tdeviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop\n\t\t\t\t\t? \"ShowHideMode\"\n\t\t\t\t\t: \"HideMode\"\n\t\t\t);\n\t\t\tconst isMasterShown = this._splitApp.isMasterShown();\n\t\t\tthis._updateHeaderButtonVisibility(isMasterShown);\n\t\t});\n\t}\n\t/**\n\t * Creates and sets a custom header for the SettingsDialog.\n\t *\n\t * @private\n\t * @returns {Bar} The custom header bar for the SettingsDialog.\n\t */\n\tprivate _setCustomHeader(): Bar {\n\t\tthis._menuBtn = new Button(`${this.getId()}-menu-btn`, {\n\t\t\ticon: \"sap-icon://menu2\",\n\t\t\ttooltip: this._i18nBundle.getText(\"showMenu\"),\n\t\t\tpress: () => this._toggleMasterPage(),\n\t\t\tvisible: false\n\t\t});\n\t\treturn new Bar(`${this.getId()}-header`, {\n\t\t\tcontentLeft: [this._menuBtn],\n\t\t\tcontentMiddle: [\n\t\t\t\tnew Title(`${this.getId()}-dialog-title`, {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\t\t\tlevel: \"H1\"\n\t\t\t\t})\n\t\t\t]\n\t\t});\n\t}\n\n\t/**\n\t * Toggles the visibility of the master page in the SettingsDialog based on the current device width.\n\t * If the device width is less than 600 pixels or equal to or greater than 1024 pixels, the master\n\t * page is always shown. Otherwise, it toggles the visibility of the master page.\n\t *\n\t * @private\n\t */\n\tprivate _toggleMasterPage(): void {\n\t\tconst isMasterShown = this._splitApp.isMasterShown();\n\t\tconst deviceType = this._deviceType || calculateDeviceType();\n\t\tif (deviceType !== DeviceType.Tablet) {\n\t\t\tthis._splitApp.toMaster(this._masterPage.getId(), \"slide\");\n\t\t} else {\n\t\t\tif (isMasterShown) {\n\t\t\t\tthis._splitApp.hideMaster();\n\t\t\t} else {\n\t\t\t\tthis._splitApp.showMaster();\n\t\t\t}\n\t\t}\n\t\tthis._updateHeaderButtonVisibility(!isMasterShown);\n\t}\n\n\t/**\n\t * Update header button\n\t *\n\t * @param {boolean} isMasterShown If master page is shown\n\t * @private\n\t */\n\tprivate _updateHeaderButtonVisibility(isMasterShown: boolean): void {\n\t\tconst deviceType = this._deviceType || calculateDeviceType();\n\t\tif (deviceType === DeviceType.Mobile) {\n\t\t\t// Hide or show the menu button on mobile\n\t\t\tthis._menuBtn.setVisible(!isMasterShown);\n\t\t} else if (deviceType === DeviceType.Tablet) {\n\t\t\tif (Device.orientation?.portrait) {\n\t\t\t\t// Show menu button in portrait mode with a tooltip\n\t\t\t\tconst tooltipText = this._i18nBundle.getText(isMasterShown ? \"ToggleButtonHide\" : \"ToggleButtonShow\");\n\t\t\t\tthis._menuBtn.setVisible(true);\n\t\t\t\tif (tooltipText) {\n\t\t\t\t\t// Only set the tooltip if a valid string is available\n\t\t\t\t\tthis._menuBtn.setTooltip(tooltipText);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Hide or show the menu button in other orientations\n\t\t\t\tthis._menuBtn.setVisible(isMasterShown);\n\t\t\t}\n\t\t} else {\n\t\t\tthis._menuBtn.setVisible(false);\n\t\t}\n\t}\n\n\t/**\n\t * Generates the content for the SettingsDialog, including the master page and split app.\n\t *\n\t * @private\n\t * @returns {SplitApp} The split app containing the master page and detail pages for the SettingsDialog.\n\t */\n\tprivate _getPageContent(): SplitApp {\n\t\tthis._menuList = new List(`${this.getId()}-master-pages-list`, {\n\t\t\tmode: \"SingleSelectMaster\",\n\t\t\titemPress: (event: Event) => this._navigateToDetailPage(event)\n\t\t}).addStyleClass(\"sapCuxMasterPageList\");\n\t\tthis._masterPage = new Page(`${this.getId()}-master-page`, {\n\t\t\ttitle: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\tshowHeader: false,\n\t\t\tcontent: [this._menuList]\n\t\t});\n\t\tthis._splitApp = new SplitApp(`${this.getId()}-settingsApp`, {\n\t\t\tmode: \"ShowHideMode\",\n\t\t\tmasterPages: [this._masterPage],\n\t\t\tmasterButton: (event: Event) => this._hideNavigationButton(event)\n\t\t});\n\n\t\treturn this._splitApp;\n\t}\n\n\t/**\n\t * Navigates to the detail page associated with the selected item in the master page list.\n\t *\n\t * @private\n\t * @param {Event} event The item press event from the master page list.\n\t */\n\tprivate _navigateToDetailPage(event: Event<{ listItem?: StandardListItem }> | string, context?: object): void {\n\t\t//update selected key\n\t\tconst listItem = typeof event === \"string\" ? event : event.getParameter?.(\"listItem\");\n\t\tconst firstPanel = this.getPanels()[0];\n\t\tconst selectedKey = ((listItem as StandardListItem)?.data?.(\"key\") || event || firstPanel?.getProperty(\"key\")) as string;\n\t\tthis.setProperty(\"selectedKey\", selectedKey, true);\n\n\t\t//navigate to detail page\n\t\tconst detailPage = Element.getElementById(`${selectedKey}-detail-page`) as Page;\n\t\tthis._splitApp.toDetail(detailPage.getId(), \"slide\");\n\t\tthis._splitApp.hideMaster();\n\t\tif (this._splitApp.getMode() === SplitAppMode.ShowHideMode) {\n\t\t\tthis._updateHeaderButtonVisibility(false);\n\t\t}\n\n\t\t//fire panel navigated event\n\t\tconst selectedPanel = this.getPanels().find(\n\t\t\t(panel: BaseSettingsPanel) => panel.getProperty(\"key\") === selectedKey\n\t\t) as BaseSettingsPanel;\n\t\tselectedPanel?.firePanelNavigated({ context });\n\n\t\t//select list item\n\t\tthis._menuList.removeSelections(true);\n\t\tconst pageItem = Element.getElementById(`${selectedKey}-page-item`) as StandardListItem;\n\t\tsetTimeout(() => {\n\t\t\tthis._menuList.setSelectedItem(pageItem);\n\t\t\tpageItem.focus();\n\t\t}, 0);\n\t}\n\n\t/**\n\t * Hides the navigation button associated with the provided event.\n\t *\n\t * @private\n\t * @param {Event} event The event triggering the hide action.\n\t */\n\tprivate _hideNavigationButton(event: Event): void {\n\t\tconst navigationButton = Element.getElementById(`${event.getSource<SplitApp>().getId()}-MasterBtn`) as Button;\n\t\tnavigationButton?.destroy();\n\t}\n\n\t/**\n\t * onBeforeRendering lifecycle method.\n\t * Prepares the SettingsDialog content and navigate to the selected detail page.\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic onBeforeRendering(event: JQueryEvent): void {\n\t\tsuper.onBeforeRendering(event);\n\n\t\t//setup master and detail page content\n\t\tthis.getPanels().forEach((panel: BaseSettingsPanel) => {\n\t\t\tvoid this._getPageListItem(panel).then((item) => this._menuList.addItem(item));\n\t\t\tthis._splitApp.addDetailPage(this._getDetailPage(panel));\n\t\t});\n\n\t\t//navigate to detail page\n\t\tconst selectedKey = this.getProperty(\"selectedKey\") as string;\n\t\tconst context = this.getProperty(\"context\") as object;\n\t\tthis._navigateToDetailPage(selectedKey, context);\n\t}\n\n\t/**\n\t * Generates a list item for the master page list based on the settings panel.\n\t * The list item displays the title and icon of the settings panel.\n\t *\n\t * @private\n\t * @param {BaseSettingsPanel} settingsPanel The settings panel for which to generate the list item.\n\t * @returns {StandardListItem} The list item control representing the settings panel in the master page list.\n\t */\n\tprivate async _getPageListItem(settingsPanel: BaseSettingsPanel): Promise<StandardListItem> {\n\t\tconst id = `${settingsPanel.getProperty(\"key\")}-page-item`;\n\t\tlet listItem = this._controlMap.get(id) as StandardListItem;\n\n\t\tif (!listItem) {\n\t\t\tlistItem = new StandardListItem(id, {\n\t\t\t\ttitle: settingsPanel.getProperty(\"title\") as string,\n\t\t\t\ticon: settingsPanel.getProperty(\"icon\") as string,\n\t\t\t\ttype: \"Navigation\",\n\t\t\t\ticonDensityAware: false\n\t\t\t});\n\t\t\tlistItem.data(\"key\", settingsPanel.getProperty(\"key\"));\n\t\t\tthis._controlMap.set(id, listItem);\n\t\t}\n\n\t\tlistItem.setVisible(await settingsPanel.isSupported());\n\t\treturn listItem;\n\t}\n\n\t/**\n\t * Generates a detail page for the SettingsDialog based on the provided settings panel.\n\t *\n\t * @private\n\t * @param {BaseSettingsPanel} settingsPanel The settings panel for which to generate the detail page.\n\t * @returns {Page} The detail page control representing the settings panel.\n\t */\n\tprivate _getDetailPage(settingsPanel: BaseSettingsPanel): Page {\n\t\tconst id = `${settingsPanel.getProperty(\"key\")}-detail-page`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tconst page = new Page(id, {\n\t\t\t\ttitle: settingsPanel.getProperty(\"title\") as string,\n\t\t\t\tbackgroundDesign: \"List\",\n\t\t\t\tshowHeader: settingsPanel.getProperty(\"showHeader\") as boolean\n\t\t\t});\n\n\t\t\t//add settings panel action buttons\n\t\t\tsettingsPanel.getActionButtons().forEach((actionButton) => {\n\t\t\t\tpage.addHeaderContent(actionButton);\n\t\t\t});\n\n\t\t\tthis._controlMap.set(id, page);\n\t\t}\n\n\t\t//add settings panel content\n\t\t(settingsPanel.getAggregation(\"content\") as Control[]).forEach((content) => (this._controlMap.get(id) as Page).addContent(content));\n\n\t\treturn this._controlMap.get(id) as Page;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SettingsDialog.js","names":["sap","ui","define","Bar","Button","sap_m_library","List","Page","SplitApp","StandardListItem","Title","Element","Device","__BaseSettingsDialog","___utils_Device","_interopRequireDefault","obj","__esModule","default","SplitAppMode","BaseSettingsDialog","calculateDeviceType","DeviceType","SettingsDialog","extend","renderer","apiVersion","init","_init","BaseSettingsDialog.prototype.init.call","_controlMap","Map","setContentWidth","setStretch","setCustomHeader","_setCustomHeader","addButton","getId","text","_i18nBundle","getText","type","press","close","addContent","title","showHeader","content","_getPageContent","_attachResizeHandler","resize","attachHandler","deviceType","_splitApp","setMode","Desktop","LargeDesktop","XLargeDesktop","_showHamburger","undefined","isMasterShown","_updateHeaderButtonVisibility","_menuBtn","icon","tooltip","_toggleMasterPage","visible","contentLeft","contentMiddle","level","_deviceType","Mobile","toMaster","_masterPage","showMaster","hideMaster","setVisible","Tablet","orientation","portrait","tooltipText","setTooltip","visibility","_menuList","mode","itemPress","event","_navigateToDetailPage","addStyleClass","masterPages","masterButton","_hideNavigationButton","context","listItem","getParameter","firstPanel","getPanels","selectedKey","data","getProperty","setProperty","detailPage","getElementById","toDetail","getMode","ShowHideMode","selectedPanel","find","panel","firePanelNavigated","removeSelections","pageItem","setTimeout","setSelectedItem","focus","navigationButton","getSource","destroy","onBeforeRendering","_onBeforeRendering","BaseSettingsDialog.prototype.onBeforeRendering.call","forEach","_getPageListItem","then","item","addItem","addDetailPage","_getDetailPage","settingsPanel","_this","id","get","iconDensityAware","set","_listItem","_setVisible","Promise","resolve","isSupported","_settingsPanel$isSupp","call","e","reject","page","backgroundDesign","getActionButtons","actionButton","addHeaderContent","getAggregation"],"sources":["SettingsDialog.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport { Event as JQueryEvent } from \"jquery\";\nimport Bar from \"sap/m/Bar\";\nimport Button from \"sap/m/Button\";\nimport { SplitAppMode } from \"sap/m/library\";\nimport List from \"sap/m/List\";\nimport Page from \"sap/m/Page\";\nimport SplitApp from \"sap/m/SplitApp\";\nimport StandardListItem from \"sap/m/StandardListItem\";\nimport Title from \"sap/m/Title\";\nimport Event from \"sap/ui/base/Event\";\nimport Control from \"sap/ui/core/Control\";\nimport Element from \"sap/ui/core/Element\";\nimport Device from \"sap/ui/Device\";\nimport BaseSettingsDialog from \"./BaseSettingsDialog\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport { calculateDeviceType, DeviceType } from \"./utils/Device\";\n\n/**\n *\n * Dialog class for My Home Settings.\n *\n * @extends BaseSettingsDialog\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n * @private\n *\n * @alias sap.cux.home.SettingsDialog\n */\nexport default class SettingsDialog extends BaseSettingsDialog {\n\tprivate _controlMap!: Map<string, Control | Element>;\n\tprivate _menuBtn!: Button;\n\tprivate _menuList!: List;\n\tprivate _masterPage!: Page;\n\tprivate _splitApp!: SplitApp;\n\tprivate _deviceType!: DeviceType;\n\tprivate _showHamburger!: boolean | undefined;\n\n\tstatic renderer = {\n\t\tapiVersion: 2\n\t};\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\t\tthis._controlMap = new Map();\n\n\t\t//setup dialog\n\t\tthis.setContentWidth(\"72rem\");\n\t\tthis.setStretch(false);\n\t\tthis.setCustomHeader(this._setCustomHeader());\n\n\t\t//setup dialog buttons\n\t\tthis.addButton(\n\t\t\tnew Button(`${this.getId()}-close-btn`, {\n\t\t\t\ttext: this._i18nBundle.getText(\"XBUT_CLOSE\"),\n\t\t\t\ttype: \"Transparent\",\n\t\t\t\tpress: () => this.close()\n\t\t\t})\n\t\t);\n\n\t\t//setup dialog content\n\t\tthis.addContent(\n\t\t\tnew Page(`${this.getId()}-settingsPage`, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\t\tshowHeader: false,\n\t\t\t\tcontent: this._getPageContent()\n\t\t\t})\n\t\t);\n\t\tthis._attachResizeHandler();\n\t}\n\t/**\n\t * Attaches a resize event handler to dynamically adjust the split app mode and\n\t * header button visibility based on the current device type.\n\t *\n\t * @returns {void}\n\t */\n\n\tprivate _attachResizeHandler(): void {\n\t\tDevice.resize.attachHandler(() => {\n\t\t\tconst deviceType = calculateDeviceType();\n\t\t\tthis._splitApp.setMode(\n\t\t\t\tdeviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop\n\t\t\t\t\t? \"ShowHideMode\"\n\t\t\t\t\t: \"HideMode\"\n\t\t\t);\n\t\t\tthis._showHamburger = undefined;\n\t\t\tconst isMasterShown = this._splitApp.isMasterShown();\n\t\t\tthis._updateHeaderButtonVisibility(isMasterShown);\n\t\t});\n\t}\n\t/**\n\t * Creates and sets a custom header for the SettingsDialog.\n\t *\n\t * @private\n\t * @returns {Bar} The custom header bar for the SettingsDialog.\n\t */\n\tprivate _setCustomHeader(): Bar {\n\t\tthis._menuBtn = new Button(`${this.getId()}-menu-btn`, {\n\t\t\ticon: \"sap-icon://menu2\",\n\t\t\ttooltip: this._i18nBundle.getText(\"showMenu\"),\n\t\t\tpress: () => this._toggleMasterPage(),\n\t\t\tvisible: false\n\t\t});\n\t\treturn new Bar(`${this.getId()}-header`, {\n\t\t\tcontentLeft: [this._menuBtn],\n\t\t\tcontentMiddle: [\n\t\t\t\tnew Title(`${this.getId()}-dialog-title`, {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\t\t\tlevel: \"H1\"\n\t\t\t\t})\n\t\t\t]\n\t\t});\n\t}\n\n\t/**\n\t * Toggles the visibility of the master page in the SettingsDialog based on the current device width.\n\t * If the device width is less than 600 pixels or equal to or greater than 1024 pixels, the master\n\t * page is always shown. Otherwise, it toggles the visibility of the master page.\n\t *\n\t * @private\n\t */\n\tprivate _toggleMasterPage(): void {\n\t\tconst isMasterShown = this._splitApp.isMasterShown();\n\t\tconst deviceType = this._deviceType || calculateDeviceType();\n\t\tif (deviceType === DeviceType.Mobile) {\n\t\t\tthis._splitApp.toMaster(this._masterPage.getId(), \"slide\");\n\t\t\tthis._splitApp.showMaster();\n\t\t} else {\n\t\t\tif (isMasterShown) {\n\t\t\t\tthis._splitApp.hideMaster();\n\t\t\t\tthis._showHamburger = true;\n\t\t\t} else {\n\t\t\t\tthis._splitApp.showMaster();\n\t\t\t\tthis._showHamburger = false;\n\t\t\t}\n\t\t}\n\t\tthis._updateHeaderButtonVisibility(!isMasterShown);\n\t}\n\n\t/**\n\t * Update header button\n\t *\n\t * @param {boolean} isMasterShown If master page is shown\n\t * @private\n\t */\n\tprivate _updateHeaderButtonVisibility(isMasterShown: boolean): void {\n\t\tconst deviceType = this._deviceType || calculateDeviceType();\n\t\tif (deviceType === DeviceType.Mobile) {\n\t\t\t// Hide or show the menu button on mobile\n\t\t\tthis._menuBtn.setVisible(!isMasterShown);\n\t\t} else if (deviceType === DeviceType.Tablet) {\n\t\t\tif (Device.orientation?.portrait) {\n\t\t\t\t// Show menu button in portrait mode with a tooltip\n\t\t\t\tconst tooltipText = this._i18nBundle.getText(isMasterShown ? \"ToggleButtonHide\" : \"ToggleButtonShow\");\n\t\t\t\tif (tooltipText) {\n\t\t\t\t\t// Only set the tooltip if a valid string is available\n\t\t\t\t\tthis._menuBtn.setTooltip(tooltipText);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._menuBtn.setVisible(true);\n\t\t} else {\n\t\t\tlet visibility = true;\n\t\t\tif (this._showHamburger === undefined) {\n\t\t\t\tif (this._splitApp.isMasterShown()) {\n\t\t\t\t\tvisibility = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._menuBtn.setVisible(visibility);\n\t\t}\n\t}\n\n\t/**\n\t * Generates the content for the SettingsDialog, including the master page and split app.\n\t *\n\t * @private\n\t * @returns {SplitApp} The split app containing the master page and detail pages for the SettingsDialog.\n\t */\n\tprivate _getPageContent(): SplitApp {\n\t\tthis._menuList = new List(`${this.getId()}-master-pages-list`, {\n\t\t\tmode: \"SingleSelectMaster\",\n\t\t\titemPress: (event: Event) => this._navigateToDetailPage(event)\n\t\t}).addStyleClass(\"sapCuxMasterPageList\");\n\t\tthis._masterPage = new Page(`${this.getId()}-master-page`, {\n\t\t\ttitle: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\tshowHeader: false,\n\t\t\tcontent: [this._menuList]\n\t\t});\n\t\tthis._splitApp = new SplitApp(`${this.getId()}-settingsApp`, {\n\t\t\tmode: \"ShowHideMode\",\n\t\t\tmasterPages: [this._masterPage],\n\t\t\tmasterButton: (event: Event) => this._hideNavigationButton(event)\n\t\t});\n\n\t\treturn this._splitApp;\n\t}\n\n\t/**\n\t * Navigates to the detail page associated with the selected item in the master page list.\n\t *\n\t * @private\n\t * @param {Event} event The item press event from the master page list.\n\t */\n\tprivate _navigateToDetailPage(event: Event<{ listItem?: StandardListItem }> | string, context?: object): void {\n\t\t//update selected key\n\t\tconst listItem = typeof event === \"string\" ? event : event.getParameter?.(\"listItem\");\n\t\tconst firstPanel = this.getPanels()[0];\n\t\tconst selectedKey = ((listItem as StandardListItem)?.data?.(\"key\") || event || firstPanel?.getProperty(\"key\")) as string;\n\t\tthis.setProperty(\"selectedKey\", selectedKey, true);\n\n\t\t//navigate to detail page\n\t\tconst detailPage = Element.getElementById(`${selectedKey}-detail-page`) as Page;\n\t\tthis._splitApp.toDetail(detailPage.getId(), \"slide\");\n\t\tthis._splitApp.hideMaster();\n\t\tif (this._splitApp.getMode() === SplitAppMode.ShowHideMode) {\n\t\t\tthis._updateHeaderButtonVisibility(false);\n\t\t}\n\n\t\t//fire panel navigated event\n\t\tconst selectedPanel = this.getPanels().find(\n\t\t\t(panel: BaseSettingsPanel) => panel.getProperty(\"key\") === selectedKey\n\t\t) as BaseSettingsPanel;\n\t\tselectedPanel?.firePanelNavigated({ context });\n\n\t\t//select list item\n\t\tthis._menuList.removeSelections(true);\n\t\tconst pageItem = Element.getElementById(`${selectedKey}-page-item`) as StandardListItem;\n\t\tsetTimeout(() => {\n\t\t\tthis._menuList.setSelectedItem(pageItem);\n\t\t\tpageItem.focus();\n\t\t}, 0);\n\t}\n\n\t/**\n\t * Hides the navigation button associated with the provided event.\n\t *\n\t * @private\n\t * @param {Event} event The event triggering the hide action.\n\t */\n\tprivate _hideNavigationButton(event: Event): void {\n\t\tconst navigationButton = Element.getElementById(`${event.getSource<SplitApp>().getId()}-MasterBtn`) as Button;\n\t\tnavigationButton?.destroy();\n\t}\n\n\t/**\n\t * onBeforeRendering lifecycle method.\n\t * Prepares the SettingsDialog content and navigate to the selected detail page.\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic onBeforeRendering(event: JQueryEvent): void {\n\t\tsuper.onBeforeRendering(event);\n\n\t\t//setup master and detail page content\n\t\tthis.getPanels().forEach((panel: BaseSettingsPanel) => {\n\t\t\tvoid this._getPageListItem(panel).then((item) => this._menuList.addItem(item));\n\t\t\tthis._splitApp.addDetailPage(this._getDetailPage(panel));\n\t\t});\n\n\t\t//navigate to detail page\n\t\tconst selectedKey = this.getProperty(\"selectedKey\") as string;\n\t\tconst context = this.getProperty(\"context\") as object;\n\t\tthis._navigateToDetailPage(selectedKey, context);\n\t}\n\n\t/**\n\t * Generates a list item for the master page list based on the settings panel.\n\t * The list item displays the title and icon of the settings panel.\n\t *\n\t * @private\n\t * @param {BaseSettingsPanel} settingsPanel The settings panel for which to generate the list item.\n\t * @returns {StandardListItem} The list item control representing the settings panel in the master page list.\n\t */\n\tprivate async _getPageListItem(settingsPanel: BaseSettingsPanel): Promise<StandardListItem> {\n\t\tconst id = `${settingsPanel.getProperty(\"key\")}-page-item`;\n\t\tlet listItem = this._controlMap.get(id) as StandardListItem;\n\n\t\tif (!listItem) {\n\t\t\tlistItem = new StandardListItem(id, {\n\t\t\t\ttitle: settingsPanel.getProperty(\"title\") as string,\n\t\t\t\ticon: settingsPanel.getProperty(\"icon\") as string,\n\t\t\t\ttype: \"Navigation\",\n\t\t\t\ticonDensityAware: false\n\t\t\t});\n\t\t\tlistItem.data(\"key\", settingsPanel.getProperty(\"key\"));\n\t\t\tthis._controlMap.set(id, listItem);\n\t\t}\n\n\t\tlistItem.setVisible(await settingsPanel.isSupported());\n\t\treturn listItem;\n\t}\n\n\t/**\n\t * Generates a detail page for the SettingsDialog based on the provided settings panel.\n\t *\n\t * @private\n\t * @param {BaseSettingsPanel} settingsPanel The settings panel for which to generate the detail page.\n\t * @returns {Page} The detail page control representing the settings panel.\n\t */\n\tprivate _getDetailPage(settingsPanel: BaseSettingsPanel): Page {\n\t\tconst id = `${settingsPanel.getProperty(\"key\")}-detail-page`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tconst page = new Page(id, {\n\t\t\t\ttitle: settingsPanel.getProperty(\"title\") as string,\n\t\t\t\tbackgroundDesign: \"List\",\n\t\t\t\tshowHeader: settingsPanel.getProperty(\"showHeader\") as boolean\n\t\t\t});\n\n\t\t\t//add settings panel action buttons\n\t\t\tsettingsPanel.getActionButtons().forEach((actionButton) => {\n\t\t\t\tpage.addHeaderContent(actionButton);\n\t\t\t});\n\n\t\t\tthis._controlMap.set(id, page);\n\t\t}\n\n\t\t//add settings panel content\n\t\t(settingsPanel.getAggregation(\"content\") as Control[]).forEach((content) => (this._controlMap.get(id) as Page).addContent(content));\n\n\t\treturn this._controlMap.get(id) as Page;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -40,6 +40,7 @@ export default class SettingsDialog extends BaseSettingsDialog {
|
|
|
40
40
|
private _masterPage!: Page;
|
|
41
41
|
private _splitApp!: SplitApp;
|
|
42
42
|
private _deviceType!: DeviceType;
|
|
43
|
+
private _showHamburger!: boolean | undefined;
|
|
43
44
|
|
|
44
45
|
static renderer = {
|
|
45
46
|
apiVersion: 2
|
|
@@ -94,6 +95,7 @@ export default class SettingsDialog extends BaseSettingsDialog {
|
|
|
94
95
|
? "ShowHideMode"
|
|
95
96
|
: "HideMode"
|
|
96
97
|
);
|
|
98
|
+
this._showHamburger = undefined;
|
|
97
99
|
const isMasterShown = this._splitApp.isMasterShown();
|
|
98
100
|
this._updateHeaderButtonVisibility(isMasterShown);
|
|
99
101
|
});
|
|
@@ -132,13 +134,16 @@ export default class SettingsDialog extends BaseSettingsDialog {
|
|
|
132
134
|
private _toggleMasterPage(): void {
|
|
133
135
|
const isMasterShown = this._splitApp.isMasterShown();
|
|
134
136
|
const deviceType = this._deviceType || calculateDeviceType();
|
|
135
|
-
if (deviceType
|
|
137
|
+
if (deviceType === DeviceType.Mobile) {
|
|
136
138
|
this._splitApp.toMaster(this._masterPage.getId(), "slide");
|
|
139
|
+
this._splitApp.showMaster();
|
|
137
140
|
} else {
|
|
138
141
|
if (isMasterShown) {
|
|
139
142
|
this._splitApp.hideMaster();
|
|
143
|
+
this._showHamburger = true;
|
|
140
144
|
} else {
|
|
141
145
|
this._splitApp.showMaster();
|
|
146
|
+
this._showHamburger = false;
|
|
142
147
|
}
|
|
143
148
|
}
|
|
144
149
|
this._updateHeaderButtonVisibility(!isMasterShown);
|
|
@@ -159,17 +164,20 @@ export default class SettingsDialog extends BaseSettingsDialog {
|
|
|
159
164
|
if (Device.orientation?.portrait) {
|
|
160
165
|
// Show menu button in portrait mode with a tooltip
|
|
161
166
|
const tooltipText = this._i18nBundle.getText(isMasterShown ? "ToggleButtonHide" : "ToggleButtonShow");
|
|
162
|
-
this._menuBtn.setVisible(true);
|
|
163
167
|
if (tooltipText) {
|
|
164
168
|
// Only set the tooltip if a valid string is available
|
|
165
169
|
this._menuBtn.setTooltip(tooltipText);
|
|
166
170
|
}
|
|
167
|
-
} else {
|
|
168
|
-
// Hide or show the menu button in other orientations
|
|
169
|
-
this._menuBtn.setVisible(isMasterShown);
|
|
170
171
|
}
|
|
172
|
+
this._menuBtn.setVisible(true);
|
|
171
173
|
} else {
|
|
172
|
-
|
|
174
|
+
let visibility = true;
|
|
175
|
+
if (this._showHamburger === undefined) {
|
|
176
|
+
if (this._splitApp.isMasterShown()) {
|
|
177
|
+
visibility = false;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
this._menuBtn.setVisible(visibility);
|
|
173
181
|
}
|
|
174
182
|
}
|
|
175
183
|
|
|
@@ -43,6 +43,16 @@ declare module "sap/cux/home/SideBySideIconTabFilter" {
|
|
|
43
43
|
* @returns {this} The instance of SideBySideIconTabFilter, to allow method chaining.
|
|
44
44
|
*/
|
|
45
45
|
addContent(content: Control): this;
|
|
46
|
+
/**
|
|
47
|
+
* Hides the badge on the tab filter.
|
|
48
|
+
*
|
|
49
|
+
* Overridden to prevent hiding the badge in Side-by-Side mode automatically.
|
|
50
|
+
* Show/hide of the badge is controlled via the 'showBadge' property of the associated panel.
|
|
51
|
+
*
|
|
52
|
+
* @private
|
|
53
|
+
* @override
|
|
54
|
+
*/
|
|
55
|
+
_hideBadge(): void;
|
|
46
56
|
}
|
|
47
57
|
}
|
|
48
58
|
//# sourceMappingURL=SideBySideIconTabFilter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideBySideIconTabFilter.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/SideBySideIconTabFilter.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,sCAAsC,CAAC;IACtD;;;OAGG;IAEH,OAAO,aAAa,MAAM,qBAAqB,CAAC;IAChD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;IAC5D,OAAO,OAAO,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"SideBySideIconTabFilter.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/SideBySideIconTabFilter.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,sCAAsC,CAAC;IACtD;;;OAGG;IAEH,OAAO,aAAa,MAAM,qBAAqB,CAAC;IAChD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;IAC5D,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAG1C,OAAO,EAAE,gCAAgC,EAAE,MAAM,sCAAsC,CAAC;IAExF;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,aAAa;oBACrD,EAAE,CAAC,EAAE,MAAM,GAAG,gCAAgC;oBAC9C,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,gCAAgC;QAWpE,MAAM,CAAC,QAAQ,CAAC,QAAQ,iCAAiC;QACzD,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAKvC;QAiBF;;;;;;WAMG;QACI,UAAU,IAAI,OAAO,EAAE;QAK9B;;;;;;;WAOG;QACI,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;QAMzC;;;;;;;;WAQG;QACI,UAAU,IAAI,IAAI;KACzB;CAEA"}
|
|
@@ -50,6 +50,7 @@ sap.ui.define(["sap/m/IconTabFilter", "sap/ui/core/Element"], function (IconTabF
|
|
|
50
50
|
setPanel: function _setPanel(panel) {
|
|
51
51
|
this.setProperty("key", panel.getProperty("key"), true);
|
|
52
52
|
this.setProperty("text", panel.getProperty("title"), true);
|
|
53
|
+
this.setTooltip(panel.getProperty("tooltip"));
|
|
53
54
|
this.setAssociation("panel", panel);
|
|
54
55
|
return this;
|
|
55
56
|
},
|
|
@@ -76,7 +77,17 @@ sap.ui.define(["sap/m/IconTabFilter", "sap/ui/core/Element"], function (IconTabF
|
|
|
76
77
|
const panel = UI5Element.getElementById(this.getPanel());
|
|
77
78
|
panel?.addContent(content);
|
|
78
79
|
return this;
|
|
79
|
-
}
|
|
80
|
+
},
|
|
81
|
+
/**
|
|
82
|
+
* Hides the badge on the tab filter.
|
|
83
|
+
*
|
|
84
|
+
* Overridden to prevent hiding the badge in Side-by-Side mode automatically.
|
|
85
|
+
* Show/hide of the badge is controlled via the 'showBadge' property of the associated panel.
|
|
86
|
+
*
|
|
87
|
+
* @private
|
|
88
|
+
* @override
|
|
89
|
+
*/
|
|
90
|
+
_hideBadge: function _hideBadge() {}
|
|
80
91
|
});
|
|
81
92
|
return SideBySideIconTabFilter;
|
|
82
93
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideBySideIconTabFilter.js","names":["sap","ui","define","IconTabFilter","UI5Element","SideBySideIconTabFilter","extend","metadata","library","associations","panel","type","multiple","singularName","renderer","constructor","_constructor","id","settings","IconTabFilter.prototype.constructor.call","setPanel","_setPanel","setProperty","getProperty","setAssociation","getContent","_getContent","getElementById","getPanel","addContent","_addContent","content"],"sources":["SideBySideIconTabFilter.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport IconTabFilter from \"sap/m/IconTabFilter\";\nimport { MetadataOptions } from \"sap/ui/base/ManagedObject\";\nimport Control from \"sap/ui/core/Control\";\nimport BasePanel from \"./BasePanel\";\nimport { $SideBySideIconTabFilterSettings } from \"./SideBySideIconTabFilter\";\
|
|
1
|
+
{"version":3,"file":"SideBySideIconTabFilter.js","names":["sap","ui","define","IconTabFilter","UI5Element","SideBySideIconTabFilter","extend","metadata","library","associations","panel","type","multiple","singularName","renderer","constructor","_constructor","id","settings","IconTabFilter.prototype.constructor.call","setPanel","_setPanel","setProperty","getProperty","setTooltip","setAssociation","getContent","_getContent","getElementById","getPanel","addContent","_addContent","content","_hideBadge"],"sources":["SideBySideIconTabFilter.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport IconTabFilter from \"sap/m/IconTabFilter\";\nimport { MetadataOptions } from \"sap/ui/base/ManagedObject\";\nimport Control from \"sap/ui/core/Control\";\nimport UI5Element from \"sap/ui/core/Element\";\nimport BasePanel from \"./BasePanel\";\nimport { $SideBySideIconTabFilterSettings } from \"./SideBySideIconTabFilter\";\n\n/**\n *\n * Custom IconTabFilter for SideBySide orientation in the BaseContainer.\n *\n * @extends sap.m.IconTabFilter\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.139.0\n *\n * @private\n *\n * @alias sap.cux.home.SideBySideIconTabFilter\n */\nexport default class SideBySideIconTabFilter extends IconTabFilter {\n\tconstructor(id?: string | $SideBySideIconTabFilterSettings);\n\tconstructor(id?: string, settings?: $SideBySideIconTabFilterSettings);\n\t/**\n\t * Constructor for a new SideBySideIconTabFilter.\n\t *\n\t * @param {string} [id] ID for the new element, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $SideBySideIconTabFilterSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly renderer = \"sap.m.IconTabFilterRenderer\";\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tassociations: {\n\t\t\tpanel: { type: \"sap.cux.home.BasePanel\", multiple: false, singularName: \"panel\" }\n\t\t}\n\t};\n\n\t/**\n\t * Sets the associated panel for this tab filter and updates the key and text properties\n\t * based on the panel's key and title.\n\t *\n\t * @param {BasePanel} panel - The panel to associate with this tab filter.\n\t * @returns {this} This to allow method chaining.\n\t */\n\tpublic setPanel(panel: BasePanel): this {\n\t\tthis.setProperty(\"key\", panel.getProperty(\"key\"), true);\n\t\tthis.setProperty(\"text\", panel.getProperty(\"title\"), true);\n\t\tthis.setTooltip(panel.getProperty(\"tooltip\") as string);\n\t\tthis.setAssociation(\"panel\", panel);\n\t\treturn this;\n\t}\n\n\t/**\n\t * Returns the content controls from the associated panel.\n\t *\n\t * @public\n\t * @override\n\t * @returns {Control[]} An array of controls contained in the associated panel, or an empty array if no panel is associated.\n\t */\n\tpublic getContent(): Control[] {\n\t\tconst panel = UI5Element.getElementById(this.getPanel()) as BasePanel;\n\t\treturn panel?.getContent() || [];\n\t}\n\n\t/**\n\t * Adds a control to the content aggregation of the associated panel.\n\t *\n\t * @public\n\t * @override\n\t * @param {Control} content - The control to add to the panel's content.\n\t * @returns {this} The instance of SideBySideIconTabFilter, to allow method chaining.\n\t */\n\tpublic addContent(content: Control): this {\n\t\tconst panel = UI5Element.getElementById(this.getPanel()) as BasePanel;\n\t\tpanel?.addContent(content);\n\t\treturn this;\n\t}\n\n\t/**\n\t * Hides the badge on the tab filter.\n\t *\n\t * Overridden to prevent hiding the badge in Side-by-Side mode automatically.\n\t * Show/hide of the badge is controlled via the 'showBadge' property of the associated panel.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic _hideBadge(): void {}\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,2DAAAC,aAAA,EAAAC,UAAA;EAAA;;EAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAbA,MAcqBC,uBAAuB,GAASF,aAAa,CAAAG,MAAA;IAcjDC,QAAQ,EAAoB;MAC3CC,OAAO,EAAE,cAAc;MACvBC,YAAY,EAAE;QACbC,KAAK,EAAE;UAAEC,IAAI,EAAE,wBAAwB;UAAEC,QAAQ,EAAE,KAAK;UAAEC,YAAY,EAAE;QAAQ;MACjF;IACD,CAAC;IANeC,QAAQ,EAAG,6BAA6B;IAVxD;AACD;AACA;AACA;AACA;AACA;IACQC,WAAW,WAAAC,aAACC,EAAW,EAAEC,QAA2C,EAAE;MAC5EC,wCAAA,OAAMF,EAAE,EAAEC,QAAQ;IACnB,CAAC;IAUD;AACD;AACA;AACA;AACA;AACA;AACA;IACQE,QAAQ,WAAAC,UAACX,KAAgB,EAAQ;MACvC,IAAI,CAACY,WAAW,CAAC,KAAK,EAAEZ,KAAK,CAACa,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;MACvD,IAAI,CAACD,WAAW,CAAC,MAAM,EAAEZ,KAAK,CAACa,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;MAC1D,IAAI,CAACC,UAAU,CAACd,KAAK,CAACa,WAAW,CAAC,SAAS,CAAW,CAAC;MACvD,IAAI,CAACE,cAAc,CAAC,OAAO,EAAEf,KAAK,CAAC;MACnC,OAAO,IAAI;IACZ,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACQgB,UAAU,WAAAC,YAAA,EAAc;MAC9B,MAAMjB,KAAK,GAAGN,UAAU,CAACwB,cAAc,CAAC,IAAI,CAACC,QAAQ,CAAC,CAAC,CAAc;MACrE,OAAOnB,KAAK,EAAEgB,UAAU,CAAC,CAAC,IAAI,EAAE;IACjC,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACQI,UAAU,WAAAC,YAACC,OAAgB,EAAQ;MACzC,MAAMtB,KAAK,GAAGN,UAAU,CAACwB,cAAc,CAAC,IAAI,CAACC,QAAQ,CAAC,CAAC,CAAc;MACrEnB,KAAK,EAAEoB,UAAU,CAACE,OAAO,CAAC;MAC1B,OAAO,IAAI;IACZ,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQC,UAAU,WAAAA,WAAA,EAAS,CAAC;EAAC;EAAA,OAvER5B,uBAAuB;AAAA","ignoreList":[]}
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
import IconTabFilter from "sap/m/IconTabFilter";
|
|
7
7
|
import { MetadataOptions } from "sap/ui/base/ManagedObject";
|
|
8
8
|
import Control from "sap/ui/core/Control";
|
|
9
|
+
import UI5Element from "sap/ui/core/Element";
|
|
9
10
|
import BasePanel from "./BasePanel";
|
|
10
11
|
import { $SideBySideIconTabFilterSettings } from "./SideBySideIconTabFilter";
|
|
11
|
-
import UI5Element from "sap/ui/core/Element";
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
*
|
|
@@ -55,6 +55,7 @@ export default class SideBySideIconTabFilter extends IconTabFilter {
|
|
|
55
55
|
public setPanel(panel: BasePanel): this {
|
|
56
56
|
this.setProperty("key", panel.getProperty("key"), true);
|
|
57
57
|
this.setProperty("text", panel.getProperty("title"), true);
|
|
58
|
+
this.setTooltip(panel.getProperty("tooltip") as string);
|
|
58
59
|
this.setAssociation("panel", panel);
|
|
59
60
|
return this;
|
|
60
61
|
}
|
|
@@ -84,4 +85,15 @@ export default class SideBySideIconTabFilter extends IconTabFilter {
|
|
|
84
85
|
panel?.addContent(content);
|
|
85
86
|
return this;
|
|
86
87
|
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Hides the badge on the tab filter.
|
|
91
|
+
*
|
|
92
|
+
* Overridden to prevent hiding the badge in Side-by-Side mode automatically.
|
|
93
|
+
* Show/hide of the badge is controlled via the 'showBadge' property of the associated panel.
|
|
94
|
+
*
|
|
95
|
+
* @private
|
|
96
|
+
* @override
|
|
97
|
+
*/
|
|
98
|
+
public _hideBadge(): void {}
|
|
87
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SituationPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/SituationPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,6BAA6B,CAAC;IAU7C,OAAO,EAAE,SAAS,EAAyB,MAAM,eAAe,CAAC;IAGjE,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAC1C,OAAO,OAAO,MAAM,sBAAsB,CAAC;IAE3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;IACjE,OAAO,SAAS,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"SituationPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/SituationPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,6BAA6B,CAAC;IAU7C,OAAO,EAAE,SAAS,EAAyB,MAAM,eAAe,CAAC;IAGjE,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAC1C,OAAO,OAAO,MAAM,sBAAsB,CAAC;IAE3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;IACjE,OAAO,SAAS,MAAM,wBAAwB,CAAC;IAG/C,OAAO,EAIN,iBAAiB,EAEjB,MAAM,wBAAwB,CAAC;IAEhC,UAAU,SAAS;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,2BAA2B,EAAE,MAAM,CAAC;QACpC,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;QACxC,aAAa,EAAE,YAAY,CAAC;QAC5B,SAAS,CAAC,EAAE,SAAS,CAAC;KACtB;IAED,UAAU,YAAY;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;KACtB;IAED,UAAU,qBAAqB;QAC9B,WAAW,EAAE,MAAM,CAAC;KACpB;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,SAAS;QACpD;;;;;WAKG;oBACgB,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,kBAAkB;QAI7D;;;;;WAKG;QACI,IAAI,IAAI,IAAI;QAQnB;;;;;;;;WAQG;QACI,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;QAQvD;;;;;;;;;WASG;QACI,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;QA6BlE;;;;;WAKG;gBACW,iBAAiB;QA+B/B;;;;;WAKG;QACI,aAAa,IAAI,MAAM;KAG9B;CAEA"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* * (c) Copyright 2009-2025 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/base/i18n/Localization", "sap/m/GenericTile", "sap/m/Text", "sap/m/TileContent", "sap/m/library", "sap/ui/core/Component", "sap/ushell/api/S4MyHome", "./ToDoPanel", "./utils/SituationUtils"], function (Localization, GenericTile, Text, TileContent, sap_m_library, Component, S4MyHome, __ToDoPanel, ___utils_SituationUtils) {
|
|
5
|
+
sap.ui.define(["sap/base/i18n/Localization", "sap/m/GenericTile", "sap/m/Text", "sap/m/TileContent", "sap/m/library", "sap/ui/core/Component", "sap/ushell/api/S4MyHome", "./ToDoPanel", "./utils/FESRUtil", "./utils/SituationUtils"], function (Localization, GenericTile, Text, TileContent, sap_m_library, Component, S4MyHome, __ToDoPanel, ___utils_FESRUtil, ___utils_SituationUtils) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
function _interopRequireDefault(obj) {
|
|
@@ -23,6 +23,8 @@ sap.ui.define(["sap/base/i18n/Localization", "sap/m/GenericTile", "sap/m/Text",
|
|
|
23
23
|
const URLHelper = sap_m_library["URLHelper"];
|
|
24
24
|
const ValueColor = sap_m_library["ValueColor"];
|
|
25
25
|
const ToDoPanel = _interopRequireDefault(__ToDoPanel);
|
|
26
|
+
const addFESRNavigationSource = ___utils_FESRUtil["addFESRNavigationSource"];
|
|
27
|
+
const FESRNavigationSource = ___utils_FESRUtil["FESRNavigationSource"];
|
|
26
28
|
const executeNavigation = ___utils_SituationUtils["executeNavigation"];
|
|
27
29
|
const fetchNavigationTargetData = ___utils_SituationUtils["fetchNavigationTargetData"];
|
|
28
30
|
const getSituationMessage = ___utils_SituationUtils["getSituationMessage"];
|
|
@@ -116,6 +118,9 @@ sap.ui.define(["sap/base/i18n/Localization", "sap/m/GenericTile", "sap/m/Text",
|
|
|
116
118
|
_onPressSituation: function _onPressSituation(event) {
|
|
117
119
|
try {
|
|
118
120
|
const _this = this;
|
|
121
|
+
function _temp4() {
|
|
122
|
+
addFESRNavigationSource(FESRNavigationSource.Situation);
|
|
123
|
+
}
|
|
119
124
|
const control = event.getSource();
|
|
120
125
|
const context = control.getBindingContext();
|
|
121
126
|
const {
|
|
@@ -147,7 +152,7 @@ sap.ui.define(["sap/base/i18n/Localization", "sap/m/GenericTile", "sap/m/Text",
|
|
|
147
152
|
if (_temp2 && _temp2.then) return _temp2.then(function () {});
|
|
148
153
|
}
|
|
149
154
|
}();
|
|
150
|
-
return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(
|
|
155
|
+
return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
|
|
151
156
|
} catch (e) {
|
|
152
157
|
return Promise.reject(e);
|
|
153
158
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SituationPanel.js","names":["sap","ui","define","Localization","GenericTile","Text","TileContent","sap_m_library","Component","S4MyHome","__ToDoPanel","___utils_SituationUtils","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","LoadState","URLHelper","ValueColor","ToDoPanel","executeNavigation","fetchNavigationTargetData","getSituationMessage","SituationPanel","extend","constructor","_constructor","id","settings","ToDoPanel.prototype.constructor.call","init","_init","ToDoPanel.prototype.init.call","setProperty","_i18nBundle","getText","generateRequestUrls","_generateRequestUrls","cardCount","language","getSAPLogonLanguage","getCountUrl","getDataUrl","generateCardTemplate","_generateCardTemplate","context","mode","frameType","pressEnabled","header","getProperty","headerImage","valueColor","Critical","state","press","event","_onPressSituation","tileContent","content","text","footer","formatDate","_this","control","getSource","getBindingContext","loadState","SitnInstceKey","SitnEngineType","getObject","url","getTargetAppUrl","_temp3","Loading","_temp2","_temp","Promise","resolve","_fetchNavigationTarge","navigationTargetData","getOwnerComponentFor","getParent","error","_sErrorCode","redirect","reject","getNoDataText","_getNoDataText"],"sources":["SituationPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Localization from \"sap/base/i18n/Localization\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport Text from \"sap/m/Text\";\nimport TileContent from \"sap/m/TileContent\";\nimport { LoadState, URLHelper, ValueColor } from \"sap/m/library\";\nimport Event from \"sap/ui/base/Event\";\nimport Component from \"sap/ui/core/Component\";\nimport Control from \"sap/ui/core/Control\";\nimport Context from \"sap/ui/model/Context\";\nimport S4MyHome from \"sap/ushell/api/S4MyHome\";\nimport type { $ToDoPanelSettings } from \"./ToDoPanel\";\nimport ToDoPanel from \"./ToDoPanel\";\nimport ToDosContainer from \"./ToDosContainer\";\nimport {\n\texecuteNavigation,\n\tfetchNavigationTargetData,\n\tgetSituationMessage,\n\tInstanceAttribute,\n\tNavigationData\n} from \"./utils/SituationUtils\";\n\ninterface Situation {\n\tSitnInstceKey: string;\n\tSitnInstceCreatedAtDateTime: string;\n\tSitnEngineType: string;\n\t_InstanceAttribute: InstanceAttribute[];\n\t_InstanceText: InstanceText;\n\tloadState?: LoadState;\n}\n\ninterface InstanceText {\n\tSituationTitle: string;\n\tSituationText: string;\n}\n\ninterface NavigationHelperError {\n\t_sErrorCode: string;\n}\n\n/**\n *\n * Panel class for managing and storing Situation cards.\n *\n * @extends ToDoPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.SituationPanel\n */\nexport default class SituationPanel extends ToDoPanel {\n\t/**\n\t * Constructor for a new Situation Panel.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $ToDoPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\n\t\t//Configure Header\n\t\tthis.setProperty(\"key\", \"situations\");\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"situationsTabTitle\"));\n\t}\n\n\t/**\n\t * Generates request URLs for fetching data based on the specified card count.\n\t * Overridden method to provide situation-specific URLs.\n\t *\n\t * @private\n\t * @override\n\t * @param {number} cardCount - The number of cards to retrieve.\n\t * @returns {string[]} An array of request URLs.\n\t */\n\tpublic generateRequestUrls(cardCount: number): string[] {\n\t\tconst language = Localization.getSAPLogonLanguage() || \"\";\n\t\treturn [\n\t\t\tthis.getCountUrl(),\n\t\t\t`${this.getDataUrl()}&$expand=_InstanceAttribute($expand=_InstanceAttributeValue($filter=(Language eq '${language}' or Language eq ''))),_InstanceText($filter=(Language eq '${language}' or Language eq ''))&$skip=0&$top=${cardCount}`\n\t\t];\n\t}\n\n\t/**\n\t * Generates a card template for situations.\n\t * Overridden method from To-Do panel to generate situation-specific card template.\n\t *\n\t * @private\n\t * @override\n\t * @param {string} id The ID for the template card.\n\t * @param {Context} context The context object.\n\t * @returns {Control} The generated card control template.\n\t */\n\tpublic generateCardTemplate(id: string, context: Context): Control {\n\t\treturn new GenericTile(`${id}-actionTile`, {\n\t\t\tmode: \"ActionMode\",\n\t\t\tframeType: \"TwoByOne\",\n\t\t\tpressEnabled: true,\n\t\t\theader: getSituationMessage(\n\t\t\t\tcontext.getProperty(\"_InstanceText/0/SituationTitle\") as string,\n\t\t\t\tcontext.getProperty(\"_InstanceAttribute\") as InstanceAttribute[]\n\t\t\t),\n\t\t\theaderImage: \"sap-icon://alert\",\n\t\t\tvalueColor: ValueColor.Critical,\n\t\t\tstate: context.getProperty(\"loadState\") as LoadState,\n\t\t\tpress: (event: Event) => {\n\t\t\t\tvoid this._onPressSituation(event);\n\t\t\t},\n\t\t\ttileContent: [\n\t\t\t\tnew TileContent(`${id}-actionTileContent`, {\n\t\t\t\t\tcontent: new Text(`${id}-text`, {\n\t\t\t\t\t\ttext: getSituationMessage(\n\t\t\t\t\t\t\tcontext.getProperty(\"_InstanceText/0/SituationText\") as string,\n\t\t\t\t\t\t\tcontext.getProperty(\"_InstanceAttribute\") as InstanceAttribute[]\n\t\t\t\t\t\t)\n\t\t\t\t\t}),\n\t\t\t\t\tfooter: S4MyHome.formatDate(context.getProperty(\"SitnInstceCreatedAtDateTime\") as string)\n\t\t\t\t})\n\t\t\t]\n\t\t});\n\t}\n\n\t/**\n\t * Handle the press event for a situation.\n\t *\n\t * @private\n\t * @param {Event} event - The event object.\n\t */\n\tprivate async _onPressSituation(event: Event): Promise<void> {\n\t\tconst control = event.getSource<GenericTile>();\n\t\tconst context = control.getBindingContext();\n\t\tconst { loadState, SitnInstceKey: id, SitnEngineType } = context?.getObject() as Situation;\n\t\tconst url = this.getTargetAppUrl();\n\n\t\tif (loadState !== LoadState.Loading && url) {\n\t\t\tif (id) {\n\t\t\t\ttry {\n\t\t\t\t\tconst navigationTargetData = (await fetchNavigationTargetData(id, SitnEngineType)) as NavigationData;\n\t\t\t\t\tawait executeNavigation(\n\t\t\t\t\t\tnavigationTargetData,\n\t\t\t\t\t\tComponent.getOwnerComponentFor(this.getParent() as ToDosContainer) as Component\n\t\t\t\t\t);\n\t\t\t\t} catch (error: unknown) {\n\t\t\t\t\tif (\n\t\t\t\t\t\terror &&\n\t\t\t\t\t\tSitnEngineType === \"1\" &&\n\t\t\t\t\t\t(error as NavigationHelperError)._sErrorCode === \"NavigationHandler.isIntentSupported.notSupported\"\n\t\t\t\t\t) {\n\t\t\t\t\t\t// Navigate to the situations app\n\t\t\t\t\t\tURLHelper.redirect(this.getTargetAppUrl(), false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tURLHelper.redirect(url, false);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get the text for the \"No Data\" message.\n\t *\n\t * @private\n\t * @returns {string} The text for the \"No Data\" message.\n\t */\n\tpublic getNoDataText(): string {\n\t\treturn this._i18nBundle.getText(\"noSituationTitle\") as string;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SituationPanel.js","names":["sap","ui","define","Localization","GenericTile","Text","TileContent","sap_m_library","Component","S4MyHome","__ToDoPanel","___utils_FESRUtil","___utils_SituationUtils","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","LoadState","URLHelper","ValueColor","ToDoPanel","addFESRNavigationSource","FESRNavigationSource","executeNavigation","fetchNavigationTargetData","getSituationMessage","SituationPanel","extend","constructor","_constructor","id","settings","ToDoPanel.prototype.constructor.call","init","_init","ToDoPanel.prototype.init.call","setProperty","_i18nBundle","getText","generateRequestUrls","_generateRequestUrls","cardCount","language","getSAPLogonLanguage","getCountUrl","getDataUrl","generateCardTemplate","_generateCardTemplate","context","mode","frameType","pressEnabled","header","getProperty","headerImage","valueColor","Critical","state","press","event","_onPressSituation","tileContent","content","text","footer","formatDate","_this","_temp4","Situation","control","getSource","getBindingContext","loadState","SitnInstceKey","SitnEngineType","getObject","url","getTargetAppUrl","_temp3","Loading","_temp2","_temp","Promise","resolve","_fetchNavigationTarge","navigationTargetData","getOwnerComponentFor","getParent","error","_sErrorCode","redirect","reject","getNoDataText","_getNoDataText"],"sources":["SituationPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Localization from \"sap/base/i18n/Localization\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport Text from \"sap/m/Text\";\nimport TileContent from \"sap/m/TileContent\";\nimport { LoadState, URLHelper, ValueColor } from \"sap/m/library\";\nimport Event from \"sap/ui/base/Event\";\nimport Component from \"sap/ui/core/Component\";\nimport Control from \"sap/ui/core/Control\";\nimport Context from \"sap/ui/model/Context\";\nimport S4MyHome from \"sap/ushell/api/S4MyHome\";\nimport type { $ToDoPanelSettings } from \"./ToDoPanel\";\nimport ToDoPanel from \"./ToDoPanel\";\nimport ToDosContainer from \"./ToDosContainer\";\nimport { addFESRNavigationSource, FESRNavigationSource } from \"./utils/FESRUtil\";\nimport {\n\texecuteNavigation,\n\tfetchNavigationTargetData,\n\tgetSituationMessage,\n\tInstanceAttribute,\n\tNavigationData\n} from \"./utils/SituationUtils\";\n\ninterface Situation {\n\tSitnInstceKey: string;\n\tSitnInstceCreatedAtDateTime: string;\n\tSitnEngineType: string;\n\t_InstanceAttribute: InstanceAttribute[];\n\t_InstanceText: InstanceText;\n\tloadState?: LoadState;\n}\n\ninterface InstanceText {\n\tSituationTitle: string;\n\tSituationText: string;\n}\n\ninterface NavigationHelperError {\n\t_sErrorCode: string;\n}\n\n/**\n *\n * Panel class for managing and storing Situation cards.\n *\n * @extends ToDoPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.SituationPanel\n */\nexport default class SituationPanel extends ToDoPanel {\n\t/**\n\t * Constructor for a new Situation Panel.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $ToDoPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\n\t\t//Configure Header\n\t\tthis.setProperty(\"key\", \"situations\");\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"situationsTabTitle\"));\n\t}\n\n\t/**\n\t * Generates request URLs for fetching data based on the specified card count.\n\t * Overridden method to provide situation-specific URLs.\n\t *\n\t * @private\n\t * @override\n\t * @param {number} cardCount - The number of cards to retrieve.\n\t * @returns {string[]} An array of request URLs.\n\t */\n\tpublic generateRequestUrls(cardCount: number): string[] {\n\t\tconst language = Localization.getSAPLogonLanguage() || \"\";\n\t\treturn [\n\t\t\tthis.getCountUrl(),\n\t\t\t`${this.getDataUrl()}&$expand=_InstanceAttribute($expand=_InstanceAttributeValue($filter=(Language eq '${language}' or Language eq ''))),_InstanceText($filter=(Language eq '${language}' or Language eq ''))&$skip=0&$top=${cardCount}`\n\t\t];\n\t}\n\n\t/**\n\t * Generates a card template for situations.\n\t * Overridden method from To-Do panel to generate situation-specific card template.\n\t *\n\t * @private\n\t * @override\n\t * @param {string} id The ID for the template card.\n\t * @param {Context} context The context object.\n\t * @returns {Control} The generated card control template.\n\t */\n\tpublic generateCardTemplate(id: string, context: Context): Control {\n\t\treturn new GenericTile(`${id}-actionTile`, {\n\t\t\tmode: \"ActionMode\",\n\t\t\tframeType: \"TwoByOne\",\n\t\t\tpressEnabled: true,\n\t\t\theader: getSituationMessage(\n\t\t\t\tcontext.getProperty(\"_InstanceText/0/SituationTitle\") as string,\n\t\t\t\tcontext.getProperty(\"_InstanceAttribute\") as InstanceAttribute[]\n\t\t\t),\n\t\t\theaderImage: \"sap-icon://alert\",\n\t\t\tvalueColor: ValueColor.Critical,\n\t\t\tstate: context.getProperty(\"loadState\") as LoadState,\n\t\t\tpress: (event: Event) => {\n\t\t\t\tvoid this._onPressSituation(event);\n\t\t\t},\n\t\t\ttileContent: [\n\t\t\t\tnew TileContent(`${id}-actionTileContent`, {\n\t\t\t\t\tcontent: new Text(`${id}-text`, {\n\t\t\t\t\t\ttext: getSituationMessage(\n\t\t\t\t\t\t\tcontext.getProperty(\"_InstanceText/0/SituationText\") as string,\n\t\t\t\t\t\t\tcontext.getProperty(\"_InstanceAttribute\") as InstanceAttribute[]\n\t\t\t\t\t\t)\n\t\t\t\t\t}),\n\t\t\t\t\tfooter: S4MyHome.formatDate(context.getProperty(\"SitnInstceCreatedAtDateTime\") as string)\n\t\t\t\t})\n\t\t\t]\n\t\t});\n\t}\n\n\t/**\n\t * Handle the press event for a situation.\n\t *\n\t * @private\n\t * @param {Event} event - The event object.\n\t */\n\tprivate async _onPressSituation(event: Event): Promise<void> {\n\t\tconst control = event.getSource<GenericTile>();\n\t\tconst context = control.getBindingContext();\n\t\tconst { loadState, SitnInstceKey: id, SitnEngineType } = context?.getObject() as Situation;\n\t\tconst url = this.getTargetAppUrl();\n\n\t\tif (loadState !== LoadState.Loading && url) {\n\t\t\tif (id) {\n\t\t\t\ttry {\n\t\t\t\t\tconst navigationTargetData = (await fetchNavigationTargetData(id, SitnEngineType)) as NavigationData;\n\t\t\t\t\tawait executeNavigation(\n\t\t\t\t\t\tnavigationTargetData,\n\t\t\t\t\t\tComponent.getOwnerComponentFor(this.getParent() as ToDosContainer) as Component\n\t\t\t\t\t);\n\t\t\t\t} catch (error: unknown) {\n\t\t\t\t\tif (\n\t\t\t\t\t\terror &&\n\t\t\t\t\t\tSitnEngineType === \"1\" &&\n\t\t\t\t\t\t(error as NavigationHelperError)._sErrorCode === \"NavigationHandler.isIntentSupported.notSupported\"\n\t\t\t\t\t) {\n\t\t\t\t\t\t// Navigate to the situations app\n\t\t\t\t\t\tURLHelper.redirect(this.getTargetAppUrl(), false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tURLHelper.redirect(url, false);\n\t\t\t}\n\t\t}\n\t\taddFESRNavigationSource(FESRNavigationSource.Situation);\n\t}\n\n\t/**\n\t * Get the text for the \"No Data\" message.\n\t *\n\t * @private\n\t * @returns {string} The text for the \"No Data\" message.\n\t */\n\tpublic getNoDataText(): string {\n\t\treturn this._i18nBundle.getText(\"noSituationTitle\") as string;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,6 +16,7 @@ import S4MyHome from "sap/ushell/api/S4MyHome";
|
|
|
16
16
|
import type { $ToDoPanelSettings } from "./ToDoPanel";
|
|
17
17
|
import ToDoPanel from "./ToDoPanel";
|
|
18
18
|
import ToDosContainer from "./ToDosContainer";
|
|
19
|
+
import { addFESRNavigationSource, FESRNavigationSource } from "./utils/FESRUtil";
|
|
19
20
|
import {
|
|
20
21
|
executeNavigation,
|
|
21
22
|
fetchNavigationTargetData,
|
|
@@ -172,6 +173,7 @@ export default class SituationPanel extends ToDoPanel {
|
|
|
172
173
|
URLHelper.redirect(url, false);
|
|
173
174
|
}
|
|
174
175
|
}
|
|
176
|
+
addFESRNavigationSource(FESRNavigationSource.Situation);
|
|
175
177
|
}
|
|
176
178
|
|
|
177
179
|
/**
|
|
@@ -586,7 +586,7 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
|
|
|
586
586
|
// Create the GridContainer with required properties
|
|
587
587
|
this.tilesContainer = new GridContainer(`${this.getId()}-insightsTilesContainer`, {
|
|
588
588
|
visible: "{= !${/isPhone}}"
|
|
589
|
-
}).addStyleClass("insightTiles sapUiSmallMarginTop
|
|
589
|
+
}).addStyleClass("insightTiles sapUiSmallMarginTop");
|
|
590
590
|
// Attach aggregation to the container
|
|
591
591
|
this._attachAggregationToContainer(this.tilesContainer);
|
|
592
592
|
}
|