@sapui5/sap.cux.home 1.141.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.
Files changed (148) hide show
  1. package/package.json +1 -1
  2. package/src/sap/cux/home/.library +1 -1
  3. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
  4. package/src/sap/cux/home/AdvancedSettingsPanel.js +0 -1
  5. package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
  6. package/src/sap/cux/home/AdvancedSettingsPanel.ts +0 -1
  7. package/src/sap/cux/home/App.d.ts.map +1 -1
  8. package/src/sap/cux/home/App.js +6 -1
  9. package/src/sap/cux/home/App.js.map +1 -1
  10. package/src/sap/cux/home/App.ts +7 -1
  11. package/src/sap/cux/home/AppsAdditionPanel.d.ts +1 -0
  12. package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
  13. package/src/sap/cux/home/AppsAdditionPanel.js +59 -58
  14. package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
  15. package/src/sap/cux/home/AppsAdditionPanel.ts +39 -33
  16. package/src/sap/cux/home/AppsContainer.d.ts +5 -1
  17. package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
  18. package/src/sap/cux/home/AppsContainer.js +30 -16
  19. package/src/sap/cux/home/AppsContainer.js.map +1 -1
  20. package/src/sap/cux/home/AppsContainer.ts +29 -13
  21. package/src/sap/cux/home/BaseAppPanel.d.ts +2 -1
  22. package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
  23. package/src/sap/cux/home/BaseAppPanel.js +2 -1
  24. package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
  25. package/src/sap/cux/home/BaseAppPanel.ts +4 -2
  26. package/src/sap/cux/home/BaseContainer.d.ts +8 -0
  27. package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
  28. package/src/sap/cux/home/BaseContainer.js +26 -4
  29. package/src/sap/cux/home/BaseContainer.js.map +1 -1
  30. package/src/sap/cux/home/BaseContainer.ts +26 -3
  31. package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
  32. package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
  33. package/src/sap/cux/home/BaseContainerRenderer.ts +1 -1
  34. package/src/sap/cux/home/BasePanel.d.ts +7 -0
  35. package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
  36. package/src/sap/cux/home/BasePanel.js +20 -0
  37. package/src/sap/cux/home/BasePanel.js.map +1 -1
  38. package/src/sap/cux/home/BasePanel.ts +16 -0
  39. package/src/sap/cux/home/CardsPanel.d.ts +7 -0
  40. package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
  41. package/src/sap/cux/home/CardsPanel.js +130 -111
  42. package/src/sap/cux/home/CardsPanel.js.map +1 -1
  43. package/src/sap/cux/home/CardsPanel.ts +17 -6
  44. package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
  45. package/src/sap/cux/home/ContentAdditionDialog.js +6 -2
  46. package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
  47. package/src/sap/cux/home/ContentAdditionDialog.ts +5 -1
  48. package/src/sap/cux/home/FavAppPanel.d.ts +0 -10
  49. package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
  50. package/src/sap/cux/home/FavAppPanel.js +258 -313
  51. package/src/sap/cux/home/FavAppPanel.js.map +1 -1
  52. package/src/sap/cux/home/FavAppPanel.ts +7 -56
  53. package/src/sap/cux/home/FrequentAppPanel.d.ts.map +1 -1
  54. package/src/sap/cux/home/FrequentAppPanel.js +5 -1
  55. package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
  56. package/src/sap/cux/home/FrequentAppPanel.ts +4 -0
  57. package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
  58. package/src/sap/cux/home/InsightsAdditionPanel.js +3 -1
  59. package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
  60. package/src/sap/cux/home/InsightsAdditionPanel.ts +2 -0
  61. package/src/sap/cux/home/NewsAndPagesContainer.d.ts +0 -4
  62. package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
  63. package/src/sap/cux/home/NewsAndPagesContainer.js +2 -2
  64. package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
  65. package/src/sap/cux/home/NewsAndPagesContainer.ts +4 -4
  66. package/src/sap/cux/home/NewsPanel.d.ts +17 -0
  67. package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
  68. package/src/sap/cux/home/NewsPanel.js +90 -57
  69. package/src/sap/cux/home/NewsPanel.js.map +1 -1
  70. package/src/sap/cux/home/NewsPanel.ts +50 -22
  71. package/src/sap/cux/home/NewsSettingsPanel.d.ts +42 -6
  72. package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
  73. package/src/sap/cux/home/NewsSettingsPanel.js +219 -81
  74. package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
  75. package/src/sap/cux/home/NewsSettingsPanel.ts +215 -80
  76. package/src/sap/cux/home/Page.d.ts.map +1 -1
  77. package/src/sap/cux/home/Page.js +4 -1
  78. package/src/sap/cux/home/Page.js.map +1 -1
  79. package/src/sap/cux/home/Page.ts +2 -0
  80. package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
  81. package/src/sap/cux/home/PagePanel.js +1 -1
  82. package/src/sap/cux/home/PagePanel.js.map +1 -1
  83. package/src/sap/cux/home/PagePanel.ts +2 -6
  84. package/src/sap/cux/home/PageSettingsPanel.d.ts.map +1 -1
  85. package/src/sap/cux/home/PageSettingsPanel.js +6 -3
  86. package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
  87. package/src/sap/cux/home/PageSettingsPanel.ts +2 -2
  88. package/src/sap/cux/home/RecentAppPanel.d.ts.map +1 -1
  89. package/src/sap/cux/home/RecentAppPanel.js +6 -0
  90. package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
  91. package/src/sap/cux/home/RecentAppPanel.ts +5 -1
  92. package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
  93. package/src/sap/cux/home/RecommendedAppPanel.js +7 -0
  94. package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
  95. package/src/sap/cux/home/RecommendedAppPanel.ts +6 -1
  96. package/src/sap/cux/home/SideBySideIconTabFilter.d.ts +10 -0
  97. package/src/sap/cux/home/SideBySideIconTabFilter.d.ts.map +1 -1
  98. package/src/sap/cux/home/SideBySideIconTabFilter.js +11 -1
  99. package/src/sap/cux/home/SideBySideIconTabFilter.js.map +1 -1
  100. package/src/sap/cux/home/SideBySideIconTabFilter.ts +11 -0
  101. package/src/sap/cux/home/SituationPanel.d.ts.map +1 -1
  102. package/src/sap/cux/home/SituationPanel.js +7 -2
  103. package/src/sap/cux/home/SituationPanel.js.map +1 -1
  104. package/src/sap/cux/home/SituationPanel.ts +2 -0
  105. package/src/sap/cux/home/SpaceInsightsPanel.js +1 -1
  106. package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -1
  107. package/src/sap/cux/home/SpaceInsightsPanel.ts +1 -1
  108. package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
  109. package/src/sap/cux/home/TaskPanel.js +3 -0
  110. package/src/sap/cux/home/TaskPanel.js.map +1 -1
  111. package/src/sap/cux/home/TaskPanel.ts +2 -1
  112. package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
  113. package/src/sap/cux/home/TilesPanel.js +10 -3
  114. package/src/sap/cux/home/TilesPanel.js.map +1 -1
  115. package/src/sap/cux/home/TilesPanel.ts +7 -3
  116. package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
  117. package/src/sap/cux/home/ToDoPanel.js +29 -8
  118. package/src/sap/cux/home/ToDoPanel.js.map +1 -1
  119. package/src/sap/cux/home/ToDoPanel.ts +19 -8
  120. package/src/sap/cux/home/ToDosContainer.js +3 -3
  121. package/src/sap/cux/home/ToDosContainer.js.map +1 -1
  122. package/src/sap/cux/home/ToDosContainer.ts +1 -1
  123. package/src/sap/cux/home/i18n/messagebundle.properties +12 -6
  124. package/src/sap/cux/home/i18n/messagebundle_pt.properties +1 -1
  125. package/src/sap/cux/home/interface/AppsInterface.d.ts +5 -0
  126. package/src/sap/cux/home/interface/AppsInterface.d.ts.map +1 -1
  127. package/src/sap/cux/home/interface/AppsInterface.js.map +1 -1
  128. package/src/sap/cux/home/interface/AppsInterface.ts +6 -0
  129. package/src/sap/cux/home/themes/base/AppsContainer.less +12 -1
  130. package/src/sap/cux/home/themes/base/BaseLayout.less +11 -0
  131. package/src/sap/cux/home/themes/base/InsightsContainer.less +4 -0
  132. package/src/sap/cux/home/themes/base/ToDosContainer.less +4 -0
  133. package/src/sap/cux/home/utils/FESRUtil.d.ts +30 -0
  134. package/src/sap/cux/home/utils/FESRUtil.d.ts.map +1 -1
  135. package/src/sap/cux/home/utils/FESRUtil.js +36 -1
  136. package/src/sap/cux/home/utils/FESRUtil.js.map +1 -1
  137. package/src/sap/cux/home/utils/FESRUtil.ts +36 -0
  138. package/src/sap/cux/home/utils/PXFeedback.d.ts +4 -0
  139. package/src/sap/cux/home/utils/PXFeedback.d.ts.map +1 -0
  140. package/src/sap/cux/home/utils/PXFeedback.js +28 -0
  141. package/src/sap/cux/home/utils/PXFeedback.js.map +1 -0
  142. package/src/sap/cux/home/utils/PXFeedback.ts +19 -0
  143. package/src/sap/cux/home/utils/PageManager.d.ts +0 -4
  144. package/src/sap/cux/home/utils/PageManager.d.ts.map +1 -1
  145. package/src/sap/cux/home/utils/PageManager.js +6 -6
  146. package/src/sap/cux/home/utils/PageManager.js.map +1 -1
  147. package/src/sap/cux/home/utils/PageManager.ts +6 -5
  148. package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AdvancedSettingsPanel.js","names":["sap","ui","define","Log","CardHelper","Button","CheckBox","CustomListItem","HBox","IconTabBar","IconTabFilter","Input","Label","sap_m_library","List","MessageStrip","MessageToast","ObjectStatus","OverflowToolbar","Panel","Text","Title","Toolbar","ToolbarSpacer","VBox","Element","EventBus","sap_ui_core_library","SimpleForm","JSONModel","FileUploader","Container","__BaseSettingsPanel","___utils_Accessibility","__AppManager","___utils_Constants","___utils_DataFormatUtils","___utils_Device","___utils_FESRUtil","__HttpHelper","__PageManager","__PersonalisationUtils","__UShellPersonalizer","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","FlexAlignItems","ToolbarStyle","ValueState","BaseSettingsPanel","checkPanelExists","AppManager","SETTINGS_PANELS_KEYS","recycleId","calculateDeviceType","DeviceType","addFESRSemanticStepName","FESR_EVENTS","HttpHelper","PageManager","PersonalisationUtils","UShellPersonalizer","ImportExportType","BASE_URL","REPO_BASE_URL","EXPORT_API","MYINSIGHT_SECTION_ID","NewsAndPagesContainerName","AppsContainerlName","InsightsContainerName","PagePanelName","FavAppPanelName","RecommendedAppPanelName","TilesPanelName","CardsPanelName","AdvancedSettingsPanel","extend","metadata","events","sectionsImported","constructor","_constructor","id","settings","BaseSettingsPanel.prototype.constructor.call","init","_init","BaseSettingsPanel.prototype.init.call","setProperty","ADVANCED","_i18nBundle","getText","oEventBus","getInstance","oAppManagerInstance","oSectionsImported","oUserPersonalization","export","sections","fileName","sectionsSelected","error","import","selectedTab","showNoImport","oControlModel","addAggregation","getContent","addInnerContent","attachPanelNavigated","_this","oPageManagerInstance","getPersContainerId","_getPanel","getOwnerComponent","subscribe","channelId","eventId","data","customData","status","updateImportStatus","oDetailPage","getElementById","getProperty","layout","Mobile","_setRecommendationSettingsPanel","Promise","resolve","loadUserPersonalizationData","oImportBtn","setEnabled","enableDisableActions","setImportExportList","oExportMessage","setText","errorMessage","String","setType","errorType","oFileNameInput","setValue","oImportMessage","setVisible","reject","_setImportExportList","oExportList","destroy","setExportSectionList","_importExportPanel","addContent","oImportList","setImportSectionList","invalidate","_enableDisableActions","sType","oImportExportTab","setSelectedKey","IMPORT","oExportBtn","EXPORT","length","setExportImportValues","_setExportImportValues","_getContent","oContentVBox","getId","items","text","addStyleClass","_getImportExportPanel","headerToolbar","style","Clear","content","level","_getImportButton","_getExportButton","headerText","expanded","expandable","type","press","onImportPress","visible","PRESS","onExportPress","bind","_addInnerContent","backgroundDesign","selectedKey","oSelectedTab","select","onImportExportTabSelect","exportTab","key","SELECT","showIcon","exportText","fileInputContainer","alignItems","filenameLabel","labelFor","required","showColon","ariaLabelledBy","width","liveChange","onFileNameInputChange","value","addItem","importTab","importText","importSimpleForm","editable","labelSpanS","labelSpanM","fileUploader","tooltip","fileType","change","oEvent","onFileImport","maximumFileSize","sameFilenameAllowed","buttonText","classicImportTab","classicText","resetImportAppsNow","onResetImportApps","_setExportSectionList","exportSectionsList","growingThreshold","includeItemInSelection","setHeaderToolbar","setModel","bindItems","path","template","formatter","_isPanelAvailable","accDescription","parts","_formatAccDescription","onSectionsSelectionChange","selected","enabled","title","statusText","selectionText","instructionText","panelClassName","panelMappings","containerName","panelName","mapping","_setImportSectionList","importSectionsList","justifyContent","icon","state","_onSectionsSelectionChange","isImport","allSections","getItems","isSelected","innerCheckbox","isSectionSelected","some","oSection","getAggregation","getSelected","innerHbox","_onImportPress","_this2","attachEvent","setBusy","handleUserPersonalizationError","oExportData","_temp","importSections","aSelectedSections","bShowError","Error","oErr","_importSections","oImportData","sectionImportChain","aPromise","oSelectedSections","push","importApps","importTiles","importFavPages","reduce","chain","current","importCards","all","catch","oError","_importApps","apps","publish","groupInfo","_importTiles","tiles","_importFavPages","favouritePages","_importCards","cards","_updateImportStatus","sSectionTitle","errorState","sSectionId","find","oSec","undefined","Success","None","sectionTitles","Object","keys","imported","every","sTitle","fireEvent","resetImportModel","_resetImportModel","onOpen","getDeltaSectionViz","_getDeltaSectionViz","aImportedSections","_this3","_getSections","favSections","forEach","oImportedSection","aDelta","visualizations","filter","oImportViz","oViz","isBookmark","targetURL","vizId","getDeltaAuthSectionViz","_getDeltaAuthSectionViz","aDeltaSections","filterAuthSectionViz","_filterAuthSectionViz","aSections","_getCatalogApps","getServiceAsync","SearchableContent","getApps","includeAppsWithoutVisualizations","_filterAuthViz","aAppCatalog","aViz","aSectionViz","appCatalog","oAppCatalog","oSectionViz","oCatalogViz","target","action","semanticObject","displayFormatHint","map","filterAuthFavPages","_filterAuthFavPages","aFavPages","_exit","_this4","_temp3","_result","_temp2","fetchAllAvailablePages","aAvailablePages","oimportedPage","oAvailabePage","pageId","spaceId","_await$_this4$oPageMa","filterAuthCards","_filterAuthCards","aCards","_exit2","_temp5","_result2","_getParentApp","aAvailableApps","oCard","oApp","resolutionResult","applicationDependencies","name","parentAppId","_isNavigationSupported","oService","oParentApp","isNavigationSupported","aResponses","supported","_temp4","aServices","clientSideTargetResolution","Navigation","_oAdapter","_aInbounds","promise","aAuthCards","bIsNavigationSupported","_await$Promise$all$th","_onFileImport","files","getParameter","oFile","readFileContent","oFileContent","oEncodedFileContent","window","btoa","encodeURIComponent","replace","match","p1","fromCharCode","parseInt","Post","fileContent","oResponse","oImportDataString","JSON","parse","host","location","filterAuthorizedImportData","finally","_filterAuthorizedImportData","_this5","promises","isInsightsEnabled","_this5$isInsightsEnab","getInsightCards","aResponse","aAuthSections","aAuthFavPages","iInsightCardsCount","iTotalCardCount","Number","getImportedSections","getSelectedSections","_readFileContent","FileReader","reader","onload","event","blob","readAsText","_getPersonalizationData","_this6","_temp7","oPersonalizerInstance","read","_this6$oPersonalizerI","persData","_temp6","_UShellPersonalizer$g","_loadUserPersonalizationData","_this7","_this7$isInsightsEnab","_Promise$all","insightModel","favApps","insightTiles","insightCards","descriptorContent","personalization","aExportSections","refresh","_isInsightsEnabled","_exit3","_exit4","_getServiceAsync","message","_getSelectedSections","_isSectionSelected","sectionId","section","sec","_getImportedSections","oData","_this8","_temp9","isAppViz","oSections","panelClass","_this8$isInsightsEnab","_temp8","getDeltaFavPages","_getDeltaFavPages","aImportedFavPages","_this9","oImportedPage","oFavPage","_getInsightCards","_this0","_getServiceAsync2","cardHelperInstance","_getUserAllCardModel","oUserVisibleCardModel","aVisibleCards","visibility","_onExportPress","oExportFileName","oExportFileContent","getExportFileContent","require","File","save","stringify","show","_getExportFileContent","exportData","exportSections","oPersonalization","createdDate","Date","favoriteApps","filterNonSensitiveCards","_filterNonSensitiveCards","nonSensitiveCards","configuration","parameters","parameter","sensitiveProps","concat","getSensitiveProps","headerState","lineItemState","_getSensitiveProps","param","paramSensitiveProps","paramValue","sensitiveProp","ibnParams","_handleUserPersonalizationError","sErrorMsg","sErrorType","sDefaultErrorMsg","_onImportExportTabSelect","_onFileNameInputChange","sInputValue","trim","oInput","getSource","sValueState","sValueStateText","setValueState","setValueStateText","_onResetImportApps","_getRecommendationSettingsPanel","_this1","_recommendationSettingsPanel","panelId","showRecommendation","onRecommendationSettingChange","Center","_this10","recommendationSettingsPanel","_onRecommendationSettingChange","_this11","oPersData","write"],"sources":["AdvancedSettingsPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport CardHelper from \"sap/insights/CardHelper\";\nimport Button from \"sap/m/Button\";\nimport CheckBox, { CheckBox$SelectEvent } from \"sap/m/CheckBox\";\nimport CustomListItem from \"sap/m/CustomListItem\";\nimport HBox from \"sap/m/HBox\";\nimport IconTabBar, { IconTabBar$SelectEvent } from \"sap/m/IconTabBar\";\nimport IconTabFilter from \"sap/m/IconTabFilter\";\nimport Input, { Input$LiveChangeEvent } from \"sap/m/Input\";\nimport Label from \"sap/m/Label\";\nimport { FlexAlignItems, ToolbarStyle } from \"sap/m/library\";\nimport List from \"sap/m/List\";\nimport MessageStrip from \"sap/m/MessageStrip\";\nimport MessageToast from \"sap/m/MessageToast\";\nimport ObjectStatus from \"sap/m/ObjectStatus\";\nimport OverflowToolbar from \"sap/m/OverflowToolbar\";\nimport Page from \"sap/m/Page\";\nimport Panel from \"sap/m/Panel\";\nimport Text from \"sap/m/Text\";\nimport Title from \"sap/m/Title\";\nimport Toolbar from \"sap/m/Toolbar\";\nimport ToolbarSpacer from \"sap/m/ToolbarSpacer\";\nimport VBox from \"sap/m/VBox\";\nimport Component from \"sap/ui/core/Component\";\nimport Control from \"sap/ui/core/Control\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport Element from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport { ValueState } from \"sap/ui/core/library\";\nimport MessageType from \"sap/ui/core/message/MessageType\";\nimport File from \"sap/ui/core/util/File\";\nimport SimpleForm from \"sap/ui/layout/form/SimpleForm\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport FileUploader, { FileUploader$ChangeEvent } from \"sap/ui/unified/FileUploader\";\nimport Container from \"sap/ushell/Container\";\nimport ClientSideTargetResolution from \"sap/ushell/services/ClientSideTargetResolution\";\nimport Navigation from \"sap/ushell/services/Navigation\";\nimport SearchableContent, { AppData } from \"sap/ushell/services/SearchableContent\";\nimport { $AdvancedSettingsPanelSettings } from \"./AdvancedSettingsPanel\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport { IAppInbounds, IAppPersonalization, ISection, ISectionAndVisualization, IVisualization } from \"./interface/AppsInterface\";\nimport { ICard, ICardActionParameters, ICardHelper, ICardHelperInstance, ICardManifest } from \"./interface/CardsInterface\";\nimport { IPage } from \"./interface/PageSpaceInterface\";\nimport { checkPanelExists } from \"./utils/Accessibility\";\nimport AppManager from \"./utils/AppManager\";\nimport { SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { recycleId } from \"./utils/DataFormatUtils\";\nimport { calculateDeviceType, DeviceType } from \"./utils/Device\";\nimport { addFESRSemanticStepName, FESR_EVENTS } from \"./utils/FESRUtil\";\nimport HttpHelper from \"./utils/HttpHelper\";\nimport PageManager from \"./utils/PageManager\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\nimport UShellPersonalizer, { IPersonalizationData } from \"./utils/UshellPersonalizer\";\n\nexport enum ImportExportType {\n\tIMPORT = \"import\",\n\tEXPORT = \"export\"\n}\n\nexport interface IExportData {\n\tapps?: ISection[];\n\ttiles?: ISectionAndVisualization[];\n\tgroupInfo?: IAppPersonalization[];\n\thost?: string;\n\tsections?: ISection[];\n\tcreatedDate?: string;\n\tfavouritePages: ISectionAndVisualization[] | IPage[];\n\tcards?: ICardManifest[];\n\tpersonalization?: IPersonalizationData;\n}\ninterface IExportSections {\n\ttitle: string;\n\tselected: boolean | undefined;\n\tenabled: boolean | undefined;\n\tpanelClass: string;\n\tstatus?: ValueState;\n}\ntype SectionOrVisualization = ISectionAndVisualization[] | IVisualization[];\ninterface IExportImportFile {\n\thost?: string;\n\tcreatedDate?: Date;\n\tsections?: SectionOrVisualization | [];\n\tgroupInfo?: IAppPersonalization[] | IVisualization[] | [];\n\ttiles?: SectionOrVisualization;\n\tcards?: ICardManifest[];\n\tfavouritePages: IPage[] | ISectionAndVisualization[];\n\tapps?: ISection[] | [];\n}\ninterface ApiResponse {\n\tvalue: { fileContent: string }[];\n\t// Define other properties if present in ApiResponse\n}\n\nconst BASE_URL = \"/sap/opu/odata4/ui2/insights_srv/srvd/ui2/\";\nconst REPO_BASE_URL = BASE_URL + \"insights_cards_repo_srv/0001/\";\nconst EXPORT_API = REPO_BASE_URL + \"INSIGHTS_CARDS/com.sap.gateway.srvd.ui2.insights_cards_repo_srv.v0001.importExport?\";\nconst MYINSIGHT_SECTION_ID = \"AZHJGRIT78TG7Y65RF6EPFJ9U\";\n\nconst NewsAndPagesContainerName: string = \"sap.cux.home.NewsAndPagesContainer\";\nconst AppsContainerlName: string = \"sap.cux.home.AppsContainer\";\nconst InsightsContainerName: string = \"sap.cux.home.InsightsContainer\";\nconst PagePanelName: string = \"sap.cux.home.PagePanel\";\nconst FavAppPanelName: string = \"sap.cux.home.FavAppPanel\";\nconst RecommendedAppPanelName: string = \"sap.cux.home.RecommendedAppPanel\";\nconst TilesPanelName: string = \"sap.cux.home.TilesPanel\";\nconst CardsPanelName: string = \"sap.cux.home.CardsPanel\";\n\n/**\n *\n * Class for My Home Advanced 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.AdvancedSettingsPanel\n */\nexport default class AdvancedSettingsPanel extends BaseSettingsPanel {\n\tprivate oControlModel!: JSONModel;\n\tprivate oImportExportTab!: IconTabBar;\n\tprivate oFileNameInput!: Input;\n\tprivate oSelectedTab!: string | undefined;\n\tprivate oExportList!: List;\n\tprivate oImportList!: List;\n\tprivate oImportBtn!: Button;\n\tprivate oExportBtn!: Button;\n\tprivate oEventBus!: EventBus;\n\tprivate oAppManagerInstance!: AppManager;\n\tprivate oPageManagerInstance!: PageManager;\n\tprivate oPersonalizerInstance!: UShellPersonalizer;\n\tprivate cardHelperInstance!: ICardHelperInstance;\n\tprivate persData!: IPersonalizationData;\n\tprivate oContentVBox!: VBox;\n\tprivate oExportMessage!: MessageStrip;\n\tprivate oImportMessage!: MessageStrip;\n\tprivate oDetailPage!: Page;\n\tprivate oSectionsImported!: {\n\t\t[key: string]: boolean;\n\t};\n\tprivate oUserPersonalization!: {\n\t\texport: {\n\t\t\tdata?: IExportData;\n\t\t\tsections?: IExportSections[];\n\t\t\tfileName?: string;\n\t\t\tsectionsSelected?: boolean;\n\t\t\terror?: boolean;\n\t\t\terrorMessage?: string;\n\t\t\terrorType?: string;\n\t\t};\n\t\timport: {\n\t\t\tdata?: IExportData | IExportImportFile;\n\t\t\tsections?: IExportSections[];\n\t\t\tsectionsSelected?: boolean;\n\t\t\terror?: boolean;\n\t\t\terrorMessage?: string;\n\t\t\terrorType?: MessageType;\n\t\t};\n\t\tselectedTab: string;\n\t\tshowNoImport: boolean;\n\t};\n\n\tconstructor(id?: string | $AdvancedSettingsPanelSettings);\n\tconstructor(id?: string, settings?: $AdvancedSettingsPanelSettings);\n\tconstructor(id?: string, settings?: $AdvancedSettingsPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tevents: {\n\t\t\tsectionsImported: {}\n\t\t}\n\t};\n\tprivate _recommendationSettingsPanel!: Panel;\n\tprivate _importExportPanel!: Panel;\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.ADVANCED);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"advancedSettings\"));\n\t\tthis.setProperty(\"icon\", \"sap-icon://grid\");\n\t\tthis.oEventBus = EventBus.getInstance();\n\t\tthis.oAppManagerInstance = AppManager.getInstance();\n\t\tthis.oSectionsImported = {};\n\t\tthis.oUserPersonalization = {\n\t\t\texport: {\n\t\t\t\tsections: [],\n\t\t\t\tfileName: \"MY_HOME\",\n\t\t\t\tsectionsSelected: false,\n\t\t\t\terror: false\n\t\t\t},\n\t\t\timport: {\n\t\t\t\tsections: [],\n\t\t\t\tsectionsSelected: false,\n\t\t\t\terror: false\n\t\t\t},\n\t\t\tselectedTab: \"export\",\n\t\t\tshowNoImport: false\n\t\t};\n\t\tthis.oControlModel = new JSONModel(this.oUserPersonalization);\n\t\t//setup layout content\n\t\tthis.addAggregation(\"content\", this.getContent());\n\t\tthis.addInnerContent();\n\t\t//fired every time on panel navigation\n\t\tthis.attachPanelNavigated(() => {\n\t\t\tvoid (async () => {\n\t\t\t\tif (!this.oPageManagerInstance) {\n\t\t\t\t\tthis.oPageManagerInstance = PageManager.getInstance(\n\t\t\t\t\t\tPersonalisationUtils.getPersContainerId(this._getPanel()),\n\t\t\t\t\t\tPersonalisationUtils.getOwnerComponent(this._getPanel()) as Component\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// subscribe to all import events for all sections\n\t\t\t\tthis.oEventBus.subscribe(\n\t\t\t\t\t\"importChannel\",\n\t\t\t\t\t\"tilesImported\",\n\t\t\t\t\t(channelId?: string, eventId?: string, data?: object) => {\n\t\t\t\t\t\tconst customData = (data as { status: boolean }).status;\n\t\t\t\t\t\t//errorstate is false when import is successful\n\t\t\t\t\t\tthis.updateImportStatus(\"insightsTiles\", !customData);\n\t\t\t\t\t},\n\t\t\t\t\tthis\n\t\t\t\t);\n\n\t\t\t\tthis.oEventBus.subscribe(\n\t\t\t\t\t\"importChannel\",\n\t\t\t\t\t\"appsImported\",\n\t\t\t\t\t(channelId?: string, eventId?: string, data?: object) => {\n\t\t\t\t\t\tconst customData = (data as { status: boolean }).status;\n\t\t\t\t\t\t//errorstate is false when import is successful\n\t\t\t\t\t\tthis.updateImportStatus(\"favApps\", !customData);\n\t\t\t\t\t},\n\t\t\t\t\tthis\n\t\t\t\t);\n\n\t\t\t\tthis.oEventBus.subscribe(\n\t\t\t\t\t\"importChannel\",\n\t\t\t\t\t\"favPagesImported\",\n\t\t\t\t\t(channelId?: string, eventId?: string, data?: object) => {\n\t\t\t\t\t\tconst customData = (data as { status: boolean }).status;\n\t\t\t\t\t\t//errorstate is false when import is successful\n\t\t\t\t\t\tthis.updateImportStatus(\"pages\", !customData);\n\t\t\t\t\t},\n\t\t\t\t\tthis\n\t\t\t\t);\n\n\t\t\t\tthis.oEventBus.subscribe(\n\t\t\t\t\t\"importChannel\",\n\t\t\t\t\t\"cardsImported\",\n\t\t\t\t\t(channelId?: string, eventId?: string, data?: object) => {\n\t\t\t\t\t\tconst customData = (data as { status: boolean }).status;\n\t\t\t\t\t\t//errorstate is false when import is successful\n\t\t\t\t\t\tthis.updateImportStatus(\"insightsCards\", !customData);\n\t\t\t\t\t},\n\t\t\t\t\tthis\n\t\t\t\t);\n\n\t\t\t\t//get the detailPage of advanced settingspanel\n\t\t\t\tthis.oDetailPage = Element.getElementById(this.getProperty(\"key\") + \"-detail-page\") as Page;\n\t\t\t\tconst layout = this._getPanel();\n\t\t\t\tif (checkPanelExists(layout, AppsContainerlName, RecommendedAppPanelName) && calculateDeviceType() !== DeviceType.Mobile) {\n\t\t\t\t\tvoid this._setRecommendationSettingsPanel();\n\t\t\t\t}\n\n\t\t\t\t//load user personalization data\n\t\t\t\tawait this.loadUserPersonalizationData();\n\n\t\t\t\t//import button set enabled/disabled based on sections selected\n\t\t\t\tthis.oImportBtn.setEnabled(this.oUserPersonalization.import.sectionsSelected);\n\t\t\t\tthis.enableDisableActions(this.oUserPersonalization.selectedTab as ImportExportType);\n\n\t\t\t\t//set export and import list\n\t\t\t\tthis.setImportExportList();\n\t\t\t\tthis.oExportMessage.setText(\n\t\t\t\t\tthis.oUserPersonalization.export.errorMessage ? String(this.oUserPersonalization.export.errorMessage) : \"\"\n\t\t\t\t);\n\t\t\t\tthis.oExportMessage.setType(this.oUserPersonalization.export.errorType as MessageType);\n\t\t\t\tthis.oExportMessage.setProperty(\"visible\", this.oUserPersonalization.export.error, true);\n\t\t\t\tthis.oFileNameInput.setValue(String(this.oUserPersonalization.export.fileName));\n\n\t\t\t\tthis.oImportMessage.setText(\n\t\t\t\t\tthis.oUserPersonalization.import.errorMessage ? String(this.oUserPersonalization.import.errorMessage) : \"\"\n\t\t\t\t);\n\t\t\t\tthis.oImportMessage.setType(this.oUserPersonalization.import.errorType as MessageType);\n\t\t\t\tthis.oImportMessage.setVisible(this.oUserPersonalization.import.error);\n\t\t\t})();\n\t\t});\n\t}\n\n\tprivate setImportExportList(): void {\n\t\tthis.oExportList?.destroy();\n\t\tthis.oExportList = this.setExportSectionList();\n\t\tthis._importExportPanel.addContent(this.oExportList);\n\t\tif (!this.oImportList) {\n\t\t\tthis.oImportList = this.setImportSectionList();\n\t\t\tthis._importExportPanel.addContent(this.oImportList);\n\t\t} else {\n\t\t\tthis.oImportList.invalidate();\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param sType selected tab type\n\t * Set import / export button enable property and selectedkey of importexport tab\n\t */\n\tprivate enableDisableActions(sType: ImportExportType): void {\n\t\tthis.oImportExportTab?.setSelectedKey(sType);\n\t\tthis.oImportBtn?.setVisible(sType === ImportExportType.IMPORT);\n\t\tthis.oExportBtn?.setVisible(sType === ImportExportType.EXPORT);\n\t\tif (this.oUserPersonalization.import.sectionsSelected && sType === ImportExportType.IMPORT) {\n\t\t\tthis.oImportBtn.setEnabled(true);\n\t\t} else {\n\t\t\tthis.oImportBtn.setEnabled(false);\n\t\t}\n\n\t\tif (\n\t\t\tsType === ImportExportType.EXPORT &&\n\t\t\tthis.oUserPersonalization.export.fileName &&\n\t\t\tthis.oUserPersonalization.export.sections?.length &&\n\t\t\tthis.oUserPersonalization.export.sectionsSelected\n\t\t) {\n\t\t\tthis.oExportBtn.setEnabled(true);\n\t\t} else {\n\t\t\tthis.oExportBtn.setEnabled(false);\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param sType selected tab type\n\t * Set import/ export message values\n\t */\n\tprivate setExportImportValues(sType: ImportExportType): void {\n\t\tif (sType === ImportExportType.EXPORT) {\n\t\t\tthis.oExportMessage.setText(\n\t\t\t\tthis.oUserPersonalization.export.errorMessage ? String(this.oUserPersonalization.export.errorMessage) : \"\"\n\t\t\t);\n\t\t\tthis.oExportMessage.setType(this.oUserPersonalization.export.errorType as MessageType);\n\t\t\tthis.oExportMessage.setProperty(\"visible\", this.oUserPersonalization.export.error, true);\n\t\t} else if (sType === ImportExportType.IMPORT) {\n\t\t\tthis.oImportMessage.setText(\n\t\t\t\tthis.oUserPersonalization.import.errorMessage ? String(this.oUserPersonalization.import.errorMessage) : \"\"\n\t\t\t);\n\t\t\tthis.oImportMessage.setType(this.oUserPersonalization.import.errorType as MessageType);\n\t\t\tthis.oImportMessage.setProperty(\"visible\", this.oUserPersonalization.import.error);\n\t\t}\n\t}\n\n\t/**\n\t * Sets the outer content VBox for the Advanced Settings Panel.\n\t * @returns VBox\n\t */\n\tprivate getContent(): VBox {\n\t\tif (!this.oContentVBox) {\n\t\t\tthis.oContentVBox = new VBox(this.getId() + \"--idAdvancedVBox\", {\n\t\t\t\titems: [\n\t\t\t\t\tnew Text(this.getId() + \"--idPersonalizationSubheader\", {\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"advancedSettingsSubheader\")\n\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginBegin sapUiSmallMarginTop\"),\n\n\t\t\t\t\tthis._getImportExportPanel()\n\t\t\t\t]\n\t\t\t});\n\t\t}\n\t\treturn this.oContentVBox;\n\t}\n\n\t/**\n\t * Returns the import/export panel.\n\t *\n\t * @private\n\t * @returns {Panel} The import/export panel.\n\t */\n\tprivate _getImportExportPanel() {\n\t\tif (!this._importExportPanel) {\n\t\t\tthis._importExportPanel = new Panel(`${this.getId()}-importExportPanel`, {\n\t\t\t\theaderToolbar: new OverflowToolbar(`${this.getId()}-importExportPanelToolbar`, {\n\t\t\t\t\tstyle: ToolbarStyle.Clear,\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\tnew Title(`${this.getId()}-importExportPanelToolbarText`, {\n\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"importAndExportPanelHeader\"),\n\t\t\t\t\t\t\tlevel: \"H3\"\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tnew ToolbarSpacer(`${this.getId()}-importExportPanelToolbarSpacer`),\n\t\t\t\t\t\tthis._getImportButton(),\n\t\t\t\t\t\tthis._getExportButton()\n\t\t\t\t\t]\n\t\t\t\t}),\n\t\t\t\theaderText: this._i18nBundle.getText(\"importAndExportPanelHeader\"),\n\t\t\t\texpanded: true,\n\t\t\t\texpandable: true,\n\t\t\t\tcontent: []\n\t\t\t}).addStyleClass(\"sapUiSmallMarginTop\");\n\t\t}\n\n\t\treturn this._importExportPanel;\n\t}\n\n\t/**\n\t * Returns the import button.\n\t *\n\t * @private\n\t * @returns {Button} import button.\n\t */\n\tprivate _getImportButton() {\n\t\tif (!this.oImportBtn) {\n\t\t\tthis.oImportBtn = new Button({\n\t\t\t\tid: `${this.getId()}-importBtn`,\n\t\t\t\ttext: this._i18nBundle.getText(\"import\"),\n\t\t\t\ttype: \"Transparent\",\n\t\t\t\tpress: () => {\n\t\t\t\t\tvoid this.onImportPress();\n\t\t\t\t},\n\t\t\t\tvisible: false\n\t\t\t});\n\t\t\taddFESRSemanticStepName(this._getImportButton(), FESR_EVENTS.PRESS, \"importBtn\");\n\t\t}\n\t\treturn this.oImportBtn;\n\t}\n\n\t/**\n\t * Returns the export button.\n\t *\n\t * @private\n\t * @returns {Button} export button.\n\t */\n\tprivate _getExportButton() {\n\t\tif (!this.oExportBtn) {\n\t\t\tthis.oExportBtn = new Button({\n\t\t\t\tid: `${this.getId()}-exportBtn`,\n\t\t\t\ttext: this._i18nBundle.getText(\"export\"),\n\t\t\t\ttype: \"Transparent\",\n\t\t\t\tpress: this.onExportPress.bind(this),\n\t\t\t\tvisible: true\n\t\t\t});\n\t\t\taddFESRSemanticStepName(this.oExportBtn, FESR_EVENTS.PRESS, \"exportBtn\");\n\t\t}\n\t\treturn this.oExportBtn;\n\t}\n\n\t/**\n\t * Returns the inner content for the Advanced Settings Panel.\n\t *\n\t * @private\n\t * @returns {Control} The control containing the Advanced Settings Panel content.\n\t */\n\tprivate addInnerContent(): void {\n\t\t//if not already initialised, create the import/export tab and inner controls\n\t\tif (!this.oImportExportTab) {\n\t\t\tthis.oImportExportTab = new IconTabBar(this.getId() + \"--idImportExportTab\", {\n\t\t\t\texpandable: false,\n\t\t\t\tbackgroundDesign: \"Transparent\",\n\t\t\t\tselectedKey: this.oSelectedTab ? this.oSelectedTab : \"export\",\n\t\t\t\tselect: this.onImportExportTabSelect.bind(this)\n\t\t\t});\n\n\t\t\tconst exportTab = new IconTabFilter(this.getId() + \"--idExportTab\", {\n\t\t\t\tkey: \"export\",\n\t\t\t\ttext: this._i18nBundle.getText(\"exportFile\")\n\t\t\t});\n\t\t\t// Add FESR for export tab\n\t\t\taddFESRSemanticStepName(exportTab, FESR_EVENTS.SELECT, \"exportTab\");\n\n\t\t\t//export tab content\n\t\t\tthis.oExportMessage = new MessageStrip(this.getId() + \"--idExportMessageStrip\", {\n\t\t\t\tshowIcon: true,\n\t\t\t\tvisible: false\n\t\t\t}).addStyleClass(\"sapUiNoMarginBegin sapUiTinyMarginBottom\");\n\t\t\tconst exportText = new Text(this.getId() + \"--idExportText\", { text: this._i18nBundle.getText(\"exportText\") }).addStyleClass(\n\t\t\t\t\"advancePadding\"\n\t\t\t);\n\t\t\tconst fileInputContainer = new HBox(this.getId() + \"--idFileInputContainer\", {\n\t\t\t\talignItems: \"Center\"\n\t\t\t}).addStyleClass(\"sapUiSmallMargin\");\n\t\t\tconst filenameLabel = new Label(this.getId() + \"--idFilenameLabel\", {\n\t\t\t\ttext: this._i18nBundle.getText(\"exportFileNameLabel\"),\n\t\t\t\tlabelFor: \"idTitleFilenameInput\",\n\t\t\t\trequired: true,\n\t\t\t\tshowColon: true\n\t\t\t}).addStyleClass(\"sapUiSmallMarginEnd\");\n\t\t\tthis.oFileNameInput = new Input(this.getId() + \"--idFileNameInput\", {\n\t\t\t\tariaLabelledBy: [`${this.getId()}--idExportText`, `${this.getId()}--idFilenameLabel`],\n\t\t\t\trequired: true,\n\t\t\t\twidth: \"13rem\",\n\t\t\t\tliveChange: this.onFileNameInputChange.bind(this),\n\t\t\t\tvalue: \"\"\n\t\t\t});\n\n\t\t\tfileInputContainer.addItem(filenameLabel);\n\t\t\tfileInputContainer.addItem(this.oFileNameInput);\n\n\t\t\texportTab.addContent(this.oExportMessage);\n\t\t\texportTab.addContent(exportText);\n\t\t\texportTab.addContent(fileInputContainer);\n\n\t\t\t//import tab\n\t\t\tconst importTab = new IconTabFilter(this.getId() + \"--idImportTab\", {\n\t\t\t\tkey: \"import\",\n\t\t\t\ttext: this._i18nBundle.getText(\"importFile\")\n\t\t\t});\n\t\t\t// Add FESR for import tab\n\t\t\taddFESRSemanticStepName(importTab, FESR_EVENTS.SELECT, \"importTab\");\n\n\t\t\t//import tab content\n\t\t\tthis.oImportMessage = new MessageStrip(this.getId() + \"--idImportMessageStrip\", {\n\t\t\t\ttext: \"{advsettings>/import/errorMessage}\",\n\t\t\t\ttype: \"{advsettings>/import/errorType}\",\n\t\t\t\tshowIcon: true,\n\t\t\t\tvisible: false\n\t\t\t}).addStyleClass(\"sapUiNoMarginBegin sapUiTinyMarginBottom\");\n\t\t\tconst importText = new Text(this.getId() + \"--idImportText\", { text: this._i18nBundle.getText(\"importText\") }).addStyleClass(\n\t\t\t\t\"advancePadding\"\n\t\t\t);\n\t\t\tconst importSimpleForm = new SimpleForm(this.getId() + \"--idImportSimpleForm\", {\n\t\t\t\teditable: true,\n\t\t\t\tlayout: \"ResponsiveGridLayout\",\n\t\t\t\tlabelSpanS: 4,\n\t\t\t\tlabelSpanM: 4\n\t\t\t});\n\t\t\tconst fileUploader = new FileUploader(this.getId() + \"--idImportFileUploader\", {\n\t\t\t\ttooltip: this._i18nBundle.getText(\"uploadImportFile\"),\n\t\t\t\tfileType: [\"txt\"],\n\t\t\t\tchange: (oEvent: FileUploader$ChangeEvent) => {\n\t\t\t\t\tvoid this.onFileImport(oEvent);\n\t\t\t\t},\n\t\t\t\tmaximumFileSize: 25,\n\t\t\t\tsameFilenameAllowed: true,\n\t\t\t\twidth: \"80%\",\n\t\t\t\tariaLabelledBy: [`${this.getId()}--idImportText`],\n\t\t\t\tbuttonText: this._i18nBundle.getText(\"importFileUploaderButton\")\n\t\t\t});\n\t\t\timportSimpleForm.addContent(fileUploader);\n\t\t\timportTab.addContent(this.oImportMessage);\n\t\t\timportTab.addContent(importText);\n\t\t\timportTab.addContent(importSimpleForm);\n\n\t\t\tconst classicImportTab = new IconTabFilter(this.getId() + \"--idClassicImportTab\", {\n\t\t\t\tkey: \"classicImport\",\n\t\t\t\ttext: this._i18nBundle.getText(\"classicImport\")\n\t\t\t});\n\t\t\t// Add FESR for classic import tab\n\t\t\taddFESRSemanticStepName(classicImportTab, FESR_EVENTS.SELECT, \"classicImportTab\");\n\t\t\tconst classicText = new Text(this.getId() + \"--idClassicImportText\", {\n\t\t\t\ttext: this._i18nBundle.getText(\"classicImportText\")\n\t\t\t}).addStyleClass(\"sapUiSmallMarginBottom advancePadding\");\n\t\t\tconst resetImportAppsNow = new Button(this.getId() + \"--resetImportAppsNow\", {\n\t\t\t\ttext: this._i18nBundle.getText(\"resetButton\"),\n\t\t\t\tpress: this.onResetImportApps.bind(this),\n\t\t\t\tariaLabelledBy: [`${this.getId()}--idClassicImportText`]\n\t\t\t}).addStyleClass(\"resetButtonPadding\");\n\t\t\taddFESRSemanticStepName(resetImportAppsNow, FESR_EVENTS.PRESS, \"resetImportApps\");\n\t\t\tclassicImportTab.addContent(classicText);\n\t\t\tclassicImportTab.addContent(resetImportAppsNow);\n\n\t\t\tthis.oImportExportTab.addItem(exportTab);\n\t\t\tthis.oImportExportTab.addItem(importTab);\n\t\t\tthis.oImportExportTab.addItem(classicImportTab);\n\t\t\tthis._importExportPanel.addContent(this.oImportExportTab);\n\t\t\tthis._importExportPanel.addContent(this.setExportSectionList());\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @returns {List} export section list\n\t */\n\tprivate setExportSectionList(): List {\n\t\tconst exportSectionsList = new List(`${this.getId()}--exportSectionsList`, {\n\t\t\twidth: \"calc(100% - 2rem)\",\n\t\t\tgrowingThreshold: 50,\n\t\t\tincludeItemInSelection: true,\n\t\t\tvisible: \"{= ${advsettings>/selectedTab} === 'export'}\"\n\t\t}).addStyleClass(\"sapUiSmallMarginBegin\");\n\t\tconst headerToolbar = new Toolbar(`${this.getId()}--exportSectionsListToolbar`, {\n\t\t\tcontent: [\n\t\t\t\tnew Title(this.getId() + \"--idExportSectionsListHeaderText\", {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"sectionExportListHeader\"),\n\t\t\t\t\tlevel: \"H4\"\n\t\t\t\t}).addStyleClass(\"sectionTitle\")\n\t\t\t]\n\t\t});\n\t\texportSectionsList.setHeaderToolbar(headerToolbar);\n\t\t//set model for the list and bind items to path advsettings>/export/sections\n\t\texportSectionsList.setModel(this.oControlModel, \"advsettings\");\n\n\t\texportSectionsList.bindItems({\n\t\t\tpath: \"advsettings>/export/sections\",\n\t\t\ttemplate: new CustomListItem(`${this.getId()}--exportCustomListItem`, {\n\t\t\t\tvisible: {\n\t\t\t\t\tpath: \"advsettings>panelClass\",\n\t\t\t\t\tformatter: this._isPanelAvailable.bind(this)\n\t\t\t\t},\n\t\t\t\taccDescription: {\n\t\t\t\t\tparts: [{ path: \"advsettings>enabled\" }, { path: \"advsettings>selected\" }, { path: \"advsettings>title\" }],\n\t\t\t\t\tformatter: this._formatAccDescription.bind(this)\n\t\t\t\t},\n\t\t\t\tcontent: [\n\t\t\t\t\tnew HBox(recycleId(`${this.getId()}--exportContentBox`), {\n\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\tnew CheckBox(recycleId(`${this.getId()}--exportListItemCheck`), {\n\t\t\t\t\t\t\t\tselect: this.onSectionsSelectionChange.bind(this, false),\n\t\t\t\t\t\t\t\tselected: \"{advsettings>selected}\",\n\t\t\t\t\t\t\t\tenabled: \"{advsettings>enabled}\"\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tnew Text(recycleId(`${this.getId()}--exportListItemText`), { text: \"{advsettings>title}\" })\n\t\t\t\t\t\t],\n\t\t\t\t\t\twidth: \"100%\"\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t})\n\t\t});\n\t\tthis.oExportList = exportSectionsList;\n\t\treturn exportSectionsList;\n\t}\n\n\t/**\n\t * Returns an accessibility description string for a list item.\n\t *\n\t * @param enabled Indicates if the checkbox is enabled.\n\t * @param selected Indicates if the checkbox is selected (checked).\n\t * @param title The title of the list item.\n\t * @returns The formatted accessibility description.\n\t */\n\tprivate _formatAccDescription(enabled: boolean, selected: boolean, title: string): string {\n\t\tconst statusText = !enabled ? `${this._i18nBundle.getText(\"checkboxDisabledText\")}.` : \"\";\n\n\t\tconst selectionText = selected\n\t\t\t? this._i18nBundle.getText(\"checkboxCheckedText\")\n\t\t\t: this._i18nBundle.getText(\"checkboxUnCheckedText\");\n\n\t\tconst instructionText = this._i18nBundle.getText(\"checkboxInstructionText\");\n\n\t\treturn `${statusText}${selectionText}. ${title}. ${instructionText}`;\n\t}\n\n\tprivate _isPanelAvailable(panelClassName: string): boolean {\n\t\tconst panelMappings: Record<string, { containerName: string; panelName: string }> = {\n\t\t\t[FavAppPanelName]: { containerName: AppsContainerlName, panelName: FavAppPanelName },\n\t\t\t[PagePanelName]: { containerName: NewsAndPagesContainerName, panelName: PagePanelName },\n\t\t\t[TilesPanelName]: { containerName: InsightsContainerName, panelName: TilesPanelName },\n\t\t\t[CardsPanelName]: { containerName: InsightsContainerName, panelName: CardsPanelName }\n\t\t};\n\n\t\tconst mapping = panelMappings[panelClassName];\n\t\tif (!mapping) return false;\n\t\tconst layout = this._getPanel();\n\t\treturn checkPanelExists(layout, mapping.containerName, mapping.panelName);\n\t}\n\n\t/**\n\t *\n\t * @returns {List} import section list\n\t */\n\tprivate setImportSectionList(): List {\n\t\tconst importSectionsList = new List(this.getId() + \"--idImportSectionsList\", {\n\t\t\twidth: \"calc(100% - 2rem)\",\n\t\t\tgrowingThreshold: 50,\n\t\t\tincludeItemInSelection: true,\n\t\t\tvisible:\n\t\t\t\t\"{= ${advsettings>/selectedTab} === 'import' && (${advsettings>/import/sections/length} > 0 || ${advsettings>/showNoImport})}\"\n\t\t}).addStyleClass(\"sapUiSmallMarginBegin\");\n\t\tconst headerToolbar = new Toolbar(this.getId() + \"--idImportSectionsListToolbar\", {\n\t\t\tcontent: [\n\t\t\t\tnew Title(`${this.getId()}--importSectionsListHeaderText`, {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"sectionImportListHeader\")\n\t\t\t\t}).addStyleClass(\"sectionTitle\")\n\t\t\t]\n\t\t});\n\t\timportSectionsList.setHeaderToolbar(headerToolbar);\n\t\t//set model for the list and bind items to path advsettings>/import/sections\n\t\timportSectionsList.setModel(this.oControlModel, \"advsettings\");\n\t\timportSectionsList.bindItems({\n\t\t\tpath: \"advsettings>/import/sections\",\n\t\t\ttemplate: new CustomListItem(`${this.getId()}--importCustomListItem`, {\n\t\t\t\taccDescription: {\n\t\t\t\t\tpath: \"advsettings>title\",\n\t\t\t\t\tformatter: this._formatAccDescription.bind(this)\n\t\t\t\t},\n\t\t\t\tcontent: [\n\t\t\t\t\tnew HBox(`${this.getId()}--importListCheckBox`, {\n\t\t\t\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\tnew HBox(`${this.getId()}--importListItemCheckHBox`, {\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\tnew CheckBox(`${this.getId()}--importListItemCheck`, {\n\t\t\t\t\t\t\t\t\t\tselect: this.onSectionsSelectionChange.bind(this, true),\n\t\t\t\t\t\t\t\t\t\tselected: \"{advsettings>selected}\",\n\t\t\t\t\t\t\t\t\t\tenabled: \"{advsettings>enabled}\"\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\tnew Text(`${this.getId()}--importListItemText`, { text: \"{advsettings>title}\" }).addStyleClass(\n\t\t\t\t\t\t\t\t\t\t\"sapUiTinyMarginTop\"\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tnew HBox(`${this.getId()}--importStatusHBox`, {\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\tnew ObjectStatus(`${this.getId()}--importItemStatus`, {\n\t\t\t\t\t\t\t\t\t\ticon: \"{= ${advsettings>status} === 'Success' ? 'sap-icon://status-positive' : 'sap-icon://status-negative' }\",\n\t\t\t\t\t\t\t\t\t\tstate: \"{advsettings>status}\",\n\t\t\t\t\t\t\t\t\t\tvisible: \"{= ${advsettings>status} !== 'None'}\"\n\t\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginEnd sapUiTinyMarginTop\")\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t],\n\t\t\t\t\t\twidth: \"100%\"\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t})\n\t\t});\n\n\t\treturn importSectionsList;\n\t}\n\n\t/**\n\t * Selection change event handler for export and import sections\n\t * @param isImport boolean value to check if import or export tab is selected\n\t */\n\tprivate onSectionsSelectionChange(isImport: boolean): void {\n\t\tconst allSections = isImport ? this.oImportList.getItems() : this.oExportList.getItems();\n\t\tlet isSelected = false;\n\t\tlet content, innerCheckbox;\n\t\tconst isSectionSelected = allSections.some(function (oSection) {\n\t\t\tif (!isImport) {\n\t\t\t\tcontent = oSection.getAggregation(\"content\") as Control[];\n\t\t\t\tinnerCheckbox = (content[0] as HBox).getItems()[0] as CheckBox;\n\t\t\t\tisSelected = innerCheckbox.getSelected();\n\t\t\t} else {\n\t\t\t\tcontent = oSection.getAggregation(\"content\") as Control[];\n\t\t\t\tconst innerHbox = (content[0] as HBox).getItems()[0] as HBox;\n\t\t\t\tinnerCheckbox = innerHbox.getItems()[0] as CheckBox;\n\t\t\t\tisSelected = innerCheckbox.getSelected();\n\t\t\t}\n\t\t\treturn isSelected;\n\t\t});\n\t\tthis.oControlModel.setProperty((isImport ? \"/import\" : \"/export\") + \"/sectionsSelected\", isSectionSelected);\n\t\tthis.enableDisableActions((isImport ? \"import\" : \"export\") as ImportExportType);\n\t}\n\n\t/**\n\t * Handler for import button press\n\t *\n\t */\n\tprivate async onImportPress(): Promise<void> {\n\t\tthis.attachEvent(\"sectionsImported\", () => {\n\t\t\tthis.oDetailPage.setBusy(false);\n\t\t\tthis.oControlModel.setProperty(\"/import/sectionsSelected\", false);\n\t\t});\n\t\tthis.oImportBtn.setEnabled(false);\n\t\tthis.oDetailPage.setBusy(true);\n\t\tthis.handleUserPersonalizationError(ImportExportType.IMPORT, false, \"\", \"\");\n\t\tconst oExportData = this.oUserPersonalization.import.data;\n\t\ttry {\n\t\t\tconst aSelectedSections = await this.importSections(oExportData);\n\t\t\tconst bShowError: boolean = aSelectedSections.some((oSection) => {\n\t\t\t\treturn oSection.status === ValueState.Error;\n\t\t\t});\n\t\t\tif (bShowError) {\n\t\t\t\tthis.handleUserPersonalizationError(\n\t\t\t\t\tImportExportType.IMPORT,\n\t\t\t\t\ttrue,\n\t\t\t\t\tString(this._i18nBundle.getText(\"userPersonalizationImportError\")),\n\t\t\t\t\t\"Warning\"\n\t\t\t\t);\n\t\t\t}\n\t\t\tthis.oControlModel.setProperty(\"/import/sections\", aSelectedSections);\n\t\t} catch (oErr: unknown) {\n\t\t\tLog.error(\"importpress\", String(oErr));\n\t\t\tthis.handleUserPersonalizationError(\n\t\t\t\tImportExportType.IMPORT,\n\t\t\t\ttrue,\n\t\t\t\tString(this._i18nBundle.getText(\"userPersonalizationImportError\")),\n\t\t\t\t\"Error\"\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Invokes import of apps,tiles,pages and cards data\n\t * @param oImportData import data\n\t * @returns Promise<IExportSections[]>\n\t */\n\tprivate importSections(oImportData?: IExportData | IExportImportFile): Promise<IExportSections[] | []> {\n\t\tconst sectionImportChain: (() => Promise<void>)[] = [];\n\t\tconst aPromise: Promise<void>[] = [];\n\t\tconst oSelectedSections = this.oControlModel.getProperty(\"/import/sections\") as IExportSections[];\n\n\t\tsectionImportChain.push(() => this.importApps(oImportData));\n\t\tsectionImportChain.push(() => this.importTiles(oImportData));\n\t\tsectionImportChain.push(() => this.importFavPages(oImportData));\n\n\t\t// Execute apps, tiles, and pages sequentially\n\t\taPromise.push(\n\t\t\tsectionImportChain.reduce((chain, current) => {\n\t\t\t\treturn chain.then(() => current());\n\t\t\t}, Promise.resolve())\n\t\t);\n\n\t\taPromise.push(this.importCards(oImportData));\n\n\t\treturn Promise.all(aPromise)\n\t\t\t.then(() => {\n\t\t\t\treturn oSelectedSections;\n\t\t\t})\n\t\t\t.catch((oError: Error) => {\n\t\t\t\tLog.error(\"import failed\", String(oError));\n\t\t\t\treturn [];\n\t\t\t});\n\t}\n\n\tprivate importApps(oImportData?: IExportData | IExportImportFile): Promise<void> {\n\t\treturn new Promise<void>((resolve) => {\n\t\t\tconst oSelectedSections = this.oControlModel.getProperty(\"/import/sections\") as IExportSections[];\n\t\t\tif (\n\t\t\t\toImportData?.apps &&\n\t\t\t\toImportData?.apps.length > 0 &&\n\t\t\t\tthis.isSectionSelected(oSelectedSections, String(this._i18nBundle.getText(\"favApps\")))\n\t\t\t) {\n\t\t\t\tthis.oSectionsImported[String(this._i18nBundle.getText(\"favApps\"))] = false;\n\t\t\t\tthis.oEventBus.publish(\"importChannel\", \"appsImport\", { apps: oImportData.apps, groupInfo: oImportData.groupInfo });\n\t\t\t\tresolve();\n\t\t\t} else {\n\t\t\t\t// if no apps / apps selected then resolve the promise and mark the section as imported\n\t\t\t\tthis.oSectionsImported[String(this._i18nBundle.getText(\"favApps\"))] = true;\n\t\t\t\tthis.updateImportStatus(\"favApps\");\n\t\t\t\tresolve(); // Resolve the promise if condition doesn't meet\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate importTiles(oImportData?: IExportData | IExportImportFile): Promise<void> {\n\t\treturn new Promise<void>((resolve) => {\n\t\t\tconst oSelectedSections = this.oControlModel.getProperty(\"/import/sections\") as IExportSections[];\n\t\t\tif (\n\t\t\t\toImportData?.tiles &&\n\t\t\t\toImportData.tiles.length > 0 &&\n\t\t\t\tthis.isSectionSelected(oSelectedSections, String(this._i18nBundle.getText(\"insightsTiles\")))\n\t\t\t) {\n\t\t\t\tthis.oSectionsImported[String(this._i18nBundle.getText(\"insightsTiles\"))] = false;\n\t\t\t\tthis.oEventBus.publish(\"importChannel\", \"tilesImport\", oImportData.tiles);\n\t\t\t\tresolve();\n\t\t\t} else {\n\t\t\t\t// if no tiles / tiles section not selected then resolve the promise and mark the section as imported\n\t\t\t\tthis.oSectionsImported[String(this._i18nBundle.getText(\"insightsTiles\"))] = true;\n\t\t\t\tthis.updateImportStatus(\"insightsTiles\");\n\t\t\t\tresolve(); // Resolve the promise if condition doesn't meet\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate importFavPages(oImportData?: IExportData | IExportImportFile): Promise<void> {\n\t\treturn new Promise<void>((resolve) => {\n\t\t\tconst oSelectedSections = this.oControlModel.getProperty(\"/import/sections\") as IExportSections[];\n\t\t\tif (\n\t\t\t\toImportData?.favouritePages &&\n\t\t\t\toImportData.favouritePages.length > 0 &&\n\t\t\t\tthis.isSectionSelected(oSelectedSections, String(this._i18nBundle.getText(\"pages\")))\n\t\t\t) {\n\t\t\t\tthis.oSectionsImported[String(this._i18nBundle.getText(\"pages\"))] = false;\n\t\t\t\tthis.oEventBus.publish(\"importChannel\", \"favPagesImport\", oImportData.favouritePages);\n\t\t\t\tresolve();\n\t\t\t} else {\n\t\t\t\t// if no tiles / tiles section not selected then resolve the promise and mark the section as imported\n\t\t\t\tthis.oSectionsImported[String(this._i18nBundle.getText(\"pages\"))] = true;\n\t\t\t\tthis.updateImportStatus(\"pages\");\n\t\t\t\tresolve(); // Resolve the promise if condition doesn't meet\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate importCards(oImportData?: IExportData | IExportImportFile): Promise<void> {\n\t\treturn new Promise<void>((resolve) => {\n\t\t\tconst oSelectedSections = this.oControlModel.getProperty(\"/import/sections\") as IExportSections[];\n\t\t\tif (\n\t\t\t\toImportData?.cards &&\n\t\t\t\toImportData.cards.length > 0 &&\n\t\t\t\tthis.isSectionSelected(oSelectedSections, String(this._i18nBundle.getText(\"insightsCards\")))\n\t\t\t) {\n\t\t\t\tthis.oSectionsImported[String(this._i18nBundle.getText(\"insightsCards\"))] = false;\n\t\t\t\tthis.oEventBus.publish(\"importChannel\", \"cardsImport\", oImportData.cards);\n\t\t\t\tresolve();\n\t\t\t} else {\n\t\t\t\t// if no tiles / tiles section not selected then resolve the promise and mark the section as imported\n\t\t\t\tthis.oSectionsImported[String(this._i18nBundle.getText(\"insightsCards\"))] = true;\n\t\t\t\tthis.updateImportStatus(\"insightsCards\");\n\t\t\t\tresolve(); // Resolve the promise if condition doesn't meet\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t * Updates status of sections being imported\n\t *\t@param {string} sSectionTitle - section title\n\t * \t@param {boolean} errorState - error state\n\t * \t@returns {void}\n\t */\n\tprivate updateImportStatus(sSectionTitle: string, errorState?: boolean): void {\n\t\tconst sSectionId = String(this._i18nBundle.getText(sSectionTitle));\n\t\tconst oSelectedSections = this.oControlModel.getProperty(\"/import/sections\") as IExportSections[];\n\t\tconst oSection = oSelectedSections.find(function (oSec) {\n\t\t\treturn oSec.title === sSectionId;\n\t\t});\n\t\tif (oSection) {\n\t\t\tif (errorState !== undefined) {\n\t\t\t\toSection.status = errorState ? ValueState.Error : ValueState.Success;\n\t\t\t} else {\n\t\t\t\toSection.status = ValueState.None;\n\t\t\t}\n\t\t\t//if a section's status has become success then disable that particular section\n\t\t\tif (oSection.status === ValueState.Success) {\n\t\t\t\toSection.enabled = false;\n\t\t\t}\n\t\t}\n\t\tthis.oSectionsImported[sSectionId] = true;\n\t\tconst sectionTitles = Object.keys(this.oSectionsImported);\n\t\t// if every section has been imported successfully then fire sectionsimported\n\t\tconst imported = sectionTitles.every((sTitle) => {\n\t\t\treturn this.oSectionsImported[sTitle];\n\t\t});\n\t\tif (imported) {\n\t\t\tthis.fireEvent(\"sectionsImported\");\n\t\t}\n\t}\n\n\t/**\n\t * Resets the import model values\n\t * @param {boolean} onOpen - value to show if the reset call is happening while opening the dialog for the first time\n\t * \t@private\n\t */\n\tpublic resetImportModel(onOpen?: boolean): void {\n\t\tthis.oControlModel.setProperty(\"/import/sections\", []);\n\t\tthis.oControlModel.setProperty(\"/import/sectionsSelected\", false);\n\t\tthis.oControlModel.setProperty(\"/import/error\", false);\n\t\t// if called on settingsdialog open , reset value of selectedtab and fileUploader value\n\t\tif (onOpen) {\n\t\t\tthis.oControlModel.setProperty(\"/selectedTab\", \"export\");\n\t\t\t(Element.getElementById(this.getId() + \"--idImportFileUploader\") as FileUploader)?.setValue(\"\");\n\t\t}\n\t}\n\n\t/**\n\t * \tFind visualizations that are not already present in the favsections\n\t * @param aImportedSections\n\t * @returns {Promise<ISection[] | []>} aImportedSections\n\t */\n\tprivate async getDeltaSectionViz(aImportedSections: ISection[]): Promise<ISection[] | []> {\n\t\ttry {\n\t\t\tconst favSections: ISection[] = await this.oAppManagerInstance._getSections(true);\n\n\t\t\taImportedSections.forEach((oImportedSection) => {\n\t\t\t\tlet oSection: ISection | undefined;\n\t\t\t\tif (oImportedSection.default) {\n\t\t\t\t\toSection = favSections.find((oSec) => oSec.default);\n\t\t\t\t} else {\n\t\t\t\t\toSection = favSections.find((oSec) => oSec.id === oImportedSection.id);\n\t\t\t\t}\n\t\t\t\tif (oSection) {\n\t\t\t\t\t// find visualizations that are not already present in the favsections\n\t\t\t\t\tconst aDelta = oImportedSection.visualizations?.filter((oImportViz) => {\n\t\t\t\t\t\treturn oSection.visualizations?.every((oViz) =>\n\t\t\t\t\t\t\toViz.isBookmark ? oViz.targetURL !== oImportViz.targetURL : oViz.vizId !== oImportViz.vizId\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t\toImportedSection.visualizations = aDelta;\n\t\t\t\t}\n\t\t\t});\n\t\t\t// Remove Sections with no visualizations\n\t\t\taImportedSections = aImportedSections.filter((oSection) => oSection.visualizations && oSection.visualizations.length > 0);\n\t\t\treturn aImportedSections;\n\t\t} catch (error) {\n\t\t\tLog.error(\"Error occurred while fetching delta section visualizations:\" + String(error));\n\t\t\treturn []; // Return an empty array in case of error\n\t\t}\n\t}\n\n\tprivate getDeltaAuthSectionViz(aImportedSections: ISection[]): Promise<[] | ISection[]> {\n\t\t// Get delta visualization\n\t\tif (aImportedSections && aImportedSections.length) {\n\t\t\treturn this.getDeltaSectionViz(aImportedSections)\n\t\t\t\t.then((aDeltaSections: ISection[]) => {\n\t\t\t\t\t// Filter authorized section visualizations\n\t\t\t\t\treturn this.filterAuthSectionViz(aDeltaSections);\n\t\t\t\t})\n\t\t\t\t.catch((oError) => {\n\t\t\t\t\tLog.error(String(oError));\n\t\t\t\t\treturn [];\n\t\t\t\t});\n\t\t}\n\t\treturn Promise.resolve([]); // Return a promise resolving to void\n\t}\n\n\tprivate async filterAuthSectionViz(aSections: ISection[]): Promise<ISection[]> {\n\t\tconst _getCatalogApps = function () {\n\t\t\treturn Container.getServiceAsync<SearchableContent>(\"SearchableContent\").then(function (SearchableContent) {\n\t\t\t\treturn SearchableContent.getApps({ includeAppsWithoutVisualizations: false });\n\t\t\t});\n\t\t};\n\n\t\tconst _filterAuthViz = function (aAppCatalog: AppData[], aViz: IVisualization[] | undefined) {\n\t\t\tconst aSectionViz: IVisualization[] | undefined = [];\n\t\t\taViz?.forEach(function (oViz) {\n\t\t\t\tfor (let appCatalog of aAppCatalog) {\n\t\t\t\t\tconst oAppCatalog = appCatalog;\n\t\t\t\t\tconst oSectionViz = oAppCatalog.visualizations.find(function (oCatalogViz: IVisualization) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\toCatalogViz.vizId === oViz.vizId ||\n\t\t\t\t\t\t\t(oViz.isBookmark &&\n\t\t\t\t\t\t\t\toCatalogViz.target &&\n\t\t\t\t\t\t\t\toViz.target?.action === oCatalogViz.target.action &&\n\t\t\t\t\t\t\t\toViz.target?.semanticObject === oCatalogViz.target.semanticObject)\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t\tif (oSectionViz) {\n\t\t\t\t\t\toSectionViz.displayFormatHint =\n\t\t\t\t\t\t\toViz.displayFormatHint !== \"standard\" ? String(oViz.displayFormatHint) : String(oSectionViz.displayFormatHint);\n\t\t\t\t\t\toSectionViz.id = String(oViz.id ?? oSectionViz.id);\n\t\t\t\t\t\taSectionViz.push(oViz.isBookmark ? oViz : oSectionViz);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn aSectionViz;\n\t\t};\n\n\t\treturn await _getCatalogApps().then(function (aAppCatalog) {\n\t\t\treturn aSections.map(function (oSection) {\n\t\t\t\toSection.visualizations = _filterAuthViz(aAppCatalog, oSection.visualizations);\n\t\t\t\treturn oSection;\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Filter authorized favorite pages\n\t *\n\t * @param {Array} aFavPages - array of favorite pages\n\t * @returns {Promise} resolves to an array of authorized pages\n\t */\n\tprivate async filterAuthFavPages(aFavPages: IPage[]): Promise<IPage[] | []> {\n\t\tif (aFavPages && aFavPages.length > 0) {\n\t\t\treturn await this.oPageManagerInstance.fetchAllAvailablePages().then(function (aAvailablePages) {\n\t\t\t\treturn aFavPages.filter(function (oimportedPage) {\n\t\t\t\t\treturn aAvailablePages.filter(function (oAvailabePage) {\n\t\t\t\t\t\treturn oAvailabePage.pageId === oimportedPage.pageId && oAvailabePage.spaceId === oimportedPage.spaceId;\n\t\t\t\t\t}).length;\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t\treturn Promise.resolve([]);\n\t}\n\n\t/**\n\t * Filter authorized cards\n\t *\n\t * @param {Array} aCards - array of cards\n\t * @returns {Promise} resolves to an array of authorized cards\n\t */\n\tprivate async filterAuthCards(aCards: ICardManifest[] | void): Promise<ICardManifest[] | undefined> {\n\t\tconst _getParentApp = function (aAvailableApps: IAppInbounds[], oCard: ICardManifest) {\n\t\t\treturn aAvailableApps.find(function (oApp) {\n\t\t\t\treturn (\n\t\t\t\t\toApp.resolutionResult &&\n\t\t\t\t\toApp.resolutionResult.applicationDependencies &&\n\t\t\t\t\toCard[\"sap.insights\"] &&\n\t\t\t\t\toApp.resolutionResult.applicationDependencies.name === oCard[\"sap.insights\"].parentAppId\n\t\t\t\t);\n\t\t\t});\n\t\t};\n\n\t\tconst _isNavigationSupported = function (oService: Navigation, oParentApp: IAppInbounds | undefined) {\n\t\t\tif (oParentApp) {\n\t\t\t\treturn oService\n\t\t\t\t\t.isNavigationSupported([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\t\tsemanticObject: oParentApp.semanticObject,\n\t\t\t\t\t\t\t\taction: oParentApp.action\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t])\n\t\t\t\t\t.then(function (aResponses) {\n\t\t\t\t\t\treturn aResponses[0].supported || false;\n\t\t\t\t\t});\n\t\t\t}\n\t\t\treturn Promise.resolve(false);\n\t\t};\n\n\t\tif (aCards && aCards.length > 0) {\n\t\t\treturn await Promise.all([\n\t\t\t\tContainer.getServiceAsync<ClientSideTargetResolution>(\"ClientSideTargetResolution\"),\n\t\t\t\tContainer.getServiceAsync<Navigation>(\"Navigation\")\n\t\t\t]).then(function (aServices: [ClientSideTargetResolution, Navigation]) {\n\t\t\t\tconst clientSideTargetResolution = aServices[0];\n\t\t\t\tconst Navigation = aServices[1];\n\t\t\t\tconst aAvailableApps = clientSideTargetResolution._oAdapter._aInbounds || [];\n\n\t\t\t\treturn aCards.reduce<Promise<ICardManifest[]>>(async (promise: Promise<ICardManifest[]>, oCard: ICardManifest) => {\n\t\t\t\t\tconst aAuthCards: ICardManifest[] = await promise;\n\t\t\t\t\tconst oParentApp = _getParentApp(aAvailableApps, oCard);\n\t\t\t\t\tconst bIsNavigationSupported = await _isNavigationSupported(Navigation, oParentApp);\n\t\t\t\t\tif (bIsNavigationSupported) {\n\t\t\t\t\t\taAuthCards.push(oCard);\n\t\t\t\t\t}\n\t\t\t\t\treturn aAuthCards;\n\t\t\t\t}, Promise.resolve([]));\n\t\t\t});\n\t\t}\n\t\treturn Promise.resolve([]);\n\t}\n\n\t/**\n\t * Handles change event for fileuploader on import file\n\t *\n\t * @returns {Promise} resolves to available import sections being shown\n\t */\n\tprivate onFileImport(oEvent: FileUploader$ChangeEvent): Promise<void> {\n\t\tthis.handleUserPersonalizationError(ImportExportType.IMPORT, false, \"\", \"\");\n\t\tthis.resetImportModel();\n\t\tthis.oDetailPage.setBusy(true);\n\n\t\tconst files = oEvent.getParameter(\"files\");\n\t\tconst oFile = files && (files[0] as File);\n\n\t\treturn this.readFileContent(oFile)\n\t\t\t.then((oFileContent) => {\n\t\t\t\t// btoa doesn't support the characters outside latin-1 range, so first encode to utf-8\n\t\t\t\tconst oEncodedFileContent = window.btoa(\n\t\t\t\t\tencodeURIComponent(oFileContent).replace(/%([0-9A-F]{2})/g, function (match, p1: string) {\n\t\t\t\t\t\treturn String.fromCharCode(parseInt(p1, 16)); // Convert p1 to a number using parseInt //String.fromCharCode(\"0x\" + p1);\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t\treturn HttpHelper.Post(EXPORT_API, { fileContent: oEncodedFileContent }).then((oResponse: unknown) => {\n\t\t\t\t\tif (oResponse && (oResponse as { error: string }).error) {\n\t\t\t\t\t\tthrow new Error((oResponse as { error: string }).error);\n\t\t\t\t\t}\n\t\t\t\t\tif (oResponse && (oResponse as { value: string[] }).value && (oResponse as { value: string[] }).value.length) {\n\t\t\t\t\t\tconst oImportDataString: string | undefined = (oResponse as ApiResponse).value[0].fileContent;\n\n\t\t\t\t\t\t// Parse the stringified JSON into the defined type\n\t\t\t\t\t\tconst oImportData = JSON.parse(oImportDataString) as IExportImportFile;\n\t\t\t\t\t\tif (oImportData.host === window.location.host) {\n\t\t\t\t\t\t\tconst aImportedSections = (oImportData.sections as ISection[]) || ([] as ISection[]);\n\t\t\t\t\t\t\taImportedSections.push({\n\t\t\t\t\t\t\t\tid: MYINSIGHT_SECTION_ID,\n\t\t\t\t\t\t\t\tvisualizations: (oImportData.tiles as IVisualization[]) || []\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t//filter authorized data\n\t\t\t\t\t\t\treturn this.filterAuthorizedImportData(aImportedSections, oImportData);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.handleUserPersonalizationError(\n\t\t\t\t\t\t\t\tImportExportType.IMPORT,\n\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\tString(this._i18nBundle.getText(\"importSourceErrorMessage\")),\n\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn Promise.resolve();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((oError) => {\n\t\t\t\tLog.error(String(oError));\n\t\t\t\tthis.handleUserPersonalizationError(ImportExportType.IMPORT, true, \"\", \"\");\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tthis.oDetailPage.setBusy(false);\n\t\t\t\tthis.enableDisableActions(ImportExportType.IMPORT);\n\t\t\t});\n\t}\n\n\tprivate async filterAuthorizedImportData(aImportedSections: ISection[], oImportData: IExportImportFile): Promise<void> {\n\t\tlet promises: Promise<[] | ISection[] | IPage[] | ICardManifest[] | undefined | JSONModel>[] = [\n\t\t\tthis.getDeltaAuthSectionViz(aImportedSections),\n\t\t\tthis.filterAuthFavPages(oImportData.favouritePages)\n\t\t];\n\t\tif (await this.isInsightsEnabled()) {\n\t\t\tpromises.push(this.filterAuthCards(oImportData.cards));\n\t\t\tpromises.push(this.getInsightCards()); // check : send only cards count here as all cards are not required\n\t\t}\n\t\treturn Promise.all(promises).then(async (aResponse) => {\n\t\t\tconst aAuthSections = aResponse[0] as ISection[];\n\t\t\tconst aAuthFavPages = aResponse[1] as IPage[];\n\t\t\tconst aAuthCards = (aResponse[2] || []) as ICardManifest[];\n\t\t\tconst iInsightCardsCount = ((aResponse[3] as JSONModel)?.getProperty(\"/cardCount\") as number) || 0;\n\t\t\toImportData.apps = aAuthSections.filter(function (oSection) {\n\t\t\t\treturn oSection.id !== MYINSIGHT_SECTION_ID;\n\t\t\t});\n\t\t\toImportData.tiles =\n\t\t\t\t(\n\t\t\t\t\taAuthSections.find(function (oSection) {\n\t\t\t\t\t\treturn oSection.id === MYINSIGHT_SECTION_ID;\n\t\t\t\t\t}) || {}\n\t\t\t\t).visualizations || [];\n\t\t\toImportData.favouritePages = aAuthFavPages;\n\t\t\toImportData.cards = aAuthCards || [];\n\t\t\tconst iTotalCardCount = iInsightCardsCount + Number(aAuthCards?.length);\n\t\t\tif (iTotalCardCount > 99) {\n\t\t\t\tthis.handleUserPersonalizationError(\n\t\t\t\t\tImportExportType.IMPORT,\n\t\t\t\t\ttrue,\n\t\t\t\t\tString(this._i18nBundle.getText(\"importCardCountErrorMessage\")),\n\t\t\t\t\t\"\"\n\t\t\t\t);\n\t\t\t}\n\t\t\tlet aSections = await this.getImportedSections(oImportData, ImportExportType.IMPORT, iInsightCardsCount);\n\t\t\taSections = aSections.map(function (oSection) {\n\t\t\t\toSection.status = ValueState.None;\n\t\t\t\treturn oSection;\n\t\t\t});\n\t\t\tthis.oUserPersonalization.import.data = oImportData;\n\t\t\tthis.oControlModel.setProperty(\"/import/sections\", aSections);\n\t\t\tthis.oControlModel.setProperty(\"/import/sectionsSelected\", this.getSelectedSections(aSections).length > 0);\n\t\t\tthis.oControlModel.setProperty(\"/showNoImport\", aSections.length === 0);\n\t\t});\n\t}\n\n\tprivate readFileContent(oFile: File | undefined): Promise<string> {\n\t\treturn new Promise(function (resolve, reject) {\n\t\t\tif (oFile && window.FileReader) {\n\t\t\t\tconst reader = new FileReader();\n\t\t\t\treader.onload = function (event: ProgressEvent<FileReader>) {\n\t\t\t\t\tconst target = event.target as FileReader;\n\t\t\t\t\tresolve(target?.result as string);\n\t\t\t\t};\n\t\t\t\t// Convert oFile to Blob\n\t\t\t\tconst blob = oFile as unknown as Blob;\n\t\t\t\treader.readAsText(blob);\n\t\t\t} else {\n\t\t\t\treject(new Error(\"Error\"));\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate async _getPersonalizationData(): Promise<IPersonalizationData> {\n\t\tif (!this.oPersonalizerInstance) {\n\t\t\tthis.oPersonalizerInstance = 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\tthis.persData = (await this.oPersonalizerInstance.read()) || {};\n\t\treturn this.persData;\n\t}\n\n\tprivate async loadUserPersonalizationData(): Promise<void> {\n\t\tthis.oExportList.setBusy(true);\n\t\tconst persData = await this._getPersonalizationData();\n\n\t\tlet promises: (Promise<ISection[]> | Promise<JSONModel>)[] = [this.oAppManagerInstance._getSections(true)];\n\t\tif (await this.isInsightsEnabled()) {\n\t\t\tpromises.push(this.getInsightCards());\n\t\t}\n\n\t\t// load all sections, insight apps and cards\n\t\tconst [favSections, insightModel] = (await Promise.all(promises)) as [ISection[], JSONModel];\n\n\t\tconst aSections = favSections,\n\t\t\tfavApps = aSections.filter((oSection) => {\n\t\t\t\treturn oSection.id !== MYINSIGHT_SECTION_ID && oSection.visualizations?.length;\n\t\t\t});\n\n\t\tconst insightTiles =\n\t\t\taSections.find((oSection) => {\n\t\t\t\treturn oSection.id === MYINSIGHT_SECTION_ID;\n\t\t\t})?.visualizations || [];\n\n\t\tconst insightCards: ICardManifest[] =\n\t\t\tinsightModel && insightModel.getProperty(\"/visibleCards\")\n\t\t\t\t? (insightModel.getProperty(\"/visibleCards\") as ICard[]).map((oCard: ICard) => {\n\t\t\t\t\t\treturn oCard.descriptorContent;\n\t\t\t\t\t})\n\t\t\t\t: [];\n\t\tconst oExportData = {\n\t\t\tapps: favApps,\n\t\t\ttiles: insightTiles,\n\t\t\tfavouritePages: persData.favouritePages,\n\t\t\tcards: insightCards,\n\t\t\tpersonalization: persData\n\t\t} as IExportData;\n\t\tconst aExportSections = await this.getImportedSections(oExportData, ImportExportType.EXPORT, 0);\n\t\tthis.oUserPersonalization.export.data = oExportData;\n\t\tthis.oUserPersonalization.export.sections = aExportSections;\n\t\tthis.oUserPersonalization.export.sectionsSelected = this.getSelectedSections(aExportSections).length > 0;\n\t\tthis.oControlModel.refresh();\n\t\tthis.oExportList.setBusy(false);\n\t}\n\n\t/**\n\t * Checks if insights is enabled for the system\n\t *\n\t * @private\n\t * @returns {boolean}\n\t */\n\tprivate async isInsightsEnabled(): Promise<boolean> {\n\t\ttry {\n\t\t\tif (await (CardHelper as ICardHelper).getServiceAsync()) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t} catch (error) {\n\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t/**\n\t * Returns selected sections out of provided sections\n\t *\n\t * @param {Array} aSections - array of sections to show in import/export\n\t * @returns {Array} array of selected sections\n\t */\n\tgetSelectedSections(aSections: IExportSections[]): IExportSections[] {\n\t\treturn (\n\t\t\taSections.filter(function (oSection) {\n\t\t\t\treturn oSection.selected && oSection.enabled;\n\t\t\t}) || []\n\t\t);\n\t}\n\n\t/**\n\t * Returns if section is selected\n\t *\n\t * @param {Array} oSections - import/export sections\n\t * @param {String} sSectionId - import/export section id\n\t * @returns {boolean} returns true if section is selected\n\t */\n\tisSectionSelected(sections: IExportSections[], sectionId: string): boolean {\n\t\tconst section = sections.find(function (sec) {\n\t\t\treturn sec.title === sectionId;\n\t\t});\n\t\treturn !!(section && section.selected && section.enabled);\n\t}\n\n\t/**\n\t * Returns import/export sections\n\t *\n\t * @param {object} oData - export/import data\n\t * @param {ImportExportType} sType - export/import type\n\t * @param {number} iInsightCardsCount - cards count\n\t * @returns {Array} array of import/export sections\n\t */\n\tprivate async getImportedSections(\n\t\toData: IExportData | IExportImportFile,\n\t\tsType: ImportExportType,\n\t\tiInsightCardsCount: number\n\t): Promise<IExportSections[]> {\n\t\tconst aFavPages =\n\t\t\t\t(sType === ImportExportType.IMPORT ? await this.getDeltaFavPages(oData.favouritePages) : oData.favouritePages) || [],\n\t\t\tisAppViz =\n\t\t\t\toData.apps &&\n\t\t\t\toData.apps.some(function (oSections) {\n\t\t\t\t\treturn oSections && oSections.visualizations && oSections.visualizations.length > 0;\n\t\t\t\t});\n\n\t\tconst sections = [\n\t\t\t{\n\t\t\t\ttitle: this._i18nBundle.getText(\"favApps\") as string,\n\t\t\t\tselected: isAppViz,\n\t\t\t\tenabled: isAppViz,\n\t\t\t\tpanelClass: FavAppPanelName\n\t\t\t},\n\t\t\t{\n\t\t\t\ttitle: this._i18nBundle.getText(\"pages\") as string,\n\t\t\t\tselected: aFavPages?.length > 0,\n\t\t\t\tenabled: aFavPages?.length > 0,\n\t\t\t\tpanelClass: PagePanelName\n\t\t\t},\n\t\t\t{\n\t\t\t\ttitle: this._i18nBundle.getText(\"insightsTiles\") as string,\n\t\t\t\tselected: oData.tiles && oData.tiles.length > 0,\n\t\t\t\tenabled: oData.tiles && oData.tiles.length > 0,\n\t\t\t\tpanelClass: TilesPanelName\n\t\t\t}\n\t\t];\n\n\t\tif (await this.isInsightsEnabled()) {\n\t\t\tsections.push({\n\t\t\t\ttitle: this._i18nBundle.getText(\"insightsCards\") as string,\n\t\t\t\tselected: oData.cards && oData.cards.length > 0 && oData.cards.length + iInsightCardsCount <= 99,\n\t\t\t\tenabled: oData.cards && oData.cards.length > 0 && oData.cards.length + iInsightCardsCount <= 99,\n\t\t\t\tpanelClass: CardsPanelName\n\t\t\t});\n\t\t}\n\n\t\treturn sections;\n\t}\n\n\tprivate async getDeltaFavPages(aImportedFavPages: IPage[]): Promise<IPage[]> {\n\t\tconst persData = await this._getPersonalizationData();\n\t\tconst aFavPages = persData.favouritePages || [];\n\t\tif (aFavPages.length !== aImportedFavPages.length) {\n\t\t\treturn aImportedFavPages;\n\t\t}\n\t\treturn aImportedFavPages.filter(function (oImportedPage) {\n\t\t\treturn !aFavPages.find(function (oFavPage) {\n\t\t\t\treturn oImportedPage.pageId === oFavPage.pageId && oImportedPage.spaceId === oFavPage.spaceId;\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate async getInsightCards(): Promise<JSONModel> {\n\t\ttry {\n\t\t\tthis.cardHelperInstance = await (CardHelper as ICardHelper).getServiceAsync();\n\t\t\tconst oUserVisibleCardModel = await this.cardHelperInstance._getUserAllCardModel();\n\t\t\tconst aCards = oUserVisibleCardModel.getProperty(\"/cards\") as ICard[];\n\t\t\tconst aVisibleCards = aCards.filter(function (oCard: ICard) {\n\t\t\t\treturn oCard.visibility;\n\t\t\t});\n\t\t\toUserVisibleCardModel.setProperty(\"/visibleCards\", aVisibleCards);\n\t\t\treturn oUserVisibleCardModel;\n\t\t} catch (error) {\n\t\t\t// Handle any errors\n\t\t\tconsole.error(\"Error in getInsightCards:\", error);\n\t\t\tthrow error; // Re-throw the error to be handled by the caller\n\t\t}\n\t}\n\n\t/**\n\t * Handles export button press\n\t */\n\tprivate onExportPress(): void {\n\t\tthis.handleUserPersonalizationError(ImportExportType.EXPORT, false, \"\", \"\");\n\t\tconst oExportFileName = this.oControlModel.getProperty(\"/export/fileName\") as string,\n\t\t\taExportSections = this.oControlModel.getProperty(\"/export/sections\") as IExportSections[],\n\t\t\toExportData = this.oUserPersonalization.export.data;\n\t\tconst oExportFileContent = this.getExportFileContent(oExportData, aExportSections);\n\t\tsap.ui.require([\"sap/ui/core/util/File\"], (File: File) => {\n\t\t\ttry {\n\t\t\t\tFile.save(JSON.stringify(oExportFileContent), oExportFileName, \"txt\", \"text/plain\", \"utf-8\");\n\t\t\t\tMessageToast.show(String(this._i18nBundle.getText(\"userPersonalizationExportSuccess\")));\n\t\t\t} catch (error) {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t\tif (error instanceof Error && error?.name !== undefined && error.name !== \"AbortError\") {\n\t\t\t\t\t// Handle the error appropriately\n\t\t\t\t\tthis.handleUserPersonalizationError(ImportExportType.EXPORT, true, \"\", \"\");\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate getExportFileContent(exportData: IExportData | undefined, exportSections: IExportSections[]): IExportImportFile {\n\t\tconst oPersonalization = exportData?.personalization,\n\t\t\toExportFileContent = {\n\t\t\t\thost: window.location.host,\n\t\t\t\tcreatedDate: new Date(),\n\t\t\t\tsections: [] as ISectionAndVisualization[] | IVisualization[] | [],\n\t\t\t\tgroupInfo: [] as IAppPersonalization[] | IVisualization[] | [],\n\t\t\t\ttiles: [] as ISectionAndVisualization[] | IVisualization[] | [],\n\t\t\t\tcards: [] as ICardManifest[],\n\t\t\t\tfavouritePages: [] as IPage[] | []\n\t\t\t};\n\t\tif (this.isSectionSelected(exportSections, this._i18nBundle.getText(\"favApps\") as string)) {\n\t\t\toExportFileContent.sections = exportData?.apps || [];\n\t\t\toExportFileContent.groupInfo = oPersonalization?.favoriteApps || [];\n\t\t}\n\t\tif (this.isSectionSelected(exportSections, this._i18nBundle.getText(\"pages\") as string)) {\n\t\t\toExportFileContent.favouritePages = oPersonalization?.favouritePages || [];\n\t\t}\n\t\tif (this.isSectionSelected(exportSections, this._i18nBundle.getText(\"insightsTiles\") as string)) {\n\t\t\toExportFileContent.tiles = exportData?.tiles || [];\n\t\t}\n\t\tif (this.isSectionSelected(exportSections, this._i18nBundle.getText(\"insightsCards\") as string)) {\n\t\t\toExportFileContent.cards = this.filterNonSensitiveCards(exportData?.cards || []);\n\t\t}\n\t\treturn oExportFileContent;\n\t}\n\n\t/**\n\t * Filters out the sensitive cards from the import data\n\t *\n\t * @private\n\t * @param {ICardManifest[]} cards Array of card to filter out before import\n\t * @returns {ICardManifest[]} Array of filtered cards\n\t */\n\tprivate filterNonSensitiveCards(cards: ICardManifest[]): ICardManifest[] {\n\t\tconst nonSensitiveCards = [] as ICardManifest[];\n\n\t\tcards.forEach((oCard) => {\n\t\t\tif (oCard[\"sap.card\"]?.configuration?.parameters) {\n\t\t\t\tconst parameter = oCard[\"sap.card\"].configuration.parameters;\n\t\t\t\tlet sensitiveProps: string[] = [];\n\t\t\t\tsensitiveProps = sensitiveProps\n\t\t\t\t\t.concat(this.getSensitiveProps(parameter.headerState))\n\t\t\t\t\t.concat(this.getSensitiveProps(parameter.lineItemState))\n\t\t\t\t\t.concat(this.getSensitiveProps(parameter.state));\n\t\t\t\tif (sensitiveProps.length === 0) {\n\t\t\t\t\tnonSensitiveCards.push(oCard);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tnonSensitiveCards.push(oCard);\n\t\t\t}\n\t\t});\n\t\tif (cards.length !== nonSensitiveCards.length) {\n\t\t\tthis.handleUserPersonalizationError(\n\t\t\t\tImportExportType.EXPORT,\n\t\t\t\ttrue,\n\t\t\t\tString(this._i18nBundle.getText(\"exportSensitiveCardsErrorMessage\")),\n\t\t\t\t\"Warning\"\n\t\t\t);\n\t\t}\n\t\treturn nonSensitiveCards;\n\t}\n\n\t/**\n\t * Finds the sensitive properties and parameters\n\t *\n\t * @private\n\t * @param {({ value: string } | undefined)} param\n\t * @returns {string[]} Array of sensitive props as strings\n\t */\n\tprivate getSensitiveProps(param: { value: string } | undefined) {\n\t\tlet paramSensitiveProps: string[] = [];\n\t\tif (param?.value) {\n\t\t\tconst paramValue = JSON.parse(param.value) as { sensitiveProps: string[]; parameters: ICardActionParameters };\n\t\t\tconst sensitiveProp = paramValue.sensitiveProps || Object.keys(paramValue.parameters?.ibnParams?.sensitiveProps || {});\n\t\t\tif (sensitiveProp.length > 0) {\n\t\t\t\tparamSensitiveProps = paramSensitiveProps.concat(sensitiveProp);\n\t\t\t}\n\t\t}\n\t\treturn paramSensitiveProps;\n\t}\n\n\t/**\n\t * Handles user personalization error, shows the error msg and reset values\n\t *\n\t * @param {string} sType - type of import/export\n\t * @param {boolean} bShowError - flag to show or hide error msg\n\t * @param {string} sErrorMsg - error msg text\n\t * @param {string} sErrorType - error msg type\n\t */\n\tprivate handleUserPersonalizationError(sType: ImportExportType, bShowError: boolean, sErrorMsg: string, sErrorType: string): void {\n\t\tconst sDefaultErrorMsg = this._i18nBundle.getText(sType === ImportExportType.IMPORT ? \"importErrorMessage\" : \"exportErrorMessage\");\n\t\tthis.oControlModel.setProperty(\"/\" + sType + \"/error\", bShowError, undefined, true);\n\t\tthis.oControlModel.setProperty(\"/\" + sType + \"/errorMessage\", sErrorMsg || sDefaultErrorMsg, undefined, true);\n\t\tthis.oControlModel.setProperty(\"/\" + sType + \"/errorType\", sErrorType || \"Error\", undefined, true);\n\t\tthis.setExportImportValues(sType);\n\t}\n\n\t/**\n\t * Handles import/export tab select\n\t *\n\t * @param {object} oEvent - IconTabBarSeelect event\n\t */\n\tprivate onImportExportTabSelect(oEvent: IconTabBar$SelectEvent): void {\n\t\tconst selectedKey = oEvent.getParameter(\"selectedKey\");\n\t\tthis.oSelectedTab = selectedKey;\n\t\tthis.oControlModel.setProperty(\"/selectedTab\", selectedKey);\n\t\tthis.oExportList.setVisible(selectedKey === \"export\");\n\n\t\tthis.oImportBtn.setVisible(selectedKey === \"import\");\n\t\tthis.oExportBtn.setVisible(selectedKey === \"export\");\n\t\tthis.oImportBtn.setEnabled(this.oUserPersonalization.import.sectionsSelected);\n\t\tthis.oExportBtn.setEnabled(this.oUserPersonalization.export.sectionsSelected);\n\t\tthis.oExportBtn.setEnabled(\n\t\t\t!!(\n\t\t\t\tthis.oUserPersonalization.export.fileName &&\n\t\t\t\tthis.oUserPersonalization.export.sections &&\n\t\t\t\tthis.oUserPersonalization.export.sections.length > 0 &&\n\t\t\t\tthis.oUserPersonalization.export.sectionsSelected\n\t\t\t)\n\t\t);\n\t}\n\n\t/**\n\t * Handles export file name input change\n\t *\n\t * @param {object} oEvent - event\n\t */\n\tprivate onFileNameInputChange(oEvent: Input$LiveChangeEvent): void {\n\t\tconst sInputValue: string | undefined = oEvent.getParameter(\"value\")?.trim();\n\t\tconst oInput = oEvent.getSource();\n\t\tlet sValueState = ValueState.None; // Initialize with ValueState.None\n\t\tlet sValueStateText = \"\";\n\n\t\t// Validate based on constraints provided at input\n\t\tif (!sInputValue || !sInputValue.length) {\n\t\t\tsValueState = ValueState.Error;\n\t\t\tsValueStateText = String(this._i18nBundle.getText(\"invalidExportFileName\"));\n\t\t}\n\n\t\t//update value state\n\t\toInput.setValueState(sValueState);\n\t\toInput.setValueStateText(sValueStateText);\n\t\tthis.oControlModel.setProperty(\"/export/fileName\", sInputValue);\n\t\tthis.enableDisableActions(ImportExportType.EXPORT);\n\t}\n\n\tprivate onResetImportApps(): void {\n\t\tthis.oEventBus.publish(\"importChannel\", \"resetImported\");\n\t\tMessageToast.show(this._i18nBundle.getText(\"importAppsNowBtnEnabled\") as string);\n\t}\n\n\t/**\n\t * Generates the recommendation settings panel\n\t * @returns {Panel} recommendation settings panel\n\t * @private\n\t */\n\tprivate async _getRecommendationSettingsPanel() {\n\t\tconst persData = await this._getPersonalizationData();\n\t\tif (!this._recommendationSettingsPanel) {\n\t\t\tconst panelId = this.getId() + \"--recommendationSettingsPanel\";\n\t\t\tthis._recommendationSettingsPanel = new Panel(panelId, {\n\t\t\t\theaderToolbar: new OverflowToolbar(this.getId() + \"--idRecommenedPanelToolbar\", {\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\tnew Title({\n\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"recommendationSettingsHeader\"),\n\t\t\t\t\t\t\tlevel: \"H3\"\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t}),\n\t\t\t\texpanded: true,\n\t\t\t\texpandable: true,\n\t\t\t\tcontent: [\n\t\t\t\t\tnew Text({\n\t\t\t\t\t\tid: `${panelId}-container-subHeader`,\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"recommendationSettingsSubHeader\")\n\t\t\t\t\t}),\n\t\t\t\t\tnew HBox({\n\t\t\t\t\t\tid: `${panelId}-container`,\n\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\tnew CheckBox({\n\t\t\t\t\t\t\t\tid: `${panelId}-container-checkBox`,\n\t\t\t\t\t\t\t\tselected: persData.showRecommendation ?? true,\n\t\t\t\t\t\t\t\tselect: (event) => this.onRecommendationSettingChange(event),\n\t\t\t\t\t\t\t\tariaLabelledBy: [`${panelId}-container-subHeader`, `${panelId}-container-label`]\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tnew Text({\n\t\t\t\t\t\t\t\tid: `${panelId}-container-label`,\n\t\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"recommendationSettingsCheckboxLabel\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t],\n\t\t\t\t\t\talignItems: FlexAlignItems.Center\n\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginTop\")\n\t\t\t\t]\n\t\t\t}).addStyleClass(\"sapUiSmallMarginTop\");\n\t\t}\n\t\treturn this._recommendationSettingsPanel;\n\t}\n\n\t/**\n\t * Adds recommendation settings panel to the content vbox, if recommendation feature is enabled\n\t * @returns {Promise<void>}\n\t * @private\n\t */\n\tprivate async _setRecommendationSettingsPanel() {\n\t\tthis.oDetailPage.setBusy(true);\n\t\tconst recommendationSettingsPanel = await this._getRecommendationSettingsPanel();\n\t\tif (recommendationSettingsPanel) {\n\t\t\tthis.oContentVBox.addItem(recommendationSettingsPanel);\n\t\t\tthis.oDetailPage.setBusy(false);\n\t\t}\n\t}\n\n\t/**\n\t * Handles recommendation setting change\n\t *\n\t * @param {CheckBox$SelectEvent} event - checkbox select event\n\t * @private\n\t */\n\tprivate async onRecommendationSettingChange(event: CheckBox$SelectEvent) {\n\t\tconst showRecommendation = event.getParameter(\"selected\");\n\t\tthis.oEventBus.publish(\"importChannel\", \"recommendationSettingChanged\", { showRecommendation });\n\t\tconst oPersData = await this._getPersonalizationData();\n\t\tvoid this.oPersonalizerInstance.write({ ...oPersData, showRecommendation });\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AdvancedSettingsPanel.js","names":["sap","ui","define","Log","CardHelper","Button","CheckBox","CustomListItem","HBox","IconTabBar","IconTabFilter","Input","Label","sap_m_library","List","MessageStrip","MessageToast","ObjectStatus","OverflowToolbar","Panel","Text","Title","Toolbar","ToolbarSpacer","VBox","Element","EventBus","sap_ui_core_library","SimpleForm","JSONModel","FileUploader","Container","__BaseSettingsPanel","___utils_Accessibility","__AppManager","___utils_Constants","___utils_DataFormatUtils","___utils_Device","___utils_FESRUtil","__HttpHelper","__PageManager","__PersonalisationUtils","__UShellPersonalizer","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","FlexAlignItems","ToolbarStyle","ValueState","BaseSettingsPanel","checkPanelExists","AppManager","SETTINGS_PANELS_KEYS","recycleId","calculateDeviceType","DeviceType","addFESRSemanticStepName","FESR_EVENTS","HttpHelper","PageManager","PersonalisationUtils","UShellPersonalizer","ImportExportType","BASE_URL","REPO_BASE_URL","EXPORT_API","MYINSIGHT_SECTION_ID","NewsAndPagesContainerName","AppsContainerlName","InsightsContainerName","PagePanelName","FavAppPanelName","RecommendedAppPanelName","TilesPanelName","CardsPanelName","AdvancedSettingsPanel","extend","metadata","events","sectionsImported","constructor","_constructor","id","settings","BaseSettingsPanel.prototype.constructor.call","init","_init","BaseSettingsPanel.prototype.init.call","setProperty","ADVANCED","_i18nBundle","getText","oEventBus","getInstance","oAppManagerInstance","oSectionsImported","oUserPersonalization","export","sections","fileName","sectionsSelected","error","import","selectedTab","showNoImport","oControlModel","addAggregation","getContent","addInnerContent","attachPanelNavigated","_this","oPageManagerInstance","getPersContainerId","_getPanel","getOwnerComponent","subscribe","channelId","eventId","data","customData","status","updateImportStatus","oDetailPage","getElementById","getProperty","layout","Mobile","_setRecommendationSettingsPanel","Promise","resolve","loadUserPersonalizationData","oImportBtn","setEnabled","enableDisableActions","setImportExportList","oExportMessage","setText","errorMessage","String","setType","errorType","oFileNameInput","setValue","oImportMessage","setVisible","reject","_setImportExportList","oExportList","destroy","setExportSectionList","_importExportPanel","addContent","oImportList","setImportSectionList","invalidate","_enableDisableActions","sType","oImportExportTab","setSelectedKey","IMPORT","oExportBtn","EXPORT","length","setExportImportValues","_setExportImportValues","_getContent","oContentVBox","getId","items","text","addStyleClass","_getImportExportPanel","headerToolbar","style","Clear","content","level","_getImportButton","_getExportButton","headerText","expanded","expandable","type","press","onImportPress","visible","PRESS","onExportPress","bind","_addInnerContent","backgroundDesign","selectedKey","oSelectedTab","select","onImportExportTabSelect","exportTab","key","SELECT","showIcon","exportText","fileInputContainer","alignItems","filenameLabel","labelFor","required","showColon","ariaLabelledBy","width","liveChange","onFileNameInputChange","value","addItem","importTab","importText","importSimpleForm","editable","labelSpanS","labelSpanM","fileUploader","tooltip","fileType","change","oEvent","onFileImport","maximumFileSize","sameFilenameAllowed","buttonText","classicImportTab","classicText","resetImportAppsNow","onResetImportApps","_setExportSectionList","exportSectionsList","growingThreshold","includeItemInSelection","setHeaderToolbar","setModel","bindItems","path","template","formatter","_isPanelAvailable","accDescription","parts","_formatAccDescription","onSectionsSelectionChange","selected","enabled","title","statusText","selectionText","instructionText","panelClassName","panelMappings","containerName","panelName","mapping","_setImportSectionList","importSectionsList","justifyContent","icon","state","_onSectionsSelectionChange","isImport","allSections","getItems","isSelected","innerCheckbox","isSectionSelected","some","oSection","getAggregation","getSelected","innerHbox","_onImportPress","_this2","attachEvent","setBusy","handleUserPersonalizationError","oExportData","_temp","importSections","aSelectedSections","bShowError","Error","oErr","_importSections","oImportData","sectionImportChain","aPromise","oSelectedSections","push","importApps","importTiles","importFavPages","reduce","chain","current","importCards","all","catch","oError","_importApps","apps","publish","groupInfo","_importTiles","tiles","_importFavPages","favouritePages","_importCards","cards","_updateImportStatus","sSectionTitle","errorState","sSectionId","find","oSec","undefined","Success","None","sectionTitles","Object","keys","imported","every","sTitle","fireEvent","resetImportModel","_resetImportModel","onOpen","getDeltaSectionViz","_getDeltaSectionViz","aImportedSections","_this3","_getSections","favSections","forEach","oImportedSection","aDelta","visualizations","filter","oImportViz","oViz","isBookmark","targetURL","vizId","getDeltaAuthSectionViz","_getDeltaAuthSectionViz","aDeltaSections","filterAuthSectionViz","_filterAuthSectionViz","aSections","_getCatalogApps","getServiceAsync","SearchableContent","getApps","includeAppsWithoutVisualizations","_filterAuthViz","aAppCatalog","aViz","aSectionViz","appCatalog","oAppCatalog","oSectionViz","oCatalogViz","target","action","semanticObject","displayFormatHint","map","filterAuthFavPages","_filterAuthFavPages","aFavPages","_exit","_this4","_temp3","_result","_temp2","fetchAllAvailablePages","aAvailablePages","oimportedPage","oAvailabePage","pageId","spaceId","_await$_this4$oPageMa","filterAuthCards","_filterAuthCards","aCards","_exit2","_temp5","_result2","_getParentApp","aAvailableApps","oCard","oApp","resolutionResult","applicationDependencies","name","parentAppId","_isNavigationSupported","oService","oParentApp","isNavigationSupported","aResponses","supported","_temp4","aServices","clientSideTargetResolution","Navigation","_oAdapter","_aInbounds","promise","aAuthCards","bIsNavigationSupported","_await$Promise$all$th","_onFileImport","files","getParameter","oFile","readFileContent","oFileContent","oEncodedFileContent","window","btoa","encodeURIComponent","replace","match","p1","fromCharCode","parseInt","Post","fileContent","oResponse","oImportDataString","JSON","parse","host","location","filterAuthorizedImportData","finally","_filterAuthorizedImportData","_this5","promises","isInsightsEnabled","_this5$isInsightsEnab","getInsightCards","aResponse","aAuthSections","aAuthFavPages","iInsightCardsCount","iTotalCardCount","Number","getImportedSections","getSelectedSections","_readFileContent","FileReader","reader","onload","event","blob","readAsText","_getPersonalizationData","_this6","_temp7","oPersonalizerInstance","read","_this6$oPersonalizerI","persData","_temp6","_UShellPersonalizer$g","_loadUserPersonalizationData","_this7","_this7$isInsightsEnab","_Promise$all","insightModel","favApps","insightTiles","insightCards","descriptorContent","personalization","aExportSections","refresh","_isInsightsEnabled","_exit3","_exit4","_getServiceAsync","message","_getSelectedSections","_isSectionSelected","sectionId","section","sec","_getImportedSections","oData","_this8","_temp9","isAppViz","oSections","panelClass","_this8$isInsightsEnab","_temp8","getDeltaFavPages","_getDeltaFavPages","aImportedFavPages","_this9","oImportedPage","oFavPage","_getInsightCards","_this0","_getServiceAsync2","cardHelperInstance","_getUserAllCardModel","oUserVisibleCardModel","aVisibleCards","visibility","_onExportPress","oExportFileName","oExportFileContent","getExportFileContent","require","File","save","stringify","show","_getExportFileContent","exportData","exportSections","oPersonalization","createdDate","Date","favoriteApps","filterNonSensitiveCards","_filterNonSensitiveCards","nonSensitiveCards","configuration","parameters","parameter","sensitiveProps","concat","getSensitiveProps","headerState","lineItemState","_getSensitiveProps","param","paramSensitiveProps","paramValue","sensitiveProp","ibnParams","_handleUserPersonalizationError","sErrorMsg","sErrorType","sDefaultErrorMsg","_onImportExportTabSelect","_onFileNameInputChange","sInputValue","trim","oInput","getSource","sValueState","sValueStateText","setValueState","setValueStateText","_onResetImportApps","_getRecommendationSettingsPanel","_this1","_recommendationSettingsPanel","panelId","showRecommendation","onRecommendationSettingChange","Center","_this10","recommendationSettingsPanel","_onRecommendationSettingChange","_this11","oPersData","write"],"sources":["AdvancedSettingsPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport CardHelper from \"sap/insights/CardHelper\";\nimport Button from \"sap/m/Button\";\nimport CheckBox, { CheckBox$SelectEvent } from \"sap/m/CheckBox\";\nimport CustomListItem from \"sap/m/CustomListItem\";\nimport HBox from \"sap/m/HBox\";\nimport IconTabBar, { IconTabBar$SelectEvent } from \"sap/m/IconTabBar\";\nimport IconTabFilter from \"sap/m/IconTabFilter\";\nimport Input, { Input$LiveChangeEvent } from \"sap/m/Input\";\nimport Label from \"sap/m/Label\";\nimport { FlexAlignItems, ToolbarStyle } from \"sap/m/library\";\nimport List from \"sap/m/List\";\nimport MessageStrip from \"sap/m/MessageStrip\";\nimport MessageToast from \"sap/m/MessageToast\";\nimport ObjectStatus from \"sap/m/ObjectStatus\";\nimport OverflowToolbar from \"sap/m/OverflowToolbar\";\nimport Page from \"sap/m/Page\";\nimport Panel from \"sap/m/Panel\";\nimport Text from \"sap/m/Text\";\nimport Title from \"sap/m/Title\";\nimport Toolbar from \"sap/m/Toolbar\";\nimport ToolbarSpacer from \"sap/m/ToolbarSpacer\";\nimport VBox from \"sap/m/VBox\";\nimport Component from \"sap/ui/core/Component\";\nimport Control from \"sap/ui/core/Control\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport Element from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport { ValueState } from \"sap/ui/core/library\";\nimport MessageType from \"sap/ui/core/message/MessageType\";\nimport File from \"sap/ui/core/util/File\";\nimport SimpleForm from \"sap/ui/layout/form/SimpleForm\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport FileUploader, { FileUploader$ChangeEvent } from \"sap/ui/unified/FileUploader\";\nimport Container from \"sap/ushell/Container\";\nimport ClientSideTargetResolution from \"sap/ushell/services/ClientSideTargetResolution\";\nimport Navigation from \"sap/ushell/services/Navigation\";\nimport SearchableContent, { AppData } from \"sap/ushell/services/SearchableContent\";\nimport { $AdvancedSettingsPanelSettings } from \"./AdvancedSettingsPanel\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport { IAppInbounds, IAppPersonalization, ISection, ISectionAndVisualization, IVisualization } from \"./interface/AppsInterface\";\nimport { ICard, ICardActionParameters, ICardHelper, ICardHelperInstance, ICardManifest } from \"./interface/CardsInterface\";\nimport { IPage } from \"./interface/PageSpaceInterface\";\nimport { checkPanelExists } from \"./utils/Accessibility\";\nimport AppManager from \"./utils/AppManager\";\nimport { SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { recycleId } from \"./utils/DataFormatUtils\";\nimport { calculateDeviceType, DeviceType } from \"./utils/Device\";\nimport { addFESRSemanticStepName, FESR_EVENTS } from \"./utils/FESRUtil\";\nimport HttpHelper from \"./utils/HttpHelper\";\nimport PageManager from \"./utils/PageManager\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\nimport UShellPersonalizer, { IPersonalizationData } from \"./utils/UshellPersonalizer\";\n\nexport enum ImportExportType {\n\tIMPORT = \"import\",\n\tEXPORT = \"export\"\n}\n\nexport interface IExportData {\n\tapps?: ISection[];\n\ttiles?: ISectionAndVisualization[];\n\tgroupInfo?: IAppPersonalization[];\n\thost?: string;\n\tsections?: ISection[];\n\tcreatedDate?: string;\n\tfavouritePages: ISectionAndVisualization[] | IPage[];\n\tcards?: ICardManifest[];\n\tpersonalization?: IPersonalizationData;\n}\ninterface IExportSections {\n\ttitle: string;\n\tselected: boolean | undefined;\n\tenabled: boolean | undefined;\n\tpanelClass: string;\n\tstatus?: ValueState;\n}\ntype SectionOrVisualization = ISectionAndVisualization[] | IVisualization[];\ninterface IExportImportFile {\n\thost?: string;\n\tcreatedDate?: Date;\n\tsections?: SectionOrVisualization | [];\n\tgroupInfo?: IAppPersonalization[] | IVisualization[] | [];\n\ttiles?: SectionOrVisualization;\n\tcards?: ICardManifest[];\n\tfavouritePages: IPage[] | ISectionAndVisualization[];\n\tapps?: ISection[] | [];\n}\ninterface ApiResponse {\n\tvalue: { fileContent: string }[];\n\t// Define other properties if present in ApiResponse\n}\n\nconst BASE_URL = \"/sap/opu/odata4/ui2/insights_srv/srvd/ui2/\";\nconst REPO_BASE_URL = BASE_URL + \"insights_cards_repo_srv/0001/\";\nconst EXPORT_API = REPO_BASE_URL + \"INSIGHTS_CARDS/com.sap.gateway.srvd.ui2.insights_cards_repo_srv.v0001.importExport?\";\nconst MYINSIGHT_SECTION_ID = \"AZHJGRIT78TG7Y65RF6EPFJ9U\";\n\nconst NewsAndPagesContainerName: string = \"sap.cux.home.NewsAndPagesContainer\";\nconst AppsContainerlName: string = \"sap.cux.home.AppsContainer\";\nconst InsightsContainerName: string = \"sap.cux.home.InsightsContainer\";\nconst PagePanelName: string = \"sap.cux.home.PagePanel\";\nconst FavAppPanelName: string = \"sap.cux.home.FavAppPanel\";\nconst RecommendedAppPanelName: string = \"sap.cux.home.RecommendedAppPanel\";\nconst TilesPanelName: string = \"sap.cux.home.TilesPanel\";\nconst CardsPanelName: string = \"sap.cux.home.CardsPanel\";\n\n/**\n *\n * Class for My Home Advanced 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.AdvancedSettingsPanel\n */\nexport default class AdvancedSettingsPanel extends BaseSettingsPanel {\n\tprivate oControlModel!: JSONModel;\n\tprivate oImportExportTab!: IconTabBar;\n\tprivate oFileNameInput!: Input;\n\tprivate oSelectedTab!: string | undefined;\n\tprivate oExportList!: List;\n\tprivate oImportList!: List;\n\tprivate oImportBtn!: Button;\n\tprivate oExportBtn!: Button;\n\tprivate oEventBus!: EventBus;\n\tprivate oAppManagerInstance!: AppManager;\n\tprivate oPageManagerInstance!: PageManager;\n\tprivate oPersonalizerInstance!: UShellPersonalizer;\n\tprivate cardHelperInstance!: ICardHelperInstance;\n\tprivate persData!: IPersonalizationData;\n\tprivate oContentVBox!: VBox;\n\tprivate oExportMessage!: MessageStrip;\n\tprivate oImportMessage!: MessageStrip;\n\tprivate oDetailPage!: Page;\n\tprivate oSectionsImported!: {\n\t\t[key: string]: boolean;\n\t};\n\tprivate oUserPersonalization!: {\n\t\texport: {\n\t\t\tdata?: IExportData;\n\t\t\tsections?: IExportSections[];\n\t\t\tfileName?: string;\n\t\t\tsectionsSelected?: boolean;\n\t\t\terror?: boolean;\n\t\t\terrorMessage?: string;\n\t\t\terrorType?: string;\n\t\t};\n\t\timport: {\n\t\t\tdata?: IExportData | IExportImportFile;\n\t\t\tsections?: IExportSections[];\n\t\t\tsectionsSelected?: boolean;\n\t\t\terror?: boolean;\n\t\t\terrorMessage?: string;\n\t\t\terrorType?: MessageType;\n\t\t};\n\t\tselectedTab: string;\n\t\tshowNoImport: boolean;\n\t};\n\n\tconstructor(id?: string | $AdvancedSettingsPanelSettings);\n\tconstructor(id?: string, settings?: $AdvancedSettingsPanelSettings);\n\tconstructor(id?: string, settings?: $AdvancedSettingsPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tevents: {\n\t\t\tsectionsImported: {}\n\t\t}\n\t};\n\tprivate _recommendationSettingsPanel!: Panel;\n\tprivate _importExportPanel!: Panel;\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.ADVANCED);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"advancedSettings\"));\n\t\tthis.setProperty(\"icon\", \"sap-icon://grid\");\n\t\tthis.oEventBus = EventBus.getInstance();\n\t\tthis.oAppManagerInstance = AppManager.getInstance();\n\t\tthis.oSectionsImported = {};\n\t\tthis.oUserPersonalization = {\n\t\t\texport: {\n\t\t\t\tsections: [],\n\t\t\t\tfileName: \"MY_HOME\",\n\t\t\t\tsectionsSelected: false,\n\t\t\t\terror: false\n\t\t\t},\n\t\t\timport: {\n\t\t\t\tsections: [],\n\t\t\t\tsectionsSelected: false,\n\t\t\t\terror: false\n\t\t\t},\n\t\t\tselectedTab: \"export\",\n\t\t\tshowNoImport: false\n\t\t};\n\t\tthis.oControlModel = new JSONModel(this.oUserPersonalization);\n\t\t//setup layout content\n\t\tthis.addAggregation(\"content\", this.getContent());\n\t\tthis.addInnerContent();\n\t\t//fired every time on panel navigation\n\t\tthis.attachPanelNavigated(() => {\n\t\t\tvoid (async () => {\n\t\t\t\tif (!this.oPageManagerInstance) {\n\t\t\t\t\tthis.oPageManagerInstance = PageManager.getInstance(\n\t\t\t\t\t\tPersonalisationUtils.getPersContainerId(this._getPanel()),\n\t\t\t\t\t\tPersonalisationUtils.getOwnerComponent(this._getPanel()) as Component\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// subscribe to all import events for all sections\n\t\t\t\tthis.oEventBus.subscribe(\n\t\t\t\t\t\"importChannel\",\n\t\t\t\t\t\"tilesImported\",\n\t\t\t\t\t(channelId?: string, eventId?: string, data?: object) => {\n\t\t\t\t\t\tconst customData = (data as { status: boolean }).status;\n\t\t\t\t\t\t//errorstate is false when import is successful\n\t\t\t\t\t\tthis.updateImportStatus(\"insightsTiles\", !customData);\n\t\t\t\t\t},\n\t\t\t\t\tthis\n\t\t\t\t);\n\n\t\t\t\tthis.oEventBus.subscribe(\n\t\t\t\t\t\"importChannel\",\n\t\t\t\t\t\"appsImported\",\n\t\t\t\t\t(channelId?: string, eventId?: string, data?: object) => {\n\t\t\t\t\t\tconst customData = (data as { status: boolean }).status;\n\t\t\t\t\t\t//errorstate is false when import is successful\n\t\t\t\t\t\tthis.updateImportStatus(\"favApps\", !customData);\n\t\t\t\t\t},\n\t\t\t\t\tthis\n\t\t\t\t);\n\n\t\t\t\tthis.oEventBus.subscribe(\n\t\t\t\t\t\"importChannel\",\n\t\t\t\t\t\"favPagesImported\",\n\t\t\t\t\t(channelId?: string, eventId?: string, data?: object) => {\n\t\t\t\t\t\tconst customData = (data as { status: boolean }).status;\n\t\t\t\t\t\t//errorstate is false when import is successful\n\t\t\t\t\t\tthis.updateImportStatus(\"pages\", !customData);\n\t\t\t\t\t},\n\t\t\t\t\tthis\n\t\t\t\t);\n\n\t\t\t\tthis.oEventBus.subscribe(\n\t\t\t\t\t\"importChannel\",\n\t\t\t\t\t\"cardsImported\",\n\t\t\t\t\t(channelId?: string, eventId?: string, data?: object) => {\n\t\t\t\t\t\tconst customData = (data as { status: boolean }).status;\n\t\t\t\t\t\t//errorstate is false when import is successful\n\t\t\t\t\t\tthis.updateImportStatus(\"insightsCards\", !customData);\n\t\t\t\t\t},\n\t\t\t\t\tthis\n\t\t\t\t);\n\n\t\t\t\t//get the detailPage of advanced settingspanel\n\t\t\t\tthis.oDetailPage = Element.getElementById(this.getProperty(\"key\") + \"-detail-page\") as Page;\n\t\t\t\tconst layout = this._getPanel();\n\t\t\t\tif (checkPanelExists(layout, AppsContainerlName, RecommendedAppPanelName) && calculateDeviceType() !== DeviceType.Mobile) {\n\t\t\t\t\tvoid this._setRecommendationSettingsPanel();\n\t\t\t\t}\n\n\t\t\t\t//load user personalization data\n\t\t\t\tawait this.loadUserPersonalizationData();\n\n\t\t\t\t//import button set enabled/disabled based on sections selected\n\t\t\t\tthis.oImportBtn.setEnabled(this.oUserPersonalization.import.sectionsSelected);\n\t\t\t\tthis.enableDisableActions(this.oUserPersonalization.selectedTab as ImportExportType);\n\n\t\t\t\t//set export and import list\n\t\t\t\tthis.setImportExportList();\n\t\t\t\tthis.oExportMessage.setText(\n\t\t\t\t\tthis.oUserPersonalization.export.errorMessage ? String(this.oUserPersonalization.export.errorMessage) : \"\"\n\t\t\t\t);\n\t\t\t\tthis.oExportMessage.setType(this.oUserPersonalization.export.errorType as MessageType);\n\t\t\t\tthis.oExportMessage.setProperty(\"visible\", this.oUserPersonalization.export.error, true);\n\t\t\t\tthis.oFileNameInput.setValue(String(this.oUserPersonalization.export.fileName));\n\n\t\t\t\tthis.oImportMessage.setText(\n\t\t\t\t\tthis.oUserPersonalization.import.errorMessage ? String(this.oUserPersonalization.import.errorMessage) : \"\"\n\t\t\t\t);\n\t\t\t\tthis.oImportMessage.setType(this.oUserPersonalization.import.errorType as MessageType);\n\t\t\t\tthis.oImportMessage.setVisible(this.oUserPersonalization.import.error);\n\t\t\t})();\n\t\t});\n\t}\n\n\tprivate setImportExportList(): void {\n\t\tthis.oExportList?.destroy();\n\t\tthis.oExportList = this.setExportSectionList();\n\t\tthis._importExportPanel.addContent(this.oExportList);\n\t\tif (!this.oImportList) {\n\t\t\tthis.oImportList = this.setImportSectionList();\n\t\t\tthis._importExportPanel.addContent(this.oImportList);\n\t\t} else {\n\t\t\tthis.oImportList.invalidate();\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param sType selected tab type\n\t * Set import / export button enable property and selectedkey of importexport tab\n\t */\n\tprivate enableDisableActions(sType: ImportExportType): void {\n\t\tthis.oImportExportTab?.setSelectedKey(sType);\n\t\tthis.oImportBtn?.setVisible(sType === ImportExportType.IMPORT);\n\t\tthis.oExportBtn?.setVisible(sType === ImportExportType.EXPORT);\n\t\tif (this.oUserPersonalization.import.sectionsSelected && sType === ImportExportType.IMPORT) {\n\t\t\tthis.oImportBtn.setEnabled(true);\n\t\t} else {\n\t\t\tthis.oImportBtn.setEnabled(false);\n\t\t}\n\n\t\tif (\n\t\t\tsType === ImportExportType.EXPORT &&\n\t\t\tthis.oUserPersonalization.export.fileName &&\n\t\t\tthis.oUserPersonalization.export.sections?.length &&\n\t\t\tthis.oUserPersonalization.export.sectionsSelected\n\t\t) {\n\t\t\tthis.oExportBtn.setEnabled(true);\n\t\t} else {\n\t\t\tthis.oExportBtn.setEnabled(false);\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param sType selected tab type\n\t * Set import/ export message values\n\t */\n\tprivate setExportImportValues(sType: ImportExportType): void {\n\t\tif (sType === ImportExportType.EXPORT) {\n\t\t\tthis.oExportMessage.setText(\n\t\t\t\tthis.oUserPersonalization.export.errorMessage ? String(this.oUserPersonalization.export.errorMessage) : \"\"\n\t\t\t);\n\t\t\tthis.oExportMessage.setType(this.oUserPersonalization.export.errorType as MessageType);\n\t\t\tthis.oExportMessage.setProperty(\"visible\", this.oUserPersonalization.export.error, true);\n\t\t} else if (sType === ImportExportType.IMPORT) {\n\t\t\tthis.oImportMessage.setText(\n\t\t\t\tthis.oUserPersonalization.import.errorMessage ? String(this.oUserPersonalization.import.errorMessage) : \"\"\n\t\t\t);\n\t\t\tthis.oImportMessage.setType(this.oUserPersonalization.import.errorType as MessageType);\n\t\t\tthis.oImportMessage.setProperty(\"visible\", this.oUserPersonalization.import.error);\n\t\t}\n\t}\n\n\t/**\n\t * Sets the outer content VBox for the Advanced Settings Panel.\n\t * @returns VBox\n\t */\n\tprivate getContent(): VBox {\n\t\tif (!this.oContentVBox) {\n\t\t\tthis.oContentVBox = new VBox(this.getId() + \"--idAdvancedVBox\", {\n\t\t\t\titems: [\n\t\t\t\t\tnew Text(this.getId() + \"--idPersonalizationSubheader\", {\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"advancedSettingsSubheader\")\n\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginBegin sapUiSmallMarginTop\"),\n\n\t\t\t\t\tthis._getImportExportPanel()\n\t\t\t\t]\n\t\t\t});\n\t\t}\n\t\treturn this.oContentVBox;\n\t}\n\n\t/**\n\t * Returns the import/export panel.\n\t *\n\t * @private\n\t * @returns {Panel} The import/export panel.\n\t */\n\tprivate _getImportExportPanel() {\n\t\tif (!this._importExportPanel) {\n\t\t\tthis._importExportPanel = new Panel(`${this.getId()}-importExportPanel`, {\n\t\t\t\theaderToolbar: new OverflowToolbar(`${this.getId()}-importExportPanelToolbar`, {\n\t\t\t\t\tstyle: ToolbarStyle.Clear,\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\tnew Title(`${this.getId()}-importExportPanelToolbarText`, {\n\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"importAndExportPanelHeader\"),\n\t\t\t\t\t\t\tlevel: \"H3\"\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tnew ToolbarSpacer(`${this.getId()}-importExportPanelToolbarSpacer`),\n\t\t\t\t\t\tthis._getImportButton(),\n\t\t\t\t\t\tthis._getExportButton()\n\t\t\t\t\t]\n\t\t\t\t}),\n\t\t\t\theaderText: this._i18nBundle.getText(\"importAndExportPanelHeader\"),\n\t\t\t\texpanded: true,\n\t\t\t\texpandable: true,\n\t\t\t\tcontent: []\n\t\t\t}).addStyleClass(\"sapUiSmallMarginTop\");\n\t\t}\n\n\t\treturn this._importExportPanel;\n\t}\n\n\t/**\n\t * Returns the import button.\n\t *\n\t * @private\n\t * @returns {Button} import button.\n\t */\n\tprivate _getImportButton() {\n\t\tif (!this.oImportBtn) {\n\t\t\tthis.oImportBtn = new Button({\n\t\t\t\tid: `${this.getId()}-importBtn`,\n\t\t\t\ttext: this._i18nBundle.getText(\"import\"),\n\t\t\t\ttype: \"Transparent\",\n\t\t\t\tpress: () => {\n\t\t\t\t\tvoid this.onImportPress();\n\t\t\t\t},\n\t\t\t\tvisible: false\n\t\t\t});\n\t\t\taddFESRSemanticStepName(this._getImportButton(), FESR_EVENTS.PRESS, \"importBtn\");\n\t\t}\n\t\treturn this.oImportBtn;\n\t}\n\n\t/**\n\t * Returns the export button.\n\t *\n\t * @private\n\t * @returns {Button} export button.\n\t */\n\tprivate _getExportButton() {\n\t\tif (!this.oExportBtn) {\n\t\t\tthis.oExportBtn = new Button({\n\t\t\t\tid: `${this.getId()}-exportBtn`,\n\t\t\t\ttext: this._i18nBundle.getText(\"export\"),\n\t\t\t\ttype: \"Transparent\",\n\t\t\t\tpress: this.onExportPress.bind(this),\n\t\t\t\tvisible: true\n\t\t\t});\n\t\t\taddFESRSemanticStepName(this.oExportBtn, FESR_EVENTS.PRESS, \"exportBtn\");\n\t\t}\n\t\treturn this.oExportBtn;\n\t}\n\n\t/**\n\t * Returns the inner content for the Advanced Settings Panel.\n\t *\n\t * @private\n\t * @returns {Control} The control containing the Advanced Settings Panel content.\n\t */\n\tprivate addInnerContent(): void {\n\t\t//if not already initialised, create the import/export tab and inner controls\n\t\tif (!this.oImportExportTab) {\n\t\t\tthis.oImportExportTab = new IconTabBar(this.getId() + \"--idImportExportTab\", {\n\t\t\t\texpandable: false,\n\t\t\t\tbackgroundDesign: \"Transparent\",\n\t\t\t\tselectedKey: this.oSelectedTab ? this.oSelectedTab : \"export\",\n\t\t\t\tselect: this.onImportExportTabSelect.bind(this)\n\t\t\t});\n\n\t\t\tconst exportTab = new IconTabFilter(this.getId() + \"--idExportTab\", {\n\t\t\t\tkey: \"export\",\n\t\t\t\ttext: this._i18nBundle.getText(\"exportFile\")\n\t\t\t});\n\t\t\t// Add FESR for export tab\n\t\t\taddFESRSemanticStepName(exportTab, FESR_EVENTS.SELECT, \"exportTab\");\n\n\t\t\t//export tab content\n\t\t\tthis.oExportMessage = new MessageStrip(this.getId() + \"--idExportMessageStrip\", {\n\t\t\t\tshowIcon: true,\n\t\t\t\tvisible: false\n\t\t\t}).addStyleClass(\"sapUiNoMarginBegin sapUiTinyMarginBottom\");\n\t\t\tconst exportText = new Text(this.getId() + \"--idExportText\", { text: this._i18nBundle.getText(\"exportText\") }).addStyleClass(\n\t\t\t\t\"advancePadding\"\n\t\t\t);\n\t\t\tconst fileInputContainer = new HBox(this.getId() + \"--idFileInputContainer\", {\n\t\t\t\talignItems: \"Center\"\n\t\t\t}).addStyleClass(\"sapUiSmallMargin\");\n\t\t\tconst filenameLabel = new Label(this.getId() + \"--idFilenameLabel\", {\n\t\t\t\ttext: this._i18nBundle.getText(\"exportFileNameLabel\"),\n\t\t\t\tlabelFor: \"idTitleFilenameInput\",\n\t\t\t\trequired: true,\n\t\t\t\tshowColon: true\n\t\t\t}).addStyleClass(\"sapUiSmallMarginEnd\");\n\t\t\tthis.oFileNameInput = new Input(this.getId() + \"--idFileNameInput\", {\n\t\t\t\tariaLabelledBy: [`${this.getId()}--idExportText`, `${this.getId()}--idFilenameLabel`],\n\t\t\t\trequired: true,\n\t\t\t\twidth: \"13rem\",\n\t\t\t\tliveChange: this.onFileNameInputChange.bind(this),\n\t\t\t\tvalue: \"\"\n\t\t\t});\n\n\t\t\tfileInputContainer.addItem(filenameLabel);\n\t\t\tfileInputContainer.addItem(this.oFileNameInput);\n\n\t\t\texportTab.addContent(this.oExportMessage);\n\t\t\texportTab.addContent(exportText);\n\t\t\texportTab.addContent(fileInputContainer);\n\n\t\t\t//import tab\n\t\t\tconst importTab = new IconTabFilter(this.getId() + \"--idImportTab\", {\n\t\t\t\tkey: \"import\",\n\t\t\t\ttext: this._i18nBundle.getText(\"importFile\")\n\t\t\t});\n\t\t\t// Add FESR for import tab\n\t\t\taddFESRSemanticStepName(importTab, FESR_EVENTS.SELECT, \"importTab\");\n\n\t\t\t//import tab content\n\t\t\tthis.oImportMessage = new MessageStrip(this.getId() + \"--idImportMessageStrip\", {\n\t\t\t\ttext: \"{advsettings>/import/errorMessage}\",\n\t\t\t\ttype: \"{advsettings>/import/errorType}\",\n\t\t\t\tshowIcon: true,\n\t\t\t\tvisible: false\n\t\t\t}).addStyleClass(\"sapUiNoMarginBegin sapUiTinyMarginBottom\");\n\t\t\tconst importText = new Text(this.getId() + \"--idImportText\", { text: this._i18nBundle.getText(\"importText\") }).addStyleClass(\n\t\t\t\t\"advancePadding\"\n\t\t\t);\n\t\t\tconst importSimpleForm = new SimpleForm(this.getId() + \"--idImportSimpleForm\", {\n\t\t\t\teditable: true,\n\t\t\t\tlayout: \"ResponsiveGridLayout\",\n\t\t\t\tlabelSpanS: 4,\n\t\t\t\tlabelSpanM: 4\n\t\t\t});\n\t\t\tconst fileUploader = new FileUploader(this.getId() + \"--idImportFileUploader\", {\n\t\t\t\ttooltip: this._i18nBundle.getText(\"uploadImportFile\"),\n\t\t\t\tfileType: [\"txt\"],\n\t\t\t\tchange: (oEvent: FileUploader$ChangeEvent) => {\n\t\t\t\t\tvoid this.onFileImport(oEvent);\n\t\t\t\t},\n\t\t\t\tmaximumFileSize: 25,\n\t\t\t\tsameFilenameAllowed: true,\n\t\t\t\twidth: \"80%\",\n\t\t\t\tariaLabelledBy: [`${this.getId()}--idImportText`],\n\t\t\t\tbuttonText: this._i18nBundle.getText(\"importFileUploaderButton\")\n\t\t\t});\n\t\t\timportSimpleForm.addContent(fileUploader);\n\t\t\timportTab.addContent(this.oImportMessage);\n\t\t\timportTab.addContent(importText);\n\t\t\timportTab.addContent(importSimpleForm);\n\n\t\t\tconst classicImportTab = new IconTabFilter(this.getId() + \"--idClassicImportTab\", {\n\t\t\t\tkey: \"classicImport\",\n\t\t\t\ttext: this._i18nBundle.getText(\"classicImport\")\n\t\t\t});\n\t\t\t// Add FESR for classic import tab\n\t\t\taddFESRSemanticStepName(classicImportTab, FESR_EVENTS.SELECT, \"classicImportTab\");\n\t\t\tconst classicText = new Text(this.getId() + \"--idClassicImportText\", {\n\t\t\t\ttext: this._i18nBundle.getText(\"classicImportText\")\n\t\t\t}).addStyleClass(\"sapUiSmallMarginBottom advancePadding\");\n\t\t\tconst resetImportAppsNow = new Button(this.getId() + \"--resetImportAppsNow\", {\n\t\t\t\ttext: this._i18nBundle.getText(\"resetButton\"),\n\t\t\t\tpress: this.onResetImportApps.bind(this),\n\t\t\t\tariaLabelledBy: [`${this.getId()}--idClassicImportText`]\n\t\t\t}).addStyleClass(\"resetButtonPadding\");\n\t\t\taddFESRSemanticStepName(resetImportAppsNow, FESR_EVENTS.PRESS, \"resetImportApps\");\n\t\t\tclassicImportTab.addContent(classicText);\n\t\t\tclassicImportTab.addContent(resetImportAppsNow);\n\n\t\t\tthis.oImportExportTab.addItem(exportTab);\n\t\t\tthis.oImportExportTab.addItem(importTab);\n\t\t\tthis.oImportExportTab.addItem(classicImportTab);\n\t\t\tthis._importExportPanel.addContent(this.oImportExportTab);\n\t\t\tthis._importExportPanel.addContent(this.setExportSectionList());\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @returns {List} export section list\n\t */\n\tprivate setExportSectionList(): List {\n\t\tconst exportSectionsList = new List(`${this.getId()}--exportSectionsList`, {\n\t\t\twidth: \"calc(100% - 2rem)\",\n\t\t\tgrowingThreshold: 50,\n\t\t\tincludeItemInSelection: true,\n\t\t\tvisible: \"{= ${advsettings>/selectedTab} === 'export'}\"\n\t\t}).addStyleClass(\"sapUiSmallMarginBegin\");\n\t\tconst headerToolbar = new Toolbar(`${this.getId()}--exportSectionsListToolbar`, {\n\t\t\tcontent: [\n\t\t\t\tnew Title(this.getId() + \"--idExportSectionsListHeaderText\", {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"sectionExportListHeader\"),\n\t\t\t\t\tlevel: \"H4\"\n\t\t\t\t}).addStyleClass(\"sectionTitle\")\n\t\t\t]\n\t\t});\n\t\texportSectionsList.setHeaderToolbar(headerToolbar);\n\t\t//set model for the list and bind items to path advsettings>/export/sections\n\t\texportSectionsList.setModel(this.oControlModel, \"advsettings\");\n\n\t\texportSectionsList.bindItems({\n\t\t\tpath: \"advsettings>/export/sections\",\n\t\t\ttemplate: new CustomListItem(`${this.getId()}--exportCustomListItem`, {\n\t\t\t\tvisible: {\n\t\t\t\t\tpath: \"advsettings>panelClass\",\n\t\t\t\t\tformatter: this._isPanelAvailable.bind(this)\n\t\t\t\t},\n\t\t\t\taccDescription: {\n\t\t\t\t\tparts: [{ path: \"advsettings>enabled\" }, { path: \"advsettings>selected\" }, { path: \"advsettings>title\" }],\n\t\t\t\t\tformatter: this._formatAccDescription.bind(this)\n\t\t\t\t},\n\t\t\t\tcontent: [\n\t\t\t\t\tnew HBox(recycleId(`${this.getId()}--exportContentBox`), {\n\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\tnew CheckBox(recycleId(`${this.getId()}--exportListItemCheck`), {\n\t\t\t\t\t\t\t\tselect: this.onSectionsSelectionChange.bind(this, false),\n\t\t\t\t\t\t\t\tselected: \"{advsettings>selected}\",\n\t\t\t\t\t\t\t\tenabled: \"{advsettings>enabled}\"\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tnew Text(recycleId(`${this.getId()}--exportListItemText`), { text: \"{advsettings>title}\" })\n\t\t\t\t\t\t],\n\t\t\t\t\t\twidth: \"100%\"\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t})\n\t\t});\n\t\tthis.oExportList = exportSectionsList;\n\t\treturn exportSectionsList;\n\t}\n\n\t/**\n\t * Returns an accessibility description string for a list item.\n\t *\n\t * @param enabled Indicates if the checkbox is enabled.\n\t * @param selected Indicates if the checkbox is selected (checked).\n\t * @param title The title of the list item.\n\t * @returns The formatted accessibility description.\n\t */\n\tprivate _formatAccDescription(enabled: boolean, selected: boolean, title: string): string {\n\t\tconst statusText = !enabled ? `${this._i18nBundle.getText(\"checkboxDisabledText\")}.` : \"\";\n\n\t\tconst selectionText = selected\n\t\t\t? this._i18nBundle.getText(\"checkboxCheckedText\")\n\t\t\t: this._i18nBundle.getText(\"checkboxUnCheckedText\");\n\n\t\tconst instructionText = this._i18nBundle.getText(\"checkboxInstructionText\");\n\n\t\treturn `${statusText}${selectionText}. ${title}. ${instructionText}`;\n\t}\n\n\tprivate _isPanelAvailable(panelClassName: string): boolean {\n\t\tconst panelMappings: Record<string, { containerName: string; panelName: string }> = {\n\t\t\t[FavAppPanelName]: { containerName: AppsContainerlName, panelName: FavAppPanelName },\n\t\t\t[PagePanelName]: { containerName: NewsAndPagesContainerName, panelName: PagePanelName },\n\t\t\t[TilesPanelName]: { containerName: InsightsContainerName, panelName: TilesPanelName },\n\t\t\t[CardsPanelName]: { containerName: InsightsContainerName, panelName: CardsPanelName }\n\t\t};\n\n\t\tconst mapping = panelMappings[panelClassName];\n\t\tif (!mapping) return false;\n\t\tconst layout = this._getPanel();\n\t\treturn checkPanelExists(layout, mapping.containerName, mapping.panelName);\n\t}\n\n\t/**\n\t *\n\t * @returns {List} import section list\n\t */\n\tprivate setImportSectionList(): List {\n\t\tconst importSectionsList = new List(this.getId() + \"--idImportSectionsList\", {\n\t\t\twidth: \"calc(100% - 2rem)\",\n\t\t\tgrowingThreshold: 50,\n\t\t\tincludeItemInSelection: true,\n\t\t\tvisible:\n\t\t\t\t\"{= ${advsettings>/selectedTab} === 'import' && (${advsettings>/import/sections/length} > 0 || ${advsettings>/showNoImport})}\"\n\t\t}).addStyleClass(\"sapUiSmallMarginBegin\");\n\t\tconst headerToolbar = new Toolbar(this.getId() + \"--idImportSectionsListToolbar\", {\n\t\t\tcontent: [\n\t\t\t\tnew Title(`${this.getId()}--importSectionsListHeaderText`, {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"sectionImportListHeader\")\n\t\t\t\t}).addStyleClass(\"sectionTitle\")\n\t\t\t]\n\t\t});\n\t\timportSectionsList.setHeaderToolbar(headerToolbar);\n\t\t//set model for the list and bind items to path advsettings>/import/sections\n\t\timportSectionsList.setModel(this.oControlModel, \"advsettings\");\n\t\timportSectionsList.bindItems({\n\t\t\tpath: \"advsettings>/import/sections\",\n\t\t\ttemplate: new CustomListItem(`${this.getId()}--importCustomListItem`, {\n\t\t\t\taccDescription: {\n\t\t\t\t\tpath: \"advsettings>title\",\n\t\t\t\t\tformatter: this._formatAccDescription.bind(this)\n\t\t\t\t},\n\t\t\t\tcontent: [\n\t\t\t\t\tnew HBox(`${this.getId()}--importListCheckBox`, {\n\t\t\t\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\tnew HBox(`${this.getId()}--importListItemCheckHBox`, {\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\tnew CheckBox(`${this.getId()}--importListItemCheck`, {\n\t\t\t\t\t\t\t\t\t\tselect: this.onSectionsSelectionChange.bind(this, true),\n\t\t\t\t\t\t\t\t\t\tselected: \"{advsettings>selected}\",\n\t\t\t\t\t\t\t\t\t\tenabled: \"{advsettings>enabled}\"\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\tnew Text(`${this.getId()}--importListItemText`, { text: \"{advsettings>title}\" }).addStyleClass(\n\t\t\t\t\t\t\t\t\t\t\"sapUiTinyMarginTop\"\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tnew HBox(`${this.getId()}--importStatusHBox`, {\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\tnew ObjectStatus(`${this.getId()}--importItemStatus`, {\n\t\t\t\t\t\t\t\t\t\ticon: \"{= ${advsettings>status} === 'Success' ? 'sap-icon://status-positive' : 'sap-icon://status-negative' }\",\n\t\t\t\t\t\t\t\t\t\tstate: \"{advsettings>status}\",\n\t\t\t\t\t\t\t\t\t\tvisible: \"{= ${advsettings>status} !== 'None'}\"\n\t\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginEnd sapUiTinyMarginTop\")\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t],\n\t\t\t\t\t\twidth: \"100%\"\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t})\n\t\t});\n\n\t\treturn importSectionsList;\n\t}\n\n\t/**\n\t * Selection change event handler for export and import sections\n\t * @param isImport boolean value to check if import or export tab is selected\n\t */\n\tprivate onSectionsSelectionChange(isImport: boolean): void {\n\t\tconst allSections = isImport ? this.oImportList.getItems() : this.oExportList.getItems();\n\t\tlet isSelected = false;\n\t\tlet content, innerCheckbox;\n\t\tconst isSectionSelected = allSections.some(function (oSection) {\n\t\t\tif (!isImport) {\n\t\t\t\tcontent = oSection.getAggregation(\"content\") as Control[];\n\t\t\t\tinnerCheckbox = (content[0] as HBox).getItems()[0] as CheckBox;\n\t\t\t\tisSelected = innerCheckbox.getSelected();\n\t\t\t} else {\n\t\t\t\tcontent = oSection.getAggregation(\"content\") as Control[];\n\t\t\t\tconst innerHbox = (content[0] as HBox).getItems()[0] as HBox;\n\t\t\t\tinnerCheckbox = innerHbox.getItems()[0] as CheckBox;\n\t\t\t\tisSelected = innerCheckbox.getSelected();\n\t\t\t}\n\t\t\treturn isSelected;\n\t\t});\n\t\tthis.oControlModel.setProperty((isImport ? \"/import\" : \"/export\") + \"/sectionsSelected\", isSectionSelected);\n\t\tthis.enableDisableActions((isImport ? \"import\" : \"export\") as ImportExportType);\n\t}\n\n\t/**\n\t * Handler for import button press\n\t *\n\t */\n\tprivate async onImportPress(): Promise<void> {\n\t\tthis.attachEvent(\"sectionsImported\", () => {\n\t\t\tthis.oDetailPage.setBusy(false);\n\t\t\tthis.oControlModel.setProperty(\"/import/sectionsSelected\", false);\n\t\t});\n\t\tthis.oImportBtn.setEnabled(false);\n\t\tthis.oDetailPage.setBusy(true);\n\t\tthis.handleUserPersonalizationError(ImportExportType.IMPORT, false, \"\", \"\");\n\t\tconst oExportData = this.oUserPersonalization.import.data;\n\t\ttry {\n\t\t\tconst aSelectedSections = await this.importSections(oExportData);\n\t\t\tconst bShowError: boolean = aSelectedSections.some((oSection) => {\n\t\t\t\treturn oSection.status === ValueState.Error;\n\t\t\t});\n\t\t\tif (bShowError) {\n\t\t\t\tthis.handleUserPersonalizationError(\n\t\t\t\t\tImportExportType.IMPORT,\n\t\t\t\t\ttrue,\n\t\t\t\t\tString(this._i18nBundle.getText(\"userPersonalizationImportError\")),\n\t\t\t\t\t\"Warning\"\n\t\t\t\t);\n\t\t\t}\n\t\t\tthis.oControlModel.setProperty(\"/import/sections\", aSelectedSections);\n\t\t} catch (oErr: unknown) {\n\t\t\tLog.error(\"importpress\", String(oErr));\n\t\t\tthis.handleUserPersonalizationError(\n\t\t\t\tImportExportType.IMPORT,\n\t\t\t\ttrue,\n\t\t\t\tString(this._i18nBundle.getText(\"userPersonalizationImportError\")),\n\t\t\t\t\"Error\"\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Invokes import of apps,tiles,pages and cards data\n\t * @param oImportData import data\n\t * @returns Promise<IExportSections[]>\n\t */\n\tprivate importSections(oImportData?: IExportData | IExportImportFile): Promise<IExportSections[] | []> {\n\t\tconst sectionImportChain: (() => Promise<void>)[] = [];\n\t\tconst aPromise: Promise<void>[] = [];\n\t\tconst oSelectedSections = this.oControlModel.getProperty(\"/import/sections\") as IExportSections[];\n\n\t\tsectionImportChain.push(() => this.importApps(oImportData));\n\t\tsectionImportChain.push(() => this.importTiles(oImportData));\n\t\tsectionImportChain.push(() => this.importFavPages(oImportData));\n\n\t\t// Execute apps, tiles, and pages sequentially\n\t\taPromise.push(\n\t\t\tsectionImportChain.reduce((chain, current) => {\n\t\t\t\treturn chain.then(() => current());\n\t\t\t}, Promise.resolve())\n\t\t);\n\n\t\taPromise.push(this.importCards(oImportData));\n\n\t\treturn Promise.all(aPromise)\n\t\t\t.then(() => {\n\t\t\t\treturn oSelectedSections;\n\t\t\t})\n\t\t\t.catch((oError: Error) => {\n\t\t\t\tLog.error(\"import failed\", String(oError));\n\t\t\t\treturn [];\n\t\t\t});\n\t}\n\n\tprivate importApps(oImportData?: IExportData | IExportImportFile): Promise<void> {\n\t\treturn new Promise<void>((resolve) => {\n\t\t\tconst oSelectedSections = this.oControlModel.getProperty(\"/import/sections\") as IExportSections[];\n\t\t\tif (\n\t\t\t\toImportData?.apps &&\n\t\t\t\toImportData?.apps.length > 0 &&\n\t\t\t\tthis.isSectionSelected(oSelectedSections, String(this._i18nBundle.getText(\"favApps\")))\n\t\t\t) {\n\t\t\t\tthis.oSectionsImported[String(this._i18nBundle.getText(\"favApps\"))] = false;\n\t\t\t\tthis.oEventBus.publish(\"importChannel\", \"appsImport\", { apps: oImportData.apps, groupInfo: oImportData.groupInfo });\n\t\t\t\tresolve();\n\t\t\t} else {\n\t\t\t\t// if no apps / apps selected then resolve the promise and mark the section as imported\n\t\t\t\tthis.oSectionsImported[String(this._i18nBundle.getText(\"favApps\"))] = true;\n\t\t\t\tthis.updateImportStatus(\"favApps\");\n\t\t\t\tresolve(); // Resolve the promise if condition doesn't meet\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate importTiles(oImportData?: IExportData | IExportImportFile): Promise<void> {\n\t\treturn new Promise<void>((resolve) => {\n\t\t\tconst oSelectedSections = this.oControlModel.getProperty(\"/import/sections\") as IExportSections[];\n\t\t\tif (\n\t\t\t\toImportData?.tiles &&\n\t\t\t\toImportData.tiles.length > 0 &&\n\t\t\t\tthis.isSectionSelected(oSelectedSections, String(this._i18nBundle.getText(\"insightsTiles\")))\n\t\t\t) {\n\t\t\t\tthis.oSectionsImported[String(this._i18nBundle.getText(\"insightsTiles\"))] = false;\n\t\t\t\tthis.oEventBus.publish(\"importChannel\", \"tilesImport\", oImportData.tiles);\n\t\t\t\tresolve();\n\t\t\t} else {\n\t\t\t\t// if no tiles / tiles section not selected then resolve the promise and mark the section as imported\n\t\t\t\tthis.oSectionsImported[String(this._i18nBundle.getText(\"insightsTiles\"))] = true;\n\t\t\t\tthis.updateImportStatus(\"insightsTiles\");\n\t\t\t\tresolve(); // Resolve the promise if condition doesn't meet\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate importFavPages(oImportData?: IExportData | IExportImportFile): Promise<void> {\n\t\treturn new Promise<void>((resolve) => {\n\t\t\tconst oSelectedSections = this.oControlModel.getProperty(\"/import/sections\") as IExportSections[];\n\t\t\tif (\n\t\t\t\toImportData?.favouritePages &&\n\t\t\t\toImportData.favouritePages.length > 0 &&\n\t\t\t\tthis.isSectionSelected(oSelectedSections, String(this._i18nBundle.getText(\"pages\")))\n\t\t\t) {\n\t\t\t\tthis.oSectionsImported[String(this._i18nBundle.getText(\"pages\"))] = false;\n\t\t\t\tthis.oEventBus.publish(\"importChannel\", \"favPagesImport\", oImportData.favouritePages);\n\t\t\t\tresolve();\n\t\t\t} else {\n\t\t\t\t// if no tiles / tiles section not selected then resolve the promise and mark the section as imported\n\t\t\t\tthis.oSectionsImported[String(this._i18nBundle.getText(\"pages\"))] = true;\n\t\t\t\tthis.updateImportStatus(\"pages\");\n\t\t\t\tresolve(); // Resolve the promise if condition doesn't meet\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate importCards(oImportData?: IExportData | IExportImportFile): Promise<void> {\n\t\treturn new Promise<void>((resolve) => {\n\t\t\tconst oSelectedSections = this.oControlModel.getProperty(\"/import/sections\") as IExportSections[];\n\t\t\tif (\n\t\t\t\toImportData?.cards &&\n\t\t\t\toImportData.cards.length > 0 &&\n\t\t\t\tthis.isSectionSelected(oSelectedSections, String(this._i18nBundle.getText(\"insightsCards\")))\n\t\t\t) {\n\t\t\t\tthis.oSectionsImported[String(this._i18nBundle.getText(\"insightsCards\"))] = false;\n\t\t\t\tthis.oEventBus.publish(\"importChannel\", \"cardsImport\", oImportData.cards);\n\t\t\t\tresolve();\n\t\t\t} else {\n\t\t\t\t// if no tiles / tiles section not selected then resolve the promise and mark the section as imported\n\t\t\t\tthis.oSectionsImported[String(this._i18nBundle.getText(\"insightsCards\"))] = true;\n\t\t\t\tthis.updateImportStatus(\"insightsCards\");\n\t\t\t\tresolve(); // Resolve the promise if condition doesn't meet\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t * Updates status of sections being imported\n\t *\t@param {string} sSectionTitle - section title\n\t * \t@param {boolean} errorState - error state\n\t * \t@returns {void}\n\t */\n\tprivate updateImportStatus(sSectionTitle: string, errorState?: boolean): void {\n\t\tconst sSectionId = String(this._i18nBundle.getText(sSectionTitle));\n\t\tconst oSelectedSections = this.oControlModel.getProperty(\"/import/sections\") as IExportSections[];\n\t\tconst oSection = oSelectedSections.find(function (oSec) {\n\t\t\treturn oSec.title === sSectionId;\n\t\t});\n\t\tif (oSection) {\n\t\t\tif (errorState !== undefined) {\n\t\t\t\toSection.status = errorState ? ValueState.Error : ValueState.Success;\n\t\t\t} else {\n\t\t\t\toSection.status = ValueState.None;\n\t\t\t}\n\t\t\t//if a section's status has become success then disable that particular section\n\t\t\tif (oSection.status === ValueState.Success) {\n\t\t\t\toSection.enabled = false;\n\t\t\t}\n\t\t}\n\t\tthis.oSectionsImported[sSectionId] = true;\n\t\tconst sectionTitles = Object.keys(this.oSectionsImported);\n\t\t// if every section has been imported successfully then fire sectionsimported\n\t\tconst imported = sectionTitles.every((sTitle) => {\n\t\t\treturn this.oSectionsImported[sTitle];\n\t\t});\n\t\tif (imported) {\n\t\t\tthis.fireEvent(\"sectionsImported\");\n\t\t}\n\t}\n\n\t/**\n\t * Resets the import model values\n\t * @param {boolean} onOpen - value to show if the reset call is happening while opening the dialog for the first time\n\t * \t@private\n\t */\n\tpublic resetImportModel(onOpen?: boolean): void {\n\t\tthis.oControlModel.setProperty(\"/import/sections\", []);\n\t\tthis.oControlModel.setProperty(\"/import/sectionsSelected\", false);\n\t\tthis.oControlModel.setProperty(\"/import/error\", false);\n\t\t// if called on settingsdialog open , reset value of selectedtab and fileUploader value\n\t\tif (onOpen) {\n\t\t\tthis.oControlModel.setProperty(\"/selectedTab\", \"export\");\n\t\t\t(Element.getElementById(this.getId() + \"--idImportFileUploader\") as FileUploader)?.setValue(\"\");\n\t\t}\n\t}\n\n\t/**\n\t * \tFind visualizations that are not already present in the favsections\n\t * @param aImportedSections\n\t * @returns {Promise<ISection[] | []>} aImportedSections\n\t */\n\tprivate async getDeltaSectionViz(aImportedSections: ISection[]): Promise<ISection[] | []> {\n\t\ttry {\n\t\t\tconst favSections: ISection[] = await this.oAppManagerInstance._getSections(true);\n\n\t\t\taImportedSections.forEach((oImportedSection) => {\n\t\t\t\tlet oSection: ISection | undefined;\n\t\t\t\tif (oImportedSection.default) {\n\t\t\t\t\toSection = favSections.find((oSec) => oSec.default);\n\t\t\t\t} else {\n\t\t\t\t\toSection = favSections.find((oSec) => oSec.id === oImportedSection.id);\n\t\t\t\t}\n\t\t\t\tif (oSection) {\n\t\t\t\t\t// find visualizations that are not already present in the favsections\n\t\t\t\t\tconst aDelta = oImportedSection.visualizations?.filter((oImportViz) => {\n\t\t\t\t\t\treturn oSection.visualizations?.every((oViz) =>\n\t\t\t\t\t\t\toViz.isBookmark ? oViz.targetURL !== oImportViz.targetURL : oViz.vizId !== oImportViz.vizId\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t\toImportedSection.visualizations = aDelta;\n\t\t\t\t}\n\t\t\t});\n\t\t\t// Remove Sections with no visualizations\n\t\t\taImportedSections = aImportedSections.filter((oSection) => oSection.visualizations && oSection.visualizations.length > 0);\n\t\t\treturn aImportedSections;\n\t\t} catch (error) {\n\t\t\tLog.error(\"Error occurred while fetching delta section visualizations:\" + String(error));\n\t\t\treturn []; // Return an empty array in case of error\n\t\t}\n\t}\n\n\tprivate getDeltaAuthSectionViz(aImportedSections: ISection[]): Promise<[] | ISection[]> {\n\t\t// Get delta visualization\n\t\tif (aImportedSections && aImportedSections.length) {\n\t\t\treturn this.getDeltaSectionViz(aImportedSections)\n\t\t\t\t.then((aDeltaSections: ISection[]) => {\n\t\t\t\t\t// Filter authorized section visualizations\n\t\t\t\t\treturn this.filterAuthSectionViz(aDeltaSections);\n\t\t\t\t})\n\t\t\t\t.catch((oError) => {\n\t\t\t\t\tLog.error(String(oError));\n\t\t\t\t\treturn [];\n\t\t\t\t});\n\t\t}\n\t\treturn Promise.resolve([]); // Return a promise resolving to void\n\t}\n\n\tprivate async filterAuthSectionViz(aSections: ISection[]): Promise<ISection[]> {\n\t\tconst _getCatalogApps = function () {\n\t\t\treturn Container.getServiceAsync<SearchableContent>(\"SearchableContent\").then(function (SearchableContent) {\n\t\t\t\treturn SearchableContent.getApps({ includeAppsWithoutVisualizations: false });\n\t\t\t});\n\t\t};\n\n\t\tconst _filterAuthViz = function (aAppCatalog: AppData[], aViz: IVisualization[] | undefined) {\n\t\t\tconst aSectionViz: IVisualization[] | undefined = [];\n\t\t\taViz?.forEach(function (oViz) {\n\t\t\t\tfor (let appCatalog of aAppCatalog) {\n\t\t\t\t\tconst oAppCatalog = appCatalog;\n\t\t\t\t\tconst oSectionViz = oAppCatalog.visualizations.find(function (oCatalogViz: IVisualization) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\toCatalogViz.vizId === oViz.vizId ||\n\t\t\t\t\t\t\t(oViz.isBookmark &&\n\t\t\t\t\t\t\t\toCatalogViz.target &&\n\t\t\t\t\t\t\t\toViz.target?.action === oCatalogViz.target.action &&\n\t\t\t\t\t\t\t\toViz.target?.semanticObject === oCatalogViz.target.semanticObject)\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t\tif (oSectionViz) {\n\t\t\t\t\t\toSectionViz.displayFormatHint =\n\t\t\t\t\t\t\toViz.displayFormatHint !== \"standard\" ? String(oViz.displayFormatHint) : String(oSectionViz.displayFormatHint);\n\t\t\t\t\t\toSectionViz.id = String(oViz.id ?? oSectionViz.id);\n\t\t\t\t\t\taSectionViz.push(oViz.isBookmark ? oViz : oSectionViz);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn aSectionViz;\n\t\t};\n\n\t\treturn await _getCatalogApps().then(function (aAppCatalog) {\n\t\t\treturn aSections.map(function (oSection) {\n\t\t\t\toSection.visualizations = _filterAuthViz(aAppCatalog, oSection.visualizations);\n\t\t\t\treturn oSection;\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Filter authorized favorite pages\n\t *\n\t * @param {Array} aFavPages - array of favorite pages\n\t * @returns {Promise} resolves to an array of authorized pages\n\t */\n\tprivate async filterAuthFavPages(aFavPages: IPage[]): Promise<IPage[] | []> {\n\t\tif (aFavPages && aFavPages.length > 0) {\n\t\t\treturn await this.oPageManagerInstance.fetchAllAvailablePages().then(function (aAvailablePages) {\n\t\t\t\treturn aFavPages.filter(function (oimportedPage) {\n\t\t\t\t\treturn aAvailablePages.filter(function (oAvailabePage) {\n\t\t\t\t\t\treturn oAvailabePage.pageId === oimportedPage.pageId && oAvailabePage.spaceId === oimportedPage.spaceId;\n\t\t\t\t\t}).length;\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t\treturn Promise.resolve([]);\n\t}\n\n\t/**\n\t * Filter authorized cards\n\t *\n\t * @param {Array} aCards - array of cards\n\t * @returns {Promise} resolves to an array of authorized cards\n\t */\n\tprivate async filterAuthCards(aCards: ICardManifest[] | void): Promise<ICardManifest[] | undefined> {\n\t\tconst _getParentApp = function (aAvailableApps: IAppInbounds[], oCard: ICardManifest) {\n\t\t\treturn aAvailableApps.find(function (oApp) {\n\t\t\t\treturn (\n\t\t\t\t\toApp.resolutionResult &&\n\t\t\t\t\toApp.resolutionResult.applicationDependencies &&\n\t\t\t\t\toCard[\"sap.insights\"] &&\n\t\t\t\t\toApp.resolutionResult.applicationDependencies.name === oCard[\"sap.insights\"].parentAppId\n\t\t\t\t);\n\t\t\t});\n\t\t};\n\n\t\tconst _isNavigationSupported = function (oService: Navigation, oParentApp: IAppInbounds | undefined) {\n\t\t\tif (oParentApp) {\n\t\t\t\treturn oService\n\t\t\t\t\t.isNavigationSupported([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\t\tsemanticObject: oParentApp.semanticObject,\n\t\t\t\t\t\t\t\taction: oParentApp.action\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t])\n\t\t\t\t\t.then(function (aResponses) {\n\t\t\t\t\t\treturn aResponses[0].supported || false;\n\t\t\t\t\t});\n\t\t\t}\n\t\t\treturn Promise.resolve(false);\n\t\t};\n\n\t\tif (aCards && aCards.length > 0) {\n\t\t\treturn await Promise.all([\n\t\t\t\tContainer.getServiceAsync<ClientSideTargetResolution>(\"ClientSideTargetResolution\"),\n\t\t\t\tContainer.getServiceAsync<Navigation>(\"Navigation\")\n\t\t\t]).then(function (aServices: [ClientSideTargetResolution, Navigation]) {\n\t\t\t\tconst clientSideTargetResolution = aServices[0];\n\t\t\t\tconst Navigation = aServices[1];\n\t\t\t\tconst aAvailableApps = clientSideTargetResolution._oAdapter._aInbounds || [];\n\n\t\t\t\treturn aCards.reduce<Promise<ICardManifest[]>>(async (promise: Promise<ICardManifest[]>, oCard: ICardManifest) => {\n\t\t\t\t\tconst aAuthCards: ICardManifest[] = await promise;\n\t\t\t\t\tconst oParentApp = _getParentApp(aAvailableApps, oCard);\n\t\t\t\t\tconst bIsNavigationSupported = await _isNavigationSupported(Navigation, oParentApp);\n\t\t\t\t\tif (bIsNavigationSupported) {\n\t\t\t\t\t\taAuthCards.push(oCard);\n\t\t\t\t\t}\n\t\t\t\t\treturn aAuthCards;\n\t\t\t\t}, Promise.resolve([]));\n\t\t\t});\n\t\t}\n\t\treturn Promise.resolve([]);\n\t}\n\n\t/**\n\t * Handles change event for fileuploader on import file\n\t *\n\t * @returns {Promise} resolves to available import sections being shown\n\t */\n\tprivate onFileImport(oEvent: FileUploader$ChangeEvent): Promise<void> {\n\t\tthis.handleUserPersonalizationError(ImportExportType.IMPORT, false, \"\", \"\");\n\t\tthis.resetImportModel();\n\t\tthis.oDetailPage.setBusy(true);\n\n\t\tconst files = oEvent.getParameter(\"files\");\n\t\tconst oFile = files && (files[0] as File);\n\n\t\treturn this.readFileContent(oFile)\n\t\t\t.then((oFileContent) => {\n\t\t\t\t// btoa doesn't support the characters outside latin-1 range, so first encode to utf-8\n\t\t\t\tconst oEncodedFileContent = window.btoa(\n\t\t\t\t\tencodeURIComponent(oFileContent).replace(/%([0-9A-F]{2})/g, function (match, p1: string) {\n\t\t\t\t\t\treturn String.fromCharCode(parseInt(p1, 16)); // Convert p1 to a number using parseInt //String.fromCharCode(\"0x\" + p1);\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t\treturn HttpHelper.Post(EXPORT_API, { fileContent: oEncodedFileContent }).then((oResponse: unknown) => {\n\t\t\t\t\tif (oResponse && (oResponse as { error: string }).error) {\n\t\t\t\t\t\tthrow new Error((oResponse as { error: string }).error);\n\t\t\t\t\t}\n\t\t\t\t\tif (oResponse && (oResponse as { value: string[] }).value && (oResponse as { value: string[] }).value.length) {\n\t\t\t\t\t\tconst oImportDataString: string | undefined = (oResponse as ApiResponse).value[0].fileContent;\n\n\t\t\t\t\t\t// Parse the stringified JSON into the defined type\n\t\t\t\t\t\tconst oImportData = JSON.parse(oImportDataString) as IExportImportFile;\n\t\t\t\t\t\tif (oImportData.host === window.location.host) {\n\t\t\t\t\t\t\tconst aImportedSections = (oImportData.sections as ISection[]) || ([] as ISection[]);\n\t\t\t\t\t\t\taImportedSections.push({\n\t\t\t\t\t\t\t\tid: MYINSIGHT_SECTION_ID,\n\t\t\t\t\t\t\t\tvisualizations: (oImportData.tiles as IVisualization[]) || []\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t//filter authorized data\n\t\t\t\t\t\t\treturn this.filterAuthorizedImportData(aImportedSections, oImportData);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.handleUserPersonalizationError(\n\t\t\t\t\t\t\t\tImportExportType.IMPORT,\n\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\tString(this._i18nBundle.getText(\"importSourceErrorMessage\")),\n\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn Promise.resolve();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((oError) => {\n\t\t\t\tLog.error(String(oError));\n\t\t\t\tthis.handleUserPersonalizationError(ImportExportType.IMPORT, true, \"\", \"\");\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tthis.oDetailPage.setBusy(false);\n\t\t\t\tthis.enableDisableActions(ImportExportType.IMPORT);\n\t\t\t});\n\t}\n\n\tprivate async filterAuthorizedImportData(aImportedSections: ISection[], oImportData: IExportImportFile): Promise<void> {\n\t\tlet promises: Promise<[] | ISection[] | IPage[] | ICardManifest[] | undefined | JSONModel>[] = [\n\t\t\tthis.getDeltaAuthSectionViz(aImportedSections),\n\t\t\tthis.filterAuthFavPages(oImportData.favouritePages)\n\t\t];\n\t\tif (await this.isInsightsEnabled()) {\n\t\t\tpromises.push(this.filterAuthCards(oImportData.cards));\n\t\t\tpromises.push(this.getInsightCards()); // check : send only cards count here as all cards are not required\n\t\t}\n\t\treturn Promise.all(promises).then(async (aResponse) => {\n\t\t\tconst aAuthSections = aResponse[0] as ISection[];\n\t\t\tconst aAuthFavPages = aResponse[1] as IPage[];\n\t\t\tconst aAuthCards = (aResponse[2] || []) as ICardManifest[];\n\t\t\tconst iInsightCardsCount = ((aResponse[3] as JSONModel)?.getProperty(\"/cardCount\") as number) || 0;\n\t\t\toImportData.apps = aAuthSections.filter(function (oSection) {\n\t\t\t\treturn oSection.id !== MYINSIGHT_SECTION_ID;\n\t\t\t});\n\t\t\toImportData.tiles =\n\t\t\t\t(\n\t\t\t\t\taAuthSections.find(function (oSection) {\n\t\t\t\t\t\treturn oSection.id === MYINSIGHT_SECTION_ID;\n\t\t\t\t\t}) || {}\n\t\t\t\t).visualizations || [];\n\t\t\toImportData.favouritePages = aAuthFavPages;\n\t\t\toImportData.cards = aAuthCards || [];\n\t\t\tconst iTotalCardCount = iInsightCardsCount + Number(aAuthCards?.length);\n\t\t\tif (iTotalCardCount > 99) {\n\t\t\t\tthis.handleUserPersonalizationError(\n\t\t\t\t\tImportExportType.IMPORT,\n\t\t\t\t\ttrue,\n\t\t\t\t\tString(this._i18nBundle.getText(\"importCardCountErrorMessage\")),\n\t\t\t\t\t\"\"\n\t\t\t\t);\n\t\t\t}\n\t\t\tlet aSections = await this.getImportedSections(oImportData, ImportExportType.IMPORT, iInsightCardsCount);\n\t\t\taSections = aSections.map(function (oSection) {\n\t\t\t\toSection.status = ValueState.None;\n\t\t\t\treturn oSection;\n\t\t\t});\n\t\t\tthis.oUserPersonalization.import.data = oImportData;\n\t\t\tthis.oControlModel.setProperty(\"/import/sections\", aSections);\n\t\t\tthis.oControlModel.setProperty(\"/import/sectionsSelected\", this.getSelectedSections(aSections).length > 0);\n\t\t\tthis.oControlModel.setProperty(\"/showNoImport\", aSections.length === 0);\n\t\t});\n\t}\n\n\tprivate readFileContent(oFile: File | undefined): Promise<string> {\n\t\treturn new Promise(function (resolve, reject) {\n\t\t\tif (oFile && window.FileReader) {\n\t\t\t\tconst reader = new FileReader();\n\t\t\t\treader.onload = function (event: ProgressEvent<FileReader>) {\n\t\t\t\t\tconst target = event.target as FileReader;\n\t\t\t\t\tresolve(target?.result as string);\n\t\t\t\t};\n\t\t\t\t// Convert oFile to Blob\n\t\t\t\tconst blob = oFile as unknown as Blob;\n\t\t\t\treader.readAsText(blob);\n\t\t\t} else {\n\t\t\t\treject(new Error(\"Error\"));\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate async _getPersonalizationData(): Promise<IPersonalizationData> {\n\t\tif (!this.oPersonalizerInstance) {\n\t\t\tthis.oPersonalizerInstance = 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\tthis.persData = (await this.oPersonalizerInstance.read()) || {};\n\t\treturn this.persData;\n\t}\n\n\tprivate async loadUserPersonalizationData(): Promise<void> {\n\t\tthis.oExportList.setBusy(true);\n\t\tconst persData = await this._getPersonalizationData();\n\n\t\tlet promises: (Promise<ISection[]> | Promise<JSONModel>)[] = [this.oAppManagerInstance._getSections(true)];\n\t\tif (await this.isInsightsEnabled()) {\n\t\t\tpromises.push(this.getInsightCards());\n\t\t}\n\n\t\t// load all sections, insight apps and cards\n\t\tconst [favSections, insightModel] = (await Promise.all(promises)) as [ISection[], JSONModel];\n\n\t\tconst aSections = favSections,\n\t\t\tfavApps = aSections.filter((oSection) => {\n\t\t\t\treturn oSection.id !== MYINSIGHT_SECTION_ID && oSection.visualizations?.length;\n\t\t\t});\n\n\t\tconst insightTiles =\n\t\t\taSections.find((oSection) => {\n\t\t\t\treturn oSection.id === MYINSIGHT_SECTION_ID;\n\t\t\t})?.visualizations || [];\n\n\t\tconst insightCards: ICardManifest[] =\n\t\t\tinsightModel && insightModel.getProperty(\"/visibleCards\")\n\t\t\t\t? (insightModel.getProperty(\"/visibleCards\") as ICard[]).map((oCard: ICard) => {\n\t\t\t\t\t\treturn oCard.descriptorContent;\n\t\t\t\t\t})\n\t\t\t\t: [];\n\t\tconst oExportData = {\n\t\t\tapps: favApps,\n\t\t\ttiles: insightTiles,\n\t\t\tfavouritePages: persData.favouritePages,\n\t\t\tcards: insightCards,\n\t\t\tpersonalization: persData\n\t\t} as IExportData;\n\t\tconst aExportSections = await this.getImportedSections(oExportData, ImportExportType.EXPORT, 0);\n\t\tthis.oUserPersonalization.export.data = oExportData;\n\t\tthis.oUserPersonalization.export.sections = aExportSections;\n\t\tthis.oUserPersonalization.export.sectionsSelected = this.getSelectedSections(aExportSections).length > 0;\n\t\tthis.oControlModel.refresh();\n\t\tthis.oExportList.setBusy(false);\n\t}\n\n\t/**\n\t * Checks if insights is enabled for the system\n\t *\n\t * @private\n\t * @returns {boolean}\n\t */\n\tprivate async isInsightsEnabled(): Promise<boolean> {\n\t\ttry {\n\t\t\tif (await (CardHelper as ICardHelper).getServiceAsync()) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t} catch (error) {\n\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t/**\n\t * Returns selected sections out of provided sections\n\t *\n\t * @param {Array} aSections - array of sections to show in import/export\n\t * @returns {Array} array of selected sections\n\t */\n\tgetSelectedSections(aSections: IExportSections[]): IExportSections[] {\n\t\treturn (\n\t\t\taSections.filter(function (oSection) {\n\t\t\t\treturn oSection.selected && oSection.enabled;\n\t\t\t}) || []\n\t\t);\n\t}\n\n\t/**\n\t * Returns if section is selected\n\t *\n\t * @param {Array} oSections - import/export sections\n\t * @param {String} sSectionId - import/export section id\n\t * @returns {boolean} returns true if section is selected\n\t */\n\tisSectionSelected(sections: IExportSections[], sectionId: string): boolean {\n\t\tconst section = sections.find(function (sec) {\n\t\t\treturn sec.title === sectionId;\n\t\t});\n\t\treturn !!(section && section.selected && section.enabled);\n\t}\n\n\t/**\n\t * Returns import/export sections\n\t *\n\t * @param {object} oData - export/import data\n\t * @param {ImportExportType} sType - export/import type\n\t * @param {number} iInsightCardsCount - cards count\n\t * @returns {Array} array of import/export sections\n\t */\n\tprivate async getImportedSections(\n\t\toData: IExportData | IExportImportFile,\n\t\tsType: ImportExportType,\n\t\tiInsightCardsCount: number\n\t): Promise<IExportSections[]> {\n\t\tconst aFavPages =\n\t\t\t\t(sType === ImportExportType.IMPORT ? await this.getDeltaFavPages(oData.favouritePages) : oData.favouritePages) || [],\n\t\t\tisAppViz =\n\t\t\t\toData.apps &&\n\t\t\t\toData.apps.some(function (oSections) {\n\t\t\t\t\treturn oSections && oSections.visualizations && oSections.visualizations.length > 0;\n\t\t\t\t});\n\n\t\tconst sections = [\n\t\t\t{\n\t\t\t\ttitle: this._i18nBundle.getText(\"favApps\") as string,\n\t\t\t\tselected: isAppViz,\n\t\t\t\tenabled: isAppViz,\n\t\t\t\tpanelClass: FavAppPanelName\n\t\t\t},\n\t\t\t{\n\t\t\t\ttitle: this._i18nBundle.getText(\"pages\") as string,\n\t\t\t\tselected: aFavPages?.length > 0,\n\t\t\t\tenabled: aFavPages?.length > 0,\n\t\t\t\tpanelClass: PagePanelName\n\t\t\t},\n\t\t\t{\n\t\t\t\ttitle: this._i18nBundle.getText(\"insightsTiles\") as string,\n\t\t\t\tselected: oData.tiles && oData.tiles.length > 0,\n\t\t\t\tenabled: oData.tiles && oData.tiles.length > 0,\n\t\t\t\tpanelClass: TilesPanelName\n\t\t\t}\n\t\t];\n\n\t\tif (await this.isInsightsEnabled()) {\n\t\t\tsections.push({\n\t\t\t\ttitle: this._i18nBundle.getText(\"insightsCards\") as string,\n\t\t\t\tselected: oData.cards && oData.cards.length > 0 && oData.cards.length + iInsightCardsCount <= 99,\n\t\t\t\tenabled: oData.cards && oData.cards.length > 0 && oData.cards.length + iInsightCardsCount <= 99,\n\t\t\t\tpanelClass: CardsPanelName\n\t\t\t});\n\t\t}\n\n\t\treturn sections;\n\t}\n\n\tprivate async getDeltaFavPages(aImportedFavPages: IPage[]): Promise<IPage[]> {\n\t\tconst persData = await this._getPersonalizationData();\n\t\tconst aFavPages = persData.favouritePages || [];\n\t\tif (aFavPages.length !== aImportedFavPages.length) {\n\t\t\treturn aImportedFavPages;\n\t\t}\n\t\treturn aImportedFavPages.filter(function (oImportedPage) {\n\t\t\treturn !aFavPages.find(function (oFavPage) {\n\t\t\t\treturn oImportedPage.pageId === oFavPage.pageId && oImportedPage.spaceId === oFavPage.spaceId;\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate async getInsightCards(): Promise<JSONModel> {\n\t\ttry {\n\t\t\tthis.cardHelperInstance = await (CardHelper as ICardHelper).getServiceAsync();\n\t\t\tconst oUserVisibleCardModel = await this.cardHelperInstance._getUserAllCardModel();\n\t\t\tconst aCards = oUserVisibleCardModel.getProperty(\"/cards\") as ICard[];\n\t\t\tconst aVisibleCards = aCards.filter(function (oCard: ICard) {\n\t\t\t\treturn oCard.visibility;\n\t\t\t});\n\t\t\toUserVisibleCardModel.setProperty(\"/visibleCards\", aVisibleCards);\n\t\t\treturn oUserVisibleCardModel;\n\t\t} catch (error) {\n\t\t\t// Handle any errors\n\t\t\tconsole.error(\"Error in getInsightCards:\", error);\n\t\t\tthrow error; // Re-throw the error to be handled by the caller\n\t\t}\n\t}\n\n\t/**\n\t * Handles export button press\n\t */\n\tprivate onExportPress(): void {\n\t\tthis.handleUserPersonalizationError(ImportExportType.EXPORT, false, \"\", \"\");\n\t\tconst oExportFileName = this.oControlModel.getProperty(\"/export/fileName\") as string,\n\t\t\taExportSections = this.oControlModel.getProperty(\"/export/sections\") as IExportSections[],\n\t\t\toExportData = this.oUserPersonalization.export.data;\n\t\tconst oExportFileContent = this.getExportFileContent(oExportData, aExportSections);\n\t\tsap.ui.require([\"sap/ui/core/util/File\"], (File: File) => {\n\t\t\ttry {\n\t\t\t\tFile.save(JSON.stringify(oExportFileContent), oExportFileName, \"txt\", \"text/plain\", \"utf-8\");\n\t\t\t\tMessageToast.show(String(this._i18nBundle.getText(\"userPersonalizationExportSuccess\")));\n\t\t\t} catch (error) {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t\tif (error instanceof Error && error?.name !== undefined && error.name !== \"AbortError\") {\n\t\t\t\t\t// Handle the error appropriately\n\t\t\t\t\tthis.handleUserPersonalizationError(ImportExportType.EXPORT, true, \"\", \"\");\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate getExportFileContent(exportData: IExportData | undefined, exportSections: IExportSections[]): IExportImportFile {\n\t\tconst oPersonalization = exportData?.personalization,\n\t\t\toExportFileContent = {\n\t\t\t\thost: window.location.host,\n\t\t\t\tcreatedDate: new Date(),\n\t\t\t\tsections: [] as ISectionAndVisualization[] | IVisualization[] | [],\n\t\t\t\tgroupInfo: [] as IAppPersonalization[] | IVisualization[] | [],\n\t\t\t\ttiles: [] as ISectionAndVisualization[] | IVisualization[] | [],\n\t\t\t\tcards: [] as ICardManifest[],\n\t\t\t\tfavouritePages: [] as IPage[] | []\n\t\t\t};\n\t\tif (this.isSectionSelected(exportSections, this._i18nBundle.getText(\"favApps\") as string)) {\n\t\t\toExportFileContent.sections = exportData?.apps || [];\n\t\t\toExportFileContent.groupInfo = oPersonalization?.favoriteApps || [];\n\t\t}\n\t\tif (this.isSectionSelected(exportSections, this._i18nBundle.getText(\"pages\") as string)) {\n\t\t\toExportFileContent.favouritePages = oPersonalization?.favouritePages || [];\n\t\t}\n\t\tif (this.isSectionSelected(exportSections, this._i18nBundle.getText(\"insightsTiles\") as string)) {\n\t\t\toExportFileContent.tiles = exportData?.tiles || [];\n\t\t}\n\t\tif (this.isSectionSelected(exportSections, this._i18nBundle.getText(\"insightsCards\") as string)) {\n\t\t\toExportFileContent.cards = this.filterNonSensitiveCards(exportData?.cards || []);\n\t\t}\n\t\treturn oExportFileContent;\n\t}\n\n\t/**\n\t * Filters out the sensitive cards from the import data\n\t *\n\t * @private\n\t * @param {ICardManifest[]} cards Array of card to filter out before import\n\t * @returns {ICardManifest[]} Array of filtered cards\n\t */\n\tprivate filterNonSensitiveCards(cards: ICardManifest[]): ICardManifest[] {\n\t\tconst nonSensitiveCards = [] as ICardManifest[];\n\n\t\tcards.forEach((oCard) => {\n\t\t\tif (oCard[\"sap.card\"]?.configuration?.parameters) {\n\t\t\t\tconst parameter = oCard[\"sap.card\"].configuration.parameters;\n\t\t\t\tlet sensitiveProps: string[] = [];\n\t\t\t\tsensitiveProps = sensitiveProps\n\t\t\t\t\t.concat(this.getSensitiveProps(parameter.headerState))\n\t\t\t\t\t.concat(this.getSensitiveProps(parameter.lineItemState))\n\t\t\t\t\t.concat(this.getSensitiveProps(parameter.state));\n\t\t\t\tif (sensitiveProps.length === 0) {\n\t\t\t\t\tnonSensitiveCards.push(oCard);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tnonSensitiveCards.push(oCard);\n\t\t\t}\n\t\t});\n\t\tif (cards.length !== nonSensitiveCards.length) {\n\t\t\tthis.handleUserPersonalizationError(\n\t\t\t\tImportExportType.EXPORT,\n\t\t\t\ttrue,\n\t\t\t\tString(this._i18nBundle.getText(\"exportSensitiveCardsErrorMessage\")),\n\t\t\t\t\"Warning\"\n\t\t\t);\n\t\t}\n\t\treturn nonSensitiveCards;\n\t}\n\n\t/**\n\t * Finds the sensitive properties and parameters\n\t *\n\t * @private\n\t * @param {({ value: string } | undefined)} param\n\t * @returns {string[]} Array of sensitive props as strings\n\t */\n\tprivate getSensitiveProps(param: { value: string } | undefined) {\n\t\tlet paramSensitiveProps: string[] = [];\n\t\tif (param?.value) {\n\t\t\tconst paramValue = JSON.parse(param.value) as { sensitiveProps: string[]; parameters: ICardActionParameters };\n\t\t\tconst sensitiveProp = paramValue.sensitiveProps || Object.keys(paramValue.parameters?.ibnParams?.sensitiveProps || {});\n\t\t\tif (sensitiveProp.length > 0) {\n\t\t\t\tparamSensitiveProps = paramSensitiveProps.concat(sensitiveProp);\n\t\t\t}\n\t\t}\n\t\treturn paramSensitiveProps;\n\t}\n\n\t/**\n\t * Handles user personalization error, shows the error msg and reset values\n\t *\n\t * @param {string} sType - type of import/export\n\t * @param {boolean} bShowError - flag to show or hide error msg\n\t * @param {string} sErrorMsg - error msg text\n\t * @param {string} sErrorType - error msg type\n\t */\n\tprivate handleUserPersonalizationError(sType: ImportExportType, bShowError: boolean, sErrorMsg: string, sErrorType: string): void {\n\t\tconst sDefaultErrorMsg = this._i18nBundle.getText(sType === ImportExportType.IMPORT ? \"importErrorMessage\" : \"exportErrorMessage\");\n\t\tthis.oControlModel.setProperty(\"/\" + sType + \"/error\", bShowError, undefined, true);\n\t\tthis.oControlModel.setProperty(\"/\" + sType + \"/errorMessage\", sErrorMsg || sDefaultErrorMsg, undefined, true);\n\t\tthis.oControlModel.setProperty(\"/\" + sType + \"/errorType\", sErrorType || \"Error\", undefined, true);\n\t\tthis.setExportImportValues(sType);\n\t}\n\n\t/**\n\t * Handles import/export tab select\n\t *\n\t * @param {object} oEvent - IconTabBarSeelect event\n\t */\n\tprivate onImportExportTabSelect(oEvent: IconTabBar$SelectEvent): void {\n\t\tconst selectedKey = oEvent.getParameter(\"selectedKey\");\n\t\tthis.oSelectedTab = selectedKey;\n\t\tthis.oControlModel.setProperty(\"/selectedTab\", selectedKey);\n\t\tthis.oExportList.setVisible(selectedKey === \"export\");\n\n\t\tthis.oImportBtn.setVisible(selectedKey === \"import\");\n\t\tthis.oExportBtn.setVisible(selectedKey === \"export\");\n\t\tthis.oImportBtn.setEnabled(this.oUserPersonalization.import.sectionsSelected);\n\t\tthis.oExportBtn.setEnabled(this.oUserPersonalization.export.sectionsSelected);\n\t\tthis.oExportBtn.setEnabled(\n\t\t\t!!(\n\t\t\t\tthis.oUserPersonalization.export.fileName &&\n\t\t\t\tthis.oUserPersonalization.export.sections &&\n\t\t\t\tthis.oUserPersonalization.export.sections.length > 0 &&\n\t\t\t\tthis.oUserPersonalization.export.sectionsSelected\n\t\t\t)\n\t\t);\n\t}\n\n\t/**\n\t * Handles export file name input change\n\t *\n\t * @param {object} oEvent - event\n\t */\n\tprivate onFileNameInputChange(oEvent: Input$LiveChangeEvent): void {\n\t\tconst sInputValue: string | undefined = oEvent.getParameter(\"value\")?.trim();\n\t\tconst oInput = oEvent.getSource();\n\t\tlet sValueState = ValueState.None; // Initialize with ValueState.None\n\t\tlet sValueStateText = \"\";\n\n\t\t// Validate based on constraints provided at input\n\t\tif (!sInputValue || !sInputValue.length) {\n\t\t\tsValueState = ValueState.Error;\n\t\t\tsValueStateText = String(this._i18nBundle.getText(\"invalidExportFileName\"));\n\t\t}\n\n\t\t//update value state\n\t\toInput.setValueState(sValueState);\n\t\toInput.setValueStateText(sValueStateText);\n\t\tthis.oControlModel.setProperty(\"/export/fileName\", sInputValue);\n\t\tthis.enableDisableActions(ImportExportType.EXPORT);\n\t}\n\n\tprivate onResetImportApps(): void {\n\t\tthis.oEventBus.publish(\"importChannel\", \"resetImported\");\n\t}\n\n\t/**\n\t * Generates the recommendation settings panel\n\t * @returns {Panel} recommendation settings panel\n\t * @private\n\t */\n\tprivate async _getRecommendationSettingsPanel() {\n\t\tconst persData = await this._getPersonalizationData();\n\t\tif (!this._recommendationSettingsPanel) {\n\t\t\tconst panelId = this.getId() + \"--recommendationSettingsPanel\";\n\t\t\tthis._recommendationSettingsPanel = new Panel(panelId, {\n\t\t\t\theaderToolbar: new OverflowToolbar(this.getId() + \"--idRecommenedPanelToolbar\", {\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\tnew Title({\n\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"recommendationSettingsHeader\"),\n\t\t\t\t\t\t\tlevel: \"H3\"\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t}),\n\t\t\t\texpanded: true,\n\t\t\t\texpandable: true,\n\t\t\t\tcontent: [\n\t\t\t\t\tnew Text({\n\t\t\t\t\t\tid: `${panelId}-container-subHeader`,\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"recommendationSettingsSubHeader\")\n\t\t\t\t\t}),\n\t\t\t\t\tnew HBox({\n\t\t\t\t\t\tid: `${panelId}-container`,\n\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\tnew CheckBox({\n\t\t\t\t\t\t\t\tid: `${panelId}-container-checkBox`,\n\t\t\t\t\t\t\t\tselected: persData.showRecommendation ?? true,\n\t\t\t\t\t\t\t\tselect: (event) => this.onRecommendationSettingChange(event),\n\t\t\t\t\t\t\t\tariaLabelledBy: [`${panelId}-container-subHeader`, `${panelId}-container-label`]\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tnew Text({\n\t\t\t\t\t\t\t\tid: `${panelId}-container-label`,\n\t\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"recommendationSettingsCheckboxLabel\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t],\n\t\t\t\t\t\talignItems: FlexAlignItems.Center\n\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginTop\")\n\t\t\t\t]\n\t\t\t}).addStyleClass(\"sapUiSmallMarginTop\");\n\t\t}\n\t\treturn this._recommendationSettingsPanel;\n\t}\n\n\t/**\n\t * Adds recommendation settings panel to the content vbox, if recommendation feature is enabled\n\t * @returns {Promise<void>}\n\t * @private\n\t */\n\tprivate async _setRecommendationSettingsPanel() {\n\t\tthis.oDetailPage.setBusy(true);\n\t\tconst recommendationSettingsPanel = await this._getRecommendationSettingsPanel();\n\t\tif (recommendationSettingsPanel) {\n\t\t\tthis.oContentVBox.addItem(recommendationSettingsPanel);\n\t\t\tthis.oDetailPage.setBusy(false);\n\t\t}\n\t}\n\n\t/**\n\t * Handles recommendation setting change\n\t *\n\t * @param {CheckBox$SelectEvent} event - checkbox select event\n\t * @private\n\t */\n\tprivate async onRecommendationSettingChange(event: CheckBox$SelectEvent) {\n\t\tconst showRecommendation = event.getParameter(\"selected\");\n\t\tthis.oEventBus.publish(\"importChannel\", \"recommendationSettingChanged\", { showRecommendation });\n\t\tconst oPersData = await this._getPersonalizationData();\n\t\tvoid this.oPersonalizerInstance.write({ ...oPersData, showRecommendation });\n\t}\n}\n"],"mappings":"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","ignoreList":[]}