@sapui5/sap.fe.core 1.112.0 → 1.113.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/fe/core/.library +1 -1
- package/src/sap/fe/core/ActionRuntime-dbg.js +4 -3
- 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 +2 -1
- package/src/sap/fe/core/AppComponent-dbg.js +9 -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 +8 -6
- package/src/sap/fe/core/CommonUtils-dbg.js +55 -173
- 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 +64 -208
- package/src/sap/fe/core/ExtensionAPI-dbg.js +3 -1
- package/src/sap/fe/core/ExtensionAPI.js.map +1 -1
- package/src/sap/fe/core/ExtensionAPI.ts +2 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase-dbg.js +2 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +1 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport-dbg.js +2 -2
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.ts +13 -18
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor-dbg.js +25 -17
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js +4 -4
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.ts +34 -22
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock-dbg.js +2 -2
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js +1 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.ts +1 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment-dbg.js +2 -2
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js +1 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.ts +3 -1
- package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +69 -34
- 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 +75 -42
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +25 -65
- 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 +25 -69
- package/src/sap/fe/core/controllerextensions/PageReady-dbg.js +3 -5
- package/src/sap/fe/core/controllerextensions/PageReady.js +1 -1
- package/src/sap/fe/core/controllerextensions/PageReady.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/PageReady.ts +2 -4
- package/src/sap/fe/core/controllerextensions/collaboration/Manage-dbg.js +4 -4
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +2 -2
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog-dbg.js +103 -0
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js +6 -0
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.tsx +124 -0
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +34 -119
- 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 +33 -118
- package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +6 -1
- 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 +9 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal-dbg.js +9 -4
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.ts +12 -3
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade-dbg.js +6 -3
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +16 -8
- package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +1 -8
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +0 -9
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +11 -7
- 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 +11 -14
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy-dbg.js +67 -1
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +1 -1
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +68 -0
- package/src/sap/fe/core/converters/ConverterContext-dbg.js +3 -5
- package/src/sap/fe/core/converters/ConverterContext.js +1 -1
- package/src/sap/fe/core/converters/ConverterContext.js.map +1 -1
- package/src/sap/fe/core/converters/ConverterContext.ts +2 -5
- package/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +1 -1
- package/src/sap/fe/core/converters/ManifestWrapper-dbg.js +5 -3
- package/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
- package/src/sap/fe/core/converters/ManifestWrapper.js.map +1 -1
- package/src/sap/fe/core/converters/ManifestWrapper.ts +7 -1
- package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +19 -26
- 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 +23 -28
- package/src/sap/fe/core/converters/annotations/DataField-dbg.js +18 -6
- 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 +15 -5
- package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +35 -17
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
- package/src/sap/fe/core/converters/common/AnnotationConverter.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action-dbg.js +6 -12
- package/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action.ts +9 -14
- package/src/sap/fe/core/converters/controls/Common/Form-dbg.js +7 -6
- package/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Form.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Form.ts +5 -11
- package/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +5 -5
- package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/KPI.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +3 -4
- package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +54 -32
- 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 +69 -49
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +21 -14
- 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 +18 -15
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +92 -33
- 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 +93 -24
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +8 -6
- 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 +7 -4
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +27 -18
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +36 -23
- package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +10 -14
- package/src/sap/fe/core/converters/helpers/Aggregation.js +1 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +8 -11
- package/src/sap/fe/core/converters/helpers/BindingHelper-dbg.js +8 -6
- package/src/sap/fe/core/converters/helpers/BindingHelper.js +1 -1
- package/src/sap/fe/core/converters/helpers/BindingHelper.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/BindingHelper.ts +8 -6
- package/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +3 -2
- package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
- package/src/sap/fe/core/converters/helpers/IssueManager.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/IssueManager.ts +2 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +17 -16
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +1 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js.map +1 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +11 -11
- package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +8 -3
- 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 +7 -2
- package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +2 -2
- 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 +2 -2
- package/src/sap/fe/core/formatters/TableFormatter-dbg.js +2 -6
- package/src/sap/fe/core/formatters/TableFormatter.js +1 -1
- package/src/sap/fe/core/formatters/TableFormatter.js.map +1 -1
- package/src/sap/fe/core/formatters/TableFormatter.ts +1 -5
- package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +5 -1
- 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 +5 -0
- package/src/sap/fe/core/fpm/manifest.json +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +2 -1
- package/src/sap/fe/core/helpers/BindingToolkit.js +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit.ts +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +5 -4
- package/src/sap/fe/core/helpers/MassEditHelper.js +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper.ts +4 -5
- package/src/sap/fe/core/helpers/MessageStrip-dbg.js +6 -5
- package/src/sap/fe/core/helpers/MessageStrip.js +1 -1
- package/src/sap/fe/core/helpers/MessageStrip.js.map +1 -1
- package/src/sap/fe/core/helpers/MessageStrip.ts +4 -4
- package/src/sap/fe/core/helpers/MetaModelFunction-dbg.js +167 -4
- package/src/sap/fe/core/helpers/MetaModelFunction.js +1 -1
- package/src/sap/fe/core/helpers/MetaModelFunction.js.map +1 -1
- package/src/sap/fe/core/helpers/MetaModelFunction.ts +205 -3
- package/src/sap/fe/core/helpers/ModelHelper-dbg.js +37 -73
- package/src/sap/fe/core/helpers/ModelHelper.js +1 -1
- package/src/sap/fe/core/helpers/ModelHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/ModelHelper.ts +41 -68
- package/src/sap/fe/core/helpers/ResourceModelHelper-dbg.js +15 -2
- package/src/sap/fe/core/helpers/ResourceModelHelper.js +1 -1
- package/src/sap/fe/core/helpers/ResourceModelHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/ResourceModelHelper.ts +16 -0
- package/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +40 -6
- package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.js.map +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.ts +39 -5
- package/src/sap/fe/core/helpers/SizeHelper-dbg.js +53 -0
- package/src/sap/fe/core/helpers/SizeHelper.js +6 -0
- package/src/sap/fe/core/helpers/SizeHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/SizeHelper.ts +51 -0
- package/src/sap/fe/core/helpers/StableIdHelper-dbg.js +29 -25
- package/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
- package/src/sap/fe/core/helpers/StableIdHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/StableIdHelper.ts +26 -24
- package/src/sap/fe/core/helpers/TypeGuards-dbg.js +147 -1
- package/src/sap/fe/core/helpers/TypeGuards.js +1 -1
- package/src/sap/fe/core/helpers/TypeGuards.js.map +1 -1
- package/src/sap/fe/core/helpers/TypeGuards.ts +151 -1
- package/src/sap/fe/core/library-dbg.js +1 -1
- package/src/sap/fe/core/library-preload.js +84 -70
- package/src/sap/fe/core/library-preload.js.map +1 -1
- package/src/sap/fe/core/library.js +1 -1
- package/src/sap/fe/core/manifest.json +1 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +67 -15
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js.map +1 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +66 -14
- package/src/sap/fe/core/messagebundle.properties +2 -0
- package/src/sap/fe/core/messagebundle_ar.properties +4 -3
- package/src/sap/fe/core/messagebundle_bg.properties +10 -9
- package/src/sap/fe/core/messagebundle_ca.properties +1 -0
- package/src/sap/fe/core/messagebundle_cs.properties +2 -1
- package/src/sap/fe/core/messagebundle_cy.properties +2 -1
- package/src/sap/fe/core/messagebundle_da.properties +2 -1
- package/src/sap/fe/core/messagebundle_de.properties +11 -10
- package/src/sap/fe/core/messagebundle_el.properties +4 -3
- package/src/sap/fe/core/messagebundle_en.properties +1 -0
- package/src/sap/fe/core/messagebundle_en_GB.properties +2 -1
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +1 -0
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +2 -0
- package/src/sap/fe/core/messagebundle_es.properties +2 -1
- package/src/sap/fe/core/messagebundle_es_MX.properties +2 -1
- package/src/sap/fe/core/messagebundle_et.properties +2 -1
- package/src/sap/fe/core/messagebundle_fi.properties +2 -1
- package/src/sap/fe/core/messagebundle_fr.properties +2 -1
- package/src/sap/fe/core/messagebundle_fr_CA.properties +11 -10
- package/src/sap/fe/core/messagebundle_hi.properties +11 -10
- package/src/sap/fe/core/messagebundle_hr.properties +2 -1
- package/src/sap/fe/core/messagebundle_hu.properties +2 -1
- package/src/sap/fe/core/messagebundle_id.properties +11 -10
- package/src/sap/fe/core/messagebundle_it.properties +2 -1
- package/src/sap/fe/core/messagebundle_iw.properties +2 -1
- package/src/sap/fe/core/messagebundle_ja.properties +3 -2
- package/src/sap/fe/core/messagebundle_kk.properties +2 -1
- package/src/sap/fe/core/messagebundle_ko.properties +11 -10
- package/src/sap/fe/core/messagebundle_lt.properties +2 -1
- package/src/sap/fe/core/messagebundle_lv.properties +11 -10
- package/src/sap/fe/core/messagebundle_ms.properties +2 -1
- package/src/sap/fe/core/messagebundle_nl.properties +2 -1
- package/src/sap/fe/core/messagebundle_no.properties +2 -1
- package/src/sap/fe/core/messagebundle_pl.properties +11 -10
- package/src/sap/fe/core/messagebundle_pt.properties +2 -1
- package/src/sap/fe/core/messagebundle_pt_PT.properties +2 -1
- package/src/sap/fe/core/messagebundle_ro.properties +14 -13
- package/src/sap/fe/core/messagebundle_ru.properties +11 -10
- package/src/sap/fe/core/messagebundle_sh.properties +2 -1
- package/src/sap/fe/core/messagebundle_sk.properties +2 -1
- package/src/sap/fe/core/messagebundle_sl.properties +2 -1
- package/src/sap/fe/core/messagebundle_sv.properties +11 -10
- package/src/sap/fe/core/messagebundle_th.properties +2 -1
- package/src/sap/fe/core/messagebundle_tr.properties +2 -1
- package/src/sap/fe/core/messagebundle_uk.properties +2 -1
- package/src/sap/fe/core/messagebundle_vi.properties +2 -1
- package/src/sap/fe/core/messagebundle_zh_CN.properties +11 -10
- package/src/sap/fe/core/messagebundle_zh_TW.properties +11 -10
- package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +8 -4
- 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 +7 -3
- package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +7 -1
- package/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
- package/src/sap/fe/core/services/RoutingServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +6 -0
- package/src/sap/fe/core/services/ShellServicesFactory-dbg.js +7 -1
- package/src/sap/fe/core/services/ShellServicesFactory.js +1 -1
- package/src/sap/fe/core/services/ShellServicesFactory.js.map +1 -1
- package/src/sap/fe/core/services/ShellServicesFactory.ts +10 -0
- package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +6 -6
- 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 +3 -8
- package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +10 -3
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +13 -1
- package/src/sap/fe/core/templating/CommonFormatters-dbg.js +4 -3
- package/src/sap/fe/core/templating/CommonFormatters.js +1 -1
- package/src/sap/fe/core/templating/CommonFormatters.js.map +1 -1
- package/src/sap/fe/core/templating/CommonFormatters.ts +2 -2
- package/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +19 -18
- package/src/sap/fe/core/templating/DataModelPathHelper.js +1 -1
- package/src/sap/fe/core/templating/DataModelPathHelper.js.map +1 -1
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +24 -18
- package/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +5 -5
- package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.js.map +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -2
- package/src/sap/fe/core/templating/EntitySetHelper-dbg.js +19 -28
- package/src/sap/fe/core/templating/EntitySetHelper.js +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper.js.map +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper.ts +14 -24
- package/src/sap/fe/core/templating/EntityTypeHelper-dbg.js +48 -0
- package/src/sap/fe/core/templating/EntityTypeHelper.js +6 -0
- package/src/sap/fe/core/templating/EntityTypeHelper.js.map +1 -0
- package/src/sap/fe/core/templating/EntityTypeHelper.ts +37 -0
- package/src/sap/fe/core/templating/FilterTemplating-dbg.js +7 -8
- package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
- package/src/sap/fe/core/templating/FilterTemplating.js.map +1 -1
- package/src/sap/fe/core/templating/FilterTemplating.ts +5 -8
- package/src/sap/fe/core/templating/PropertyFormatters-dbg.js +1 -6
- package/src/sap/fe/core/templating/PropertyFormatters.js +1 -1
- package/src/sap/fe/core/templating/PropertyFormatters.js.map +1 -1
- package/src/sap/fe/core/templating/PropertyFormatters.ts +0 -5
- package/src/sap/fe/core/templating/PropertyHelper-dbg.js +13 -46
- package/src/sap/fe/core/templating/PropertyHelper.js +1 -1
- package/src/sap/fe/core/templating/PropertyHelper.js.map +1 -1
- package/src/sap/fe/core/templating/PropertyHelper.ts +14 -43
- package/src/sap/fe/core/templating/UIFormatters-dbg.js +32 -26
- package/src/sap/fe/core/templating/UIFormatters.js +1 -1
- package/src/sap/fe/core/templating/UIFormatters.js.map +1 -1
- package/src/sap/fe/core/templating/UIFormatters.ts +43 -32
- package/src/sap/fe/core/controls/ActionPartial.fragment.xml +0 -91
|
@@ -26,7 +26,6 @@ import type MenuButton from "sap/m/MenuButton";
|
|
|
26
26
|
import type NavContainer from "sap/m/NavContainer";
|
|
27
27
|
import type OverflowToolbarButton from "sap/m/OverflowToolbarButton";
|
|
28
28
|
import type ManagedObject from "sap/ui/base/ManagedObject";
|
|
29
|
-
import type { AggregationBindingInfo } from "sap/ui/base/ManagedObject";
|
|
30
29
|
import Component from "sap/ui/core/Component";
|
|
31
30
|
import type ComponentContainer from "sap/ui/core/ComponentContainer";
|
|
32
31
|
import type Control from "sap/ui/core/Control";
|
|
@@ -38,12 +37,11 @@ import XMLPreprocessor from "sap/ui/core/util/XMLPreprocessor";
|
|
|
38
37
|
import XMLTemplateProcessor from "sap/ui/core/XMLTemplateProcessor";
|
|
39
38
|
import Device, { system } from "sap/ui/Device";
|
|
40
39
|
import type ActionToolbarAction from "sap/ui/mdc/actiontoolbar/ActionToolbarAction";
|
|
41
|
-
import type { default as
|
|
40
|
+
import type { default as MDCChart } from "sap/ui/mdc/Chart";
|
|
42
41
|
import type { ConditionObject } from "sap/ui/mdc/condition/Condition";
|
|
43
42
|
import FilterOperatorUtil from "sap/ui/mdc/condition/FilterOperatorUtil";
|
|
44
43
|
import RangeOperator from "sap/ui/mdc/condition/RangeOperator";
|
|
45
44
|
import type FilterBar from "sap/ui/mdc/FilterBar";
|
|
46
|
-
import type DelegateMixin from "sap/ui/mdc/mixin/DelegateMixin";
|
|
47
45
|
import type Table from "sap/ui/mdc/Table";
|
|
48
46
|
import type MDCTable from "sap/ui/mdc/valuehelp/content/MDCTable";
|
|
49
47
|
import type Context from "sap/ui/model/Context";
|
|
@@ -117,15 +115,6 @@ function fnHasTransientContexts(oListBinding: ODataListBinding) {
|
|
|
117
115
|
|
|
118
116
|
// there is no navigation in entitySet path and property path
|
|
119
117
|
|
|
120
|
-
function getShellServices(oControl: Control | Component): IShellServices {
|
|
121
|
-
return getAppComponent(oControl).getShellServices();
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
function getHash(): string {
|
|
125
|
-
const sHash = window.location.hash;
|
|
126
|
-
return sHash.split("&")[0];
|
|
127
|
-
}
|
|
128
|
-
|
|
129
118
|
async function _getSOIntents(
|
|
130
119
|
oShellServiceHelper: IShellServices,
|
|
131
120
|
oObjectPageLayout: ObjectPageLayout,
|
|
@@ -264,7 +253,7 @@ async function updateRelateAppsModel(
|
|
|
264
253
|
oMetaPath: string,
|
|
265
254
|
appComponent: AppComponent
|
|
266
255
|
): Promise<RelatedAppsConfig[]> {
|
|
267
|
-
const oShellServiceHelper: IShellServices = getShellServices(
|
|
256
|
+
const oShellServiceHelper: IShellServices = appComponent.getShellServices();
|
|
268
257
|
const oParam: Record<string, unknown> = {};
|
|
269
258
|
let sCurrentSemObj = "",
|
|
270
259
|
sCurrentAction = "";
|
|
@@ -370,7 +359,7 @@ async function updateRelateAppsModel(
|
|
|
370
359
|
oManifestData.additionalSemanticObjects &&
|
|
371
360
|
aAnnotationsSOItems[0] &&
|
|
372
361
|
oManifestData.additionalSemanticObjects[aAnnotationsSOItems[0].targetSemObject] &&
|
|
373
|
-
oManifestData.additionalSemanticObjects[aAnnotationsSOItems[0].targetSemObject].allowedActions
|
|
362
|
+
!!oManifestData.additionalSemanticObjects[aAnnotationsSOItems[0].targetSemObject].allowedActions
|
|
374
363
|
) {
|
|
375
364
|
isSemanticObjectHasSameTargetInManifest = true;
|
|
376
365
|
}
|
|
@@ -476,14 +465,6 @@ function fnFireButtonPress(oButton: Control) {
|
|
|
476
465
|
}
|
|
477
466
|
}
|
|
478
467
|
|
|
479
|
-
function fnResolveStringtoBoolean(sValue: string | boolean) {
|
|
480
|
-
if (sValue === "true" || sValue === true) {
|
|
481
|
-
return true;
|
|
482
|
-
} else {
|
|
483
|
-
return false;
|
|
484
|
-
}
|
|
485
|
-
}
|
|
486
|
-
|
|
487
468
|
function getAppComponent(oControl: Control | Component): AppComponent {
|
|
488
469
|
if (oControl.isA<AppComponent>("sap.fe.core.AppComponent")) {
|
|
489
470
|
return oControl;
|
|
@@ -514,69 +495,6 @@ function getTargetView(oControl: ManagedObject | null): View {
|
|
|
514
495
|
return oControl!;
|
|
515
496
|
}
|
|
516
497
|
|
|
517
|
-
function isFieldControlPathInapplicable(sFieldControlPath: string, oAttribute: Record<string, unknown>) {
|
|
518
|
-
let bInapplicable = false;
|
|
519
|
-
const aParts = sFieldControlPath.split("/");
|
|
520
|
-
// sensitive data is removed only if the path has already been resolved.
|
|
521
|
-
if (aParts.length > 1) {
|
|
522
|
-
bInapplicable =
|
|
523
|
-
oAttribute[aParts[0]] !== undefined &&
|
|
524
|
-
(oAttribute[aParts[0]] as Record<string, unknown>).hasOwnProperty(aParts[1]) &&
|
|
525
|
-
(oAttribute[aParts[0]] as Record<string, unknown>)[aParts[1]] === 0;
|
|
526
|
-
} else {
|
|
527
|
-
bInapplicable = oAttribute[sFieldControlPath] === 0;
|
|
528
|
-
}
|
|
529
|
-
return bInapplicable;
|
|
530
|
-
}
|
|
531
|
-
type UnknownODataObject = {
|
|
532
|
-
entitySet?: string;
|
|
533
|
-
contextData: {
|
|
534
|
-
"@odata.context"?: string;
|
|
535
|
-
"%40odata.context"?: string;
|
|
536
|
-
"@odata.metadataEtag"?: string;
|
|
537
|
-
"%40odata.metadataEtag"?: string;
|
|
538
|
-
SAP__Messages?: string;
|
|
539
|
-
[S: string]: string | undefined;
|
|
540
|
-
};
|
|
541
|
-
};
|
|
542
|
-
function removeSensitiveData(aAttributes: UnknownODataObject[], oMetaModel: ODataMetaModel) {
|
|
543
|
-
const aOutAttributes = [];
|
|
544
|
-
for (let i = 0; i < aAttributes.length; i++) {
|
|
545
|
-
const sEntitySet = aAttributes[i].entitySet!,
|
|
546
|
-
oAttribute = aAttributes[i].contextData;
|
|
547
|
-
|
|
548
|
-
delete oAttribute["@odata.context"];
|
|
549
|
-
delete oAttribute["%40odata.context"];
|
|
550
|
-
delete oAttribute["@odata.metadataEtag"];
|
|
551
|
-
delete oAttribute["%40odata.metadataEtag"];
|
|
552
|
-
delete oAttribute["SAP__Messages"];
|
|
553
|
-
const aProperties = Object.keys(oAttribute);
|
|
554
|
-
for (let j = 0; j < aProperties.length; j++) {
|
|
555
|
-
const sProp = aProperties[j],
|
|
556
|
-
aPropertyAnnotations = oMetaModel.getObject(`/${sEntitySet}/${sProp}@`);
|
|
557
|
-
if (aPropertyAnnotations) {
|
|
558
|
-
if (
|
|
559
|
-
aPropertyAnnotations["@com.sap.vocabularies.PersonalData.v1.IsPotentiallySensitive"] ||
|
|
560
|
-
aPropertyAnnotations["@com.sap.vocabularies.UI.v1.ExcludeFromNavigationContext"] ||
|
|
561
|
-
aPropertyAnnotations["@com.sap.vocabularies.Analytics.v1.Measure"]
|
|
562
|
-
) {
|
|
563
|
-
delete oAttribute[sProp];
|
|
564
|
-
} else if (aPropertyAnnotations["@com.sap.vocabularies.Common.v1.FieldControl"]) {
|
|
565
|
-
const oFieldControl = aPropertyAnnotations["@com.sap.vocabularies.Common.v1.FieldControl"];
|
|
566
|
-
if (oFieldControl["$EnumMember"] && oFieldControl["$EnumMember"].split("/")[1] === "Inapplicable") {
|
|
567
|
-
delete oAttribute[sProp];
|
|
568
|
-
} else if (oFieldControl["$Path"] && CommonUtils.isFieldControlPathInapplicable(oFieldControl["$Path"], oAttribute)) {
|
|
569
|
-
delete oAttribute[sProp];
|
|
570
|
-
}
|
|
571
|
-
}
|
|
572
|
-
}
|
|
573
|
-
}
|
|
574
|
-
aOutAttributes.push(oAttribute);
|
|
575
|
-
}
|
|
576
|
-
|
|
577
|
-
return aOutAttributes;
|
|
578
|
-
}
|
|
579
|
-
|
|
580
498
|
function _fnCheckIsMatch(oObject: object, oKeysToCheck: Record<string, unknown>) {
|
|
581
499
|
for (const sKey in oKeysToCheck) {
|
|
582
500
|
if (oKeysToCheck[sKey] !== oObject[sKey as keyof typeof oObject]) {
|
|
@@ -646,6 +564,7 @@ function fnGetIBNActions(oControl: Table | ObjectPageDynamicHeaderTitle, aIBNAct
|
|
|
646
564
|
*/
|
|
647
565
|
function fnUpdateDataFieldForIBNButtonsVisibility(aIBNActions: Control[], oView: View) {
|
|
648
566
|
const oParams: Record<string, { value: unknown }> = {};
|
|
567
|
+
const oAppComponent = CommonUtils.getAppComponent(oView);
|
|
649
568
|
const isSticky = ModelHelper.isStickySessionSupported((oView.getModel() as ODataModel).getMetaModel());
|
|
650
569
|
const fnGetLinks = function (oData?: Record<string, unknown> | undefined) {
|
|
651
570
|
if (oData) {
|
|
@@ -660,7 +579,8 @@ function fnUpdateDataFieldForIBNButtonsVisibility(aIBNActions: Control[], oView:
|
|
|
660
579
|
aIBNActions.forEach(function (oIBNAction) {
|
|
661
580
|
const sSemanticObject = oIBNAction.data("IBNData").semanticObject;
|
|
662
581
|
const sAction = oIBNAction.data("IBNData").action;
|
|
663
|
-
|
|
582
|
+
oAppComponent
|
|
583
|
+
.getShellServices()
|
|
664
584
|
.getLinks({
|
|
665
585
|
semanticObject: sSemanticObject,
|
|
666
586
|
action: sAction,
|
|
@@ -917,7 +837,6 @@ export function getOperatorsForProperty(
|
|
|
917
837
|
"FIRSTDAYYEAR",
|
|
918
838
|
"LASTDAYYEAR"
|
|
919
839
|
];
|
|
920
|
-
const aBasicDateTimeOps = ["EQ", "BT"];
|
|
921
840
|
const aMultiRangeOps = ["EQ", "GE", "LE", "LT", "GT", "BT", "NE", "NOTBT", "NOTLE", "NOTLT", "NOTGE", "NOTGT"];
|
|
922
841
|
const aSearchExpressionOps = ["Contains", "NotContains", "StartsWith", "NotStartsWith", "EndsWith", "NotEndsWith"];
|
|
923
842
|
const aSemanticDateOpsExt = SemanticDateOperators.getSupportedOperations();
|
|
@@ -930,9 +849,9 @@ export function getOperatorsForProperty(
|
|
|
930
849
|
}
|
|
931
850
|
|
|
932
851
|
if (oSettings && oSettings.operatorConfiguration && oSettings.operatorConfiguration.length > 0) {
|
|
933
|
-
aSemanticDateOps = SemanticDateOperators.getFilterOperations(oSettings.operatorConfiguration);
|
|
852
|
+
aSemanticDateOps = SemanticDateOperators.getFilterOperations(oSettings.operatorConfiguration, sType);
|
|
934
853
|
} else {
|
|
935
|
-
aSemanticDateOps = SemanticDateOperators.getSemanticDateOperations();
|
|
854
|
+
aSemanticDateOps = SemanticDateOperators.getSemanticDateOperations(sType);
|
|
936
855
|
}
|
|
937
856
|
// Get the default Operators for this Property Type
|
|
938
857
|
let aDefaultOperators = _getDefaultOperators(sType);
|
|
@@ -963,7 +882,7 @@ export function getOperatorsForProperty(
|
|
|
963
882
|
if (sType === "Edm.Date") {
|
|
964
883
|
aExpressionOps = aSemanticDateOps;
|
|
965
884
|
} else if (sType === "Edm.DateTimeOffset") {
|
|
966
|
-
aExpressionOps = aSemanticDateOps
|
|
885
|
+
aExpressionOps = aSemanticDateOps;
|
|
967
886
|
} else {
|
|
968
887
|
aExpressionOps = aSingleRangeOps;
|
|
969
888
|
}
|
|
@@ -1614,6 +1533,17 @@ type UserDefaultParameter = {
|
|
|
1614
1533
|
$Name: string;
|
|
1615
1534
|
getPath?(): string;
|
|
1616
1535
|
};
|
|
1536
|
+
|
|
1537
|
+
/**
|
|
1538
|
+
* Retrieves the user defaults from the startup app state (if available) or the startup parameter and sets them to a model.
|
|
1539
|
+
*
|
|
1540
|
+
* @param oAppComponent
|
|
1541
|
+
* @param aParameters
|
|
1542
|
+
* @param oModel
|
|
1543
|
+
* @param bIsAction
|
|
1544
|
+
* @param bIsCreate
|
|
1545
|
+
* @param oActionDefaultValues
|
|
1546
|
+
*/
|
|
1617
1547
|
async function setUserDefaults(
|
|
1618
1548
|
oAppComponent: AppComponent,
|
|
1619
1549
|
aParameters: UserDefaultParameter[],
|
|
@@ -1621,58 +1551,39 @@ async function setUserDefaults(
|
|
|
1621
1551
|
bIsAction: boolean,
|
|
1622
1552
|
bIsCreate?: boolean,
|
|
1623
1553
|
oActionDefaultValues?: Record<string, string>
|
|
1624
|
-
) {
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1554
|
+
): Promise<void> {
|
|
1555
|
+
const oComponentData = oAppComponent.getComponentData(),
|
|
1556
|
+
oStartupParameters = (oComponentData && oComponentData.startupParameters) || {},
|
|
1557
|
+
oShellServices = oAppComponent.getShellServices();
|
|
1558
|
+
const oStartupAppState = await oShellServices.getStartupAppState(oAppComponent);
|
|
1559
|
+
const oData = oStartupAppState?.getData() || {},
|
|
1560
|
+
aExtendedParameters = (oData.selectionVariant && oData.selectionVariant.SelectOptions) || [];
|
|
1561
|
+
aParameters.forEach(function (oParameter) {
|
|
1562
|
+
const sPropertyName = bIsAction
|
|
1563
|
+
? `/${oParameter.$Name}`
|
|
1564
|
+
: (oParameter.getPath?.().slice(oParameter.getPath().lastIndexOf("/") + 1) as string);
|
|
1565
|
+
const sParameterName = bIsAction ? sPropertyName.slice(1) : sPropertyName;
|
|
1566
|
+
if (oActionDefaultValues && bIsCreate) {
|
|
1567
|
+
if (oActionDefaultValues[sParameterName]) {
|
|
1568
|
+
oModel.setProperty(sPropertyName, oActionDefaultValues[sParameterName]);
|
|
1569
|
+
}
|
|
1570
|
+
} else if (oStartupParameters[sParameterName]) {
|
|
1571
|
+
oModel.setProperty(sPropertyName, oStartupParameters[sParameterName][0]);
|
|
1572
|
+
} else if (aExtendedParameters.length > 0) {
|
|
1573
|
+
for (const oExtendedParameter of aExtendedParameters) {
|
|
1574
|
+
if (oExtendedParameter.PropertyName === sParameterName) {
|
|
1575
|
+
const oRange = oExtendedParameter.Ranges.length
|
|
1576
|
+
? oExtendedParameter.Ranges[oExtendedParameter.Ranges.length - 1]
|
|
1577
|
+
: undefined;
|
|
1578
|
+
if (oRange && oRange.Sign === "I" && oRange.Option === "EQ") {
|
|
1579
|
+
oModel.setProperty(sPropertyName, oRange.Low); // high is ignored when Option=EQ
|
|
1638
1580
|
}
|
|
1639
|
-
} else if (oStartupParameters[sParameterName]) {
|
|
1640
|
-
oModel.setProperty(sPropertyName, oStartupParameters[sParameterName][0]);
|
|
1641
1581
|
}
|
|
1642
|
-
}
|
|
1643
|
-
return resolve(true);
|
|
1582
|
+
}
|
|
1644
1583
|
}
|
|
1645
|
-
return oShellServices.getStartupAppState(oAppComponent).then(function (oStartupAppState) {
|
|
1646
|
-
const oData = oStartupAppState?.getData() || {},
|
|
1647
|
-
aExtendedParameters = (oData.selectionVariant && oData.selectionVariant.SelectOptions) || [];
|
|
1648
|
-
aParameters.forEach(function (oParameter) {
|
|
1649
|
-
const sPropertyName = bIsAction
|
|
1650
|
-
? `/${oParameter.$Name}`
|
|
1651
|
-
: (oParameter.getPath?.().slice(oParameter.getPath().lastIndexOf("/") + 1) as string);
|
|
1652
|
-
const sParameterName = bIsAction ? sPropertyName.slice(1) : sPropertyName;
|
|
1653
|
-
if (oActionDefaultValues && bIsCreate) {
|
|
1654
|
-
if (oActionDefaultValues[sParameterName]) {
|
|
1655
|
-
oModel.setProperty(sPropertyName, oActionDefaultValues[sParameterName]);
|
|
1656
|
-
}
|
|
1657
|
-
} else if (oStartupParameters[sParameterName]) {
|
|
1658
|
-
oModel.setProperty(sPropertyName, oStartupParameters[sParameterName][0]);
|
|
1659
|
-
} else if (aExtendedParameters.length > 0) {
|
|
1660
|
-
for (const oExtendedParameter of aExtendedParameters) {
|
|
1661
|
-
if (oExtendedParameter.PropertyName === sParameterName) {
|
|
1662
|
-
const oRange = oExtendedParameter.Ranges.length
|
|
1663
|
-
? oExtendedParameter.Ranges[oExtendedParameter.Ranges.length - 1]
|
|
1664
|
-
: undefined;
|
|
1665
|
-
if (oRange && oRange.Sign === "I" && oRange.Option === "EQ") {
|
|
1666
|
-
oModel.setProperty(sPropertyName, oRange.Low); // high is ignored when Option=EQ
|
|
1667
|
-
}
|
|
1668
|
-
}
|
|
1669
|
-
}
|
|
1670
|
-
}
|
|
1671
|
-
});
|
|
1672
|
-
return resolve(true);
|
|
1673
|
-
});
|
|
1674
1584
|
});
|
|
1675
1585
|
}
|
|
1586
|
+
|
|
1676
1587
|
export type InboundParameter = {
|
|
1677
1588
|
useForCreate: boolean;
|
|
1678
1589
|
};
|
|
@@ -2023,8 +1934,8 @@ function fnGetSemanticTargetsFromPageModel(oController: PageController, sPageMod
|
|
|
2023
1934
|
}
|
|
2024
1935
|
let aSemanticObjectsFound = _fnfindValues(oPageModel, "semanticObjectPath");
|
|
2025
1936
|
aSemanticObjectsFound = _fnDeleteDuplicateSemanticObjects(aSemanticObjectsFound);
|
|
2026
|
-
const oShellServiceHelper =
|
|
2027
|
-
let sCurrentHash =
|
|
1937
|
+
const oShellServiceHelper = oAppComponent.getShellServices();
|
|
1938
|
+
let sCurrentHash = oShellServiceHelper.getHash();
|
|
2028
1939
|
const aSemanticObjectsForGetLinks = [];
|
|
2029
1940
|
const aSemanticObjects: SemanticObject[] = [];
|
|
2030
1941
|
let _oSemanticObject;
|
|
@@ -2276,25 +2187,20 @@ async function templateControlFragment(
|
|
|
2276
2187
|
return oModifier.targets === "xmlTree" && oFragment.length > 0 ? oFragment[0] : oFragment;
|
|
2277
2188
|
});
|
|
2278
2189
|
} else {
|
|
2279
|
-
|
|
2280
|
-
.
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
id: oOptions.id,
|
|
2294
|
-
definition: oFragment as unknown as string,
|
|
2295
|
-
controller: oOptions.controller
|
|
2296
|
-
});
|
|
2297
|
-
});
|
|
2190
|
+
const oFragment = await XMLPreprocessor.process(
|
|
2191
|
+
XMLTemplateProcessor.loadTemplate(sFragmentName, "fragment"),
|
|
2192
|
+
{ name: sFragmentName },
|
|
2193
|
+
oPreprocessorSettings
|
|
2194
|
+
);
|
|
2195
|
+
const oControl = oFragment.firstElementChild;
|
|
2196
|
+
if (!!oOptions.isXML && oControl) {
|
|
2197
|
+
return oControl;
|
|
2198
|
+
}
|
|
2199
|
+
return Fragment.load({
|
|
2200
|
+
id: oOptions.id,
|
|
2201
|
+
definition: oFragment as unknown as string,
|
|
2202
|
+
controller: oOptions.controller
|
|
2203
|
+
});
|
|
2298
2204
|
}
|
|
2299
2205
|
}
|
|
2300
2206
|
|
|
@@ -2325,49 +2231,6 @@ async function requestSingletonProperty(path: string, model: ODataModel) {
|
|
|
2325
2231
|
return Promise.resolve(null);
|
|
2326
2232
|
}
|
|
2327
2233
|
|
|
2328
|
-
function addEventToBindingInfo(oControl: Control, sEventName: string, fHandler: Function) {
|
|
2329
|
-
let oBindingInfo: AggregationBindingInfo;
|
|
2330
|
-
const setBindingInfo = function () {
|
|
2331
|
-
if (oBindingInfo) {
|
|
2332
|
-
if (!oBindingInfo.events) {
|
|
2333
|
-
oBindingInfo.events = {};
|
|
2334
|
-
}
|
|
2335
|
-
if (!oBindingInfo.events[sEventName]) {
|
|
2336
|
-
oBindingInfo.events[sEventName] = fHandler;
|
|
2337
|
-
} else {
|
|
2338
|
-
const fOriginalHandler = oBindingInfo.events[sEventName];
|
|
2339
|
-
oBindingInfo.events[sEventName] = function (...args: unknown[]) {
|
|
2340
|
-
fHandler.apply(this, ...args);
|
|
2341
|
-
fOriginalHandler.apply(this, ...args);
|
|
2342
|
-
};
|
|
2343
|
-
}
|
|
2344
|
-
}
|
|
2345
|
-
};
|
|
2346
|
-
if (oControl.isA<Chart & DelegateMixin>("sap.ui.mdc.Chart")) {
|
|
2347
|
-
oControl
|
|
2348
|
-
.innerChartBound()
|
|
2349
|
-
.then(function () {
|
|
2350
|
-
oBindingInfo = oControl.getControlDelegate()._getChart(oControl).getBindingInfo("data");
|
|
2351
|
-
setBindingInfo();
|
|
2352
|
-
return;
|
|
2353
|
-
})
|
|
2354
|
-
.catch(function (sError: unknown) {
|
|
2355
|
-
Log.error(sError as string);
|
|
2356
|
-
});
|
|
2357
|
-
} else {
|
|
2358
|
-
oBindingInfo = oControl.data("rowsBindingInfo");
|
|
2359
|
-
setBindingInfo();
|
|
2360
|
-
}
|
|
2361
|
-
}
|
|
2362
|
-
|
|
2363
|
-
async function loadMacroLibrary() {
|
|
2364
|
-
return new Promise<void>(function (resolve) {
|
|
2365
|
-
sap.ui.require(["sap/fe/macros/macroLibrary"], function (/*macroLibrary*/) {
|
|
2366
|
-
resolve();
|
|
2367
|
-
});
|
|
2368
|
-
});
|
|
2369
|
-
}
|
|
2370
|
-
|
|
2371
2234
|
// Get the path for action parameters that is needed to read the annotations
|
|
2372
2235
|
function getParameterPath(sPath: string, sParameter: string) {
|
|
2373
2236
|
let sContext;
|
|
@@ -2526,14 +2389,11 @@ function getChartPropertiesWithoutPrefixes(aFilters: IFilterProp[]) {
|
|
|
2526
2389
|
}
|
|
2527
2390
|
|
|
2528
2391
|
const CommonUtils = {
|
|
2529
|
-
isFieldControlPathInapplicable: isFieldControlPathInapplicable,
|
|
2530
|
-
removeSensitiveData: removeSensitiveData,
|
|
2531
2392
|
fireButtonPress: fnFireButtonPress,
|
|
2532
2393
|
getTargetView: getTargetView,
|
|
2533
2394
|
getCurrentPageView: getCurrentPageView,
|
|
2534
2395
|
hasTransientContext: fnHasTransientContexts,
|
|
2535
2396
|
updateRelatedAppsDetails: fnUpdateRelatedAppsDetails,
|
|
2536
|
-
resolveStringtoBoolean: fnResolveStringtoBoolean,
|
|
2537
2397
|
getAppComponent: getAppComponent,
|
|
2538
2398
|
getMandatoryFilterFields: fnGetMandatoryFilterFields,
|
|
2539
2399
|
getContextPathProperties: fnGetContextPathProperties,
|
|
@@ -2551,8 +2411,6 @@ const CommonUtils = {
|
|
|
2551
2411
|
addPageContextToSelectionVariant: addPageContextToSelectionVariant,
|
|
2552
2412
|
addDefaultDisplayCurrency: addDefaultDisplayCurrency,
|
|
2553
2413
|
setUserDefaults: setUserDefaults,
|
|
2554
|
-
getShellServices: getShellServices,
|
|
2555
|
-
getHash: getHash,
|
|
2556
2414
|
getIBNActions: fnGetIBNActions,
|
|
2557
2415
|
getHeaderFacetItemConfigForExternalNavigation: getHeaderFacetItemConfigForExternalNavigation,
|
|
2558
2416
|
getSemanticObjectMapping: getSemanticObjectMapping,
|
|
@@ -2567,7 +2425,6 @@ const CommonUtils = {
|
|
|
2567
2425
|
getAdditionalParamsForCreate: getAdditionalParamsForCreate,
|
|
2568
2426
|
requestSingletonProperty: requestSingletonProperty,
|
|
2569
2427
|
templateControlFragment: templateControlFragment,
|
|
2570
|
-
addEventToBindingInfo: addEventToBindingInfo,
|
|
2571
2428
|
FilterRestrictions: {
|
|
2572
2429
|
REQUIRED_PROPERTIES: "RequiredProperties",
|
|
2573
2430
|
NON_FILTERABLE_PROPERTIES: "NonFilterableProperties",
|
|
@@ -2575,7 +2432,6 @@ const CommonUtils = {
|
|
|
2575
2432
|
},
|
|
2576
2433
|
AllowedExpressionsPrio: ["SingleValue", "MultiValue", "SingleRange", "MultiRange", "SearchExpression", "MultiRangeOrSearchExpression"],
|
|
2577
2434
|
normalizeSearchTerm: normalizeSearchTerm,
|
|
2578
|
-
getSingletonPath: getSingletonPath,
|
|
2579
2435
|
setContextsBasedOnOperationAvailable: setContextsBasedOnOperationAvailable,
|
|
2580
2436
|
setDynamicActionContexts: setDynamicActionContexts,
|
|
2581
2437
|
requestProperty: requestProperty,
|
|
@@ -17,6 +17,8 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/ui/base/Object",
|
|
|
17
17
|
/**
|
|
18
18
|
* Common Extension API for all pages of SAP Fiori elements for OData V4.
|
|
19
19
|
*
|
|
20
|
+
* To correctly integrate your app extension coding with SAP Fiori elements, use only the extensionAPI of SAP Fiori elements. Don't access or manipulate controls, properties, models, or other internal objects created by the SAP Fiori elements framework.
|
|
21
|
+
*
|
|
20
22
|
* @alias sap.fe.core.ExtensionAPI
|
|
21
23
|
* @public
|
|
22
24
|
* @hideconstructor
|
|
@@ -271,4 +273,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/ui/base/Object",
|
|
|
271
273
|
})), _class2)) || _class);
|
|
272
274
|
return ExtensionAPI;
|
|
273
275
|
}, false);
|
|
274
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFeHRlbnNpb25BUEkiLCJkZWZpbmVVSTVDbGFzcyIsInByb3BlcnR5IiwidHlwZSIsIm9Db250cm9sbGVyIiwic0lkIiwiX2NvbnRyb2xsZXIiLCJfdmlldyIsImdldFZpZXciLCJleHRlbnNpb24iLCJlZGl0RmxvdyIsInJvdXRpbmciLCJfcm91dGluZyIsImludGVudEJhc2VkTmF2aWdhdGlvbiIsIl9wcmVmaXgiLCJkZXN0cm95IiwiZ2V0RWRpdEZsb3ciLCJnZXRSb3V0aW5nIiwiZ2V0SW50ZW50QmFzZWROYXZpZ2F0aW9uIiwiYnlJZCIsIm9Db250cm9sIiwiZ2V0TW9kZWwiLCJzTW9kZWxOYW1lIiwib0FwcENvbXBvbmVudCIsIkNvbW1vblV0aWxzIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0TWFuaWZlc3RFbnRyeSIsIm1vZGVscyIsInVuZGVmaW5lZCIsImFkZERlcGVuZGVudCIsInJlbW92ZURlcGVuZGVudCIsIm5hdmlnYXRlVG9UYXJnZXQiLCJzVGFyZ2V0Iiwib0NvbnRleHQiLCJsb2FkRnJhZ21lbnQiLCJtU2V0dGluZ3MiLCJvVGVtcGxhdGVDb21wb25lbnQiLCJDb21wb25lbnQiLCJnZXRPd25lckNvbXBvbmVudEZvciIsIm9QYWdlTW9kZWwiLCJvTWV0YU1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwibVZpZXdEYXRhIiwiZ2V0Vmlld0RhdGEiLCJvVmlld0RhdGFNb2RlbCIsIkpTT05Nb2RlbCIsIm9QcmVwcm9jZXNzb3JTZXR0aW5ncyIsImJpbmRpbmdDb250ZXh0cyIsImNvbnRleHRQYXRoIiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJnZXRFbnRpdHlTZXQiLCJjb252ZXJ0ZXJDb250ZXh0Iiwibm9SZXNvbHZlIiwidmlld0RhdGEiLCJtZXRhTW9kZWwiLCJhcHBDb21wb25lbnQiLCJvVGVtcGxhdGVQcm9taXNlIiwidGVtcGxhdGVDb250cm9sRnJhZ21lbnQiLCJuYW1lIiwiY29udHJvbGxlciIsImlzWE1MIiwiaWQiLCJ0aGVuIiwib0ZyYWdtZW50IiwiaW5pdGlhbEJpbmRpbmdDb250ZXh0Iiwic2V0QmluZGluZ0NvbnRleHQiLCJjYXRjaCIsIm9FcnJvciIsIkxvZyIsImVycm9yIiwidXBkYXRlQXBwU3RhdGUiLCJnZXRBcHBTdGF0ZUhhbmRsZXIiLCJjcmVhdGVBcHBTdGF0ZSIsIkJhc2VPYmplY3QiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkV4dGVuc2lvbkFQSS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIEVkaXRGbG93IGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9FZGl0Rmxvd1wiO1xuaW1wb3J0IHR5cGUgSW50ZW50QmFzZWROYXZpZ2F0aW9uIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9JbnRlbnRCYXNlZE5hdmlnYXRpb25cIjtcbmltcG9ydCB0eXBlIEludGVybmFsUm91dGluZyBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvSW50ZXJuYWxSb3V0aW5nXCI7XG5pbXBvcnQgdHlwZSBSb3V0aW5nIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9Sb3V0aW5nXCI7XG5pbXBvcnQgdHlwZSBQYWdlQ29udHJvbGxlciBmcm9tIFwic2FwL2ZlL2NvcmUvUGFnZUNvbnRyb2xsZXJcIjtcbmltcG9ydCB0eXBlIFRlbXBsYXRlQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9UZW1wbGF0ZUNvbXBvbmVudFwiO1xuaW1wb3J0IEJhc2VPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL09iamVjdFwiO1xuaW1wb3J0IENvbXBvbmVudCBmcm9tIFwic2FwL3VpL2NvcmUvQ29tcG9uZW50XCI7XG5pbXBvcnQgdHlwZSBDb250cm9sIGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSBVSTVFbGVtZW50IGZyb20gXCJzYXAvdWkvY29yZS9FbGVtZW50XCI7XG5pbXBvcnQgdHlwZSBDb250cm9sbGVyIGZyb20gXCJzYXAvdWkvY29yZS9tdmMvQ29udHJvbGxlclwiO1xuaW1wb3J0IHR5cGUgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9Db250ZXh0XCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIE1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvTW9kZWxcIjtcbmltcG9ydCB0eXBlIHsgRW5oYW5jZVdpdGhVSTUgfSBmcm9tIFwiLi9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MsIHByb3BlcnR5IH0gZnJvbSBcIi4vaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcblxuLyoqXG4gKiBDb21tb24gRXh0ZW5zaW9uIEFQSSBmb3IgYWxsIHBhZ2VzIG9mIFNBUCBGaW9yaSBlbGVtZW50cyBmb3IgT0RhdGEgVjQuXG4gKlxuICogQGFsaWFzIHNhcC5mZS5jb3JlLkV4dGVuc2lvbkFQSVxuICogQHB1YmxpY1xuICogQGhpZGVjb25zdHJ1Y3RvclxuICogQGV4dGVuZHMgc2FwLnVpLmJhc2UuT2JqZWN0XG4gKiBAc2luY2UgMS43OS4wXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5jb3JlLkV4dGVuc2lvbkFQSVwiKVxuY2xhc3MgRXh0ZW5zaW9uQVBJIGV4dGVuZHMgQmFzZU9iamVjdCB7XG5cdC8qKlxuXHQgKiBBIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIG9mZmVyaW5nIGhvb2tzIGludG8gdGhlIGVkaXQgZmxvdyBvZiB0aGUgYXBwbGljYXRpb24uXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvRWRpdEZsb3dcIiB9KVxuXHRlZGl0RmxvdzogRWRpdEZsb3c7XG5cblx0LyoqXG5cdCAqIEEgY29udHJvbGxlciBleHRlbnNpb24gb2ZmZXJpbmcgaG9va3MgaW50byB0aGUgcm91dGluZyBmbG93IG9mIHRoZSBhcHBsaWNhdGlvbi5cblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9Sb3V0aW5nXCIgfSlcblx0cm91dGluZzogUm91dGluZztcblxuXHQvKipcblx0ICogRXh0ZW5zaW9uQVBJIGZvciBpbnRlbnQtYmFzZWQgbmF2aWdhdGlvblxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0ludGVudEJhc2VkTmF2aWdhdGlvblwiIH0pXG5cdGludGVudEJhc2VkTmF2aWdhdGlvbjogSW50ZW50QmFzZWROYXZpZ2F0aW9uO1xuXG5cdHByb3RlY3RlZCBfY29udHJvbGxlcjogUGFnZUNvbnRyb2xsZXI7XG5cblx0cHJvdGVjdGVkIF92aWV3OiBWaWV3O1xuXG5cdHByaXZhdGUgX3JvdXRpbmc6IEludGVybmFsUm91dGluZztcblxuXHRwcml2YXRlIF9wcmVmaXg/OiBzdHJpbmc7XG5cblx0cHJpdmF0ZSBleHRlbnNpb246IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG5cdGNvbnN0cnVjdG9yKG9Db250cm9sbGVyOiBQYWdlQ29udHJvbGxlciwgc0lkPzogc3RyaW5nKSB7XG5cdFx0c3VwZXIoKTtcblx0XHR0aGlzLl9jb250cm9sbGVyID0gb0NvbnRyb2xsZXI7XG5cdFx0dGhpcy5fdmlldyA9IG9Db250cm9sbGVyLmdldFZpZXcoKTtcblx0XHR0aGlzLmV4dGVuc2lvbiA9IHRoaXMuX2NvbnRyb2xsZXIuZXh0ZW5zaW9uO1xuXHRcdHRoaXMuZWRpdEZsb3cgPSB0aGlzLl9jb250cm9sbGVyLmVkaXRGbG93O1xuXHRcdHRoaXMucm91dGluZyA9IHRoaXMuX2NvbnRyb2xsZXIucm91dGluZztcblx0XHR0aGlzLl9yb3V0aW5nID0gdGhpcy5fY29udHJvbGxlci5fcm91dGluZztcblx0XHR0aGlzLmludGVudEJhc2VkTmF2aWdhdGlvbiA9IHRoaXMuX2NvbnRyb2xsZXIuaW50ZW50QmFzZWROYXZpZ2F0aW9uO1xuXHRcdHRoaXMuX3ByZWZpeCA9IHNJZDtcblx0fVxuXG5cdGRlc3Ryb3koKSB7XG5cdFx0Ly8gZGVsZXRlIHRoaXMuX2NvbnRyb2xsZXI7XG5cdFx0Ly8gZGVsZXRlIHRoaXMuX3ZpZXc7XG5cdFx0Ly8gZGVsZXRlIHRoaXMuZWRpdEZsb3cuX2NvbnRyb2xsZXI7XG5cdFx0Ly8gZGVsZXRlIHRoaXMuaW50ZW50QmFzZWROYXZpZ2F0aW9uLl9jb250cm9sbGVyO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgZWRpdEZsb3cgY29udHJvbGxlciBleHRlbnNpb24gZm9yIHRoaXMgcGFnZS5cblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKiBAcmV0dXJucyBUaGUgZWRpdEZsb3cgY29udHJvbGxlciBleHRlbnNpb25cblx0ICovXG5cdGdldEVkaXRGbG93KCkge1xuXHRcdHJldHVybiB0aGlzLmVkaXRGbG93O1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgcm91dGluZyBjb250cm9sbGVyIGV4dGVuc2lvbiBmb3IgdGhpcyBwYWdlLlxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqIEByZXR1cm5zIFRoZSByb3V0aW5nIGNvbnRyb2xsZXIgZXh0ZW5zaW9uXG5cdCAqL1xuXHRnZXRSb3V0aW5nKCkge1xuXHRcdHJldHVybiB0aGlzLnJvdXRpbmc7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIHRoZSBpbnRlbnRCYXNlZE5hdmlnYXRpb24gY29udHJvbGxlciBleHRlbnNpb24gZm9yIHRoaXMgcGFnZS5cblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKiBAcmV0dXJucyBUaGUgaW50ZW50QmFzZWROYXZpZ2F0aW9uIGNvbnRyb2xsZXIgZXh0ZW5zaW9uXG5cdCAqL1xuXHRnZXRJbnRlbnRCYXNlZE5hdmlnYXRpb24oKSB7XG5cdFx0cmV0dXJuIHRoaXMuaW50ZW50QmFzZWROYXZpZ2F0aW9uO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFjY2VzcyBhbnkgY29udHJvbCBieSBJRC5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLkV4dGVuc2lvbkFQSSNieUlkXG5cdCAqIEBwYXJhbSBzSWQgSUQgb2YgdGhlIGNvbnRyb2wgd2l0aG91dCB0aGUgdmlldyBwcmVmaXguIEVpdGhlciB0aGUgSUQgcHJlZml4ZWQgYnkgU0FQIEZpb3JpIGVsZW1lbnRzXG5cdCAqIChmb3IgZXhhbXBsZSB3aXRoIHRoZSBzZWN0aW9uKSBvciB0aGUgY29udHJvbCBJRCBvbmx5LiBUaGUgbGF0dGVyIHdvcmtzIG9ubHkgZm9yIGFuIGV4dGVuc2lvbiBydW5uaW5nIGluXG5cdCAqIHRoZSBzYW1lIGNvbnRleHQgKGxpa2UgaW4gdGhlIHNhbWUgc2VjdGlvbikuIFlvdSBjYW4gdXNlIHRoZSBwcmVmaXggZm9yIFNBUCBGaW9yaSBlbGVtZW50cyB0byBhbHNvIGFjY2VzcyBvdGhlciBjb250cm9scyBsb2NhdGVkIGluIGRpZmZlcmVudCBzZWN0aW9ucy5cblx0ICogQHJldHVybnMgVGhlIHJlcXVlc3RlZCBjb250cm9sLCBpZiBmb3VuZCBpbiB0aGUgdmlldy5cblx0ICogQHByaXZhdGVcblx0ICovXG5cdGJ5SWQoc0lkOiBzdHJpbmcpIHtcblx0XHRsZXQgb0NvbnRyb2wgPSB0aGlzLl92aWV3LmJ5SWQoc0lkKTtcblxuXHRcdGlmICghb0NvbnRyb2wgJiYgdGhpcy5fcHJlZml4KSB7XG5cdFx0XHQvLyBnaXZlIGl0IGEgdHJ5IHdpdGggdGhlIHByZWZpeFxuXHRcdFx0b0NvbnRyb2wgPSB0aGlzLl92aWV3LmJ5SWQoYCR7dGhpcy5fcHJlZml4fS0tJHtzSWR9YCk7XG5cdFx0fVxuXHRcdHJldHVybiBvQ29udHJvbDtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgYWNjZXNzIHRvIG1vZGVscyBtYW5hZ2VkIGJ5IFNBUCBGaW9yaSBlbGVtZW50cy48YnI+XG5cdCAqIFRoZSBmb2xsb3dpbmcgbW9kZWxzIGNhbiBiZSBhY2Nlc3NlZDpcblx0ICogPHVsPlxuXHQgKiA8bGk+dW5kZWZpbmVkOiB0aGUgdW5kZWZpbmVkIG1vZGVsIHJldHVybnMgdGhlIFNBUFVJNSBPRGF0YSBWNCBtb2RlbCBib3VuZCB0byB0aGlzIHBhZ2U8L2xpPlxuXHQgKiA8bGk+aTE4biAvIGZ1cnRoZXIgZGF0YSBtb2RlbHMgZGVmaW5lZCBpbiB0aGUgbWFuaWZlc3Q8L2xpPlxuXHQgKiA8bGk+dWk6IHJldHVybnMgYSBTQVBVSTUgSlNPTiBtb2RlbCBjb250YWluaW5nIFVJIGluZm9ybWF0aW9uLlxuXHQgKiBPbmx5IHRoZSBmb2xsb3dpbmcgcHJvcGVydGllcyBhcmUgcHVibGljIGFuZCBzdXBwb3J0ZWQ6XG5cdCAqIFx0PHVsPlxuXHQgKiAgICAgPGxpPmlzRWRpdGFibGU6IHNldCB0byB0cnVlIGlmIHRoZSBhcHBsaWNhdGlvbiBpcyBpbiBlZGl0IG1vZGU8L2xpPlxuXHQgKiAgPC91bD5cblx0ICogPC9saT5cblx0ICogPC91bD4uXG5cdCAqIGVkaXRNb2RlIGlzIGRlcHJlY2F0ZWQgYW5kIHNob3VsZCBub3QgYmUgdXNlZCBhbnltb3JlLiBVc2UgaXNFZGl0YWJsZSBpbnN0ZWFkLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuRXh0ZW5zaW9uQVBJI2dldE1vZGVsXG5cdCAqIEBwYXJhbSBzTW9kZWxOYW1lIE5hbWUgb2YgdGhlIG1vZGVsXG5cdCAqIEByZXR1cm5zIFRoZSByZXF1aXJlZCBtb2RlbFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRnZXRNb2RlbChzTW9kZWxOYW1lPzogc3RyaW5nKTogTW9kZWwgfCB1bmRlZmluZWQge1xuXHRcdGxldCBvQXBwQ29tcG9uZW50O1xuXG5cdFx0aWYgKHNNb2RlbE5hbWUgJiYgc01vZGVsTmFtZSAhPT0gXCJ1aVwiKSB7XG5cdFx0XHRvQXBwQ29tcG9uZW50ID0gQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KHRoaXMuX3ZpZXcpO1xuXHRcdFx0aWYgKCFvQXBwQ29tcG9uZW50LmdldE1hbmlmZXN0RW50cnkoXCJzYXAudWk1XCIpLm1vZGVsc1tzTW9kZWxOYW1lXSkge1xuXHRcdFx0XHQvLyBkb24ndCBhbGxvdyBhY2Nlc3MgdG8gb3VyIGludGVybmFsIG1vZGVsc1xuXHRcdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLl92aWV3LmdldE1vZGVsKHNNb2RlbE5hbWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZCBhbnkgY29udHJvbCBhcyBhIGRlcGVuZGVudCBjb250cm9sIHRvIHRoaXMgU0FQIEZpb3JpIGVsZW1lbnRzIHBhZ2UuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUuY29yZS5FeHRlbnNpb25BUEkjYWRkRGVwZW5kZW50XG5cdCAqIEBwYXJhbSBvQ29udHJvbCBDb250cm9sIHRvIGJlIGFkZGVkIGFzIGEgZGVwZW5kZW50IGNvbnRyb2xcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0YWRkRGVwZW5kZW50KG9Db250cm9sOiBDb250cm9sKSB7XG5cdFx0dGhpcy5fdmlldy5hZGREZXBlbmRlbnQob0NvbnRyb2wpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlbW92ZSBhIGRlcGVuZGVudCBjb250cm9sIGZyb20gdGhpcyBTQVAgRmlvcmkgZWxlbWVudHMgcGFnZS5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLkV4dGVuc2lvbkFQSSNyZW1vdmVEZXBlbmRlbnRcblx0ICogQHBhcmFtIG9Db250cm9sIENvbnRyb2wgdG8gYmUgYWRkZWQgYXMgYSBkZXBlbmRlbnQgY29udHJvbFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRyZW1vdmVEZXBlbmRlbnQob0NvbnRyb2w6IENvbnRyb2wpIHtcblx0XHR0aGlzLl92aWV3LnJlbW92ZURlcGVuZGVudChvQ29udHJvbCk7XG5cdH1cblxuXHQvKipcblx0ICogTmF2aWdhdGUgdG8gYW5vdGhlciB0YXJnZXQuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUuY29yZS5FeHRlbnNpb25BUEkjbmF2aWdhdGVUb1RhcmdldFxuXHQgKiBAcGFyYW0gc1RhcmdldCBOYW1lIG9mIHRoZSB0YXJnZXQgcm91dGVcblx0ICogQHBhcmFtIFtvQ29udGV4dF0gQ29udGV4dCBpbnN0YW5jZVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRuYXZpZ2F0ZVRvVGFyZ2V0KHNUYXJnZXQ6IHN0cmluZywgb0NvbnRleHQ6IENvbnRleHQpOiB2b2lkIHtcblx0XHR0aGlzLl9jb250cm9sbGVyLl9yb3V0aW5nLm5hdmlnYXRlVG9UYXJnZXQob0NvbnRleHQsIHNUYXJnZXQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIExvYWQgYSBmcmFnbWVudCBhbmQgZ28gdGhyb3VnaCB0aGUgdGVtcGxhdGUgcHJlcHJvY2Vzc29yIHdpdGggdGhlIGN1cnJlbnQgcGFnZSBjb250ZXh0LlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuRXh0ZW5zaW9uQVBJI2xvYWRGcmFnbWVudFxuXHQgKiBAcGFyYW0gbVNldHRpbmdzIFRoZSBzZXR0aW5ncyBvYmplY3Rcblx0ICogQHBhcmFtIG1TZXR0aW5ncy5pZCBUaGUgSUQgb2YgdGhlIGZyYWdtZW50IGl0c2VsZlxuXHQgKiBAcGFyYW0gbVNldHRpbmdzLm5hbWUgVGhlIG5hbWUgb2YgdGhlIGZyYWdtZW50IHRvIGJlIGxvYWRlZFxuXHQgKiBAcGFyYW0gbVNldHRpbmdzLmNvbnRyb2xsZXIgVGhlIGNvbnRyb2xsZXIgdG8gYmUgYXR0YWNoZWQgdG8gdGhlIGZyYWdtZW50XG5cdCAqIEBwYXJhbSBtU2V0dGluZ3MuY29udGV4dFBhdGggVGhlIGNvbnRleHRQYXRoIHRvIGJlIHVzZWQgZm9yIHRoZSB0ZW1wbGF0aW5nIHByb2Nlc3Ncblx0ICogQHBhcmFtIG1TZXR0aW5ncy5pbml0aWFsQmluZGluZ0NvbnRleHQgVGhlIGluaXRpYWwgYmluZGluZyBjb250ZXh0XG5cdCAqIEByZXR1cm5zIFRoZSBmcmFnbWVudCBkZWZpbml0aW9uXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGFzeW5jIGxvYWRGcmFnbWVudChtU2V0dGluZ3M6IHtcblx0XHRpZDogc3RyaW5nO1xuXHRcdG5hbWU6IHN0cmluZztcblx0XHRjb250cm9sbGVyOiBvYmplY3Q7XG5cdFx0Y29udGV4dFBhdGg6IHN0cmluZztcblx0XHRpbml0aWFsQmluZGluZ0NvbnRleHQ6IENvbnRleHQ7XG5cdH0pOiBQcm9taXNlPFVJNUVsZW1lbnQgfCBVSTVFbGVtZW50W10+IHtcblx0XHRjb25zdCBvVGVtcGxhdGVDb21wb25lbnQgPSBDb21wb25lbnQuZ2V0T3duZXJDb21wb25lbnRGb3IodGhpcy5fdmlldykgYXMgRW5oYW5jZVdpdGhVSTU8VGVtcGxhdGVDb21wb25lbnQ+O1xuXHRcdGNvbnN0IG9QYWdlTW9kZWwgPSB0aGlzLl92aWV3LmdldE1vZGVsKFwiX3BhZ2VNb2RlbFwiKTtcblx0XHRjb25zdCBvTWV0YU1vZGVsID0gdGhpcy5nZXRNb2RlbCgpPy5nZXRNZXRhTW9kZWwoKTtcblx0XHRjb25zdCBtVmlld0RhdGEgPSBvVGVtcGxhdGVDb21wb25lbnQuZ2V0Vmlld0RhdGEoKTtcblx0XHRjb25zdCBvVmlld0RhdGFNb2RlbCA9IG5ldyBKU09OTW9kZWwobVZpZXdEYXRhKSxcblx0XHRcdG9QcmVwcm9jZXNzb3JTZXR0aW5ncyA9IHtcblx0XHRcdFx0YmluZGluZ0NvbnRleHRzOiB7XG5cdFx0XHRcdFx0Y29udGV4dFBhdGg6IG9NZXRhTW9kZWw/LmNyZWF0ZUJpbmRpbmdDb250ZXh0KG1TZXR0aW5ncy5jb250ZXh0UGF0aCB8fCBgLyR7b1RlbXBsYXRlQ29tcG9uZW50LmdldEVudGl0eVNldCgpIX1gKSxcblx0XHRcdFx0XHRjb252ZXJ0ZXJDb250ZXh0OiBvUGFnZU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KFwiL1wiLCB1bmRlZmluZWQsIHsgbm9SZXNvbHZlOiB0cnVlIH0pLFxuXHRcdFx0XHRcdHZpZXdEYXRhOiBtVmlld0RhdGEgPyBvVmlld0RhdGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9cIikgOiBudWxsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdG1vZGVsczoge1xuXHRcdFx0XHRcdGNvbnRleHRQYXRoOiBvTWV0YU1vZGVsLFxuXHRcdFx0XHRcdGNvbnZlcnRlckNvbnRleHQ6IG9QYWdlTW9kZWwsXG5cdFx0XHRcdFx0bWV0YU1vZGVsOiBvTWV0YU1vZGVsLFxuXHRcdFx0XHRcdHZpZXdEYXRhOiBvVmlld0RhdGFNb2RlbFxuXHRcdFx0XHR9LFxuXHRcdFx0XHRhcHBDb21wb25lbnQ6IENvbW1vblV0aWxzLmdldEFwcENvbXBvbmVudCh0aGlzLl92aWV3KVxuXHRcdFx0fTtcblx0XHRjb25zdCBvVGVtcGxhdGVQcm9taXNlID0gQ29tbW9uVXRpbHMudGVtcGxhdGVDb250cm9sRnJhZ21lbnQobVNldHRpbmdzLm5hbWUsIG9QcmVwcm9jZXNzb3JTZXR0aW5ncywge1xuXHRcdFx0Y29udHJvbGxlcjogKG1TZXR0aW5ncy5jb250cm9sbGVyIGFzIENvbnRyb2xsZXIpIHx8IHRoaXMsXG5cdFx0XHRpc1hNTDogZmFsc2UsXG5cdFx0XHRpZDogbVNldHRpbmdzLmlkXG5cdFx0fSkgYXMgUHJvbWlzZTxDb250cm9sPjtcblx0XHRvVGVtcGxhdGVQcm9taXNlXG5cdFx0XHQudGhlbigob0ZyYWdtZW50OiBDb250cm9sKSA9PiB7XG5cdFx0XHRcdGlmIChtU2V0dGluZ3MuaW5pdGlhbEJpbmRpbmdDb250ZXh0ICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHRvRnJhZ21lbnQuc2V0QmluZGluZ0NvbnRleHQobVNldHRpbmdzLmluaXRpYWxCaW5kaW5nQ29udGV4dCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5hZGREZXBlbmRlbnQob0ZyYWdtZW50KTtcblx0XHRcdFx0cmV0dXJuIG9GcmFnbWVudDtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goZnVuY3Rpb24gKG9FcnJvcjogdW5rbm93bikge1xuXHRcdFx0XHRMb2cuZXJyb3Iob0Vycm9yIGFzIHN0cmluZyk7XG5cdFx0XHR9KTtcblx0XHRyZXR1cm4gb1RlbXBsYXRlUHJvbWlzZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUcmlnZ2VycyBhbiB1cGRhdGUgb2YgdGhlIGFwcCBzdGF0ZS5cblx0ICogU2hvdWxkIGJlIGNhbGxlZCBpZiB0aGUgc3RhdGUgb2YgYSBjb250cm9sLCBvciBhbnkgb3RoZXIgc3RhdGUtcmVsZXZhbnQgaW5mb3JtYXRpb24sIHdhcyBjaGFuZ2VkLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuRXh0ZW5zaW9uQVBJI3VwZGF0ZUFwcFN0YXRlXG5cdCAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIG5ldyBhcHAgc3RhdGUgb2JqZWN0LlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRhc3luYyB1cGRhdGVBcHBTdGF0ZSgpOiBQcm9taXNlPHZvaWQgfCB7IGFwcFN0YXRlOiBvYmplY3QgfT4ge1xuXHRcdHJldHVybiB0aGlzLl9jb250cm9sbGVyLmdldEFwcENvbXBvbmVudCgpLmdldEFwcFN0YXRlSGFuZGxlcigpLmNyZWF0ZUFwcFN0YXRlKCk7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgRXh0ZW5zaW9uQVBJO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7O0VBb0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQVJBLElBVU1BLFlBQVksV0FEakJDLGNBQWMsQ0FBQywwQkFBMEIsQ0FBQyxVQU96Q0MsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUE0QyxDQUFDLENBQUMsVUFRL0RE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
|
|
276
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFeHRlbnNpb25BUEkiLCJkZWZpbmVVSTVDbGFzcyIsInByb3BlcnR5IiwidHlwZSIsIm9Db250cm9sbGVyIiwic0lkIiwiX2NvbnRyb2xsZXIiLCJfdmlldyIsImdldFZpZXciLCJleHRlbnNpb24iLCJlZGl0RmxvdyIsInJvdXRpbmciLCJfcm91dGluZyIsImludGVudEJhc2VkTmF2aWdhdGlvbiIsIl9wcmVmaXgiLCJkZXN0cm95IiwiZ2V0RWRpdEZsb3ciLCJnZXRSb3V0aW5nIiwiZ2V0SW50ZW50QmFzZWROYXZpZ2F0aW9uIiwiYnlJZCIsIm9Db250cm9sIiwiZ2V0TW9kZWwiLCJzTW9kZWxOYW1lIiwib0FwcENvbXBvbmVudCIsIkNvbW1vblV0aWxzIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0TWFuaWZlc3RFbnRyeSIsIm1vZGVscyIsInVuZGVmaW5lZCIsImFkZERlcGVuZGVudCIsInJlbW92ZURlcGVuZGVudCIsIm5hdmlnYXRlVG9UYXJnZXQiLCJzVGFyZ2V0Iiwib0NvbnRleHQiLCJsb2FkRnJhZ21lbnQiLCJtU2V0dGluZ3MiLCJvVGVtcGxhdGVDb21wb25lbnQiLCJDb21wb25lbnQiLCJnZXRPd25lckNvbXBvbmVudEZvciIsIm9QYWdlTW9kZWwiLCJvTWV0YU1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwibVZpZXdEYXRhIiwiZ2V0Vmlld0RhdGEiLCJvVmlld0RhdGFNb2RlbCIsIkpTT05Nb2RlbCIsIm9QcmVwcm9jZXNzb3JTZXR0aW5ncyIsImJpbmRpbmdDb250ZXh0cyIsImNvbnRleHRQYXRoIiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJnZXRFbnRpdHlTZXQiLCJjb252ZXJ0ZXJDb250ZXh0Iiwibm9SZXNvbHZlIiwidmlld0RhdGEiLCJtZXRhTW9kZWwiLCJhcHBDb21wb25lbnQiLCJvVGVtcGxhdGVQcm9taXNlIiwidGVtcGxhdGVDb250cm9sRnJhZ21lbnQiLCJuYW1lIiwiY29udHJvbGxlciIsImlzWE1MIiwiaWQiLCJ0aGVuIiwib0ZyYWdtZW50IiwiaW5pdGlhbEJpbmRpbmdDb250ZXh0Iiwic2V0QmluZGluZ0NvbnRleHQiLCJjYXRjaCIsIm9FcnJvciIsIkxvZyIsImVycm9yIiwidXBkYXRlQXBwU3RhdGUiLCJnZXRBcHBTdGF0ZUhhbmRsZXIiLCJjcmVhdGVBcHBTdGF0ZSIsIkJhc2VPYmplY3QiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkV4dGVuc2lvbkFQSS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIEVkaXRGbG93IGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9FZGl0Rmxvd1wiO1xuaW1wb3J0IHR5cGUgSW50ZW50QmFzZWROYXZpZ2F0aW9uIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9JbnRlbnRCYXNlZE5hdmlnYXRpb25cIjtcbmltcG9ydCB0eXBlIEludGVybmFsUm91dGluZyBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvSW50ZXJuYWxSb3V0aW5nXCI7XG5pbXBvcnQgdHlwZSBSb3V0aW5nIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9Sb3V0aW5nXCI7XG5pbXBvcnQgdHlwZSBQYWdlQ29udHJvbGxlciBmcm9tIFwic2FwL2ZlL2NvcmUvUGFnZUNvbnRyb2xsZXJcIjtcbmltcG9ydCB0eXBlIFRlbXBsYXRlQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9UZW1wbGF0ZUNvbXBvbmVudFwiO1xuaW1wb3J0IEJhc2VPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL09iamVjdFwiO1xuaW1wb3J0IENvbXBvbmVudCBmcm9tIFwic2FwL3VpL2NvcmUvQ29tcG9uZW50XCI7XG5pbXBvcnQgdHlwZSBDb250cm9sIGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSBVSTVFbGVtZW50IGZyb20gXCJzYXAvdWkvY29yZS9FbGVtZW50XCI7XG5pbXBvcnQgdHlwZSBDb250cm9sbGVyIGZyb20gXCJzYXAvdWkvY29yZS9tdmMvQ29udHJvbGxlclwiO1xuaW1wb3J0IHR5cGUgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9Db250ZXh0XCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIE1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvTW9kZWxcIjtcbmltcG9ydCB0eXBlIHsgRW5oYW5jZVdpdGhVSTUgfSBmcm9tIFwiLi9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MsIHByb3BlcnR5IH0gZnJvbSBcIi4vaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcblxuLyoqXG4gKiBDb21tb24gRXh0ZW5zaW9uIEFQSSBmb3IgYWxsIHBhZ2VzIG9mIFNBUCBGaW9yaSBlbGVtZW50cyBmb3IgT0RhdGEgVjQuXG4gKlxuICogVG8gY29ycmVjdGx5IGludGVncmF0ZSB5b3VyIGFwcCBleHRlbnNpb24gY29kaW5nIHdpdGggU0FQIEZpb3JpIGVsZW1lbnRzLCB1c2Ugb25seSB0aGUgZXh0ZW5zaW9uQVBJIG9mIFNBUCBGaW9yaSBlbGVtZW50cy4gRG9uJ3QgYWNjZXNzIG9yIG1hbmlwdWxhdGUgY29udHJvbHMsIHByb3BlcnRpZXMsIG1vZGVscywgb3Igb3RoZXIgaW50ZXJuYWwgb2JqZWN0cyBjcmVhdGVkIGJ5IHRoZSBTQVAgRmlvcmkgZWxlbWVudHMgZnJhbWV3b3JrLlxuICpcbiAqIEBhbGlhcyBzYXAuZmUuY29yZS5FeHRlbnNpb25BUElcbiAqIEBwdWJsaWNcbiAqIEBoaWRlY29uc3RydWN0b3JcbiAqIEBleHRlbmRzIHNhcC51aS5iYXNlLk9iamVjdFxuICogQHNpbmNlIDEuNzkuMFxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5FeHRlbnNpb25BUElcIilcbmNsYXNzIEV4dGVuc2lvbkFQSSBleHRlbmRzIEJhc2VPYmplY3Qge1xuXHQvKipcblx0ICogQSBjb250cm9sbGVyIGV4dGVuc2lvbiBvZmZlcmluZyBob29rcyBpbnRvIHRoZSBlZGl0IGZsb3cgb2YgdGhlIGFwcGxpY2F0aW9uLlxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0VkaXRGbG93XCIgfSlcblx0ZWRpdEZsb3c6IEVkaXRGbG93O1xuXG5cdC8qKlxuXHQgKiBBIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIG9mZmVyaW5nIGhvb2tzIGludG8gdGhlIHJvdXRpbmcgZmxvdyBvZiB0aGUgYXBwbGljYXRpb24uXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvUm91dGluZ1wiIH0pXG5cdHJvdXRpbmc6IFJvdXRpbmc7XG5cblx0LyoqXG5cdCAqIEV4dGVuc2lvbkFQSSBmb3IgaW50ZW50LWJhc2VkIG5hdmlnYXRpb25cblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9JbnRlbnRCYXNlZE5hdmlnYXRpb25cIiB9KVxuXHRpbnRlbnRCYXNlZE5hdmlnYXRpb246IEludGVudEJhc2VkTmF2aWdhdGlvbjtcblxuXHRwcm90ZWN0ZWQgX2NvbnRyb2xsZXI6IFBhZ2VDb250cm9sbGVyO1xuXG5cdHByb3RlY3RlZCBfdmlldzogVmlldztcblxuXHRwcml2YXRlIF9yb3V0aW5nOiBJbnRlcm5hbFJvdXRpbmc7XG5cblx0cHJpdmF0ZSBfcHJlZml4Pzogc3RyaW5nO1xuXG5cdHByaXZhdGUgZXh0ZW5zaW9uOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuXHRjb25zdHJ1Y3RvcihvQ29udHJvbGxlcjogUGFnZUNvbnRyb2xsZXIsIHNJZD86IHN0cmluZykge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy5fY29udHJvbGxlciA9IG9Db250cm9sbGVyO1xuXHRcdHRoaXMuX3ZpZXcgPSBvQ29udHJvbGxlci5nZXRWaWV3KCk7XG5cdFx0dGhpcy5leHRlbnNpb24gPSB0aGlzLl9jb250cm9sbGVyLmV4dGVuc2lvbjtcblx0XHR0aGlzLmVkaXRGbG93ID0gdGhpcy5fY29udHJvbGxlci5lZGl0Rmxvdztcblx0XHR0aGlzLnJvdXRpbmcgPSB0aGlzLl9jb250cm9sbGVyLnJvdXRpbmc7XG5cdFx0dGhpcy5fcm91dGluZyA9IHRoaXMuX2NvbnRyb2xsZXIuX3JvdXRpbmc7XG5cdFx0dGhpcy5pbnRlbnRCYXNlZE5hdmlnYXRpb24gPSB0aGlzLl9jb250cm9sbGVyLmludGVudEJhc2VkTmF2aWdhdGlvbjtcblx0XHR0aGlzLl9wcmVmaXggPSBzSWQ7XG5cdH1cblxuXHRkZXN0cm95KCkge1xuXHRcdC8vIGRlbGV0ZSB0aGlzLl9jb250cm9sbGVyO1xuXHRcdC8vIGRlbGV0ZSB0aGlzLl92aWV3O1xuXHRcdC8vIGRlbGV0ZSB0aGlzLmVkaXRGbG93Ll9jb250cm9sbGVyO1xuXHRcdC8vIGRlbGV0ZSB0aGlzLmludGVudEJhc2VkTmF2aWdhdGlvbi5fY29udHJvbGxlcjtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIGVkaXRGbG93IGNvbnRyb2xsZXIgZXh0ZW5zaW9uIGZvciB0aGlzIHBhZ2UuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICogQHJldHVybnMgVGhlIGVkaXRGbG93IGNvbnRyb2xsZXIgZXh0ZW5zaW9uXG5cdCAqL1xuXHRnZXRFZGl0RmxvdygpIHtcblx0XHRyZXR1cm4gdGhpcy5lZGl0Rmxvdztcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIHJvdXRpbmcgY29udHJvbGxlciBleHRlbnNpb24gZm9yIHRoaXMgcGFnZS5cblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKiBAcmV0dXJucyBUaGUgcm91dGluZyBjb250cm9sbGVyIGV4dGVuc2lvblxuXHQgKi9cblx0Z2V0Um91dGluZygpIHtcblx0XHRyZXR1cm4gdGhpcy5yb3V0aW5nO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgaW50ZW50QmFzZWROYXZpZ2F0aW9uIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIGZvciB0aGlzIHBhZ2UuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICogQHJldHVybnMgVGhlIGludGVudEJhc2VkTmF2aWdhdGlvbiBjb250cm9sbGVyIGV4dGVuc2lvblxuXHQgKi9cblx0Z2V0SW50ZW50QmFzZWROYXZpZ2F0aW9uKCkge1xuXHRcdHJldHVybiB0aGlzLmludGVudEJhc2VkTmF2aWdhdGlvbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBBY2Nlc3MgYW55IGNvbnRyb2wgYnkgSUQuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUuY29yZS5FeHRlbnNpb25BUEkjYnlJZFxuXHQgKiBAcGFyYW0gc0lkIElEIG9mIHRoZSBjb250cm9sIHdpdGhvdXQgdGhlIHZpZXcgcHJlZml4LiBFaXRoZXIgdGhlIElEIHByZWZpeGVkIGJ5IFNBUCBGaW9yaSBlbGVtZW50c1xuXHQgKiAoZm9yIGV4YW1wbGUgd2l0aCB0aGUgc2VjdGlvbikgb3IgdGhlIGNvbnRyb2wgSUQgb25seS4gVGhlIGxhdHRlciB3b3JrcyBvbmx5IGZvciBhbiBleHRlbnNpb24gcnVubmluZyBpblxuXHQgKiB0aGUgc2FtZSBjb250ZXh0IChsaWtlIGluIHRoZSBzYW1lIHNlY3Rpb24pLiBZb3UgY2FuIHVzZSB0aGUgcHJlZml4IGZvciBTQVAgRmlvcmkgZWxlbWVudHMgdG8gYWxzbyBhY2Nlc3Mgb3RoZXIgY29udHJvbHMgbG9jYXRlZCBpbiBkaWZmZXJlbnQgc2VjdGlvbnMuXG5cdCAqIEByZXR1cm5zIFRoZSByZXF1ZXN0ZWQgY29udHJvbCwgaWYgZm91bmQgaW4gdGhlIHZpZXcuXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRieUlkKHNJZDogc3RyaW5nKSB7XG5cdFx0bGV0IG9Db250cm9sID0gdGhpcy5fdmlldy5ieUlkKHNJZCk7XG5cblx0XHRpZiAoIW9Db250cm9sICYmIHRoaXMuX3ByZWZpeCkge1xuXHRcdFx0Ly8gZ2l2ZSBpdCBhIHRyeSB3aXRoIHRoZSBwcmVmaXhcblx0XHRcdG9Db250cm9sID0gdGhpcy5fdmlldy5ieUlkKGAke3RoaXMuX3ByZWZpeH0tLSR7c0lkfWApO1xuXHRcdH1cblx0XHRyZXR1cm4gb0NvbnRyb2w7XG5cdH1cblxuXHQvKipcblx0ICogR2V0IGFjY2VzcyB0byBtb2RlbHMgbWFuYWdlZCBieSBTQVAgRmlvcmkgZWxlbWVudHMuPGJyPlxuXHQgKiBUaGUgZm9sbG93aW5nIG1vZGVscyBjYW4gYmUgYWNjZXNzZWQ6XG5cdCAqIDx1bD5cblx0ICogPGxpPnVuZGVmaW5lZDogdGhlIHVuZGVmaW5lZCBtb2RlbCByZXR1cm5zIHRoZSBTQVBVSTUgT0RhdGEgVjQgbW9kZWwgYm91bmQgdG8gdGhpcyBwYWdlPC9saT5cblx0ICogPGxpPmkxOG4gLyBmdXJ0aGVyIGRhdGEgbW9kZWxzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0PC9saT5cblx0ICogPGxpPnVpOiByZXR1cm5zIGEgU0FQVUk1IEpTT04gbW9kZWwgY29udGFpbmluZyBVSSBpbmZvcm1hdGlvbi5cblx0ICogT25seSB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXMgYXJlIHB1YmxpYyBhbmQgc3VwcG9ydGVkOlxuXHQgKiBcdDx1bD5cblx0ICogICAgIDxsaT5pc0VkaXRhYmxlOiBzZXQgdG8gdHJ1ZSBpZiB0aGUgYXBwbGljYXRpb24gaXMgaW4gZWRpdCBtb2RlPC9saT5cblx0ICogIDwvdWw+XG5cdCAqIDwvbGk+XG5cdCAqIDwvdWw+LlxuXHQgKiBlZGl0TW9kZSBpcyBkZXByZWNhdGVkIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgYW55bW9yZS4gVXNlIGlzRWRpdGFibGUgaW5zdGVhZC5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLkV4dGVuc2lvbkFQSSNnZXRNb2RlbFxuXHQgKiBAcGFyYW0gc01vZGVsTmFtZSBOYW1lIG9mIHRoZSBtb2RlbFxuXHQgKiBAcmV0dXJucyBUaGUgcmVxdWlyZWQgbW9kZWxcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Z2V0TW9kZWwoc01vZGVsTmFtZT86IHN0cmluZyk6IE1vZGVsIHwgdW5kZWZpbmVkIHtcblx0XHRsZXQgb0FwcENvbXBvbmVudDtcblxuXHRcdGlmIChzTW9kZWxOYW1lICYmIHNNb2RlbE5hbWUgIT09IFwidWlcIikge1xuXHRcdFx0b0FwcENvbXBvbmVudCA9IENvbW1vblV0aWxzLmdldEFwcENvbXBvbmVudCh0aGlzLl92aWV3KTtcblx0XHRcdGlmICghb0FwcENvbXBvbmVudC5nZXRNYW5pZmVzdEVudHJ5KFwic2FwLnVpNVwiKS5tb2RlbHNbc01vZGVsTmFtZV0pIHtcblx0XHRcdFx0Ly8gZG9uJ3QgYWxsb3cgYWNjZXNzIHRvIG91ciBpbnRlcm5hbCBtb2RlbHNcblx0XHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcy5fdmlldy5nZXRNb2RlbChzTW9kZWxOYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGQgYW55IGNvbnRyb2wgYXMgYSBkZXBlbmRlbnQgY29udHJvbCB0byB0aGlzIFNBUCBGaW9yaSBlbGVtZW50cyBwYWdlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuRXh0ZW5zaW9uQVBJI2FkZERlcGVuZGVudFxuXHQgKiBAcGFyYW0gb0NvbnRyb2wgQ29udHJvbCB0byBiZSBhZGRlZCBhcyBhIGRlcGVuZGVudCBjb250cm9sXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGFkZERlcGVuZGVudChvQ29udHJvbDogQ29udHJvbCkge1xuXHRcdHRoaXMuX3ZpZXcuYWRkRGVwZW5kZW50KG9Db250cm9sKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZW1vdmUgYSBkZXBlbmRlbnQgY29udHJvbCBmcm9tIHRoaXMgU0FQIEZpb3JpIGVsZW1lbnRzIHBhZ2UuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUuY29yZS5FeHRlbnNpb25BUEkjcmVtb3ZlRGVwZW5kZW50XG5cdCAqIEBwYXJhbSBvQ29udHJvbCBDb250cm9sIHRvIGJlIGFkZGVkIGFzIGEgZGVwZW5kZW50IGNvbnRyb2xcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0cmVtb3ZlRGVwZW5kZW50KG9Db250cm9sOiBDb250cm9sKSB7XG5cdFx0dGhpcy5fdmlldy5yZW1vdmVEZXBlbmRlbnQob0NvbnRyb2wpO1xuXHR9XG5cblx0LyoqXG5cdCAqIE5hdmlnYXRlIHRvIGFub3RoZXIgdGFyZ2V0LlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuRXh0ZW5zaW9uQVBJI25hdmlnYXRlVG9UYXJnZXRcblx0ICogQHBhcmFtIHNUYXJnZXQgTmFtZSBvZiB0aGUgdGFyZ2V0IHJvdXRlXG5cdCAqIEBwYXJhbSBbb0NvbnRleHRdIENvbnRleHQgaW5zdGFuY2Vcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0bmF2aWdhdGVUb1RhcmdldChzVGFyZ2V0OiBzdHJpbmcsIG9Db250ZXh0OiBDb250ZXh0KTogdm9pZCB7XG5cdFx0dGhpcy5fY29udHJvbGxlci5fcm91dGluZy5uYXZpZ2F0ZVRvVGFyZ2V0KG9Db250ZXh0LCBzVGFyZ2V0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBMb2FkIGEgZnJhZ21lbnQgYW5kIGdvIHRocm91Z2ggdGhlIHRlbXBsYXRlIHByZXByb2Nlc3NvciB3aXRoIHRoZSBjdXJyZW50IHBhZ2UgY29udGV4dC5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLkV4dGVuc2lvbkFQSSNsb2FkRnJhZ21lbnRcblx0ICogQHBhcmFtIG1TZXR0aW5ncyBUaGUgc2V0dGluZ3Mgb2JqZWN0XG5cdCAqIEBwYXJhbSBtU2V0dGluZ3MuaWQgVGhlIElEIG9mIHRoZSBmcmFnbWVudCBpdHNlbGZcblx0ICogQHBhcmFtIG1TZXR0aW5ncy5uYW1lIFRoZSBuYW1lIG9mIHRoZSBmcmFnbWVudCB0byBiZSBsb2FkZWRcblx0ICogQHBhcmFtIG1TZXR0aW5ncy5jb250cm9sbGVyIFRoZSBjb250cm9sbGVyIHRvIGJlIGF0dGFjaGVkIHRvIHRoZSBmcmFnbWVudFxuXHQgKiBAcGFyYW0gbVNldHRpbmdzLmNvbnRleHRQYXRoIFRoZSBjb250ZXh0UGF0aCB0byBiZSB1c2VkIGZvciB0aGUgdGVtcGxhdGluZyBwcm9jZXNzXG5cdCAqIEBwYXJhbSBtU2V0dGluZ3MuaW5pdGlhbEJpbmRpbmdDb250ZXh0IFRoZSBpbml0aWFsIGJpbmRpbmcgY29udGV4dFxuXHQgKiBAcmV0dXJucyBUaGUgZnJhZ21lbnQgZGVmaW5pdGlvblxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRhc3luYyBsb2FkRnJhZ21lbnQobVNldHRpbmdzOiB7XG5cdFx0aWQ6IHN0cmluZztcblx0XHRuYW1lOiBzdHJpbmc7XG5cdFx0Y29udHJvbGxlcjogb2JqZWN0O1xuXHRcdGNvbnRleHRQYXRoOiBzdHJpbmc7XG5cdFx0aW5pdGlhbEJpbmRpbmdDb250ZXh0OiBDb250ZXh0O1xuXHR9KTogUHJvbWlzZTxVSTVFbGVtZW50IHwgVUk1RWxlbWVudFtdPiB7XG5cdFx0Y29uc3Qgb1RlbXBsYXRlQ29tcG9uZW50ID0gQ29tcG9uZW50LmdldE93bmVyQ29tcG9uZW50Rm9yKHRoaXMuX3ZpZXcpIGFzIEVuaGFuY2VXaXRoVUk1PFRlbXBsYXRlQ29tcG9uZW50Pjtcblx0XHRjb25zdCBvUGFnZU1vZGVsID0gdGhpcy5fdmlldy5nZXRNb2RlbChcIl9wYWdlTW9kZWxcIik7XG5cdFx0Y29uc3Qgb01ldGFNb2RlbCA9IHRoaXMuZ2V0TW9kZWwoKT8uZ2V0TWV0YU1vZGVsKCk7XG5cdFx0Y29uc3QgbVZpZXdEYXRhID0gb1RlbXBsYXRlQ29tcG9uZW50LmdldFZpZXdEYXRhKCk7XG5cdFx0Y29uc3Qgb1ZpZXdEYXRhTW9kZWwgPSBuZXcgSlNPTk1vZGVsKG1WaWV3RGF0YSksXG5cdFx0XHRvUHJlcHJvY2Vzc29yU2V0dGluZ3MgPSB7XG5cdFx0XHRcdGJpbmRpbmdDb250ZXh0czoge1xuXHRcdFx0XHRcdGNvbnRleHRQYXRoOiBvTWV0YU1vZGVsPy5jcmVhdGVCaW5kaW5nQ29udGV4dChtU2V0dGluZ3MuY29udGV4dFBhdGggfHwgYC8ke29UZW1wbGF0ZUNvbXBvbmVudC5nZXRFbnRpdHlTZXQoKSF9YCksXG5cdFx0XHRcdFx0Y29udmVydGVyQ29udGV4dDogb1BhZ2VNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9cIiwgdW5kZWZpbmVkLCB7IG5vUmVzb2x2ZTogdHJ1ZSB9KSxcblx0XHRcdFx0XHR2aWV3RGF0YTogbVZpZXdEYXRhID8gb1ZpZXdEYXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoXCIvXCIpIDogbnVsbFxuXHRcdFx0XHR9LFxuXHRcdFx0XHRtb2RlbHM6IHtcblx0XHRcdFx0XHRjb250ZXh0UGF0aDogb01ldGFNb2RlbCxcblx0XHRcdFx0XHRjb252ZXJ0ZXJDb250ZXh0OiBvUGFnZU1vZGVsLFxuXHRcdFx0XHRcdG1ldGFNb2RlbDogb01ldGFNb2RlbCxcblx0XHRcdFx0XHR2aWV3RGF0YTogb1ZpZXdEYXRhTW9kZWxcblx0XHRcdFx0fSxcblx0XHRcdFx0YXBwQ29tcG9uZW50OiBDb21tb25VdGlscy5nZXRBcHBDb21wb25lbnQodGhpcy5fdmlldylcblx0XHRcdH07XG5cdFx0Y29uc3Qgb1RlbXBsYXRlUHJvbWlzZSA9IENvbW1vblV0aWxzLnRlbXBsYXRlQ29udHJvbEZyYWdtZW50KG1TZXR0aW5ncy5uYW1lLCBvUHJlcHJvY2Vzc29yU2V0dGluZ3MsIHtcblx0XHRcdGNvbnRyb2xsZXI6IChtU2V0dGluZ3MuY29udHJvbGxlciBhcyBDb250cm9sbGVyKSB8fCB0aGlzLFxuXHRcdFx0aXNYTUw6IGZhbHNlLFxuXHRcdFx0aWQ6IG1TZXR0aW5ncy5pZFxuXHRcdH0pIGFzIFByb21pc2U8Q29udHJvbD47XG5cdFx0b1RlbXBsYXRlUHJvbWlzZVxuXHRcdFx0LnRoZW4oKG9GcmFnbWVudDogQ29udHJvbCkgPT4ge1xuXHRcdFx0XHRpZiAobVNldHRpbmdzLmluaXRpYWxCaW5kaW5nQ29udGV4dCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdFx0b0ZyYWdtZW50LnNldEJpbmRpbmdDb250ZXh0KG1TZXR0aW5ncy5pbml0aWFsQmluZGluZ0NvbnRleHQpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuYWRkRGVwZW5kZW50KG9GcmFnbWVudCk7XG5cdFx0XHRcdHJldHVybiBvRnJhZ21lbnQ7XG5cdFx0XHR9KVxuXHRcdFx0LmNhdGNoKGZ1bmN0aW9uIChvRXJyb3I6IHVua25vd24pIHtcblx0XHRcdFx0TG9nLmVycm9yKG9FcnJvciBhcyBzdHJpbmcpO1xuXHRcdFx0fSk7XG5cdFx0cmV0dXJuIG9UZW1wbGF0ZVByb21pc2U7XG5cdH1cblxuXHQvKipcblx0ICogVHJpZ2dlcnMgYW4gdXBkYXRlIG9mIHRoZSBhcHAgc3RhdGUuXG5cdCAqIFNob3VsZCBiZSBjYWxsZWQgaWYgdGhlIHN0YXRlIG9mIGEgY29udHJvbCwgb3IgYW55IG90aGVyIHN0YXRlLXJlbGV2YW50IGluZm9ybWF0aW9uLCB3YXMgY2hhbmdlZC5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLkV4dGVuc2lvbkFQSSN1cGRhdGVBcHBTdGF0ZVxuXHQgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBuZXcgYXBwIHN0YXRlIG9iamVjdC5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0YXN5bmMgdXBkYXRlQXBwU3RhdGUoKTogUHJvbWlzZTx2b2lkIHwgeyBhcHBTdGF0ZTogb2JqZWN0IH0+IHtcblx0XHRyZXR1cm4gdGhpcy5fY29udHJvbGxlci5nZXRBcHBDb21wb25lbnQoKS5nZXRBcHBTdGF0ZUhhbmRsZXIoKS5jcmVhdGVBcHBTdGF0ZSgpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEV4dGVuc2lvbkFQSTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7OztFQW9CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBVkEsSUFZTUEsWUFBWSxXQURqQkMsY0FBYyxDQUFDLDBCQUEwQixDQUFDLFVBT3pDQyxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQTRDLENBQUMsQ0FBQyxVQVEvREQsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUEyQyxDQUFDLENBQUMsVUFROURELFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBeUQsQ0FBQyxDQUFDO0lBQUE7SUFyQjdFO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7O0lBSUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTs7SUFJQztBQUNEO0FBQ0E7QUFDQTtBQUNBOztJQWNDLHNCQUFZQyxXQUEyQixFQUFFQyxHQUFZLEVBQUU7TUFBQTtNQUN0RCw4QkFBTztNQUFDO01BQUE7TUFBQTtNQUNSLE1BQUtDLFdBQVcsR0FBR0YsV0FBVztNQUM5QixNQUFLRyxLQUFLLEdBQUdILFdBQVcsQ0FBQ0ksT0FBTyxFQUFFO01BQ2xDLE1BQUtDLFNBQVMsR0FBRyxNQUFLSCxXQUFXLENBQUNHLFNBQVM7TUFDM0MsTUFBS0MsUUFBUSxHQUFHLE1BQUtKLFdBQVcsQ0FBQ0ksUUFBUTtNQUN6QyxNQUFLQyxPQUFPLEdBQUcsTUFBS0wsV0FBVyxDQUFDSyxPQUFPO01BQ3ZDLE1BQUtDLFFBQVEsR0FBRyxNQUFLTixXQUFXLENBQUNNLFFBQVE7TUFDekMsTUFBS0MscUJBQXFCLEdBQUcsTUFBS1AsV0FBVyxDQUFDTyxxQkFBcUI7TUFDbkUsTUFBS0MsT0FBTyxHQUFHVCxHQUFHO01BQUM7SUFDcEI7SUFBQztJQUFBLE9BRURVLE9BQU8sR0FBUCxtQkFBVTtNQUNUO01BQ0E7TUFDQTtNQUNBO0lB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtensionAPI.js","names":["sap","ui","define","Log","CommonUtils","BaseObject","Component","JSONModel","ClassSupport","_dec","_dec2","_dec3","_dec4","_class","_class2","_descriptor","_descriptor2","_descriptor3","property","defineUI5Class","_initializerDefineProperty","target","descriptor","context","Object","defineProperty","enumerable","configurable","writable","value","initializer","call","_assertThisInitialized","self","ReferenceError","_inheritsLoose","subClass","superClass","prototype","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","_applyDecoratedDescriptor","decorators","desc","keys","forEach","key","slice","reverse","reduce","decorator","undefined","_initializerWarningHelper","Error","ExtensionAPI","type","_BaseObject","oController","sId","_this","this","_controller","_view","getView","extension","editFlow","routing","_routing","intentBasedNavigation","_prefix","_proto","destroy","getEditFlow","getRouting","getIntentBasedNavigation","byId","oControl","getModel","sModelName","oAppComponent","getAppComponent","getManifestEntry","models","addDependent","removeDependent","navigateToTarget","sTarget","oContext","loadFragment","async","mSettings","_this$getModel","oTemplateComponent","getOwnerComponentFor","oPageModel","oMetaModel","getMetaModel","mViewData","getViewData","oViewDataModel","oPreprocessorSettings","bindingContexts","contextPath","createBindingContext","getEntitySet","converterContext","noResolve","viewData","metaModel","appComponent","oTemplatePromise","templateControlFragment","name","controller","isXML","id","then","oFragment","initialBindingContext","setBindingContext","catch","oError","error","updateAppState","getAppStateHandler","createAppState"],"sources":["ExtensionAPI-dbg.js"],"mappings":";;;;AAIAA,IAAIC,GAAGC,OAAO,CAAC,eAAgB,0BAA2B,qBAAsB,wBAAyB,8BAA+B,0BAA2B,SAAUC,EAAKC,EAAaC,EAAYC,EAAWC,EAAWC,GAC/N,aAEA,IAAIC,EAAMC,EAAOC,EAAOC,EAAOC,EAAQC,EAASC,EAAaC,EAAcC,EAC3E,IAAIC,EAAWV,EAAaU,SAC5B,IAAIC,EAAiBX,EAAaW,eAClC,SAASC,EAA2BC,EAAQH,EAAUI,EAAYC,GAAW,IAAKD,EAAY,OAAQE,OAAOC,eAAeJ,EAAQH,EAAU,CAAEQ,WAAYJ,EAAWI,WAAYC,aAAcL,EAAWK,aAAcC,SAAUN,EAAWM,SAAUC,MAAOP,EAAWQ,YAAcR,EAAWQ,YAAYC,KAAKR,QAAgB,GAAM,CAC3U,SAASS,EAAuBC,GAAQ,GAAIA,SAAc,EAAG,CAAE,MAAM,IAAIC,eAAe,4DAA8D,CAAE,OAAOD,CAAM,CACrK,SAASE,EAAeC,EAAUC,GAAcD,EAASE,UAAYd,OAAOe,OAAOF,EAAWC,WAAYF,EAASE,UAAUE,YAAcJ,EAAUK,EAAgBL,EAAUC,EAAa,CAC5L,SAASI,EAAgBC,EAAGC,GAAKF,EAAkBjB,OAAOoB,eAAiBpB,OAAOoB,eAAeC,OAAS,SAASJ,EAAgBC,EAAGC,GAAKD,EAAEI,UAAYH,EAAG,OAAOD,CAAG,EAAG,OAAOD,EAAgBC,EAAGC,EAAI,CACvM,SAASI,EAA0B1B,EAAQH,EAAU8B,EAAY1B,EAAYC,GAAW,IAAI0B,EAAO,CAAC,EAAGzB,OAAO0B,KAAK5B,GAAY6B,QAAQ,SAAUC,GAAOH,EAAKG,GAAO9B,EAAW8B,EAAM,GAAIH,EAAKvB,aAAeuB,EAAKvB,WAAYuB,EAAKtB,eAAiBsB,EAAKtB,aAAc,GAAI,UAAWsB,GAAQA,EAAKnB,YAAa,CAAEmB,EAAKrB,SAAW,IAAM,CAAEqB,EAAOD,EAAWK,QAAQC,UAAUC,OAAO,SAAUN,EAAMO,GAAa,OAAOA,EAAUnC,EAAQH,EAAU+B,IAASA,CAAM,EAAGA,GAAO,GAAI1B,GAAW0B,EAAKnB,mBAAqB,EAAG,CAAEmB,EAAKpB,MAAQoB,EAAKnB,YAAcmB,EAAKnB,YAAYC,KAAKR,QAAgB,EAAG0B,EAAKnB,YAAc2B,SAAW,CAAE,GAAIR,EAAKnB,mBAAqB,EAAG,CAAEN,OAAOC,eAAeJ,EAAQH,EAAU+B,GAAOA,EAAO,IAAM,CAAE,OAAOA,CAAM,CACntB,SAASS,EAA0BpC,EAAYC,GAAW,MAAM,IAAIoC,MAAM,wDAA0D,gFAAkF,
|
|
1
|
+
{"version":3,"file":"ExtensionAPI.js","names":["sap","ui","define","Log","CommonUtils","BaseObject","Component","JSONModel","ClassSupport","_dec","_dec2","_dec3","_dec4","_class","_class2","_descriptor","_descriptor2","_descriptor3","property","defineUI5Class","_initializerDefineProperty","target","descriptor","context","Object","defineProperty","enumerable","configurable","writable","value","initializer","call","_assertThisInitialized","self","ReferenceError","_inheritsLoose","subClass","superClass","prototype","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","_applyDecoratedDescriptor","decorators","desc","keys","forEach","key","slice","reverse","reduce","decorator","undefined","_initializerWarningHelper","Error","ExtensionAPI","type","_BaseObject","oController","sId","_this","this","_controller","_view","getView","extension","editFlow","routing","_routing","intentBasedNavigation","_prefix","_proto","destroy","getEditFlow","getRouting","getIntentBasedNavigation","byId","oControl","getModel","sModelName","oAppComponent","getAppComponent","getManifestEntry","models","addDependent","removeDependent","navigateToTarget","sTarget","oContext","loadFragment","async","mSettings","_this$getModel","oTemplateComponent","getOwnerComponentFor","oPageModel","oMetaModel","getMetaModel","mViewData","getViewData","oViewDataModel","oPreprocessorSettings","bindingContexts","contextPath","createBindingContext","getEntitySet","converterContext","noResolve","viewData","metaModel","appComponent","oTemplatePromise","templateControlFragment","name","controller","isXML","id","then","oFragment","initialBindingContext","setBindingContext","catch","oError","error","updateAppState","getAppStateHandler","createAppState"],"sources":["ExtensionAPI-dbg.js"],"mappings":"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"}
|
|
@@ -21,6 +21,8 @@ import { defineUI5Class, property } from "./helpers/ClassSupport";
|
|
|
21
21
|
/**
|
|
22
22
|
* Common Extension API for all pages of SAP Fiori elements for OData V4.
|
|
23
23
|
*
|
|
24
|
+
* To correctly integrate your app extension coding with SAP Fiori elements, use only the extensionAPI of SAP Fiori elements. Don't access or manipulate controls, properties, models, or other internal objects created by the SAP Fiori elements framework.
|
|
25
|
+
*
|
|
24
26
|
* @alias sap.fe.core.ExtensionAPI
|
|
25
27
|
* @public
|
|
26
28
|
* @hideconstructor
|