@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
|
@@ -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/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/Label", "sap/m/List", "sap/m/Switch", "sap/m/Text", "sap/m/Title", "sap/m/VBox", "sap/ui/core/CustomData", "./BaseSettingsPanel", "./library", "./utils/Accessibility", "./utils/Constants", "./utils/FESRUtil", "./utils/PersonalisationUtils", "./utils/UshellPersonalizer"], function (CheckBox, CustomListItem, HBox, Label, List, Switch, Text, Title, VBox, CustomData, __BaseSettingsPanel, ___library, ___utils_Accessibility, ___utils_Constants, ___utils_FESRUtil, __PersonalisationUtils, __UshellPersonalizer) {
|
|
5
|
+
sap.ui.define(["sap/m/Button", "sap/m/CheckBox", "sap/m/Column", "sap/m/ColumnListItem", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/Label", "sap/m/List", "sap/m/Switch", "sap/m/Table", "sap/m/Text", "sap/m/Title", "sap/m/VBox", "sap/ui/core/CustomData", "./BaseSettingsPanel", "./library", "./utils/Accessibility", "./utils/Constants", "./utils/FESRUtil", "./utils/PersonalisationUtils", "./utils/UshellPersonalizer"], function (Button, CheckBox, Column, ColumnListItem, CustomListItem, HBox, Label, List, Switch, Table, Text, Title, VBox, CustomData, __BaseSettingsPanel, ___library, ___utils_Accessibility, ___utils_Constants, ___utils_FESRUtil, __PersonalisationUtils, __UshellPersonalizer) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
function _interopRequireDefault(obj) {
|
|
@@ -43,7 +43,15 @@ sap.ui.define(["sap/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/La
|
|
|
43
43
|
this.setProperty("key", SETTINGS_PANELS_KEYS.NEWS);
|
|
44
44
|
this.setProperty("title", this._i18nBundle.getText("news"));
|
|
45
45
|
this.setProperty("icon", "sap-icon://newspaper");
|
|
46
|
-
|
|
46
|
+
this._resetActionButton = new Button({
|
|
47
|
+
id: `${this.getId()}-newsResetBtn`,
|
|
48
|
+
visible: false,
|
|
49
|
+
enabled: false,
|
|
50
|
+
text: this._i18nBundle.getText("resetDefaultButton"),
|
|
51
|
+
press: () => this.resetDefaultNewsSettings()
|
|
52
|
+
});
|
|
53
|
+
// Add button to actionButtons aggregation
|
|
54
|
+
this.addActionButton(this._resetActionButton);
|
|
47
55
|
//setup layout content
|
|
48
56
|
this.addAggregation("content", this.getContent());
|
|
49
57
|
|
|
@@ -65,7 +73,7 @@ sap.ui.define(["sap/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/La
|
|
|
65
73
|
const oContentVBox = new VBox(this.getId() + "--idNewsPageOuterVBoX", {
|
|
66
74
|
alignItems: "Start",
|
|
67
75
|
justifyContent: "SpaceBetween",
|
|
68
|
-
items: [oHeader, oTitle, this.
|
|
76
|
+
items: [oHeader, oTitle, this.createCustomNewsList(), this.createNewsGroupTable()]
|
|
69
77
|
});
|
|
70
78
|
return oContentVBox;
|
|
71
79
|
},
|
|
@@ -131,49 +139,85 @@ sap.ui.define(["sap/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/La
|
|
|
131
139
|
return oTitleVBox;
|
|
132
140
|
},
|
|
133
141
|
/**
|
|
134
|
-
* Returns the content for the news List
|
|
142
|
+
* Returns the content for the news List for custom news feed
|
|
135
143
|
*
|
|
136
144
|
* @private
|
|
137
145
|
* @returns {sap.ui.core.Control} The control containing the News Settings Panel's List
|
|
138
146
|
*/
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
147
|
+
createCustomNewsList: function _createCustomNewsList() {
|
|
148
|
+
if (!this.newsListVBox) {
|
|
149
|
+
//showAllPrepRequired Switch
|
|
150
|
+
const oShowSwitchLabel = new Label(this.getId() + "--idShowAllCustNewsSwitchLabel", {
|
|
151
|
+
text: this._i18nBundle.getText("showAllPreparationRequiredSwitchLabel")
|
|
152
|
+
});
|
|
153
|
+
this.oShowSwitch = new Switch(`${this.getId()}-showSwitch`, {
|
|
154
|
+
customTextOn: " ",
|
|
155
|
+
customTextOff: " ",
|
|
156
|
+
change: () => {
|
|
157
|
+
void this.saveNewsFeedSettings();
|
|
158
|
+
},
|
|
159
|
+
state: false,
|
|
160
|
+
ariaLabelledBy: [`${this.getId()}--idShowAllCustNewsSwitchLabel`]
|
|
161
|
+
});
|
|
162
|
+
addFESRSemanticStepName(this.oShowSwitch, FESR_EVENTS.CHANGE, "showPrepRequire");
|
|
163
|
+
this.oCustNewsSwitchContainer = new HBox(this.getId() + "--idShowAllCustNewsSwitchContainer", {
|
|
164
|
+
alignItems: "Center",
|
|
165
|
+
items: [oShowSwitchLabel, this.oShowSwitch],
|
|
166
|
+
width: "94%"
|
|
167
|
+
}).addStyleClass("sapUiSmallMarginTop");
|
|
168
|
+
const oShowAllPrep = new VBox(this.getId() + "--idShowAllCustNewsSwitchVBox", {
|
|
169
|
+
items: [this.oCustNewsSwitchContainer],
|
|
170
|
+
width: "94%"
|
|
171
|
+
}).addStyleClass("sapUiSmallMarginTop");
|
|
172
|
+
const oInvisibleText = getInvisibleText(`${this.getId()}--newsTitleText`, this._i18nBundle.getText("newsTitle"));
|
|
173
|
+
//List of news items
|
|
174
|
+
this.oList = new List(this.getId() + "--idCustNewsFeedList", {
|
|
175
|
+
ariaLabelledBy: [oInvisibleText.getId(), `${this.getId()}--idCustNewsFeedSettingsText`, `${this.getId()}--idCustNewsFeedSettignsTitle`]
|
|
176
|
+
});
|
|
177
|
+
//Outer VBox
|
|
178
|
+
this.newsListVBox = new VBox(this.getId() + "--idCustNewsFeedListContainer", {
|
|
179
|
+
direction: "Column",
|
|
180
|
+
visible: false,
|
|
181
|
+
items: [this.oList, oShowAllPrep, oInvisibleText],
|
|
182
|
+
width: "96%"
|
|
183
|
+
}).addStyleClass("sapUiSmallMarginTop sapUiSmallMarginBegin");
|
|
184
|
+
}
|
|
185
|
+
return this.newsListVBox;
|
|
186
|
+
},
|
|
187
|
+
/**
|
|
188
|
+
* Creates and returns a table for managing default news group settings.
|
|
189
|
+
* @returns {Table} Table for news groups for default manage news feed
|
|
190
|
+
* @private
|
|
191
|
+
*/
|
|
192
|
+
createNewsGroupTable: function _createNewsGroupTable() {
|
|
193
|
+
//Table for news groups
|
|
194
|
+
if (!this.groupTable) {
|
|
195
|
+
this.groupTable = new Table(this.getId() + "--idNewsGroupTbl", {
|
|
196
|
+
includeItemInSelection: true,
|
|
197
|
+
visible: false
|
|
198
|
+
}).addStyleClass("sapUiTinyMarginBegin");
|
|
199
|
+
const placeHolderCol = new Column(this.getId() + "--idNewsGroupPlaceHolder", {
|
|
200
|
+
width: "8%"
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
//title column
|
|
204
|
+
const titleCol = new Column(this.getId() + "--idNewsGroupTitle", {
|
|
205
|
+
header: new Label(this.getId() + "--idNewsGroupTitleLbl", {
|
|
206
|
+
text: this._i18nBundle.getText("defaultNewsSettingsHeading")
|
|
207
|
+
}),
|
|
208
|
+
width: "50%"
|
|
209
|
+
});
|
|
210
|
+
const articleCount = new Column(this.getId() + "--idNewsGroupCount", {
|
|
211
|
+
header: new Label(this.getId() + "--idNewsGroupCountLbl", {
|
|
212
|
+
text: this._i18nBundle.getText("articleCount")
|
|
213
|
+
}),
|
|
214
|
+
width: "42%"
|
|
215
|
+
});
|
|
216
|
+
this.groupTable.addColumn(placeHolderCol);
|
|
217
|
+
this.groupTable.addColumn(titleCol);
|
|
218
|
+
this.groupTable.addColumn(articleCount);
|
|
219
|
+
}
|
|
220
|
+
return this.groupTable;
|
|
177
221
|
},
|
|
178
222
|
/**
|
|
179
223
|
* Checks if the custom file format is CSV based on the custom file name.
|
|
@@ -199,20 +243,11 @@ sap.ui.define(["sap/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/La
|
|
|
199
243
|
const showDefault = newsType === NewsType.Default;
|
|
200
244
|
const customFileName = _this2.oNewsPanel.getProperty("customFileName");
|
|
201
245
|
const feedKey = _this2.oNewsPanel.getCustomFeedKey();
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
if (showDefault) {
|
|
208
|
-
const groupId = _this2.getDefaultGroupId(newsListHBox);
|
|
209
|
-
if (!isSelected && groupId) {
|
|
210
|
-
deselectedDefaultFeeds.push(groupId);
|
|
211
|
-
}
|
|
212
|
-
} else if (isSelected) {
|
|
213
|
-
selectedFeeds.push(label.getText());
|
|
214
|
-
}
|
|
215
|
-
});
|
|
246
|
+
if (showDefault) {
|
|
247
|
+
deselectedDefaultFeeds.push(..._this2.collectDeselectedDefaultGroupIds());
|
|
248
|
+
} else {
|
|
249
|
+
selectedFeeds.push(..._this2.collectSelectedCustomFeedTitles());
|
|
250
|
+
}
|
|
216
251
|
return Promise.resolve(_this2.getPersonalization()).then(function (personalizer) {
|
|
217
252
|
return Promise.resolve(personalizer.read()).then(function (personalizationData) {
|
|
218
253
|
if (showDefault) {
|
|
@@ -229,6 +264,8 @@ sap.ui.define(["sap/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/La
|
|
|
229
264
|
// get the latest value of switch and set the state
|
|
230
265
|
if (!showDefault) {
|
|
231
266
|
_this2.oShowSwitch.setState(personalizationData.favNewsFeed?.showAllPreparationRequired);
|
|
267
|
+
} else {
|
|
268
|
+
_this2._resetActionButton.setEnabled(!!(deselectedDefaultFeeds.length > 0));
|
|
232
269
|
}
|
|
233
270
|
return Promise.resolve(_this2.oNewsPanel.setCustomNewsFeed(showDefault ? "" : feedKey)).then(function () {});
|
|
234
271
|
});
|
|
@@ -238,8 +275,41 @@ sap.ui.define(["sap/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/La
|
|
|
238
275
|
return Promise.reject(e);
|
|
239
276
|
}
|
|
240
277
|
},
|
|
241
|
-
/**
|
|
242
|
-
*
|
|
278
|
+
/**
|
|
279
|
+
* Collect selected custom feed titles from the list
|
|
280
|
+
* @returns {string[]} Array of selected custom feed titles
|
|
281
|
+
* @private
|
|
282
|
+
*/
|
|
283
|
+
collectSelectedCustomFeedTitles: function _collectSelectedCustomFeedTitles() {
|
|
284
|
+
const items = this.oList?.getItems() ?? [];
|
|
285
|
+
if (!items.length) return [];
|
|
286
|
+
return items.flatMap(item => {
|
|
287
|
+
const content = item.getAggregation("content");
|
|
288
|
+
const hBox = content?.[0];
|
|
289
|
+
if (!hBox) return [];
|
|
290
|
+
const [checkBox, text] = hBox.getItems();
|
|
291
|
+
return checkBox.getSelected() ? [text.getText()] : [];
|
|
292
|
+
});
|
|
293
|
+
},
|
|
294
|
+
/**
|
|
295
|
+
* Collect deselected default group IDs from the table
|
|
296
|
+
* @returns {string[]} Array of deselected default group IDs from the table
|
|
297
|
+
* @private
|
|
298
|
+
*/
|
|
299
|
+
collectDeselectedDefaultGroupIds: function _collectDeselectedDefaultGroupIds() {
|
|
300
|
+
const rows = this.groupTable?.getItems() ?? [];
|
|
301
|
+
if (!rows.length) return [];
|
|
302
|
+
return rows.flatMap(row => {
|
|
303
|
+
const cells = row.getCells();
|
|
304
|
+
const checkBox = cells[0];
|
|
305
|
+
if (checkBox.getSelected()) return [];
|
|
306
|
+
const groupId = this.getDefaultGroupId(row);
|
|
307
|
+
return groupId ? [groupId] : [];
|
|
308
|
+
});
|
|
309
|
+
},
|
|
310
|
+
/**
|
|
311
|
+
* Get groupId info for the default NewsList
|
|
312
|
+
* @param {HBox | ColumnListItem} contentBox, content Hbox or ColumnListItem
|
|
243
313
|
* @returns {string} groupId
|
|
244
314
|
* @private
|
|
245
315
|
*/
|
|
@@ -247,14 +317,13 @@ sap.ui.define(["sap/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/La
|
|
|
247
317
|
const customData = contentBox.getCustomData();
|
|
248
318
|
return customData?.length ? customData[0].getValue() : "";
|
|
249
319
|
},
|
|
250
|
-
/**
|
|
320
|
+
/**
|
|
321
|
+
* Set items for the NewsList for custom news feed
|
|
251
322
|
* @param {Array} [aItems] news items to be set as items aggregation
|
|
252
323
|
* @private
|
|
253
324
|
*/
|
|
254
|
-
|
|
325
|
+
setCustomNewsItems: function _setCustomNewsItems(aItems) {
|
|
255
326
|
this.oList.destroyAggregation("items", true);
|
|
256
|
-
const newsType = this.oNewsPanel?.getNewsType();
|
|
257
|
-
let showDefault = newsType === NewsType.Default;
|
|
258
327
|
(aItems || []).forEach((oItem, i) => {
|
|
259
328
|
let oNewsListItemHbox = new HBox({
|
|
260
329
|
id: `${this.getId()}--idCustNewsFeedItemContent--${i}`,
|
|
@@ -270,13 +339,6 @@ sap.ui.define(["sap/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/La
|
|
|
270
339
|
})],
|
|
271
340
|
width: "100%"
|
|
272
341
|
});
|
|
273
|
-
if (showDefault) {
|
|
274
|
-
// if showDefault is true, add group_id as custom data to the item
|
|
275
|
-
oNewsListItemHbox.addCustomData(new CustomData({
|
|
276
|
-
key: "newsGroupId",
|
|
277
|
-
value: oItem.group_id
|
|
278
|
-
}));
|
|
279
|
-
}
|
|
280
342
|
const customListItem = new CustomListItem({
|
|
281
343
|
id: `${this.getId()}--idCustNewsFeedItem--${i}`,
|
|
282
344
|
content: [oNewsListItemHbox]
|
|
@@ -304,13 +366,21 @@ sap.ui.define(["sap/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/La
|
|
|
304
366
|
return Promise.resolve(oPersonalizer.read()).then(function (oPersData) {
|
|
305
367
|
const aPersNewsFeed = showDefaultNewsFeed ? oPersData?.["defaultNewsFeed"] : oPersData?.["favNewsFeed"];
|
|
306
368
|
const showAllPreparationRequired = aPersNewsFeed?.showAllPreparationRequired ?? !aPersNewsFeed;
|
|
307
|
-
|
|
308
|
-
|
|
369
|
+
let aNewsFeed;
|
|
370
|
+
if (showDefaultNewsFeed) {
|
|
371
|
+
_this3._resetActionButton.setVisible(true);
|
|
372
|
+
_this3._resetActionButton.setEnabled(!!(aPersNewsFeed?.items?.length > 0));
|
|
373
|
+
return Promise.resolve(_this3.oNewsPanel.getDefaultNewsData()).then(function (_this3$oNewsPanel$get) {
|
|
374
|
+
aNewsFeed = _this3$oNewsPanel$get;
|
|
309
375
|
return _this3._handleDefaultNewsFeed(aNewsFeed, aPersNewsFeed);
|
|
310
|
-
}
|
|
376
|
+
});
|
|
377
|
+
} else {
|
|
378
|
+
_this3._resetActionButton.setVisible(false);
|
|
379
|
+
return Promise.resolve(_this3.oNewsPanel.getCustomOrDefaultNewsFeed(showDefaultNewsFeed ? "" : sFeedKey, false)).then(function (_this3$oNewsPanel$get2) {
|
|
380
|
+
aNewsFeed = _this3$oNewsPanel$get2;
|
|
311
381
|
return _this3._handleCustomNewsFeed(aNewsFeed, aPersNewsFeed, showAllPreparationRequired);
|
|
312
|
-
}
|
|
313
|
-
}
|
|
382
|
+
});
|
|
383
|
+
}
|
|
314
384
|
});
|
|
315
385
|
});
|
|
316
386
|
} catch (e) {
|
|
@@ -328,8 +398,10 @@ sap.ui.define(["sap/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/La
|
|
|
328
398
|
* If no news feed is provided, it returns undefined.
|
|
329
399
|
*/
|
|
330
400
|
_handleDefaultNewsFeed: function _handleDefaultNewsFeed(aNewsFeed, aPersNewsFeed) {
|
|
331
|
-
this.headerText.setText(this._i18nBundle.getText("defaultNewsSettingsText"));
|
|
332
|
-
this.title.
|
|
401
|
+
this.headerText.setText(this._i18nBundle.getText("defaultNewsSettingsText") + "\n" + this._i18nBundle.getText("defaultNewsSettingsSubText"));
|
|
402
|
+
this.title.setVisible(false);
|
|
403
|
+
this.newsListVBox.setVisible(false);
|
|
404
|
+
this.oShowSwitch.setState(false);
|
|
333
405
|
const mandatoryNewsFeed = this.oNewsPanel.getMandatoryDefaultNewsFeed();
|
|
334
406
|
this.deselectedDefaultFeeds = aPersNewsFeed?.items || [];
|
|
335
407
|
if (!aNewsFeed || aNewsFeed.length === 0) {
|
|
@@ -346,10 +418,45 @@ sap.ui.define(["sap/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/La
|
|
|
346
418
|
}
|
|
347
419
|
return oNewsFeed;
|
|
348
420
|
});
|
|
349
|
-
this.
|
|
350
|
-
this.
|
|
421
|
+
this.groupTable.setVisible(true);
|
|
422
|
+
this.setColumnListItems(aNewsFeed);
|
|
351
423
|
return aNewsFeed;
|
|
352
424
|
},
|
|
425
|
+
/**
|
|
426
|
+
* This method populates the column list items in the group table for the default news feed settings.
|
|
427
|
+
* @param aItems Array of news feed items
|
|
428
|
+
* @private
|
|
429
|
+
*/
|
|
430
|
+
setColumnListItems: function _setColumnListItems(aItems) {
|
|
431
|
+
this.groupTable.destroyItems();
|
|
432
|
+
//add column list item, title and article count
|
|
433
|
+
(aItems || []).forEach((oItem, i) => {
|
|
434
|
+
const colListItem = new ColumnListItem({
|
|
435
|
+
id: `${this.getId()}--idNewsGroupColListItem--${i}`,
|
|
436
|
+
selected: oItem.selected,
|
|
437
|
+
type: "Active",
|
|
438
|
+
cells: [new CheckBox({
|
|
439
|
+
id: `${this.getId()}--idNewsGroupCheckBox--${i}`,
|
|
440
|
+
selected: oItem.selected,
|
|
441
|
+
enabled: !oItem.disabled,
|
|
442
|
+
select: () => {
|
|
443
|
+
void this.saveNewsFeedSettings();
|
|
444
|
+
}
|
|
445
|
+
}), new Text({
|
|
446
|
+
text: oItem.title
|
|
447
|
+
}), new Text({
|
|
448
|
+
text: String(oItem._group_to_article?.length ?? 0)
|
|
449
|
+
})]
|
|
450
|
+
});
|
|
451
|
+
|
|
452
|
+
// if showDefault is true, add group_id as custom data to the item
|
|
453
|
+
colListItem.addCustomData(new CustomData({
|
|
454
|
+
key: "newsGroupId",
|
|
455
|
+
value: oItem.group_id
|
|
456
|
+
}));
|
|
457
|
+
this.groupTable.addItem(colListItem);
|
|
458
|
+
});
|
|
459
|
+
},
|
|
353
460
|
/**
|
|
354
461
|
* @param {INewsFeed[]} aNewsFeed
|
|
355
462
|
* @param aPersNewsFeed
|
|
@@ -362,8 +469,11 @@ sap.ui.define(["sap/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/La
|
|
|
362
469
|
* It also sets the state of the show switch based on the `showAllPreparationRequired` parameter.
|
|
363
470
|
*/
|
|
364
471
|
_handleCustomNewsFeed: function _handleCustomNewsFeed(aNewsFeed, aPersNewsFeed, showAllPreparationRequired) {
|
|
472
|
+
this.groupTable.setVisible(false);
|
|
365
473
|
this.headerText.setText(this._i18nBundle.getText("newsFeedSettingsText"));
|
|
366
474
|
this.title.setText(this._i18nBundle.getText("newsFeedSettingsHeading"));
|
|
475
|
+
this.title.setVisible(true);
|
|
476
|
+
this.newsListVBox.setVisible(true);
|
|
367
477
|
if (!aNewsFeed || aNewsFeed.length === 0) {
|
|
368
478
|
return;
|
|
369
479
|
}
|
|
@@ -374,10 +484,38 @@ sap.ui.define(["sap/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/La
|
|
|
374
484
|
return oNewsFeed;
|
|
375
485
|
});
|
|
376
486
|
this.aFavNewsFeed = aNewsFeed;
|
|
377
|
-
this.
|
|
487
|
+
this.setCustomNewsItems(this.aFavNewsFeed);
|
|
378
488
|
this.oShowSwitch.setState(!!showAllPreparationRequired);
|
|
379
489
|
return aNewsFeed;
|
|
380
490
|
},
|
|
491
|
+
/**
|
|
492
|
+
* Resets the default manage news' news settings to default by clearing
|
|
493
|
+
* the personalization data and updating the news panel.
|
|
494
|
+
* @private
|
|
495
|
+
* @returns {Promise<INewsFeed[] | undefined>} A promise that resolves to the updated news feed items or undefined.
|
|
496
|
+
*/
|
|
497
|
+
resetDefaultNewsSettings: function _resetDefaultNewsSettings() {
|
|
498
|
+
try {
|
|
499
|
+
const _this4 = this;
|
|
500
|
+
return Promise.resolve(_this4.getPersonalization()).then(function (personalizer) {
|
|
501
|
+
return Promise.resolve(personalizer.read()).then(function (personalizationData) {
|
|
502
|
+
personalizationData.defaultNewsFeed = {
|
|
503
|
+
items: []
|
|
504
|
+
};
|
|
505
|
+
return Promise.resolve(personalizer.write(personalizationData)).then(function () {
|
|
506
|
+
return Promise.resolve(_this4.oNewsPanel.setCustomNewsFeed("")).then(function () {
|
|
507
|
+
return Promise.resolve(_this4.oNewsPanel.getDefaultNewsData()).then(function (aNewsFeed) {
|
|
508
|
+
_this4._resetActionButton.setEnabled(false);
|
|
509
|
+
return _this4._handleDefaultNewsFeed(aNewsFeed, personalizationData.defaultNewsFeed);
|
|
510
|
+
});
|
|
511
|
+
});
|
|
512
|
+
});
|
|
513
|
+
});
|
|
514
|
+
});
|
|
515
|
+
} catch (e) {
|
|
516
|
+
return Promise.reject(e);
|
|
517
|
+
}
|
|
518
|
+
},
|
|
381
519
|
/**
|
|
382
520
|
* Checks if the News Settings Panel is supported based on the properties of the News Panel.
|
|
383
521
|
*
|
|
@@ -385,8 +523,8 @@ sap.ui.define(["sap/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/La
|
|
|
385
523
|
*/
|
|
386
524
|
isSupported: function _isSupported() {
|
|
387
525
|
try {
|
|
388
|
-
const
|
|
389
|
-
const newsPanel =
|
|
526
|
+
const _this5 = this;
|
|
527
|
+
const newsPanel = _this5._getPanel();
|
|
390
528
|
if (!newsPanel || !(newsPanel?.getParent()).getProperty("newsFeedVisibility")) {
|
|
391
529
|
return Promise.resolve(false);
|
|
392
530
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewsSettingsPanel.js","names":["sap","ui","define","CheckBox","CustomListItem","HBox","Label","List","Switch","Text","Title","VBox","CustomData","__BaseSettingsPanel","___library","___utils_Accessibility","___utils_Constants","___utils_FESRUtil","__PersonalisationUtils","__UshellPersonalizer","_interopRequireDefault","obj","__esModule","default","BaseSettingsPanel","NewsType","getInvisibleText","SETTINGS_PANELS_KEYS","addFESRSemanticStepName","FESR_EVENTS","PersonalisationUtils","UshellPersonalizer","NewsSettingsPanel","extend","init","_init","BaseSettingsPanel.prototype.init.call","setProperty","NEWS","_i18nBundle","getText","addAggregation","getContent","attachPanelNavigated","loadNewsFeedSettings","aFavNewsFeed","_getContent","oHeader","setHeader","oTitle","setTitleMessage","oContentVBox","getId","alignItems","justifyContent","items","setNewsList","getPersonalization","_getPersonalization","_this","_temp2","oPersonalizer","_temp","Promise","resolve","getInstance","getPersContainerId","_getPanel","getOwnerComponent","then","_UshellPersonalizer$g","e","reject","_setHeader","headerText","text","oHeaderVBox","addStyleClass","_setTitleMessage","title","titleStyle","oTitleHbox","oTitleVBox","_setNewsList","oShowSwitchLabel","oShowSwitch","customTextOn","customTextOff","change","saveNewsFeedSettings","state","ariaLabelledBy","CHANGE","oCustNewsSwitchContainer","width","oShowAllPrep","oInvisibleText","oList","oNewsListVBox","direction","isCSVFileFormat","_isCSVFileFormat","fileName","split","pop","toLowerCase","_saveNewsFeedSettings","_this2","selectedFeeds","deselectedDefaultFeeds","newsType","oNewsPanel","getNewsType","showDefault","Default","customFileName","getProperty","feedKey","getCustomFeedKey","getItems","forEach","item","newsListContent","getAggregation","newsListHBox","checkbox","label","isSelected","getSelected","groupId","getDefaultGroupId","push","personalizer","read","personalizationData","defaultNewsFeed","favNewsFeed","showAllPreparationRequired","getState","write","setState","setCustomNewsFeed","_getDefaultGroupId","contentBox","customData","getCustomData","length","getValue","setItems","_setItems","aItems","destroyAggregation","oItem","i","oNewsListItemHbox","id","select","selected","enabled","disabled","addCustomData","key","value","group_id","customListItem","content","addItem","_loadNewsFeedSettings","_this3","sFeedKey","showDefaultNewsFeed","setVisible","oPersData","aPersNewsFeed","getCustomOrDefaultNewsFeed","aNewsFeed","_handleDefaultNewsFeed","_handleCustomNewsFeed","setText","mandatoryNewsFeed","getMandatoryDefaultNewsFeed","map","oNewsFeed","isDeselected","includes","favFeedTitles","isFavorite","isSupported","_isSupported","_this4","newsPanel","getParent","Custom","isNoUpdatesNewsFeed"],"sources":["NewsSettingsPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport CheckBox from \"sap/m/CheckBox\";\nimport CustomListItem from \"sap/m/CustomListItem\";\nimport HBox from \"sap/m/HBox\";\nimport Label from \"sap/m/Label\";\nimport List from \"sap/m/List\";\nimport ListItemBase from \"sap/m/ListItemBase\";\nimport Switch from \"sap/m/Switch\";\nimport Text from \"sap/m/Text\";\nimport Title from \"sap/m/Title\";\nimport VBox from \"sap/m/VBox\";\nimport Component from \"sap/ui/core/Component\";\nimport Control from \"sap/ui/core/Control\";\nimport CustomData from \"sap/ui/core/CustomData\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport { NewsType } from \"./library\";\nimport NewsAndPagesContainer from \"./NewsAndPagesContainer\";\nimport NewsPanel, { INewsFeed } from \"./NewsPanel\";\nimport { getInvisibleText } from \"./utils/Accessibility\";\nimport { SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { addFESRSemanticStepName, FESR_EVENTS } from \"./utils/FESRUtil\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\nimport UshellPersonalizer from \"./utils/UshellPersonalizer\";\n\ninterface IFavNewsFeed {\n\titems: string[];\n\tshowAllPreparationRequired?: boolean;\n}\n\n/**\n *\n * Class for My Home News Settings Panel.\n *\n * @extends BaseSettingsPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n * @private\n *\n * @alias sap.cux.home.NewsSettingsPanel\n */\nexport default class NewsSettingsPanel extends BaseSettingsPanel {\n\tprivate oShowSwitch!: Switch;\n\tprivate oCustNewsSwitchContainer!: HBox;\n\tprivate oList!: List;\n\tprivate oPersonalizer!: UshellPersonalizer;\n\tprivate oNewsPanel!: NewsPanel;\n\tprivate aFavNewsFeed!: INewsFeed[] | string[];\n\tprivate deselectedDefaultFeeds!: string[];\n\tprivate headerText!: Text;\n\tprivate title!: Title;\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\n\t\t//setup panel\n\t\tthis.setProperty(\"key\", SETTINGS_PANELS_KEYS.NEWS);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"news\"));\n\t\tthis.setProperty(\"icon\", \"sap-icon://newspaper\");\n\n\t\t//setup layout content\n\t\tthis.addAggregation(\"content\", this.getContent());\n\n\t\t//fired every time on panel navigation\n\t\tthis.attachPanelNavigated(() => {\n\t\t\tvoid this.loadNewsFeedSettings();\n\t\t});\n\t\tthis.aFavNewsFeed = [];\n\t}\n\n\t/**\n\t * Returns the content for the News Settings Panel.\n\t *\n\t * @private\n\t * @returns {Control} The control containing the News Settings Panel content.\n\t */\n\tprivate getContent(): Control {\n\t\tconst oHeader = this.setHeader();\n\t\tconst oTitle = this.setTitleMessage();\n\t\tconst oContentVBox = new VBox(this.getId() + \"--idNewsPageOuterVBoX\", {\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\titems: [oHeader, oTitle, this.setNewsList()]\n\t\t});\n\t\treturn oContentVBox;\n\t}\n\n\t/**\n\t * Get personalization instance\n\t */\n\tprivate async getPersonalization() {\n\t\tif (!this.oPersonalizer) {\n\t\t\tthis.oPersonalizer = await UshellPersonalizer.getInstance(\n\t\t\t\tPersonalisationUtils.getPersContainerId(this._getPanel()),\n\t\t\t\tPersonalisationUtils.getOwnerComponent(this._getPanel()) as Component\n\t\t\t);\n\t\t}\n\t\treturn this.oPersonalizer;\n\t}\n\n\t/**\n\t * Returns the content for the News Settings Panel Header.\n\t *\n\t * @private\n\t * @returns {sap.ui.core.Control} The control containing the News Settings Panel's Header content.\n\t */\n\tprivate setHeader() {\n\t\tthis.headerText = new Text(this.getId() + \"--idCustNewsFeedSettingsText\", {\n\t\t\ttext: this._i18nBundle.getText(\"newsFeedSettingsText\")\n\t\t});\n\t\tconst oHeaderVBox = new VBox(this.getId() + \"--idCustNewsFeedSettingsTextContainer\", {\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\titems: [this.headerText]\n\t\t}).addStyleClass(\"sapUiSmallMarginTop sapUiSmallMarginBegin\");\n\t\treturn oHeaderVBox;\n\t}\n\n\t/**\n\t * Returns the content for the News Settings Panel Title description.\n\t *\n\t * @private\n\t * @returns {sap.ui.core.Control} The control containing the News Settings Panel's Title description.\n\t */\n\tprivate setTitleMessage() {\n\t\tthis.title = new Title(this.getId() + \"--idCustNewsFeedSettignsTitle\", {\n\t\t\ttext: this._i18nBundle.getText(\"newsFeedSettingsHeading\"),\n\t\t\ttitleStyle: \"H3\"\n\t\t});\n\t\tconst oTitleHbox = new HBox(this.getId() + \"--idCustNewsFeedSettingsTitleContainer\", {\n\t\t\talignItems: \"Center\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\titems: [this.title]\n\t\t});\n\t\tconst oTitleVBox = new VBox(this.getId() + \"--idCustNewsFeedSettingsTitleVBox\", {\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\titems: [oTitleHbox]\n\t\t}).addStyleClass(\"sapUiSmallMarginTop sapUiSmallMarginBegin\");\n\t\treturn oTitleVBox;\n\t}\n\n\t/**\n\t * Returns the content for the news List\n\t *\n\t * @private\n\t * @returns {sap.ui.core.Control} The control containing the News Settings Panel's List\n\t */\n\tprivate setNewsList() {\n\t\t//showAllPrepRequired Switch\n\t\tconst oShowSwitchLabel = new Label(this.getId() + \"--idShowAllCustNewsSwitchLabel\", {\n\t\t\ttext: this._i18nBundle.getText(\"showAllPreparationRequiredSwitchLabel\")\n\t\t});\n\t\tthis.oShowSwitch = new Switch(`${this.getId()}-showSwitch`, {\n\t\t\t// 'ariaLabelledBy': \"idShowAllCustNewsSwitchLabel idShowAllCustNewsSwitch\",\n\t\t\tcustomTextOn: \" \",\n\t\t\tcustomTextOff: \" \",\n\t\t\tchange: () => {\n\t\t\t\tvoid this.saveNewsFeedSettings();\n\t\t\t},\n\t\t\t// 'fesr:change': \"showPrepRequire\",\n\t\t\tstate: false,\n\t\t\tariaLabelledBy: [`${this.getId()}--idShowAllCustNewsSwitchLabel`]\n\t\t});\n\t\taddFESRSemanticStepName(this.oShowSwitch, FESR_EVENTS.CHANGE, \"showPrepRequire\");\n\t\tthis.oCustNewsSwitchContainer = new HBox(this.getId() + \"--idShowAllCustNewsSwitchContainer\", {\n\t\t\talignItems: \"Center\",\n\t\t\titems: [oShowSwitchLabel, this.oShowSwitch],\n\t\t\twidth: \"94%\"\n\t\t}).addStyleClass(\"sapUiSmallMarginTop\");\n\n\t\tconst oShowAllPrep = new VBox(this.getId() + \"--idShowAllCustNewsSwitchVBox\", {\n\t\t\titems: [this.oCustNewsSwitchContainer],\n\t\t\twidth: \"94%\"\n\t\t}).addStyleClass(\"sapUiSmallMarginTop\");\n\t\tconst oInvisibleText = getInvisibleText(`${this.getId()}--newsTitleText`, this._i18nBundle.getText(\"newsTitle\"));\n\t\t//List of news items\n\t\tthis.oList = new List(this.getId() + \"--idCustNewsFeedList\", {\n\t\t\tariaLabelledBy: [\n\t\t\t\toInvisibleText.getId(),\n\t\t\t\t`${this.getId()}--idCustNewsFeedSettingsText`,\n\t\t\t\t`${this.getId()}--idCustNewsFeedSettignsTitle`\n\t\t\t]\n\t\t});\n\t\t//Outer VBox\n\t\tconst oNewsListVBox = new VBox(this.getId() + \"--idCustNewsFeedListContainer\", {\n\t\t\tdirection: \"Column\",\n\t\t\titems: [this.oList, oShowAllPrep, oInvisibleText],\n\t\t\twidth: \"96%\"\n\t\t}).addStyleClass(\"sapUiSmallMarginTop sapUiSmallMarginBegin\");\n\t\treturn oNewsListVBox;\n\t}\n\n\t/**\n\t * Checks if the custom file format is CSV based on the custom file name.\n\t *\n\t * @param {string} fileName - The custom file name.\n\t * @returns {boolean} True if the file format is CSV, otherwise false.\n\t */\n\tprivate isCSVFileFormat(fileName: string): boolean {\n\t\treturn fileName.split(\".\").pop()?.toLowerCase() === \"csv\";\n\t}\n\n\t/**\n\t *\n\t * Saves news feed settings and shows news feed based on selection change of list of switch\n\t *\n\t * @private\n\t */\n\tprivate async saveNewsFeedSettings(): Promise<void> {\n\t\tconst selectedFeeds: string[] = [];\n\t\tconst deselectedDefaultFeeds: string[] = [];\n\t\tconst newsType = this.oNewsPanel?.getNewsType();\n\t\tconst showDefault = newsType === NewsType.Default;\n\t\tconst customFileName = this.oNewsPanel.getProperty(\"customFileName\") as string;\n\t\tconst feedKey = this.oNewsPanel.getCustomFeedKey();\n\n\t\tthis.oList.getItems().forEach((item: ListItemBase) => {\n\t\t\tconst newsListContent = item.getAggregation(\"content\") as Control[];\n\t\t\tconst newsListHBox = newsListContent[0] as HBox;\n\t\t\tconst [checkbox, label] = newsListHBox.getItems() as [CheckBox, Text];\n\t\t\tconst isSelected = checkbox.getSelected();\n\n\t\t\tif (showDefault) {\n\t\t\t\tconst groupId = this.getDefaultGroupId(newsListHBox);\n\t\t\t\tif (!isSelected && groupId) {\n\t\t\t\t\tdeselectedDefaultFeeds.push(groupId);\n\t\t\t\t}\n\t\t\t} else if (isSelected) {\n\t\t\t\tselectedFeeds.push(label.getText());\n\t\t\t}\n\t\t});\n\n\t\tconst personalizer = await this.getPersonalization();\n\t\tconst personalizationData = (await personalizer.read()) || {};\n\n\t\tif (showDefault) {\n\t\t\tpersonalizationData.defaultNewsFeed = { items: deselectedDefaultFeeds };\n\t\t} else {\n\t\t\tpersonalizationData.favNewsFeed = {\n\t\t\t\titems: selectedFeeds,\n\t\t\t\tshowAllPreparationRequired: this.isCSVFileFormat(customFileName) ? false : this.oShowSwitch.getState()\n\t\t\t} as IFavNewsFeed;\n\t\t}\n\n\t\tawait personalizer.write(personalizationData);\n\n\t\t// get the latest value of switch and set the state\n\t\tif (!showDefault) {\n\t\t\tthis.oShowSwitch.setState(personalizationData.favNewsFeed?.showAllPreparationRequired);\n\t\t}\n\t\tawait this.oNewsPanel.setCustomNewsFeed(showDefault ? \"\" : feedKey);\n\t}\n\n\t/** Get groupId info for the default NewsList\n\t * @param {HBox} [contentBox] content Hbox\n\t * @returns {string} groupId\n\t * @private\n\t */\n\tprivate getDefaultGroupId(contentBox: HBox): string {\n\t\tconst customData = contentBox.getCustomData();\n\t\treturn customData?.length ? (customData[0].getValue() as string) : \"\";\n\t}\n\n\t/** Set items for the NewsList\n\t * @param {Array} [aItems] news items to be set as items aggregation\n\t * @private\n\t */\n\tprivate setItems(aItems: INewsFeed[]) {\n\t\tthis.oList.destroyAggregation(\"items\", true);\n\t\tconst newsType = this.oNewsPanel?.getNewsType();\n\t\tlet showDefault = newsType === NewsType.Default;\n\t\t(aItems || []).forEach((oItem: INewsFeed, i: number) => {\n\t\t\tlet oNewsListItemHbox = new HBox({\n\t\t\t\tid: `${this.getId()}--idCustNewsFeedItemContent--${i}`,\n\t\t\t\talignItems: \"Center\",\n\t\t\t\titems: [\n\t\t\t\t\tnew CheckBox(`${this.getId()}--custNewsFeedItemCheckBox--${i}`, {\n\t\t\t\t\t\tselect: () => {\n\t\t\t\t\t\t\tvoid this.saveNewsFeedSettings();\n\t\t\t\t\t\t},\n\t\t\t\t\t\tselected: oItem.selected as boolean,\n\t\t\t\t\t\tenabled: !oItem.disabled\n\t\t\t\t\t}),\n\t\t\t\t\tnew Text(`${this.getId()}--custNewsFeedItemText--${i}`, { text: oItem.title })\n\t\t\t\t],\n\t\t\t\twidth: \"100%\"\n\t\t\t});\n\t\t\tif (showDefault) {\n\t\t\t\t// if showDefault is true, add group_id as custom data to the item\n\t\t\t\toNewsListItemHbox.addCustomData(new CustomData({ key: \"newsGroupId\", value: oItem.group_id }));\n\t\t\t}\n\t\t\tconst customListItem = new CustomListItem({\n\t\t\t\tid: `${this.getId()}--idCustNewsFeedItem--${i}`,\n\t\t\t\tcontent: [oNewsListItemHbox]\n\t\t\t});\n\t\t\tthis.oList.addItem(customListItem);\n\t\t});\n\t}\n\n\t/**\n\t * Loads news feed settings\n\t *\n\t * @returns {Promise} resolves to news feed settings\n\t */\n\tprivate async loadNewsFeedSettings(): Promise<INewsFeed[] | undefined> {\n\t\tthis.oNewsPanel = this._getPanel() as NewsPanel;\n\t\tconst sFeedKey = this.oNewsPanel.getCustomFeedKey();\n\t\tconst newsType = this.oNewsPanel?.getNewsType();\n\t\tconst showDefaultNewsFeed = newsType === NewsType.Default;\n\n\t\tconst customFileName = this.oNewsPanel.getProperty(\"customFileName\") as string;\n\t\tif (this.isCSVFileFormat(customFileName) || showDefaultNewsFeed) {\n\t\t\tthis.oCustNewsSwitchContainer.setVisible(false);\n\t\t}\n\n\t\tconst oPersonalizer = await this.getPersonalization();\n\t\tconst oPersData = await oPersonalizer.read();\n\t\tconst aPersNewsFeed = (showDefaultNewsFeed ? oPersData?.[\"defaultNewsFeed\"] : oPersData?.[\"favNewsFeed\"]) as IFavNewsFeed;\n\t\tconst showAllPreparationRequired = aPersNewsFeed?.showAllPreparationRequired ?? !aPersNewsFeed;\n\n\t\tlet aNewsFeed: INewsFeed[] = await this.oNewsPanel.getCustomOrDefaultNewsFeed(showDefaultNewsFeed ? \"\" : sFeedKey, false);\n\n\t\tif (showDefaultNewsFeed) {\n\t\t\treturn this._handleDefaultNewsFeed(aNewsFeed, aPersNewsFeed);\n\t\t} else {\n\t\t\treturn this._handleCustomNewsFeed(aNewsFeed, aPersNewsFeed, showAllPreparationRequired);\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {INewsFeed[]} aNewsFeed\n\t * @param {IFavNewsFeed} aPersNewsFeed\n\t * @returns {INewsFeed[] | undefined}\n\t * @private\n\t * @description Handles the default news feed settings by setting the header text, title, and items.\n\t * It maps the news feed items to set their selected and disabled states based on the personalisation data.\n\t * If no news feed is provided, it returns undefined.\n\t */\n\tprivate _handleDefaultNewsFeed(aNewsFeed: INewsFeed[], aPersNewsFeed: IFavNewsFeed): INewsFeed[] | undefined {\n\t\tthis.headerText.setText(this._i18nBundle.getText(\"defaultNewsSettingsText\"));\n\t\tthis.title.setText(this._i18nBundle.getText(\"defaultNewsSettingsHeading\"));\n\t\tconst mandatoryNewsFeed = this.oNewsPanel.getMandatoryDefaultNewsFeed();\n\t\tthis.deselectedDefaultFeeds = aPersNewsFeed?.items || [];\n\n\t\tif (!aNewsFeed || aNewsFeed.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\taNewsFeed = aNewsFeed.map((oNewsFeed: INewsFeed) => {\n\t\t\t// if group_id not available in deselectedDefaultFeeds, then mark it as selected\n\t\t\tconst isDeselected = oNewsFeed.group_id ? this.deselectedDefaultFeeds.includes(oNewsFeed.group_id) : false;\n\t\t\toNewsFeed.selected = !aPersNewsFeed ? true : !isDeselected;\n\t\t\t// if group_id is available in mandatoryNewsFeed, then mark it as disabled, user cannot hide mandatory feeds\n\t\t\tif (mandatoryNewsFeed.includes(oNewsFeed.group_id ?? \"\")) {\n\t\t\t\toNewsFeed.selected = true;\n\t\t\t\toNewsFeed.disabled = true;\n\t\t\t}\n\n\t\t\treturn oNewsFeed;\n\t\t});\n\n\t\tthis.setItems(aNewsFeed);\n\t\tthis.oShowSwitch.setState(false);\n\t\treturn aNewsFeed;\n\t}\n\n\t/**\n\t * @param {INewsFeed[]} aNewsFeed\n\t * @param aPersNewsFeed\n\t * @param showAllPreparationRequired\n\t * @returns {INewsFeed[] | undefined}\n\t * @private\n\t * This method is responsible for managing the custom news feed settings in the News Settings Panel.\n\t * It updates the header text and title, checks if the news feed is available, and maps the news feed items to set their selected state.\n\t * If the news feed is not available or empty, it returns undefined.\n\t * It also sets the state of the show switch based on the `showAllPreparationRequired` parameter.\n\t */\n\tprivate _handleCustomNewsFeed(\n\t\taNewsFeed: INewsFeed[],\n\t\taPersNewsFeed: IFavNewsFeed,\n\t\tshowAllPreparationRequired: boolean\n\t): INewsFeed[] | undefined {\n\t\tthis.headerText.setText(this._i18nBundle.getText(\"newsFeedSettingsText\"));\n\t\tthis.title.setText(this._i18nBundle.getText(\"newsFeedSettingsHeading\"));\n\n\t\tif (!aNewsFeed || aNewsFeed.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst favFeedTitles: string[] = aPersNewsFeed?.items || aNewsFeed;\n\t\taNewsFeed = aNewsFeed.map((oNewsFeed: INewsFeed) => {\n\t\t\tconst isFavorite = favFeedTitles.includes(oNewsFeed.title);\n\t\t\toNewsFeed.selected = !aPersNewsFeed ? true : isFavorite;\n\t\t\treturn oNewsFeed;\n\t\t});\n\n\t\tthis.aFavNewsFeed = aNewsFeed;\n\t\tthis.setItems(this.aFavNewsFeed);\n\t\tthis.oShowSwitch.setState(!!showAllPreparationRequired);\n\t\treturn aNewsFeed;\n\t}\n\n\t/**\n\t * Checks if the News Settings Panel is supported based on the properties of the News Panel.\n\t *\n\t * @returns {Promise<boolean>} A promise that resolves to true if the News Settings Panel is supported, otherwise false.\n\t */\n\tpublic async isSupported(): Promise<boolean> {\n\t\tconst newsPanel = this._getPanel() as NewsPanel;\n\t\tif (!newsPanel || !(newsPanel?.getParent() as NewsAndPagesContainer).getProperty(\"newsFeedVisibility\")) {\n\t\t\treturn Promise.resolve(false);\n\t\t}\n\n\t\treturn Promise.resolve(\n\t\t\t(newsPanel.getNewsType() === NewsType.Custom || newsPanel.getNewsType() === NewsType.Default) &&\n\t\t\t\t!newsPanel.isNoUpdatesNewsFeed()\n\t\t);\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"NewsSettingsPanel.js","names":["sap","ui","define","Button","CheckBox","Column","ColumnListItem","CustomListItem","HBox","Label","List","Switch","Table","Text","Title","VBox","CustomData","__BaseSettingsPanel","___library","___utils_Accessibility","___utils_Constants","___utils_FESRUtil","__PersonalisationUtils","__UshellPersonalizer","_interopRequireDefault","obj","__esModule","default","BaseSettingsPanel","NewsType","getInvisibleText","SETTINGS_PANELS_KEYS","addFESRSemanticStepName","FESR_EVENTS","PersonalisationUtils","UshellPersonalizer","NewsSettingsPanel","extend","init","_init","BaseSettingsPanel.prototype.init.call","setProperty","NEWS","_i18nBundle","getText","_resetActionButton","id","getId","visible","enabled","text","press","resetDefaultNewsSettings","addActionButton","addAggregation","getContent","attachPanelNavigated","loadNewsFeedSettings","aFavNewsFeed","_getContent","oHeader","setHeader","oTitle","setTitleMessage","oContentVBox","alignItems","justifyContent","items","createCustomNewsList","createNewsGroupTable","getPersonalization","_getPersonalization","_this","_temp2","oPersonalizer","_temp","Promise","resolve","getInstance","getPersContainerId","_getPanel","getOwnerComponent","then","_UshellPersonalizer$g","e","reject","_setHeader","headerText","oHeaderVBox","addStyleClass","_setTitleMessage","title","titleStyle","oTitleHbox","oTitleVBox","_createCustomNewsList","newsListVBox","oShowSwitchLabel","oShowSwitch","customTextOn","customTextOff","change","saveNewsFeedSettings","state","ariaLabelledBy","CHANGE","oCustNewsSwitchContainer","width","oShowAllPrep","oInvisibleText","oList","direction","_createNewsGroupTable","groupTable","includeItemInSelection","placeHolderCol","titleCol","header","articleCount","addColumn","isCSVFileFormat","_isCSVFileFormat","fileName","split","pop","toLowerCase","_saveNewsFeedSettings","_this2","selectedFeeds","deselectedDefaultFeeds","newsType","oNewsPanel","getNewsType","showDefault","Default","customFileName","getProperty","feedKey","getCustomFeedKey","push","collectDeselectedDefaultGroupIds","collectSelectedCustomFeedTitles","personalizer","read","personalizationData","defaultNewsFeed","favNewsFeed","showAllPreparationRequired","getState","write","setState","setEnabled","length","setCustomNewsFeed","_collectSelectedCustomFeedTitles","getItems","flatMap","item","content","getAggregation","hBox","checkBox","getSelected","_collectDeselectedDefaultGroupIds","rows","row","cells","getCells","groupId","getDefaultGroupId","_getDefaultGroupId","contentBox","customData","getCustomData","getValue","setCustomNewsItems","_setCustomNewsItems","aItems","destroyAggregation","forEach","oItem","i","oNewsListItemHbox","select","selected","disabled","customListItem","addItem","_loadNewsFeedSettings","_this3","sFeedKey","showDefaultNewsFeed","setVisible","oPersData","aPersNewsFeed","aNewsFeed","getDefaultNewsData","_this3$oNewsPanel$get","_handleDefaultNewsFeed","getCustomOrDefaultNewsFeed","_this3$oNewsPanel$get2","_handleCustomNewsFeed","setText","mandatoryNewsFeed","getMandatoryDefaultNewsFeed","map","oNewsFeed","isDeselected","group_id","includes","setColumnListItems","_setColumnListItems","destroyItems","colListItem","type","String","_group_to_article","addCustomData","key","value","favFeedTitles","isFavorite","_resetDefaultNewsSettings","_this4","isSupported","_isSupported","_this5","newsPanel","getParent","Custom","isNoUpdatesNewsFeed"],"sources":["NewsSettingsPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Button from \"sap/m/Button\";\nimport CheckBox from \"sap/m/CheckBox\";\nimport Column from \"sap/m/Column\";\nimport ColumnListItem from \"sap/m/ColumnListItem\";\nimport CustomListItem from \"sap/m/CustomListItem\";\nimport HBox from \"sap/m/HBox\";\nimport Label from \"sap/m/Label\";\nimport List from \"sap/m/List\";\nimport Switch from \"sap/m/Switch\";\nimport Table from \"sap/m/Table\";\nimport Text from \"sap/m/Text\";\nimport Title from \"sap/m/Title\";\nimport VBox from \"sap/m/VBox\";\nimport Component from \"sap/ui/core/Component\";\nimport Control from \"sap/ui/core/Control\";\nimport CustomData from \"sap/ui/core/CustomData\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport { NewsType } from \"./library\";\nimport NewsAndPagesContainer from \"./NewsAndPagesContainer\";\nimport NewsPanel, { INewsFeed } from \"./NewsPanel\";\nimport { getInvisibleText } from \"./utils/Accessibility\";\nimport { SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { addFESRSemanticStepName, FESR_EVENTS } from \"./utils/FESRUtil\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\nimport UshellPersonalizer from \"./utils/UshellPersonalizer\";\n\ninterface IFavNewsFeed {\n\titems: string[];\n\tshowAllPreparationRequired?: boolean;\n}\n\n/**\n *\n * Class for My Home News Settings Panel.\n *\n * @extends BaseSettingsPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n * @private\n *\n * @alias sap.cux.home.NewsSettingsPanel\n */\nexport default class NewsSettingsPanel extends BaseSettingsPanel {\n\tprivate oShowSwitch!: Switch;\n\tprivate oCustNewsSwitchContainer!: HBox;\n\tprivate oList!: List;\n\tprivate oPersonalizer!: UshellPersonalizer;\n\tprivate oNewsPanel!: NewsPanel;\n\tprivate aFavNewsFeed!: INewsFeed[] | string[];\n\tprivate deselectedDefaultFeeds!: string[];\n\tprivate headerText!: Text;\n\tprivate title!: Title;\n\tprivate groupTable!: Table;\n\tprivate newsListVBox!: VBox;\n\tprivate _resetActionButton!: Button;\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\n\t\t//setup panel\n\t\tthis.setProperty(\"key\", SETTINGS_PANELS_KEYS.NEWS);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"news\"));\n\t\tthis.setProperty(\"icon\", \"sap-icon://newspaper\");\n\n\t\tthis._resetActionButton = new Button({\n\t\t\tid: `${this.getId()}-newsResetBtn`,\n\t\t\tvisible: false,\n\t\t\tenabled: false,\n\t\t\ttext: this._i18nBundle.getText(\"resetDefaultButton\"),\n\t\t\tpress: () => this.resetDefaultNewsSettings()\n\t\t});\n\t\t// Add button to actionButtons aggregation\n\t\tthis.addActionButton(this._resetActionButton);\n\t\t//setup layout content\n\t\tthis.addAggregation(\"content\", this.getContent());\n\n\t\t//fired every time on panel navigation\n\t\tthis.attachPanelNavigated(() => {\n\t\t\tvoid this.loadNewsFeedSettings();\n\t\t});\n\t\tthis.aFavNewsFeed = [];\n\t}\n\n\t/**\n\t * Returns the content for the News Settings Panel.\n\t *\n\t * @private\n\t * @returns {Control} The control containing the News Settings Panel content.\n\t */\n\tprivate getContent(): Control {\n\t\tconst oHeader = this.setHeader();\n\t\tconst oTitle = this.setTitleMessage();\n\t\tconst oContentVBox = new VBox(this.getId() + \"--idNewsPageOuterVBoX\", {\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\titems: [oHeader, oTitle, this.createCustomNewsList(), this.createNewsGroupTable()]\n\t\t});\n\t\treturn oContentVBox;\n\t}\n\n\t/**\n\t * Get personalization instance\n\t */\n\tprivate async getPersonalization() {\n\t\tif (!this.oPersonalizer) {\n\t\t\tthis.oPersonalizer = await UshellPersonalizer.getInstance(\n\t\t\t\tPersonalisationUtils.getPersContainerId(this._getPanel()),\n\t\t\t\tPersonalisationUtils.getOwnerComponent(this._getPanel()) as Component\n\t\t\t);\n\t\t}\n\t\treturn this.oPersonalizer;\n\t}\n\n\t/**\n\t * Returns the content for the News Settings Panel Header.\n\t *\n\t * @private\n\t * @returns {sap.ui.core.Control} The control containing the News Settings Panel's Header content.\n\t */\n\tprivate setHeader() {\n\t\tthis.headerText = new Text(this.getId() + \"--idCustNewsFeedSettingsText\", {\n\t\t\ttext: this._i18nBundle.getText(\"newsFeedSettingsText\")\n\t\t});\n\t\tconst oHeaderVBox = new VBox(this.getId() + \"--idCustNewsFeedSettingsTextContainer\", {\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\titems: [this.headerText]\n\t\t}).addStyleClass(\"sapUiSmallMarginTop sapUiSmallMarginBegin\");\n\t\treturn oHeaderVBox;\n\t}\n\n\t/**\n\t * Returns the content for the News Settings Panel Title description.\n\t *\n\t * @private\n\t * @returns {sap.ui.core.Control} The control containing the News Settings Panel's Title description.\n\t */\n\tprivate setTitleMessage() {\n\t\tthis.title = new Title(this.getId() + \"--idCustNewsFeedSettignsTitle\", {\n\t\t\ttext: this._i18nBundle.getText(\"newsFeedSettingsHeading\"),\n\t\t\ttitleStyle: \"H3\"\n\t\t});\n\t\tconst oTitleHbox = new HBox(this.getId() + \"--idCustNewsFeedSettingsTitleContainer\", {\n\t\t\talignItems: \"Center\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\titems: [this.title]\n\t\t});\n\t\tconst oTitleVBox = new VBox(this.getId() + \"--idCustNewsFeedSettingsTitleVBox\", {\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\titems: [oTitleHbox]\n\t\t}).addStyleClass(\"sapUiSmallMarginTop sapUiSmallMarginBegin\");\n\t\treturn oTitleVBox;\n\t}\n\n\t/**\n\t * Returns the content for the news List for custom news feed\n\t *\n\t * @private\n\t * @returns {sap.ui.core.Control} The control containing the News Settings Panel's List\n\t */\n\tprivate createCustomNewsList() {\n\t\tif (!this.newsListVBox) {\n\t\t\t//showAllPrepRequired Switch\n\t\t\tconst oShowSwitchLabel = new Label(this.getId() + \"--idShowAllCustNewsSwitchLabel\", {\n\t\t\t\ttext: this._i18nBundle.getText(\"showAllPreparationRequiredSwitchLabel\")\n\t\t\t});\n\t\t\tthis.oShowSwitch = new Switch(`${this.getId()}-showSwitch`, {\n\t\t\t\tcustomTextOn: \" \",\n\t\t\t\tcustomTextOff: \" \",\n\t\t\t\tchange: () => {\n\t\t\t\t\tvoid this.saveNewsFeedSettings();\n\t\t\t\t},\n\t\t\t\tstate: false,\n\t\t\t\tariaLabelledBy: [`${this.getId()}--idShowAllCustNewsSwitchLabel`]\n\t\t\t});\n\t\t\taddFESRSemanticStepName(this.oShowSwitch, FESR_EVENTS.CHANGE, \"showPrepRequire\");\n\t\t\tthis.oCustNewsSwitchContainer = new HBox(this.getId() + \"--idShowAllCustNewsSwitchContainer\", {\n\t\t\t\talignItems: \"Center\",\n\t\t\t\titems: [oShowSwitchLabel, this.oShowSwitch],\n\t\t\t\twidth: \"94%\"\n\t\t\t}).addStyleClass(\"sapUiSmallMarginTop\");\n\n\t\t\tconst oShowAllPrep = new VBox(this.getId() + \"--idShowAllCustNewsSwitchVBox\", {\n\t\t\t\titems: [this.oCustNewsSwitchContainer],\n\t\t\t\twidth: \"94%\"\n\t\t\t}).addStyleClass(\"sapUiSmallMarginTop\");\n\t\t\tconst oInvisibleText = getInvisibleText(`${this.getId()}--newsTitleText`, this._i18nBundle.getText(\"newsTitle\"));\n\t\t\t//List of news items\n\t\t\tthis.oList = new List(this.getId() + \"--idCustNewsFeedList\", {\n\t\t\t\tariaLabelledBy: [\n\t\t\t\t\toInvisibleText.getId(),\n\t\t\t\t\t`${this.getId()}--idCustNewsFeedSettingsText`,\n\t\t\t\t\t`${this.getId()}--idCustNewsFeedSettignsTitle`\n\t\t\t\t]\n\t\t\t});\n\t\t\t//Outer VBox\n\t\t\tthis.newsListVBox = new VBox(this.getId() + \"--idCustNewsFeedListContainer\", {\n\t\t\t\tdirection: \"Column\",\n\t\t\t\tvisible: false,\n\t\t\t\titems: [this.oList, oShowAllPrep, oInvisibleText],\n\t\t\t\twidth: \"96%\"\n\t\t\t}).addStyleClass(\"sapUiSmallMarginTop sapUiSmallMarginBegin\");\n\t\t}\n\t\treturn this.newsListVBox;\n\t}\n\n\t/**\n\t *\tCreates and returns a table for managing default news group settings.\n\t * @returns {Table} Table for news groups for default manage news feed\n\t * @private\n\t */\n\tprivate createNewsGroupTable() {\n\t\t//Table for news groups\n\t\tif (!this.groupTable) {\n\t\t\tthis.groupTable = new Table(this.getId() + \"--idNewsGroupTbl\", {\n\t\t\t\tincludeItemInSelection: true,\n\t\t\t\tvisible: false\n\t\t\t}).addStyleClass(\"sapUiTinyMarginBegin\");\n\t\t\tconst placeHolderCol = new Column(this.getId() + \"--idNewsGroupPlaceHolder\", {\n\t\t\t\twidth: \"8%\"\n\t\t\t});\n\n\t\t\t//title column\n\t\t\tconst titleCol = new Column(this.getId() + \"--idNewsGroupTitle\", {\n\t\t\t\theader: new Label(this.getId() + \"--idNewsGroupTitleLbl\", {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"defaultNewsSettingsHeading\")\n\t\t\t\t}),\n\t\t\t\twidth: \"50%\"\n\t\t\t});\n\t\t\tconst articleCount = new Column(this.getId() + \"--idNewsGroupCount\", {\n\t\t\t\theader: new Label(this.getId() + \"--idNewsGroupCountLbl\", {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"articleCount\")\n\t\t\t\t}),\n\t\t\t\twidth: \"42%\"\n\t\t\t});\n\t\t\tthis.groupTable.addColumn(placeHolderCol);\n\t\t\tthis.groupTable.addColumn(titleCol);\n\t\t\tthis.groupTable.addColumn(articleCount);\n\t\t}\n\t\treturn this.groupTable;\n\t}\n\t/**\n\t * Checks if the custom file format is CSV based on the custom file name.\n\t *\n\t * @param {string} fileName - The custom file name.\n\t * @returns {boolean} True if the file format is CSV, otherwise false.\n\t */\n\tprivate isCSVFileFormat(fileName: string): boolean {\n\t\treturn fileName.split(\".\").pop()?.toLowerCase() === \"csv\";\n\t}\n\n\t/**\n\t *\n\t * Saves news feed settings and shows news feed based on selection change of list of switch\n\t *\n\t * @private\n\t */\n\tprivate async saveNewsFeedSettings(): Promise<void> {\n\t\tconst selectedFeeds: string[] = [];\n\t\tconst deselectedDefaultFeeds: string[] = [];\n\t\tconst newsType = this.oNewsPanel?.getNewsType();\n\t\tconst showDefault = newsType === NewsType.Default;\n\t\tconst customFileName = this.oNewsPanel.getProperty(\"customFileName\") as string;\n\t\tconst feedKey = this.oNewsPanel.getCustomFeedKey();\n\t\tif (showDefault) {\n\t\t\tdeselectedDefaultFeeds.push(...this.collectDeselectedDefaultGroupIds());\n\t\t} else {\n\t\t\tselectedFeeds.push(...this.collectSelectedCustomFeedTitles());\n\t\t}\n\n\t\tconst personalizer = await this.getPersonalization();\n\t\tconst personalizationData = (await personalizer.read()) || {};\n\n\t\tif (showDefault) {\n\t\t\tpersonalizationData.defaultNewsFeed = { items: deselectedDefaultFeeds };\n\t\t} else {\n\t\t\tpersonalizationData.favNewsFeed = {\n\t\t\t\titems: selectedFeeds,\n\t\t\t\tshowAllPreparationRequired: this.isCSVFileFormat(customFileName) ? false : this.oShowSwitch.getState()\n\t\t\t} as IFavNewsFeed;\n\t\t}\n\n\t\tawait personalizer.write(personalizationData);\n\n\t\t// get the latest value of switch and set the state\n\t\tif (!showDefault) {\n\t\t\tthis.oShowSwitch.setState(personalizationData.favNewsFeed?.showAllPreparationRequired);\n\t\t} else {\n\t\t\tthis._resetActionButton.setEnabled(!!(deselectedDefaultFeeds.length > 0));\n\t\t}\n\t\tawait this.oNewsPanel.setCustomNewsFeed(showDefault ? \"\" : feedKey);\n\t}\n\n\t/**\n\t * Collect selected custom feed titles from the list\n\t * @returns {string[]} Array of selected custom feed titles\n\t * @private\n\t */\n\tprivate collectSelectedCustomFeedTitles(): string[] {\n\t\tconst items = this.oList?.getItems() ?? [];\n\t\tif (!items.length) return [];\n\t\treturn items.flatMap((item) => {\n\t\t\tconst content = item.getAggregation(\"content\") as Control[] | undefined;\n\t\t\tconst hBox = content?.[0] as HBox | undefined;\n\t\t\tif (!hBox) return [];\n\t\t\tconst [checkBox, text] = hBox.getItems() as [CheckBox, Text];\n\t\t\treturn checkBox.getSelected() ? [text.getText()] : [];\n\t\t});\n\t}\n\n\t/**\n\t * Collect deselected default group IDs from the table\n\t * @returns {string[]} Array of deselected default group IDs from the table\n\t * @private\n\t */\n\tprivate collectDeselectedDefaultGroupIds(): string[] {\n\t\tconst rows = (this.groupTable?.getItems() as ColumnListItem[]) ?? [];\n\t\tif (!rows.length) return [];\n\t\treturn rows.flatMap((row: ColumnListItem) => {\n\t\t\tconst cells = row.getCells() as [CheckBox, Text, Text];\n\t\t\tconst checkBox = cells[0];\n\t\t\tif (checkBox.getSelected()) return [];\n\t\t\tconst groupId = this.getDefaultGroupId(row);\n\t\t\treturn groupId ? [groupId] : [];\n\t\t});\n\t}\n\n\t/**\n\t * Get groupId info for the default NewsList\n\t * @param {HBox | ColumnListItem} contentBox, content Hbox or ColumnListItem\n\t * @returns {string} groupId\n\t * @private\n\t */\n\tprivate getDefaultGroupId(contentBox: HBox | ColumnListItem): string {\n\t\tconst customData = contentBox.getCustomData();\n\t\treturn customData?.length ? (customData[0].getValue() as string) : \"\";\n\t}\n\n\t/**\n\t * Set items for the NewsList for custom news feed\n\t * @param {Array} [aItems] news items to be set as items aggregation\n\t * @private\n\t */\n\tprivate setCustomNewsItems(aItems: INewsFeed[]) {\n\t\tthis.oList.destroyAggregation(\"items\", true);\n\t\t(aItems || []).forEach((oItem: INewsFeed, i: number) => {\n\t\t\tlet oNewsListItemHbox = new HBox({\n\t\t\t\tid: `${this.getId()}--idCustNewsFeedItemContent--${i}`,\n\t\t\t\talignItems: \"Center\",\n\t\t\t\titems: [\n\t\t\t\t\tnew CheckBox(`${this.getId()}--custNewsFeedItemCheckBox--${i}`, {\n\t\t\t\t\t\tselect: () => {\n\t\t\t\t\t\t\tvoid this.saveNewsFeedSettings();\n\t\t\t\t\t\t},\n\t\t\t\t\t\tselected: oItem.selected as boolean,\n\t\t\t\t\t\tenabled: !oItem.disabled\n\t\t\t\t\t}),\n\t\t\t\t\tnew Text(`${this.getId()}--custNewsFeedItemText--${i}`, { text: oItem.title })\n\t\t\t\t],\n\t\t\t\twidth: \"100%\"\n\t\t\t});\n\n\t\t\tconst customListItem = new CustomListItem({\n\t\t\t\tid: `${this.getId()}--idCustNewsFeedItem--${i}`,\n\t\t\t\tcontent: [oNewsListItemHbox]\n\t\t\t});\n\t\t\tthis.oList.addItem(customListItem);\n\t\t});\n\t}\n\n\t/**\n\t * Loads news feed settings\n\t *\n\t * @returns {Promise} resolves to news feed settings\n\t */\n\tprivate async loadNewsFeedSettings(): Promise<INewsFeed[] | undefined> {\n\t\tthis.oNewsPanel = this._getPanel() as NewsPanel;\n\t\tconst sFeedKey = this.oNewsPanel.getCustomFeedKey();\n\t\tconst newsType = this.oNewsPanel?.getNewsType();\n\t\tconst showDefaultNewsFeed = newsType === NewsType.Default;\n\n\t\tconst customFileName = this.oNewsPanel.getProperty(\"customFileName\") as string;\n\t\tif (this.isCSVFileFormat(customFileName) || showDefaultNewsFeed) {\n\t\t\tthis.oCustNewsSwitchContainer.setVisible(false);\n\t\t}\n\n\t\tconst oPersonalizer = await this.getPersonalization();\n\t\tconst oPersData = await oPersonalizer.read();\n\t\tconst aPersNewsFeed = (showDefaultNewsFeed ? oPersData?.[\"defaultNewsFeed\"] : oPersData?.[\"favNewsFeed\"]) as IFavNewsFeed;\n\t\tconst showAllPreparationRequired = aPersNewsFeed?.showAllPreparationRequired ?? !aPersNewsFeed;\n\n\t\tlet aNewsFeed: INewsFeed[];\n\t\tif (showDefaultNewsFeed) {\n\t\t\tthis._resetActionButton.setVisible(true);\n\t\t\tthis._resetActionButton.setEnabled(!!(aPersNewsFeed?.items?.length > 0));\n\t\t\taNewsFeed = await this.oNewsPanel.getDefaultNewsData();\n\t\t\treturn this._handleDefaultNewsFeed(aNewsFeed, aPersNewsFeed);\n\t\t} else {\n\t\t\tthis._resetActionButton.setVisible(false);\n\t\t\taNewsFeed = await this.oNewsPanel.getCustomOrDefaultNewsFeed(showDefaultNewsFeed ? \"\" : sFeedKey, false);\n\t\t\treturn this._handleCustomNewsFeed(aNewsFeed, aPersNewsFeed, showAllPreparationRequired);\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {INewsFeed[]} aNewsFeed\n\t * @param {IFavNewsFeed} aPersNewsFeed\n\t * @returns {INewsFeed[] | undefined}\n\t * @private\n\t * @description Handles the default news feed settings by setting the header text, title, and items.\n\t * It maps the news feed items to set their selected and disabled states based on the personalisation data.\n\t * If no news feed is provided, it returns undefined.\n\t */\n\tprivate _handleDefaultNewsFeed(aNewsFeed: INewsFeed[], aPersNewsFeed: IFavNewsFeed): INewsFeed[] | undefined {\n\t\tthis.headerText.setText(\n\t\t\tthis._i18nBundle.getText(\"defaultNewsSettingsText\") + \"\\n\" + this._i18nBundle.getText(\"defaultNewsSettingsSubText\")\n\t\t);\n\t\tthis.title.setVisible(false);\n\t\tthis.newsListVBox.setVisible(false);\n\t\tthis.oShowSwitch.setState(false);\n\n\t\tconst mandatoryNewsFeed = this.oNewsPanel.getMandatoryDefaultNewsFeed();\n\t\tthis.deselectedDefaultFeeds = aPersNewsFeed?.items || [];\n\n\t\tif (!aNewsFeed || aNewsFeed.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\taNewsFeed = aNewsFeed.map((oNewsFeed: INewsFeed) => {\n\t\t\t// if group_id not available in deselectedDefaultFeeds, then mark it as selected\n\t\t\tconst isDeselected = oNewsFeed.group_id ? this.deselectedDefaultFeeds.includes(oNewsFeed.group_id) : false;\n\t\t\toNewsFeed.selected = !aPersNewsFeed ? true : !isDeselected;\n\t\t\t// if group_id is available in mandatoryNewsFeed, then mark it as disabled, user cannot hide mandatory feeds\n\t\t\tif (mandatoryNewsFeed.includes(oNewsFeed.group_id ?? \"\")) {\n\t\t\t\toNewsFeed.selected = true;\n\t\t\t\toNewsFeed.disabled = true;\n\t\t\t}\n\n\t\t\treturn oNewsFeed;\n\t\t});\n\n\t\tthis.groupTable.setVisible(true);\n\t\tthis.setColumnListItems(aNewsFeed);\n\n\t\treturn aNewsFeed;\n\t}\n\n\t/**\n\t * This method populates the column list items in the group table for the default news feed settings.\n\t * @param aItems Array of news feed items\n\t * @private\n\t */\n\tprivate setColumnListItems(aItems: INewsFeed[]) {\n\t\tthis.groupTable.destroyItems();\n\t\t//add column list item, title and article count\n\t\t(aItems || []).forEach((oItem: INewsFeed, i: number) => {\n\t\t\tconst colListItem = new ColumnListItem({\n\t\t\t\tid: `${this.getId()}--idNewsGroupColListItem--${i}`,\n\t\t\t\tselected: oItem.selected as boolean,\n\t\t\t\ttype: \"Active\",\n\t\t\t\tcells: [\n\t\t\t\t\tnew CheckBox({\n\t\t\t\t\t\tid: `${this.getId()}--idNewsGroupCheckBox--${i}`,\n\t\t\t\t\t\tselected: oItem.selected as boolean,\n\t\t\t\t\t\tenabled: !oItem.disabled,\n\t\t\t\t\t\tselect: () => {\n\t\t\t\t\t\t\tvoid this.saveNewsFeedSettings();\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\tnew Text({ text: oItem.title }),\n\t\t\t\t\tnew Text({ text: String(oItem._group_to_article?.length ?? 0) })\n\t\t\t\t]\n\t\t\t});\n\n\t\t\t// if showDefault is true, add group_id as custom data to the item\n\t\t\tcolListItem.addCustomData(new CustomData({ key: \"newsGroupId\", value: oItem.group_id }));\n\t\t\tthis.groupTable.addItem(colListItem);\n\t\t});\n\t}\n\t/**\n\t * @param {INewsFeed[]} aNewsFeed\n\t * @param aPersNewsFeed\n\t * @param showAllPreparationRequired\n\t * @returns {INewsFeed[] | undefined}\n\t * @private\n\t * This method is responsible for managing the custom news feed settings in the News Settings Panel.\n\t * It updates the header text and title, checks if the news feed is available, and maps the news feed items to set their selected state.\n\t * If the news feed is not available or empty, it returns undefined.\n\t * It also sets the state of the show switch based on the `showAllPreparationRequired` parameter.\n\t */\n\tprivate _handleCustomNewsFeed(\n\t\taNewsFeed: INewsFeed[],\n\t\taPersNewsFeed: IFavNewsFeed,\n\t\tshowAllPreparationRequired: boolean\n\t): INewsFeed[] | undefined {\n\t\tthis.groupTable.setVisible(false);\n\t\tthis.headerText.setText(this._i18nBundle.getText(\"newsFeedSettingsText\"));\n\t\tthis.title.setText(this._i18nBundle.getText(\"newsFeedSettingsHeading\"));\n\t\tthis.title.setVisible(true);\n\t\tthis.newsListVBox.setVisible(true);\n\n\t\tif (!aNewsFeed || aNewsFeed.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst favFeedTitles: string[] = aPersNewsFeed?.items || aNewsFeed;\n\t\taNewsFeed = aNewsFeed.map((oNewsFeed: INewsFeed) => {\n\t\t\tconst isFavorite = favFeedTitles.includes(oNewsFeed.title);\n\t\t\toNewsFeed.selected = !aPersNewsFeed ? true : isFavorite;\n\t\t\treturn oNewsFeed;\n\t\t});\n\n\t\tthis.aFavNewsFeed = aNewsFeed;\n\t\tthis.setCustomNewsItems(this.aFavNewsFeed);\n\t\tthis.oShowSwitch.setState(!!showAllPreparationRequired);\n\t\treturn aNewsFeed;\n\t}\n\n\t/**\n\t * Resets the default manage news' news settings to default by clearing\n\t * the personalization data and updating the news panel.\n\t * @private\n\t * @returns {Promise<INewsFeed[] | undefined>} A promise that resolves to the updated news feed items or undefined.\n\t */\n\tprivate async resetDefaultNewsSettings() {\n\t\tconst personalizer = await this.getPersonalization();\n\t\tconst personalizationData = (await personalizer.read()) || {};\n\t\tpersonalizationData.defaultNewsFeed = { items: [] };\n\t\tawait personalizer.write(personalizationData);\n\t\tawait this.oNewsPanel.setCustomNewsFeed(\"\");\n\t\tlet aNewsFeed = await this.oNewsPanel.getDefaultNewsData();\n\t\tthis._resetActionButton.setEnabled(false);\n\t\treturn this._handleDefaultNewsFeed(aNewsFeed, personalizationData.defaultNewsFeed);\n\t}\n\n\t/**\n\t * Checks if the News Settings Panel is supported based on the properties of the News Panel.\n\t *\n\t * @returns {Promise<boolean>} A promise that resolves to true if the News Settings Panel is supported, otherwise false.\n\t */\n\tpublic async isSupported(): Promise<boolean> {\n\t\tconst newsPanel = this._getPanel() as NewsPanel;\n\t\tif (!newsPanel || !(newsPanel?.getParent() as NewsAndPagesContainer).getProperty(\"newsFeedVisibility\")) {\n\t\t\treturn Promise.resolve(false);\n\t\t}\n\n\t\treturn Promise.resolve(\n\t\t\t(newsPanel.getNewsType() === NewsType.Custom || newsPanel.getNewsType() === NewsType.Default) &&\n\t\t\t\t!newsPanel.isNoUpdatesNewsFeed()\n\t\t);\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|