@sapui5/sap.fe.core 1.111.1 → 1.113.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 +1 -1
- package/src/sap/fe/core/ActionRuntime-dbg.js +6 -5
- package/src/sap/fe/core/ActionRuntime.js +1 -1
- package/src/sap/fe/core/ActionRuntime.js.map +1 -1
- package/src/sap/fe/core/ActionRuntime.ts +12 -11
- package/src/sap/fe/core/AppComponent-dbg.js +35 -9
- package/src/sap/fe/core/AppComponent.js +1 -1
- package/src/sap/fe/core/AppComponent.js.map +1 -1
- package/src/sap/fe/core/AppComponent.ts +66 -9
- package/src/sap/fe/core/AppStateHandler-dbg.js +5 -2
- package/src/sap/fe/core/AppStateHandler.js +1 -1
- package/src/sap/fe/core/AppStateHandler.js.map +1 -1
- package/src/sap/fe/core/AppStateHandler.ts +10 -1
- package/src/sap/fe/core/BaseController-dbg.js +1 -1
- package/src/sap/fe/core/BaseController.ts +2 -1
- package/src/sap/fe/core/CommonUtils-dbg.js +202 -533
- package/src/sap/fe/core/CommonUtils.js +1 -1
- package/src/sap/fe/core/CommonUtils.js.map +1 -1
- package/src/sap/fe/core/CommonUtils.ts +260 -681
- package/src/sap/fe/core/ExtensionAPI-dbg.js +4 -1
- package/src/sap/fe/core/ExtensionAPI.js +1 -1
- package/src/sap/fe/core/ExtensionAPI.js.map +1 -1
- package/src/sap/fe/core/ExtensionAPI.ts +11 -1
- package/src/sap/fe/core/PageController-dbg.js +26 -31
- package/src/sap/fe/core/PageController.js +1 -1
- package/src/sap/fe/core/PageController.js.map +1 -1
- package/src/sap/fe/core/PageController.ts +17 -3
- package/src/sap/fe/core/ResourceModel-dbg.js +71 -0
- package/src/sap/fe/core/ResourceModel.js +6 -0
- package/src/sap/fe/core/ResourceModel.js.map +1 -0
- package/src/sap/fe/core/ResourceModel.ts +67 -0
- package/src/sap/fe/core/TemplateComponent-dbg.js +1 -1
- package/src/sap/fe/core/TemplateComponent.ts +1 -0
- package/src/sap/fe/core/TemplateModel-dbg.js +1 -1
- package/src/sap/fe/core/TemplateModel.ts +6 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel-dbg.js +5 -7
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +6 -5
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase-dbg.js +164 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +6 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +170 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport-dbg.js +88 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js +6 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.ts +142 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor-dbg.js +913 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js +21 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/{BuildingBlockRuntime.ts → BuildingBlockTemplateProcessor.ts} +313 -373
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock-dbg.js +79 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js +15 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.ts +68 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment-dbg.js +162 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js +6 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.ts +183 -0
- package/src/sap/fe/core/buildingBlocks/TraceInfo-dbg.js +4 -2
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js +1 -1
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +5 -3
- package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +936 -231
- package/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
- package/src/sap/fe/core/controllerextensions/EditFlow.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +1023 -255
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +48 -98
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +95 -129
- package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +14 -17
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
- package/src/sap/fe/core/controllerextensions/InternalRouting.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +23 -17
- package/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +1 -1
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +2 -0
- package/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +3 -3
- package/src/sap/fe/core/controllerextensions/MassEdit.js +1 -1
- package/src/sap/fe/core/controllerextensions/MassEdit.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/MassEdit.ts +2 -2
- package/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +2 -1
- package/src/sap/fe/core/controllerextensions/MessageHandler.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +2 -0
- package/src/sap/fe/core/controllerextensions/PageReady-dbg.js +3 -5
- package/src/sap/fe/core/controllerextensions/PageReady.js +1 -1
- package/src/sap/fe/core/controllerextensions/PageReady.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/PageReady.ts +26 -4
- package/src/sap/fe/core/controllerextensions/Paginator-dbg.js +2 -1
- package/src/sap/fe/core/controllerextensions/Paginator.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/Paginator.ts +7 -0
- package/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +1 -1
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +8 -0
- package/src/sap/fe/core/controllerextensions/Share-dbg.js +8 -1
- package/src/sap/fe/core/controllerextensions/Share.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/Share.ts +11 -0
- package/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +14 -13
- package/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
- package/src/sap/fe/core/controllerextensions/SideEffects.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +27 -27
- package/src/sap/fe/core/controllerextensions/ViewState-dbg.js +17 -8
- package/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
- package/src/sap/fe/core/controllerextensions/ViewState.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/ViewState.ts +35 -14
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase-dbg.js +6 -5
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +7 -4
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync-dbg.js +285 -82
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +326 -89
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon-dbg.js +23 -2
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +32 -3
- package/src/sap/fe/core/controllerextensions/collaboration/Manage-dbg.js +4 -4
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +4 -5
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +17 -3
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block-dbg.js +65 -34
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js +1 -1
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.tsx +33 -18
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog-dbg.js +103 -0
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js +6 -0
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.tsx +124 -0
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +78 -149
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +85 -160
- package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +49 -49
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +52 -63
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal-dbg.js +82 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js +6 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.ts +123 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade-dbg.js +1508 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +6 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +1993 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations-dbg.js +3 -1415
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +2 -1921
- package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +10 -18
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +9 -22
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +53 -47
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +1 -1
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +55 -61
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher-dbg.js +12 -1
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.ts +19 -0
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy-dbg.js +78 -13
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +1 -1
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +100 -13
- package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +4 -1
- package/src/sap/fe/core/controls/CommandExecution-dbg.js +16 -5
- package/src/sap/fe/core/controls/CommandExecution.js +1 -1
- package/src/sap/fe/core/controls/CommandExecution.js.map +1 -1
- package/src/sap/fe/core/controls/CommandExecution.ts +15 -3
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +3 -2
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +1 -1
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js.map +1 -1
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +4 -1
- package/src/sap/fe/core/controls/FilterBar-dbg.js +1 -1
- package/src/sap/fe/core/controls/FilterBar.ts +5 -0
- package/src/sap/fe/core/controls/FormElementWrapper-dbg.js +1 -1
- package/src/sap/fe/core/controls/FormElementWrapper.ts +3 -0
- package/src/sap/fe/core/controls/filterbar/FilterContainer-dbg.js +1 -1
- package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +7 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +1 -1
- package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +4 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer-dbg.js +1 -1
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +10 -0
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +4 -3
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +1 -1
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js.map +1 -1
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +3 -2
- package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +0 -1
- package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +2 -0
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers-dbg.js +6 -1
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +1 -1
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js.map +1 -1
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +5 -0
- package/src/sap/fe/core/converters/ConverterContext-dbg.js +3 -5
- package/src/sap/fe/core/converters/ConverterContext.js +1 -1
- package/src/sap/fe/core/converters/ConverterContext.js.map +1 -1
- package/src/sap/fe/core/converters/ConverterContext.ts +4 -6
- package/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -8
- package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.js.map +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +15 -6
- package/src/sap/fe/core/converters/ManifestWrapper-dbg.js +21 -3
- package/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
- package/src/sap/fe/core/converters/ManifestWrapper.js.map +1 -1
- package/src/sap/fe/core/converters/ManifestWrapper.ts +23 -1
- package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +67 -62
- package/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
- package/src/sap/fe/core/converters/MetaModelConverter.js.map +1 -1
- package/src/sap/fe/core/converters/MetaModelConverter.ts +75 -66
- package/src/sap/fe/core/converters/TemplateConverter-dbg.js +2 -1
- package/src/sap/fe/core/converters/TemplateConverter.js.map +1 -1
- package/src/sap/fe/core/converters/TemplateConverter.ts +2 -1
- package/src/sap/fe/core/converters/annotations/DataField-dbg.js +81 -20
- package/src/sap/fe/core/converters/annotations/DataField.js +1 -1
- package/src/sap/fe/core/converters/annotations/DataField.js.map +1 -1
- package/src/sap/fe/core/converters/annotations/DataField.ts +76 -22
- package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +1027 -956
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
- package/src/sap/fe/core/converters/common/AnnotationConverter.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action-dbg.js +13 -19
- package/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action.ts +37 -40
- package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +95 -33
- package/src/sap/fe/core/converters/controls/Common/Chart.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Chart.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +133 -49
- package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +99 -62
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +140 -75
- package/src/sap/fe/core/converters/controls/Common/Form-dbg.js +7 -6
- package/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Form.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Form.ts +8 -14
- package/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +9 -9
- package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/KPI.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +17 -18
- package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +143 -93
- package/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Table.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Table.ts +221 -177
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +23 -16
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +27 -23
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +138 -75
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +223 -110
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +38 -28
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +67 -47
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar-dbg.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet-dbg.js +6 -6
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +5 -8
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +54 -24
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +84 -37
- package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +12 -14
- package/src/sap/fe/core/converters/helpers/Aggregation.js +1 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +16 -11
- package/src/sap/fe/core/converters/helpers/BindingHelper-dbg.js +8 -6
- package/src/sap/fe/core/converters/helpers/BindingHelper.js +1 -1
- package/src/sap/fe/core/converters/helpers/BindingHelper.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/BindingHelper.ts +8 -6
- package/src/sap/fe/core/converters/helpers/ConfigurableObject-dbg.js +7 -6
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +1 -1
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +19 -10
- package/src/sap/fe/core/converters/helpers/DataFieldHelper-dbg.js +1 -1
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +7 -2
- package/src/sap/fe/core/converters/helpers/ID-dbg.js +1 -1
- package/src/sap/fe/core/converters/helpers/ID.ts +2 -1
- package/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +11 -9
- package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
- package/src/sap/fe/core/converters/helpers/IssueManager.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/IssueManager.ts +10 -8
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +22 -20
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +1 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js.map +1 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +19 -16
- package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +32 -35
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
- package/src/sap/fe/core/converters/templates/ListReportConverter.js.map +1 -1
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +42 -37
- package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +12 -5
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +1 -1
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js.map +1 -1
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +8 -2
- package/src/sap/fe/core/formatters/FPMFormatter-dbg.js +1 -1
- package/src/sap/fe/core/formatters/FPMFormatter.ts +1 -1
- package/src/sap/fe/core/formatters/FiscalFormat-dbg.js +2 -2
- package/src/sap/fe/core/formatters/FiscalFormat.ts +6 -1
- package/src/sap/fe/core/formatters/TableFormatter-dbg.js +3 -7
- package/src/sap/fe/core/formatters/TableFormatter.js +1 -1
- package/src/sap/fe/core/formatters/TableFormatter.js.map +1 -1
- package/src/sap/fe/core/formatters/TableFormatter.ts +2 -6
- package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +9 -5
- package/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter.js.map +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter.ts +11 -4
- package/src/sap/fe/core/fpm/Component-dbg.js +1 -1
- package/src/sap/fe/core/fpm/Component.ts +1 -0
- package/src/sap/fe/core/fpm/manifest.json +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper-dbg.js +2 -2
- package/src/sap/fe/core/helpers/AppStartupHelper.js +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +7 -6
- package/src/sap/fe/core/helpers/BindingToolkit.js +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit.ts +9 -9
- package/src/sap/fe/core/helpers/ClassSupport-dbg.js +1 -1
- package/src/sap/fe/core/helpers/ClassSupport.js.map +1 -1
- package/src/sap/fe/core/helpers/ClassSupport.ts +1 -0
- package/src/sap/fe/core/helpers/DeleteHelper-dbg.js +93 -62
- package/src/sap/fe/core/helpers/DeleteHelper.js +1 -1
- package/src/sap/fe/core/helpers/DeleteHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/DeleteHelper.ts +140 -185
- package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +23 -20
- package/src/sap/fe/core/helpers/MassEditHelper.js +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper.ts +26 -28
- package/src/sap/fe/core/helpers/MessageStrip-dbg.js +9 -9
- package/src/sap/fe/core/helpers/MessageStrip.js +1 -1
- package/src/sap/fe/core/helpers/MessageStrip.js.map +1 -1
- package/src/sap/fe/core/helpers/MessageStrip.ts +8 -8
- package/src/sap/fe/core/helpers/MetaModelFunction-dbg.js +517 -0
- package/src/sap/fe/core/helpers/MetaModelFunction.js +6 -0
- package/src/sap/fe/core/helpers/MetaModelFunction.js.map +1 -0
- package/src/sap/fe/core/helpers/MetaModelFunction.ts +610 -0
- package/src/sap/fe/core/helpers/ModelHelper-dbg.js +37 -73
- package/src/sap/fe/core/helpers/ModelHelper.js +1 -1
- package/src/sap/fe/core/helpers/ModelHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/ModelHelper.ts +47 -74
- package/src/sap/fe/core/helpers/PasteHelper-dbg.js +5 -5
- package/src/sap/fe/core/helpers/PasteHelper.js +1 -1
- package/src/sap/fe/core/helpers/PasteHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/PasteHelper.ts +6 -10
- package/src/sap/fe/core/helpers/ResourceModelHelper-dbg.js +39 -0
- package/src/sap/fe/core/helpers/ResourceModelHelper.js +6 -0
- package/src/sap/fe/core/helpers/ResourceModelHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/ResourceModelHelper.ts +35 -0
- package/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +132 -23
- package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.js.map +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.ts +109 -22
- package/src/sap/fe/core/helpers/SemanticKeyHelper-dbg.js +2 -2
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +1 -1
- package/src/sap/fe/core/helpers/SizeHelper-dbg.js +53 -0
- package/src/sap/fe/core/helpers/SizeHelper.js +6 -0
- package/src/sap/fe/core/helpers/SizeHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/SizeHelper.ts +51 -0
- package/src/sap/fe/core/helpers/StableIdHelper-dbg.js +29 -25
- package/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
- package/src/sap/fe/core/helpers/StableIdHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/StableIdHelper.ts +26 -24
- package/src/sap/fe/core/helpers/Synchronization-dbg.js +1 -1
- package/src/sap/fe/core/helpers/Synchronization.ts +2 -0
- package/src/sap/fe/core/helpers/TypeGuards-dbg.js +151 -1
- package/src/sap/fe/core/helpers/TypeGuards.js +1 -1
- package/src/sap/fe/core/helpers/TypeGuards.js.map +1 -1
- package/src/sap/fe/core/helpers/TypeGuards.ts +162 -1
- package/src/sap/fe/core/jsx-runtime/ViewLoader-dbg.js +2 -1
- package/src/sap/fe/core/jsx-runtime/ViewLoader.js.map +1 -1
- package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +6 -2
- package/src/sap/fe/core/jsx-runtime/jsx-control-dbg.js +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx-control.ts +3 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents-dbg.js +3 -3
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +1 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.js.map +1 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +1 -1
- package/src/sap/fe/core/library-dbg.js +2 -2
- package/src/sap/fe/core/library-preload.js +156 -140
- package/src/sap/fe/core/library-preload.js.map +1 -1
- package/src/sap/fe/core/library.js +1 -1
- package/src/sap/fe/core/library.ts +7 -0
- package/src/sap/fe/core/manifest.json +1 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +67 -15
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js.map +1 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +66 -14
- package/src/sap/fe/core/messagebundle.properties +35 -0
- package/src/sap/fe/core/messagebundle_ar.properties +15 -12
- package/src/sap/fe/core/messagebundle_bg.properties +20 -17
- package/src/sap/fe/core/messagebundle_ca.properties +12 -9
- package/src/sap/fe/core/messagebundle_cs.properties +12 -9
- package/src/sap/fe/core/messagebundle_cy.properties +12 -9
- package/src/sap/fe/core/messagebundle_da.properties +12 -9
- package/src/sap/fe/core/messagebundle_de.properties +13 -10
- package/src/sap/fe/core/messagebundle_el.properties +14 -11
- package/src/sap/fe/core/messagebundle_en.properties +4 -1
- package/src/sap/fe/core/messagebundle_en_GB.properties +4 -1
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +2 -0
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +21 -0
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +23 -3
- package/src/sap/fe/core/messagebundle_es.properties +12 -9
- package/src/sap/fe/core/messagebundle_es_MX.properties +12 -9
- package/src/sap/fe/core/messagebundle_et.properties +12 -9
- package/src/sap/fe/core/messagebundle_fi.properties +12 -9
- package/src/sap/fe/core/messagebundle_fr.properties +12 -9
- package/src/sap/fe/core/messagebundle_fr_CA.properties +13 -10
- package/src/sap/fe/core/messagebundle_hi.properties +12 -9
- package/src/sap/fe/core/messagebundle_hr.properties +12 -9
- package/src/sap/fe/core/messagebundle_hu.properties +12 -9
- package/src/sap/fe/core/messagebundle_id.properties +13 -10
- package/src/sap/fe/core/messagebundle_it.properties +12 -9
- package/src/sap/fe/core/messagebundle_iw.properties +12 -9
- package/src/sap/fe/core/messagebundle_ja.properties +13 -10
- package/src/sap/fe/core/messagebundle_kk.properties +12 -9
- package/src/sap/fe/core/messagebundle_ko.properties +12 -9
- package/src/sap/fe/core/messagebundle_lt.properties +12 -9
- package/src/sap/fe/core/messagebundle_lv.properties +12 -9
- package/src/sap/fe/core/messagebundle_ms.properties +13 -10
- package/src/sap/fe/core/messagebundle_nl.properties +13 -10
- package/src/sap/fe/core/messagebundle_no.properties +12 -9
- package/src/sap/fe/core/messagebundle_pl.properties +12 -9
- package/src/sap/fe/core/messagebundle_pt.properties +12 -9
- package/src/sap/fe/core/messagebundle_pt_PT.properties +12 -9
- package/src/sap/fe/core/messagebundle_ro.properties +16 -13
- package/src/sap/fe/core/messagebundle_ru.properties +13 -10
- package/src/sap/fe/core/messagebundle_sh.properties +12 -9
- package/src/sap/fe/core/messagebundle_sk.properties +12 -9
- package/src/sap/fe/core/messagebundle_sl.properties +12 -9
- package/src/sap/fe/core/messagebundle_sv.properties +12 -9
- package/src/sap/fe/core/messagebundle_th.properties +12 -9
- package/src/sap/fe/core/messagebundle_tr.properties +12 -9
- package/src/sap/fe/core/messagebundle_uk.properties +12 -9
- package/src/sap/fe/core/messagebundle_vi.properties +13 -10
- package/src/sap/fe/core/messagebundle_zh_CN.properties +12 -9
- package/src/sap/fe/core/messagebundle_zh_TW.properties +12 -9
- package/src/sap/fe/core/operationsHelper-dbg.js +70 -44
- package/src/sap/fe/core/operationsHelper.js +1 -1
- package/src/sap/fe/core/operationsHelper.js.map +1 -1
- package/src/sap/fe/core/operationsHelper.ts +88 -63
- package/src/sap/fe/core/rootView/Fcl-dbg.controller.js +1 -1
- package/src/sap/fe/core/rootView/Fcl.controller.ts +10 -0
- package/src/sap/fe/core/rootView/NavContainer-dbg.controller.js +2 -2
- package/src/sap/fe/core/rootView/NavContainer.controller.js +1 -1
- package/src/sap/fe/core/rootView/NavContainer.controller.js.map +1 -1
- package/src/sap/fe/core/rootView/NavContainer.controller.ts +5 -3
- package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +10 -5
- package/src/sap/fe/core/rootView/RootViewBaseController.js +1 -1
- package/src/sap/fe/core/rootView/RootViewBaseController.js.map +1 -1
- package/src/sap/fe/core/rootView/RootViewBaseController.ts +22 -8
- package/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +3 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +15 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +4 -1
- package/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +9 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +19 -1
- package/src/sap/fe/core/services/ResourceModelServiceFactory-dbg.js +2 -2
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js +1 -1
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +10 -3
- package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +9 -3
- package/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
- package/src/sap/fe/core/services/RoutingServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +35 -3
- package/src/sap/fe/core/services/ShellServicesFactory-dbg.js +7 -1
- package/src/sap/fe/core/services/ShellServicesFactory.js +1 -1
- package/src/sap/fe/core/services/ShellServicesFactory.js.map +1 -1
- package/src/sap/fe/core/services/ShellServicesFactory.ts +24 -2
- package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +448 -279
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +497 -333
- package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +26 -6
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +54 -13
- package/src/sap/fe/core/support/Diagnostics-dbg.js +1 -1
- package/src/sap/fe/core/support/Diagnostics.ts +5 -0
- package/src/sap/fe/core/templating/CommonFormatters-dbg.js +4 -3
- package/src/sap/fe/core/templating/CommonFormatters.js +1 -1
- package/src/sap/fe/core/templating/CommonFormatters.js.map +1 -1
- package/src/sap/fe/core/templating/CommonFormatters.ts +2 -2
- package/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +195 -95
- package/src/sap/fe/core/templating/DataModelPathHelper.js +1 -1
- package/src/sap/fe/core/templating/DataModelPathHelper.js.map +1 -1
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +210 -96
- package/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +5 -5
- package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.js.map +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -2
- package/src/sap/fe/core/templating/EntitySetHelper-dbg.js +19 -29
- package/src/sap/fe/core/templating/EntitySetHelper.js +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper.js.map +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper.ts +14 -26
- package/src/sap/fe/core/templating/EntityTypeHelper-dbg.js +48 -0
- package/src/sap/fe/core/templating/EntityTypeHelper.js +6 -0
- package/src/sap/fe/core/templating/EntityTypeHelper.js.map +1 -0
- package/src/sap/fe/core/templating/EntityTypeHelper.ts +37 -0
- package/src/sap/fe/core/templating/FilterHelper-dbg.js +3 -3
- package/src/sap/fe/core/templating/FilterHelper.js +1 -1
- package/src/sap/fe/core/templating/FilterHelper.js.map +1 -1
- package/src/sap/fe/core/templating/FilterHelper.ts +5 -3
- package/src/sap/fe/core/templating/FilterTemplating-dbg.js +7 -8
- package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
- package/src/sap/fe/core/templating/FilterTemplating.js.map +1 -1
- package/src/sap/fe/core/templating/FilterTemplating.ts +5 -8
- package/src/sap/fe/core/templating/PropertyFormatters-dbg.js +1 -6
- package/src/sap/fe/core/templating/PropertyFormatters.js +1 -1
- package/src/sap/fe/core/templating/PropertyFormatters.js.map +1 -1
- package/src/sap/fe/core/templating/PropertyFormatters.ts +0 -5
- package/src/sap/fe/core/templating/PropertyHelper-dbg.js +13 -46
- package/src/sap/fe/core/templating/PropertyHelper.js +1 -1
- package/src/sap/fe/core/templating/PropertyHelper.js.map +1 -1
- package/src/sap/fe/core/templating/PropertyHelper.ts +14 -43
- package/src/sap/fe/core/templating/UIFormatters-dbg.js +32 -26
- package/src/sap/fe/core/templating/UIFormatters.js +1 -1
- package/src/sap/fe/core/templating/UIFormatters.js.map +1 -1
- package/src/sap/fe/core/templating/UIFormatters.ts +47 -32
- package/src/sap/fe/core/type/DateTimeWithTimezone-dbg.js +1 -1
- package/src/sap/fe/core/type/DateTimeWithTimezone.ts +2 -0
- package/src/sap/fe/core/type/FiscalDate-dbg.js +2 -2
- package/src/sap/fe/core/type/FiscalDate.js.map +1 -1
- package/src/sap/fe/core/type/FiscalDate.ts +2 -1
- package/src/sap/fe/core/type/TypeUtil-dbg.js +5 -10
- package/src/sap/fe/core/type/TypeUtil.js +1 -1
- package/src/sap/fe/core/type/TypeUtil.js.map +1 -1
- package/src/sap/fe/core/type/TypeUtil.ts +3 -6
- package/src/sap/fe/core/buildingBlocks/BuildingBlock-dbg.js +0 -410
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +0 -15
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js.map +0 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +0 -536
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment-dbg.js +0 -44
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js +0 -6
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js.map +0 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.ts +0 -14
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime-dbg.js +0 -948
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +0 -19
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +0 -711
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +0 -6
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +0 -863
- package/src/sap/fe/core/controls/ActionPartial.fragment.xml +0 -91
- package/src/sap/fe/core/controls/ConditionalWrapper-dbg.js +0 -151
- package/src/sap/fe/core/controls/ConditionalWrapper.js +0 -6
- package/src/sap/fe/core/controls/ConditionalWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/ConditionalWrapper.ts +0 -88
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper-dbg.js +0 -330
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +0 -6
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +0 -292
- package/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +0 -126
- package/src/sap/fe/core/controls/CustomQuickViewPage.js +0 -6
- package/src/sap/fe/core/controls/CustomQuickViewPage.js.map +0 -1
- package/src/sap/fe/core/controls/CustomQuickViewPage.ts +0 -105
- package/src/sap/fe/core/controls/FieldWrapper-dbg.js +0 -194
- package/src/sap/fe/core/controls/FieldWrapper.js +0 -6
- package/src/sap/fe/core/controls/FieldWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/FieldWrapper.ts +0 -121
- package/src/sap/fe/core/controls/FileWrapper-dbg.js +0 -280
- package/src/sap/fe/core/controls/FileWrapper.js +0 -6
- package/src/sap/fe/core/controls/FileWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/FileWrapper.ts +0 -202
- package/src/sap/fe/core/helpers/SideEffectsHelper-dbg.js +0 -141
- package/src/sap/fe/core/helpers/SideEffectsHelper.js +0 -6
- package/src/sap/fe/core/helpers/SideEffectsHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/SideEffectsHelper.ts +0 -129
|
@@ -1,410 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
-
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
|
-
*/
|
|
5
|
-
sap.ui.define(["sap/base/util/deepClone", "sap/base/util/merge", "sap/base/util/ObjectPath", "sap/fe/core/buildingBlocks/BuildingBlockFragment", "sap/fe/core/buildingBlocks/BuildingBlockRuntime", "sap/fe/core/CommonUtils", "sap/fe/core/helpers/BindingToolkit", "sap/fe/core/helpers/StableIdHelper", "sap/fe/core/helpers/TypeGuards", "sap/fe/core/jsx-runtime/jsx", "sap/ui/base/ManagedObject", "sap/ui/core/Component", "sap/ui/core/util/XMLPreprocessor", "../converters/ConverterContext"], function (deepClone, merge, ObjectPath, BuildingBlockFragment, BuildingBlockRuntime, CommonUtils, BindingToolkit, StableIdHelper, TypeGuards, jsx, ManagedObject, Component, XMLPreprocessor, ConverterContext) {
|
|
6
|
-
"use strict";
|
|
7
|
-
|
|
8
|
-
var _exports = {};
|
|
9
|
-
var isContext = TypeGuards.isContext;
|
|
10
|
-
var generate = StableIdHelper.generate;
|
|
11
|
-
var resolveBindingString = BindingToolkit.resolveBindingString;
|
|
12
|
-
var isUndefinedExpression = BindingToolkit.isUndefinedExpression;
|
|
13
|
-
var xml = BuildingBlockRuntime.xml;
|
|
14
|
-
var registerBuildingBlock = BuildingBlockRuntime.registerBuildingBlock;
|
|
15
|
-
/**
|
|
16
|
-
* Base class for Building Block
|
|
17
|
-
*/
|
|
18
|
-
let BuildingBlockBase = /*#__PURE__*/function () {
|
|
19
|
-
function BuildingBlockBase(props, _oControlConfig, _oSettings) {
|
|
20
|
-
this.isPublic = false;
|
|
21
|
-
this.getConverterContext = function (dataModelObjectPath, contextPath, settings, extraParams) {
|
|
22
|
-
var _settings$models$view;
|
|
23
|
-
const appComponent = settings.appComponent;
|
|
24
|
-
const originalViewData = (_settings$models$view = settings.models.viewData) === null || _settings$models$view === void 0 ? void 0 : _settings$models$view.getData();
|
|
25
|
-
let viewData = Object.assign({}, originalViewData);
|
|
26
|
-
delete viewData.resourceBundle;
|
|
27
|
-
viewData = deepClone(viewData);
|
|
28
|
-
viewData.controlConfiguration = merge(viewData.controlConfiguration, extraParams || {});
|
|
29
|
-
return ConverterContext.createConverterContextForMacro(dataModelObjectPath.startingEntitySet.name, settings.models.metaModel, appComponent === null || appComponent === void 0 ? void 0 : appComponent.getDiagnostics(), merge, dataModelObjectPath.contextLocation, viewData);
|
|
30
|
-
};
|
|
31
|
-
Object.keys(props).forEach(propName => {
|
|
32
|
-
this[propName] = props[propName];
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Only used internally
|
|
37
|
-
*
|
|
38
|
-
* @private
|
|
39
|
-
*/
|
|
40
|
-
_exports.BuildingBlockBase = BuildingBlockBase;
|
|
41
|
-
var _proto = BuildingBlockBase.prototype;
|
|
42
|
-
/**
|
|
43
|
-
* Convert the given local element ID to a globally unique ID by prefixing with the Building Block ID.
|
|
44
|
-
*
|
|
45
|
-
* @param stringParts
|
|
46
|
-
* @returns Either the global ID or undefined if the Building Block doesn't have an ID
|
|
47
|
-
* @private
|
|
48
|
-
*/
|
|
49
|
-
_proto.createId = function createId() {
|
|
50
|
-
// If the child instance has an ID property use it otherwise return undefined
|
|
51
|
-
if (this.id) {
|
|
52
|
-
for (var _len = arguments.length, stringParts = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
53
|
-
stringParts[_key] = arguments[_key];
|
|
54
|
-
}
|
|
55
|
-
return generate([this.id, ...stringParts]);
|
|
56
|
-
}
|
|
57
|
-
return undefined;
|
|
58
|
-
};
|
|
59
|
-
/**
|
|
60
|
-
* Only used internally.
|
|
61
|
-
*
|
|
62
|
-
* @returns All the properties defined on the object with their values
|
|
63
|
-
* @private
|
|
64
|
-
*/
|
|
65
|
-
_proto.getProperties = function getProperties() {
|
|
66
|
-
const allProperties = {};
|
|
67
|
-
for (const oInstanceKey in this) {
|
|
68
|
-
if (this.hasOwnProperty(oInstanceKey)) {
|
|
69
|
-
allProperties[oInstanceKey] = this[oInstanceKey];
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return allProperties;
|
|
73
|
-
};
|
|
74
|
-
BuildingBlockBase.register = function register() {
|
|
75
|
-
// To be overriden
|
|
76
|
-
};
|
|
77
|
-
BuildingBlockBase.unregister = function unregister() {
|
|
78
|
-
// To be overriden
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Add a part of string based on the condition.
|
|
83
|
-
*
|
|
84
|
-
* @param condition
|
|
85
|
-
* @param partToAdd
|
|
86
|
-
* @returns The part to add if the condition is true, otherwise an empty string
|
|
87
|
-
* @private
|
|
88
|
-
*/;
|
|
89
|
-
_proto.addConditionally = function addConditionally(condition, partToAdd) {
|
|
90
|
-
if (condition) {
|
|
91
|
-
return partToAdd;
|
|
92
|
-
} else {
|
|
93
|
-
return "";
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Add an attribute depending on the current value of the property.
|
|
98
|
-
* If it's undefined the attribute is not added.
|
|
99
|
-
*
|
|
100
|
-
* @param attributeName
|
|
101
|
-
* @param value
|
|
102
|
-
* @returns The attribute to add if the value is not undefined, otherwise an empty string
|
|
103
|
-
* @private
|
|
104
|
-
*/;
|
|
105
|
-
_proto.attr = function attr(attributeName, value) {
|
|
106
|
-
if (value !== undefined && !isUndefinedExpression(value)) {
|
|
107
|
-
return () => xml`${attributeName}="${value}"`;
|
|
108
|
-
} else {
|
|
109
|
-
return () => "";
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
return BuildingBlockBase;
|
|
113
|
-
}();
|
|
114
|
-
/**
|
|
115
|
-
* Base class for runtime building blocks
|
|
116
|
-
*/
|
|
117
|
-
_exports.BuildingBlockBase = BuildingBlockBase;
|
|
118
|
-
const ensureMetadata = function (target) {
|
|
119
|
-
if (!target.hasOwnProperty("metadata")) {
|
|
120
|
-
target.metadata = deepClone(target.metadata || {
|
|
121
|
-
properties: {},
|
|
122
|
-
aggregations: {},
|
|
123
|
-
events: {},
|
|
124
|
-
stereotype: "xmlmacro",
|
|
125
|
-
designtime: ""
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
return target.metadata;
|
|
129
|
-
};
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Decorator for building blocks.
|
|
133
|
-
*
|
|
134
|
-
* @param attributeDefinition
|
|
135
|
-
* @deprecated use `blockAttribute` instead
|
|
136
|
-
* @returns The decorated property
|
|
137
|
-
*/
|
|
138
|
-
function xmlAttribute(attributeDefinition) {
|
|
139
|
-
return function (target, propertyKey, propertyDescriptor) {
|
|
140
|
-
const metadata = ensureMetadata(target.constructor);
|
|
141
|
-
if (attributeDefinition.defaultValue === undefined) {
|
|
142
|
-
var _propertyDescriptor$i;
|
|
143
|
-
// If there is no defaultValue we can take the value from the initializer (natural way of defining defaults)
|
|
144
|
-
attributeDefinition.defaultValue = (_propertyDescriptor$i = propertyDescriptor.initializer) === null || _propertyDescriptor$i === void 0 ? void 0 : _propertyDescriptor$i.call(propertyDescriptor);
|
|
145
|
-
}
|
|
146
|
-
delete propertyDescriptor.initializer;
|
|
147
|
-
if (metadata.properties[propertyKey.toString()] === undefined) {
|
|
148
|
-
metadata.properties[propertyKey.toString()] = attributeDefinition;
|
|
149
|
-
}
|
|
150
|
-
return propertyDescriptor;
|
|
151
|
-
}; // Needed to make TS happy with those decorators;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* Indicates that the property shall be declared as an xml attribute that can be used from the outside of the building block.
|
|
156
|
-
*
|
|
157
|
-
* If defining a runtime Building Block, please make sure to use the correct typings: Depending on its metadata,
|
|
158
|
-
* a property can either be a {@link sap.ui.model.Context} (<code>type: 'sap.ui.model.Context'</code>),
|
|
159
|
-
* a constant (<code>bindable: false</code>), or a {@link BindingToolkitExpression} (<code>bindable: true</code>).
|
|
160
|
-
*
|
|
161
|
-
* @param attributeDefinition
|
|
162
|
-
* @returns The decorated property
|
|
163
|
-
*/
|
|
164
|
-
_exports.xmlAttribute = xmlAttribute;
|
|
165
|
-
function blockAttribute(attributeDefinition) {
|
|
166
|
-
return xmlAttribute(attributeDefinition);
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* Decorator for building blocks.
|
|
171
|
-
*
|
|
172
|
-
* @deprecated use `blockEvent` instead
|
|
173
|
-
* @returns The decorated property
|
|
174
|
-
*/
|
|
175
|
-
_exports.blockAttribute = blockAttribute;
|
|
176
|
-
function xmlEvent() {
|
|
177
|
-
return function (target, propertyKey, propertyDescriptor) {
|
|
178
|
-
const metadata = ensureMetadata(target.constructor);
|
|
179
|
-
delete propertyDescriptor.initializer;
|
|
180
|
-
if (metadata.events[propertyKey.toString()] === undefined) {
|
|
181
|
-
metadata.events[propertyKey.toString()] = {
|
|
182
|
-
type: "function"
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
return propertyDescriptor;
|
|
186
|
-
}; // Needed to make TS happy with those decorators;
|
|
187
|
-
}
|
|
188
|
-
_exports.xmlEvent = xmlEvent;
|
|
189
|
-
function blockEvent() {
|
|
190
|
-
return xmlEvent();
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* Decorator for building blocks.
|
|
195
|
-
*
|
|
196
|
-
* @param aggregationDefinition
|
|
197
|
-
* @returns The decorated property
|
|
198
|
-
* @deprecated use `blockAggregation` instead
|
|
199
|
-
*/
|
|
200
|
-
_exports.blockEvent = blockEvent;
|
|
201
|
-
function xmlAggregation(aggregationDefinition) {
|
|
202
|
-
return function (target, propertyKey, propertyDescriptor) {
|
|
203
|
-
const metadata = ensureMetadata(target.constructor);
|
|
204
|
-
delete propertyDescriptor.initializer;
|
|
205
|
-
if (metadata.aggregations[propertyKey] === undefined) {
|
|
206
|
-
metadata.aggregations[propertyKey] = aggregationDefinition;
|
|
207
|
-
}
|
|
208
|
-
return propertyDescriptor;
|
|
209
|
-
};
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* Indicates that the property shall be declared as an xml aggregation that can be used from the outside of the building block.
|
|
213
|
-
*
|
|
214
|
-
* @param aggregationDefinition
|
|
215
|
-
* @returns The decorated property
|
|
216
|
-
*/
|
|
217
|
-
_exports.xmlAggregation = xmlAggregation;
|
|
218
|
-
function blockAggregation(aggregationDefinition) {
|
|
219
|
-
return xmlAggregation(aggregationDefinition);
|
|
220
|
-
}
|
|
221
|
-
_exports.blockAggregation = blockAggregation;
|
|
222
|
-
const RUNTIME_BLOCKS = {};
|
|
223
|
-
function defineBuildingBlock(oBuildingBlockDefinition) {
|
|
224
|
-
return function (classDefinition) {
|
|
225
|
-
const metadata = ensureMetadata(classDefinition);
|
|
226
|
-
metadata.designtime = oBuildingBlockDefinition.designtime;
|
|
227
|
-
classDefinition.xmlTag = oBuildingBlockDefinition.name;
|
|
228
|
-
classDefinition.namespace = oBuildingBlockDefinition.namespace;
|
|
229
|
-
classDefinition.publicNamespace = oBuildingBlockDefinition.publicNamespace;
|
|
230
|
-
classDefinition.fragment = oBuildingBlockDefinition.fragment;
|
|
231
|
-
classDefinition.isOpen = oBuildingBlockDefinition.isOpen;
|
|
232
|
-
classDefinition.isRuntime = oBuildingBlockDefinition.isRuntime;
|
|
233
|
-
classDefinition.apiVersion = 2;
|
|
234
|
-
if (classDefinition.isRuntime === true) {
|
|
235
|
-
classDefinition.prototype.getTemplate = function (oNode) {
|
|
236
|
-
const className = `${oBuildingBlockDefinition.namespace}.${oBuildingBlockDefinition.name}`;
|
|
237
|
-
const extraProps = [];
|
|
238
|
-
// Function are defined as string but need to be resolved by UI5, as such we store them in an `event` property and will redispatch them later
|
|
239
|
-
const functionHolderDefinition = [];
|
|
240
|
-
const propertiesAssignedToFunction = [];
|
|
241
|
-
const functionStringInOrder = [];
|
|
242
|
-
for (const propertiesKey in metadata.properties) {
|
|
243
|
-
let propertyValue = this[propertiesKey];
|
|
244
|
-
if (propertyValue !== undefined && propertyValue !== null) {
|
|
245
|
-
if (isContext(propertyValue)) {
|
|
246
|
-
propertyValue = propertyValue.getPath();
|
|
247
|
-
}
|
|
248
|
-
if (metadata.properties[propertiesKey].type === "function") {
|
|
249
|
-
functionHolderDefinition.push(propertyValue);
|
|
250
|
-
functionStringInOrder.push(propertyValue);
|
|
251
|
-
propertiesAssignedToFunction.push(propertiesKey);
|
|
252
|
-
} else {
|
|
253
|
-
extraProps.push(xml`feBB:${propertiesKey}="${propertyValue}"`);
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
if (functionHolderDefinition.length > 0) {
|
|
258
|
-
extraProps.push(xml`functionHolder="${functionHolderDefinition.join(";")}"`);
|
|
259
|
-
extraProps.push(xml`feBB:functionStringInOrder="${functionStringInOrder.join(",")}"`);
|
|
260
|
-
extraProps.push(xml`feBB:propertiesAssignedToFunction="${propertiesAssignedToFunction.join(",")}"`);
|
|
261
|
-
}
|
|
262
|
-
for (const eventsKey in metadata.events) {
|
|
263
|
-
const eventsValue = this[eventsKey];
|
|
264
|
-
if (eventsValue !== undefined) {
|
|
265
|
-
extraProps.push(xml`feBB:${eventsKey}="${eventsValue}"`);
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
// core:require need to be defined on the node itself to be picked up due to the templating step
|
|
269
|
-
const coreRequire = oNode.getAttribute("core:require") || undefined;
|
|
270
|
-
if (coreRequire) {
|
|
271
|
-
extraProps.push(xml`core:require="${coreRequire}"`);
|
|
272
|
-
}
|
|
273
|
-
return xml`<feBB:BuildingBlockFragment
|
|
274
|
-
xmlns:core="sap.ui.core"
|
|
275
|
-
xmlns:feBB="sap.fe.core.buildingBlocks"
|
|
276
|
-
fragmentName="${className}"
|
|
277
|
-
|
|
278
|
-
id="{this>id}"
|
|
279
|
-
type="FE_COMPONENTS"
|
|
280
|
-
${extraProps}
|
|
281
|
-
>
|
|
282
|
-
</feBB:BuildingBlockFragment>`;
|
|
283
|
-
};
|
|
284
|
-
}
|
|
285
|
-
classDefinition.register = function () {
|
|
286
|
-
registerBuildingBlock(classDefinition);
|
|
287
|
-
if (classDefinition.isRuntime === true) {
|
|
288
|
-
RUNTIME_BLOCKS[`${oBuildingBlockDefinition.namespace}.${oBuildingBlockDefinition.name}`] = classDefinition;
|
|
289
|
-
}
|
|
290
|
-
};
|
|
291
|
-
classDefinition.unregister = function () {
|
|
292
|
-
XMLPreprocessor.plugIn(null, classDefinition.namespace, classDefinition.name);
|
|
293
|
-
XMLPreprocessor.plugIn(null, classDefinition.publicNamespace, classDefinition.name);
|
|
294
|
-
};
|
|
295
|
-
};
|
|
296
|
-
}
|
|
297
|
-
_exports.defineBuildingBlock = defineBuildingBlock;
|
|
298
|
-
BuildingBlockFragment.registerType("FE_COMPONENTS", {
|
|
299
|
-
load: async function (mSettings) {
|
|
300
|
-
return Promise.resolve(RUNTIME_BLOCKS[mSettings.fragmentName]);
|
|
301
|
-
},
|
|
302
|
-
init: function (mSettings) {
|
|
303
|
-
var _mSettings$customData, _mSettings$customData2, _mSettings$customData3, _mSettings$customData4, _mSettings$containing, _mSettings$containing2, _feCustomData$functio, _feCustomData$propert;
|
|
304
|
-
let MyClass = mSettings.fragmentContent;
|
|
305
|
-
if (!MyClass) {
|
|
306
|
-
// In some case we might have been called here synchronously (unstash case for instance), which means we didn't go through the load function
|
|
307
|
-
MyClass = RUNTIME_BLOCKS[mSettings.fragmentName];
|
|
308
|
-
}
|
|
309
|
-
const classSettings = {};
|
|
310
|
-
const feCustomData = (mSettings === null || mSettings === void 0 ? void 0 : (_mSettings$customData = mSettings.customData) === null || _mSettings$customData === void 0 ? void 0 : (_mSettings$customData2 = _mSettings$customData[0]) === null || _mSettings$customData2 === void 0 ? void 0 : (_mSettings$customData3 = _mSettings$customData2.mProperties) === null || _mSettings$customData3 === void 0 ? void 0 : (_mSettings$customData4 = _mSettings$customData3.value) === null || _mSettings$customData4 === void 0 ? void 0 : _mSettings$customData4["sap.fe.core.buildingBlocks"]) || {};
|
|
311
|
-
delete mSettings.customData;
|
|
312
|
-
const functionHolder = mSettings.functionHolder ?? [];
|
|
313
|
-
delete mSettings.functionHolder;
|
|
314
|
-
|
|
315
|
-
// containingView can also be a fragment, so we have to use the controller to be sure to get the actual view
|
|
316
|
-
const containingView = ((_mSettings$containing = (_mSettings$containing2 = mSettings.containingView).getController) === null || _mSettings$containing === void 0 ? void 0 : _mSettings$containing.call(_mSettings$containing2).getView()) ?? mSettings.containingView;
|
|
317
|
-
const pageComponent = Component.getOwnerComponentFor(containingView);
|
|
318
|
-
const appComponent = CommonUtils.getAppComponent(containingView);
|
|
319
|
-
const metaModel = appComponent.getMetaModel();
|
|
320
|
-
const pageModel = pageComponent.getModel("_pageModel");
|
|
321
|
-
const functionStringInOrder = (_feCustomData$functio = feCustomData.functionStringInOrder) === null || _feCustomData$functio === void 0 ? void 0 : _feCustomData$functio.split(",");
|
|
322
|
-
const propertiesAssignedToFunction = (_feCustomData$propert = feCustomData.propertiesAssignedToFunction) === null || _feCustomData$propert === void 0 ? void 0 : _feCustomData$propert.split(",");
|
|
323
|
-
for (const propertyName in MyClass.metadata.properties) {
|
|
324
|
-
const propertyMetadata = MyClass.metadata.properties[propertyName];
|
|
325
|
-
const pageModelContext = pageModel.createBindingContext(feCustomData[propertyName]);
|
|
326
|
-
if (pageModelContext === null) {
|
|
327
|
-
// value cannot be resolved, so it is either a runtime binding or a constant
|
|
328
|
-
let value = feCustomData[propertyName];
|
|
329
|
-
if (typeof value === "string") {
|
|
330
|
-
if (propertyMetadata.bindable !== true) {
|
|
331
|
-
// runtime bindings are not allowed, so convert strings into actual primitive types
|
|
332
|
-
switch (propertyMetadata.type) {
|
|
333
|
-
case "boolean":
|
|
334
|
-
value = value === "true";
|
|
335
|
-
break;
|
|
336
|
-
case "number":
|
|
337
|
-
value = Number(value);
|
|
338
|
-
break;
|
|
339
|
-
}
|
|
340
|
-
} else {
|
|
341
|
-
// runtime bindings are allowed, so resolve the values as BindingToolkit expressions
|
|
342
|
-
value = resolveBindingString(value, propertyMetadata.type);
|
|
343
|
-
}
|
|
344
|
-
} else if (propertyMetadata.type === "function") {
|
|
345
|
-
const functionIndex = propertiesAssignedToFunction.indexOf(propertyName);
|
|
346
|
-
const functionString = functionStringInOrder[functionIndex];
|
|
347
|
-
const targetFunction = functionHolder === null || functionHolder === void 0 ? void 0 : functionHolder.find(functionDef => {
|
|
348
|
-
var _functionDef$;
|
|
349
|
-
return ((_functionDef$ = functionDef[0]) === null || _functionDef$ === void 0 ? void 0 : _functionDef$._sapui_handlerName) === functionString;
|
|
350
|
-
});
|
|
351
|
-
// We use the _sapui_handlerName to identify which function is the one we want to bind here
|
|
352
|
-
if (targetFunction && targetFunction.length > 1) {
|
|
353
|
-
value = targetFunction[0].bind(targetFunction[1]);
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
classSettings[propertyName] = value;
|
|
357
|
-
} else if (pageModelContext.getObject() !== undefined) {
|
|
358
|
-
// get value from page model
|
|
359
|
-
classSettings[propertyName] = pageModelContext.getObject();
|
|
360
|
-
} else {
|
|
361
|
-
// bind to metamodel
|
|
362
|
-
classSettings[propertyName] = metaModel.createBindingContext(feCustomData[propertyName]);
|
|
363
|
-
}
|
|
364
|
-
}
|
|
365
|
-
for (const eventName in MyClass.metadata.events) {
|
|
366
|
-
if (feCustomData[eventName] !== undefined && feCustomData[eventName].startsWith(".")) {
|
|
367
|
-
classSettings[eventName] = ObjectPath.get(feCustomData[eventName].substring(1), containingView.getController());
|
|
368
|
-
} else {
|
|
369
|
-
classSettings[eventName] = ""; // For now, might need to resolve more stuff
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
return ManagedObject.runWithPreprocessors(() => {
|
|
374
|
-
const renderedControl = jsx.withContext({
|
|
375
|
-
view: containingView,
|
|
376
|
-
appComponent: appComponent
|
|
377
|
-
}, () => {
|
|
378
|
-
return new MyClass(classSettings, {}, {
|
|
379
|
-
isRuntimeInstantiation: true,
|
|
380
|
-
isPublic: false,
|
|
381
|
-
appComponent: appComponent
|
|
382
|
-
}).getContent(containingView, appComponent);
|
|
383
|
-
});
|
|
384
|
-
if (!this._bAsync) {
|
|
385
|
-
this._aContent = renderedControl;
|
|
386
|
-
}
|
|
387
|
-
return renderedControl;
|
|
388
|
-
}, {
|
|
389
|
-
id: function (sId) {
|
|
390
|
-
return containingView.createId(sId);
|
|
391
|
-
},
|
|
392
|
-
settings: function (controlSettings) {
|
|
393
|
-
const allAssociations = this.getMetadata().getAssociations();
|
|
394
|
-
for (const associationDetailName of Object.keys(allAssociations)) {
|
|
395
|
-
if (controlSettings[associationDetailName] !== undefined) {
|
|
396
|
-
// The associated elements are indicated via local IDs; we need to change the references to global ones
|
|
397
|
-
const associations = Array.isArray(controlSettings[associationDetailName]) ? controlSettings[associationDetailName] : [controlSettings[associationDetailName]];
|
|
398
|
-
|
|
399
|
-
// Create global IDs for associations given as strings, not for already resolved ManagedObjects
|
|
400
|
-
controlSettings[associationDetailName] = associations.map(association => typeof association === "string" ? mSettings.containingView.createId(association) : association);
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
return controlSettings;
|
|
404
|
-
}
|
|
405
|
-
});
|
|
406
|
-
}
|
|
407
|
-
});
|
|
408
|
-
return _exports;
|
|
409
|
-
}, false);
|
|
410
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCdWlsZGluZ0Jsb2NrQmFzZSIsInByb3BzIiwiX29Db250cm9sQ29uZmlnIiwiX29TZXR0aW5ncyIsImlzUHVibGljIiwiZ2V0Q29udmVydGVyQ29udGV4dCIsImRhdGFNb2RlbE9iamVjdFBhdGgiLCJjb250ZXh0UGF0aCIsInNldHRpbmdzIiwiZXh0cmFQYXJhbXMiLCJhcHBDb21wb25lbnQiLCJvcmlnaW5hbFZpZXdEYXRhIiwibW9kZWxzIiwidmlld0RhdGEiLCJnZXREYXRhIiwiT2JqZWN0IiwiYXNzaWduIiwicmVzb3VyY2VCdW5kbGUiLCJkZWVwQ2xvbmUiLCJjb250cm9sQ29uZmlndXJhdGlvbiIsIm1lcmdlIiwiQ29udmVydGVyQ29udGV4dCIsImNyZWF0ZUNvbnZlcnRlckNvbnRleHRGb3JNYWNybyIsInN0YXJ0aW5nRW50aXR5U2V0IiwibmFtZSIsIm1ldGFNb2RlbCIsImdldERpYWdub3N0aWNzIiwiY29udGV4dExvY2F0aW9uIiwia2V5cyIsImZvckVhY2giLCJwcm9wTmFtZSIsImNyZWF0ZUlkIiwiaWQiLCJzdHJpbmdQYXJ0cyIsImdlbmVyYXRlIiwidW5kZWZpbmVkIiwiZ2V0UHJvcGVydGllcyIsImFsbFByb3BlcnRpZXMiLCJvSW5zdGFuY2VLZXkiLCJoYXNPd25Qcm9wZXJ0eSIsInJlZ2lzdGVyIiwidW5yZWdpc3RlciIsImFkZENvbmRpdGlvbmFsbHkiLCJjb25kaXRpb24iLCJwYXJ0VG9BZGQiLCJhdHRyIiwiYXR0cmlidXRlTmFtZSIsInZhbHVlIiwiaXNVbmRlZmluZWRFeHByZXNzaW9uIiwieG1sIiwiZW5zdXJlTWV0YWRhdGEiLCJ0YXJnZXQiLCJtZXRhZGF0YSIsInByb3BlcnRpZXMiLCJhZ2dyZWdhdGlvbnMiLCJldmVudHMiLCJzdGVyZW90eXBlIiwiZGVzaWdudGltZSIsInhtbEF0dHJpYnV0ZSIsImF0dHJpYnV0ZURlZmluaXRpb24iLCJwcm9wZXJ0eUtleSIsInByb3BlcnR5RGVzY3JpcHRvciIsImNvbnN0cnVjdG9yIiwiZGVmYXVsdFZhbHVlIiwiaW5pdGlhbGl6ZXIiLCJ0b1N0cmluZyIsImJsb2NrQXR0cmlidXRlIiwieG1sRXZlbnQiLCJ0eXBlIiwiYmxvY2tFdmVudCIsInhtbEFnZ3JlZ2F0aW9uIiwiYWdncmVnYXRpb25EZWZpbml0aW9uIiwiYmxvY2tBZ2dyZWdhdGlvbiIsIlJVTlRJTUVfQkxPQ0tTIiwiZGVmaW5lQnVpbGRpbmdCbG9jayIsIm9CdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbiIsImNsYXNzRGVmaW5pdGlvbiIsInhtbFRhZyIsIm5hbWVzcGFjZSIsInB1YmxpY05hbWVzcGFjZSIsImZyYWdtZW50IiwiaXNPcGVuIiwiaXNSdW50aW1lIiwiYXBpVmVyc2lvbiIsInByb3RvdHlwZSIsImdldFRlbXBsYXRlIiwib05vZGUiLCJjbGFzc05hbWUiLCJleHRyYVByb3BzIiwiZnVuY3Rpb25Ib2xkZXJEZWZpbml0aW9uIiwicHJvcGVydGllc0Fzc2lnbmVkVG9GdW5jdGlvbiIsImZ1bmN0aW9uU3RyaW5nSW5PcmRlciIsInByb3BlcnRpZXNLZXkiLCJwcm9wZXJ0eVZhbHVlIiwiaXNDb250ZXh0IiwiZ2V0UGF0aCIsInB1c2giLCJsZW5ndGgiLCJqb2luIiwiZXZlbnRzS2V5IiwiZXZlbnRzVmFsdWUiLCJjb3JlUmVxdWlyZSIsImdldEF0dHJpYnV0ZSIsInJlZ2lzdGVyQnVpbGRpbmdCbG9jayIsIlhNTFByZXByb2Nlc3NvciIsInBsdWdJbiIsIkJ1aWxkaW5nQmxvY2tGcmFnbWVudCIsInJlZ2lzdGVyVHlwZSIsImxvYWQiLCJtU2V0dGluZ3MiLCJQcm9taXNlIiwicmVzb2x2ZSIsImZyYWdtZW50TmFtZSIsImluaXQiLCJNeUNsYXNzIiwiZnJhZ21lbnRDb250ZW50IiwiY2xhc3NTZXR0aW5ncyIsImZlQ3VzdG9tRGF0YSIsImN1c3RvbURhdGEiLCJtUHJvcGVydGllcyIsImZ1bmN0aW9uSG9sZGVyIiwiY29udGFpbmluZ1ZpZXciLCJnZXRDb250cm9sbGVyIiwiZ2V0VmlldyIsInBhZ2VDb21wb25lbnQiLCJDb21wb25lbnQiLCJnZXRPd25lckNvbXBvbmVudEZvciIsIkNvbW1vblV0aWxzIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0TWV0YU1vZGVsIiwicGFnZU1vZGVsIiwiZ2V0TW9kZWwiLCJzcGxpdCIsInByb3BlcnR5TmFtZSIsInByb3BlcnR5TWV0YWRhdGEiLCJwYWdlTW9kZWxDb250ZXh0IiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJiaW5kYWJsZSIsIk51bWJlciIsInJlc29sdmVCaW5kaW5nU3RyaW5nIiwiZnVuY3Rpb25JbmRleCIsImluZGV4T2YiLCJmdW5jdGlvblN0cmluZyIsInRhcmdldEZ1bmN0aW9uIiwiZmluZCIsImZ1bmN0aW9uRGVmIiwiX3NhcHVpX2hhbmRsZXJOYW1lIiwiYmluZCIsImdldE9iamVjdCIsImV2ZW50TmFtZSIsInN0YXJ0c1dpdGgiLCJPYmplY3RQYXRoIiwiZ2V0Iiwic3Vic3RyaW5nIiwiTWFuYWdlZE9iamVjdCIsInJ1bldpdGhQcmVwcm9jZXNzb3JzIiwicmVuZGVyZWRDb250cm9sIiwianN4Iiwid2l0aENvbnRleHQiLCJ2aWV3IiwiaXNSdW50aW1lSW5zdGFudGlhdGlvbiIsImdldENvbnRlbnQiLCJfYkFzeW5jIiwiX2FDb250ZW50Iiwic0lkIiwiY29udHJvbFNldHRpbmdzIiwiYWxsQXNzb2NpYXRpb25zIiwiZ2V0TWV0YWRhdGEiLCJnZXRBc3NvY2lhdGlvbnMiLCJhc3NvY2lhdGlvbkRldGFpbE5hbWUiLCJhc3NvY2lhdGlvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJtYXAiLCJhc3NvY2lhdGlvbiJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiQnVpbGRpbmdCbG9jay50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVlcENsb25lIGZyb20gXCJzYXAvYmFzZS91dGlsL2RlZXBDbG9uZVwiO1xuaW1wb3J0IG1lcmdlIGZyb20gXCJzYXAvYmFzZS91dGlsL21lcmdlXCI7XG5pbXBvcnQgT2JqZWN0UGF0aCBmcm9tIFwic2FwL2Jhc2UvdXRpbC9PYmplY3RQYXRoXCI7XG5pbXBvcnQgdHlwZSBBcHBDb21wb25lbnQgZnJvbSBcInNhcC9mZS9jb3JlL0FwcENvbXBvbmVudFwiO1xuaW1wb3J0IEJ1aWxkaW5nQmxvY2tGcmFnbWVudCBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvQnVpbGRpbmdCbG9ja0ZyYWdtZW50XCI7XG5pbXBvcnQgdHlwZSB7IFRlbXBsYXRlUHJvY2Vzc29yU2V0dGluZ3MsIFhNTFByb2Nlc3NvclR5cGVWYWx1ZSB9IGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrUnVudGltZVwiO1xuaW1wb3J0IHsgcmVnaXN0ZXJCdWlsZGluZ0Jsb2NrLCB4bWwgfSBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvQnVpbGRpbmdCbG9ja1J1bnRpbWVcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIHsgQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGlzVW5kZWZpbmVkRXhwcmVzc2lvbiwgcmVzb2x2ZUJpbmRpbmdTdHJpbmcgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nVG9vbGtpdFwiO1xuaW1wb3J0IHsgZ2VuZXJhdGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9TdGFibGVJZEhlbHBlclwiO1xuaW1wb3J0IHsgaXNDb250ZXh0IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvVHlwZUd1YXJkc1wiO1xuaW1wb3J0IGpzeCBmcm9tIFwic2FwL2ZlL2NvcmUvanN4LXJ1bnRpbWUvanN4XCI7XG5pbXBvcnQgdHlwZSBUZW1wbGF0ZUNvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvVGVtcGxhdGVDb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgRGF0YU1vZGVsT2JqZWN0UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0RhdGFNb2RlbFBhdGhIZWxwZXJcIjtcbmltcG9ydCBNYW5hZ2VkT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0XCI7XG5pbXBvcnQgQ29tcG9uZW50IGZyb20gXCJzYXAvdWkvY29yZS9Db21wb25lbnRcIjtcbmltcG9ydCB0eXBlIFZpZXcgZnJvbSBcInNhcC91aS9jb3JlL212Yy9WaWV3XCI7XG5pbXBvcnQgWE1MUHJlcHJvY2Vzc29yIGZyb20gXCJzYXAvdWkvY29yZS91dGlsL1hNTFByZXByb2Nlc3NvclwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL21kYy9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgeyBNYW5hZ2VkT2JqZWN0RXggfSBmcm9tIFwidHlwZXMvZXh0ZW5zaW9uX3R5cGVzXCI7XG5pbXBvcnQgQ29udmVydGVyQ29udGV4dCBmcm9tIFwiLi4vY29udmVydGVycy9Db252ZXJ0ZXJDb250ZXh0XCI7XG5cbmV4cG9ydCB0eXBlIE9iamVjdFZhbHVlMiA9IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgfCBDb250ZXh0IHwgdW5kZWZpbmVkIHwgb2JqZWN0IHwgbnVsbDtcbnR5cGUgT2JqZWN0VmFsdWUzPFQ+ID0gVCB8IFJlY29yZDxzdHJpbmcsIFQ+IHwgVFtdO1xuZXhwb3J0IHR5cGUgT2JqZWN0VmFsdWUgPSBPYmplY3RWYWx1ZTM8T2JqZWN0VmFsdWUyIHwgUmVjb3JkPHN0cmluZywgT2JqZWN0VmFsdWUyPiB8IE9iamVjdFZhbHVlMltdPjtcblxuLy8gVHlwZSBmb3IgdGhlIGFjY2Vzc29yIGRlY29yYXRvciB0aGF0IHdlIGVuZCB1cCB3aXRoIGluIGJhYmVsLlxudHlwZSBBY2Nlc3NvckRlc2NyaXB0b3I8VD4gPSBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxUPiAmIHsgaW5pdGlhbGl6ZXI/OiAoKSA9PiBUIH07XG5leHBvcnQgdHlwZSBCdWlsZGluZ0Jsb2NrRXh0cmFTZXR0aW5ncyA9IHtcblx0aXNQdWJsaWM6IGJvb2xlYW47XG5cdGlzUnVudGltZUluc3RhbnRpYXRpb24/OiBib29sZWFuO1xuXHRhcHBDb21wb25lbnQ6IEFwcENvbXBvbmVudDtcbn07XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgQnVpbGRpbmcgQmxvY2tcbiAqL1xuZXhwb3J0IGNsYXNzIEJ1aWxkaW5nQmxvY2tCYXNlIHtcblx0cHJvdGVjdGVkIGlzUHVibGljID0gZmFsc2U7XG5cdHByb3RlY3RlZCBpZCE6IHN0cmluZztcblx0Y29uc3RydWN0b3IocHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBfb0NvbnRyb2xDb25maWc/OiB1bmtub3duLCBfb1NldHRpbmdzPzogQnVpbGRpbmdCbG9ja0V4dHJhU2V0dGluZ3MpIHtcblx0XHRPYmplY3Qua2V5cyhwcm9wcykuZm9yRWFjaCgocHJvcE5hbWUpID0+IHtcblx0XHRcdHRoaXNbcHJvcE5hbWUgYXMga2V5b2YgdGhpc10gPSBwcm9wc1twcm9wTmFtZV0gYXMgbmV2ZXI7XG5cdFx0fSk7XG5cdH1cblx0LyoqXG5cdCAqIE9ubHkgdXNlZCBpbnRlcm5hbGx5XG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRwdWJsaWMgZ2V0VGVtcGxhdGU/KG9Ob2RlPzogRWxlbWVudCk6IHN0cmluZyB8IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB8IHVuZGVmaW5lZDtcblxuXHQvKipcblx0ICogQ29udmVydCB0aGUgZ2l2ZW4gbG9jYWwgZWxlbWVudCBJRCB0byBhIGdsb2JhbGx5IHVuaXF1ZSBJRCBieSBwcmVmaXhpbmcgd2l0aCB0aGUgQnVpbGRpbmcgQmxvY2sgSUQuXG5cdCAqXG5cdCAqIEBwYXJhbSBzdHJpbmdQYXJ0c1xuXHQgKiBAcmV0dXJucyBFaXRoZXIgdGhlIGdsb2JhbCBJRCBvciB1bmRlZmluZWQgaWYgdGhlIEJ1aWxkaW5nIEJsb2NrIGRvZXNuJ3QgaGF2ZSBhbiBJRFxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0cHJvdGVjdGVkIGNyZWF0ZUlkKC4uLnN0cmluZ1BhcnRzOiBzdHJpbmdbXSkge1xuXHRcdC8vIElmIHRoZSBjaGlsZCBpbnN0YW5jZSBoYXMgYW4gSUQgcHJvcGVydHkgdXNlIGl0IG90aGVyd2lzZSByZXR1cm4gdW5kZWZpbmVkXG5cdFx0aWYgKHRoaXMuaWQpIHtcblx0XHRcdHJldHVybiBnZW5lcmF0ZShbdGhpcy5pZCwgLi4uc3RyaW5nUGFydHNdKTtcblx0XHR9XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXHRwcm90ZWN0ZWQgZ2V0Q29udmVydGVyQ29udGV4dCA9IGZ1bmN0aW9uIChcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoLFxuXHRcdGNvbnRleHRQYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQsXG5cdFx0c2V0dGluZ3M6IFRlbXBsYXRlUHJvY2Vzc29yU2V0dGluZ3MsXG5cdFx0ZXh0cmFQYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuXHQpIHtcblx0XHRjb25zdCBhcHBDb21wb25lbnQgPSBzZXR0aW5ncy5hcHBDb21wb25lbnQ7XG5cdFx0Y29uc3Qgb3JpZ2luYWxWaWV3RGF0YSA9IHNldHRpbmdzLm1vZGVscy52aWV3RGF0YT8uZ2V0RGF0YSgpO1xuXHRcdGxldCB2aWV3RGF0YSA9IE9iamVjdC5hc3NpZ24oe30sIG9yaWdpbmFsVmlld0RhdGEpO1xuXHRcdGRlbGV0ZSB2aWV3RGF0YS5yZXNvdXJjZUJ1bmRsZTtcblx0XHR2aWV3RGF0YSA9IGRlZXBDbG9uZSh2aWV3RGF0YSk7XG5cdFx0dmlld0RhdGEuY29udHJvbENvbmZpZ3VyYXRpb24gPSBtZXJnZSh2aWV3RGF0YS5jb250cm9sQ29uZmlndXJhdGlvbiwgZXh0cmFQYXJhbXMgfHwge30pO1xuXHRcdHJldHVybiBDb252ZXJ0ZXJDb250ZXh0LmNyZWF0ZUNvbnZlcnRlckNvbnRleHRGb3JNYWNybyhcblx0XHRcdGRhdGFNb2RlbE9iamVjdFBhdGguc3RhcnRpbmdFbnRpdHlTZXQubmFtZSxcblx0XHRcdHNldHRpbmdzLm1vZGVscy5tZXRhTW9kZWwsXG5cdFx0XHRhcHBDb21wb25lbnQ/LmdldERpYWdub3N0aWNzKCksXG5cdFx0XHRtZXJnZSxcblx0XHRcdGRhdGFNb2RlbE9iamVjdFBhdGguY29udGV4dExvY2F0aW9uLFxuXHRcdFx0dmlld0RhdGFcblx0XHQpO1xuXHR9O1xuXG5cdC8qKlxuXHQgKiBPbmx5IHVzZWQgaW50ZXJuYWxseS5cblx0ICpcblx0ICogQHJldHVybnMgQWxsIHRoZSBwcm9wZXJ0aWVzIGRlZmluZWQgb24gdGhlIG9iamVjdCB3aXRoIHRoZWlyIHZhbHVlc1xuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0cHVibGljIGdldFByb3BlcnRpZXMoKSB7XG5cdFx0Y29uc3QgYWxsUHJvcGVydGllczogUmVjb3JkPHN0cmluZywgT2JqZWN0VmFsdWU+ID0ge307XG5cdFx0Zm9yIChjb25zdCBvSW5zdGFuY2VLZXkgaW4gdGhpcykge1xuXHRcdFx0aWYgKHRoaXMuaGFzT3duUHJvcGVydHkob0luc3RhbmNlS2V5KSkge1xuXHRcdFx0XHRhbGxQcm9wZXJ0aWVzW29JbnN0YW5jZUtleV0gPSB0aGlzW29JbnN0YW5jZUtleV0gYXMgdW5rbm93biBhcyBPYmplY3RWYWx1ZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIGFsbFByb3BlcnRpZXM7XG5cdH1cblx0c3RhdGljIHJlZ2lzdGVyKCkge1xuXHRcdC8vIFRvIGJlIG92ZXJyaWRlblxuXHR9XG5cdHN0YXRpYyB1bnJlZ2lzdGVyKCkge1xuXHRcdC8vIFRvIGJlIG92ZXJyaWRlblxuXHR9XG5cblx0LyoqXG5cdCAqIEFkZCBhIHBhcnQgb2Ygc3RyaW5nIGJhc2VkIG9uIHRoZSBjb25kaXRpb24uXG5cdCAqXG5cdCAqIEBwYXJhbSBjb25kaXRpb25cblx0ICogQHBhcmFtIHBhcnRUb0FkZFxuXHQgKiBAcmV0dXJucyBUaGUgcGFydCB0byBhZGQgaWYgdGhlIGNvbmRpdGlvbiBpcyB0cnVlLCBvdGhlcndpc2UgYW4gZW1wdHkgc3RyaW5nXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRwcm90ZWN0ZWQgYWRkQ29uZGl0aW9uYWxseShjb25kaXRpb246IGJvb2xlYW4sIHBhcnRUb0FkZDogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRpZiAoY29uZGl0aW9uKSB7XG5cdFx0XHRyZXR1cm4gcGFydFRvQWRkO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gXCJcIjtcblx0XHR9XG5cdH1cblx0LyoqXG5cdCAqIEFkZCBhbiBhdHRyaWJ1dGUgZGVwZW5kaW5nIG9uIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBwcm9wZXJ0eS5cblx0ICogSWYgaXQncyB1bmRlZmluZWQgdGhlIGF0dHJpYnV0ZSBpcyBub3QgYWRkZWQuXG5cdCAqXG5cdCAqIEBwYXJhbSBhdHRyaWJ1dGVOYW1lXG5cdCAqIEBwYXJhbSB2YWx1ZVxuXHQgKiBAcmV0dXJucyBUaGUgYXR0cmlidXRlIHRvIGFkZCBpZiB0aGUgdmFsdWUgaXMgbm90IHVuZGVmaW5lZCwgb3RoZXJ3aXNlIGFuIGVtcHR5IHN0cmluZ1xuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0cHJvdGVjdGVkIGF0dHIoYXR0cmlidXRlTmFtZTogc3RyaW5nLCB2YWx1ZT86IFhNTFByb2Nlc3NvclR5cGVWYWx1ZSk6ICgpID0+IHN0cmluZyB7XG5cdFx0aWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgIWlzVW5kZWZpbmVkRXhwcmVzc2lvbih2YWx1ZSkpIHtcblx0XHRcdHJldHVybiAoKSA9PiB4bWxgJHthdHRyaWJ1dGVOYW1lfT1cIiR7dmFsdWV9XCJgO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gKCkgPT4gXCJcIjtcblx0XHR9XG5cdH1cbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBydW50aW1lIGJ1aWxkaW5nIGJsb2Nrc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bnRpbWVCdWlsZGluZ0Jsb2NrIGV4dGVuZHMgQnVpbGRpbmdCbG9ja0Jhc2Uge1xuXHRnZXRDb250ZW50KGNvbnRhaW5pbmdWaWV3OiBWaWV3LCBhcHBDb21wb25lbnQ6IEFwcENvbXBvbmVudCk6IENvbnRyb2w7XG59XG5cbmV4cG9ydCB0eXBlIEJ1aWxkaW5nQmxvY2tQcm9wZXJ0eURlZmluaXRpb24gPSB7XG5cdHR5cGU6IHN0cmluZztcblx0aXNQdWJsaWM/OiBib29sZWFuO1xuXHRkZWZhdWx0VmFsdWU/OiB1bmtub3duO1xuXHQvKiogVGhpcyBwcm9wZXJ0eSBpcyBvbmx5IGV2YWx1YXRlZCBpbiB0aGUgVjEgQVBJICovXG5cdGNvbXB1dGVkPzogYm9vbGVhbjtcblx0cmVxdWlyZWQ/OiBib29sZWFuO1xuXHQvKiogVGhpcyBwcm9wZXJ0eSBpcyBvbmx5IGNvbnNpZGVyZWQgZm9yIHJ1bnRpbWUgYnVpbGRpbmcgYmxvY2tzICovXG5cdGJpbmRhYmxlPzogYm9vbGVhbjtcblx0JGtpbmQ/OiBzdHJpbmdbXTtcblx0JFR5cGU/OiBzdHJpbmdbXTtcblx0LyoqIEZ1bmN0aW9uIHRoYXQgYWxsb3dzIHRvIHZhbGlkYXRlIG9yIHRyYW5zZm9ybSB0aGUgZ2l2ZW4gaW5wdXQgKi9cblx0dmFsaWRhdGU/OiBGdW5jdGlvbjtcbn07XG5leHBvcnQgdHlwZSBCdWlsZGluZ0Jsb2NrTWV0YWRhdGFDb250ZXh0RGVmaW5pdGlvbiA9IHtcblx0dHlwZTogc3RyaW5nO1xuXHRpc1B1YmxpYz86IGJvb2xlYW47XG5cdHJlcXVpcmVkPzogYm9vbGVhbjtcblx0LyoqIFRoaXMgcHJvcGVydHkgaXMgb25seSBldmFsdWF0ZWQgaW4gdGhlIFYxIEFQSSAqL1xuXHRjb21wdXRlZD86IGJvb2xlYW47XG5cdCRUeXBlPzogc3RyaW5nW107XG5cdCRraW5kPzogc3RyaW5nW107XG59O1xuZXhwb3J0IHR5cGUgQnVpbGRpbmdCbG9ja0V2ZW50ID0ge307XG5leHBvcnQgdHlwZSBCdWlsZGluZ0Jsb2NrQWdncmVnYXRpb25EZWZpbml0aW9uID0ge1xuXHRpc1B1YmxpYz86IGJvb2xlYW47XG5cdHR5cGU6IHN0cmluZztcblx0c2xvdD86IHN0cmluZztcblx0aXNEZWZhdWx0PzogYm9vbGVhbjtcblx0LyoqIERlZmluZXMgd2hldGhlciB0aGUgZWxlbWVudCBpcyBiYXNlZCBvbiBhbiBhY3R1YWwgbm9kZSB0aGF0IHdpbGwgYmUgcmVuZGVyZWQgb3Igb25seSBvbiBYTUwgdGhhdCB3aWxsIGJlIGludGVycHJldGVkICovXG5cdGhhc1ZpcnR1YWxOb2RlPzogYm9vbGVhbjtcblx0cHJvY2Vzc0FnZ3JlZ2F0aW9ucz86IEZ1bmN0aW9uO1xufTtcbnR5cGUgQ29tbW9uQnVpbGRpbmdCbG9ja0RlZmluaXRpb24gPSB7XG5cdG5hbWVzcGFjZTogc3RyaW5nO1xuXHRuYW1lOiBzdHJpbmc7XG5cdHhtbFRhZz86IHN0cmluZztcblx0ZnJhZ21lbnQ/OiBzdHJpbmc7XG5cdHB1YmxpY05hbWVzcGFjZT86IHN0cmluZztcblx0ZGVzaWdudGltZT86IHN0cmluZztcblx0aXNSdW50aW1lPzogYm9vbGVhbjtcblx0aXNPcGVuPzogYm9vbGVhbjtcbn07XG5leHBvcnQgdHlwZSBCdWlsZGluZ0Jsb2NrRGVmaW5pdGlvblYyID0gQ29tbW9uQnVpbGRpbmdCbG9ja0RlZmluaXRpb24gJlxuXHQobmV3ICgpID0+IEJ1aWxkaW5nQmxvY2tCYXNlKSAmXG5cdHR5cGVvZiBCdWlsZGluZ0Jsb2NrQmFzZSAmIHtcblx0XHRhcGlWZXJzaW9uOiAyO1xuXHRcdGdldFRlbXBsYXRlPzogRnVuY3Rpb247XG5cdFx0bWV0YWRhdGE6IEJ1aWxkaW5nQmxvY2tNZXRhZGF0YTtcblx0fTtcblxuZXhwb3J0IHR5cGUgQnVpbGRpbmdCbG9ja0RlZmluaXRpb25WMSA9IENvbW1vbkJ1aWxkaW5nQmxvY2tEZWZpbml0aW9uICYge1xuXHRuYW1lOiBzdHJpbmc7XG5cdGFwaVZlcnNpb24/OiAxO1xuXHRjcmVhdGU/OiBGdW5jdGlvbjtcblx0Z2V0VGVtcGxhdGU/OiBGdW5jdGlvbjtcblx0bWV0YWRhdGE6IEJ1aWxkaW5nQmxvY2tNZXRhZGF0YTtcbn07XG5leHBvcnQgdHlwZSBCdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbiA9IEJ1aWxkaW5nQmxvY2tEZWZpbml0aW9uVjIgfCBCdWlsZGluZ0Jsb2NrRGVmaW5pdGlvblYxO1xuZXhwb3J0IHR5cGUgQnVpbGRpbmdCbG9ja01ldGFkYXRhID0ge1xuXHRldmVudHM6IFJlY29yZDxzdHJpbmcsIEJ1aWxkaW5nQmxvY2tFdmVudD47XG5cdHByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIEJ1aWxkaW5nQmxvY2tQcm9wZXJ0eURlZmluaXRpb24+O1xuXHRhZ2dyZWdhdGlvbnM6IFJlY29yZDxzdHJpbmcsIEJ1aWxkaW5nQmxvY2tBZ2dyZWdhdGlvbkRlZmluaXRpb24+O1xuXHRzdGVyZW90eXBlPzogc3RyaW5nO1xuXHRkZXNpZ250aW1lPzogc3RyaW5nO1xufTtcblxuY29uc3QgZW5zdXJlTWV0YWRhdGEgPSBmdW5jdGlvbiAodGFyZ2V0OiBQYXJ0aWFsPEJ1aWxkaW5nQmxvY2tEZWZpbml0aW9uVjI+KTogQnVpbGRpbmdCbG9ja01ldGFkYXRhIHtcblx0aWYgKCF0YXJnZXQuaGFzT3duUHJvcGVydHkoXCJtZXRhZGF0YVwiKSkge1xuXHRcdHRhcmdldC5tZXRhZGF0YSA9IGRlZXBDbG9uZShcblx0XHRcdHRhcmdldC5tZXRhZGF0YSB8fCB7XG5cdFx0XHRcdHByb3BlcnRpZXM6IHt9LFxuXHRcdFx0XHRhZ2dyZWdhdGlvbnM6IHt9LFxuXHRcdFx0XHRldmVudHM6IHt9LFxuXHRcdFx0XHRzdGVyZW90eXBlOiBcInhtbG1hY3JvXCIsXG5cdFx0XHRcdGRlc2lnbnRpbWU6IFwiXCJcblx0XHRcdH1cblx0XHQpO1xuXHR9XG5cdHJldHVybiB0YXJnZXQubWV0YWRhdGEgYXMgQnVpbGRpbmdCbG9ja01ldGFkYXRhO1xufTtcblxuLyoqXG4gKiBEZWNvcmF0b3IgZm9yIGJ1aWxkaW5nIGJsb2Nrcy5cbiAqXG4gKiBAcGFyYW0gYXR0cmlidXRlRGVmaW5pdGlvblxuICogQGRlcHJlY2F0ZWQgdXNlIGBibG9ja0F0dHJpYnV0ZWAgaW5zdGVhZFxuICogQHJldHVybnMgVGhlIGRlY29yYXRlZCBwcm9wZXJ0eVxuICovXG5leHBvcnQgZnVuY3Rpb24geG1sQXR0cmlidXRlKGF0dHJpYnV0ZURlZmluaXRpb246IEJ1aWxkaW5nQmxvY2tQcm9wZXJ0eURlZmluaXRpb24pOiBQcm9wZXJ0eURlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBCdWlsZGluZ0Jsb2NrQmFzZSwgcHJvcGVydHlLZXk6IHN0cmluZyB8IFN5bWJvbCwgcHJvcGVydHlEZXNjcmlwdG9yOiBBY2Nlc3NvckRlc2NyaXB0b3I8dW5rbm93bj4pIHtcblx0XHRjb25zdCBtZXRhZGF0YSA9IGVuc3VyZU1ldGFkYXRhKHRhcmdldC5jb25zdHJ1Y3Rvcik7XG5cdFx0aWYgKGF0dHJpYnV0ZURlZmluaXRpb24uZGVmYXVsdFZhbHVlID09PSB1bmRlZmluZWQpIHtcblx0XHRcdC8vIElmIHRoZXJlIGlzIG5vIGRlZmF1bHRWYWx1ZSB3ZSBjYW4gdGFrZSB0aGUgdmFsdWUgZnJvbSB0aGUgaW5pdGlhbGl6ZXIgKG5hdHVyYWwgd2F5IG9mIGRlZmluaW5nIGRlZmF1bHRzKVxuXHRcdFx0YXR0cmlidXRlRGVmaW5pdGlvbi5kZWZhdWx0VmFsdWUgPSBwcm9wZXJ0eURlc2NyaXB0b3IuaW5pdGlhbGl6ZXI/LigpO1xuXHRcdH1cblx0XHRkZWxldGUgcHJvcGVydHlEZXNjcmlwdG9yLmluaXRpYWxpemVyO1xuXHRcdGlmIChtZXRhZGF0YS5wcm9wZXJ0aWVzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldID09PSB1bmRlZmluZWQpIHtcblx0XHRcdG1ldGFkYXRhLnByb3BlcnRpZXNbcHJvcGVydHlLZXkudG9TdHJpbmcoKV0gPSBhdHRyaWJ1dGVEZWZpbml0aW9uO1xuXHRcdH1cblxuXHRcdHJldHVybiBwcm9wZXJ0eURlc2NyaXB0b3I7XG5cdH0gYXMgdW5rbm93biBhcyBQcm9wZXJ0eURlY29yYXRvcjsgLy8gTmVlZGVkIHRvIG1ha2UgVFMgaGFwcHkgd2l0aCB0aG9zZSBkZWNvcmF0b3JzO1xufVxuXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IHRoZSBwcm9wZXJ0eSBzaGFsbCBiZSBkZWNsYXJlZCBhcyBhbiB4bWwgYXR0cmlidXRlIHRoYXQgY2FuIGJlIHVzZWQgZnJvbSB0aGUgb3V0c2lkZSBvZiB0aGUgYnVpbGRpbmcgYmxvY2suXG4gKlxuICogSWYgZGVmaW5pbmcgYSBydW50aW1lIEJ1aWxkaW5nIEJsb2NrLCBwbGVhc2UgbWFrZSBzdXJlIHRvIHVzZSB0aGUgY29ycmVjdCB0eXBpbmdzOiBEZXBlbmRpbmcgb24gaXRzIG1ldGFkYXRhLFxuICogYSBwcm9wZXJ0eSBjYW4gZWl0aGVyIGJlIGEge0BsaW5rIHNhcC51aS5tb2RlbC5Db250ZXh0fSAoPGNvZGU+dHlwZTogJ3NhcC51aS5tb2RlbC5Db250ZXh0JzwvY29kZT4pLFxuICogYSBjb25zdGFudCAoPGNvZGU+YmluZGFibGU6IGZhbHNlPC9jb2RlPiksIG9yIGEge0BsaW5rIEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbn0gKDxjb2RlPmJpbmRhYmxlOiB0cnVlPC9jb2RlPikuXG4gKlxuICogQHBhcmFtIGF0dHJpYnV0ZURlZmluaXRpb25cbiAqIEByZXR1cm5zIFRoZSBkZWNvcmF0ZWQgcHJvcGVydHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJsb2NrQXR0cmlidXRlKGF0dHJpYnV0ZURlZmluaXRpb246IEJ1aWxkaW5nQmxvY2tQcm9wZXJ0eURlZmluaXRpb24pOiBQcm9wZXJ0eURlY29yYXRvciB7XG5cdHJldHVybiB4bWxBdHRyaWJ1dGUoYXR0cmlidXRlRGVmaW5pdGlvbik7XG59XG5cbi8qKlxuICogRGVjb3JhdG9yIGZvciBidWlsZGluZyBibG9ja3MuXG4gKlxuICogQGRlcHJlY2F0ZWQgdXNlIGBibG9ja0V2ZW50YCBpbnN0ZWFkXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB4bWxFdmVudCgpOiBQcm9wZXJ0eURlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBCdWlsZGluZ0Jsb2NrQmFzZSwgcHJvcGVydHlLZXk6IHN0cmluZyB8IFN5bWJvbCwgcHJvcGVydHlEZXNjcmlwdG9yOiBBY2Nlc3NvckRlc2NyaXB0b3I8dW5rbm93bj4pIHtcblx0XHRjb25zdCBtZXRhZGF0YSA9IGVuc3VyZU1ldGFkYXRhKHRhcmdldC5jb25zdHJ1Y3Rvcik7XG5cdFx0ZGVsZXRlIHByb3BlcnR5RGVzY3JpcHRvci5pbml0aWFsaXplcjtcblx0XHRpZiAobWV0YWRhdGEuZXZlbnRzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldID09PSB1bmRlZmluZWQpIHtcblx0XHRcdG1ldGFkYXRhLmV2ZW50c1twcm9wZXJ0eUtleS50b1N0cmluZygpXSA9IHsgdHlwZTogXCJmdW5jdGlvblwiIH07XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHByb3BlcnR5RGVzY3JpcHRvcjtcblx0fSBhcyB1bmtub3duIGFzIFByb3BlcnR5RGVjb3JhdG9yOyAvLyBOZWVkZWQgdG8gbWFrZSBUUyBoYXBweSB3aXRoIHRob3NlIGRlY29yYXRvcnM7XG59XG5leHBvcnQgZnVuY3Rpb24gYmxvY2tFdmVudCgpOiBQcm9wZXJ0eURlY29yYXRvciB7XG5cdHJldHVybiB4bWxFdmVudCgpO1xufVxuXG4vKipcbiAqIERlY29yYXRvciBmb3IgYnVpbGRpbmcgYmxvY2tzLlxuICpcbiAqIEBwYXJhbSBhZ2dyZWdhdGlvbkRlZmluaXRpb25cbiAqIEByZXR1cm5zIFRoZSBkZWNvcmF0ZWQgcHJvcGVydHlcbiAqIEBkZXByZWNhdGVkIHVzZSBgYmxvY2tBZ2dyZWdhdGlvbmAgaW5zdGVhZFxuICovXG5leHBvcnQgZnVuY3Rpb24geG1sQWdncmVnYXRpb24oYWdncmVnYXRpb25EZWZpbml0aW9uOiBCdWlsZGluZ0Jsb2NrQWdncmVnYXRpb25EZWZpbml0aW9uKTogUHJvcGVydHlEZWNvcmF0b3Ige1xuXHRyZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogQnVpbGRpbmdCbG9ja0Jhc2UsIHByb3BlcnR5S2V5OiBzdHJpbmcsIHByb3BlcnR5RGVzY3JpcHRvcjogQWNjZXNzb3JEZXNjcmlwdG9yPHVua25vd24+KSB7XG5cdFx0Y29uc3QgbWV0YWRhdGEgPSBlbnN1cmVNZXRhZGF0YSh0YXJnZXQuY29uc3RydWN0b3IpO1xuXHRcdGRlbGV0ZSBwcm9wZXJ0eURlc2NyaXB0b3IuaW5pdGlhbGl6ZXI7XG5cdFx0aWYgKG1ldGFkYXRhLmFnZ3JlZ2F0aW9uc1twcm9wZXJ0eUtleV0gPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0bWV0YWRhdGEuYWdncmVnYXRpb25zW3Byb3BlcnR5S2V5XSA9IGFnZ3JlZ2F0aW9uRGVmaW5pdGlvbjtcblx0XHR9XG5cblx0XHRyZXR1cm4gcHJvcGVydHlEZXNjcmlwdG9yO1xuXHR9IGFzIHVua25vd24gYXMgUHJvcGVydHlEZWNvcmF0b3I7XG59XG4vKipcbiAqIEluZGljYXRlcyB0aGF0IHRoZSBwcm9wZXJ0eSBzaGFsbCBiZSBkZWNsYXJlZCBhcyBhbiB4bWwgYWdncmVnYXRpb24gdGhhdCBjYW4gYmUgdXNlZCBmcm9tIHRoZSBvdXRzaWRlIG9mIHRoZSBidWlsZGluZyBibG9jay5cbiAqXG4gKiBAcGFyYW0gYWdncmVnYXRpb25EZWZpbml0aW9uXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBibG9ja0FnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uRGVmaW5pdGlvbjogQnVpbGRpbmdCbG9ja0FnZ3JlZ2F0aW9uRGVmaW5pdGlvbik6IFByb3BlcnR5RGVjb3JhdG9yIHtcblx0cmV0dXJuIHhtbEFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uRGVmaW5pdGlvbik7XG59XG5jb25zdCBSVU5USU1FX0JMT0NLUzogUmVjb3JkPHN0cmluZywgUnVudGltZUJ1aWxkaW5nQmxvY2sgJiBCdWlsZGluZ0Jsb2NrRGVmaW5pdGlvblYyPiA9IHt9O1xuZXhwb3J0IGZ1bmN0aW9uIGRlZmluZUJ1aWxkaW5nQmxvY2sob0J1aWxkaW5nQmxvY2tEZWZpbml0aW9uOiBDb21tb25CdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbik6IENsYXNzRGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uIChjbGFzc0RlZmluaXRpb246IFBhcnRpYWw8QnVpbGRpbmdCbG9ja0RlZmluaXRpb25WMj4pIHtcblx0XHRjb25zdCBtZXRhZGF0YSA9IGVuc3VyZU1ldGFkYXRhKGNsYXNzRGVmaW5pdGlvbik7XG5cdFx0bWV0YWRhdGEuZGVzaWdudGltZSA9IG9CdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbi5kZXNpZ250aW1lO1xuXHRcdGNsYXNzRGVmaW5pdGlvbi54bWxUYWcgPSBvQnVpbGRpbmdCbG9ja0RlZmluaXRpb24ubmFtZTtcblx0XHRjbGFzc0RlZmluaXRpb24ubmFtZXNwYWNlID0gb0J1aWxkaW5nQmxvY2tEZWZpbml0aW9uLm5hbWVzcGFjZTtcblx0XHRjbGFzc0RlZmluaXRpb24ucHVibGljTmFtZXNwYWNlID0gb0J1aWxkaW5nQmxvY2tEZWZpbml0aW9uLnB1YmxpY05hbWVzcGFjZTtcblx0XHRjbGFzc0RlZmluaXRpb24uZnJhZ21lbnQgPSBvQnVpbGRpbmdCbG9ja0RlZmluaXRpb24uZnJhZ21lbnQ7XG5cdFx0Y2xhc3NEZWZpbml0aW9uLmlzT3BlbiA9IG9CdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbi5pc09wZW47XG5cdFx0Y2xhc3NEZWZpbml0aW9uLmlzUnVudGltZSA9IG9CdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbi5pc1J1bnRpbWU7XG5cdFx0Y2xhc3NEZWZpbml0aW9uLmFwaVZlcnNpb24gPSAyO1xuXHRcdGlmIChjbGFzc0RlZmluaXRpb24uaXNSdW50aW1lID09PSB0cnVlKSB7XG5cdFx0XHRjbGFzc0RlZmluaXRpb24ucHJvdG90eXBlLmdldFRlbXBsYXRlID0gZnVuY3Rpb24gKG9Ob2RlOiBFbGVtZW50KSB7XG5cdFx0XHRcdGNvbnN0IGNsYXNzTmFtZSA9IGAke29CdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbi5uYW1lc3BhY2V9LiR7b0J1aWxkaW5nQmxvY2tEZWZpbml0aW9uLm5hbWV9YDtcblx0XHRcdFx0Y29uc3QgZXh0cmFQcm9wcyA9IFtdO1xuXHRcdFx0XHQvLyBGdW5jdGlvbiBhcmUgZGVmaW5lZCBhcyBzdHJpbmcgYnV0IG5lZWQgdG8gYmUgcmVzb2x2ZWQgYnkgVUk1LCBhcyBzdWNoIHdlIHN0b3JlIHRoZW0gaW4gYW4gYGV2ZW50YCBwcm9wZXJ0eSBhbmQgd2lsbCByZWRpc3BhdGNoIHRoZW0gbGF0ZXJcblx0XHRcdFx0Y29uc3QgZnVuY3Rpb25Ib2xkZXJEZWZpbml0aW9uID0gW107XG5cdFx0XHRcdGNvbnN0IHByb3BlcnRpZXNBc3NpZ25lZFRvRnVuY3Rpb24gPSBbXTtcblx0XHRcdFx0Y29uc3QgZnVuY3Rpb25TdHJpbmdJbk9yZGVyID0gW107XG5cdFx0XHRcdGZvciAoY29uc3QgcHJvcGVydGllc0tleSBpbiBtZXRhZGF0YS5wcm9wZXJ0aWVzKSB7XG5cdFx0XHRcdFx0bGV0IHByb3BlcnR5VmFsdWUgPSB0aGlzW3Byb3BlcnRpZXNLZXldO1xuXHRcdFx0XHRcdGlmIChwcm9wZXJ0eVZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcGVydHlWYWx1ZSAhPT0gbnVsbCkge1xuXHRcdFx0XHRcdFx0aWYgKGlzQ29udGV4dChwcm9wZXJ0eVZhbHVlKSkge1xuXHRcdFx0XHRcdFx0XHRwcm9wZXJ0eVZhbHVlID0gcHJvcGVydHlWYWx1ZS5nZXRQYXRoKCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRpZiAobWV0YWRhdGEucHJvcGVydGllc1twcm9wZXJ0aWVzS2V5XS50eXBlID09PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRcdFx0XHRcdFx0ZnVuY3Rpb25Ib2xkZXJEZWZpbml0aW9uLnB1c2gocHJvcGVydHlWYWx1ZSk7XG5cdFx0XHRcdFx0XHRcdGZ1bmN0aW9uU3RyaW5nSW5PcmRlci5wdXNoKHByb3BlcnR5VmFsdWUpO1xuXHRcdFx0XHRcdFx0XHRwcm9wZXJ0aWVzQXNzaWduZWRUb0Z1bmN0aW9uLnB1c2gocHJvcGVydGllc0tleSk7XG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRleHRyYVByb3BzLnB1c2goeG1sYGZlQkI6JHtwcm9wZXJ0aWVzS2V5fT1cIiR7cHJvcGVydHlWYWx1ZSBhcyBYTUxQcm9jZXNzb3JUeXBlVmFsdWV9XCJgKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKGZ1bmN0aW9uSG9sZGVyRGVmaW5pdGlvbi5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdFx0ZXh0cmFQcm9wcy5wdXNoKHhtbGBmdW5jdGlvbkhvbGRlcj1cIiR7ZnVuY3Rpb25Ib2xkZXJEZWZpbml0aW9uLmpvaW4oXCI7XCIpfVwiYCk7XG5cdFx0XHRcdFx0ZXh0cmFQcm9wcy5wdXNoKHhtbGBmZUJCOmZ1bmN0aW9uU3RyaW5nSW5PcmRlcj1cIiR7ZnVuY3Rpb25TdHJpbmdJbk9yZGVyLmpvaW4oXCIsXCIpfVwiYCk7XG5cdFx0XHRcdFx0ZXh0cmFQcm9wcy5wdXNoKHhtbGBmZUJCOnByb3BlcnRpZXNBc3NpZ25lZFRvRnVuY3Rpb249XCIke3Byb3BlcnRpZXNBc3NpZ25lZFRvRnVuY3Rpb24uam9pbihcIixcIil9XCJgKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRmb3IgKGNvbnN0IGV2ZW50c0tleSBpbiBtZXRhZGF0YS5ldmVudHMpIHtcblx0XHRcdFx0XHRjb25zdCBldmVudHNWYWx1ZSA9IHRoaXNbZXZlbnRzS2V5XTtcblx0XHRcdFx0XHRpZiAoZXZlbnRzVmFsdWUgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRcdFx0ZXh0cmFQcm9wcy5wdXNoKHhtbGBmZUJCOiR7ZXZlbnRzS2V5fT1cIiR7ZXZlbnRzVmFsdWUgYXMgWE1MUHJvY2Vzc29yVHlwZVZhbHVlfVwiYCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC8vIGNvcmU6cmVxdWlyZSBuZWVkIHRvIGJlIGRlZmluZWQgb24gdGhlIG5vZGUgaXRzZWxmIHRvIGJlIHBpY2tlZCB1cCBkdWUgdG8gdGhlIHRlbXBsYXRpbmcgc3RlcFxuXHRcdFx0XHRjb25zdCBjb3JlUmVxdWlyZSA9IG9Ob2RlLmdldEF0dHJpYnV0ZShcImNvcmU6cmVxdWlyZVwiKSB8fCB1bmRlZmluZWQ7XG5cdFx0XHRcdGlmIChjb3JlUmVxdWlyZSkge1xuXHRcdFx0XHRcdGV4dHJhUHJvcHMucHVzaCh4bWxgY29yZTpyZXF1aXJlPVwiJHtjb3JlUmVxdWlyZX1cImApO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiB4bWxgPGZlQkI6QnVpbGRpbmdCbG9ja0ZyYWdtZW50XG5cdFx0XHRcdFx0eG1sbnM6Y29yZT1cInNhcC51aS5jb3JlXCJcblx0XHRcdFx0XHR4bWxuczpmZUJCPVwic2FwLmZlLmNvcmUuYnVpbGRpbmdCbG9ja3NcIlxuXHRcdFx0XHRcdGZyYWdtZW50TmFtZT1cIiR7Y2xhc3NOYW1lfVwiXG5cblx0XHRcdFx0XHRpZD1cInt0aGlzPmlkfVwiXG5cdFx0XHRcdFx0dHlwZT1cIkZFX0NPTVBPTkVOVFNcIlxuXHRcdFx0XHRcdCR7ZXh0cmFQcm9wc31cblx0XHRcdFx0PlxuXHRcdFx0XHQ8L2ZlQkI6QnVpbGRpbmdCbG9ja0ZyYWdtZW50PmA7XG5cdFx0XHR9O1xuXHRcdH1cblxuXHRcdGNsYXNzRGVmaW5pdGlvbi5yZWdpc3RlciA9IGZ1bmN0aW9uICgpIHtcblx0XHRcdHJlZ2lzdGVyQnVpbGRpbmdCbG9jayhjbGFzc0RlZmluaXRpb24gYXMgQnVpbGRpbmdCbG9ja0RlZmluaXRpb25WMik7XG5cdFx0XHRpZiAoY2xhc3NEZWZpbml0aW9uLmlzUnVudGltZSA9PT0gdHJ1ZSkge1xuXHRcdFx0XHRSVU5USU1FX0JMT0NLU1tgJHtvQnVpbGRpbmdCbG9ja0RlZmluaXRpb24ubmFtZXNwYWNlfS4ke29CdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbi5uYW1lfWBdID1cblx0XHRcdFx0XHRjbGFzc0RlZmluaXRpb24gYXMgUnVudGltZUJ1aWxkaW5nQmxvY2sgJiBCdWlsZGluZ0Jsb2NrRGVmaW5pdGlvblYyO1xuXHRcdFx0fVxuXHRcdH07XG5cdFx0Y2xhc3NEZWZpbml0aW9uLnVucmVnaXN0ZXIgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRYTUxQcmVwcm9jZXNzb3IucGx1Z0luKG51bGwsIGNsYXNzRGVmaW5pdGlvbi5uYW1lc3BhY2UsIGNsYXNzRGVmaW5pdGlvbi5uYW1lKTtcblx0XHRcdFhNTFByZXByb2Nlc3Nvci5wbHVnSW4obnVsbCwgY2xhc3NEZWZpbml0aW9uLnB1YmxpY05hbWVzcGFjZSwgY2xhc3NEZWZpbml0aW9uLm5hbWUpO1xuXHRcdH07XG5cdH07XG59XG50eXBlIEZyYWdtZW50Q3VzdG9tRGF0YSA9IHtcblx0bVByb3BlcnRpZXM6IHtcblx0XHR2YWx1ZToge1xuXHRcdFx0XCJzYXAuZmUuY29yZS5idWlsZGluZ0Jsb2Nrc1wiPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblx0XHR9O1xuXHR9O1xufTtcbnR5cGUgRkVDb21wb25lbnRGcmFnbWVudFNldHRpbmdzID0ge1xuXHRmcmFnbWVudE5hbWU6IHN0cmluZztcblx0ZnJhZ21lbnRDb250ZW50PzogUnVudGltZUJ1aWxkaW5nQmxvY2sgJiBCdWlsZGluZ0Jsb2NrRGVmaW5pdGlvblYyO1xuXHRjb250YWluaW5nVmlldzogVmlldztcblx0Y3VzdG9tRGF0YT86IEZyYWdtZW50Q3VzdG9tRGF0YVtdO1xuXHRmdW5jdGlvbkhvbGRlcj86IEZ1bmN0aW9uV2l0aEhhbmRsZXJbXVtdO1xufTtcblxudHlwZSBGdW5jdGlvbldpdGhIYW5kbGVyID0gRnVuY3Rpb24gJiB7XG5cdF9zYXB1aV9oYW5kbGVyTmFtZT86IHN0cmluZztcbn07XG50eXBlIEZyYWdtZW50V2l0aEludGVybmFscyA9IHtcblx0X2JBc3luYzogYm9vbGVhbjtcblx0X2FDb250ZW50OiBDb250cm9sIHwgQ29udHJvbFtdO1xufTtcbkJ1aWxkaW5nQmxvY2tGcmFnbWVudC5yZWdpc3RlclR5cGUoXCJGRV9DT01QT05FTlRTXCIsIHtcblx0bG9hZDogYXN5bmMgZnVuY3Rpb24gKG1TZXR0aW5nczogRkVDb21wb25lbnRGcmFnbWVudFNldHRpbmdzKSB7XG5cdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZShSVU5USU1FX0JMT0NLU1ttU2V0dGluZ3MuZnJhZ21lbnROYW1lXSk7XG5cdH0sXG5cdGluaXQ6IGZ1bmN0aW9uICh0aGlzOiBGcmFnbWVudFdpdGhJbnRlcm5hbHMsIG1TZXR0aW5nczogRkVDb21wb25lbnRGcmFnbWVudFNldHRpbmdzKSB7XG5cdFx0bGV0IE15Q2xhc3MgPSBtU2V0dGluZ3MuZnJhZ21lbnRDb250ZW50O1xuXHRcdGlmICghTXlDbGFzcykge1xuXHRcdFx0Ly8gSW4gc29tZSBjYXNlIHdlIG1pZ2h0IGhhdmUgYmVlbiBjYWxsZWQgaGVyZSBzeW5jaHJvbm91c2x5ICh1bnN0YXNoIGNhc2UgZm9yIGluc3RhbmNlKSwgd2hpY2ggbWVhbnMgd2UgZGlkbid0IGdvIHRocm91Z2ggdGhlIGxvYWQgZnVuY3Rpb25cblx0XHRcdE15Q2xhc3MgPSBSVU5USU1FX0JMT0NLU1ttU2V0dGluZ3MuZnJhZ21lbnROYW1lXTtcblx0XHR9XG5cdFx0Y29uc3QgY2xhc3NTZXR0aW5nczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblx0XHRjb25zdCBmZUN1c3RvbURhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSBtU2V0dGluZ3M/LmN1c3RvbURhdGE/LlswXT8ubVByb3BlcnRpZXM/LnZhbHVlPy5bXCJzYXAuZmUuY29yZS5idWlsZGluZ0Jsb2Nrc1wiXSB8fCB7fTtcblx0XHRkZWxldGUgbVNldHRpbmdzLmN1c3RvbURhdGE7XG5cdFx0Y29uc3QgZnVuY3Rpb25Ib2xkZXI6IEZ1bmN0aW9uV2l0aEhhbmRsZXJbXVtdID0gbVNldHRpbmdzLmZ1bmN0aW9uSG9sZGVyID8/IFtdO1xuXHRcdGRlbGV0ZSBtU2V0dGluZ3MuZnVuY3Rpb25Ib2xkZXI7XG5cblx0XHQvLyBjb250YWluaW5nVmlldyBjYW4gYWxzbyBiZSBhIGZyYWdtZW50LCBzbyB3ZSBoYXZlIHRvIHVzZSB0aGUgY29udHJvbGxlciB0byBiZSBzdXJlIHRvIGdldCB0aGUgYWN0dWFsIHZpZXdcblx0XHRjb25zdCBjb250YWluaW5nVmlldyA9IG1TZXR0aW5ncy5jb250YWluaW5nVmlldy5nZXRDb250cm9sbGVyPy4oKS5nZXRWaWV3KCkgPz8gbVNldHRpbmdzLmNvbnRhaW5pbmdWaWV3O1xuXHRcdGNvbnN0IHBhZ2VDb21wb25lbnQgPSBDb21wb25lbnQuZ2V0T3duZXJDb21wb25lbnRGb3IoY29udGFpbmluZ1ZpZXcpIGFzIFRlbXBsYXRlQ29tcG9uZW50O1xuXHRcdGNvbnN0IGFwcENvbXBvbmVudCA9IENvbW1vblV0aWxzLmdldEFwcENvbXBvbmVudChjb250YWluaW5nVmlldyk7XG5cblx0XHRjb25zdCBtZXRhTW9kZWwgPSBhcHBDb21wb25lbnQuZ2V0TWV0YU1vZGVsKCk7XG5cdFx0Y29uc3QgcGFnZU1vZGVsID0gcGFnZUNvbXBvbmVudC5nZXRNb2RlbChcIl9wYWdlTW9kZWxcIik7XG5cblx0XHRjb25zdCBmdW5jdGlvblN0cmluZ0luT3JkZXI6IHN0cmluZ1tdID0gZmVDdXN0b21EYXRhLmZ1bmN0aW9uU3RyaW5nSW5PcmRlcj8uc3BsaXQoXCIsXCIpO1xuXHRcdGNvbnN0IHByb3BlcnRpZXNBc3NpZ25lZFRvRnVuY3Rpb246IHN0cmluZ1tdID0gZmVDdXN0b21EYXRhLnByb3BlcnRpZXNBc3NpZ25lZFRvRnVuY3Rpb24/LnNwbGl0KFwiLFwiKTtcblx0XHRmb3IgKGNvbnN0IHByb3BlcnR5TmFtZSBpbiBNeUNsYXNzLm1ldGFkYXRhLnByb3BlcnRpZXMpIHtcblx0XHRcdGNvbnN0IHByb3BlcnR5TWV0YWRhdGEgPSBNeUNsYXNzLm1ldGFkYXRhLnByb3BlcnRpZXNbcHJvcGVydHlOYW1lXTtcblx0XHRcdGNvbnN0IHBhZ2VNb2RlbENvbnRleHQgPSBwYWdlTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoZmVDdXN0b21EYXRhW3Byb3BlcnR5TmFtZV0pO1xuXG5cdFx0XHRpZiAocGFnZU1vZGVsQ29udGV4dCA9PT0gbnVsbCkge1xuXHRcdFx0XHQvLyB2YWx1ZSBjYW5ub3QgYmUgcmVzb2x2ZWQsIHNvIGl0IGlzIGVpdGhlciBhIHJ1bnRpbWUgYmluZGluZyBvciBhIGNvbnN0YW50XG5cdFx0XHRcdGxldCB2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlciB8IEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjxzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyPiA9IGZlQ3VzdG9tRGF0YVtwcm9wZXJ0eU5hbWVdO1xuXG5cdFx0XHRcdGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcblx0XHRcdFx0XHRpZiAocHJvcGVydHlNZXRhZGF0YS5iaW5kYWJsZSAhPT0gdHJ1ZSkge1xuXHRcdFx0XHRcdFx0Ly8gcnVudGltZSBiaW5kaW5ncyBhcmUgbm90IGFsbG93ZWQsIHNvIGNvbnZlcnQgc3RyaW5ncyBpbnRvIGFjdHVhbCBwcmltaXRpdmUgdHlwZXNcblx0XHRcdFx0XHRcdHN3aXRjaCAocHJvcGVydHlNZXRhZGF0YS50eXBlKSB7XG5cdFx0XHRcdFx0XHRcdGNhc2UgXCJib29sZWFuXCI6XG5cdFx0XHRcdFx0XHRcdFx0dmFsdWUgPSB2YWx1ZSA9PT0gXCJ0cnVlXCI7XG5cdFx0XHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0XHRcdGNhc2UgXCJudW1iZXJcIjpcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZSA9IE51bWJlcih2YWx1ZSk7XG5cdFx0XHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdC8vIHJ1bnRpbWUgYmluZGluZ3MgYXJlIGFsbG93ZWQsIHNvIHJlc29sdmUgdGhlIHZhbHVlcyBhcyBCaW5kaW5nVG9vbGtpdCBleHByZXNzaW9uc1xuXHRcdFx0XHRcdFx0dmFsdWUgPSByZXNvbHZlQmluZGluZ1N0cmluZyh2YWx1ZSwgcHJvcGVydHlNZXRhZGF0YS50eXBlKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gZWxzZSBpZiAocHJvcGVydHlNZXRhZGF0YS50eXBlID09PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRcdFx0XHRjb25zdCBmdW5jdGlvbkluZGV4ID0gcHJvcGVydGllc0Fzc2lnbmVkVG9GdW5jdGlvbi5pbmRleE9mKHByb3BlcnR5TmFtZSk7XG5cdFx0XHRcdFx0Y29uc3QgZnVuY3Rpb25TdHJpbmcgPSBmdW5jdGlvblN0cmluZ0luT3JkZXJbZnVuY3Rpb25JbmRleF07XG5cdFx0XHRcdFx0Y29uc3QgdGFyZ2V0RnVuY3Rpb24gPSBmdW5jdGlvbkhvbGRlcj8uZmluZCgoZnVuY3Rpb25EZWYpID0+IGZ1bmN0aW9uRGVmWzBdPy5fc2FwdWlfaGFuZGxlck5hbWUgPT09IGZ1bmN0aW9uU3RyaW5nKTtcblx0XHRcdFx0XHQvLyBXZSB1c2UgdGhlIF9zYXB1aV9oYW5kbGVyTmFtZSB0byBpZGVudGlmeSB3aGljaCBmdW5jdGlvbiBpcyB0aGUgb25lIHdlIHdhbnQgdG8gYmluZCBoZXJlXG5cdFx0XHRcdFx0aWYgKHRhcmdldEZ1bmN0aW9uICYmIHRhcmdldEZ1bmN0aW9uLmxlbmd0aCA+IDEpIHtcblx0XHRcdFx0XHRcdHZhbHVlID0gdGFyZ2V0RnVuY3Rpb25bMF0uYmluZCh0YXJnZXRGdW5jdGlvblsxXSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Y2xhc3NTZXR0aW5nc1twcm9wZXJ0eU5hbWVdID0gdmFsdWU7XG5cdFx0XHR9IGVsc2UgaWYgKHBhZ2VNb2RlbENvbnRleHQuZ2V0T2JqZWN0KCkgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHQvLyBnZXQgdmFsdWUgZnJvbSBwYWdlIG1vZGVsXG5cdFx0XHRcdGNsYXNzU2V0dGluZ3NbcHJvcGVydHlOYW1lXSA9IHBhZ2VNb2RlbENvbnRleHQuZ2V0T2JqZWN0KCk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHQvLyBiaW5kIHRvIG1ldGFtb2RlbFxuXHRcdFx0XHRjbGFzc1NldHRpbmdzW3Byb3BlcnR5TmFtZV0gPSBtZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoZmVDdXN0b21EYXRhW3Byb3BlcnR5TmFtZV0pO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRmb3IgKGNvbnN0IGV2ZW50TmFtZSBpbiBNeUNsYXNzLm1ldGFkYXRhLmV2ZW50cykge1xuXHRcdFx0aWYgKGZlQ3VzdG9tRGF0YVtldmVudE5hbWVdICE9PSB1bmRlZmluZWQgJiYgZmVDdXN0b21EYXRhW2V2ZW50TmFtZV0uc3RhcnRzV2l0aChcIi5cIikpIHtcblx0XHRcdFx0Y2xhc3NTZXR0aW5nc1tldmVudE5hbWVdID0gT2JqZWN0UGF0aC5nZXQoZmVDdXN0b21EYXRhW2V2ZW50TmFtZV0uc3Vic3RyaW5nKDEpLCBjb250YWluaW5nVmlldy5nZXRDb250cm9sbGVyKCkpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Y2xhc3NTZXR0aW5nc1tldmVudE5hbWVdID0gXCJcIjsgLy8gRm9yIG5vdywgbWlnaHQgbmVlZCB0byByZXNvbHZlIG1vcmUgc3R1ZmZcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIChNYW5hZ2VkT2JqZWN0IGFzIHVua25vd24gYXMgTWFuYWdlZE9iamVjdEV4KS5ydW5XaXRoUHJlcHJvY2Vzc29ycyhcblx0XHRcdCgpID0+IHtcblx0XHRcdFx0Y29uc3QgcmVuZGVyZWRDb250cm9sID0ganN4LndpdGhDb250ZXh0KHsgdmlldzogY29udGFpbmluZ1ZpZXcsIGFwcENvbXBvbmVudDogYXBwQ29tcG9uZW50IH0sICgpID0+IHtcblx0XHRcdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHRcdFx0bmV3IE15Q2xhc3MhKFxuXHRcdFx0XHRcdFx0XHRjbGFzc1NldHRpbmdzLFxuXHRcdFx0XHRcdFx0XHR7fSxcblx0XHRcdFx0XHRcdFx0eyBpc1J1bnRpbWVJbnN0YW50aWF0aW9uOiB0cnVlLCBpc1B1YmxpYzogZmFsc2UsIGFwcENvbXBvbmVudDogYXBwQ29tcG9uZW50IH1cblx0XHRcdFx0XHRcdCkgYXMgUnVudGltZUJ1aWxkaW5nQmxvY2tcblx0XHRcdFx0XHQpLmdldENvbnRlbnQoY29udGFpbmluZ1ZpZXcsIGFwcENvbXBvbmVudCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRpZiAoIXRoaXMuX2JBc3luYykge1xuXHRcdFx0XHRcdHRoaXMuX2FDb250ZW50ID0gcmVuZGVyZWRDb250cm9sO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiByZW5kZXJlZENvbnRyb2w7XG5cdFx0XHR9LFxuXHRcdFx0e1xuXHRcdFx0XHRpZDogZnVuY3Rpb24gKHNJZDogc3RyaW5nKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGNvbnRhaW5pbmdWaWV3LmNyZWF0ZUlkKHNJZCk7XG5cdFx0XHRcdH0sXG5cdFx0XHRcdHNldHRpbmdzOiBmdW5jdGlvbiAoY29udHJvbFNldHRpbmdzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBNYW5hZ2VkT2JqZWN0IHwgKHN0cmluZyB8IE1hbmFnZWRPYmplY3QpW10+KSB7XG5cdFx0XHRcdFx0Y29uc3QgYWxsQXNzb2NpYXRpb25zID0gdGhpcy5nZXRNZXRhZGF0YSgpLmdldEFzc29jaWF0aW9ucygpO1xuXHRcdFx0XHRcdGZvciAoY29uc3QgYXNzb2NpYXRpb25EZXRhaWxOYW1lIG9mIE9iamVjdC5rZXlzKGFsbEFzc29jaWF0aW9ucykpIHtcblx0XHRcdFx0XHRcdGlmIChjb250cm9sU2V0dGluZ3NbYXNzb2NpYXRpb25EZXRhaWxOYW1lXSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdFx0XHRcdC8vIFRoZSBhc3NvY2lhdGVkIGVsZW1lbnRzIGFyZSBpbmRpY2F0ZWQgdmlhIGxvY2FsIElEczsgd2UgbmVlZCB0byBjaGFuZ2UgdGhlIHJlZmVyZW5jZXMgdG8gZ2xvYmFsIG9uZXNcblx0XHRcdFx0XHRcdFx0Y29uc3QgYXNzb2NpYXRpb25zID0gKFxuXHRcdFx0XHRcdFx0XHRcdEFycmF5LmlzQXJyYXkoY29udHJvbFNldHRpbmdzW2Fzc29jaWF0aW9uRGV0YWlsTmFtZV0pXG5cdFx0XHRcdFx0XHRcdFx0XHQ/IGNvbnRyb2xTZXR0aW5nc1thc3NvY2lhdGlvbkRldGFpbE5hbWVdXG5cdFx0XHRcdFx0XHRcdFx0XHQ6IFtjb250cm9sU2V0dGluZ3NbYXNzb2NpYXRpb25EZXRhaWxOYW1lXV1cblx0XHRcdFx0XHRcdFx0KSBhcyAoc3RyaW5nIHwgTWFuYWdlZE9iamVjdClbXTtcblxuXHRcdFx0XHRcdFx0XHQvLyBDcmVhdGUgZ2xvYmFsIElEcyBmb3IgYXNzb2NpYXRpb25zIGdpdmVuIGFzIHN0cmluZ3MsIG5vdCBmb3IgYWxyZWFkeSByZXNvbHZlZCBNYW5hZ2VkT2JqZWN0c1xuXHRcdFx0XHRcdFx0XHRjb250cm9sU2V0dGluZ3NbYXNzb2NpYXRpb25EZXRhaWxOYW1lXSA9IGFzc29jaWF0aW9ucy5tYXAoKGFzc29jaWF0aW9uOiBzdHJpbmcgfCBNYW5hZ2VkT2JqZWN0KSA9PlxuXHRcdFx0XHRcdFx0XHRcdHR5cGVvZiBhc3NvY2lhdGlvbiA9PT0gXCJzdHJpbmdcIiA/IG1TZXR0aW5ncy5jb250YWluaW5nVmlldy5jcmVhdGVJZChhc3NvY2lhdGlvbikgOiBhc3NvY2lhdGlvblxuXHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gY29udHJvbFNldHRpbmdzO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0KTtcblx0fVxufSk7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7O0VBb0NBO0FBQ0E7QUFDQTtFQUZBLElBR2FBLGlCQUFpQjtJQUc3QiwyQkFBWUMsS0FBOEIsRUFBRUMsZUFBeUIsRUFBRUMsVUFBdUMsRUFBRTtNQUFBLEtBRnRHQyxRQUFRLEdBQUcsS0FBSztNQUFBLEtBNEJoQkMsbUJBQW1CLEdBQUcsVUFDL0JDLG1CQUF3QyxFQUN4Q0MsV0FB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
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
-
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
|
-
*/
|
|
5
|
-
sap.ui.define(["sap/base/util/deepClone","sap/base/util/merge","sap/base/util/ObjectPath","sap/fe/core/buildingBlocks/BuildingBlockFragment","sap/fe/core/buildingBlocks/BuildingBlockRuntime","sap/fe/core/CommonUtils","sap/fe/core/helpers/BindingToolkit","sap/fe/core/helpers/StableIdHelper","sap/fe/core/helpers/TypeGuards","sap/fe/core/jsx-runtime/jsx","sap/ui/base/ManagedObject","sap/ui/core/Component","sap/ui/core/util/XMLPreprocessor","../converters/ConverterContext"],function(e,n,t,i,o,r,s,a,u,c,l,d,f,p){"use strict";var g={};var m=u.isContext;var v=a.generate;var B=s.resolveBindingString;var h=s.isUndefinedExpression;var b=o.xml;var C=o.registerBuildingBlock;let y=function(){function t(t,i,o){this.isPublic=false;this.getConverterContext=function(t,i,o,r){var s;const a=o.appComponent;const u=(s=o.models.viewData)===null||s===void 0?void 0:s.getData();let c=Object.assign({},u);delete c.resourceBundle;c=e(c);c.controlConfiguration=n(c.controlConfiguration,r||{});return p.createConverterContextForMacro(t.startingEntitySet.name,o.models.metaModel,a===null||a===void 0?void 0:a.getDiagnostics(),n,t.contextLocation,c)};Object.keys(t).forEach(e=>{this[e]=t[e]})}g.BuildingBlockBase=t;var i=t.prototype;i.createId=function e(){if(this.id){for(var n=arguments.length,t=new Array(n),i=0;i<n;i++){t[i]=arguments[i]}return v([this.id,...t])}return undefined};i.getProperties=function e(){const n={};for(const e in this){if(this.hasOwnProperty(e)){n[e]=this[e]}}return n};t.register=function e(){};t.unregister=function e(){};i.addConditionally=function e(n,t){if(n){return t}else{return""}};i.attr=function e(n,t){if(t!==undefined&&!h(t)){return()=>b`${n}="${t}"`}else{return()=>""}};return t}();g.BuildingBlockBase=y;const k=function(n){if(!n.hasOwnProperty("metadata")){n.metadata=e(n.metadata||{properties:{},aggregations:{},events:{},stereotype:"xmlmacro",designtime:""})}return n.metadata};function x(e){return function(n,t,i){const o=k(n.constructor);if(e.defaultValue===undefined){var r;e.defaultValue=(r=i.initializer)===null||r===void 0?void 0:r.call(i)}delete i.initializer;if(o.properties[t.toString()]===undefined){o.properties[t.toString()]=e}return i}}g.xmlAttribute=x;function O(e){return x(e)}g.blockAttribute=O;function $(){return function(e,n,t){const i=k(e.constructor);delete t.initializer;if(i.events[n.toString()]===undefined){i.events[n.toString()]={type:"function"}}return t}}g.xmlEvent=$;function w(){return $()}g.blockEvent=w;function A(e){return function(n,t,i){const o=k(n.constructor);delete i.initializer;if(o.aggregations[t]===undefined){o.aggregations[t]=e}return i}}g.xmlAggregation=A;function P(e){return A(e)}g.blockAggregation=P;const j={};function N(e){return function(n){const t=k(n);t.designtime=e.designtime;n.xmlTag=e.name;n.namespace=e.namespace;n.publicNamespace=e.publicNamespace;n.fragment=e.fragment;n.isOpen=e.isOpen;n.isRuntime=e.isRuntime;n.apiVersion=2;if(n.isRuntime===true){n.prototype.getTemplate=function(n){const i=`${e.namespace}.${e.name}`;const o=[];const r=[];const s=[];const a=[];for(const e in t.properties){let n=this[e];if(n!==undefined&&n!==null){if(m(n)){n=n.getPath()}if(t.properties[e].type==="function"){r.push(n);a.push(n);s.push(e)}else{o.push(b`feBB:${e}="${n}"`)}}}if(r.length>0){o.push(b`functionHolder="${r.join(";")}"`);o.push(b`feBB:functionStringInOrder="${a.join(",")}"`);o.push(b`feBB:propertiesAssignedToFunction="${s.join(",")}"`)}for(const e in t.events){const n=this[e];if(n!==undefined){o.push(b`feBB:${e}="${n}"`)}}const u=n.getAttribute("core:require")||undefined;if(u){o.push(b`core:require="${u}"`)}return b`<feBB:BuildingBlockFragment
|
|
6
|
-
xmlns:core="sap.ui.core"
|
|
7
|
-
xmlns:feBB="sap.fe.core.buildingBlocks"
|
|
8
|
-
fragmentName="${i}"
|
|
9
|
-
|
|
10
|
-
id="{this>id}"
|
|
11
|
-
type="FE_COMPONENTS"
|
|
12
|
-
${o}
|
|
13
|
-
>
|
|
14
|
-
</feBB:BuildingBlockFragment>`}}n.register=function(){C(n);if(n.isRuntime===true){j[`${e.namespace}.${e.name}`]=n}};n.unregister=function(){f.plugIn(null,n.namespace,n.name);f.plugIn(null,n.publicNamespace,n.name)}}}g.defineBuildingBlock=N;i.registerType("FE_COMPONENTS",{load:async function(e){return Promise.resolve(j[e.fragmentName])},init:function(e){var n,i,o,s,a,u,f,p;let g=e.fragmentContent;if(!g){g=j[e.fragmentName]}const m={};const v=(e===null||e===void 0?void 0:(n=e.customData)===null||n===void 0?void 0:(i=n[0])===null||i===void 0?void 0:(o=i.mProperties)===null||o===void 0?void 0:(s=o.value)===null||s===void 0?void 0:s["sap.fe.core.buildingBlocks"])||{};delete e.customData;const h=e.functionHolder??[];delete e.functionHolder;const b=((a=(u=e.containingView).getController)===null||a===void 0?void 0:a.call(u).getView())??e.containingView;const C=d.getOwnerComponentFor(b);const y=r.getAppComponent(b);const k=y.getMetaModel();const x=C.getModel("_pageModel");const O=(f=v.functionStringInOrder)===null||f===void 0?void 0:f.split(",");const $=(p=v.propertiesAssignedToFunction)===null||p===void 0?void 0:p.split(",");for(const e in g.metadata.properties){const n=g.metadata.properties[e];const t=x.createBindingContext(v[e]);if(t===null){let t=v[e];if(typeof t==="string"){if(n.bindable!==true){switch(n.type){case"boolean":t=t==="true";break;case"number":t=Number(t);break}}else{t=B(t,n.type)}}else if(n.type==="function"){const n=$.indexOf(e);const i=O[n];const o=h===null||h===void 0?void 0:h.find(e=>{var n;return((n=e[0])===null||n===void 0?void 0:n._sapui_handlerName)===i});if(o&&o.length>1){t=o[0].bind(o[1])}}m[e]=t}else if(t.getObject()!==undefined){m[e]=t.getObject()}else{m[e]=k.createBindingContext(v[e])}}for(const e in g.metadata.events){if(v[e]!==undefined&&v[e].startsWith(".")){m[e]=t.get(v[e].substring(1),b.getController())}else{m[e]=""}}return l.runWithPreprocessors(()=>{const e=c.withContext({view:b,appComponent:y},()=>new g(m,{},{isRuntimeInstantiation:true,isPublic:false,appComponent:y}).getContent(b,y));if(!this._bAsync){this._aContent=e}return e},{id:function(e){return b.createId(e)},settings:function(n){const t=this.getMetadata().getAssociations();for(const i of Object.keys(t)){if(n[i]!==undefined){const t=Array.isArray(n[i])?n[i]:[n[i]];n[i]=t.map(n=>typeof n==="string"?e.containingView.createId(n):n)}}return n}})}});return g},false);
|
|
15
|
-
//# sourceMappingURL=BuildingBlock.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BuildingBlock.js","names":["sap","ui","define","deepClone","merge","ObjectPath","BuildingBlockFragment","BuildingBlockRuntime","CommonUtils","BindingToolkit","StableIdHelper","TypeGuards","jsx","ManagedObject","Component","XMLPreprocessor","ConverterContext","_exports","isContext","generate","resolveBindingString","isUndefinedExpression","xml","registerBuildingBlock","BuildingBlockBase","props","_oControlConfig","_oSettings","this","isPublic","getConverterContext","dataModelObjectPath","contextPath","settings","extraParams","_settings$models$view","appComponent","originalViewData","models","viewData","getData","Object","assign","resourceBundle","controlConfiguration","createConverterContextForMacro","startingEntitySet","name","metaModel","getDiagnostics","contextLocation","keys","forEach","propName","_proto","prototype","createId","id","_len","arguments","length","stringParts","Array","_key","undefined","getProperties","allProperties","oInstanceKey","hasOwnProperty","register","unregister","addConditionally","condition","partToAdd","attr","attributeName","value","ensureMetadata","target","metadata","properties","aggregations","events","stereotype","designtime","xmlAttribute","attributeDefinition","propertyKey","propertyDescriptor","constructor","defaultValue","_propertyDescriptor$i","initializer","call","toString","blockAttribute","xmlEvent","type","blockEvent","xmlAggregation","aggregationDefinition","blockAggregation","RUNTIME_BLOCKS","defineBuildingBlock","oBuildingBlockDefinition","classDefinition","xmlTag","namespace","publicNamespace","fragment","isOpen","isRuntime","apiVersion","getTemplate","oNode","className","extraProps","functionHolderDefinition","propertiesAssignedToFunction","functionStringInOrder","propertiesKey","propertyValue","getPath","push","join","eventsKey","eventsValue","coreRequire","getAttribute","plugIn","registerType","load","async","mSettings","Promise","resolve","fragmentName","init","_mSettings$customData","_mSettings$customData2","_mSettings$customData3","_mSettings$customData4","_mSettings$containing","_mSettings$containing2","_feCustomData$functio","_feCustomData$propert","MyClass","fragmentContent","classSettings","feCustomData","customData","mProperties","functionHolder","containingView","getController","getView","pageComponent","getOwnerComponentFor","getAppComponent","getMetaModel","pageModel","getModel","split","propertyName","propertyMetadata","pageModelContext","createBindingContext","bindable","Number","functionIndex","indexOf","functionString","targetFunction","find","functionDef","_functionDef$","_sapui_handlerName","bind","getObject","eventName","startsWith","get","substring","runWithPreprocessors","renderedControl","withContext","view","isRuntimeInstantiation","getContent","_bAsync","_aContent","sId","controlSettings","allAssociations","getMetadata","getAssociations","associationDetailName","associations","isArray","map","association"],"sources":["BuildingBlock-dbg.js"],"mappings":"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"}
|