@sapui5/sap.fe.core 1.124.2 → 1.126.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/fe/core/.library +5 -1
- package/src/sap/fe/core/ActionRuntime.js +2 -2
- package/src/sap/fe/core/ActionRuntime.ts +4 -4
- package/src/sap/fe/core/AppComponent.js +2 -2
- package/src/sap/fe/core/AppComponent.ts +1 -1
- package/src/sap/fe/core/AppStateHandler.js +2 -2
- package/src/sap/fe/core/AppStateHandler.ts +1 -1
- package/src/sap/fe/core/BaseController.js +2 -2
- package/src/sap/fe/core/BaseController.ts +1 -1
- package/src/sap/fe/core/CommonUtils.js +3 -3
- package/src/sap/fe/core/CommonUtils.ts +12 -15
- package/src/sap/fe/core/ExtensionAPI.js +2 -2
- package/src/sap/fe/core/ExtensionAPI.ts +4 -3
- package/src/sap/fe/core/PageController.js +2 -2
- package/src/sap/fe/core/PageController.ts +1 -1
- package/src/sap/fe/core/ResourceModel.js +2 -2
- package/src/sap/fe/core/ResourceModel.ts +1 -1
- package/src/sap/fe/core/ReuseComponent.js +172 -0
- package/src/sap/fe/core/ReuseComponent.ts +165 -0
- package/src/sap/fe/core/TemplateComponent.js +2 -2
- package/src/sap/fe/core/TemplateComponent.ts +5 -1
- package/src/sap/fe/core/TemplateModel.js +2 -2
- package/src/sap/fe/core/TemplateModel.ts +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +92 -6
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +90 -10
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockSupport.js +1 -1
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockSupport.ts +1 -1
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor.js +30 -3
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor.ts +28 -4
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase.js +10 -16
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase.ts +19 -16
- package/src/sap/fe/core/buildingBlocks/templating/RuntimeBuildingBlockFragment.js +3 -3
- package/src/sap/fe/core/buildingBlocks/templating/RuntimeBuildingBlockFragment.ts +5 -5
- package/src/sap/fe/core/controllerextensions/BaseControllerExtension.js +2 -2
- package/src/sap/fe/core/controllerextensions/BaseControllerExtension.ts +1 -1
- package/src/sap/fe/core/controllerextensions/CollaborativeDraft.js +17 -5
- package/src/sap/fe/core/controllerextensions/CollaborativeDraft.ts +14 -6
- package/src/sap/fe/core/controllerextensions/ContextSharing.js +2 -2
- package/src/sap/fe/core/controllerextensions/ContextSharing.ts +1 -1
- package/src/sap/fe/core/controllerextensions/EditFlow.js +57 -43
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +61 -46
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +2 -2
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +1 -1
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +8 -11
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +8 -16
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +10 -7
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +5 -5
- package/src/sap/fe/core/controllerextensions/KPIManagement.js +22 -18
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +28 -23
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +4 -4
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +4 -1
- package/src/sap/fe/core/controllerextensions/PageReady.js +21 -15
- package/src/sap/fe/core/controllerextensions/PageReady.ts +29 -20
- package/src/sap/fe/core/controllerextensions/Paginator.js +2 -2
- package/src/sap/fe/core/controllerextensions/Paginator.ts +1 -1
- package/src/sap/fe/core/controllerextensions/Placeholder.js +12 -6
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +15 -1
- package/src/sap/fe/core/controllerextensions/Recommendations.js +26 -8
- package/src/sap/fe/core/controllerextensions/Recommendations.ts +29 -3
- package/src/sap/fe/core/controllerextensions/Routing.js +5 -7
- package/src/sap/fe/core/controllerextensions/Routing.ts +4 -4
- package/src/sap/fe/core/controllerextensions/Share.js +4 -4
- package/src/sap/fe/core/controllerextensions/Share.ts +10 -6
- package/src/sap/fe/core/controllerextensions/SideEffects.js +20 -5
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +22 -2
- package/src/sap/fe/core/controllerextensions/Telemetry.js +2 -2
- package/src/sap/fe/core/controllerextensions/Telemetry.ts +1 -1
- package/src/sap/fe/core/controllerextensions/ViewState.js +79 -81
- package/src/sap/fe/core/controllerextensions/ViewState.ts +117 -105
- package/src/sap/fe/core/controllerextensions/cards/CollaborationManager.js +3 -3
- package/src/sap/fe/core/controllerextensions/cards/CollaborationManager.ts +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +2 -2
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +2 -2
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js +17 -8
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.tsx +8 -2
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +10 -9
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +15 -10
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +2 -2
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +130 -158
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +240 -275
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +2 -2
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +1 -1
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +46 -28
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +60 -32
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +2 -2
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +1 -1
- package/src/sap/fe/core/controllerextensions/viewState/IViewStateContributor.js +2 -2
- package/src/sap/fe/core/controllerextensions/viewState/IViewStateContributor.ts +27 -3
- package/src/sap/fe/core/controls/CommandExecution.js +2 -2
- package/src/sap/fe/core/controls/CommandExecution.ts +2 -2
- package/src/sap/fe/core/controls/ComponentLoader.js +3 -3
- package/src/sap/fe/core/controls/ComponentLoader.ts +2 -2
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js +3 -3
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.tsx +2 -2
- package/src/sap/fe/core/controls/EventDelegateHook.js +2 -2
- package/src/sap/fe/core/controls/EventDelegateHook.ts +2 -2
- package/src/sap/fe/core/controls/FormElementWrapper.js +51 -6
- package/src/sap/fe/core/controls/FormElementWrapper.ts +43 -2
- package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block.js +3 -3
- package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block.tsx +3 -3
- package/src/sap/fe/core/converters/ConverterContext.js +4 -2
- package/src/sap/fe/core/converters/ConverterContext.ts +5 -2
- package/src/sap/fe/core/converters/ManifestSettings.js +8 -2
- package/src/sap/fe/core/converters/ManifestSettings.ts +25 -3
- package/src/sap/fe/core/converters/ManifestWrapper.js +12 -3
- package/src/sap/fe/core/converters/ManifestWrapper.ts +11 -1
- package/src/sap/fe/core/converters/MetaModelConverter.js +7 -6
- package/src/sap/fe/core/converters/MetaModelConverter.ts +6 -2
- package/src/sap/fe/core/converters/annotations/DataField.js +56 -16
- package/src/sap/fe/core/converters/annotations/DataField.ts +74 -25
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +19 -18
- package/src/sap/fe/core/converters/controls/Common/Action.js +5 -5
- package/src/sap/fe/core/converters/controls/Common/Action.ts +14 -14
- package/src/sap/fe/core/converters/controls/Common/Chart.js +40 -7
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +56 -20
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +8 -11
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +23 -27
- package/src/sap/fe/core/converters/controls/Common/Form.js +10 -3
- package/src/sap/fe/core/converters/controls/Common/Form.ts +13 -4
- package/src/sap/fe/core/converters/controls/Common/KPI.js +3 -2
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +6 -2
- package/src/sap/fe/core/converters/controls/Common/Table.js +137 -48
- package/src/sap/fe/core/converters/controls/Common/Table.ts +174 -52
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +73 -21
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +91 -20
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +4 -4
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +2 -2
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +2 -2
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +2 -2
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +3 -3
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +17 -16
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +18 -17
- package/src/sap/fe/core/converters/helpers/InsightsHelpers.js +2 -2
- package/src/sap/fe/core/converters/helpers/InsightsHelpers.ts +1 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +9 -9
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +12 -12
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +13 -7
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +12 -5
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +9 -73
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +4 -74
- package/src/sap/fe/core/designtime/AppComponent.designtime.js +5 -10
- package/src/sap/fe/core/designtime/AppComponent.designtime.ts +3 -12
- package/src/sap/fe/core/formatters/CriticalityFormatter.js +4 -7
- package/src/sap/fe/core/formatters/CriticalityFormatter.ts +3 -3
- package/src/sap/fe/core/formatters/FiscalFormat.js +5 -3
- package/src/sap/fe/core/formatters/FiscalFormat.ts +4 -2
- package/src/sap/fe/core/formatters/StandardFormatter.js +2 -2
- package/src/sap/fe/core/formatters/StandardFormatter.ts +3 -3
- package/src/sap/fe/core/fpm/Component.js +3 -3
- package/src/sap/fe/core/fpm/Component.ts +3 -3
- package/src/sap/fe/core/fpm/manifest.json +1 -1
- package/src/sap/fe/core/helpers/AdaptiveCardExpressionCompiler.js +2 -2
- package/src/sap/fe/core/helpers/AdaptiveCardExpressionCompiler.ts +1 -1
- package/src/sap/fe/core/helpers/BindingHelper.js +2 -2
- package/src/sap/fe/core/helpers/BindingHelper.ts +2 -2
- package/src/sap/fe/core/helpers/BindingToolkitEvaluator.js +2 -2
- package/src/sap/fe/core/helpers/BindingToolkitEvaluator.ts +2 -2
- package/src/sap/fe/core/helpers/DeleteHelper.js +7 -4
- package/src/sap/fe/core/helpers/DeleteHelper.ts +9 -3
- package/src/sap/fe/core/helpers/MetaModelFunction.js +5 -5
- package/src/sap/fe/core/helpers/MetaModelFunction.ts +2 -2
- package/src/sap/fe/core/helpers/MetaPath.js +9 -3
- package/src/sap/fe/core/helpers/MetaPath.ts +8 -2
- package/src/sap/fe/core/helpers/ModelHelper.js +149 -3
- package/src/sap/fe/core/helpers/ModelHelper.ts +202 -6
- package/src/sap/fe/core/helpers/StandardRecommendationHelper.js +3 -3
- package/src/sap/fe/core/helpers/StandardRecommendationHelper.ts +2 -2
- package/src/sap/fe/core/helpers/TitleHelper.js +4 -4
- package/src/sap/fe/core/helpers/TitleHelper.ts +4 -4
- package/src/sap/fe/core/library.js +4 -4
- package/src/sap/fe/core/library.ts +2 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +11 -3
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +10 -2
- package/src/sap/fe/core/messagebundle.properties +8 -57
- package/src/sap/fe/core/messagebundle_ar.properties +2 -0
- package/src/sap/fe/core/messagebundle_bg.properties +2 -0
- package/src/sap/fe/core/messagebundle_ca.properties +2 -0
- package/src/sap/fe/core/messagebundle_cnr.properties +2 -0
- package/src/sap/fe/core/messagebundle_cs.properties +2 -0
- package/src/sap/fe/core/messagebundle_cy.properties +4 -2
- package/src/sap/fe/core/messagebundle_da.properties +2 -0
- package/src/sap/fe/core/messagebundle_de.properties +2 -0
- package/src/sap/fe/core/messagebundle_el.properties +2 -0
- package/src/sap/fe/core/messagebundle_en.properties +6 -57
- package/src/sap/fe/core/messagebundle_en_GB.properties +2 -0
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +3 -36
- package/src/sap/fe/core/messagebundle_es.properties +2 -0
- package/src/sap/fe/core/messagebundle_es_MX.properties +2 -0
- package/src/sap/fe/core/messagebundle_et.properties +2 -0
- package/src/sap/fe/core/messagebundle_fi.properties +2 -0
- package/src/sap/fe/core/messagebundle_fr.properties +2 -0
- package/src/sap/fe/core/messagebundle_fr_CA.properties +3 -1
- package/src/sap/fe/core/messagebundle_hi.properties +2 -0
- package/src/sap/fe/core/messagebundle_hr.properties +2 -0
- package/src/sap/fe/core/messagebundle_hu.properties +3 -1
- package/src/sap/fe/core/messagebundle_id.properties +2 -0
- package/src/sap/fe/core/messagebundle_it.properties +2 -0
- package/src/sap/fe/core/messagebundle_iw.properties +3 -1
- package/src/sap/fe/core/messagebundle_ja.properties +2 -0
- package/src/sap/fe/core/messagebundle_kk.properties +2 -0
- package/src/sap/fe/core/messagebundle_ko.properties +2 -0
- package/src/sap/fe/core/messagebundle_lt.properties +2 -0
- package/src/sap/fe/core/messagebundle_lv.properties +2 -0
- package/src/sap/fe/core/messagebundle_mk.properties +2 -0
- package/src/sap/fe/core/messagebundle_ms.properties +2 -0
- package/src/sap/fe/core/messagebundle_nl.properties +2 -0
- package/src/sap/fe/core/messagebundle_no.properties +2 -0
- package/src/sap/fe/core/messagebundle_pl.properties +2 -0
- package/src/sap/fe/core/messagebundle_pt.properties +2 -0
- package/src/sap/fe/core/messagebundle_pt_PT.properties +2 -0
- package/src/sap/fe/core/messagebundle_ro.properties +2 -0
- package/src/sap/fe/core/messagebundle_ru.properties +2 -0
- package/src/sap/fe/core/messagebundle_sh.properties +64 -62
- package/src/sap/fe/core/messagebundle_sk.properties +2 -0
- package/src/sap/fe/core/messagebundle_sl.properties +2 -0
- package/src/sap/fe/core/messagebundle_sr.properties +2 -0
- package/src/sap/fe/core/messagebundle_sv.properties +2 -0
- package/src/sap/fe/core/messagebundle_th.properties +2 -0
- package/src/sap/fe/core/messagebundle_tr.properties +2 -0
- package/src/sap/fe/core/messagebundle_uk.properties +3 -1
- package/src/sap/fe/core/messagebundle_vi.properties +2 -0
- package/src/sap/fe/core/messagebundle_zh_CN.properties +2 -0
- package/src/sap/fe/core/messagebundle_zh_TW.properties +2 -0
- package/src/sap/fe/core/operationsHelper.js +3 -3
- package/src/sap/fe/core/operationsHelper.ts +2 -2
- package/src/sap/fe/core/rootView/Fcl.controller.js +3 -3
- package/src/sap/fe/core/rootView/Fcl.controller.ts +2 -2
- package/src/sap/fe/core/rootView/NavContainer.controller.js +2 -2
- package/src/sap/fe/core/rootView/NavContainer.controller.ts +1 -1
- package/src/sap/fe/core/rootView/RootViewBaseController.js +114 -92
- package/src/sap/fe/core/rootView/RootViewBaseController.ts +120 -106
- package/src/sap/fe/core/services/CollaborativeToolsServiceFactory.js +2 -2
- package/src/sap/fe/core/services/CollaborativeToolsServiceFactory.ts +1 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.js +6 -4
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +4 -3
- package/src/sap/fe/core/services/RoutingServiceFactory.js +2 -2
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +1 -1
- package/src/sap/fe/core/services/ShellServicesFactory.js +1 -1
- package/src/sap/fe/core/services/ShellServicesFactory.ts +12 -2
- package/src/sap/fe/core/services/TelemetryServiceFactory.js +8 -2
- package/src/sap/fe/core/services/TelemetryServiceFactory.ts +7 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +16 -9
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +22 -11
- package/src/sap/fe/core/services/ValueHelpHistoryServiceFactory.js +2 -2
- package/src/sap/fe/core/services/ValueHelpHistoryServiceFactory.ts +1 -1
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +2 -2
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +1 -1
- package/src/sap/fe/core/templating/ActionHelper.js +2 -2
- package/src/sap/fe/core/templating/ActionHelper.ts +2 -2
- package/src/sap/fe/core/templating/CommonFormatters.js +2 -2
- package/src/sap/fe/core/templating/CommonFormatters.ts +3 -3
- package/src/sap/fe/core/templating/CriticalityFormatters.js +2 -2
- package/src/sap/fe/core/templating/CriticalityFormatters.ts +2 -2
- package/src/sap/fe/core/templating/DataFieldFormatters.js +4 -4
- package/src/sap/fe/core/templating/DataFieldFormatters.ts +2 -2
- package/src/sap/fe/core/templating/DataModelPathHelper.js +2 -2
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +2 -2
- package/src/sap/fe/core/templating/EntityTypeHelper.js +2 -2
- package/src/sap/fe/core/templating/EntityTypeHelper.ts +2 -2
- package/src/sap/fe/core/templating/FieldControlHelper.js +2 -2
- package/src/sap/fe/core/templating/FieldControlHelper.ts +2 -2
- package/src/sap/fe/core/templating/SemanticObjectHelper.js +2 -2
- package/src/sap/fe/core/templating/SemanticObjectHelper.ts +2 -2
- package/src/sap/fe/core/templating/UIFormatters.js +7 -7
- package/src/sap/fe/core/templating/UIFormatters.ts +6 -6
- package/src/sap/fe/core/type/DateTimeWithTimezone.js +2 -2
- package/src/sap/fe/core/type/DateTimeWithTimezone.ts +1 -1
- package/src/sap/fe/core/type/Email.js +2 -2
- package/src/sap/fe/core/type/Email.ts +1 -1
- package/src/sap/fe/core/type/FiscalDate.js +2 -2
- package/src/sap/fe/core/type/FiscalDate.ts +1 -1
- package/src/sap/fe/core/type/InputMask.js +124 -0
- package/src/sap/fe/core/type/InputMask.ts +131 -0
- package/ui5.yaml +19 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js +0 -81
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.ts +0 -117
- package/src/sap/fe/core/helpers/AnnotationEnum.js +0 -33
- package/src/sap/fe/core/helpers/AnnotationEnum.ts +0 -21
- package/src/sap/fe/core/helpers/BindingToolkit.js +0 -1813
- package/src/sap/fe/core/helpers/BindingToolkit.ts +0 -2450
- package/src/sap/fe/core/helpers/ClassSupport.js +0 -584
- package/src/sap/fe/core/helpers/ClassSupport.ts +0 -697
- package/src/sap/fe/core/jsx-runtime/Fragment.js +0 -14
- package/src/sap/fe/core/jsx-runtime/Fragment.ts +0 -3
- package/src/sap/fe/core/jsx-runtime/ViewLoader.js +0 -93
- package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +0 -86
- package/src/sap/fe/core/jsx-runtime/jsx-control.js +0 -177
- package/src/sap/fe/core/jsx-runtime/jsx-control.ts +0 -197
- package/src/sap/fe/core/jsx-runtime/jsx-xml.js +0 -237
- package/src/sap/fe/core/jsx-runtime/jsx-xml.ts +0 -246
- package/src/sap/fe/core/jsx-runtime/jsx.js +0 -47
- package/src/sap/fe/core/jsx-runtime/jsx.ts +0 -71
- package/src/sap/fe/core/jsx-runtime/jsxs.js +0 -10
- package/src/sap/fe/core/jsx-runtime/jsxs.ts +0 -3
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +0 -172
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +0 -194
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2024 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/fe/core/fpm/Component", "sap/ui/core/Component"], function (Log, ClassSupport, FPMComponent, Component) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var _dec, _dec2, _dec3, _class, _class2, _descriptor, _descriptor2;
|
|
9
|
+
var property = ClassSupport.property;
|
|
10
|
+
var event = ClassSupport.event;
|
|
11
|
+
var defineUI5Class = ClassSupport.defineUI5Class;
|
|
12
|
+
function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
|
|
13
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
14
|
+
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
|
|
15
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
16
|
+
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
|
|
17
|
+
function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }
|
|
18
|
+
let ReuseComponent = (_dec = defineUI5Class("sap.fe.core.ReuseComponent"), _dec2 = property({
|
|
19
|
+
type: "object"
|
|
20
|
+
}), _dec3 = event(), _dec(_class = (_class2 = /*#__PURE__*/function (_FPMComponent) {
|
|
21
|
+
_inheritsLoose(ReuseComponent, _FPMComponent);
|
|
22
|
+
function ReuseComponent() {
|
|
23
|
+
var _this;
|
|
24
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
25
|
+
args[_key] = arguments[_key];
|
|
26
|
+
}
|
|
27
|
+
_this = _FPMComponent.call(this, ...args) || this;
|
|
28
|
+
_initializerDefineProperty(_this, "override", _descriptor, _assertThisInitialized(_this));
|
|
29
|
+
_initializerDefineProperty(_this, "initialized", _descriptor2, _assertThisInitialized(_this));
|
|
30
|
+
_this.hooksApplied = false;
|
|
31
|
+
return _this;
|
|
32
|
+
}
|
|
33
|
+
var _proto = ReuseComponent.prototype;
|
|
34
|
+
/**
|
|
35
|
+
* Sets the container of the component.
|
|
36
|
+
*
|
|
37
|
+
* This is being called by UI5. We override this method to keep track of the container and to initialize the router.
|
|
38
|
+
*
|
|
39
|
+
* @param container The container
|
|
40
|
+
* @returns The instance of the component
|
|
41
|
+
*/
|
|
42
|
+
_proto.setContainer = function setContainer(container) {
|
|
43
|
+
_FPMComponent.prototype.setContainer.call(this, container);
|
|
44
|
+
this.container = container;
|
|
45
|
+
const router = this.getRouter();
|
|
46
|
+
if (router) {
|
|
47
|
+
// once the container is set, we can initialize the router
|
|
48
|
+
router.initialize();
|
|
49
|
+
}
|
|
50
|
+
return this;
|
|
51
|
+
};
|
|
52
|
+
_proto.applyHooks = function applyHooks() {
|
|
53
|
+
if (this.hooksApplied || !this.container) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const pageController = this.getPageComponent().getRootController();
|
|
57
|
+
if (!pageController) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
for (const controllerExtensionOverrideName in this.override) {
|
|
61
|
+
const controllerExtensionOverride = this.override[controllerExtensionOverrideName];
|
|
62
|
+
const pageControllerExtension = pageController[controllerExtensionOverrideName];
|
|
63
|
+
if (!pageControllerExtension) {
|
|
64
|
+
Log.error(`The controller extension ${controllerExtensionOverrideName} does not exist in the page controller.`);
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
for (const hookName in controllerExtensionOverride) {
|
|
68
|
+
const attachHook = pageControllerExtension[`attach${String(hookName)}`];
|
|
69
|
+
if (!attachHook) {
|
|
70
|
+
Log.error(`The hook ${hookName} does not exist in the page controller extension ${controllerExtensionOverrideName}.`);
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
const handlerFunction = controllerExtensionOverride[hookName];
|
|
74
|
+
attachHook(handlerFunction);
|
|
75
|
+
pageController.getView().attachBeforeExit(() => {
|
|
76
|
+
this.hooksApplied = false;
|
|
77
|
+
pageControllerExtension[`detach${String(hookName)}`](handlerFunction);
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
this.hooksApplied = true;
|
|
82
|
+
this.fireEvent("initialized");
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Creates the content of the component.
|
|
87
|
+
*
|
|
88
|
+
* This is being called by UI5. We override this method to implement our own template logic
|
|
89
|
+
* and to inform UI5 when the root control is being created.
|
|
90
|
+
*
|
|
91
|
+
* @returns A promise that resolves with the root control
|
|
92
|
+
*/;
|
|
93
|
+
_proto.createContent = async function createContent() {
|
|
94
|
+
this.attachModelContextChange(this.applyHooks.bind(this));
|
|
95
|
+
return new Promise(resolve => {
|
|
96
|
+
this.rootControlCreated = resolve;
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Sets an aggregation of the component.
|
|
102
|
+
*
|
|
103
|
+
* This is being called by UI5. We override this method to know when the rootControl is being set.
|
|
104
|
+
*
|
|
105
|
+
* @param aggregationName The name of the aggregation
|
|
106
|
+
* @param object The object to set
|
|
107
|
+
* @param suppressInvalidate Whether to suppress invalidation
|
|
108
|
+
* @returns The instance of the component
|
|
109
|
+
*/;
|
|
110
|
+
_proto.setAggregation = function setAggregation(aggregationName, object, suppressInvalidate) {
|
|
111
|
+
if (aggregationName === "rootControl") {
|
|
112
|
+
const rootControl = object;
|
|
113
|
+
this.rootControlCreated(rootControl);
|
|
114
|
+
}
|
|
115
|
+
return _FPMComponent.prototype.setAggregation.call(this, aggregationName, object, suppressInvalidate);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Returns the view name of the reuse component.
|
|
120
|
+
* This is being called by the template service to create the view.
|
|
121
|
+
*
|
|
122
|
+
* @returns The view name
|
|
123
|
+
*/;
|
|
124
|
+
_proto.getViewName = function getViewName() {
|
|
125
|
+
var _this$getManifestEntr;
|
|
126
|
+
const rootViewName = (_this$getManifestEntr = this.getManifestEntry("sap.ui5").rootView) === null || _this$getManifestEntr === void 0 ? void 0 : _this$getManifestEntr.viewName;
|
|
127
|
+
if (!rootViewName && !this.viewName) {
|
|
128
|
+
throw new Error("No root view defined in the manifest nor viewName set in the component");
|
|
129
|
+
}
|
|
130
|
+
return rootViewName || this.viewName;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Returns the page component that owns the reuse component.
|
|
135
|
+
*
|
|
136
|
+
* @returns The page component
|
|
137
|
+
*/;
|
|
138
|
+
_proto.getPageComponent = function getPageComponent() {
|
|
139
|
+
var _this$container;
|
|
140
|
+
// the owner of the reuse component is not the page component but the app component.
|
|
141
|
+
// we rely on the parent of the container to be the owned by the page component
|
|
142
|
+
// and get the extensionAPI from there. If the parent is not a control, we throw an error
|
|
143
|
+
const parent = (_this$container = this.container) === null || _this$container === void 0 ? void 0 : _this$container.getParent();
|
|
144
|
+
if (!parent) {
|
|
145
|
+
throw new Error("The parent of the reuse component is not yet set. Thus, the page component cannot be retrieved.");
|
|
146
|
+
}
|
|
147
|
+
return Component.getOwnerComponentFor(parent);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Returns the extension API of the page component that owns the reuse component.
|
|
152
|
+
*
|
|
153
|
+
* @returns The extension API
|
|
154
|
+
*/;
|
|
155
|
+
_proto.getExtensionAPI = function getExtensionAPI() {
|
|
156
|
+
return this.getPageComponent().getExtensionAPI();
|
|
157
|
+
};
|
|
158
|
+
return ReuseComponent;
|
|
159
|
+
}(FPMComponent), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "override", [_dec2], {
|
|
160
|
+
configurable: true,
|
|
161
|
+
enumerable: true,
|
|
162
|
+
writable: true,
|
|
163
|
+
initializer: null
|
|
164
|
+
}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "initialized", [_dec3], {
|
|
165
|
+
configurable: true,
|
|
166
|
+
enumerable: true,
|
|
167
|
+
writable: true,
|
|
168
|
+
initializer: null
|
|
169
|
+
})), _class2)) || _class);
|
|
170
|
+
return ReuseComponent;
|
|
171
|
+
}, false);
|
|
172
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZXVzZUNvbXBvbmVudCIsImRlZmluZVVJNUNsYXNzIiwicHJvcGVydHkiLCJ0eXBlIiwiZXZlbnQiLCJob29rc0FwcGxpZWQiLCJzZXRDb250YWluZXIiLCJjb250YWluZXIiLCJyb3V0ZXIiLCJnZXRSb3V0ZXIiLCJpbml0aWFsaXplIiwiYXBwbHlIb29rcyIsInBhZ2VDb250cm9sbGVyIiwiZ2V0UGFnZUNvbXBvbmVudCIsImdldFJvb3RDb250cm9sbGVyIiwiY29udHJvbGxlckV4dGVuc2lvbk92ZXJyaWRlTmFtZSIsIm92ZXJyaWRlIiwiY29udHJvbGxlckV4dGVuc2lvbk92ZXJyaWRlIiwicGFnZUNvbnRyb2xsZXJFeHRlbnNpb24iLCJMb2ciLCJlcnJvciIsImhvb2tOYW1lIiwiYXR0YWNoSG9vayIsIlN0cmluZyIsImhhbmRsZXJGdW5jdGlvbiIsImdldFZpZXciLCJhdHRhY2hCZWZvcmVFeGl0IiwiZmlyZUV2ZW50IiwiY3JlYXRlQ29udGVudCIsImF0dGFjaE1vZGVsQ29udGV4dENoYW5nZSIsImJpbmQiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJvb3RDb250cm9sQ3JlYXRlZCIsInNldEFnZ3JlZ2F0aW9uIiwiYWdncmVnYXRpb25OYW1lIiwib2JqZWN0Iiwic3VwcHJlc3NJbnZhbGlkYXRlIiwicm9vdENvbnRyb2wiLCJnZXRWaWV3TmFtZSIsInJvb3RWaWV3TmFtZSIsImdldE1hbmlmZXN0RW50cnkiLCJyb290VmlldyIsInZpZXdOYW1lIiwiRXJyb3IiLCJwYXJlbnQiLCJnZXRQYXJlbnQiLCJDb21wb25lbnQiLCJnZXRPd25lckNvbXBvbmVudEZvciIsImdldEV4dGVuc2lvbkFQSSIsIkZQTUNvbXBvbmVudCJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiUmV1c2VDb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgZXZlbnQsIHByb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgRXh0ZW5zaW9uQVBJIGZyb20gXCJzYXAvZmUvY29yZS9FeHRlbnNpb25BUElcIjtcbmltcG9ydCB0eXBlIFRlbXBsYXRlQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9UZW1wbGF0ZUNvbXBvbmVudFwiO1xuaW1wb3J0IEZQTUNvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvZnBtL0NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgTWFuYWdlZE9iamVjdCBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuaW1wb3J0IENvbXBvbmVudCBmcm9tIFwic2FwL3VpL2NvcmUvQ29tcG9uZW50XCI7XG5pbXBvcnQgdHlwZSBDb21wb25lbnRDb250YWluZXIgZnJvbSBcInNhcC91aS9jb3JlL0NvbXBvbmVudENvbnRhaW5lclwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5SZXVzZUNvbXBvbmVudFwiKVxuY2xhc3MgUmV1c2VDb21wb25lbnQgZXh0ZW5kcyBGUE1Db21wb25lbnQge1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcIm9iamVjdFwiIH0pXG5cdG92ZXJyaWRlPzogUmVjb3JkPHN0cmluZywgb2JqZWN0PjtcblxuXHQvLyBldmVudCB0aGF0IGlzIGZpcmVkIG9uY2UgdGhlIGNvbXBvbmVudCBpcyBpbml0aWFsaXplZFxuXHRAZXZlbnQoKVxuXHRpbml0aWFsaXplZCE6IEZ1bmN0aW9uO1xuXG5cdGNvbnRhaW5lciE6IENvbXBvbmVudENvbnRhaW5lcjtcblxuXHRob29rc0FwcGxpZWQgPSBmYWxzZTtcblxuXHRyb290Q29udHJvbENyZWF0ZWQhOiAoY29udHJvbDogQ29udHJvbCkgPT4gdm9pZDtcblxuXHQvKipcblx0ICogU2V0cyB0aGUgY29udGFpbmVyIG9mIHRoZSBjb21wb25lbnQuXG5cdCAqXG5cdCAqIFRoaXMgaXMgYmVpbmcgY2FsbGVkIGJ5IFVJNS4gV2Ugb3ZlcnJpZGUgdGhpcyBtZXRob2QgdG8ga2VlcCB0cmFjayBvZiB0aGUgY29udGFpbmVyIGFuZCB0byBpbml0aWFsaXplIHRoZSByb3V0ZXIuXG5cdCAqXG5cdCAqIEBwYXJhbSBjb250YWluZXIgVGhlIGNvbnRhaW5lclxuXHQgKiBAcmV0dXJucyBUaGUgaW5zdGFuY2Ugb2YgdGhlIGNvbXBvbmVudFxuXHQgKi9cblx0c2V0Q29udGFpbmVyKGNvbnRhaW5lcjogQ29tcG9uZW50Q29udGFpbmVyKTogdGhpcyB7XG5cdFx0c3VwZXIuc2V0Q29udGFpbmVyKGNvbnRhaW5lcik7XG5cdFx0dGhpcy5jb250YWluZXIgPSBjb250YWluZXI7XG5cblx0XHRjb25zdCByb3V0ZXIgPSB0aGlzLmdldFJvdXRlcigpO1xuXHRcdGlmIChyb3V0ZXIpIHtcblx0XHRcdC8vIG9uY2UgdGhlIGNvbnRhaW5lciBpcyBzZXQsIHdlIGNhbiBpbml0aWFsaXplIHRoZSByb3V0ZXJcblx0XHRcdHJvdXRlci5pbml0aWFsaXplKCk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRhcHBseUhvb2tzKCk6IHZvaWQge1xuXHRcdHR5cGUgRnVuY3Rpb25NYXAgPSB7XG5cdFx0XHRba2V5OiBzdHJpbmddOiBGdW5jdGlvbjtcblx0XHR9O1xuXHRcdHR5cGUgRGVlcEZ1bmN0aW9uTWFwID0ge1xuXHRcdFx0W2tleTogc3RyaW5nXTogRnVuY3Rpb25NYXA7XG5cdFx0fTtcblxuXHRcdGlmICh0aGlzLmhvb2tzQXBwbGllZCB8fCAhdGhpcy5jb250YWluZXIpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0Y29uc3QgcGFnZUNvbnRyb2xsZXIgPSB0aGlzLmdldFBhZ2VDb21wb25lbnQoKS5nZXRSb290Q29udHJvbGxlcigpO1xuXG5cdFx0aWYgKCFwYWdlQ29udHJvbGxlcikge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGZvciAoY29uc3QgY29udHJvbGxlckV4dGVuc2lvbk92ZXJyaWRlTmFtZSBpbiB0aGlzLm92ZXJyaWRlKSB7XG5cdFx0XHRjb25zdCBjb250cm9sbGVyRXh0ZW5zaW9uT3ZlcnJpZGUgPSB0aGlzLm92ZXJyaWRlW2NvbnRyb2xsZXJFeHRlbnNpb25PdmVycmlkZU5hbWVdO1xuXHRcdFx0Y29uc3QgcGFnZUNvbnRyb2xsZXJFeHRlbnNpb24gPSAocGFnZUNvbnRyb2xsZXIgYXMgdW5rbm93biBhcyBEZWVwRnVuY3Rpb25NYXApW2NvbnRyb2xsZXJFeHRlbnNpb25PdmVycmlkZU5hbWVdO1xuXG5cdFx0XHRpZiAoIXBhZ2VDb250cm9sbGVyRXh0ZW5zaW9uKSB7XG5cdFx0XHRcdExvZy5lcnJvcihgVGhlIGNvbnRyb2xsZXIgZXh0ZW5zaW9uICR7Y29udHJvbGxlckV4dGVuc2lvbk92ZXJyaWRlTmFtZX0gZG9lcyBub3QgZXhpc3QgaW4gdGhlIHBhZ2UgY29udHJvbGxlci5gKTtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHR9XG5cdFx0XHRmb3IgKGNvbnN0IGhvb2tOYW1lIGluIGNvbnRyb2xsZXJFeHRlbnNpb25PdmVycmlkZSkge1xuXHRcdFx0XHRjb25zdCBhdHRhY2hIb29rID0gcGFnZUNvbnRyb2xsZXJFeHRlbnNpb25bYGF0dGFjaCR7U3RyaW5nKGhvb2tOYW1lKX1gXTtcblx0XHRcdFx0aWYgKCFhdHRhY2hIb29rKSB7XG5cdFx0XHRcdFx0TG9nLmVycm9yKGBUaGUgaG9vayAke2hvb2tOYW1lfSBkb2VzIG5vdCBleGlzdCBpbiB0aGUgcGFnZSBjb250cm9sbGVyIGV4dGVuc2lvbiAke2NvbnRyb2xsZXJFeHRlbnNpb25PdmVycmlkZU5hbWV9LmApO1xuXHRcdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGNvbnN0IGhhbmRsZXJGdW5jdGlvbiA9IChjb250cm9sbGVyRXh0ZW5zaW9uT3ZlcnJpZGUgYXMgRnVuY3Rpb25NYXApW2hvb2tOYW1lXTtcblxuXHRcdFx0XHRhdHRhY2hIb29rKGhhbmRsZXJGdW5jdGlvbik7XG5cdFx0XHRcdHBhZ2VDb250cm9sbGVyLmdldFZpZXcoKS5hdHRhY2hCZWZvcmVFeGl0KCgpID0+IHtcblx0XHRcdFx0XHR0aGlzLmhvb2tzQXBwbGllZCA9IGZhbHNlO1xuXHRcdFx0XHRcdHBhZ2VDb250cm9sbGVyRXh0ZW5zaW9uW2BkZXRhY2gke1N0cmluZyhob29rTmFtZSl9YF0oaGFuZGxlckZ1bmN0aW9uKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHRoaXMuaG9va3NBcHBsaWVkID0gdHJ1ZTtcblx0XHR0aGlzLmZpcmVFdmVudChcImluaXRpYWxpemVkXCIpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgdGhlIGNvbnRlbnQgb2YgdGhlIGNvbXBvbmVudC5cblx0ICpcblx0ICogVGhpcyBpcyBiZWluZyBjYWxsZWQgYnkgVUk1LiBXZSBvdmVycmlkZSB0aGlzIG1ldGhvZCB0byBpbXBsZW1lbnQgb3VyIG93biB0ZW1wbGF0ZSBsb2dpY1xuXHQgKiBhbmQgdG8gaW5mb3JtIFVJNSB3aGVuIHRoZSByb290IGNvbnRyb2wgaXMgYmVpbmcgY3JlYXRlZC5cblx0ICpcblx0ICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgcm9vdCBjb250cm9sXG5cdCAqL1xuXHRhc3luYyBjcmVhdGVDb250ZW50KCk6IFByb21pc2U8Q29udHJvbD4ge1xuXHRcdHRoaXMuYXR0YWNoTW9kZWxDb250ZXh0Q2hhbmdlKHRoaXMuYXBwbHlIb29rcy5iaW5kKHRoaXMpKTtcblxuXHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuXHRcdFx0dGhpcy5yb290Q29udHJvbENyZWF0ZWQgPSByZXNvbHZlO1xuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgYW4gYWdncmVnYXRpb24gb2YgdGhlIGNvbXBvbmVudC5cblx0ICpcblx0ICogVGhpcyBpcyBiZWluZyBjYWxsZWQgYnkgVUk1LiBXZSBvdmVycmlkZSB0aGlzIG1ldGhvZCB0byBrbm93IHdoZW4gdGhlIHJvb3RDb250cm9sIGlzIGJlaW5nIHNldC5cblx0ICpcblx0ICogQHBhcmFtIGFnZ3JlZ2F0aW9uTmFtZSBUaGUgbmFtZSBvZiB0aGUgYWdncmVnYXRpb25cblx0ICogQHBhcmFtIG9iamVjdCBUaGUgb2JqZWN0IHRvIHNldFxuXHQgKiBAcGFyYW0gc3VwcHJlc3NJbnZhbGlkYXRlIFdoZXRoZXIgdG8gc3VwcHJlc3MgaW52YWxpZGF0aW9uXG5cdCAqIEByZXR1cm5zIFRoZSBpbnN0YW5jZSBvZiB0aGUgY29tcG9uZW50XG5cdCAqL1xuXHRzZXRBZ2dyZWdhdGlvbihhZ2dyZWdhdGlvbk5hbWU6IHN0cmluZywgb2JqZWN0OiBNYW5hZ2VkT2JqZWN0LCBzdXBwcmVzc0ludmFsaWRhdGU/OiBib29sZWFuKTogdGhpcyB7XG5cdFx0aWYgKGFnZ3JlZ2F0aW9uTmFtZSA9PT0gXCJyb290Q29udHJvbFwiKSB7XG5cdFx0XHRjb25zdCByb290Q29udHJvbCA9IG9iamVjdCBhcyBDb250cm9sO1xuXHRcdFx0dGhpcy5yb290Q29udHJvbENyZWF0ZWQocm9vdENvbnRyb2wpO1xuXHRcdH1cblx0XHRyZXR1cm4gc3VwZXIuc2V0QWdncmVnYXRpb24oYWdncmVnYXRpb25OYW1lLCBvYmplY3QsIHN1cHByZXNzSW52YWxpZGF0ZSk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgdmlldyBuYW1lIG9mIHRoZSByZXVzZSBjb21wb25lbnQuXG5cdCAqIFRoaXMgaXMgYmVpbmcgY2FsbGVkIGJ5IHRoZSB0ZW1wbGF0ZSBzZXJ2aWNlIHRvIGNyZWF0ZSB0aGUgdmlldy5cblx0ICpcblx0ICogQHJldHVybnMgVGhlIHZpZXcgbmFtZVxuXHQgKi9cblx0Z2V0Vmlld05hbWUoKTogc3RyaW5nIHtcblx0XHRjb25zdCByb290Vmlld05hbWUgPSB0aGlzLmdldE1hbmlmZXN0RW50cnkoXCJzYXAudWk1XCIpLnJvb3RWaWV3Py52aWV3TmFtZTtcblx0XHRpZiAoIXJvb3RWaWV3TmFtZSAmJiAhdGhpcy52aWV3TmFtZSkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiTm8gcm9vdCB2aWV3IGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0IG5vciB2aWV3TmFtZSBzZXQgaW4gdGhlIGNvbXBvbmVudFwiKTtcblx0XHR9XG5cdFx0cmV0dXJuIHJvb3RWaWV3TmFtZSB8fCB0aGlzLnZpZXdOYW1lO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIHBhZ2UgY29tcG9uZW50IHRoYXQgb3ducyB0aGUgcmV1c2UgY29tcG9uZW50LlxuXHQgKlxuXHQgKiBAcmV0dXJucyBUaGUgcGFnZSBjb21wb25lbnRcblx0ICovXG5cdGdldFBhZ2VDb21wb25lbnQoKTogVGVtcGxhdGVDb21wb25lbnQge1xuXHRcdC8vIHRoZSBvd25lciBvZiB0aGUgcmV1c2UgY29tcG9uZW50IGlzIG5vdCB0aGUgcGFnZSBjb21wb25lbnQgYnV0IHRoZSBhcHAgY29tcG9uZW50LlxuXHRcdC8vIHdlIHJlbHkgb24gdGhlIHBhcmVudCBvZiB0aGUgY29udGFpbmVyIHRvIGJlIHRoZSBvd25lZCBieSB0aGUgcGFnZSBjb21wb25lbnRcblx0XHQvLyBhbmQgZ2V0IHRoZSBleHRlbnNpb25BUEkgZnJvbSB0aGVyZS4gSWYgdGhlIHBhcmVudCBpcyBub3QgYSBjb250cm9sLCB3ZSB0aHJvdyBhbiBlcnJvclxuXHRcdGNvbnN0IHBhcmVudCA9IHRoaXMuY29udGFpbmVyPy5nZXRQYXJlbnQoKTtcblx0XHRpZiAoIXBhcmVudCkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiVGhlIHBhcmVudCBvZiB0aGUgcmV1c2UgY29tcG9uZW50IGlzIG5vdCB5ZXQgc2V0LiBUaHVzLCB0aGUgcGFnZSBjb21wb25lbnQgY2Fubm90IGJlIHJldHJpZXZlZC5cIik7XG5cdFx0fVxuXHRcdHJldHVybiBDb21wb25lbnQuZ2V0T3duZXJDb21wb25lbnRGb3IocGFyZW50KSBhcyBUZW1wbGF0ZUNvbXBvbmVudDtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBleHRlbnNpb24gQVBJIG9mIHRoZSBwYWdlIGNvbXBvbmVudCB0aGF0IG93bnMgdGhlIHJldXNlIGNvbXBvbmVudC5cblx0ICpcblx0ICogQHJldHVybnMgVGhlIGV4dGVuc2lvbiBBUElcblx0ICovXG5cdGdldEV4dGVuc2lvbkFQSSgpOiBFeHRlbnNpb25BUEkge1xuXHRcdHJldHVybiB0aGlzLmdldFBhZ2VDb21wb25lbnQoKS5nZXRFeHRlbnNpb25BUEkoKTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBSZXVzZUNvbXBvbmVudDtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7TUFXTUEsY0FBYyxXQURuQkMsY0FBYyxDQUFDLDRCQUE0QixDQUFDLFVBRTNDQyxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLFVBSTVCQyxLQUFLLEVBQUU7SUFBQTtJQUFBO01BQUE7TUFBQTtRQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQSxNQUtSQyxZQUFZLEdBQUcsS0FBSztNQUFBO0lBQUE7SUFBQTtJQUlwQjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBUEMsT0FRQUMsWUFBWSxHQUFaLHNCQUFhQyxTQUE2QixFQUFRO01BQ2pELHdCQUFNRCxZQUFZLFlBQUNDLFNBQVM7TUFDNUIsSUFBSSxDQUFDQSxTQUFTLEdBQUdBLFNBQVM7TUFFMUIsTUFBTUMsTUFBTSxHQUFHLElBQUksQ0FBQ0MsU0FBUyxFQUFFO01BQy9CLElBQUlELE1BQU0sRUFBRTtRQUNYO1FBQ0FBLE1BQU0sQ0FBQ0UsVUFBVSxFQUFFO01BQ3BCO01BRUEsT0FBTyxJQUFJO0lBQ1osQ0FBQztJQUFBLE9BRURDLFVBQVUsR0FBVixzQkFBbUI7TUFRbEIsSUFBSSxJQUFJLENBQUNOLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQ0UsU0FBUyxFQUFFO1FB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
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import Log from "sap/base/Log";
|
|
2
|
+
import { defineUI5Class, event, property } from "sap/fe/base/ClassSupport";
|
|
3
|
+
import type ExtensionAPI from "sap/fe/core/ExtensionAPI";
|
|
4
|
+
import type TemplateComponent from "sap/fe/core/TemplateComponent";
|
|
5
|
+
import FPMComponent from "sap/fe/core/fpm/Component";
|
|
6
|
+
import type ManagedObject from "sap/ui/base/ManagedObject";
|
|
7
|
+
import Component from "sap/ui/core/Component";
|
|
8
|
+
import type ComponentContainer from "sap/ui/core/ComponentContainer";
|
|
9
|
+
import type Control from "sap/ui/core/Control";
|
|
10
|
+
|
|
11
|
+
@defineUI5Class("sap.fe.core.ReuseComponent")
|
|
12
|
+
class ReuseComponent extends FPMComponent {
|
|
13
|
+
@property({ type: "object" })
|
|
14
|
+
override?: Record<string, object>;
|
|
15
|
+
|
|
16
|
+
// event that is fired once the component is initialized
|
|
17
|
+
@event()
|
|
18
|
+
initialized!: Function;
|
|
19
|
+
|
|
20
|
+
container!: ComponentContainer;
|
|
21
|
+
|
|
22
|
+
hooksApplied = false;
|
|
23
|
+
|
|
24
|
+
rootControlCreated!: (control: Control) => void;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Sets the container of the component.
|
|
28
|
+
*
|
|
29
|
+
* This is being called by UI5. We override this method to keep track of the container and to initialize the router.
|
|
30
|
+
*
|
|
31
|
+
* @param container The container
|
|
32
|
+
* @returns The instance of the component
|
|
33
|
+
*/
|
|
34
|
+
setContainer(container: ComponentContainer): this {
|
|
35
|
+
super.setContainer(container);
|
|
36
|
+
this.container = container;
|
|
37
|
+
|
|
38
|
+
const router = this.getRouter();
|
|
39
|
+
if (router) {
|
|
40
|
+
// once the container is set, we can initialize the router
|
|
41
|
+
router.initialize();
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return this;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
applyHooks(): void {
|
|
48
|
+
type FunctionMap = {
|
|
49
|
+
[key: string]: Function;
|
|
50
|
+
};
|
|
51
|
+
type DeepFunctionMap = {
|
|
52
|
+
[key: string]: FunctionMap;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
if (this.hooksApplied || !this.container) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const pageController = this.getPageComponent().getRootController();
|
|
59
|
+
|
|
60
|
+
if (!pageController) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
for (const controllerExtensionOverrideName in this.override) {
|
|
65
|
+
const controllerExtensionOverride = this.override[controllerExtensionOverrideName];
|
|
66
|
+
const pageControllerExtension = (pageController as unknown as DeepFunctionMap)[controllerExtensionOverrideName];
|
|
67
|
+
|
|
68
|
+
if (!pageControllerExtension) {
|
|
69
|
+
Log.error(`The controller extension ${controllerExtensionOverrideName} does not exist in the page controller.`);
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
for (const hookName in controllerExtensionOverride) {
|
|
73
|
+
const attachHook = pageControllerExtension[`attach${String(hookName)}`];
|
|
74
|
+
if (!attachHook) {
|
|
75
|
+
Log.error(`The hook ${hookName} does not exist in the page controller extension ${controllerExtensionOverrideName}.`);
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
const handlerFunction = (controllerExtensionOverride as FunctionMap)[hookName];
|
|
79
|
+
|
|
80
|
+
attachHook(handlerFunction);
|
|
81
|
+
pageController.getView().attachBeforeExit(() => {
|
|
82
|
+
this.hooksApplied = false;
|
|
83
|
+
pageControllerExtension[`detach${String(hookName)}`](handlerFunction);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
this.hooksApplied = true;
|
|
88
|
+
this.fireEvent("initialized");
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Creates the content of the component.
|
|
93
|
+
*
|
|
94
|
+
* This is being called by UI5. We override this method to implement our own template logic
|
|
95
|
+
* and to inform UI5 when the root control is being created.
|
|
96
|
+
*
|
|
97
|
+
* @returns A promise that resolves with the root control
|
|
98
|
+
*/
|
|
99
|
+
async createContent(): Promise<Control> {
|
|
100
|
+
this.attachModelContextChange(this.applyHooks.bind(this));
|
|
101
|
+
|
|
102
|
+
return new Promise((resolve) => {
|
|
103
|
+
this.rootControlCreated = resolve;
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Sets an aggregation of the component.
|
|
109
|
+
*
|
|
110
|
+
* This is being called by UI5. We override this method to know when the rootControl is being set.
|
|
111
|
+
*
|
|
112
|
+
* @param aggregationName The name of the aggregation
|
|
113
|
+
* @param object The object to set
|
|
114
|
+
* @param suppressInvalidate Whether to suppress invalidation
|
|
115
|
+
* @returns The instance of the component
|
|
116
|
+
*/
|
|
117
|
+
setAggregation(aggregationName: string, object: ManagedObject, suppressInvalidate?: boolean): this {
|
|
118
|
+
if (aggregationName === "rootControl") {
|
|
119
|
+
const rootControl = object as Control;
|
|
120
|
+
this.rootControlCreated(rootControl);
|
|
121
|
+
}
|
|
122
|
+
return super.setAggregation(aggregationName, object, suppressInvalidate);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Returns the view name of the reuse component.
|
|
127
|
+
* This is being called by the template service to create the view.
|
|
128
|
+
*
|
|
129
|
+
* @returns The view name
|
|
130
|
+
*/
|
|
131
|
+
getViewName(): string {
|
|
132
|
+
const rootViewName = this.getManifestEntry("sap.ui5").rootView?.viewName;
|
|
133
|
+
if (!rootViewName && !this.viewName) {
|
|
134
|
+
throw new Error("No root view defined in the manifest nor viewName set in the component");
|
|
135
|
+
}
|
|
136
|
+
return rootViewName || this.viewName;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Returns the page component that owns the reuse component.
|
|
141
|
+
*
|
|
142
|
+
* @returns The page component
|
|
143
|
+
*/
|
|
144
|
+
getPageComponent(): TemplateComponent {
|
|
145
|
+
// the owner of the reuse component is not the page component but the app component.
|
|
146
|
+
// we rely on the parent of the container to be the owned by the page component
|
|
147
|
+
// and get the extensionAPI from there. If the parent is not a control, we throw an error
|
|
148
|
+
const parent = this.container?.getParent();
|
|
149
|
+
if (!parent) {
|
|
150
|
+
throw new Error("The parent of the reuse component is not yet set. Thus, the page component cannot be retrieved.");
|
|
151
|
+
}
|
|
152
|
+
return Component.getOwnerComponentFor(parent) as TemplateComponent;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Returns the extension API of the page component that owns the reuse component.
|
|
157
|
+
*
|
|
158
|
+
* @returns The extension API
|
|
159
|
+
*/
|
|
160
|
+
getExtensionAPI(): ExtensionAPI {
|
|
161
|
+
return this.getPageComponent().getExtensionAPI();
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
export default ReuseComponent;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2024 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/fe/
|
|
5
|
+
sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/CommonUtils", "sap/ui/core/UIComponent"], function (ClassSupport, CommonUtils, UIComponent) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17;
|
|
@@ -238,4 +238,4 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/helpers/ClassSupport", "s
|
|
|
238
238
|
})), _class2)) || _class);
|
|
239
239
|
return TemplateComponent;
|
|
240
240
|
}, false);
|
|
241
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZW1wbGF0ZUNvbXBvbmVudCIsImRlZmluZVVJNUNsYXNzIiwiaW1wbGVtZW50SW50ZXJmYWNlIiwicHJvcGVydHkiLCJ0eXBlIiwiZGVmYXVsdFZhbHVlIiwiZXZlbnQiLCJzZXRDb250YWluZXIiLCJvQ29udGFpbmVyIiwiZmlyZUV2ZW50IiwiY29udGFpbmVyIiwiaW5pdCIsIm9BcHBDb21wb25lbnQiLCJDb21tb25VdGlscyIsImdldEFwcENvbXBvbmVudCIsImdldEV4dGVuc2lvbkNvbXBvbmVudCIsInNldFJvb3RDb250cm9sbGVyIiwiY29udHJvbGxlciIsIl9yb290Q29udHJvbGxlciIsImdldFJvb3RDb250cm9sbGVyIiwicm9vdENvbnRyb2wiLCJnZXRSb290Q29udHJvbCIsInJvb3RDb250cm9sbGVyIiwiZ2V0Q29udHJvbGxlciIsIm9uUGFnZVJlYWR5IiwibVBhcmFtZXRlcnMiLCJnZXROYXZpZ2F0aW9uQ29uZmlndXJhdGlvbiIsInNUYXJnZXRQYXRoIiwibU5hdmlnYXRpb24iLCJuYXZpZ2F0aW9uIiwiZ2V0Vmlld0RhdGEiLCJtUHJvcGVydGllcyIsImdldE1ldGFkYXRhIiwiZ2V0QWxsUHJvcGVydGllcyIsIm9WaWV3RGF0YSIsIk9iamVjdCIsImtleXMiLCJyZWR1Y2UiLCJtVmlld0RhdGEiLCJzUHJvcGVydHlOYW1lIiwiZ2V0IiwicHJlcHJvY2Vzc29yQ29udGV4dCIsImZjbEVuYWJsZWQiLCJfaXNGY2xFbmFibGVkIiwiX2dldFBhZ2VUaXRsZUluZm9ybWF0aW9uIiwiZ2V0RXh0ZW5zaW9uQVBJIiwiVUlDb21wb25lbnQiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlRlbXBsYXRlQ29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29udmVydGVkTWV0YWRhdGEgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB0eXBlIEFwcENvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvQXBwQ29tcG9uZW50XCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgdHlwZSBFeHRlbnNpb25BUEkgZnJvbSBcInNhcC9mZS9jb3JlL0V4dGVuc2lvbkFQSVwiO1xuaW1wb3J0IHR5cGUgUGFnZUNvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS9jb3JlL1BhZ2VDb250cm9sbGVyXCI7XG5pbXBvcnQgdHlwZSBDb252ZXJ0ZXJDb250ZXh0IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL0NvbnZlcnRlckNvbnRleHRcIjtcbmltcG9ydCB0eXBlIHsgTmF2aWdhdGlvblRhcmdldENvbmZpZ3VyYXRpb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgZXZlbnQsIGltcGxlbWVudEludGVyZmFjZSwgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIHsgVGl0bGVJbmZvcm1hdGlvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9yb290Vmlldy9Sb290Vmlld0Jhc2VDb250cm9sbGVyXCI7XG5pbXBvcnQgdHlwZSBDb21wb25lbnRDb250YWluZXIgZnJvbSBcInNhcC91aS9jb3JlL0NvbXBvbmVudENvbnRhaW5lclwiO1xuaW1wb3J0IFVJQ29tcG9uZW50IGZyb20gXCJzYXAvdWkvY29yZS9VSUNvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBJQXN5bmNDb250ZW50Q3JlYXRpb24gfSBmcm9tIFwic2FwL3VpL2NvcmUvbGlicmFyeVwiO1xuaW1wb3J0IHR5cGUgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCB0eXBlIEJhc2VDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9Nb2RlbFwiO1xuaW1wb3J0IHR5cGUgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSBPRGF0YUxpc3RCaW5kaW5nIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFMaXN0QmluZGluZ1wiO1xuaW1wb3J0IHR5cGUgT0RhdGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTW9kZWxcIjtcblxuZXhwb3J0IHR5cGUgTmF2aWdhdGlvbkNvbmZpZ3VyYXRpb24gPSB7XG5cdGRldGFpbDoge1xuXHRcdHJvdXRlOiBzdHJpbmc7XG5cdFx0cGFyYW1ldGVyczogdW5rbm93bjtcblx0XHRvdXRib3VuZD86IHN0cmluZztcblx0XHRvdXRib3VuZERldGFpbD86IE5hdmlnYXRpb25UYXJnZXRDb25maWd1cmF0aW9uW1wib3V0Ym91bmREZXRhaWxcIl07XG5cdH07XG5cdGNyZWF0ZToge1xuXHRcdHJvdXRlOiBzdHJpbmc7XG5cdFx0cGFyYW1ldGVyczogdW5rbm93bjtcblx0XHRvdXRib3VuZD86IHN0cmluZztcblx0XHRvdXRib3VuZERldGFpbD86IE5hdmlnYXRpb25UYXJnZXRDb25maWd1cmF0aW9uW1wib3V0Ym91bmREZXRhaWxcIl07XG5cdH07XG59O1xuXG5leHBvcnQgdHlwZSBYTUxQcmVwcm9jZXNzb3JDb250ZXh0ID0ge1xuXHRiaW5kaW5nQ29udGV4dHM6IFJlY29yZDxzdHJpbmcsIEJhc2VDb250ZXh0IHwgbnVsbD47XG5cdG1vZGVsczogUmVjb3JkPHN0cmluZywgTW9kZWw+O1xuXHRmdWxsQ29udGV4dFBhdGg6IHN0cmluZztcblx0Z2V0Q29udmVydGVkTWV0YWRhdGE6ICgpID0+IENvbnZlcnRlZE1ldGFkYXRhO1xuXHRhcHBDb21wb25lbnQ6IEFwcENvbXBvbmVudDtcbn07XG5cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5jb3JlLlRlbXBsYXRlQ29tcG9uZW50XCIpXG5jbGFzcyBUZW1wbGF0ZUNvbXBvbmVudCBleHRlbmRzIFVJQ29tcG9uZW50IGltcGxlbWVudHMgSUFzeW5jQ29udGVudENyZWF0aW9uIHtcblx0QGltcGxlbWVudEludGVyZmFjZShcInNhcC51aS5jb3JlLklBc3luY0NvbnRlbnRDcmVhdGlvblwiKVxuXHRfX2ltcGxlbWVudHNfX3NhcF91aV9jb3JlX0lBc3luY0NvbnRlbnRDcmVhdGlvbiA9IHRydWU7XG5cblx0LyoqXG5cdCAqIE5hbWUgb2YgdGhlIE9EYXRhIGVudGl0eSBzZXRcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIsIGRlZmF1bHRWYWx1ZTogbnVsbCB9KVxuXHRlbnRpdHlTZXQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG5cdC8qKlxuXHQgKiBDb250ZXh0IFBhdGggZm9yIHJlbmRlcmluZyB0aGUgdGVtcGxhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIsIGRlZmF1bHRWYWx1ZTogbnVsbCB9KVxuXHRjb250ZXh0UGF0aDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJvYmplY3RcIiB9KVxuXHRwcmVwcm9jZXNzb3JDb250ZXh0PzogWE1MUHJlcHJvY2Vzc29yQ29udGV4dDtcblxuXHQvKipcblx0ICogVGhlIHBhdHRlcm4gZm9yIHRoZSBiaW5kaW5nIGNvbnRleHQgdG8gYmUgY3JlYXRlIGJhc2VkIG9uIHRoZSBwYXJhbWV0ZXJzIGZyb20gdGhlIG5hdmlnYXRpb25cblx0ICogSWYgbm90IHByb3ZpZGVkIHdlJ2xsIGRlZmF1bHQgdG8gd2hhdCB3YXMgcGFzc2VkIGluIHRoZSBVUkxcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0YmluZGluZ0NvbnRleHRQYXR0ZXJuITogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBNYXAgb2YgdXNlZCBPRGF0YSBuYXZpZ2F0aW9ucyBhbmQgaXRzIHJvdXRpbmcgdGFyZ2V0c1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJvYmplY3RcIiB9KVxuXHRuYXZpZ2F0aW9uITogUmVjb3JkPHN0cmluZywgTmF2aWdhdGlvbkNvbmZpZ3VyYXRpb24+O1xuXG5cdC8qKlxuXHQgKiBFbmhhbmNlIHRoZSBpMThuIGJ1bmRsZSB1c2VkIGZvciB0aGlzIHBhZ2Ugd2l0aCBvbmUgb3IgbW9yZSBhcHAgc3BlY2lmaWMgaTE4biByZXNvdXJjZSBidW5kbGVzIG9yIHJlc291cmNlIG1vZGVsc1xuXHQgKiBvciBhIGNvbWJpbmF0aW9uIG9mIGJvdGguIFRoZSBsYXN0IHJlc291cmNlIGJ1bmRsZS9tb2RlbCBpcyBnaXZlbiBoaWdoZXN0IHByaW9yaXR5XG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1tdXCIgfSlcblx0ZW5oYW5jZUkxOG4hOiBzdHJpbmdbXTtcblxuXHQvKipcblx0ICogRGVmaW5lIGNvbnRyb2wgcmVsYXRlZCBjb25maWd1cmF0aW9uIHNldHRpbmdzXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcIm9iamVjdFwiIH0pXG5cdGNvbnRyb2xDb25maWd1cmF0aW9uPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cblx0LyoqXG5cdCAqIEFkanVzdHMgdGhlIHRlbXBsYXRlIGNvbnRlbnRcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwib2JqZWN0XCIgfSlcblx0Y29udGVudD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIG9yIG5vdCB5b3UgY2FuIHJlYWNoIHRoaXMgcGFnZSBkaXJlY3RseSB0aHJvdWdoIHNlbWFudGljIGJvb2ttYXJrc1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0YWxsb3dEZWVwTGlua2luZyE6IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIERlZmluZXMgdGhlIGNvbnRleHQgcGF0aCBvbiB0aGUgY29tcG9uZW50IHRoYXQgaXMgcmVmcmVzaGVkIHdoZW4gdGhlIGFwcCBpcyByZXN0b3JlZCB1c2luZyBrZWVwIGFsaXZlIG1vZGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwib2JqZWN0XCIgfSlcblx0cmVmcmVzaFN0cmF0ZWd5T25BcHBSZXN0b3JlOiB1bmtub3duO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0dmlld1R5cGUgPSBcIlhNTFwiO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0dmlld05hbWU/OiBzdHJpbmc7XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRfanN4Vmlld05hbWUgPSBcIlwiO1xuXG5cdEBldmVudCgpXG5cdGNvbnRhaW5lckRlZmluZWQhOiBGdW5jdGlvbjtcblxuXHRAZXZlbnQoKVxuXHRoZXJvZXNCYXRjaFJlY2VpdmVkITogRnVuY3Rpb247XG5cblx0QGV2ZW50KClcblx0d29ya2Vyc0JhdGNoUmVjZWl2ZWQhOiBGdW5jdGlvbjtcblxuXHRwcm90ZWN0ZWQgb0FwcENvbXBvbmVudCE6IEFwcENvbXBvbmVudDtcblxuXHRwcml2YXRlIF9yb290Q29udHJvbGxlcj86IFBhZ2VDb250cm9sbGVyO1xuXG5cdHNldENvbnRhaW5lcihvQ29udGFpbmVyOiBDb21wb25lbnRDb250YWluZXIpOiB0aGlzIHtcblx0XHRzdXBlci5zZXRDb250YWluZXIob0NvbnRhaW5lcik7XG5cdFx0dGhpcy5maXJlRXZlbnQoXCJjb250YWluZXJEZWZpbmVkXCIsIHsgY29udGFpbmVyOiBvQ29udGFpbmVyIH0pO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0aW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLm9BcHBDb21wb25lbnQgPSBDb21tb25VdGlscy5nZXRBcHBDb21wb25lbnQodGhpcyk7XG5cdFx0c3VwZXIuaW5pdCgpO1xuXHR9XG5cblx0Ly8gVGhpcyBtZXRob2QgaXMgY2FsbGVkIGJ5IFVJNSBjb3JlIHRvIGFjY2VzcyB0byB0aGUgY29tcG9uZW50IGNvbnRhaW5pbmcgdGhlIGN1c3RvbWl6aW5nIGNvbmZpZ3VyYXRpb24uXG5cdC8vIGFzIGNvbnRyb2xsZXIgZXh0ZW5zaW9ucyBhcmUgZGVmaW5lZCBpbiB0aGUgbWFuaWZlc3QgZm9yIHRoZSBhcHAgY29tcG9uZW50IGFuZCBub3QgZm9yIHRoZVxuXHQvLyB0ZW1wbGF0ZSBjb21wb25lbnQgd2UgcmV0dXJuIHRoZSBhcHAgY29tcG9uZW50LlxuXHRnZXRFeHRlbnNpb25Db21wb25lbnQoKTogQXBwQ29tcG9uZW50IHtcblx0XHRyZXR1cm4gdGhpcy5vQXBwQ29tcG9uZW50O1xuXHR9XG5cblx0Z2V0QXBwQ29tcG9uZW50KCk6IEFwcENvbXBvbmVudCB7XG5cdFx0cmV0dXJuIHRoaXMub0FwcENvbXBvbmVudDtcblx0fVxuXG5cdHNldFJvb3RDb250cm9sbGVyKGNvbnRyb2xsZXI6IFBhZ2VDb250cm9sbGVyKTogdm9pZCB7XG5cdFx0dGhpcy5fcm9vdENvbnRyb2xsZXIgPSBjb250cm9sbGVyO1xuXHR9XG5cblx0Z2V0Um9vdENvbnRyb2xsZXIoKTogUGFnZUNvbnRyb2xsZXIgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IHJvb3RDb250cm9sOiBWaWV3ID0gdGhpcy5nZXRSb290Q29udHJvbCgpO1xuXHRcdGxldCByb290Q29udHJvbGxlcjogUGFnZUNvbnRyb2xsZXIgfCB1bmRlZmluZWQ7XG5cdFx0aWYgKHJvb3RDb250cm9sICYmIHJvb3RDb250cm9sLmdldENvbnRyb2xsZXIpIHtcblx0XHRcdHJvb3RDb250cm9sbGVyID0gcm9vdENvbnRyb2wuZ2V0Q29udHJvbGxlcigpIGFzIFBhZ2VDb250cm9sbGVyO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyb290Q29udHJvbGxlciA9IHRoaXMuX3Jvb3RDb250cm9sbGVyO1xuXHRcdH1cblx0XHRyZXR1cm4gcm9vdENvbnRyb2xsZXI7XG5cdH1cblxuXHRvblBhZ2VSZWFkeShtUGFyYW1ldGVyczogdW5rbm93bik6IHZvaWQge1xuXHRcdGNvbnN0IHJvb3RDb250cm9sbGVyID0gdGhpcy5nZXRSb290Q29udHJvbGxlcigpO1xuXHRcdGlmIChyb290Q29udHJvbGxlciAmJiByb290Q29udHJvbGxlci5vblBhZ2VSZWFkeSkge1xuXHRcdFx0cm9vdENvbnRyb2xsZXIub25QYWdlUmVhZHkobVBhcmFtZXRlcnMpO1xuXHRcdH1cblx0fVxuXG5cdGdldE5hdmlnYXRpb25Db25maWd1cmF0aW9uKHNUYXJnZXRQYXRoOiBzdHJpbmcpOiBOYXZpZ2F0aW9uQ29uZmlndXJhdGlvbiB7XG5cdFx0Y29uc3QgbU5hdmlnYXRpb24gPSB0aGlzLm5hdmlnYXRpb247XG5cdFx0cmV0dXJuIG1OYXZpZ2F0aW9uW3NUYXJnZXRQYXRoXTtcblx0fVxuXG5cdGdldFZpZXdEYXRhKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcblx0XHRjb25zdCBtUHJvcGVydGllcyA9IHRoaXMuZ2V0TWV0YWRhdGEoKS5nZXRBbGxQcm9wZXJ0aWVzKCk7XG5cdFx0Y29uc3Qgb1ZpZXdEYXRhID0gT2JqZWN0LmtleXMobVByb3BlcnRpZXMpLnJlZHVjZSgobVZpZXdEYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgc1Byb3BlcnR5TmFtZTogc3RyaW5nKSA9PiB7XG5cdFx0XHRtVmlld0RhdGFbc1Byb3BlcnR5TmFtZV0gPSBtUHJvcGVydGllc1tzUHJvcGVydHlOYW1lXS5nZXQhKHRoaXMpO1xuXHRcdFx0cmV0dXJuIG1WaWV3RGF0YTtcblx0XHR9LCB7fSk7XG5cdFx0ZGVsZXRlIG9WaWV3RGF0YS5wcmVwcm9jZXNzb3JDb250ZXh0O1xuXHRcdC8vIEFjY2VzcyB0aGUgaW50ZXJuYWwgX2lzRmNsRW5hYmxlZCB3aGljaCB3aWxsIGJlIHRoZXJlXG5cdFx0b1ZpZXdEYXRhLmZjbEVuYWJsZWQgPSB0aGlzLm9BcHBDb21wb25lbnQuX2lzRmNsRW5hYmxlZCgpO1xuXG5cdFx0cmV0dXJuIG9WaWV3RGF0YTtcblx0fVxuXG5cdF9nZXRQYWdlVGl0bGVJbmZvcm1hdGlvbigpOiBUaXRsZUluZm9ybWF0aW9uIHtcblx0XHRjb25zdCByb290Q29udHJvbCA9IHRoaXMuZ2V0Um9vdENvbnRyb2woKTtcblx0XHRpZiAocm9vdENvbnRyb2wgJiYgcm9vdENvbnRyb2wuZ2V0Q29udHJvbGxlcigpICYmIHJvb3RDb250cm9sLmdldENvbnRyb2xsZXIoKS5fZ2V0UGFnZVRpdGxlSW5mb3JtYXRpb24pIHtcblx0XHRcdHJldHVybiByb290Q29udHJvbC5nZXRDb250cm9sbGVyKCkuX2dldFBhZ2VUaXRsZUluZm9ybWF0aW9uKCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiB7fSBhcyBUaXRsZUluZm9ybWF0aW9uO1xuXHRcdH1cblx0fVxuXG5cdGdldEV4dGVuc2lvbkFQSSgpOiBFeHRlbnNpb25BUEkge1xuXHRcdHJldHVybiB0aGlzLmdldFJvb3RDb250cm9sKCkuZ2V0Q29udHJvbGxlcigpLmdldEV4dGVuc2lvbkFQSSgpO1xuXHR9XG59XG5pbnRlcmZhY2UgVGVtcGxhdGVDb21wb25lbnQge1xuXHQvLyBUT0RPOiB0aGlzIHNob3VsZCBiZSBpZGVhbGx5IGJlIGhhbmRsZWQgYnkgdGhlIGVkaXRmbG93L3JvdXRpbmcgd2l0aG91dCB0aGUgbmVlZCB0byBoYXZlIHRoaXMgbWV0aG9kIGluIHRoZSBvYmplY3QgcGFnZSAtIGZvciBub3cga2VlcCBpdCBoZXJlXG5cdGNyZWF0ZURlZmVycmVkQ29udGV4dD8oXG5cdFx0c1BhdGg6IHN0cmluZyxcblx0XHRvTGlzdEJpbmRpbmc6IE9EYXRhTGlzdEJpbmRpbmcgfCB1bmRlZmluZWQsXG5cdFx0cGFyZW50Q29udGV4dDogQ29udGV4dCB8IHVuZGVmaW5lZCxcblx0XHRkYXRhOiBvYmplY3QgfCB1bmRlZmluZWQsXG5cdFx0YkFjdGlvbkNyZWF0ZTogYm9vbGVhblxuXHQpOiB2b2lkO1xuXHRpc09wZW5JbkVkaXRNb2RlKCk6IGJvb2xlYW47XG5cdGdldFJvb3RDb250cm9sKCk6IHsgZ2V0Q29udHJvbGxlcigpOiBQYWdlQ29udHJvbGxlciB9ICYgVmlldztcblx0ZXh0ZW5kUGFnZURlZmluaXRpb24/KHBhZ2VEZWZpbml0aW9uOiB7fSwgY29udmVydGVyQ29udGV4dD86IENvbnZlcnRlckNvbnRleHQpOiB7fTtcblx0Z2V0TW9kZWwoKTogT0RhdGFNb2RlbDtcblx0Z2V0TW9kZWwobW9kZWxOYW1lOiBcIl9wYWdlTW9kZWxcIik6IEpTT05Nb2RlbDtcblx0Z2V0TW9kZWwobW9kZWxOYW1lOiBzdHJpbmcpOiBNb2RlbCB8IHVuZGVmaW5lZDtcbn1cbmV4cG9ydCBkZWZhdWx0IFRlbXBsYXRlQ29tcG9uZW50O1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7TUE0Q01BLGlCQUFpQixXQUR0QkMsY0FBYyxDQUFDLCtCQUErQixDQUFDLFVBRTlDQyxrQkFBa0IsQ0FBQyxtQ0FBbUMsQ0FBQyxVQU12REMsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRSxRQUFRO0lBQUVDLFlBQVksRUFBRTtFQUFLLENBQUMsQ0FBQyxVQU1oREYsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRSxRQUFRO0lBQUVDLFlBQVksRUFBRTtFQUFLLENBQUMsQ0FBQyxVQUdoREYsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxVQU81QkQsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxVQU01QkQsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxVQU81QkQsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFXLENBQUMsQ0FBQyxVQU05QkQsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxXQU01QkQsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxXQU01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LEVBQUUsQ0FBQyxDQUFDLENBQUM7TUFDTixPQUFPSixTQUFTLENBQUNPLG1CQUFtQjtNQUNwQztNQUNBUCxTQUFTLENBQUNRLFVBQVUsR0FBRyxJQUFJLENBQUM5QixhQUFhLENBQUMrQixhQUFhLEVBQUU7TUFFekQsT0FBT1QsU0FBUztJQUNqQixDQUFDO0lBQUEsT0FFRFUsd0JBQXdCLEdBQXhCLG9DQUE2QztNQUM1QyxNQUFNeEIsV0FBVyxHQUFHLElBQUksQ0FBQ0MsY0FBYyxFQUFFO01BQ3pDLElBQUlELFdBQVcsSUFBSUEsV0FBVyxDQUFDRyxhQUFhLEVBQUUsSUFBSUgsV0FBVyxDQUFDRyxhQUFhLEVBQUUsQ0FBQ3FCLHdCQUF3QixFQUFFO1FBQ3ZHLE9BQU94QixXQUFXLENBQUNHLGFBQWEsRUFBRSxDQUFDcUIsd0JBQXdCLEVBQUU7TUFDOUQsQ0FBQyxNQUFNO1FBQ04sT0FBTyxDQUFDLENBQUM7TUFDVjtJQUNELENBQUM7SUFBQSxPQUVEQyxlQUFlLEdBQWYsMkJBQWdDO01BQy9CLE9BQU8sSUFBSSxDQUFDeEIsY0FBYyxFQUFFLENBQUNFLGFBQWEsRUFBRSxDQUFDc0IsZUFBZSxFQUFFO0lBQy9ELENBQUM7SUFBQTtFQUFBLEVBOUo4QkMsV0FBVztJQUFBO0lBQUE7SUFBQTtJQUFBO01BQUEsT0FFUSxJQUFJO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO01BQUEsT0FNM0IsSUFBSTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtNQUFBLE9BTUYsSUFBSTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO01BQUEsT0FrRHRCLEtBQUs7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO01BQUEsT0FNRCxFQUFFO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtFQUFBLE9BMEdIOUMsaUJBQWlCO0FBQUEifQ==
|
|
241
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZW1wbGF0ZUNvbXBvbmVudCIsImRlZmluZVVJNUNsYXNzIiwiaW1wbGVtZW50SW50ZXJmYWNlIiwicHJvcGVydHkiLCJ0eXBlIiwiZGVmYXVsdFZhbHVlIiwiZXZlbnQiLCJzZXRDb250YWluZXIiLCJvQ29udGFpbmVyIiwiZmlyZUV2ZW50IiwiY29udGFpbmVyIiwiaW5pdCIsIm9BcHBDb21wb25lbnQiLCJDb21tb25VdGlscyIsImdldEFwcENvbXBvbmVudCIsImdldEV4dGVuc2lvbkNvbXBvbmVudCIsInNldFJvb3RDb250cm9sbGVyIiwiY29udHJvbGxlciIsIl9yb290Q29udHJvbGxlciIsImdldFJvb3RDb250cm9sbGVyIiwicm9vdENvbnRyb2wiLCJnZXRSb290Q29udHJvbCIsInJvb3RDb250cm9sbGVyIiwiZ2V0Q29udHJvbGxlciIsIm9uUGFnZVJlYWR5IiwibVBhcmFtZXRlcnMiLCJnZXROYXZpZ2F0aW9uQ29uZmlndXJhdGlvbiIsInNUYXJnZXRQYXRoIiwibU5hdmlnYXRpb24iLCJuYXZpZ2F0aW9uIiwiZ2V0Vmlld0RhdGEiLCJtUHJvcGVydGllcyIsImdldE1ldGFkYXRhIiwiZ2V0QWxsUHJvcGVydGllcyIsIm9WaWV3RGF0YSIsIk9iamVjdCIsImtleXMiLCJyZWR1Y2UiLCJtVmlld0RhdGEiLCJzUHJvcGVydHlOYW1lIiwiZ2V0IiwicHJlcHJvY2Vzc29yQ29udGV4dCIsImZjbEVuYWJsZWQiLCJfaXNGY2xFbmFibGVkIiwiX2dldFBhZ2VUaXRsZUluZm9ybWF0aW9uIiwiZ2V0RXh0ZW5zaW9uQVBJIiwiVUlDb21wb25lbnQiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlRlbXBsYXRlQ29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29udmVydGVkTWV0YWRhdGEgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBldmVudCwgaW1wbGVtZW50SW50ZXJmYWNlLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIEFwcENvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvQXBwQ29tcG9uZW50XCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgdHlwZSBFeHRlbnNpb25BUEkgZnJvbSBcInNhcC9mZS9jb3JlL0V4dGVuc2lvbkFQSVwiO1xuaW1wb3J0IHR5cGUgUGFnZUNvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS9jb3JlL1BhZ2VDb250cm9sbGVyXCI7XG5pbXBvcnQgdHlwZSBDb252ZXJ0ZXJDb250ZXh0IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL0NvbnZlcnRlckNvbnRleHRcIjtcbmltcG9ydCB0eXBlIHsgTmF2aWdhdGlvblRhcmdldENvbmZpZ3VyYXRpb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgdHlwZSB7IFRpdGxlSW5mb3JtYXRpb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvcm9vdFZpZXcvUm9vdFZpZXdCYXNlQ29udHJvbGxlclwiO1xuaW1wb3J0IHR5cGUgQ29tcG9uZW50Q29udGFpbmVyIGZyb20gXCJzYXAvdWkvY29yZS9Db21wb25lbnRDb250YWluZXJcIjtcbmltcG9ydCBVSUNvbXBvbmVudCBmcm9tIFwic2FwL3VpL2NvcmUvVUlDb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgSUFzeW5jQ29udGVudENyZWF0aW9uIH0gZnJvbSBcInNhcC91aS9jb3JlL2xpYnJhcnlcIjtcbmltcG9ydCB0eXBlIFZpZXcgZnJvbSBcInNhcC91aS9jb3JlL212Yy9WaWV3XCI7XG5pbXBvcnQgdHlwZSBCYXNlQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL0NvbnRleHRcIjtcbmltcG9ydCB0eXBlIE1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvTW9kZWxcIjtcbmltcG9ydCB0eXBlIEpTT05Nb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2pzb24vSlNPTk1vZGVsXCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgT0RhdGFMaXN0QmluZGluZyBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTGlzdEJpbmRpbmdcIjtcbmltcG9ydCB0eXBlIE9EYXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1vZGVsXCI7XG5cbmV4cG9ydCB0eXBlIE5hdmlnYXRpb25Db25maWd1cmF0aW9uID0ge1xuXHRkZXRhaWw6IHtcblx0XHRyb3V0ZTogc3RyaW5nO1xuXHRcdHBhcmFtZXRlcnM6IHVua25vd247XG5cdFx0b3V0Ym91bmQ/OiBzdHJpbmc7XG5cdFx0b3V0Ym91bmREZXRhaWw/OiBOYXZpZ2F0aW9uVGFyZ2V0Q29uZmlndXJhdGlvbltcIm91dGJvdW5kRGV0YWlsXCJdO1xuXHR9O1xuXHRjcmVhdGU6IHtcblx0XHRyb3V0ZTogc3RyaW5nO1xuXHRcdHBhcmFtZXRlcnM6IHVua25vd247XG5cdFx0b3V0Ym91bmQ/OiBzdHJpbmc7XG5cdFx0b3V0Ym91bmREZXRhaWw/OiBOYXZpZ2F0aW9uVGFyZ2V0Q29uZmlndXJhdGlvbltcIm91dGJvdW5kRGV0YWlsXCJdO1xuXHR9O1xufTtcblxuZXhwb3J0IHR5cGUgWE1MUHJlcHJvY2Vzc29yQ29udGV4dCA9IHtcblx0YmluZGluZ0NvbnRleHRzOiBSZWNvcmQ8c3RyaW5nLCBCYXNlQ29udGV4dCB8IG51bGw+O1xuXHRtb2RlbHM6IFJlY29yZDxzdHJpbmcsIE1vZGVsPjtcblx0ZnVsbENvbnRleHRQYXRoOiBzdHJpbmc7XG5cdGdldENvbnZlcnRlZE1ldGFkYXRhOiAoKSA9PiBDb252ZXJ0ZWRNZXRhZGF0YTtcblx0YXBwQ29tcG9uZW50OiBBcHBDb21wb25lbnQ7XG5cdHZpZXdJZDogc3RyaW5nO1xufTtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUuVGVtcGxhdGVDb21wb25lbnRcIilcbmNsYXNzIFRlbXBsYXRlQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQgaW1wbGVtZW50cyBJQXN5bmNDb250ZW50Q3JlYXRpb24ge1xuXHRAaW1wbGVtZW50SW50ZXJmYWNlKFwic2FwLnVpLmNvcmUuSUFzeW5jQ29udGVudENyZWF0aW9uXCIpXG5cdF9faW1wbGVtZW50c19fc2FwX3VpX2NvcmVfSUFzeW5jQ29udGVudENyZWF0aW9uID0gdHJ1ZTtcblxuXHQvKipcblx0ICogTmFtZSBvZiB0aGUgT0RhdGEgZW50aXR5IHNldFxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiwgZGVmYXVsdFZhbHVlOiBudWxsIH0pXG5cdGVudGl0eVNldDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cblx0LyoqXG5cdCAqIENvbnRleHQgUGF0aCBmb3IgcmVuZGVyaW5nIHRoZSB0ZW1wbGF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiwgZGVmYXVsdFZhbHVlOiBudWxsIH0pXG5cdGNvbnRleHRQYXRoOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcIm9iamVjdFwiIH0pXG5cdHByZXByb2Nlc3NvckNvbnRleHQ/OiBYTUxQcmVwcm9jZXNzb3JDb250ZXh0O1xuXG5cdC8qKlxuXHQgKiBUaGUgcGF0dGVybiBmb3IgdGhlIGJpbmRpbmcgY29udGV4dCB0byBiZSBjcmVhdGUgYmFzZWQgb24gdGhlIHBhcmFtZXRlcnMgZnJvbSB0aGUgbmF2aWdhdGlvblxuXHQgKiBJZiBub3QgcHJvdmlkZWQgd2UnbGwgZGVmYXVsdCB0byB3aGF0IHdhcyBwYXNzZWQgaW4gdGhlIFVSTFxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRiaW5kaW5nQ29udGV4dFBhdHRlcm4hOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIE1hcCBvZiB1c2VkIE9EYXRhIG5hdmlnYXRpb25zIGFuZCBpdHMgcm91dGluZyB0YXJnZXRzXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcIm9iamVjdFwiIH0pXG5cdG5hdmlnYXRpb24hOiBSZWNvcmQ8c3RyaW5nLCBOYXZpZ2F0aW9uQ29uZmlndXJhdGlvbj47XG5cblx0LyoqXG5cdCAqIEVuaGFuY2UgdGhlIGkxOG4gYnVuZGxlIHVzZWQgZm9yIHRoaXMgcGFnZSB3aXRoIG9uZSBvciBtb3JlIGFwcCBzcGVjaWZpYyBpMThuIHJlc291cmNlIGJ1bmRsZXMgb3IgcmVzb3VyY2UgbW9kZWxzXG5cdCAqIG9yIGEgY29tYmluYXRpb24gb2YgYm90aC4gVGhlIGxhc3QgcmVzb3VyY2UgYnVuZGxlL21vZGVsIGlzIGdpdmVuIGhpZ2hlc3QgcHJpb3JpdHlcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nW11cIiB9KVxuXHRlbmhhbmNlSTE4biE6IHN0cmluZ1tdO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmUgY29udHJvbCByZWxhdGVkIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3Ncblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwib2JqZWN0XCIgfSlcblx0Y29udHJvbENvbmZpZ3VyYXRpb24/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuXHQvKipcblx0ICogQWRqdXN0cyB0aGUgdGVtcGxhdGUgY29udGVudFxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJvYmplY3RcIiB9KVxuXHRjb250ZW50PzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgb3Igbm90IHlvdSBjYW4gcmVhY2ggdGhpcyBwYWdlIGRpcmVjdGx5IHRocm91Z2ggc2VtYW50aWMgYm9va21hcmtzXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRhbGxvd0RlZXBMaW5raW5nITogYm9vbGVhbjtcblxuXHQvKipcblx0ICogRGVmaW5lcyB0aGUgY29udGV4dCBwYXRoIG9uIHRoZSBjb21wb25lbnQgdGhhdCBpcyByZWZyZXNoZWQgd2hlbiB0aGUgYXBwIGlzIHJlc3RvcmVkIHVzaW5nIGtlZXAgYWxpdmUgbW9kZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJvYmplY3RcIiB9KVxuXHRyZWZyZXNoU3RyYXRlZ3lPbkFwcFJlc3RvcmU6IHVua25vd247XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHR2aWV3VHlwZSA9IFwiWE1MXCI7XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHR2aWV3TmFtZT86IHN0cmluZztcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdF9qc3hWaWV3TmFtZSA9IFwiXCI7XG5cblx0QGV2ZW50KClcblx0Y29udGFpbmVyRGVmaW5lZCE6IEZ1bmN0aW9uO1xuXG5cdEBldmVudCgpXG5cdGhlcm9lc0JhdGNoUmVjZWl2ZWQhOiBGdW5jdGlvbjtcblxuXHRAZXZlbnQoKVxuXHR3b3JrZXJzQmF0Y2hSZWNlaXZlZCE6IEZ1bmN0aW9uO1xuXG5cdHByb3RlY3RlZCBvQXBwQ29tcG9uZW50ITogQXBwQ29tcG9uZW50O1xuXG5cdHByaXZhdGUgX3Jvb3RDb250cm9sbGVyPzogUGFnZUNvbnRyb2xsZXI7XG5cblx0Ly8gVGhlIGlkIG9mIGEgZnJhZ21lbnQgYmVpbmcgcHJvY2Vzc2VkLCBpdCB3aWxsIHRha2UgcHJpb3JpdHkgaW4gdGhlIElEIGdlbmVyYXRpb25cblx0cHJpdmF0ZSBfdGVtcG9yYXJ5RnJhZ21lbnRJZD86IHN0cmluZztcblxuXHRzZXRDb250YWluZXIob0NvbnRhaW5lcjogQ29tcG9uZW50Q29udGFpbmVyKTogdGhpcyB7XG5cdFx0c3VwZXIuc2V0Q29udGFpbmVyKG9Db250YWluZXIpO1xuXHRcdHRoaXMuZmlyZUV2ZW50KFwiY29udGFpbmVyRGVmaW5lZFwiLCB7IGNvbnRhaW5lcjogb0NvbnRhaW5lciB9KTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdGluaXQoKTogdm9pZCB7XG5cdFx0dGhpcy5vQXBwQ29tcG9uZW50ID0gQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KHRoaXMpO1xuXHRcdHN1cGVyLmluaXQoKTtcblx0fVxuXG5cdC8vIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBieSBVSTUgY29yZSB0byBhY2Nlc3MgdG8gdGhlIGNvbXBvbmVudCBjb250YWluaW5nIHRoZSBjdXN0b21pemluZyBjb25maWd1cmF0aW9uLlxuXHQvLyBhcyBjb250cm9sbGVyIGV4dGVuc2lvbnMgYXJlIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0IGZvciB0aGUgYXBwIGNvbXBvbmVudCBhbmQgbm90IGZvciB0aGVcblx0Ly8gdGVtcGxhdGUgY29tcG9uZW50IHdlIHJldHVybiB0aGUgYXBwIGNvbXBvbmVudC5cblx0Z2V0RXh0ZW5zaW9uQ29tcG9uZW50KCk6IEFwcENvbXBvbmVudCB7XG5cdFx0cmV0dXJuIHRoaXMub0FwcENvbXBvbmVudDtcblx0fVxuXG5cdGdldEFwcENvbXBvbmVudCgpOiBBcHBDb21wb25lbnQge1xuXHRcdHJldHVybiB0aGlzLm9BcHBDb21wb25lbnQ7XG5cdH1cblxuXHRzZXRSb290Q29udHJvbGxlcihjb250cm9sbGVyOiBQYWdlQ29udHJvbGxlcik6IHZvaWQge1xuXHRcdHRoaXMuX3Jvb3RDb250cm9sbGVyID0gY29udHJvbGxlcjtcblx0fVxuXG5cdGdldFJvb3RDb250cm9sbGVyKCk6IFBhZ2VDb250cm9sbGVyIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCByb290Q29udHJvbDogVmlldyA9IHRoaXMuZ2V0Um9vdENvbnRyb2woKTtcblx0XHRsZXQgcm9vdENvbnRyb2xsZXI6IFBhZ2VDb250cm9sbGVyIHwgdW5kZWZpbmVkO1xuXHRcdGlmIChyb290Q29udHJvbCAmJiByb290Q29udHJvbC5nZXRDb250cm9sbGVyKSB7XG5cdFx0XHRyb290Q29udHJvbGxlciA9IHJvb3RDb250cm9sLmdldENvbnRyb2xsZXIoKSBhcyBQYWdlQ29udHJvbGxlcjtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cm9vdENvbnRyb2xsZXIgPSB0aGlzLl9yb290Q29udHJvbGxlcjtcblx0XHR9XG5cdFx0cmV0dXJuIHJvb3RDb250cm9sbGVyO1xuXHR9XG5cblx0b25QYWdlUmVhZHkobVBhcmFtZXRlcnM6IHVua25vd24pOiB2b2lkIHtcblx0XHRjb25zdCByb290Q29udHJvbGxlciA9IHRoaXMuZ2V0Um9vdENvbnRyb2xsZXIoKTtcblx0XHRpZiAocm9vdENvbnRyb2xsZXIgJiYgcm9vdENvbnRyb2xsZXIub25QYWdlUmVhZHkpIHtcblx0XHRcdHJvb3RDb250cm9sbGVyLm9uUGFnZVJlYWR5KG1QYXJhbWV0ZXJzKTtcblx0XHR9XG5cdH1cblxuXHRnZXROYXZpZ2F0aW9uQ29uZmlndXJhdGlvbihzVGFyZ2V0UGF0aDogc3RyaW5nKTogTmF2aWdhdGlvbkNvbmZpZ3VyYXRpb24ge1xuXHRcdGNvbnN0IG1OYXZpZ2F0aW9uID0gdGhpcy5uYXZpZ2F0aW9uO1xuXHRcdHJldHVybiBtTmF2aWdhdGlvbltzVGFyZ2V0UGF0aF07XG5cdH1cblxuXHRnZXRWaWV3RGF0YSgpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG5cdFx0Y29uc3QgbVByb3BlcnRpZXMgPSB0aGlzLmdldE1ldGFkYXRhKCkuZ2V0QWxsUHJvcGVydGllcygpO1xuXHRcdGNvbnN0IG9WaWV3RGF0YSA9IE9iamVjdC5rZXlzKG1Qcm9wZXJ0aWVzKS5yZWR1Y2UoKG1WaWV3RGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIHNQcm9wZXJ0eU5hbWU6IHN0cmluZykgPT4ge1xuXHRcdFx0bVZpZXdEYXRhW3NQcm9wZXJ0eU5hbWVdID0gbVByb3BlcnRpZXNbc1Byb3BlcnR5TmFtZV0uZ2V0ISh0aGlzKTtcblx0XHRcdHJldHVybiBtVmlld0RhdGE7XG5cdFx0fSwge30pO1xuXHRcdGRlbGV0ZSBvVmlld0RhdGEucHJlcHJvY2Vzc29yQ29udGV4dDtcblx0XHQvLyBBY2Nlc3MgdGhlIGludGVybmFsIF9pc0ZjbEVuYWJsZWQgd2hpY2ggd2lsbCBiZSB0aGVyZVxuXHRcdG9WaWV3RGF0YS5mY2xFbmFibGVkID0gdGhpcy5vQXBwQ29tcG9uZW50Ll9pc0ZjbEVuYWJsZWQoKTtcblxuXHRcdHJldHVybiBvVmlld0RhdGE7XG5cdH1cblxuXHRfZ2V0UGFnZVRpdGxlSW5mb3JtYXRpb24oKTogVGl0bGVJbmZvcm1hdGlvbiB7XG5cdFx0Y29uc3Qgcm9vdENvbnRyb2wgPSB0aGlzLmdldFJvb3RDb250cm9sKCk7XG5cdFx0aWYgKHJvb3RDb250cm9sICYmIHJvb3RDb250cm9sLmdldENvbnRyb2xsZXIoKSAmJiByb290Q29udHJvbC5nZXRDb250cm9sbGVyKCkuX2dldFBhZ2VUaXRsZUluZm9ybWF0aW9uKSB7XG5cdFx0XHRyZXR1cm4gcm9vdENvbnRyb2wuZ2V0Q29udHJvbGxlcigpLl9nZXRQYWdlVGl0bGVJbmZvcm1hdGlvbigpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4ge30gYXMgVGl0bGVJbmZvcm1hdGlvbjtcblx0XHR9XG5cdH1cblxuXHRnZXRFeHRlbnNpb25BUEkoKTogRXh0ZW5zaW9uQVBJIHtcblx0XHRyZXR1cm4gdGhpcy5nZXRSb290Q29udHJvbCgpLmdldENvbnRyb2xsZXIoKS5nZXRFeHRlbnNpb25BUEkoKTtcblx0fVxufVxuaW50ZXJmYWNlIFRlbXBsYXRlQ29tcG9uZW50IHtcblx0Ly8gVE9ETzogdGhpcyBzaG91bGQgYmUgaWRlYWxseSBiZSBoYW5kbGVkIGJ5IHRoZSBlZGl0Zmxvdy9yb3V0aW5nIHdpdGhvdXQgdGhlIG5lZWQgdG8gaGF2ZSB0aGlzIG1ldGhvZCBpbiB0aGUgb2JqZWN0IHBhZ2UgLSBmb3Igbm93IGtlZXAgaXQgaGVyZVxuXHRjcmVhdGVEZWZlcnJlZENvbnRleHQ/KFxuXHRcdHNQYXRoOiBzdHJpbmcsXG5cdFx0b0xpc3RCaW5kaW5nOiBPRGF0YUxpc3RCaW5kaW5nIHwgdW5kZWZpbmVkLFxuXHRcdHBhcmVudENvbnRleHQ6IENvbnRleHQgfCB1bmRlZmluZWQsXG5cdFx0ZGF0YTogb2JqZWN0IHwgdW5kZWZpbmVkLFxuXHRcdGJBY3Rpb25DcmVhdGU6IGJvb2xlYW5cblx0KTogdm9pZDtcblx0aXNPcGVuSW5FZGl0TW9kZSgpOiBib29sZWFuO1xuXHRnZXRSb290Q29udHJvbCgpOiB7IGdldENvbnRyb2xsZXIoKTogUGFnZUNvbnRyb2xsZXIgfSAmIFZpZXc7XG5cdGV4dGVuZFBhZ2VEZWZpbml0aW9uPyhwYWdlRGVmaW5pdGlvbjoge30sIGNvbnZlcnRlckNvbnRleHQ/OiBDb252ZXJ0ZXJDb250ZXh0KToge307XG5cdGdldE1vZGVsKCk6IE9EYXRhTW9kZWw7XG5cdGdldE1vZGVsKG1vZGVsTmFtZTogXCJfcGFnZU1vZGVsXCIpOiBKU09OTW9kZWw7XG5cdGdldE1vZGVsKG1vZGVsTmFtZTogc3RyaW5nKTogTW9kZWwgfCB1bmRlZmluZWQ7XG59XG5leHBvcnQgZGVmYXVsdCBUZW1wbGF0ZUNvbXBvbmVudDtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O01BNkNNQSxpQkFBaUIsV0FEdEJDLGNBQWMsQ0FBQywrQkFBK0IsQ0FBQyxVQUU5Q0Msa0JBQWtCLENBQUMsbUNBQW1DLENBQUMsVUFNdkRDLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUUsUUFBUTtJQUFFQyxZQUFZLEVBQUU7RUFBSyxDQUFDLENBQUMsVUFNaERGLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUUsUUFBUTtJQUFFQyxZQUFZLEVBQUU7RUFBSyxDQUFDLENBQUMsVUFHaERGLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsVUFPNUJELFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsVUFNNUJELFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsVUFPNUJE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
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { ConvertedMetadata } from "@sap-ux/vocabularies-types";
|
|
2
|
+
import { defineUI5Class, event, implementInterface, property } from "sap/fe/base/ClassSupport";
|
|
2
3
|
import type AppComponent from "sap/fe/core/AppComponent";
|
|
3
4
|
import CommonUtils from "sap/fe/core/CommonUtils";
|
|
4
5
|
import type ExtensionAPI from "sap/fe/core/ExtensionAPI";
|
|
5
6
|
import type PageController from "sap/fe/core/PageController";
|
|
6
7
|
import type ConverterContext from "sap/fe/core/converters/ConverterContext";
|
|
7
8
|
import type { NavigationTargetConfiguration } from "sap/fe/core/converters/ManifestSettings";
|
|
8
|
-
import { defineUI5Class, event, implementInterface, property } from "sap/fe/core/helpers/ClassSupport";
|
|
9
9
|
import type { TitleInformation } from "sap/fe/core/rootView/RootViewBaseController";
|
|
10
10
|
import type ComponentContainer from "sap/ui/core/ComponentContainer";
|
|
11
11
|
import UIComponent from "sap/ui/core/UIComponent";
|
|
@@ -39,6 +39,7 @@ export type XMLPreprocessorContext = {
|
|
|
39
39
|
fullContextPath: string;
|
|
40
40
|
getConvertedMetadata: () => ConvertedMetadata;
|
|
41
41
|
appComponent: AppComponent;
|
|
42
|
+
viewId: string;
|
|
42
43
|
};
|
|
43
44
|
|
|
44
45
|
@defineUI5Class("sap.fe.core.TemplateComponent")
|
|
@@ -127,6 +128,9 @@ class TemplateComponent extends UIComponent implements IAsyncContentCreation {
|
|
|
127
128
|
|
|
128
129
|
private _rootController?: PageController;
|
|
129
130
|
|
|
131
|
+
// The id of a fragment being processed, it will take priority in the ID generation
|
|
132
|
+
private _temporaryFragmentId?: string;
|
|
133
|
+
|
|
130
134
|
setContainer(oContainer: ComponentContainer): this {
|
|
131
135
|
super.setContainer(oContainer);
|
|
132
136
|
this.fireEvent("containerDefined", { container: oContainer });
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2024 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/fe/
|
|
5
|
+
sap.ui.define(["sap/fe/base/ClassSupport", "sap/ui/base/Object", "sap/ui/model/json/JSONModel"], function (ClassSupport, BaseObject, JSONModel) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
var _dec, _class;
|
|
@@ -72,4 +72,4 @@ sap.ui.define(["sap/fe/core/helpers/ClassSupport", "sap/ui/base/Object", "sap/ui
|
|
|
72
72
|
}(BaseObject)) || _class);
|
|
73
73
|
return TemplateModel;
|
|
74
74
|
}, false);
|
|
75
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZW1wbGF0ZU1vZGVsIiwiZGVmaW5lVUk1Q2xhc3MiLCJwYWdlQ29uZmlnIiwib01ldGFNb2RlbCIsIm9Db25maWdNb2RlbCIsIkpTT05Nb2RlbCIsInNldFNpemVMaW1pdCIsIk51bWJlciIsIk1BWF9WQUxVRSIsImJDb25maWdMb2FkZWQiLCJ0aGF0IiwiZm5HZXRPYmplY3QiLCJfZ2V0T2JqZWN0IiwiYmluZCIsInNQYXRoIiwib0NvbnRleHQiLCJzZXREYXRhIiwiZm5DcmVhdGVNZXRhQmluZGluZ0NvbnRleHQiLCJjcmVhdGVCaW5kaW5nQ29udGV4dCIsImZuQ3JlYXRlQ29uZmlnQmluZGluZ0NvbnRleHQiLCJmblNldERhdGEiLCJkYXRhVG9TZXQiLCJtUGFyYW1ldGVycyIsImZuQ2FsbEJhY2siLCJvQmluZGluZ0NvbnRleHQiLCJiTm9SZXNvbHZlIiwibm9SZXNvbHZlIiwic1Jlc29sdmVkUGF0aCIsImdldE9iamVjdCIsImRlc3Ryb3kiLCJwcm90b3R5cGUiLCJhcHBseSIsIkJhc2VPYmplY3QiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlRlbXBsYXRlTW9kZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgQmFzZU9iamVjdCBmcm9tIFwic2FwL3VpL2Jhc2UvT2JqZWN0XCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuaW1wb3J0IEpTT05Nb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2pzb24vSlNPTk1vZGVsXCI7XG5pbXBvcnQgdHlwZSBPRGF0YU1ldGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTWV0YU1vZGVsXCI7XG5cbi8vIFdlIGFyZSBvdmVycmlkaW5nIGludGVybmFsIGZyb20gdGhlIEpTT05Nb2RlbCBzbyB0aGlzIG1ha2VzIHNlbnNlXG50eXBlIEludGVybmFsSlNPTk1vZGVsID0gSlNPTk1vZGVsICYge1xuXHRfZ2V0T2JqZWN0KHNQYXRoOiBzdHJpbmcsIG9Db250ZXh0PzogQ29udGV4dCk6IG9iamVjdDtcbn07XG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5UZW1wbGF0ZU1vZGVsXCIpXG5jbGFzcyBUZW1wbGF0ZU1vZGVsIGV4dGVuZHMgQmFzZU9iamVjdCB7XG5cdHB1YmxpYyBvTWV0YU1vZGVsOiBPRGF0YU1ldGFNb2RlbDtcblxuXHRwdWJsaWMgb0NvbmZpZ01vZGVsOiBKU09OTW9kZWw7XG5cblx0cHVibGljIGJDb25maWdMb2FkZWQ6IGJvb2xlYW47XG5cblx0cHVibGljIGZuQ3JlYXRlTWV0YUJpbmRpbmdDb250ZXh0OiBGdW5jdGlvbjtcblxuXHRwdWJsaWMgZm5DcmVhdGVDb25maWdCaW5kaW5nQ29udGV4dDogRnVuY3Rpb247XG5cblx0cHVibGljIGZuU2V0RGF0YTogRnVuY3Rpb247XG5cblx0Y29uc3RydWN0b3IocGFnZUNvbmZpZzogRnVuY3Rpb24gfCBvYmplY3QsIG9NZXRhTW9kZWw6IE9EYXRhTWV0YU1vZGVsKSB7XG5cdFx0c3VwZXIoKTtcblx0XHR0aGlzLm9NZXRhTW9kZWwgPSBvTWV0YU1vZGVsO1xuXHRcdHRoaXMub0NvbmZpZ01vZGVsID0gbmV3IEpTT05Nb2RlbCgpO1xuXHRcdC8vIGRvbid0IGxpbWl0IGFnZ3JlZ2F0aW9uIGJpbmRpbmdzXG5cdFx0dGhpcy5vQ29uZmlnTW9kZWwuc2V0U2l6ZUxpbWl0KE51bWJlci5NQVhfVkFMVUUpO1xuXHRcdHRoaXMuYkNvbmZpZ0xvYWRlZCA9IGZhbHNlO1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuXHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXG5cdFx0aWYgKHR5cGVvZiBwYWdlQ29uZmlnID09PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRcdGNvbnN0IGZuR2V0T2JqZWN0ID0gKHRoaXMub0NvbmZpZ01vZGVsIGFzIEludGVybmFsSlNPTk1vZGVsKS5fZ2V0T2JqZWN0LmJpbmQodGhpcy5vQ29uZmlnTW9kZWwpO1xuXHRcdFx0KHRoaXMub0NvbmZpZ01vZGVsIGFzIEludGVybmFsSlNPTk1vZGVsKS5fZ2V0T2JqZWN0ID0gZnVuY3Rpb24gKHNQYXRoOiBzdHJpbmcsIG9Db250ZXh0OiBDb250ZXh0KTogT2JqZWN0IHtcblx0XHRcdFx0aWYgKCF0aGF0LmJDb25maWdMb2FkZWQpIHtcblx0XHRcdFx0XHR0aGlzLnNldERhdGEocGFnZUNvbmZpZygpKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gZm5HZXRPYmplY3Qoc1BhdGgsIG9Db250ZXh0KTtcblx0XHRcdH07XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMub0NvbmZpZ01vZGVsLnNldERhdGEocGFnZUNvbmZpZyk7XG5cdFx0fVxuXG5cdFx0dGhpcy5mbkNyZWF0ZU1ldGFCaW5kaW5nQ29udGV4dCA9IHRoaXMub01ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dC5iaW5kKHRoaXMub01ldGFNb2RlbCk7XG5cdFx0dGhpcy5mbkNyZWF0ZUNvbmZpZ0JpbmRpbmdDb250ZXh0ID0gdGhpcy5vQ29uZmlnTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQuYmluZCh0aGlzLm9Db25maWdNb2RlbCk7XG5cdFx0dGhpcy5mblNldERhdGEgPSB0aGlzLm9Db25maWdNb2RlbC5zZXREYXRhLmJpbmQodGhpcy5vQ29uZmlnTW9kZWwpO1xuXG5cdFx0dGhpcy5vQ29uZmlnTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQgPSB0aGlzLmNyZWF0ZUJpbmRpbmdDb250ZXh0LmJpbmQodGhpcyk7XG5cdFx0dGhpcy5vQ29uZmlnTW9kZWwuc2V0RGF0YSA9IHRoaXMuc2V0RGF0YS5iaW5kKHRoaXMpO1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0cmV0dXJuIHRoaXMub0NvbmZpZ01vZGVsO1xuXHR9XG5cblx0LyoqXG5cdCAqIE92ZXJ3cml0ZSB0aGUgc3RhbmRhcmQgc2V0RGF0YSB0byBrZWVwIHRyYWNrIHdoZXRoZXIgdGhlIGV4dGVybmFsIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gbG9hZGVkIG9yIG5vdC5cblx0ICpcblx0ICogQHBhcmFtIGRhdGFUb1NldCBUaGUgZGF0YSB0byBzZXQgdG8gdGhlIGpzb24gbW9kZWwgY29udGFpbmluZyB0aGUgY29uZmlndXJhdGlvblxuXHQgKi9cblx0c2V0RGF0YShkYXRhVG9TZXQ6IG9iamVjdCk6IHZvaWQge1xuXHRcdHRoaXMuZm5TZXREYXRhKGRhdGFUb1NldCk7XG5cdFx0dGhpcy5iQ29uZmlnTG9hZGVkID0gdHJ1ZTtcblx0fVxuXG5cdGNyZWF0ZUJpbmRpbmdDb250ZXh0KHNQYXRoOiBzdHJpbmcsIG9Db250ZXh0PzogQ29udGV4dCwgbVBhcmFtZXRlcnM/OiB7IG5vUmVzb2x2ZT86IGJvb2xlYW4gfSwgZm5DYWxsQmFjaz86IEZ1bmN0aW9uKTogQ29udGV4dCB7XG5cdFx0bGV0IG9CaW5kaW5nQ29udGV4dDtcblx0XHRjb25zdCBiTm9SZXNvbHZlID0gbVBhcmFtZXRlcnMgJiYgbVBhcmFtZXRlcnMubm9SZXNvbHZlO1xuXG5cdFx0b0JpbmRpbmdDb250ZXh0ID0gdGhpcy5mbkNyZWF0ZUNvbmZpZ0JpbmRpbmdDb250ZXh0KHNQYXRoLCBvQ29udGV4dCwgbVBhcmFtZXRlcnMsIGZuQ2FsbEJhY2spO1xuXHRcdGNvbnN0IHNSZXNvbHZlZFBhdGggPSAhYk5vUmVzb2x2ZSAmJiBvQmluZGluZ0NvbnRleHQ/LmdldE9iamVjdCgpO1xuXHRcdGlmIChzUmVzb2x2ZWRQYXRoICYmIHR5cGVvZiBzUmVzb2x2ZWRQYXRoID09PSBcInN0cmluZ1wiKSB7XG5cdFx0XHRvQmluZGluZ0NvbnRleHQgPSB0aGlzLmZuQ3JlYXRlTWV0YUJpbmRpbmdDb250ZXh0KHNSZXNvbHZlZFBhdGgsIG9Db250ZXh0LCBtUGFyYW1ldGVycywgZm5DYWxsQmFjayk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIG9CaW5kaW5nQ29udGV4dDtcblx0fVxuXG5cdGRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5vQ29uZmlnTW9kZWwuZGVzdHJveSgpO1xuXHRcdEpTT05Nb2RlbC5wcm90b3R5cGUuZGVzdHJveS5hcHBseSh0aGlzKTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBUZW1wbGF0ZU1vZGVsO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7TUFXTUEsYUFBYSxXQURsQkMsY0FBYyxDQUFDLDJCQUEyQixDQUFDO0lBQUE7SUFjM0MsdUJBQVlDLFVBQTZCLEVBQUVDLFVBQTBCLEVBQUU7TUFBQTtNQUN0RSw4QkFBTztNQUNQLE1BQUtBLFVBQVUsR0FBR0EsVUFBVTtNQUM1QixNQUFLQyxZQUFZLEdBQUcsSUFBSUMsU0FBUyxFQUFFO01BQ25DO01BQ0EsTUFBS0QsWUFBWSxDQUFDRSxZQUFZLENBQUNDLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDO01BQ2hELE1BQUtDLGFBQWEsR0FBRyxLQUFLO01BQzFCO01BQ0EsTUFBTUMsSUFBSSxnQ0FBTztNQUVqQixJQUFJLE9BQU9SLFVBQVUsS0FBSyxVQUFVLEVBQUU7UUFDckMsTUFBTVMsV0FBVyxHQUFJLE1BQUtQLFlBQVksQ0FBdUJRLFVBQVUsQ0FBQ0MsSUFBSSxDQUFDLE1BQUtULFlBQVksQ0FBQztRQUM5RixNQUFLQSxZQUFZLENBQXVCUSxVQUFVLEdBQUcsVUFBVUUsS0FBYSxFQUFFQyxRQUFpQixFQUFVO1VBQ3pHLElBQUksQ0FBQ0wsSUFBSSxDQUFDRCxhQUFhLEVBQUU7WUFDeEIsSUFBSSxDQUFDTyxPQUFPLENBQUNkLFVBQVUsRUFBRSxDQUFDO1VBQzNCO1VBQ0EsT0FBT1MsV0FBVyxDQUFDRyxLQUFLLEVBQUVDLFFBQVEsQ0FBQztRQUNwQyxDQUFDO01BQ0YsQ0FBQyxNQUFNO1FBQ04sTUFBS1gsWUFBWSxDQUFDWSxPQUFPLENBQUNkLFVBQVUsQ0FBQztNQUN0QztNQUVBLE1BQUtlLDBCQUEwQixHQUFHLE1BQUtkLFVBQVUsQ0FBQ2Usb0JBQW9CLENBQUNMLElBQUksQ0FBQyxNQUFLVixVQUFVLENBQUM7TUFDNUYsTUFBS2dCLDRCQUE0QixHQUFHLE1BQUtmLFlBQVksQ0FBQ2Msb0JBQW9CLENBQUNMLElBQUksQ0FBQyxNQUFLVCxZQUFZLENBQUM7TUFDbEcsTUFBS2dCLFNBQVMsR0FBRyxNQUFLaEIsWUFBWSxDQUFDWSxPQUFPLENBQUNILElBQUksQ0FBQyxNQUFLVCxZQUFZLENBQUM7TUFFbEUsTUFBS0EsWUFBWSxDQUFDYyxvQkFBb0IsR0FBRyxNQUFLQSxvQkFBb0IsQ0FBQ0wsSUFBSSwrQkFBTTtNQUM3RSxNQUFLVCxZQUFZLENBQUNZLE9BQU8sR0FBRyxNQUFLQSxPQUFPLENBQUNILElBQUksK0JBQU07TUFDbkQ7TUFDQTtNQUNBLE9BQU8sTUFBS1QsWUFBWTtJQUN6Qjs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0lBSkM7SUFBQSxPQUtBWSxPQUFPLEdBQVAsaUJBQVFLLFNBQWlCLEVBQVE7TUFDaEMsSUFBSSxDQUFDRCxTQUFTLENBQUNDLFNBQVMsQ0FBQztNQUN6QixJQUFJLENBQUNaLGFBQWEsR0FBRyxJQUFJO0lBQzFCLENBQUM7SUFBQSxPQUVEUyxvQkFBb0IsR0FBcEIsOEJBQXFCSixLQUFhLEVBQUVDLFFBQWtCLEVBQUVPLFdBQXFDLEVBQUVDLFVBQXFCLEVBQVc7TUFBQTtNQUM5SCxJQUFJQyxlQUFlO01BQ25CLE1BQU1DLFVBQVUsR0FBR0gsV0FBVyxJQUFJQSxXQUFXLENBQUNJLFNBQVM7TUFFdkRGLGVBQWUsR0FBRyxJQUFJLENBQUNMLDRCQUE0QixDQUFDTCxLQUFLLEVBQUVDLFFBQVEsRUFBRU8sV0FBVyxFQUFFQyxVQUFVLENBQUM7TUFDN0YsTUFBTUksYUFBYSxHQUFHLENBQUNGLFVBQVUseUJBQUlELGVBQWUscURBQWYsaUJBQWlCSSxTQUFTLEVBQUU7TUFDakUsSUFBSUQsYUFBYSxJQUFJLE9BQU9BLGFBQWEsS0FBSyxRQUFRLEVBQUU7UUFDdkRILGVBQWUsR0FBRyxJQUFJLENBQUNQLDBCQUEwQixDQUFDVSxhQUFhLEVBQUVaLFFBQVEsRUFBRU8sV0FBVyxFQUFFQyxVQUFVLENBQUM7TUFDcEc7TUFFQSxPQUFPQyxlQUFlO0lBQ3ZCLENBQUM7SUFBQSxPQUVESyxPQUFPLEdBQVAsbUJBQWdCO01BQ2YsSUFBSSxDQUFDekIsWUFBWSxDQUFDeUIsT0FBTyxFQUFFO01BQzNCeEIsU0FBUyxDQUFDeUIsU0FBUyxDQUFDRCxPQUFPLENBQUNFLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFDeEMsQ0FBQztJQUFBO0VBQUEsRUF4RTBCQyxVQUFVO0VBQUEsT0EyRXZCaEMsYUFBYTtBQUFBIn0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineUI5Class } from "sap/fe/
|
|
1
|
+
import { defineUI5Class } from "sap/fe/base/ClassSupport";
|
|
2
2
|
import BaseObject from "sap/ui/base/Object";
|
|
3
3
|
import type Context from "sap/ui/model/Context";
|
|
4
4
|
import JSONModel from "sap/ui/model/json/JSONModel";
|