@sapui5/sap.fe.core 1.112.0 → 1.114.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 +70 -6
- 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 +118 -3
- package/src/sap/fe/core/AppComponent-dbg.js +16 -6
- 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 +21 -7
- package/src/sap/fe/core/AppStateHandler-dbg.js +11 -10
- 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 +14 -11
- package/src/sap/fe/core/CommonUtils-dbg.js +102 -175
- 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 +114 -211
- package/src/sap/fe/core/ExtensionAPI-dbg.js +3 -1
- package/src/sap/fe/core/ExtensionAPI.js.map +1 -1
- package/src/sap/fe/core/ExtensionAPI.ts +2 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase-dbg.js +2 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +1 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport-dbg.js +2 -2
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.ts +13 -18
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor-dbg.js +32 -24
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js +4 -4
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.ts +41 -29
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock-dbg.js +2 -2
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js +1 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.ts +1 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment-dbg.js +2 -2
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js +1 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.ts +3 -1
- package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +124 -57
- 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 +146 -73
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +35 -74
- 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 +35 -78
- package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +217 -127
- 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 +227 -129
- package/src/sap/fe/core/controllerextensions/PageReady-dbg.js +3 -5
- package/src/sap/fe/core/controllerextensions/PageReady.js +1 -1
- package/src/sap/fe/core/controllerextensions/PageReady.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/PageReady.ts +2 -4
- package/src/sap/fe/core/controllerextensions/Share-dbg.js +3 -2
- package/src/sap/fe/core/controllerextensions/Share.js +1 -1
- package/src/sap/fe/core/controllerextensions/Share.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/Share.ts +2 -1
- package/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +19 -14
- 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 +22 -14
- package/src/sap/fe/core/controllerextensions/ViewState-dbg.js +41 -24
- 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 +64 -31
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync-dbg.js +8 -8
- 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 +7 -9
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon-dbg.js +7 -45
- 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 +5 -48
- package/src/sap/fe/core/controllerextensions/collaboration/Manage-dbg.js +4 -4
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +2 -2
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +3 -3
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialogTemplating-dbg.js +52 -0
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialogTemplating.js +6 -0
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialogTemplating.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialogTemplating.ts +46 -0
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog-dbg.js +103 -0
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js +6 -0
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.tsx +124 -0
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +106 -205
- 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 +121 -216
- package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +31 -4
- 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 +38 -3
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup-dbg.js +13 -10
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +7 -20
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal-dbg.js +9 -4
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.ts +12 -3
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade-dbg.js +10 -6
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +20 -11
- package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +1 -8
- 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 +0 -9
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +19 -15
- 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 +19 -22
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy-dbg.js +67 -1
- 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 +68 -0
- package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -0
- package/src/sap/fe/core/controls/CommandExecution-dbg.js +4 -9
- 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 +0 -8
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block-dbg.js +335 -0
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js +6 -0
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js.map +1 -0
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.tsx +336 -0
- package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +1 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +3 -28
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js +1 -1
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js.map +1 -1
- package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +8 -29
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +30 -1
- 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 +38 -0
- package/src/sap/fe/core/converters/ConverterContext-dbg.js +3 -5
- package/src/sap/fe/core/converters/ConverterContext.js +1 -1
- package/src/sap/fe/core/converters/ConverterContext.js.map +1 -1
- package/src/sap/fe/core/converters/ConverterContext.ts +2 -5
- package/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +7 -6
- package/src/sap/fe/core/converters/ManifestWrapper-dbg.js +5 -3
- package/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
- package/src/sap/fe/core/converters/ManifestWrapper.js.map +1 -1
- package/src/sap/fe/core/converters/ManifestWrapper.ts +7 -1
- package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +49 -28
- 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 +62 -30
- package/src/sap/fe/core/converters/TemplateConverter-dbg.js +2 -3
- package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
- package/src/sap/fe/core/converters/TemplateConverter.js.map +1 -1
- package/src/sap/fe/core/converters/TemplateConverter.ts +1 -6
- package/src/sap/fe/core/converters/annotations/DataField-dbg.js +22 -7
- 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 +20 -7
- package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +701 -681
- 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 +6 -12
- 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 +9 -14
- package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +32 -20
- 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 +30 -18
- package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +4 -5
- 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 +6 -37
- package/src/sap/fe/core/converters/controls/Common/Form-dbg.js +7 -6
- package/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Form.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Form.ts +5 -11
- package/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +5 -5
- 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 +3 -4
- package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +135 -85
- 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 +189 -119
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +56 -22
- 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 +67 -31
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +137 -49
- 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 +166 -43
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +33 -14
- 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 +31 -12
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +27 -18
- 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 +36 -23
- package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +37 -15
- package/src/sap/fe/core/converters/helpers/Aggregation.js +1 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +36 -20
- package/src/sap/fe/core/converters/helpers/BindingHelper-dbg.js +8 -6
- package/src/sap/fe/core/converters/helpers/BindingHelper.js +1 -1
- package/src/sap/fe/core/converters/helpers/BindingHelper.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/BindingHelper.ts +8 -6
- package/src/sap/fe/core/converters/helpers/InsightsHelpers-dbg.js +39 -0
- package/src/sap/fe/core/converters/helpers/InsightsHelpers.js +6 -0
- package/src/sap/fe/core/converters/helpers/InsightsHelpers.js.map +1 -0
- package/src/sap/fe/core/converters/helpers/InsightsHelpers.ts +45 -0
- package/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +3 -2
- 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 +2 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +17 -16
- 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 +11 -11
- package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +20 -17
- 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 +25 -56
- package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +13 -13
- 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 +18 -13
- package/src/sap/fe/core/formatters/CollaborationFormatter-dbg.js +17 -33
- package/src/sap/fe/core/formatters/CollaborationFormatter.js +1 -1
- package/src/sap/fe/core/formatters/CollaborationFormatter.js.map +1 -1
- package/src/sap/fe/core/formatters/CollaborationFormatter.ts +27 -22
- package/src/sap/fe/core/formatters/TableFormatter-dbg.js +2 -6
- 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 -5
- package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +13 -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 +19 -9
- package/src/sap/fe/core/fpm/manifest.json +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +2 -1
- package/src/sap/fe/core/helpers/BindingToolkit.js +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit.ts +1 -1
- package/src/sap/fe/core/helpers/DeleteHelper-dbg.js +58 -35
- 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 +76 -54
- package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +8 -4
- 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 +7 -5
- package/src/sap/fe/core/helpers/MessageStrip-dbg.js +6 -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 +167 -4
- package/src/sap/fe/core/helpers/MetaModelFunction.js +1 -1
- package/src/sap/fe/core/helpers/MetaModelFunction.js.map +1 -1
- package/src/sap/fe/core/helpers/MetaModelFunction.ts +205 -3
- package/src/sap/fe/core/helpers/ModelHelper-dbg.js +37 -73
- package/src/sap/fe/core/helpers/ModelHelper.js +1 -1
- package/src/sap/fe/core/helpers/ModelHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/ModelHelper.ts +41 -68
- package/src/sap/fe/core/helpers/RecommendationHelper-dbg.js +71 -0
- package/src/sap/fe/core/helpers/RecommendationHelper.js +6 -0
- package/src/sap/fe/core/helpers/RecommendationHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/RecommendationHelper.ts +94 -0
- package/src/sap/fe/core/helpers/ResourceModelHelper-dbg.js +19 -3
- package/src/sap/fe/core/helpers/ResourceModelHelper.js +1 -1
- package/src/sap/fe/core/helpers/ResourceModelHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/ResourceModelHelper.ts +21 -0
- package/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +40 -6
- 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 +39 -5
- package/src/sap/fe/core/helpers/SizeHelper-dbg.js +53 -0
- package/src/sap/fe/core/helpers/SizeHelper.js +6 -0
- package/src/sap/fe/core/helpers/SizeHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/SizeHelper.ts +51 -0
- package/src/sap/fe/core/helpers/StableIdHelper-dbg.js +52 -26
- package/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
- package/src/sap/fe/core/helpers/StableIdHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/StableIdHelper.ts +49 -25
- package/src/sap/fe/core/helpers/TypeGuards-dbg.js +147 -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 +151 -1
- package/src/sap/fe/core/jsx-runtime/jsx-control-dbg.js +25 -2
- package/src/sap/fe/core/jsx-runtime/jsx-control.js +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx-control.js.map +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx-control.ts +24 -0
- package/src/sap/fe/core/jsx-runtime/jsx-dbg.js +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx.ts +1 -0
- package/src/sap/fe/core/library-dbg.js +1 -1
- package/src/sap/fe/core/library-preload.js +123 -95
- 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/manifest.json +1 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +67 -15
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js.map +1 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +66 -14
- package/src/sap/fe/core/messagebundle.properties +6 -6
- package/src/sap/fe/core/messagebundle_ar.properties +5 -6
- package/src/sap/fe/core/messagebundle_bg.properties +11 -12
- package/src/sap/fe/core/messagebundle_ca.properties +3 -4
- package/src/sap/fe/core/messagebundle_cs.properties +3 -4
- package/src/sap/fe/core/messagebundle_cy.properties +3 -4
- package/src/sap/fe/core/messagebundle_da.properties +3 -4
- package/src/sap/fe/core/messagebundle_de.properties +11 -12
- package/src/sap/fe/core/messagebundle_el.properties +5 -6
- package/src/sap/fe/core/messagebundle_en.properties +3 -4
- package/src/sap/fe/core/messagebundle_en_GB.properties +4 -5
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +3 -4
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +3 -4
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +3 -2
- package/src/sap/fe/core/messagebundle_es.properties +3 -4
- package/src/sap/fe/core/messagebundle_es_MX.properties +3 -4
- package/src/sap/fe/core/messagebundle_et.properties +3 -4
- package/src/sap/fe/core/messagebundle_fi.properties +3 -4
- package/src/sap/fe/core/messagebundle_fr.properties +3 -4
- package/src/sap/fe/core/messagebundle_fr_CA.properties +11 -12
- package/src/sap/fe/core/messagebundle_hi.properties +11 -12
- package/src/sap/fe/core/messagebundle_hr.properties +3 -4
- package/src/sap/fe/core/messagebundle_hu.properties +3 -4
- package/src/sap/fe/core/messagebundle_id.properties +11 -12
- package/src/sap/fe/core/messagebundle_it.properties +3 -4
- package/src/sap/fe/core/messagebundle_iw.properties +3 -4
- package/src/sap/fe/core/messagebundle_ja.properties +4 -5
- package/src/sap/fe/core/messagebundle_kk.properties +3 -4
- package/src/sap/fe/core/messagebundle_ko.properties +11 -12
- package/src/sap/fe/core/messagebundle_lt.properties +3 -4
- package/src/sap/fe/core/messagebundle_lv.properties +11 -12
- package/src/sap/fe/core/messagebundle_ms.properties +3 -4
- package/src/sap/fe/core/messagebundle_nl.properties +3 -4
- package/src/sap/fe/core/messagebundle_no.properties +3 -4
- package/src/sap/fe/core/messagebundle_pl.properties +11 -12
- package/src/sap/fe/core/messagebundle_pt.properties +3 -4
- package/src/sap/fe/core/messagebundle_pt_PT.properties +3 -4
- package/src/sap/fe/core/messagebundle_ro.properties +14 -15
- package/src/sap/fe/core/messagebundle_ru.properties +11 -12
- package/src/sap/fe/core/messagebundle_sh.properties +3 -4
- package/src/sap/fe/core/messagebundle_sk.properties +3 -4
- package/src/sap/fe/core/messagebundle_sl.properties +3 -4
- package/src/sap/fe/core/messagebundle_sv.properties +11 -12
- package/src/sap/fe/core/messagebundle_th.properties +3 -4
- package/src/sap/fe/core/messagebundle_tr.properties +3 -4
- package/src/sap/fe/core/messagebundle_uk.properties +3 -4
- package/src/sap/fe/core/messagebundle_vi.properties +3 -4
- package/src/sap/fe/core/messagebundle_zh_CN.properties +11 -12
- package/src/sap/fe/core/messagebundle_zh_TW.properties +11 -12
- package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +22 -8
- 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 +17 -7
- package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +36 -3
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +37 -1
- package/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +13 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.js +1 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +13 -0
- package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +7 -1
- 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 +20 -2
- package/src/sap/fe/core/services/ShellServicesFactory-dbg.js +7 -1
- package/src/sap/fe/core/services/ShellServicesFactory.js +1 -1
- package/src/sap/fe/core/services/ShellServicesFactory.js.map +1 -1
- package/src/sap/fe/core/services/ShellServicesFactory.ts +10 -0
- package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +10 -7
- 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 +12 -13
- package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +9 -3
- 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 +11 -15
- package/src/sap/fe/core/templating/CommonFormatters-dbg.js +4 -3
- package/src/sap/fe/core/templating/CommonFormatters.js +1 -1
- package/src/sap/fe/core/templating/CommonFormatters.js.map +1 -1
- package/src/sap/fe/core/templating/CommonFormatters.ts +2 -2
- package/src/sap/fe/core/templating/CriticalityFormatters-dbg.js +1 -1
- package/src/sap/fe/core/templating/CriticalityFormatters.ts +2 -2
- package/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +19 -18
- 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 +24 -18
- package/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +5 -5
- package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.js.map +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -2
- package/src/sap/fe/core/templating/EntitySetHelper-dbg.js +19 -28
- package/src/sap/fe/core/templating/EntitySetHelper.js +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper.js.map +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper.ts +14 -24
- package/src/sap/fe/core/templating/EntityTypeHelper-dbg.js +48 -0
- package/src/sap/fe/core/templating/EntityTypeHelper.js +6 -0
- package/src/sap/fe/core/templating/EntityTypeHelper.js.map +1 -0
- package/src/sap/fe/core/templating/EntityTypeHelper.ts +37 -0
- package/src/sap/fe/core/templating/FilterHelper-dbg.js +12 -1
- 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 +12 -0
- package/src/sap/fe/core/templating/FilterTemplating-dbg.js +7 -8
- package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
- package/src/sap/fe/core/templating/FilterTemplating.js.map +1 -1
- package/src/sap/fe/core/templating/FilterTemplating.ts +5 -8
- package/src/sap/fe/core/templating/PropertyFormatters-dbg.js +1 -6
- package/src/sap/fe/core/templating/PropertyFormatters.js +1 -1
- package/src/sap/fe/core/templating/PropertyFormatters.js.map +1 -1
- package/src/sap/fe/core/templating/PropertyFormatters.ts +0 -5
- package/src/sap/fe/core/templating/PropertyHelper-dbg.js +13 -46
- package/src/sap/fe/core/templating/PropertyHelper.js +1 -1
- package/src/sap/fe/core/templating/PropertyHelper.js.map +1 -1
- package/src/sap/fe/core/templating/PropertyHelper.ts +14 -43
- package/src/sap/fe/core/templating/UIFormatters-dbg.js +32 -26
- package/src/sap/fe/core/templating/UIFormatters.js +1 -1
- package/src/sap/fe/core/templating/UIFormatters.js.map +1 -1
- package/src/sap/fe/core/templating/UIFormatters.ts +45 -34
- package/src/sap/fe/core/controls/ActionPartial.fragment.xml +0 -91
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +0 -59
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +0 -171
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +0 -6
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js.map +0 -1
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +0 -184
|
@@ -278,6 +278,7 @@ class RouterProxy extends BaseObject {
|
|
|
278
278
|
}
|
|
279
279
|
|
|
280
280
|
const oHistoryAction = this._pushNewState(oNewState, false, bPreserveHistory, bDisablePreservationCache);
|
|
281
|
+
this.storeFocusInfoForCurrentHash();
|
|
281
282
|
|
|
282
283
|
return this._rebuildBrowserHistory(oHistoryAction, false);
|
|
283
284
|
}
|
|
@@ -585,6 +586,10 @@ class RouterProxy extends BaseObject {
|
|
|
585
586
|
const bHasSameHash = oLastRemovedItem && oNewState.hash === oLastRemovedItem.hash;
|
|
586
587
|
if (this._oManagedHistory.length === 0 || this._oManagedHistory[this._oManagedHistory.length - 1].hash !== oNewState.hash) {
|
|
587
588
|
this._oManagedHistory.push(oNewState);
|
|
589
|
+
if (oLastRemovedItem && removeAppStateInHash(oLastRemovedItem.hash) === removeAppStateInHash(oNewState.hash)) {
|
|
590
|
+
oNewState.focusControlId = oLastRemovedItem.focusControlId;
|
|
591
|
+
oNewState.focusInfo = oLastRemovedItem.focusInfo;
|
|
592
|
+
}
|
|
588
593
|
}
|
|
589
594
|
|
|
590
595
|
// 6. Determine which actions to do on the history
|
|
@@ -860,6 +865,69 @@ class RouterProxy extends BaseObject {
|
|
|
860
865
|
|
|
861
866
|
return oCurrentState.hash.split("?")[0] === oPreviousState.hash.split("?")[0];
|
|
862
867
|
}
|
|
868
|
+
|
|
869
|
+
/**
|
|
870
|
+
* Restores the focus for the current hash, if we can find it in the history.
|
|
871
|
+
*
|
|
872
|
+
* @returns True if focus was set, false otherwise.
|
|
873
|
+
*/
|
|
874
|
+
restoreFocusForCurrentHash(): boolean {
|
|
875
|
+
const currentHash = removeAppStateInHash(this.getHash());
|
|
876
|
+
const stateForHash = this._oManagedHistory.find((state) => {
|
|
877
|
+
return removeAppStateInHash(state.hash) === currentHash;
|
|
878
|
+
});
|
|
879
|
+
|
|
880
|
+
let focusApplied = false;
|
|
881
|
+
if (stateForHash?.focusControlId) {
|
|
882
|
+
const focusControl = sap.ui.getCore().byId(stateForHash.focusControlId);
|
|
883
|
+
focusControl?.focus(stateForHash.focusInfo);
|
|
884
|
+
focusApplied = focusControl !== undefined;
|
|
885
|
+
}
|
|
886
|
+
|
|
887
|
+
return focusApplied;
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
/**
|
|
891
|
+
* Stores the ID of the currently focused control in the history for the current hash.
|
|
892
|
+
*
|
|
893
|
+
*/
|
|
894
|
+
private storeFocusInfoForCurrentHash() {
|
|
895
|
+
const currentHash = removeAppStateInHash(this.getHash());
|
|
896
|
+
const stateForHash = this._oManagedHistory.find((state) => {
|
|
897
|
+
return removeAppStateInHash(state.hash) === currentHash;
|
|
898
|
+
});
|
|
899
|
+
if (stateForHash) {
|
|
900
|
+
const focusControlId = sap.ui.getCore().getCurrentFocusedControlId();
|
|
901
|
+
const focusControl = focusControlId ? sap.ui.getCore().byId(focusControlId) : undefined;
|
|
902
|
+
stateForHash.focusControlId = focusControlId;
|
|
903
|
+
stateForHash.focusInfo = focusControl?.getFocusInfo();
|
|
904
|
+
}
|
|
905
|
+
}
|
|
906
|
+
|
|
907
|
+
/**
|
|
908
|
+
* Finds a layout value for a hash in the history.
|
|
909
|
+
*
|
|
910
|
+
* @param hash The hash to look for in the history.
|
|
911
|
+
* @returns A layout value if it could be found, undefined otherwise.
|
|
912
|
+
*/
|
|
913
|
+
findLayoutForHash(hash: string): string | undefined {
|
|
914
|
+
if (!this.fclEnabled) {
|
|
915
|
+
return undefined;
|
|
916
|
+
}
|
|
917
|
+
|
|
918
|
+
// Remove all query parameters from the hash
|
|
919
|
+
const hashNoParam = hash.split("?")[0];
|
|
920
|
+
|
|
921
|
+
// Look for the state backwards, so that we find the last state in the history (e.g. if we have 2 states with the same hash but 2 different layouts)
|
|
922
|
+
let targetState: any;
|
|
923
|
+
for (let index = this._oManagedHistory.length - 1; index >= 0 && targetState === undefined; index--) {
|
|
924
|
+
if (this._oManagedHistory[index].hash.split("?")[0] === hashNoParam) {
|
|
925
|
+
targetState = this._oManagedHistory[index];
|
|
926
|
+
}
|
|
927
|
+
}
|
|
928
|
+
|
|
929
|
+
return targetState?.sLayout;
|
|
930
|
+
}
|
|
863
931
|
}
|
|
864
932
|
|
|
865
933
|
export default RouterProxy;
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
unittest:id="ActionParameterDialogFieldExpressionTest"
|
|
44
44
|
id="{= ID.generate(['APD_', ${parameter>$Name}]) }"
|
|
45
45
|
value="{parameter>@@MODEL.format}"
|
|
46
|
+
placeholder="{actionParameter>@com.sap.vocabularies.UI.v1.Placeholder@@MODEL.value}"
|
|
46
47
|
display="{actionParameter>@@FIELD.getAPDialogDisplayFormat}"
|
|
47
48
|
editMode="{actionParameter>@@COMMON.getParameterEditMode}"
|
|
48
49
|
width="100%"
|
|
@@ -59,6 +60,7 @@
|
|
|
59
60
|
<template:else>
|
|
60
61
|
<mdc:MultiValueField
|
|
61
62
|
id="{= ID.generate(['APD_', ${parameter>$Name}]) }"
|
|
63
|
+
placeholder="{actionParameter>@com.sap.vocabularies.UI.v1.Placeholder@@MODEL.value}"
|
|
62
64
|
items="{actionParameter>@@FE_MODEL.getActionParameterItemsModelPath}"
|
|
63
65
|
delegate="{name: 'sap/fe/core/controls/MultiValueParameterDelegate'}"
|
|
64
66
|
unittest:id="ActionParameterDialogMultiValueFieldExpressionTest"
|
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
sap.ui.define(["sap/base/Log", "sap/fe/core/helpers/ClassSupport", "sap/ui/core/CommandExecution", "sap/ui/core/Component", "sap/ui/core/Element", "sap/ui/core/Shortcut"], function (Log, ClassSupport, CoreCommandExecution, Component, Element, Shortcut) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
var _dec, _class
|
|
8
|
+
var _dec, _class;
|
|
9
9
|
var _exports = {};
|
|
10
10
|
var defineUI5Class = ClassSupport.defineUI5Class;
|
|
11
11
|
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
|
|
12
12
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
13
|
-
let CommandExecution = (_dec = defineUI5Class("sap.fe.core.controls.CommandExecution"), _dec(_class =
|
|
13
|
+
let CommandExecution = (_dec = defineUI5Class("sap.fe.core.controls.CommandExecution"), _dec(_class = /*#__PURE__*/function (_CoreCommandExecution) {
|
|
14
14
|
_inheritsLoose(CommandExecution, _CoreCommandExecution);
|
|
15
15
|
function CommandExecution(sId, mSettings) {
|
|
16
16
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
@@ -71,13 +71,8 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/helpers/ClassSupport", "sap/ui/core/
|
|
|
71
71
|
return this;
|
|
72
72
|
};
|
|
73
73
|
return CommandExecution;
|
|
74
|
-
}(CoreCommandExecution)
|
|
75
|
-
return event => {
|
|
76
|
-
const commandExecution = CoreCommandExecution.find(event.getSource(), command);
|
|
77
|
-
commandExecution === null || commandExecution === void 0 ? void 0 : commandExecution.trigger();
|
|
78
|
-
};
|
|
79
|
-
}, _class2)) || _class);
|
|
74
|
+
}(CoreCommandExecution)) || _class);
|
|
80
75
|
_exports = CommandExecution;
|
|
81
76
|
return _exports;
|
|
82
77
|
}, false);
|
|
83
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb21tYW5kRXhlY3V0aW9uIiwiZGVmaW5lVUk1Q2xhc3MiLCJzSWQiLCJtU2V0dGluZ3MiLCJzZXRQYXJlbnQiLCJvUGFyZW50IiwiYUNvbW1hbmRzIiwiZGF0YSIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsIm9Db21tYW5kIiwib1Nob3J0Y3V0Iiwic2hvcnRjdXRTcGVjIiwia2V5IiwiZGVzdHJveSIsImJTdXBwcmVzc0ludmFsaWRhdGUiLCJnZXRQYXJlbnQiLCJfZ2V0Q29tbWFuZEluZm8iLCJTaG9ydGN1dCIsInVucmVnaXN0ZXIiLCJzaG9ydGN1dCIsIl9jbGVhbnVwQ29udGV4dCIsIkVsZW1lbnQiLCJwcm90b3R5cGUiLCJhcHBseSIsInNldFZpc2libGUiLCJiVmFsdWUiLCJvUGFyZW50Q29udHJvbCIsIm9Db21wb25lbnQiLCJDb21wb25lbnQiLCJnZXRPd25lckNvbXBvbmVudEZvciIsImdldENvbW1hbmQiLCJMb2ciLCJpbmZvIiwiQ29yZUNvbW1hbmRFeGVjdXRpb24iXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkNvbW1hbmRFeGVjdXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgeyBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nVG9vbGtpdFwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBDb3JlQ29tbWFuZEV4ZWN1dGlvbiBmcm9tIFwic2FwL3VpL2NvcmUvQ29tbWFuZEV4ZWN1dGlvblwiO1xuaW1wb3J0IENvbXBvbmVudCBmcm9tIFwic2FwL3VpL2NvcmUvQ29tcG9uZW50XCI7XG5pbXBvcnQgRWxlbWVudCBmcm9tIFwic2FwL3VpL2NvcmUvRWxlbWVudFwiO1xuaW1wb3J0IFNob3J0Y3V0IGZyb20gXCJzYXAvdWkvY29yZS9TaG9ydGN1dFwiO1xuXG50eXBlICRDb21tYW5kRXhlY3V0aW9uU2V0dGluZ3MgPSB7XG5cdHZpc2libGU6IGJvb2xlYW4gfCBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248Ym9vbGVhbj47XG5cdGVuYWJsZWQ6IGJvb2xlYW4gfCBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248Ym9vbGVhbj47XG5cdGV4ZWN1dGU6IEZ1bmN0aW9uO1xuXHRjb21tYW5kOiBzdHJpbmc7XG59O1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUuY29udHJvbHMuQ29tbWFuZEV4ZWN1dGlvblwiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tbWFuZEV4ZWN1dGlvbiBleHRlbmRzIENvcmVDb21tYW5kRXhlY3V0aW9uIHtcblx0Y29uc3RydWN0b3Ioc0lkPzogc3RyaW5nIHwgJENvbW1hbmRFeGVjdXRpb25TZXR0aW5ncywgbVNldHRpbmdzPzogJENvbW1hbmRFeGVjdXRpb25TZXR0aW5ncykge1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0c3VwZXIoc0lkLCBtU2V0dGluZ3MpO1xuXHR9XG5cblx0c2V0UGFyZW50KG9QYXJlbnQ6IGFueSkge1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0c3VwZXIuc2V0UGFyZW50KG9QYXJlbnQpO1xuXHRcdGNvbnN0IGFDb21tYW5kcyA9IG9QYXJlbnQuZGF0YShcInNhcC51aS5jb3JlLlNob3J0Y3V0XCIpO1xuXHRcdGlmIChBcnJheS5pc0FycmF5KGFDb21tYW5kcykgJiYgYUNvbW1hbmRzLmxlbmd0aCA+IDApIHtcblx0XHRcdGNvbnN0IG9Db21tYW5kID0gb1BhcmVudC5kYXRhKFwic2FwLnVpLmNvcmUuU2hvcnRjdXRcIilbYUNvbW1hbmRzLmxlbmd0aCAtIDFdLFxuXHRcdFx0XHRvU2hvcnRjdXQgPSBvQ29tbWFuZC5zaG9ydGN1dFNwZWM7XG5cdFx0XHRpZiAob1Nob3J0Y3V0KSB7XG5cdFx0XHRcdC8vIENoZWNrIGlmIHNpbmdsZSBrZXkgc2hvcnRjdXRcblx0XHRcdFx0Zm9yIChjb25zdCBrZXkgaW4gb1Nob3J0Y3V0KSB7XG5cdFx0XHRcdFx0aWYgKG9TaG9ydGN1dFtrZXldICYmIGtleSAhPT0gXCJrZXlcIikge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXM7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gdGhpcztcblx0XHR9XG5cdH1cblxuXHRkZXN0cm95KGJTdXBwcmVzc0ludmFsaWRhdGU6IGJvb2xlYW4pIHtcblx0XHRjb25zdCBvUGFyZW50ID0gdGhpcy5nZXRQYXJlbnQoKTtcblx0XHRpZiAob1BhcmVudCkge1xuXHRcdFx0Y29uc3Qgb0NvbW1hbmQgPSB0aGlzLl9nZXRDb21tYW5kSW5mbygpO1xuXHRcdFx0aWYgKG9Db21tYW5kKSB7XG5cdFx0XHRcdFNob3J0Y3V0LnVucmVnaXN0ZXIodGhpcy5nZXRQYXJlbnQoKSwgb0NvbW1hbmQuc2hvcnRjdXQpO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5fY2xlYW51cENvbnRleHQob1BhcmVudCk7XG5cdFx0fVxuXHRcdEVsZW1lbnQucHJvdG90eXBlLmRlc3Ryb3kuYXBwbHkodGhpcywgW2JTdXBwcmVzc0ludmFsaWRhdGVdKTtcblx0fVxuXG5cdHNldFZpc2libGUoYlZhbHVlOiBib29sZWFuKSB7XG5cdFx0bGV0IG9Db21tYW5kLFxuXHRcdFx0b1BhcmVudENvbnRyb2wgPSB0aGlzLmdldFBhcmVudCgpLFxuXHRcdFx0b0NvbXBvbmVudDogYW55O1xuXG5cdFx0aWYgKCFvUGFyZW50Q29udHJvbCkge1xuXHRcdFx0c3VwZXIuc2V0VmlzaWJsZShiVmFsdWUpO1xuXHRcdH1cblxuXHRcdHdoaWxlICghb0NvbXBvbmVudCAmJiBvUGFyZW50Q29udHJvbCkge1xuXHRcdFx0b0NvbXBvbmVudCA9IENvbXBvbmVudC5nZXRPd25lckNvbXBvbmVudEZvcihvUGFyZW50Q29udHJvbCk7XG5cdFx0XHRvUGFyZW50Q29udHJvbCA9IG9QYXJlbnRDb250cm9sLmdldFBhcmVudCgpO1xuXHRcdH1cblxuXHRcdGlmIChvQ29tcG9uZW50KSB7XG5cdFx0XHRvQ29tbWFuZCA9IG9Db21wb25lbnQuZ2V0Q29tbWFuZCh0aGlzLmdldENvbW1hbmQoKSk7XG5cblx0XHRcdGlmIChvQ29tbWFuZCkge1xuXHRcdFx0XHRzdXBlci5zZXRWaXNpYmxlKGJWYWx1ZSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRMb2cuaW5mbyhcIlRoZXJlIGlzIG5vIHNob3J0Y3V0IGRlZmluaXRpb24gcmVnaXN0ZXJlZCBpbiB0aGUgbWFuaWZlc3QgZm9yIHRoZSBjb21tYW5kIDogXCIgKyB0aGlzLmdldENvbW1hbmQoKSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7OztNQWVxQkEsZ0JBQWdCLFdBRHBDQyxjQUFjLENBQUMsdUNBQXVDLENBQUM7SUFBQTtJQUV2RCwwQkFBWUMsR0FBd0MsRUFBRUMsU0FBcUMsRUFBRTtNQUM1RjtNQUNBO01BQUEsT0FDQSxpQ0FBTUQsR0FBRyxFQUFFQyxTQUFTLENBQUM7SUFDdEI7SUFBQztJQUFBO0lBQUEsT0FFREMsU0FBUyxHQUFULG1CQUFVQyxPQUFZLEVBQUU7TUFDdkI7TUFDQTtNQUNBLGdDQUFNRCxTQUFTLFlBQUNDLE9BQU87TUFDdkIsTUFBTUMsU0FBUyxHQUFHRCxPQUFPLENBQUNFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztNQUN0RCxJQUFJQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0gsU0FBUyxDQUFDLElBQUlBLFNBQVMsQ0FBQ0ksTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNyRCxNQUFNQyxRQUFRLEdBQUdOLE9BQU8sQ0FBQ0UsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUNELFNBQVMsQ0FBQ0ksTUFBTSxHQUFHLENBQUMsQ0FBQztVQUMxRUUsU0FBUyxHQUFHRCxRQUFRLENBQUNFLFlBQVk7UUFDbEMsSUFBSUQsU0FBUyxFQUFFO1VBQ2Q7VUFDQSxLQUFLLE1BQU1FLEdBQUcsSUFBSUYsU0FBUyxFQUFFO1lBQzVCLElBQUlBLFNBQVMsQ0FBQ0UsR0FBRyxDQUFDLElBQUlBLEdBQUcsS0FBSyxLQUFLLEVBQUU7Y0FDcEMsT0FBTyxJQUFJO1lBQ1o7VUFDRDtRQUNEO1FBQ0EsT0FBTyxJQUFJO01BQ1o7SUFDRCxDQUFDO0lBQUEsT0FFREMsT0FBTyxHQUFQLGlCQUFRQyxtQkFBNEIsRUFBRTtNQUNyQyxNQUFNWCxPQUFPLEdBQUcsSUFBSSxDQUFDWSxTQUFTLEVBQUU7TUFDaEMsSUFBSVosT0FBTyxFQUFFO1FBQ1osTUFBTU0sUUFBUSxHQUFHLElBQUksQ0FBQ08sZUFBZSxFQUFFO1FBQ3ZDLElBQUlQLFFBQVEsRUFBRTtVQUNiUSxRQUFRLENBQUNDLFVBQVUsQ0FBQyxJQUFJLENBQUNILFNBQVMsRUFBRSxFQUFFTixRQUFRLENBQUNVLFFBQVEsQ0FBQztRQUN6RDtRQUNBLElBQUksQ0FBQ0MsZUFBZSxDQUFDakIsT0FBTyxDQUFDO01BQzlCO01BQ0FrQixPQUFPLENBQUNDLFNBQVMsQ0FBQ1QsT0FBTyxDQUFDVSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUNULG1CQUFtQixDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUFBLE9BRURVLFVBQVUsR0FBVixvQkFBV0MsTUFBZSxFQUFFO01BQzNCLElBQUloQixRQUFRO1FBQ1hpQixjQUFjLEdBQUcsSUFBSSxDQUFDWCxTQUFTLEVBQUU7UUFDakNZLFVBQWU7TUFFaEIsSUFBSSxDQUFDRCxjQUFjLEVBQUU7UUFDcEIsZ0NBQU1GLFVBQVUsWUFBQ0MsTUFBTTtNQUN4QjtNQUVBLE9BQU8sQ0FBQ0UsVUFBVSxJQUFJRCxjQUFjLEVBQUU7UUFDckNDLFVBQVUsR0FBR0MsU0FBUyxDQUFDQyxvQkFBb0IsQ0FBQ0gsY0FBYyxDQUFDO1FBQzNEQSxjQUFjLEdBQUdBLGNBQWMsQ0FBQ1gsU0FBUyxFQUFFO01BQzVDO01BRUEsSUFBSVksVUFBVSxFQUFFO1FBQ2ZsQixRQUFRLEdBQUdrQixVQUFVLENBQUNHLFVBQVUsQ0FBQyxJQUFJLENBQUNBLFVBQVUsRUFBRSxDQUFDO1FBRW5ELElBQUlyQixRQUFRLEVBQUU7VUFDYixnQ0FBTWUsVUFBVSxZQUFDQyxNQUFNO1FBQ3hCLENBQUMsTUFBTTtVQUNOTSxHQUFHLENBQUNDLElBQUksQ0FBQywrRUFBK0UsR0FBRyxJQUFJLENBQUNGLFVBQVUsRUFBRSxDQUFDO1FBQzlHO01BQ0Q7TUFDQSxPQUFPLElBQUk7SUFDWixDQUFDO0lBQUE7RUFBQSxFQS9ENENHLG9CQUFvQjtFQUFBO0VBQUE7QUFBQSJ9
|
|
@@ -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/base/Log","sap/fe/core/helpers/ClassSupport","sap/ui/core/CommandExecution","sap/ui/core/Component","sap/ui/core/Element","sap/ui/core/Shortcut"],function(t,e,o,r,n,i){"use strict";var s,
|
|
5
|
+
sap.ui.define(["sap/base/Log","sap/fe/core/helpers/ClassSupport","sap/ui/core/CommandExecution","sap/ui/core/Component","sap/ui/core/Element","sap/ui/core/Shortcut"],function(t,e,o,r,n,i){"use strict";var s,a;var c={};var p=e.defineUI5Class;function u(t,e){t.prototype=Object.create(e.prototype);t.prototype.constructor=t;f(t,e)}function f(t,e){f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function t(e,o){e.__proto__=o;return e};return f(t,e)}let h=(s=p("sap.fe.core.controls.CommandExecution"),s(a=function(e){u(o,e);function o(t,o){return e.call(this,t,o)||this}c=o;var s=o.prototype;s.setParent=function t(o){e.prototype.setParent.call(this,o);const r=o.data("sap.ui.core.Shortcut");if(Array.isArray(r)&&r.length>0){const t=o.data("sap.ui.core.Shortcut")[r.length-1],e=t.shortcutSpec;if(e){for(const t in e){if(e[t]&&t!=="key"){return this}}}return this}};s.destroy=function t(e){const o=this.getParent();if(o){const t=this._getCommandInfo();if(t){i.unregister(this.getParent(),t.shortcut)}this._cleanupContext(o)}n.prototype.destroy.apply(this,[e])};s.setVisible=function o(n){let i,s=this.getParent(),a;if(!s){e.prototype.setVisible.call(this,n)}while(!a&&s){a=r.getOwnerComponentFor(s);s=s.getParent()}if(a){i=a.getCommand(this.getCommand());if(i){e.prototype.setVisible.call(this,n)}else{t.info("There is no shortcut definition registered in the manifest for the command : "+this.getCommand())}}return this};return o}(o))||a);c=h;return c},false);
|
|
6
6
|
//# sourceMappingURL=CommandExecution.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandExecution.js","names":["sap","ui","define","Log","ClassSupport","CoreCommandExecution","Component","Element","Shortcut","_dec","_class","
|
|
1
|
+
{"version":3,"file":"CommandExecution.js","names":["sap","ui","define","Log","ClassSupport","CoreCommandExecution","Component","Element","Shortcut","_dec","_class","_exports","defineUI5Class","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","CommandExecution","_CoreCommandExecution","sId","mSettings","call","this","_proto","setParent","oParent","aCommands","data","Array","isArray","length","oCommand","oShortcut","shortcutSpec","key","destroy","bSuppressInvalidate","getParent","_getCommandInfo","unregister","shortcut","_cleanupContext","apply","setVisible","bValue","oParentControl","oComponent","getOwnerComponentFor","getCommand","info"],"sources":["CommandExecution-dbg.js"],"mappings":";;;;AAIAA,IAAIC,GAAGC,OAAO,CAAC,eAAgB,mCAAoC,+BAAgC,wBAAyB,sBAAuB,wBAAyB,SAAUC,EAAKC,EAAcC,EAAsBC,EAAWC,EAASC,GACjP,aAEA,IAAIC,EAAMC,EACV,IAAIC,EAAW,CAAC,EAChB,IAAIC,EAAiBR,EAAaQ,eAClC,SAASC,EAAeC,EAAUC,GAAcD,EAASE,UAAYC,OAAOC,OAAOH,EAAWC,WAAYF,EAASE,UAAUG,YAAcL,EAAUM,EAAgBN,EAAUC,EAAa,CAC5L,SAASK,EAAgBC,EAAGC,GAAKF,EAAkBH,OAAOM,eAAiBN,OAAOM,eAAeC,OAAS,SAASJ,EAAgBC,EAAGC,GAAKD,EAAEI,UAAYH,EAAG,OAAOD,CAAG,EAAG,OAAOD,EAAgBC,EAAGC,EAAI,CACvM,IAAII,GAAoBjB,EAAOG,EAAe,yCAA0CH,EAAKC,EAAsB,SAAUiB,GAC3Hd,EAAea,EAAkBC,GACjC,SAASD,EAAiBE,EAAKC,GAG7B,OAAOF,EAAsBG,KAAKC,KAAMH,EAAKC,IAAcE,IAC7D,CACApB,EAAWe,EACX,IAAIM,EAASN,EAAiBV,UAC9BgB,EAAOC,UAAY,SAASA,EAAUC,GAGpCP,EAAsBX,UAAUiB,UAAUH,KAAKC,KAAMG,GACrD,MAAMC,EAAYD,EAAQE,KAAK,wBAC/B,GAAIC,MAAMC,QAAQH,IAAcA,EAAUI,OAAS,EAAG,CACpD,MAAMC,EAAWN,EAAQE,KAAK,wBAAwBD,EAAUI,OAAS,GACvEE,EAAYD,EAASE,aACvB,GAAID,EAAW,CAEb,IAAK,MAAME,KAAOF,EAAW,CAC3B,GAAIA,EAAUE,IAAQA,IAAQ,MAAO,CACnC,OAAOZ,IACT,CACF,CACF,CACA,OAAOA,IACT,CACF,EACAC,EAAOY,QAAU,SAASA,EAAQC,GAChC,MAAMX,EAAUH,KAAKe,YACrB,GAAIZ,EAAS,CACX,MAAMM,EAAWT,KAAKgB,kBACtB,GAAIP,EAAU,CACZhC,EAASwC,WAAWjB,KAAKe,YAAaN,EAASS,SACjD,CACAlB,KAAKmB,gBAAgBhB,EACvB,CACA3B,EAAQS,UAAU4B,QAAQO,MAAMpB,KAAM,CAACc,GACzC,EACAb,EAAOoB,WAAa,SAASA,EAAWC,GACtC,IAAIb,EACFc,EAAiBvB,KAAKe,YACtBS,EACF,IAAKD,EAAgB,CACnB3B,EAAsBX,UAAUoC,WAAWtB,KAAKC,KAAMsB,EACxD,CACA,OAAQE,GAAcD,EAAgB,CACpCC,EAAajD,EAAUkD,qBAAqBF,GAC5CA,EAAiBA,EAAeR,WAClC,CACA,GAAIS,EAAY,CACdf,EAAWe,EAAWE,WAAW1B,KAAK0B,cACtC,GAAIjB,EAAU,CACZb,EAAsBX,UAAUoC,WAAWtB,KAAKC,KAAMsB,EACxD,KAAO,CACLlD,EAAIuD,KAAK,gFAAkF3B,KAAK0B,aAClG,CACF,CACA,OAAO1B,IACT,EACA,OAAOL,CACT,CA7DmH,CA6DjHrB,KAA0BK,GAC5BC,EAAWe,EACX,OAAOf,CACT,EAAG"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import Log from "sap/base/Log";
|
|
2
2
|
import { BindingToolkitExpression } from "sap/fe/core/helpers/BindingToolkit";
|
|
3
3
|
import { defineUI5Class } from "sap/fe/core/helpers/ClassSupport";
|
|
4
|
-
import type Event from "sap/ui/base/Event";
|
|
5
4
|
import CoreCommandExecution from "sap/ui/core/CommandExecution";
|
|
6
5
|
import Component from "sap/ui/core/Component";
|
|
7
6
|
import Element from "sap/ui/core/Element";
|
|
@@ -78,11 +77,4 @@ export default class CommandExecution extends CoreCommandExecution {
|
|
|
78
77
|
}
|
|
79
78
|
return this;
|
|
80
79
|
}
|
|
81
|
-
|
|
82
|
-
static executeCommand = (command: string) => {
|
|
83
|
-
return (event: Event) => {
|
|
84
|
-
const commandExecution = (CoreCommandExecution as any).find(event.getSource(), command);
|
|
85
|
-
commandExecution?.trigger();
|
|
86
|
-
};
|
|
87
|
-
};
|
|
88
80
|
}
|
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define(["sap/base/Log", "sap/fe/core/buildingBlocks/BuildingBlockSupport", "sap/fe/core/buildingBlocks/RuntimeBuildingBlock", "sap/fe/core/helpers/ClassSupport", "sap/fe/core/helpers/ResourceModelHelper", "sap/m/Button", "sap/m/CustomListItem", "sap/m/Dialog", "sap/m/Label", "sap/m/List", "sap/m/Text", "sap/m/VBox", "sap/ui/core/CustomData", "sap/ui/core/library", "sap/fe/core/jsx-runtime/jsx", "sap/fe/core/jsx-runtime/jsxs", "sap/fe/core/jsx-runtime/Fragment"], function (Log, BuildingBlockSupport, RuntimeBuildingBlock, ClassSupport, ResourceModelHelper, Button, CustomListItem, Dialog, Label, List, Text, VBox, CustomData, library, _jsx, _jsxs, _Fragment) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var _dec, _dec2, _dec3, _class, _class2, _descriptor, _descriptor2;
|
|
9
|
+
var _exports = {};
|
|
10
|
+
var ValueState = library.ValueState;
|
|
11
|
+
var getResourceModel = ResourceModelHelper.getResourceModel;
|
|
12
|
+
var defineReference = ClassSupport.defineReference;
|
|
13
|
+
var defineBuildingBlock = BuildingBlockSupport.defineBuildingBlock;
|
|
14
|
+
function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
|
|
15
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
16
|
+
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
|
|
17
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
18
|
+
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
|
|
19
|
+
function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }
|
|
20
|
+
var DraftDataLossOptions;
|
|
21
|
+
(function (DraftDataLossOptions) {
|
|
22
|
+
DraftDataLossOptions["Save"] = "draftDataLossOptionSave";
|
|
23
|
+
DraftDataLossOptions["Keep"] = "draftDataLossOptionKeep";
|
|
24
|
+
DraftDataLossOptions["Discard"] = "draftDataLossOptionDiscard";
|
|
25
|
+
})(DraftDataLossOptions || (DraftDataLossOptions = {}));
|
|
26
|
+
let DraftDataLossDialogBlock = (_dec = defineBuildingBlock({
|
|
27
|
+
name: "DraftDataLossDialog",
|
|
28
|
+
namespace: "sap.fe.core.controllerextensions"
|
|
29
|
+
}), _dec2 = defineReference(), _dec3 = defineReference(), _dec(_class = (_class2 = /*#__PURE__*/function (_RuntimeBuildingBlock) {
|
|
30
|
+
_inheritsLoose(DraftDataLossDialogBlock, _RuntimeBuildingBlock);
|
|
31
|
+
function DraftDataLossDialogBlock(props) {
|
|
32
|
+
var _this;
|
|
33
|
+
_this = _RuntimeBuildingBlock.call(this, props) || this;
|
|
34
|
+
_initializerDefineProperty(_this, "dataLossDialog", _descriptor, _assertThisInitialized(_this));
|
|
35
|
+
_initializerDefineProperty(_this, "optionsList", _descriptor2, _assertThisInitialized(_this));
|
|
36
|
+
return _this;
|
|
37
|
+
}
|
|
38
|
+
_exports = DraftDataLossDialogBlock;
|
|
39
|
+
var _proto = DraftDataLossDialogBlock.prototype;
|
|
40
|
+
/**
|
|
41
|
+
* Opens the data loss dialog.
|
|
42
|
+
*
|
|
43
|
+
* @function
|
|
44
|
+
* @name dataLossConfirmation
|
|
45
|
+
*/
|
|
46
|
+
_proto.dataLossConfirmation = function dataLossConfirmation() {
|
|
47
|
+
var _this$optionsList$cur;
|
|
48
|
+
const view = this.controller.getView();
|
|
49
|
+
this.dataLossResourceModel = getResourceModel(view);
|
|
50
|
+
this.getContent();
|
|
51
|
+
const dataLossConfirm = () => this.handleDataLossOk();
|
|
52
|
+
(_this$optionsList$cur = this.optionsList.current) === null || _this$optionsList$cur === void 0 ? void 0 : _this$optionsList$cur.addEventDelegate({
|
|
53
|
+
onsapenter: function () {
|
|
54
|
+
dataLossConfirm();
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
view.addDependent(this.dataLossDialog.current);
|
|
58
|
+
this.openDataLossDialog();
|
|
59
|
+
this.selectAndFocusFirstEntry();
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Executes the follow-up function and resolves/rejects the promise.
|
|
64
|
+
*
|
|
65
|
+
* @function
|
|
66
|
+
* @name performAfterDiscardorKeepDraft
|
|
67
|
+
* @param processFunctionOnDatalossOk Callback to process the draft handler
|
|
68
|
+
* @param processFunctionOnDatalossCancel Callback to process the cancel function
|
|
69
|
+
* @param controller Controller of the current view
|
|
70
|
+
* @param skipBindingToView The parameter to skip the binding to the view
|
|
71
|
+
*/;
|
|
72
|
+
_proto.performAfterDiscardorKeepDraft = async function performAfterDiscardorKeepDraft(processFunctionOnDatalossOk, processFunctionOnDatalossCancel, controller, skipBindingToView) {
|
|
73
|
+
this.controller = controller;
|
|
74
|
+
this.skipBindingToView = skipBindingToView;
|
|
75
|
+
this.dataLossConfirmation();
|
|
76
|
+
return new Promise((resolve, reject) => {
|
|
77
|
+
this.onDataLossConfirmationFollowUpFunction = context => {
|
|
78
|
+
const value = processFunctionOnDatalossOk(context);
|
|
79
|
+
resolve(value);
|
|
80
|
+
};
|
|
81
|
+
this.onDataLossCancelFollowUpFunction = () => {
|
|
82
|
+
processFunctionOnDatalossCancel();
|
|
83
|
+
reject();
|
|
84
|
+
};
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Executes the logic when the data loss dialog is confirmed. The selection of an option resolves the promise and leads to the
|
|
90
|
+
* processing of the originally triggered action like e.g. a back navigation.
|
|
91
|
+
*
|
|
92
|
+
* @function
|
|
93
|
+
* @name handleDataLossOk
|
|
94
|
+
*/;
|
|
95
|
+
_proto.handleDataLossOk = function handleDataLossOk() {
|
|
96
|
+
const selectedKey = this.getSelectedKey();
|
|
97
|
+
if (selectedKey === DraftDataLossOptions.Save) {
|
|
98
|
+
this.saveDocument(this.controller).then(this.onDataLossConfirmationFollowUpFunction).catch(function (error) {
|
|
99
|
+
Log.error("Error while saving document", error);
|
|
100
|
+
});
|
|
101
|
+
this.closeDataLossDialog();
|
|
102
|
+
} else if (selectedKey === DraftDataLossOptions.Keep) {
|
|
103
|
+
this.onDataLossConfirmationFollowUpFunction();
|
|
104
|
+
this.closeDataLossDialog();
|
|
105
|
+
} else if (selectedKey === DraftDataLossOptions.Discard) {
|
|
106
|
+
this.discardDraft(this.controller, this.skipBindingToView).then(this.onDataLossConfirmationFollowUpFunction).catch(function (error) {
|
|
107
|
+
Log.error("Error while discarding draft", error);
|
|
108
|
+
});
|
|
109
|
+
this.closeDataLossDialog();
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Handler to close the dataloss dialog.
|
|
115
|
+
*
|
|
116
|
+
* @function
|
|
117
|
+
* @name handleDataLossCancel
|
|
118
|
+
*/;
|
|
119
|
+
_proto.handleDataLossCancel = function handleDataLossCancel() {
|
|
120
|
+
this.onDataLossCancelFollowUpFunction();
|
|
121
|
+
this.closeDataLossDialog();
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Sets the focus on the first list item of the dialog.
|
|
126
|
+
*
|
|
127
|
+
* @function
|
|
128
|
+
* @name selectAndFocusFirstEntry
|
|
129
|
+
*/;
|
|
130
|
+
_proto.selectAndFocusFirstEntry = function selectAndFocusFirstEntry() {
|
|
131
|
+
var _this$optionsList$cur2, _this$optionsList$cur3;
|
|
132
|
+
const firstListItemOption = (_this$optionsList$cur2 = this.optionsList.current) === null || _this$optionsList$cur2 === void 0 ? void 0 : _this$optionsList$cur2.getItems()[0];
|
|
133
|
+
(_this$optionsList$cur3 = this.optionsList.current) === null || _this$optionsList$cur3 === void 0 ? void 0 : _this$optionsList$cur3.setSelectedItem(firstListItemOption);
|
|
134
|
+
// We do not set the focus on the button, but catch the ENTER key in the dialog
|
|
135
|
+
// and process it as Ok, since focusing the button was reported as an ACC issue
|
|
136
|
+
firstListItemOption === null || firstListItemOption === void 0 ? void 0 : firstListItemOption.focus();
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Discards the draft.
|
|
141
|
+
*
|
|
142
|
+
* @function
|
|
143
|
+
* @name discardDraft
|
|
144
|
+
* @param controller Controller of the current view
|
|
145
|
+
* @param skipBindingToView The parameter to skip the binding to the view
|
|
146
|
+
* @returns A promise resolved if cancelDocument was successful
|
|
147
|
+
*/;
|
|
148
|
+
_proto.discardDraft = async function discardDraft(controller, skipBindingToView) {
|
|
149
|
+
const context = controller.getView().getBindingContext();
|
|
150
|
+
const params = {
|
|
151
|
+
skipBackNavigation: true,
|
|
152
|
+
skipDiscardPopover: true,
|
|
153
|
+
skipBindingToView: skipBindingToView !== undefined ? skipBindingToView : true
|
|
154
|
+
};
|
|
155
|
+
return controller.editFlow.cancelDocument(context, params);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Saves the document. If the controller is of type ObjectPage, then internal _saveDocument is called, otherwise saveDocument
|
|
160
|
+
* from EditFlow is called.
|
|
161
|
+
*
|
|
162
|
+
* @function
|
|
163
|
+
* @name saveDocument
|
|
164
|
+
* @param controller Controller of the current view
|
|
165
|
+
* @returns A promise resolved if the save was successful
|
|
166
|
+
*/;
|
|
167
|
+
_proto.saveDocument = function saveDocument(controller) {
|
|
168
|
+
const context = controller.getView().getBindingContext();
|
|
169
|
+
if (controller.isA("sap.fe.templates.ObjectPage.ObjectPageController")) {
|
|
170
|
+
return controller._saveDocument(context);
|
|
171
|
+
} else {
|
|
172
|
+
return controller.editFlow.saveDocument(context, {});
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Gets the key of the selected item from the list of options that was set via customData.
|
|
178
|
+
*
|
|
179
|
+
* @function
|
|
180
|
+
* @name getSelectedKey
|
|
181
|
+
* @returns The key of the currently selected item
|
|
182
|
+
*/;
|
|
183
|
+
_proto.getSelectedKey = function getSelectedKey() {
|
|
184
|
+
const optionsList = this.optionsList.current;
|
|
185
|
+
return optionsList.getSelectedItem().data("itemKey");
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Handler to open the dataloss dialog.
|
|
190
|
+
*
|
|
191
|
+
* @function
|
|
192
|
+
* @name openDataLossDialog
|
|
193
|
+
*/;
|
|
194
|
+
_proto.openDataLossDialog = function openDataLossDialog() {
|
|
195
|
+
var _this$dataLossDialog$;
|
|
196
|
+
(_this$dataLossDialog$ = this.dataLossDialog.current) === null || _this$dataLossDialog$ === void 0 ? void 0 : _this$dataLossDialog$.open();
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* Handler to close the dataloss dialog.
|
|
201
|
+
*
|
|
202
|
+
* @function
|
|
203
|
+
* @name closeDataLossDialog
|
|
204
|
+
*/;
|
|
205
|
+
_proto.closeDataLossDialog = function closeDataLossDialog() {
|
|
206
|
+
var _this$dataLossDialog$2, _this$dataLossDialog$3;
|
|
207
|
+
(_this$dataLossDialog$2 = this.dataLossDialog.current) === null || _this$dataLossDialog$2 === void 0 ? void 0 : _this$dataLossDialog$2.close();
|
|
208
|
+
(_this$dataLossDialog$3 = this.dataLossDialog.current) === null || _this$dataLossDialog$3 === void 0 ? void 0 : _this$dataLossDialog$3.destroy();
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Returns the confirm button.
|
|
213
|
+
*
|
|
214
|
+
* @function
|
|
215
|
+
* @name getConfirmButton
|
|
216
|
+
* @returns A button
|
|
217
|
+
*/;
|
|
218
|
+
_proto.getConfirmButton = function getConfirmButton() {
|
|
219
|
+
return _jsx(Button, {
|
|
220
|
+
text: this.dataLossResourceModel.getText("C_COMMON_DIALOG_OK"),
|
|
221
|
+
type: "Emphasized",
|
|
222
|
+
press: () => this.handleDataLossOk()
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Returns the cancel button.
|
|
228
|
+
*
|
|
229
|
+
* @function
|
|
230
|
+
* @name getCancelButton
|
|
231
|
+
* @returns A button
|
|
232
|
+
*/;
|
|
233
|
+
_proto.getCancelButton = function getCancelButton() {
|
|
234
|
+
return _jsx(Button, {
|
|
235
|
+
text: this.dataLossResourceModel.getText("C_COMMON_DIALOG_CANCEL"),
|
|
236
|
+
press: () => this.handleDataLossCancel()
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* The building block render function.
|
|
242
|
+
*
|
|
243
|
+
* @returns An XML-based string
|
|
244
|
+
*/;
|
|
245
|
+
_proto.getContent = function getContent() {
|
|
246
|
+
var _this$controller$getV;
|
|
247
|
+
const hasActiveEntity = (_this$controller$getV = this.controller.getView().getBindingContext()) === null || _this$controller$getV === void 0 ? void 0 : _this$controller$getV.getObject().HasActiveEntity;
|
|
248
|
+
const description = hasActiveEntity ? this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_POPUP_MESSAGE_SAVE") : this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_POPUP_MESSAGE_CREATE");
|
|
249
|
+
const createOrSaveLabel = hasActiveEntity ? this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_SAVE_DRAFT_RBL") : this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_CREATE_ENTITY_RBL");
|
|
250
|
+
const createOrSaveText = hasActiveEntity ? this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_SAVE_DRAFT_TOL") : this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_CREATE_ENTITY_TOL");
|
|
251
|
+
return _jsx(Dialog, {
|
|
252
|
+
title: this.dataLossResourceModel.getText("WARNING"),
|
|
253
|
+
state: ValueState.Warning,
|
|
254
|
+
type: "Message",
|
|
255
|
+
contentWidth: "22rem",
|
|
256
|
+
ref: this.dataLossDialog,
|
|
257
|
+
children: {
|
|
258
|
+
content: _jsxs(_Fragment, {
|
|
259
|
+
children: [_jsx(Text, {
|
|
260
|
+
text: description,
|
|
261
|
+
class: "sapUiTinyMarginBegin sapUiTinyMarginTopBottom"
|
|
262
|
+
}), _jsxs(List, {
|
|
263
|
+
mode: "SingleSelectLeft",
|
|
264
|
+
showSeparators: "None",
|
|
265
|
+
includeItemInSelection: "true",
|
|
266
|
+
backgroundDesign: "Transparent",
|
|
267
|
+
class: "sapUiNoContentPadding",
|
|
268
|
+
ref: this.optionsList,
|
|
269
|
+
children: [_jsx(CustomListItem, {
|
|
270
|
+
customData: [new CustomData({
|
|
271
|
+
key: "itemKey",
|
|
272
|
+
value: "draftDataLossOptionSave"
|
|
273
|
+
})],
|
|
274
|
+
children: _jsxs(VBox, {
|
|
275
|
+
class: "sapUiTinyMargin",
|
|
276
|
+
children: [_jsx(Label, {
|
|
277
|
+
text: createOrSaveLabel,
|
|
278
|
+
design: "Bold"
|
|
279
|
+
}), _jsx(Text, {
|
|
280
|
+
text: createOrSaveText
|
|
281
|
+
})]
|
|
282
|
+
})
|
|
283
|
+
}), _jsx(CustomListItem, {
|
|
284
|
+
customData: [new CustomData({
|
|
285
|
+
key: "itemKey",
|
|
286
|
+
value: "draftDataLossOptionKeep"
|
|
287
|
+
})],
|
|
288
|
+
children: _jsxs(VBox, {
|
|
289
|
+
class: "sapUiTinyMargin",
|
|
290
|
+
children: [_jsx(Label, {
|
|
291
|
+
text: this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_KEEP_DRAFT_RBL"),
|
|
292
|
+
design: "Bold"
|
|
293
|
+
}), _jsx(Text, {
|
|
294
|
+
text: this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_KEEP_DRAFT_TOL")
|
|
295
|
+
})]
|
|
296
|
+
})
|
|
297
|
+
}), _jsx(CustomListItem, {
|
|
298
|
+
customData: [new CustomData({
|
|
299
|
+
key: "itemKey",
|
|
300
|
+
value: "draftDataLossOptionDiscard"
|
|
301
|
+
})],
|
|
302
|
+
children: _jsxs(VBox, {
|
|
303
|
+
class: "sapUiTinyMargin",
|
|
304
|
+
children: [_jsx(Label, {
|
|
305
|
+
text: this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_DISCARD_DRAFT_RBL"),
|
|
306
|
+
design: "Bold"
|
|
307
|
+
}), _jsx(Text, {
|
|
308
|
+
text: this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_DISCARD_DRAFT_TOL")
|
|
309
|
+
})]
|
|
310
|
+
})
|
|
311
|
+
})]
|
|
312
|
+
})]
|
|
313
|
+
}),
|
|
314
|
+
buttons: _jsxs(_Fragment, {
|
|
315
|
+
children: ["confirmButton = ", this.getConfirmButton(), "cancelButton = ", this.getCancelButton()]
|
|
316
|
+
})
|
|
317
|
+
}
|
|
318
|
+
});
|
|
319
|
+
};
|
|
320
|
+
return DraftDataLossDialogBlock;
|
|
321
|
+
}(RuntimeBuildingBlock), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "dataLossDialog", [_dec2], {
|
|
322
|
+
configurable: true,
|
|
323
|
+
enumerable: true,
|
|
324
|
+
writable: true,
|
|
325
|
+
initializer: null
|
|
326
|
+
}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "optionsList", [_dec3], {
|
|
327
|
+
configurable: true,
|
|
328
|
+
enumerable: true,
|
|
329
|
+
writable: true,
|
|
330
|
+
initializer: null
|
|
331
|
+
})), _class2)) || _class);
|
|
332
|
+
_exports = DraftDataLossDialogBlock;
|
|
333
|
+
return _exports;
|
|
334
|
+
}, false);
|
|
335
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEcmFmdERhdGFMb3NzT3B0aW9ucyIsIkRyYWZ0RGF0YUxvc3NEaWFsb2dCbG9jayIsImRlZmluZUJ1aWxkaW5nQmxvY2siLCJuYW1lIiwibmFtZXNwYWNlIiwiZGVmaW5lUmVmZXJlbmNlIiwicHJvcHMiLCJkYXRhTG9zc0NvbmZpcm1hdGlvbiIsInZpZXciLCJjb250cm9sbGVyIiwiZ2V0VmlldyIsImRhdGFMb3NzUmVzb3VyY2VNb2RlbCIsImdldFJlc291cmNlTW9kZWwiLCJnZXRDb250ZW50IiwiZGF0YUxvc3NDb25maXJtIiwiaGFuZGxlRGF0YUxvc3NPayIsIm9wdGlvbnNMaXN0IiwiY3VycmVudCIsImFkZEV2ZW50RGVsZWdhdGUiLCJvbnNhcGVudGVyIiwiYWRkRGVwZW5kZW50IiwiZGF0YUxvc3NEaWFsb2ciLCJvcGVuRGF0YUxvc3NEaWFsb2ciLCJzZWxlY3RBbmRGb2N1c0ZpcnN0RW50cnkiLCJwZXJmb3JtQWZ0ZXJEaXNjYXJkb3JLZWVwRHJhZnQiLCJwcm9jZXNzRnVuY3Rpb25PbkRhdGFsb3NzT2siLCJwcm9jZXNzRnVuY3Rpb25PbkRhdGFsb3NzQ2FuY2VsIiwic2tpcEJpbmRpbmdUb1ZpZXciLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsIm9uRGF0YUxvc3NDb25maXJtYXRpb25Gb2xsb3dVcEZ1bmN0aW9uIiwiY29udGV4dCIsInZhbHVlIiwib25EYXRhTG9zc0NhbmNlbEZvbGxvd1VwRnVuY3Rpb24iLCJzZWxlY3RlZEtleSIsImdldFNlbGVjdGVkS2V5IiwiU2F2ZSIsInNhdmVEb2N1bWVudCIsInRoZW4iLCJjYXRjaCIsImVycm9yIiwiTG9nIiwiY2xvc2VEYXRhTG9zc0RpYWxvZyIsIktlZXAiLCJEaXNjYXJkIiwiZGlzY2FyZERyYWZ0IiwiaGFuZGxlRGF0YUxvc3NDYW5jZWwiLCJmaXJzdExpc3RJdGVtT3B0aW9uIiwiZ2V0SXRlbXMiLCJzZXRTZWxlY3RlZEl0ZW0iLCJmb2N1cyIsImdldEJpbmRpbmdDb250ZXh0IiwicGFyYW1zIiwic2tpcEJhY2tOYXZpZ2F0aW9uIiwic2tpcERpc2NhcmRQb3BvdmVyIiwidW5kZWZpbmVkIiwiZWRpdEZsb3ciLCJjYW5jZWxEb2N1bWVudCIsImlzQSIsIl9zYXZlRG9jdW1lbnQiLCJnZXRTZWxlY3RlZEl0ZW0iLCJkYXRhIiwib3BlbiIsImNsb3NlIiwiZGVzdHJveSIsImdldENvbmZpcm1CdXR0b24iLCJnZXRUZXh0IiwiZ2V0Q2FuY2VsQnV0dG9uIiwiaGFzQWN0aXZlRW50aXR5IiwiZ2V0T2JqZWN0IiwiSGFzQWN0aXZlRW50aXR5IiwiZGVzY3JpcHRpb24iLCJjcmVhdGVPclNhdmVMYWJlbCIsImNyZWF0ZU9yU2F2ZVRleHQiLCJWYWx1ZVN0YXRlIiwiV2FybmluZyIsImNvbnRlbnQiLCJDdXN0b21EYXRhIiwia2V5IiwiYnV0dG9ucyIsIlJ1bnRpbWVCdWlsZGluZ0Jsb2NrIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJEcmFmdERhdGFMb3NzRGlhbG9nLmJsb2NrLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCB7IGRlZmluZUJ1aWxkaW5nQmxvY2sgfSBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvQnVpbGRpbmdCbG9ja1N1cHBvcnRcIjtcbmltcG9ydCBSdW50aW1lQnVpbGRpbmdCbG9jayBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvUnVudGltZUJ1aWxkaW5nQmxvY2tcIjtcbmltcG9ydCB0eXBlIEVkaXRGbG93IGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9FZGl0Rmxvd1wiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVJlZmVyZW5jZSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgZ2V0UmVzb3VyY2VNb2RlbCB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1Jlc291cmNlTW9kZWxIZWxwZXJcIjtcbmltcG9ydCB0eXBlIHsgUmVmIH0gZnJvbSBcInNhcC9mZS9jb3JlL2pzeC1ydW50aW1lL2pzeFwiO1xuaW1wb3J0IEJ1dHRvbiBmcm9tIFwic2FwL20vQnV0dG9uXCI7XG5pbXBvcnQgQ3VzdG9tTGlzdEl0ZW0gZnJvbSBcInNhcC9tL0N1c3RvbUxpc3RJdGVtXCI7XG5pbXBvcnQgRGlhbG9nIGZyb20gXCJzYXAvbS9EaWFsb2dcIjtcbmltcG9ydCBMYWJlbCBmcm9tIFwic2FwL20vTGFiZWxcIjtcbmltcG9ydCBMaXN0IGZyb20gXCJzYXAvbS9MaXN0XCI7XG5pbXBvcnQgVGV4dCBmcm9tIFwic2FwL20vVGV4dFwiO1xuaW1wb3J0IFZCb3ggZnJvbSBcInNhcC9tL1ZCb3hcIjtcbmltcG9ydCBDdXN0b21EYXRhIGZyb20gXCJzYXAvdWkvY29yZS9DdXN0b21EYXRhXCI7XG5pbXBvcnQgdHlwZSBVSTVFbGVtZW50IGZyb20gXCJzYXAvdWkvY29yZS9FbGVtZW50XCI7XG5pbXBvcnQgeyBWYWx1ZVN0YXRlIH0gZnJvbSBcInNhcC91aS9jb3JlL2xpYnJhcnlcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSBQYWdlQ29udHJvbGxlciBmcm9tIFwiLi4vLi4vUGFnZUNvbnRyb2xsZXJcIjtcbmltcG9ydCB0eXBlIFJlc291cmNlTW9kZWwgZnJvbSBcIi4uLy4uL1Jlc291cmNlTW9kZWxcIjtcblxuLy9jdXN0b20gdHlwZSBmb3IgY29udHJvbGxlciBpbiBvcmRlciB0byBhbGxvdyBhZGRpdGlvbmFsIHByb3BlcnRpZXNcbnR5cGUgRGF0YUxvc3NDb250cm9sbGVyID0gUGFnZUNvbnRyb2xsZXIgJiB7IF9zYXZlRG9jdW1lbnQ6IEZ1bmN0aW9uOyBlZGl0RmxvdzogRWRpdEZsb3cgfTtcblxuZW51bSBEcmFmdERhdGFMb3NzT3B0aW9ucyB7XG5cdFNhdmUgPSBcImRyYWZ0RGF0YUxvc3NPcHRpb25TYXZlXCIsXG5cdEtlZXAgPSBcImRyYWZ0RGF0YUxvc3NPcHRpb25LZWVwXCIsXG5cdERpc2NhcmQgPSBcImRyYWZ0RGF0YUxvc3NPcHRpb25EaXNjYXJkXCJcbn1cblxuQGRlZmluZUJ1aWxkaW5nQmxvY2soe1xuXHRuYW1lOiBcIkRyYWZ0RGF0YUxvc3NEaWFsb2dcIixcblx0bmFtZXNwYWNlOiBcInNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zXCJcbn0pXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEcmFmdERhdGFMb3NzRGlhbG9nQmxvY2sgZXh0ZW5kcyBSdW50aW1lQnVpbGRpbmdCbG9jayB7XG5cdGNvbnN0cnVjdG9yKHByb3BzOiBQcm9wZXJ0aWVzT2Y8RHJhZnREYXRhTG9zc0RpYWxvZ0Jsb2NrPikge1xuXHRcdHN1cGVyKHByb3BzKTtcblx0fVxuXG5cdEBkZWZpbmVSZWZlcmVuY2UoKVxuXHRkYXRhTG9zc0RpYWxvZyE6IFJlZjxEaWFsb2c+O1xuXG5cdEBkZWZpbmVSZWZlcmVuY2UoKVxuXHRvcHRpb25zTGlzdCE6IFJlZjxMaXN0PjtcblxuXHRwcml2YXRlIG9uRGF0YUxvc3NDb25maXJtYXRpb25Gb2xsb3dVcEZ1bmN0aW9uITogKCkgPT4gdm9pZDtcblxuXHRwcml2YXRlIG9uRGF0YUxvc3NDYW5jZWxGb2xsb3dVcEZ1bmN0aW9uITogKCkgPT4gdm9pZDtcblxuXHRwcml2YXRlIGNvbnRyb2xsZXIhOiBEYXRhTG9zc0NvbnRyb2xsZXI7XG5cblx0cHJpdmF0ZSBkYXRhTG9zc1Jlc291cmNlTW9kZWwhOiBSZXNvdXJjZU1vZGVsO1xuXG5cdHByaXZhdGUgc2tpcEJpbmRpbmdUb1ZpZXchOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG5cdC8qKlxuXHQgKiBPcGVucyB0aGUgZGF0YSBsb3NzIGRpYWxvZy5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIGRhdGFMb3NzQ29uZmlybWF0aW9uXG5cdCAqL1xuXHRwcml2YXRlIGRhdGFMb3NzQ29uZmlybWF0aW9uKCkge1xuXHRcdGNvbnN0IHZpZXcgPSB0aGlzLmNvbnRyb2xsZXIuZ2V0VmlldygpO1xuXHRcdHRoaXMuZGF0YUxvc3NSZXNvdXJjZU1vZGVsID0gZ2V0UmVzb3VyY2VNb2RlbCh2aWV3KTtcblx0XHR0aGlzLmdldENvbnRlbnQoKTtcblx0XHRjb25zdCBkYXRhTG9zc0NvbmZpcm0gPSAoKSA9PiB0aGlzLmhhbmRsZURhdGFMb3NzT2soKTtcblx0XHR0aGlzLm9wdGlvbnNMaXN0LmN1cnJlbnQ/LmFkZEV2ZW50RGVsZWdhdGUoe1xuXHRcdFx0b25zYXBlbnRlcjogZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRkYXRhTG9zc0NvbmZpcm0oKTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHR2aWV3LmFkZERlcGVuZGVudCh0aGlzLmRhdGFMb3NzRGlhbG9nLmN1cnJlbnQgYXMgVUk1RWxlbWVudCk7XG5cdFx0dGhpcy5vcGVuRGF0YUxvc3NEaWFsb2coKTtcblx0XHR0aGlzLnNlbGVjdEFuZEZvY3VzRmlyc3RFbnRyeSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEV4ZWN1dGVzIHRoZSBmb2xsb3ctdXAgZnVuY3Rpb24gYW5kIHJlc29sdmVzL3JlamVjdHMgdGhlIHByb21pc2UuXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAbmFtZSBwZXJmb3JtQWZ0ZXJEaXNjYXJkb3JLZWVwRHJhZnRcblx0ICogQHBhcmFtIHByb2Nlc3NGdW5jdGlvbk9uRGF0YWxvc3NPayBDYWxsYmFjayB0byBwcm9jZXNzIHRoZSBkcmFmdCBoYW5kbGVyXG5cdCAqIEBwYXJhbSBwcm9jZXNzRnVuY3Rpb25PbkRhdGFsb3NzQ2FuY2VsIENhbGxiYWNrIHRvIHByb2Nlc3MgdGhlIGNhbmNlbCBmdW5jdGlvblxuXHQgKiBAcGFyYW0gY29udHJvbGxlciBDb250cm9sbGVyIG9mIHRoZSBjdXJyZW50IHZpZXdcblx0ICogQHBhcmFtIHNraXBCaW5kaW5nVG9WaWV3IFRoZSBwYXJhbWV0ZXIgdG8gc2tpcCB0aGUgYmluZGluZyB0byB0aGUgdmlld1xuXHQgKi9cblx0cHVibGljIGFzeW5jIHBlcmZvcm1BZnRlckRpc2NhcmRvcktlZXBEcmFmdChcblx0XHRwcm9jZXNzRnVuY3Rpb25PbkRhdGFsb3NzT2s6IEZ1bmN0aW9uLFxuXHRcdHByb2Nlc3NGdW5jdGlvbk9uRGF0YWxvc3NDYW5jZWw6IEZ1bmN0aW9uLFxuXHRcdGNvbnRyb2xsZXI6IERhdGFMb3NzQ29udHJvbGxlcixcblx0XHRza2lwQmluZGluZ1RvVmlldzogYm9vbGVhbiB8IHVuZGVmaW5lZFxuXHQpIHtcblx0XHR0aGlzLmNvbnRyb2xsZXIgPSBjb250cm9sbGVyO1xuXHRcdHRoaXMuc2tpcEJpbmRpbmdUb1ZpZXcgPSBza2lwQmluZGluZ1RvVmlldztcblx0XHR0aGlzLmRhdGFMb3NzQ29uZmlybWF0aW9uKCk7XG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiAodmFsdWU6IHVua25vd24pID0+IHZvaWQsIHJlamVjdDogKHJlYXNvbj86IHVua25vd24pID0+IHZvaWQpID0+IHtcblx0XHRcdHRoaXMub25EYXRhTG9zc0NvbmZpcm1hdGlvbkZvbGxvd1VwRnVuY3Rpb24gPSAoY29udGV4dD86IENvbnRleHQpID0+IHtcblx0XHRcdFx0Y29uc3QgdmFsdWUgPSBwcm9jZXNzRnVuY3Rpb25PbkRhdGFsb3NzT2soY29udGV4dCk7XG5cdFx0XHRcdHJlc29sdmUodmFsdWUpO1xuXHRcdFx0fTtcblx0XHRcdHRoaXMub25EYXRhTG9zc0NhbmNlbEZvbGxvd1VwRnVuY3Rpb24gPSAoKSA9PiB7XG5cdFx0XHRcdHByb2Nlc3NGdW5jdGlvbk9uRGF0YWxvc3NDYW5jZWwoKTtcblx0XHRcdFx0cmVqZWN0KCk7XG5cdFx0XHR9O1xuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIEV4ZWN1dGVzIHRoZSBsb2dpYyB3aGVuIHRoZSBkYXRhIGxvc3MgZGlhbG9nIGlzIGNvbmZpcm1lZC4gVGhlIHNlbGVjdGlvbiBvZiBhbiBvcHRpb24gcmVzb2x2ZXMgdGhlIHByb21pc2UgYW5kIGxlYWRzIHRvIHRoZVxuXHQgKiBwcm9jZXNzaW5nIG9mIHRoZSBvcmlnaW5hbGx5IHRyaWdnZXJlZCBhY3Rpb24gbGlrZSBlLmcuIGEgYmFjayBuYXZpZ2F0aW9uLlxuXHQgKlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQG5hbWUgaGFuZGxlRGF0YUxvc3NPa1xuXHQgKi9cblx0cHJpdmF0ZSBoYW5kbGVEYXRhTG9zc09rKCkge1xuXHRcdGNvbnN0IHNlbGVjdGVkS2V5ID0gdGhpcy5nZXRTZWxlY3RlZEtleSgpO1xuXHRcdGlmIChzZWxlY3RlZEtleSA9PT0gRHJhZnREYXRhTG9zc09wdGlvbnMuU2F2ZSkge1xuXHRcdFx0dGhpcy5zYXZlRG9jdW1lbnQodGhpcy5jb250cm9sbGVyKVxuXHRcdFx0XHQudGhlbih0aGlzLm9uRGF0YUxvc3NDb25maXJtYXRpb25Gb2xsb3dVcEZ1bmN0aW9uKVxuXHRcdFx0XHQuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHRMb2cuZXJyb3IoXCJFcnJvciB3aGlsZSBzYXZpbmcgZG9jdW1lbnRcIiwgZXJyb3IpO1xuXHRcdFx0XHR9KTtcblx0XHRcdHRoaXMuY2xvc2VEYXRhTG9zc0RpYWxvZygpO1xuXHRcdH0gZWxzZSBpZiAoc2VsZWN0ZWRLZXkgPT09IERyYWZ0RGF0YUxvc3NPcHRpb25zLktlZXApIHtcblx0XHRcdHRoaXMub25EYXRhTG9zc0NvbmZpcm1hdGlvbkZvbGxvd1VwRnVuY3Rpb24oKTtcblx0XHRcdHRoaXMuY2xvc2VEYXRhTG9zc0RpYWxvZygpO1xuXHRcdH0gZWxzZSBpZiAoc2VsZWN0ZWRLZXkgPT09IERyYWZ0RGF0YUxvc3NPcHRpb25zLkRpc2NhcmQpIHtcblx0XHRcdHRoaXMuZGlzY2FyZERyYWZ0KHRoaXMuY29udHJvbGxlciwgdGhpcy5za2lwQmluZGluZ1RvVmlldylcblx0XHRcdFx0LnRoZW4odGhpcy5vbkRhdGFMb3NzQ29uZmlybWF0aW9uRm9sbG93VXBGdW5jdGlvbilcblx0XHRcdFx0LmNhdGNoKGZ1bmN0aW9uIChlcnJvcjogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG5cdFx0XHRcdFx0TG9nLmVycm9yKFwiRXJyb3Igd2hpbGUgZGlzY2FyZGluZyBkcmFmdFwiLCBlcnJvcik7XG5cdFx0XHRcdH0pO1xuXHRcdFx0dGhpcy5jbG9zZURhdGFMb3NzRGlhbG9nKCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEhhbmRsZXIgdG8gY2xvc2UgdGhlIGRhdGFsb3NzIGRpYWxvZy5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIGhhbmRsZURhdGFMb3NzQ2FuY2VsXG5cdCAqL1xuXHRwcml2YXRlIGhhbmRsZURhdGFMb3NzQ2FuY2VsKCkge1xuXHRcdHRoaXMub25EYXRhTG9zc0NhbmNlbEZvbGxvd1VwRnVuY3Rpb24oKTtcblx0XHR0aGlzLmNsb3NlRGF0YUxvc3NEaWFsb2coKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBmb2N1cyBvbiB0aGUgZmlyc3QgbGlzdCBpdGVtIG9mIHRoZSBkaWFsb2cuXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAbmFtZSBzZWxlY3RBbmRGb2N1c0ZpcnN0RW50cnlcblx0ICovXG5cdHByaXZhdGUgc2VsZWN0QW5kRm9jdXNGaXJzdEVudHJ5KCkge1xuXHRcdGNvbnN0IGZpcnN0TGlzdEl0ZW1PcHRpb246IEN1c3RvbUxpc3RJdGVtID0gdGhpcy5vcHRpb25zTGlzdC5jdXJyZW50Py5nZXRJdGVtcygpWzBdIGFzIEN1c3RvbUxpc3RJdGVtO1xuXHRcdHRoaXMub3B0aW9uc0xpc3QuY3VycmVudD8uc2V0U2VsZWN0ZWRJdGVtKGZpcnN0TGlzdEl0ZW1PcHRpb24pO1xuXHRcdC8vIFdlIGRvIG5vdCBzZXQgdGhlIGZvY3VzIG9uIHRoZSBidXR0b24sIGJ1dCBjYXRjaCB0aGUgRU5URVIga2V5IGluIHRoZSBkaWFsb2dcblx0XHQvLyBhbmQgcHJvY2VzcyBpdCBhcyBPaywgc2luY2UgZm9jdXNpbmcgdGhlIGJ1dHRvbiB3YXMgcmVwb3J0ZWQgYXMgYW4gQUNDIGlzc3VlXG5cdFx0Zmlyc3RMaXN0SXRlbU9wdGlvbj8uZm9jdXMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNjYXJkcyB0aGUgZHJhZnQuXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAbmFtZSBkaXNjYXJkRHJhZnRcblx0ICogQHBhcmFtIGNvbnRyb2xsZXIgQ29udHJvbGxlciBvZiB0aGUgY3VycmVudCB2aWV3XG5cdCAqIEBwYXJhbSBza2lwQmluZGluZ1RvVmlldyBUaGUgcGFyYW1ldGVyIHRvIHNraXAgdGhlIGJpbmRpbmcgdG8gdGhlIHZpZXdcblx0ICogQHJldHVybnMgQSBwcm9taXNlIHJlc29sdmVkIGlmIGNhbmNlbERvY3VtZW50IHdhcyBzdWNjZXNzZnVsXG5cdCAqL1xuXHRwdWJsaWMgYXN5bmMgZGlzY2FyZERyYWZ0KGNvbnRyb2xsZXI6IFBhZ2VDb250cm9sbGVyLCBza2lwQmluZGluZ1RvVmlldzogdW5rbm93bikge1xuXHRcdGNvbnN0IGNvbnRleHQgPSBjb250cm9sbGVyLmdldFZpZXcoKS5nZXRCaW5kaW5nQ29udGV4dCgpIGFzIENvbnRleHQ7XG5cdFx0Y29uc3QgcGFyYW1zID0ge1xuXHRcdFx0c2tpcEJhY2tOYXZpZ2F0aW9uOiB0cnVlLFxuXHRcdFx0c2tpcERpc2NhcmRQb3BvdmVyOiB0cnVlLFxuXHRcdFx0c2tpcEJpbmRpbmdUb1ZpZXc6IHNraXBCaW5kaW5nVG9WaWV3ICE9PSB1bmRlZmluZWQgPyBza2lwQmluZGluZ1RvVmlldyA6IHRydWVcblx0XHR9O1xuXHRcdHJldHVybiBjb250cm9sbGVyLmVkaXRGbG93LmNhbmNlbERvY3VtZW50KGNvbnRleHQsIHBhcmFtcyk7XG5cdH1cblxuXHQvKipcblx0ICogU2F2ZXMgdGhlIGRvY3VtZW50LiBJZiB0aGUgY29udHJvbGxlciBpcyBvZiB0eXBlIE9iamVjdFBhZ2UsIHRoZW4gaW50ZXJuYWwgX3NhdmVEb2N1bWVudCBpcyBjYWxsZWQsIG90aGVyd2lzZSBzYXZlRG9jdW1lbnRcblx0ICogZnJvbSBFZGl0RmxvdyBpcyBjYWxsZWQuXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAbmFtZSBzYXZlRG9jdW1lbnRcblx0ICogQHBhcmFtIGNvbnRyb2xsZXIgQ29udHJvbGxlciBvZiB0aGUgY3VycmVudCB2aWV3XG5cdCAqIEByZXR1cm5zIEEgcHJvbWlzZSByZXNvbHZlZCBpZiB0aGUgc2F2ZSB3YXMgc3VjY2Vzc2Z1bFxuXHQgKi9cblx0cHJpdmF0ZSBzYXZlRG9jdW1lbnQoY29udHJvbGxlcjogRGF0YUxvc3NDb250cm9sbGVyKSB7XG5cdFx0Y29uc3QgY29udGV4dCA9IGNvbnRyb2xsZXIuZ2V0VmlldygpLmdldEJpbmRpbmdDb250ZXh0KCkgYXMgQ29udGV4dDtcblx0XHRpZiAoY29udHJvbGxlci5pc0EoXCJzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuT2JqZWN0UGFnZUNvbnRyb2xsZXJcIikpIHtcblx0XHRcdHJldHVybiBjb250cm9sbGVyLl9zYXZlRG9jdW1lbnQoY29udGV4dCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiAoY29udHJvbGxlciBhcyBEYXRhTG9zc0NvbnRyb2xsZXIpLmVkaXRGbG93LnNhdmVEb2N1bWVudChjb250ZXh0LCB7fSk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGtleSBvZiB0aGUgc2VsZWN0ZWQgaXRlbSBmcm9tIHRoZSBsaXN0IG9mIG9wdGlvbnMgdGhhdCB3YXMgc2V0IHZpYSBjdXN0b21EYXRhLlxuXHQgKlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQG5hbWUgZ2V0U2VsZWN0ZWRLZXlcblx0ICogQHJldHVybnMgVGhlIGtleSBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGl0ZW1cblx0ICovXG5cdHByaXZhdGUgZ2V0U2VsZWN0ZWRLZXkoKSB7XG5cdFx0Y29uc3Qgb3B0aW9uc0xpc3QgPSB0aGlzLm9wdGlvbnNMaXN0LmN1cnJlbnQgYXMgTGlzdDtcblx0XHRyZXR1cm4gb3B0aW9uc0xpc3QuZ2V0U2VsZWN0ZWRJdGVtKCkuZGF0YShcIml0ZW1LZXlcIik7XG5cdH1cblxuXHQvKipcblx0ICogSGFuZGxlciB0byBvcGVuIHRoZSBkYXRhbG9zcyBkaWFsb2cuXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAbmFtZSBvcGVuRGF0YUxvc3NEaWFsb2dcblx0ICovXG5cdHByaXZhdGUgb3BlbkRhdGFMb3NzRGlhbG9nKCkge1xuXHRcdHRoaXMuZGF0YUxvc3NEaWFsb2cuY3VycmVudD8ub3BlbigpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEhhbmRsZXIgdG8gY2xvc2UgdGhlIGRhdGFsb3NzIGRpYWxvZy5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIGNsb3NlRGF0YUxvc3NEaWFsb2dcblx0ICovXG5cdHByaXZhdGUgY2xvc2VEYXRhTG9zc0RpYWxvZygpIHtcblx0XHR0aGlzLmRhdGFMb3NzRGlhbG9nLmN1cnJlbnQ/LmNsb3NlKCk7XG5cdFx0dGhpcy5kYXRhTG9zc0RpYWxvZy5jdXJyZW50Py5kZXN0cm95KCk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgY29uZmlybSBidXR0b24uXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAbmFtZSBnZXRDb25maXJtQnV0dG9uXG5cdCAqIEByZXR1cm5zIEEgYnV0dG9uXG5cdCAqL1xuXHRwcml2YXRlIGdldENvbmZpcm1CdXR0b24oKSB7XG5cdFx0cmV0dXJuIChcblx0XHRcdDxCdXR0b25cblx0XHRcdFx0dGV4dD17dGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIkNfQ09NTU9OX0RJQUxPR19PS1wiKX1cblx0XHRcdFx0dHlwZT17XCJFbXBoYXNpemVkXCJ9XG5cdFx0XHRcdHByZXNzPXsoKSA9PiB0aGlzLmhhbmRsZURhdGFMb3NzT2soKX1cblx0XHRcdC8+XG5cdFx0KSBhcyBCdXR0b247XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgY2FuY2VsIGJ1dHRvbi5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIGdldENhbmNlbEJ1dHRvblxuXHQgKiBAcmV0dXJucyBBIGJ1dHRvblxuXHQgKi9cblx0cHJpdmF0ZSBnZXRDYW5jZWxCdXR0b24oKSB7XG5cdFx0cmV0dXJuIChcblx0XHRcdDxCdXR0b24gdGV4dD17dGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIkNfQ09NTU9OX0RJQUxPR19DQU5DRUxcIil9IHByZXNzPXsoKSA9PiB0aGlzLmhhbmRsZURhdGFMb3NzQ2FuY2VsKCl9IC8+XG5cdFx0KSBhcyBCdXR0b247XG5cdH1cblxuXHQvKipcblx0ICogVGhlIGJ1aWxkaW5nIGJsb2NrIHJlbmRlciBmdW5jdGlvbi5cblx0ICpcblx0ICogQHJldHVybnMgQW4gWE1MLWJhc2VkIHN0cmluZ1xuXHQgKi9cblx0Z2V0Q29udGVudCgpIHtcblx0XHRjb25zdCBoYXNBY3RpdmVFbnRpdHkgPSB0aGlzLmNvbnRyb2xsZXIuZ2V0VmlldygpLmdldEJpbmRpbmdDb250ZXh0KCk/LmdldE9iamVjdCgpLkhhc0FjdGl2ZUVudGl0eTtcblx0XHRjb25zdCBkZXNjcmlwdGlvbiA9IGhhc0FjdGl2ZUVudGl0eVxuXHRcdFx0PyB0aGlzLmRhdGFMb3NzUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiU1RfRFJBRlRfREFUQUxPU1NfUE9QVVBfTUVTU0FHRV9TQVZFXCIpXG5cdFx0XHQ6IHRoaXMuZGF0YUxvc3NSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJTVF9EUkFGVF9EQVRBTE9TU19QT1BVUF9NRVNTQUdFX0NSRUFURVwiKTtcblx0XHRjb25zdCBjcmVhdGVPclNhdmVMYWJlbCA9IGhhc0FjdGl2ZUVudGl0eVxuXHRcdFx0PyB0aGlzLmRhdGFMb3NzUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiU1RfRFJBRlRfREFUQUxPU1NfU0FWRV9EUkFGVF9SQkxcIilcblx0XHRcdDogdGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlNUX0RSQUZUX0RBVEFMT1NTX0NSRUFURV9FTlRJVFlfUkJMXCIpO1xuXHRcdGNvbnN0IGNyZWF0ZU9yU2F2ZVRleHQgPSBoYXNBY3RpdmVFbnRpdHlcblx0XHRcdD8gdGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlNUX0RSQUZUX0RBVEFMT1NTX1NBVkVfRFJBRlRfVE9MXCIpXG5cdFx0XHQ6IHRoaXMuZGF0YUxvc3NSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJTVF9EUkFGVF9EQVRBTE9TU19DUkVBVEVfRU5USVRZX1RPTFwiKTtcblx0XHRyZXR1cm4gKFxuXHRcdFx0PERpYWxvZ1xuXHRcdFx0XHR0aXRsZT17dGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIldBUk5JTkdcIil9XG5cdFx0XHRcdHN0YXRlPXtWYWx1ZVN0YXRlLldhcm5pbmd9XG5cdFx0XHRcdHR5cGU9e1wiTWVzc2FnZVwifVxuXHRcdFx0XHRjb250ZW50V2lkdGg9e1wiMjJyZW1cIn1cblx0XHRcdFx0cmVmPXt0aGlzLmRhdGFMb3NzRGlhbG9nfVxuXHRcdFx0PlxuXHRcdFx0XHR7e1xuXHRcdFx0XHRcdGNvbnRlbnQ6IChcblx0XHRcdFx0XHRcdDw+XG5cdFx0XHRcdFx0XHRcdDxUZXh0IHRleHQ9e2Rlc2NyaXB0aW9ufSBjbGFzcz1cInNhcFVpVGlueU1hcmdpbkJlZ2luIHNhcFVpVGlueU1hcmdpblRvcEJvdHRvbVwiIC8+XG5cdFx0XHRcdFx0XHRcdDxMaXN0XG5cdFx0XHRcdFx0XHRcdFx0bW9kZT1cIlNpbmdsZVNlbGVjdExlZnRcIlxuXHRcdFx0XHRcdFx0XHRcdHNob3dTZXBhcmF0b3JzPVwiTm9uZVwiXG5cdFx0XHRcdFx0XHRcdFx0aW5jbHVkZUl0ZW1JblNlbGVjdGlvbj1cInRydWVcIlxuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmREZXNpZ249XCJUcmFuc3BhcmVudFwiXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJzYXBVaU5vQ29udGVudFBhZGRpbmdcIlxuXHRcdFx0XHRcdFx0XHRcdHJlZj17dGhpcy5vcHRpb25zTGlzdH1cblx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHRcdDxDdXN0b21MaXN0SXRlbSBjdXN0b21EYXRhPXtbbmV3IEN1c3RvbURhdGEoeyBrZXk6IFwiaXRlbUtleVwiLCB2YWx1ZTogXCJkcmFmdERhdGFMb3NzT3B0aW9uU2F2ZVwiIH0pXX0+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8VkJveCBjbGFzcz1cInNhcFVpVGlueU1hcmdpblwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8TGFiZWwgdGV4dD17Y3JlYXRlT3JTYXZlTGFiZWx9IGRlc2lnbj1cIkJvbGRcIiAvPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8VGV4dCB0ZXh0PXtjcmVhdGVPclNhdmVUZXh0fSAvPlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9WQm94PlxuXHRcdFx0XHRcdFx0XHRcdDwvQ3VzdG9tTGlzdEl0ZW0+XG5cdFx0XHRcdFx0XHRcdFx0PEN1c3RvbUxpc3RJdGVtIGN1c3RvbURhdGE9e1tuZXcgQ3VzdG9tRGF0YSh7IGtleTogXCJpdGVtS2V5XCIsIHZhbHVlOiBcImRyYWZ0RGF0YUxvc3NPcHRpb25LZWVwXCIgfSldfT5cblx0XHRcdFx0XHRcdFx0XHRcdDxWQm94IGNsYXNzPVwic2FwVWlUaW55TWFyZ2luXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxMYWJlbFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRleHQ9e3RoaXMuZGF0YUxvc3NSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJTVF9EUkFGVF9EQVRBTE9TU19LRUVQX0RSQUZUX1JCTFwiKX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkZXNpZ249XCJCb2xkXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Lz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PFRleHQgdGV4dD17dGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlNUX0RSQUZUX0RBVEFMT1NTX0tFRVBfRFJBRlRfVE9MXCIpfSAvPlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9WQm94PlxuXHRcdFx0XHRcdFx0XHRcdDwvQ3VzdG9tTGlzdEl0ZW0+XG5cdFx0XHRcdFx0XHRcdFx0PEN1c3RvbUxpc3RJdGVtIGN1c3RvbURhdGE9e1tuZXcgQ3VzdG9tRGF0YSh7IGtleTogXCJpdGVtS2V5XCIsIHZhbHVlOiBcImRyYWZ0RGF0YUxvc3NPcHRpb25EaXNjYXJkXCIgfSldfT5cblx0XHRcdFx0XHRcdFx0XHRcdDxWQm94IGNsYXNzPVwic2FwVWlUaW55TWFyZ2luXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxMYWJlbFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRleHQ9e3RoaXMuZGF0YUxvc3NSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJTVF9EUkFGVF9EQVRBTE9TU19ESVNDQVJEX0RSQUZUX1JCTFwiKX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkZXNpZ249XCJCb2xkXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Lz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PFRleHQgdGV4dD17dGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlNUX0RSQUZUX0RBVEFMT1NTX0RJU0NBUkRfRFJBRlRfVE9MXCIpfSAvPlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9WQm94PlxuXHRcdFx0XHRcdFx0XHRcdDwvQ3VzdG9tTGlzdEl0ZW0+XG5cdFx0XHRcdFx0XHRcdDwvTGlzdD5cblx0XHRcdFx0XHRcdDwvPlxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0YnV0dG9uczogKFxuXHRcdFx0XHRcdFx0PD5cblx0XHRcdFx0XHRcdFx0Y29uZmlybUJ1dHRvbiA9IHt0aGlzLmdldENvbmZpcm1CdXR0b24oKX1cblx0XHRcdFx0XHRcdFx0Y2FuY2VsQnV0dG9uID0ge3RoaXMuZ2V0Q2FuY2VsQnV0dG9uKCl9XG5cdFx0XHRcdFx0XHQ8Lz5cblx0XHRcdFx0XHQpXG5cdFx0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
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define(["sap/base/Log","sap/fe/core/buildingBlocks/BuildingBlockSupport","sap/fe/core/buildingBlocks/RuntimeBuildingBlock","sap/fe/core/helpers/ClassSupport","sap/fe/core/helpers/ResourceModelHelper","sap/m/Button","sap/m/CustomListItem","sap/m/Dialog","sap/m/Label","sap/m/List","sap/m/Text","sap/m/VBox","sap/ui/core/CustomData","sap/ui/core/library","sap/fe/core/jsx-runtime/jsx","sap/fe/core/jsx-runtime/jsxs","sap/fe/core/jsx-runtime/Fragment"],function(e,t,o,i,s,n,a,r,l,c,u,d,p,D,f,g,h){"use strict";var L,T,_,m,v,A,S;var R={};var O=D.ValueState;var b=s.getResourceModel;var y=i.defineReference;var C=t.defineBuildingBlock;function F(e,t,o,i){if(!o)return;Object.defineProperty(e,t,{enumerable:o.enumerable,configurable:o.configurable,writable:o.writable,value:o.initializer?o.initializer.call(i):void 0})}function x(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function B(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;w(e,t)}function w(e,t){w=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(t,o){t.__proto__=o;return t};return w(e,t)}function E(e,t,o,i,s){var n={};Object.keys(i).forEach(function(e){n[e]=i[e]});n.enumerable=!!n.enumerable;n.configurable=!!n.configurable;if("value"in n||n.initializer){n.writable=true}n=o.slice().reverse().reduce(function(o,i){return i(e,t,o)||o},n);if(s&&n.initializer!==void 0){n.value=n.initializer?n.initializer.call(s):void 0;n.initializer=undefined}if(n.initializer===void 0){Object.defineProperty(e,t,n);n=null}return n}function M(e,t){throw new Error("Decorating class property failed. Please ensure that "+"proposal-class-properties is enabled and runs after the decorators transform.")}var k;(function(e){e["Save"]="draftDataLossOptionSave";e["Keep"]="draftDataLossOptionKeep";e["Discard"]="draftDataLossOptionDiscard"})(k||(k={}));let P=(L=C({name:"DraftDataLossDialog",namespace:"sap.fe.core.controllerextensions"}),T=y(),_=y(),L(m=(v=function(t){B(o,t);function o(e){var o;o=t.call(this,e)||this;F(o,"dataLossDialog",A,x(o));F(o,"optionsList",S,x(o));return o}R=o;var i=o.prototype;i.dataLossConfirmation=function e(){var t;const o=this.controller.getView();this.dataLossResourceModel=b(o);this.getContent();const i=()=>this.handleDataLossOk();(t=this.optionsList.current)===null||t===void 0?void 0:t.addEventDelegate({onsapenter:function(){i()}});o.addDependent(this.dataLossDialog.current);this.openDataLossDialog();this.selectAndFocusFirstEntry()};i.performAfterDiscardorKeepDraft=async function e(t,o,i,s){this.controller=i;this.skipBindingToView=s;this.dataLossConfirmation();return new Promise((e,i)=>{this.onDataLossConfirmationFollowUpFunction=o=>{const i=t(o);e(i)};this.onDataLossCancelFollowUpFunction=()=>{o();i()}})};i.handleDataLossOk=function t(){const o=this.getSelectedKey();if(o===k.Save){this.saveDocument(this.controller).then(this.onDataLossConfirmationFollowUpFunction).catch(function(t){e.error("Error while saving document",t)});this.closeDataLossDialog()}else if(o===k.Keep){this.onDataLossConfirmationFollowUpFunction();this.closeDataLossDialog()}else if(o===k.Discard){this.discardDraft(this.controller,this.skipBindingToView).then(this.onDataLossConfirmationFollowUpFunction).catch(function(t){e.error("Error while discarding draft",t)});this.closeDataLossDialog()}};i.handleDataLossCancel=function e(){this.onDataLossCancelFollowUpFunction();this.closeDataLossDialog()};i.selectAndFocusFirstEntry=function e(){var t,o;const i=(t=this.optionsList.current)===null||t===void 0?void 0:t.getItems()[0];(o=this.optionsList.current)===null||o===void 0?void 0:o.setSelectedItem(i);i===null||i===void 0?void 0:i.focus()};i.discardDraft=async function e(t,o){const i=t.getView().getBindingContext();const s={skipBackNavigation:true,skipDiscardPopover:true,skipBindingToView:o!==undefined?o:true};return t.editFlow.cancelDocument(i,s)};i.saveDocument=function e(t){const o=t.getView().getBindingContext();if(t.isA("sap.fe.templates.ObjectPage.ObjectPageController")){return t._saveDocument(o)}else{return t.editFlow.saveDocument(o,{})}};i.getSelectedKey=function e(){const t=this.optionsList.current;return t.getSelectedItem().data("itemKey")};i.openDataLossDialog=function e(){var t;(t=this.dataLossDialog.current)===null||t===void 0?void 0:t.open()};i.closeDataLossDialog=function e(){var t,o;(t=this.dataLossDialog.current)===null||t===void 0?void 0:t.close();(o=this.dataLossDialog.current)===null||o===void 0?void 0:o.destroy()};i.getConfirmButton=function e(){return f(n,{text:this.dataLossResourceModel.getText("C_COMMON_DIALOG_OK"),type:"Emphasized",press:()=>this.handleDataLossOk()})};i.getCancelButton=function e(){return f(n,{text:this.dataLossResourceModel.getText("C_COMMON_DIALOG_CANCEL"),press:()=>this.handleDataLossCancel()})};i.getContent=function e(){var t;const o=(t=this.controller.getView().getBindingContext())===null||t===void 0?void 0:t.getObject().HasActiveEntity;const i=o?this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_POPUP_MESSAGE_SAVE"):this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_POPUP_MESSAGE_CREATE");const s=o?this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_SAVE_DRAFT_RBL"):this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_CREATE_ENTITY_RBL");const n=o?this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_SAVE_DRAFT_TOL"):this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_CREATE_ENTITY_TOL");return f(r,{title:this.dataLossResourceModel.getText("WARNING"),state:O.Warning,type:"Message",contentWidth:"22rem",ref:this.dataLossDialog,children:{content:g(h,{children:[f(u,{text:i,class:"sapUiTinyMarginBegin sapUiTinyMarginTopBottom"}),g(c,{mode:"SingleSelectLeft",showSeparators:"None",includeItemInSelection:"true",backgroundDesign:"Transparent",class:"sapUiNoContentPadding",ref:this.optionsList,children:[f(a,{customData:[new p({key:"itemKey",value:"draftDataLossOptionSave"})],children:g(d,{class:"sapUiTinyMargin",children:[f(l,{text:s,design:"Bold"}),f(u,{text:n})]})}),f(a,{customData:[new p({key:"itemKey",value:"draftDataLossOptionKeep"})],children:g(d,{class:"sapUiTinyMargin",children:[f(l,{text:this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_KEEP_DRAFT_RBL"),design:"Bold"}),f(u,{text:this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_KEEP_DRAFT_TOL")})]})}),f(a,{customData:[new p({key:"itemKey",value:"draftDataLossOptionDiscard"})],children:g(d,{class:"sapUiTinyMargin",children:[f(l,{text:this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_DISCARD_DRAFT_RBL"),design:"Bold"}),f(u,{text:this.dataLossResourceModel.getText("ST_DRAFT_DATALOSS_DISCARD_DRAFT_TOL")})]})})]})]}),buttons:g(h,{children:["confirmButton = ",this.getConfirmButton(),"cancelButton = ",this.getCancelButton()]})}})};return o}(o),A=E(v.prototype,"dataLossDialog",[T],{configurable:true,enumerable:true,writable:true,initializer:null}),S=E(v.prototype,"optionsList",[_],{configurable:true,enumerable:true,writable:true,initializer:null}),v))||m);R=P;return R},false);
|
|
6
|
+
//# sourceMappingURL=DraftDataLossDialog.block.js.map
|