@sapui5/sap.fe.core 1.111.1 → 1.112.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 +4 -4
- 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 +11 -11
- package/src/sap/fe/core/AppComponent-dbg.js +27 -5
- 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 +58 -3
- 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 +152 -365
- 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 +201 -478
- package/src/sap/fe/core/ExtensionAPI-dbg.js +2 -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 +9 -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 +163 -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 +169 -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 +147 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor-dbg.js +905 -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} +290 -362
- 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 +181 -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 +890 -220
- 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 +974 -239
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +24 -34
- 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 +71 -61
- 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 +1 -1
- package/src/sap/fe/core/controllerextensions/PageReady.ts +24 -0
- 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 +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +2 -3
- 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/TransactionHelper-dbg.js +45 -31
- 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 +52 -42
- package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +44 -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 +43 -63
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal-dbg.js +77 -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 +114 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade-dbg.js +1505 -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 +1985 -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 -11
- 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 -13
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +43 -41
- 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 +44 -47
- 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 +12 -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 +32 -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 +1 -1
- package/src/sap/fe/core/converters/ConverterContext.ts +2 -1
- 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 +17 -1
- 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 +16 -0
- package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +61 -49
- 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 +65 -51
- 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 +65 -16
- 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 +62 -18
- package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +1010 -957
- 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 +8 -8
- 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 +28 -26
- 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 +1 -1
- package/src/sap/fe/core/converters/controls/Common/Form.ts +3 -3
- package/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +6 -6
- 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 +15 -15
- package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +97 -69
- 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 +161 -137
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +3 -3
- 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 +10 -9
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +48 -44
- 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 +130 -86
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +34 -26
- 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 +62 -45
- 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 +34 -13
- 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 +54 -20
- package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +3 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +8 -0
- 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 +9 -8
- 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 +8 -7
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +8 -7
- 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 +9 -6
- package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +25 -33
- 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 +35 -35
- package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +11 -4
- 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 +7 -1
- 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 +2 -2
- 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 +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +5 -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 +6 -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 +6 -6
- package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit.ts +8 -8
- 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 +20 -18
- 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 +22 -23
- package/src/sap/fe/core/helpers/MessageStrip-dbg.js +4 -5
- 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 +4 -4
- package/src/sap/fe/core/helpers/MetaModelFunction-dbg.js +354 -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 +408 -0
- package/src/sap/fe/core/helpers/ModelHelper-dbg.js +13 -13
- package/src/sap/fe/core/helpers/ModelHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/ModelHelper.ts +13 -13
- 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 +26 -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 +19 -0
- package/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +93 -18
- 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 +70 -17
- 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/Synchronization-dbg.js +1 -1
- package/src/sap/fe/core/helpers/Synchronization.ts +2 -0
- package/src/sap/fe/core/helpers/TypeGuards-dbg.js +5 -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 +12 -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 +127 -125
- 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/messagebundle.properties +33 -0
- package/src/sap/fe/core/messagebundle_ar.properties +12 -10
- package/src/sap/fe/core/messagebundle_bg.properties +11 -9
- package/src/sap/fe/core/messagebundle_ca.properties +11 -9
- package/src/sap/fe/core/messagebundle_cs.properties +11 -9
- package/src/sap/fe/core/messagebundle_cy.properties +11 -9
- package/src/sap/fe/core/messagebundle_da.properties +11 -9
- package/src/sap/fe/core/messagebundle_de.properties +3 -1
- package/src/sap/fe/core/messagebundle_el.properties +11 -9
- package/src/sap/fe/core/messagebundle_en.properties +3 -1
- package/src/sap/fe/core/messagebundle_en_GB.properties +2 -0
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +2 -0
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +20 -0
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +21 -3
- package/src/sap/fe/core/messagebundle_es.properties +11 -9
- package/src/sap/fe/core/messagebundle_es_MX.properties +11 -9
- package/src/sap/fe/core/messagebundle_et.properties +11 -9
- package/src/sap/fe/core/messagebundle_fi.properties +11 -9
- package/src/sap/fe/core/messagebundle_fr.properties +11 -9
- package/src/sap/fe/core/messagebundle_fr_CA.properties +3 -1
- package/src/sap/fe/core/messagebundle_hi.properties +2 -0
- package/src/sap/fe/core/messagebundle_hr.properties +11 -9
- package/src/sap/fe/core/messagebundle_hu.properties +11 -9
- package/src/sap/fe/core/messagebundle_id.properties +3 -1
- package/src/sap/fe/core/messagebundle_it.properties +11 -9
- package/src/sap/fe/core/messagebundle_iw.properties +11 -9
- package/src/sap/fe/core/messagebundle_ja.properties +11 -9
- package/src/sap/fe/core/messagebundle_kk.properties +11 -9
- package/src/sap/fe/core/messagebundle_ko.properties +2 -0
- package/src/sap/fe/core/messagebundle_lt.properties +11 -9
- package/src/sap/fe/core/messagebundle_lv.properties +2 -0
- package/src/sap/fe/core/messagebundle_ms.properties +12 -10
- package/src/sap/fe/core/messagebundle_nl.properties +12 -10
- package/src/sap/fe/core/messagebundle_no.properties +11 -9
- package/src/sap/fe/core/messagebundle_pl.properties +2 -0
- package/src/sap/fe/core/messagebundle_pt.properties +11 -9
- package/src/sap/fe/core/messagebundle_pt_PT.properties +11 -9
- package/src/sap/fe/core/messagebundle_ro.properties +3 -1
- package/src/sap/fe/core/messagebundle_ru.properties +3 -1
- package/src/sap/fe/core/messagebundle_sh.properties +11 -9
- package/src/sap/fe/core/messagebundle_sk.properties +11 -9
- package/src/sap/fe/core/messagebundle_sl.properties +11 -9
- package/src/sap/fe/core/messagebundle_sv.properties +2 -0
- package/src/sap/fe/core/messagebundle_th.properties +11 -9
- package/src/sap/fe/core/messagebundle_tr.properties +11 -9
- package/src/sap/fe/core/messagebundle_uk.properties +11 -9
- package/src/sap/fe/core/messagebundle_vi.properties +12 -10
- package/src/sap/fe/core/messagebundle_zh_CN.properties +2 -0
- package/src/sap/fe/core/messagebundle_zh_TW.properties +2 -0
- package/src/sap/fe/core/operationsHelper-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 +4 -3
- 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 +15 -5
- 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 +3 -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 +29 -3
- package/src/sap/fe/core/services/ShellServicesFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/ShellServicesFactory.ts +14 -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 +502 -333
- package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +18 -5
- 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 +41 -12
- 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/DataModelPathHelper-dbg.js +185 -86
- 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 +190 -82
- package/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper-dbg.js +2 -3
- 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 +1 -3
- 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/PropertyHelper-dbg.js +1 -1
- package/src/sap/fe/core/templating/PropertyHelper.ts +2 -2
- package/src/sap/fe/core/templating/UIFormatters-dbg.js +1 -1
- package/src/sap/fe/core/templating/UIFormatters.ts +4 -0
- 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/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
|
@@ -2,28 +2,32 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/fe/core/converters/helpers/IssueManager", "sap/fe/macros/CommonHelper", "../../ManifestSettings", "./Chart", "./Table"], function (IssueManager, CommonHelper, ManifestSettings, Chart, Table) {
|
|
5
|
+
sap.ui.define(["sap/fe/core/converters/helpers/IssueManager", "sap/fe/core/converters/MetaModelConverter", "sap/fe/macros/CommonHelper", "../../ManifestSettings", "./Chart", "./Table"], function (IssueManager, MetaModelConverter, CommonHelper, ManifestSettings, Chart, Table) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
var _exports = {};
|
|
9
9
|
var createChartVisualization = Chart.createChartVisualization;
|
|
10
|
+
var createBlankChartVisualization = Chart.createBlankChartVisualization;
|
|
10
11
|
var TemplateType = ManifestSettings.TemplateType;
|
|
11
12
|
var IssueType = IssueManager.IssueType;
|
|
12
13
|
var IssueSeverity = IssueManager.IssueSeverity;
|
|
13
14
|
var IssueCategory = IssueManager.IssueCategory;
|
|
14
15
|
const getVisualizationsFromPresentationVariant = function (presentationVariantAnnotation, visualizationPath, converterContext, isMacroOrMultipleView) {
|
|
15
16
|
const visualizationAnnotations = [];
|
|
16
|
-
const
|
|
17
|
+
const isALP = isAlpAnnotation(converterContext);
|
|
17
18
|
const baseVisualizationPath = visualizationPath.split("@")[0];
|
|
18
|
-
if (isMacroOrMultipleView && !isPresentationCompliant(presentationVariantAnnotation,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
19
|
+
if ((isMacroOrMultipleView === true || isALP) && !isPresentationCompliant(presentationVariantAnnotation, isALP)) {
|
|
20
|
+
if (!annotationExistsInPresentationVariant(presentationVariantAnnotation, "com.sap.vocabularies.UI.v1.LineItem")) {
|
|
21
|
+
const defaultLineItemAnnotation = prepareDefaultVisualization("com.sap.vocabularies.UI.v1.LineItem", baseVisualizationPath, converterContext);
|
|
22
|
+
if (defaultLineItemAnnotation) {
|
|
23
|
+
visualizationAnnotations.push(defaultLineItemAnnotation);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (!annotationExistsInPresentationVariant(presentationVariantAnnotation, "com.sap.vocabularies.UI.v1.Chart")) {
|
|
27
|
+
const defaultChartAnnotation = prepareDefaultVisualization("com.sap.vocabularies.UI.v1.Chart", baseVisualizationPath, converterContext);
|
|
28
|
+
if (defaultChartAnnotation) {
|
|
29
|
+
visualizationAnnotations.push(defaultChartAnnotation);
|
|
30
|
+
}
|
|
27
31
|
}
|
|
28
32
|
}
|
|
29
33
|
const visualizations = presentationVariantAnnotation.Visualizations;
|
|
@@ -40,7 +44,7 @@ sap.ui.define(["sap/fe/core/converters/helpers/IssueManager", "sap/fe/macros/Com
|
|
|
40
44
|
});
|
|
41
45
|
}
|
|
42
46
|
};
|
|
43
|
-
if (
|
|
47
|
+
if (isALP) {
|
|
44
48
|
// In case of ALP, we use the first LineItem and the first Chart
|
|
45
49
|
pushFirstVizOfType(["com.sap.vocabularies.UI.v1.LineItem"]);
|
|
46
50
|
pushFirstVizOfType(["com.sap.vocabularies.UI.v1.Chart"]);
|
|
@@ -68,37 +72,37 @@ sap.ui.define(["sap/fe/core/converters/helpers/IssueManager", "sap/fe/macros/Com
|
|
|
68
72
|
}
|
|
69
73
|
}
|
|
70
74
|
_exports.getSelectionPresentationVariant = getSelectionPresentationVariant;
|
|
71
|
-
function isSelectionPresentationCompliant(
|
|
72
|
-
const presentationVariant =
|
|
75
|
+
function isSelectionPresentationCompliant(selectionPresentationVariant, isALP) {
|
|
76
|
+
const presentationVariant = selectionPresentationVariant && selectionPresentationVariant.PresentationVariant;
|
|
73
77
|
if (presentationVariant) {
|
|
74
|
-
return isPresentationCompliant(presentationVariant,
|
|
78
|
+
return isPresentationCompliant(presentationVariant, isALP);
|
|
75
79
|
} else {
|
|
76
80
|
throw new Error("Presentation Variant is not present in the SPV annotation");
|
|
77
81
|
}
|
|
78
82
|
}
|
|
79
83
|
_exports.isSelectionPresentationCompliant = isSelectionPresentationCompliant;
|
|
80
84
|
function isPresentationCompliant(presentationVariant) {
|
|
81
|
-
let
|
|
82
|
-
let
|
|
83
|
-
|
|
84
|
-
if (
|
|
85
|
+
let isALP = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
86
|
+
let hasTable = false,
|
|
87
|
+
hasChart = false;
|
|
88
|
+
if (isALP) {
|
|
85
89
|
if (presentationVariant !== null && presentationVariant !== void 0 && presentationVariant.Visualizations) {
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
var
|
|
89
|
-
if (((
|
|
90
|
-
|
|
90
|
+
const visualizations = presentationVariant.Visualizations;
|
|
91
|
+
visualizations.forEach(visualization => {
|
|
92
|
+
var _visualization$$targe, _visualization$$targe2;
|
|
93
|
+
if (((_visualization$$targe = visualization.$target) === null || _visualization$$targe === void 0 ? void 0 : _visualization$$targe.term) === "com.sap.vocabularies.UI.v1.LineItem") {
|
|
94
|
+
hasTable = true;
|
|
91
95
|
}
|
|
92
|
-
if (((
|
|
93
|
-
|
|
96
|
+
if (((_visualization$$targe2 = visualization.$target) === null || _visualization$$targe2 === void 0 ? void 0 : _visualization$$targe2.term) === "com.sap.vocabularies.UI.v1.Chart") {
|
|
97
|
+
hasChart = true;
|
|
94
98
|
}
|
|
95
99
|
});
|
|
96
100
|
}
|
|
97
|
-
return
|
|
101
|
+
return hasChart && hasTable;
|
|
98
102
|
} else {
|
|
99
103
|
return (presentationVariant === null || presentationVariant === void 0 ? void 0 : presentationVariant.Visualizations) && !!presentationVariant.Visualizations.find(visualization => {
|
|
100
|
-
var _visualization$$
|
|
101
|
-
return ((_visualization$$
|
|
104
|
+
var _visualization$$targe3, _visualization$$targe4;
|
|
105
|
+
return ((_visualization$$targe3 = visualization.$target) === null || _visualization$$targe3 === void 0 ? void 0 : _visualization$$targe3.term) === "com.sap.vocabularies.UI.v1.LineItem" || ((_visualization$$targe4 = visualization.$target) === null || _visualization$$targe4 === void 0 ? void 0 : _visualization$$targe4.term) === "com.sap.vocabularies.UI.v1.Chart";
|
|
102
106
|
});
|
|
103
107
|
}
|
|
104
108
|
}
|
|
@@ -150,9 +154,9 @@ sap.ui.define(["sap/fe/core/converters/helpers/IssueManager", "sap/fe/macros/Com
|
|
|
150
154
|
let presentationVariantAnnotation;
|
|
151
155
|
let presentationPath = "";
|
|
152
156
|
let chartVisualization, tableVisualization;
|
|
153
|
-
const
|
|
154
|
-
if (
|
|
155
|
-
switch (
|
|
157
|
+
const term = resolvedVisualization === null || resolvedVisualization === void 0 ? void 0 : resolvedVisualization.term;
|
|
158
|
+
if (term) {
|
|
159
|
+
switch (term) {
|
|
156
160
|
case "com.sap.vocabularies.UI.v1.LineItem":
|
|
157
161
|
case "com.sap.vocabularies.UI.v1.Chart":
|
|
158
162
|
presentationVariantAnnotation = resolvedAssociatedPresentationVariant === null || resolvedAssociatedPresentationVariant === void 0 ? void 0 : resolvedAssociatedPresentationVariant.annotation;
|
|
@@ -183,7 +187,7 @@ sap.ui.define(["sap/fe/core/converters/helpers/IssueManager", "sap/fe/macros/Com
|
|
|
183
187
|
} = visualizationAnnotation;
|
|
184
188
|
switch (visualization.term) {
|
|
185
189
|
case "com.sap.vocabularies.UI.v1.Chart":
|
|
186
|
-
chartVisualization = createChartVisualization(visualization, annotationPath, converterContext, doNotCheckApplySupported);
|
|
190
|
+
chartVisualization = createChartVisualization(visualization, annotationPath, converterContext, doNotCheckApplySupported, viewConfiguration);
|
|
187
191
|
break;
|
|
188
192
|
case "com.sap.vocabularies.UI.v1.LineItem":
|
|
189
193
|
default:
|
|
@@ -191,57 +195,90 @@ sap.ui.define(["sap/fe/core/converters/helpers/IssueManager", "sap/fe/macros/Com
|
|
|
191
195
|
break;
|
|
192
196
|
}
|
|
193
197
|
});
|
|
194
|
-
}
|
|
195
|
-
|
|
198
|
+
}
|
|
199
|
+
const visualizations = [];
|
|
200
|
+
let path = term === "com.sap.vocabularies.UI.v1.SelectionPresentationVariant" ? presentationPath : resolvedVisualization === null || resolvedVisualization === void 0 ? void 0 : resolvedVisualization.fullyQualifiedName;
|
|
201
|
+
if (path === undefined) {
|
|
202
|
+
path = "/";
|
|
203
|
+
}
|
|
204
|
+
const isALP = isAlpAnnotation(inConverterContext);
|
|
205
|
+
if (!term || isALP && tableVisualization === undefined) {
|
|
206
|
+
tableVisualization = Table.createDefaultTableVisualization(inConverterContext, isMacroOrMultipleView !== true);
|
|
196
207
|
inConverterContext.getDiagnostics().addIssue(IssueCategory.Annotation, IssueSeverity.Medium, IssueType.MISSING_LINEITEM);
|
|
197
208
|
}
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
sPath = "/";
|
|
209
|
+
if (isALP && chartVisualization === undefined) {
|
|
210
|
+
chartVisualization = createBlankChartVisualization(inConverterContext);
|
|
211
|
+
inConverterContext.getDiagnostics().addIssue(IssueCategory.Annotation, IssueSeverity.Medium, IssueType.MISSING_CHART);
|
|
202
212
|
}
|
|
203
213
|
if (chartVisualization) {
|
|
204
|
-
|
|
214
|
+
visualizations.push(chartVisualization);
|
|
205
215
|
}
|
|
206
216
|
if (tableVisualization) {
|
|
207
|
-
|
|
217
|
+
visualizations.push(tableVisualization);
|
|
208
218
|
}
|
|
209
219
|
return {
|
|
210
|
-
visualizations:
|
|
211
|
-
annotationPath: inConverterContext.getEntitySetBasedAnnotationPath(
|
|
220
|
+
visualizations: visualizations,
|
|
221
|
+
annotationPath: inConverterContext.getEntitySetBasedAnnotationPath(path)
|
|
212
222
|
};
|
|
213
223
|
}
|
|
214
224
|
|
|
215
225
|
/**
|
|
216
|
-
*
|
|
226
|
+
* Returns the context of the UI controls (either a UI.LineItem, or a UI.Chart).
|
|
217
227
|
*
|
|
218
228
|
* @function
|
|
219
229
|
* @name getUiControl
|
|
220
|
-
* @param
|
|
221
|
-
* @param
|
|
222
|
-
* @returns The
|
|
230
|
+
* @param presentationContext Object of the presentation context (either a presentation variant, or a UI.LineItem, or a UI.Chart)
|
|
231
|
+
* @param controlPath Control path
|
|
232
|
+
* @returns The context of the control (either a UI.LineItem, or a UI.Chart)
|
|
223
233
|
*/
|
|
224
234
|
_exports.getDataVisualizationConfiguration = getDataVisualizationConfiguration;
|
|
225
|
-
function getUiControl(
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
235
|
+
function getUiControl(presentationContext, controlPath) {
|
|
236
|
+
CommonHelper.validatePresentationMetaPath(presentationContext.getPath(), controlPath);
|
|
237
|
+
const presentation = MetaModelConverter.convertMetaModelContext(presentationContext),
|
|
238
|
+
presentationVariantPath = CommonHelper.createPresentationPathContext(presentationContext),
|
|
239
|
+
model = presentationContext.getModel();
|
|
240
|
+
if (presentation) {
|
|
241
|
+
if (CommonHelper._isPresentationVariantAnnotation(presentationVariantPath.getPath())) {
|
|
242
|
+
const visualizations = presentation.PresentationVariant ? presentation.PresentationVariant.Visualizations : presentation.Visualizations;
|
|
243
|
+
if (Array.isArray(visualizations)) {
|
|
244
|
+
for (const visualization of visualizations) {
|
|
245
|
+
if (visualization.type == "AnnotationPath" && visualization.value.indexOf(controlPath) !== -1 &&
|
|
246
|
+
// check if object exists for PresentationVariant visualization
|
|
247
|
+
!!model.getMetaContext(presentationContext.getPath().split("@")[0] + visualization.value).getObject()) {
|
|
248
|
+
controlPath = visualization.value;
|
|
249
|
+
break;
|
|
250
|
+
}
|
|
237
251
|
}
|
|
238
252
|
}
|
|
253
|
+
} else {
|
|
254
|
+
return presentationContext;
|
|
239
255
|
}
|
|
240
|
-
return oModel.getMetaContext(oPresentationContext.getPath().split("@")[0] + sControlPath);
|
|
241
256
|
}
|
|
242
|
-
return
|
|
257
|
+
return model.getMetaContext(presentationContext.getPath().split("@")[0] + controlPath);
|
|
243
258
|
}
|
|
244
259
|
_exports.getUiControl = getUiControl;
|
|
260
|
+
const annotationExistsInPresentationVariant = function (presentationVariantAnnotation, annotationTerm) {
|
|
261
|
+
var _presentationVariantA;
|
|
262
|
+
return ((_presentationVariantA = presentationVariantAnnotation.Visualizations) === null || _presentationVariantA === void 0 ? void 0 : _presentationVariantA.some(visualization => visualization.value.indexOf(annotationTerm) > -1)) ?? false;
|
|
263
|
+
};
|
|
264
|
+
_exports.annotationExistsInPresentationVariant = annotationExistsInPresentationVariant;
|
|
265
|
+
const prepareDefaultVisualization = function (visualizationType, baseVisualizationPath, converterContext) {
|
|
266
|
+
const entityType = converterContext.getEntityType();
|
|
267
|
+
const defaultAnnotation = visualizationType === "com.sap.vocabularies.UI.v1.LineItem" ? getDefaultLineItem(entityType) : getDefaultChart(entityType);
|
|
268
|
+
if (defaultAnnotation) {
|
|
269
|
+
return {
|
|
270
|
+
visualization: defaultAnnotation,
|
|
271
|
+
annotationPath: `${baseVisualizationPath}${converterContext.getRelativeAnnotationPath(defaultAnnotation.fullyQualifiedName, entityType)}`,
|
|
272
|
+
converterContext: converterContext
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
return undefined;
|
|
276
|
+
};
|
|
277
|
+
_exports.prepareDefaultVisualization = prepareDefaultVisualization;
|
|
278
|
+
const isAlpAnnotation = function (converterContext) {
|
|
279
|
+
return converterContext.getManifestWrapper().hasMultipleVisualizations() || converterContext.getTemplateType() === TemplateType.AnalyticalListPage;
|
|
280
|
+
};
|
|
281
|
+
_exports.isAlpAnnotation = isAlpAnnotation;
|
|
245
282
|
return _exports;
|
|
246
283
|
}, false);
|
|
247
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRWaXN1YWxpemF0aW9uc0Zyb21QcmVzZW50YXRpb25WYXJpYW50IiwicHJlc2VudGF0aW9uVmFyaWFudEFubm90YXRpb24iLCJ2aXN1YWxpemF0aW9uUGF0aCIsImNvbnZlcnRlckNvbnRleHQiLCJpc01hY3JvT3JNdWx0aXBsZVZpZXciLCJ2aXN1YWxpemF0aW9uQW5ub3RhdGlvbnMiLCJiSXNBTFAiLCJnZXRNYW5pZmVzdFdyYXBwZXIiLCJoYXNNdWx0aXBsZVZpc3VhbGl6YXRpb25zIiwiZ2V0VGVtcGxhdGVUeXBlIiwiVGVtcGxhdGVUeXBlIiwiQW5hbHl0aWNhbExpc3RQYWdlIiwiYmFzZVZpc3VhbGl6YXRpb25QYXRoIiwic3BsaXQiLCJpc1ByZXNlbnRhdGlvbkNvbXBsaWFudCIsImVudGl0eVR5cGUiLCJnZXRFbnRpdHlUeXBlIiwiZGVmYXVsdExpbmVJdGVtQW5ub3RhdGlvbiIsImdldERlZmF1bHRMaW5lSXRlbSIsInB1c2giLCJ2aXN1YWxpemF0aW9uIiwiYW5ub3RhdGlvblBhdGgiLCJnZXRSZWxhdGl2ZUFubm90YXRpb25QYXRoIiwiZnVsbHlRdWFsaWZpZWROYW1lIiwidmlzdWFsaXphdGlvbnMiLCJWaXN1YWxpemF0aW9ucyIsInB1c2hGaXJzdFZpek9mVHlwZSIsImFsbG93ZWRUZXJtcyIsImZpcnN0Vml6IiwiZmluZCIsInZpeiIsImluZGV4T2YiLCIkdGFyZ2V0IiwidGVybSIsInZhbHVlIiwiZ2V0U2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudCIsInJlc29sdmVkVGFyZ2V0IiwiZ2V0RW50aXR5VHlwZUFubm90YXRpb24iLCJzZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50IiwiYW5ub3RhdGlvbiIsIkVycm9yIiwiYW5ub3RhdGlvbnMiLCJVSSIsIlNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQiLCJpc1NlbGVjdGlvblByZXNlbnRhdGlvbkNvbXBsaWFudCIsInByZXNlbnRhdGlvblZhcmlhbnQiLCJQcmVzZW50YXRpb25WYXJpYW50IiwiYkhhc1RhYmxlIiwiYkhhc0NoYXJ0IiwiYVZpc3VhbGl6YXRpb25zIiwiZm9yRWFjaCIsIm9WaXN1YWxpemF0aW9uIiwiTGluZUl0ZW0iLCJnZXREZWZhdWx0Q2hhcnQiLCJDaGFydCIsImdldERlZmF1bHRQcmVzZW50YXRpb25WYXJpYW50IiwiZ2V0RGVmYXVsdFNlbGVjdGlvblZhcmlhbnQiLCJTZWxlY3Rpb25WYXJpYW50IiwiZ2V0U2VsZWN0aW9uVmFyaWFudCIsImdldERlZmF1bHRUZW1wbGF0ZUFubm90YXRpb25QYXRoIiwic2VsZWN0aW9uVmFyaWFudCIsImdldERhdGFWaXN1YWxpemF0aW9uQ29uZmlndXJhdGlvbiIsImlzQ29uZGVuc2VkVGFibGVMYXlvdXRDb21wbGlhbnQiLCJpbkNvbnZlcnRlckNvbnRleHQiLCJ2aWV3Q29uZmlndXJhdGlvbiIsImRvTm90Q2hlY2tBcHBseVN1cHBvcnRlZCIsImFzc29jaWF0ZWRQcmVzZW50YXRpb25WYXJpYW50UGF0aCIsInVuZGVmaW5lZCIsInJlc29sdmVkQXNzb2NpYXRlZFByZXNlbnRhdGlvblZhcmlhbnQiLCJyZXNvbHZlZFZpc3VhbGl6YXRpb24iLCJwcmVzZW50YXRpb25QYXRoIiwiY2hhcnRWaXN1YWxpemF0aW9uIiwidGFibGVWaXN1YWxpemF0aW9uIiwic1Rlcm0iLCJjb25jYXQiLCJ2aXN1YWxpemF0aW9uQW5ub3RhdGlvbiIsImNyZWF0ZUNoYXJ0VmlzdWFsaXphdGlvbiIsIlRhYmxlIiwiY3JlYXRlVGFibGVWaXN1YWxpemF0aW9uIiwiY3JlYXRlRGVmYXVsdFRhYmxlVmlzdWFsaXphdGlvbiIsImdldERpYWdub3N0aWNzIiwiYWRkSXNzdWUiLCJJc3N1ZUNhdGVnb3J5IiwiQW5ub3RhdGlvbiIsIklzc3VlU2V2ZXJpdHkiLCJNZWRpdW0iLCJJc3N1ZVR5cGUiLCJNSVNTSU5HX0xJTkVJVEVNIiwic1BhdGgiLCJnZXRFbnRpdHlTZXRCYXNlZEFubm90YXRpb25QYXRoIiwiZ2V0VWlDb250cm9sIiwib1ByZXNlbnRhdGlvbkNvbnRleHQiLCJzQ29udHJvbFBhdGgiLCJvUHJlc2VudGF0aW9uIiwiZ2V0T2JqZWN0IiwiZ2V0UGF0aCIsIm9QcmVzZW50YXRpb25WYXJpYW50UGF0aCIsIkNvbW1vbkhlbHBlciIsImNyZWF0ZVByZXNlbnRhdGlvblBhdGhDb250ZXh0Iiwib01vZGVsIiwiZ2V0TW9kZWwiLCJfaXNQcmVzZW50YXRpb25WYXJpYW50QW5ub3RhdGlvbiIsIkFycmF5IiwiaXNBcnJheSIsImkiLCJsZW5ndGgiLCIkQW5ub3RhdGlvblBhdGgiLCJnZXRNZXRhQ29udGV4dCJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRGF0YVZpc3VhbGl6YXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFbnRpdHlUeXBlIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgdHlwZSB7XG5cdENoYXJ0LFxuXHRMaW5lSXRlbSxcblx0UHJlc2VudGF0aW9uVmFyaWFudCxcblx0UHJlc2VudGF0aW9uVmFyaWFudFR5cGUsXG5cdFNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQsXG5cdFNlbGVjdGlvblZhcmlhbnRcbn0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9VSVwiO1xuaW1wb3J0IHsgVUlBbm5vdGF0aW9uVGVybXMgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL1VJXCI7XG5pbXBvcnQgeyBJc3N1ZUNhdGVnb3J5LCBJc3N1ZVNldmVyaXR5LCBJc3N1ZVR5cGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9oZWxwZXJzL0lzc3VlTWFuYWdlclwiO1xuaW1wb3J0IENvbW1vbkhlbHBlciBmcm9tIFwic2FwL2ZlL21hY3Jvcy9Db21tb25IZWxwZXJcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSBPRGF0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNb2RlbFwiO1xuaW1wb3J0IHR5cGUgQ29udmVydGVyQ29udGV4dCBmcm9tIFwiLi4vLi4vQ29udmVydGVyQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgeyBWaWV3UGF0aENvbmZpZ3VyYXRpb24gfSBmcm9tIFwiLi4vLi4vTWFuaWZlc3RTZXR0aW5nc1wiO1xuaW1wb3J0IHsgVGVtcGxhdGVUeXBlIH0gZnJvbSBcIi4uLy4uL01hbmlmZXN0U2V0dGluZ3NcIjtcbmltcG9ydCB0eXBlIHsgQ2hhcnRWaXN1YWxpemF0aW9uIH0gZnJvbSBcIi4vQ2hhcnRcIjtcbmltcG9ydCB7IGNyZWF0ZUNoYXJ0VmlzdWFsaXphdGlvbiB9IGZyb20gXCIuL0NoYXJ0XCI7XG5pbXBvcnQgdHlwZSB7IFRhYmxlVmlzdWFsaXphdGlvbiB9IGZyb20gXCIuL1RhYmxlXCI7XG5pbXBvcnQgVGFibGUgZnJvbSBcIi4vVGFibGVcIjtcblxuZXhwb3J0IHR5cGUgRGF0YVZpc3VhbGl6YXRpb25Bbm5vdGF0aW9ucyA9IExpbmVJdGVtIHwgQ2hhcnQgfCBQcmVzZW50YXRpb25WYXJpYW50IHwgU2VsZWN0aW9uVmFyaWFudCB8IFNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQ7XG5cbmV4cG9ydCB0eXBlIEFjdHVhbFZpc3VhbGl6YXRpb25Bbm5vdGF0aW9ucyA9IExpbmVJdGVtIHwgQ2hhcnQ7XG5cbmV4cG9ydCB0eXBlIFZpc3VhbGl6YXRpb25BbmRQYXRoID0ge1xuXHR2aXN1YWxpemF0aW9uOiBBY3R1YWxWaXN1YWxpemF0aW9uQW5ub3RhdGlvbnM7XG5cdGFubm90YXRpb25QYXRoOiBzdHJpbmc7XG5cdHNlbGVjdGlvblZhcmlhbnRQYXRoPzogc3RyaW5nO1xuXHRjb252ZXJ0ZXJDb250ZXh0OiBDb252ZXJ0ZXJDb250ZXh0O1xufTtcblxuZXhwb3J0IHR5cGUgRGF0YVZpc3VhbGl6YXRpb25EZWZpbml0aW9uID0ge1xuXHR2aXN1YWxpemF0aW9uczogKFRhYmxlVmlzdWFsaXphdGlvbiB8IENoYXJ0VmlzdWFsaXphdGlvbilbXTtcblx0YW5ub3RhdGlvblBhdGg6IHN0cmluZztcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRWaXN1YWxpemF0aW9uc0Zyb21QcmVzZW50YXRpb25WYXJpYW50ID0gZnVuY3Rpb24gKFxuXHRwcmVzZW50YXRpb25WYXJpYW50QW5ub3RhdGlvbjogUHJlc2VudGF0aW9uVmFyaWFudFR5cGUsXG5cdHZpc3VhbGl6YXRpb25QYXRoOiBzdHJpbmcsXG5cdGNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHQsXG5cdGlzTWFjcm9Pck11bHRpcGxlVmlldz86IGJvb2xlYW5cbik6IFZpc3VhbGl6YXRpb25BbmRQYXRoW10ge1xuXHRjb25zdCB2aXN1YWxpemF0aW9uQW5ub3RhdGlvbnM6IFZpc3VhbGl6YXRpb25BbmRQYXRoW10gPSBbXTtcblxuXHRjb25zdCBiSXNBTFAgPVxuXHRcdGNvbnZlcnRlckNvbnRleHQuZ2V0TWFuaWZlc3RXcmFwcGVyKCkuaGFzTXVsdGlwbGVWaXN1YWxpemF0aW9ucygpIHx8XG5cdFx0Y29udmVydGVyQ29udGV4dC5nZXRUZW1wbGF0ZVR5cGUoKSA9PT0gVGVtcGxhdGVUeXBlLkFuYWx5dGljYWxMaXN0UGFnZTtcblxuXHRjb25zdCBiYXNlVmlzdWFsaXphdGlvblBhdGggPSB2aXN1YWxpemF0aW9uUGF0aC5zcGxpdChcIkBcIilbMF07XG5cblx0aWYgKGlzTWFjcm9Pck11bHRpcGxlVmlldyAmJiAhaXNQcmVzZW50YXRpb25Db21wbGlhbnQocHJlc2VudGF0aW9uVmFyaWFudEFubm90YXRpb24sIGJJc0FMUCkpIHtcblx0XHRjb25zdCBlbnRpdHlUeXBlID0gY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlKCk7XG5cdFx0Y29uc3QgZGVmYXVsdExpbmVJdGVtQW5ub3RhdGlvbiA9IGdldERlZmF1bHRMaW5lSXRlbShlbnRpdHlUeXBlKTtcblx0XHRpZiAoZGVmYXVsdExpbmVJdGVtQW5ub3RhdGlvbikge1xuXHRcdFx0dmlzdWFsaXphdGlvbkFubm90YXRpb25zLnB1c2goe1xuXHRcdFx0XHR2aXN1YWxpemF0aW9uOiBkZWZhdWx0TGluZUl0ZW1Bbm5vdGF0aW9uLFxuXHRcdFx0XHRhbm5vdGF0aW9uUGF0aDogYCR7YmFzZVZpc3VhbGl6YXRpb25QYXRofSR7Y29udmVydGVyQ29udGV4dC5nZXRSZWxhdGl2ZUFubm90YXRpb25QYXRoKFxuXHRcdFx0XHRcdGRlZmF1bHRMaW5lSXRlbUFubm90YXRpb24uZnVsbHlRdWFsaWZpZWROYW1lLFxuXHRcdFx0XHRcdGVudGl0eVR5cGVcblx0XHRcdFx0KX1gLFxuXHRcdFx0XHRjb252ZXJ0ZXJDb250ZXh0OiBjb252ZXJ0ZXJDb250ZXh0XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblx0Y29uc3QgdmlzdWFsaXphdGlvbnMgPSBwcmVzZW50YXRpb25WYXJpYW50QW5ub3RhdGlvbi5WaXN1YWxpemF0aW9ucztcblxuXHRjb25zdCBwdXNoRmlyc3RWaXpPZlR5cGUgPSBmdW5jdGlvbiAoYWxsb3dlZFRlcm1zOiBzdHJpbmdbXSkge1xuXHRcdGNvbnN0IGZpcnN0Vml6ID0gdmlzdWFsaXphdGlvbnM/LmZpbmQoKHZpeikgPT4ge1xuXHRcdFx0cmV0dXJuIGFsbG93ZWRUZXJtcy5pbmRleE9mKHZpei4kdGFyZ2V0Py50ZXJtKSA+PSAwO1xuXHRcdH0pO1xuXG5cdFx0aWYgKGZpcnN0Vml6KSB7XG5cdFx0XHR2aXN1YWxpemF0aW9uQW5ub3RhdGlvbnMucHVzaCh7XG5cdFx0XHRcdHZpc3VhbGl6YXRpb246IGZpcnN0Vml6LiR0YXJnZXQgYXMgQWN0dWFsVmlzdWFsaXphdGlvbkFubm90YXRpb25zLFxuXHRcdFx0XHRhbm5vdGF0aW9uUGF0aDogYCR7YmFzZVZpc3VhbGl6YXRpb25QYXRofSR7Zmlyc3RWaXoudmFsdWV9YCxcblx0XHRcdFx0Y29udmVydGVyQ29udGV4dDogY29udmVydGVyQ29udGV4dFxuXHRcdFx0fSk7XG5cdFx0fVxuXHR9O1xuXG5cdGlmIChiSXNBTFApIHtcblx0XHQvLyBJbiBjYXNlIG9mIEFMUCwgd2UgdXNlIHRoZSBmaXJzdCBMaW5lSXRlbSBhbmQgdGhlIGZpcnN0IENoYXJ0XG5cdFx0cHVzaEZpcnN0Vml6T2ZUeXBlKFtVSUFubm90YXRpb25UZXJtcy5MaW5lSXRlbV0pO1xuXHRcdHB1c2hGaXJzdFZpek9mVHlwZShbVUlBbm5vdGF0aW9uVGVybXMuQ2hhcnRdKTtcblx0fSBlbHNlIHtcblx0XHQvLyBPdGhlcndpc2UsIHdlIHVzZSB0aGUgZmlyc3Qgdml6IG9ubHkgKENoYXJ0IG9yIExpbmVJdGVtKVxuXHRcdHB1c2hGaXJzdFZpek9mVHlwZShbVUlBbm5vdGF0aW9uVGVybXMuTGluZUl0ZW0sIFVJQW5ub3RhdGlvblRlcm1zLkNoYXJ0XSk7XG5cdH1cblx0cmV0dXJuIHZpc3VhbGl6YXRpb25Bbm5vdGF0aW9ucztcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50KFxuXHRlbnRpdHlUeXBlOiBFbnRpdHlUeXBlLFxuXHRhbm5vdGF0aW9uUGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuXHRjb252ZXJ0ZXJDb250ZXh0OiBDb252ZXJ0ZXJDb250ZXh0XG4pOiBhbnkge1xuXHRpZiAoYW5ub3RhdGlvblBhdGgpIHtcblx0XHRjb25zdCByZXNvbHZlZFRhcmdldCA9IGNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5VHlwZUFubm90YXRpb24oYW5ub3RhdGlvblBhdGgpO1xuXHRcdGNvbnN0IHNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQgPSByZXNvbHZlZFRhcmdldC5hbm5vdGF0aW9uIGFzIFNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQ7XG5cdFx0aWYgKHNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQpIHtcblx0XHRcdGlmIChzZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50LnRlcm0gPT09IFVJQW5ub3RhdGlvblRlcm1zLlNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQpIHtcblx0XHRcdFx0cmV0dXJuIHNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQ7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIkFubm90YXRpb24gUGF0aCBmb3IgdGhlIFNQViBtZW50aW9uZWQgaW4gdGhlIG1hbmlmZXN0IGlzIG5vdCBmb3VuZCwgUGxlYXNlIGFkZCB0aGUgU1BWIGluIHRoZSBhbm5vdGF0aW9uXCIpO1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gZW50aXR5VHlwZS5hbm5vdGF0aW9ucz8uVUk/LlNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQ7XG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2VsZWN0aW9uUHJlc2VudGF0aW9uQ29tcGxpYW50KFxuXHRTZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50OiBTZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50LFxuXHRiSXNBTFA6IGJvb2xlYW5cbik6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuXHRjb25zdCBwcmVzZW50YXRpb25WYXJpYW50ID0gU2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudCAmJiBTZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50LlByZXNlbnRhdGlvblZhcmlhbnQ7XG5cdGlmIChwcmVzZW50YXRpb25WYXJpYW50KSB7XG5cdFx0cmV0dXJuIGlzUHJlc2VudGF0aW9uQ29tcGxpYW50KHByZXNlbnRhdGlvblZhcmlhbnQsIGJJc0FMUCk7XG5cdH0gZWxzZSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiUHJlc2VudGF0aW9uIFZhcmlhbnQgaXMgbm90IHByZXNlbnQgaW4gdGhlIFNQViBhbm5vdGF0aW9uXCIpO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ByZXNlbnRhdGlvbkNvbXBsaWFudChwcmVzZW50YXRpb25WYXJpYW50OiBQcmVzZW50YXRpb25WYXJpYW50VHlwZSwgYklzQUxQID0gZmFsc2UpOiBib29sZWFuIHtcblx0bGV0IGJIYXNUYWJsZSA9IGZhbHNlLFxuXHRcdGJIYXNDaGFydCA9IGZhbHNlO1xuXHRpZiAoYklzQUxQKSB7XG5cdFx0aWYgKHByZXNlbnRhdGlvblZhcmlhbnQ/LlZpc3VhbGl6YXRpb25zKSB7XG5cdFx0XHRjb25zdCBhVmlzdWFsaXphdGlvbnMgPSBwcmVzZW50YXRpb25WYXJpYW50LlZpc3VhbGl6YXRpb25zO1xuXHRcdFx0YVZpc3VhbGl6YXRpb25zLmZvckVhY2goKG9WaXN1YWxpemF0aW9uKSA9PiB7XG5cdFx0XHRcdGlmIChvVmlzdWFsaXphdGlvbi4kdGFyZ2V0Py50ZXJtID09PSBVSUFubm90YXRpb25UZXJtcy5MaW5lSXRlbSkge1xuXHRcdFx0XHRcdGJIYXNUYWJsZSA9IHRydWU7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKG9WaXN1YWxpemF0aW9uLiR0YXJnZXQ/LnRlcm0gPT09IFVJQW5ub3RhdGlvblRlcm1zLkNoYXJ0KSB7XG5cdFx0XHRcdFx0Ykhhc0NoYXJ0ID0gdHJ1ZTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fVxuXHRcdHJldHVybiBiSGFzQ2hhcnQgJiYgYkhhc1RhYmxlO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiAoXG5cdFx0XHRwcmVzZW50YXRpb25WYXJpYW50Py5WaXN1YWxpemF0aW9ucyAmJlxuXHRcdFx0ISFwcmVzZW50YXRpb25WYXJpYW50LlZpc3VhbGl6YXRpb25zLmZpbmQoKHZpc3VhbGl6YXRpb24pID0+IHtcblx0XHRcdFx0cmV0dXJuIChcblx0XHRcdFx0XHR2aXN1YWxpemF0aW9uLiR0YXJnZXQ/LnRlcm0gPT09IFVJQW5ub3RhdGlvblRlcm1zLkxpbmVJdGVtIHx8IHZpc3VhbGl6YXRpb24uJHRhcmdldD8udGVybSA9PT0gVUlBbm5vdGF0aW9uVGVybXMuQ2hhcnRcblx0XHRcdFx0KTtcblx0XHRcdH0pXG5cdFx0KTtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVmYXVsdExpbmVJdGVtKGVudGl0eVR5cGU6IEVudGl0eVR5cGUpOiBMaW5lSXRlbSB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiBlbnRpdHlUeXBlLmFubm90YXRpb25zLlVJPy5MaW5lSXRlbTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0Q2hhcnQoZW50aXR5VHlwZTogRW50aXR5VHlwZSk6IENoYXJ0IHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGVudGl0eVR5cGUuYW5ub3RhdGlvbnMuVUk/LkNoYXJ0O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldERlZmF1bHRQcmVzZW50YXRpb25WYXJpYW50KGVudGl0eVR5cGU6IEVudGl0eVR5cGUpOiBQcmVzZW50YXRpb25WYXJpYW50IHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGVudGl0eVR5cGUuYW5ub3RhdGlvbnM/LlVJPy5QcmVzZW50YXRpb25WYXJpYW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVmYXVsdFNlbGVjdGlvblZhcmlhbnQoZW50aXR5VHlwZTogRW50aXR5VHlwZSk6IFNlbGVjdGlvblZhcmlhbnQgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gZW50aXR5VHlwZS5hbm5vdGF0aW9ucz8uVUk/LlNlbGVjdGlvblZhcmlhbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWxlY3Rpb25WYXJpYW50KGVudGl0eVR5cGU6IEVudGl0eVR5cGUsIGNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHQpOiBTZWxlY3Rpb25WYXJpYW50IHwgdW5kZWZpbmVkIHtcblx0Y29uc3QgYW5ub3RhdGlvblBhdGggPSBjb252ZXJ0ZXJDb250ZXh0LmdldE1hbmlmZXN0V3JhcHBlcigpLmdldERlZmF1bHRUZW1wbGF0ZUFubm90YXRpb25QYXRoKCk7XG5cdGNvbnN0IHNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQgPSBnZXRTZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50KGVudGl0eVR5cGUsIGFubm90YXRpb25QYXRoLCBjb252ZXJ0ZXJDb250ZXh0KTtcblx0bGV0IHNlbGVjdGlvblZhcmlhbnQ7XG5cdGlmIChzZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50KSB7XG5cdFx0c2VsZWN0aW9uVmFyaWFudCA9IHNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQuU2VsZWN0aW9uVmFyaWFudDtcblx0XHRpZiAoc2VsZWN0aW9uVmFyaWFudCkge1xuXHRcdFx0cmV0dXJuIHNlbGVjdGlvblZhcmlhbnQ7XG5cdFx0fVxuXHR9IGVsc2Uge1xuXHRcdHNlbGVjdGlvblZhcmlhbnQgPSBnZXREZWZhdWx0U2VsZWN0aW9uVmFyaWFudChlbnRpdHlUeXBlKTtcblx0XHRyZXR1cm4gc2VsZWN0aW9uVmFyaWFudDtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGF0YVZpc3VhbGl6YXRpb25Db25maWd1cmF0aW9uKFxuXHR2aXN1YWxpemF0aW9uUGF0aDogc3RyaW5nLFxuXHRpc0NvbmRlbnNlZFRhYmxlTGF5b3V0Q29tcGxpYW50OiBib29sZWFuLFxuXHRpbkNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHQsXG5cdHZpZXdDb25maWd1cmF0aW9uPzogVmlld1BhdGhDb25maWd1cmF0aW9uLFxuXHRkb05vdENoZWNrQXBwbHlTdXBwb3J0ZWQ/OiBib29sZWFuLFxuXHRhc3NvY2lhdGVkUHJlc2VudGF0aW9uVmFyaWFudFBhdGg/OiBzdHJpbmcsXG5cdGlzTWFjcm9Pck11bHRpcGxlVmlldz86IGJvb2xlYW5cbik6IERhdGFWaXN1YWxpemF0aW9uRGVmaW5pdGlvbiB7XG5cdGNvbnN0IHJlc29sdmVkVGFyZ2V0ID1cblx0XHR2aXN1YWxpemF0aW9uUGF0aCAhPT0gXCJcIlxuXHRcdFx0PyBpbkNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5VHlwZUFubm90YXRpb24odmlzdWFsaXphdGlvblBhdGgpXG5cdFx0XHQ6IHsgYW5ub3RhdGlvbjogdW5kZWZpbmVkLCBjb252ZXJ0ZXJDb250ZXh0OiBpbkNvbnZlcnRlckNvbnRleHQgfTtcblx0Y29uc3QgcmVzb2x2ZWRBc3NvY2lhdGVkUHJlc2VudGF0aW9uVmFyaWFudCA9IGFzc29jaWF0ZWRQcmVzZW50YXRpb25WYXJpYW50UGF0aFxuXHRcdD8gaW5Db252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVR5cGVBbm5vdGF0aW9uKGFzc29jaWF0ZWRQcmVzZW50YXRpb25WYXJpYW50UGF0aClcblx0XHQ6IG51bGw7XG5cdGNvbnN0IHJlc29sdmVkVmlzdWFsaXphdGlvbiA9IHJlc29sdmVkVGFyZ2V0LmFubm90YXRpb24gYXMgRGF0YVZpc3VhbGl6YXRpb25Bbm5vdGF0aW9ucztcblx0aW5Db252ZXJ0ZXJDb250ZXh0ID0gcmVzb2x2ZWRUYXJnZXQuY29udmVydGVyQ29udGV4dDtcblx0bGV0IHZpc3VhbGl6YXRpb25Bbm5vdGF0aW9uczogVmlzdWFsaXphdGlvbkFuZFBhdGhbXSA9IFtdO1xuXHRsZXQgcHJlc2VudGF0aW9uVmFyaWFudEFubm90YXRpb246IFByZXNlbnRhdGlvblZhcmlhbnRUeXBlO1xuXHRsZXQgcHJlc2VudGF0aW9uUGF0aDogc3RyaW5nID0gXCJcIjtcblx0bGV0IGNoYXJ0VmlzdWFsaXphdGlvbiwgdGFibGVWaXN1YWxpemF0aW9uO1xuXHRjb25zdCBzVGVybSA9IHJlc29sdmVkVmlzdWFsaXphdGlvbj8udGVybTtcblx0aWYgKHNUZXJtKSB7XG5cdFx0c3dpdGNoIChzVGVybSkge1xuXHRcdFx0Y2FzZSBVSUFubm90YXRpb25UZXJtcy5MaW5lSXRlbTpcblx0XHRcdGNhc2UgVUlBbm5vdGF0aW9uVGVybXMuQ2hhcnQ6XG5cdFx0XHRcdHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uID0gcmVzb2x2ZWRBc3NvY2lhdGVkUHJlc2VudGF0aW9uVmFyaWFudD8uYW5ub3RhdGlvbjtcblx0XHRcdFx0dmlzdWFsaXphdGlvbkFubm90YXRpb25zLnB1c2goe1xuXHRcdFx0XHRcdHZpc3VhbGl6YXRpb246IHJlc29sdmVkVmlzdWFsaXphdGlvbiBhcyBBY3R1YWxWaXN1YWxpemF0aW9uQW5ub3RhdGlvbnMsXG5cdFx0XHRcdFx0YW5ub3RhdGlvblBhdGg6IHZpc3VhbGl6YXRpb25QYXRoLFxuXHRcdFx0XHRcdGNvbnZlcnRlckNvbnRleHQ6IGluQ29udmVydGVyQ29udGV4dFxuXHRcdFx0XHR9KTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFVJQW5ub3RhdGlvblRlcm1zLlByZXNlbnRhdGlvblZhcmlhbnQ6XG5cdFx0XHRcdHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uID0gcmVzb2x2ZWRWaXN1YWxpemF0aW9uO1xuXHRcdFx0XHR2aXN1YWxpemF0aW9uQW5ub3RhdGlvbnMgPSB2aXN1YWxpemF0aW9uQW5ub3RhdGlvbnMuY29uY2F0KFxuXHRcdFx0XHRcdGdldFZpc3VhbGl6YXRpb25zRnJvbVByZXNlbnRhdGlvblZhcmlhbnQoXG5cdFx0XHRcdFx0XHRyZXNvbHZlZFZpc3VhbGl6YXRpb24sXG5cdFx0XHRcdFx0XHR2aXN1YWxpemF0aW9uUGF0aCxcblx0XHRcdFx0XHRcdGluQ29udmVydGVyQ29udGV4dCxcblx0XHRcdFx0XHRcdGlzTWFjcm9Pck11bHRpcGxlVmlld1xuXHRcdFx0XHRcdClcblx0XHRcdFx0KTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFVJQW5ub3RhdGlvblRlcm1zLlNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQ6XG5cdFx0XHRcdHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uID0gcmVzb2x2ZWRWaXN1YWxpemF0aW9uLlByZXNlbnRhdGlvblZhcmlhbnQ7XG5cdFx0XHRcdC8vIFByZXNlbnRhdGlvbiBjYW4gYmUgaW5saW5lIG9yIG91dHNpZGUgdGhlIFNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnRcblx0XHRcdFx0cHJlc2VudGF0aW9uUGF0aCA9IHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uLmZ1bGx5UXVhbGlmaWVkTmFtZTtcblx0XHRcdFx0dmlzdWFsaXphdGlvbkFubm90YXRpb25zID0gdmlzdWFsaXphdGlvbkFubm90YXRpb25zLmNvbmNhdChcblx0XHRcdFx0XHRnZXRWaXN1YWxpemF0aW9uc0Zyb21QcmVzZW50YXRpb25WYXJpYW50KFxuXHRcdFx0XHRcdFx0cHJlc2VudGF0aW9uVmFyaWFudEFubm90YXRpb24sXG5cdFx0XHRcdFx0XHR2aXN1YWxpemF0aW9uUGF0aCxcblx0XHRcdFx0XHRcdGluQ29udmVydGVyQ29udGV4dCxcblx0XHRcdFx0XHRcdGlzTWFjcm9Pck11bHRpcGxlVmlld1xuXHRcdFx0XHRcdClcblx0XHRcdFx0KTtcblxuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdGJyZWFrO1xuXHRcdH1cblx0XHR2aXN1YWxpemF0aW9uQW5ub3RhdGlvbnMuZm9yRWFjaCgodmlzdWFsaXphdGlvbkFubm90YXRpb24pID0+IHtcblx0XHRcdGNvbnN0IHsgdmlzdWFsaXphdGlvbiwgYW5ub3RhdGlvblBhdGgsIGNvbnZlcnRlckNvbnRleHQgfSA9IHZpc3VhbGl6YXRpb25Bbm5vdGF0aW9uO1xuXHRcdFx0c3dpdGNoICh2aXN1YWxpemF0aW9uLnRlcm0pIHtcblx0XHRcdFx0Y2FzZSBVSUFubm90YXRpb25UZXJtcy5DaGFydDpcblx0XHRcdFx0XHRjaGFydFZpc3VhbGl6YXRpb24gPSBjcmVhdGVDaGFydFZpc3VhbGl6YXRpb24oXG5cdFx0XHRcdFx0XHR2aXN1YWxpemF0aW9uLFxuXHRcdFx0XHRcdFx0YW5ub3RhdGlvblBhdGgsXG5cdFx0XHRcdFx0XHRjb252ZXJ0ZXJDb250ZXh0LFxuXHRcdFx0XHRcdFx0ZG9Ob3RDaGVja0FwcGx5U3VwcG9ydGVkXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0Y2FzZSBVSUFubm90YXRpb25UZXJtcy5MaW5lSXRlbTpcblx0XHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0XHR0YWJsZVZpc3VhbGl6YXRpb24gPSBUYWJsZS5jcmVhdGVUYWJsZVZpc3VhbGl6YXRpb24oXG5cdFx0XHRcdFx0XHR2aXN1YWxpemF0aW9uLFxuXHRcdFx0XHRcdFx0YW5ub3RhdGlvblBhdGgsXG5cdFx0XHRcdFx0XHRjb252ZXJ0ZXJDb250ZXh0LFxuXHRcdFx0XHRcdFx0cHJlc2VudGF0aW9uVmFyaWFudEFubm90YXRpb24sXG5cdFx0XHRcdFx0XHRpc0NvbmRlbnNlZFRhYmxlTGF5b3V0Q29tcGxpYW50LFxuXHRcdFx0XHRcdFx0dmlld0NvbmZpZ3VyYXRpb25cblx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9IGVsc2Uge1xuXHRcdHRhYmxlVmlzdWFsaXphdGlvbiA9IFRhYmxlLmNyZWF0ZURlZmF1bHRUYWJsZVZpc3VhbGl6YXRpb24oaW5Db252ZXJ0ZXJDb250ZXh0LCAhaXNNYWNyb09yTXVsdGlwbGVWaWV3KTtcblx0XHRpbkNvbnZlcnRlckNvbnRleHQuZ2V0RGlhZ25vc3RpY3MoKS5hZGRJc3N1ZShJc3N1ZUNhdGVnb3J5LkFubm90YXRpb24sIElzc3VlU2V2ZXJpdHkuTWVkaXVtLCBJc3N1ZVR5cGUuTUlTU0lOR19MSU5FSVRFTSk7XG5cdH1cblx0Y29uc3QgYVZpc3VhbGl6YXRpb25zOiBhbnkgPSBbXTtcblx0bGV0IHNQYXRoID1cblx0XHRzVGVybSA9PT0gVUlBbm5vdGF0aW9uVGVybXMuU2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudFxuXHRcdFx0PyBwcmVzZW50YXRpb25QYXRoXG5cdFx0XHQ6IHJlc29sdmVkVmlzdWFsaXphdGlvbiAmJiByZXNvbHZlZFZpc3VhbGl6YXRpb24uZnVsbHlRdWFsaWZpZWROYW1lO1xuXHRpZiAoc1BhdGggPT09IHVuZGVmaW5lZCkge1xuXHRcdHNQYXRoID0gXCIvXCI7XG5cdH1cblx0aWYgKGNoYXJ0VmlzdWFsaXphdGlvbikge1xuXHRcdGFWaXN1YWxpemF0aW9ucy5wdXNoKGNoYXJ0VmlzdWFsaXphdGlvbik7XG5cdH1cblx0aWYgKHRhYmxlVmlzdWFsaXphdGlvbikge1xuXHRcdGFWaXN1YWxpemF0aW9ucy5wdXNoKHRhYmxlVmlzdWFsaXphdGlvbik7XG5cdH1cblx0cmV0dXJuIHtcblx0XHR2aXN1YWxpemF0aW9uczogYVZpc3VhbGl6YXRpb25zLFxuXHRcdGFubm90YXRpb25QYXRoOiBpbkNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5U2V0QmFzZWRBbm5vdGF0aW9uUGF0aChzUGF0aClcblx0fTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gVUkgQ29udHJvbCAoTGluZUl0ZW0vQ2hhcnQpIENvbnRleHQuXG4gKlxuICogQGZ1bmN0aW9uXG4gKiBAbmFtZSBnZXRVaUNvbnRyb2xcbiAqIEBwYXJhbSBvUHJlc2VudGF0aW9uQ29udGV4dCBQcmVzZW50YXRpb24gY29udGV4dCBvYmplY3QgKFByZXNlbnRhdGlvbiB2YXJpYW50IG9yIFVJLkxpbmVJdGVtL0NoYXJ0KVxuICogQHBhcmFtIHNDb250cm9sUGF0aCBDb250cm9sIHBhdGhcbiAqIEByZXR1cm5zIFRoZSBDb250cm9sIChMaW5lSXRlbS9DaGFydCkgY29udGV4dFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VWlDb250cm9sKG9QcmVzZW50YXRpb25Db250ZXh0OiBDb250ZXh0LCBzQ29udHJvbFBhdGg6IFN0cmluZykge1xuXHRjb25zdCBvUHJlc2VudGF0aW9uID0gb1ByZXNlbnRhdGlvbkNvbnRleHQuZ2V0T2JqZWN0KG9QcmVzZW50YXRpb25Db250ZXh0LmdldFBhdGgoKSksXG5cdFx0b1ByZXNlbnRhdGlvblZhcmlhbnRQYXRoID0gQ29tbW9uSGVscGVyLmNyZWF0ZVByZXNlbnRhdGlvblBhdGhDb250ZXh0KG9QcmVzZW50YXRpb25Db250ZXh0KSxcblx0XHRvTW9kZWwgPSBvUHJlc2VudGF0aW9uQ29udGV4dC5nZXRNb2RlbCgpIGFzIE9EYXRhTW9kZWw7XG5cdGlmIChDb21tb25IZWxwZXIuX2lzUHJlc2VudGF0aW9uVmFyaWFudEFubm90YXRpb24ob1ByZXNlbnRhdGlvblZhcmlhbnRQYXRoLmdldFBhdGgoKSkpIHtcblx0XHQvLyBVbmNvbXBsZXRlIFByZXNlbnRhdGlvblZhcmlhbnQgY2FuIGJlIHBhc3NlZCB0byBtYWNybyB2aWEgU2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudFxuXHRcdGNvbnN0IGFWaXN1YWxpemF0aW9ucyA9IG9QcmVzZW50YXRpb24uVmlzdWFsaXphdGlvbnM7XG5cdFx0aWYgKEFycmF5LmlzQXJyYXkoYVZpc3VhbGl6YXRpb25zKSkge1xuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhVmlzdWFsaXphdGlvbnMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0aWYgKGFWaXN1YWxpemF0aW9uc1tpXS4kQW5ub3RhdGlvblBhdGguaW5kZXhPZihzQ29udHJvbFBhdGgpICE9PSAtMSkge1xuXHRcdFx0XHRcdHNDb250cm9sUGF0aCA9IGFWaXN1YWxpemF0aW9uc1tpXS4kQW5ub3RhdGlvblBhdGg7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIChvTW9kZWwgYXMgYW55KS5nZXRNZXRhQ29udGV4dChvUHJlc2VudGF0aW9uQ29udGV4dC5nZXRQYXRoKCkuc3BsaXQoXCJAXCIpWzBdICsgc0NvbnRyb2xQYXRoKTtcblx0fVxuXHRyZXR1cm4gb1ByZXNlbnRhdGlvbkNvbnRleHQ7XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7RUFzQ08sTUFBTUEsd0NBQXdDLEdBQUcsVUFDdkRDLDZCQUFzRCxFQUN0REMsaUJBQXlCLEVBQ3pCQyxnQkFBa0MsRUFDbENDLHFCQUErQixFQUNOO0lBQ3pCLE1BQU1DLHdCQUFnRCxHQUFHLEVBQUU7SUFFM0QsTUFBTUMsTUFBTSxHQUNYSCxnQkFBZ0IsQ0FBQ0ksa0JBQWtCLEVBQUUsQ0FBQ0MseUJBQXlCLEVBQUUsSUFDakVMLGdCQUFnQixDQUFDTSxlQUFlLEVBQUUsS0FBS0MsWUFBWSxDQUFDQyxrQkFBa0I7SUFFdkUsTUFBTUMscUJBQXFCLEdBQUdWLGlCQUFpQixDQUFDVyxLQUFLLENBQUMsR0FBRyxDQUFD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
|
|
284
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRWaXN1YWxpemF0aW9uc0Zyb21QcmVzZW50YXRpb25WYXJpYW50IiwicHJlc2VudGF0aW9uVmFyaWFudEFubm90YXRpb24iLCJ2aXN1YWxpemF0aW9uUGF0aCIsImNvbnZlcnRlckNvbnRleHQiLCJpc01hY3JvT3JNdWx0aXBsZVZpZXciLCJ2aXN1YWxpemF0aW9uQW5ub3RhdGlvbnMiLCJpc0FMUCIsImlzQWxwQW5ub3RhdGlvbiIsImJhc2VWaXN1YWxpemF0aW9uUGF0aCIsInNwbGl0IiwiaXNQcmVzZW50YXRpb25Db21wbGlhbnQiLCJhbm5vdGF0aW9uRXhpc3RzSW5QcmVzZW50YXRpb25WYXJpYW50IiwiZGVmYXVsdExpbmVJdGVtQW5ub3RhdGlvbiIsInByZXBhcmVEZWZhdWx0VmlzdWFsaXphdGlvbiIsInB1c2giLCJkZWZhdWx0Q2hhcnRBbm5vdGF0aW9uIiwidmlzdWFsaXphdGlvbnMiLCJWaXN1YWxpemF0aW9ucyIsInB1c2hGaXJzdFZpek9mVHlwZSIsImFsbG93ZWRUZXJtcyIsImZpcnN0Vml6IiwiZmluZCIsInZpeiIsImluZGV4T2YiLCIkdGFyZ2V0IiwidGVybSIsInZpc3VhbGl6YXRpb24iLCJhbm5vdGF0aW9uUGF0aCIsInZhbHVlIiwiZ2V0U2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudCIsImVudGl0eVR5cGUiLCJyZXNvbHZlZFRhcmdldCIsImdldEVudGl0eVR5cGVBbm5vdGF0aW9uIiwic2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudCIsImFubm90YXRpb24iLCJFcnJvciIsImFubm90YXRpb25zIiwiVUkiLCJTZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50IiwiaXNTZWxlY3Rpb25QcmVzZW50YXRpb25Db21wbGlhbnQiLCJwcmVzZW50YXRpb25WYXJpYW50IiwiUHJlc2VudGF0aW9uVmFyaWFudCIsImhhc1RhYmxlIiwiaGFzQ2hhcnQiLCJmb3JFYWNoIiwiZ2V0RGVmYXVsdExpbmVJdGVtIiwiTGluZUl0ZW0iLCJnZXREZWZhdWx0Q2hhcnQiLCJDaGFydCIsImdldERlZmF1bHRQcmVzZW50YXRpb25WYXJpYW50IiwiZ2V0RGVmYXVsdFNlbGVjdGlvblZhcmlhbnQiLCJTZWxlY3Rpb25WYXJpYW50IiwiZ2V0U2VsZWN0aW9uVmFyaWFudCIsImdldE1hbmlmZXN0V3JhcHBlciIsImdldERlZmF1bHRUZW1wbGF0ZUFubm90YXRpb25QYXRoIiwic2VsZWN0aW9uVmFyaWFudCIsImdldERhdGFWaXN1YWxpemF0aW9uQ29uZmlndXJhdGlvbiIsImlzQ29uZGVuc2VkVGFibGVMYXlvdXRDb21wbGlhbnQiLCJpbkNvbnZlcnRlckNvbnRleHQiLCJ2aWV3Q29uZmlndXJhdGlvbiIsImRvTm90Q2hlY2tBcHBseVN1cHBvcnRlZCIsImFzc29jaWF0ZWRQcmVzZW50YXRpb25WYXJpYW50UGF0aCIsInVuZGVmaW5lZCIsInJlc29sdmVkQXNzb2NpYXRlZFByZXNlbnRhdGlvblZhcmlhbnQiLCJyZXNvbHZlZFZpc3VhbGl6YXRpb24iLCJwcmVzZW50YXRpb25QYXRoIiwiY2hhcnRWaXN1YWxpemF0aW9uIiwidGFibGVWaXN1YWxpemF0aW9uIiwiY29uY2F0IiwiZnVsbHlRdWFsaWZpZWROYW1lIiwidmlzdWFsaXphdGlvbkFubm90YXRpb24iLCJjcmVhdGVDaGFydFZpc3VhbGl6YXRpb24iLCJUYWJsZSIsImNyZWF0ZVRhYmxlVmlzdWFsaXphdGlvbiIsInBhdGgiLCJjcmVhdGVEZWZhdWx0VGFibGVWaXN1YWxpemF0aW9uIiwiZ2V0RGlhZ25vc3RpY3MiLCJhZGRJc3N1ZSIsIklzc3VlQ2F0ZWdvcnkiLCJBbm5vdGF0aW9uIiwiSXNzdWVTZXZlcml0eSIsIk1lZGl1bSIsIklzc3VlVHlwZSIsIk1JU1NJTkdfTElORUlURU0iLCJjcmVhdGVCbGFua0NoYXJ0VmlzdWFsaXphdGlvbiIsIk1JU1NJTkdfQ0hBUlQiLCJnZXRFbnRpdHlTZXRCYXNlZEFubm90YXRpb25QYXRoIiwiZ2V0VWlDb250cm9sIiwicHJlc2VudGF0aW9uQ29udGV4dCIsImNvbnRyb2xQYXRoIiwiQ29tbW9uSGVscGVyIiwidmFsaWRhdGVQcmVzZW50YXRpb25NZXRhUGF0aCIsImdldFBhdGgiLCJwcmVzZW50YXRpb24iLCJNZXRhTW9kZWxDb252ZXJ0ZXIiLCJjb252ZXJ0TWV0YU1vZGVsQ29udGV4dCIsInByZXNlbnRhdGlvblZhcmlhbnRQYXRoIiwiY3JlYXRlUHJlc2VudGF0aW9uUGF0aENvbnRleHQiLCJtb2RlbCIsImdldE1vZGVsIiwiX2lzUHJlc2VudGF0aW9uVmFyaWFudEFubm90YXRpb24iLCJBcnJheSIsImlzQXJyYXkiLCJ0eXBlIiwiZ2V0TWV0YUNvbnRleHQiLCJnZXRPYmplY3QiLCJhbm5vdGF0aW9uVGVybSIsInNvbWUiLCJ2aXN1YWxpemF0aW9uVHlwZSIsImdldEVudGl0eVR5cGUiLCJkZWZhdWx0QW5ub3RhdGlvbiIsImdldFJlbGF0aXZlQW5ub3RhdGlvblBhdGgiLCJoYXNNdWx0aXBsZVZpc3VhbGl6YXRpb25zIiwiZ2V0VGVtcGxhdGVUeXBlIiwiVGVtcGxhdGVUeXBlIiwiQW5hbHl0aWNhbExpc3RQYWdlIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJEYXRhVmlzdWFsaXphdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVudGl0eVR5cGUgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB0eXBlIHtcblx0Q2hhcnQsXG5cdExpbmVJdGVtLFxuXHRQcmVzZW50YXRpb25WYXJpYW50LFxuXHRQcmVzZW50YXRpb25WYXJpYW50VHlwZSxcblx0U2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudCxcblx0U2VsZWN0aW9uVmFyaWFudCxcblx0U2VsZWN0aW9uVmFyaWFudFR5cGVcbn0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9VSVwiO1xuaW1wb3J0IHsgVUlBbm5vdGF0aW9uVGVybXMgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL1VJXCI7XG5pbXBvcnQgeyBJc3N1ZUNhdGVnb3J5LCBJc3N1ZVNldmVyaXR5LCBJc3N1ZVR5cGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9oZWxwZXJzL0lzc3VlTWFuYWdlclwiO1xuaW1wb3J0ICogYXMgTWV0YU1vZGVsQ29udmVydGVyIGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IENvbW1vbkhlbHBlciBmcm9tIFwic2FwL2ZlL21hY3Jvcy9Db21tb25IZWxwZXJcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSBPRGF0YU1ldGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTWV0YU1vZGVsXCI7XG5pbXBvcnQgdHlwZSBDb252ZXJ0ZXJDb250ZXh0IGZyb20gXCIuLi8uLi9Db252ZXJ0ZXJDb250ZXh0XCI7XG5pbXBvcnQgdHlwZSB7IFZpZXdQYXRoQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuLi8uLi9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZVR5cGUgfSBmcm9tIFwiLi4vLi4vTWFuaWZlc3RTZXR0aW5nc1wiO1xuaW1wb3J0IHR5cGUgeyBDaGFydFZpc3VhbGl6YXRpb24gfSBmcm9tIFwiLi9DaGFydFwiO1xuaW1wb3J0IHsgY3JlYXRlQmxhbmtDaGFydFZpc3VhbGl6YXRpb24sIGNyZWF0ZUNoYXJ0VmlzdWFsaXphdGlvbiB9IGZyb20gXCIuL0NoYXJ0XCI7XG5pbXBvcnQgdHlwZSB7IFRhYmxlVmlzdWFsaXphdGlvbiB9IGZyb20gXCIuL1RhYmxlXCI7XG5pbXBvcnQgVGFibGUgZnJvbSBcIi4vVGFibGVcIjtcblxuZXhwb3J0IHR5cGUgRGF0YVZpc3VhbGl6YXRpb25Bbm5vdGF0aW9ucyA9IExpbmVJdGVtIHwgQ2hhcnQgfCBQcmVzZW50YXRpb25WYXJpYW50IHwgU2VsZWN0aW9uVmFyaWFudCB8IFNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQ7XG5cbmV4cG9ydCB0eXBlIEFjdHVhbFZpc3VhbGl6YXRpb25Bbm5vdGF0aW9ucyA9IExpbmVJdGVtIHwgQ2hhcnQ7XG5cbmV4cG9ydCB0eXBlIFByZXNlbnRhdGlvblZpc3VhbGl6YXRpb25Bbm5vdGF0aW9ucyA9IFVJQW5ub3RhdGlvblRlcm1zLkxpbmVJdGVtIHwgVUlBbm5vdGF0aW9uVGVybXMuQ2hhcnQ7XG5cbmV4cG9ydCB0eXBlIFZpc3VhbGl6YXRpb25BbmRQYXRoID0ge1xuXHR2aXN1YWxpemF0aW9uOiBBY3R1YWxWaXN1YWxpemF0aW9uQW5ub3RhdGlvbnM7XG5cdGFubm90YXRpb25QYXRoOiBzdHJpbmc7XG5cdHNlbGVjdGlvblZhcmlhbnRQYXRoPzogc3RyaW5nO1xuXHRjb252ZXJ0ZXJDb250ZXh0OiBDb252ZXJ0ZXJDb250ZXh0O1xufTtcblxuZXhwb3J0IHR5cGUgRGF0YVZpc3VhbGl6YXRpb25EZWZpbml0aW9uID0ge1xuXHR2aXN1YWxpemF0aW9uczogKFRhYmxlVmlzdWFsaXphdGlvbiB8IENoYXJ0VmlzdWFsaXphdGlvbilbXTtcblx0YW5ub3RhdGlvblBhdGg6IHN0cmluZztcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRWaXN1YWxpemF0aW9uc0Zyb21QcmVzZW50YXRpb25WYXJpYW50ID0gZnVuY3Rpb24gKFxuXHRwcmVzZW50YXRpb25WYXJpYW50QW5ub3RhdGlvbjogUHJlc2VudGF0aW9uVmFyaWFudFR5cGUsXG5cdHZpc3VhbGl6YXRpb25QYXRoOiBzdHJpbmcsXG5cdGNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHQsXG5cdGlzTWFjcm9Pck11bHRpcGxlVmlldz86IGJvb2xlYW5cbik6IFZpc3VhbGl6YXRpb25BbmRQYXRoW10ge1xuXHRjb25zdCB2aXN1YWxpemF0aW9uQW5ub3RhdGlvbnM6IFZpc3VhbGl6YXRpb25BbmRQYXRoW10gPSBbXTtcblxuXHRjb25zdCBpc0FMUCA9IGlzQWxwQW5ub3RhdGlvbihjb252ZXJ0ZXJDb250ZXh0KTtcblxuXHRjb25zdCBiYXNlVmlzdWFsaXphdGlvblBhdGggPSB2aXN1YWxpemF0aW9uUGF0aC5zcGxpdChcIkBcIilbMF07XG5cblx0aWYgKChpc01hY3JvT3JNdWx0aXBsZVZpZXcgPT09IHRydWUgfHwgaXNBTFApICYmICFpc1ByZXNlbnRhdGlvbkNvbXBsaWFudChwcmVzZW50YXRpb25WYXJpYW50QW5ub3RhdGlvbiwgaXNBTFApKSB7XG5cdFx0aWYgKCFhbm5vdGF0aW9uRXhpc3RzSW5QcmVzZW50YXRpb25WYXJpYW50KHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uLCBVSUFubm90YXRpb25UZXJtcy5MaW5lSXRlbSkpIHtcblx0XHRcdGNvbnN0IGRlZmF1bHRMaW5lSXRlbUFubm90YXRpb24gPSBwcmVwYXJlRGVmYXVsdFZpc3VhbGl6YXRpb24oXG5cdFx0XHRcdFVJQW5ub3RhdGlvblRlcm1zLkxpbmVJdGVtLFxuXHRcdFx0XHRiYXNlVmlzdWFsaXphdGlvblBhdGgsXG5cdFx0XHRcdGNvbnZlcnRlckNvbnRleHRcblx0XHRcdCk7XG5cblx0XHRcdGlmIChkZWZhdWx0TGluZUl0ZW1Bbm5vdGF0aW9uKSB7XG5cdFx0XHRcdHZpc3VhbGl6YXRpb25Bbm5vdGF0aW9ucy5wdXNoKGRlZmF1bHRMaW5lSXRlbUFubm90YXRpb24pO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZiAoIWFubm90YXRpb25FeGlzdHNJblByZXNlbnRhdGlvblZhcmlhbnQocHJlc2VudGF0aW9uVmFyaWFudEFubm90YXRpb24sIFVJQW5ub3RhdGlvblRlcm1zLkNoYXJ0KSkge1xuXHRcdFx0Y29uc3QgZGVmYXVsdENoYXJ0QW5ub3RhdGlvbiA9IHByZXBhcmVEZWZhdWx0VmlzdWFsaXphdGlvbihVSUFubm90YXRpb25UZXJtcy5DaGFydCwgYmFzZVZpc3VhbGl6YXRpb25QYXRoLCBjb252ZXJ0ZXJDb250ZXh0KTtcblxuXHRcdFx0aWYgKGRlZmF1bHRDaGFydEFubm90YXRpb24pIHtcblx0XHRcdFx0dmlzdWFsaXphdGlvbkFubm90YXRpb25zLnB1c2goZGVmYXVsdENoYXJ0QW5ub3RhdGlvbik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Y29uc3QgdmlzdWFsaXphdGlvbnMgPSBwcmVzZW50YXRpb25WYXJpYW50QW5ub3RhdGlvbi5WaXN1YWxpemF0aW9ucztcblxuXHRjb25zdCBwdXNoRmlyc3RWaXpPZlR5cGUgPSBmdW5jdGlvbiAoYWxsb3dlZFRlcm1zOiBzdHJpbmdbXSkge1xuXHRcdGNvbnN0IGZpcnN0Vml6ID0gdmlzdWFsaXphdGlvbnM/LmZpbmQoKHZpeikgPT4ge1xuXHRcdFx0cmV0dXJuIGFsbG93ZWRUZXJtcy5pbmRleE9mKHZpei4kdGFyZ2V0Py50ZXJtKSA+PSAwO1xuXHRcdH0pO1xuXG5cdFx0aWYgKGZpcnN0Vml6KSB7XG5cdFx0XHR2aXN1YWxpemF0aW9uQW5ub3RhdGlvbnMucHVzaCh7XG5cdFx0XHRcdHZpc3VhbGl6YXRpb246IGZpcnN0Vml6LiR0YXJnZXQgYXMgQWN0dWFsVmlzdWFsaXphdGlvbkFubm90YXRpb25zLFxuXHRcdFx0XHRhbm5vdGF0aW9uUGF0aDogYCR7YmFzZVZpc3VhbGl6YXRpb25QYXRofSR7Zmlyc3RWaXoudmFsdWV9YCxcblx0XHRcdFx0Y29udmVydGVyQ29udGV4dDogY29udmVydGVyQ29udGV4dFxuXHRcdFx0fSk7XG5cdFx0fVxuXHR9O1xuXG5cdGlmIChpc0FMUCkge1xuXHRcdC8vIEluIGNhc2Ugb2YgQUxQLCB3ZSB1c2UgdGhlIGZpcnN0IExpbmVJdGVtIGFuZCB0aGUgZmlyc3QgQ2hhcnRcblx0XHRwdXNoRmlyc3RWaXpPZlR5cGUoW1VJQW5ub3RhdGlvblRlcm1zLkxpbmVJdGVtXSk7XG5cdFx0cHVzaEZpcnN0Vml6T2ZUeXBlKFtVSUFubm90YXRpb25UZXJtcy5DaGFydF0pO1xuXHR9IGVsc2Uge1xuXHRcdC8vIE90aGVyd2lzZSwgd2UgdXNlIHRoZSBmaXJzdCB2aXogb25seSAoQ2hhcnQgb3IgTGluZUl0ZW0pXG5cdFx0cHVzaEZpcnN0Vml6T2ZUeXBlKFtVSUFubm90YXRpb25UZXJtcy5MaW5lSXRlbSwgVUlBbm5vdGF0aW9uVGVybXMuQ2hhcnRdKTtcblx0fVxuXHRyZXR1cm4gdmlzdWFsaXphdGlvbkFubm90YXRpb25zO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQoXG5cdGVudGl0eVR5cGU6IEVudGl0eVR5cGUsXG5cdGFubm90YXRpb25QYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQsXG5cdGNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHRcbik6IFNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQgfCB1bmRlZmluZWQge1xuXHRpZiAoYW5ub3RhdGlvblBhdGgpIHtcblx0XHRjb25zdCByZXNvbHZlZFRhcmdldCA9IGNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5VHlwZUFubm90YXRpb24oYW5ub3RhdGlvblBhdGgpO1xuXHRcdGNvbnN0IHNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQgPSByZXNvbHZlZFRhcmdldC5hbm5vdGF0aW9uIGFzIFNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQ7XG5cdFx0aWYgKHNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQpIHtcblx0XHRcdGlmIChzZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50LnRlcm0gPT09IFVJQW5ub3RhdGlvblRlcm1zLlNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQpIHtcblx0XHRcdFx0cmV0dXJuIHNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQ7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIkFubm90YXRpb24gUGF0aCBmb3IgdGhlIFNQViBtZW50aW9uZWQgaW4gdGhlIG1hbmlmZXN0IGlzIG5vdCBmb3VuZCwgUGxlYXNlIGFkZCB0aGUgU1BWIGluIHRoZSBhbm5vdGF0aW9uXCIpO1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gZW50aXR5VHlwZS5hbm5vdGF0aW9ucz8uVUk/LlNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQ7XG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2VsZWN0aW9uUHJlc2VudGF0aW9uQ29tcGxpYW50KFxuXHRzZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50OiBTZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50LFxuXHRpc0FMUDogYm9vbGVhblxuKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG5cdGNvbnN0IHByZXNlbnRhdGlvblZhcmlhbnQgPSBzZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50ICYmIHNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQuUHJlc2VudGF0aW9uVmFyaWFudDtcblx0aWYgKHByZXNlbnRhdGlvblZhcmlhbnQpIHtcblx0XHRyZXR1cm4gaXNQcmVzZW50YXRpb25Db21wbGlhbnQocHJlc2VudGF0aW9uVmFyaWFudCwgaXNBTFApO1xuXHR9IGVsc2Uge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIlByZXNlbnRhdGlvbiBWYXJpYW50IGlzIG5vdCBwcmVzZW50IGluIHRoZSBTUFYgYW5ub3RhdGlvblwiKTtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNQcmVzZW50YXRpb25Db21wbGlhbnQocHJlc2VudGF0aW9uVmFyaWFudDogUHJlc2VudGF0aW9uVmFyaWFudFR5cGUsIGlzQUxQID0gZmFsc2UpOiBib29sZWFuIHtcblx0bGV0IGhhc1RhYmxlID0gZmFsc2UsXG5cdFx0aGFzQ2hhcnQgPSBmYWxzZTtcblx0aWYgKGlzQUxQKSB7XG5cdFx0aWYgKHByZXNlbnRhdGlvblZhcmlhbnQ/LlZpc3VhbGl6YXRpb25zKSB7XG5cdFx0XHRjb25zdCB2aXN1YWxpemF0aW9ucyA9IHByZXNlbnRhdGlvblZhcmlhbnQuVmlzdWFsaXphdGlvbnM7XG5cdFx0XHR2aXN1YWxpemF0aW9ucy5mb3JFYWNoKCh2aXN1YWxpemF0aW9uKSA9PiB7XG5cdFx0XHRcdGlmICh2aXN1YWxpemF0aW9uLiR0YXJnZXQ/LnRlcm0gPT09IFVJQW5ub3RhdGlvblRlcm1zLkxpbmVJdGVtKSB7XG5cdFx0XHRcdFx0aGFzVGFibGUgPSB0cnVlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmICh2aXN1YWxpemF0aW9uLiR0YXJnZXQ/LnRlcm0gPT09IFVJQW5ub3RhdGlvblRlcm1zLkNoYXJ0KSB7XG5cdFx0XHRcdFx0aGFzQ2hhcnQgPSB0cnVlO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9XG5cdFx0cmV0dXJuIGhhc0NoYXJ0ICYmIGhhc1RhYmxlO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiAoXG5cdFx0XHRwcmVzZW50YXRpb25WYXJpYW50Py5WaXN1YWxpemF0aW9ucyAmJlxuXHRcdFx0ISFwcmVzZW50YXRpb25WYXJpYW50LlZpc3VhbGl6YXRpb25zLmZpbmQoKHZpc3VhbGl6YXRpb24pID0+IHtcblx0XHRcdFx0cmV0dXJuIChcblx0XHRcdFx0XHR2aXN1YWxpemF0aW9uLiR0YXJnZXQ/LnRlcm0gPT09IFVJQW5ub3RhdGlvblRlcm1zLkxpbmVJdGVtIHx8IHZpc3VhbGl6YXRpb24uJHRhcmdldD8udGVybSA9PT0gVUlBbm5vdGF0aW9uVGVybXMuQ2hhcnRcblx0XHRcdFx0KTtcblx0XHRcdH0pXG5cdFx0KTtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVmYXVsdExpbmVJdGVtKGVudGl0eVR5cGU6IEVudGl0eVR5cGUpOiBMaW5lSXRlbSB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiBlbnRpdHlUeXBlLmFubm90YXRpb25zLlVJPy5MaW5lSXRlbTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0Q2hhcnQoZW50aXR5VHlwZTogRW50aXR5VHlwZSk6IENoYXJ0IHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGVudGl0eVR5cGUuYW5ub3RhdGlvbnMuVUk/LkNoYXJ0O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldERlZmF1bHRQcmVzZW50YXRpb25WYXJpYW50KGVudGl0eVR5cGU6IEVudGl0eVR5cGUpOiBQcmVzZW50YXRpb25WYXJpYW50IHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGVudGl0eVR5cGUuYW5ub3RhdGlvbnM/LlVJPy5QcmVzZW50YXRpb25WYXJpYW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVmYXVsdFNlbGVjdGlvblZhcmlhbnQoZW50aXR5VHlwZTogRW50aXR5VHlwZSk6IFNlbGVjdGlvblZhcmlhbnQgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gZW50aXR5VHlwZS5hbm5vdGF0aW9ucz8uVUk/LlNlbGVjdGlvblZhcmlhbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWxlY3Rpb25WYXJpYW50KGVudGl0eVR5cGU6IEVudGl0eVR5cGUsIGNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHQpOiBTZWxlY3Rpb25WYXJpYW50VHlwZSB8IHVuZGVmaW5lZCB7XG5cdGNvbnN0IGFubm90YXRpb25QYXRoID0gY29udmVydGVyQ29udGV4dC5nZXRNYW5pZmVzdFdyYXBwZXIoKS5nZXREZWZhdWx0VGVtcGxhdGVBbm5vdGF0aW9uUGF0aCgpO1xuXHRjb25zdCBzZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50ID0gZ2V0U2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudChlbnRpdHlUeXBlLCBhbm5vdGF0aW9uUGF0aCwgY29udmVydGVyQ29udGV4dCk7XG5cdGxldCBzZWxlY3Rpb25WYXJpYW50O1xuXHRpZiAoc2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudCkge1xuXHRcdHNlbGVjdGlvblZhcmlhbnQgPSBzZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50LlNlbGVjdGlvblZhcmlhbnQgYXMgU2VsZWN0aW9uVmFyaWFudDtcblx0XHRpZiAoc2VsZWN0aW9uVmFyaWFudCkge1xuXHRcdFx0cmV0dXJuIHNlbGVjdGlvblZhcmlhbnQ7XG5cdFx0fVxuXHR9IGVsc2Uge1xuXHRcdHNlbGVjdGlvblZhcmlhbnQgPSBnZXREZWZhdWx0U2VsZWN0aW9uVmFyaWFudChlbnRpdHlUeXBlKTtcblx0XHRyZXR1cm4gc2VsZWN0aW9uVmFyaWFudDtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGF0YVZpc3VhbGl6YXRpb25Db25maWd1cmF0aW9uKFxuXHR2aXN1YWxpemF0aW9uUGF0aDogc3RyaW5nLFxuXHRpc0NvbmRlbnNlZFRhYmxlTGF5b3V0Q29tcGxpYW50OiBib29sZWFuIHwgdW5kZWZpbmVkLFxuXHRpbkNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHQsXG5cdHZpZXdDb25maWd1cmF0aW9uPzogVmlld1BhdGhDb25maWd1cmF0aW9uLFxuXHRkb05vdENoZWNrQXBwbHlTdXBwb3J0ZWQ/OiBib29sZWFuIHwgdW5kZWZpbmVkLFxuXHRhc3NvY2lhdGVkUHJlc2VudGF0aW9uVmFyaWFudFBhdGg/OiBzdHJpbmcsXG5cdGlzTWFjcm9Pck11bHRpcGxlVmlldz86IGJvb2xlYW5cbik6IERhdGFWaXN1YWxpemF0aW9uRGVmaW5pdGlvbiB7XG5cdGNvbnN0IHJlc29sdmVkVGFyZ2V0ID1cblx0XHR2aXN1YWxpemF0aW9uUGF0aCAhPT0gXCJcIlxuXHRcdFx0PyBpbkNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5VHlwZUFubm90YXRpb24odmlzdWFsaXphdGlvblBhdGgpXG5cdFx0XHQ6IHsgYW5ub3RhdGlvbjogdW5kZWZpbmVkLCBjb252ZXJ0ZXJDb250ZXh0OiBpbkNvbnZlcnRlckNvbnRleHQgfTtcblx0Y29uc3QgcmVzb2x2ZWRBc3NvY2lhdGVkUHJlc2VudGF0aW9uVmFyaWFudCA9IGFzc29jaWF0ZWRQcmVzZW50YXRpb25WYXJpYW50UGF0aFxuXHRcdD8gaW5Db252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVR5cGVBbm5vdGF0aW9uKGFzc29jaWF0ZWRQcmVzZW50YXRpb25WYXJpYW50UGF0aClcblx0XHQ6IG51bGw7XG5cdGNvbnN0IHJlc29sdmVkVmlzdWFsaXphdGlvbiA9IHJlc29sdmVkVGFyZ2V0LmFubm90YXRpb24gYXMgRGF0YVZpc3VhbGl6YXRpb25Bbm5vdGF0aW9ucztcblx0aW5Db252ZXJ0ZXJDb250ZXh0ID0gcmVzb2x2ZWRUYXJnZXQuY29udmVydGVyQ29udGV4dDtcblx0bGV0IHZpc3VhbGl6YXRpb25Bbm5vdGF0aW9uczogVmlzdWFsaXphdGlvbkFuZFBhdGhbXSA9IFtdO1xuXHRsZXQgcHJlc2VudGF0aW9uVmFyaWFudEFubm90YXRpb246IFByZXNlbnRhdGlvblZhcmlhbnRUeXBlO1xuXHRsZXQgcHJlc2VudGF0aW9uUGF0aCA9IFwiXCI7XG5cdGxldCBjaGFydFZpc3VhbGl6YXRpb24sIHRhYmxlVmlzdWFsaXphdGlvbjtcblx0Y29uc3QgdGVybSA9IHJlc29sdmVkVmlzdWFsaXphdGlvbj8udGVybTtcblx0aWYgKHRlcm0pIHtcblx0XHRzd2l0Y2ggKHRlcm0pIHtcblx0XHRcdGNhc2UgVUlBbm5vdGF0aW9uVGVybXMuTGluZUl0ZW06XG5cdFx0XHRjYXNlIFVJQW5ub3RhdGlvblRlcm1zLkNoYXJ0OlxuXHRcdFx0XHRwcmVzZW50YXRpb25WYXJpYW50QW5ub3RhdGlvbiA9IHJlc29sdmVkQXNzb2NpYXRlZFByZXNlbnRhdGlvblZhcmlhbnQ/LmFubm90YXRpb247XG5cdFx0XHRcdHZpc3VhbGl6YXRpb25Bbm5vdGF0aW9ucy5wdXNoKHtcblx0XHRcdFx0XHR2aXN1YWxpemF0aW9uOiByZXNvbHZlZFZpc3VhbGl6YXRpb24gYXMgQWN0dWFsVmlzdWFsaXphdGlvbkFubm90YXRpb25zLFxuXHRcdFx0XHRcdGFubm90YXRpb25QYXRoOiB2aXN1YWxpemF0aW9uUGF0aCxcblx0XHRcdFx0XHRjb252ZXJ0ZXJDb250ZXh0OiBpbkNvbnZlcnRlckNvbnRleHRcblx0XHRcdFx0fSk7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBVSUFubm90YXRpb25UZXJtcy5QcmVzZW50YXRpb25WYXJpYW50OlxuXHRcdFx0XHRwcmVzZW50YXRpb25WYXJpYW50QW5ub3RhdGlvbiA9IHJlc29sdmVkVmlzdWFsaXphdGlvbjtcblx0XHRcdFx0dmlzdWFsaXphdGlvbkFubm90YXRpb25zID0gdmlzdWFsaXphdGlvbkFubm90YXRpb25zLmNvbmNhdChcblx0XHRcdFx0XHRnZXRWaXN1YWxpemF0aW9uc0Zyb21QcmVzZW50YXRpb25WYXJpYW50KFxuXHRcdFx0XHRcdFx0cmVzb2x2ZWRWaXN1YWxpemF0aW9uLFxuXHRcdFx0XHRcdFx0dmlzdWFsaXphdGlvblBhdGgsXG5cdFx0XHRcdFx0XHRpbkNvbnZlcnRlckNvbnRleHQsXG5cdFx0XHRcdFx0XHRpc01hY3JvT3JNdWx0aXBsZVZpZXdcblx0XHRcdFx0XHQpXG5cdFx0XHRcdCk7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBVSUFubm90YXRpb25UZXJtcy5TZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50OlxuXHRcdFx0XHRwcmVzZW50YXRpb25WYXJpYW50QW5ub3RhdGlvbiA9IHJlc29sdmVkVmlzdWFsaXphdGlvbi5QcmVzZW50YXRpb25WYXJpYW50O1xuXHRcdFx0XHQvLyBQcmVzZW50YXRpb24gY2FuIGJlIGlubGluZSBvciBvdXRzaWRlIHRoZSBTZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50XG5cdFx0XHRcdHByZXNlbnRhdGlvblBhdGggPSBwcmVzZW50YXRpb25WYXJpYW50QW5ub3RhdGlvbi5mdWxseVF1YWxpZmllZE5hbWU7XG5cdFx0XHRcdHZpc3VhbGl6YXRpb25Bbm5vdGF0aW9ucyA9IHZpc3VhbGl6YXRpb25Bbm5vdGF0aW9ucy5jb25jYXQoXG5cdFx0XHRcdFx0Z2V0VmlzdWFsaXphdGlvbnNGcm9tUHJlc2VudGF0aW9uVmFyaWFudChcblx0XHRcdFx0XHRcdHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uLFxuXHRcdFx0XHRcdFx0dmlzdWFsaXphdGlvblBhdGgsXG5cdFx0XHRcdFx0XHRpbkNvbnZlcnRlckNvbnRleHQsXG5cdFx0XHRcdFx0XHRpc01hY3JvT3JNdWx0aXBsZVZpZXdcblx0XHRcdFx0XHQpXG5cdFx0XHRcdCk7XG5cblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRicmVhaztcblx0XHR9XG5cdFx0dmlzdWFsaXphdGlvbkFubm90YXRpb25zLmZvckVhY2goKHZpc3VhbGl6YXRpb25Bbm5vdGF0aW9uKSA9PiB7XG5cdFx0XHRjb25zdCB7IHZpc3VhbGl6YXRpb24sIGFubm90YXRpb25QYXRoLCBjb252ZXJ0ZXJDb250ZXh0IH0gPSB2aXN1YWxpemF0aW9uQW5ub3RhdGlvbjtcblx0XHRcdHN3aXRjaCAodmlzdWFsaXphdGlvbi50ZXJtKSB7XG5cdFx0XHRcdGNhc2UgVUlBbm5vdGF0aW9uVGVybXMuQ2hhcnQ6XG5cdFx0XHRcdFx0Y2hhcnRWaXN1YWxpemF0aW9uID0gY3JlYXRlQ2hhcnRWaXN1YWxpemF0aW9uKFxuXHRcdFx0XHRcdFx0dmlzdWFsaXphdGlvbixcblx0XHRcdFx0XHRcdGFubm90YXRpb25QYXRoLFxuXHRcdFx0XHRcdFx0Y29udmVydGVyQ29udGV4dCxcblx0XHRcdFx0XHRcdGRvTm90Q2hlY2tBcHBseVN1cHBvcnRlZCxcblx0XHRcdFx0XHRcdHZpZXdDb25maWd1cmF0aW9uXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0Y2FzZSBVSUFubm90YXRpb25UZXJtcy5MaW5lSXRlbTpcblx0XHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0XHR0YWJsZVZpc3VhbGl6YXRpb24gPSBUYWJsZS5jcmVhdGVUYWJsZVZpc3VhbGl6YXRpb24oXG5cdFx0XHRcdFx0XHR2aXN1YWxpemF0aW9uLFxuXHRcdFx0XHRcdFx0YW5ub3RhdGlvblBhdGgsXG5cdFx0XHRcdFx0XHRjb252ZXJ0ZXJDb250ZXh0LFxuXHRcdFx0XHRcdFx0cHJlc2VudGF0aW9uVmFyaWFudEFubm90YXRpb24sXG5cdFx0XHRcdFx0XHRpc0NvbmRlbnNlZFRhYmxlTGF5b3V0Q29tcGxpYW50LFxuXHRcdFx0XHRcdFx0dmlld0NvbmZpZ3VyYXRpb25cblx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0Y29uc3QgdmlzdWFsaXphdGlvbnM6IGFueSA9IFtdO1xuXHRsZXQgcGF0aCA9IHRlcm0gPT09IFVJQW5ub3RhdGlvblRlcm1zLlNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQgPyBwcmVzZW50YXRpb25QYXRoIDogcmVzb2x2ZWRWaXN1YWxpemF0aW9uPy5mdWxseVF1YWxpZmllZE5hbWU7XG5cdGlmIChwYXRoID09PSB1bmRlZmluZWQpIHtcblx0XHRwYXRoID0gXCIvXCI7XG5cdH1cblx0Y29uc3QgaXNBTFAgPSBpc0FscEFubm90YXRpb24oaW5Db252ZXJ0ZXJDb250ZXh0KTtcblxuXHRpZiAoIXRlcm0gfHwgKGlzQUxQICYmIHRhYmxlVmlzdWFsaXphdGlvbiA9PT0gdW5kZWZpbmVkKSkge1xuXHRcdHRhYmxlVmlzdWFsaXphdGlvbiA9IFRhYmxlLmNyZWF0ZURlZmF1bHRUYWJsZVZpc3VhbGl6YXRpb24oaW5Db252ZXJ0ZXJDb250ZXh0LCBpc01hY3JvT3JNdWx0aXBsZVZpZXcgIT09IHRydWUpO1xuXHRcdGluQ29udmVydGVyQ29udGV4dC5nZXREaWFnbm9zdGljcygpLmFkZElzc3VlKElzc3VlQ2F0ZWdvcnkuQW5ub3RhdGlvbiwgSXNzdWVTZXZlcml0eS5NZWRpdW0sIElzc3VlVHlwZS5NSVNTSU5HX0xJTkVJVEVNKTtcblx0fVxuXHRpZiAoaXNBTFAgJiYgY2hhcnRWaXN1YWxpemF0aW9uID09PSB1bmRlZmluZWQpIHtcblx0XHRjaGFydFZpc3VhbGl6YXRpb24gPSBjcmVhdGVCbGFua0NoYXJ0VmlzdWFsaXphdGlvbihpbkNvbnZlcnRlckNvbnRleHQpO1xuXHRcdGluQ29udmVydGVyQ29udGV4dC5nZXREaWFnbm9zdGljcygpLmFkZElzc3VlKElzc3VlQ2F0ZWdvcnkuQW5ub3RhdGlvbiwgSXNzdWVTZXZlcml0eS5NZWRpdW0sIElzc3VlVHlwZS5NSVNTSU5HX0NIQVJUKTtcblx0fVxuXG5cdGlmIChjaGFydFZpc3VhbGl6YXRpb24pIHtcblx0XHR2aXN1YWxpemF0aW9ucy5wdXNoKGNoYXJ0VmlzdWFsaXphdGlvbik7XG5cdH1cblx0aWYgKHRhYmxlVmlzdWFsaXphdGlvbikge1xuXHRcdHZpc3VhbGl6YXRpb25zLnB1c2godGFibGVWaXN1YWxpemF0aW9uKTtcblx0fVxuXHRyZXR1cm4ge1xuXHRcdHZpc3VhbGl6YXRpb25zOiB2aXN1YWxpemF0aW9ucyxcblx0XHRhbm5vdGF0aW9uUGF0aDogaW5Db252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVNldEJhc2VkQW5ub3RhdGlvblBhdGgocGF0aClcblx0fTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBjb250ZXh0IG9mIHRoZSBVSSBjb250cm9scyAoZWl0aGVyIGEgVUkuTGluZUl0ZW0sIG9yIGEgVUkuQ2hhcnQpLlxuICpcbiAqIEBmdW5jdGlvblxuICogQG5hbWUgZ2V0VWlDb250cm9sXG4gKiBAcGFyYW0gcHJlc2VudGF0aW9uQ29udGV4dCBPYmplY3Qgb2YgdGhlIHByZXNlbnRhdGlvbiBjb250ZXh0IChlaXRoZXIgYSBwcmVzZW50YXRpb24gdmFyaWFudCwgb3IgYSBVSS5MaW5lSXRlbSwgb3IgYSBVSS5DaGFydClcbiAqIEBwYXJhbSBjb250cm9sUGF0aCBDb250cm9sIHBhdGhcbiAqIEByZXR1cm5zIFRoZSBjb250ZXh0IG9mIHRoZSBjb250cm9sIChlaXRoZXIgYSBVSS5MaW5lSXRlbSwgb3IgYSBVSS5DaGFydClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFVpQ29udHJvbChwcmVzZW50YXRpb25Db250ZXh0OiBDb250ZXh0LCBjb250cm9sUGF0aDogc3RyaW5nKTogQ29udGV4dCB7XG5cdENvbW1vbkhlbHBlci52YWxpZGF0ZVByZXNlbnRhdGlvbk1ldGFQYXRoKHByZXNlbnRhdGlvbkNvbnRleHQuZ2V0UGF0aCgpLCBjb250cm9sUGF0aCk7XG5cblx0Y29uc3QgcHJlc2VudGF0aW9uID0gTWV0YU1vZGVsQ29udmVydGVyLmNvbnZlcnRNZXRhTW9kZWxDb250ZXh0KHByZXNlbnRhdGlvbkNvbnRleHQpLFxuXHRcdHByZXNlbnRhdGlvblZhcmlhbnRQYXRoID0gQ29tbW9uSGVscGVyLmNyZWF0ZVByZXNlbnRhdGlvblBhdGhDb250ZXh0KHByZXNlbnRhdGlvbkNvbnRleHQpLFxuXHRcdG1vZGVsID0gcHJlc2VudGF0aW9uQ29udGV4dC5nZXRNb2RlbCgpIGFzIE9EYXRhTWV0YU1vZGVsO1xuXHRpZiAocHJlc2VudGF0aW9uKSB7XG5cdFx0aWYgKENvbW1vbkhlbHBlci5faXNQcmVzZW50YXRpb25WYXJpYW50QW5ub3RhdGlvbihwcmVzZW50YXRpb25WYXJpYW50UGF0aC5nZXRQYXRoKCkpKSB7XG5cdFx0XHRjb25zdCB2aXN1YWxpemF0aW9ucyA9IHByZXNlbnRhdGlvbi5QcmVzZW50YXRpb25WYXJpYW50XG5cdFx0XHRcdD8gcHJlc2VudGF0aW9uLlByZXNlbnRhdGlvblZhcmlhbnQuVmlzdWFsaXphdGlvbnNcblx0XHRcdFx0OiBwcmVzZW50YXRpb24uVmlzdWFsaXphdGlvbnM7XG5cdFx0XHRpZiAoQXJyYXkuaXNBcnJheSh2aXN1YWxpemF0aW9ucykpIHtcblx0XHRcdFx0Zm9yIChjb25zdCB2aXN1YWxpemF0aW9uIG9mIHZpc3VhbGl6YXRpb25zKSB7XG5cdFx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdFx0dmlzdWFsaXphdGlvbi50eXBlID09IFwiQW5ub3RhdGlvblBhdGhcIiAmJlxuXHRcdFx0XHRcdFx0dmlzdWFsaXphdGlvbi52YWx1ZS5pbmRleE9mKGNvbnRyb2xQYXRoKSAhPT0gLTEgJiZcblx0XHRcdFx0XHRcdC8vIGNoZWNrIGlmIG9iamVjdCBleGlzdHMgZm9yIFByZXNlbnRhdGlvblZhcmlhbnQgdmlzdWFsaXphdGlvblxuXHRcdFx0XHRcdFx0ISFtb2RlbC5nZXRNZXRhQ29udGV4dChwcmVzZW50YXRpb25Db250ZXh0LmdldFBhdGgoKS5zcGxpdChcIkBcIilbMF0gKyB2aXN1YWxpemF0aW9uLnZhbHVlKS5nZXRPYmplY3QoKVxuXHRcdFx0XHRcdCkge1xuXHRcdFx0XHRcdFx0Y29udHJvbFBhdGggPSB2aXN1YWxpemF0aW9uLnZhbHVlO1xuXHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiBwcmVzZW50YXRpb25Db250ZXh0O1xuXHRcdH1cblx0fVxuXG5cdHJldHVybiBtb2RlbC5nZXRNZXRhQ29udGV4dChwcmVzZW50YXRpb25Db250ZXh0LmdldFBhdGgoKS5zcGxpdChcIkBcIilbMF0gKyBjb250cm9sUGF0aCk7XG59XG5cbmV4cG9ydCBjb25zdCBhbm5vdGF0aW9uRXhpc3RzSW5QcmVzZW50YXRpb25WYXJpYW50ID0gZnVuY3Rpb24gKFxuXHRwcmVzZW50YXRpb25WYXJpYW50QW5ub3RhdGlvbjogUHJlc2VudGF0aW9uVmFyaWFudFR5cGUsXG5cdGFubm90YXRpb25UZXJtOiBQcmVzZW50YXRpb25WaXN1YWxpemF0aW9uQW5ub3RhdGlvbnNcbik6IGJvb2xlYW4ge1xuXHRyZXR1cm4gcHJlc2VudGF0aW9uVmFyaWFudEFubm90YXRpb24uVmlzdWFsaXphdGlvbnM/LnNvbWUoKHZpc3VhbGl6YXRpb24pID0+IHZpc3VhbGl6YXRpb24udmFsdWUuaW5kZXhPZihhbm5vdGF0aW9uVGVybSkgPiAtMSkgPz8gZmFsc2U7XG59O1xuXG5leHBvcnQgY29uc3QgcHJlcGFyZURlZmF1bHRWaXN1YWxpemF0aW9uID0gZnVuY3Rpb24gKFxuXHR2aXN1YWxpemF0aW9uVHlwZTogUHJlc2VudGF0aW9uVmlzdWFsaXphdGlvbkFubm90YXRpb25zLFxuXHRiYXNlVmlzdWFsaXphdGlvblBhdGg6IHN0cmluZyxcblx0Y29udmVydGVyQ29udGV4dDogQ29udmVydGVyQ29udGV4dFxuKTogVmlzdWFsaXphdGlvbkFuZFBhdGggfCB1bmRlZmluZWQge1xuXHRjb25zdCBlbnRpdHlUeXBlID0gY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlKCk7XG5cdGNvbnN0IGRlZmF1bHRBbm5vdGF0aW9uID1cblx0XHR2aXN1YWxpemF0aW9uVHlwZSA9PT0gVUlBbm5vdGF0aW9uVGVybXMuTGluZUl0ZW0gPyBnZXREZWZhdWx0TGluZUl0ZW0oZW50aXR5VHlwZSkgOiBnZXREZWZhdWx0Q2hhcnQoZW50aXR5VHlwZSk7XG5cblx0aWYgKGRlZmF1bHRBbm5vdGF0aW9uKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHZpc3VhbGl6YXRpb246IGRlZmF1bHRBbm5vdGF0aW9uLFxuXHRcdFx0YW5ub3RhdGlvblBhdGg6IGAke2Jhc2VWaXN1YWxpemF0aW9uUGF0aH0ke2NvbnZlcnRlckNvbnRleHQuZ2V0UmVsYXRpdmVBbm5vdGF0aW9uUGF0aChcblx0XHRcdFx0ZGVmYXVsdEFubm90YXRpb24uZnVsbHlRdWFsaWZpZWROYW1lLFxuXHRcdFx0XHRlbnRpdHlUeXBlXG5cdFx0XHQpfWAsXG5cdFx0XHRjb252ZXJ0ZXJDb250ZXh0OiBjb252ZXJ0ZXJDb250ZXh0XG5cdFx0fTtcblx0fVxuXG5cdHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgaXNBbHBBbm5vdGF0aW9uID0gZnVuY3Rpb24gKGNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHQpOiBib29sZWFuIHtcblx0cmV0dXJuIChcblx0XHRjb252ZXJ0ZXJDb250ZXh0LmdldE1hbmlmZXN0V3JhcHBlcigpLmhhc011bHRpcGxlVmlzdWFsaXphdGlvbnMoKSB8fFxuXHRcdGNvbnZlcnRlckNvbnRleHQuZ2V0VGVtcGxhdGVUeXBlKCkgPT09IFRlbXBsYXRlVHlwZS5BbmFseXRpY2FsTGlzdFBhZ2Vcblx0KTtcbn07XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7O0VBMENPLE1BQU1BLHdDQUF3QyxHQUFHLFVBQ3ZEQyw2QkFBc0QsRUFDdERDLGlCQUF5QixFQUN6QkMs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
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/fe/core/converters/helpers/IssueManager","sap/fe/macros/CommonHelper","../../ManifestSettings","./Chart","./Table"],function(t,n,e,a,i){"use strict";var
|
|
5
|
+
sap.ui.define(["sap/fe/core/converters/helpers/IssueManager","sap/fe/core/converters/MetaModelConverter","sap/fe/macros/CommonHelper","../../ManifestSettings","./Chart","./Table"],function(t,n,e,a,i,o){"use strict";var r={};var s=i.createChartVisualization;var l=i.createBlankChartVisualization;var u=a.TemplateType;var c=t.IssueType;var v=t.IssueSeverity;var f=t.IssueCategory;const d=function(t,n,e,a){const i=[];const o=S(e);const r=n.split("@")[0];if((a===true||o)&&!I(t,o)){if(!y(t,"com.sap.vocabularies.UI.v1.LineItem")){const t=z("com.sap.vocabularies.UI.v1.LineItem",r,e);if(t){i.push(t)}}if(!y(t,"com.sap.vocabularies.UI.v1.Chart")){const t=z("com.sap.vocabularies.UI.v1.Chart",r,e);if(t){i.push(t)}}}const s=t.Visualizations;const l=function(t){const n=s===null||s===void 0?void 0:s.find(n=>{var e;return t.indexOf((e=n.$target)===null||e===void 0?void 0:e.term)>=0});if(n){i.push({visualization:n.$target,annotationPath:`${r}${n.value}`,converterContext:e})}};if(o){l(["com.sap.vocabularies.UI.v1.LineItem"]);l(["com.sap.vocabularies.UI.v1.Chart"])}else{l(["com.sap.vocabularies.UI.v1.LineItem","com.sap.vocabularies.UI.v1.Chart"])}return i};r.getVisualizationsFromPresentationVariant=d;function p(t,n,e){if(n){const t=e.getEntityTypeAnnotation(n);const a=t.annotation;if(a){if(a.term==="com.sap.vocabularies.UI.v1.SelectionPresentationVariant"){return a}}else{throw new Error("Annotation Path for the SPV mentioned in the manifest is not found, Please add the SPV in the annotation")}}else{var a,i;return(a=t.annotations)===null||a===void 0?void 0:(i=a.UI)===null||i===void 0?void 0:i.SelectionPresentationVariant}}r.getSelectionPresentationVariant=p;function m(t,n){const e=t&&t.PresentationVariant;if(e){return I(e,n)}else{throw new Error("Presentation Variant is not present in the SPV annotation")}}r.isSelectionPresentationCompliant=m;function I(t){let n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;let e=false,a=false;if(n){if(t!==null&&t!==void 0&&t.Visualizations){const n=t.Visualizations;n.forEach(t=>{var n,i;if(((n=t.$target)===null||n===void 0?void 0:n.term)==="com.sap.vocabularies.UI.v1.LineItem"){e=true}if(((i=t.$target)===null||i===void 0?void 0:i.term)==="com.sap.vocabularies.UI.v1.Chart"){a=true}})}return a&&e}else{return(t===null||t===void 0?void 0:t.Visualizations)&&!!t.Visualizations.find(t=>{var n,e;return((n=t.$target)===null||n===void 0?void 0:n.term)==="com.sap.vocabularies.UI.v1.LineItem"||((e=t.$target)===null||e===void 0?void 0:e.term)==="com.sap.vocabularies.UI.v1.Chart"})}}r.isPresentationCompliant=I;function h(t){var n;return(n=t.annotations.UI)===null||n===void 0?void 0:n.LineItem}r.getDefaultLineItem=h;function g(t){var n;return(n=t.annotations.UI)===null||n===void 0?void 0:n.Chart}r.getDefaultChart=g;function P(t){var n,e;return(n=t.annotations)===null||n===void 0?void 0:(e=n.UI)===null||e===void 0?void 0:e.PresentationVariant}r.getDefaultPresentationVariant=P;function V(t){var n,e;return(n=t.annotations)===null||n===void 0?void 0:(e=n.UI)===null||e===void 0?void 0:e.SelectionVariant}r.getDefaultSelectionVariant=V;function b(t,n){const e=n.getManifestWrapper().getDefaultTemplateAnnotationPath();const a=p(t,e,n);let i;if(a){i=a.SelectionVariant;if(i){return i}}else{i=V(t);return i}}r.getSelectionVariant=b;function C(t,n,e,a,i,r,u){const p=t!==""?e.getEntityTypeAnnotation(t):{annotation:undefined,converterContext:e};const m=r?e.getEntityTypeAnnotation(r):null;const I=p.annotation;e=p.converterContext;let h=[];let g;let P="";let V,b;const C=I===null||I===void 0?void 0:I.term;if(C){switch(C){case"com.sap.vocabularies.UI.v1.LineItem":case"com.sap.vocabularies.UI.v1.Chart":g=m===null||m===void 0?void 0:m.annotation;h.push({visualization:I,annotationPath:t,converterContext:e});break;case"com.sap.vocabularies.UI.v1.PresentationVariant":g=I;h=h.concat(d(I,t,e,u));break;case"com.sap.vocabularies.UI.v1.SelectionPresentationVariant":g=I.PresentationVariant;P=g.fullyQualifiedName;h=h.concat(d(g,t,e,u));break;default:break}h.forEach(t=>{const{visualization:e,annotationPath:r,converterContext:l}=t;switch(e.term){case"com.sap.vocabularies.UI.v1.Chart":V=s(e,r,l,i,a);break;case"com.sap.vocabularies.UI.v1.LineItem":default:b=o.createTableVisualization(e,r,l,g,n,a);break}})}const U=[];let y=C==="com.sap.vocabularies.UI.v1.SelectionPresentationVariant"?P:I===null||I===void 0?void 0:I.fullyQualifiedName;if(y===undefined){y="/"}const z=S(e);if(!C||z&&b===undefined){b=o.createDefaultTableVisualization(e,u!==true);e.getDiagnostics().addIssue(f.Annotation,v.Medium,c.MISSING_LINEITEM)}if(z&&V===undefined){V=l(e);e.getDiagnostics().addIssue(f.Annotation,v.Medium,c.MISSING_CHART)}if(V){U.push(V)}if(b){U.push(b)}return{visualizations:U,annotationPath:e.getEntitySetBasedAnnotationPath(y)}}r.getDataVisualizationConfiguration=C;function U(t,a){e.validatePresentationMetaPath(t.getPath(),a);const i=n.convertMetaModelContext(t),o=e.createPresentationPathContext(t),r=t.getModel();if(i){if(e._isPresentationVariantAnnotation(o.getPath())){const n=i.PresentationVariant?i.PresentationVariant.Visualizations:i.Visualizations;if(Array.isArray(n)){for(const e of n){if(e.type=="AnnotationPath"&&e.value.indexOf(a)!==-1&&!!r.getMetaContext(t.getPath().split("@")[0]+e.value).getObject()){a=e.value;break}}}}else{return t}}return r.getMetaContext(t.getPath().split("@")[0]+a)}r.getUiControl=U;const y=function(t,n){var e;return((e=t.Visualizations)===null||e===void 0?void 0:e.some(t=>t.value.indexOf(n)>-1))??false};r.annotationExistsInPresentationVariant=y;const z=function(t,n,e){const a=e.getEntityType();const i=t==="com.sap.vocabularies.UI.v1.LineItem"?h(a):g(a);if(i){return{visualization:i,annotationPath:`${n}${e.getRelativeAnnotationPath(i.fullyQualifiedName,a)}`,converterContext:e}}return undefined};r.prepareDefaultVisualization=z;const S=function(t){return t.getManifestWrapper().hasMultipleVisualizations()||t.getTemplateType()===u.AnalyticalListPage};r.isAlpAnnotation=S;return r},false);
|
|
6
6
|
//# sourceMappingURL=DataVisualization.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataVisualization.js","names":["sap","ui","define","IssueManager","CommonHelper","ManifestSettings","Chart","Table","_exports","createChartVisualization","TemplateType","IssueType","IssueSeverity","IssueCategory","getVisualizationsFromPresentationVariant","presentationVariantAnnotation","visualizationPath","converterContext","isMacroOrMultipleView","visualizationAnnotations","
|
|
1
|
+
{"version":3,"file":"DataVisualization.js","names":["sap","ui","define","IssueManager","MetaModelConverter","CommonHelper","ManifestSettings","Chart","Table","_exports","createChartVisualization","createBlankChartVisualization","TemplateType","IssueType","IssueSeverity","IssueCategory","getVisualizationsFromPresentationVariant","presentationVariantAnnotation","visualizationPath","converterContext","isMacroOrMultipleView","visualizationAnnotations","isALP","isAlpAnnotation","baseVisualizationPath","split","isPresentationCompliant","annotationExistsInPresentationVariant","defaultLineItemAnnotation","prepareDefaultVisualization","push","defaultChartAnnotation","visualizations","Visualizations","pushFirstVizOfType","allowedTerms","firstViz","find","viz","_viz$$target","indexOf","$target","term","visualization","annotationPath","value","getSelectionPresentationVariant","entityType","resolvedTarget","getEntityTypeAnnotation","selectionPresentationVariant","annotation","Error","_entityType$annotatio","_entityType$annotatio2","annotations","UI","SelectionPresentationVariant","isSelectionPresentationCompliant","presentationVariant","PresentationVariant","arguments","length","undefined","hasTable","hasChart","forEach","_visualization$$targe","_visualization$$targe2","_visualization$$targe3","_visualization$$targe4","getDefaultLineItem","_entityType$annotatio3","LineItem","getDefaultChart","_entityType$annotatio4","getDefaultPresentationVariant","_entityType$annotatio5","_entityType$annotatio6","getDefaultSelectionVariant","_entityType$annotatio7","_entityType$annotatio8","SelectionVariant","getSelectionVariant","getManifestWrapper","getDefaultTemplateAnnotationPath","selectionVariant","getDataVisualizationConfiguration","isCondensedTableLayoutCompliant","inConverterContext","viewConfiguration","doNotCheckApplySupported","associatedPresentationVariantPath","resolvedAssociatedPresentationVariant","resolvedVisualization","presentationPath","chartVisualization","tableVisualization","concat","fullyQualifiedName","visualizationAnnotation","createTableVisualization","path","createDefaultTableVisualization","getDiagnostics","addIssue","Annotation","Medium","MISSING_LINEITEM","MISSING_CHART","getEntitySetBasedAnnotationPath","getUiControl","presentationContext","controlPath","validatePresentationMetaPath","getPath","presentation","convertMetaModelContext","presentationVariantPath","createPresentationPathContext","model","getModel","_isPresentationVariantAnnotation","Array","isArray","type","getMetaContext","getObject","annotationTerm","_presentationVariantA","some","visualizationType","getEntityType","defaultAnnotation","getRelativeAnnotationPath","hasMultipleVisualizations","getTemplateType","AnalyticalListPage"],"sources":["DataVisualization-dbg.js"],"mappings":"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"}
|