@sapui5/sap.fe.core 1.120.0 → 1.120.2
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 +1 -1
- package/src/sap/fe/core/ActionRuntime.js +278 -2
- package/src/sap/fe/core/AppComponent.js +464 -2
- package/src/sap/fe/core/AppStateHandler.js +225 -2
- package/src/sap/fe/core/BaseController.js +71 -2
- package/src/sap/fe/core/CommonUtils.js +1405 -2
- package/src/sap/fe/core/CommonUtils.ts +45 -43
- package/src/sap/fe/core/ExtensionAPI.js +303 -2
- package/src/sap/fe/core/InsightsFormattersExtension.js +23 -2
- package/src/sap/fe/core/PageController.js +197 -2
- package/src/sap/fe/core/PageController.ts +3 -2
- package/src/sap/fe/core/ResourceModel.js +67 -2
- package/src/sap/fe/core/TemplateComponent.js +214 -2
- package/src/sap/fe/core/TemplateModel.js +71 -2
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js +51 -2
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +161 -2
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.js +10 -2
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js +83 -2
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js +920 -9
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js +79 -5
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js +174 -2
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js +423 -2
- package/src/sap/fe/core/controllerextensions/BaseControllerExtension.js +31 -2
- package/src/sap/fe/core/controllerextensions/BusyLocker.js +88 -2
- package/src/sap/fe/core/controllerextensions/EditFlow.js +2711 -2
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +54 -22
- package/src/sap/fe/core/controllerextensions/Feedback.js +58 -2
- package/src/sap/fe/core/controllerextensions/HookSupport.js +121 -2
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +75 -2
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +679 -2
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +1100 -2
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +46 -4
- package/src/sap/fe/core/controllerextensions/KPIManagement.js +1017 -2
- package/src/sap/fe/core/controllerextensions/MassEdit.js +118 -2
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +211 -2
- package/src/sap/fe/core/controllerextensions/PageReady.js +249 -2
- package/src/sap/fe/core/controllerextensions/Paginator.js +160 -2
- package/src/sap/fe/core/controllerextensions/Placeholder.js +126 -2
- package/src/sap/fe/core/controllerextensions/Recommendations.js +352 -2
- package/src/sap/fe/core/controllerextensions/Recommendations.ts +158 -66
- package/src/sap/fe/core/controllerextensions/Routing.js +122 -2
- package/src/sap/fe/core/controllerextensions/RoutingListener.js +6 -2
- package/src/sap/fe/core/controllerextensions/Share.js +340 -2
- package/src/sap/fe/core/controllerextensions/Share.ts +18 -18
- package/src/sap/fe/core/controllerextensions/SideEffects.js +589 -2
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +42 -7
- package/src/sap/fe/core/controllerextensions/ViewState.js +926 -2
- package/src/sap/fe/core/controllerextensions/ViewState.ts +1 -1
- package/src/sap/fe/core/controllerextensions/cards/CollaborationManager.js +69 -2
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +132 -2
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +757 -2
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +133 -2
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js +279 -2
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js +99 -2
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1158 -2
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +4 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +645 -2
- package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +24 -9
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +321 -2
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +2 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js +79 -2
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +1557 -2
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +30 -8
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js +6 -2
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +145 -2
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +1215 -2
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +18 -17
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js +311 -2
- package/src/sap/fe/core/controllerextensions/routing/NavigationReason.js +13 -2
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +874 -2
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +17 -1
- package/src/sap/fe/core/controls/Any.js +28 -2
- package/src/sap/fe/core/controls/AnyElement.js +24 -2
- package/src/sap/fe/core/controls/CommandExecution.js +74 -2
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js +226 -2
- package/src/sap/fe/core/controls/EventDelegateHook.js +57 -2
- package/src/sap/fe/core/controls/FilterBar.js +163 -2
- package/src/sap/fe/core/controls/FormElementWrapper.js +88 -2
- package/src/sap/fe/core/controls/MassEditSelect.js +29 -2
- package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +33 -2
- package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block.js +291 -2
- package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block.tsx +131 -123
- package/src/sap/fe/core/controls/filterbar/FilterContainer.js +113 -2
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js +232 -2
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +140 -2
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +334 -2
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +475 -2
- package/src/sap/fe/core/converters/ConverterContext.js +397 -2
- package/src/sap/fe/core/converters/ManifestSettings.js +83 -2
- package/src/sap/fe/core/converters/ManifestWrapper.js +414 -2
- package/src/sap/fe/core/converters/MetaModelConverter.js +1196 -2
- package/src/sap/fe/core/converters/MetaModelConverter.ts +13 -0
- package/src/sap/fe/core/converters/TemplateConverter.js +85 -2
- package/src/sap/fe/core/converters/annotations/DataField.js +594 -2
- package/src/sap/fe/core/converters/annotations/DataField.ts +180 -87
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +2031 -2
- package/src/sap/fe/core/converters/controls/Common/Action.js +414 -2
- package/src/sap/fe/core/converters/controls/Common/Chart.js +344 -2
- package/src/sap/fe/core/converters/controls/Common/Criticality.js +38 -2
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +298 -2
- package/src/sap/fe/core/converters/controls/Common/Form.js +226 -2
- package/src/sap/fe/core/converters/controls/Common/KPI.js +385 -2
- package/src/sap/fe/core/converters/controls/Common/Table.js +3085 -2
- package/src/sap/fe/core/converters/controls/Common/Table.ts +49 -13
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +652 -2
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +23 -4
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +893 -2
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +310 -2
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +52 -2
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +420 -2
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +628 -2
- package/src/sap/fe/core/converters/helpers/Aggregation.js +224 -2
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +200 -2
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.js +170 -2
- package/src/sap/fe/core/converters/helpers/ID.js +88 -2
- package/src/sap/fe/core/converters/helpers/InsightsHelpers.js +43 -2
- package/src/sap/fe/core/converters/helpers/IssueManager.js +60 -2
- package/src/sap/fe/core/converters/helpers/Key.js +58 -2
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +76 -2
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +2 -2
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +138 -2
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +411 -2
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +578 -2
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +480 -2
- package/src/sap/fe/core/designtime/AppComponent.designtime.js +89 -2
- package/src/sap/fe/core/formatters/CollaborationFormatter.js +75 -2
- package/src/sap/fe/core/formatters/FPMFormatter.js +42 -2
- package/src/sap/fe/core/formatters/FiscalFormat.js +338 -2
- package/src/sap/fe/core/formatters/KPIFormatter.js +82 -2
- package/src/sap/fe/core/formatters/StandardFormatter.js +89 -2
- package/src/sap/fe/core/formatters/TableFormatter.js +265 -2
- package/src/sap/fe/core/formatters/TableFormatterTypes.js +16 -2
- package/src/sap/fe/core/formatters/ValueFormatter.js +166 -2
- package/src/sap/fe/core/fpm/Component.js +91 -2
- package/src/sap/fe/core/fpm/manifest.json +1 -1
- package/src/sap/fe/core/helpers/AdaptiveCardExpressionCompiler.js +387 -2
- package/src/sap/fe/core/helpers/AnnotationEnum.js +26 -2
- package/src/sap/fe/core/helpers/AppStartupHelper.js +352 -2
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +27 -0
- package/src/sap/fe/core/helpers/BindingHelper.js +98 -2
- package/src/sap/fe/core/helpers/BindingToolkit.js +1783 -2
- package/src/sap/fe/core/helpers/BindingToolkitEvaluator.js +45 -0
- package/src/sap/fe/core/helpers/BindingToolkitEvaluator.ts +46 -0
- package/src/sap/fe/core/helpers/ClassSupport.js +449 -2
- package/src/sap/fe/core/helpers/DeleteHelper.js +619 -2
- package/src/sap/fe/core/helpers/DeleteHelper.ts +1 -1
- package/src/sap/fe/core/helpers/DraftEditState.js +235 -2
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +51 -2
- package/src/sap/fe/core/helpers/EditState.js +56 -2
- package/src/sap/fe/core/helpers/ExcelFormatHelper.js +51 -2
- package/src/sap/fe/core/helpers/FPMHelper.js +95 -2
- package/src/sap/fe/core/helpers/KeepAliveHelper.js +176 -2
- package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +24 -2
- package/src/sap/fe/core/helpers/LoaderUtils.js +25 -2
- package/src/sap/fe/core/helpers/MassEditHelper.js +1241 -2
- package/src/sap/fe/core/helpers/MessageStrip.js +60 -2
- package/src/sap/fe/core/helpers/MetaModelFunction.js +513 -2
- package/src/sap/fe/core/helpers/ModelHelper.js +515 -2
- package/src/sap/fe/core/helpers/PasteHelper.js +170 -2
- package/src/sap/fe/core/helpers/RecommendationHelper.js +83 -2
- package/src/sap/fe/core/helpers/ResourceModelHelper.js +53 -2
- package/src/sap/fe/core/helpers/SemanticDateOperators.js +560 -2
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js +66 -2
- package/src/sap/fe/core/helpers/SizeHelper.js +49 -2
- package/src/sap/fe/core/helpers/StableIdHelper.js +226 -2
- package/src/sap/fe/core/helpers/StandardRecommendationHelper.js +240 -2
- package/src/sap/fe/core/helpers/StandardRecommendationHelper.ts +150 -22
- package/src/sap/fe/core/helpers/Synchronization.js +31 -2
- package/src/sap/fe/core/helpers/TitleHelper.js +248 -2
- package/src/sap/fe/core/helpers/TitleHelper.ts +1 -5
- package/src/sap/fe/core/helpers/ToES6Promise.js +27 -2
- package/src/sap/fe/core/helpers/TypeGuards.js +177 -2
- package/src/sap/fe/core/jsx-runtime/Fragment.js +10 -2
- package/src/sap/fe/core/jsx-runtime/ViewLoader.js +76 -2
- package/src/sap/fe/core/jsx-runtime/jsx-control.js +156 -2
- package/src/sap/fe/core/jsx-runtime/jsx-xml.js +90 -2
- package/src/sap/fe/core/jsx-runtime/jsx.js +37 -2
- package/src/sap/fe/core/jsx-runtime/jsxs.js +6 -2
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +154 -2
- package/src/sap/fe/core/library.js +424 -2
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +137 -2
- package/src/sap/fe/core/messagebundle.properties +9 -3
- package/src/sap/fe/core/messagebundle_ca.properties +314 -3
- package/src/sap/fe/core/messagebundle_cnr.properties +719 -0
- package/src/sap/fe/core/messagebundle_en.properties +272 -4
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +511 -194
- package/src/sap/fe/core/operationsHelper.js +181 -2
- package/src/sap/fe/core/operationsHelper.ts +7 -3
- package/src/sap/fe/core/rootView/Fcl.controller.js +805 -2
- package/src/sap/fe/core/rootView/NavContainer.controller.js +181 -2
- package/src/sap/fe/core/rootView/RootViewBaseController.js +532 -2
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +56 -2
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +192 -2
- package/src/sap/fe/core/services/CollaborationManagerServiceFactory.js +156 -2
- package/src/sap/fe/core/services/CollaborativeToolsServiceFactory.js +82 -2
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +125 -2
- package/src/sap/fe/core/services/NavigationServiceFactory.js +327 -2
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js +87 -2
- package/src/sap/fe/core/services/RoutingServiceFactory.js +857 -2
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +21 -0
- package/src/sap/fe/core/services/ShellServicesFactory.js +679 -2
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +815 -2
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +87 -33
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +371 -2
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +0 -3
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +33 -2
- package/src/sap/fe/core/support/CommonHelper.js +59 -2
- package/src/sap/fe/core/support/Diagnostics.js +40 -2
- package/src/sap/fe/core/templating/ActionHelper.js +50 -2
- package/src/sap/fe/core/templating/CommonFormatters.js +68 -2
- package/src/sap/fe/core/templating/CriticalityFormatters.js +128 -2
- package/src/sap/fe/core/templating/DataFieldFormatters.js +145 -2
- package/src/sap/fe/core/templating/DataModelPathHelper.js +529 -2
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.js +52 -2
- package/src/sap/fe/core/templating/EntitySetHelper.js +54 -2
- package/src/sap/fe/core/templating/EntityTypeHelper.js +44 -2
- package/src/sap/fe/core/templating/FieldControlHelper.js +137 -2
- package/src/sap/fe/core/templating/FilterHelper.js +399 -2
- package/src/sap/fe/core/templating/FilterHelper.ts +17 -1
- package/src/sap/fe/core/templating/FilterTemplating.js +57 -2
- package/src/sap/fe/core/templating/PropertyFormatters.js +84 -2
- package/src/sap/fe/core/templating/PropertyHelper.js +366 -2
- package/src/sap/fe/core/templating/PropertyHelper.ts +8 -2
- package/src/sap/fe/core/templating/SemanticObjectHelper.js +87 -2
- package/src/sap/fe/core/templating/UIFormatters.js +567 -2
- package/src/sap/fe/core/type/DateTimeWithTimezone.js +31 -2
- package/src/sap/fe/core/type/EDM.js +80 -2
- package/src/sap/fe/core/type/Email.js +25 -2
- package/src/sap/fe/core/type/Email.ts +1 -1
- package/src/sap/fe/core/type/FiscalDate.js +173 -2
- package/ui5.yaml +0 -4
- package/src/sap/fe/core/ActionRuntime-dbg.js +0 -281
- package/src/sap/fe/core/ActionRuntime.js.map +0 -1
- package/src/sap/fe/core/AppComponent-dbg.js +0 -467
- package/src/sap/fe/core/AppComponent.js.map +0 -1
- package/src/sap/fe/core/AppStateHandler-dbg.js +0 -228
- package/src/sap/fe/core/AppStateHandler.js.map +0 -1
- package/src/sap/fe/core/BaseController-dbg.js +0 -74
- package/src/sap/fe/core/BaseController.js.map +0 -1
- package/src/sap/fe/core/CommonUtils-dbg.js +0 -1407
- package/src/sap/fe/core/CommonUtils.js.map +0 -1
- package/src/sap/fe/core/ExtensionAPI-dbg.js +0 -306
- package/src/sap/fe/core/ExtensionAPI.js.map +0 -1
- package/src/sap/fe/core/InsightsFormattersExtension-dbg.js +0 -26
- package/src/sap/fe/core/InsightsFormattersExtension.js.map +0 -1
- package/src/sap/fe/core/PageController-dbg.js +0 -199
- package/src/sap/fe/core/PageController.js.map +0 -1
- package/src/sap/fe/core/ResourceModel-dbg.js +0 -70
- package/src/sap/fe/core/ResourceModel.js.map +0 -1
- package/src/sap/fe/core/TemplateComponent-dbg.js +0 -217
- package/src/sap/fe/core/TemplateComponent.js.map +0 -1
- package/src/sap/fe/core/TemplateModel-dbg.js +0 -74
- package/src/sap/fe/core/TemplateModel.js.map +0 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel-dbg.js +0 -54
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js.map +0 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase-dbg.js +0 -164
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js.map +0 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter-dbg.js +0 -13
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.js.map +0 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport-dbg.js +0 -86
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js.map +0 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor-dbg.js +0 -931
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js.map +0 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock-dbg.js +0 -88
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js.map +0 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment-dbg.js +0 -177
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js.map +0 -1
- package/src/sap/fe/core/buildingBlocks/TraceInfo-dbg.js +0 -426
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/BaseControllerExtension-dbg.js +0 -34
- package/src/sap/fe/core/controllerextensions/BaseControllerExtension.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/BusyLocker-dbg.js +0 -91
- package/src/sap/fe/core/controllerextensions/BusyLocker.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +0 -2692
- package/src/sap/fe/core/controllerextensions/EditFlow.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/Feedback-dbg.js +0 -61
- package/src/sap/fe/core/controllerextensions/Feedback.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/HookSupport-dbg.js +0 -124
- package/src/sap/fe/core/controllerextensions/HookSupport.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation-dbg.js +0 -78
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +0 -682
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +0 -1062
- package/src/sap/fe/core/controllerextensions/InternalRouting.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +0 -1020
- package/src/sap/fe/core/controllerextensions/KPIManagement.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +0 -121
- package/src/sap/fe/core/controllerextensions/MassEdit.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +0 -214
- package/src/sap/fe/core/controllerextensions/MessageHandler.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/PageReady-dbg.js +0 -252
- package/src/sap/fe/core/controllerextensions/PageReady.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/Paginator-dbg.js +0 -163
- package/src/sap/fe/core/controllerextensions/Paginator.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +0 -129
- package/src/sap/fe/core/controllerextensions/Placeholder.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/Recommendations-dbg.js +0 -291
- package/src/sap/fe/core/controllerextensions/Recommendations.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/Routing-dbg.js +0 -125
- package/src/sap/fe/core/controllerextensions/Routing.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/RoutingListener-dbg.js +0 -9
- package/src/sap/fe/core/controllerextensions/RoutingListener.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/Share-dbg.js +0 -341
- package/src/sap/fe/core/controllerextensions/Share.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +0 -567
- package/src/sap/fe/core/controllerextensions/SideEffects.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/ViewState-dbg.js +0 -929
- package/src/sap/fe/core/controllerextensions/ViewState.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/cards/CollaborationManager-dbg.js +0 -72
- package/src/sap/fe/core/controllerextensions/cards/CollaborationManager.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase-dbg.js +0 -135
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync-dbg.js +0 -760
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon-dbg.js +0 -136
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block-dbg.js +0 -282
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog-dbg.js +0 -102
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +0 -1160
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +0 -635
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup-dbg.js +0 -323
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal-dbg.js +0 -82
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade-dbg.js +0 -1543
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations-dbg.js +0 -9
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +0 -148
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +0 -1218
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher-dbg.js +0 -314
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/routing/NavigationReason-dbg.js +0 -16
- package/src/sap/fe/core/controllerextensions/routing/NavigationReason.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy-dbg.js +0 -864
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js.map +0 -1
- package/src/sap/fe/core/controls/Any-dbg.js +0 -31
- package/src/sap/fe/core/controls/Any.js.map +0 -1
- package/src/sap/fe/core/controls/AnyElement-dbg.js +0 -27
- package/src/sap/fe/core/controls/AnyElement.js.map +0 -1
- package/src/sap/fe/core/controls/CommandExecution-dbg.js +0 -77
- package/src/sap/fe/core/controls/CommandExecution.js.map +0 -1
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block-dbg.js +0 -229
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js.map +0 -1
- package/src/sap/fe/core/controls/EventDelegateHook-dbg.js +0 -60
- package/src/sap/fe/core/controls/EventDelegateHook.js.map +0 -1
- package/src/sap/fe/core/controls/FilterBar-dbg.js +0 -166
- package/src/sap/fe/core/controls/FilterBar.js.map +0 -1
- package/src/sap/fe/core/controls/FormElementWrapper-dbg.js +0 -91
- package/src/sap/fe/core/controls/FormElementWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/MassEditSelect-dbg.js +0 -32
- package/src/sap/fe/core/controls/MassEditSelect.js.map +0 -1
- package/src/sap/fe/core/controls/MultiValueParameterDelegate-dbg.js +0 -36
- package/src/sap/fe/core/controls/MultiValueParameterDelegate.js.map +0 -1
- package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block-dbg.js +0 -279
- package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block.js.map +0 -1
- package/src/sap/fe/core/controls/filterbar/FilterContainer-dbg.js +0 -116
- package/src/sap/fe/core/controls/filterbar/FilterContainer.js.map +0 -1
- package/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +0 -235
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js.map +0 -1
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer-dbg.js +0 -143
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js.map +0 -1
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +0 -337
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js.map +0 -1
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers-dbg.js +0 -478
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js.map +0 -1
- package/src/sap/fe/core/converters/ConverterContext-dbg.js +0 -400
- package/src/sap/fe/core/converters/ConverterContext.js.map +0 -1
- package/src/sap/fe/core/converters/ManifestSettings-dbg.js +0 -86
- package/src/sap/fe/core/converters/ManifestSettings.js.map +0 -1
- package/src/sap/fe/core/converters/ManifestWrapper-dbg.js +0 -417
- package/src/sap/fe/core/converters/ManifestWrapper.js.map +0 -1
- package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +0 -1185
- package/src/sap/fe/core/converters/MetaModelConverter.js.map +0 -1
- package/src/sap/fe/core/converters/TemplateConverter-dbg.js +0 -88
- package/src/sap/fe/core/converters/TemplateConverter.js.map +0 -1
- package/src/sap/fe/core/converters/annotations/DataField-dbg.js +0 -528
- package/src/sap/fe/core/converters/annotations/DataField.js.map +0 -1
- package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +0 -2035
- package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js.map +0 -1
- package/src/sap/fe/core/converters/common/AnnotationConverter.js.map +0 -1
- package/src/sap/fe/core/converters/controls/Common/Action-dbg.js +0 -417
- package/src/sap/fe/core/converters/controls/Common/Action.js.map +0 -1
- package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +0 -347
- package/src/sap/fe/core/converters/controls/Common/Chart.js.map +0 -1
- package/src/sap/fe/core/converters/controls/Common/Criticality-dbg.js +0 -41
- package/src/sap/fe/core/converters/controls/Common/Criticality.js.map +0 -1
- package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +0 -301
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js.map +0 -1
- package/src/sap/fe/core/converters/controls/Common/Form-dbg.js +0 -229
- package/src/sap/fe/core/converters/controls/Common/Form.js.map +0 -1
- package/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +0 -388
- package/src/sap/fe/core/converters/controls/Common/KPI.js.map +0 -1
- package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +0 -3063
- package/src/sap/fe/core/converters/controls/Common/Table.js.map +0 -1
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +0 -653
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js.map +0 -1
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +0 -896
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js.map +0 -1
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +0 -313
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js.map +0 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar-dbg.js +0 -55
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js.map +0 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet-dbg.js +0 -423
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js.map +0 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +0 -631
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js.map +0 -1
- package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +0 -227
- package/src/sap/fe/core/converters/helpers/Aggregation.js.map +0 -1
- package/src/sap/fe/core/converters/helpers/ConfigurableObject-dbg.js +0 -203
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js.map +0 -1
- package/src/sap/fe/core/converters/helpers/DataFieldHelper-dbg.js +0 -173
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.js.map +0 -1
- package/src/sap/fe/core/converters/helpers/ID-dbg.js +0 -91
- package/src/sap/fe/core/converters/helpers/ID.js.map +0 -1
- package/src/sap/fe/core/converters/helpers/InsightsHelpers-dbg.js +0 -46
- package/src/sap/fe/core/converters/helpers/InsightsHelpers.js.map +0 -1
- package/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +0 -63
- package/src/sap/fe/core/converters/helpers/IssueManager.js.map +0 -1
- package/src/sap/fe/core/converters/helpers/Key-dbg.js +0 -61
- package/src/sap/fe/core/converters/helpers/Key.js.map +0 -1
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper-dbg.js +0 -78
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js.map +0 -1
- package/src/sap/fe/core/converters/objectPage/FormMenuActions-dbg.js +0 -141
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.js.map +0 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +0 -414
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js.map +0 -1
- package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +0 -581
- package/src/sap/fe/core/converters/templates/ListReportConverter.js.map +0 -1
- package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +0 -483
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js.map +0 -1
- package/src/sap/fe/core/designtime/AppComponent-dbg.designtime.js +0 -92
- package/src/sap/fe/core/designtime/AppComponent.designtime.js.map +0 -1
- package/src/sap/fe/core/designtime/library-preload.designtime.js +0 -7
- package/src/sap/fe/core/designtime/library-preload.designtime.js.map +0 -1
- package/src/sap/fe/core/formatters/CollaborationFormatter-dbg.js +0 -78
- package/src/sap/fe/core/formatters/CollaborationFormatter.js.map +0 -1
- package/src/sap/fe/core/formatters/FPMFormatter-dbg.js +0 -45
- package/src/sap/fe/core/formatters/FPMFormatter.js.map +0 -1
- package/src/sap/fe/core/formatters/FiscalFormat-dbg.js +0 -341
- package/src/sap/fe/core/formatters/FiscalFormat.js.map +0 -1
- package/src/sap/fe/core/formatters/KPIFormatter-dbg.js +0 -85
- package/src/sap/fe/core/formatters/KPIFormatter.js.map +0 -1
- package/src/sap/fe/core/formatters/StandardFormatter-dbg.js +0 -92
- package/src/sap/fe/core/formatters/StandardFormatter.js.map +0 -1
- package/src/sap/fe/core/formatters/TableFormatter-dbg.js +0 -268
- package/src/sap/fe/core/formatters/TableFormatter.js.map +0 -1
- package/src/sap/fe/core/formatters/TableFormatterTypes-dbg.js +0 -19
- package/src/sap/fe/core/formatters/TableFormatterTypes.js.map +0 -1
- package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +0 -169
- package/src/sap/fe/core/formatters/ValueFormatter.js.map +0 -1
- package/src/sap/fe/core/fpm/Component-dbg.js +0 -94
- package/src/sap/fe/core/fpm/Component.js.map +0 -1
- package/src/sap/fe/core/helpers/AdaptiveCardExpressionCompiler-dbg.js +0 -390
- package/src/sap/fe/core/helpers/AdaptiveCardExpressionCompiler.js.map +0 -1
- package/src/sap/fe/core/helpers/AnnotationEnum-dbg.js +0 -29
- package/src/sap/fe/core/helpers/AnnotationEnum.js.map +0 -1
- package/src/sap/fe/core/helpers/AppStartupHelper-dbg.js +0 -333
- package/src/sap/fe/core/helpers/AppStartupHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/BindingHelper-dbg.js +0 -101
- package/src/sap/fe/core/helpers/BindingHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +0 -1786
- package/src/sap/fe/core/helpers/BindingToolkit.js.map +0 -1
- package/src/sap/fe/core/helpers/ClassSupport-dbg.js +0 -452
- package/src/sap/fe/core/helpers/ClassSupport.js.map +0 -1
- package/src/sap/fe/core/helpers/DeleteHelper-dbg.js +0 -622
- package/src/sap/fe/core/helpers/DeleteHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/DraftEditState-dbg.js +0 -238
- package/src/sap/fe/core/helpers/DraftEditState.js.map +0 -1
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper-dbg.js +0 -54
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/EditState-dbg.js +0 -59
- package/src/sap/fe/core/helpers/EditState.js.map +0 -1
- package/src/sap/fe/core/helpers/ExcelFormatHelper-dbg.js +0 -54
- package/src/sap/fe/core/helpers/ExcelFormatHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/FPMHelper-dbg.js +0 -98
- package/src/sap/fe/core/helpers/FPMHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/KeepAliveHelper-dbg.js +0 -179
- package/src/sap/fe/core/helpers/KeepAliveHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/KeepAliveRefreshTypes-dbg.js +0 -27
- package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js.map +0 -1
- package/src/sap/fe/core/helpers/LoaderUtils-dbg.js +0 -28
- package/src/sap/fe/core/helpers/LoaderUtils.js.map +0 -1
- package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +0 -1244
- package/src/sap/fe/core/helpers/MassEditHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/MessageStrip-dbg.js +0 -63
- package/src/sap/fe/core/helpers/MessageStrip.js.map +0 -1
- package/src/sap/fe/core/helpers/MetaModelFunction-dbg.js +0 -516
- package/src/sap/fe/core/helpers/MetaModelFunction.js.map +0 -1
- package/src/sap/fe/core/helpers/ModelHelper-dbg.js +0 -518
- package/src/sap/fe/core/helpers/ModelHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/PasteHelper-dbg.js +0 -173
- package/src/sap/fe/core/helpers/PasteHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/RecommendationHelper-dbg.js +0 -86
- package/src/sap/fe/core/helpers/RecommendationHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/ResourceModelHelper-dbg.js +0 -56
- package/src/sap/fe/core/helpers/ResourceModelHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +0 -563
- package/src/sap/fe/core/helpers/SemanticDateOperators.js.map +0 -1
- package/src/sap/fe/core/helpers/SemanticKeyHelper-dbg.js +0 -69
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/SizeHelper-dbg.js +0 -52
- package/src/sap/fe/core/helpers/SizeHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/StableIdHelper-dbg.js +0 -229
- package/src/sap/fe/core/helpers/StableIdHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/StandardRecommendationHelper-dbg.js +0 -142
- package/src/sap/fe/core/helpers/StandardRecommendationHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/Synchronization-dbg.js +0 -34
- package/src/sap/fe/core/helpers/Synchronization.js.map +0 -1
- package/src/sap/fe/core/helpers/TitleHelper-dbg.js +0 -251
- package/src/sap/fe/core/helpers/TitleHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/ToES6Promise-dbg.js +0 -30
- package/src/sap/fe/core/helpers/ToES6Promise.js.map +0 -1
- package/src/sap/fe/core/helpers/TypeGuards-dbg.js +0 -180
- package/src/sap/fe/core/helpers/TypeGuards.js.map +0 -1
- package/src/sap/fe/core/jsx-runtime/Fragment-dbg.js +0 -13
- package/src/sap/fe/core/jsx-runtime/Fragment.js.map +0 -1
- package/src/sap/fe/core/jsx-runtime/ViewLoader-dbg.js +0 -79
- package/src/sap/fe/core/jsx-runtime/ViewLoader.js.map +0 -1
- package/src/sap/fe/core/jsx-runtime/jsx-control-dbg.js +0 -159
- package/src/sap/fe/core/jsx-runtime/jsx-control.js.map +0 -1
- package/src/sap/fe/core/jsx-runtime/jsx-dbg.js +0 -40
- package/src/sap/fe/core/jsx-runtime/jsx-xml-dbg.js +0 -93
- package/src/sap/fe/core/jsx-runtime/jsx-xml.js.map +0 -1
- package/src/sap/fe/core/jsx-runtime/jsx.js.map +0 -1
- package/src/sap/fe/core/jsx-runtime/jsxs-dbg.js +0 -9
- package/src/sap/fe/core/jsx-runtime/jsxs.js.map +0 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents-dbg.js +0 -157
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.js.map +0 -1
- package/src/sap/fe/core/library-dbg.js +0 -427
- package/src/sap/fe/core/library-preload.js +0 -984
- package/src/sap/fe/core/library-preload.js.map +0 -1
- package/src/sap/fe/core/library-preload.support.js +0 -177
- package/src/sap/fe/core/library-preload.support.js.map +0 -1
- package/src/sap/fe/core/library.js.map +0 -1
- package/src/sap/fe/core/manifest.json +0 -105
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +0 -140
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js.map +0 -1
- package/src/sap/fe/core/operationsHelper-dbg.js +0 -180
- package/src/sap/fe/core/operationsHelper.js.map +0 -1
- package/src/sap/fe/core/rootView/Fcl-dbg.controller.js +0 -808
- package/src/sap/fe/core/rootView/Fcl.controller.js.map +0 -1
- package/src/sap/fe/core/rootView/NavContainer-dbg.controller.js +0 -184
- package/src/sap/fe/core/rootView/NavContainer.controller.js.map +0 -1
- package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +0 -535
- package/src/sap/fe/core/rootView/RootViewBaseController.js.map +0 -1
- package/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +0 -59
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.js.map +0 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory-dbg.js +0 -195
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js.map +0 -1
- package/src/sap/fe/core/services/CollaborationManagerServiceFactory-dbg.js +0 -159
- package/src/sap/fe/core/services/CollaborationManagerServiceFactory.js.map +0 -1
- package/src/sap/fe/core/services/CollaborativeToolsServiceFactory-dbg.js +0 -85
- package/src/sap/fe/core/services/CollaborativeToolsServiceFactory.js.map +0 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +0 -128
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +0 -1
- package/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +0 -330
- package/src/sap/fe/core/services/NavigationServiceFactory.js.map +0 -1
- package/src/sap/fe/core/services/ResourceModelServiceFactory-dbg.js +0 -90
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js.map +0 -1
- package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +0 -838
- package/src/sap/fe/core/services/RoutingServiceFactory.js.map +0 -1
- package/src/sap/fe/core/services/ShellServicesFactory-dbg.js +0 -682
- package/src/sap/fe/core/services/ShellServicesFactory.js.map +0 -1
- package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +0 -768
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js.map +0 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +0 -377
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js.map +0 -1
- package/src/sap/fe/core/services/view/TemplatingErrorPage-dbg.controller.js +0 -36
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js.map +0 -1
- package/src/sap/fe/core/support/CommonHelper-dbg.js +0 -62
- package/src/sap/fe/core/support/CommonHelper.js.map +0 -1
- package/src/sap/fe/core/support/Diagnostics-dbg.js +0 -43
- package/src/sap/fe/core/support/Diagnostics.js.map +0 -1
- package/src/sap/fe/core/templating/ActionHelper-dbg.js +0 -53
- package/src/sap/fe/core/templating/ActionHelper.js.map +0 -1
- package/src/sap/fe/core/templating/CommonFormatters-dbg.js +0 -71
- package/src/sap/fe/core/templating/CommonFormatters.js.map +0 -1
- package/src/sap/fe/core/templating/CriticalityFormatters-dbg.js +0 -131
- package/src/sap/fe/core/templating/CriticalityFormatters.js.map +0 -1
- package/src/sap/fe/core/templating/DataFieldFormatters-dbg.js +0 -148
- package/src/sap/fe/core/templating/DataFieldFormatters.js.map +0 -1
- package/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +0 -531
- package/src/sap/fe/core/templating/DataModelPathHelper.js.map +0 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +0 -55
- package/src/sap/fe/core/templating/DisplayModeFormatter.js.map +0 -1
- package/src/sap/fe/core/templating/EntitySetHelper-dbg.js +0 -57
- package/src/sap/fe/core/templating/EntitySetHelper.js.map +0 -1
- package/src/sap/fe/core/templating/EntityTypeHelper-dbg.js +0 -47
- package/src/sap/fe/core/templating/EntityTypeHelper.js.map +0 -1
- package/src/sap/fe/core/templating/FieldControlHelper-dbg.js +0 -140
- package/src/sap/fe/core/templating/FieldControlHelper.js.map +0 -1
- package/src/sap/fe/core/templating/FilterHelper-dbg.js +0 -391
- package/src/sap/fe/core/templating/FilterHelper.js.map +0 -1
- package/src/sap/fe/core/templating/FilterTemplating-dbg.js +0 -60
- package/src/sap/fe/core/templating/FilterTemplating.js.map +0 -1
- package/src/sap/fe/core/templating/PropertyFormatters-dbg.js +0 -87
- package/src/sap/fe/core/templating/PropertyFormatters.js.map +0 -1
- package/src/sap/fe/core/templating/PropertyHelper-dbg.js +0 -362
- package/src/sap/fe/core/templating/PropertyHelper.js.map +0 -1
- package/src/sap/fe/core/templating/SemanticObjectHelper-dbg.js +0 -90
- package/src/sap/fe/core/templating/SemanticObjectHelper.js.map +0 -1
- package/src/sap/fe/core/templating/UIFormatters-dbg.js +0 -570
- package/src/sap/fe/core/templating/UIFormatters.js.map +0 -1
- package/src/sap/fe/core/type/DateTimeWithTimezone-dbg.js +0 -34
- package/src/sap/fe/core/type/DateTimeWithTimezone.js.map +0 -1
- package/src/sap/fe/core/type/EDM-dbg.js +0 -83
- package/src/sap/fe/core/type/EDM.js.map +0 -1
- package/src/sap/fe/core/type/Email-dbg.js +0 -28
- package/src/sap/fe/core/type/Email.js.map +0 -1
- package/src/sap/fe/core/type/FiscalDate-dbg.js +0 -176
- package/src/sap/fe/core/type/FiscalDate.js.map +0 -1
package/package.json
CHANGED
package/src/sap/fe/core/.library
CHANGED
|
@@ -2,5 +2,281 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/base/util/merge","sap/fe/core/CommonUtils","sap/fe/core/controls/Any","sap/fe/core/helpers/BindingToolkit","sap/fe/core/helpers/ModelHelper","sap/fe/core/helpers/TypeGuards","sap/fe/core/templating/ActionHelper","sap/ui/core/message/Message","./controls/AnyElement","./converters/ConverterContext","./converters/MetaModelConverter","./converters/objectPage/HeaderAndFooterAction"],
|
|
6
|
-
|
|
5
|
+
sap.ui.define(["sap/base/util/merge", "sap/fe/core/CommonUtils", "sap/fe/core/controls/Any", "sap/fe/core/helpers/BindingToolkit", "sap/fe/core/helpers/ModelHelper", "sap/fe/core/helpers/TypeGuards", "sap/fe/core/templating/ActionHelper", "sap/ui/core/message/Message", "./controls/AnyElement", "./converters/ConverterContext", "./converters/MetaModelConverter", "./converters/objectPage/HeaderAndFooterAction"], function (merge, CommonUtils, Any, BindingToolkit, ModelHelper, TypeGuards, ActionHelper, Message, AnyElement, ConverterContext, MetaModelConverter, HeaderAndFooterAction) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var getHiddenExpression = HeaderAndFooterAction.getHiddenExpression;
|
|
9
|
+
var getEditButtonEnabled = HeaderAndFooterAction.getEditButtonEnabled;
|
|
10
|
+
var convertTypes = MetaModelConverter.convertTypes;
|
|
11
|
+
var getIsActionCriticalExpression = ActionHelper.getIsActionCriticalExpression;
|
|
12
|
+
var isEntitySet = TypeGuards.isEntitySet;
|
|
13
|
+
var transformRecursively = BindingToolkit.transformRecursively;
|
|
14
|
+
var isConstant = BindingToolkit.isConstant;
|
|
15
|
+
var equal = BindingToolkit.equal;
|
|
16
|
+
var constant = BindingToolkit.constant;
|
|
17
|
+
var compileExpression = BindingToolkit.compileExpression;
|
|
18
|
+
var compileConstant = BindingToolkit.compileConstant;
|
|
19
|
+
const ActionRuntime = {
|
|
20
|
+
/**
|
|
21
|
+
* Adds error messages for an action parameter field to the message manager.
|
|
22
|
+
*
|
|
23
|
+
* @param messageManager The active MessageManager instance
|
|
24
|
+
* @param messageParameters Information identifying an action parameter and messages referring to this parameter
|
|
25
|
+
*/
|
|
26
|
+
_addMessageForActionParameter: function (messageManager, messageParameters) {
|
|
27
|
+
messageManager.addMessages(messageParameters.map(messageParameter => {
|
|
28
|
+
const binding = messageParameter.actionParameterInfo.field.getBinding(messageParameter.actionParameterInfo.isMultiValue ? "items" : "value");
|
|
29
|
+
return new Message({
|
|
30
|
+
message: messageParameter.message,
|
|
31
|
+
type: "Error",
|
|
32
|
+
processor: binding === null || binding === void 0 ? void 0 : binding.getModel(),
|
|
33
|
+
persistent: true,
|
|
34
|
+
target: binding === null || binding === void 0 ? void 0 : binding.getResolvedPath()
|
|
35
|
+
});
|
|
36
|
+
}));
|
|
37
|
+
},
|
|
38
|
+
/**
|
|
39
|
+
* Checks if all required action parameters contain data and checks for all action parameters if the
|
|
40
|
+
* contained data is valid.
|
|
41
|
+
*
|
|
42
|
+
*
|
|
43
|
+
* @param messageManager The active MessageManager instance
|
|
44
|
+
* @param actionParameterInfos Information identifying an action parameter
|
|
45
|
+
* @param resourceModel The model to load text resources
|
|
46
|
+
* @returns The validation result can be true or false
|
|
47
|
+
*/
|
|
48
|
+
validateProperties: async function (messageManager, actionParameterInfos, resourceModel) {
|
|
49
|
+
await Promise.allSettled(actionParameterInfos.map(actionParameterInfo => actionParameterInfo.validationPromise));
|
|
50
|
+
const requiredParameterInfos = actionParameterInfos.filter(parameterInfo => parameterInfo.field.getRequired());
|
|
51
|
+
const allMessages = messageManager.getMessageModel().getData();
|
|
52
|
+
const emptyRequiredFields = requiredParameterInfos.filter(requiredParameterInfo => {
|
|
53
|
+
const fieldId = requiredParameterInfo.field.getId();
|
|
54
|
+
const relevantMessages = allMessages.filter(msg => msg.getControlIds().some(controlId => controlId.includes(fieldId)));
|
|
55
|
+
if (relevantMessages.length > 0) {
|
|
56
|
+
return false;
|
|
57
|
+
} else if (requiredParameterInfo.isMultiValue) {
|
|
58
|
+
return requiredParameterInfo.value === undefined || !requiredParameterInfo.value.length;
|
|
59
|
+
} else {
|
|
60
|
+
const fieldValue = requiredParameterInfo.field.getValue();
|
|
61
|
+
return fieldValue === undefined || fieldValue === null || fieldValue === "";
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
/* Message for missing mandatory value of the action parameter */
|
|
65
|
+
if (emptyRequiredFields.length) {
|
|
66
|
+
this._addMessageForActionParameter(messageManager, emptyRequiredFields.map(actionParameterInfo => {
|
|
67
|
+
var _actionParameterInfo$;
|
|
68
|
+
return {
|
|
69
|
+
actionParameterInfo: actionParameterInfo,
|
|
70
|
+
message: resourceModel.getText("C_OPERATIONS_ACTION_PARAMETER_DIALOG_MISSING_MANDATORY_MSG", [((_actionParameterInfo$ = actionParameterInfo.field.getParent()) === null || _actionParameterInfo$ === void 0 ? void 0 : _actionParameterInfo$.getAggregation("label")).getText()])
|
|
71
|
+
};
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
/* Check value state of all parameters */
|
|
75
|
+
const firstInvalidParameter = actionParameterInfos.find(parameterInfo => parameterInfo.hasError || parameterInfo.field.getValueState() === "Error" || emptyRequiredFields.includes(parameterInfo));
|
|
76
|
+
if (firstInvalidParameter) {
|
|
77
|
+
firstInvalidParameter.field.focus();
|
|
78
|
+
return false;
|
|
79
|
+
} else {
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
/**
|
|
84
|
+
* Sets the action enablement.
|
|
85
|
+
*
|
|
86
|
+
* @param oInternalModelContext Object containing the context model
|
|
87
|
+
* @param oActionOperationAvailableMap Map containing the operation availability of actions
|
|
88
|
+
* @param aSelectedContexts Array containing selected contexts of the chart
|
|
89
|
+
* @param sControl Control name
|
|
90
|
+
* @returns The action enablement promises
|
|
91
|
+
*/
|
|
92
|
+
setActionEnablement: async function (oInternalModelContext, oActionOperationAvailableMap, aSelectedContexts, sControl) {
|
|
93
|
+
const aPromises = [];
|
|
94
|
+
for (const sAction in oActionOperationAvailableMap) {
|
|
95
|
+
let aRequestPromises = [];
|
|
96
|
+
oInternalModelContext.setProperty(sAction, false);
|
|
97
|
+
const sProperty = oActionOperationAvailableMap[sAction];
|
|
98
|
+
for (const element of aSelectedContexts) {
|
|
99
|
+
const oSelectedContext = element;
|
|
100
|
+
if (oSelectedContext) {
|
|
101
|
+
const oContextData = oSelectedContext.getObject();
|
|
102
|
+
if (sControl === "chart") {
|
|
103
|
+
if (sProperty === null && !!oContextData[`#${sAction}`] || oSelectedContext.getObject(sProperty)) {
|
|
104
|
+
//look for action advertisement if present and its value is not null
|
|
105
|
+
oInternalModelContext.setProperty(sAction, true);
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
} else if (sControl === "table") {
|
|
109
|
+
aRequestPromises = this._setActionEnablementForTable(oSelectedContext, oInternalModelContext, sAction, sProperty, aRequestPromises);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
if (sControl === "table") {
|
|
114
|
+
if (!aSelectedContexts.length) {
|
|
115
|
+
oInternalModelContext.setProperty(`dynamicActions/${sAction}`, {
|
|
116
|
+
bEnabled: false,
|
|
117
|
+
aApplicable: [],
|
|
118
|
+
aNotApplicable: []
|
|
119
|
+
});
|
|
120
|
+
aPromises.push(CommonUtils.setContextsBasedOnOperationAvailable(oInternalModelContext, []));
|
|
121
|
+
} else if (aSelectedContexts.length && typeof sProperty === "string") {
|
|
122
|
+
// When all property values have been retrieved, set
|
|
123
|
+
// The applicable and not-applicable selected contexts for each action and
|
|
124
|
+
// The enabled property of the dynamic action in internal model context.
|
|
125
|
+
aPromises.push(CommonUtils.setContextsBasedOnOperationAvailable(oInternalModelContext, aRequestPromises));
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return Promise.all(aPromises);
|
|
130
|
+
},
|
|
131
|
+
setActionEnablementAfterPatch: function (oView, oListBinding, oInternalModelContext) {
|
|
132
|
+
const oInternalModelContextData = oInternalModelContext === null || oInternalModelContext === void 0 ? void 0 : oInternalModelContext.getObject();
|
|
133
|
+
const oControls = (oInternalModelContextData === null || oInternalModelContextData === void 0 ? void 0 : oInternalModelContextData.controls) || {};
|
|
134
|
+
for (const sKey in oControls) {
|
|
135
|
+
if (oControls[sKey] && oControls[sKey].controlId) {
|
|
136
|
+
const oTable = oView.byId(sKey);
|
|
137
|
+
if (oTable && oTable.isA("sap.ui.mdc.Table")) {
|
|
138
|
+
const oRowBinding = oTable.getRowBinding();
|
|
139
|
+
if (oRowBinding == oListBinding) {
|
|
140
|
+
ActionRuntime.setActionEnablement(oTable.getBindingContext("internal"), JSON.parse(oTable.data("operationAvailableMap").customData), oTable.getSelectedContexts(), "table");
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
updateEditButtonVisibilityAndEnablement(oView) {
|
|
147
|
+
var _oView$getViewData, _oView$getModel;
|
|
148
|
+
const iViewLevel = (_oView$getViewData = oView.getViewData()) === null || _oView$getViewData === void 0 ? void 0 : _oView$getViewData.viewLevel,
|
|
149
|
+
isEditable = (_oView$getModel = oView.getModel("ui")) === null || _oView$getModel === void 0 ? void 0 : _oView$getModel.getProperty("/isEditable");
|
|
150
|
+
if (iViewLevel > 1 && isEditable !== true) {
|
|
151
|
+
var _oContext$getModel$ge, _entitySet$annotation, _entitySet$annotation2;
|
|
152
|
+
const oContext = oView.getBindingContext();
|
|
153
|
+
const oAppComponent = CommonUtils.getAppComponent(oView);
|
|
154
|
+
const sMetaPath = ModelHelper.getMetaPathForContext(oContext);
|
|
155
|
+
const sEntitySet = ModelHelper.getRootEntitySetPath(sMetaPath);
|
|
156
|
+
const metaContext = oContext === null || oContext === void 0 ? void 0 : (_oContext$getModel$ge = oContext.getModel().getMetaModel()) === null || _oContext$getModel$ge === void 0 ? void 0 : _oContext$getModel$ge.getContext(oContext === null || oContext === void 0 ? void 0 : oContext.getPath());
|
|
157
|
+
const converterContext = ConverterContext === null || ConverterContext === void 0 ? void 0 : ConverterContext.createConverterContextForMacro(sEntitySet, metaContext, oAppComponent.getDiagnostics(), merge, undefined);
|
|
158
|
+
const entitySet = converterContext.getEntitySet();
|
|
159
|
+
const entityType = converterContext.getEntityType();
|
|
160
|
+
let updateHidden;
|
|
161
|
+
//Find the Update Hidden of the root entity set and bind the property to AnyElement, any changes in the path of the root UpdateHidden will be updated via the property, internal model context is updated based on the property
|
|
162
|
+
const bUpdateHidden = isEntitySet(entitySet) && ((_entitySet$annotation = entitySet.annotations.UI) === null || _entitySet$annotation === void 0 ? void 0 : (_entitySet$annotation2 = _entitySet$annotation.UpdateHidden) === null || _entitySet$annotation2 === void 0 ? void 0 : _entitySet$annotation2.valueOf());
|
|
163
|
+
if (bUpdateHidden !== true) {
|
|
164
|
+
updateHidden = ModelHelper.isUpdateHidden(entitySet, entityType);
|
|
165
|
+
}
|
|
166
|
+
//Find the operation available property of the root edit configuration and fetch the property using AnyElement
|
|
167
|
+
const sEditEnableBinding = getEditButtonEnabled(converterContext);
|
|
168
|
+
const draftRootPath = ModelHelper.getDraftRootPath(oContext);
|
|
169
|
+
const sStickyRootPath = ModelHelper.getStickyRootPath(oContext);
|
|
170
|
+
const sPath = draftRootPath || sStickyRootPath;
|
|
171
|
+
const oInternalModelContext = oView.getBindingContext("internal");
|
|
172
|
+
if (sPath) {
|
|
173
|
+
const oRootContext = oView.getModel().bindContext(sPath).getBoundContext();
|
|
174
|
+
if (updateHidden !== undefined) {
|
|
175
|
+
const sHiddenExpression = compileExpression(equal(getHiddenExpression(converterContext, updateHidden), false));
|
|
176
|
+
this.updateEditModelContext(sHiddenExpression, oView, oRootContext, "rootEditVisible", oInternalModelContext);
|
|
177
|
+
}
|
|
178
|
+
if (sEditEnableBinding) {
|
|
179
|
+
this.updateEditModelContext(sEditEnableBinding, oView, oRootContext, "rootEditEnabled", oInternalModelContext);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
updateEditModelContext: function (sBindingExpression, oView, oRootContext, sProperty, oInternalModelContext) {
|
|
185
|
+
if (sBindingExpression) {
|
|
186
|
+
var _oHiddenElement$getMo, _oHiddenElement$getMo2, _oHiddenElement$getBi;
|
|
187
|
+
const oHiddenElement = new AnyElement({
|
|
188
|
+
anyText: sBindingExpression
|
|
189
|
+
});
|
|
190
|
+
oHiddenElement.setBindingContext(null);
|
|
191
|
+
oView.addDependent(oHiddenElement);
|
|
192
|
+
oHiddenElement.getBinding("anyText");
|
|
193
|
+
const oContext = (_oHiddenElement$getMo = oHiddenElement.getModel()) === null || _oHiddenElement$getMo === void 0 ? void 0 : (_oHiddenElement$getMo2 = _oHiddenElement$getMo.bindContext(oRootContext.getPath(), oRootContext, {
|
|
194
|
+
$$groupId: "$auto.Heroes"
|
|
195
|
+
})) === null || _oHiddenElement$getMo2 === void 0 ? void 0 : _oHiddenElement$getMo2.getBoundContext();
|
|
196
|
+
oHiddenElement.setBindingContext(oContext);
|
|
197
|
+
oHiddenElement === null || oHiddenElement === void 0 ? void 0 : (_oHiddenElement$getBi = oHiddenElement.getBinding("anyText")) === null || _oHiddenElement$getBi === void 0 ? void 0 : _oHiddenElement$getBi.attachChange(oEvent => {
|
|
198
|
+
const oNewValue = oEvent.getSource().getExternalValue();
|
|
199
|
+
oInternalModelContext.setProperty(sProperty, oNewValue);
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
_setActionEnablementForTable: function (oSelectedContext, oInternalModelContext, sAction, sProperty, aRequestPromises) {
|
|
204
|
+
// Reset all properties before computation
|
|
205
|
+
oInternalModelContext.setProperty(`dynamicActions/${sAction}`, {
|
|
206
|
+
bEnabled: false,
|
|
207
|
+
aApplicable: [],
|
|
208
|
+
aNotApplicable: []
|
|
209
|
+
});
|
|
210
|
+
// Note that non dynamic actions are not processed here. They are enabled because
|
|
211
|
+
// one or more are selected and the second part of the condition in the templating
|
|
212
|
+
// is then undefined and thus the button takes the default enabling, which is true!
|
|
213
|
+
const aApplicable = [],
|
|
214
|
+
aNotApplicable = [],
|
|
215
|
+
sDynamicActionEnabledPath = `${oInternalModelContext.getPath()}/dynamicActions/${sAction}/bEnabled`;
|
|
216
|
+
if (typeof sProperty === "object" && sProperty !== null && sProperty !== undefined) {
|
|
217
|
+
if (oSelectedContext) {
|
|
218
|
+
const oContextData = oSelectedContext.getObject();
|
|
219
|
+
const oTransformedBinding = transformRecursively(sProperty, "PathInModel",
|
|
220
|
+
// eslint-disable-next-line no-loop-func
|
|
221
|
+
function (oBindingExpression) {
|
|
222
|
+
return oContextData ? constant(oContextData[oBindingExpression.path]) : constant(false);
|
|
223
|
+
}, true);
|
|
224
|
+
const sResult = compileExpression(oTransformedBinding);
|
|
225
|
+
if (sResult === "true") {
|
|
226
|
+
oInternalModelContext.getModel().setProperty(sDynamicActionEnabledPath, true);
|
|
227
|
+
aApplicable.push(oSelectedContext);
|
|
228
|
+
} else {
|
|
229
|
+
aNotApplicable.push(oSelectedContext);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
CommonUtils.setDynamicActionContexts(oInternalModelContext, sAction, aApplicable, aNotApplicable);
|
|
233
|
+
} else {
|
|
234
|
+
const oContextData = oSelectedContext === null || oSelectedContext === void 0 ? void 0 : oSelectedContext.getObject();
|
|
235
|
+
if (sProperty === null && !!oContextData[`#${sAction}`]) {
|
|
236
|
+
//look for action advertisement if present and its value is not null
|
|
237
|
+
oInternalModelContext.getModel().setProperty(sDynamicActionEnabledPath, true);
|
|
238
|
+
} else if (oSelectedContext !== undefined) {
|
|
239
|
+
// Collect promises to retrieve singleton or normal property value asynchronously
|
|
240
|
+
aRequestPromises.push(CommonUtils.requestProperty(oSelectedContext, sAction, sProperty, sDynamicActionEnabledPath));
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
return aRequestPromises;
|
|
244
|
+
},
|
|
245
|
+
/**
|
|
246
|
+
* Check if action is critical.
|
|
247
|
+
*
|
|
248
|
+
* @param metaModel MetaModel
|
|
249
|
+
* @param path Path to the action
|
|
250
|
+
* @param contexts Contexts in case of bound actions.
|
|
251
|
+
* @returns Boolean indicating action is critical
|
|
252
|
+
*/
|
|
253
|
+
getIsActionCritical: function (metaModel, path) {
|
|
254
|
+
let contexts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
255
|
+
// default is true.
|
|
256
|
+
let isActionCriticalValue = true;
|
|
257
|
+
const convertedTypes = convertTypes(metaModel);
|
|
258
|
+
const actionTargetResolution = convertedTypes.resolvePath(path);
|
|
259
|
+
const actionTarget = actionTargetResolution.target;
|
|
260
|
+
if (!actionTarget) {
|
|
261
|
+
return isActionCriticalValue;
|
|
262
|
+
}
|
|
263
|
+
const isActionCriticalBindingExp = getIsActionCriticalExpression(actionTarget, convertedTypes);
|
|
264
|
+
if (isConstant(isActionCriticalBindingExp)) {
|
|
265
|
+
// Constant expression resolves to "true" or "false". But, we need boolean.
|
|
266
|
+
isActionCriticalValue = compileConstant(isActionCriticalBindingExp, false, undefined, true);
|
|
267
|
+
} else if (contexts.length > 0) {
|
|
268
|
+
// We evaluate the value of the expression via a UI5 managed object instance.
|
|
269
|
+
const anyObject = new Any({
|
|
270
|
+
anyBoolean: compileExpression(isActionCriticalBindingExp)
|
|
271
|
+
});
|
|
272
|
+
anyObject.setModel(contexts[0].getModel());
|
|
273
|
+
anyObject.setBindingContext(contexts[0]);
|
|
274
|
+
isActionCriticalValue = anyObject.getBinding("anyBoolean").getExternalValue();
|
|
275
|
+
anyObject.destroy();
|
|
276
|
+
}
|
|
277
|
+
return isActionCriticalValue;
|
|
278
|
+
}
|
|
279
|
+
};
|
|
280
|
+
return ActionRuntime;
|
|
281
|
+
}, false);
|
|
282
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBY3Rpb25SdW50aW1lIiwiX2FkZE1lc3NhZ2VGb3JBY3Rpb25QYXJhbWV0ZXIiLCJtZXNzYWdlTWFuYWdlciIsIm1lc3NhZ2VQYXJhbWV0ZXJzIiwiYWRkTWVzc2FnZXMiLCJtYXAiLCJtZXNzYWdlUGFyYW1ldGVyIiwiYmluZGluZyIsImFjdGlvblBhcmFtZXRlckluZm8iLCJmaWVsZCIsImdldEJpbmRpbmciLCJpc011bHRpVmFsdWUiLCJNZXNzYWdlIiwibWVzc2FnZSIsInR5cGUiLCJwcm9jZXNzb3IiLCJnZXRNb2RlbCIsInBlcnNpc3RlbnQiLCJ0YXJnZXQiLCJnZXRSZXNvbHZlZFBhdGgiLCJ2YWxpZGF0ZVByb3BlcnRpZXMiLCJhY3Rpb25QYXJhbWV0ZXJJbmZvcyIsInJlc291cmNlTW9kZWwiLCJQcm9taXNlIiwiYWxsU2V0dGxlZCIsInZhbGlkYXRpb25Qcm9taXNlIiwicmVxdWlyZWRQYXJhbWV0ZXJJbmZvcyIsImZpbHRlciIsInBhcmFtZXRlckluZm8iLCJnZXRSZXF1aXJlZCIsImFsbE1lc3NhZ2VzIiwiZ2V0TWVzc2FnZU1vZGVsIiwiZ2V0RGF0YSIsImVtcHR5UmVxdWlyZWRGaWVsZHMiLCJyZXF1aXJlZFBhcmFtZXRlckluZm8iLCJmaWVsZElkIiwiZ2V0SWQiLCJyZWxldmFudE1lc3NhZ2VzIiwibXNnIiwiZ2V0Q29udHJvbElkcyIsInNvbWUiLCJjb250cm9sSWQiLCJpbmNsdWRlcyIsImxlbmd0aCIsInZhbHVlIiwidW5kZWZpbmVkIiwiZmllbGRWYWx1ZSIsImdldFZhbHVlIiwiZ2V0VGV4dCIsImdldFBhcmVudCIsImdldEFnZ3JlZ2F0aW9uIiwiZmlyc3RJbnZhbGlkUGFyYW1ldGVyIiwiZmluZCIsImhhc0Vycm9yIiwiZ2V0VmFsdWVTdGF0ZSIsImZvY3VzIiwic2V0QWN0aW9uRW5hYmxlbWVudCIsIm9JbnRlcm5hbE1vZGVsQ29udGV4dCIsIm9BY3Rpb25PcGVyYXRpb25BdmFpbGFibGVNYXAiLCJhU2VsZWN0ZWRDb250ZXh0cyIsInNDb250cm9sIiwiYVByb21pc2VzIiwic0FjdGlvbiIsImFSZXF1ZXN0UHJvbWlzZXMiLCJzZXRQcm9wZXJ0eSIsInNQcm9wZXJ0eSIsImVsZW1lbnQiLCJvU2VsZWN0ZWRDb250ZXh0Iiwib0NvbnRleHREYXRhIiwiZ2V0T2JqZWN0IiwiX3NldEFjdGlvbkVuYWJsZW1lbnRGb3JUYWJsZSIsImJFbmFibGVkIiwiYUFwcGxpY2FibGUiLCJhTm90QXBwbGljYWJsZSIsInB1c2giLCJDb21tb25VdGlscyIsInNldENvbnRleHRzQmFzZWRPbk9wZXJhdGlvbkF2YWlsYWJsZSIsImFsbCIsInNldEFjdGlvbkVuYWJsZW1lbnRBZnRlclBhdGNoIiwib1ZpZXciLCJvTGlzdEJpbmRpbmciLCJvSW50ZXJuYWxNb2RlbENvbnRleHREYXRhIiwib0NvbnRyb2xzIiwiY29udHJvbHMiLCJzS2V5Iiwib1RhYmxlIiwiYnlJZCIsImlzQSIsIm9Sb3dCaW5kaW5nIiwiZ2V0Um93QmluZGluZyIsImdldEJpbmRpbmdDb250ZXh0IiwiSlNPTiIsInBhcnNlIiwiZGF0YSIsImN1c3RvbURhdGEiLCJnZXRTZWxlY3RlZENvbnRleHRzIiwidXBkYXRlRWRpdEJ1dHRvblZpc2liaWxpdHlBbmRFbmFibGVtZW50IiwiaVZpZXdMZXZlbCIsImdldFZpZXdEYXRhIiwidmlld0xldmVsIiwiaXNFZGl0YWJsZSIsImdldFByb3BlcnR5Iiwib0NvbnRleHQiLCJvQXBwQ29tcG9uZW50IiwiZ2V0QXBwQ29tcG9uZW50Iiwic01ldGFQYXRoIiwiTW9kZWxIZWxwZXIiLCJnZXRNZXRhUGF0aEZvckNvbnRleHQiLCJzRW50aXR5U2V0IiwiZ2V0Um9vdEVudGl0eVNldFBhdGgiLCJtZXRhQ29udGV4dCIsImdldE1ldGFNb2RlbCIsImdldENvbnRleHQiLCJnZXRQYXRoIiwiY29udmVydGVyQ29udGV4dCIsIkNvbnZlcnRlckNvbnRleHQiLCJjcmVhdGVDb252ZXJ0ZXJDb250ZXh0Rm9yTWFjcm8iLCJnZXREaWFnbm9zdGljcyIsIm1lcmdlIiwiZW50aXR5U2V0IiwiZ2V0RW50aXR5U2V0IiwiZW50aXR5VHlwZSIsImdldEVudGl0eVR5cGUiLCJ1cGRhdGVIaWRkZW4iLCJiVXBkYXRlSGlkZGVuIiwiaXNFbnRpdHlTZXQiLCJhbm5vdGF0aW9ucyIsIlVJIiwiVXBkYXRlSGlkZGVuIiwidmFsdWVPZiIsImlzVXBkYXRlSGlkZGVuIiwic0VkaXRFbmFibGVCaW5kaW5nIiwiZ2V0RWRpdEJ1dHRvbkVuYWJsZWQiLCJkcmFmdFJvb3RQYXRoIiwiZ2V0RHJhZnRSb290UGF0aCIsInNTdGlja3lSb290UGF0aCIsImdldFN0aWNreVJvb3RQYXRoIiwic1BhdGgiLCJvUm9vdENvbnRleHQiLCJiaW5kQ29udGV4dCIsImdldEJvdW5kQ29udGV4dCIsInNIaWRkZW5FeHByZXNzaW9uIiwiY29tcGlsZUV4cHJlc3Npb24iLCJlcXVhbCIsImdldEhpZGRlbkV4cHJlc3Npb24iLCJ1cGRhdGVFZGl0TW9kZWxDb250ZXh0Iiwic0JpbmRpbmdFeHByZXNzaW9uIiwib0hpZGRlbkVsZW1lbnQiLCJBbnlFbGVtZW50IiwiYW55VGV4dCIsInNldEJpbmRpbmdDb250ZXh0IiwiYWRkRGVwZW5kZW50IiwiJCRncm91cElkIiwiYXR0YWNoQ2hhbmdlIiwib0V2ZW50Iiwib05ld1ZhbHVlIiwiZ2V0U291cmNlIiwiZ2V0RXh0ZXJuYWxWYWx1ZSIsInNEeW5hbWljQWN0aW9uRW5hYmxlZFBhdGgiLCJvVHJhbnNmb3JtZWRCaW5kaW5nIiwidHJhbnNmb3JtUmVjdXJzaXZlbHkiLCJvQmluZGluZ0V4cHJlc3Npb24iLCJjb25zdGFudCIsInBhdGgiLCJzUmVzdWx0Iiwic2V0RHluYW1pY0FjdGlvbkNvbnRleHRzIiwicmVxdWVzdFByb3BlcnR5IiwiZ2V0SXNBY3Rpb25Dcml0aWNhbCIsIm1ldGFNb2RlbCIsImNvbnRleHRzIiwiaXNBY3Rpb25Dcml0aWNhbFZhbHVlIiwiY29udmVydGVkVHlwZXMiLCJjb252ZXJ0VHlwZXMiLCJhY3Rpb25UYXJnZXRSZXNvbHV0aW9uIiwicmVzb2x2ZVBhdGgiLCJhY3Rpb25UYXJnZXQiLCJpc0FjdGlvbkNyaXRpY2FsQmluZGluZ0V4cCIsImdldElzQWN0aW9uQ3JpdGljYWxFeHByZXNzaW9uIiwiaXNDb25zdGFudCIsImNvbXBpbGVDb25zdGFudCIsImFueU9iamVjdCIsIkFueSIsImFueUJvb2xlYW4iLCJzZXRNb2RlbCIsImRlc3Ryb3kiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkFjdGlvblJ1bnRpbWUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBY3Rpb24gYXMgRWRtQWN0aW9uLCBQcmltaXRpdmVUeXBlIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgbWVyZ2UgZnJvbSBcInNhcC9iYXNlL3V0aWwvbWVyZ2VcIjtcbmltcG9ydCB0eXBlIHsgRkVWaWV3IH0gZnJvbSBcInNhcC9mZS9jb3JlL0Jhc2VDb250cm9sbGVyXCI7XG5pbXBvcnQgdHlwZSB7IF9SZXF1ZXN0ZWRQcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvY29yZS9Db21tb25VdGlsc1wiO1xuaW1wb3J0IENvbW1vblV0aWxzIGZyb20gXCJzYXAvZmUvY29yZS9Db21tb25VdGlsc1wiO1xuaW1wb3J0IHR5cGUgUmVzb3VyY2VNb2RlbCBmcm9tIFwic2FwL2ZlL2NvcmUvUmVzb3VyY2VNb2RlbFwiO1xuaW1wb3J0IEFueSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbHMvQW55XCI7XG5pbXBvcnQgdHlwZSB7IFBhdGhJbk1vZGVsRXhwcmVzc2lvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgeyBjb21waWxlQ29uc3RhbnQsIGNvbXBpbGVFeHByZXNzaW9uLCBjb25zdGFudCwgZXF1YWwsIGlzQ29uc3RhbnQsIHRyYW5zZm9ybVJlY3Vyc2l2ZWx5IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB0eXBlIHsgSW50ZXJuYWxNb2RlbENvbnRleHQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9Nb2RlbEhlbHBlclwiO1xuaW1wb3J0IE1vZGVsSGVscGVyIGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL01vZGVsSGVscGVyXCI7XG5pbXBvcnQgeyBpc0VudGl0eVNldCB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1R5cGVHdWFyZHNcIjtcbmltcG9ydCB7IGdldElzQWN0aW9uQ3JpdGljYWxFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvQWN0aW9uSGVscGVyXCI7XG5pbXBvcnQgdHlwZSBMYWJlbCBmcm9tIFwic2FwL20vTGFiZWxcIjtcbmltcG9ydCB0eXBlIEV2ZW50IGZyb20gXCJzYXAvdWkvYmFzZS9FdmVudFwiO1xuaW1wb3J0IE1lc3NhZ2UgZnJvbSBcInNhcC91aS9jb3JlL21lc3NhZ2UvTWVzc2FnZVwiO1xuaW1wb3J0IHR5cGUgTWVzc2FnZU1hbmFnZXIgZnJvbSBcInNhcC91aS9jb3JlL21lc3NhZ2UvTWVzc2FnZU1hbmFnZXJcIjtcbmltcG9ydCB0eXBlIFZpZXcgZnJvbSBcInNhcC91aS9jb3JlL212Yy9WaWV3XCI7XG5pbXBvcnQgdHlwZSBGaWVsZCBmcm9tIFwic2FwL3VpL21kYy9GaWVsZFwiO1xuaW1wb3J0IHR5cGUgTXVsdGlWYWx1ZUZpZWxkIGZyb20gXCJzYXAvdWkvbWRjL011bHRpVmFsdWVGaWVsZFwiO1xuaW1wb3J0IHR5cGUgVGFibGUgZnJvbSBcInNhcC91aS9tZGMvVGFibGVcIjtcbmltcG9ydCB0eXBlIE11bHRpVmFsdWVGaWVsZEl0ZW0gZnJvbSBcInNhcC91aS9tZGMvZmllbGQvTXVsdGlWYWx1ZUZpZWxkSXRlbVwiO1xuaW1wb3J0IHR5cGUgUHJvcGVydHlCaW5kaW5nIGZyb20gXCJzYXAvdWkvbW9kZWwvUHJvcGVydHlCaW5kaW5nXCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgT0RhdGFMaXN0QmluZGluZyBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTGlzdEJpbmRpbmdcIjtcbmltcG9ydCB0eXBlIE9EYXRhTWV0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNZXRhTW9kZWxcIjtcbmltcG9ydCBBbnlFbGVtZW50IGZyb20gXCIuL2NvbnRyb2xzL0FueUVsZW1lbnRcIjtcbmltcG9ydCBDb252ZXJ0ZXJDb250ZXh0IGZyb20gXCIuL2NvbnZlcnRlcnMvQ29udmVydGVyQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgeyBCYXNlTWFuaWZlc3RTZXR0aW5ncyB9IGZyb20gXCIuL2NvbnZlcnRlcnMvTWFuaWZlc3RTZXR0aW5nc1wiO1xuaW1wb3J0IHsgY29udmVydFR5cGVzIH0gZnJvbSBcIi4vY29udmVydGVycy9NZXRhTW9kZWxDb252ZXJ0ZXJcIjtcbmltcG9ydCB7IGdldEVkaXRCdXR0b25FbmFibGVkLCBnZXRIaWRkZW5FeHByZXNzaW9uIH0gZnJvbSBcIi4vY29udmVydGVycy9vYmplY3RQYWdlL0hlYWRlckFuZEZvb3RlckFjdGlvblwiO1xuXG50eXBlIEFjdGlvblBhcmFtZXRlciA9IHtcblx0JE5hbWU6IHN0cmluZztcblx0JGlzQ29sbGVjdGlvbjogYm9vbGVhbjtcblx0Ly8gY3VycmVudGx5IHJ1bnRpbWUgaW5mb3JtYXRpb24gaXMgd3JpdHRlbiBpbnRvIHRoZSBtZXRhbW9kZWw6XG5cdC8vIC0gaW4gdGhlIHByZXNzIGhhbmRsZXIgb2YgdGhlIGFjdGlvbiBidXR0b24gb24gdGhlIHBhcmFtZXRlciBkaWFsb2csIHRoZSB2YWx1ZSBvZiBlYWNoIHBhcmFtZXRlciBpcyBhZGRlZFxuXHQvLyAtIGluIHNldEFjdGlvblBhcmFtZXRlckRlZmF1bHRWYWx1ZSwgdGhpcyBpbmZvcm1hdGlvbiBpcyB1c2VkIGFuZCB0cmFuc2ZlcnJlZCB0byB0aGUgY29udGV4dCAoaW4gT0RhdGFNb2RlbCkgY3JlYXRlZCBmb3IgdGhlIGFjdGlvbiBleGVjdXRpb25cblx0Ly8gdGhpcyBpcyBxdWl0ZSBvZGQsIGFuZCBpdCB3b3VsZCBtYWtlIG11Y2ggbW9yZSBzZW5zZSB0byB0YWtlIHRoZSB2YWx1ZSBmcm9tIGFjdGlvblBhcmFtZXRlckluZm9zXG5cdC8vIC0gaG93ZXZlciwgc2V0QWN0aW9uUGFyYW1ldGVyRGVmYXVsdFZhbHVlIChvciByYXRoZXIgdGhlIHN1cnJvdW5kaW5nIF9leGVjdXRlQWN0aW9uKSBpcyBhbHNvIGNhbGxlZCBmcm9tIG90aGVyIHBsYWNlc1xuXHQvLyA9PiBmb3IgdGhlIHRpbWUgYmVpbmcsIGFkZGluZyB2YWx1ZSBoZXJlIHRvIGF2b2lkIHRzIGVycm9ycywgc3ViamVjdCB0byByZWZhY3RvcmluZ1xuXHQvLyBpbiBjYXNlIG9mIEZpZWxkLCB0aGUgdmFsdWUgaXMgc3RyaW5nLCBpbiBjYXNlIG9mIE11bHRpVmFsdWVGaWVsZCwgaXQncyBNdWx0aVZhbHVlRmllbGRJdGVtW11cblx0dmFsdWU6IHN0cmluZyB8IE11bHRpVmFsdWVGaWVsZEl0ZW1bXTtcbn07XG5cbmV4cG9ydCB0eXBlIEFjdGlvblBhcmFtZXRlckluZm8gPSB7XG5cdHBhcmFtZXRlcjogQWN0aW9uUGFyYW1ldGVyO1xuXHRmaWVsZDogRmllbGQgfCBNdWx0aVZhbHVlRmllbGQ7XG5cdGlzTXVsdGlWYWx1ZTogYm9vbGVhbjtcblx0dmFsdWU/OiBzdHJpbmcgfCBNdWx0aVZhbHVlRmllbGRJdGVtW107XG5cdHZhbGlkYXRpb25Qcm9taXNlPzogUHJvbWlzZTxzdHJpbmcgfCBNdWx0aVZhbHVlRmllbGRJdGVtW10+O1xuXHRoYXNFcnJvcjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEFjdGlvblJ1bnRpbWUgPSB7XG5cdC8qKlxuXHQgKiBBZGRzIGVycm9yIG1lc3NhZ2VzIGZvciBhbiBhY3Rpb24gcGFyYW1ldGVyIGZpZWxkIHRvIHRoZSBtZXNzYWdlIG1hbmFnZXIuXG5cdCAqXG5cdCAqIEBwYXJhbSBtZXNzYWdlTWFuYWdlciBUaGUgYWN0aXZlIE1lc3NhZ2VNYW5hZ2VyIGluc3RhbmNlXG5cdCAqIEBwYXJhbSBtZXNzYWdlUGFyYW1ldGVycyBJbmZvcm1hdGlvbiBpZGVudGlmeWluZyBhbiBhY3Rpb24gcGFyYW1ldGVyIGFuZCBtZXNzYWdlcyByZWZlcnJpbmcgdG8gdGhpcyBwYXJhbWV0ZXJcblx0ICovXG5cdF9hZGRNZXNzYWdlRm9yQWN0aW9uUGFyYW1ldGVyOiBmdW5jdGlvbiAoXG5cdFx0bWVzc2FnZU1hbmFnZXI6IE1lc3NhZ2VNYW5hZ2VyLFxuXHRcdG1lc3NhZ2VQYXJhbWV0ZXJzOiB7IGFjdGlvblBhcmFtZXRlckluZm86IEFjdGlvblBhcmFtZXRlckluZm87IG1lc3NhZ2U6IHN0cmluZyB9W11cblx0KSB7XG5cdFx0bWVzc2FnZU1hbmFnZXIuYWRkTWVzc2FnZXMoXG5cdFx0XHRtZXNzYWdlUGFyYW1ldGVycy5tYXAoKG1lc3NhZ2VQYXJhbWV0ZXIpID0+IHtcblx0XHRcdFx0Y29uc3QgYmluZGluZyA9IG1lc3NhZ2VQYXJhbWV0ZXIuYWN0aW9uUGFyYW1ldGVySW5mby5maWVsZC5nZXRCaW5kaW5nKFxuXHRcdFx0XHRcdG1lc3NhZ2VQYXJhbWV0ZXIuYWN0aW9uUGFyYW1ldGVySW5mby5pc011bHRpVmFsdWUgPyBcIml0ZW1zXCIgOiBcInZhbHVlXCJcblx0XHRcdFx0KTtcblx0XHRcdFx0cmV0dXJuIG5ldyBNZXNzYWdlKHtcblx0XHRcdFx0XHRtZXNzYWdlOiBtZXNzYWdlUGFyYW1ldGVyLm1lc3NhZ2UsXG5cdFx0XHRcdFx0dHlwZTogXCJFcnJvclwiLFxuXHRcdFx0XHRcdHByb2Nlc3NvcjogYmluZGluZz8uZ2V0TW9kZWwoKSxcblx0XHRcdFx0XHRwZXJzaXN0ZW50OiB0cnVlLFxuXHRcdFx0XHRcdHRhcmdldDogYmluZGluZz8uZ2V0UmVzb2x2ZWRQYXRoKClcblx0XHRcdFx0fSk7XG5cdFx0XHR9KVxuXHRcdCk7XG5cdH0sXG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiBhbGwgcmVxdWlyZWQgYWN0aW9uIHBhcmFtZXRlcnMgY29udGFpbiBkYXRhIGFuZCBjaGVja3MgZm9yIGFsbCBhY3Rpb24gcGFyYW1ldGVycyBpZiB0aGVcblx0ICogY29udGFpbmVkIGRhdGEgaXMgdmFsaWQuXG5cdCAqXG5cdCAqXG5cdCAqIEBwYXJhbSBtZXNzYWdlTWFuYWdlciBUaGUgYWN0aXZlIE1lc3NhZ2VNYW5hZ2VyIGluc3RhbmNlXG5cdCAqIEBwYXJhbSBhY3Rpb25QYXJhbWV0ZXJJbmZvcyBJbmZvcm1hdGlvbiBpZGVudGlmeWluZyBhbiBhY3Rpb24gcGFyYW1ldGVyXG5cdCAqIEBwYXJhbSByZXNvdXJjZU1vZGVsIFRoZSBtb2RlbCB0byBsb2FkIHRleHQgcmVzb3VyY2VzXG5cdCAqIEByZXR1cm5zIFRoZSB2YWxpZGF0aW9uIHJlc3VsdCBjYW4gYmUgdHJ1ZSBvciBmYWxzZVxuXHQgKi9cblx0dmFsaWRhdGVQcm9wZXJ0aWVzOiBhc3luYyBmdW5jdGlvbiAoXG5cdFx0bWVzc2FnZU1hbmFnZXI6IE1lc3NhZ2VNYW5hZ2VyLFxuXHRcdGFjdGlvblBhcmFtZXRlckluZm9zOiBBY3Rpb25QYXJhbWV0ZXJJbmZvW10sXG5cdFx0cmVzb3VyY2VNb2RlbDogUmVzb3VyY2VNb2RlbFxuXHQpOiBQcm9taXNlPGJvb2xlYW4+IHtcblx0XHRhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoYWN0aW9uUGFyYW1ldGVySW5mb3MubWFwKChhY3Rpb25QYXJhbWV0ZXJJbmZvKSA9PiBhY3Rpb25QYXJhbWV0ZXJJbmZvLnZhbGlkYXRpb25Qcm9taXNlKSk7XG5cblx0XHRjb25zdCByZXF1aXJlZFBhcmFtZXRlckluZm9zID0gYWN0aW9uUGFyYW1ldGVySW5mb3MuZmlsdGVyKChwYXJhbWV0ZXJJbmZvKSA9PiBwYXJhbWV0ZXJJbmZvLmZpZWxkLmdldFJlcXVpcmVkKCkpO1xuXHRcdGNvbnN0IGFsbE1lc3NhZ2VzID0gbWVzc2FnZU1hbmFnZXIuZ2V0TWVzc2FnZU1vZGVsKCkuZ2V0RGF0YSgpO1xuXHRcdGNvbnN0IGVtcHR5UmVxdWlyZWRGaWVsZHMgPSByZXF1aXJlZFBhcmFtZXRlckluZm9zLmZpbHRlcigocmVxdWlyZWRQYXJhbWV0ZXJJbmZvKSA9PiB7XG5cdFx0XHRjb25zdCBmaWVsZElkID0gcmVxdWlyZWRQYXJhbWV0ZXJJbmZvLmZpZWxkLmdldElkKCk7XG5cdFx0XHRjb25zdCByZWxldmFudE1lc3NhZ2VzID0gYWxsTWVzc2FnZXMuZmlsdGVyKChtc2c6IE1lc3NhZ2UpID0+XG5cdFx0XHRcdG1zZy5nZXRDb250cm9sSWRzKCkuc29tZSgoY29udHJvbElkOiBzdHJpbmcpID0+IGNvbnRyb2xJZC5pbmNsdWRlcyhmaWVsZElkKSlcblx0XHRcdCk7XG5cdFx0XHRpZiAocmVsZXZhbnRNZXNzYWdlcy5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdH0gZWxzZSBpZiAocmVxdWlyZWRQYXJhbWV0ZXJJbmZvLmlzTXVsdGlWYWx1ZSkge1xuXHRcdFx0XHRyZXR1cm4gcmVxdWlyZWRQYXJhbWV0ZXJJbmZvLnZhbHVlID09PSB1bmRlZmluZWQgfHwgIXJlcXVpcmVkUGFyYW1ldGVySW5mby52YWx1ZS5sZW5ndGg7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRjb25zdCBmaWVsZFZhbHVlID0gKHJlcXVpcmVkUGFyYW1ldGVySW5mby5maWVsZCBhcyBGaWVsZCkuZ2V0VmFsdWUoKTtcblx0XHRcdFx0cmV0dXJuIGZpZWxkVmFsdWUgPT09IHVuZGVmaW5lZCB8fCBmaWVsZFZhbHVlID09PSBudWxsIHx8IGZpZWxkVmFsdWUgPT09IFwiXCI7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0LyogTWVzc2FnZSBmb3IgbWlzc2luZyBtYW5kYXRvcnkgdmFsdWUgb2YgdGhlIGFjdGlvbiBwYXJhbWV0ZXIgKi9cblx0XHRpZiAoZW1wdHlSZXF1aXJlZEZpZWxkcy5sZW5ndGgpIHtcblx0XHRcdHRoaXMuX2FkZE1lc3NhZ2VGb3JBY3Rpb25QYXJhbWV0ZXIoXG5cdFx0XHRcdG1lc3NhZ2VNYW5hZ2VyLFxuXHRcdFx0XHRlbXB0eVJlcXVpcmVkRmllbGRzLm1hcCgoYWN0aW9uUGFyYW1ldGVySW5mbykgPT4gKHtcblx0XHRcdFx0XHRhY3Rpb25QYXJhbWV0ZXJJbmZvOiBhY3Rpb25QYXJhbWV0ZXJJbmZvLFxuXHRcdFx0XHRcdG1lc3NhZ2U6IHJlc291cmNlTW9kZWwuZ2V0VGV4dChcIkNfT1BFUkFUSU9OU19BQ1RJT05fUEFSQU1FVEVSX0RJQUxPR19NSVNTSU5HX01BTkRBVE9SWV9NU0dcIiwgW1xuXHRcdFx0XHRcdFx0KGFjdGlvblBhcmFtZXRlckluZm8uZmllbGQuZ2V0UGFyZW50KCk/LmdldEFnZ3JlZ2F0aW9uKFwibGFiZWxcIikgYXMgTGFiZWwpLmdldFRleHQoKVxuXHRcdFx0XHRcdF0pXG5cdFx0XHRcdH0pKVxuXHRcdFx0KTtcblx0XHR9XG5cdFx0LyogQ2hlY2sgdmFsdWUgc3RhdGUgb2YgYWxsIHBhcmFtZXRlcnMgKi9cblx0XHRjb25zdCBmaXJzdEludmFsaWRQYXJhbWV0ZXIgPSBhY3Rpb25QYXJhbWV0ZXJJbmZvcy5maW5kKFxuXHRcdFx0KHBhcmFtZXRlckluZm8pID0+XG5cdFx0XHRcdHBhcmFtZXRlckluZm8uaGFzRXJyb3IgfHwgcGFyYW1ldGVySW5mby5maWVsZC5nZXRWYWx1ZVN0YXRlKCkgPT09IFwiRXJyb3JcIiB8fCBlbXB0eVJlcXVpcmVkRmllbGRzLmluY2x1ZGVzKHBhcmFtZXRlckluZm8pXG5cdFx0KTtcblx0XHRpZiAoZmlyc3RJbnZhbGlkUGFyYW1ldGVyKSB7XG5cdFx0XHRmaXJzdEludmFsaWRQYXJhbWV0ZXIuZmllbGQuZm9jdXMoKTtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fVxuXHR9LFxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBhY3Rpb24gZW5hYmxlbWVudC5cblx0ICpcblx0ICogQHBhcmFtIG9JbnRlcm5hbE1vZGVsQ29udGV4dCBPYmplY3QgY29udGFpbmluZyB0aGUgY29udGV4dCBtb2RlbFxuXHQgKiBAcGFyYW0gb0FjdGlvbk9wZXJhdGlvbkF2YWlsYWJsZU1hcCBNYXAgY29udGFpbmluZyB0aGUgb3BlcmF0aW9uIGF2YWlsYWJpbGl0eSBvZiBhY3Rpb25zXG5cdCAqIEBwYXJhbSBhU2VsZWN0ZWRDb250ZXh0cyBBcnJheSBjb250YWluaW5nIHNlbGVjdGVkIGNvbnRleHRzIG9mIHRoZSBjaGFydFxuXHQgKiBAcGFyYW0gc0NvbnRyb2wgQ29udHJvbCBuYW1lXG5cdCAqIEByZXR1cm5zIFRoZSBhY3Rpb24gZW5hYmxlbWVudCBwcm9taXNlc1xuXHQgKi9cblx0c2V0QWN0aW9uRW5hYmxlbWVudDogYXN5bmMgZnVuY3Rpb24gKFxuXHRcdG9JbnRlcm5hbE1vZGVsQ29udGV4dDogSW50ZXJuYWxNb2RlbENvbnRleHQsXG5cdFx0b0FjdGlvbk9wZXJhdGlvbkF2YWlsYWJsZU1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcblx0XHRhU2VsZWN0ZWRDb250ZXh0czogQ29udGV4dFtdLFxuXHRcdHNDb250cm9sOiBzdHJpbmdcblx0KSB7XG5cdFx0Y29uc3QgYVByb21pc2VzID0gW107XG5cdFx0Zm9yIChjb25zdCBzQWN0aW9uIGluIG9BY3Rpb25PcGVyYXRpb25BdmFpbGFibGVNYXApIHtcblx0XHRcdGxldCBhUmVxdWVzdFByb21pc2VzOiBQcm9taXNlPF9SZXF1ZXN0ZWRQcm9wZXJ0eT5bXSA9IFtdO1xuXHRcdFx0b0ludGVybmFsTW9kZWxDb250ZXh0LnNldFByb3BlcnR5KHNBY3Rpb24sIGZhbHNlKTtcblx0XHRcdGNvbnN0IHNQcm9wZXJ0eSA9IG9BY3Rpb25PcGVyYXRpb25BdmFpbGFibGVNYXBbc0FjdGlvbl07XG5cdFx0XHRmb3IgKGNvbnN0IGVsZW1lbnQgb2YgYVNlbGVjdGVkQ29udGV4dHMpIHtcblx0XHRcdFx0Y29uc3Qgb1NlbGVjdGVkQ29udGV4dCA9IGVsZW1lbnQ7XG5cdFx0XHRcdGlmIChvU2VsZWN0ZWRDb250ZXh0KSB7XG5cdFx0XHRcdFx0Y29uc3Qgb0NvbnRleHREYXRhID0gb1NlbGVjdGVkQ29udGV4dC5nZXRPYmplY3QoKSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblx0XHRcdFx0XHRpZiAoc0NvbnRyb2wgPT09IFwiY2hhcnRcIikge1xuXHRcdFx0XHRcdFx0aWYgKChzUHJvcGVydHkgPT09IG51bGwgJiYgISFvQ29udGV4dERhdGFbYCMke3NBY3Rpb259YF0pIHx8IG9TZWxlY3RlZENvbnRleHQuZ2V0T2JqZWN0KHNQcm9wZXJ0eSkpIHtcblx0XHRcdFx0XHRcdFx0Ly9sb29rIGZvciBhY3Rpb24gYWR2ZXJ0aXNlbWVudCBpZiBwcmVzZW50IGFuZCBpdHMgdmFsdWUgaXMgbm90IG51bGxcblx0XHRcdFx0XHRcdFx0b0ludGVybmFsTW9kZWxDb250ZXh0LnNldFByb3BlcnR5KHNBY3Rpb24sIHRydWUpO1xuXHRcdFx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9IGVsc2UgaWYgKHNDb250cm9sID09PSBcInRhYmxlXCIpIHtcblx0XHRcdFx0XHRcdGFSZXF1ZXN0UHJvbWlzZXMgPSB0aGlzLl9zZXRBY3Rpb25FbmFibGVtZW50Rm9yVGFibGUoXG5cdFx0XHRcdFx0XHRcdG9TZWxlY3RlZENvbnRleHQsXG5cdFx0XHRcdFx0XHRcdG9JbnRlcm5hbE1vZGVsQ29udGV4dCxcblx0XHRcdFx0XHRcdFx0c0FjdGlvbixcblx0XHRcdFx0XHRcdFx0c1Byb3BlcnR5LFxuXHRcdFx0XHRcdFx0XHRhUmVxdWVzdFByb21pc2VzXG5cdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aWYgKHNDb250cm9sID09PSBcInRhYmxlXCIpIHtcblx0XHRcdFx0aWYgKCFhU2VsZWN0ZWRDb250ZXh0cy5sZW5ndGgpIHtcblx0XHRcdFx0XHRvSW50ZXJuYWxNb2RlbENvbnRleHQuc2V0UHJvcGVydHkoYGR5bmFtaWNBY3Rpb25zLyR7c0FjdGlvbn1gLCB7XG5cdFx0XHRcdFx0XHRiRW5hYmxlZDogZmFsc2UsXG5cdFx0XHRcdFx0XHRhQXBwbGljYWJsZTogW10sXG5cdFx0XHRcdFx0XHRhTm90QXBwbGljYWJsZTogW11cblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRhUHJvbWlzZXMucHVzaChDb21tb25VdGlscy5zZXRDb250ZXh0c0Jhc2VkT25PcGVyYXRpb25BdmFpbGFibGUob0ludGVybmFsTW9kZWxDb250ZXh0LCBbXSkpO1xuXHRcdFx0XHR9IGVsc2UgaWYgKGFTZWxlY3RlZENvbnRleHRzLmxlbmd0aCAmJiB0eXBlb2Ygc1Byb3BlcnR5ID09PSBcInN0cmluZ1wiKSB7XG5cdFx0XHRcdFx0Ly8gV2hlbiBhbGwgcHJvcGVydHkgdmFsdWVzIGhhdmUgYmVlbiByZXRyaWV2ZWQsIHNldFxuXHRcdFx0XHRcdC8vIFRoZSBhcHBsaWNhYmxlIGFuZCBub3QtYXBwbGljYWJsZSBzZWxlY3RlZCBjb250ZXh0cyBmb3IgZWFjaCBhY3Rpb24gYW5kXG5cdFx0XHRcdFx0Ly8gVGhlIGVuYWJsZWQgcHJvcGVydHkgb2YgdGhlIGR5bmFtaWMgYWN0aW9uIGluIGludGVybmFsIG1vZGVsIGNvbnRleHQuXG5cdFx0XHRcdFx0YVByb21pc2VzLnB1c2goQ29tbW9uVXRpbHMuc2V0Q29udGV4dHNCYXNlZE9uT3BlcmF0aW9uQXZhaWxhYmxlKG9JbnRlcm5hbE1vZGVsQ29udGV4dCwgYVJlcXVlc3RQcm9taXNlcykpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBQcm9taXNlLmFsbChhUHJvbWlzZXMpO1xuXHR9LFxuXHRzZXRBY3Rpb25FbmFibGVtZW50QWZ0ZXJQYXRjaDogZnVuY3Rpb24gKG9WaWV3OiBWaWV3LCBvTGlzdEJpbmRpbmc6IE9EYXRhTGlzdEJpbmRpbmcsIG9JbnRlcm5hbE1vZGVsQ29udGV4dDogSW50ZXJuYWxNb2RlbENvbnRleHQpIHtcblx0XHRjb25zdCBvSW50ZXJuYWxNb2RlbENvbnRleHREYXRhID0gb0ludGVybmFsTW9kZWxDb250ZXh0Py5nZXRPYmplY3QoKSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblx0XHRjb25zdCBvQ29udHJvbHMgPSAob0ludGVybmFsTW9kZWxDb250ZXh0RGF0YT8uY29udHJvbHMgfHwge30pIGFzIFJlY29yZDxzdHJpbmcsIHsgY29udHJvbElkPzogc3RyaW5nIH0+O1xuXHRcdGZvciAoY29uc3Qgc0tleSBpbiBvQ29udHJvbHMpIHtcblx0XHRcdGlmIChvQ29udHJvbHNbc0tleV0gJiYgb0NvbnRyb2xzW3NLZXldLmNvbnRyb2xJZCkge1xuXHRcdFx0XHRjb25zdCBvVGFibGUgPSBvVmlldy5ieUlkKHNLZXkpO1xuXHRcdFx0XHRpZiAob1RhYmxlICYmIG9UYWJsZS5pc0E8VGFibGU+KFwic2FwLnVpLm1kYy5UYWJsZVwiKSkge1xuXHRcdFx0XHRcdGNvbnN0IG9Sb3dCaW5kaW5nID0gb1RhYmxlLmdldFJvd0JpbmRpbmcoKTtcblx0XHRcdFx0XHRpZiAob1Jvd0JpbmRpbmcgPT0gb0xpc3RCaW5kaW5nKSB7XG5cdFx0XHRcdFx0XHRBY3Rpb25SdW50aW1lLnNldEFjdGlvbkVuYWJsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdG9UYWJsZS5nZXRCaW5kaW5nQ29udGV4dChcImludGVybmFsXCIpIGFzIEludGVybmFsTW9kZWxDb250ZXh0LFxuXHRcdFx0XHRcdFx0XHRKU09OLnBhcnNlKG9UYWJsZS5kYXRhKFwib3BlcmF0aW9uQXZhaWxhYmxlTWFwXCIpLmN1c3RvbURhdGEpLFxuXHRcdFx0XHRcdFx0XHRvVGFibGUuZ2V0U2VsZWN0ZWRDb250ZXh0cygpIGFzIENvbnRleHRbXSxcblx0XHRcdFx0XHRcdFx0XCJ0YWJsZVwiXG5cdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fSxcblxuXHR1cGRhdGVFZGl0QnV0dG9uVmlzaWJpbGl0eUFuZEVuYWJsZW1lbnQob1ZpZXc6IEZFVmlldykge1xuXHRcdGNvbnN0IGlWaWV3TGV2ZWwgPSAob1ZpZXcuZ2V0Vmlld0RhdGEoKSBhcyBCYXNlTWFuaWZlc3RTZXR0aW5ncyk/LnZpZXdMZXZlbCxcblx0XHRcdGlzRWRpdGFibGUgPSBvVmlldy5nZXRNb2RlbChcInVpXCIpPy5nZXRQcm9wZXJ0eShcIi9pc0VkaXRhYmxlXCIpO1xuXHRcdGlmICgoaVZpZXdMZXZlbCBhcyBudW1iZXIpID4gMSAmJiBpc0VkaXRhYmxlICE9PSB0cnVlKSB7XG5cdFx0XHRjb25zdCBvQ29udGV4dCA9IG9WaWV3LmdldEJpbmRpbmdDb250ZXh0KCkgYXMgQ29udGV4dDtcblx0XHRcdGNvbnN0IG9BcHBDb21wb25lbnQgPSBDb21tb25VdGlscy5nZXRBcHBDb21wb25lbnQob1ZpZXcpO1xuXHRcdFx0Y29uc3Qgc01ldGFQYXRoID0gTW9kZWxIZWxwZXIuZ2V0TWV0YVBhdGhGb3JDb250ZXh0KG9Db250ZXh0KTtcblx0XHRcdGNvbnN0IHNFbnRpdHlTZXQgPSBNb2RlbEhlbHBlci5nZXRSb290RW50aXR5U2V0UGF0aChzTWV0YVBhdGgpO1xuXHRcdFx0Y29uc3QgbWV0YUNvbnRleHQgPSBvQ29udGV4dFxuXHRcdFx0XHQ/LmdldE1vZGVsKClcblx0XHRcdFx0LmdldE1ldGFNb2RlbCgpXG5cdFx0XHRcdD8uZ2V0Q29udGV4dChvQ29udGV4dD8uZ2V0UGF0aCgpKTtcblx0XHRcdGNvbnN0IGNvbnZlcnRlckNvbnRleHQgPSBDb252ZXJ0ZXJDb250ZXh0Py5jcmVhdGVDb252ZXJ0ZXJDb250ZXh0Rm9yTWFjcm8oXG5cdFx0XHRcdHNFbnRpdHlTZXQsXG5cdFx0XHRcdG1ldGFDb250ZXh0LFxuXHRcdFx0XHRvQXBwQ29tcG9uZW50LmdldERpYWdub3N0aWNzKCksXG5cdFx0XHRcdG1lcmdlLFxuXHRcdFx0XHR1bmRlZmluZWRcblx0XHRcdCk7XG5cdFx0XHRjb25zdCBlbnRpdHlTZXQgPSBjb252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVNldCgpO1xuXHRcdFx0Y29uc3QgZW50aXR5VHlwZSA9IGNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5VHlwZSgpO1xuXHRcdFx0bGV0IHVwZGF0ZUhpZGRlbjtcblx0XHRcdC8vRmluZCB0aGUgVXBkYXRlIEhpZGRlbiBvZiB0aGUgcm9vdCBlbnRpdHkgc2V0IGFuZCBiaW5kIHRoZSBwcm9wZXJ0eSB0byBBbnlFbGVtZW50LCBhbnkgY2hhbmdlcyBpbiB0aGUgcGF0aCBvZiB0aGUgcm9vdCBVcGRhdGVIaWRkZW4gd2lsbCBiZSB1cGRhdGVkIHZpYSB0aGUgcHJvcGVydHksIGludGVybmFsIG1vZGVsIGNvbnRleHQgaXMgdXBkYXRlZCBiYXNlZCBvbiB0aGUgcHJvcGVydHlcblx0XHRcdGNvbnN0IGJVcGRhdGVIaWRkZW4gPSBpc0VudGl0eVNldChlbnRpdHlTZXQpICYmIGVudGl0eVNldC5hbm5vdGF0aW9ucy5VST8uVXBkYXRlSGlkZGVuPy52YWx1ZU9mKCk7XG5cdFx0XHRpZiAoYlVwZGF0ZUhpZGRlbiAhPT0gdHJ1ZSkge1xuXHRcdFx0XHR1cGRhdGVIaWRkZW4gPSBNb2RlbEhlbHBlci5pc1VwZGF0ZUhpZGRlbihlbnRpdHlTZXQsIGVudGl0eVR5cGUpO1xuXHRcdFx0fVxuXHRcdFx0Ly9GaW5kIHRoZSBvcGVyYXRpb24gYXZhaWxhYmxlIHByb3BlcnR5IG9mIHRoZSByb290IGVkaXQgY29uZmlndXJhdGlvbiBhbmQgZmV0Y2ggdGhlIHByb3BlcnR5IHVzaW5nIEFueUVsZW1lbnRcblx0XHRcdGNvbnN0IHNFZGl0RW5hYmxlQmluZGluZyA9IGdldEVkaXRCdXR0b25FbmFibGVkKGNvbnZlcnRlckNvbnRleHQpO1xuXHRcdFx0Y29uc3QgZHJhZnRSb290UGF0aCA9IE1vZGVsSGVscGVyLmdldERyYWZ0Um9vdFBhdGgob0NvbnRleHQpO1xuXHRcdFx0Y29uc3Qgc1N0aWNreVJvb3RQYXRoID0gTW9kZWxIZWxwZXIuZ2V0U3RpY2t5Um9vdFBhdGgob0NvbnRleHQpO1xuXHRcdFx0Y29uc3Qgc1BhdGggPSBkcmFmdFJvb3RQYXRoIHx8IHNTdGlja3lSb290UGF0aDtcblx0XHRcdGNvbnN0IG9JbnRlcm5hbE1vZGVsQ29udGV4dCA9IG9WaWV3LmdldEJpbmRpbmdDb250ZXh0KFwiaW50ZXJuYWxcIikgYXMgSW50ZXJuYWxNb2RlbENvbnRleHQ7XG5cdFx0XHRpZiAoc1BhdGgpIHtcblx0XHRcdFx0Y29uc3Qgb1Jvb3RDb250ZXh0ID0gb1ZpZXcuZ2V0TW9kZWwoKS5iaW5kQ29udGV4dChzUGF0aCkuZ2V0Qm91bmRDb250ZXh0KCk7XG5cdFx0XHRcdGlmICh1cGRhdGVIaWRkZW4gIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRcdGNvbnN0IHNIaWRkZW5FeHByZXNzaW9uID0gY29tcGlsZUV4cHJlc3Npb24oZXF1YWwoZ2V0SGlkZGVuRXhwcmVzc2lvbihjb252ZXJ0ZXJDb250ZXh0LCB1cGRhdGVIaWRkZW4pLCBmYWxzZSkpO1xuXHRcdFx0XHRcdHRoaXMudXBkYXRlRWRpdE1vZGVsQ29udGV4dChzSGlkZGVuRXhwcmVzc2lvbiwgb1ZpZXcsIG9Sb290Q29udGV4dCwgXCJyb290RWRpdFZpc2libGVcIiwgb0ludGVybmFsTW9kZWxDb250ZXh0KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoc0VkaXRFbmFibGVCaW5kaW5nKSB7XG5cdFx0XHRcdFx0dGhpcy51cGRhdGVFZGl0TW9kZWxDb250ZXh0KHNFZGl0RW5hYmxlQmluZGluZywgb1ZpZXcsIG9Sb290Q29udGV4dCwgXCJyb290RWRpdEVuYWJsZWRcIiwgb0ludGVybmFsTW9kZWxDb250ZXh0KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fSxcblxuXHR1cGRhdGVFZGl0TW9kZWxDb250ZXh0OiBmdW5jdGlvbiAoXG5cdFx0c0JpbmRpbmdFeHByZXNzaW9uOiBzdHJpbmcgfCB1bmRlZmluZWQsXG5cdFx0b1ZpZXc6IFZpZXcsXG5cdFx0b1Jvb3RDb250ZXh0OiBDb250ZXh0LFxuXHRcdHNQcm9wZXJ0eTogc3RyaW5nLFxuXHRcdG9JbnRlcm5hbE1vZGVsQ29udGV4dDogSW50ZXJuYWxNb2RlbENvbnRleHRcblx0KSB7XG5cdFx0aWYgKHNCaW5kaW5nRXhwcmVzc2lvbikge1xuXHRcdFx0Y29uc3Qgb0hpZGRlbkVsZW1lbnQgPSBuZXcgQW55RWxlbWVudCh7IGFueVRleHQ6IHNCaW5kaW5nRXhwcmVzc2lvbiB9KTtcblx0XHRcdG9IaWRkZW5FbGVtZW50LnNldEJpbmRpbmdDb250ZXh0KG51bGwpO1xuXHRcdFx0b1ZpZXcuYWRkRGVwZW5kZW50KG9IaWRkZW5FbGVtZW50KTtcblx0XHRcdG9IaWRkZW5FbGVtZW50LmdldEJpbmRpbmcoXCJhbnlUZXh0XCIpO1xuXHRcdFx0Y29uc3Qgb0NvbnRleHQgPSBvSGlkZGVuRWxlbWVudFxuXHRcdFx0XHQuZ2V0TW9kZWwoKVxuXHRcdFx0XHQ/LmJpbmRDb250ZXh0KG9Sb290Q29udGV4dC5nZXRQYXRoKCksIG9Sb290Q29udGV4dCwgeyAkJGdyb3VwSWQ6IFwiJGF1dG8uSGVyb2VzXCIgfSlcblx0XHRcdFx0Py5nZXRCb3VuZENvbnRleHQoKTtcblx0XHRcdG9IaWRkZW5FbGVtZW50LnNldEJpbmRpbmdDb250ZXh0KG9Db250ZXh0KTtcblx0XHRcdG9IaWRkZW5FbGVtZW50Py5nZXRCaW5kaW5nKFwiYW55VGV4dFwiKT8uYXR0YWNoQ2hhbmdlKChvRXZlbnQ6IEV2ZW50KSA9PiB7XG5cdFx0XHRcdGNvbnN0IG9OZXdWYWx1ZSA9IChvRXZlbnQuZ2V0U291cmNlKCkgYXMgUHJvcGVydHlCaW5kaW5nKS5nZXRFeHRlcm5hbFZhbHVlKCk7XG5cdFx0XHRcdG9JbnRlcm5hbE1vZGVsQ29udGV4dC5zZXRQcm9wZXJ0eShzUHJvcGVydHksIG9OZXdWYWx1ZSk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH0sXG5cblx0X3NldEFjdGlvbkVuYWJsZW1lbnRGb3JUYWJsZTogZnVuY3Rpb24gKFxuXHRcdG9TZWxlY3RlZENvbnRleHQ6IENvbnRleHQgfCB1bmRlZmluZWQsXG5cdFx0b0ludGVybmFsTW9kZWxDb250ZXh0OiBJbnRlcm5hbE1vZGVsQ29udGV4dCxcblx0XHRzQWN0aW9uOiBzdHJpbmcsXG5cdFx0c1Byb3BlcnR5OiBzdHJpbmcsXG5cdFx0YVJlcXVlc3RQcm9taXNlczogUHJvbWlzZTxfUmVxdWVzdGVkUHJvcGVydHk+W11cblx0KSB7XG5cdFx0Ly8gUmVzZXQgYWxsIHByb3BlcnRpZXMgYmVmb3JlIGNvbXB1dGF0aW9uXG5cdFx0b0ludGVybmFsTW9kZWxDb250ZXh0LnNldFByb3BlcnR5KGBkeW5hbWljQWN0aW9ucy8ke3NBY3Rpb259YCwge1xuXHRcdFx0YkVuYWJsZWQ6IGZhbHNlLFxuXHRcdFx0YUFwcGxpY2FibGU6IFtdLFxuXHRcdFx0YU5vdEFwcGxpY2FibGU6IFtdXG5cdFx0fSk7XG5cdFx0Ly8gTm90ZSB0aGF0IG5vbiBkeW5hbWljIGFjdGlvbnMgYXJlIG5vdCBwcm9jZXNzZWQgaGVyZS4gVGhleSBhcmUgZW5hYmxlZCBiZWNhdXNlXG5cdFx0Ly8gb25lIG9yIG1vcmUgYXJlIHNlbGVjdGVkIGFuZCB0aGUgc2Vjb25kIHBhcnQgb2YgdGhlIGNvbmRpdGlvbiBpbiB0aGUgdGVtcGxhdGluZ1xuXHRcdC8vIGlzIHRoZW4gdW5kZWZpbmVkIGFuZCB0aHVzIHRoZSBidXR0b24gdGFrZXMgdGhlIGRlZmF1bHQgZW5hYmxpbmcsIHdoaWNoIGlzIHRydWUhXG5cdFx0Y29uc3QgYUFwcGxpY2FibGUgPSBbXSxcblx0XHRcdGFOb3RBcHBsaWNhYmxlID0gW10sXG5cdFx0XHRzRHluYW1pY0FjdGlvbkVuYWJsZWRQYXRoID0gYCR7b0ludGVybmFsTW9kZWxDb250ZXh0LmdldFBhdGgoKX0vZHluYW1pY0FjdGlvbnMvJHtzQWN0aW9ufS9iRW5hYmxlZGA7XG5cdFx0aWYgKHR5cGVvZiBzUHJvcGVydHkgPT09IFwib2JqZWN0XCIgJiYgc1Byb3BlcnR5ICE9PSBudWxsICYmIHNQcm9wZXJ0eSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRpZiAob1NlbGVjdGVkQ29udGV4dCkge1xuXHRcdFx0XHRjb25zdCBvQ29udGV4dERhdGEgPSBvU2VsZWN0ZWRDb250ZXh0LmdldE9iamVjdCgpIGFzIFJlY29yZDxzdHJpbmcsIFByaW1pdGl2ZVR5cGU+O1xuXHRcdFx0XHRjb25zdCBvVHJhbnNmb3JtZWRCaW5kaW5nID0gdHJhbnNmb3JtUmVjdXJzaXZlbHkoXG5cdFx0XHRcdFx0c1Byb3BlcnR5LFxuXHRcdFx0XHRcdFwiUGF0aEluTW9kZWxcIixcblx0XHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbG9vcC1mdW5jXG5cdFx0XHRcdFx0ZnVuY3Rpb24gKG9CaW5kaW5nRXhwcmVzc2lvbjogUGF0aEluTW9kZWxFeHByZXNzaW9uPFByaW1pdGl2ZVR5cGU+KSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gb0NvbnRleHREYXRhID8gY29uc3RhbnQob0NvbnRleHREYXRhW29CaW5kaW5nRXhwcmVzc2lvbi5wYXRoXSkgOiBjb25zdGFudChmYWxzZSk7XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHR0cnVlXG5cdFx0XHRcdCk7XG5cdFx0XHRcdGNvbnN0IHNSZXN1bHQgPSBjb21waWxlRXhwcmVzc2lvbihvVHJhbnNmb3JtZWRCaW5kaW5nKTtcblx0XHRcdFx0aWYgKHNSZXN1bHQgPT09IFwidHJ1ZVwiKSB7XG5cdFx0XHRcdFx0b0ludGVybmFsTW9kZWxDb250ZXh0LmdldE1vZGVsKCkuc2V0UHJvcGVydHkoc0R5bmFtaWNBY3Rpb25FbmFibGVkUGF0aCwgdHJ1ZSk7XG5cdFx0XHRcdFx0YUFwcGxpY2FibGUucHVzaChvU2VsZWN0ZWRDb250ZXh0KTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRhTm90QXBwbGljYWJsZS5wdXNoKG9TZWxlY3RlZENvbnRleHQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRDb21tb25VdGlscy5zZXREeW5hbWljQWN0aW9uQ29udGV4dHMob0ludGVybmFsTW9kZWxDb250ZXh0LCBzQWN0aW9uLCBhQXBwbGljYWJsZSwgYU5vdEFwcGxpY2FibGUpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjb25zdCBvQ29udGV4dERhdGEgPSBvU2VsZWN0ZWRDb250ZXh0Py5nZXRPYmplY3QoKSBhcyBSZWNvcmQ8c3RyaW5nLCBQcmltaXRpdmVUeXBlPjtcblx0XHRcdGlmIChzUHJvcGVydHkgPT09IG51bGwgJiYgISFvQ29udGV4dERhdGFbYCMke3NBY3Rpb259YF0pIHtcblx0XHRcdFx0Ly9sb29rIGZvciBhY3Rpb24gYWR2ZXJ0aXNlbWVudCBpZiBwcmVzZW50IGFuZCBpdHMgdmFsdWUgaXMgbm90IG51bGxcblx0XHRcdFx0b0ludGVybmFsTW9kZWxDb250ZXh0LmdldE1vZGVsKCkuc2V0UHJvcGVydHkoc0R5bmFtaWNBY3Rpb25FbmFibGVkUGF0aCwgdHJ1ZSk7XG5cdFx0XHR9IGVsc2UgaWYgKG9TZWxlY3RlZENvbnRleHQgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHQvLyBDb2xsZWN0IHByb21pc2VzIHRvIHJldHJpZXZlIHNpbmdsZXRvbiBvciBub3JtYWwgcHJvcGVydHkgdmFsdWUgYXN5bmNocm9ub3VzbHlcblx0XHRcdFx0YVJlcXVlc3RQcm9taXNlcy5wdXNoKENvbW1vblV0aWxzLnJlcXVlc3RQcm9wZXJ0eShvU2VsZWN0ZWRDb250ZXh0LCBzQWN0aW9uLCBzUHJvcGVydHksIHNEeW5hbWljQWN0aW9uRW5hYmxlZFBhdGgpKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIGFSZXF1ZXN0UHJvbWlzZXM7XG5cdH0sXG5cblx0LyoqXG5cdCAqIENoZWNrIGlmIGFjdGlvbiBpcyBjcml0aWNhbC5cblx0ICpcblx0ICogQHBhcmFtIG1ldGFNb2RlbCBNZXRhTW9kZWxcblx0ICogQHBhcmFtIHBhdGggUGF0aCB0byB0aGUgYWN0aW9uXG5cdCAqIEBwYXJhbSBjb250ZXh0cyBDb250ZXh0cyBpbiBjYXNlIG9mIGJvdW5kIGFjdGlvbnMuXG5cdCAqIEByZXR1cm5zIEJvb2xlYW4gaW5kaWNhdGluZyBhY3Rpb24gaXMgY3JpdGljYWxcblx0ICovXG5cdGdldElzQWN0aW9uQ3JpdGljYWw6IGZ1bmN0aW9uIChtZXRhTW9kZWw6IE9EYXRhTWV0YU1vZGVsLCBwYXRoOiBzdHJpbmcsIGNvbnRleHRzOiBDb250ZXh0W10gPSBbXSk6IEJvb2xlYW4ge1xuXHRcdC8vIGRlZmF1bHQgaXMgdHJ1ZS5cblx0XHRsZXQgaXNBY3Rpb25Dcml0aWNhbFZhbHVlID0gdHJ1ZTtcblx0XHRjb25zdCBjb252ZXJ0ZWRUeXBlcyA9IGNvbnZlcnRUeXBlcyhtZXRhTW9kZWwpO1xuXHRcdGNvbnN0IGFjdGlvblRhcmdldFJlc29sdXRpb24gPSBjb252ZXJ0ZWRUeXBlcy5yZXNvbHZlUGF0aDxFZG1BY3Rpb24+KHBhdGgpO1xuXHRcdGNvbnN0IGFjdGlvblRhcmdldCA9IGFjdGlvblRhcmdldFJlc29sdXRpb24udGFyZ2V0O1xuXHRcdGlmICghYWN0aW9uVGFyZ2V0KSB7XG5cdFx0XHRyZXR1cm4gaXNBY3Rpb25Dcml0aWNhbFZhbHVlO1xuXHRcdH1cblxuXHRcdGNvbnN0IGlzQWN0aW9uQ3JpdGljYWxCaW5kaW5nRXhwID0gZ2V0SXNBY3Rpb25Dcml0aWNhbEV4cHJlc3Npb24oYWN0aW9uVGFyZ2V0LCBjb252ZXJ0ZWRUeXBlcyk7XG5cblx0XHRpZiAoaXNDb25zdGFudChpc0FjdGlvbkNyaXRpY2FsQmluZGluZ0V4cCkpIHtcblx0XHRcdC8vIENvbnN0YW50IGV4cHJlc3Npb24gcmVzb2x2ZXMgdG8gXCJ0cnVlXCIgb3IgXCJmYWxzZVwiLiBCdXQsIHdlIG5lZWQgYm9vbGVhbi5cblx0XHRcdGlzQWN0aW9uQ3JpdGljYWxWYWx1ZSA9IGNvbXBpbGVDb25zdGFudChpc0FjdGlvbkNyaXRpY2FsQmluZGluZ0V4cCwgZmFsc2UsIHVuZGVmaW5lZCwgdHJ1ZSk7XG5cdFx0fSBlbHNlIGlmIChjb250ZXh0cy5sZW5ndGggPiAwKSB7XG5cdFx0XHQvLyBXZSBldmFsdWF0ZSB0aGUgdmFsdWUgb2YgdGhlIGV4cHJlc3Npb24gdmlhIGEgVUk1IG1hbmFnZWQgb2JqZWN0IGluc3RhbmNlLlxuXHRcdFx0Y29uc3QgYW55T2JqZWN0ID0gbmV3IEFueSh7IGFueUJvb2xlYW46IGNvbXBpbGVFeHByZXNzaW9uKGlzQWN0aW9uQ3JpdGljYWxCaW5kaW5nRXhwKSB9KTtcblx0XHRcdGFueU9iamVjdC5zZXRNb2RlbChjb250ZXh0c1swXS5nZXRNb2RlbCgpKTtcblx0XHRcdGFueU9iamVjdC5zZXRCaW5kaW5nQ29udGV4dChjb250ZXh0c1swXSk7XG5cdFx0XHRpc0FjdGlvbkNyaXRpY2FsVmFsdWUgPSBhbnlPYmplY3QuZ2V0QmluZGluZyhcImFueUJvb2xlYW5cIikuZ2V0RXh0ZXJuYWxWYWx1ZSgpO1xuXHRcdFx0YW55T2JqZWN0LmRlc3Ryb3koKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gaXNBY3Rpb25Dcml0aWNhbFZhbHVlO1xuXHR9XG59O1xuZXhwb3J0IGRlZmF1bHQgQWN0aW9uUnVudGltZTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0VBc0RBLE1BQU1BLGFBQWEsR0FBRztJQUNyQjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDQ0MsNkJBQTZCLEVBQUUsVUFDOUJDLGNBQThCLEVBQzlCQyxpQkFBa0YsRUFDakY7TUFDREQsY0FBYyxDQUFDRSxXQUFXLENBQ3pCRCxpQkFBaUIsQ0FBQ0UsR0FBRyxDQUFFQyxnQkFBZ0IsSUFBSztRQUMzQyxNQUFNQyxPQUFPLEdBQUdELGdCQUFnQixDQUFDRSxtQkFBbUIsQ0FBQ0MsS0FBSyxDQUFDQyxVQUFVLENBQ3BFSixnQkFBZ0IsQ0FBQ0UsbUJBQW1CLENBQUNHLFlBQVksR0FBRyxPQUFPLEdBQUcsT0FBTyxDQUNyRTtRQUNELE9BQU8sSUFBSUMsT0FBTyxDQUFDO1VBQ2xCQyxPQUFPLEVBQUVQLGdCQUFnQixDQUFDTyxPQUFPO1VBQ2pDQyxJQUFJLEVBQUUsT0FBTztVQUNiQyxTQUFTLEVBQUVSLE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFUyxRQUFRLEVBQUU7VUFDOUJDLFVBQVUsRUFBRSxJQUFJO1VBQ2hCQyxNQUFNLEVBQUVYLE9BQU8sYUFBUEEsT0FBTyx1QkFB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
|