@sapui5/sap.fe.core 1.111.1 → 1.112.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/fe/core/.library +1 -1
- package/src/sap/fe/core/ActionRuntime-dbg.js +4 -4
- package/src/sap/fe/core/ActionRuntime.js +1 -1
- package/src/sap/fe/core/ActionRuntime.js.map +1 -1
- package/src/sap/fe/core/ActionRuntime.ts +11 -11
- package/src/sap/fe/core/AppComponent-dbg.js +27 -5
- package/src/sap/fe/core/AppComponent.js +1 -1
- package/src/sap/fe/core/AppComponent.js.map +1 -1
- package/src/sap/fe/core/AppComponent.ts +58 -3
- package/src/sap/fe/core/AppStateHandler-dbg.js +5 -2
- package/src/sap/fe/core/AppStateHandler.js +1 -1
- package/src/sap/fe/core/AppStateHandler.js.map +1 -1
- package/src/sap/fe/core/AppStateHandler.ts +10 -1
- package/src/sap/fe/core/BaseController-dbg.js +1 -1
- package/src/sap/fe/core/BaseController.ts +2 -1
- package/src/sap/fe/core/CommonUtils-dbg.js +152 -365
- package/src/sap/fe/core/CommonUtils.js +1 -1
- package/src/sap/fe/core/CommonUtils.js.map +1 -1
- package/src/sap/fe/core/CommonUtils.ts +201 -478
- package/src/sap/fe/core/ExtensionAPI-dbg.js +2 -1
- package/src/sap/fe/core/ExtensionAPI.js +1 -1
- package/src/sap/fe/core/ExtensionAPI.js.map +1 -1
- package/src/sap/fe/core/ExtensionAPI.ts +9 -1
- package/src/sap/fe/core/PageController-dbg.js +26 -31
- package/src/sap/fe/core/PageController.js +1 -1
- package/src/sap/fe/core/PageController.js.map +1 -1
- package/src/sap/fe/core/PageController.ts +17 -3
- package/src/sap/fe/core/ResourceModel-dbg.js +71 -0
- package/src/sap/fe/core/ResourceModel.js +6 -0
- package/src/sap/fe/core/ResourceModel.js.map +1 -0
- package/src/sap/fe/core/ResourceModel.ts +67 -0
- package/src/sap/fe/core/TemplateComponent-dbg.js +1 -1
- package/src/sap/fe/core/TemplateComponent.ts +1 -0
- package/src/sap/fe/core/TemplateModel-dbg.js +1 -1
- package/src/sap/fe/core/TemplateModel.ts +6 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel-dbg.js +5 -7
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +6 -5
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase-dbg.js +163 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +6 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +169 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport-dbg.js +88 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js +6 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.ts +147 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor-dbg.js +905 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js +21 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/{BuildingBlockRuntime.ts → BuildingBlockTemplateProcessor.ts} +290 -362
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock-dbg.js +79 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js +15 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.ts +68 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment-dbg.js +162 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js +6 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.ts +181 -0
- package/src/sap/fe/core/buildingBlocks/TraceInfo-dbg.js +4 -2
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js +1 -1
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +5 -3
- package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +890 -220
- package/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
- package/src/sap/fe/core/controllerextensions/EditFlow.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +974 -239
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +24 -34
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +71 -61
- package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +14 -17
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
- package/src/sap/fe/core/controllerextensions/InternalRouting.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +23 -17
- package/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +1 -1
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +2 -0
- package/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +3 -3
- package/src/sap/fe/core/controllerextensions/MassEdit.js +1 -1
- package/src/sap/fe/core/controllerextensions/MassEdit.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/MassEdit.ts +2 -2
- package/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +2 -1
- package/src/sap/fe/core/controllerextensions/MessageHandler.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +2 -0
- package/src/sap/fe/core/controllerextensions/PageReady-dbg.js +1 -1
- package/src/sap/fe/core/controllerextensions/PageReady.ts +24 -0
- package/src/sap/fe/core/controllerextensions/Paginator-dbg.js +2 -1
- package/src/sap/fe/core/controllerextensions/Paginator.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/Paginator.ts +7 -0
- package/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +1 -1
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +8 -0
- package/src/sap/fe/core/controllerextensions/Share-dbg.js +8 -1
- package/src/sap/fe/core/controllerextensions/Share.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/Share.ts +11 -0
- package/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +14 -13
- package/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
- package/src/sap/fe/core/controllerextensions/SideEffects.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +27 -27
- package/src/sap/fe/core/controllerextensions/ViewState-dbg.js +17 -8
- package/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
- package/src/sap/fe/core/controllerextensions/ViewState.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/ViewState.ts +35 -14
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase-dbg.js +6 -5
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +7 -4
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync-dbg.js +285 -82
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +326 -89
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon-dbg.js +23 -2
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +32 -3
- package/src/sap/fe/core/controllerextensions/collaboration/Manage-dbg.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +2 -3
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +17 -3
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block-dbg.js +65 -34
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js +1 -1
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.tsx +33 -18
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +45 -31
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +52 -42
- package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +44 -49
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +43 -63
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal-dbg.js +77 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js +6 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.ts +114 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade-dbg.js +1505 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +6 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +1985 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations-dbg.js +3 -1415
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +2 -1921
- package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +10 -11
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +9 -13
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +43 -41
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +1 -1
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +44 -47
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher-dbg.js +12 -1
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.ts +19 -0
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy-dbg.js +12 -13
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +1 -1
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +32 -13
- package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +4 -1
- package/src/sap/fe/core/controls/CommandExecution-dbg.js +16 -5
- package/src/sap/fe/core/controls/CommandExecution.js +1 -1
- package/src/sap/fe/core/controls/CommandExecution.js.map +1 -1
- package/src/sap/fe/core/controls/CommandExecution.ts +15 -3
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +3 -2
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +1 -1
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js.map +1 -1
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +4 -1
- package/src/sap/fe/core/controls/FilterBar-dbg.js +1 -1
- package/src/sap/fe/core/controls/FilterBar.ts +5 -0
- package/src/sap/fe/core/controls/FormElementWrapper-dbg.js +1 -1
- package/src/sap/fe/core/controls/FormElementWrapper.ts +3 -0
- package/src/sap/fe/core/controls/filterbar/FilterContainer-dbg.js +1 -1
- package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +7 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +1 -1
- package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +4 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer-dbg.js +1 -1
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +10 -0
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +4 -3
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +1 -1
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js.map +1 -1
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +3 -2
- package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +0 -1
- package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +2 -0
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers-dbg.js +6 -1
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +1 -1
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js.map +1 -1
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +5 -0
- package/src/sap/fe/core/converters/ConverterContext-dbg.js +1 -1
- package/src/sap/fe/core/converters/ConverterContext.ts +2 -1
- package/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -8
- package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.js.map +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +15 -6
- package/src/sap/fe/core/converters/ManifestWrapper-dbg.js +17 -1
- package/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
- package/src/sap/fe/core/converters/ManifestWrapper.js.map +1 -1
- package/src/sap/fe/core/converters/ManifestWrapper.ts +16 -0
- package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +61 -49
- package/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
- package/src/sap/fe/core/converters/MetaModelConverter.js.map +1 -1
- package/src/sap/fe/core/converters/MetaModelConverter.ts +65 -51
- package/src/sap/fe/core/converters/TemplateConverter-dbg.js +2 -1
- package/src/sap/fe/core/converters/TemplateConverter.js.map +1 -1
- package/src/sap/fe/core/converters/TemplateConverter.ts +2 -1
- package/src/sap/fe/core/converters/annotations/DataField-dbg.js +65 -16
- package/src/sap/fe/core/converters/annotations/DataField.js +1 -1
- package/src/sap/fe/core/converters/annotations/DataField.js.map +1 -1
- package/src/sap/fe/core/converters/annotations/DataField.ts +62 -18
- package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +1010 -957
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
- package/src/sap/fe/core/converters/common/AnnotationConverter.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action-dbg.js +8 -8
- package/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action.ts +28 -26
- package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +95 -33
- package/src/sap/fe/core/converters/controls/Common/Chart.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Chart.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +133 -49
- package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +99 -62
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +140 -75
- package/src/sap/fe/core/converters/controls/Common/Form-dbg.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Form.ts +3 -3
- package/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +6 -6
- package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/KPI.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +15 -15
- package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +97 -69
- package/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Table.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Table.ts +161 -137
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +3 -3
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +10 -9
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +48 -44
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +130 -86
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +34 -26
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +62 -45
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar-dbg.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet-dbg.js +6 -6
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +5 -8
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +34 -13
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +54 -20
- package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +3 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +8 -0
- package/src/sap/fe/core/converters/helpers/ConfigurableObject-dbg.js +7 -6
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +1 -1
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +19 -10
- package/src/sap/fe/core/converters/helpers/DataFieldHelper-dbg.js +1 -1
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +7 -2
- package/src/sap/fe/core/converters/helpers/ID-dbg.js +1 -1
- package/src/sap/fe/core/converters/helpers/ID.ts +2 -1
- package/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +9 -8
- package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
- package/src/sap/fe/core/converters/helpers/IssueManager.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/IssueManager.ts +8 -7
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +8 -7
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +1 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js.map +1 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +9 -6
- package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +25 -33
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
- package/src/sap/fe/core/converters/templates/ListReportConverter.js.map +1 -1
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +35 -35
- package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +11 -4
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +1 -1
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js.map +1 -1
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +7 -1
- package/src/sap/fe/core/formatters/FPMFormatter-dbg.js +1 -1
- package/src/sap/fe/core/formatters/FPMFormatter.ts +1 -1
- package/src/sap/fe/core/formatters/FiscalFormat-dbg.js +2 -2
- package/src/sap/fe/core/formatters/FiscalFormat.ts +6 -1
- package/src/sap/fe/core/formatters/TableFormatter-dbg.js +2 -2
- package/src/sap/fe/core/formatters/TableFormatter.js +1 -1
- package/src/sap/fe/core/formatters/TableFormatter.js.map +1 -1
- package/src/sap/fe/core/formatters/TableFormatter.ts +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +5 -5
- package/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter.js.map +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter.ts +6 -4
- package/src/sap/fe/core/fpm/Component-dbg.js +1 -1
- package/src/sap/fe/core/fpm/Component.ts +1 -0
- package/src/sap/fe/core/fpm/manifest.json +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper-dbg.js +2 -2
- package/src/sap/fe/core/helpers/AppStartupHelper.js +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +6 -6
- package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit.ts +8 -8
- package/src/sap/fe/core/helpers/ClassSupport-dbg.js +1 -1
- package/src/sap/fe/core/helpers/ClassSupport.js.map +1 -1
- package/src/sap/fe/core/helpers/ClassSupport.ts +1 -0
- package/src/sap/fe/core/helpers/DeleteHelper-dbg.js +93 -62
- package/src/sap/fe/core/helpers/DeleteHelper.js +1 -1
- package/src/sap/fe/core/helpers/DeleteHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/DeleteHelper.ts +140 -185
- package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +20 -18
- package/src/sap/fe/core/helpers/MassEditHelper.js +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper.ts +22 -23
- package/src/sap/fe/core/helpers/MessageStrip-dbg.js +4 -5
- package/src/sap/fe/core/helpers/MessageStrip.js +1 -1
- package/src/sap/fe/core/helpers/MessageStrip.js.map +1 -1
- package/src/sap/fe/core/helpers/MessageStrip.ts +4 -4
- package/src/sap/fe/core/helpers/MetaModelFunction-dbg.js +354 -0
- package/src/sap/fe/core/helpers/MetaModelFunction.js +6 -0
- package/src/sap/fe/core/helpers/MetaModelFunction.js.map +1 -0
- package/src/sap/fe/core/helpers/MetaModelFunction.ts +408 -0
- package/src/sap/fe/core/helpers/ModelHelper-dbg.js +13 -13
- package/src/sap/fe/core/helpers/ModelHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/ModelHelper.ts +13 -13
- package/src/sap/fe/core/helpers/PasteHelper-dbg.js +5 -5
- package/src/sap/fe/core/helpers/PasteHelper.js +1 -1
- package/src/sap/fe/core/helpers/PasteHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/PasteHelper.ts +6 -10
- package/src/sap/fe/core/helpers/ResourceModelHelper-dbg.js +26 -0
- package/src/sap/fe/core/helpers/ResourceModelHelper.js +6 -0
- package/src/sap/fe/core/helpers/ResourceModelHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/ResourceModelHelper.ts +19 -0
- package/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +93 -18
- package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.js.map +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.ts +70 -17
- package/src/sap/fe/core/helpers/SemanticKeyHelper-dbg.js +2 -2
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +1 -1
- package/src/sap/fe/core/helpers/Synchronization-dbg.js +1 -1
- package/src/sap/fe/core/helpers/Synchronization.ts +2 -0
- package/src/sap/fe/core/helpers/TypeGuards-dbg.js +5 -1
- package/src/sap/fe/core/helpers/TypeGuards.js +1 -1
- package/src/sap/fe/core/helpers/TypeGuards.js.map +1 -1
- package/src/sap/fe/core/helpers/TypeGuards.ts +12 -1
- package/src/sap/fe/core/jsx-runtime/ViewLoader-dbg.js +2 -1
- package/src/sap/fe/core/jsx-runtime/ViewLoader.js.map +1 -1
- package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +6 -2
- package/src/sap/fe/core/jsx-runtime/jsx-control-dbg.js +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx-control.ts +3 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents-dbg.js +3 -3
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +1 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.js.map +1 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +1 -1
- package/src/sap/fe/core/library-dbg.js +2 -2
- package/src/sap/fe/core/library-preload.js +127 -125
- package/src/sap/fe/core/library-preload.js.map +1 -1
- package/src/sap/fe/core/library.js +1 -1
- package/src/sap/fe/core/library.ts +7 -0
- package/src/sap/fe/core/manifest.json +1 -1
- package/src/sap/fe/core/messagebundle.properties +33 -0
- package/src/sap/fe/core/messagebundle_ar.properties +12 -10
- package/src/sap/fe/core/messagebundle_bg.properties +11 -9
- package/src/sap/fe/core/messagebundle_ca.properties +11 -9
- package/src/sap/fe/core/messagebundle_cs.properties +11 -9
- package/src/sap/fe/core/messagebundle_cy.properties +11 -9
- package/src/sap/fe/core/messagebundle_da.properties +11 -9
- package/src/sap/fe/core/messagebundle_de.properties +3 -1
- package/src/sap/fe/core/messagebundle_el.properties +11 -9
- package/src/sap/fe/core/messagebundle_en.properties +3 -1
- package/src/sap/fe/core/messagebundle_en_GB.properties +2 -0
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +2 -0
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +20 -0
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +21 -3
- package/src/sap/fe/core/messagebundle_es.properties +11 -9
- package/src/sap/fe/core/messagebundle_es_MX.properties +11 -9
- package/src/sap/fe/core/messagebundle_et.properties +11 -9
- package/src/sap/fe/core/messagebundle_fi.properties +11 -9
- package/src/sap/fe/core/messagebundle_fr.properties +11 -9
- package/src/sap/fe/core/messagebundle_fr_CA.properties +3 -1
- package/src/sap/fe/core/messagebundle_hi.properties +2 -0
- package/src/sap/fe/core/messagebundle_hr.properties +11 -9
- package/src/sap/fe/core/messagebundle_hu.properties +11 -9
- package/src/sap/fe/core/messagebundle_id.properties +3 -1
- package/src/sap/fe/core/messagebundle_it.properties +11 -9
- package/src/sap/fe/core/messagebundle_iw.properties +11 -9
- package/src/sap/fe/core/messagebundle_ja.properties +11 -9
- package/src/sap/fe/core/messagebundle_kk.properties +11 -9
- package/src/sap/fe/core/messagebundle_ko.properties +2 -0
- package/src/sap/fe/core/messagebundle_lt.properties +11 -9
- package/src/sap/fe/core/messagebundle_lv.properties +2 -0
- package/src/sap/fe/core/messagebundle_ms.properties +12 -10
- package/src/sap/fe/core/messagebundle_nl.properties +12 -10
- package/src/sap/fe/core/messagebundle_no.properties +11 -9
- package/src/sap/fe/core/messagebundle_pl.properties +2 -0
- package/src/sap/fe/core/messagebundle_pt.properties +11 -9
- package/src/sap/fe/core/messagebundle_pt_PT.properties +11 -9
- package/src/sap/fe/core/messagebundle_ro.properties +3 -1
- package/src/sap/fe/core/messagebundle_ru.properties +3 -1
- package/src/sap/fe/core/messagebundle_sh.properties +11 -9
- package/src/sap/fe/core/messagebundle_sk.properties +11 -9
- package/src/sap/fe/core/messagebundle_sl.properties +11 -9
- package/src/sap/fe/core/messagebundle_sv.properties +2 -0
- package/src/sap/fe/core/messagebundle_th.properties +11 -9
- package/src/sap/fe/core/messagebundle_tr.properties +11 -9
- package/src/sap/fe/core/messagebundle_uk.properties +11 -9
- package/src/sap/fe/core/messagebundle_vi.properties +12 -10
- package/src/sap/fe/core/messagebundle_zh_CN.properties +2 -0
- package/src/sap/fe/core/messagebundle_zh_TW.properties +2 -0
- package/src/sap/fe/core/operationsHelper-dbg.js +70 -44
- package/src/sap/fe/core/operationsHelper.js +1 -1
- package/src/sap/fe/core/operationsHelper.js.map +1 -1
- package/src/sap/fe/core/operationsHelper.ts +88 -63
- package/src/sap/fe/core/rootView/Fcl-dbg.controller.js +1 -1
- package/src/sap/fe/core/rootView/Fcl.controller.ts +10 -0
- package/src/sap/fe/core/rootView/NavContainer-dbg.controller.js +2 -2
- package/src/sap/fe/core/rootView/NavContainer.controller.js +1 -1
- package/src/sap/fe/core/rootView/NavContainer.controller.js.map +1 -1
- package/src/sap/fe/core/rootView/NavContainer.controller.ts +5 -3
- package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +4 -3
- package/src/sap/fe/core/rootView/RootViewBaseController.js +1 -1
- package/src/sap/fe/core/rootView/RootViewBaseController.js.map +1 -1
- package/src/sap/fe/core/rootView/RootViewBaseController.ts +15 -5
- package/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +3 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +15 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +4 -1
- package/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +9 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +19 -1
- package/src/sap/fe/core/services/ResourceModelServiceFactory-dbg.js +2 -2
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js +1 -1
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +10 -3
- package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +3 -3
- package/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
- package/src/sap/fe/core/services/RoutingServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +29 -3
- package/src/sap/fe/core/services/ShellServicesFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/ShellServicesFactory.ts +14 -2
- package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +448 -279
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +502 -333
- package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +18 -5
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +41 -12
- package/src/sap/fe/core/support/Diagnostics-dbg.js +1 -1
- package/src/sap/fe/core/support/Diagnostics.ts +5 -0
- package/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +185 -86
- package/src/sap/fe/core/templating/DataModelPathHelper.js +1 -1
- package/src/sap/fe/core/templating/DataModelPathHelper.js.map +1 -1
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +190 -82
- package/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper-dbg.js +2 -3
- package/src/sap/fe/core/templating/EntitySetHelper.js +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper.js.map +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper.ts +1 -3
- package/src/sap/fe/core/templating/FilterHelper-dbg.js +3 -3
- package/src/sap/fe/core/templating/FilterHelper.js +1 -1
- package/src/sap/fe/core/templating/FilterHelper.js.map +1 -1
- package/src/sap/fe/core/templating/FilterHelper.ts +5 -3
- package/src/sap/fe/core/templating/PropertyHelper-dbg.js +1 -1
- package/src/sap/fe/core/templating/PropertyHelper.ts +2 -2
- package/src/sap/fe/core/templating/UIFormatters-dbg.js +1 -1
- package/src/sap/fe/core/templating/UIFormatters.ts +4 -0
- package/src/sap/fe/core/type/DateTimeWithTimezone-dbg.js +1 -1
- package/src/sap/fe/core/type/DateTimeWithTimezone.ts +2 -0
- package/src/sap/fe/core/type/FiscalDate-dbg.js +2 -2
- package/src/sap/fe/core/type/FiscalDate.js.map +1 -1
- package/src/sap/fe/core/type/FiscalDate.ts +2 -1
- package/src/sap/fe/core/type/TypeUtil-dbg.js +5 -10
- package/src/sap/fe/core/type/TypeUtil.js +1 -1
- package/src/sap/fe/core/type/TypeUtil.js.map +1 -1
- package/src/sap/fe/core/type/TypeUtil.ts +3 -6
- package/src/sap/fe/core/buildingBlocks/BuildingBlock-dbg.js +0 -410
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +0 -15
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js.map +0 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +0 -536
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment-dbg.js +0 -44
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js +0 -6
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js.map +0 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.ts +0 -14
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime-dbg.js +0 -948
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +0 -19
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +0 -711
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +0 -6
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +0 -863
- package/src/sap/fe/core/controls/ConditionalWrapper-dbg.js +0 -151
- package/src/sap/fe/core/controls/ConditionalWrapper.js +0 -6
- package/src/sap/fe/core/controls/ConditionalWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/ConditionalWrapper.ts +0 -88
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper-dbg.js +0 -330
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +0 -6
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +0 -292
- package/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +0 -126
- package/src/sap/fe/core/controls/CustomQuickViewPage.js +0 -6
- package/src/sap/fe/core/controls/CustomQuickViewPage.js.map +0 -1
- package/src/sap/fe/core/controls/CustomQuickViewPage.ts +0 -105
- package/src/sap/fe/core/controls/FieldWrapper-dbg.js +0 -194
- package/src/sap/fe/core/controls/FieldWrapper.js +0 -6
- package/src/sap/fe/core/controls/FieldWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/FieldWrapper.ts +0 -121
- package/src/sap/fe/core/controls/FileWrapper-dbg.js +0 -280
- package/src/sap/fe/core/controls/FileWrapper.js +0 -6
- package/src/sap/fe/core/controls/FileWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/FileWrapper.ts +0 -202
- package/src/sap/fe/core/helpers/SideEffectsHelper-dbg.js +0 -141
- package/src/sap/fe/core/helpers/SideEffectsHelper.js +0 -6
- package/src/sap/fe/core/helpers/SideEffectsHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/SideEffectsHelper.ts +0 -129
|
@@ -0,0 +1,71 @@
|
|
|
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/fe/core/helpers/ClassSupport", "sap/ui/model/resource/ResourceModel"], function (ClassSupport, UI5ResourceModel) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var _dec, _class;
|
|
9
|
+
var defineUI5Class = ClassSupport.defineUI5Class;
|
|
10
|
+
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
|
|
11
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
12
|
+
let ResourceModel = (_dec = defineUI5Class("sap.fe.core.ResourceModel"), _dec(_class = /*#__PURE__*/function (_UI5ResourceModel) {
|
|
13
|
+
_inheritsLoose(ResourceModel, _UI5ResourceModel);
|
|
14
|
+
function ResourceModel() {
|
|
15
|
+
return _UI5ResourceModel.apply(this, arguments) || this;
|
|
16
|
+
}
|
|
17
|
+
var _proto = ResourceModel.prototype;
|
|
18
|
+
/**
|
|
19
|
+
* Returns text for a given resource key.
|
|
20
|
+
*
|
|
21
|
+
* @param textID ID of the Text
|
|
22
|
+
* @param parameters Array of parameters that are used to create the text
|
|
23
|
+
* @param metaPath Entity set name or action name to overload a text
|
|
24
|
+
* @returns Determined text
|
|
25
|
+
*/
|
|
26
|
+
_proto.getText = function getText(textID, parameters, metaPath) {
|
|
27
|
+
let resourceKey = textID;
|
|
28
|
+
const resourceBundle = this._oResourceBundle;
|
|
29
|
+
if (metaPath) {
|
|
30
|
+
const resourceKeyExists = this.checkIfResourceKeyExists(`${resourceKey}|${metaPath}`);
|
|
31
|
+
|
|
32
|
+
// if resource key with metapath (i.e. entity set name) for instance specific text overriding is provided by the application
|
|
33
|
+
// then use the same key otherwise use the Framework key
|
|
34
|
+
resourceKey = resourceKeyExists ? `${resourceKey}|${metaPath}` : resourceKey;
|
|
35
|
+
}
|
|
36
|
+
return (resourceBundle === null || resourceBundle === void 0 ? void 0 : resourceBundle.getText(resourceKey, parameters, true)) || textID;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Check if a text exists for a given resource key.
|
|
41
|
+
*
|
|
42
|
+
* @param textID ID of the Text
|
|
43
|
+
* @returns True in case the text exists
|
|
44
|
+
*/;
|
|
45
|
+
_proto.checkIfResourceKeyExists = function checkIfResourceKeyExists(textID) {
|
|
46
|
+
// There are console errors logged when making calls to getText for keys that are not defined in the resource bundle
|
|
47
|
+
// for instance keys which are supposed to be provided by the application, e.g, <key>|<entitySet> to override instance specific text
|
|
48
|
+
// hence check if text exists (using "hasText") in the resource bundle before calling "getText"
|
|
49
|
+
|
|
50
|
+
// "hasText" only checks for the key in the immediate resource bundle and not it's custom bundles
|
|
51
|
+
// hence we need to do this recurrsively to check if the key exists in any of the bundles the forms the FE resource bundle
|
|
52
|
+
return this._checkIfResourceKeyExists(textID, this._oResourceBundle.aCustomBundles);
|
|
53
|
+
};
|
|
54
|
+
_proto._checkIfResourceKeyExists = function _checkIfResourceKeyExists(textID, bundles) {
|
|
55
|
+
if (bundles !== null && bundles !== void 0 && bundles.length) {
|
|
56
|
+
for (let i = bundles.length - 1; i >= 0; i--) {
|
|
57
|
+
const sValue = bundles[i].hasText(textID);
|
|
58
|
+
// text found return true
|
|
59
|
+
if (sValue) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
this._checkIfResourceKeyExists(textID, bundles[i].aCustomBundles);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return false;
|
|
66
|
+
};
|
|
67
|
+
return ResourceModel;
|
|
68
|
+
}(UI5ResourceModel)) || _class);
|
|
69
|
+
return ResourceModel;
|
|
70
|
+
}, false);
|
|
71
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZXNvdXJjZU1vZGVsIiwiZGVmaW5lVUk1Q2xhc3MiLCJnZXRUZXh0IiwidGV4dElEIiwicGFyYW1ldGVycyIsIm1ldGFQYXRoIiwicmVzb3VyY2VLZXkiLCJyZXNvdXJjZUJ1bmRsZSIsIl9vUmVzb3VyY2VCdW5kbGUiLCJyZXNvdXJjZUtleUV4aXN0cyIsImNoZWNrSWZSZXNvdXJjZUtleUV4aXN0cyIsIl9jaGVja0lmUmVzb3VyY2VLZXlFeGlzdHMiLCJhQ3VzdG9tQnVuZGxlcyIsImJ1bmRsZXMiLCJsZW5ndGgiLCJpIiwic1ZhbHVlIiwiaGFzVGV4dCIsIlVJNVJlc291cmNlTW9kZWwiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlJlc291cmNlTW9kZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgUmVzb3VyY2VCdW5kbGUgZnJvbSBcInNhcC9iYXNlL2kxOG4vUmVzb3VyY2VCdW5kbGVcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgVUk1UmVzb3VyY2VNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL3Jlc291cmNlL1Jlc291cmNlTW9kZWxcIjtcblxudHlwZSBJbnRlcm5hbFJlc291cmNlQnVuZGxlID0gUmVzb3VyY2VCdW5kbGUgJiB7XG5cdGFDdXN0b21CdW5kbGVzOiBJbnRlcm5hbFJlc291cmNlQnVuZGxlW107XG59O1xuXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5SZXNvdXJjZU1vZGVsXCIpXG5jbGFzcyBSZXNvdXJjZU1vZGVsIGV4dGVuZHMgVUk1UmVzb3VyY2VNb2RlbCB7XG5cdHByaXZhdGUgX29SZXNvdXJjZUJ1bmRsZSE6IEludGVybmFsUmVzb3VyY2VCdW5kbGU7XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGV4dCBmb3IgYSBnaXZlbiByZXNvdXJjZSBrZXkuXG5cdCAqXG5cdCAqIEBwYXJhbSB0ZXh0SUQgSUQgb2YgdGhlIFRleHRcblx0ICogQHBhcmFtIHBhcmFtZXRlcnMgQXJyYXkgb2YgcGFyYW1ldGVycyB0aGF0IGFyZSB1c2VkIHRvIGNyZWF0ZSB0aGUgdGV4dFxuXHQgKiBAcGFyYW0gbWV0YVBhdGggRW50aXR5IHNldCBuYW1lIG9yIGFjdGlvbiBuYW1lIHRvIG92ZXJsb2FkIGEgdGV4dFxuXHQgKiBAcmV0dXJucyBEZXRlcm1pbmVkIHRleHRcblx0ICovXG5cdGdldFRleHQodGV4dElEOiBzdHJpbmcsIHBhcmFtZXRlcnM/OiB1bmtub3duW10sIG1ldGFQYXRoPzogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRsZXQgcmVzb3VyY2VLZXkgPSB0ZXh0SUQ7XG5cdFx0Y29uc3QgcmVzb3VyY2VCdW5kbGUgPSB0aGlzLl9vUmVzb3VyY2VCdW5kbGU7XG5cblx0XHRpZiAobWV0YVBhdGgpIHtcblx0XHRcdGNvbnN0IHJlc291cmNlS2V5RXhpc3RzID0gdGhpcy5jaGVja0lmUmVzb3VyY2VLZXlFeGlzdHMoYCR7cmVzb3VyY2VLZXl9fCR7bWV0YVBhdGh9YCk7XG5cblx0XHRcdC8vIGlmIHJlc291cmNlIGtleSB3aXRoIG1ldGFwYXRoIChpLmUuIGVudGl0eSBzZXQgbmFtZSkgZm9yIGluc3RhbmNlIHNwZWNpZmljIHRleHQgb3ZlcnJpZGluZyBpcyBwcm92aWRlZCBieSB0aGUgYXBwbGljYXRpb25cblx0XHRcdC8vIHRoZW4gdXNlIHRoZSBzYW1lIGtleSBvdGhlcndpc2UgdXNlIHRoZSBGcmFtZXdvcmsga2V5XG5cdFx0XHRyZXNvdXJjZUtleSA9IHJlc291cmNlS2V5RXhpc3RzID8gYCR7cmVzb3VyY2VLZXl9fCR7bWV0YVBhdGh9YCA6IHJlc291cmNlS2V5O1xuXHRcdH1cblxuXHRcdHJldHVybiByZXNvdXJjZUJ1bmRsZT8uZ2V0VGV4dChyZXNvdXJjZUtleSwgcGFyYW1ldGVycywgdHJ1ZSkgfHwgdGV4dElEO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrIGlmIGEgdGV4dCBleGlzdHMgZm9yIGEgZ2l2ZW4gcmVzb3VyY2Uga2V5LlxuXHQgKlxuXHQgKiBAcGFyYW0gdGV4dElEIElEIG9mIHRoZSBUZXh0XG5cdCAqIEByZXR1cm5zIFRydWUgaW4gY2FzZSB0aGUgdGV4dCBleGlzdHNcblx0ICovXG5cdGNoZWNrSWZSZXNvdXJjZUtleUV4aXN0cyh0ZXh0SUQ6IHN0cmluZykge1xuXHRcdC8vIFRoZXJlIGFyZSBjb25zb2xlIGVycm9ycyBsb2dnZWQgd2hlbiBtYWtpbmcgY2FsbHMgdG8gZ2V0VGV4dCBmb3Iga2V5cyB0aGF0IGFyZSBub3QgZGVmaW5lZCBpbiB0aGUgcmVzb3VyY2UgYnVuZGxlXG5cdFx0Ly8gZm9yIGluc3RhbmNlIGtleXMgd2hpY2ggYXJlIHN1cHBvc2VkIHRvIGJlIHByb3ZpZGVkIGJ5IHRoZSBhcHBsaWNhdGlvbiwgZS5nLCA8a2V5Pnw8ZW50aXR5U2V0PiB0byBvdmVycmlkZSBpbnN0YW5jZSBzcGVjaWZpYyB0ZXh0XG5cdFx0Ly8gaGVuY2UgY2hlY2sgaWYgdGV4dCBleGlzdHMgKHVzaW5nIFwiaGFzVGV4dFwiKSBpbiB0aGUgcmVzb3VyY2UgYnVuZGxlIGJlZm9yZSBjYWxsaW5nIFwiZ2V0VGV4dFwiXG5cblx0XHQvLyBcImhhc1RleHRcIiBvbmx5IGNoZWNrcyBmb3IgdGhlIGtleSBpbiB0aGUgaW1tZWRpYXRlIHJlc291cmNlIGJ1bmRsZSBhbmQgbm90IGl0J3MgY3VzdG9tIGJ1bmRsZXNcblx0XHQvLyBoZW5jZSB3ZSBuZWVkIHRvIGRvIHRoaXMgcmVjdXJyc2l2ZWx5IHRvIGNoZWNrIGlmIHRoZSBrZXkgZXhpc3RzIGluIGFueSBvZiB0aGUgYnVuZGxlcyB0aGUgZm9ybXMgdGhlIEZFIHJlc291cmNlIGJ1bmRsZVxuXHRcdHJldHVybiB0aGlzLl9jaGVja0lmUmVzb3VyY2VLZXlFeGlzdHModGV4dElELCB0aGlzLl9vUmVzb3VyY2VCdW5kbGUuYUN1c3RvbUJ1bmRsZXMpO1xuXHR9XG5cblx0X2NoZWNrSWZSZXNvdXJjZUtleUV4aXN0cyh0ZXh0SUQ6IHN0cmluZywgYnVuZGxlcz86IEludGVybmFsUmVzb3VyY2VCdW5kbGVbXSkge1xuXHRcdGlmIChidW5kbGVzPy5sZW5ndGgpIHtcblx0XHRcdGZvciAobGV0IGkgPSBidW5kbGVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG5cdFx0XHRcdGNvbnN0IHNWYWx1ZSA9IGJ1bmRsZXNbaV0uaGFzVGV4dCh0ZXh0SUQpO1xuXHRcdFx0XHQvLyB0ZXh0IGZvdW5kIHJldHVybiB0cnVlXG5cdFx0XHRcdGlmIChzVmFsdWUpIHtcblx0XHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLl9jaGVja0lmUmVzb3VyY2VLZXlFeGlzdHModGV4dElELCBidW5kbGVzW2ldLmFDdXN0b21CdW5kbGVzKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFJlc291cmNlTW9kZWw7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7O01BU01BLGFBQWEsV0FEbEJDLGNBQWMsQ0FBQywyQkFBMkIsQ0FBQztJQUFBO0lBQUE7TUFBQTtJQUFBO0lBQUE7SUFJM0M7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQVBDLE9BUUFDLE9BQU8sR0FBUCxpQkFBUUMsTUFBYyxFQUFFQyxVQUFzQixFQUFFQyxRQUFpQixFQUFVO01BQzFFLElBQUlDLFdBQVcsR0FBR0gsTUFBTTtNQUN4QixNQUFNSSxjQUFjLEdBQUcsSUFBSSxDQUFDQyxnQkFBZ0I7TUFFNUMsSUFBSUgsUUFBUSxFQUFFO1FBQ2IsTUFBTUksaUJBQWlCLEdBQUcsSUFBSSxDQUFDQyx3QkFBd0IsQ0FBRSxHQUFFSixXQUFZLElBQUdELFFBQVMsRUFBQyxDQUFDOztRQUVyRjtRQUNBO1FBQ0FDLFdBQVcsR0FBR0csaUJBQWlCLEdBQUksR0FBRUgsV0FBWSxJQUFHRCxRQUFTLEVBQUMsR0FBR0MsV0FBVztNQUM3RTtNQUVBLE9BQU8sQ0FBQUMsY0FBYyxhQUFkQSxjQUFjLHVCQUFkQSxjQUFjLENBQUVMLE9BQU8sQ0FBQ0ksV0FBVyxFQUFFRixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUlELE1BQU07SUFDeEU7O0lBRUE7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BTEM7SUFBQSxPQU1BTyx3QkFBd0IsR0FBeEIsa0NBQXlCUCxNQUFjLEVBQUU7TUFDeEM7TUFDQTtNQUNBOztNQUVBO01BQ0E7TUFDQSxPQUFPLElBQUksQ0FBQ1EseUJBQXlCLENBQUNSLE1BQU0sRUFBRSxJQUFJLENBQUNLLGdCQUFnQixDQUFDSSxjQUFjLENBQUM7SUFDcEYsQ0FBQztJQUFBLE9BRURELHlCQUF5QixHQUF6QixtQ0FBMEJSLE1BQWMsRUFBRVUsT0FBa0MsRUFBRTtNQUM3RSxJQUFJQSxPQUFPLGFBQVBBLE9BQU8sZUFBUEEsT0FBTyxDQUFFQyxNQUFNLEVBQUU7UUFDcEIsS0FBSyxJQUFJQyxDQUFDLEdBQUdGLE9BQU8sQ0FBQ0MsTUFBTSxHQUFHLENBQUMsRUFBRUMsQ0FBQyxJQUFJLENBQUMsRUFBRUEsQ0FBQyxFQUFFLEVBQUU7VUFDN0MsTUFBTUMsTUFBTSxHQUFHSCxPQUFPLENBQUNFLENBQUMsQ0FBQyxDQUFDRSxPQUFPLENBQUNkLE1BQU0sQ0FBQztVQUN6QztVQUNBLElBQUlhLE1BQU0sRUFBRTtZQUNYLE9BQU8sSUFBSTtVQUNaO1VBQ0EsSUFBSSxDQUFDTCx5QkFBeUIsQ0FBQ1IsTUFBTSxFQUFFVSxPQUFPLENBQUNFLENBQUMsQ0FBQyxDQUFDSCxjQUFjLENBQUM7UUFDbEU7TUFDRDtNQUNBLE9BQU8sS0FBSztJQUNiLENBQUM7SUFBQTtFQUFBLEVBdEQwQk0sZ0JBQWdCO0VBQUEsT0F5RDdCbEIsYUFBYTtBQUFBIn0=
|
|
@@ -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/fe/core/helpers/ClassSupport","sap/ui/model/resource/ResourceModel"],function(e,t){"use strict";var o,s;var r=e.defineUI5Class;function u(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;n(e,t)}function n(e,t){n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(t,o){t.__proto__=o;return t};return n(e,t)}let c=(o=r("sap.fe.core.ResourceModel"),o(s=function(e){u(t,e);function t(){return e.apply(this,arguments)||this}var o=t.prototype;o.getText=function e(t,o,s){let r=t;const u=this._oResourceBundle;if(s){const e=this.checkIfResourceKeyExists(`${r}|${s}`);r=e?`${r}|${s}`:r}return(u===null||u===void 0?void 0:u.getText(r,o,true))||t};o.checkIfResourceKeyExists=function e(t){return this._checkIfResourceKeyExists(t,this._oResourceBundle.aCustomBundles)};o._checkIfResourceKeyExists=function e(t,o){if(o!==null&&o!==void 0&&o.length){for(let e=o.length-1;e>=0;e--){const s=o[e].hasText(t);if(s){return true}this._checkIfResourceKeyExists(t,o[e].aCustomBundles)}}return false};return t}(t))||s);return c},false);
|
|
6
|
+
//# sourceMappingURL=ResourceModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceModel.js","names":["sap","ui","define","ClassSupport","UI5ResourceModel","_dec","_class","defineUI5Class","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","ResourceModel","_UI5ResourceModel","apply","this","arguments","_proto","getText","textID","parameters","metaPath","resourceKey","resourceBundle","_oResourceBundle","resourceKeyExists","checkIfResourceKeyExists","_checkIfResourceKeyExists","aCustomBundles","bundles","length","i","sValue","hasText"],"sources":["ResourceModel-dbg.js"],"mappings":";;;;AAIAA,IAAIC,GAAGC,OAAO,CAAC,mCAAoC,uCAAwC,SAAUC,EAAcC,GACjH,aAEA,IAAIC,EAAMC,EACV,IAAIC,EAAiBJ,EAAaI,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,GAAiBhB,EAAOE,EAAe,6BAA8BF,EAAKC,EAAsB,SAAUgB,GAC5Gd,EAAea,EAAeC,GAC9B,SAASD,IACP,OAAOC,EAAkBC,MAAMC,KAAMC,YAAcD,IACrD,CACA,IAAIE,EAASL,EAAcV,UAS3Be,EAAOC,QAAU,SAASA,EAAQC,EAAQC,EAAYC,GACpD,IAAIC,EAAcH,EAClB,MAAMI,EAAiBR,KAAKS,iBAC5B,GAAIH,EAAU,CACZ,MAAMI,EAAoBV,KAAKW,yBAAyB,GAAGJ,KAAeD,KAI1EC,EAAcG,EAAoB,GAAGH,KAAeD,IAAaC,CACnE,CACA,OAAQC,IAAmB,MAAQA,SAAwB,OAAS,EAAIA,EAAeL,QAAQI,EAAaF,EAAY,QAAUD,CACpI,EAQAF,EAAOS,yBAA2B,SAASA,EAAyBP,GAOlE,OAAOJ,KAAKY,0BAA0BR,EAAQJ,KAAKS,iBAAiBI,eACtE,EACAX,EAAOU,0BAA4B,SAASA,EAA0BR,EAAQU,GAC5E,GAAIA,IAAY,MAAQA,SAAiB,GAAKA,EAAQC,OAAQ,CAC5D,IAAK,IAAIC,EAAIF,EAAQC,OAAS,EAAGC,GAAK,EAAGA,IAAK,CAC5C,MAAMC,EAASH,EAAQE,GAAGE,QAAQd,GAElC,GAAIa,EAAQ,CACV,OAAO,IACT,CACAjB,KAAKY,0BAA0BR,EAAQU,EAAQE,GAAGH,eACpD,CACF,CACA,OAAO,KACT,EACA,OAAOhB,CACT,CAxDoG,CAwDlGjB,KAAsBE,GACxB,OAAOe,CACT,EAAG"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type ResourceBundle from "sap/base/i18n/ResourceBundle";
|
|
2
|
+
import { defineUI5Class } from "sap/fe/core/helpers/ClassSupport";
|
|
3
|
+
import UI5ResourceModel from "sap/ui/model/resource/ResourceModel";
|
|
4
|
+
|
|
5
|
+
type InternalResourceBundle = ResourceBundle & {
|
|
6
|
+
aCustomBundles: InternalResourceBundle[];
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
@defineUI5Class("sap.fe.core.ResourceModel")
|
|
10
|
+
class ResourceModel extends UI5ResourceModel {
|
|
11
|
+
private _oResourceBundle!: InternalResourceBundle;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Returns text for a given resource key.
|
|
15
|
+
*
|
|
16
|
+
* @param textID ID of the Text
|
|
17
|
+
* @param parameters Array of parameters that are used to create the text
|
|
18
|
+
* @param metaPath Entity set name or action name to overload a text
|
|
19
|
+
* @returns Determined text
|
|
20
|
+
*/
|
|
21
|
+
getText(textID: string, parameters?: unknown[], metaPath?: string): string {
|
|
22
|
+
let resourceKey = textID;
|
|
23
|
+
const resourceBundle = this._oResourceBundle;
|
|
24
|
+
|
|
25
|
+
if (metaPath) {
|
|
26
|
+
const resourceKeyExists = this.checkIfResourceKeyExists(`${resourceKey}|${metaPath}`);
|
|
27
|
+
|
|
28
|
+
// if resource key with metapath (i.e. entity set name) for instance specific text overriding is provided by the application
|
|
29
|
+
// then use the same key otherwise use the Framework key
|
|
30
|
+
resourceKey = resourceKeyExists ? `${resourceKey}|${metaPath}` : resourceKey;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return resourceBundle?.getText(resourceKey, parameters, true) || textID;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Check if a text exists for a given resource key.
|
|
38
|
+
*
|
|
39
|
+
* @param textID ID of the Text
|
|
40
|
+
* @returns True in case the text exists
|
|
41
|
+
*/
|
|
42
|
+
checkIfResourceKeyExists(textID: string) {
|
|
43
|
+
// There are console errors logged when making calls to getText for keys that are not defined in the resource bundle
|
|
44
|
+
// for instance keys which are supposed to be provided by the application, e.g, <key>|<entitySet> to override instance specific text
|
|
45
|
+
// hence check if text exists (using "hasText") in the resource bundle before calling "getText"
|
|
46
|
+
|
|
47
|
+
// "hasText" only checks for the key in the immediate resource bundle and not it's custom bundles
|
|
48
|
+
// hence we need to do this recurrsively to check if the key exists in any of the bundles the forms the FE resource bundle
|
|
49
|
+
return this._checkIfResourceKeyExists(textID, this._oResourceBundle.aCustomBundles);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
_checkIfResourceKeyExists(textID: string, bundles?: InternalResourceBundle[]) {
|
|
53
|
+
if (bundles?.length) {
|
|
54
|
+
for (let i = bundles.length - 1; i >= 0; i--) {
|
|
55
|
+
const sValue = bundles[i].hasText(textID);
|
|
56
|
+
// text found return true
|
|
57
|
+
if (sValue) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
this._checkIfResourceKeyExists(textID, bundles[i].aCustomBundles);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export default ResourceModel;
|
|
@@ -215,4 +215,4 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/helpers/ClassSupport", "s
|
|
|
215
215
|
})), _class2)) || _class);
|
|
216
216
|
return TemplateComponent;
|
|
217
217
|
}, false);
|
|
218
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZW1wbGF0ZUNvbXBvbmVudCIsImRlZmluZVVJNUNsYXNzIiwiaW1wbGVtZW50SW50ZXJmYWNlIiwicHJvcGVydHkiLCJ0eXBlIiwiZGVmYXVsdFZhbHVlIiwiZXZlbnQiLCJzZXRDb250YWluZXIiLCJvQ29udGFpbmVyIiwiZmlyZUV2ZW50IiwiY29udGFpbmVyIiwiaW5pdCIsIm9BcHBDb21wb25lbnQiLCJDb21tb25VdGlscyIsImdldEFwcENvbXBvbmVudCIsIm9TdGF0ZUNoYW5nZUhhbmRsZXIiLCJvRXZlbnQiLCJvQ29udHJvbCIsImdldFBhcmFtZXRlciIsImlzQSIsIm9NYWNyb0FQSSIsImdldFBhcmVudCIsImZpcmVTdGF0ZUNoYW5nZSIsIlN0YXRlVXRpbCIsImRldGFjaFN0YXRlQ2hhbmdlIiwiYXR0YWNoU3RhdGVDaGFuZ2UiLCJnZXRFeHRlbnNpb25Db21wb25lbnQiLCJnZXRSb290Q29udHJvbGxlciIsInJvb3RDb250cm9sIiwiZ2V0Um9vdENvbnRyb2wiLCJyb290Q29udHJvbGxlciIsImdldENvbnRyb2xsZXIiLCJvblBhZ2VSZWFkeSIsIm1QYXJhbWV0ZXJzIiwiZ2V0TmF2aWdhdGlvbkNvbmZpZ3VyYXRpb24iLCJzVGFyZ2V0UGF0aCIsIm1OYXZpZ2F0aW9uIiwibmF2aWdhdGlvbiIsImdldFZpZXdEYXRhIiwibVByb3BlcnRpZXMiLCJnZXRNZXRhZGF0YSIsImdldEFsbFByb3BlcnRpZXMiLCJvVmlld0RhdGEiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwibVZpZXdEYXRhIiwic1Byb3BlcnR5TmFtZSIsImdldCIsImZjbEVuYWJsZWQiLCJfaXNGY2xFbmFibGVkIiwiX2dldFBhZ2VUaXRsZUluZm9ybWF0aW9uIiwiZ2V0RXh0ZW5zaW9uQVBJIiwiVUlDb21wb25lbnQiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlRlbXBsYXRlQ29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIEFwcENvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvQXBwQ29tcG9uZW50XCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgdHlwZSBDb252ZXJ0ZXJDb250ZXh0IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL0NvbnZlcnRlckNvbnRleHRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBldmVudCwgaW1wbGVtZW50SW50ZXJmYWNlLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgUGFnZUNvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS9jb3JlL1BhZ2VDb250cm9sbGVyXCI7XG5pbXBvcnQgdHlwZSBFdmVudCBmcm9tIFwic2FwL3VpL2Jhc2UvRXZlbnRcIjtcbmltcG9ydCB0eXBlIENvbXBvbmVudENvbnRhaW5lciBmcm9tIFwic2FwL3VpL2NvcmUvQ29tcG9uZW50Q29udGFpbmVyXCI7XG5pbXBvcnQgdHlwZSB7IElBc3luY0NvbnRlbnRDcmVhdGlvbiB9IGZyb20gXCJzYXAvdWkvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgdHlwZSBWaWV3IGZyb20gXCJzYXAvdWkvY29yZS9tdmMvVmlld1wiO1xuaW1wb3J0IFVJQ29tcG9uZW50IGZyb20gXCJzYXAvdWkvY29yZS9VSUNvbXBvbmVudFwiO1xuaW1wb3J0IFN0YXRlVXRpbCBmcm9tIFwic2FwL3VpL21kYy9wMTNuL1N0YXRlVXRpbFwiO1xuaW1wb3J0IHR5cGUgT0RhdGFMaXN0QmluZGluZyBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTGlzdEJpbmRpbmdcIjtcblxudHlwZSBOYXZpZ2F0aW9uQ29uZmlndXJhdGlvbiA9IHtcblx0ZGV0YWlsOiB7XG5cdFx0cm91dGU6IHN0cmluZztcblx0XHRwYXJhbWV0ZXJzOiB1bmtub3duO1xuXHR9O1xufTtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUuVGVtcGxhdGVDb21wb25lbnRcIilcbmNsYXNzIFRlbXBsYXRlQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQgaW1wbGVtZW50cyBJQXN5bmNDb250ZW50Q3JlYXRpb24ge1xuXHRAaW1wbGVtZW50SW50ZXJmYWNlKFwic2FwLnVpLmNvcmUuSUFzeW5jQ29udGVudENyZWF0aW9uXCIpXG5cdF9faW1wbGVtZW50c19fc2FwX3VpX2NvcmVfSUFzeW5jQ29udGVudENyZWF0aW9uID0gdHJ1ZTtcblxuXHQvKipcblx0ICogTmFtZSBvZiB0aGUgT0RhdGEgZW50aXR5IHNldFxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiwgZGVmYXVsdFZhbHVlOiBudWxsIH0pXG5cdGVudGl0eVNldDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cblx0LyoqXG5cdCAqIENvbnRleHQgUGF0aCBmb3IgcmVuZGVyaW5nIHRoZSB0ZW1wbGF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiwgZGVmYXVsdFZhbHVlOiBudWxsIH0pXG5cdGNvbnRleHRQYXRoOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuXHQvKipcblx0ICogVGhlIHBhdHRlcm4gZm9yIHRoZSBiaW5kaW5nIGNvbnRleHQgdG8gYmUgY3JlYXRlIGJhc2VkIG9uIHRoZSBwYXJhbWV0ZXJzIGZyb20gdGhlIG5hdmlnYXRpb25cblx0ICogSWYgbm90IHByb3ZpZGVkIHdlJ2xsIGRlZmF1bHQgdG8gd2hhdCB3YXMgcGFzc2VkIGluIHRoZSBVUkxcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0YmluZGluZ0NvbnRleHRQYXR0ZXJuITogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBNYXAgb2YgdXNlZCBPRGF0YSBuYXZpZ2F0aW9ucyBhbmQgaXRzIHJvdXRpbmcgdGFyZ2V0c1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJvYmplY3RcIiB9KVxuXHRuYXZpZ2F0aW9uITogUmVjb3JkPHN0cmluZywgTmF2aWdhdGlvbkNvbmZpZ3VyYXRpb24+O1xuXG5cdC8qKlxuXHQgKiBFbmhhbmNlIHRoZSBpMThuIGJ1bmRsZSB1c2VkIGZvciB0aGlzIHBhZ2Ugd2l0aCBvbmUgb3IgbW9yZSBhcHAgc3BlY2lmaWMgaTE4biByZXNvdXJjZSBidW5kbGVzIG9yIHJlc291cmNlIG1vZGVsc1xuXHQgKiBvciBhIGNvbWJpbmF0aW9uIG9mIGJvdGguIFRoZSBsYXN0IHJlc291cmNlIGJ1bmRsZS9tb2RlbCBpcyBnaXZlbiBoaWdoZXN0IHByaW9yaXR5XG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1tdXCIgfSlcblx0ZW5oYW5jZUkxOG4hOiBzdHJpbmdbXTtcblxuXHQvKipcblx0ICogRGVmaW5lIGNvbnRyb2wgcmVsYXRlZCBjb25maWd1cmF0aW9uIHNldHRpbmdzXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcIm9iamVjdFwiIH0pXG5cdGNvbnRyb2xDb25maWd1cmF0aW9uPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cblx0LyoqXG5cdCAqIEFkanVzdHMgdGhlIHRlbXBsYXRlIGNvbnRlbnRcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwib2JqZWN0XCIgfSlcblx0Y29udGVudD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIG9yIG5vdCB5b3UgY2FuIHJlYWNoIHRoaXMgcGFnZSBkaXJlY3RseSB0aHJvdWdoIHNlbWFudGljIGJvb2ttYXJrc1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0YWxsb3dEZWVwTGlua2luZyE6IGJvb2xlYW47XG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBjb250ZXh0IHBhdGggb24gdGhlIGNvbXBvbmVudCB0aGF0IGlzIHJlZnJlc2hlZCB3aGVuIHRoZSBhcHAgaXMgcmVzdG9yZWQgdXNpbmcga2VlcCBhbGl2ZSBtb2RlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcIm9iamVjdFwiIH0pXG5cdHJlZnJlc2hTdHJhdGVneU9uQXBwUmVzdG9yZTogdW5rbm93bjtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHZpZXdUeXBlID0gXCJYTUxcIjtcblxuXHRAZXZlbnQoKVxuXHRjb250YWluZXJEZWZpbmVkITogRnVuY3Rpb247XG5cblx0QGV2ZW50KClcblx0aGVyb2VzQmF0Y2hSZWNlaXZlZCE6IEZ1bmN0aW9uO1xuXG5cdEBldmVudCgpXG5cdHdvcmtlcnNCYXRjaFJlY2VpdmVkITogRnVuY3Rpb247XG5cblx0cHJvdGVjdGVkIG9BcHBDb21wb25lbnQhOiBBcHBDb21wb25lbnQ7XG5cblx0c2V0Q29udGFpbmVyKG9Db250YWluZXI6IENvbXBvbmVudENvbnRhaW5lcik6IHRoaXMge1xuXHRcdHN1cGVyLnNldENvbnRhaW5lcihvQ29udGFpbmVyKTtcblx0XHR0aGlzLmZpcmVFdmVudChcImNvbnRhaW5lckRlZmluZWRcIiwgeyBjb250YWluZXI6IG9Db250YWluZXIgfSk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRpbml0KCkge1xuXHRcdHRoaXMub0FwcENvbXBvbmVudCA9IENvbW1vblV0aWxzLmdldEFwcENvbXBvbmVudCh0aGlzKTtcblx0XHRzdXBlci5pbml0KCk7XG5cdFx0Y29uc3Qgb1N0YXRlQ2hhbmdlSGFuZGxlciA9IGZ1bmN0aW9uIChvRXZlbnQ6IEV2ZW50KSB7XG5cdFx0XHRjb25zdCBvQ29udHJvbCA9IG9FdmVudC5nZXRQYXJhbWV0ZXIoXCJjb250cm9sXCIpO1xuXHRcdFx0aWYgKG9Db250cm9sLmlzQShcInNhcC51aS5tZGMuVGFibGVcIikgfHwgb0NvbnRyb2wuaXNBKFwic2FwLnVpLm1kYy5GaWx0ZXJCYXJcIikgfHwgb0NvbnRyb2wuaXNBKFwic2FwLnVpLm1kYy5DaGFydFwiKSkge1xuXHRcdFx0XHRjb25zdCBvTWFjcm9BUEkgPSBvQ29udHJvbC5nZXRQYXJlbnQoKTtcblx0XHRcdFx0aWYgKG9NYWNyb0FQST8uZmlyZVN0YXRlQ2hhbmdlKSB7XG5cdFx0XHRcdFx0b01hY3JvQVBJLmZpcmVTdGF0ZUNoYW5nZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fTtcblx0XHRTdGF0ZVV0aWwuZGV0YWNoU3RhdGVDaGFuZ2Uob1N0YXRlQ2hhbmdlSGFuZGxlcik7XG5cdFx0U3RhdGVVdGlsLmF0dGFjaFN0YXRlQ2hhbmdlKG9TdGF0ZUNoYW5nZUhhbmRsZXIpO1xuXHR9XG5cblx0Ly8gVGhpcyBtZXRob2QgaXMgY2FsbGVkIGJ5IFVJNSBjb3JlIHRvIGFjY2VzcyB0byB0aGUgY29tcG9uZW50IGNvbnRhaW5pbmcgdGhlIGN1c3RvbWl6aW5nIGNvbmZpZ3VyYXRpb24uXG5cdC8vIGFzIGNvbnRyb2xsZXIgZXh0ZW5zaW9ucyBhcmUgZGVmaW5lZCBpbiB0aGUgbWFuaWZlc3QgZm9yIHRoZSBhcHAgY29tcG9uZW50IGFuZCBub3QgZm9yIHRoZVxuXHQvLyB0ZW1wbGF0ZSBjb21wb25lbnQgd2UgcmV0dXJuIHRoZSBhcHAgY29tcG9uZW50LlxuXHRnZXRFeHRlbnNpb25Db21wb25lbnQoKTogQXBwQ29tcG9uZW50IHtcblx0XHRyZXR1cm4gdGhpcy5vQXBwQ29tcG9uZW50O1xuXHR9XG5cblx0Z2V0Um9vdENvbnRyb2xsZXIoKTogUGFnZUNvbnRyb2xsZXIgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IHJvb3RDb250cm9sOiBWaWV3ID0gdGhpcy5nZXRSb290Q29udHJvbCgpO1xuXHRcdGxldCByb290Q29udHJvbGxlcjogUGFnZUNvbnRyb2xsZXIgfCB1bmRlZmluZWQ7XG5cdFx0aWYgKHJvb3RDb250cm9sICYmIHJvb3RDb250cm9sLmdldENvbnRyb2xsZXIpIHtcblx0XHRcdHJvb3RDb250cm9sbGVyID0gcm9vdENvbnRyb2wuZ2V0Q29udHJvbGxlcigpIGFzIFBhZ2VDb250cm9sbGVyO1xuXHRcdH1cblx0XHRyZXR1cm4gcm9vdENvbnRyb2xsZXI7XG5cdH1cblxuXHRvblBhZ2VSZWFkeShtUGFyYW1ldGVyczogdW5rbm93bikge1xuXHRcdGNvbnN0IHJvb3RDb250cm9sbGVyID0gdGhpcy5nZXRSb290Q29udHJvbGxlcigpO1xuXHRcdGlmIChyb290Q29udHJvbGxlciAmJiByb290Q29udHJvbGxlci5vblBhZ2VSZWFkeSkge1xuXHRcdFx0cm9vdENvbnRyb2xsZXIub25QYWdlUmVhZHkobVBhcmFtZXRlcnMpO1xuXHRcdH1cblx0fVxuXG5cdGdldE5hdmlnYXRpb25Db25maWd1cmF0aW9uKHNUYXJnZXRQYXRoOiBzdHJpbmcpOiBOYXZpZ2F0aW9uQ29uZmlndXJhdGlvbiB7XG5cdFx0Y29uc3QgbU5hdmlnYXRpb24gPSB0aGlzLm5hdmlnYXRpb247XG5cdFx0cmV0dXJuIG1OYXZpZ2F0aW9uW3NUYXJnZXRQYXRoXTtcblx0fVxuXG5cdGdldFZpZXdEYXRhKCkge1xuXHRcdGNvbnN0IG1Qcm9wZXJ0aWVzID0gdGhpcy5nZXRNZXRhZGF0YSgpLmdldEFsbFByb3BlcnRpZXMoKTtcblx0XHRjb25zdCBvVmlld0RhdGEgPSBPYmplY3Qua2V5cyhtUHJvcGVydGllcykucmVkdWNlKChtVmlld0RhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBzUHJvcGVydHlOYW1lOiBzdHJpbmcpID0+IHtcblx0XHRcdG1WaWV3RGF0YVtzUHJvcGVydHlOYW1lXSA9IG1Qcm9wZXJ0aWVzW3NQcm9wZXJ0eU5hbWVdLmdldCEodGhpcyk7XG5cdFx0XHRyZXR1cm4gbVZpZXdEYXRhO1xuXHRcdH0sIHt9KTtcblxuXHRcdC8vIEFjY2VzcyB0aGUgaW50ZXJuYWwgX2lzRmNsRW5hYmxlZCB3aGljaCB3aWxsIGJlIHRoZXJlXG5cdFx0b1ZpZXdEYXRhLmZjbEVuYWJsZWQgPSB0aGlzLm9BcHBDb21wb25lbnQuX2lzRmNsRW5hYmxlZCgpO1xuXG5cdFx0cmV0dXJuIG9WaWV3RGF0YTtcblx0fVxuXG5cdF9nZXRQYWdlVGl0bGVJbmZvcm1hdGlvbigpIHtcblx0XHRjb25zdCByb290Q29udHJvbCA9IHRoaXMuZ2V0Um9vdENvbnRyb2woKTtcblx0XHRpZiAocm9vdENvbnRyb2wgJiYgcm9vdENvbnRyb2wuZ2V0Q29udHJvbGxlcigpICYmIHJvb3RDb250cm9sLmdldENvbnRyb2xsZXIoKS5fZ2V0UGFnZVRpdGxlSW5mb3JtYXRpb24pIHtcblx0XHRcdHJldHVybiByb290Q29udHJvbC5nZXRDb250cm9sbGVyKCkuX2dldFBhZ2VUaXRsZUluZm9ybWF0aW9uKCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiB7fTtcblx0XHR9XG5cdH1cblxuXHRnZXRFeHRlbnNpb25BUEkoKSB7XG5cdFx0cmV0dXJuIHRoaXMuZ2V0Um9vdENvbnRyb2woKS5nZXRDb250cm9sbGVyKCkuZ2V0RXh0ZW5zaW9uQVBJKCk7XG5cdH1cbn1cbmludGVyZmFjZSBUZW1wbGF0ZUNvbXBvbmVudCB7XG5cdC8vIFRPRE86IHRoaXMgc2hvdWxkIGJlIGlkZWFsbHkgYmUgaGFuZGxlZCBieSB0aGUgZWRpdGZsb3cvcm91dGluZyB3aXRob3V0IHRoZSBuZWVkIHRvIGhhdmUgdGhpcyBtZXRob2QgaW4gdGhlIG9iamVjdCBwYWdlIC0gZm9yIG5vdyBrZWVwIGl0IGhlcmVcblx0Y3JlYXRlRGVmZXJyZWRDb250ZXh0PyhzUGF0aDogc3RyaW5nLCBvTGlzdEJpbmRpbmc6IE9EYXRhTGlzdEJpbmRpbmcsIGJBY3Rpb25DcmVhdGU6IGJvb2xlYW4pOiB2b2lkO1xuXHRnZXRSb290Q29udHJvbCgpOiB7IGdldENvbnRyb2xsZXIoKTogUGFnZUNvbnRyb2xsZXIgfSAmIFZpZXc7XG5cdGV4dGVuZFBhZ2VEZWZpbml0aW9uPyhwYWdlRGVmaW5pdGlvbjoge30sIGNvbnZlcnRlckNvbnRleHQ/OiBDb252ZXJ0ZXJDb250ZXh0KToge307XG59XG5leHBvcnQgZGVmYXVsdCBUZW1wbGF0ZUNvbXBvbmVudDtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O01BcUJNQSxpQkFBaUIs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
|
|
218
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZW1wbGF0ZUNvbXBvbmVudCIsImRlZmluZVVJNUNsYXNzIiwiaW1wbGVtZW50SW50ZXJmYWNlIiwicHJvcGVydHkiLCJ0eXBlIiwiZGVmYXVsdFZhbHVlIiwiZXZlbnQiLCJzZXRDb250YWluZXIiLCJvQ29udGFpbmVyIiwiZmlyZUV2ZW50IiwiY29udGFpbmVyIiwiaW5pdCIsIm9BcHBDb21wb25lbnQiLCJDb21tb25VdGlscyIsImdldEFwcENvbXBvbmVudCIsIm9TdGF0ZUNoYW5nZUhhbmRsZXIiLCJvRXZlbnQiLCJvQ29udHJvbCIsImdldFBhcmFtZXRlciIsImlzQSIsIm9NYWNyb0FQSSIsImdldFBhcmVudCIsImZpcmVTdGF0ZUNoYW5nZSIsIlN0YXRlVXRpbCIsImRldGFjaFN0YXRlQ2hhbmdlIiwiYXR0YWNoU3RhdGVDaGFuZ2UiLCJnZXRFeHRlbnNpb25Db21wb25lbnQiLCJnZXRSb290Q29udHJvbGxlciIsInJvb3RDb250cm9sIiwiZ2V0Um9vdENvbnRyb2wiLCJyb290Q29udHJvbGxlciIsImdldENvbnRyb2xsZXIiLCJvblBhZ2VSZWFkeSIsIm1QYXJhbWV0ZXJzIiwiZ2V0TmF2aWdhdGlvbkNvbmZpZ3VyYXRpb24iLCJzVGFyZ2V0UGF0aCIsIm1OYXZpZ2F0aW9uIiwibmF2aWdhdGlvbiIsImdldFZpZXdEYXRhIiwibVByb3BlcnRpZXMiLCJnZXRNZXRhZGF0YSIsImdldEFsbFByb3BlcnRpZXMiLCJvVmlld0RhdGEiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwibVZpZXdEYXRhIiwic1Byb3BlcnR5TmFtZSIsImdldCIsImZjbEVuYWJsZWQiLCJfaXNGY2xFbmFibGVkIiwiX2dldFBhZ2VUaXRsZUluZm9ybWF0aW9uIiwiZ2V0RXh0ZW5zaW9uQVBJIiwiVUlDb21wb25lbnQiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlRlbXBsYXRlQ29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIEFwcENvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvQXBwQ29tcG9uZW50XCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgdHlwZSBDb252ZXJ0ZXJDb250ZXh0IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL0NvbnZlcnRlckNvbnRleHRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBldmVudCwgaW1wbGVtZW50SW50ZXJmYWNlLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgUGFnZUNvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS9jb3JlL1BhZ2VDb250cm9sbGVyXCI7XG5pbXBvcnQgdHlwZSBFdmVudCBmcm9tIFwic2FwL3VpL2Jhc2UvRXZlbnRcIjtcbmltcG9ydCB0eXBlIENvbXBvbmVudENvbnRhaW5lciBmcm9tIFwic2FwL3VpL2NvcmUvQ29tcG9uZW50Q29udGFpbmVyXCI7XG5pbXBvcnQgdHlwZSB7IElBc3luY0NvbnRlbnRDcmVhdGlvbiB9IGZyb20gXCJzYXAvdWkvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgdHlwZSBWaWV3IGZyb20gXCJzYXAvdWkvY29yZS9tdmMvVmlld1wiO1xuaW1wb3J0IFVJQ29tcG9uZW50IGZyb20gXCJzYXAvdWkvY29yZS9VSUNvbXBvbmVudFwiO1xuaW1wb3J0IFN0YXRlVXRpbCBmcm9tIFwic2FwL3VpL21kYy9wMTNuL1N0YXRlVXRpbFwiO1xuaW1wb3J0IHR5cGUgT0RhdGFMaXN0QmluZGluZyBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTGlzdEJpbmRpbmdcIjtcblxudHlwZSBOYXZpZ2F0aW9uQ29uZmlndXJhdGlvbiA9IHtcblx0ZGV0YWlsOiB7XG5cdFx0cm91dGU6IHN0cmluZztcblx0XHRwYXJhbWV0ZXJzOiB1bmtub3duO1xuXHR9O1xufTtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUuVGVtcGxhdGVDb21wb25lbnRcIilcbmNsYXNzIFRlbXBsYXRlQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQgaW1wbGVtZW50cyBJQXN5bmNDb250ZW50Q3JlYXRpb24ge1xuXHRAaW1wbGVtZW50SW50ZXJmYWNlKFwic2FwLnVpLmNvcmUuSUFzeW5jQ29udGVudENyZWF0aW9uXCIpXG5cdF9faW1wbGVtZW50c19fc2FwX3VpX2NvcmVfSUFzeW5jQ29udGVudENyZWF0aW9uID0gdHJ1ZTtcblxuXHQvKipcblx0ICogTmFtZSBvZiB0aGUgT0RhdGEgZW50aXR5IHNldFxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiwgZGVmYXVsdFZhbHVlOiBudWxsIH0pXG5cdGVudGl0eVNldDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cblx0LyoqXG5cdCAqIENvbnRleHQgUGF0aCBmb3IgcmVuZGVyaW5nIHRoZSB0ZW1wbGF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiwgZGVmYXVsdFZhbHVlOiBudWxsIH0pXG5cdGNvbnRleHRQYXRoOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuXHQvKipcblx0ICogVGhlIHBhdHRlcm4gZm9yIHRoZSBiaW5kaW5nIGNvbnRleHQgdG8gYmUgY3JlYXRlIGJhc2VkIG9uIHRoZSBwYXJhbWV0ZXJzIGZyb20gdGhlIG5hdmlnYXRpb25cblx0ICogSWYgbm90IHByb3ZpZGVkIHdlJ2xsIGRlZmF1bHQgdG8gd2hhdCB3YXMgcGFzc2VkIGluIHRoZSBVUkxcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0YmluZGluZ0NvbnRleHRQYXR0ZXJuITogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBNYXAgb2YgdXNlZCBPRGF0YSBuYXZpZ2F0aW9ucyBhbmQgaXRzIHJvdXRpbmcgdGFyZ2V0c1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJvYmplY3RcIiB9KVxuXHRuYXZpZ2F0aW9uITogUmVjb3JkPHN0cmluZywgTmF2aWdhdGlvbkNvbmZpZ3VyYXRpb24+O1xuXG5cdC8qKlxuXHQgKiBFbmhhbmNlIHRoZSBpMThuIGJ1bmRsZSB1c2VkIGZvciB0aGlzIHBhZ2Ugd2l0aCBvbmUgb3IgbW9yZSBhcHAgc3BlY2lmaWMgaTE4biByZXNvdXJjZSBidW5kbGVzIG9yIHJlc291cmNlIG1vZGVsc1xuXHQgKiBvciBhIGNvbWJpbmF0aW9uIG9mIGJvdGguIFRoZSBsYXN0IHJlc291cmNlIGJ1bmRsZS9tb2RlbCBpcyBnaXZlbiBoaWdoZXN0IHByaW9yaXR5XG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1tdXCIgfSlcblx0ZW5oYW5jZUkxOG4hOiBzdHJpbmdbXTtcblxuXHQvKipcblx0ICogRGVmaW5lIGNvbnRyb2wgcmVsYXRlZCBjb25maWd1cmF0aW9uIHNldHRpbmdzXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcIm9iamVjdFwiIH0pXG5cdGNvbnRyb2xDb25maWd1cmF0aW9uPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cblx0LyoqXG5cdCAqIEFkanVzdHMgdGhlIHRlbXBsYXRlIGNvbnRlbnRcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwib2JqZWN0XCIgfSlcblx0Y29udGVudD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIG9yIG5vdCB5b3UgY2FuIHJlYWNoIHRoaXMgcGFnZSBkaXJlY3RseSB0aHJvdWdoIHNlbWFudGljIGJvb2ttYXJrc1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0YWxsb3dEZWVwTGlua2luZyE6IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIERlZmluZXMgdGhlIGNvbnRleHQgcGF0aCBvbiB0aGUgY29tcG9uZW50IHRoYXQgaXMgcmVmcmVzaGVkIHdoZW4gdGhlIGFwcCBpcyByZXN0b3JlZCB1c2luZyBrZWVwIGFsaXZlIG1vZGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwib2JqZWN0XCIgfSlcblx0cmVmcmVzaFN0cmF0ZWd5T25BcHBSZXN0b3JlOiB1bmtub3duO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0dmlld1R5cGUgPSBcIlhNTFwiO1xuXG5cdEBldmVudCgpXG5cdGNvbnRhaW5lckRlZmluZWQhOiBGdW5jdGlvbjtcblxuXHRAZXZlbnQoKVxuXHRoZXJvZXNCYXRjaFJlY2VpdmVkITogRnVuY3Rpb247XG5cblx0QGV2ZW50KClcblx0d29ya2Vyc0JhdGNoUmVjZWl2ZWQhOiBGdW5jdGlvbjtcblxuXHRwcm90ZWN0ZWQgb0FwcENvbXBvbmVudCE6IEFwcENvbXBvbmVudDtcblxuXHRzZXRDb250YWluZXIob0NvbnRhaW5lcjogQ29tcG9uZW50Q29udGFpbmVyKTogdGhpcyB7XG5cdFx0c3VwZXIuc2V0Q29udGFpbmVyKG9Db250YWluZXIpO1xuXHRcdHRoaXMuZmlyZUV2ZW50KFwiY29udGFpbmVyRGVmaW5lZFwiLCB7IGNvbnRhaW5lcjogb0NvbnRhaW5lciB9KTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdGluaXQoKSB7XG5cdFx0dGhpcy5vQXBwQ29tcG9uZW50ID0gQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KHRoaXMpO1xuXHRcdHN1cGVyLmluaXQoKTtcblx0XHRjb25zdCBvU3RhdGVDaGFuZ2VIYW5kbGVyID0gZnVuY3Rpb24gKG9FdmVudDogRXZlbnQpIHtcblx0XHRcdGNvbnN0IG9Db250cm9sID0gb0V2ZW50LmdldFBhcmFtZXRlcihcImNvbnRyb2xcIik7XG5cdFx0XHRpZiAob0NvbnRyb2wuaXNBKFwic2FwLnVpLm1kYy5UYWJsZVwiKSB8fCBvQ29udHJvbC5pc0EoXCJzYXAudWkubWRjLkZpbHRlckJhclwiKSB8fCBvQ29udHJvbC5pc0EoXCJzYXAudWkubWRjLkNoYXJ0XCIpKSB7XG5cdFx0XHRcdGNvbnN0IG9NYWNyb0FQSSA9IG9Db250cm9sLmdldFBhcmVudCgpO1xuXHRcdFx0XHRpZiAob01hY3JvQVBJPy5maXJlU3RhdGVDaGFuZ2UpIHtcblx0XHRcdFx0XHRvTWFjcm9BUEkuZmlyZVN0YXRlQ2hhbmdlKCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9O1xuXHRcdFN0YXRlVXRpbC5kZXRhY2hTdGF0ZUNoYW5nZShvU3RhdGVDaGFuZ2VIYW5kbGVyKTtcblx0XHRTdGF0ZVV0aWwuYXR0YWNoU3RhdGVDaGFuZ2Uob1N0YXRlQ2hhbmdlSGFuZGxlcik7XG5cdH1cblxuXHQvLyBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgYnkgVUk1IGNvcmUgdG8gYWNjZXNzIHRvIHRoZSBjb21wb25lbnQgY29udGFpbmluZyB0aGUgY3VzdG9taXppbmcgY29uZmlndXJhdGlvbi5cblx0Ly8gYXMgY29udHJvbGxlciBleHRlbnNpb25zIGFyZSBkZWZpbmVkIGluIHRoZSBtYW5pZmVzdCBmb3IgdGhlIGFwcCBjb21wb25lbnQgYW5kIG5vdCBmb3IgdGhlXG5cdC8vIHRlbXBsYXRlIGNvbXBvbmVudCB3ZSByZXR1cm4gdGhlIGFwcCBjb21wb25lbnQuXG5cdGdldEV4dGVuc2lvbkNvbXBvbmVudCgpOiBBcHBDb21wb25lbnQge1xuXHRcdHJldHVybiB0aGlzLm9BcHBDb21wb25lbnQ7XG5cdH1cblxuXHRnZXRSb290Q29udHJvbGxlcigpOiBQYWdlQ29udHJvbGxlciB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3Qgcm9vdENvbnRyb2w6IFZpZXcgPSB0aGlzLmdldFJvb3RDb250cm9sKCk7XG5cdFx0bGV0IHJvb3RDb250cm9sbGVyOiBQYWdlQ29udHJvbGxlciB8IHVuZGVmaW5lZDtcblx0XHRpZiAocm9vdENvbnRyb2wgJiYgcm9vdENvbnRyb2wuZ2V0Q29udHJvbGxlcikge1xuXHRcdFx0cm9vdENvbnRyb2xsZXIgPSByb290Q29udHJvbC5nZXRDb250cm9sbGVyKCkgYXMgUGFnZUNvbnRyb2xsZXI7XG5cdFx0fVxuXHRcdHJldHVybiByb290Q29udHJvbGxlcjtcblx0fVxuXG5cdG9uUGFnZVJlYWR5KG1QYXJhbWV0ZXJzOiB1bmtub3duKSB7XG5cdFx0Y29uc3Qgcm9vdENvbnRyb2xsZXIgPSB0aGlzLmdldFJvb3RDb250cm9sbGVyKCk7XG5cdFx0aWYgKHJvb3RDb250cm9sbGVyICYmIHJvb3RDb250cm9sbGVyLm9uUGFnZVJlYWR5KSB7XG5cdFx0XHRyb290Q29udHJvbGxlci5vblBhZ2VSZWFkeShtUGFyYW1ldGVycyk7XG5cdFx0fVxuXHR9XG5cblx0Z2V0TmF2aWdhdGlvbkNvbmZpZ3VyYXRpb24oc1RhcmdldFBhdGg6IHN0cmluZyk6IE5hdmlnYXRpb25Db25maWd1cmF0aW9uIHtcblx0XHRjb25zdCBtTmF2aWdhdGlvbiA9IHRoaXMubmF2aWdhdGlvbjtcblx0XHRyZXR1cm4gbU5hdmlnYXRpb25bc1RhcmdldFBhdGhdO1xuXHR9XG5cblx0Z2V0Vmlld0RhdGEoKSB7XG5cdFx0Y29uc3QgbVByb3BlcnRpZXMgPSB0aGlzLmdldE1ldGFkYXRhKCkuZ2V0QWxsUHJvcGVydGllcygpO1xuXHRcdGNvbnN0IG9WaWV3RGF0YSA9IE9iamVjdC5rZXlzKG1Qcm9wZXJ0aWVzKS5yZWR1Y2UoKG1WaWV3RGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIHNQcm9wZXJ0eU5hbWU6IHN0cmluZykgPT4ge1xuXHRcdFx0bVZpZXdEYXRhW3NQcm9wZXJ0eU5hbWVdID0gbVByb3BlcnRpZXNbc1Byb3BlcnR5TmFtZV0uZ2V0ISh0aGlzKTtcblx0XHRcdHJldHVybiBtVmlld0RhdGE7XG5cdFx0fSwge30pO1xuXG5cdFx0Ly8gQWNjZXNzIHRoZSBpbnRlcm5hbCBfaXNGY2xFbmFibGVkIHdoaWNoIHdpbGwgYmUgdGhlcmVcblx0XHRvVmlld0RhdGEuZmNsRW5hYmxlZCA9IHRoaXMub0FwcENvbXBvbmVudC5faXNGY2xFbmFibGVkKCk7XG5cblx0XHRyZXR1cm4gb1ZpZXdEYXRhO1xuXHR9XG5cblx0X2dldFBhZ2VUaXRsZUluZm9ybWF0aW9uKCkge1xuXHRcdGNvbnN0IHJvb3RDb250cm9sID0gdGhpcy5nZXRSb290Q29udHJvbCgpO1xuXHRcdGlmIChyb290Q29udHJvbCAmJiByb290Q29udHJvbC5nZXRDb250cm9sbGVyKCkgJiYgcm9vdENvbnRyb2wuZ2V0Q29udHJvbGxlcigpLl9nZXRQYWdlVGl0bGVJbmZvcm1hdGlvbikge1xuXHRcdFx0cmV0dXJuIHJvb3RDb250cm9sLmdldENvbnRyb2xsZXIoKS5fZ2V0UGFnZVRpdGxlSW5mb3JtYXRpb24oKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIHt9O1xuXHRcdH1cblx0fVxuXG5cdGdldEV4dGVuc2lvbkFQSSgpIHtcblx0XHRyZXR1cm4gdGhpcy5nZXRSb290Q29udHJvbCgpLmdldENvbnRyb2xsZXIoKS5nZXRFeHRlbnNpb25BUEkoKTtcblx0fVxufVxuaW50ZXJmYWNlIFRlbXBsYXRlQ29tcG9uZW50IHtcblx0Ly8gVE9ETzogdGhpcyBzaG91bGQgYmUgaWRlYWxseSBiZSBoYW5kbGVkIGJ5IHRoZSBlZGl0Zmxvdy9yb3V0aW5nIHdpdGhvdXQgdGhlIG5lZWQgdG8gaGF2ZSB0aGlzIG1ldGhvZCBpbiB0aGUgb2JqZWN0IHBhZ2UgLSBmb3Igbm93IGtlZXAgaXQgaGVyZVxuXHRjcmVhdGVEZWZlcnJlZENvbnRleHQ/KHNQYXRoOiBzdHJpbmcsIG9MaXN0QmluZGluZzogT0RhdGFMaXN0QmluZGluZywgYkFjdGlvbkNyZWF0ZTogYm9vbGVhbik6IHZvaWQ7XG5cdGdldFJvb3RDb250cm9sKCk6IHsgZ2V0Q29udHJvbGxlcigpOiBQYWdlQ29udHJvbGxlciB9ICYgVmlldztcblx0ZXh0ZW5kUGFnZURlZmluaXRpb24/KHBhZ2VEZWZpbml0aW9uOiB7fSwgY29udmVydGVyQ29udGV4dD86IENvbnZlcnRlckNvbnRleHQpOiB7fTtcbn1cbmV4cG9ydCBkZWZhdWx0IFRlbXBsYXRlQ29tcG9uZW50O1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7TUFxQk1BLGlCQUFp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
|
|
@@ -72,6 +72,7 @@ class TemplateComponent extends UIComponent implements IAsyncContentCreation {
|
|
|
72
72
|
*/
|
|
73
73
|
@property({ type: "boolean" })
|
|
74
74
|
allowDeepLinking!: boolean;
|
|
75
|
+
|
|
75
76
|
/**
|
|
76
77
|
* Defines the context path on the component that is refreshed when the app is restored using keep alive mode
|
|
77
78
|
*/
|
|
@@ -72,4 +72,4 @@ sap.ui.define(["sap/fe/core/helpers/ClassSupport", "sap/ui/base/Object", "sap/ui
|
|
|
72
72
|
}(BaseObject)) || _class);
|
|
73
73
|
return TemplateModel;
|
|
74
74
|
}, false);
|
|
75
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZW1wbGF0ZU1vZGVsIiwiZGVmaW5lVUk1Q2xhc3MiLCJwYWdlQ29uZmlnIiwib01ldGFNb2RlbCIsIm9Db25maWdNb2RlbCIsIkpTT05Nb2RlbCIsInNldFNpemVMaW1pdCIsIk51bWJlciIsIk1BWF9WQUxVRSIsImJDb25maWdMb2FkZWQiLCJ0aGF0IiwiZm5HZXRPYmplY3QiLCJfZ2V0T2JqZWN0IiwiYmluZCIsInNQYXRoIiwib0NvbnRleHQiLCJzZXREYXRhIiwiZm5DcmVhdGVNZXRhQmluZGluZ0NvbnRleHQiLCJjcmVhdGVCaW5kaW5nQ29udGV4dCIsImZuQ3JlYXRlQ29uZmlnQmluZGluZ0NvbnRleHQiLCJmblNldERhdGEiLCJkYXRhVG9TZXQiLCJtUGFyYW1ldGVycyIsImZuQ2FsbEJhY2siLCJvQmluZGluZ0NvbnRleHQiLCJiTm9SZXNvbHZlIiwibm9SZXNvbHZlIiwic1Jlc29sdmVkUGF0aCIsImdldE9iamVjdCIsImRlc3Ryb3kiLCJwcm90b3R5cGUiLCJhcHBseSIsIkJhc2VPYmplY3QiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlRlbXBsYXRlTW9kZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBCYXNlT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9PYmplY3RcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9Db250ZXh0XCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIE9EYXRhTWV0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNZXRhTW9kZWxcIjtcblxuLy8gV2UgYXJlIG92ZXJyaWRpbmcgaW50ZXJuYWwgZnJvbSB0aGUgSlNPTk1vZGVsIHNvIHRoaXMgbWFrZXMgc2Vuc2VcbnR5cGUgSW50ZXJuYWxKU09OTW9kZWwgPSBKU09OTW9kZWwgJiB7XG5cdF9nZXRPYmplY3Qoc1BhdGg6IHN0cmluZywgb0NvbnRleHQ/
|
|
75
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZW1wbGF0ZU1vZGVsIiwiZGVmaW5lVUk1Q2xhc3MiLCJwYWdlQ29uZmlnIiwib01ldGFNb2RlbCIsIm9Db25maWdNb2RlbCIsIkpTT05Nb2RlbCIsInNldFNpemVMaW1pdCIsIk51bWJlciIsIk1BWF9WQUxVRSIsImJDb25maWdMb2FkZWQiLCJ0aGF0IiwiZm5HZXRPYmplY3QiLCJfZ2V0T2JqZWN0IiwiYmluZCIsInNQYXRoIiwib0NvbnRleHQiLCJzZXREYXRhIiwiZm5DcmVhdGVNZXRhQmluZGluZ0NvbnRleHQiLCJjcmVhdGVCaW5kaW5nQ29udGV4dCIsImZuQ3JlYXRlQ29uZmlnQmluZGluZ0NvbnRleHQiLCJmblNldERhdGEiLCJkYXRhVG9TZXQiLCJtUGFyYW1ldGVycyIsImZuQ2FsbEJhY2siLCJvQmluZGluZ0NvbnRleHQiLCJiTm9SZXNvbHZlIiwibm9SZXNvbHZlIiwic1Jlc29sdmVkUGF0aCIsImdldE9iamVjdCIsImRlc3Ryb3kiLCJwcm90b3R5cGUiLCJhcHBseSIsIkJhc2VPYmplY3QiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlRlbXBsYXRlTW9kZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBCYXNlT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9PYmplY3RcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9Db250ZXh0XCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIE9EYXRhTWV0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNZXRhTW9kZWxcIjtcblxuLy8gV2UgYXJlIG92ZXJyaWRpbmcgaW50ZXJuYWwgZnJvbSB0aGUgSlNPTk1vZGVsIHNvIHRoaXMgbWFrZXMgc2Vuc2VcbnR5cGUgSW50ZXJuYWxKU09OTW9kZWwgPSBKU09OTW9kZWwgJiB7XG5cdF9nZXRPYmplY3Qoc1BhdGg6IHN0cmluZywgb0NvbnRleHQ/OiBDb250ZXh0KTogb2JqZWN0O1xufTtcbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5jb3JlLlRlbXBsYXRlTW9kZWxcIilcbmNsYXNzIFRlbXBsYXRlTW9kZWwgZXh0ZW5kcyBCYXNlT2JqZWN0IHtcblx0cHVibGljIG9NZXRhTW9kZWw6IE9EYXRhTWV0YU1vZGVsO1xuXG5cdHB1YmxpYyBvQ29uZmlnTW9kZWw6IEpTT05Nb2RlbDtcblxuXHRwdWJsaWMgYkNvbmZpZ0xvYWRlZDogYm9vbGVhbjtcblxuXHRwdWJsaWMgZm5DcmVhdGVNZXRhQmluZGluZ0NvbnRleHQ6IEZ1bmN0aW9uO1xuXG5cdHB1YmxpYyBmbkNyZWF0ZUNvbmZpZ0JpbmRpbmdDb250ZXh0OiBGdW5jdGlvbjtcblxuXHRwdWJsaWMgZm5TZXREYXRhOiBGdW5jdGlvbjtcblxuXHRjb25zdHJ1Y3RvcihwYWdlQ29uZmlnOiBGdW5jdGlvbiB8IG9iamVjdCwgb01ldGFNb2RlbDogT0RhdGFNZXRhTW9kZWwpIHtcblx0XHRzdXBlcigpO1xuXHRcdHRoaXMub01ldGFNb2RlbCA9IG9NZXRhTW9kZWw7XG5cdFx0dGhpcy5vQ29uZmlnTW9kZWwgPSBuZXcgSlNPTk1vZGVsKCk7XG5cdFx0Ly8gZG9uJ3QgbGltaXQgYWdncmVnYXRpb24gYmluZGluZ3Ncblx0XHR0aGlzLm9Db25maWdNb2RlbC5zZXRTaXplTGltaXQoTnVtYmVyLk1BWF9WQUxVRSk7XG5cdFx0dGhpcy5iQ29uZmlnTG9hZGVkID0gZmFsc2U7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG5cdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cblx0XHRpZiAodHlwZW9mIHBhZ2VDb25maWcgPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0Y29uc3QgZm5HZXRPYmplY3QgPSAodGhpcy5vQ29uZmlnTW9kZWwgYXMgSW50ZXJuYWxKU09OTW9kZWwpLl9nZXRPYmplY3QuYmluZCh0aGlzLm9Db25maWdNb2RlbCk7XG5cdFx0XHQodGhpcy5vQ29uZmlnTW9kZWwgYXMgSW50ZXJuYWxKU09OTW9kZWwpLl9nZXRPYmplY3QgPSBmdW5jdGlvbiAoc1BhdGg6IHN0cmluZywgb0NvbnRleHQ6IENvbnRleHQpIHtcblx0XHRcdFx0aWYgKCF0aGF0LmJDb25maWdMb2FkZWQpIHtcblx0XHRcdFx0XHR0aGlzLnNldERhdGEocGFnZUNvbmZpZygpKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gZm5HZXRPYmplY3Qoc1BhdGgsIG9Db250ZXh0KTtcblx0XHRcdH07XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMub0NvbmZpZ01vZGVsLnNldERhdGEocGFnZUNvbmZpZyk7XG5cdFx0fVxuXG5cdFx0dGhpcy5mbkNyZWF0ZU1ldGFCaW5kaW5nQ29udGV4dCA9IHRoaXMub01ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dC5iaW5kKHRoaXMub01ldGFNb2RlbCk7XG5cdFx0dGhpcy5mbkNyZWF0ZUNvbmZpZ0JpbmRpbmdDb250ZXh0ID0gdGhpcy5vQ29uZmlnTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQuYmluZCh0aGlzLm9Db25maWdNb2RlbCk7XG5cdFx0dGhpcy5mblNldERhdGEgPSB0aGlzLm9Db25maWdNb2RlbC5zZXREYXRhLmJpbmQodGhpcy5vQ29uZmlnTW9kZWwpO1xuXG5cdFx0dGhpcy5vQ29uZmlnTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQgPSB0aGlzLmNyZWF0ZUJpbmRpbmdDb250ZXh0LmJpbmQodGhpcyk7XG5cdFx0dGhpcy5vQ29uZmlnTW9kZWwuc2V0RGF0YSA9IHRoaXMuc2V0RGF0YS5iaW5kKHRoaXMpO1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0cmV0dXJuIHRoaXMub0NvbmZpZ01vZGVsO1xuXHR9XG5cblx0LyoqXG5cdCAqIE92ZXJ3cml0ZSB0aGUgc3RhbmRhcmQgc2V0RGF0YSB0byBrZWVwIHRyYWNrIHdoZXRoZXIgdGhlIGV4dGVybmFsIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gbG9hZGVkIG9yIG5vdC5cblx0ICpcblx0ICogQHBhcmFtIGRhdGFUb1NldCBUaGUgZGF0YSB0byBzZXQgdG8gdGhlIGpzb24gbW9kZWwgY29udGFpbmluZyB0aGUgY29uZmlndXJhdGlvblxuXHQgKi9cblx0c2V0RGF0YShkYXRhVG9TZXQ6IG9iamVjdCkge1xuXHRcdHRoaXMuZm5TZXREYXRhKGRhdGFUb1NldCk7XG5cdFx0dGhpcy5iQ29uZmlnTG9hZGVkID0gdHJ1ZTtcblx0fVxuXG5cdGNyZWF0ZUJpbmRpbmdDb250ZXh0KHNQYXRoOiBzdHJpbmcsIG9Db250ZXh0PzogQ29udGV4dCwgbVBhcmFtZXRlcnM/OiB7IG5vUmVzb2x2ZT86IGJvb2xlYW4gfSwgZm5DYWxsQmFjaz86IEZ1bmN0aW9uKTogQ29udGV4dCB7XG5cdFx0bGV0IG9CaW5kaW5nQ29udGV4dDtcblx0XHRjb25zdCBiTm9SZXNvbHZlID0gbVBhcmFtZXRlcnMgJiYgbVBhcmFtZXRlcnMubm9SZXNvbHZlO1xuXG5cdFx0b0JpbmRpbmdDb250ZXh0ID0gdGhpcy5mbkNyZWF0ZUNvbmZpZ0JpbmRpbmdDb250ZXh0KHNQYXRoLCBvQ29udGV4dCwgbVBhcmFtZXRlcnMsIGZuQ2FsbEJhY2spO1xuXHRcdGNvbnN0IHNSZXNvbHZlZFBhdGggPSAhYk5vUmVzb2x2ZSAmJiBvQmluZGluZ0NvbnRleHQ/LmdldE9iamVjdCgpO1xuXHRcdGlmIChzUmVzb2x2ZWRQYXRoICYmIHR5cGVvZiBzUmVzb2x2ZWRQYXRoID09PSBcInN0cmluZ1wiKSB7XG5cdFx0XHRvQmluZGluZ0NvbnRleHQgPSB0aGlzLmZuQ3JlYXRlTWV0YUJpbmRpbmdDb250ZXh0KHNSZXNvbHZlZFBhdGgsIG9Db250ZXh0LCBtUGFyYW1ldGVycywgZm5DYWxsQmFjayk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIG9CaW5kaW5nQ29udGV4dDtcblx0fVxuXG5cdGRlc3Ryb3koKSB7XG5cdFx0dGhpcy5vQ29uZmlnTW9kZWwuZGVzdHJveSgpO1xuXHRcdEpTT05Nb2RlbC5wcm90b3R5cGUuZGVzdHJveS5hcHBseSh0aGlzKTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBUZW1wbGF0ZU1vZGVsO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7TUFXTUEsYUFBYSxXQURsQkMsY0FBYyxDQUFDLDJCQUEyQixDQUFDO0lBQUE7SUFjM0MsdUJBQVlDLFVBQTZCLEVBQUVDLFVBQTBCLEVBQUU7TUFBQTtNQUN0RSw4QkFBTztNQUNQLE1BQUtBLFVBQVUsR0FBR0EsVUFBVTtNQUM1QixNQUFLQyxZQUFZLEdBQUcsSUFBSUMsU0FBUyxFQUFFO01BQ25DO01BQ0EsTUFBS0QsWUFBWSxDQUFDRSxZQUFZLENBQUNDLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDO01BQ2hELE1BQUtDLGFBQWEsR0FBRyxLQUFLO01BQzFCO01BQ0EsTUFBTUMsSUFBSSxnQ0FBTztNQUVqQixJQUFJLE9BQU9SLFVBQVUsS0FBSyxVQUFVLEVBQUU7UUFDckMsTUFBTVMsV0FBVyxHQUFJLE1BQUtQLFlBQVksQ0FBdUJRLFVBQVUsQ0FBQ0MsSUFBSSxDQUFDLE1BQUtULFlBQVksQ0FBQztRQUM5RixNQUFLQSxZQUFZLENBQXVCUSxVQUFVLEdBQUcsVUFBVUUsS0FBYSxFQUFFQyxRQUFpQixFQUFFO1VBQ2pHLElBQUksQ0FBQ0wsSUFBSSxDQUFDRCxhQUFhLEVBQUU7WUFDeEIsSUFBSSxDQUFDTyxPQUFPLENBQUNkLFVBQVUsRUFBRSxDQUFDO1VBQzNCO1VBQ0EsT0FBT1MsV0FBVyxDQUFDRyxLQUFLLEVBQUVDLFFBQVEsQ0FBQztRQUNwQyxDQUFDO01BQ0YsQ0FBQyxNQUFNO1FBQ04sTUFBS1gsWUFBWSxDQUFDWSxPQUFPLENBQUNkLFVBQVUsQ0FBQztNQUN0QztNQUVBLE1BQUtlLDBCQUEwQixHQUFHLE1BQUtkLFVBQVUsQ0FBQ2Usb0JBQW9CLENBQUNMLElBQUksQ0FBQyxNQUFLVixVQUFVLENBQUM7TUFDNUYsTUFBS2dCLDRCQUE0QixHQUFHLE1BQUtmLFlBQVksQ0FBQ2Msb0JBQW9CLENBQUNMLElBQUksQ0FBQyxNQUFLVCxZQUFZLENBQUM7TUFDbEcsTUFBS2dCLFNBQVMsR0FBRyxNQUFLaEIsWUFBWSxDQUFDWSxPQUFPLENBQUNILElBQUksQ0FBQyxNQUFLVCxZQUFZLENBQUM7TUFFbEUsTUFBS0EsWUFBWSxDQUFDYyxvQkFBb0IsR0FBRyxNQUFLQSxvQkFBb0IsQ0FBQ0wsSUFBSSwrQkFBTTtNQUM3RSxNQUFLVCxZQUFZLENBQUNZLE9BQU8sR0FBRyxNQUFLQSxPQUFPLENBQUNILElBQUksK0JBQU07TUFDbkQ7TUFDQTtNQUNBLE9BQU8sTUFBS1QsWUFBWTtJQUN6Qjs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0lBSkM7SUFBQSxPQUtBWSxPQUFPLEdBQVAsaUJBQVFLLFNBQWlCLEVBQUU7TUFDMUIsSUFBSSxDQUFDRCxTQUFTLENBQUNDLFNBQVMsQ0FBQztNQUN6QixJQUFJLENBQUNaLGFBQWEsR0FBRyxJQUFJO0lBQzFCLENBQUM7SUFBQSxPQUVEUyxvQkFBb0IsR0FBcEIsOEJBQXFCSixLQUFhLEVBQUVDLFFBQWtCLEVBQUVPLFdBQXFDLEVBQUVDLFVBQXFCLEVBQVc7TUFBQTtNQUM5SCxJQUFJQyxlQUFlO01BQ25CLE1BQU1DLFVBQVUsR0FBR0gsV0FBVyxJQUFJQSxXQUFXLENBQUNJLFNBQVM7TUFFdkRGLGVBQWUsR0FBRyxJQUFJLENBQUNMLDRCQUE0QixDQUFDTCxLQUFLLEVBQUVDLFFBQVEsRUFBRU8sV0FBVyxFQUFFQyxVQUFVLENBQUM7TUFDN0YsTUFBTUksYUFBYSxHQUFHLENBQUNGLFVBQVUseUJBQUlELGVBQWUscURBQWYsaUJBQWlCSSxTQUFTLEVBQUU7TUFDakUsSUFBSUQsYUFBYSxJQUFJLE9BQU9BLGFBQWEsS0FBSyxRQUFRLEVBQUU7UUFDdkRILGVBQWUsR0FBRyxJQUFJLENBQUNQLDBCQUEwQixDQUFDVSxhQUFhLEVBQUVaLFFBQVEsRUFBRU8sV0FBVyxFQUFFQyxVQUFVLENBQUM7TUFDcEc7TUFFQSxPQUFPQyxlQUFlO0lBQ3ZCLENBQUM7SUFBQSxPQUVESyxPQUFPLEdBQVAsbUJBQVU7TUFDVCxJQUFJLENBQUN6QixZQUFZLENBQUN5QixPQUFPLEVBQUU7TUFDM0J4QixTQUFTLENBQUN5QixTQUFTLENBQUNELE9BQU8sQ0FBQ0UsS0FBSyxDQUFDLElBQUksQ0FBQztJQUN4QyxDQUFDO0lBQUE7RUFBQSxFQXhFMEJDLFVBQVU7RUFBQSxPQTJFdkJoQyxhQUFhO0FBQUEifQ==
|
|
@@ -11,10 +11,15 @@ type InternalJSONModel = JSONModel & {
|
|
|
11
11
|
@defineUI5Class("sap.fe.core.TemplateModel")
|
|
12
12
|
class TemplateModel extends BaseObject {
|
|
13
13
|
public oMetaModel: ODataMetaModel;
|
|
14
|
+
|
|
14
15
|
public oConfigModel: JSONModel;
|
|
16
|
+
|
|
15
17
|
public bConfigLoaded: boolean;
|
|
18
|
+
|
|
16
19
|
public fnCreateMetaBindingContext: Function;
|
|
20
|
+
|
|
17
21
|
public fnCreateConfigBindingContext: Function;
|
|
22
|
+
|
|
18
23
|
public fnSetData: Function;
|
|
19
24
|
|
|
20
25
|
constructor(pageConfig: Function | object, oMetaModel: ODataMetaModel) {
|
|
@@ -60,7 +65,7 @@ class TemplateModel extends BaseObject {
|
|
|
60
65
|
this.bConfigLoaded = true;
|
|
61
66
|
}
|
|
62
67
|
|
|
63
|
-
createBindingContext(sPath: string, oContext?: Context, mParameters?: { noResolve?: boolean }, fnCallBack?: Function) {
|
|
68
|
+
createBindingContext(sPath: string, oContext?: Context, mParameters?: { noResolve?: boolean }, fnCallBack?: Function): Context {
|
|
64
69
|
let oBindingContext;
|
|
65
70
|
const bNoResolve = mParameters && mParameters.noResolve;
|
|
66
71
|
|
|
@@ -13,12 +13,12 @@ sap.ui.define(["sap/base/Log", "sap/base/util/ObjectPath", "sap/ui/model/json/JS
|
|
|
13
13
|
*/
|
|
14
14
|
let AttributeModel = /*#__PURE__*/function (_JSONModel) {
|
|
15
15
|
_inheritsLoose(AttributeModel, _JSONModel);
|
|
16
|
-
function AttributeModel(oNode, oProps,
|
|
16
|
+
function AttributeModel(oNode, oProps, BuildingBlockClass) {
|
|
17
17
|
var _this;
|
|
18
18
|
_this = _JSONModel.call(this) || this;
|
|
19
19
|
_this.oNode = oNode;
|
|
20
20
|
_this.oProps = oProps;
|
|
21
|
-
_this.
|
|
21
|
+
_this.BuildingBlockClass = BuildingBlockClass;
|
|
22
22
|
_this.$$valueAsPromise = true;
|
|
23
23
|
return _this;
|
|
24
24
|
}
|
|
@@ -43,15 +43,13 @@ sap.ui.define(["sap/base/Log", "sap/base/util/ObjectPath", "sap/ui/model/json/JS
|
|
|
43
43
|
return this.oProps[sPath];
|
|
44
44
|
}
|
|
45
45
|
if (sPath.indexOf(":") === -1 && sPath.indexOf("/") === -1) {
|
|
46
|
-
// Gloves are off, if you have this error you forgot to
|
|
47
|
-
Log.error(`Missing property ${sPath} on building block metadata ${this.
|
|
48
|
-
//throw new Error(`Missing property ${sPath} on macro metadata ${this.buildingBlockDefinition.name}`);
|
|
46
|
+
// Gloves are off, if you have this error you forgot to decorate your property with @blockAttribute but are still using it in underlying templating
|
|
47
|
+
Log.error(`Missing property ${sPath} on building block metadata ${this.BuildingBlockClass.name}`);
|
|
49
48
|
}
|
|
50
|
-
|
|
51
49
|
return this.oNode.getAttribute(sPath);
|
|
52
50
|
};
|
|
53
51
|
return AttributeModel;
|
|
54
52
|
}(JSONModel);
|
|
55
53
|
return AttributeModel;
|
|
56
54
|
}, false);
|
|
57
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBdHRyaWJ1dGVNb2RlbCIsIm9Ob2RlIiwib1Byb3BzIiwiQnVpbGRpbmdCbG9ja0NsYXNzIiwiJCR2YWx1ZUFzUHJvbWlzZSIsIl9nZXRPYmplY3QiLCJzUGF0aCIsIm9Db250ZXh0IiwidW5kZWZpbmVkIiwiZ2V0UGF0aCIsIm9WYWx1ZSIsIk9iamVjdFBhdGgiLCJnZXQiLCJyZXBsYWNlIiwiaGFzT3duUHJvcGVydHkiLCJpbmRleE9mIiwiTG9nIiwiZXJyb3IiLCJuYW1lIiwiZ2V0QXR0cmlidXRlIiwiSlNPTk1vZGVsIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJBdHRyaWJ1dGVNb2RlbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBPYmplY3RQYXRoIGZyb20gXCJzYXAvYmFzZS91dGlsL09iamVjdFBhdGhcIjtcbmltcG9ydCB0eXBlIEJ1aWxkaW5nQmxvY2tCYXNlIGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrQmFzZVwiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL0NvbnRleHRcIjtcbmltcG9ydCBKU09OTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9qc29uL0pTT05Nb2RlbFwiO1xuXG4vKipcbiAqIFNwZWNpYWwgSlNPTk1vZGVsIHRoYXQgaXMgdXNlZCB0byBzdG9yZSB0aGUgYXR0cmlidXRlIG1vZGVsIGZvciB0aGUgYnVpbGRpbmcgYmxvY2suXG4gKiBJdCBoYXMgc3BlY2lmaWMgaGFuZGxpbmcgZm9yIHVuZGVmaW5lZFZhbHVlIG1hcHBpbmdcbiAqL1xuY2xhc3MgQXR0cmlidXRlTW9kZWwgZXh0ZW5kcyBKU09OTW9kZWwge1xuXHRwdWJsaWMgJCR2YWx1ZUFzUHJvbWlzZTogYm9vbGVhbjtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIHJlYWRvbmx5IG9Ob2RlOiBFbGVtZW50LFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgb1Byb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcblx0XHRwcml2YXRlIHJlYWRvbmx5IEJ1aWxkaW5nQmxvY2tDbGFzczogdHlwZW9mIEJ1aWxkaW5nQmxvY2tCYXNlXG5cdCkge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy4kJHZhbHVlQXNQcm9taXNlID0gdHJ1ZTtcblx0fVxuXG5cdF9nZXRPYmplY3Qoc1BhdGg6IHN0cmluZywgb0NvbnRleHQ/OiBDb250ZXh0KTogdW5rbm93biB7XG5cdFx0aWYgKHNQYXRoID09PSB1bmRlZmluZWQgfHwgc1BhdGggPT09IFwiXCIpIHtcblx0XHRcdGlmIChvQ29udGV4dCAhPT0gdW5kZWZpbmVkICYmIG9Db250ZXh0LmdldFBhdGgoKSAhPT0gXCIvXCIpIHtcblx0XHRcdFx0cmV0dXJuIHRoaXMuX2dldE9iamVjdChvQ29udGV4dC5nZXRQYXRoKHNQYXRoKSk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gdGhpcy5vUHJvcHM7XG5cdFx0fVxuXHRcdGlmIChzUGF0aCA9PT0gXCIvdW5kZWZpbmVkVmFsdWVcIiB8fCBzUGF0aCA9PT0gXCJ1bmRlZmluZWRWYWx1ZVwiKSB7XG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdH1cblx0XHQvLyBqdXN0IHJldHVybiB0aGUgYXR0cmlidXRlIC0gd2UgY2FuJ3QgdmFsaWRhdGUgdGhlbSwgYW5kIHdlIGRvbid0IHN1cHBvcnQgYWdncmVnYXRpb25zIGZvciBub3dcblx0XHRjb25zdCBvVmFsdWUgPSBPYmplY3RQYXRoLmdldChzUGF0aC5yZXBsYWNlKC9cXC8vZywgXCIuXCIpLCB0aGlzLm9Qcm9wcyk7XG5cdFx0aWYgKG9WYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRyZXR1cm4gb1ZhbHVlO1xuXHRcdH1cblx0XHQvLyBEZWFsIHdpdGggdW5kZWZpbmVkIHByb3BlcnRpZXNcblx0XHRpZiAodGhpcy5vUHJvcHMuaGFzT3duUHJvcGVydHkoc1BhdGgpKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5vUHJvcHNbc1BhdGhdO1xuXHRcdH1cblx0XHRpZiAoc1BhdGguaW5kZXhPZihcIjpcIikgPT09IC0xICYmIHNQYXRoLmluZGV4T2YoXCIvXCIpID09PSAtMSkge1xuXHRcdFx0Ly8gR2xvdmVzIGFyZSBvZmYsIGlmIHlvdSBoYXZlIHRoaXMgZXJyb3IgeW91IGZvcmdvdCB0byBkZWNvcmF0ZSB5b3VyIHByb3BlcnR5IHdpdGggQGJsb2NrQXR0cmlidXRlIGJ1dCBhcmUgc3RpbGwgdXNpbmcgaXQgaW4gdW5kZXJseWluZyB0ZW1wbGF0aW5nXG5cdFx0XHRMb2cuZXJyb3IoYE1pc3NpbmcgcHJvcGVydHkgJHtzUGF0aH0gb24gYnVpbGRpbmcgYmxvY2sgbWV0YWRhdGEgJHt0aGlzLkJ1aWxkaW5nQmxvY2tDbGFzcy5uYW1lfWApO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5vTm9kZS5nZXRBdHRyaWJ1dGUoc1BhdGgpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEF0dHJpYnV0ZU1vZGVsO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7RUFNQTtBQUNBO0FBQ0E7QUFDQTtFQUhBLElBSU1BLGNBQWM7SUFBQTtJQUduQix3QkFDa0JDLEtBQWMsRUFDZEMsTUFBK0IsRUFDL0JDLGtCQUE0QyxFQUM1RDtNQUFBO01BQ0QsNkJBQU87TUFBQyxNQUpTRixLQUFjLEdBQWRBLEtBQWM7TUFBQSxNQUNkQyxNQUErQixHQUEvQkEsTUFBK0I7TUFBQSxNQUMvQkMsa0JBQTRDLEdBQTVDQSxrQkFBNEM7TUFHN0QsTUFBS0MsZ0JBQWdCLEdBQUcsSUFBSTtNQUFDO0lBQzlCO0lBQUM7SUFBQSxPQUVEQyxVQUFVLEdBQVYsb0JBQVdDLEtBQWEsRUFBRUMsUUFBa0IsRUFBVztNQUN0RCxJQUFJRCxLQUFLLEtBQUtFLFNBQVMsSUFBSUYsS0FBSyxLQUFLLEVBQUUsRUFBRTtRQUN4QyxJQUFJQyxRQUFRLEtBQUtDLFNBQVMsSUFBSUQsUUFBUSxDQUFDRSxPQUFPLEVBQUUsS0FBSyxHQUFHLEVBQUU7VUFDekQsT0FBTyxJQUFJLENBQUNKLFVBQVUsQ0FBQ0UsUUFBUSxDQUFDRSxPQUFPLENBQUNILEtBQUssQ0FBQyxDQUFDO1FBQ2hEO1FBQ0EsT0FBTyxJQUFJLENBQUNKLE1BQU07TUFDbkI7TUFDQSxJQUFJSSxLQUFLLEtBQUssaUJBQWlCLElBQUlBLEtBQUssS0FBSyxnQkFBZ0IsRUFBRTtRQUM5RCxPQUFPRSxTQUFTO01BQ2pCO01BQ0E7TUFDQSxNQUFNRSxNQUFNLEdBQUdDLFVBQVUsQ0FBQ0MsR0FBRyxDQUFDTixLQUFLLENBQUNPLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDWCxNQUFNLENBQUM7TUFDckUsSUFBSVEsTUFBTSxLQUFLRixTQUFTLEVBQUU7UUFDekIsT0FBT0UsTUFBTTtNQUNkO01BQ0E7TUFDQSxJQUFJLElBQUksQ0FBQ1IsTUFBTSxDQUFDWSxjQUFjLENBQUNSLEtBQUssQ0FBQyxFQUFFO1FBQ3RDLE9BQU8sSUFBSSxDQUFDSixNQUFNLENBQUNJLEtBQUssQ0FBQztNQUMxQjtNQUNBLElBQUlBLEtBQUssQ0FBQ1MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJVCxLQUFLLENBQUNTLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUMzRDtRQUNBQyxHQUFHLENBQUNDLEtBQUssQ0FBRSxvQkFBbUJYLEtBQU0sK0JBQThCLElBQUksQ0FBQ0gsa0JBQWtCLENBQUNlLElBQUssRUFBQyxDQUFDO01BQ2xHO01BQ0EsT0FBTyxJQUFJLENBQUNqQixLQUFLLENBQUNrQixZQUFZLENBQUNiLEtBQUssQ0FBQztJQUN0QyxDQUFDO0lBQUE7RUFBQSxFQXBDMkJjLFNBQVM7RUFBQSxPQXVDdkJwQixjQUFjO0FBQUEifQ==
|
|
@@ -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/base/util/ObjectPath","sap/ui/model/json/JSONModel"],function(t,e,n){"use strict";function
|
|
5
|
+
sap.ui.define(["sap/base/Log","sap/base/util/ObjectPath","sap/ui/model/json/JSONModel"],function(t,e,n){"use strict";function r(t,e){t.prototype=Object.create(e.prototype);t.prototype.constructor=t;o(t,e)}function o(t,e){o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function t(e,n){e.__proto__=n;return e};return o(t,e)}let i=function(n){r(o,n);function o(t,e,r){var o;o=n.call(this)||this;o.oNode=t;o.oProps=e;o.BuildingBlockClass=r;o.$$valueAsPromise=true;return o}var i=o.prototype;i._getObject=function n(r,o){if(r===undefined||r===""){if(o!==undefined&&o.getPath()!=="/"){return this._getObject(o.getPath(r))}return this.oProps}if(r==="/undefinedValue"||r==="undefinedValue"){return undefined}const i=e.get(r.replace(/\//g,"."),this.oProps);if(i!==undefined){return i}if(this.oProps.hasOwnProperty(r)){return this.oProps[r]}if(r.indexOf(":")===-1&&r.indexOf("/")===-1){t.error(`Missing property ${r} on building block metadata ${this.BuildingBlockClass.name}`)}return this.oNode.getAttribute(r)};return o}(n);return i},false);
|
|
6
6
|
//# sourceMappingURL=AttributeModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeModel.js","names":["sap","ui","define","Log","ObjectPath","JSONModel","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","AttributeModel","_JSONModel","oNode","oProps","
|
|
1
|
+
{"version":3,"file":"AttributeModel.js","names":["sap","ui","define","Log","ObjectPath","JSONModel","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","AttributeModel","_JSONModel","oNode","oProps","BuildingBlockClass","_this","call","this","$$valueAsPromise","_proto","_getObject","sPath","oContext","undefined","getPath","oValue","get","replace","hasOwnProperty","indexOf","error","name","getAttribute"],"sources":["AttributeModel-dbg.js"],"mappings":";;;;AAIAA,IAAIC,GAAGC,OAAO,CAAC,eAAgB,2BAA4B,+BAAgC,SAAUC,EAAKC,EAAYC,GACpH,aAEA,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,CAKvM,IAAII,EAA8B,SAAUC,GAC1Cd,EAAea,EAAgBC,GAC/B,SAASD,EAAeE,EAAOC,EAAQC,GACrC,IAAIC,EACJA,EAAQJ,EAAWK,KAAKC,OAASA,KACjCF,EAAMH,MAAQA,EACdG,EAAMF,OAASA,EACfE,EAAMD,mBAAqBA,EAC3BC,EAAMG,iBAAmB,KACzB,OAAOH,CACT,CACA,IAAII,EAAST,EAAeV,UAC5BmB,EAAOC,WAAa,SAASA,EAAWC,EAAOC,GAC7C,GAAID,IAAUE,WAAaF,IAAU,GAAI,CACvC,GAAIC,IAAaC,WAAaD,EAASE,YAAc,IAAK,CACxD,OAAOP,KAAKG,WAAWE,EAASE,QAAQH,GAC1C,CACA,OAAOJ,KAAKJ,MACd,CACA,GAAIQ,IAAU,mBAAqBA,IAAU,iBAAkB,CAC7D,OAAOE,SACT,CAEA,MAAME,EAAS9B,EAAW+B,IAAIL,EAAMM,QAAQ,MAAO,KAAMV,KAAKJ,QAC9D,GAAIY,IAAWF,UAAW,CACxB,OAAOE,CACT,CAEA,GAAIR,KAAKJ,OAAOe,eAAeP,GAAQ,CACrC,OAAOJ,KAAKJ,OAAOQ,EACrB,CACA,GAAIA,EAAMQ,QAAQ,QAAU,GAAKR,EAAMQ,QAAQ,QAAU,EAAG,CAE1DnC,EAAIoC,MAAM,oBAAoBT,gCAAoCJ,KAAKH,mBAAmBiB,OAC5F,CACA,OAAOd,KAAKL,MAAMoB,aAAaX,EACjC,EACA,OAAOX,CACT,CAtCkC,CAsChCd,GACF,OAAOc,CACT,EAAG"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Log from "sap/base/Log";
|
|
2
2
|
import ObjectPath from "sap/base/util/ObjectPath";
|
|
3
|
-
import type
|
|
3
|
+
import type BuildingBlockBase from "sap/fe/core/buildingBlocks/BuildingBlockBase";
|
|
4
4
|
import type Context from "sap/ui/model/Context";
|
|
5
5
|
import JSONModel from "sap/ui/model/json/JSONModel";
|
|
6
6
|
|
|
@@ -10,14 +10,16 @@ import JSONModel from "sap/ui/model/json/JSONModel";
|
|
|
10
10
|
*/
|
|
11
11
|
class AttributeModel extends JSONModel {
|
|
12
12
|
public $$valueAsPromise: boolean;
|
|
13
|
+
|
|
13
14
|
constructor(
|
|
14
15
|
private readonly oNode: Element,
|
|
15
16
|
private readonly oProps: Record<string, unknown>,
|
|
16
|
-
private readonly
|
|
17
|
+
private readonly BuildingBlockClass: typeof BuildingBlockBase
|
|
17
18
|
) {
|
|
18
19
|
super();
|
|
19
20
|
this.$$valueAsPromise = true;
|
|
20
21
|
}
|
|
22
|
+
|
|
21
23
|
_getObject(sPath: string, oContext?: Context): unknown {
|
|
22
24
|
if (sPath === undefined || sPath === "") {
|
|
23
25
|
if (oContext !== undefined && oContext.getPath() !== "/") {
|
|
@@ -38,9 +40,8 @@ class AttributeModel extends JSONModel {
|
|
|
38
40
|
return this.oProps[sPath];
|
|
39
41
|
}
|
|
40
42
|
if (sPath.indexOf(":") === -1 && sPath.indexOf("/") === -1) {
|
|
41
|
-
// Gloves are off, if you have this error you forgot to
|
|
42
|
-
Log.error(`Missing property ${sPath} on building block metadata ${this.
|
|
43
|
-
//throw new Error(`Missing property ${sPath} on macro metadata ${this.buildingBlockDefinition.name}`);
|
|
43
|
+
// Gloves are off, if you have this error you forgot to decorate your property with @blockAttribute but are still using it in underlying templating
|
|
44
|
+
Log.error(`Missing property ${sPath} on building block metadata ${this.BuildingBlockClass.name}`);
|
|
44
45
|
}
|
|
45
46
|
return this.oNode.getAttribute(sPath);
|
|
46
47
|
}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define(["sap/base/util/deepClone", "sap/base/util/merge", "sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor", "sap/fe/core/converters/ConverterContext", "sap/fe/core/helpers/BindingToolkit", "sap/fe/core/helpers/StableIdHelper"], function (deepClone, merge, BuildingBlockTemplateProcessor, ConverterContext, BindingToolkit, StableIdHelper) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var _exports = {};
|
|
9
|
+
var generate = StableIdHelper.generate;
|
|
10
|
+
var isUndefinedExpression = BindingToolkit.isUndefinedExpression;
|
|
11
|
+
var xml = BuildingBlockTemplateProcessor.xml;
|
|
12
|
+
var unregisterBuildingBlock = BuildingBlockTemplateProcessor.unregisterBuildingBlock;
|
|
13
|
+
var registerBuildingBlock = BuildingBlockTemplateProcessor.registerBuildingBlock;
|
|
14
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
15
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
16
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
17
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
18
|
+
/**
|
|
19
|
+
* Base class for building blocks
|
|
20
|
+
*/
|
|
21
|
+
let BuildingBlockBase = /*#__PURE__*/function () {
|
|
22
|
+
function BuildingBlockBase(props, _controlConfiguration, _visitorSettings) {
|
|
23
|
+
var _visitorSettings$mode;
|
|
24
|
+
this.isPublic = false;
|
|
25
|
+
this.getConverterContext = function (dataModelObjectPath, contextPath, settings, extraParams) {
|
|
26
|
+
var _settings$models$view;
|
|
27
|
+
const appComponent = settings.appComponent;
|
|
28
|
+
const originalViewData = (_settings$models$view = settings.models.viewData) === null || _settings$models$view === void 0 ? void 0 : _settings$models$view.getData();
|
|
29
|
+
let viewData = Object.assign({}, originalViewData);
|
|
30
|
+
delete viewData.resourceModel;
|
|
31
|
+
viewData = deepClone(viewData);
|
|
32
|
+
viewData.controlConfiguration = merge(viewData.controlConfiguration, extraParams || {});
|
|
33
|
+
return ConverterContext.createConverterContextForMacro(dataModelObjectPath.startingEntitySet.name, settings.models.metaModel, appComponent === null || appComponent === void 0 ? void 0 : appComponent.getDiagnostics(), merge, dataModelObjectPath.contextLocation, viewData);
|
|
34
|
+
};
|
|
35
|
+
Object.keys(props).forEach(propName => {
|
|
36
|
+
this[propName] = props[propName];
|
|
37
|
+
});
|
|
38
|
+
this.resourceModel = _visitorSettings === null || _visitorSettings === void 0 ? void 0 : (_visitorSettings$mode = _visitorSettings.models) === null || _visitorSettings$mode === void 0 ? void 0 : _visitorSettings$mode["sap.fe.i18n"];
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Only used internally
|
|
43
|
+
*
|
|
44
|
+
* @private
|
|
45
|
+
*/
|
|
46
|
+
_exports = BuildingBlockBase;
|
|
47
|
+
var _proto = BuildingBlockBase.prototype;
|
|
48
|
+
/**
|
|
49
|
+
* Convert the given local element ID to a globally unique ID by prefixing with the Building Block ID.
|
|
50
|
+
*
|
|
51
|
+
* @param stringParts
|
|
52
|
+
* @returns Either the global ID or undefined if the Building Block doesn't have an ID
|
|
53
|
+
* @private
|
|
54
|
+
*/
|
|
55
|
+
_proto.createId = function createId() {
|
|
56
|
+
// If the child instance has an ID property use it otherwise return undefined
|
|
57
|
+
if (this.id) {
|
|
58
|
+
for (var _len = arguments.length, stringParts = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
59
|
+
stringParts[_key] = arguments[_key];
|
|
60
|
+
}
|
|
61
|
+
return generate([this.id, ...stringParts]);
|
|
62
|
+
}
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Get the ID of the content control.
|
|
68
|
+
*
|
|
69
|
+
* @param buildingBlockId
|
|
70
|
+
* @returns Return the ID
|
|
71
|
+
* @private
|
|
72
|
+
*/;
|
|
73
|
+
_proto.getContentId = function getContentId(buildingBlockId) {
|
|
74
|
+
return `${buildingBlockId}-content`;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Returns translated text for a given resource key.
|
|
79
|
+
*
|
|
80
|
+
* @param textID ID of the Text
|
|
81
|
+
* @param parameters Array of parameters that are used to create the text
|
|
82
|
+
* @param metaPath Entity set name or action name to overload a text
|
|
83
|
+
* @returns Determined text
|
|
84
|
+
*/;
|
|
85
|
+
_proto.getTranslatedText = function getTranslatedText(textID, parameters, metaPath) {
|
|
86
|
+
var _this$resourceModel;
|
|
87
|
+
return ((_this$resourceModel = this.resourceModel) === null || _this$resourceModel === void 0 ? void 0 : _this$resourceModel.getText(textID, parameters, metaPath)) || textID;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Only used internally.
|
|
91
|
+
*
|
|
92
|
+
* @returns All the properties defined on the object with their values
|
|
93
|
+
* @private
|
|
94
|
+
*/
|
|
95
|
+
_proto.getProperties = function getProperties() {
|
|
96
|
+
const allProperties = {};
|
|
97
|
+
for (const oInstanceKey in this) {
|
|
98
|
+
if (this.hasOwnProperty(oInstanceKey)) {
|
|
99
|
+
allProperties[oInstanceKey] = this[oInstanceKey];
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return allProperties;
|
|
103
|
+
};
|
|
104
|
+
BuildingBlockBase.register = function register() {
|
|
105
|
+
registerBuildingBlock(this);
|
|
106
|
+
};
|
|
107
|
+
BuildingBlockBase.unregister = function unregister() {
|
|
108
|
+
unregisterBuildingBlock(this);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Add a part of string based on the condition.
|
|
113
|
+
*
|
|
114
|
+
* @param condition
|
|
115
|
+
* @param partToAdd
|
|
116
|
+
* @returns The part to add if the condition is true, otherwise an empty string
|
|
117
|
+
* @private
|
|
118
|
+
*/;
|
|
119
|
+
_proto.addConditionally = function addConditionally(condition, partToAdd) {
|
|
120
|
+
if (condition) {
|
|
121
|
+
return partToAdd;
|
|
122
|
+
} else {
|
|
123
|
+
return "";
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Add an attribute depending on the current value of the property.
|
|
129
|
+
* If it's undefined the attribute is not added.
|
|
130
|
+
*
|
|
131
|
+
* @param attributeName
|
|
132
|
+
* @param value
|
|
133
|
+
* @returns The attribute to add if the value is not undefined, otherwise an empty string
|
|
134
|
+
* @private
|
|
135
|
+
*/;
|
|
136
|
+
_proto.attr = function attr(attributeName, value) {
|
|
137
|
+
if (value !== undefined && !isUndefinedExpression(value)) {
|
|
138
|
+
return () => xml`${attributeName}="${value}"`;
|
|
139
|
+
} else {
|
|
140
|
+
return () => "";
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
_createClass(BuildingBlockBase, null, [{
|
|
144
|
+
key: "metadata",
|
|
145
|
+
get: function () {
|
|
146
|
+
// We need to store the metadata on the actual subclass, not on BuildingBlockBase
|
|
147
|
+
this.internalMetadata ??= {
|
|
148
|
+
namespace: "",
|
|
149
|
+
name: "",
|
|
150
|
+
properties: {},
|
|
151
|
+
aggregations: {},
|
|
152
|
+
stereotype: "xmlmacro"
|
|
153
|
+
};
|
|
154
|
+
return this.internalMetadata;
|
|
155
|
+
}
|
|
156
|
+
}]);
|
|
157
|
+
return BuildingBlockBase;
|
|
158
|
+
}();
|
|
159
|
+
BuildingBlockBase.isRuntime = false;
|
|
160
|
+
_exports = BuildingBlockBase;
|
|
161
|
+
return _exports;
|
|
162
|
+
}, false);
|
|
163
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCdWlsZGluZ0Jsb2NrQmFzZSIsInByb3BzIiwiX2NvbnRyb2xDb25maWd1cmF0aW9uIiwiX3Zpc2l0b3JTZXR0aW5ncyIsImlzUHVibGljIiwiZ2V0Q29udmVydGVyQ29udGV4dCIsImRhdGFNb2RlbE9iamVjdFBhdGgiLCJjb250ZXh0UGF0aCIsInNldHRpbmdzIiwiZXh0cmFQYXJhbXMiLCJhcHBDb21wb25lbnQiLCJvcmlnaW5hbFZpZXdEYXRhIiwibW9kZWxzIiwidmlld0RhdGEiLCJnZXREYXRhIiwiT2JqZWN0IiwiYXNzaWduIiwicmVzb3VyY2VNb2RlbCIsImRlZXBDbG9uZSIsImNvbnRyb2xDb25maWd1cmF0aW9uIiwibWVyZ2UiLCJDb252ZXJ0ZXJDb250ZXh0IiwiY3JlYXRlQ29udmVydGVyQ29udGV4dEZvck1hY3JvIiwic3RhcnRpbmdFbnRpdHlTZXQiLCJuYW1lIiwibWV0YU1vZGVsIiwiZ2V0RGlhZ25vc3RpY3MiLCJjb250ZXh0TG9jYXRpb24iLCJrZXlzIiwiZm9yRWFjaCIsInByb3BOYW1lIiwiY3JlYXRlSWQiLCJpZCIsInN0cmluZ1BhcnRzIiwiZ2VuZXJhdGUiLCJ1bmRlZmluZWQiLCJnZXRDb250ZW50SWQiLCJidWlsZGluZ0Jsb2NrSWQiLCJnZXRUcmFuc2xhdGVkVGV4dCIsInRleHRJRCIsInBhcmFtZXRlcnMiLCJtZXRhUGF0aCIsImdldFRleHQiLCJnZXRQcm9wZXJ0aWVzIiwiYWxsUHJvcGVydGllcyIsIm9JbnN0YW5jZUtleSIsImhhc093blByb3BlcnR5IiwicmVnaXN0ZXIiLCJyZWdpc3RlckJ1aWxkaW5nQmxvY2siLCJ1bnJlZ2lzdGVyIiwidW5yZWdpc3RlckJ1aWxkaW5nQmxvY2siLCJhZGRDb25kaXRpb25hbGx5IiwiY29uZGl0aW9uIiwicGFydFRvQWRkIiwiYXR0ciIsImF0dHJpYnV0ZU5hbWUiLCJ2YWx1ZSIsImlzVW5kZWZpbmVkRXhwcmVzc2lvbiIsInhtbCIsImludGVybmFsTWV0YWRhdGEiLCJuYW1lc3BhY2UiLCJwcm9wZXJ0aWVzIiwiYWdncmVnYXRpb25zIiwic3RlcmVvdHlwZSIsImlzUnVudGltZSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiQnVpbGRpbmdCbG9ja0Jhc2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRlZXBDbG9uZSBmcm9tIFwic2FwL2Jhc2UvdXRpbC9kZWVwQ2xvbmVcIjtcbmltcG9ydCBtZXJnZSBmcm9tIFwic2FwL2Jhc2UvdXRpbC9tZXJnZVwiO1xuaW1wb3J0IHR5cGUgeyBCdWlsZGluZ0Jsb2NrTWV0YWRhdGEsIE9iamVjdFZhbHVlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL0J1aWxkaW5nQmxvY2tTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSB7IFRlbXBsYXRlUHJvY2Vzc29yU2V0dGluZ3MsIFhNTFByb2Nlc3NvclR5cGVWYWx1ZSB9IGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrVGVtcGxhdGVQcm9jZXNzb3JcIjtcbmltcG9ydCB7IHJlZ2lzdGVyQnVpbGRpbmdCbG9jaywgdW5yZWdpc3RlckJ1aWxkaW5nQmxvY2ssIHhtbCB9IGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrVGVtcGxhdGVQcm9jZXNzb3JcIjtcbmltcG9ydCBDb252ZXJ0ZXJDb250ZXh0IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL0NvbnZlcnRlckNvbnRleHRcIjtcbmltcG9ydCB7IGlzVW5kZWZpbmVkRXhwcmVzc2lvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgeyBnZW5lcmF0ZSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1N0YWJsZUlkSGVscGVyXCI7XG5pbXBvcnQgdHlwZSBSZXNvdXJjZU1vZGVsIGZyb20gXCJzYXAvZmUvY29yZS9SZXNvdXJjZU1vZGVsXCI7XG5pbXBvcnQgdHlwZSB7IERhdGFNb2RlbE9iamVjdFBhdGggfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9EYXRhTW9kZWxQYXRoSGVscGVyXCI7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgYnVpbGRpbmcgYmxvY2tzXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJ1aWxkaW5nQmxvY2tCYXNlIHtcblx0cHJpdmF0ZSBzdGF0aWMgaW50ZXJuYWxNZXRhZGF0YTogQnVpbGRpbmdCbG9ja01ldGFkYXRhO1xuXG5cdHB1YmxpYyBzdGF0aWMgZ2V0IG1ldGFkYXRhKCk6IEJ1aWxkaW5nQmxvY2tNZXRhZGF0YSB7XG5cdFx0Ly8gV2UgbmVlZCB0byBzdG9yZSB0aGUgbWV0YWRhdGEgb24gdGhlIGFjdHVhbCBzdWJjbGFzcywgbm90IG9uIEJ1aWxkaW5nQmxvY2tCYXNlXG5cdFx0dGhpcy5pbnRlcm5hbE1ldGFkYXRhID8/PSB7XG5cdFx0XHRuYW1lc3BhY2U6IFwiXCIsXG5cdFx0XHRuYW1lOiBcIlwiLFxuXHRcdFx0cHJvcGVydGllczoge30sXG5cdFx0XHRhZ2dyZWdhdGlvbnM6IHt9LFxuXHRcdFx0c3RlcmVvdHlwZTogXCJ4bWxtYWNyb1wiXG5cdFx0fTtcblx0XHRyZXR1cm4gdGhpcy5pbnRlcm5hbE1ldGFkYXRhO1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBpc1J1bnRpbWU6IGJvb2xlYW4gPSBmYWxzZTtcblxuXHRwcm90ZWN0ZWQgaXNQdWJsaWMgPSBmYWxzZTtcblxuXHRwcml2YXRlIHJlc291cmNlTW9kZWw/OiBSZXNvdXJjZU1vZGVsO1xuXG5cdHByb3RlY3RlZCBpZD86IHN0cmluZztcblxuXHRjb25zdHJ1Y3Rvcihwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIF9jb250cm9sQ29uZmlndXJhdGlvbj86IHVua25vd24sIF92aXNpdG9yU2V0dGluZ3M/OiBUZW1wbGF0ZVByb2Nlc3NvclNldHRpbmdzKSB7XG5cdFx0T2JqZWN0LmtleXMocHJvcHMpLmZvckVhY2goKHByb3BOYW1lKSA9PiB7XG5cdFx0XHR0aGlzW3Byb3BOYW1lIGFzIGtleW9mIHRoaXNdID0gcHJvcHNbcHJvcE5hbWVdIGFzIG5ldmVyO1xuXHRcdH0pO1xuXG5cdFx0dGhpcy5yZXNvdXJjZU1vZGVsID0gX3Zpc2l0b3JTZXR0aW5ncz8ubW9kZWxzPy5bXCJzYXAuZmUuaTE4blwiXTtcblx0fVxuXG5cdC8qKlxuXHQgKiBPbmx5IHVzZWQgaW50ZXJuYWxseVxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0cHVibGljIGdldFRlbXBsYXRlPyhvTm9kZT86IEVsZW1lbnQpOiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4gfCB1bmRlZmluZWQ7XG5cblx0LyoqXG5cdCAqIENvbnZlcnQgdGhlIGdpdmVuIGxvY2FsIGVsZW1lbnQgSUQgdG8gYSBnbG9iYWxseSB1bmlxdWUgSUQgYnkgcHJlZml4aW5nIHdpdGggdGhlIEJ1aWxkaW5nIEJsb2NrIElELlxuXHQgKlxuXHQgKiBAcGFyYW0gc3RyaW5nUGFydHNcblx0ICogQHJldHVybnMgRWl0aGVyIHRoZSBnbG9iYWwgSUQgb3IgdW5kZWZpbmVkIGlmIHRoZSBCdWlsZGluZyBCbG9jayBkb2Vzbid0IGhhdmUgYW4gSURcblx0ICogQHByaXZhdGVcblx0ICovXG5cdHByb3RlY3RlZCBjcmVhdGVJZCguLi5zdHJpbmdQYXJ0czogc3RyaW5nW10pIHtcblx0XHQvLyBJZiB0aGUgY2hpbGQgaW5zdGFuY2UgaGFzIGFuIElEIHByb3BlcnR5IHVzZSBpdCBvdGhlcndpc2UgcmV0dXJuIHVuZGVmaW5lZFxuXHRcdGlmICh0aGlzLmlkKSB7XG5cdFx0XHRyZXR1cm4gZ2VuZXJhdGUoW3RoaXMuaWQsIC4uLnN0cmluZ1BhcnRzXSk7XG5cdFx0fVxuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblxuXHQvKipcblx0ICogR2V0IHRoZSBJRCBvZiB0aGUgY29udGVudCBjb250cm9sLlxuXHQgKlxuXHQgKiBAcGFyYW0gYnVpbGRpbmdCbG9ja0lkXG5cdCAqIEByZXR1cm5zIFJldHVybiB0aGUgSURcblx0ICogQHByaXZhdGVcblx0ICovXG5cdHByb3RlY3RlZCBnZXRDb250ZW50SWQoYnVpbGRpbmdCbG9ja0lkOiBzdHJpbmcpIHtcblx0XHRyZXR1cm4gYCR7YnVpbGRpbmdCbG9ja0lkfS1jb250ZW50YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRyYW5zbGF0ZWQgdGV4dCBmb3IgYSBnaXZlbiByZXNvdXJjZSBrZXkuXG5cdCAqXG5cdCAqIEBwYXJhbSB0ZXh0SUQgSUQgb2YgdGhlIFRleHRcblx0ICogQHBhcmFtIHBhcmFtZXRlcnMgQXJyYXkgb2YgcGFyYW1ldGVycyB0aGF0IGFyZSB1c2VkIHRvIGNyZWF0ZSB0aGUgdGV4dFxuXHQgKiBAcGFyYW0gbWV0YVBhdGggRW50aXR5IHNldCBuYW1lIG9yIGFjdGlvbiBuYW1lIHRvIG92ZXJsb2FkIGEgdGV4dFxuXHQgKiBAcmV0dXJucyBEZXRlcm1pbmVkIHRleHRcblx0ICovXG5cdGdldFRyYW5zbGF0ZWRUZXh0KHRleHRJRDogc3RyaW5nLCBwYXJhbWV0ZXJzPzogdW5rbm93bltdLCBtZXRhUGF0aD86IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMucmVzb3VyY2VNb2RlbD8uZ2V0VGV4dCh0ZXh0SUQsIHBhcmFtZXRlcnMsIG1ldGFQYXRoKSB8fCB0ZXh0SUQ7XG5cdH1cblxuXHRwcm90ZWN0ZWQgZ2V0Q29udmVydGVyQ29udGV4dCA9IGZ1bmN0aW9uIChcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoLFxuXHRcdGNvbnRleHRQYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQsXG5cdFx0c2V0dGluZ3M6IFRlbXBsYXRlUHJvY2Vzc29yU2V0dGluZ3MsXG5cdFx0ZXh0cmFQYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuXHQpIHtcblx0XHRjb25zdCBhcHBDb21wb25lbnQgPSBzZXR0aW5ncy5hcHBDb21wb25lbnQ7XG5cdFx0Y29uc3Qgb3JpZ2luYWxWaWV3RGF0YSA9IHNldHRpbmdzLm1vZGVscy52aWV3RGF0YT8uZ2V0RGF0YSgpO1xuXHRcdGxldCB2aWV3RGF0YSA9IE9iamVjdC5hc3NpZ24oe30sIG9yaWdpbmFsVmlld0RhdGEpO1xuXHRcdGRlbGV0ZSB2aWV3RGF0YS5yZXNvdXJjZU1vZGVsO1xuXHRcdHZpZXdEYXRhID0gZGVlcENsb25lKHZpZXdEYXRhKTtcblx0XHR2aWV3RGF0YS5jb250cm9sQ29uZmlndXJhdGlvbiA9IG1lcmdlKHZpZXdEYXRhLmNvbnRyb2xDb25maWd1cmF0aW9uLCBleHRyYVBhcmFtcyB8fCB7fSk7XG5cdFx0cmV0dXJuIENvbnZlcnRlckNvbnRleHQuY3JlYXRlQ29udmVydGVyQ29udGV4dEZvck1hY3JvKFxuXHRcdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aC5zdGFydGluZ0VudGl0eVNldC5uYW1lLFxuXHRcdFx0c2V0dGluZ3MubW9kZWxzLm1ldGFNb2RlbCxcblx0XHRcdGFwcENvbXBvbmVudD8uZ2V0RGlhZ25vc3RpY3MoKSxcblx0XHRcdG1lcmdlLFxuXHRcdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aC5jb250ZXh0TG9jYXRpb24sXG5cdFx0XHR2aWV3RGF0YVxuXHRcdCk7XG5cdH07XG5cblx0LyoqXG5cdCAqIE9ubHkgdXNlZCBpbnRlcm5hbGx5LlxuXHQgKlxuXHQgKiBAcmV0dXJucyBBbGwgdGhlIHByb3BlcnRpZXMgZGVmaW5lZCBvbiB0aGUgb2JqZWN0IHdpdGggdGhlaXIgdmFsdWVzXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UHJvcGVydGllcygpIHtcblx0XHRjb25zdCBhbGxQcm9wZXJ0aWVzOiBSZWNvcmQ8c3RyaW5nLCBPYmplY3RWYWx1ZT4gPSB7fTtcblx0XHRmb3IgKGNvbnN0IG9JbnN0YW5jZUtleSBpbiB0aGlzKSB7XG5cdFx0XHRpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShvSW5zdGFuY2VLZXkpKSB7XG5cdFx0XHRcdGFsbFByb3BlcnRpZXNbb0luc3RhbmNlS2V5XSA9IHRoaXNbb0luc3RhbmNlS2V5XSBhcyB1bmtub3duIGFzIE9iamVjdFZhbHVlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gYWxsUHJvcGVydGllcztcblx0fVxuXG5cdHN0YXRpYyByZWdpc3RlcigpIHtcblx0XHRyZWdpc3RlckJ1aWxkaW5nQmxvY2sodGhpcyk7XG5cdH1cblxuXHRzdGF0aWMgdW5yZWdpc3RlcigpIHtcblx0XHR1bnJlZ2lzdGVyQnVpbGRpbmdCbG9jayh0aGlzKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGQgYSBwYXJ0IG9mIHN0cmluZyBiYXNlZCBvbiB0aGUgY29uZGl0aW9uLlxuXHQgKlxuXHQgKiBAcGFyYW0gY29uZGl0aW9uXG5cdCAqIEBwYXJhbSBwYXJ0VG9BZGRcblx0ICogQHJldHVybnMgVGhlIHBhcnQgdG8gYWRkIGlmIHRoZSBjb25kaXRpb24gaXMgdHJ1ZSwgb3RoZXJ3aXNlIGFuIGVtcHR5IHN0cmluZ1xuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0cHJvdGVjdGVkIGFkZENvbmRpdGlvbmFsbHkoY29uZGl0aW9uOiBib29sZWFuLCBwYXJ0VG9BZGQ6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0aWYgKGNvbmRpdGlvbikge1xuXHRcdFx0cmV0dXJuIHBhcnRUb0FkZDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIFwiXCI7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEFkZCBhbiBhdHRyaWJ1dGUgZGVwZW5kaW5nIG9uIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBwcm9wZXJ0eS5cblx0ICogSWYgaXQncyB1bmRlZmluZWQgdGhlIGF0dHJpYnV0ZSBpcyBub3QgYWRkZWQuXG5cdCAqXG5cdCAqIEBwYXJhbSBhdHRyaWJ1dGVOYW1lXG5cdCAqIEBwYXJhbSB2YWx1ZVxuXHQgKiBAcmV0dXJucyBUaGUgYXR0cmlidXRlIHRvIGFkZCBpZiB0aGUgdmFsdWUgaXMgbm90IHVuZGVmaW5lZCwgb3RoZXJ3aXNlIGFuIGVtcHR5IHN0cmluZ1xuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0cHJvdGVjdGVkIGF0dHIoYXR0cmlidXRlTmFtZTogc3RyaW5nLCB2YWx1ZT86IFhNTFByb2Nlc3NvclR5cGVWYWx1ZSk6ICgpID0+IHN0cmluZyB7XG5cdFx0aWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgIWlzVW5kZWZpbmVkRXhwcmVzc2lvbih2YWx1ZSkpIHtcblx0XHRcdHJldHVybiAoKSA9PiB4bWxgJHthdHRyaWJ1dGVOYW1lfT1cIiR7dmFsdWV9XCJgO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gKCkgPT4gXCJcIjtcblx0XHR9XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFXQTtBQUNBO0FBQ0E7RUFGQSxJQUdxQkEsaUJBQWlCO0lBdUJyQywyQkFBWUMsS0FBOEIsRUFBRUMscUJBQStCLEVBQUVDLGdCQUE0QyxFQUFFO01BQUE7TUFBQSxLQU5qSEMsUUFBUSxHQUFHLEtBQUs7TUFBQSxLQTJEaEJDLG1CQUFtQixHQUFHLFVBQy9CQyxtQkFBd0MsRUFDeENDLFdBQStCLEVBQy9CQyxRQUFtQyxFQUNuQ0MsV0FBcUMsRUFDcEM7UUFBQTtRQUNELE1BQU1DLFlBQVksR0FBR0YsUUFBUSxDQUFDRSxZQUFZO1FBQzFDLE1BQU1DLGdCQUFnQiw0QkFBR0gsUUFBUSxDQUFDSSxNQUFNLENBQUNDLFFBQVEsMERBQXhCLHNCQUEwQkMsT0FBTyxFQUFFO1FBQzVELElBQUlELFFBQVEsR0FBR0UsTUFBTSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUVMLGdCQUFnQixDQUFDO1FBQ2xELE9BQU9FLFFBQVEsQ0FBQ0ksYUFBYTtRQUM3QkosUUFBUSxHQUFHSyxTQUFTLENBQUNMLFFBQVEsQ0FBQztRQUM5QkEsUUFBUSxDQUFDTSxvQkFBb0IsR0FBR0MsS0FBSyxDQUFDUCxRQUFRLENBQUNNLG9CQUFvQixFQUFFVixXQUFXLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdkYsT0FBT1ksZ0JB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
|