@sapui5/sap.cux.home 1.140.0 → 1.141.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 (126) 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 +3 -0
  5. package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
  6. package/src/sap/cux/home/AdvancedSettingsPanel.ts +3 -0
  7. package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
  8. package/src/sap/cux/home/AppsAdditionPanel.js +5 -1
  9. package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
  10. package/src/sap/cux/home/AppsAdditionPanel.ts +5 -1
  11. package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
  12. package/src/sap/cux/home/AppsContainer.js +14 -21
  13. package/src/sap/cux/home/AppsContainer.js.map +1 -1
  14. package/src/sap/cux/home/AppsContainer.ts +14 -20
  15. package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
  16. package/src/sap/cux/home/BaseAppPanel.js +1 -0
  17. package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
  18. package/src/sap/cux/home/BaseAppPanel.ts +1 -0
  19. package/src/sap/cux/home/BaseNewsPanel.js +1 -1
  20. package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
  21. package/src/sap/cux/home/BaseNewsPanel.ts +2 -2
  22. package/src/sap/cux/home/BaseSettingsPanel.d.ts +9 -0
  23. package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
  24. package/src/sap/cux/home/BaseSettingsPanel.js +13 -0
  25. package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
  26. package/src/sap/cux/home/BaseSettingsPanel.ts +15 -0
  27. package/src/sap/cux/home/CardsPanel.js +2 -2
  28. package/src/sap/cux/home/CardsPanel.js.map +1 -1
  29. package/src/sap/cux/home/CardsPanel.ts +2 -2
  30. package/src/sap/cux/home/ErrorPanel.js +2 -2
  31. package/src/sap/cux/home/ErrorPanel.js.map +1 -1
  32. package/src/sap/cux/home/ErrorPanel.ts +2 -2
  33. package/src/sap/cux/home/FavAppPanel.d.ts +4 -0
  34. package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
  35. package/src/sap/cux/home/FavAppPanel.js +189 -148
  36. package/src/sap/cux/home/FavAppPanel.js.map +1 -1
  37. package/src/sap/cux/home/FavAppPanel.ts +49 -28
  38. package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
  39. package/src/sap/cux/home/InsightsContainer.js +2 -2
  40. package/src/sap/cux/home/InsightsContainer.js.map +1 -1
  41. package/src/sap/cux/home/InsightsContainer.ts +1 -1
  42. package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
  43. package/src/sap/cux/home/NewsPanel.js +10 -11
  44. package/src/sap/cux/home/NewsPanel.js.map +1 -1
  45. package/src/sap/cux/home/NewsPanel.ts +10 -11
  46. package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
  47. package/src/sap/cux/home/PagePanel.js +4 -1
  48. package/src/sap/cux/home/PagePanel.js.map +1 -1
  49. package/src/sap/cux/home/PagePanel.ts +6 -2
  50. package/src/sap/cux/home/SettingsDialog.d.ts +1 -0
  51. package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
  52. package/src/sap/cux/home/SettingsDialog.js +13 -6
  53. package/src/sap/cux/home/SettingsDialog.js.map +1 -1
  54. package/src/sap/cux/home/SettingsDialog.ts +14 -6
  55. package/src/sap/cux/home/SideBySideIconTabFilter.d.ts.map +1 -1
  56. package/src/sap/cux/home/SideBySideIconTabFilter.js +1 -0
  57. package/src/sap/cux/home/SideBySideIconTabFilter.js.map +1 -1
  58. package/src/sap/cux/home/SideBySideIconTabFilter.ts +2 -1
  59. package/src/sap/cux/home/i18n/messagebundle.properties +1 -1
  60. package/src/sap/cux/home/i18n/messagebundle_ar.properties +0 -2
  61. package/src/sap/cux/home/i18n/messagebundle_bg.properties +0 -2
  62. package/src/sap/cux/home/i18n/messagebundle_ca.properties +0 -2
  63. package/src/sap/cux/home/i18n/messagebundle_cnr.properties +0 -2
  64. package/src/sap/cux/home/i18n/messagebundle_cs.properties +0 -2
  65. package/src/sap/cux/home/i18n/messagebundle_cy.properties +0 -2
  66. package/src/sap/cux/home/i18n/messagebundle_da.properties +0 -2
  67. package/src/sap/cux/home/i18n/messagebundle_de.properties +0 -2
  68. package/src/sap/cux/home/i18n/messagebundle_el.properties +0 -2
  69. package/src/sap/cux/home/i18n/messagebundle_en.properties +0 -2
  70. package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +0 -2
  71. package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +1 -3
  72. package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +1 -3
  73. package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +0 -2
  74. package/src/sap/cux/home/i18n/messagebundle_es.properties +0 -2
  75. package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +0 -2
  76. package/src/sap/cux/home/i18n/messagebundle_et.properties +0 -2
  77. package/src/sap/cux/home/i18n/messagebundle_fi.properties +0 -2
  78. package/src/sap/cux/home/i18n/messagebundle_fr.properties +0 -2
  79. package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +0 -2
  80. package/src/sap/cux/home/i18n/messagebundle_hi.properties +0 -2
  81. package/src/sap/cux/home/i18n/messagebundle_hr.properties +0 -2
  82. package/src/sap/cux/home/i18n/messagebundle_hu.properties +0 -2
  83. package/src/sap/cux/home/i18n/messagebundle_id.properties +0 -2
  84. package/src/sap/cux/home/i18n/messagebundle_it.properties +0 -2
  85. package/src/sap/cux/home/i18n/messagebundle_iw.properties +0 -2
  86. package/src/sap/cux/home/i18n/messagebundle_ja.properties +0 -2
  87. package/src/sap/cux/home/i18n/messagebundle_kk.properties +0 -2
  88. package/src/sap/cux/home/i18n/messagebundle_ko.properties +0 -2
  89. package/src/sap/cux/home/i18n/messagebundle_lt.properties +0 -2
  90. package/src/sap/cux/home/i18n/messagebundle_lv.properties +0 -2
  91. package/src/sap/cux/home/i18n/messagebundle_mk.properties +0 -2
  92. package/src/sap/cux/home/i18n/messagebundle_ms.properties +0 -2
  93. package/src/sap/cux/home/i18n/messagebundle_nl.properties +0 -2
  94. package/src/sap/cux/home/i18n/messagebundle_no.properties +0 -2
  95. package/src/sap/cux/home/i18n/messagebundle_pl.properties +0 -2
  96. package/src/sap/cux/home/i18n/messagebundle_pt.properties +0 -2
  97. package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +0 -2
  98. package/src/sap/cux/home/i18n/messagebundle_ro.properties +0 -2
  99. package/src/sap/cux/home/i18n/messagebundle_ru.properties +0 -2
  100. package/src/sap/cux/home/i18n/messagebundle_sh.properties +0 -2
  101. package/src/sap/cux/home/i18n/messagebundle_sk.properties +0 -2
  102. package/src/sap/cux/home/i18n/messagebundle_sl.properties +0 -2
  103. package/src/sap/cux/home/i18n/messagebundle_sr.properties +0 -2
  104. package/src/sap/cux/home/i18n/messagebundle_sv.properties +1 -3
  105. package/src/sap/cux/home/i18n/messagebundle_th.properties +0 -2
  106. package/src/sap/cux/home/i18n/messagebundle_tr.properties +0 -2
  107. package/src/sap/cux/home/i18n/messagebundle_uk.properties +0 -2
  108. package/src/sap/cux/home/i18n/messagebundle_vi.properties +0 -2
  109. package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +0 -2
  110. package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +0 -2
  111. package/src/sap/cux/home/library.d.ts.map +1 -1
  112. package/src/sap/cux/home/library.js +1 -0
  113. package/src/sap/cux/home/library.js.map +1 -1
  114. package/src/sap/cux/home/library.ts +1 -0
  115. package/src/sap/cux/home/utils/AppManager.d.ts +7 -6
  116. package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
  117. package/src/sap/cux/home/utils/AppManager.js +1 -1
  118. package/src/sap/cux/home/utils/AppManager.js.map +1 -1
  119. package/src/sap/cux/home/utils/AppManager.ts +9 -10
  120. package/src/sap/cux/home/utils/BatchHelper.d.ts.map +1 -1
  121. package/src/sap/cux/home/utils/BatchHelper.js +1 -1
  122. package/src/sap/cux/home/utils/BatchHelper.js.map +1 -1
  123. package/src/sap/cux/home/utils/BatchHelper.ts +4 -1
  124. package/src/sap/cux/home/utils/UshellPersonalizer.js +1 -1
  125. package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
  126. package/src/sap/cux/home/utils/UshellPersonalizer.ts +1 -1
@@ -656,7 +656,6 @@ export default class NewsPanel extends BaseNewsPanel {
656
656
  this.oNewsTile.removeStyleClass("sapUiSmallMarginTop");
657
657
  } else {
658
658
  this.oNewsTile.addStyleClass("sapUiSmallMarginTop");
659
- this.getNewsWrapper().setWidth("100%");
660
659
  }
661
660
  }
662
661
 
@@ -676,11 +675,11 @@ export default class NewsPanel extends BaseNewsPanel {
676
675
  let oTile;
677
676
  if (newsInfo.getElementsByTagName("link").length > 0) {
678
677
  oTile = new NewsItem(recycleId(`${sId}-news-item`), {
679
- url: String(this.getPropertyValue(newsInfo, "link")),
680
- title: String(this.getPropertyValue(newsInfo, "title")),
681
- subTitle: String(this.getPropertyValue(newsInfo, "description")),
682
- imageUrl: String(this.getPropertyValue(newsInfo, "imageUrl")),
683
- footer: this.formatDate(String(this.getPropertyValue(newsInfo, "pubDate")))
678
+ url: String(this.getPropertyValue(newsInfo, "link") ?? ""),
679
+ title: String(this.getPropertyValue(newsInfo, "title") ?? ""),
680
+ subTitle: String(this.getPropertyValue(newsInfo, "description") ?? ""),
681
+ imageUrl: String(this.getPropertyValue(newsInfo, "imageUrl") ?? ""),
682
+ footer: this.formatDate(String(this.getPropertyValue(newsInfo, "pubDate") ?? ""))
684
683
  });
685
684
  this.addAggregation("newsItems", oTile, true);
686
685
  } else {
@@ -688,12 +687,12 @@ export default class NewsPanel extends BaseNewsPanel {
688
687
  let newsId = sGroupId && sGroupId.trim() ? `${sId}-newsgroup-${sGroupId}` : `${sId}-newsgroup`;
689
688
  let subTitleNews = this.getPropertyValue(newsInfo, "subTitle") ?? "";
690
689
  oTile = new NewsGroup(recycleId(newsId), {
691
- title: String(this.getPropertyValue(newsInfo, "title")),
690
+ title: String(this.getPropertyValue(newsInfo, "title") ?? ""),
692
691
  subTitle: subTitleNews || this._i18nBundle.getText("newsFeedDescription"),
693
- imageUrl: String(this.getPropertyValue(newsInfo, "imageUrl")),
694
- footer: String(this.getPropertyValue(newsInfo, "footer")),
692
+ imageUrl: String(this.getPropertyValue(newsInfo, "imageUrl") ?? ""),
693
+ footer: String(this.getPropertyValue(newsInfo, "footer") ?? ""),
695
694
  priority: this.getPropertyValue(newsInfo, "priority") as Priority,
696
- priorityText: String(this.getPropertyValue(newsInfo, "priorityText"))
695
+ priorityText: String(this.getPropertyValue(newsInfo, "priorityText") ?? "")
697
696
  });
698
697
  this.addAggregation("newsGroup", oTile, true);
699
698
  }
@@ -715,7 +714,7 @@ export default class NewsPanel extends BaseNewsPanel {
715
714
  private async extractAllImageUrls(oDocument: Document, noOfFeeds: number) {
716
715
  for (let i = 0; i < noOfFeeds; i++) {
717
716
  const oItemElement = oDocument?.getElementsByTagName("item")[i];
718
- const sUrl: string = await this.extractImage(String(oItemElement.getElementsByTagName("link")[0].textContent));
717
+ const sUrl: string = await this.extractImage(String(oItemElement.getElementsByTagName("link")[0].textContent ?? ""));
719
718
  const oImageUrl = oDocument.createElement("imageUrl");
720
719
  oImageUrl.textContent = sUrl;
721
720
  oItemElement.appendChild(oImageUrl);
@@ -1 +1 @@
1
- {"version":3,"file":"PagePanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/PagePanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,wBAAwB,CAAC;IAOxC,OAAO,OAAO,EAAE,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;IAU1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAGtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;IACzE,OAAO,aAAa,MAAM,4BAA4B,CAAC;IAIvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;IACpF,OAAO,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAC;IAWlE,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;KAsBd,CAAC;IAEF,MAAM,kBAAkB,IAAI,CAAC;IAC7B,MAAM,YAAY,IAAI,CAAC;IACvB,MAAM,WAAW,IAAI,CAAC;IAEtB;;;;;;;;;;;;OAYG;IACH,MAAM,aAAc,SAAQ,OAAO;oBACtB,YAAY,CAAC,EAAE,MAAM,GAAG,gBAAgB;oBACxC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,gBAAgB;QAKpD,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAKvC;QACF,MAAM,CAAC,QAAQ;;UAEb;KACF;IAED;;;;;;;;;;;;;;OAcG;IAEH,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,aAAa;QACnD,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAkBvC;QACF,OAAO,CAAC,gBAAgB,CAAiB;QACzC,OAAO,CAAC,YAAY,CAAQ;QAC5B,OAAO,CAAC,YAAY,CAA2B;QAC/C,OAAO,CAAC,mBAAmB,CAAe;QAC1C,OAAO,CAAC,SAAS,CAAW;QAC5B,OAAO,CAAC,cAAc,CAAiB;QACvC,OAAO,CAAC,UAAU,CAAsB;QACxC,OAAO,CAAC,kBAAkB,CAAQ;QAClC,OAAO,CAAC,WAAW,CAAU;QAC7B,OAAO,CAAC,aAAa,CAAsB;QAC3C,OAAO,CAAC,SAAS,CAAY;QAE7B;;;;;WAKG;oBACgB,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,sBAAsB;QAIjE,IAAI;QAiDJ,OAAO,CAAC,WAAW;QAKN,OAAO,CAAC,WAAW,GAAE,OAAe;QAYjD;;;;;WAKG;QACH,OAAO,CAAC,gBAAgB;QAKxB;;;WAGG;QACH,OAAO,CAAC,uBAAuB;QAiBxB,mBAAmB,CACzB,iBAAiB,EAAE,OAAO,EAC1B,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,OAAO,GAC1B,IAAI;QAqDM,qBAAqB;QAIlC,OAAO,CAAC,oBAAoB;QAoB5B,OAAO,CAAC,iBAAiB;QAqEzB,OAAO,CAAC,mBAAmB;QAQ3B,OAAO,CAAC,oBAAoB;QAkB5B,OAAO,CAAC,iBAAiB;QAiBzB,OAAO,CAAC,kBAAkB;gBAaZ,cAAc;gBAkBd,eAAe;QAe7B;;;;;;;;WAQG;QACH,OAAO,CAAC,eAAe;QASvB;;;;;;;WAOG;gBACW,qBAAqB;QAc5B,0BAA0B,CAAC,gBAAgB,EAAE,KAAK,CAAC,yBAAyB,CAAC;QAI7E,yBAAyB,CAAC,gBAAgB,EAAE,KAAK,CAAC,yBAAyB,CAAC;QAInF,OAAO,CAAC,uBAAuB;QAK/B;;;;;WAKG;QACI,cAAc,IAAI,OAAO;KAGhC;CAEA"}
1
+ {"version":3,"file":"PagePanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/PagePanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,wBAAwB,CAAC;IAOxC,OAAO,OAAO,EAAE,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;IAU1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAGtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;IACzE,OAAO,aAAa,MAAM,4BAA4B,CAAC;IAIvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;IACpF,OAAO,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAC;IAWlE,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;KAsBd,CAAC;IAEF,MAAM,kBAAkB,IAAI,CAAC;IAC7B,MAAM,YAAY,IAAI,CAAC;IACvB,MAAM,WAAW,IAAI,CAAC;IAEtB;;;;;;;;;;;;OAYG;IACH,MAAM,aAAc,SAAQ,OAAO;oBACtB,YAAY,CAAC,EAAE,MAAM,GAAG,gBAAgB;oBACxC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,gBAAgB;QAKpD,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAKvC;QACF,MAAM,CAAC,QAAQ;;UAEb;KACF;IAED;;;;;;;;;;;;;;OAcG;IAEH,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,aAAa;QACnD,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAkBvC;QACF,OAAO,CAAC,gBAAgB,CAAiB;QACzC,OAAO,CAAC,YAAY,CAAQ;QAC5B,OAAO,CAAC,YAAY,CAA2B;QAC/C,OAAO,CAAC,mBAAmB,CAAe;QAC1C,OAAO,CAAC,SAAS,CAAW;QAC5B,OAAO,CAAC,cAAc,CAAiB;QACvC,OAAO,CAAC,UAAU,CAAsB;QACxC,OAAO,CAAC,kBAAkB,CAAQ;QAClC,OAAO,CAAC,WAAW,CAAU;QAC7B,OAAO,CAAC,aAAa,CAAsB;QAC3C,OAAO,CAAC,SAAS,CAAY;QAE7B;;;;;WAKG;oBACgB,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,sBAAsB;QAIjE,IAAI;QAqDJ,OAAO,CAAC,WAAW;QAKN,OAAO,CAAC,WAAW,GAAE,OAAe;QAYjD;;;;;WAKG;QACH,OAAO,CAAC,gBAAgB;QAKxB;;;WAGG;QACH,OAAO,CAAC,uBAAuB;QAiBxB,mBAAmB,CACzB,iBAAiB,EAAE,OAAO,EAC1B,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,OAAO,GAC1B,IAAI;QAqDM,qBAAqB;QAIlC,OAAO,CAAC,oBAAoB;QAoB5B,OAAO,CAAC,iBAAiB;QAqEzB,OAAO,CAAC,mBAAmB;QAQ3B,OAAO,CAAC,oBAAoB;QAkB5B,OAAO,CAAC,iBAAiB;QAiBzB,OAAO,CAAC,kBAAkB;gBAaZ,cAAc;gBAkBd,eAAe;QAe7B;;;;;;;;WAQG;QACH,OAAO,CAAC,eAAe;QASvB;;;;;;;WAOG;gBACW,qBAAqB;QAc5B,0BAA0B,CAAC,gBAAgB,EAAE,KAAK,CAAC,yBAAyB,CAAC;QAI7E,yBAAyB,CAAC,gBAAgB,EAAE,KAAK,CAAC,yBAAyB,CAAC;QAInF,OAAO,CAAC,uBAAuB;QAK/B;;;;;WAKG;QACI,cAAc,IAAI,OAAO;KAGhC;CAEA"}
@@ -153,7 +153,10 @@ sap.ui.define(["sap/m/Button", "sap/m/FlexBox", "sap/m/GenericTile", "sap/m/Illu
153
153
  renderType: "Bare",
154
154
  wrap: "Wrap",
155
155
  items: this.getPlaceholderPageTiles()
156
- }).addStyleClass("pagesFlexGap sapUiSmallMarginTop sapCuxPagesWrapper");
156
+ }).addStyleClass("pagesFlexGap sapCuxPagesWrapper");
157
+ if (this.getDeviceType() !== DeviceType.Mobile) {
158
+ this._oWrapperFlexBox.addStyleClass("sapUiSmallMarginTop");
159
+ }
157
160
  this._pageWrapper = new VBox(`${this.getId()}-pageContentWrapper`, {
158
161
  items: [this._oWrapperFlexBox]
159
162
  });
@@ -1 +1 @@
1
- {"version":3,"file":"PagePanel.js","names":["sap","ui","define","Button","FlexBox","GenericTile","IllustratedMessage","IllustratedMessageSize","IllustratedMessageType","VBox","sap_m_library","EventBus","__BasePagePanel","__MenuItem","__Page","___utils_CommonUtils","___utils_Constants","___utils_DataFormatUtils","___utils_Device","___utils_DragDropUtils","___utils_FESRUtil","__PersonalisationUtils","__UShellPersonalizer","_interopRequireDefault","obj","__esModule","default","LoadState","BasePagePanel","MenuItem","Page","getPageManagerInstance","PAGE_SELECTION_LIMIT","SETTINGS_PANELS_KEYS","recycleId","DeviceType","attachKeyboardHandler","focusDraggedItem","addFESRId","addFESRSemanticStepName","PersonalisationUtils","UShellPersonalizer","tileSizes","Mobile","maxWidth","minWidth","Tablet","Desktop","LargeDesktop","XLargeDesktop","smallTabletMinWidth","mobileOneTileLimit","maxTileCOunt","maxRowCount","CustomFlexBox","extend","renderer","apiVersion","metadata","library","aggregations","items","type","multiple","singularName","dnd","draggable","droppable","constructor","_constructor","id","settings","FlexBox.prototype.constructor.call","PagePanel","properties","title","group","visibility","key","pages","_constructor2","BasePagePanel.prototype.constructor.call","init","_init","_this","BasePagePanel.prototype.init.call","_oWrapperFlexBox","getId","justifyContent","height","width","direction","renderType","wrap","getPlaceholderPageTiles","addStyleClass","_pageWrapper","addContent","setProperty","_i18nBundle","getText","menuItem","icon","press","_handleEditPages","addAggregation","oEventBus","getInstance","subscribe","sChannelId","sEventId","oData","aFavPages","Promise","resolve","writeFavPagesIntoPers","then","_getInnerControls","_importdone","e","reject","getData","stateData","status","publish","_getData","forceUpdate","_this2","_temp2","fireEvent","oPagePromise","_temp","undefined","_getPageManagerInstance","getFavoritePages","parent","getParent","_getLayout","openSettingsDialog","PAGES","_getPlaceholderPageTiles","placeholderArray","Array","fill","Loading","placeholderTiles","map","tileState","index","sizeBehavior","state","frameType","mode","visible","renderOnThemeChange","ariaRole","dropAreaOffset","attachResizeHandler","_attachResizeHandler","isNewsTileVisible","containerWidth","pagesContentWrapper","favPagesCount","length","deviceType","getDeviceType","domRefClientWidth","tileWidth","hBoxWidth","finalTilesWidth","wrapperWidth","gap","setWidth","pagesPerRow","calculatePagesPerRow","maxTileWidth","minTileWidth","Math","min","max","_setPropertyValues","pagesTileWidth","err","Error","getUserAvailablePages","_getUserAvailablePages","_this3","fetchAllAvailablePages","_calculatePagesPerRow","isNewsFeedVisible","ceil","myFavPage","oInnerControls","oParent","forEach","oPage","push","subTitle","spaceTitle","bgColor","BGColor","pageId","spaceId","url","oFav","index2","header","getTitle","subheader","getSubTitle","onPageTilePress","backgroundColor","getBgColor","tileIcon","getIcon","getProperty","setAlignItems","dndConfigs","getDragDropConfig","panelLoadedFn","loaded","count","_setFavPagesContent","addDragDropConfigTo","oEvent","_handlePageDnd","removeAllDragDropConfig","dndConfig","destroy","_setNoPageContent","removeAggregation","removeAllItems","removeStyleClass","oTile","addItem","_createNoPageContent","_oIllusMsg","illustrationSize","Small","illustrationType","NoSavedItems","description","oAddPageBtn","text","tooltip","oWrapperNoPageVBox","backgroundDesign","addAdditionalContent","oVal","propNames","Object","keys","sProperty","_this4","sInsertPosition","getParameter","oDragItem","oDropItem","iDragItemIndex","indexOfItem","iDropItemIndex","_temp3","_DragnDropPages","_this5","oItemMoved","splice","updateTileOrder","_updateTileOrder","dragIndex","dropIndex","draggedItem","_writeFavPagesIntoPers","favPages","_this6","_temp5","oPersonalizer","read","oPersData","favouritePages","write","_temp4","getPersContainerId","getOwnerComponent","_UShellPersonalizer$g","applyColorPersonalizations","_applyColorPersonalizations","personalizations","applyIconPersonalizations","_applyIconPersonalizations","pageManagerInstance","getPageWrapper","_getPageWrapper"],"sources":["PagePanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Button from \"sap/m/Button\";\nimport FlexBox, { $FlexBoxSettings } from \"sap/m/FlexBox\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport IllustratedMessage from \"sap/m/IllustratedMessage\";\nimport IllustratedMessageSize from \"sap/m/IllustratedMessageSize\";\nimport IllustratedMessageType from \"sap/m/IllustratedMessageType\";\nimport VBox from \"sap/m/VBox\";\nimport { LoadState } from \"sap/m/library\";\nimport Event from \"sap/ui/base/Event\";\nimport Component from \"sap/ui/core/Component\";\nimport Control from \"sap/ui/core/Control\";\nimport { MetadataOptions } from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport { DropInfo$DropEventParameters } from \"sap/ui/core/dnd/DropInfo\";\nimport type { $BasePagePanelSettings } from \"./BasePagePanel\";\nimport BasePagePanel from \"./BasePagePanel\";\nimport MenuItem from \"./MenuItem\";\nimport NewsAndPagesContainer from \"./NewsAndPagesContainer\";\nimport Page from \"./Page\";\nimport { ISpacePagePersonalization } from \"./interface/KeyUserInterface\";\nimport { IPage } from \"./interface/PageSpaceInterface\";\nimport { getPageManagerInstance } from \"./utils/CommonUtils\";\nimport { PAGE_SELECTION_LIMIT, SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { recycleId } from \"./utils/DataFormatUtils\";\nimport { DeviceType } from \"./utils/Device\";\nimport { attachKeyboardHandler, focusDraggedItem } from \"./utils/DragDropUtils\";\nimport { addFESRId, addFESRSemanticStepName } from \"./utils/FESRUtil\";\nimport PageManager from \"./utils/PageManager\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\nimport UShellPersonalizer from \"./utils/UshellPersonalizer\";\n\nconst tileSizes = {\n\tMobile: {\n\t\tmaxWidth: 37.5,\n\t\tminWidth: 8\n\t},\n\tTablet: {\n\t\tmaxWidth: 60,\n\t\tminWidth: 10.625\n\t},\n\tDesktop: {\n\t\tmaxWidth: 18.75,\n\t\tminWidth: 7\n\t},\n\tLargeDesktop: {\n\t\tmaxWidth: 18.75,\n\t\tminWidth: 7\n\t},\n\tXLargeDesktop: {\n\t\tmaxWidth: 18.75,\n\t\tminWidth: 7\n\t},\n\tsmallTabletMinWidth: 8\n};\n\nconst mobileOneTileLimit = 3;\nconst maxTileCOunt = 8;\nconst maxRowCount = 4;\n\n/**\n *\n * CustomFlexBox extending FlexBox to enable drag & drop.\n *\n * @extends sap.m.FlexBox\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.122\n * @private\n *\n * @alias sap.cux.home.CustomFlexBox\n */\nclass CustomFlexBox extends FlexBox {\n\tconstructor(idOrSettings?: string | $FlexBoxSettings);\n\tconstructor(id?: string, settings?: $FlexBoxSettings);\n\tconstructor(id?: string, settings?: $FlexBoxSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\taggregations: {\n\t\t\titems: { type: \"sap.ui.core.Control\", multiple: true, singularName: \"item\", dnd: { draggable: true, droppable: true } }\n\t\t}\n\t};\n\tstatic renderer = {\n\t\tapiVersion: 2\n\t};\n}\n\n/**\n *\n * Panel class for managing and storing Pages.\n *\n * @extends sap.cux.home.BasePagePanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.122\n *\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.PagePanel\n */\n\nexport default class PagePanel extends BasePagePanel {\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * Title for the page panel\n\t\t\t */\n\t\t\ttitle: { type: \"string\", group: \"Misc\", visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Key for the page panel\n\t\t\t */\n\t\t\tkey: { type: \"string\", group: \"Misc\", visibility: \"hidden\" }\n\t\t},\n\t\taggregations: {\n\t\t\t/**\n\t\t\t * Aggregation of pages available within the page panel\n\t\t\t */\n\t\t\tpages: { type: \"sap.cux.home.Page\", singularName: \"page\", multiple: true, visibility: \"hidden\" }\n\t\t}\n\t};\n\tprivate _oWrapperFlexBox!: CustomFlexBox;\n\tprivate _pageWrapper!: VBox;\n\tprivate oPagePromise!: Promise<IPage[]> | null;\n\tprivate pageManagerInstance!: PageManager;\n\tprivate aFavPages!: IPage[];\n\tprivate oInnerControls!: GenericTile[];\n\tprivate _oIllusMsg!: IllustratedMessage;\n\tprivate oWrapperNoPageVBox!: VBox;\n\tprivate oAddPageBtn!: Button;\n\tprivate oPersonalizer!: UShellPersonalizer;\n\tprivate oEventBus!: EventBus;\n\n\t/**\n\t * Constructor for a new Page panel.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $BasePagePanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tinit() {\n\t\tsuper.init();\n\n\t\tthis._oWrapperFlexBox = new CustomFlexBox(`${this.getId()}-pageWrapper`, {\n\t\t\tjustifyContent: \"Start\",\n\t\t\theight: \"100%\",\n\t\t\twidth: \"100%\",\n\t\t\tdirection: \"Row\",\n\t\t\trenderType: \"Bare\",\n\t\t\twrap: \"Wrap\",\n\t\t\titems: this.getPlaceholderPageTiles()\n\t\t}).addStyleClass(\"pagesFlexGap sapUiSmallMarginTop sapCuxPagesWrapper\");\n\n\t\tthis._pageWrapper = new VBox(`${this.getId()}-pageContentWrapper`, { items: [ this._oWrapperFlexBox ] });\n\t\tthis.addContent(this._pageWrapper);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"pageTitle\"));\n\n\t\tconst menuItem = new MenuItem(`${this.getId()}-managePages`, {\n\t\t\ttitle: this._i18nBundle.getText(\"mngPage\"),\n\t\t\ticon: \"sap-icon://edit\",\n\t\t\tpress: () => this._handleEditPages()\n\t\t});\n\t\tthis.addAggregation(\"menuItems\", menuItem);\n\t\taddFESRId(menuItem, \"managePages\");\n\t\tthis.oEventBus = EventBus.getInstance();\n\t\t// Subscribe to the event\n\t\tthis.oEventBus.subscribe(\n\t\t\t\"importChannel\",\n\t\t\t\"favPagesImport\",\n\t\t\tasync (sChannelId?: string, sEventId?: string, oData?) => {\n\t\t\t\tthis.aFavPages = oData as IPage[];\n\t\t\t\tawait this.writeFavPagesIntoPers(this.aFavPages);\n\t\t\t\tthis._getInnerControls();\n\t\t\t\tthis._importdone();\n\t\t\t},\n\t\t\tthis\n\t\t);\n\n\t\t// Subscribe to page changes from pageManager\n\t\tthis.oEventBus.subscribe(\n\t\t\t\"pageChannel\",\n\t\t\t\"pageUpdated\",\n\t\t\t() => {\n\t\t\t\tvoid this.getData(true);\n\t\t\t},\n\t\t\tthis\n\t\t);\n\t}\n\n\tprivate _importdone() {\n\t\tconst stateData = { status: true };\n\t\tthis.oEventBus.publish(\"importChannel\", \"favPagesImported\", stateData);\n\t}\n\n\tpublic async getData(forceUpdate: boolean = false) {\n\t\tif (this.oPagePromise === undefined || this.oPagePromise === null || forceUpdate) {\n\t\t\tthis.oPagePromise = this._getPageManagerInstance().getFavoritePages();\n\t\t\tconst aFavPages = await this.oPagePromise;\n\t\t\tthis.aFavPages = aFavPages;\n\t\t\tthis._getInnerControls();\n\t\t\tthis.oPagePromise = null;\n\t\t}\n\t\tthis.fireEvent(\"loaded\");\n\t\treturn this.oPagePromise;\n\t}\n\n\t/**\n\t * Handles the edit page event.\n\t * Opens the page dialog for managing page data.\n\t * @param {Event} oEvent - The event object.\n\t * @private\n\t */\n\tprivate _handleEditPages() {\n\t\tconst parent = this.getParent() as NewsAndPagesContainer;\n\t\tparent?._getLayout().openSettingsDialog(SETTINGS_PANELS_KEYS.PAGES);\n\t}\n\n\t/**\n\t * returns an array of placeholder generic tiles for pages\n\t * @private\n\t */\n\tprivate getPlaceholderPageTiles(): GenericTile[] {\n\t\tconst placeholderArray = new Array(PAGE_SELECTION_LIMIT).fill(LoadState.Loading) as LoadState[];\n\t\tconst placeholderTiles = placeholderArray.map((tileState: LoadState, index) => {\n\t\t\treturn new GenericTile(recycleId(`${this.getId()}--${index}`), {\n\t\t\t\tsizeBehavior: \"Responsive\",\n\t\t\t\tstate: tileState,\n\t\t\t\tframeType: \"OneByOne\",\n\t\t\t\tmode: \"IconMode\",\n\t\t\t\tvisible: true,\n\t\t\t\trenderOnThemeChange: true,\n\t\t\t\tariaRole: \"listitem\",\n\t\t\t\tdropAreaOffset: 8\n\t\t\t}).addStyleClass(\"cuxPagesPlaceholder\");\n\t\t});\n\t\treturn placeholderTiles;\n\t}\n\n\tpublic attachResizeHandler(\n\t\tisNewsTileVisible: boolean,\n\t\tcontainerWidth: number,\n\t\tpagesContentWrapper: FlexBox\n\t): void {\n\t\ttry {\n\t\t\tconst favPagesCount = this.aFavPages?.length,\n\t\t\t\tdeviceType = this.getDeviceType();\n\n\t\t\tlet domRefClientWidth = containerWidth;\n\t\t\tif (\n\t\t\t\t(deviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop) &&\n\t\t\t\tisNewsTileVisible\n\t\t\t) {\n\t\t\t\tdomRefClientWidth = containerWidth / 2;\n\t\t\t}\n\n\t\t\tif (!domRefClientWidth) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet tileWidth,\n\t\t\t\thBoxWidth: string,\n\t\t\t\tfinalTilesWidth: string,\n\t\t\t\twrapperWidth = domRefClientWidth / 16; // Divide by 16 to convert to rem,\n\t\t\tconst gap = 1;\n\t\t\tpagesContentWrapper.setWidth(\"100%\");\n\n\t\t\tif (favPagesCount > 0) {\n\t\t\t\tconst pagesPerRow = this.calculatePagesPerRow(favPagesCount, isNewsTileVisible);\n\t\t\t\tif (pagesPerRow) {\n\t\t\t\t\tconst maxTileWidth = tileSizes[deviceType].maxWidth;\n\t\t\t\t\tlet minTileWidth = tileSizes[deviceType].minWidth;\n\t\t\t\t\t// when tablet viewport width is below 800px, 46rem(736px) is the container width and 2 rem is paddings\n\t\t\t\t\tif (deviceType === DeviceType.Tablet && containerWidth < 736) {\n\t\t\t\t\t\tminTileWidth = tileSizes.smallTabletMinWidth;\n\t\t\t\t\t}\n\t\t\t\t\ttileWidth = (wrapperWidth - (pagesPerRow - 1) * gap) / pagesPerRow;\n\t\t\t\t\ttileWidth = Math.min(tileWidth, maxTileWidth);\n\t\t\t\t\ttileWidth = Math.max(tileWidth, minTileWidth);\n\t\t\t\t\tfinalTilesWidth = `${tileWidth}rem`;\n\t\t\t\t\thBoxWidth = `${pagesPerRow * tileWidth + (pagesPerRow - 1) * gap}rem`;\n\t\t\t\t} else {\n\t\t\t\t\tfinalTilesWidth = \"auto\";\n\t\t\t\t\thBoxWidth = \"100%\";\n\t\t\t\t}\n\n\t\t\t\tthis._setPropertyValues({ hBoxWidth: hBoxWidth, pagesTileWidth: finalTilesWidth });\n\t\t\t\tpagesContentWrapper.setWidth(hBoxWidth);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tif (err instanceof Error) {\n\t\t\t\tconsole.error(err.message);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic async getUserAvailablePages() {\n\t\treturn await this._getPageManagerInstance().fetchAllAvailablePages();\n\t}\n\n\tprivate calculatePagesPerRow(favPagesCount: number, isNewsFeedVisible: boolean): number {\n\t\tlet pagesPerRow = 0;\n\t\tconst deviceType = this.getDeviceType();\n\t\tif (deviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop) {\n\t\t\tif (isNewsFeedVisible) {\n\t\t\t\t// halves the tiles in 2 rows\n\t\t\t\tpagesPerRow = Math.ceil(favPagesCount >= maxTileCOunt ? maxRowCount : favPagesCount / 2);\n\t\t\t} else {\n\t\t\t\tpagesPerRow = favPagesCount;\n\t\t\t}\n\t\t} else if (deviceType === DeviceType.Mobile) {\n\t\t\t// decides number of columns to either 1 or 2\n\t\t\tpagesPerRow = favPagesCount <= mobileOneTileLimit ? 1 : 2;\n\t\t} else if (deviceType === DeviceType.Tablet) {\n\t\t\t// upto 4 in a Row, otherwise halves the tiles in 2 rows\n\t\t\tpagesPerRow = favPagesCount <= maxRowCount ? favPagesCount : Math.ceil(favPagesCount / 2);\n\t\t}\n\t\treturn pagesPerRow;\n\t}\n\n\tprivate _getInnerControls() {\n\t\tconst myFavPage: Page[] = [];\n\t\tthis.oInnerControls = [];\n\t\tconst oParent = this.getParent() as NewsAndPagesContainer;\n\t\tif (this.aFavPages) {\n\t\t\tthis.aFavPages.forEach((oPage: IPage, index: number) => {\n\t\t\t\tmyFavPage.push(\n\t\t\t\t\tnew Page(recycleId(`${this.getId()}-favPage-${index}`), {\n\t\t\t\t\t\ttitle: oPage.title,\n\t\t\t\t\t\tsubTitle: oPage.title === oPage.spaceTitle ? \"\" : oPage.spaceTitle,\n\t\t\t\t\t\ticon: oPage.icon,\n\t\t\t\t\t\tbgColor: oPage.BGColor as string,\n\t\t\t\t\t\tpageId: oPage.pageId,\n\t\t\t\t\t\tspaceId: oPage.spaceId,\n\t\t\t\t\t\tspaceTitle: oPage.spaceTitle,\n\t\t\t\t\t\turl: \"#Launchpad-openFLPPage?pageId=\" + oPage.pageId + \"&spaceId=\" + oPage.spaceId\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t});\n\t\t\tmyFavPage.forEach((oFav: Page, index2: number) => {\n\t\t\t\tthis.oInnerControls.push(\n\t\t\t\t\tnew GenericTile(recycleId(`${oFav.getId()}--genericTile--${index2}`), {\n\t\t\t\t\t\t// width: \"10rem\",\n\t\t\t\t\t\theader: oFav.getTitle(),\n\t\t\t\t\t\tsubheader: oFav.getSubTitle(),\n\t\t\t\t\t\tpress: () => void oFav.onPageTilePress(oFav),\n\t\t\t\t\t\tsizeBehavior: \"Responsive\",\n\t\t\t\t\t\tstate: \"Loaded\",\n\t\t\t\t\t\tframeType: \"OneByOne\",\n\t\t\t\t\t\tmode: \"IconMode\",\n\t\t\t\t\t\tbackgroundColor: oFav.getBgColor(),\n\t\t\t\t\t\ttileIcon: oFav.getIcon(),\n\t\t\t\t\t\tvisible: true,\n\t\t\t\t\t\trenderOnThemeChange: true,\n\t\t\t\t\t\tariaRole: \"listitem\",\n\t\t\t\t\t\tdropAreaOffset: 8,\n\t\t\t\t\t\turl: oFav.getProperty(\"url\") as string\n\t\t\t\t\t}).addStyleClass(\"sapCuxPageTile\")\n\t\t\t\t);\n\t\t\t\tthis.addAggregation(\"pages\", oFav, true);\n\t\t\t});\n\n\t\t\tthis._oWrapperFlexBox.setAlignItems(this.aFavPages.length == 1 ? \"Start\" : \"Center\");\n\t\t\tconst dndConfigs = this._oWrapperFlexBox.getDragDropConfig();\n\t\t\tif (this.aFavPages.length) {\n\t\t\t\toParent?.panelLoadedFn(\"Page\", { loaded: true, count: this.aFavPages.length });\n\t\t\t\tthis._setFavPagesContent();\n\t\t\t\tif (!dndConfigs?.length)\n\t\t\t\t\tthis.addDragDropConfigTo(\n\t\t\t\t\t\tthis._oWrapperFlexBox,\n\t\t\t\t\t\t(oEvent) => void this._handlePageDnd(oEvent),\n\t\t\t\t\t\tasync (oEvent: KeyboardEvent) => {\n\t\t\t\t\t\t\tawait attachKeyboardHandler(oEvent, true);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis._oWrapperFlexBox.removeAllDragDropConfig();\n\t\t\t\tdndConfigs.forEach((dndConfig) => {\n\t\t\t\t\tdndConfig.destroy();\n\t\t\t\t});\n\t\t\t\toParent?.panelLoadedFn(\"Page\", { loaded: true, count: 0 });\n\t\t\t\tthis._setNoPageContent();\n\t\t\t}\n\t\t} else {\n\t\t\toParent?.panelLoadedFn(\"Page\", { loaded: false, count: 0 });\n\t\t\tthis.removeAggregation(\"content\", this._oWrapperFlexBox);\n\t\t}\n\t}\n\n\tprivate _setFavPagesContent() {\n\t\tthis._oWrapperFlexBox.removeAllItems();\n\t\tthis._oWrapperFlexBox.removeStyleClass(\"pagesFlexBox\");\n\t\tthis.oInnerControls.forEach((oTile: GenericTile) => {\n\t\t\tthis._oWrapperFlexBox.addItem(oTile);\n\t\t});\n\t}\n\n\tprivate _createNoPageContent() {\n\t\tif (!this._oIllusMsg) {\n\t\t\tthis._oIllusMsg = new IllustratedMessage(this.getId() + \"--idNoPages\", {\n\t\t\t\tillustrationSize: IllustratedMessageSize.Small,\n\t\t\t\tillustrationType: IllustratedMessageType.NoSavedItems,\n\t\t\t\ttitle: this._i18nBundle.getText(\"noDataPageTitle\"),\n\t\t\t\tdescription: this._i18nBundle.getText(\"noPageDescription\")\n\t\t\t}).addStyleClass(\"myHomeIllustratedMsg myHomeIllustratedMessageAlign\");\n\t\t\tthis.oAddPageBtn = new Button(this.getId() + \"--idAddPageBtn\", {\n\t\t\t\ttext: this._i18nBundle.getText(\"addPage\"),\n\t\t\t\ttooltip: this._i18nBundle.getText(\"addPage\"),\n\t\t\t\ttype: \"Emphasized\",\n\t\t\t\tpress: () => this._handleEditPages()\n\t\t\t});\n\t\t\taddFESRSemanticStepName(this.oAddPageBtn, \"press\", \"addPages\");\n\t\t}\n\t}\n\n\tprivate _setNoPageContent() {\n\t\tif (!this.oWrapperNoPageVBox) {\n\t\t\tthis.oWrapperNoPageVBox = new VBox(recycleId(`${this.getId()}--wrapperNoPageVBox`), {\n\t\t\t\twidth: \"100%\",\n\t\t\t\theight: \"17rem\",\n\t\t\t\tbackgroundDesign: \"Solid\",\n\t\t\t\tjustifyContent: \"Center\"\n\t\t\t}).addStyleClass(\"sapUiRoundedBorder noCardsBorder\");\n\t\t\tthis._createNoPageContent();\n\t\t\tthis._oIllusMsg.addAdditionalContent(this.oAddPageBtn);\n\t\t\tthis.oWrapperNoPageVBox.addItem(this._oIllusMsg);\n\t\t}\n\t\tthis._oWrapperFlexBox.removeAllItems();\n\t\tthis._oWrapperFlexBox.addStyleClass(\"pagesFlexBox\");\n\t\tthis._oWrapperFlexBox.addItem(this.oWrapperNoPageVBox);\n\t}\n\n\tprivate _setPropertyValues(oVal: { hBoxWidth: string; pagesTileWidth: string }) {\n\t\tconst propNames = Object.keys(oVal);\n\t\tpropNames.forEach((sProperty: string) => {\n\t\t\tif (sProperty === \"hBoxWidth\") {\n\t\t\t\tthis._oWrapperFlexBox.setProperty(\"width\", oVal[sProperty]);\n\t\t\t} else if (sProperty === \"pagesTileWidth\" && this.oInnerControls.length) {\n\t\t\t\tthis.oInnerControls.forEach(function (oTile) {\n\t\t\t\t\toTile.setProperty(\"width\", oVal[sProperty]);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate async _handlePageDnd(oEvent: Event<DropInfo$DropEventParameters>) {\n\t\tconst sInsertPosition = oEvent.getParameter?.(\"dropPosition\"),\n\t\t\toDragItem = oEvent?.getParameter?.(\"draggedControl\") as Control,\n\t\t\toDropItem = oEvent.getParameter(\"droppedControl\") as Control,\n\t\t\tiDragItemIndex = (oDragItem.getParent() as FlexBox)?.indexOfItem(oDragItem);\n\t\tlet iDropItemIndex = (oDragItem.getParent() as FlexBox)?.indexOfItem(oDropItem);\n\n\t\tif (sInsertPosition === \"Before\" && iDragItemIndex === iDropItemIndex - 1) {\n\t\t\tiDropItemIndex--;\n\t\t} else if (sInsertPosition === \"After\" && iDragItemIndex === iDropItemIndex + 1) {\n\t\t\tiDropItemIndex++;\n\t\t}\n\n\t\tif (iDragItemIndex !== iDropItemIndex) {\n\t\t\tawait this._DragnDropPages(iDragItemIndex, iDropItemIndex, sInsertPosition as string);\n\t\t}\n\t}\n\n\tprivate async _DragnDropPages(iDragItemIndex: number, iDropItemIndex: number, sInsertPosition: string) {\n\t\tif (sInsertPosition === \"Before\" && iDragItemIndex < iDropItemIndex) {\n\t\t\tiDropItemIndex--;\n\t\t} else if (sInsertPosition === \"After\" && iDragItemIndex > iDropItemIndex) {\n\t\t\tiDropItemIndex++;\n\t\t}\n\t\t// take the moved item from dragIndex and add to dropindex\n\t\tconst oItemMoved = this.aFavPages.splice(iDragItemIndex, 1)[0];\n\t\tthis.aFavPages.splice(iDropItemIndex, 0, oItemMoved);\n\t\tthis.updateTileOrder(iDragItemIndex, iDropItemIndex);\n\n\t\tawait this.writeFavPagesIntoPers(this.aFavPages);\n\t\tfocusDraggedItem(this._oWrapperFlexBox, iDropItemIndex);\n\t}\n\n\t/**\n\t * Updates the tile order in the UI after a drag-and-drop action.\n\t *\n\t * Moves a tile from `dragIndex` to `dropIndex` in the internal array\n\t * and re-renders the tile container to reflect the new order.\n\t *\n\t * @param {number} dragIndex - Index of the dragged tile.\n\t * @param {number} dropIndex - Index to insert the dragged tile.\n\t */\n\tprivate updateTileOrder(dragIndex: number, dropIndex: number) {\n\t\tconst [draggedItem] = this.oInnerControls.splice(dragIndex, 1);\n\t\tthis.oInnerControls.splice(dropIndex, 0, draggedItem);\n\t\tthis._oWrapperFlexBox.removeAllItems();\n\t\tthis.oInnerControls.forEach((oTile) => {\n\t\t\tthis._oWrapperFlexBox.addItem(oTile);\n\t\t});\n\t}\n\n\t/**\n\t * Writes the favourite pages data into personalizer\n\t *\n\t * @private\n\t * @async\n\t * @param {IPage[]} favPages\n\t * @returns {*}\n\t */\n\tprivate async writeFavPagesIntoPers(favPages: IPage[]) {\n\t\tif (this.oPersonalizer === undefined) {\n\t\t\tthis.oPersonalizer = await UShellPersonalizer.getInstance(\n\t\t\t\tPersonalisationUtils.getPersContainerId(this),\n\t\t\t\tPersonalisationUtils.getOwnerComponent(this) as Component\n\t\t\t);\n\t\t}\n\n\t\tlet oPersData = await this.oPersonalizer.read();\n\t\tif (!oPersData) oPersData = { favouritePages: [] };\n\t\toPersData.favouritePages = favPages;\n\t\tawait this.oPersonalizer.write(oPersData);\n\t}\n\n\tpublic applyColorPersonalizations(personalizations: Array<ISpacePagePersonalization>) {\n\t\tvoid this._getPageManagerInstance()?.applyColorPersonalizations(personalizations);\n\t}\n\n\tpublic applyIconPersonalizations(personalizations: Array<ISpacePagePersonalization>) {\n\t\tvoid this._getPageManagerInstance()?.applyIconPersonalizations(personalizations);\n\t}\n\n\tprivate _getPageManagerInstance() {\n\t\tthis.pageManagerInstance = this.pageManagerInstance || getPageManagerInstance(this);\n\t\treturn this.pageManagerInstance;\n\t}\n\n\t/**\n\t * Returns the wrapper FlexBox for the page panel.\n\t *\n\t * @returns {sap.m.FlexBox} The FlexBox that wraps the pages.\n\t * @private\n\t */\n\tpublic getPageWrapper(): FlexBox {\n\t\treturn this._oWrapperFlexBox;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PagePanel.js","names":["sap","ui","define","Button","FlexBox","GenericTile","IllustratedMessage","IllustratedMessageSize","IllustratedMessageType","VBox","sap_m_library","EventBus","__BasePagePanel","__MenuItem","__Page","___utils_CommonUtils","___utils_Constants","___utils_DataFormatUtils","___utils_Device","___utils_DragDropUtils","___utils_FESRUtil","__PersonalisationUtils","__UShellPersonalizer","_interopRequireDefault","obj","__esModule","default","LoadState","BasePagePanel","MenuItem","Page","getPageManagerInstance","PAGE_SELECTION_LIMIT","SETTINGS_PANELS_KEYS","recycleId","DeviceType","attachKeyboardHandler","focusDraggedItem","addFESRId","addFESRSemanticStepName","PersonalisationUtils","UShellPersonalizer","tileSizes","Mobile","maxWidth","minWidth","Tablet","Desktop","LargeDesktop","XLargeDesktop","smallTabletMinWidth","mobileOneTileLimit","maxTileCOunt","maxRowCount","CustomFlexBox","extend","renderer","apiVersion","metadata","library","aggregations","items","type","multiple","singularName","dnd","draggable","droppable","constructor","_constructor","id","settings","FlexBox.prototype.constructor.call","PagePanel","properties","title","group","visibility","key","pages","_constructor2","BasePagePanel.prototype.constructor.call","init","_init","_this","BasePagePanel.prototype.init.call","_oWrapperFlexBox","getId","justifyContent","height","width","direction","renderType","wrap","getPlaceholderPageTiles","addStyleClass","getDeviceType","_pageWrapper","addContent","setProperty","_i18nBundle","getText","menuItem","icon","press","_handleEditPages","addAggregation","oEventBus","getInstance","subscribe","sChannelId","sEventId","oData","aFavPages","Promise","resolve","writeFavPagesIntoPers","then","_getInnerControls","_importdone","e","reject","getData","stateData","status","publish","_getData","forceUpdate","_this2","_temp2","fireEvent","oPagePromise","_temp","undefined","_getPageManagerInstance","getFavoritePages","parent","getParent","_getLayout","openSettingsDialog","PAGES","_getPlaceholderPageTiles","placeholderArray","Array","fill","Loading","placeholderTiles","map","tileState","index","sizeBehavior","state","frameType","mode","visible","renderOnThemeChange","ariaRole","dropAreaOffset","attachResizeHandler","_attachResizeHandler","isNewsTileVisible","containerWidth","pagesContentWrapper","favPagesCount","length","deviceType","domRefClientWidth","tileWidth","hBoxWidth","finalTilesWidth","wrapperWidth","gap","setWidth","pagesPerRow","calculatePagesPerRow","maxTileWidth","minTileWidth","Math","min","max","_setPropertyValues","pagesTileWidth","err","Error","getUserAvailablePages","_getUserAvailablePages","_this3","fetchAllAvailablePages","_calculatePagesPerRow","isNewsFeedVisible","ceil","myFavPage","oInnerControls","oParent","forEach","oPage","push","subTitle","spaceTitle","bgColor","BGColor","pageId","spaceId","url","oFav","index2","header","getTitle","subheader","getSubTitle","onPageTilePress","backgroundColor","getBgColor","tileIcon","getIcon","getProperty","setAlignItems","dndConfigs","getDragDropConfig","panelLoadedFn","loaded","count","_setFavPagesContent","addDragDropConfigTo","oEvent","_handlePageDnd","removeAllDragDropConfig","dndConfig","destroy","_setNoPageContent","removeAggregation","removeAllItems","removeStyleClass","oTile","addItem","_createNoPageContent","_oIllusMsg","illustrationSize","Small","illustrationType","NoSavedItems","description","oAddPageBtn","text","tooltip","oWrapperNoPageVBox","backgroundDesign","addAdditionalContent","oVal","propNames","Object","keys","sProperty","_this4","sInsertPosition","getParameter","oDragItem","oDropItem","iDragItemIndex","indexOfItem","iDropItemIndex","_temp3","_DragnDropPages","_this5","oItemMoved","splice","updateTileOrder","_updateTileOrder","dragIndex","dropIndex","draggedItem","_writeFavPagesIntoPers","favPages","_this6","_temp5","oPersonalizer","read","oPersData","favouritePages","write","_temp4","getPersContainerId","getOwnerComponent","_UShellPersonalizer$g","applyColorPersonalizations","_applyColorPersonalizations","personalizations","applyIconPersonalizations","_applyIconPersonalizations","pageManagerInstance","getPageWrapper","_getPageWrapper"],"sources":["PagePanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Button from \"sap/m/Button\";\nimport FlexBox, { $FlexBoxSettings } from \"sap/m/FlexBox\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport IllustratedMessage from \"sap/m/IllustratedMessage\";\nimport IllustratedMessageSize from \"sap/m/IllustratedMessageSize\";\nimport IllustratedMessageType from \"sap/m/IllustratedMessageType\";\nimport VBox from \"sap/m/VBox\";\nimport { LoadState } from \"sap/m/library\";\nimport Event from \"sap/ui/base/Event\";\nimport Component from \"sap/ui/core/Component\";\nimport Control from \"sap/ui/core/Control\";\nimport { MetadataOptions } from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport { DropInfo$DropEventParameters } from \"sap/ui/core/dnd/DropInfo\";\nimport type { $BasePagePanelSettings } from \"./BasePagePanel\";\nimport BasePagePanel from \"./BasePagePanel\";\nimport MenuItem from \"./MenuItem\";\nimport NewsAndPagesContainer from \"./NewsAndPagesContainer\";\nimport Page from \"./Page\";\nimport { ISpacePagePersonalization } from \"./interface/KeyUserInterface\";\nimport { IPage } from \"./interface/PageSpaceInterface\";\nimport { getPageManagerInstance } from \"./utils/CommonUtils\";\nimport { PAGE_SELECTION_LIMIT, SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { recycleId } from \"./utils/DataFormatUtils\";\nimport { DeviceType } from \"./utils/Device\";\nimport { attachKeyboardHandler, focusDraggedItem } from \"./utils/DragDropUtils\";\nimport { addFESRId, addFESRSemanticStepName } from \"./utils/FESRUtil\";\nimport PageManager from \"./utils/PageManager\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\nimport UShellPersonalizer from \"./utils/UshellPersonalizer\";\n\nconst tileSizes = {\n\tMobile: {\n\t\tmaxWidth: 37.5,\n\t\tminWidth: 8\n\t},\n\tTablet: {\n\t\tmaxWidth: 60,\n\t\tminWidth: 10.625\n\t},\n\tDesktop: {\n\t\tmaxWidth: 18.75,\n\t\tminWidth: 7\n\t},\n\tLargeDesktop: {\n\t\tmaxWidth: 18.75,\n\t\tminWidth: 7\n\t},\n\tXLargeDesktop: {\n\t\tmaxWidth: 18.75,\n\t\tminWidth: 7\n\t},\n\tsmallTabletMinWidth: 8\n};\n\nconst mobileOneTileLimit = 3;\nconst maxTileCOunt = 8;\nconst maxRowCount = 4;\n\n/**\n *\n * CustomFlexBox extending FlexBox to enable drag & drop.\n *\n * @extends sap.m.FlexBox\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.122\n * @private\n *\n * @alias sap.cux.home.CustomFlexBox\n */\nclass CustomFlexBox extends FlexBox {\n\tconstructor(idOrSettings?: string | $FlexBoxSettings);\n\tconstructor(id?: string, settings?: $FlexBoxSettings);\n\tconstructor(id?: string, settings?: $FlexBoxSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\taggregations: {\n\t\t\titems: { type: \"sap.ui.core.Control\", multiple: true, singularName: \"item\", dnd: { draggable: true, droppable: true } }\n\t\t}\n\t};\n\tstatic renderer = {\n\t\tapiVersion: 2\n\t};\n}\n\n/**\n *\n * Panel class for managing and storing Pages.\n *\n * @extends sap.cux.home.BasePagePanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.122\n *\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.PagePanel\n */\n\nexport default class PagePanel extends BasePagePanel {\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * Title for the page panel\n\t\t\t */\n\t\t\ttitle: { type: \"string\", group: \"Misc\", visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Key for the page panel\n\t\t\t */\n\t\t\tkey: { type: \"string\", group: \"Misc\", visibility: \"hidden\" }\n\t\t},\n\t\taggregations: {\n\t\t\t/**\n\t\t\t * Aggregation of pages available within the page panel\n\t\t\t */\n\t\t\tpages: { type: \"sap.cux.home.Page\", singularName: \"page\", multiple: true, visibility: \"hidden\" }\n\t\t}\n\t};\n\tprivate _oWrapperFlexBox!: CustomFlexBox;\n\tprivate _pageWrapper!: VBox;\n\tprivate oPagePromise!: Promise<IPage[]> | null;\n\tprivate pageManagerInstance!: PageManager;\n\tprivate aFavPages!: IPage[];\n\tprivate oInnerControls!: GenericTile[];\n\tprivate _oIllusMsg!: IllustratedMessage;\n\tprivate oWrapperNoPageVBox!: VBox;\n\tprivate oAddPageBtn!: Button;\n\tprivate oPersonalizer!: UShellPersonalizer;\n\tprivate oEventBus!: EventBus;\n\n\t/**\n\t * Constructor for a new Page panel.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $BasePagePanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tinit() {\n\t\tsuper.init();\n\n\t\tthis._oWrapperFlexBox = new CustomFlexBox(`${this.getId()}-pageWrapper`, {\n\t\t\tjustifyContent: \"Start\",\n\t\t\theight: \"100%\",\n\t\t\twidth: \"100%\",\n\t\t\tdirection: \"Row\",\n\t\t\trenderType: \"Bare\",\n\t\t\twrap: \"Wrap\",\n\t\t\titems: this.getPlaceholderPageTiles()\n\t\t}).addStyleClass(\"pagesFlexGap sapCuxPagesWrapper\");\n\n\t\tif (this.getDeviceType() !== DeviceType.Mobile) {\n\t\t\tthis._oWrapperFlexBox.addStyleClass(\"sapUiSmallMarginTop\");\n\t\t}\n\n\t\tthis._pageWrapper = new VBox(`${this.getId()}-pageContentWrapper`, { items: [this._oWrapperFlexBox] });\n\t\tthis.addContent(this._pageWrapper);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"pageTitle\"));\n\n\t\tconst menuItem = new MenuItem(`${this.getId()}-managePages`, {\n\t\t\ttitle: this._i18nBundle.getText(\"mngPage\"),\n\t\t\ticon: \"sap-icon://edit\",\n\t\t\tpress: () => this._handleEditPages()\n\t\t});\n\t\tthis.addAggregation(\"menuItems\", menuItem);\n\t\taddFESRId(menuItem, \"managePages\");\n\t\tthis.oEventBus = EventBus.getInstance();\n\t\t// Subscribe to the event\n\t\tthis.oEventBus.subscribe(\n\t\t\t\"importChannel\",\n\t\t\t\"favPagesImport\",\n\t\t\tasync (sChannelId?: string, sEventId?: string, oData?) => {\n\t\t\t\tthis.aFavPages = oData as IPage[];\n\t\t\t\tawait this.writeFavPagesIntoPers(this.aFavPages);\n\t\t\t\tthis._getInnerControls();\n\t\t\t\tthis._importdone();\n\t\t\t},\n\t\t\tthis\n\t\t);\n\n\t\t// Subscribe to page changes from pageManager\n\t\tthis.oEventBus.subscribe(\n\t\t\t\"pageChannel\",\n\t\t\t\"pageUpdated\",\n\t\t\t() => {\n\t\t\t\tvoid this.getData(true);\n\t\t\t},\n\t\t\tthis\n\t\t);\n\t}\n\n\tprivate _importdone() {\n\t\tconst stateData = { status: true };\n\t\tthis.oEventBus.publish(\"importChannel\", \"favPagesImported\", stateData);\n\t}\n\n\tpublic async getData(forceUpdate: boolean = false) {\n\t\tif (this.oPagePromise === undefined || this.oPagePromise === null || forceUpdate) {\n\t\t\tthis.oPagePromise = this._getPageManagerInstance().getFavoritePages();\n\t\t\tconst aFavPages = await this.oPagePromise;\n\t\t\tthis.aFavPages = aFavPages;\n\t\t\tthis._getInnerControls();\n\t\t\tthis.oPagePromise = null;\n\t\t}\n\t\tthis.fireEvent(\"loaded\");\n\t\treturn this.oPagePromise;\n\t}\n\n\t/**\n\t * Handles the edit page event.\n\t * Opens the page dialog for managing page data.\n\t * @param {Event} oEvent - The event object.\n\t * @private\n\t */\n\tprivate _handleEditPages() {\n\t\tconst parent = this.getParent() as NewsAndPagesContainer;\n\t\tparent?._getLayout().openSettingsDialog(SETTINGS_PANELS_KEYS.PAGES);\n\t}\n\n\t/**\n\t * returns an array of placeholder generic tiles for pages\n\t * @private\n\t */\n\tprivate getPlaceholderPageTiles(): GenericTile[] {\n\t\tconst placeholderArray = new Array(PAGE_SELECTION_LIMIT).fill(LoadState.Loading) as LoadState[];\n\t\tconst placeholderTiles = placeholderArray.map((tileState: LoadState, index) => {\n\t\t\treturn new GenericTile(recycleId(`${this.getId()}--${index}`), {\n\t\t\t\tsizeBehavior: \"Responsive\",\n\t\t\t\tstate: tileState,\n\t\t\t\tframeType: \"OneByOne\",\n\t\t\t\tmode: \"IconMode\",\n\t\t\t\tvisible: true,\n\t\t\t\trenderOnThemeChange: true,\n\t\t\t\tariaRole: \"listitem\",\n\t\t\t\tdropAreaOffset: 8\n\t\t\t}).addStyleClass(\"cuxPagesPlaceholder\");\n\t\t});\n\t\treturn placeholderTiles;\n\t}\n\n\tpublic attachResizeHandler(\n\t\tisNewsTileVisible: boolean,\n\t\tcontainerWidth: number,\n\t\tpagesContentWrapper: FlexBox\n\t): void {\n\t\ttry {\n\t\t\tconst favPagesCount = this.aFavPages?.length,\n\t\t\t\tdeviceType = this.getDeviceType();\n\n\t\t\tlet domRefClientWidth = containerWidth;\n\t\t\tif (\n\t\t\t\t(deviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop) &&\n\t\t\t\tisNewsTileVisible\n\t\t\t) {\n\t\t\t\tdomRefClientWidth = containerWidth / 2;\n\t\t\t}\n\n\t\t\tif (!domRefClientWidth) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet tileWidth,\n\t\t\t\thBoxWidth: string,\n\t\t\t\tfinalTilesWidth: string,\n\t\t\t\twrapperWidth = domRefClientWidth / 16; // Divide by 16 to convert to rem,\n\t\t\tconst gap = 1;\n\t\t\tpagesContentWrapper.setWidth(\"100%\");\n\n\t\t\tif (favPagesCount > 0) {\n\t\t\t\tconst pagesPerRow = this.calculatePagesPerRow(favPagesCount, isNewsTileVisible);\n\t\t\t\tif (pagesPerRow) {\n\t\t\t\t\tconst maxTileWidth = tileSizes[deviceType].maxWidth;\n\t\t\t\t\tlet minTileWidth = tileSizes[deviceType].minWidth;\n\t\t\t\t\t// when tablet viewport width is below 800px, 46rem(736px) is the container width and 2 rem is paddings\n\t\t\t\t\tif (deviceType === DeviceType.Tablet && containerWidth < 736) {\n\t\t\t\t\t\tminTileWidth = tileSizes.smallTabletMinWidth;\n\t\t\t\t\t}\n\t\t\t\t\ttileWidth = (wrapperWidth - (pagesPerRow - 1) * gap) / pagesPerRow;\n\t\t\t\t\ttileWidth = Math.min(tileWidth, maxTileWidth);\n\t\t\t\t\ttileWidth = Math.max(tileWidth, minTileWidth);\n\t\t\t\t\tfinalTilesWidth = `${tileWidth}rem`;\n\t\t\t\t\thBoxWidth = `${pagesPerRow * tileWidth + (pagesPerRow - 1) * gap}rem`;\n\t\t\t\t} else {\n\t\t\t\t\tfinalTilesWidth = \"auto\";\n\t\t\t\t\thBoxWidth = \"100%\";\n\t\t\t\t}\n\n\t\t\t\tthis._setPropertyValues({ hBoxWidth: hBoxWidth, pagesTileWidth: finalTilesWidth });\n\t\t\t\tpagesContentWrapper.setWidth(hBoxWidth);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tif (err instanceof Error) {\n\t\t\t\tconsole.error(err.message);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic async getUserAvailablePages() {\n\t\treturn await this._getPageManagerInstance().fetchAllAvailablePages();\n\t}\n\n\tprivate calculatePagesPerRow(favPagesCount: number, isNewsFeedVisible: boolean): number {\n\t\tlet pagesPerRow = 0;\n\t\tconst deviceType = this.getDeviceType();\n\t\tif (deviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop) {\n\t\t\tif (isNewsFeedVisible) {\n\t\t\t\t// halves the tiles in 2 rows\n\t\t\t\tpagesPerRow = Math.ceil(favPagesCount >= maxTileCOunt ? maxRowCount : favPagesCount / 2);\n\t\t\t} else {\n\t\t\t\tpagesPerRow = favPagesCount;\n\t\t\t}\n\t\t} else if (deviceType === DeviceType.Mobile) {\n\t\t\t// decides number of columns to either 1 or 2\n\t\t\tpagesPerRow = favPagesCount <= mobileOneTileLimit ? 1 : 2;\n\t\t} else if (deviceType === DeviceType.Tablet) {\n\t\t\t// upto 4 in a Row, otherwise halves the tiles in 2 rows\n\t\t\tpagesPerRow = favPagesCount <= maxRowCount ? favPagesCount : Math.ceil(favPagesCount / 2);\n\t\t}\n\t\treturn pagesPerRow;\n\t}\n\n\tprivate _getInnerControls() {\n\t\tconst myFavPage: Page[] = [];\n\t\tthis.oInnerControls = [];\n\t\tconst oParent = this.getParent() as NewsAndPagesContainer;\n\t\tif (this.aFavPages) {\n\t\t\tthis.aFavPages.forEach((oPage: IPage, index: number) => {\n\t\t\t\tmyFavPage.push(\n\t\t\t\t\tnew Page(recycleId(`${this.getId()}-favPage-${index}`), {\n\t\t\t\t\t\ttitle: oPage.title,\n\t\t\t\t\t\tsubTitle: oPage.title === oPage.spaceTitle ? \"\" : oPage.spaceTitle,\n\t\t\t\t\t\ticon: oPage.icon,\n\t\t\t\t\t\tbgColor: oPage.BGColor as string,\n\t\t\t\t\t\tpageId: oPage.pageId,\n\t\t\t\t\t\tspaceId: oPage.spaceId,\n\t\t\t\t\t\tspaceTitle: oPage.spaceTitle,\n\t\t\t\t\t\turl: \"#Launchpad-openFLPPage?pageId=\" + oPage.pageId + \"&spaceId=\" + oPage.spaceId\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t});\n\t\t\tmyFavPage.forEach((oFav: Page, index2: number) => {\n\t\t\t\tthis.oInnerControls.push(\n\t\t\t\t\tnew GenericTile(recycleId(`${oFav.getId()}--genericTile--${index2}`), {\n\t\t\t\t\t\t// width: \"10rem\",\n\t\t\t\t\t\theader: oFav.getTitle(),\n\t\t\t\t\t\tsubheader: oFav.getSubTitle(),\n\t\t\t\t\t\tpress: () => void oFav.onPageTilePress(oFav),\n\t\t\t\t\t\tsizeBehavior: \"Responsive\",\n\t\t\t\t\t\tstate: \"Loaded\",\n\t\t\t\t\t\tframeType: \"OneByOne\",\n\t\t\t\t\t\tmode: \"IconMode\",\n\t\t\t\t\t\tbackgroundColor: oFav.getBgColor(),\n\t\t\t\t\t\ttileIcon: oFav.getIcon(),\n\t\t\t\t\t\tvisible: true,\n\t\t\t\t\t\trenderOnThemeChange: true,\n\t\t\t\t\t\tariaRole: \"listitem\",\n\t\t\t\t\t\tdropAreaOffset: 8,\n\t\t\t\t\t\turl: oFav.getProperty(\"url\") as string\n\t\t\t\t\t}).addStyleClass(\"sapCuxPageTile\")\n\t\t\t\t);\n\t\t\t\tthis.addAggregation(\"pages\", oFav, true);\n\t\t\t});\n\n\t\t\tthis._oWrapperFlexBox.setAlignItems(this.aFavPages.length == 1 ? \"Start\" : \"Center\");\n\t\t\tconst dndConfigs = this._oWrapperFlexBox.getDragDropConfig();\n\t\t\tif (this.aFavPages.length) {\n\t\t\t\toParent?.panelLoadedFn(\"Page\", { loaded: true, count: this.aFavPages.length });\n\t\t\t\tthis._setFavPagesContent();\n\t\t\t\tif (!dndConfigs?.length)\n\t\t\t\t\tthis.addDragDropConfigTo(\n\t\t\t\t\t\tthis._oWrapperFlexBox,\n\t\t\t\t\t\t(oEvent) => void this._handlePageDnd(oEvent),\n\t\t\t\t\t\tasync (oEvent: KeyboardEvent) => {\n\t\t\t\t\t\t\tawait attachKeyboardHandler(oEvent, true);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis._oWrapperFlexBox.removeAllDragDropConfig();\n\t\t\t\tdndConfigs.forEach((dndConfig) => {\n\t\t\t\t\tdndConfig.destroy();\n\t\t\t\t});\n\t\t\t\toParent?.panelLoadedFn(\"Page\", { loaded: true, count: 0 });\n\t\t\t\tthis._setNoPageContent();\n\t\t\t}\n\t\t} else {\n\t\t\toParent?.panelLoadedFn(\"Page\", { loaded: false, count: 0 });\n\t\t\tthis.removeAggregation(\"content\", this._oWrapperFlexBox);\n\t\t}\n\t}\n\n\tprivate _setFavPagesContent() {\n\t\tthis._oWrapperFlexBox.removeAllItems();\n\t\tthis._oWrapperFlexBox.removeStyleClass(\"pagesFlexBox\");\n\t\tthis.oInnerControls.forEach((oTile: GenericTile) => {\n\t\t\tthis._oWrapperFlexBox.addItem(oTile);\n\t\t});\n\t}\n\n\tprivate _createNoPageContent() {\n\t\tif (!this._oIllusMsg) {\n\t\t\tthis._oIllusMsg = new IllustratedMessage(this.getId() + \"--idNoPages\", {\n\t\t\t\tillustrationSize: IllustratedMessageSize.Small,\n\t\t\t\tillustrationType: IllustratedMessageType.NoSavedItems,\n\t\t\t\ttitle: this._i18nBundle.getText(\"noDataPageTitle\"),\n\t\t\t\tdescription: this._i18nBundle.getText(\"noPageDescription\")\n\t\t\t}).addStyleClass(\"myHomeIllustratedMsg myHomeIllustratedMessageAlign\");\n\t\t\tthis.oAddPageBtn = new Button(this.getId() + \"--idAddPageBtn\", {\n\t\t\t\ttext: this._i18nBundle.getText(\"addPage\"),\n\t\t\t\ttooltip: this._i18nBundle.getText(\"addPage\"),\n\t\t\t\ttype: \"Emphasized\",\n\t\t\t\tpress: () => this._handleEditPages()\n\t\t\t});\n\t\t\taddFESRSemanticStepName(this.oAddPageBtn, \"press\", \"addPages\");\n\t\t}\n\t}\n\n\tprivate _setNoPageContent() {\n\t\tif (!this.oWrapperNoPageVBox) {\n\t\t\tthis.oWrapperNoPageVBox = new VBox(recycleId(`${this.getId()}--wrapperNoPageVBox`), {\n\t\t\t\twidth: \"100%\",\n\t\t\t\theight: \"17rem\",\n\t\t\t\tbackgroundDesign: \"Solid\",\n\t\t\t\tjustifyContent: \"Center\"\n\t\t\t}).addStyleClass(\"sapUiRoundedBorder noCardsBorder\");\n\t\t\tthis._createNoPageContent();\n\t\t\tthis._oIllusMsg.addAdditionalContent(this.oAddPageBtn);\n\t\t\tthis.oWrapperNoPageVBox.addItem(this._oIllusMsg);\n\t\t}\n\t\tthis._oWrapperFlexBox.removeAllItems();\n\t\tthis._oWrapperFlexBox.addStyleClass(\"pagesFlexBox\");\n\t\tthis._oWrapperFlexBox.addItem(this.oWrapperNoPageVBox);\n\t}\n\n\tprivate _setPropertyValues(oVal: { hBoxWidth: string; pagesTileWidth: string }) {\n\t\tconst propNames = Object.keys(oVal);\n\t\tpropNames.forEach((sProperty: string) => {\n\t\t\tif (sProperty === \"hBoxWidth\") {\n\t\t\t\tthis._oWrapperFlexBox.setProperty(\"width\", oVal[sProperty]);\n\t\t\t} else if (sProperty === \"pagesTileWidth\" && this.oInnerControls.length) {\n\t\t\t\tthis.oInnerControls.forEach(function (oTile) {\n\t\t\t\t\toTile.setProperty(\"width\", oVal[sProperty]);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate async _handlePageDnd(oEvent: Event<DropInfo$DropEventParameters>) {\n\t\tconst sInsertPosition = oEvent.getParameter?.(\"dropPosition\"),\n\t\t\toDragItem = oEvent?.getParameter?.(\"draggedControl\") as Control,\n\t\t\toDropItem = oEvent.getParameter(\"droppedControl\") as Control,\n\t\t\tiDragItemIndex = (oDragItem.getParent() as FlexBox)?.indexOfItem(oDragItem);\n\t\tlet iDropItemIndex = (oDragItem.getParent() as FlexBox)?.indexOfItem(oDropItem);\n\n\t\tif (sInsertPosition === \"Before\" && iDragItemIndex === iDropItemIndex - 1) {\n\t\t\tiDropItemIndex--;\n\t\t} else if (sInsertPosition === \"After\" && iDragItemIndex === iDropItemIndex + 1) {\n\t\t\tiDropItemIndex++;\n\t\t}\n\n\t\tif (iDragItemIndex !== iDropItemIndex) {\n\t\t\tawait this._DragnDropPages(iDragItemIndex, iDropItemIndex, sInsertPosition as string);\n\t\t}\n\t}\n\n\tprivate async _DragnDropPages(iDragItemIndex: number, iDropItemIndex: number, sInsertPosition: string) {\n\t\tif (sInsertPosition === \"Before\" && iDragItemIndex < iDropItemIndex) {\n\t\t\tiDropItemIndex--;\n\t\t} else if (sInsertPosition === \"After\" && iDragItemIndex > iDropItemIndex) {\n\t\t\tiDropItemIndex++;\n\t\t}\n\t\t// take the moved item from dragIndex and add to dropindex\n\t\tconst oItemMoved = this.aFavPages.splice(iDragItemIndex, 1)[0];\n\t\tthis.aFavPages.splice(iDropItemIndex, 0, oItemMoved);\n\t\tthis.updateTileOrder(iDragItemIndex, iDropItemIndex);\n\n\t\tawait this.writeFavPagesIntoPers(this.aFavPages);\n\t\tfocusDraggedItem(this._oWrapperFlexBox, iDropItemIndex);\n\t}\n\n\t/**\n\t * Updates the tile order in the UI after a drag-and-drop action.\n\t *\n\t * Moves a tile from `dragIndex` to `dropIndex` in the internal array\n\t * and re-renders the tile container to reflect the new order.\n\t *\n\t * @param {number} dragIndex - Index of the dragged tile.\n\t * @param {number} dropIndex - Index to insert the dragged tile.\n\t */\n\tprivate updateTileOrder(dragIndex: number, dropIndex: number) {\n\t\tconst [draggedItem] = this.oInnerControls.splice(dragIndex, 1);\n\t\tthis.oInnerControls.splice(dropIndex, 0, draggedItem);\n\t\tthis._oWrapperFlexBox.removeAllItems();\n\t\tthis.oInnerControls.forEach((oTile) => {\n\t\t\tthis._oWrapperFlexBox.addItem(oTile);\n\t\t});\n\t}\n\n\t/**\n\t * Writes the favourite pages data into personalizer\n\t *\n\t * @private\n\t * @async\n\t * @param {IPage[]} favPages\n\t * @returns {*}\n\t */\n\tprivate async writeFavPagesIntoPers(favPages: IPage[]) {\n\t\tif (this.oPersonalizer === undefined) {\n\t\t\tthis.oPersonalizer = await UShellPersonalizer.getInstance(\n\t\t\t\tPersonalisationUtils.getPersContainerId(this),\n\t\t\t\tPersonalisationUtils.getOwnerComponent(this) as Component\n\t\t\t);\n\t\t}\n\n\t\tlet oPersData = await this.oPersonalizer.read();\n\t\tif (!oPersData) oPersData = { favouritePages: [] };\n\t\toPersData.favouritePages = favPages;\n\t\tawait this.oPersonalizer.write(oPersData);\n\t}\n\n\tpublic applyColorPersonalizations(personalizations: Array<ISpacePagePersonalization>) {\n\t\tvoid this._getPageManagerInstance()?.applyColorPersonalizations(personalizations);\n\t}\n\n\tpublic applyIconPersonalizations(personalizations: Array<ISpacePagePersonalization>) {\n\t\tvoid this._getPageManagerInstance()?.applyIconPersonalizations(personalizations);\n\t}\n\n\tprivate _getPageManagerInstance() {\n\t\tthis.pageManagerInstance = this.pageManagerInstance || getPageManagerInstance(this);\n\t\treturn this.pageManagerInstance;\n\t}\n\n\t/**\n\t * Returns the wrapper FlexBox for the page panel.\n\t *\n\t * @returns {sap.m.FlexBox} The FlexBox that wraps the pages.\n\t * @private\n\t */\n\tpublic getPageWrapper(): FlexBox {\n\t\treturn this._oWrapperFlexBox;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -162,9 +162,13 @@ export default class PagePanel extends BasePagePanel {
162
162
  renderType: "Bare",
163
163
  wrap: "Wrap",
164
164
  items: this.getPlaceholderPageTiles()
165
- }).addStyleClass("pagesFlexGap sapUiSmallMarginTop sapCuxPagesWrapper");
165
+ }).addStyleClass("pagesFlexGap sapCuxPagesWrapper");
166
166
 
167
- this._pageWrapper = new VBox(`${this.getId()}-pageContentWrapper`, { items: [ this._oWrapperFlexBox ] });
167
+ if (this.getDeviceType() !== DeviceType.Mobile) {
168
+ this._oWrapperFlexBox.addStyleClass("sapUiSmallMarginTop");
169
+ }
170
+
171
+ this._pageWrapper = new VBox(`${this.getId()}-pageContentWrapper`, { items: [this._oWrapperFlexBox] });
168
172
  this.addContent(this._pageWrapper);
169
173
  this.setProperty("title", this._i18nBundle.getText("pageTitle"));
170
174
 
@@ -25,6 +25,7 @@ declare module "sap/cux/home/SettingsDialog" {
25
25
  private _masterPage;
26
26
  private _splitApp;
27
27
  private _deviceType;
28
+ private _showHamburger;
28
29
  static renderer: {
29
30
  apiVersion: number;
30
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsDialog.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/SettingsDialog.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,6BAA6B,CAAC;IAC7C;;;OAGG;IAEH,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;IAa9C,OAAO,kBAAkB,MAAM,iCAAiC,CAAC;IAIjE;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,kBAAkB;QAC7D,OAAO,CAAC,WAAW,CAAkC;QACrD,OAAO,CAAC,QAAQ,CAAU;QAC1B,OAAO,CAAC,SAAS,CAAQ;QACzB,OAAO,CAAC,WAAW,CAAQ;QAC3B,OAAO,CAAC,SAAS,CAAY;QAC7B,OAAO,CAAC,WAAW,CAAc;QAEjC,MAAM,CAAC,QAAQ;;UAEb;QAEF;;;;;WAKG;QACI,IAAI,IAAI,IAAI;QA4BnB;;;;;WAKG;QAEH,OAAO,CAAC,oBAAoB;QAY5B;;;;;WAKG;QACH,OAAO,CAAC,gBAAgB;QAkBxB;;;;;;WAMG;QACH,OAAO,CAAC,iBAAiB;QAezB;;;;;WAKG;QACH,OAAO,CAAC,6BAA6B;QAuBrC;;;;;WAKG;QACH,OAAO,CAAC,eAAe;QAmBvB;;;;;WAKG;QACH,OAAO,CAAC,qBAAqB;QA8B7B;;;;;WAKG;QACH,OAAO,CAAC,qBAAqB;QAK7B;;;;;;WAMG;QACI,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;QAelD;;;;;;;WAOG;gBACW,gBAAgB;QAmB9B;;;;;;WAMG;QACH,OAAO,CAAC,cAAc;KAsBtB;CAEA"}
1
+ {"version":3,"file":"SettingsDialog.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/SettingsDialog.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,6BAA6B,CAAC;IAC7C;;;OAGG;IAEH,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;IAa9C,OAAO,kBAAkB,MAAM,iCAAiC,CAAC;IAIjE;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,kBAAkB;QAC7D,OAAO,CAAC,WAAW,CAAkC;QACrD,OAAO,CAAC,QAAQ,CAAU;QAC1B,OAAO,CAAC,SAAS,CAAQ;QACzB,OAAO,CAAC,WAAW,CAAQ;QAC3B,OAAO,CAAC,SAAS,CAAY;QAC7B,OAAO,CAAC,WAAW,CAAc;QACjC,OAAO,CAAC,cAAc,CAAuB;QAE7C,MAAM,CAAC,QAAQ;;UAEb;QAEF;;;;;WAKG;QACI,IAAI,IAAI,IAAI;QA4BnB;;;;;WAKG;QAEH,OAAO,CAAC,oBAAoB;QAa5B;;;;;WAKG;QACH,OAAO,CAAC,gBAAgB;QAkBxB;;;;;;WAMG;QACH,OAAO,CAAC,iBAAiB;QAkBzB;;;;;WAKG;QACH,OAAO,CAAC,6BAA6B;QA0BrC;;;;;WAKG;QACH,OAAO,CAAC,eAAe;QAmBvB;;;;;WAKG;QACH,OAAO,CAAC,qBAAqB;QA8B7B;;;;;WAKG;QACH,OAAO,CAAC,qBAAqB;QAK7B;;;;;;WAMG;QACI,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;QAelD;;;;;;;WAOG;gBACW,gBAAgB;QAmB9B;;;;;;WAMG;QACH,OAAO,CAAC,cAAc;KAsBtB;CAEA"}
@@ -69,6 +69,7 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
69
69
  Device.resize.attachHandler(() => {
70
70
  const deviceType = calculateDeviceType();
71
71
  this._splitApp.setMode(deviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop ? "ShowHideMode" : "HideMode");
72
+ this._showHamburger = undefined;
72
73
  const isMasterShown = this._splitApp.isMasterShown();
73
74
  this._updateHeaderButtonVisibility(isMasterShown);
74
75
  });
@@ -104,13 +105,16 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
104
105
  _toggleMasterPage: function _toggleMasterPage() {
105
106
  const isMasterShown = this._splitApp.isMasterShown();
106
107
  const deviceType = this._deviceType || calculateDeviceType();
107
- if (deviceType !== DeviceType.Tablet) {
108
+ if (deviceType === DeviceType.Mobile) {
108
109
  this._splitApp.toMaster(this._masterPage.getId(), "slide");
110
+ this._splitApp.showMaster();
109
111
  } else {
110
112
  if (isMasterShown) {
111
113
  this._splitApp.hideMaster();
114
+ this._showHamburger = true;
112
115
  } else {
113
116
  this._splitApp.showMaster();
117
+ this._showHamburger = false;
114
118
  }
115
119
  }
116
120
  this._updateHeaderButtonVisibility(!isMasterShown);
@@ -130,17 +134,20 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
130
134
  if (Device.orientation?.portrait) {
131
135
  // Show menu button in portrait mode with a tooltip
132
136
  const tooltipText = this._i18nBundle.getText(isMasterShown ? "ToggleButtonHide" : "ToggleButtonShow");
133
- this._menuBtn.setVisible(true);
134
137
  if (tooltipText) {
135
138
  // Only set the tooltip if a valid string is available
136
139
  this._menuBtn.setTooltip(tooltipText);
137
140
  }
138
- } else {
139
- // Hide or show the menu button in other orientations
140
- this._menuBtn.setVisible(isMasterShown);
141
141
  }
142
+ this._menuBtn.setVisible(true);
142
143
  } else {
143
- this._menuBtn.setVisible(false);
144
+ let visibility = true;
145
+ if (this._showHamburger === undefined) {
146
+ if (this._splitApp.isMasterShown()) {
147
+ visibility = false;
148
+ }
149
+ }
150
+ this._menuBtn.setVisible(visibility);
144
151
  }
145
152
  },
146
153
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsDialog.js","names":["sap","ui","define","Bar","Button","sap_m_library","List","Page","SplitApp","StandardListItem","Title","Element","Device","__BaseSettingsDialog","___utils_Device","_interopRequireDefault","obj","__esModule","default","SplitAppMode","BaseSettingsDialog","calculateDeviceType","DeviceType","SettingsDialog","extend","renderer","apiVersion","init","_init","BaseSettingsDialog.prototype.init.call","_controlMap","Map","setContentWidth","setStretch","setCustomHeader","_setCustomHeader","addButton","getId","text","_i18nBundle","getText","type","press","close","addContent","title","showHeader","content","_getPageContent","_attachResizeHandler","resize","attachHandler","deviceType","_splitApp","setMode","Desktop","LargeDesktop","XLargeDesktop","isMasterShown","_updateHeaderButtonVisibility","_menuBtn","icon","tooltip","_toggleMasterPage","visible","contentLeft","contentMiddle","level","_deviceType","Tablet","toMaster","_masterPage","hideMaster","showMaster","Mobile","setVisible","orientation","portrait","tooltipText","setTooltip","_menuList","mode","itemPress","event","_navigateToDetailPage","addStyleClass","masterPages","masterButton","_hideNavigationButton","context","listItem","getParameter","firstPanel","getPanels","selectedKey","data","getProperty","setProperty","detailPage","getElementById","toDetail","getMode","ShowHideMode","selectedPanel","find","panel","firePanelNavigated","removeSelections","pageItem","setTimeout","setSelectedItem","focus","navigationButton","getSource","destroy","onBeforeRendering","_onBeforeRendering","BaseSettingsDialog.prototype.onBeforeRendering.call","forEach","_getPageListItem","then","item","addItem","addDetailPage","_getDetailPage","settingsPanel","_this","id","get","iconDensityAware","set","_listItem","_setVisible","Promise","resolve","isSupported","_settingsPanel$isSupp","call","e","reject","page","backgroundDesign","getActionButtons","actionButton","addHeaderContent","getAggregation"],"sources":["SettingsDialog.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport { Event as JQueryEvent } from \"jquery\";\nimport Bar from \"sap/m/Bar\";\nimport Button from \"sap/m/Button\";\nimport { SplitAppMode } from \"sap/m/library\";\nimport List from \"sap/m/List\";\nimport Page from \"sap/m/Page\";\nimport SplitApp from \"sap/m/SplitApp\";\nimport StandardListItem from \"sap/m/StandardListItem\";\nimport Title from \"sap/m/Title\";\nimport Event from \"sap/ui/base/Event\";\nimport Control from \"sap/ui/core/Control\";\nimport Element from \"sap/ui/core/Element\";\nimport Device from \"sap/ui/Device\";\nimport BaseSettingsDialog from \"./BaseSettingsDialog\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport { calculateDeviceType, DeviceType } from \"./utils/Device\";\n\n/**\n *\n * Dialog class for My Home Settings.\n *\n * @extends BaseSettingsDialog\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n * @private\n *\n * @alias sap.cux.home.SettingsDialog\n */\nexport default class SettingsDialog extends BaseSettingsDialog {\n\tprivate _controlMap!: Map<string, Control | Element>;\n\tprivate _menuBtn!: Button;\n\tprivate _menuList!: List;\n\tprivate _masterPage!: Page;\n\tprivate _splitApp!: SplitApp;\n\tprivate _deviceType!: DeviceType;\n\n\tstatic renderer = {\n\t\tapiVersion: 2\n\t};\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\t\tthis._controlMap = new Map();\n\n\t\t//setup dialog\n\t\tthis.setContentWidth(\"72rem\");\n\t\tthis.setStretch(false);\n\t\tthis.setCustomHeader(this._setCustomHeader());\n\n\t\t//setup dialog buttons\n\t\tthis.addButton(\n\t\t\tnew Button(`${this.getId()}-close-btn`, {\n\t\t\t\ttext: this._i18nBundle.getText(\"XBUT_CLOSE\"),\n\t\t\t\ttype: \"Transparent\",\n\t\t\t\tpress: () => this.close()\n\t\t\t})\n\t\t);\n\n\t\t//setup dialog content\n\t\tthis.addContent(\n\t\t\tnew Page(`${this.getId()}-settingsPage`, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\t\tshowHeader: false,\n\t\t\t\tcontent: this._getPageContent()\n\t\t\t})\n\t\t);\n\t\tthis._attachResizeHandler();\n\t}\n\t/**\n\t * Attaches a resize event handler to dynamically adjust the split app mode and\n\t * header button visibility based on the current device type.\n\t *\n\t * @returns {void}\n\t */\n\n\tprivate _attachResizeHandler(): void {\n\t\tDevice.resize.attachHandler(() => {\n\t\t\tconst deviceType = calculateDeviceType();\n\t\t\tthis._splitApp.setMode(\n\t\t\t\tdeviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop\n\t\t\t\t\t? \"ShowHideMode\"\n\t\t\t\t\t: \"HideMode\"\n\t\t\t);\n\t\t\tconst isMasterShown = this._splitApp.isMasterShown();\n\t\t\tthis._updateHeaderButtonVisibility(isMasterShown);\n\t\t});\n\t}\n\t/**\n\t * Creates and sets a custom header for the SettingsDialog.\n\t *\n\t * @private\n\t * @returns {Bar} The custom header bar for the SettingsDialog.\n\t */\n\tprivate _setCustomHeader(): Bar {\n\t\tthis._menuBtn = new Button(`${this.getId()}-menu-btn`, {\n\t\t\ticon: \"sap-icon://menu2\",\n\t\t\ttooltip: this._i18nBundle.getText(\"showMenu\"),\n\t\t\tpress: () => this._toggleMasterPage(),\n\t\t\tvisible: false\n\t\t});\n\t\treturn new Bar(`${this.getId()}-header`, {\n\t\t\tcontentLeft: [this._menuBtn],\n\t\t\tcontentMiddle: [\n\t\t\t\tnew Title(`${this.getId()}-dialog-title`, {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\t\t\tlevel: \"H1\"\n\t\t\t\t})\n\t\t\t]\n\t\t});\n\t}\n\n\t/**\n\t * Toggles the visibility of the master page in the SettingsDialog based on the current device width.\n\t * If the device width is less than 600 pixels or equal to or greater than 1024 pixels, the master\n\t * page is always shown. Otherwise, it toggles the visibility of the master page.\n\t *\n\t * @private\n\t */\n\tprivate _toggleMasterPage(): void {\n\t\tconst isMasterShown = this._splitApp.isMasterShown();\n\t\tconst deviceType = this._deviceType || calculateDeviceType();\n\t\tif (deviceType !== DeviceType.Tablet) {\n\t\t\tthis._splitApp.toMaster(this._masterPage.getId(), \"slide\");\n\t\t} else {\n\t\t\tif (isMasterShown) {\n\t\t\t\tthis._splitApp.hideMaster();\n\t\t\t} else {\n\t\t\t\tthis._splitApp.showMaster();\n\t\t\t}\n\t\t}\n\t\tthis._updateHeaderButtonVisibility(!isMasterShown);\n\t}\n\n\t/**\n\t * Update header button\n\t *\n\t * @param {boolean} isMasterShown If master page is shown\n\t * @private\n\t */\n\tprivate _updateHeaderButtonVisibility(isMasterShown: boolean): void {\n\t\tconst deviceType = this._deviceType || calculateDeviceType();\n\t\tif (deviceType === DeviceType.Mobile) {\n\t\t\t// Hide or show the menu button on mobile\n\t\t\tthis._menuBtn.setVisible(!isMasterShown);\n\t\t} else if (deviceType === DeviceType.Tablet) {\n\t\t\tif (Device.orientation?.portrait) {\n\t\t\t\t// Show menu button in portrait mode with a tooltip\n\t\t\t\tconst tooltipText = this._i18nBundle.getText(isMasterShown ? \"ToggleButtonHide\" : \"ToggleButtonShow\");\n\t\t\t\tthis._menuBtn.setVisible(true);\n\t\t\t\tif (tooltipText) {\n\t\t\t\t\t// Only set the tooltip if a valid string is available\n\t\t\t\t\tthis._menuBtn.setTooltip(tooltipText);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Hide or show the menu button in other orientations\n\t\t\t\tthis._menuBtn.setVisible(isMasterShown);\n\t\t\t}\n\t\t} else {\n\t\t\tthis._menuBtn.setVisible(false);\n\t\t}\n\t}\n\n\t/**\n\t * Generates the content for the SettingsDialog, including the master page and split app.\n\t *\n\t * @private\n\t * @returns {SplitApp} The split app containing the master page and detail pages for the SettingsDialog.\n\t */\n\tprivate _getPageContent(): SplitApp {\n\t\tthis._menuList = new List(`${this.getId()}-master-pages-list`, {\n\t\t\tmode: \"SingleSelectMaster\",\n\t\t\titemPress: (event: Event) => this._navigateToDetailPage(event)\n\t\t}).addStyleClass(\"sapCuxMasterPageList\");\n\t\tthis._masterPage = new Page(`${this.getId()}-master-page`, {\n\t\t\ttitle: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\tshowHeader: false,\n\t\t\tcontent: [this._menuList]\n\t\t});\n\t\tthis._splitApp = new SplitApp(`${this.getId()}-settingsApp`, {\n\t\t\tmode: \"ShowHideMode\",\n\t\t\tmasterPages: [this._masterPage],\n\t\t\tmasterButton: (event: Event) => this._hideNavigationButton(event)\n\t\t});\n\n\t\treturn this._splitApp;\n\t}\n\n\t/**\n\t * Navigates to the detail page associated with the selected item in the master page list.\n\t *\n\t * @private\n\t * @param {Event} event The item press event from the master page list.\n\t */\n\tprivate _navigateToDetailPage(event: Event<{ listItem?: StandardListItem }> | string, context?: object): void {\n\t\t//update selected key\n\t\tconst listItem = typeof event === \"string\" ? event : event.getParameter?.(\"listItem\");\n\t\tconst firstPanel = this.getPanels()[0];\n\t\tconst selectedKey = ((listItem as StandardListItem)?.data?.(\"key\") || event || firstPanel?.getProperty(\"key\")) as string;\n\t\tthis.setProperty(\"selectedKey\", selectedKey, true);\n\n\t\t//navigate to detail page\n\t\tconst detailPage = Element.getElementById(`${selectedKey}-detail-page`) as Page;\n\t\tthis._splitApp.toDetail(detailPage.getId(), \"slide\");\n\t\tthis._splitApp.hideMaster();\n\t\tif (this._splitApp.getMode() === SplitAppMode.ShowHideMode) {\n\t\t\tthis._updateHeaderButtonVisibility(false);\n\t\t}\n\n\t\t//fire panel navigated event\n\t\tconst selectedPanel = this.getPanels().find(\n\t\t\t(panel: BaseSettingsPanel) => panel.getProperty(\"key\") === selectedKey\n\t\t) as BaseSettingsPanel;\n\t\tselectedPanel?.firePanelNavigated({ context });\n\n\t\t//select list item\n\t\tthis._menuList.removeSelections(true);\n\t\tconst pageItem = Element.getElementById(`${selectedKey}-page-item`) as StandardListItem;\n\t\tsetTimeout(() => {\n\t\t\tthis._menuList.setSelectedItem(pageItem);\n\t\t\tpageItem.focus();\n\t\t}, 0);\n\t}\n\n\t/**\n\t * Hides the navigation button associated with the provided event.\n\t *\n\t * @private\n\t * @param {Event} event The event triggering the hide action.\n\t */\n\tprivate _hideNavigationButton(event: Event): void {\n\t\tconst navigationButton = Element.getElementById(`${event.getSource<SplitApp>().getId()}-MasterBtn`) as Button;\n\t\tnavigationButton?.destroy();\n\t}\n\n\t/**\n\t * onBeforeRendering lifecycle method.\n\t * Prepares the SettingsDialog content and navigate to the selected detail page.\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic onBeforeRendering(event: JQueryEvent): void {\n\t\tsuper.onBeforeRendering(event);\n\n\t\t//setup master and detail page content\n\t\tthis.getPanels().forEach((panel: BaseSettingsPanel) => {\n\t\t\tvoid this._getPageListItem(panel).then((item) => this._menuList.addItem(item));\n\t\t\tthis._splitApp.addDetailPage(this._getDetailPage(panel));\n\t\t});\n\n\t\t//navigate to detail page\n\t\tconst selectedKey = this.getProperty(\"selectedKey\") as string;\n\t\tconst context = this.getProperty(\"context\") as object;\n\t\tthis._navigateToDetailPage(selectedKey, context);\n\t}\n\n\t/**\n\t * Generates a list item for the master page list based on the settings panel.\n\t * The list item displays the title and icon of the settings panel.\n\t *\n\t * @private\n\t * @param {BaseSettingsPanel} settingsPanel The settings panel for which to generate the list item.\n\t * @returns {StandardListItem} The list item control representing the settings panel in the master page list.\n\t */\n\tprivate async _getPageListItem(settingsPanel: BaseSettingsPanel): Promise<StandardListItem> {\n\t\tconst id = `${settingsPanel.getProperty(\"key\")}-page-item`;\n\t\tlet listItem = this._controlMap.get(id) as StandardListItem;\n\n\t\tif (!listItem) {\n\t\t\tlistItem = new StandardListItem(id, {\n\t\t\t\ttitle: settingsPanel.getProperty(\"title\") as string,\n\t\t\t\ticon: settingsPanel.getProperty(\"icon\") as string,\n\t\t\t\ttype: \"Navigation\",\n\t\t\t\ticonDensityAware: false\n\t\t\t});\n\t\t\tlistItem.data(\"key\", settingsPanel.getProperty(\"key\"));\n\t\t\tthis._controlMap.set(id, listItem);\n\t\t}\n\n\t\tlistItem.setVisible(await settingsPanel.isSupported());\n\t\treturn listItem;\n\t}\n\n\t/**\n\t * Generates a detail page for the SettingsDialog based on the provided settings panel.\n\t *\n\t * @private\n\t * @param {BaseSettingsPanel} settingsPanel The settings panel for which to generate the detail page.\n\t * @returns {Page} The detail page control representing the settings panel.\n\t */\n\tprivate _getDetailPage(settingsPanel: BaseSettingsPanel): Page {\n\t\tconst id = `${settingsPanel.getProperty(\"key\")}-detail-page`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tconst page = new Page(id, {\n\t\t\t\ttitle: settingsPanel.getProperty(\"title\") as string,\n\t\t\t\tbackgroundDesign: \"List\",\n\t\t\t\tshowHeader: settingsPanel.getProperty(\"showHeader\") as boolean\n\t\t\t});\n\n\t\t\t//add settings panel action buttons\n\t\t\tsettingsPanel.getActionButtons().forEach((actionButton) => {\n\t\t\t\tpage.addHeaderContent(actionButton);\n\t\t\t});\n\n\t\t\tthis._controlMap.set(id, page);\n\t\t}\n\n\t\t//add settings panel content\n\t\t(settingsPanel.getAggregation(\"content\") as Control[]).forEach((content) => (this._controlMap.get(id) as Page).addContent(content));\n\n\t\treturn this._controlMap.get(id) as Page;\n\t}\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,oOAAAC,GAAA,EAAAC,MAAA,EAAAC,aAAA,EAAAC,IAAA,EAAAC,IAAA,EAAAC,QAAA,EAAAC,gBAAA,EAAAC,KAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,oBAAA,EAAAC,eAAA;EAAA;;EAAA,SAAAC,uBAAAC,GAAA;IAAA,OAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,CAAAE,OAAA,mBAAAF,GAAA,CAAAE,OAAA,GAAAF,GAAA;EAAA;EAAA,MAQSG,YAAY,GAAAd,aAAA;EAAA,MAUde,kBAAkB,GAAAL,sBAAA,CAAAF,oBAAA;EAAA,MAEhBQ,mBAAmB,GAAAP,eAAA;EAAA,MAAEQ,UAAU,GAAAR,eAAA;EAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAZA,MAaqBS,cAAc,GAASH,kBAAkB,CAAAI,MAAA;IAQtDC,QAAQ,EAAG;MACjBC,UAAU,EAAE;IACb,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACQC,IAAI,WAAAC,MAAA,EAAS;MACnBC,sCAAA;MACA,IAAI,CAACC,WAAW,GAAG,IAAIC,GAAG,CAAC,CAAC;;MAE5B;MACA,IAAI,CAACC,eAAe,CAAC,OAAO,CAAC;MAC7B,IAAI,CAACC,UAAU,CAAC,KAAK,CAAC;MACtB,IAAI,CAACC,eAAe,CAAC,IAAI,CAACC,gBAAgB,CAAC,CAAC,CAAC;;MAE7C;MACA,IAAI,CAACC,SAAS,CACb,IAAIhC,MAAM,CAAC,GAAG,IAAI,CAACiC,KAAK,CAAC,CAAC,YAAY,EAAE;QACvCC,IAAI,EAAE,IAAI,CAACC,WAAW,CAACC,OAAO,CAAC,YAAY,CAAC;QAC5CC,IAAI,EAAE,aAAa;QACnBC,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACC,KAAK,CAAC;MACzB,CAAC,CACF,CAAC;;MAED;MACA,IAAI,CAACC,UAAU,CACd,IAAIrC,IAAI,CAAC,GAAG,IAAI,CAAC8B,KAAK,CAAC,CAAC,eAAe,EAAE;QACxCQ,KAAK,EAAE,IAAI,CAACN,WAAW,CAACC,OAAO,CAAC,gBAAgB,CAAC;QACjDM,UAAU,EAAE,KAAK;QACjBC,OAAO,EAAE,IAAI,CAACC,eAAe,CAAC;MAC/B,CAAC,CACF,CAAC;MACD,IAAI,CAACC,oBAAoB,CAAC,CAAC;IAC5B,CAAC;IACD;AACD;AACA;AACA;AACA;AACA;IAESA,oBAAoB,WAAAA,qBAAA,EAAS;MACpCrC,MAAM,CAACsC,MAAM,CAACC,aAAa,CAAC,MAAM;QACjC,MAAMC,UAAU,GAAG/B,mBAAmB,CAAC,CAAC;QACxC,IAAI,CAACgC,SAAS,CAACC,OAAO,CACrBF,UAAU,KAAK9B,UAAU,CAACiC,OAAO,IAAIH,UAAU,KAAK9B,UAAU,CAACkC,YAAY,IAAIJ,UAAU,KAAK9B,UAAU,CAACmC,aAAa,GACnH,cAAc,GACd,UACJ,CAAC;QACD,MAAMC,aAAa,GAAG,IAAI,CAACL,SAAS,CAACK,aAAa,CAAC,CAAC;QACpD,IAAI,CAACC,6BAA6B,CAACD,aAAa,CAAC;MAClD,CAAC,CAAC;IACH,CAAC;IACD;AACD;AACA;AACA;AACA;AACA;IACSvB,gBAAgB,WAAAA,iBAAA,EAAQ;MAC/B,IAAI,CAACyB,QAAQ,GAAG,IAAIxD,MAAM,CAAC,GAAG,IAAI,CAACiC,KAAK,CAAC,CAAC,WAAW,EAAE;QACtDwB,IAAI,EAAE,kBAAkB;QACxBC,OAAO,EAAE,IAAI,CAACvB,WAAW,CAACC,OAAO,CAAC,UAAU,CAAC;QAC7CE,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACqB,iBAAiB,CAAC,CAAC;QACrCC,OAAO,EAAE;MACV,CAAC,CAAC;MACF,OAAO,IAAI7D,GAAG,CAAC,GAAG,IAAI,CAACkC,KAAK,CAAC,CAAC,SAAS,EAAE;QACxC4B,WAAW,EAAE,CAAC,IAAI,CAACL,QAAQ,CAAC;QAC5BM,aAAa,EAAE,CACd,IAAIxD,KAAK,CAAC,GAAG,IAAI,CAAC2B,KAAK,CAAC,CAAC,eAAe,EAAE;UACzCC,IAAI,EAAE,IAAI,CAACC,WAAW,CAACC,OAAO,CAAC,gBAAgB,CAAC;UAChD2B,KAAK,EAAE;QACR,CAAC,CAAC;MAEJ,CAAC,CAAC;IACH,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACSJ,iBAAiB,WAAAA,kBAAA,EAAS;MACjC,MAAML,aAAa,GAAG,IAAI,CAACL,SAAS,CAACK,aAAa,CAAC,CAAC;MACpD,MAAMN,UAAU,GAAG,IAAI,CAACgB,WAAW,IAAI/C,mBAAmB,CAAC,CAAC;MAC5D,IAAI+B,UAAU,KAAK9B,UAAU,CAAC+C,MAAM,EAAE;QACrC,IAAI,CAAChB,SAAS,CAACiB,QAAQ,CAAC,IAAI,CAACC,WAAW,CAAClC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC;MAC3D,CAAC,MAAM;QACN,IAAIqB,aAAa,EAAE;UAClB,IAAI,CAACL,SAAS,CAACmB,UAAU,CAAC,CAAC;QAC5B,CAAC,MAAM;UACN,IAAI,CAACnB,SAAS,CAACoB,UAAU,CAAC,CAAC;QAC5B;MACD;MACA,IAAI,CAACd,6BAA6B,CAAC,CAACD,aAAa,CAAC;IACnD,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACSC,6BAA6B,WAAAA,8BAACD,aAAsB,EAAQ;MACnE,MAAMN,UAAU,GAAG,IAAI,CAACgB,WAAW,IAAI/C,mBAAmB,CAAC,CAAC;MAC5D,IAAI+B,UAAU,KAAK9B,UAAU,CAACoD,MAAM,EAAE;QACrC;QACA,IAAI,CAACd,QAAQ,CAACe,UAAU,CAAC,CAACjB,aAAa,CAAC;MACzC,CAAC,MAAM,IAAIN,UAAU,KAAK9B,UAAU,CAAC+C,MAAM,EAAE;QAC5C,IAAIzD,MAAM,CAACgE,WAAW,EAAEC,QAAQ,EAAE;UACjC;UACA,MAAMC,WAAW,GAAG,IAAI,CAACvC,WAAW,CAACC,OAAO,CAACkB,aAAa,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;UACrG,IAAI,CAACE,QAAQ,CAACe,UAAU,CAAC,IAAI,CAAC;UAC9B,IAAIG,WAAW,EAAE;YAChB;YACA,IAAI,CAAClB,QAAQ,CAACmB,UAAU,CAACD,WAAW,CAAC;UACtC;QACD,CAAC,MAAM;UACN;UACA,IAAI,CAAClB,QAAQ,CAACe,UAAU,CAACjB,aAAa,CAAC;QACxC;MACD,CAAC,MAAM;QACN,IAAI,CAACE,QAAQ,CAACe,UAAU,CAAC,KAAK,CAAC;MAChC;IACD,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACS3B,eAAe,WAAAA,gBAAA,EAAa;MACnC,IAAI,CAACgC,SAAS,GAAG,IAAI1E,IAAI,CAAC,GAAG,IAAI,CAAC+B,KAAK,CAAC,CAAC,oBAAoB,EAAE;QAC9D4C,IAAI,EAAE,oBAAoB;QAC1BC,SAAS,EAAGC,KAAY,IAAK,IAAI,CAACC,qBAAqB,CAACD,KAAK;MAC9D,CAAC,CAAC,CAACE,aAAa,CAAC,sBAAsB,CAAC;MACxC,IAAI,CAACd,WAAW,GAAG,IAAIhE,IAAI,CAAC,GAAG,IAAI,CAAC8B,KAAK,CAAC,CAAC,cAAc,EAAE;QAC1DQ,KAAK,EAAE,IAAI,CAACN,WAAW,CAACC,OAAO,CAAC,gBAAgB,CAAC;QACjDM,UAAU,EAAE,KAAK;QACjBC,OAAO,EAAE,CAAC,IAAI,CAACiC,SAAS;MACzB,CAAC,CAAC;MACF,IAAI,CAAC3B,SAAS,GAAG,IAAI7C,QAAQ,CAAC,GAAG,IAAI,CAAC6B,KAAK,CAAC,CAAC,cAAc,EAAE;QAC5D4C,IAAI,EAAE,cAAc;QACpBK,WAAW,EAAE,CAAC,IAAI,CAACf,WAAW,CAAC;QAC/BgB,YAAY,EAAGJ,KAAY,IAAK,IAAI,CAACK,qBAAqB,CAACL,KAAK;MACjE,CAAC,CAAC;MAEF,OAAO,IAAI,CAAC9B,SAAS;IACtB,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACS+B,qBAAqB,WAAAA,sBAACD,KAAsD,EAAEM,OAAgB,EAAQ;MAC7G;MACA,MAAMC,QAAQ,GAAG,OAAOP,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGA,KAAK,CAACQ,YAAY,GAAG,UAAU,CAAC;MACrF,MAAMC,UAAU,GAAG,IAAI,CAACC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;MACtC,MAAMC,WAAW,GAAKJ,QAAQ,EAAuBK,IAAI,GAAG,KAAK,CAAC,IAAIZ,KAAK,IAAIS,UAAU,EAAEI,WAAW,CAAC,KAAK,CAAY;MACxH,IAAI,CAACC,WAAW,CAAC,aAAa,EAAEH,WAAW,EAAE,IAAI,CAAC;;MAElD;MACA,MAAMI,UAAU,GAAGvF,OAAO,CAACwF,cAAc,CAAC,GAAGL,WAAW,cAAc,CAAS;MAC/E,IAAI,CAACzC,SAAS,CAAC+C,QAAQ,CAACF,UAAU,CAAC7D,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC;MACpD,IAAI,CAACgB,SAAS,CAACmB,UAAU,CAAC,CAAC;MAC3B,IAAI,IAAI,CAACnB,SAAS,CAACgD,OAAO,CAAC,CAAC,KAAKlF,YAAY,CAACmF,YAAY,EAAE;QAC3D,IAAI,CAAC3C,6BAA6B,CAAC,KAAK,CAAC;MAC1C;;MAEA;MACA,MAAM4C,aAAa,GAAG,IAAI,CAACV,SAAS,CAAC,CAAC,CAACW,IAAI,CACzCC,KAAwB,IAAKA,KAAK,CAACT,WAAW,CAAC,KAAK,CAAC,KAAKF,WAC5D,CAAsB;MACtBS,aAAa,EAAEG,kBAAkB,CAAC;QAAEjB;MAAQ,CAAC,CAAC;;MAE9C;MACA,IAAI,CAACT,SAAS,CAAC2B,gBAAgB,CAAC,IAAI,CAAC;MACrC,MAAMC,QAAQ,GAAGjG,OAAO,CAACwF,cAAc,CAAC,GAAGL,WAAW,YAAY,CAAqB;MACvFe,UAAU,CAAC,MAAM;QAChB,IAAI,CAAC7B,SAAS,CAAC8B,eAAe,CAACF,QAAQ,CAAC;QACxCA,QAAQ,CAACG,KAAK,CAAC,CAAC;MACjB,CAAC,EAAE,CAAC,CAAC;IACN,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACSvB,qBAAqB,WAAAA,sBAACL,KAAY,EAAQ;MACjD,MAAM6B,gBAAgB,GAAGrG,OAAO,CAACwF,cAAc,CAAC,GAAGhB,KAAK,CAAC8B,SAAS,CAAW,CAAC,CAAC5E,KAAK,CAAC,CAAC,YAAY,CAAW;MAC7G2E,gBAAgB,EAAEE,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACQC,iBAAiB,WAAAC,mBAACjC,KAAkB,EAAQ;MAClDkC,mDAAA,OAAwBlC,KAAK;;MAE7B;MACA,IAAI,CAACU,SAAS,CAAC,CAAC,CAACyB,OAAO,CAAEb,KAAwB,IAAK;QACtD,KAAK,IAAI,CAACc,gBAAgB,CAACd,KAAK,CAAC,CAACe,IAAI,CAAEC,IAAI,IAAK,IAAI,CAACzC,SAAS,CAAC0C,OAAO,CAACD,IAAI,CAAC,CAAC;QAC9E,IAAI,CAACpE,SAAS,CAACsE,aAAa,CAAC,IAAI,CAACC,cAAc,CAACnB,KAAK,CAAC,CAAC;MACzD,CAAC,CAAC;;MAEF;MACA,MAAMX,WAAW,GAAG,IAAI,CAACE,WAAW,CAAC,aAAa,CAAW;MAC7D,MAAMP,OAAO,GAAG,IAAI,CAACO,WAAW,CAAC,SAAS,CAAW;MACrD,IAAI,CAACZ,qBAAqB,CAACU,WAAW,EAAEL,OAAO,CAAC;IACjD,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACe8B,gBAAgB,WAAAA,iBAACM,aAAgC;MAAA,IAA6B;QAAA,MAAAC,KAAA,GAE5E,IAAI;QADnB,MAAMC,EAAE,GAAG,GAAGF,aAAa,CAAC7B,WAAW,CAAC,KAAK,CAAC,YAAY;QAC1D,IAAIN,QAAQ,GAAGoC,KAAA,CAAKhG,WAAW,CAACkG,GAAG,CAACD,EAAE,CAAqB;QAE3D,IAAI,CAACrC,QAAQ,EAAE;UACdA,QAAQ,GAAG,IAAIjF,gBAAgB,CAACsH,EAAE,EAAE;YACnClF,KAAK,EAAEgF,aAAa,CAAC7B,WAAW,CAAC,OAAO,CAAW;YACnDnC,IAAI,EAAEgE,aAAa,CAAC7B,WAAW,CAAC,MAAM,CAAW;YACjDvD,IAAI,EAAE,YAAY;YAClBwF,gBAAgB,EAAE;UACnB,CAAC,CAAC;UACFvC,QAAQ,CAACK,IAAI,CAAC,KAAK,EAAE8B,aAAa,CAAC7B,WAAW,CAAC,KAAK,CAAC,CAAC;UACtD8B,KAAA,CAAKhG,WAAW,CAACoG,GAAG,CAACH,EAAE,EAAErC,QAAQ,CAAC;QACnC;QAAC,MAAAyC,SAAA,GAEDzC,QAAQ;UAAA0C,WAAA,GAARD,SAAA,CAASxD,UAAU;QAAA,OAAA0D,OAAA,CAAAC,OAAA,CAAOT,aAAa,CAACU,WAAW,CAAC,CAAC,EAAAf,IAAA,WAAAgB,qBAAA;UAArDJ,WAAA,CAAAK,IAAA,CAAAN,SAAA,EAAAK,qBAAA;UACA,OAAO9C,QAAQ;QAAC;MACjB,CAAC,QAAAgD,CAAA;QAAA,OAAAL,OAAA,CAAAM,MAAA,CAAAD,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACSd,cAAc,WAAAA,eAACC,aAAgC,EAAQ;MAC9D,MAAME,EAAE,GAAG,GAAGF,aAAa,CAAC7B,WAAW,CAAC,KAAK,CAAC,cAAc;MAC5D,IAAI,CAAC,IAAI,CAAClE,WAAW,CAACkG,GAAG,CAACD,EAAE,CAAC,EAAE;QAC9B,MAAMa,IAAI,GAAG,IAAIrI,IAAI,CAACwH,EAAE,EAAE;UACzBlF,KAAK,EAAEgF,aAAa,CAAC7B,WAAW,CAAC,OAAO,CAAW;UACnD6C,gBAAgB,EAAE,MAAM;UACxB/F,UAAU,EAAE+E,aAAa,CAAC7B,WAAW,CAAC,YAAY;QACnD,CAAC,CAAC;;QAEF;QACA6B,aAAa,CAACiB,gBAAgB,CAAC,CAAC,CAACxB,OAAO,CAAEyB,YAAY,IAAK;UAC1DH,IAAI,CAACI,gBAAgB,CAACD,YAAY,CAAC;QACpC,CAAC,CAAC;QAEF,IAAI,CAACjH,WAAW,CAACoG,GAAG,CAACH,EAAE,EAAEa,IAAI,CAAC;MAC/B;;MAEA;MACCf,aAAa,CAACoB,cAAc,CAAC,SAAS,CAAC,CAAe3B,OAAO,CAAEvE,OAAO,IAAM,IAAI,CAACjB,WAAW,CAACkG,GAAG,CAACD,EAAE,CAAC,CAAUnF,UAAU,CAACG,OAAO,CAAC,CAAC;MAEnI,OAAO,IAAI,CAACjB,WAAW,CAACkG,GAAG,CAACD,EAAE,CAAC;IAChC;EAAC;EAAA,OAjSmBxG,cAAc;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"SettingsDialog.js","names":["sap","ui","define","Bar","Button","sap_m_library","List","Page","SplitApp","StandardListItem","Title","Element","Device","__BaseSettingsDialog","___utils_Device","_interopRequireDefault","obj","__esModule","default","SplitAppMode","BaseSettingsDialog","calculateDeviceType","DeviceType","SettingsDialog","extend","renderer","apiVersion","init","_init","BaseSettingsDialog.prototype.init.call","_controlMap","Map","setContentWidth","setStretch","setCustomHeader","_setCustomHeader","addButton","getId","text","_i18nBundle","getText","type","press","close","addContent","title","showHeader","content","_getPageContent","_attachResizeHandler","resize","attachHandler","deviceType","_splitApp","setMode","Desktop","LargeDesktop","XLargeDesktop","_showHamburger","undefined","isMasterShown","_updateHeaderButtonVisibility","_menuBtn","icon","tooltip","_toggleMasterPage","visible","contentLeft","contentMiddle","level","_deviceType","Mobile","toMaster","_masterPage","showMaster","hideMaster","setVisible","Tablet","orientation","portrait","tooltipText","setTooltip","visibility","_menuList","mode","itemPress","event","_navigateToDetailPage","addStyleClass","masterPages","masterButton","_hideNavigationButton","context","listItem","getParameter","firstPanel","getPanels","selectedKey","data","getProperty","setProperty","detailPage","getElementById","toDetail","getMode","ShowHideMode","selectedPanel","find","panel","firePanelNavigated","removeSelections","pageItem","setTimeout","setSelectedItem","focus","navigationButton","getSource","destroy","onBeforeRendering","_onBeforeRendering","BaseSettingsDialog.prototype.onBeforeRendering.call","forEach","_getPageListItem","then","item","addItem","addDetailPage","_getDetailPage","settingsPanel","_this","id","get","iconDensityAware","set","_listItem","_setVisible","Promise","resolve","isSupported","_settingsPanel$isSupp","call","e","reject","page","backgroundDesign","getActionButtons","actionButton","addHeaderContent","getAggregation"],"sources":["SettingsDialog.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport { Event as JQueryEvent } from \"jquery\";\nimport Bar from \"sap/m/Bar\";\nimport Button from \"sap/m/Button\";\nimport { SplitAppMode } from \"sap/m/library\";\nimport List from \"sap/m/List\";\nimport Page from \"sap/m/Page\";\nimport SplitApp from \"sap/m/SplitApp\";\nimport StandardListItem from \"sap/m/StandardListItem\";\nimport Title from \"sap/m/Title\";\nimport Event from \"sap/ui/base/Event\";\nimport Control from \"sap/ui/core/Control\";\nimport Element from \"sap/ui/core/Element\";\nimport Device from \"sap/ui/Device\";\nimport BaseSettingsDialog from \"./BaseSettingsDialog\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport { calculateDeviceType, DeviceType } from \"./utils/Device\";\n\n/**\n *\n * Dialog class for My Home Settings.\n *\n * @extends BaseSettingsDialog\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n * @private\n *\n * @alias sap.cux.home.SettingsDialog\n */\nexport default class SettingsDialog extends BaseSettingsDialog {\n\tprivate _controlMap!: Map<string, Control | Element>;\n\tprivate _menuBtn!: Button;\n\tprivate _menuList!: List;\n\tprivate _masterPage!: Page;\n\tprivate _splitApp!: SplitApp;\n\tprivate _deviceType!: DeviceType;\n\tprivate _showHamburger!: boolean | undefined;\n\n\tstatic renderer = {\n\t\tapiVersion: 2\n\t};\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\t\tthis._controlMap = new Map();\n\n\t\t//setup dialog\n\t\tthis.setContentWidth(\"72rem\");\n\t\tthis.setStretch(false);\n\t\tthis.setCustomHeader(this._setCustomHeader());\n\n\t\t//setup dialog buttons\n\t\tthis.addButton(\n\t\t\tnew Button(`${this.getId()}-close-btn`, {\n\t\t\t\ttext: this._i18nBundle.getText(\"XBUT_CLOSE\"),\n\t\t\t\ttype: \"Transparent\",\n\t\t\t\tpress: () => this.close()\n\t\t\t})\n\t\t);\n\n\t\t//setup dialog content\n\t\tthis.addContent(\n\t\t\tnew Page(`${this.getId()}-settingsPage`, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\t\tshowHeader: false,\n\t\t\t\tcontent: this._getPageContent()\n\t\t\t})\n\t\t);\n\t\tthis._attachResizeHandler();\n\t}\n\t/**\n\t * Attaches a resize event handler to dynamically adjust the split app mode and\n\t * header button visibility based on the current device type.\n\t *\n\t * @returns {void}\n\t */\n\n\tprivate _attachResizeHandler(): void {\n\t\tDevice.resize.attachHandler(() => {\n\t\t\tconst deviceType = calculateDeviceType();\n\t\t\tthis._splitApp.setMode(\n\t\t\t\tdeviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop\n\t\t\t\t\t? \"ShowHideMode\"\n\t\t\t\t\t: \"HideMode\"\n\t\t\t);\n\t\t\tthis._showHamburger = undefined;\n\t\t\tconst isMasterShown = this._splitApp.isMasterShown();\n\t\t\tthis._updateHeaderButtonVisibility(isMasterShown);\n\t\t});\n\t}\n\t/**\n\t * Creates and sets a custom header for the SettingsDialog.\n\t *\n\t * @private\n\t * @returns {Bar} The custom header bar for the SettingsDialog.\n\t */\n\tprivate _setCustomHeader(): Bar {\n\t\tthis._menuBtn = new Button(`${this.getId()}-menu-btn`, {\n\t\t\ticon: \"sap-icon://menu2\",\n\t\t\ttooltip: this._i18nBundle.getText(\"showMenu\"),\n\t\t\tpress: () => this._toggleMasterPage(),\n\t\t\tvisible: false\n\t\t});\n\t\treturn new Bar(`${this.getId()}-header`, {\n\t\t\tcontentLeft: [this._menuBtn],\n\t\t\tcontentMiddle: [\n\t\t\t\tnew Title(`${this.getId()}-dialog-title`, {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\t\t\tlevel: \"H1\"\n\t\t\t\t})\n\t\t\t]\n\t\t});\n\t}\n\n\t/**\n\t * Toggles the visibility of the master page in the SettingsDialog based on the current device width.\n\t * If the device width is less than 600 pixels or equal to or greater than 1024 pixels, the master\n\t * page is always shown. Otherwise, it toggles the visibility of the master page.\n\t *\n\t * @private\n\t */\n\tprivate _toggleMasterPage(): void {\n\t\tconst isMasterShown = this._splitApp.isMasterShown();\n\t\tconst deviceType = this._deviceType || calculateDeviceType();\n\t\tif (deviceType === DeviceType.Mobile) {\n\t\t\tthis._splitApp.toMaster(this._masterPage.getId(), \"slide\");\n\t\t\tthis._splitApp.showMaster();\n\t\t} else {\n\t\t\tif (isMasterShown) {\n\t\t\t\tthis._splitApp.hideMaster();\n\t\t\t\tthis._showHamburger = true;\n\t\t\t} else {\n\t\t\t\tthis._splitApp.showMaster();\n\t\t\t\tthis._showHamburger = false;\n\t\t\t}\n\t\t}\n\t\tthis._updateHeaderButtonVisibility(!isMasterShown);\n\t}\n\n\t/**\n\t * Update header button\n\t *\n\t * @param {boolean} isMasterShown If master page is shown\n\t * @private\n\t */\n\tprivate _updateHeaderButtonVisibility(isMasterShown: boolean): void {\n\t\tconst deviceType = this._deviceType || calculateDeviceType();\n\t\tif (deviceType === DeviceType.Mobile) {\n\t\t\t// Hide or show the menu button on mobile\n\t\t\tthis._menuBtn.setVisible(!isMasterShown);\n\t\t} else if (deviceType === DeviceType.Tablet) {\n\t\t\tif (Device.orientation?.portrait) {\n\t\t\t\t// Show menu button in portrait mode with a tooltip\n\t\t\t\tconst tooltipText = this._i18nBundle.getText(isMasterShown ? \"ToggleButtonHide\" : \"ToggleButtonShow\");\n\t\t\t\tif (tooltipText) {\n\t\t\t\t\t// Only set the tooltip if a valid string is available\n\t\t\t\t\tthis._menuBtn.setTooltip(tooltipText);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._menuBtn.setVisible(true);\n\t\t} else {\n\t\t\tlet visibility = true;\n\t\t\tif (this._showHamburger === undefined) {\n\t\t\t\tif (this._splitApp.isMasterShown()) {\n\t\t\t\t\tvisibility = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._menuBtn.setVisible(visibility);\n\t\t}\n\t}\n\n\t/**\n\t * Generates the content for the SettingsDialog, including the master page and split app.\n\t *\n\t * @private\n\t * @returns {SplitApp} The split app containing the master page and detail pages for the SettingsDialog.\n\t */\n\tprivate _getPageContent(): SplitApp {\n\t\tthis._menuList = new List(`${this.getId()}-master-pages-list`, {\n\t\t\tmode: \"SingleSelectMaster\",\n\t\t\titemPress: (event: Event) => this._navigateToDetailPage(event)\n\t\t}).addStyleClass(\"sapCuxMasterPageList\");\n\t\tthis._masterPage = new Page(`${this.getId()}-master-page`, {\n\t\t\ttitle: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\tshowHeader: false,\n\t\t\tcontent: [this._menuList]\n\t\t});\n\t\tthis._splitApp = new SplitApp(`${this.getId()}-settingsApp`, {\n\t\t\tmode: \"ShowHideMode\",\n\t\t\tmasterPages: [this._masterPage],\n\t\t\tmasterButton: (event: Event) => this._hideNavigationButton(event)\n\t\t});\n\n\t\treturn this._splitApp;\n\t}\n\n\t/**\n\t * Navigates to the detail page associated with the selected item in the master page list.\n\t *\n\t * @private\n\t * @param {Event} event The item press event from the master page list.\n\t */\n\tprivate _navigateToDetailPage(event: Event<{ listItem?: StandardListItem }> | string, context?: object): void {\n\t\t//update selected key\n\t\tconst listItem = typeof event === \"string\" ? event : event.getParameter?.(\"listItem\");\n\t\tconst firstPanel = this.getPanels()[0];\n\t\tconst selectedKey = ((listItem as StandardListItem)?.data?.(\"key\") || event || firstPanel?.getProperty(\"key\")) as string;\n\t\tthis.setProperty(\"selectedKey\", selectedKey, true);\n\n\t\t//navigate to detail page\n\t\tconst detailPage = Element.getElementById(`${selectedKey}-detail-page`) as Page;\n\t\tthis._splitApp.toDetail(detailPage.getId(), \"slide\");\n\t\tthis._splitApp.hideMaster();\n\t\tif (this._splitApp.getMode() === SplitAppMode.ShowHideMode) {\n\t\t\tthis._updateHeaderButtonVisibility(false);\n\t\t}\n\n\t\t//fire panel navigated event\n\t\tconst selectedPanel = this.getPanels().find(\n\t\t\t(panel: BaseSettingsPanel) => panel.getProperty(\"key\") === selectedKey\n\t\t) as BaseSettingsPanel;\n\t\tselectedPanel?.firePanelNavigated({ context });\n\n\t\t//select list item\n\t\tthis._menuList.removeSelections(true);\n\t\tconst pageItem = Element.getElementById(`${selectedKey}-page-item`) as StandardListItem;\n\t\tsetTimeout(() => {\n\t\t\tthis._menuList.setSelectedItem(pageItem);\n\t\t\tpageItem.focus();\n\t\t}, 0);\n\t}\n\n\t/**\n\t * Hides the navigation button associated with the provided event.\n\t *\n\t * @private\n\t * @param {Event} event The event triggering the hide action.\n\t */\n\tprivate _hideNavigationButton(event: Event): void {\n\t\tconst navigationButton = Element.getElementById(`${event.getSource<SplitApp>().getId()}-MasterBtn`) as Button;\n\t\tnavigationButton?.destroy();\n\t}\n\n\t/**\n\t * onBeforeRendering lifecycle method.\n\t * Prepares the SettingsDialog content and navigate to the selected detail page.\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic onBeforeRendering(event: JQueryEvent): void {\n\t\tsuper.onBeforeRendering(event);\n\n\t\t//setup master and detail page content\n\t\tthis.getPanels().forEach((panel: BaseSettingsPanel) => {\n\t\t\tvoid this._getPageListItem(panel).then((item) => this._menuList.addItem(item));\n\t\t\tthis._splitApp.addDetailPage(this._getDetailPage(panel));\n\t\t});\n\n\t\t//navigate to detail page\n\t\tconst selectedKey = this.getProperty(\"selectedKey\") as string;\n\t\tconst context = this.getProperty(\"context\") as object;\n\t\tthis._navigateToDetailPage(selectedKey, context);\n\t}\n\n\t/**\n\t * Generates a list item for the master page list based on the settings panel.\n\t * The list item displays the title and icon of the settings panel.\n\t *\n\t * @private\n\t * @param {BaseSettingsPanel} settingsPanel The settings panel for which to generate the list item.\n\t * @returns {StandardListItem} The list item control representing the settings panel in the master page list.\n\t */\n\tprivate async _getPageListItem(settingsPanel: BaseSettingsPanel): Promise<StandardListItem> {\n\t\tconst id = `${settingsPanel.getProperty(\"key\")}-page-item`;\n\t\tlet listItem = this._controlMap.get(id) as StandardListItem;\n\n\t\tif (!listItem) {\n\t\t\tlistItem = new StandardListItem(id, {\n\t\t\t\ttitle: settingsPanel.getProperty(\"title\") as string,\n\t\t\t\ticon: settingsPanel.getProperty(\"icon\") as string,\n\t\t\t\ttype: \"Navigation\",\n\t\t\t\ticonDensityAware: false\n\t\t\t});\n\t\t\tlistItem.data(\"key\", settingsPanel.getProperty(\"key\"));\n\t\t\tthis._controlMap.set(id, listItem);\n\t\t}\n\n\t\tlistItem.setVisible(await settingsPanel.isSupported());\n\t\treturn listItem;\n\t}\n\n\t/**\n\t * Generates a detail page for the SettingsDialog based on the provided settings panel.\n\t *\n\t * @private\n\t * @param {BaseSettingsPanel} settingsPanel The settings panel for which to generate the detail page.\n\t * @returns {Page} The detail page control representing the settings panel.\n\t */\n\tprivate _getDetailPage(settingsPanel: BaseSettingsPanel): Page {\n\t\tconst id = `${settingsPanel.getProperty(\"key\")}-detail-page`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tconst page = new Page(id, {\n\t\t\t\ttitle: settingsPanel.getProperty(\"title\") as string,\n\t\t\t\tbackgroundDesign: \"List\",\n\t\t\t\tshowHeader: settingsPanel.getProperty(\"showHeader\") as boolean\n\t\t\t});\n\n\t\t\t//add settings panel action buttons\n\t\t\tsettingsPanel.getActionButtons().forEach((actionButton) => {\n\t\t\t\tpage.addHeaderContent(actionButton);\n\t\t\t});\n\n\t\t\tthis._controlMap.set(id, page);\n\t\t}\n\n\t\t//add settings panel content\n\t\t(settingsPanel.getAggregation(\"content\") as Control[]).forEach((content) => (this._controlMap.get(id) as Page).addContent(content));\n\n\t\treturn this._controlMap.get(id) as Page;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -40,6 +40,7 @@ export default class SettingsDialog extends BaseSettingsDialog {
40
40
  private _masterPage!: Page;
41
41
  private _splitApp!: SplitApp;
42
42
  private _deviceType!: DeviceType;
43
+ private _showHamburger!: boolean | undefined;
43
44
 
44
45
  static renderer = {
45
46
  apiVersion: 2
@@ -94,6 +95,7 @@ export default class SettingsDialog extends BaseSettingsDialog {
94
95
  ? "ShowHideMode"
95
96
  : "HideMode"
96
97
  );
98
+ this._showHamburger = undefined;
97
99
  const isMasterShown = this._splitApp.isMasterShown();
98
100
  this._updateHeaderButtonVisibility(isMasterShown);
99
101
  });
@@ -132,13 +134,16 @@ export default class SettingsDialog extends BaseSettingsDialog {
132
134
  private _toggleMasterPage(): void {
133
135
  const isMasterShown = this._splitApp.isMasterShown();
134
136
  const deviceType = this._deviceType || calculateDeviceType();
135
- if (deviceType !== DeviceType.Tablet) {
137
+ if (deviceType === DeviceType.Mobile) {
136
138
  this._splitApp.toMaster(this._masterPage.getId(), "slide");
139
+ this._splitApp.showMaster();
137
140
  } else {
138
141
  if (isMasterShown) {
139
142
  this._splitApp.hideMaster();
143
+ this._showHamburger = true;
140
144
  } else {
141
145
  this._splitApp.showMaster();
146
+ this._showHamburger = false;
142
147
  }
143
148
  }
144
149
  this._updateHeaderButtonVisibility(!isMasterShown);
@@ -159,17 +164,20 @@ export default class SettingsDialog extends BaseSettingsDialog {
159
164
  if (Device.orientation?.portrait) {
160
165
  // Show menu button in portrait mode with a tooltip
161
166
  const tooltipText = this._i18nBundle.getText(isMasterShown ? "ToggleButtonHide" : "ToggleButtonShow");
162
- this._menuBtn.setVisible(true);
163
167
  if (tooltipText) {
164
168
  // Only set the tooltip if a valid string is available
165
169
  this._menuBtn.setTooltip(tooltipText);
166
170
  }
167
- } else {
168
- // Hide or show the menu button in other orientations
169
- this._menuBtn.setVisible(isMasterShown);
170
171
  }
172
+ this._menuBtn.setVisible(true);
171
173
  } else {
172
- this._menuBtn.setVisible(false);
174
+ let visibility = true;
175
+ if (this._showHamburger === undefined) {
176
+ if (this._splitApp.isMasterShown()) {
177
+ visibility = false;
178
+ }
179
+ }
180
+ this._menuBtn.setVisible(visibility);
173
181
  }
174
182
  }
175
183
 
@@ -1 +1 @@
1
- {"version":3,"file":"SideBySideIconTabFilter.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/SideBySideIconTabFilter.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,sCAAsC,CAAC;IACtD;;;OAGG;IAEH,OAAO,aAAa,MAAM,qBAAqB,CAAC;IAChD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;IAC5D,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAE1C,OAAO,EAAE,gCAAgC,EAAE,MAAM,sCAAsC,CAAC;IAGxF;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,aAAa;oBACrD,EAAE,CAAC,EAAE,MAAM,GAAG,gCAAgC;oBAC9C,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,gCAAgC;QAWpE,MAAM,CAAC,QAAQ,CAAC,QAAQ,iCAAiC;QACzD,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAKvC;QAgBF;;;;;;WAMG;QACI,UAAU,IAAI,OAAO,EAAE;QAK9B;;;;;;;WAOG;QACI,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;KAKzC;CAEA"}
1
+ {"version":3,"file":"SideBySideIconTabFilter.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/SideBySideIconTabFilter.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,sCAAsC,CAAC;IACtD;;;OAGG;IAEH,OAAO,aAAa,MAAM,qBAAqB,CAAC;IAChD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;IAC5D,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAG1C,OAAO,EAAE,gCAAgC,EAAE,MAAM,sCAAsC,CAAC;IAExF;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,aAAa;oBACrD,EAAE,CAAC,EAAE,MAAM,GAAG,gCAAgC;oBAC9C,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,gCAAgC;QAWpE,MAAM,CAAC,QAAQ,CAAC,QAAQ,iCAAiC;QACzD,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAKvC;QAiBF;;;;;;WAMG;QACI,UAAU,IAAI,OAAO,EAAE;QAK9B;;;;;;;WAOG;QACI,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;KAKzC;CAEA"}
@@ -50,6 +50,7 @@ sap.ui.define(["sap/m/IconTabFilter", "sap/ui/core/Element"], function (IconTabF
50
50
  setPanel: function _setPanel(panel) {
51
51
  this.setProperty("key", panel.getProperty("key"), true);
52
52
  this.setProperty("text", panel.getProperty("title"), true);
53
+ this.setTooltip(panel.getProperty("tooltip"));
53
54
  this.setAssociation("panel", panel);
54
55
  return this;
55
56
  },
@@ -1 +1 @@
1
- {"version":3,"file":"SideBySideIconTabFilter.js","names":["sap","ui","define","IconTabFilter","UI5Element","SideBySideIconTabFilter","extend","metadata","library","associations","panel","type","multiple","singularName","renderer","constructor","_constructor","id","settings","IconTabFilter.prototype.constructor.call","setPanel","_setPanel","setProperty","getProperty","setAssociation","getContent","_getContent","getElementById","getPanel","addContent","_addContent","content"],"sources":["SideBySideIconTabFilter.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport IconTabFilter from \"sap/m/IconTabFilter\";\nimport { MetadataOptions } from \"sap/ui/base/ManagedObject\";\nimport Control from \"sap/ui/core/Control\";\nimport BasePanel from \"./BasePanel\";\nimport { $SideBySideIconTabFilterSettings } from \"./SideBySideIconTabFilter\";\nimport UI5Element from \"sap/ui/core/Element\";\n\n/**\n *\n * Custom IconTabFilter for SideBySide orientation in the BaseContainer.\n *\n * @extends sap.m.IconTabFilter\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.139.0\n *\n * @private\n *\n * @alias sap.cux.home.SideBySideIconTabFilter\n */\nexport default class SideBySideIconTabFilter extends IconTabFilter {\n\tconstructor(id?: string | $SideBySideIconTabFilterSettings);\n\tconstructor(id?: string, settings?: $SideBySideIconTabFilterSettings);\n\t/**\n\t * Constructor for a new SideBySideIconTabFilter.\n\t *\n\t * @param {string} [id] ID for the new element, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $SideBySideIconTabFilterSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly renderer = \"sap.m.IconTabFilterRenderer\";\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tassociations: {\n\t\t\tpanel: { type: \"sap.cux.home.BasePanel\", multiple: false, singularName: \"panel\" }\n\t\t}\n\t};\n\n\t/**\n\t * Sets the associated panel for this tab filter and updates the key and text properties\n\t * based on the panel's key and title.\n\t *\n\t * @param {BasePanel} panel - The panel to associate with this tab filter.\n\t * @returns {this} This to allow method chaining.\n\t */\n\tpublic setPanel(panel: BasePanel): this {\n\t\tthis.setProperty(\"key\", panel.getProperty(\"key\"), true);\n\t\tthis.setProperty(\"text\", panel.getProperty(\"title\"), true);\n\t\tthis.setAssociation(\"panel\", panel);\n\t\treturn this;\n\t}\n\n\t/**\n\t * Returns the content controls from the associated panel.\n\t *\n\t * @public\n\t * @override\n\t * @returns {Control[]} An array of controls contained in the associated panel, or an empty array if no panel is associated.\n\t */\n\tpublic getContent(): Control[] {\n\t\tconst panel = UI5Element.getElementById(this.getPanel()) as BasePanel;\n\t\treturn panel?.getContent() || [];\n\t}\n\n\t/**\n\t * Adds a control to the content aggregation of the associated panel.\n\t *\n\t * @public\n\t * @override\n\t * @param {Control} content - The control to add to the panel's content.\n\t * @returns {this} The instance of SideBySideIconTabFilter, to allow method chaining.\n\t */\n\tpublic addContent(content: Control): this {\n\t\tconst panel = UI5Element.getElementById(this.getPanel()) as BasePanel;\n\t\tpanel?.addContent(content);\n\t\treturn this;\n\t}\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,2DAAAC,aAAA,EAAAC,UAAA;EAAA;;EAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAbA,MAcqBC,uBAAuB,GAASF,aAAa,CAAAG,MAAA;IAcjDC,QAAQ,EAAoB;MAC3CC,OAAO,EAAE,cAAc;MACvBC,YAAY,EAAE;QACbC,KAAK,EAAE;UAAEC,IAAI,EAAE,wBAAwB;UAAEC,QAAQ,EAAE,KAAK;UAAEC,YAAY,EAAE;QAAQ;MACjF;IACD,CAAC;IANeC,QAAQ,EAAG,6BAA6B;IAVxD;AACD;AACA;AACA;AACA;AACA;IACQC,WAAW,WAAAC,aAACC,EAAW,EAAEC,QAA2C,EAAE;MAC5EC,wCAAA,OAAMF,EAAE,EAAEC,QAAQ;IACnB,CAAC;IAUD;AACD;AACA;AACA;AACA;AACA;AACA;IACQE,QAAQ,WAAAC,UAACX,KAAgB,EAAQ;MACvC,IAAI,CAACY,WAAW,CAAC,KAAK,EAAEZ,KAAK,CAACa,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;MACvD,IAAI,CAACD,WAAW,CAAC,MAAM,EAAEZ,KAAK,CAACa,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;MAC1D,IAAI,CAACC,cAAc,CAAC,OAAO,EAAEd,KAAK,CAAC;MACnC,OAAO,IAAI;IACZ,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACQe,UAAU,WAAAC,YAAA,EAAc;MAC9B,MAAMhB,KAAK,GAAGN,UAAU,CAACuB,cAAc,CAAC,IAAI,CAACC,QAAQ,CAAC,CAAC,CAAc;MACrE,OAAOlB,KAAK,EAAEe,UAAU,CAAC,CAAC,IAAI,EAAE;IACjC,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACQI,UAAU,WAAAC,YAACC,OAAgB,EAAQ;MACzC,MAAMrB,KAAK,GAAGN,UAAU,CAACuB,cAAc,CAAC,IAAI,CAACC,QAAQ,CAAC,CAAC,CAAc;MACrElB,KAAK,EAAEmB,UAAU,CAACE,OAAO,CAAC;MAC1B,OAAO,IAAI;IACZ;EAAC;EAAA,OA3DmB1B,uBAAuB;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"SideBySideIconTabFilter.js","names":["sap","ui","define","IconTabFilter","UI5Element","SideBySideIconTabFilter","extend","metadata","library","associations","panel","type","multiple","singularName","renderer","constructor","_constructor","id","settings","IconTabFilter.prototype.constructor.call","setPanel","_setPanel","setProperty","getProperty","setTooltip","setAssociation","getContent","_getContent","getElementById","getPanel","addContent","_addContent","content"],"sources":["SideBySideIconTabFilter.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport IconTabFilter from \"sap/m/IconTabFilter\";\nimport { MetadataOptions } from \"sap/ui/base/ManagedObject\";\nimport Control from \"sap/ui/core/Control\";\nimport UI5Element from \"sap/ui/core/Element\";\nimport BasePanel from \"./BasePanel\";\nimport { $SideBySideIconTabFilterSettings } from \"./SideBySideIconTabFilter\";\n\n/**\n *\n * Custom IconTabFilter for SideBySide orientation in the BaseContainer.\n *\n * @extends sap.m.IconTabFilter\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.139.0\n *\n * @private\n *\n * @alias sap.cux.home.SideBySideIconTabFilter\n */\nexport default class SideBySideIconTabFilter extends IconTabFilter {\n\tconstructor(id?: string | $SideBySideIconTabFilterSettings);\n\tconstructor(id?: string, settings?: $SideBySideIconTabFilterSettings);\n\t/**\n\t * Constructor for a new SideBySideIconTabFilter.\n\t *\n\t * @param {string} [id] ID for the new element, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $SideBySideIconTabFilterSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly renderer = \"sap.m.IconTabFilterRenderer\";\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tassociations: {\n\t\t\tpanel: { type: \"sap.cux.home.BasePanel\", multiple: false, singularName: \"panel\" }\n\t\t}\n\t};\n\n\t/**\n\t * Sets the associated panel for this tab filter and updates the key and text properties\n\t * based on the panel's key and title.\n\t *\n\t * @param {BasePanel} panel - The panel to associate with this tab filter.\n\t * @returns {this} This to allow method chaining.\n\t */\n\tpublic setPanel(panel: BasePanel): this {\n\t\tthis.setProperty(\"key\", panel.getProperty(\"key\"), true);\n\t\tthis.setProperty(\"text\", panel.getProperty(\"title\"), true);\n\t\tthis.setTooltip(panel.getProperty(\"tooltip\") as string);\n\t\tthis.setAssociation(\"panel\", panel);\n\t\treturn this;\n\t}\n\n\t/**\n\t * Returns the content controls from the associated panel.\n\t *\n\t * @public\n\t * @override\n\t * @returns {Control[]} An array of controls contained in the associated panel, or an empty array if no panel is associated.\n\t */\n\tpublic getContent(): Control[] {\n\t\tconst panel = UI5Element.getElementById(this.getPanel()) as BasePanel;\n\t\treturn panel?.getContent() || [];\n\t}\n\n\t/**\n\t * Adds a control to the content aggregation of the associated panel.\n\t *\n\t * @public\n\t * @override\n\t * @param {Control} content - The control to add to the panel's content.\n\t * @returns {this} The instance of SideBySideIconTabFilter, to allow method chaining.\n\t */\n\tpublic addContent(content: Control): this {\n\t\tconst panel = UI5Element.getElementById(this.getPanel()) as BasePanel;\n\t\tpanel?.addContent(content);\n\t\treturn this;\n\t}\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,2DAAAC,aAAA,EAAAC,UAAA;EAAA;;EAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAbA,MAcqBC,uBAAuB,GAASF,aAAa,CAAAG,MAAA;IAcjDC,QAAQ,EAAoB;MAC3CC,OAAO,EAAE,cAAc;MACvBC,YAAY,EAAE;QACbC,KAAK,EAAE;UAAEC,IAAI,EAAE,wBAAwB;UAAEC,QAAQ,EAAE,KAAK;UAAEC,YAAY,EAAE;QAAQ;MACjF;IACD,CAAC;IANeC,QAAQ,EAAG,6BAA6B;IAVxD;AACD;AACA;AACA;AACA;AACA;IACQC,WAAW,WAAAC,aAACC,EAAW,EAAEC,QAA2C,EAAE;MAC5EC,wCAAA,OAAMF,EAAE,EAAEC,QAAQ;IACnB,CAAC;IAUD;AACD;AACA;AACA;AACA;AACA;AACA;IACQE,QAAQ,WAAAC,UAACX,KAAgB,EAAQ;MACvC,IAAI,CAACY,WAAW,CAAC,KAAK,EAAEZ,KAAK,CAACa,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;MACvD,IAAI,CAACD,WAAW,CAAC,MAAM,EAAEZ,KAAK,CAACa,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;MAC1D,IAAI,CAACC,UAAU,CAACd,KAAK,CAACa,WAAW,CAAC,SAAS,CAAW,CAAC;MACvD,IAAI,CAACE,cAAc,CAAC,OAAO,EAAEf,KAAK,CAAC;MACnC,OAAO,IAAI;IACZ,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACQgB,UAAU,WAAAC,YAAA,EAAc;MAC9B,MAAMjB,KAAK,GAAGN,UAAU,CAACwB,cAAc,CAAC,IAAI,CAACC,QAAQ,CAAC,CAAC,CAAc;MACrE,OAAOnB,KAAK,EAAEgB,UAAU,CAAC,CAAC,IAAI,EAAE;IACjC,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACQI,UAAU,WAAAC,YAACC,OAAgB,EAAQ;MACzC,MAAMtB,KAAK,GAAGN,UAAU,CAACwB,cAAc,CAAC,IAAI,CAACC,QAAQ,CAAC,CAAC,CAAc;MACrEnB,KAAK,EAAEoB,UAAU,CAACE,OAAO,CAAC;MAC1B,OAAO,IAAI;IACZ;EAAC;EAAA,OA5DmB3B,uBAAuB;AAAA","ignoreList":[]}