@sapui5/sap.fe.templates 1.101.0 → 1.103.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 (136) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/templates/.library +1 -1
  3. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +2 -2
  4. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.ts +1 -1
  5. package/src/sap/fe/templates/Feedback.js +18 -18
  6. package/src/sap/fe/templates/Feedback.ts +12 -12
  7. package/src/sap/fe/templates/ListReport/ExtensionAPI.js +15 -15
  8. package/src/sap/fe/templates/ListReport/ExtensionAPI.ts +19 -16
  9. package/src/sap/fe/templates/ListReport/ListReport.view.xml +107 -58
  10. package/src/sap/fe/templates/ListReport/ListReportController.controller.js +180 -70
  11. package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +191 -88
  12. package/src/sap/fe/templates/ListReport/ListReportTemplating.js +45 -0
  13. package/src/sap/fe/templates/ListReport/ListReportTemplating.ts +30 -0
  14. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +1 -1
  15. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.ts +2 -2
  16. package/src/sap/fe/templates/ListReport/overrides/Share.js +9 -7
  17. package/src/sap/fe/templates/ListReport/overrides/Share.ts +10 -10
  18. package/src/sap/fe/templates/ListReport/overrides/ViewState.js +13 -6
  19. package/src/sap/fe/templates/ListReport/overrides/ViewState.ts +17 -11
  20. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.js +1 -1
  21. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.ts +1 -1
  22. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +12 -16
  23. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.ts +17 -20
  24. package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +167 -20
  25. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +195 -206
  26. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +187 -229
  27. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js +861 -0
  28. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.ts +822 -0
  29. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +2 -3
  30. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.ts +4 -4
  31. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +1 -1
  32. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.ts +1 -1
  33. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +1 -1
  34. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.ts +1 -1
  35. package/src/sap/fe/templates/ObjectPage/handler/DraftHandler.js +103 -0
  36. package/src/sap/fe/templates/ObjectPage/handler/DraftHandler.ts +97 -0
  37. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +1 -1
  38. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.ts +5 -5
  39. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +1 -1
  40. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.ts +2 -2
  41. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +1 -1
  42. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.ts +2 -2
  43. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +1 -1
  44. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.ts +1 -1
  45. package/src/sap/fe/templates/ObjectPage/overrides/Share.js +17 -17
  46. package/src/sap/fe/templates/ObjectPage/overrides/Share.ts +19 -30
  47. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +2 -2
  48. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.ts +4 -4
  49. package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +15 -11
  50. package/src/sap/fe/templates/ObjectPage/view/fragments/CollaborationDraft.fragment.xml +1 -2
  51. package/src/sap/fe/templates/ObjectPage/view/fragments/EditableHeaderFacet.fragment.xml +25 -17
  52. package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +28 -24
  53. package/src/sap/fe/templates/ObjectPage/view/fragments/FormActionButtons.fragment.xml +15 -16
  54. package/src/sap/fe/templates/ObjectPage/view/fragments/FormActions.fragment.xml +1 -5
  55. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPoint.fragment.xml +1 -2
  56. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPointTitle.fragment.xml +1 -3
  57. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacet.fragment.xml +3 -17
  58. package/src/sap/fe/templates/ObjectPage/view/fragments/Heading.fragment.xml +16 -17
  59. package/src/sap/fe/templates/ObjectPage/view/fragments/HeadingTitle.fragment.xml +4 -3
  60. package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderAddress.fragment.xml +7 -2
  61. package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderContact.fragment.xml +26 -0
  62. package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +4 -4
  63. package/src/sap/fe/templates/ObjectPage/view/fragments/RelatedApps.fragment.xml +7 -4
  64. package/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +74 -6
  65. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +118 -94
  66. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContentLazyLoader.fragment.xml +127 -107
  67. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +1 -0
  68. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +1 -0
  69. package/src/sap/fe/templates/ObjectPage/view/fragments/SwitchDraftAndActiveObjectPopOver.fragment.xml +2 -2
  70. package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +102 -57
  71. package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.ts +96 -61
  72. package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +3 -4
  73. package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.ts +4 -5
  74. package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +140 -52
  75. package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.ts +108 -54
  76. package/src/sap/fe/templates/RootContainer/overrides/EditFlow.js +1 -1
  77. package/src/sap/fe/templates/RootContainer/overrides/EditFlow.ts +3 -3
  78. package/src/sap/fe/templates/TableScroller.js +3 -3
  79. package/src/sap/fe/templates/TableScroller.ts +2 -2
  80. package/src/sap/fe/templates/controls/MacroChart.fragment.xml +1 -0
  81. package/src/sap/fe/templates/controls/Table.fragment.xml +4 -4
  82. package/src/sap/fe/templates/library.js +5 -2
  83. package/src/sap/fe/templates/library.ts +3 -0
  84. package/src/sap/fe/templates/messagebundle.properties +6 -18
  85. package/src/sap/fe/templates/messagebundle_ar.properties +10 -6
  86. package/src/sap/fe/templates/messagebundle_bg.properties +6 -2
  87. package/src/sap/fe/templates/messagebundle_ca.properties +10 -6
  88. package/src/sap/fe/templates/messagebundle_cs.properties +6 -2
  89. package/src/sap/fe/templates/messagebundle_cy.properties +10 -6
  90. package/src/sap/fe/templates/messagebundle_da.properties +10 -6
  91. package/src/sap/fe/templates/messagebundle_de.properties +10 -6
  92. package/src/sap/fe/templates/messagebundle_el.properties +10 -6
  93. package/src/sap/fe/templates/messagebundle_en.properties +6 -2
  94. package/src/sap/fe/templates/messagebundle_en_GB.properties +8 -4
  95. package/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +13 -5
  96. package/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +7 -3
  97. package/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +7 -3
  98. package/src/sap/fe/templates/messagebundle_es.properties +6 -2
  99. package/src/sap/fe/templates/messagebundle_es_MX.properties +10 -6
  100. package/src/sap/fe/templates/messagebundle_et.properties +6 -2
  101. package/src/sap/fe/templates/messagebundle_fi.properties +10 -6
  102. package/src/sap/fe/templates/messagebundle_fr.properties +6 -2
  103. package/src/sap/fe/templates/messagebundle_fr_CA.properties +10 -6
  104. package/src/sap/fe/templates/messagebundle_hi.properties +10 -6
  105. package/src/sap/fe/templates/messagebundle_hr.properties +10 -6
  106. package/src/sap/fe/templates/messagebundle_hu.properties +6 -2
  107. package/src/sap/fe/templates/messagebundle_id.properties +6 -2
  108. package/src/sap/fe/templates/messagebundle_it.properties +10 -6
  109. package/src/sap/fe/templates/messagebundle_iw.properties +10 -6
  110. package/src/sap/fe/templates/messagebundle_ja.properties +6 -2
  111. package/src/sap/fe/templates/messagebundle_kk.properties +10 -6
  112. package/src/sap/fe/templates/messagebundle_ko.properties +6 -2
  113. package/src/sap/fe/templates/messagebundle_lt.properties +6 -2
  114. package/src/sap/fe/templates/messagebundle_lv.properties +6 -2
  115. package/src/sap/fe/templates/messagebundle_ms.properties +10 -6
  116. package/src/sap/fe/templates/messagebundle_nl.properties +6 -2
  117. package/src/sap/fe/templates/messagebundle_no.properties +10 -6
  118. package/src/sap/fe/templates/messagebundle_pl.properties +10 -6
  119. package/src/sap/fe/templates/messagebundle_pt.properties +6 -2
  120. package/src/sap/fe/templates/messagebundle_pt_PT.properties +6 -2
  121. package/src/sap/fe/templates/messagebundle_ro.properties +10 -6
  122. package/src/sap/fe/templates/messagebundle_ru.properties +10 -6
  123. package/src/sap/fe/templates/messagebundle_sh.properties +6 -2
  124. package/src/sap/fe/templates/messagebundle_sk.properties +6 -2
  125. package/src/sap/fe/templates/messagebundle_sl.properties +10 -6
  126. package/src/sap/fe/templates/messagebundle_sv.properties +6 -2
  127. package/src/sap/fe/templates/messagebundle_th.properties +10 -6
  128. package/src/sap/fe/templates/messagebundle_tr.properties +6 -2
  129. package/src/sap/fe/templates/messagebundle_uk.properties +6 -2
  130. package/src/sap/fe/templates/messagebundle_vi.properties +10 -6
  131. package/src/sap/fe/templates/messagebundle_zh_CN.properties +10 -6
  132. package/src/sap/fe/templates/messagebundle_zh_TW.properties +10 -6
  133. package/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +0 -482
  134. package/src/sap/fe/templates/ObjectPage/AnnotationHelper.ts +0 -511
  135. package/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.js +0 -120
  136. package/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.ts +0 -138
@@ -1,17 +1,18 @@
1
1
  import Log from "sap/base/Log";
2
- import FlexibleColumnLayout from "sap/f/FlexibleColumnLayout";
2
+ import type FlexibleColumnLayout from "sap/f/FlexibleColumnLayout";
3
3
  import FlexibleColumnLayoutSemanticHelper from "sap/f/FlexibleColumnLayoutSemanticHelper";
4
4
  import fLibrary from "sap/f/library";
5
- import AppComponent from "sap/fe/core/AppComponent";
5
+ import type AppComponent from "sap/fe/core/AppComponent";
6
+ import type RouterProxy from "sap/fe/core/controllerextensions/routing/RouterProxy";
6
7
  import ViewState from "sap/fe/core/controllerextensions/ViewState";
7
8
  import { defineUI5Class, usingExtension } from "sap/fe/core/helpers/ClassSupport";
8
9
  import KeepAliveHelper from "sap/fe/core/helpers/KeepAliveHelper";
9
- import RouterProxy from "sap/fe/core/RouterProxy";
10
10
  import Link from "sap/m/Link";
11
11
  import MessageBox, { Action, Icon } from "sap/m/MessageBox";
12
12
  import MessagePage from "sap/m/MessagePage";
13
- import Control from "sap/ui/core/Control";
14
- import JSONModel from "sap/ui/model/json/JSONModel";
13
+ import type Control from "sap/ui/core/Control";
14
+ import type JSONModel from "sap/ui/model/json/JSONModel";
15
+ import type Context from "sap/ui/model/odata/v4/Context";
15
16
  import BaseController from "./RootContainerBaseController";
16
17
 
17
18
  const LayoutType = fLibrary.LayoutType;
@@ -68,7 +69,7 @@ class FclController extends BaseController {
68
69
  const oPages = oInternalModel.getProperty("/pages");
69
70
 
70
71
  for (const sComponentId in oPages) {
71
- oInternalModel.setProperty("/pages/" + sComponentId + "/restoreStatus", "pending");
72
+ oInternalModel.setProperty(`/pages/${sComponentId}/restoreStatus`, "pending");
72
73
  }
73
74
  (oFCLController as FclController).onContainerReady();
74
75
  },
@@ -183,7 +184,6 @@ class FclController extends BaseController {
183
184
  * @function
184
185
  * @name sap.fe.templates.RootContainer.controller.Fcl.controller#_getRightMostViewBeforeRouteMatched
185
186
  * @memberof sap.fe.templates.RootContainer.controller.Fcl.controller
186
- *
187
187
  */
188
188
 
189
189
  _getViewForNavigatedRowsComputation() {
@@ -233,8 +233,7 @@ class FclController extends BaseController {
233
233
  * @function
234
234
  * @name sap.fe.templates.RootContainer.controller.Fcl.controller#isFclEnabled
235
235
  * @memberof sap.fe.templates.RootContainer.controller.Fcl.controller
236
- * @returns {boolean} `true` since we are in FCL scenario
237
- *
236
+ * @returns `true` since we are in FCL scenario
238
237
  * @ui5-restricted
239
238
  * @final
240
239
  */
@@ -306,7 +305,7 @@ class FclController extends BaseController {
306
305
  * @name sap.fe.templates.RootContainer.controller.Fcl.controller#_initializeTargetAggregation
307
306
  * @memberof sap.fe.templates.RootContainer.controller.Fcl.controller
308
307
  * @function
309
- * @param {object} [oAppComponent] Reference to the AppComponent
308
+ * @param [oAppComponent] Reference to the AppComponent
310
309
  */
311
310
  _initializeTargetAggregation(oAppComponent: AppComponent) {
312
311
  const oManifest = oAppComponent.getManifest() as any,
@@ -366,7 +365,7 @@ class FclController extends BaseController {
366
365
  * Get FE FCL constant.
367
366
  *
368
367
  * @memberof sap.fe.templates.RootContainer.controller.Fcl.controller
369
- * @returns {object}
368
+ * @returns The constants
370
369
  */
371
370
  getConstants() {
372
371
  return CONSTANTS;
@@ -378,8 +377,7 @@ class FclController extends BaseController {
378
377
  * @name sap.fe.templates.RootContainer.controller.Fcl.controller#getTargetAggregation
379
378
  * @memberof sap.fe.templates.RootContainer.controller.Fcl.controller
380
379
  * @function
381
- * @returns {Array} The _oTargetsAggregation array
382
- *
380
+ * @returns The _oTargetsAggregation array
383
381
  * @ui5-restricted
384
382
  */
385
383
  getTargetAggregation() {
@@ -391,7 +389,7 @@ class FclController extends BaseController {
391
389
  *
392
390
  * @name sap.fe.templates.RootContainer.controller.Fcl.controller#onRouteMatched
393
391
  * @memberof sap.fe.templates.RootContainer.controller.Fcl.controller
394
- * @param {*} oEvent
392
+ * @param oEvent
395
393
  */
396
394
  onRouteMatched(oEvent: any) {
397
395
  const sRouteName = oEvent.getParameter("name");
@@ -433,7 +431,7 @@ class FclController extends BaseController {
433
431
  *
434
432
  * @name sap.fe.templates.RootContainer.controller.Fcl.controller#onStateChanged
435
433
  * @memberof sap.fe.templates.RootContainer.controller.Fcl.controller
436
- * @param {*} oEvent
434
+ * @param oEvent
437
435
  */
438
436
  onStateChanged(oEvent: any) {
439
437
  const bIsNavigationArrow = oEvent.getParameter("isNavigationArrow");
@@ -456,7 +454,7 @@ class FclController extends BaseController {
456
454
  *
457
455
  * @name sap.fe.templates.RootContainer.controller.Fcl.controller#_forceModelContextChangeOnBreadCrumbs
458
456
  * @memberof sap.fe.templates.RootContainer.controller.Fcl.controller
459
- * @param {*} oEvent
457
+ * @param oEvent
460
458
  */
461
459
  _forceModelContextChangeOnBreadCrumbs(oEvent: any) {
462
460
  //force modelcontextchange on ObjectPages to refresh the breadcrumbs link hrefs
@@ -476,9 +474,9 @@ class FclController extends BaseController {
476
474
  * Function triggered to update the Share button Visibility.
477
475
  *
478
476
  * @memberof sap.fe.templates.RootContainer.controller.Fcl.controller
479
- * @param {string} viewColumn Name of the current column ("beginColumn", "midColumn", "endColumn")
480
- * @param {string} sLayout The current layout used by the FCL
481
- * @returns {boolean}
477
+ * @param viewColumn Name of the current column ("beginColumn", "midColumn", "endColumn")
478
+ * @param sLayout The current layout used by the FCL
479
+ * @returns The share button visibility
482
480
  */
483
481
  _updateShareButtonVisibility(viewColumn: string, sLayout: string) {
484
482
  let bShowShareIcon;
@@ -555,7 +553,7 @@ class FclController extends BaseController {
555
553
  *
556
554
  * @name sap.fe.templates.RootContainer.controller.Fcl.controller#onBeforeRouteMatched
557
555
  * @memberof sap.fe.templates.RootContainer.controller.Fcl.controller
558
- * @param {*} oEvent
556
+ * @param oEvent
559
557
  */
560
558
  onBeforeRouteMatched(oEvent: any) {
561
559
  if (oEvent) {
@@ -586,7 +584,7 @@ class FclController extends BaseController {
586
584
  *
587
585
  * @name sap.fe.templates.RootContainer.controller.Fcl.controller#getHelper
588
586
  * @memberof sap.fe.templates.RootContainer.controller.Fcl.controller
589
- * @returns {object} Instance of a semantic helper
587
+ * @returns Instance of a semantic helper
590
588
  */
591
589
  getHelper() {
592
590
  return FlexibleColumnLayoutSemanticHelper.getInstanceFor(this.getFclControl(), this._oFCLConfig);
@@ -599,7 +597,7 @@ class FclController extends BaseController {
599
597
  * @param sHash The hash to be navigated to
600
598
  * @param sProposedLayout The proposed layout
601
599
  * @param keepCurrentLayout True if we want to keep the current layout if possible
602
- * @returns {object}
600
+ * @returns The calculated layout
603
601
  */
604
602
  calculateLayout(iNextFCLLevel: number, sHash: string, sProposedLayout: string | undefined, keepCurrentLayout: boolean | undefined) {
605
603
  // First, ask the FCL helper to calculate the layout if nothing is proposed
@@ -608,7 +606,7 @@ class FclController extends BaseController {
608
606
  }
609
607
 
610
608
  // Then change this value if necessary, based on the number of targets
611
- const oRoute = (this.getRouter() as any).getRouteByHash(sHash + "?layout=" + sProposedLayout);
609
+ const oRoute = (this.getRouter() as any).getRouteByHash(`${sHash}?layout=${sProposedLayout}`);
612
610
  const aTargets = this._oTargetsFromRoutePattern[oRoute.getPattern()];
613
611
 
614
612
  return this._correctLayoutForTargets(sProposedLayout, aTargets);
@@ -617,9 +615,9 @@ class FclController extends BaseController {
617
615
  /**
618
616
  * Checks whether a given FCL layout is compatible with an array of targets.
619
617
  *
620
- * @param {*} sProposedLayout Proposed value for the FCL layout
621
- * @param {*} aTargets Array of target names used for checking
622
- * @returns {string} The corrected layout
618
+ * @param sProposedLayout Proposed value for the FCL layout
619
+ * @param aTargets Array of target names used for checking
620
+ * @returns The corrected layout
623
621
  */
624
622
  _correctLayoutForTargets(sProposedLayout: any, aTargets: any) {
625
623
  const allAllowedLayouts: any = {
@@ -663,6 +661,7 @@ class FclController extends BaseController {
663
661
  case "endColumnPages":
664
662
  sProposedLayout = "EndColumnFullScreen";
665
663
  break;
664
+ // no default
666
665
  }
667
666
  }
668
667
 
@@ -679,7 +678,7 @@ class FclController extends BaseController {
679
678
 
680
679
  _getAllVisibleViews(sLayout?: any) {
681
680
  const aViews = [];
682
- sLayout = !!sLayout ? sLayout : this.getFclControl().getLayout();
681
+ sLayout = sLayout ? sLayout : this.getFclControl().getLayout();
683
682
  switch (sLayout) {
684
683
  case LayoutType.EndColumnFullScreen:
685
684
  if (this.getFclControl().getCurrentEndColumnPage()) {
@@ -725,70 +724,106 @@ class FclController extends BaseController {
725
724
  break;
726
725
 
727
726
  default:
728
- Log.error("Unhandled switch case for " + this.getFclControl().getLayout());
727
+ Log.error(`Unhandled switch case for ${this.getFclControl().getLayout()}`);
729
728
  }
730
729
 
731
730
  return aViews;
732
731
  }
733
-
734
- onContainerReady() {
735
- // Restore views if neccessary.
736
- const aViews = this._getAllVisibleViews();
737
- const aRestorePromises: any[] = [];
738
- aViews.reduce(function (aPromises: any, oTargetView: any) {
739
- aPromises.push(KeepAliveHelper.restoreView(oTargetView));
740
- return aPromises;
741
- }, aRestorePromises);
742
- return Promise.all(aRestorePromises);
743
- }
744
-
745
- getRightmostContext() {
746
- let oContext;
747
- switch (this.getFclControl().getLayout()) {
732
+ _getAllViews(sLayout?: any) {
733
+ const aViews = [];
734
+ sLayout = sLayout ? sLayout : this.getFclControl().getLayout();
735
+ switch (sLayout) {
748
736
  case LayoutType.OneColumn:
749
737
  if (this.getFclControl().getCurrentBeginColumnPage()) {
750
- oContext = _getViewFromContainer(this.getFclControl().getCurrentBeginColumnPage()).getBindingContext();
751
- }
752
- break;
753
-
754
- case LayoutType.TwoColumnsBeginExpanded:
755
- case LayoutType.TwoColumnsMidExpanded:
756
- if (this.getFclControl().getCurrentMidColumnPage()) {
757
- oContext = _getViewFromContainer(this.getFclControl().getCurrentMidColumnPage()).getBindingContext();
738
+ aViews.push(_getViewFromContainer(this.getFclControl().getCurrentBeginColumnPage()));
758
739
  }
759
740
  break;
760
-
761
741
  case LayoutType.ThreeColumnsEndExpanded:
762
742
  case LayoutType.ThreeColumnsMidExpanded:
763
743
  case LayoutType.ThreeColumnsMidExpandedEndHidden:
764
744
  case LayoutType.ThreeColumnsBeginExpandedEndHidden:
765
745
  case LayoutType.EndColumnFullScreen:
746
+ if (this.getFclControl().getCurrentBeginColumnPage()) {
747
+ aViews.push(_getViewFromContainer(this.getFclControl().getCurrentBeginColumnPage()));
748
+ }
749
+ if (this.getFclControl().getCurrentMidColumnPage()) {
750
+ aViews.push(_getViewFromContainer(this.getFclControl().getCurrentMidColumnPage()));
751
+ }
766
752
  if (this.getFclControl().getCurrentEndColumnPage()) {
767
- oContext = _getViewFromContainer(this.getFclControl().getCurrentEndColumnPage()).getBindingContext();
753
+ aViews.push(_getViewFromContainer(this.getFclControl().getCurrentEndColumnPage()));
754
+ }
755
+ break;
756
+
757
+ case LayoutType.TwoColumnsBeginExpanded:
758
+ case LayoutType.TwoColumnsMidExpanded:
759
+ if (this.getFclControl().getCurrentBeginColumnPage()) {
760
+ aViews.push(_getViewFromContainer(this.getFclControl().getCurrentBeginColumnPage()));
761
+ }
762
+ if (this.getFclControl().getCurrentMidColumnPage()) {
763
+ aViews.push(_getViewFromContainer(this.getFclControl().getCurrentMidColumnPage()));
768
764
  }
769
765
  break;
770
766
 
771
767
  case LayoutType.MidColumnFullScreen:
772
768
  // In this case we need to determine if this mid column fullscreen comes from a 2 or a 3 column layout
773
769
  const sLayoutWhenExitFullScreen = (this.getHelper().getCurrentUIState() as any).actionButtonsInfo.midColumn.exitFullScreen;
770
+ if (this.getFclControl().getCurrentBeginColumnPage()) {
771
+ aViews.push(_getViewFromContainer(this.getFclControl().getCurrentBeginColumnPage()));
772
+ }
773
+ if (this.getFclControl().getCurrentMidColumnPage()) {
774
+ aViews.push(_getViewFromContainer(this.getFclControl().getCurrentMidColumnPage()));
775
+ }
774
776
  if (sLayoutWhenExitFullScreen.indexOf("ThreeColumn") >= 0) {
775
777
  // We come from a 3 column layout
776
778
  if (this.getFclControl().getCurrentEndColumnPage()) {
777
- oContext = _getViewFromContainer(this.getFclControl().getCurrentEndColumnPage()).getBindingContext();
778
- }
779
- } else {
780
- // We come from a 2 column layout
781
- if (this.getFclControl().getCurrentMidColumnPage()) {
782
- oContext = _getViewFromContainer(this.getFclControl().getCurrentMidColumnPage()).getBindingContext();
779
+ aViews.push(_getViewFromContainer(this.getFclControl().getCurrentEndColumnPage()));
783
780
  }
784
781
  }
785
782
  break;
786
783
 
787
784
  default:
788
- Log.error("Unhandled switch case for " + this.getFclControl().getLayout());
785
+ Log.error(`Unhandled switch case for ${this.getFclControl().getLayout()}`);
786
+ }
787
+ return aViews;
788
+ }
789
+
790
+ onContainerReady() {
791
+ // Restore views if neccessary.
792
+ const aViews = this._getAllVisibleViews();
793
+ const aRestorePromises: any[] = aViews.reduce(function (aPromises: any, oTargetView: any) {
794
+ aPromises.push(KeepAliveHelper.restoreView(oTargetView));
795
+ return aPromises;
796
+ }, []);
797
+ return Promise.all(aRestorePromises);
798
+ }
799
+
800
+ getRightmostContext(): Context | undefined {
801
+ const oView = this.getRightmostView();
802
+ return oView && oView.getBindingContext();
803
+ }
804
+
805
+ getRightmostView() {
806
+ return this._getAllViews().pop();
807
+ }
808
+
809
+ isContextUsedInPages(oContext: Context): boolean {
810
+ if (!this.getFclControl()) {
811
+ return false;
812
+ }
813
+ const aAllVisibleViews = this._getAllViews();
814
+
815
+ for (let i = 0; i < aAllVisibleViews.length; i++) {
816
+ const oView = aAllVisibleViews[i];
817
+ if (!oView) {
818
+ // A view has been destroyed --> app is currently being destroyed
819
+ return false;
820
+ }
821
+ if (oView.getBindingContext() === oContext) {
822
+ return true;
823
+ }
789
824
  }
790
825
 
791
- return oContext;
826
+ return false;
792
827
  }
793
828
  }
794
829
 
@@ -46,7 +46,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/controlle
46
46
  var oPages = oInternalModel.getProperty("/pages");
47
47
 
48
48
  for (var sComponentId in oPages) {
49
- oInternalModel.setProperty("/pages/" + sComponentId + "/restoreStatus", "pending");
49
+ oInternalModel.setProperty("/pages/".concat(sComponentId, "/restoreStatus"), "pending");
50
50
  }
51
51
 
52
52
  oController.onContainerReady();
@@ -127,8 +127,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/controlle
127
127
  * @function
128
128
  * @name sap.fe.templates.RootContainer.controller.NavContainer.controller#isFclEnabled
129
129
  * @memberof sap.fe.templates.RootContainer.controller.NavContainer.controller
130
- * @returns {boolean} `false` since we are not in FCL scenario
131
- *
130
+ * @returns `false` since we are not in FCL scenario
132
131
  * @ui5-restricted
133
132
  * @final
134
133
  */
@@ -205,4 +204,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/controlle
205
204
  })), _class2)) || _class);
206
205
  return NavContainerController;
207
206
  }, false);
208
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk5hdkNvbnRhaW5lci5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbIk5hdkNvbnRhaW5lckNvbnRyb2xsZXIiLCJkZWZpbmVVSTVDbGFzcyIsInVzaW5nRXh0ZW5zaW9uIiwiVmlld1N0YXRlIiwib3ZlcnJpZGUiLCJhcHBseUluaXRpYWxTdGF0ZU9ubHkiLCJhZGFwdEJpbmRpbmdSZWZyZXNoQ29udHJvbHMiLCJhQ29udHJvbHMiLCJvVmlldyIsImdldFZpZXciLCJvQ29udHJvbGxlciIsImdldENvbnRyb2xsZXIiLCJwdXNoIiwiX2dldEN1cnJlbnRQYWdlIiwiYWRhcHRTdGF0ZUNvbnRyb2xzIiwiYVN0YXRlQ29udHJvbHMiLCJvblJlc3RvcmUiLCJvTmF2Q29udGFpbmVyIiwiYnlJZCIsIm9JbnRlcm5hbE1vZGVsIiwiZ2V0TW9kZWwiLCJvUGFnZXMiLCJnZXRQcm9wZXJ0eSIsInNDb21wb25lbnRJZCIsInNldFByb3BlcnR5Iiwib25Db250YWluZXJSZWFkeSIsIm9uU3VzcGVuZCIsImFQYWdlcyIsImdldFBhZ2VzIiwiZm9yRWFjaCIsIm9QYWdlIiwib1RhcmdldFZpZXciLCJDb21tb25VdGlscyIsImdldFRhcmdldFZpZXciLCJ2aWV3U3RhdGUiLCJvUGFnZVByb21pc2UiLCJ0aGVuIiwib0N1cnJlbnRQYWdlIiwiS2VlcEFsaXZlSGVscGVyIiwicmVzdG9yZVZpZXciLCJQcm9taXNlIiwicmVzb2x2ZSIsImdldEN1cnJlbnRQYWdlIiwiaXNQbGFjZWhvbGRlciIsImF0dGFjaEV2ZW50T25jZSIsIm9FdmVudCIsIm9UYXJnZXRQYWdlIiwiZ2V0UGFyYW1ldGVyIiwiX2dldE5hdkNvbnRhaW5lciIsImdldENvbnRlbnQiLCJpc0ZjbEVuYWJsZWQiLCJfc2Nyb2xsVGFibGVzVG9MYXN0TmF2aWdhdGVkSXRlbXMiLCJkaXNwbGF5TWVzc2FnZVBhZ2UiLCJzRXJyb3JNZXNzYWdlIiwibVBhcmFtZXRlcnMiLCJyZWplY3QiLCJvTWVzc2FnZVBhZ2UiLCJNZXNzYWdlUGFnZSIsInNob3dIZWFkZXIiLCJpY29uIiwiYWRkUGFnZSIsInNldFRleHQiLCJ0ZWNobmljYWxNZXNzYWdlIiwic2V0Q3VzdG9tRGVzY3JpcHRpb24iLCJMaW5rIiwidGV4dCIsImRlc2NyaXB0aW9uIiwicHJlc3MiLCJNZXNzYWdlQm94Iiwic2hvdyIsIkljb24iLCJFUlJPUiIsInRpdGxlIiwiYWN0aW9ucyIsIkFjdGlvbiIsIk9LIiwiZGVmYXVsdEFjdGlvbiIsImRldGFpbHMiLCJ0ZWNobmljYWxEZXRhaWxzIiwiY29udGVudFdpZHRoIiwic2V0RGVzY3JpcHRpb24iLCJoYW5kbGVTaGVsbEJhY2siLCJvRXJyb3JPcmlnaW5QYWdlIiwib0FwcENvbXBvbmVudCIsImdldEFwcENvbXBvbmVudCIsImdldFNoZWxsU2VydmljZXMiLCJzZXRCYWNrTmF2aWdhdGlvbiIsInRvIiwiZ2V0SWQiLCJhdHRhY2hBZnRlck5hdmlnYXRlIiwiZSIsIkxvZyIsImluZm8iLCJCYXNlQ29udHJvbGxlciJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFXTUEsc0IsV0FETEMsY0FBYyxDQUFDLHdEQUFELEMsVUFFYkMsY0FBYyxDQUNkQyxTQUFTLENBQUNDLFFBQVYsQ0FBbUI7QUFDbEJDLElBQUFBLHFCQUFxQixFQUFFLFlBQVk7QUFDbEMsYUFBTyxLQUFQO0FBQ0EsS0FIaUI7QUFJbEJDLElBQUFBLDJCQUEyQixFQUFFLFVBQTJCQyxTQUEzQixFQUEyQztBQUN2RSxVQUFNQyxLQUFLLEdBQUcsS0FBS0MsT0FBTCxFQUFkO0FBQUEsVUFDQ0MsV0FBVyxHQUFHRixLQUFLLENBQUNHLGFBQU4sRUFEZjtBQUVBSixNQUFBQSxTQUFTLENBQUNLLElBQVYsQ0FBZUYsV0FBVyxDQUFDRyxlQUFaLENBQTRCTCxLQUE1QixDQUFmO0FBQ0EsS0FSaUI7QUFTbEJNLElBQUFBLGtCQUFrQixFQUFFLFVBQTJCQyxjQUEzQixFQUFnRDtBQUNuRSxVQUFNUCxLQUFLLEdB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QUE1QixDQURqQjtBQUVBeUMsWUFBQUEsYUFBYSxDQUFDRSxnQkFBZCxHQUFpQ0MsaUJBQWpDLENBQW1ELFlBQVk7QUFDN0RyRSxjQUFBQSxhQUFELENBQXVCc0UsRUFBdkIsQ0FBMEJMLGdCQUFnQixDQUFDTSxLQUFqQixFQUExQjtBQUNBTCxjQUFBQSxhQUFhLENBQUNFLGdCQUFkLEdBQWlDQyxpQkFBakM7QUFDQSxhQUhEO0FBSUE7O0FBQ0RyRSxVQUFBQSxhQUFhLENBQUN3RSxtQkFBZCxDQUFrQyxZQUFZO0FBQzdDaEQsWUFBQUEsT0FBTyxDQUFDLElBQUQsQ0FBUDtBQUNBLFdBRkQ7QUFHQ3hCLFVBQUFBLGFBQUQsQ0FBdUJzRSxFQUF2QixDQUEwQixNQUFJLENBQUMvQixZQUFMLENBQWtCZ0MsS0FBbEIsRUFBMUI7QUFDQSxTQTlDRCxDQThDRSxPQUFPRSxDQUFQLEVBQVU7QUFDWG5DLFVBQUFBLE1BQU0sQ0FBQyxLQUFELENBQU47QUFDQW9DLFVBQUFBLEdBQUcsQ0FBQ0MsSUFBSixDQUFTRixDQUFUO0FBQ0E7QUFDRCxPQW5ETSxDQUFQO0FBb0RBLEs7OztJQWpLbUNHLGM7Ozs7OztTQW9LdEI3RixzQiIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgVmlld1N0YXRlIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9WaWV3U3RhdGVcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCB1c2luZ0V4dGVuc2lvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IEtlZXBBbGl2ZUhlbHBlciBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9LZWVwQWxpdmVIZWxwZXJcIjtcbmltcG9ydCBMaW5rIGZyb20gXCJzYXAvbS9MaW5rXCI7XG5pbXBvcnQgTWVzc2FnZUJveCwgeyBBY3Rpb24sIEljb24gfSBmcm9tIFwic2FwL20vTWVzc2FnZUJveFwiO1xuaW1wb3J0IE1lc3NhZ2VQYWdlIGZyb20gXCJzYXAvbS9NZXNzYWdlUGFnZVwiO1xuaW1wb3J0IE5hdkNvbnRhaW5lciBmcm9tIFwic2FwL20vTmF2Q29udGFpbmVyXCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCBCYXNlQ29udHJvbGxlciBmcm9tIFwiLi9Sb290Q29udGFpbmVyQmFzZUNvbnRyb2xsZXJcIjtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLnRlbXBsYXRlcy5Sb290Q29udGFpbmVyLmNvbnRyb2xsZXIuTmF2Q29udGFpbmVyXCIpXG5jbGFzcyBOYXZDb250YWluZXJDb250cm9sbGVyIGV4dGVuZHMgQmFzZUNvbnRyb2xsZXIge1xuXHRAdXNpbmdFeHRlbnNpb24oXG5cdFx0Vmlld1N0YXRlLm92ZXJyaWRlKHtcblx0XHRcdGFwcGx5SW5pdGlhbFN0YXRlT25seTogZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHR9LFxuXHRcdFx0YWRhcHRCaW5kaW5nUmVmcmVzaENvbnRyb2xzOiBmdW5jdGlvbiAodGhpczogVmlld1N0YXRlLCBhQ29udHJvbHM6IGFueSkge1xuXHRcdFx0XHRjb25zdCBvVmlldyA9IHRoaXMuZ2V0VmlldygpLFxuXHRcdFx0XHRcdG9Db250cm9sbGVyID0gb1ZpZXcuZ2V0Q29udHJvbGxlcigpIGFzIE5hdkNvbnRhaW5lckNvbnRyb2xsZXI7XG5cdFx0XHRcdGFDb250cm9scy5wdXNoKG9Db250cm9sbGVyLl9nZXRDdXJyZW50UGFnZShvVmlldykpO1xuXHRcdFx0fSxcblx0XHRcdGFkYXB0U3RhdGVDb250cm9sczogZnVuY3Rpb24gKHRoaXM6IFZpZXdTdGF0ZSwgYVN0YXRlQ29udHJvbHM6IGFueSkge1xuXHRcdFx0XHRjb25zdCBvVmlldyA9IHRoaXMuZ2V0VmlldygpLFxuXHRcdFx0XHRcdG9Db250cm9sbGVyID0gb1ZpZXcuZ2V0Q29udHJvbGxlcigpIGFzIE5hdkNvbnRhaW5lckNvbnRyb2xsZXI7XG5cdFx0XHRcdGFTdGF0ZUNvbnRyb2xzLnB1c2gob0NvbnRyb2xsZXIuX2dldEN1cnJlbnRQYWdlKG9WaWV3KSk7XG5cdFx0XHR9LFxuXHRcdFx0b25SZXN0b3JlOiBmdW5jdGlvbiAodGhpczogVmlld1N0YXRlKSB7XG5cdFx0XHRcdGNvbnN0IG9WaWV3ID0gdGhpcy5nZXRWaWV3KCksXG5cdFx0XHRcdFx0b05hdkNvbnRhaW5lciA9IG9WaWV3LmJ5SWQoXCJhcHBDb250ZW50XCIpLFxuXHRcdFx0XHRcdG9Db250cm9sbGVyID0gb1ZpZXcuZ2V0Q29udHJvbGxlcigpIGFzIE5hdkNvbnRhaW5lckNvbnRyb2xsZXI7XG5cdFx0XHRcdGNvbnN0IG9JbnRlcm5hbE1vZGVsID0gb05hdkNvbnRhaW5lci5nZXRNb2RlbChcImludGVybmFsXCIpIGFzIEpTT05Nb2RlbDtcblx0XHRcdFx0Y29uc3Qgb1BhZ2VzID0gb0ludGVybmFsTW9kZWwuZ2V0UHJvcGVydHkoXCIvcGFnZXNcIik7XG5cblx0XHRcdFx0Zm9yIChjb25zdCBzQ29tcG9uZW50SWQgaW4gb1BhZ2VzKSB7XG5cdFx0XHRcdFx0b0ludGVybmFsTW9kZWwuc2V0UHJvcGVydHkoXCIvcGFnZXMvXCIgKyBzQ29tcG9uZW50SWQgKyBcIi9yZXN0b3JlU3RhdHVzXCIsIFwicGVuZGluZ1wiKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRvQ29udHJvbGxlci5vbkNvbnRhaW5lclJlYWR5KCk7XG5cdFx0XHR9LFxuXHRcdFx0b25TdXNwZW5kOiBmdW5jdGlvbiAodGhpczogVmlld1N0YXRlKSB7XG5cdFx0XHRcdGNvbnN0IG9WaWV3ID0gdGhpcy5nZXRWaWV3KCksXG5cdFx0XHRcdFx0b05hdkNvbnRhaW5lciA9IG9WaWV3LmJ5SWQoXCJhcHBDb250ZW50XCIpIGFzIE5hdkNvbnRhaW5lcjtcblx0XHRcdFx0Y29uc3QgYVBhZ2VzID0gb05hdkNvbnRhaW5lci5nZXRQYWdlcygpO1xuXHRcdFx0XHRhUGFnZXMuZm9yRWFjaChmdW5jdGlvbiAob1BhZ2U6IGFueSkge1xuXHRcdFx0XHRcdGNvbnN0IG9UYXJnZXRWaWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0VmlldyhvUGFnZSk7XG5cblx0XHRcdFx0XHRjb25zdCBvQ29udHJvbGxlciA9IG9UYXJnZXRWaWV3ICYmIG9UYXJnZXRWaWV3LmdldENvbnRyb2xsZXIoKTtcblx0XHRcdFx0XHRpZiAob0NvbnRyb2xsZXIgJiYgb0NvbnRyb2xsZXIudmlld1N0YXRlICYmIG9Db250cm9sbGVyLnZpZXdTdGF0ZS5vblN1c3BlbmQpIHtcblx0XHRcdFx0XHRcdHJldHVybiBvQ29udHJvbGxlci52aWV3U3RhdGUub25TdXNwZW5kKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9KVxuXHQpXG5cdHZpZXdTdGF0ZSE6IFZpZXdTdGF0ZTtcblx0cHJpdmF0ZSBvTWVzc2FnZVBhZ2U/OiBNZXNzYWdlUGFnZTtcblxuXHRvbkNvbnRhaW5lclJlYWR5KCkge1xuXHRcdC8vIFJlc3RvcmUgdmlld3MgaWYgbmVjY2Vzc2FyeS5cblx0XHRjb25zdCBvVmlldyA9IHRoaXMuZ2V0VmlldygpLFxuXHRcdFx0b1BhZ2VQcm9taXNlID0gdGhpcy5fZ2V0Q3VycmVudFBhZ2Uob1ZpZXcpO1xuXG5cdFx0cmV0dXJuIG9QYWdlUHJvbWlzZS50aGVuKGZ1bmN0aW9uIChvQ3VycmVudFBhZ2U6IGFueSkge1xuXHRcdFx0Y29uc3Qgb1RhcmdldFZpZXcgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KG9DdXJyZW50UGFnZSk7XG5cdFx0XHRyZXR1cm4gS2VlcEFsaXZlSGVscGVyLnJlc3RvcmVWaWV3KG9UYXJnZXRWaWV3KTtcblx0XHR9KTtcblx0fVxuXG5cdF9nZXRDdXJyZW50UGFnZShvVmlldzogYW55KSB7XG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlOiAodmFsdWU6IGFueSkgPT4gdm9pZCkge1xuXHRcdFx0Y29uc3Qgb05hdkNvbnRhaW5lciA9IG9WaWV3LmJ5SWQoXCJhcHBDb250ZW50XCIpO1xuXHRcdFx0Y29uc3Qgb0N1cnJlbnRQYWdlID0gb05hdkNvbnRhaW5lci5nZXRDdXJyZW50UGFnZSgpO1xuXHRcdFx0aWYgKFxuXHRcdFx0XHRvQ3VycmVudFBhZ2UgJiZcblx0XHRcdFx0b0N1cnJlbnRQYWdlLmdldENvbnRyb2xsZXIgJiZcblx0XHRcdFx0b0N1cnJlbnRQYWdlLmdldENvbnRyb2xsZXIoKS5pc1BsYWNlaG9sZGVyICYmXG5cdFx0XHRcdG9DdXJyZW50UGFnZS5nZXRDb250cm9sbGVyKCkuaXNQbGFjZWhvbGRlcigpXG5cdFx0XHQpIHtcblx0XHRcdFx0b0N1cnJlbnRQYWdlLmdldENvbnRyb2xsZXIoKS5hdHRhY2hFdmVudE9uY2UoXCJ0YXJnZXRQYWdlSW5zZXJ0ZWRJbkNvbnRhaW5lclwiLCBmdW5jdGlvbiAob0V2ZW50OiBhbnkpIHtcblx0XHRcdFx0XHRjb25zdCBvVGFyZ2V0UGFnZSA9IG9FdmVudC5nZXRQYXJhbWV0ZXIoXCJ0YXJnZXRwYWdlXCIpO1xuXHRcdFx0XHRcdGNvbnN0IG9UYXJnZXRWaWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0VmlldyhvVGFyZ2V0UGFnZSk7XG5cdFx0XHRcdFx0cmVzb2x2ZShvVGFyZ2V0VmlldyAhPT0gb1ZpZXcgJiYgb1RhcmdldFZpZXcpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbnN0IG9UYXJnZXRWaWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0VmlldyhvQ3VycmVudFBhZ2UpO1xuXHRcdFx0XHRyZXNvbHZlKG9UYXJnZXRWaWV3ICE9PSBvVmlldyAmJiBvVGFyZ2V0Vmlldyk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogQHByaXZhdGVcblx0ICogQG5hbWUgc2FwLmZlLnRlbXBsYXRlcy5Sb290Q29udGFpbmVyLmNvbnRyb2xsZXIuTmF2Q29udGFpbmVyLmdldE1ldGFkYXRhXG5cdCAqIEBmdW5jdGlvblxuXHQgKi9cblxuXHRfZ2V0TmF2Q29udGFpbmVyKCkge1xuXHRcdHJldHVybiB0aGlzLmdldFZpZXcoKS5nZXRDb250ZW50KClbMF07XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2sgaWYgdGhlIEZDTCBjb21wb25lbnQgaXMgZW5hYmxlZC5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIHNhcC5mZS50ZW1wbGF0ZXMuUm9vdENvbnRhaW5lci5jb250cm9sbGVyLk5hdkNvbnRhaW5lci5jb250cm9sbGVyI2lzRmNsRW5hYmxlZFxuXHQgKiBAbWVtYmVyb2Ygc2FwLmZlLnRlbXBsYXRlcy5Sb290Q29udGFpbmVyLmNvbnRyb2xsZXIuTmF2Q29udGFpbmVyLmNvbnRyb2xsZXJcblx0ICogQHJldHVybnMge2Jvb2xlYW59IGBmYWxzZWAgc2luY2Ugd2UgYXJlIG5vdCBpbiBGQ0wgc2NlbmFyaW9cblx0ICpcblx0ICogQHVpNS1yZXN0cmljdGVkXG5cdCAqIEBmaW5hbFxuXHQgKi9cblx0aXNGY2xFbmFibGVkKCkge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdF9zY3JvbGxUYWJsZXNUb0xhc3ROYXZpZ2F0ZWRJdGVtcygpIHtcblx0XHQvLyBEbyBub3RoaW5nXG5cdH1cblxuXHRkaXNwbGF5TWVzc2FnZVBhZ2Uoc0Vycm9yTWVzc2FnZTogYW55LCBtUGFyYW1ldGVyczogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBhbnksIHJlamVjdDogYW55KSA9PiB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRjb25zdCBvTmF2Q29udGFpbmVyID0gdGhpcy5fZ2V0TmF2Q29udGFpbmVyKCkgYXMgTmF2Q29udGFpbmVyO1xuXG5cdFx0XHRcdGlmICghdGhpcy5vTWVzc2FnZVBhZ2UpIHtcblx0XHRcdFx0XHR0aGlzLm9NZXNzYWdlUGFnZSA9IG5ldyBNZXNzYWdlUGFnZSh7XG5cdFx0XHRcdFx0XHRzaG93SGVhZGVyOiBmYWxzZSxcblx0XHRcdFx0XHRcdGljb246IFwic2FwLWljb246Ly9tZXNzYWdlLWVycm9yXCJcblx0XHRcdFx0XHR9KTtcblxuXHRcdFx0XHRcdG9OYXZDb250YWluZXIuYWRkUGFnZSh0aGlzLm9NZXNzYWdlUGFnZSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aGlzLm9NZXNzYWdlUGFnZS5zZXRUZXh0KHNFcnJvck1lc3NhZ2UpO1xuXG5cdFx0XHRcdGlmIChtUGFyYW1ldGVycy50ZWNobmljYWxNZXNzYWdlKSB7XG5cdFx0XHRcdFx0dGhpcy5vTWVzc2FnZVBhZ2Uuc2V0Q3VzdG9tRGVzY3JpcHRpb24oXG5cdFx0XHRcdFx0XHRuZXcgTGluayh7XG5cdFx0XHRcdFx0XHRcdHRleHQ6IG1QYXJhbWV0ZXJzLmRlc2NyaXB0aW9uIHx8IG1QYXJhbWV0ZXJzLnRlY2huaWNhbE1lc3NhZ2UsXG5cdFx0XHRcdFx0XHRcdHByZXNzOiBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRcdFx0TWVzc2FnZUJveC5zaG93KG1QYXJhbWV0ZXJzLnRlY2huaWNhbE1lc3NhZ2UsIHtcblx0XHRcdFx0XHRcdFx0XHRcdGljb246IEljb24uRVJST1IsXG5cdFx0XHRcdFx0XHRcdFx0XHR0aXRsZTogbVBhcmFtZXRlcnMudGl0bGUsXG5cdFx0XHRcdFx0XHRcdFx0XHRhY3Rpb25zOiBbQWN0aW9uLk9LXSxcblx0XHRcdFx0XHRcdFx0XHRcdGRlZmF1bHRBY3Rpb246IEFjdGlvbi5PSyxcblx0XHRcdFx0XHRcdFx0XHRcdGRldGFpbHM6IG1QYXJhbWV0ZXJzLnRlY2huaWNhbERldGFpbHMgfHwgXCJcIixcblx0XHRcdFx0XHRcdFx0XHRcdGNvbnRlbnRXaWR0aDogXCI2MCVcIlxuXHRcdFx0XHRcdFx0XHRcdH0gYXMgYW55KTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRoaXMub01lc3NhZ2VQYWdlLnNldERlc2NyaXB0aW9uKG1QYXJhbWV0ZXJzLmRlc2NyaXB0aW9uIHx8IFwiXCIpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKG1QYXJhbWV0ZXJzLmhhbmRsZVNoZWxsQmFjaykge1xuXHRcdFx0XHRcdGNvbnN0IG9FcnJvck9yaWdpblBhZ2UgPSBvTmF2Q29udGFpbmVyLmdldEN1cnJlbnRQYWdlKCksXG5cdFx0XHRcdFx0XHRvQXBwQ29tcG9uZW50ID0gQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KG9OYXZDb250YWluZXIuZ2V0Q3VycmVudFBhZ2UoKSk7XG5cdFx0XHRcdFx0b0FwcENvbXBvbmVudC5nZXRTaGVsbFNlcnZpY2VzKCkuc2V0QmFja05hdmlnYXRpb24oZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRcdFx0KG9OYXZDb250YWluZXIgYXMgYW55KS50byhvRXJyb3JPcmlnaW5QYWdlLmdldElkKCkpO1xuXHRcdFx0XHRcdFx0b0FwcENvbXBvbmVudC5nZXRTaGVsbFNlcnZpY2VzKCkuc2V0QmFja05hdmlnYXRpb24oKTtcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRvTmF2Q29udGFpbmVyLmF0dGFjaEFmdGVyTmF2aWdhdGUoZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRcdHJlc29sdmUodHJ1ZSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHQob05hdkNvbnRhaW5lciBhcyBhbnkpLnRvKHRoaXMub01lc3NhZ2VQYWdlLmdldElkKCkpO1xuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRyZWplY3QoZmFsc2UpO1xuXHRcdFx0XHRMb2cuaW5mbyhlIGFzIGFueSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTmF2Q29udGFpbmVyQ29udHJvbGxlcjtcbiJdfQ==
207
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk5hdkNvbnRhaW5lci5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbIk5hdkNvbnRhaW5lckNvbnRyb2xsZXIiLCJkZWZpbmVVSTVDbGFzcyIsInVzaW5nRXh0ZW5zaW9uIiwiVmlld1N0YXRlIiwib3ZlcnJpZGUiLCJhcHBseUluaXRpYWxTdGF0ZU9ubHkiLCJhZGFwdEJpbmRpbmdSZWZyZXNoQ29udHJvbHMiLCJhQ29udHJvbHMiLCJvVmlldyIsImdldFZpZXciLCJvQ29udHJvbGxlciIsImdldENvbnRyb2xsZXIiLCJwdXNoIiwiX2dldEN1cnJlbnRQYWdlIiwiYWRhcHRTdGF0ZUNvbnRyb2xzIiwiYVN0YXRlQ29udHJvbHMiLCJvblJlc3RvcmUiLCJvTmF2Q29udGFpbmVyIiwiYnlJZCIsIm9JbnRlcm5hbE1vZGVsIiwiZ2V0TW9kZWwiLCJvUGFnZXMiLCJnZXRQcm9wZXJ0eSIsInNDb21wb25lbnRJZCIsInNldFByb3BlcnR5Iiwib25Db250YWluZXJSZWFkeSIsIm9uU3VzcGVuZCIsImFQYWdlcyIsImdldFBhZ2VzIiwiZm9yRWFjaCIsIm9QYWdlIiwib1RhcmdldFZpZXciLCJDb21tb25VdGlscyIsImdldFRhcmdldFZpZXciLCJ2aWV3U3RhdGUiLCJvUGFnZVByb21pc2UiLCJ0aGVuIiwib0N1cnJlbnRQYWdlIiwiS2VlcEFsaXZlSGVscGVyIiwicmVzdG9yZVZpZXciLCJQcm9taXNlIiwicmVzb2x2ZSIsImdldEN1cnJlbnRQYWdlIiwiaXNQbGFjZWhvbGRlciIsImF0dGFjaEV2ZW50T25jZSIsIm9FdmVudCIsIm9UYXJnZXRQYWdlIiwiZ2V0UGFyYW1ldGVyIiwiX2dldE5hdkNvbnRhaW5lciIsImdldENvbnRlbnQiLCJpc0ZjbEVuYWJsZWQiLCJfc2Nyb2xsVGFibGVzVG9MYXN0TmF2aWdhdGVkSXRlbXMiLCJkaXNwbGF5TWVzc2FnZVBhZ2UiLCJzRXJyb3JNZXNzYWdlIiwibVBhcmFtZXRlcnMiLCJyZWplY3QiLCJvTWVzc2FnZVBhZ2UiLCJNZXNzYWdlUGFnZSIsInNob3dIZWFkZXIiLCJpY29uIiwiYWRkUGFnZSIsInNldFRleHQiLCJ0ZWNobmljYWxNZXNzYWdlIiwic2V0Q3VzdG9tRGVzY3JpcHRpb24iLCJMaW5rIiwidGV4dCIsImRlc2NyaXB0aW9uIiwicHJlc3MiLCJNZXNzYWdlQm94Iiwic2hvdyIsIkljb24iLCJFUlJPUiIsInRpdGxlIiwiYWN0aW9ucyIsIkFjdGlvbiIsIk9LIiwiZGVmYXVsdEFjdGlvbiIsImRldGFpbHMiLCJ0ZWNobmljYWxEZXRhaWxzIiwiY29udGVudFdpZHRoIiwic2V0RGVzY3JpcHRpb24iLCJoYW5kbGVTaGVsbEJhY2siLCJvRXJyb3JPcmlnaW5QYWdlIiwib0FwcENvbXBvbmVudCIsImdldEFwcENvbXBvbmVudCIsImdldFNoZWxsU2VydmljZXMiLCJzZXRCYWNrTmF2aWdhdGlvbiIsInRvIiwiZ2V0SWQiLCJhdHRhY2hBZnRlck5hdmlnYXRlIiwiZSIsIkxvZyIsImluZm8iLCJCYXNlQ29udHJvbGxlciJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFXTUEsc0IsV0FETEMsY0FBYyxDQUFDLHdEQUFELEMsVUFFYkMsY0FBYyxDQUNkQyxTQUFTLENBQUNDLFFBQVYsQ0FBbUI7QUFDbEJDLElBQUFBLHFCQUFxQixFQUFFLFlBQVk7QUFDbEMsYUFBTyxLQUFQO0FBQ0EsS0FIaUI7QUFJbEJDLElBQUFBLDJCQUEyQixFQUFFLFVBQTJCQyxTQUEzQixFQUEyQztBQUN2RSxVQUFNQyxLQUFLLEdBQUcsS0FBS0MsT0FBTCxFQUFkO0FBQUEsVUFDQ0MsV0FBVyxHQUFHRixLQUFLLENBQUNHLGFBQU4sRUFEZjtBQUVBSixNQUFBQSxTQUFTLENBQUNLLElBQVYsQ0FBZUYsV0FBVyxDQUFDRyxlQUFaLENBQTRCTCxLQUE1QixDQUFmO0FBQ0EsS0FSaUI7QUFTbEJNLElBQUFBLGtCQUFrQixFQUFFLFVBQTJCQyxjQUEzQixFQUFnRDtBQUNuRSxVQUFNUCxLQUFLLEdB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QUFBLGFBQWEsQ0FBQ0UsZ0JBQWQsR0FBaUNDLGlCQUFqQyxDQUFtRCxZQUFZO0FBQzdEckUsY0FBQUEsYUFBRCxDQUF1QnNFLEVBQXZCLENBQTBCTCxnQkFBZ0IsQ0FBQ00sS0FBakIsRUFBMUI7QUFDQUwsY0FBQUEsYUFBYSxDQUFDRSxnQkFBZCxHQUFpQ0MsaUJBQWpDO0FBQ0EsYUFIRDtBQUlBOztBQUNEckUsVUFBQUEsYUFBYSxDQUFDd0UsbUJBQWQsQ0FBa0MsWUFBWTtBQUM3Q2hELFlBQUFBLE9BQU8sQ0FBQyxJQUFELENBQVA7QUFDQSxXQUZEO0FBR0N4QixVQUFBQSxhQUFELENBQXVCc0UsRUFBdkIsQ0FBMEIsTUFBSSxDQUFDL0IsWUFBTCxDQUFrQmdDLEtBQWxCLEVBQTFCO0FBQ0EsU0E5Q0QsQ0E4Q0UsT0FBT0UsQ0FBUCxFQUFVO0FBQ1huQyxVQUFBQSxNQUFNLENBQUMsS0FBRCxDQUFOO0FBQ0FvQyxVQUFBQSxHQUFHLENBQUNDLElBQUosQ0FBU0YsQ0FBVDtBQUNBO0FBQ0QsT0FuRE0sQ0FBUDtBQW9EQSxLOzs7SUFoS21DRyxjOzs7Ozs7U0FtS3RCN0Ysc0IiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IENvbW1vblV0aWxzIGZyb20gXCJzYXAvZmUvY29yZS9Db21tb25VdGlsc1wiO1xuaW1wb3J0IFZpZXdTdGF0ZSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvVmlld1N0YXRlXCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgdXNpbmdFeHRlbnNpb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBLZWVwQWxpdmVIZWxwZXIgZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvS2VlcEFsaXZlSGVscGVyXCI7XG5pbXBvcnQgTGluayBmcm9tIFwic2FwL20vTGlua1wiO1xuaW1wb3J0IE1lc3NhZ2VCb3gsIHsgQWN0aW9uLCBJY29uIH0gZnJvbSBcInNhcC9tL01lc3NhZ2VCb3hcIjtcbmltcG9ydCBNZXNzYWdlUGFnZSBmcm9tIFwic2FwL20vTWVzc2FnZVBhZ2VcIjtcbmltcG9ydCB0eXBlIE5hdkNvbnRhaW5lciBmcm9tIFwic2FwL20vTmF2Q29udGFpbmVyXCI7XG5pbXBvcnQgdHlwZSBKU09OTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9qc29uL0pTT05Nb2RlbFwiO1xuaW1wb3J0IEJhc2VDb250cm9sbGVyIGZyb20gXCIuL1Jvb3RDb250YWluZXJCYXNlQ29udHJvbGxlclwiO1xuXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUudGVtcGxhdGVzLlJvb3RDb250YWluZXIuY29udHJvbGxlci5OYXZDb250YWluZXJcIilcbmNsYXNzIE5hdkNvbnRhaW5lckNvbnRyb2xsZXIgZXh0ZW5kcyBCYXNlQ29udHJvbGxlciB7XG5cdEB1c2luZ0V4dGVuc2lvbihcblx0XHRWaWV3U3RhdGUub3ZlcnJpZGUoe1xuXHRcdFx0YXBwbHlJbml0aWFsU3RhdGVPbmx5OiBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdH0sXG5cdFx0XHRhZGFwdEJpbmRpbmdSZWZyZXNoQ29udHJvbHM6IGZ1bmN0aW9uICh0aGlzOiBWaWV3U3RhdGUsIGFDb250cm9sczogYW55KSB7XG5cdFx0XHRcdGNvbnN0IG9WaWV3ID0gdGhpcy5nZXRWaWV3KCksXG5cdFx0XHRcdFx0b0NvbnRyb2xsZXIgPSBvVmlldy5nZXRDb250cm9sbGVyKCkgYXMgTmF2Q29udGFpbmVyQ29udHJvbGxlcjtcblx0XHRcdFx0YUNvbnRyb2xzLnB1c2gob0NvbnRyb2xsZXIuX2dldEN1cnJlbnRQYWdlKG9WaWV3KSk7XG5cdFx0XHR9LFxuXHRcdFx0YWRhcHRTdGF0ZUNvbnRyb2xzOiBmdW5jdGlvbiAodGhpczogVmlld1N0YXRlLCBhU3RhdGVDb250cm9sczogYW55KSB7XG5cdFx0XHRcdGNvbnN0IG9WaWV3ID0gdGhpcy5nZXRWaWV3KCksXG5cdFx0XHRcdFx0b0NvbnRyb2xsZXIgPSBvVmlldy5nZXRDb250cm9sbGVyKCkgYXMgTmF2Q29udGFpbmVyQ29udHJvbGxlcjtcblx0XHRcdFx0YVN0YXRlQ29udHJvbHMucHVzaChvQ29udHJvbGxlci5fZ2V0Q3VycmVudFBhZ2Uob1ZpZXcpKTtcblx0XHRcdH0sXG5cdFx0XHRvblJlc3RvcmU6IGZ1bmN0aW9uICh0aGlzOiBWaWV3U3RhdGUpIHtcblx0XHRcdFx0Y29uc3Qgb1ZpZXcgPSB0aGlzLmdldFZpZXcoKSxcblx0XHRcdFx0XHRvTmF2Q29udGFpbmVyID0gb1ZpZXcuYnlJZChcImFwcENvbnRlbnRcIiksXG5cdFx0XHRcdFx0b0NvbnRyb2xsZXIgPSBvVmlldy5nZXRDb250cm9sbGVyKCkgYXMgTmF2Q29udGFpbmVyQ29udHJvbGxlcjtcblx0XHRcdFx0Y29uc3Qgb0ludGVybmFsTW9kZWwgPSBvTmF2Q29udGFpbmVyLmdldE1vZGVsKFwiaW50ZXJuYWxcIikgYXMgSlNPTk1vZGVsO1xuXHRcdFx0XHRjb25zdCBvUGFnZXMgPSBvSW50ZXJuYWxNb2RlbC5nZXRQcm9wZXJ0eShcIi9wYWdlc1wiKTtcblxuXHRcdFx0XHRmb3IgKGNvbnN0IHNDb21wb25lbnRJZCBpbiBvUGFnZXMpIHtcblx0XHRcdFx0XHRvSW50ZXJuYWxNb2RlbC5zZXRQcm9wZXJ0eShgL3BhZ2VzLyR7c0NvbXBvbmVudElkfS9yZXN0b3JlU3RhdHVzYCwgXCJwZW5kaW5nXCIpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdG9Db250cm9sbGVyLm9uQ29udGFpbmVyUmVhZHkoKTtcblx0XHRcdH0sXG5cdFx0XHRvblN1c3BlbmQ6IGZ1bmN0aW9uICh0aGlzOiBWaWV3U3RhdGUpIHtcblx0XHRcdFx0Y29uc3Qgb1ZpZXcgPSB0aGlzLmdldFZpZXcoKSxcblx0XHRcdFx0XHRvTmF2Q29udGFpbmVyID0gb1ZpZXcuYnlJZChcImFwcENvbnRlbnRcIikgYXMgTmF2Q29udGFpbmVyO1xuXHRcdFx0XHRjb25zdCBhUGFnZXMgPSBvTmF2Q29udGFpbmVyLmdldFBhZ2VzKCk7XG5cdFx0XHRcdGFQYWdlcy5mb3JFYWNoKGZ1bmN0aW9uIChvUGFnZTogYW55KSB7XG5cdFx0XHRcdFx0Y29uc3Qgb1RhcmdldFZpZXcgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KG9QYWdlKTtcblxuXHRcdFx0XHRcdGNvbnN0IG9Db250cm9sbGVyID0gb1RhcmdldFZpZXcgJiYgb1RhcmdldFZpZXcuZ2V0Q29udHJvbGxlcigpO1xuXHRcdFx0XHRcdGlmIChvQ29udHJvbGxlciAmJiBvQ29udHJvbGxlci52aWV3U3RhdGUgJiYgb0NvbnRyb2xsZXIudmlld1N0YXRlLm9uU3VzcGVuZCkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIG9Db250cm9sbGVyLnZpZXdTdGF0ZS5vblN1c3BlbmQoKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH0pXG5cdClcblx0dmlld1N0YXRlITogVmlld1N0YXRlO1xuXHRwcml2YXRlIG9NZXNzYWdlUGFnZT86IE1lc3NhZ2VQYWdlO1xuXG5cdG9uQ29udGFpbmVyUmVhZHkoKSB7XG5cdFx0Ly8gUmVzdG9yZSB2aWV3cyBpZiBuZWNjZXNzYXJ5LlxuXHRcdGNvbnN0IG9WaWV3ID0gdGhpcy5nZXRWaWV3KCksXG5cdFx0XHRvUGFnZVByb21pc2UgPSB0aGlzLl9nZXRDdXJyZW50UGFnZShvVmlldyk7XG5cblx0XHRyZXR1cm4gb1BhZ2VQcm9taXNlLnRoZW4oZnVuY3Rpb24gKG9DdXJyZW50UGFnZTogYW55KSB7XG5cdFx0XHRjb25zdCBvVGFyZ2V0VmlldyA9IENvbW1vblV0aWxzLmdldFRhcmdldFZpZXcob0N1cnJlbnRQYWdlKTtcblx0XHRcdHJldHVybiBLZWVwQWxpdmVIZWxwZXIucmVzdG9yZVZpZXcob1RhcmdldFZpZXcpO1xuXHRcdH0pO1xuXHR9XG5cblx0X2dldEN1cnJlbnRQYWdlKG9WaWV3OiBhbnkpIHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmU6ICh2YWx1ZTogYW55KSA9PiB2b2lkKSB7XG5cdFx0XHRjb25zdCBvTmF2Q29udGFpbmVyID0gb1ZpZXcuYnlJZChcImFwcENvbnRlbnRcIik7XG5cdFx0XHRjb25zdCBvQ3VycmVudFBhZ2UgPSBvTmF2Q29udGFpbmVyLmdldEN1cnJlbnRQYWdlKCk7XG5cdFx0XHRpZiAoXG5cdFx0XHRcdG9DdXJyZW50UGFnZSAmJlxuXHRcdFx0XHRvQ3VycmVudFBhZ2UuZ2V0Q29udHJvbGxlciAmJlxuXHRcdFx0XHRvQ3VycmVudFBhZ2UuZ2V0Q29udHJvbGxlcigpLmlzUGxhY2Vob2xkZXIgJiZcblx0XHRcdFx0b0N1cnJlbnRQYWdlLmdldENvbnRyb2xsZXIoKS5pc1BsYWNlaG9sZGVyKClcblx0XHRcdCkge1xuXHRcdFx0XHRvQ3VycmVudFBhZ2UuZ2V0Q29udHJvbGxlcigpLmF0dGFjaEV2ZW50T25jZShcInRhcmdldFBhZ2VJbnNlcnRlZEluQ29udGFpbmVyXCIsIGZ1bmN0aW9uIChvRXZlbnQ6IGFueSkge1xuXHRcdFx0XHRcdGNvbnN0IG9UYXJnZXRQYWdlID0gb0V2ZW50LmdldFBhcmFtZXRlcihcInRhcmdldHBhZ2VcIik7XG5cdFx0XHRcdFx0Y29uc3Qgb1RhcmdldFZpZXcgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KG9UYXJnZXRQYWdlKTtcblx0XHRcdFx0XHRyZXNvbHZlKG9UYXJnZXRWaWV3ICE9PSBvVmlldyAmJiBvVGFyZ2V0Vmlldyk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Y29uc3Qgb1RhcmdldFZpZXcgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KG9DdXJyZW50UGFnZSk7XG5cdFx0XHRcdHJlc29sdmUob1RhcmdldFZpZXcgIT09IG9WaWV3ICYmIG9UYXJnZXRWaWV3KTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKiBAbmFtZSBzYXAuZmUudGVtcGxhdGVzLlJvb3RDb250YWluZXIuY29udHJvbGxlci5OYXZDb250YWluZXIuZ2V0TWV0YWRhdGFcblx0ICogQGZ1bmN0aW9uXG5cdCAqL1xuXG5cdF9nZXROYXZDb250YWluZXIoKSB7XG5cdFx0cmV0dXJuIHRoaXMuZ2V0VmlldygpLmdldENvbnRlbnQoKVswXTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVjayBpZiB0aGUgRkNMIGNvbXBvbmVudCBpcyBlbmFibGVkLlxuXHQgKlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQG5hbWUgc2FwLmZlLnRlbXBsYXRlcy5Sb290Q29udGFpbmVyLmNvbnRyb2xsZXIuTmF2Q29udGFpbmVyLmNvbnRyb2xsZXIjaXNGY2xFbmFibGVkXG5cdCAqIEBtZW1iZXJvZiBzYXAuZmUudGVtcGxhdGVzLlJvb3RDb250YWluZXIuY29udHJvbGxlci5OYXZDb250YWluZXIuY29udHJvbGxlclxuXHQgKiBAcmV0dXJucyBgZmFsc2VgIHNpbmNlIHdlIGFyZSBub3QgaW4gRkNMIHNjZW5hcmlvXG5cdCAqIEB1aTUtcmVzdHJpY3RlZFxuXHQgKiBAZmluYWxcblx0ICovXG5cdGlzRmNsRW5hYmxlZCgpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRfc2Nyb2xsVGFibGVzVG9MYXN0TmF2aWdhdGVkSXRlbXMoKSB7XG5cdFx0Ly8gRG8gbm90aGluZ1xuXHR9XG5cblx0ZGlzcGxheU1lc3NhZ2VQYWdlKHNFcnJvck1lc3NhZ2U6IGFueSwgbVBhcmFtZXRlcnM6IGFueSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuXHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogYW55LCByZWplY3Q6IGFueSkgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3Qgb05hdkNvbnRhaW5lciA9IHRoaXMuX2dldE5hdkNvbnRhaW5lcigpIGFzIE5hdkNvbnRhaW5lcjtcblxuXHRcdFx0XHRpZiAoIXRoaXMub01lc3NhZ2VQYWdlKSB7XG5cdFx0XHRcdFx0dGhpcy5vTWVzc2FnZVBhZ2UgPSBuZXcgTWVzc2FnZVBhZ2Uoe1xuXHRcdFx0XHRcdFx0c2hvd0hlYWRlcjogZmFsc2UsXG5cdFx0XHRcdFx0XHRpY29uOiBcInNhcC1pY29uOi8vbWVzc2FnZS1lcnJvclwiXG5cdFx0XHRcdFx0fSk7XG5cblx0XHRcdFx0XHRvTmF2Q29udGFpbmVyLmFkZFBhZ2UodGhpcy5vTWVzc2FnZVBhZ2UpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhpcy5vTWVzc2FnZVBhZ2Uuc2V0VGV4dChzRXJyb3JNZXNzYWdlKTtcblxuXHRcdFx0XHRpZiAobVBhcmFtZXRlcnMudGVjaG5pY2FsTWVzc2FnZSkge1xuXHRcdFx0XHRcdHRoaXMub01lc3NhZ2VQYWdlLnNldEN1c3RvbURlc2NyaXB0aW9uKFxuXHRcdFx0XHRcdFx0bmV3IExpbmsoe1xuXHRcdFx0XHRcdFx0XHR0ZXh0OiBtUGFyYW1ldGVycy5kZXNjcmlwdGlvbiB8fCBtUGFyYW1ldGVycy50ZWNobmljYWxNZXNzYWdlLFxuXHRcdFx0XHRcdFx0XHRwcmVzczogZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRcdFx0XHRcdE1lc3NhZ2VCb3guc2hvdyhtUGFyYW1ldGVycy50ZWNobmljYWxNZXNzYWdlLCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRpY29uOiBJY29uLkVSUk9SLFxuXHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6IG1QYXJhbWV0ZXJzLnRpdGxlLFxuXHRcdFx0XHRcdFx0XHRcdFx0YWN0aW9uczogW0FjdGlvbi5PS10sXG5cdFx0XHRcdFx0XHRcdFx0XHRkZWZhdWx0QWN0aW9uOiBBY3Rpb24uT0ssXG5cdFx0XHRcdFx0XHRcdFx0XHRkZXRhaWxzOiBtUGFyYW1ldGVycy50ZWNobmljYWxEZXRhaWxzIHx8IFwiXCIsXG5cdFx0XHRcdFx0XHRcdFx0XHRjb250ZW50V2lkdGg6IFwiNjAlXCJcblx0XHRcdFx0XHRcdFx0XHR9IGFzIGFueSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aGlzLm9NZXNzYWdlUGFnZS5zZXREZXNjcmlwdGlvbihtUGFyYW1ldGVycy5kZXNjcmlwdGlvbiB8fCBcIlwiKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlmIChtUGFyYW1ldGVycy5oYW5kbGVTaGVsbEJhY2spIHtcblx0XHRcdFx0XHRjb25zdCBvRXJyb3JPcmlnaW5QYWdlID0gb05hdkNvbnRhaW5lci5nZXRDdXJyZW50UGFnZSgpLFxuXHRcdFx0XHRcdFx0b0FwcENvbXBvbmVudCA9IENvbW1vblV0aWxzLmdldEFwcENvbXBvbmVudChvTmF2Q29udGFpbmVyLmdldEN1cnJlbnRQYWdlKCkpO1xuXHRcdFx0XHRcdG9BcHBDb21wb25lbnQuZ2V0U2hlbGxTZXJ2aWNlcygpLnNldEJhY2tOYXZpZ2F0aW9uKGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0XHRcdChvTmF2Q29udGFpbmVyIGFzIGFueSkudG8ob0Vycm9yT3JpZ2luUGFnZS5nZXRJZCgpKTtcblx0XHRcdFx0XHRcdG9BcHBDb21wb25lbnQuZ2V0U2hlbGxTZXJ2aWNlcygpLnNldEJhY2tOYXZpZ2F0aW9uKCk7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0b05hdkNvbnRhaW5lci5hdHRhY2hBZnRlck5hdmlnYXRlKGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0XHRyZXNvbHZlKHRydWUpO1xuXHRcdFx0XHR9KTtcblx0XHRcdFx0KG9OYXZDb250YWluZXIgYXMgYW55KS50byh0aGlzLm9NZXNzYWdlUGFnZS5nZXRJZCgpKTtcblx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0cmVqZWN0KGZhbHNlKTtcblx0XHRcdFx0TG9nLmluZm8oZSBhcyBhbnkpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE5hdkNvbnRhaW5lckNvbnRyb2xsZXI7XG4iXX0=
@@ -6,8 +6,8 @@ import KeepAliveHelper from "sap/fe/core/helpers/KeepAliveHelper";
6
6
  import Link from "sap/m/Link";
7
7
  import MessageBox, { Action, Icon } from "sap/m/MessageBox";
8
8
  import MessagePage from "sap/m/MessagePage";
9
- import NavContainer from "sap/m/NavContainer";
10
- import JSONModel from "sap/ui/model/json/JSONModel";
9
+ import type NavContainer from "sap/m/NavContainer";
10
+ import type JSONModel from "sap/ui/model/json/JSONModel";
11
11
  import BaseController from "./RootContainerBaseController";
12
12
 
13
13
  @defineUI5Class("sap.fe.templates.RootContainer.controller.NavContainer")
@@ -35,7 +35,7 @@ class NavContainerController extends BaseController {
35
35
  const oPages = oInternalModel.getProperty("/pages");
36
36
 
37
37
  for (const sComponentId in oPages) {
38
- oInternalModel.setProperty("/pages/" + sComponentId + "/restoreStatus", "pending");
38
+ oInternalModel.setProperty(`/pages/${sComponentId}/restoreStatus`, "pending");
39
39
  }
40
40
  oController.onContainerReady();
41
41
  },
@@ -106,8 +106,7 @@ class NavContainerController extends BaseController {
106
106
  * @function
107
107
  * @name sap.fe.templates.RootContainer.controller.NavContainer.controller#isFclEnabled
108
108
  * @memberof sap.fe.templates.RootContainer.controller.NavContainer.controller
109
- * @returns {boolean} `false` since we are not in FCL scenario
110
- *
109
+ * @returns `false` since we are not in FCL scenario
111
110
  * @ui5-restricted
112
111
  * @final
113
112
  */