@sapui5/sap.fe.core 1.102.3 → 1.105.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 +6 -6
- package/src/sap/fe/core/.library +1 -1
- package/src/sap/fe/core/ActionRuntime.js +120 -0
- package/src/sap/fe/core/ActionRuntime.ts +108 -0
- package/src/sap/fe/core/AppComponent.js +81 -35
- package/src/sap/fe/core/AppComponent.ts +68 -44
- package/src/sap/fe/core/AppStateHandler.js +82 -70
- package/src/sap/fe/core/AppStateHandler.ts +32 -37
- package/src/sap/fe/core/BaseController.js +12 -10
- package/src/sap/fe/core/BaseController.ts +15 -13
- package/src/sap/fe/core/CommonUtils.js +291 -218
- package/src/sap/fe/core/CommonUtils.ts +315 -251
- package/src/sap/fe/core/ExtensionAPI.js +25 -28
- package/src/sap/fe/core/ExtensionAPI.ts +36 -38
- package/src/sap/fe/core/PageController.js +5 -5
- package/src/sap/fe/core/PageController.ts +4 -5
- package/src/sap/fe/core/TemplateComponent.js +21 -10
- package/src/sap/fe/core/TemplateComponent.ts +9 -6
- package/src/sap/fe/core/TemplateModel.js +2 -2
- package/src/sap/fe/core/TemplateModel.ts +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js +11 -3
- package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +8 -2
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +197 -43
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +164 -24
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.js +14 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.ts +5 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +609 -230
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +275 -128
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js +30 -30
- package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +32 -29
- package/src/sap/fe/core/controllerextensions/BusyLocker.js +1 -1
- package/src/sap/fe/core/controllerextensions/EditFlow.js +761 -700
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +478 -514
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +10 -10
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +10 -10
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +104 -75
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +71 -79
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +68 -68
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +76 -76
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +162 -102
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +177 -121
- package/src/sap/fe/core/controllerextensions/KPIManagement.js +67 -69
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +106 -123
- package/src/sap/fe/core/controllerextensions/MassEdit.js +10 -10
- package/src/sap/fe/core/controllerextensions/MassEdit.ts +20 -27
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +21 -13
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +21 -14
- package/src/sap/fe/core/controllerextensions/PageReady.js +98 -26
- package/src/sap/fe/core/controllerextensions/PageReady.ts +98 -34
- package/src/sap/fe/core/controllerextensions/Paginator.js +31 -32
- package/src/sap/fe/core/controllerextensions/Paginator.ts +33 -34
- package/src/sap/fe/core/controllerextensions/Placeholder.js +5 -7
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
- package/src/sap/fe/core/controllerextensions/Routing.js +11 -12
- package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
- package/src/sap/fe/core/controllerextensions/RoutingListener.js +1 -1
- package/src/sap/fe/core/controllerextensions/Share.js +171 -140
- package/src/sap/fe/core/controllerextensions/Share.ts +117 -118
- package/src/sap/fe/core/controllerextensions/SideEffects.js +47 -51
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +56 -60
- package/src/sap/fe/core/controllerextensions/ViewState.js +201 -132
- package/src/sap/fe/core/controllerextensions/ViewState.ts +141 -148
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +5 -5
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +8 -7
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +13 -12
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +17 -20
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +13 -12
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +15 -15
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +57 -18
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +60 -28
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +29 -21
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1424 -940
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +799 -836
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +410 -377
- package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +275 -358
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +309 -0
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +320 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js +752 -579
- package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +631 -599
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +92 -74
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +49 -52
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +78 -41
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +110 -84
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +69 -81
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +64 -73
- package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +18 -2
- package/src/sap/fe/core/controls/ActionParameterDialogFieldValueHelp.fragment.xml +35 -0
- package/src/sap/fe/core/controls/ActionParameterDialogValueHelp.fragment.xml +25 -24
- package/src/sap/fe/core/controls/Any.js +9 -5
- package/src/sap/fe/core/controls/Any.ts +10 -4
- package/src/sap/fe/core/controls/CommandExecution.js +12 -26
- package/src/sap/fe/core/controls/CommandExecution.ts +11 -25
- package/src/sap/fe/core/controls/ConditionalWrapper.js +3 -3
- package/src/sap/fe/core/controls/ConditionalWrapper.ts +3 -3
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +26 -26
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +25 -24
- package/src/sap/fe/core/controls/CustomQuickViewPage.js +3 -3
- package/src/sap/fe/core/controls/CustomQuickViewPage.ts +2 -2
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +3 -3
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +5 -5
- package/src/sap/fe/core/controls/FieldWrapper.js +3 -3
- package/src/sap/fe/core/controls/FieldWrapper.ts +3 -3
- package/src/sap/fe/core/controls/FileWrapper.js +9 -4
- package/src/sap/fe/core/controls/FileWrapper.ts +16 -12
- package/src/sap/fe/core/controls/FilterBar.js +7 -3
- package/src/sap/fe/core/controls/FilterBar.ts +13 -9
- package/src/sap/fe/core/controls/FormElementWrapper.js +2 -2
- package/src/sap/fe/core/controls/FormElementWrapper.ts +2 -2
- package/src/sap/fe/core/controls/MassEditSelect.js +1 -1
- package/src/sap/fe/core/controls/MassEditSelect.ts +0 -4
- package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +1 -1
- package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +44 -19
- package/src/sap/fe/core/controls/filterbar/FilterContainer.js +2 -2
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js +17 -13
- package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +20 -22
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +4 -4
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +8 -8
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +49 -49
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +54 -54
- package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +8 -2
- package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +22 -35
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +89 -88
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +107 -106
- package/src/sap/fe/core/converters/ConverterContext.js +48 -34
- package/src/sap/fe/core/converters/ConverterContext.ts +81 -67
- package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +18 -15
- package/src/sap/fe/core/converters/ManifestWrapper.js +59 -45
- package/src/sap/fe/core/converters/ManifestWrapper.ts +55 -45
- package/src/sap/fe/core/converters/MetaModelConverter.js +74 -40
- package/src/sap/fe/core/converters/MetaModelConverter.ts +176 -140
- package/src/sap/fe/core/converters/TemplateConverter.js +21 -20
- package/src/sap/fe/core/converters/TemplateConverter.ts +27 -24
- package/src/sap/fe/core/converters/annotations/DataField.js +58 -35
- package/src/sap/fe/core/converters/annotations/DataField.ts +102 -76
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +1956 -1494
- package/src/sap/fe/core/converters/controls/Common/Action.js +78 -51
- package/src/sap/fe/core/converters/controls/Common/Action.ts +87 -52
- package/src/sap/fe/core/converters/controls/Common/Chart.js +22 -16
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +42 -43
- package/src/sap/fe/core/converters/controls/Common/Criticality.js +3 -3
- package/src/sap/fe/core/converters/controls/Common/Criticality.ts +4 -4
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +65 -29
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +93 -62
- package/src/sap/fe/core/converters/controls/Common/Form.js +31 -31
- package/src/sap/fe/core/converters/controls/Common/Form.ts +46 -57
- package/src/sap/fe/core/converters/controls/Common/KPI.js +11 -11
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +49 -52
- package/src/sap/fe/core/converters/controls/Common/Table.js +251 -264
- package/src/sap/fe/core/converters/controls/Common/Table.ts +344 -370
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +119 -119
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +147 -144
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +89 -59
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +118 -71
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +28 -26
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +46 -43
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +9 -9
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +14 -13
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +131 -95
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +123 -87
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +98 -87
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +121 -117
- package/src/sap/fe/core/converters/helpers/Aggregation.js +2 -4
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +12 -15
- package/src/sap/fe/core/converters/helpers/BindingHelper.js +31 -31
- package/src/sap/fe/core/converters/helpers/BindingHelper.ts +30 -29
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +8 -6
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +18 -10
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.js +136 -0
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +139 -0
- package/src/sap/fe/core/converters/helpers/ID.js +48 -46
- package/src/sap/fe/core/converters/helpers/ID.ts +26 -25
- package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
- package/src/sap/fe/core/converters/helpers/Key.js +7 -7
- package/src/sap/fe/core/converters/helpers/Key.ts +7 -7
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +4 -5
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +6 -6
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +10 -10
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +53 -75
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +59 -90
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +58 -57
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +93 -86
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +58 -44
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +87 -80
- package/src/sap/fe/core/designtime/AppComponent.designtime.js +4 -4
- package/src/sap/fe/core/designtime/AppComponent.designtime.ts +4 -4
- package/src/sap/fe/core/formatters/CollaborationFormatter.js +2 -2
- package/src/sap/fe/core/formatters/CollaborationFormatter.ts +3 -3
- package/src/sap/fe/core/formatters/FPMFormatter.js +5 -5
- package/src/sap/fe/core/formatters/FPMFormatter.ts +10 -10
- package/src/sap/fe/core/formatters/KPIFormatter.js +7 -7
- package/src/sap/fe/core/formatters/KPIFormatter.ts +10 -10
- package/src/sap/fe/core/formatters/StandardFormatter.js +96 -0
- package/src/sap/fe/core/formatters/StandardFormatter.ts +70 -0
- package/src/sap/fe/core/formatters/TableFormatter.js +11 -11
- package/src/sap/fe/core/formatters/TableFormatter.ts +12 -12
- package/src/sap/fe/core/formatters/TableFormatterTypes.js +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter.js +8 -8
- package/src/sap/fe/core/formatters/ValueFormatter.ts +9 -9
- package/src/sap/fe/core/fpm/Component.js +33 -7
- package/src/sap/fe/core/fpm/Component.ts +14 -0
- package/src/sap/fe/core/helpers/AnnotationEnum.js +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper.js +19 -18
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +41 -43
- package/src/sap/fe/core/helpers/BindingToolkit.js +1836 -0
- package/src/sap/fe/core/helpers/{BindingExpression.ts → BindingToolkit.ts} +397 -270
- package/src/sap/fe/core/helpers/ClassSupport.js +49 -12
- package/src/sap/fe/core/helpers/ClassSupport.ts +37 -10
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +2 -2
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -1
- package/src/sap/fe/core/helpers/EditState.js +1 -6
- package/src/sap/fe/core/helpers/EditState.ts +5 -10
- package/src/sap/fe/core/helpers/ExcelFormatHelper.js +2 -2
- package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +4 -4
- package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
- package/src/sap/fe/core/helpers/FPMHelper.ts +2 -2
- package/src/sap/fe/core/helpers/KeepAliveHelper.js +31 -31
- package/src/sap/fe/core/helpers/KeepAliveHelper.ts +52 -56
- package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper.js +306 -280
- package/src/sap/fe/core/helpers/MassEditHelper.ts +380 -360
- package/src/sap/fe/core/helpers/MessageStrip.js +81 -0
- package/src/sap/fe/core/helpers/MessageStrip.ts +79 -0
- package/src/sap/fe/core/helpers/ModelHelper.js +25 -25
- package/src/sap/fe/core/helpers/ModelHelper.ts +34 -32
- package/src/sap/fe/core/helpers/PasteHelper.js +3 -10
- package/src/sap/fe/core/helpers/PasteHelper.ts +20 -25
- package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.ts +11 -11
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js +3 -3
- package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +8 -8
- package/src/sap/fe/core/helpers/StableIdHelper.js +12 -12
- package/src/sap/fe/core/helpers/StableIdHelper.ts +12 -12
- package/src/sap/fe/core/helpers/Synchronization.js +1 -1
- package/src/sap/fe/core/helpers/ToES6Promise.js +32 -0
- package/src/sap/fe/core/helpers/ToES6Promise.ts +19 -0
- package/src/sap/fe/core/jsx-runtime/Fragment.js +16 -0
- package/src/sap/fe/core/jsx-runtime/Fragment.ts +3 -0
- package/src/sap/fe/core/jsx-runtime/ViewLoader.js +109 -0
- package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +47 -0
- package/src/sap/fe/core/jsx-runtime/jsx-control.js +110 -0
- package/src/sap/fe/core/jsx-runtime/jsx-control.ts +92 -0
- package/src/sap/fe/core/jsx-runtime/jsx-xml.js +105 -0
- package/src/sap/fe/core/jsx-runtime/jsx-xml.ts +89 -0
- package/src/sap/fe/core/jsx-runtime/jsx.js +12 -90
- package/src/sap/fe/core/jsx-runtime/jsx.ts +24 -85
- package/src/sap/fe/core/jsx-runtime/jsxs.js +1 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +179 -0
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +150 -0
- package/src/sap/fe/core/library.js +42 -3
- package/src/sap/fe/core/library.support.js +1 -1
- package/src/sap/fe/core/library.ts +38 -0
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +3 -3
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +2 -2
- package/src/sap/fe/core/messagebundle.properties +39 -67
- package/src/sap/fe/core/messagebundle_ar.properties +27 -44
- package/src/sap/fe/core/messagebundle_bg.properties +27 -44
- package/src/sap/fe/core/messagebundle_ca.properties +27 -44
- package/src/sap/fe/core/messagebundle_cs.properties +27 -44
- package/src/sap/fe/core/messagebundle_cy.properties +26 -43
- package/src/sap/fe/core/messagebundle_da.properties +27 -44
- package/src/sap/fe/core/messagebundle_de.properties +25 -42
- package/src/sap/fe/core/messagebundle_el.properties +28 -45
- package/src/sap/fe/core/messagebundle_en.properties +27 -44
- package/src/sap/fe/core/messagebundle_en_GB.properties +27 -44
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +25 -42
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +26 -40
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +25 -42
- package/src/sap/fe/core/messagebundle_es.properties +27 -44
- package/src/sap/fe/core/messagebundle_es_MX.properties +27 -44
- package/src/sap/fe/core/messagebundle_et.properties +27 -44
- package/src/sap/fe/core/messagebundle_fi.properties +27 -44
- package/src/sap/fe/core/messagebundle_fr.properties +26 -43
- package/src/sap/fe/core/messagebundle_fr_CA.properties +25 -42
- package/src/sap/fe/core/messagebundle_hi.properties +27 -44
- package/src/sap/fe/core/messagebundle_hr.properties +27 -44
- package/src/sap/fe/core/messagebundle_hu.properties +27 -44
- package/src/sap/fe/core/messagebundle_id.properties +27 -44
- package/src/sap/fe/core/messagebundle_it.properties +43 -60
- package/src/sap/fe/core/messagebundle_iw.properties +27 -44
- package/src/sap/fe/core/messagebundle_ja.properties +27 -44
- package/src/sap/fe/core/messagebundle_kk.properties +27 -44
- package/src/sap/fe/core/messagebundle_ko.properties +30 -47
- package/src/sap/fe/core/messagebundle_lt.properties +27 -44
- package/src/sap/fe/core/messagebundle_lv.properties +27 -44
- package/src/sap/fe/core/messagebundle_ms.properties +27 -44
- package/src/sap/fe/core/messagebundle_nl.properties +29 -46
- package/src/sap/fe/core/messagebundle_no.properties +27 -44
- package/src/sap/fe/core/messagebundle_pl.properties +28 -45
- package/src/sap/fe/core/messagebundle_pt.properties +28 -45
- package/src/sap/fe/core/messagebundle_pt_PT.properties +27 -44
- package/src/sap/fe/core/messagebundle_ro.properties +27 -44
- package/src/sap/fe/core/messagebundle_ru.properties +27 -44
- package/src/sap/fe/core/messagebundle_sh.properties +27 -44
- package/src/sap/fe/core/messagebundle_sk.properties +27 -44
- package/src/sap/fe/core/messagebundle_sl.properties +27 -44
- package/src/sap/fe/core/messagebundle_sv.properties +27 -44
- package/src/sap/fe/core/messagebundle_th.properties +25 -42
- package/src/sap/fe/core/messagebundle_tr.properties +27 -44
- package/src/sap/fe/core/messagebundle_uk.properties +27 -44
- package/src/sap/fe/core/messagebundle_vi.properties +27 -44
- package/src/sap/fe/core/messagebundle_zh_CN.properties +27 -44
- package/src/sap/fe/core/messagebundle_zh_TW.properties +27 -44
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +3 -3
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +5 -5
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +103 -75
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +72 -73
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +2 -2
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +3 -2
- package/src/sap/fe/core/services/NavigationServiceFactory.js +62 -50
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +63 -52
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js +3 -3
- package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +4 -4
- package/src/sap/fe/core/services/RoutingServiceFactory.js +56 -56
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +67 -65
- package/src/sap/fe/core/services/ShellServicesFactory.js +93 -77
- package/src/sap/fe/core/services/ShellServicesFactory.ts +95 -82
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +64 -64
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +102 -92
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +232 -200
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +145 -142
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +2 -2
- package/src/sap/fe/core/support/AnnotationIssue.support.js +1 -1
- package/src/sap/fe/core/support/CollectionFacetMissingID.support.js +1 -1
- package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +1 -1
- package/src/sap/fe/core/support/CommonHelper.js +3 -2
- package/src/sap/fe/core/support/CommonHelper.ts +9 -13
- package/src/sap/fe/core/support/Diagnostics.js +1 -1
- package/src/sap/fe/core/support/Diagnostics.ts +5 -5
- package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +1 -1
- package/src/sap/fe/core/templating/CommonFormatters.js +85 -0
- package/src/sap/fe/core/templating/CommonFormatters.ts +90 -0
- package/src/sap/fe/core/templating/CriticalityFormatters.js +31 -31
- package/src/sap/fe/core/templating/CriticalityFormatters.ts +42 -40
- package/src/sap/fe/core/templating/DataFieldFormatters.js +8 -8
- package/src/sap/fe/core/templating/DataFieldFormatters.ts +13 -10
- package/src/sap/fe/core/templating/DataModelPathHelper.js +23 -15
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +47 -34
- package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -3
- package/src/sap/fe/core/templating/EntitySetHelper.js +7 -7
- package/src/sap/fe/core/templating/EntitySetHelper.ts +6 -8
- package/src/sap/fe/core/templating/FieldControlHelper.js +35 -34
- package/src/sap/fe/core/templating/FieldControlHelper.ts +29 -46
- package/src/sap/fe/core/templating/FilterHelper.js +18 -17
- package/src/sap/fe/core/templating/FilterHelper.ts +18 -18
- package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
- package/src/sap/fe/core/templating/FilterTemplating.ts +3 -3
- package/src/sap/fe/core/templating/PropertyFormatters.js +7 -7
- package/src/sap/fe/core/templating/PropertyFormatters.ts +21 -19
- package/src/sap/fe/core/templating/PropertyHelper.js +25 -25
- package/src/sap/fe/core/templating/PropertyHelper.ts +25 -26
- package/src/sap/fe/core/templating/UIFormatters.js +152 -95
- package/src/sap/fe/core/templating/UIFormatters.ts +202 -128
- package/src/sap/fe/core/type/DateTimeWithTimezone.js +2 -2
- package/src/sap/fe/core/type/Email.js +3 -3
- package/src/sap/fe/core/type/Email.ts +2 -2
- package/src/sap/fe/core/helpers/BindingExpression.js +0 -1732
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define(["sap/base/Log"], function (Log) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var _exports = {};
|
|
9
|
+
|
|
10
|
+
//function to check for statically hidden reference properties
|
|
11
|
+
function isReferencePropertyStaticallyHidden(property) {
|
|
12
|
+
var _property$annotations, _property$annotations2, _property$annotations3, _property$Value, _property$Value$$targ, _property$Value$$targ2, _property$Value$$targ3, _property$Value$$targ4, _property$Value3, _property$Value3$$tar, _propertyValueAnnotat, _propertyValueAnnotat2, _property$annotations4, _property$annotations5, _property$annotations6;
|
|
13
|
+
|
|
14
|
+
if (property) {
|
|
15
|
+
switch (property.$Type) {
|
|
16
|
+
case "com.sap.vocabularies.UI.v1.DataFieldForAnnotation":
|
|
17
|
+
return isAnnotationFieldStaticallyHidden(property);
|
|
18
|
+
|
|
19
|
+
case "com.sap.vocabularies.UI.v1.DataField":
|
|
20
|
+
if (property.targetObject) {
|
|
21
|
+
var _headerInfoAnnotation, _headerInfoAnnotation2, _headerInfoAnnotation3, _headerInfoAnnotation9, _headerInfoAnnotation10, _headerInfoAnnotation11, _headerInfoAnnotation12, _headerInfoAnnotation13;
|
|
22
|
+
|
|
23
|
+
var headerInfoAnnotation = property.targetObject;
|
|
24
|
+
|
|
25
|
+
if (headerInfoAnnotation.annotations && ((_headerInfoAnnotation = headerInfoAnnotation.annotations) === null || _headerInfoAnnotation === void 0 ? void 0 : (_headerInfoAnnotation2 = _headerInfoAnnotation.UI) === null || _headerInfoAnnotation2 === void 0 ? void 0 : (_headerInfoAnnotation3 = _headerInfoAnnotation2.Hidden) === null || _headerInfoAnnotation3 === void 0 ? void 0 : _headerInfoAnnotation3.valueOf()) === true) {
|
|
26
|
+
var _headerInfoAnnotation4, _headerInfoAnnotation5, _headerInfoAnnotation6, _headerInfoAnnotation7, _headerInfoAnnotation8;
|
|
27
|
+
|
|
28
|
+
if (((_headerInfoAnnotation4 = headerInfoAnnotation.Value) === null || _headerInfoAnnotation4 === void 0 ? void 0 : (_headerInfoAnnotation5 = _headerInfoAnnotation4.$target) === null || _headerInfoAnnotation5 === void 0 ? void 0 : (_headerInfoAnnotation6 = _headerInfoAnnotation5.annotations) === null || _headerInfoAnnotation6 === void 0 ? void 0 : (_headerInfoAnnotation7 = _headerInfoAnnotation6.UI) === null || _headerInfoAnnotation7 === void 0 ? void 0 : (_headerInfoAnnotation8 = _headerInfoAnnotation7.HiddenFilter) === null || _headerInfoAnnotation8 === void 0 ? void 0 : _headerInfoAnnotation8.valueOf()) === true) Log.warning("Warning: Property " + property.Value.path + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
|
|
29
|
+
return true;
|
|
30
|
+
} else if (headerInfoAnnotation.Value.$target && ((_headerInfoAnnotation9 = headerInfoAnnotation.Value) === null || _headerInfoAnnotation9 === void 0 ? void 0 : (_headerInfoAnnotation10 = _headerInfoAnnotation9.$target) === null || _headerInfoAnnotation10 === void 0 ? void 0 : (_headerInfoAnnotation11 = _headerInfoAnnotation10.annotations) === null || _headerInfoAnnotation11 === void 0 ? void 0 : (_headerInfoAnnotation12 = _headerInfoAnnotation11.UI) === null || _headerInfoAnnotation12 === void 0 ? void 0 : (_headerInfoAnnotation13 = _headerInfoAnnotation12.Hidden) === null || _headerInfoAnnotation13 === void 0 ? void 0 : _headerInfoAnnotation13.valueOf()) === true) {
|
|
31
|
+
var _headerInfoAnnotation14, _headerInfoAnnotation15, _headerInfoAnnotation16, _headerInfoAnnotation17, _headerInfoAnnotation18;
|
|
32
|
+
|
|
33
|
+
if (((_headerInfoAnnotation14 = headerInfoAnnotation.Value) === null || _headerInfoAnnotation14 === void 0 ? void 0 : (_headerInfoAnnotation15 = _headerInfoAnnotation14.$target) === null || _headerInfoAnnotation15 === void 0 ? void 0 : (_headerInfoAnnotation16 = _headerInfoAnnotation15.annotations) === null || _headerInfoAnnotation16 === void 0 ? void 0 : (_headerInfoAnnotation17 = _headerInfoAnnotation16.UI) === null || _headerInfoAnnotation17 === void 0 ? void 0 : (_headerInfoAnnotation18 = _headerInfoAnnotation17.HiddenFilter) === null || _headerInfoAnnotation18 === void 0 ? void 0 : _headerInfoAnnotation18.valueOf()) === true) Log.warning("Warning: Property " + property.Value.path + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
|
|
34
|
+
return true;
|
|
35
|
+
} else return false;
|
|
36
|
+
} else if (property.annotations && ((_property$annotations = property.annotations) === null || _property$annotations === void 0 ? void 0 : (_property$annotations2 = _property$annotations.UI) === null || _property$annotations2 === void 0 ? void 0 : (_property$annotations3 = _property$annotations2.Hidden) === null || _property$annotations3 === void 0 ? void 0 : _property$annotations3.valueOf()) === true) {
|
|
37
|
+
var _UI, _UI$HiddenFilter;
|
|
38
|
+
|
|
39
|
+
if (property.annotations && ((_UI = property.annotations.UI) === null || _UI === void 0 ? void 0 : (_UI$HiddenFilter = _UI.HiddenFilter) === null || _UI$HiddenFilter === void 0 ? void 0 : _UI$HiddenFilter.valueOf()) === true) Log.warning("Warning: Property " + property.Value.path + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
|
|
40
|
+
return true;
|
|
41
|
+
} else if (property.Value.$target && ((_property$Value = property.Value) === null || _property$Value === void 0 ? void 0 : (_property$Value$$targ = _property$Value.$target) === null || _property$Value$$targ === void 0 ? void 0 : (_property$Value$$targ2 = _property$Value$$targ.annotations) === null || _property$Value$$targ2 === void 0 ? void 0 : (_property$Value$$targ3 = _property$Value$$targ2.UI) === null || _property$Value$$targ3 === void 0 ? void 0 : (_property$Value$$targ4 = _property$Value$$targ3.Hidden) === null || _property$Value$$targ4 === void 0 ? void 0 : _property$Value$$targ4.valueOf()) === true) {
|
|
42
|
+
var _property$Value2, _property$Value2$$tar, _property$Value2$$tar2, _property$Value2$$tar3, _property$Value2$$tar4;
|
|
43
|
+
|
|
44
|
+
if (((_property$Value2 = property.Value) === null || _property$Value2 === void 0 ? void 0 : (_property$Value2$$tar = _property$Value2.$target) === null || _property$Value2$$tar === void 0 ? void 0 : (_property$Value2$$tar2 = _property$Value2$$tar.annotations) === null || _property$Value2$$tar2 === void 0 ? void 0 : (_property$Value2$$tar3 = _property$Value2$$tar2.UI) === null || _property$Value2$$tar3 === void 0 ? void 0 : (_property$Value2$$tar4 = _property$Value2$$tar3.HiddenFilter) === null || _property$Value2$$tar4 === void 0 ? void 0 : _property$Value2$$tar4.valueOf()) === true) Log.warning("Warning: Property " + property.Value.path + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
|
|
45
|
+
return true;
|
|
46
|
+
} else return false;
|
|
47
|
+
|
|
48
|
+
case "com.sap.vocabularies.UI.v1.DataFieldWithNavigationPath":
|
|
49
|
+
var propertyValueAnnotation = (_property$Value3 = property.Value) === null || _property$Value3 === void 0 ? void 0 : (_property$Value3$$tar = _property$Value3.$target) === null || _property$Value3$$tar === void 0 ? void 0 : _property$Value3$$tar.annotations;
|
|
50
|
+
|
|
51
|
+
if ((propertyValueAnnotation === null || propertyValueAnnotation === void 0 ? void 0 : (_propertyValueAnnotat = propertyValueAnnotation.UI) === null || _propertyValueAnnotat === void 0 ? void 0 : (_propertyValueAnnotat2 = _propertyValueAnnotat.Hidden) === null || _propertyValueAnnotat2 === void 0 ? void 0 : _propertyValueAnnotat2.valueOf()) === true) {
|
|
52
|
+
var _propertyValueAnnotat3, _propertyValueAnnotat4;
|
|
53
|
+
|
|
54
|
+
if ((propertyValueAnnotation === null || propertyValueAnnotation === void 0 ? void 0 : (_propertyValueAnnotat3 = propertyValueAnnotation.UI) === null || _propertyValueAnnotat3 === void 0 ? void 0 : (_propertyValueAnnotat4 = _propertyValueAnnotat3.HiddenFilter) === null || _propertyValueAnnotat4 === void 0 ? void 0 : _propertyValueAnnotat4.valueOf()) === true) Log.warning("Warning: Property " + property.Value.path + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
|
|
55
|
+
return true;
|
|
56
|
+
} else return false;
|
|
57
|
+
|
|
58
|
+
case "com.sap.vocabularies.UI.v1.DataFieldWithUrl":
|
|
59
|
+
if (((_property$annotations4 = property.annotations) === null || _property$annotations4 === void 0 ? void 0 : (_property$annotations5 = _property$annotations4.UI) === null || _property$annotations5 === void 0 ? void 0 : (_property$annotations6 = _property$annotations5.Hidden) === null || _property$annotations6 === void 0 ? void 0 : _property$annotations6.valueOf()) === true) {
|
|
60
|
+
var _UI2, _UI2$HiddenFilter;
|
|
61
|
+
|
|
62
|
+
if (property.annotations && ((_UI2 = property.annotations.UI) === null || _UI2 === void 0 ? void 0 : (_UI2$HiddenFilter = _UI2.HiddenFilter) === null || _UI2$HiddenFilter === void 0 ? void 0 : _UI2$HiddenFilter.valueOf()) === true) Log.warning("Warning: Property " + property.Value.path + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
|
|
63
|
+
return true;
|
|
64
|
+
} else return false;
|
|
65
|
+
|
|
66
|
+
default:
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
_exports.isReferencePropertyStaticallyHidden = isReferencePropertyStaticallyHidden;
|
|
72
|
+
|
|
73
|
+
function isAnnotationFieldStaticallyHidden(annotationProperty) {
|
|
74
|
+
var _propertyValueAnnotat5, _propertyValueAnnotat6, _propertyValueAnnotat7;
|
|
75
|
+
|
|
76
|
+
var target = annotationProperty.Target.$target.term; // let ChartAnnotation: Chart, ConnectedFieldsAnnotation: ConnectedFields, FieldGroupAnnotation: FieldGroup, DataPointAnnotation: DataPoint;
|
|
77
|
+
|
|
78
|
+
switch (target) {
|
|
79
|
+
case "com.sap.vocabularies.UI.v1.Chart":
|
|
80
|
+
var ischartMeasureHidden;
|
|
81
|
+
annotationProperty.Target.$target.Measures.forEach(function (chartMeasure) {
|
|
82
|
+
var _chartMeasure$$target, _chartMeasure$$target2, _chartMeasure$$target3;
|
|
83
|
+
|
|
84
|
+
if (((_chartMeasure$$target = chartMeasure.$target.annotations) === null || _chartMeasure$$target === void 0 ? void 0 : (_chartMeasure$$target2 = _chartMeasure$$target.UI) === null || _chartMeasure$$target2 === void 0 ? void 0 : (_chartMeasure$$target3 = _chartMeasure$$target2.Hidden) === null || _chartMeasure$$target3 === void 0 ? void 0 : _chartMeasure$$target3.valueOf()) === true) {
|
|
85
|
+
var _UI3, _UI3$HiddenFilter;
|
|
86
|
+
|
|
87
|
+
Log.warning("Warning: Measure attribute for Chart " + chartMeasure.$target.name + " is statically hidden hence chart can't be rendered");
|
|
88
|
+
if (chartMeasure.$target.annotations && ((_UI3 = chartMeasure.$target.annotations.UI) === null || _UI3 === void 0 ? void 0 : (_UI3$HiddenFilter = _UI3.HiddenFilter) === null || _UI3$HiddenFilter === void 0 ? void 0 : _UI3$HiddenFilter.valueOf()) === true) Log.warning("Warning: Property " + chartMeasure.$target.name + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
|
|
89
|
+
ischartMeasureHidden = true;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
if (ischartMeasureHidden === true) return true;else return false;
|
|
93
|
+
|
|
94
|
+
case "com.sap.vocabularies.UI.v1.ConnectedFields":
|
|
95
|
+
if (annotationProperty) {
|
|
96
|
+
var _annotationProperty$a, _annotationProperty$a2, _annotationProperty$a3;
|
|
97
|
+
|
|
98
|
+
if (((_annotationProperty$a = annotationProperty.annotations) === null || _annotationProperty$a === void 0 ? void 0 : (_annotationProperty$a2 = _annotationProperty$a.UI) === null || _annotationProperty$a2 === void 0 ? void 0 : (_annotationProperty$a3 = _annotationProperty$a2.Hidden) === null || _annotationProperty$a3 === void 0 ? void 0 : _annotationProperty$a3.valueOf()) === true) {
|
|
99
|
+
var _UI4, _UI4$HiddenFilter;
|
|
100
|
+
|
|
101
|
+
if (annotationProperty.annotations && ((_UI4 = annotationProperty.annotations.UI) === null || _UI4 === void 0 ? void 0 : (_UI4$HiddenFilter = _UI4.HiddenFilter) === null || _UI4$HiddenFilter === void 0 ? void 0 : _UI4$HiddenFilter.valueOf()) === true) Log.warning("Warning: Property " + annotationProperty.Target.$target.qualifier + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
|
|
102
|
+
return true;
|
|
103
|
+
} else return false;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
break;
|
|
107
|
+
|
|
108
|
+
case "com.sap.vocabularies.UI.v1.FieldGroup":
|
|
109
|
+
if (annotationProperty) {
|
|
110
|
+
annotationProperty.Target.$target.Data.forEach(function (field) {
|
|
111
|
+
return isReferencePropertyStaticallyHidden(field);
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
break;
|
|
116
|
+
|
|
117
|
+
case "com.sap.vocabularies.UI.v1.DataPoint":
|
|
118
|
+
var propertyValueAnnotation = annotationProperty.Target.$target.Value.$target;
|
|
119
|
+
|
|
120
|
+
if (((_propertyValueAnnotat5 = propertyValueAnnotation.annotations) === null || _propertyValueAnnotat5 === void 0 ? void 0 : (_propertyValueAnnotat6 = _propertyValueAnnotat5.UI) === null || _propertyValueAnnotat6 === void 0 ? void 0 : (_propertyValueAnnotat7 = _propertyValueAnnotat6.Hidden) === null || _propertyValueAnnotat7 === void 0 ? void 0 : _propertyValueAnnotat7.valueOf()) === true) {
|
|
121
|
+
var _propertyValueAnnotat8, _propertyValueAnnotat9, _propertyValueAnnotat10;
|
|
122
|
+
|
|
123
|
+
if (((_propertyValueAnnotat8 = propertyValueAnnotation.annotations) === null || _propertyValueAnnotat8 === void 0 ? void 0 : (_propertyValueAnnotat9 = _propertyValueAnnotat8.UI) === null || _propertyValueAnnotat9 === void 0 ? void 0 : (_propertyValueAnnotat10 = _propertyValueAnnotat9.HiddenFilter) === null || _propertyValueAnnotat10 === void 0 ? void 0 : _propertyValueAnnotat10.valueOf()) === true) Log.warning("Warning: Property " + annotationProperty.Target.$target.Value.path + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
|
|
124
|
+
return true;
|
|
125
|
+
} else {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
default:
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
_exports.isAnnotationFieldStaticallyHidden = isAnnotationFieldStaticallyHidden;
|
|
134
|
+
return _exports;
|
|
135
|
+
}, false);
|
|
136
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc1JlZmVyZW5jZVByb3BlcnR5U3RhdGljYWxseUhpZGRlbiIsInByb3BlcnR5IiwiJFR5cGUiLCJpc0Fubm90YXRpb25GaWVsZFN0YXRpY2FsbHlIaWRkZW4iLCJ0YXJnZXRPYmplY3QiLCJoZWFkZXJJbmZvQW5ub3RhdGlvbiIsImFubm90YXRpb25zIiwiVUkiLCJIaWRkZW4iLCJ2YWx1ZU9mIiwiVmFsdWUiLCIkdGFyZ2V0IiwiSGlkZGVuRmlsdGVyIiwiTG9nIiwid2FybmluZyIsInBhdGgiLCJwcm9wZXJ0eVZhbHVlQW5ub3RhdGlvbiIsImFubm90YXRpb25Qcm9wZXJ0eSIsInRhcmdldCIsIlRhcmdldCIsInRlcm0iLCJpc2NoYXJ0TWVhc3VyZUhpZGRlbiIsIk1lYXN1cmVzIiwiZm9yRWFjaCIsImNoYXJ0TWVhc3VyZSIsIm5hbWUiLCJxdWFsaWZpZXIiLCJEYXRhIiwiZmllbGQiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkRhdGFGaWVsZEhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHREYXRhRmllbGRBYnN0cmFjdFR5cGVzLFxuXHREYXRhRmllbGRGb3JBbm5vdGF0aW9uVHlwZXMsXG5cdFVJQW5ub3RhdGlvblRlcm1zLFxuXHRVSUFubm90YXRpb25UeXBlc1xufSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL1VJXCI7XG5pbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcblxuLy9mdW5jdGlvbiB0byBjaGVjayBmb3Igc3RhdGljYWxseSBoaWRkZW4gcmVmZXJlbmNlIHByb3BlcnRpZXNcbmV4cG9ydCBmdW5jdGlvbiBpc1JlZmVyZW5jZVByb3BlcnR5U3RhdGljYWxseUhpZGRlbihwcm9wZXJ0eT86IERhdGFGaWVsZEFic3RyYWN0VHlwZXMgfCB1bmRlZmluZWQpIHtcblx0aWYgKHByb3BlcnR5KSB7XG5cdFx0c3dpdGNoIChwcm9wZXJ0eS4kVHlwZSkge1xuXHRcdFx0Y2FzZSBVSUFubm90YXRpb25UeXBlcy5EYXRhRmllbGRGb3JBbm5vdGF0aW9uOlxuXHRcdFx0XHRyZXR1cm4gaXNBbm5vdGF0aW9uRmllbGRTdGF0aWNhbGx5SGlkZGVuKHByb3BlcnR5KTtcblx0XHRcdGNhc2UgVUlBbm5vdGF0aW9uVHlwZXMuRGF0YUZpZWxkOlxuXHRcdFx0XHRpZiAoKHByb3BlcnR5IGFzIGFueSkudGFyZ2V0T2JqZWN0KSB7XG5cdFx0XHRcdFx0Y29uc3QgaGVhZGVySW5mb0Fubm90YXRpb24gPSAocHJvcGVydHkgYXMgYW55KS50YXJnZXRPYmplY3Q7XG5cdFx0XHRcdFx0aWYgKGhlYWRlckluZm9Bbm5vdGF0aW9uLmFubm90YXRpb25zICYmIGhlYWRlckluZm9Bbm5vdGF0aW9uLmFubm90YXRpb25zPy5VST8uSGlkZGVuPy52YWx1ZU9mKCkgPT09IHRydWUpIHtcblx0XHRcdFx0XHRcdGlmIChoZWFkZXJJbmZvQW5ub3RhdGlvbi5WYWx1ZT8uJHRhcmdldD8uYW5ub3RhdGlvbnM/LlVJPy5IaWRkZW5GaWx0ZXI/LnZhbHVlT2YoKSA9PT0gdHJ1ZSlcblx0XHRcdFx0XHRcdFx0TG9nLndhcm5pbmcoXG5cdFx0XHRcdFx0XHRcdFx0XCJXYXJuaW5nOiBQcm9wZXJ0eSBcIiArXG5cdFx0XHRcdFx0XHRcdFx0XHRwcm9wZXJ0eS5WYWx1ZS5wYXRoICtcblx0XHRcdFx0XHRcdFx0XHRcdFwiIGlzIHNldCB3aXRoIGJvdGggVUkuSGlkZGVuIGFuZCBVSS5IaWRkZW5GaWx0ZXIgLSBwbGVhc2Ugc2V0IG9ubHkgb25lIG9mIHRoZXNlISBVSS5IaWRkZW5GaWx0ZXIgaXMgaWdub3JlZCBjdXJyZW50bHkhXCJcblx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0XHRcdH0gZWxzZSBpZiAoXG5cdFx0XHRcdFx0XHRoZWFkZXJJbmZvQW5ub3RhdGlvbi5WYWx1ZS4kdGFyZ2V0ICYmXG5cdFx0XHRcdFx0XHRoZWFkZXJJbmZvQW5ub3RhdGlvbi5WYWx1ZT8uJHRhcmdldD8uYW5ub3RhdGlvbnM/LlVJPy5IaWRkZW4/LnZhbHVlT2YoKSA9PT0gdHJ1ZVxuXHRcdFx0XHRcdCkge1xuXHRcdFx0XHRcdFx0aWYgKGhlYWRlckluZm9Bbm5vdGF0aW9uLlZhbHVlPy4kdGFyZ2V0Py5hbm5vdGF0aW9ucz8uVUk/LkhpZGRlbkZpbHRlcj8udmFsdWVPZigpID09PSB0cnVlKVxuXHRcdFx0XHRcdFx0XHRMb2cud2FybmluZyhcblx0XHRcdFx0XHRcdFx0XHRcIldhcm5pbmc6IFByb3BlcnR5IFwiICtcblx0XHRcdFx0XHRcdFx0XHRcdHByb3BlcnR5LlZhbHVlLnBhdGggK1xuXHRcdFx0XHRcdFx0XHRcdFx0XCIgaXMgc2V0IHdpdGggYm90aCBVSS5IaWRkZW4gYW5kIFVJLkhpZGRlbkZpbHRlciAtIHBsZWFzZSBzZXQgb25seSBvbmUgb2YgdGhlc2UhIFVJLkhpZGRlbkZpbHRlciBpcyBpZ25vcmVkIGN1cnJlbnRseSFcIlxuXHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHRcdFx0fSBlbHNlIHJldHVybiBmYWxzZTtcblx0XHRcdFx0fSBlbHNlIGlmIChwcm9wZXJ0eS5hbm5vdGF0aW9ucyAmJiBwcm9wZXJ0eS5hbm5vdGF0aW9ucz8uVUk/LkhpZGRlbj8udmFsdWVPZigpID09PSB0cnVlKSB7XG5cdFx0XHRcdFx0aWYgKHByb3BlcnR5LmFubm90YXRpb25zICYmIChwcm9wZXJ0eS5hbm5vdGF0aW9ucyBhcyBhbnkpLlVJPy5IaWRkZW5GaWx0ZXI/LnZhbHVlT2YoKSA9PT0gdHJ1ZSlcblx0XHRcdFx0XHRcdExvZy53YXJuaW5nKFxuXHRcdFx0XHRcdFx0XHRcIldhcm5pbmc6IFByb3BlcnR5IFwiICtcblx0XHRcdFx0XHRcdFx0XHRwcm9wZXJ0eS5WYWx1ZS5wYXRoICtcblx0XHRcdFx0XHRcdFx0XHRcIiBpcyBzZXQgd2l0aCBib3RoIFVJLkhpZGRlbiBhbmQgVUkuSGlkZGVuRmlsdGVyIC0gcGxlYXNlIHNldCBvbmx5IG9uZSBvZiB0aGVzZSEgVUkuSGlkZGVuRmlsdGVyIGlzIGlnbm9yZWQgY3VycmVudGx5IVwiXG5cdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0XHR9IGVsc2UgaWYgKHByb3BlcnR5LlZhbHVlLiR0YXJnZXQgJiYgcHJvcGVydHkuVmFsdWU/LiR0YXJnZXQ/LmFubm90YXRpb25zPy5VST8uSGlkZGVuPy52YWx1ZU9mKCkgPT09IHRydWUpIHtcblx0XHRcdFx0XHRpZiAocHJvcGVydHkuVmFsdWU/LiR0YXJnZXQ/LmFubm90YXRpb25zPy5VST8uSGlkZGVuRmlsdGVyPy52YWx1ZU9mKCkgPT09IHRydWUpXG5cdFx0XHRcdFx0XHRMb2cud2FybmluZyhcblx0XHRcdFx0XHRcdFx0XCJXYXJuaW5nOiBQcm9wZXJ0eSBcIiArXG5cdFx0XHRcdFx0XHRcdFx0cHJvcGVydHkuVmFsdWUucGF0aCArXG5cdFx0XHRcdFx0XHRcdFx0XCIgaXMgc2V0IHdpdGggYm90aCBVSS5IaWRkZW4gYW5kIFVJLkhpZGRlbkZpbHRlciAtIHBsZWFzZSBzZXQgb25seSBvbmUgb2YgdGhlc2UhIFVJLkhpZGRlbkZpbHRlciBpcyBpZ25vcmVkIGN1cnJlbnRseSFcIlxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdFx0fSBlbHNlIHJldHVybiBmYWxzZTtcblx0XHRcdGNhc2UgVUlBbm5vdGF0aW9uVHlwZXMuRGF0YUZpZWxkV2l0aE5hdmlnYXRpb25QYXRoOlxuXHRcdFx0XHRjb25zdCBwcm9wZXJ0eVZhbHVlQW5ub3RhdGlvbiA9IHByb3BlcnR5LlZhbHVlPy4kdGFyZ2V0Py5hbm5vdGF0aW9ucztcblx0XHRcdFx0aWYgKHByb3BlcnR5VmFsdWVBbm5vdGF0aW9uPy5VST8uSGlkZGVuPy52YWx1ZU9mKCkgPT09IHRydWUpIHtcblx0XHRcdFx0XHRpZiAocHJvcGVydHlWYWx1ZUFubm90YXRpb24/LlVJPy5IaWRkZW5GaWx0ZXI/LnZhbHVlT2YoKSA9PT0gdHJ1ZSlcblx0XHRcdFx0XHRcdExvZy53YXJuaW5nKFxuXHRcdFx0XHRcdFx0XHRcIldhcm5pbmc6IFByb3BlcnR5IFwiICtcblx0XHRcdFx0XHRcdFx0XHRwcm9wZXJ0eS5WYWx1ZS5wYXRoICtcblx0XHRcdFx0XHRcdFx0XHRcIiBpcyBzZXQgd2l0aCBib3RoIFVJLkhpZGRlbiBhbmQgVUkuSGlkZGVuRmlsdGVyIC0gcGxlYXNlIHNldCBvbmx5IG9uZSBvZiB0aGVzZSEgVUkuSGlkZGVuRmlsdGVyIGlzIGlnbm9yZWQgY3VycmVudGx5IVwiXG5cdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0XHR9IGVsc2UgcmV0dXJuIGZhbHNlO1xuXHRcdFx0Y2FzZSBVSUFubm90YXRpb25UeXBlcy5EYXRhRmllbGRXaXRoVXJsOlxuXHRcdFx0XHRpZiAocHJvcGVydHkuYW5ub3RhdGlvbnM/LlVJPy5IaWRkZW4/LnZhbHVlT2YoKSA9PT0gdHJ1ZSkge1xuXHRcdFx0XHRcdGlmIChwcm9wZXJ0eS5hbm5vdGF0aW9ucyAmJiAocHJvcGVydHkuYW5ub3RhdGlvbnMgYXMgYW55KS5VST8uSGlkZGVuRmlsdGVyPy52YWx1ZU9mKCkgPT09IHRydWUpXG5cdFx0XHRcdFx0XHRMb2cud2FybmluZyhcblx0XHRcdFx0XHRcdFx0XCJXYXJuaW5nOiBQcm9wZXJ0eSBcIiArXG5cdFx0XHRcdFx0XHRcdFx0cHJvcGVydHkuVmFsdWUucGF0aCArXG5cdFx0XHRcdFx0XHRcdFx0XCIgaXMgc2V0IHdpdGggYm90aCBVSS5IaWRkZW4gYW5kIFVJLkhpZGRlbkZpbHRlciAtIHBsZWFzZSBzZXQgb25seSBvbmUgb2YgdGhlc2UhIFVJLkhpZGRlbkZpbHRlciBpcyBpZ25vcmVkIGN1cnJlbnRseSFcIlxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdFx0fSBlbHNlIHJldHVybiBmYWxzZTtcblx0XHRcdGRlZmF1bHQ6XG5cdFx0fVxuXHR9XG59XG5leHBvcnQgZnVuY3Rpb24gaXNBbm5vdGF0aW9uRmllbGRTdGF0aWNhbGx5SGlkZGVuKGFubm90YXRpb25Qcm9wZXJ0eTogRGF0YUZpZWxkRm9yQW5ub3RhdGlvblR5cGVzKSB7XG5cdGNvbnN0IHRhcmdldCA9IGFubm90YXRpb25Qcm9wZXJ0eS5UYXJnZXQuJHRhcmdldC50ZXJtO1xuXHQvLyBsZXQgQ2hhcnRBbm5vdGF0aW9uOiBDaGFydCwgQ29ubmVjdGVkRmllbGRzQW5ub3RhdGlvbjogQ29ubmVjdGVkRmllbGRzLCBGaWVsZEdyb3VwQW5ub3RhdGlvbjogRmllbGRHcm91cCwgRGF0YVBvaW50QW5ub3RhdGlvbjogRGF0YVBvaW50O1xuXHRzd2l0Y2ggKHRhcmdldCkge1xuXHRcdGNhc2UgVUlBbm5vdGF0aW9uVGVybXMuQ2hhcnQ6XG5cdFx0XHRsZXQgaXNjaGFydE1lYXN1cmVIaWRkZW47XG5cdFx0XHRhbm5vdGF0aW9uUHJvcGVydHkuVGFyZ2V0LiR0YXJnZXQuTWVhc3VyZXMuZm9yRWFjaCgoY2hhcnRNZWFzdXJlKSA9PiB7XG5cdFx0XHRcdGlmIChjaGFydE1lYXN1cmUuJHRhcmdldC5hbm5vdGF0aW9ucz8uVUk/LkhpZGRlbj8udmFsdWVPZigpID09PSB0cnVlKSB7XG5cdFx0XHRcdFx0TG9nLndhcm5pbmcoXG5cdFx0XHRcdFx0XHRcIldhcm5pbmc6IE1lYXN1cmUgYXR0cmlidXRlIGZvciBDaGFydCBcIiArXG5cdFx0XHRcdFx0XHRcdGNoYXJ0TWVhc3VyZS4kdGFyZ2V0Lm5hbWUgK1xuXHRcdFx0XHRcdFx0XHRcIiBpcyBzdGF0aWNhbGx5IGhpZGRlbiBoZW5jZSBjaGFydCBjYW4ndCBiZSByZW5kZXJlZFwiXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRpZiAoY2hhcnRNZWFzdXJlLiR0YXJnZXQuYW5ub3RhdGlvbnMgJiYgKGNoYXJ0TWVhc3VyZS4kdGFyZ2V0LmFubm90YXRpb25zIGFzIGFueSkuVUk/LkhpZGRlbkZpbHRlcj8udmFsdWVPZigpID09PSB0cnVlKVxuXHRcdFx0XHRcdFx0TG9nLndhcm5pbmcoXG5cdFx0XHRcdFx0XHRcdFwiV2FybmluZzogUHJvcGVydHkgXCIgK1xuXHRcdFx0XHRcdFx0XHRcdGNoYXJ0TWVhc3VyZS4kdGFyZ2V0Lm5hbWUgK1xuXHRcdFx0XHRcdFx0XHRcdFwiIGlzIHNldCB3aXRoIGJvdGggVUkuSGlkZGVuIGFuZCBVSS5IaWRkZW5GaWx0ZXIgLSBwbGVhc2Ugc2V0IG9ubHkgb25lIG9mIHRoZXNlISBVSS5IaWRkZW5GaWx0ZXIgaXMgaWdub3JlZCBjdXJyZW50bHkhXCJcblx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0aXNjaGFydE1lYXN1cmVIaWRkZW4gPSB0cnVlO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHRcdGlmIChpc2NoYXJ0TWVhc3VyZUhpZGRlbiA9PT0gdHJ1ZSkgcmV0dXJuIHRydWU7XG5cdFx0XHRlbHNlIHJldHVybiBmYWxzZTtcblx0XHRjYXNlIFVJQW5ub3RhdGlvblRlcm1zLkNvbm5lY3RlZEZpZWxkczpcblx0XHRcdGlmIChhbm5vdGF0aW9uUHJvcGVydHkpIHtcblx0XHRcdFx0aWYgKGFubm90YXRpb25Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uVUk/LkhpZGRlbj8udmFsdWVPZigpID09PSB0cnVlKSB7XG5cdFx0XHRcdFx0aWYgKGFubm90YXRpb25Qcm9wZXJ0eS5hbm5vdGF0aW9ucyAmJiAoYW5ub3RhdGlvblByb3BlcnR5LmFubm90YXRpb25zIGFzIGFueSkuVUk/LkhpZGRlbkZpbHRlcj8udmFsdWVPZigpID09PSB0cnVlKVxuXHRcdFx0XHRcdFx0TG9nLndhcm5pbmcoXG5cdFx0XHRcdFx0XHRcdFwiV2FybmluZzogUHJvcGVydHkgXCIgK1xuXHRcdFx0XHRcdFx0XHRcdGFubm90YXRpb25Qcm9wZXJ0eS5UYXJnZXQuJHRhcmdldC5xdWFsaWZpZXIgK1xuXHRcdFx0XHRcdFx0XHRcdFwiIGlzIHNldCB3aXRoIGJvdGggVUkuSGlkZGVuIGFuZCBVSS5IaWRkZW5GaWx0ZXIgLSBwbGVhc2Ugc2V0IG9ubHkgb25lIG9mIHRoZXNlISBVSS5IaWRkZW5GaWx0ZXIgaXMgaWdub3JlZCBjdXJyZW50bHkhXCJcblx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHRcdH0gZWxzZSByZXR1cm4gZmFsc2U7XG5cdFx0XHR9XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFVJQW5ub3RhdGlvblRlcm1zLkZpZWxkR3JvdXA6XG5cdFx0XHRpZiAoYW5ub3RhdGlvblByb3BlcnR5KSB7XG5cdFx0XHRcdChhbm5vdGF0aW9uUHJvcGVydHkgYXMgYW55KS5UYXJnZXQuJHRhcmdldC5EYXRhLmZvckVhY2goKGZpZWxkOiBEYXRhRmllbGRBYnN0cmFjdFR5cGVzKSA9PlxuXHRcdFx0XHRcdGlzUmVmZXJlbmNlUHJvcGVydHlTdGF0aWNhbGx5SGlkZGVuKGZpZWxkKVxuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBVSUFubm90YXRpb25UZXJtcy5EYXRhUG9pbnQ6XG5cdFx0XHRjb25zdCBwcm9wZXJ0eVZhbHVlQW5ub3RhdGlvbiA9IChhbm5vdGF0aW9uUHJvcGVydHkuVGFyZ2V0LiR0YXJnZXQgYXMgYW55KS5WYWx1ZS4kdGFyZ2V0O1xuXHRcdFx0aWYgKHByb3BlcnR5VmFsdWVBbm5vdGF0aW9uLmFubm90YXRpb25zPy5VST8uSGlkZGVuPy52YWx1ZU9mKCkgPT09IHRydWUpIHtcblx0XHRcdFx0aWYgKHByb3BlcnR5VmFsdWVBbm5vdGF0aW9uLmFubm90YXRpb25zPy5VST8uSGlkZGVuRmlsdGVyPy52YWx1ZU9mKCkgPT09IHRydWUpXG5cdFx0XHRcdFx0TG9nLndhcm5pbmcoXG5cdFx0XHRcdFx0XHRcIldhcm5pbmc6IFByb3BlcnR5IFwiICtcblx0XHRcdFx0XHRcdFx0YW5ub3RhdGlvblByb3BlcnR5LlRhcmdldC4kdGFyZ2V0LlZhbHVlLnBhdGggK1xuXHRcdFx0XHRcdFx0XHRcIiBpcyBzZXQgd2l0aCBib3RoIFVJLkhpZGRlbiBhbmQgVUkuSGlkZGVuRmlsdGVyIC0gcGxlYXNlIHNldCBvbmx5IG9uZSBvZiB0aGVzZSEgVUkuSGlkZGVuRmlsdGVyIGlzIGlnbm9yZWQgY3VycmVudGx5IVwiXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHR9XG5cdFx0ZGVmYXVsdDpcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7RUFRQTtFQUNPLFNBQVNBLG1DQUFULENBQTZDQyxRQUE3QyxFQUE0RjtJQUFBOztJQUNsRyxJQUFJQSxRQUFKLEVBQWM7TUFDYixRQUFRQSxRQUFRLENBQUNDLEtBQWpCO1FBQ0M7VUFDQyxPQUFPQyxpQ0FBaUMsQ0FBQ0YsUUFBRCxDQUF4Qzs7UUFDRDtVQUNDLElBQUtBLFFBQUQsQ0FBa0JHLFlBQXRCLEVBQW9DO1lBQUE7O1lBQ25DLElBQU1DLG9CQUFvQixHQUFJSixRQUFELENBQWtCRyxZQUEvQzs7WUFDQSxJQUFJQyxvQkFBb0IsQ0FBQ0MsV0FBckIsSUFBb0MsMEJBQUFELG9CQUFvQixDQUFDQyxXQUFyQiwwR0FBa0NDLEVBQWxDLDRHQUFzQ0MsTUFBdEMsa0ZBQThDQyxPQUE5QyxRQUE0RCxJQUFwRyxFQUEwRztjQUFBOztjQUN6RyxJQUFJLDJCQUFBSixvQkFBb0IsQ0FBQ0ssS0FBckIsNEdBQTRCQyxPQUE1Qiw0R0FBcUNMLFdBQXJDLDRHQUFrREMsRUFBbEQsNEdBQXNESyxZQUF0RCxrRkFBb0VILE9BQXBFLFFBQWtGLElBQXRGLEVBQ0NJLEdBQUcsQ0FBQ0MsT0FBSixDQUNDLHVCQUNDYixRQUFRLENBQUNTLEtBQVQsQ0FBZUssSUFEaEIsR0FFQyx1SEFIRjtjQUtELE9BQU8sSUFBUDtZQUNBLENBUkQsTUFRTyxJQUNOVixvQkFBb0IsQ0FBQ0ssS0FBckIsQ0FBMkJDLE9BQTNCLElBQ0EsMkJBQUFOLG9CQUFvQixDQUFDSyxLQUFyQiw2R0FBNEJDLE9BQTVCLCtHQUFxQ0wsV0FBckMsK0dBQWtEQyxF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
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DataFieldAbstractTypes,
|
|
3
|
+
DataFieldForAnnotationTypes,
|
|
4
|
+
UIAnnotationTerms,
|
|
5
|
+
UIAnnotationTypes
|
|
6
|
+
} from "@sap-ux/vocabularies-types/vocabularies/UI";
|
|
7
|
+
import Log from "sap/base/Log";
|
|
8
|
+
|
|
9
|
+
//function to check for statically hidden reference properties
|
|
10
|
+
export function isReferencePropertyStaticallyHidden(property?: DataFieldAbstractTypes | undefined) {
|
|
11
|
+
if (property) {
|
|
12
|
+
switch (property.$Type) {
|
|
13
|
+
case UIAnnotationTypes.DataFieldForAnnotation:
|
|
14
|
+
return isAnnotationFieldStaticallyHidden(property);
|
|
15
|
+
case UIAnnotationTypes.DataField:
|
|
16
|
+
if ((property as any).targetObject) {
|
|
17
|
+
const headerInfoAnnotation = (property as any).targetObject;
|
|
18
|
+
if (headerInfoAnnotation.annotations && headerInfoAnnotation.annotations?.UI?.Hidden?.valueOf() === true) {
|
|
19
|
+
if (headerInfoAnnotation.Value?.$target?.annotations?.UI?.HiddenFilter?.valueOf() === true)
|
|
20
|
+
Log.warning(
|
|
21
|
+
"Warning: Property " +
|
|
22
|
+
property.Value.path +
|
|
23
|
+
" is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!"
|
|
24
|
+
);
|
|
25
|
+
return true;
|
|
26
|
+
} else if (
|
|
27
|
+
headerInfoAnnotation.Value.$target &&
|
|
28
|
+
headerInfoAnnotation.Value?.$target?.annotations?.UI?.Hidden?.valueOf() === true
|
|
29
|
+
) {
|
|
30
|
+
if (headerInfoAnnotation.Value?.$target?.annotations?.UI?.HiddenFilter?.valueOf() === true)
|
|
31
|
+
Log.warning(
|
|
32
|
+
"Warning: Property " +
|
|
33
|
+
property.Value.path +
|
|
34
|
+
" is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!"
|
|
35
|
+
);
|
|
36
|
+
return true;
|
|
37
|
+
} else return false;
|
|
38
|
+
} else if (property.annotations && property.annotations?.UI?.Hidden?.valueOf() === true) {
|
|
39
|
+
if (property.annotations && (property.annotations as any).UI?.HiddenFilter?.valueOf() === true)
|
|
40
|
+
Log.warning(
|
|
41
|
+
"Warning: Property " +
|
|
42
|
+
property.Value.path +
|
|
43
|
+
" is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!"
|
|
44
|
+
);
|
|
45
|
+
return true;
|
|
46
|
+
} else if (property.Value.$target && property.Value?.$target?.annotations?.UI?.Hidden?.valueOf() === true) {
|
|
47
|
+
if (property.Value?.$target?.annotations?.UI?.HiddenFilter?.valueOf() === true)
|
|
48
|
+
Log.warning(
|
|
49
|
+
"Warning: Property " +
|
|
50
|
+
property.Value.path +
|
|
51
|
+
" is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!"
|
|
52
|
+
);
|
|
53
|
+
return true;
|
|
54
|
+
} else return false;
|
|
55
|
+
case UIAnnotationTypes.DataFieldWithNavigationPath:
|
|
56
|
+
const propertyValueAnnotation = property.Value?.$target?.annotations;
|
|
57
|
+
if (propertyValueAnnotation?.UI?.Hidden?.valueOf() === true) {
|
|
58
|
+
if (propertyValueAnnotation?.UI?.HiddenFilter?.valueOf() === true)
|
|
59
|
+
Log.warning(
|
|
60
|
+
"Warning: Property " +
|
|
61
|
+
property.Value.path +
|
|
62
|
+
" is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!"
|
|
63
|
+
);
|
|
64
|
+
return true;
|
|
65
|
+
} else return false;
|
|
66
|
+
case UIAnnotationTypes.DataFieldWithUrl:
|
|
67
|
+
if (property.annotations?.UI?.Hidden?.valueOf() === true) {
|
|
68
|
+
if (property.annotations && (property.annotations as any).UI?.HiddenFilter?.valueOf() === true)
|
|
69
|
+
Log.warning(
|
|
70
|
+
"Warning: Property " +
|
|
71
|
+
property.Value.path +
|
|
72
|
+
" is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!"
|
|
73
|
+
);
|
|
74
|
+
return true;
|
|
75
|
+
} else return false;
|
|
76
|
+
default:
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
export function isAnnotationFieldStaticallyHidden(annotationProperty: DataFieldForAnnotationTypes) {
|
|
81
|
+
const target = annotationProperty.Target.$target.term;
|
|
82
|
+
// let ChartAnnotation: Chart, ConnectedFieldsAnnotation: ConnectedFields, FieldGroupAnnotation: FieldGroup, DataPointAnnotation: DataPoint;
|
|
83
|
+
switch (target) {
|
|
84
|
+
case UIAnnotationTerms.Chart:
|
|
85
|
+
let ischartMeasureHidden;
|
|
86
|
+
annotationProperty.Target.$target.Measures.forEach((chartMeasure) => {
|
|
87
|
+
if (chartMeasure.$target.annotations?.UI?.Hidden?.valueOf() === true) {
|
|
88
|
+
Log.warning(
|
|
89
|
+
"Warning: Measure attribute for Chart " +
|
|
90
|
+
chartMeasure.$target.name +
|
|
91
|
+
" is statically hidden hence chart can't be rendered"
|
|
92
|
+
);
|
|
93
|
+
if (chartMeasure.$target.annotations && (chartMeasure.$target.annotations as any).UI?.HiddenFilter?.valueOf() === true)
|
|
94
|
+
Log.warning(
|
|
95
|
+
"Warning: Property " +
|
|
96
|
+
chartMeasure.$target.name +
|
|
97
|
+
" is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!"
|
|
98
|
+
);
|
|
99
|
+
ischartMeasureHidden = true;
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
if (ischartMeasureHidden === true) return true;
|
|
103
|
+
else return false;
|
|
104
|
+
case UIAnnotationTerms.ConnectedFields:
|
|
105
|
+
if (annotationProperty) {
|
|
106
|
+
if (annotationProperty.annotations?.UI?.Hidden?.valueOf() === true) {
|
|
107
|
+
if (annotationProperty.annotations && (annotationProperty.annotations as any).UI?.HiddenFilter?.valueOf() === true)
|
|
108
|
+
Log.warning(
|
|
109
|
+
"Warning: Property " +
|
|
110
|
+
annotationProperty.Target.$target.qualifier +
|
|
111
|
+
" is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!"
|
|
112
|
+
);
|
|
113
|
+
return true;
|
|
114
|
+
} else return false;
|
|
115
|
+
}
|
|
116
|
+
break;
|
|
117
|
+
case UIAnnotationTerms.FieldGroup:
|
|
118
|
+
if (annotationProperty) {
|
|
119
|
+
(annotationProperty as any).Target.$target.Data.forEach((field: DataFieldAbstractTypes) =>
|
|
120
|
+
isReferencePropertyStaticallyHidden(field)
|
|
121
|
+
);
|
|
122
|
+
}
|
|
123
|
+
break;
|
|
124
|
+
case UIAnnotationTerms.DataPoint:
|
|
125
|
+
const propertyValueAnnotation = (annotationProperty.Target.$target as any).Value.$target;
|
|
126
|
+
if (propertyValueAnnotation.annotations?.UI?.Hidden?.valueOf() === true) {
|
|
127
|
+
if (propertyValueAnnotation.annotations?.UI?.HiddenFilter?.valueOf() === true)
|
|
128
|
+
Log.warning(
|
|
129
|
+
"Warning: Property " +
|
|
130
|
+
annotationProperty.Target.$target.Value.path +
|
|
131
|
+
" is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!"
|
|
132
|
+
);
|
|
133
|
+
return true;
|
|
134
|
+
} else {
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
default:
|
|
138
|
+
}
|
|
139
|
+
}
|
|
@@ -13,10 +13,10 @@ sap.ui.define(["../../helpers/StableIdHelper"], function (StableIdHelper) {
|
|
|
13
13
|
* Shortcut to the stableIdHelper providing a "curry" like method where the last parameter is missing.
|
|
14
14
|
*
|
|
15
15
|
* @param sFixedPart
|
|
16
|
-
* @returns
|
|
16
|
+
* @returns A shortcut function with the fixed ID part
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
function
|
|
19
|
+
function createIDGenerator() {
|
|
20
20
|
for (var _len = arguments.length, sFixedPart = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
21
21
|
sFixedPart[_key] = arguments[_key];
|
|
22
22
|
}
|
|
@@ -34,65 +34,67 @@ sap.ui.define(["../../helpers/StableIdHelper"], function (StableIdHelper) {
|
|
|
34
34
|
*/
|
|
35
35
|
|
|
36
36
|
|
|
37
|
-
_exports.
|
|
38
|
-
var
|
|
39
|
-
_exports.
|
|
40
|
-
var
|
|
41
|
-
_exports.
|
|
42
|
-
var
|
|
43
|
-
_exports.
|
|
44
|
-
var
|
|
45
|
-
_exports.
|
|
46
|
-
var
|
|
47
|
-
_exports.
|
|
48
|
-
var
|
|
49
|
-
_exports.
|
|
50
|
-
var
|
|
51
|
-
_exports.
|
|
52
|
-
var
|
|
53
|
-
_exports.
|
|
54
|
-
var
|
|
55
|
-
_exports.
|
|
56
|
-
var
|
|
57
|
-
_exports.
|
|
37
|
+
_exports.createIDGenerator = createIDGenerator;
|
|
38
|
+
var getHeaderFacetID = createIDGenerator("HeaderFacet");
|
|
39
|
+
_exports.getHeaderFacetID = getHeaderFacetID;
|
|
40
|
+
var getHeaderFacetContainerID = createIDGenerator("HeaderFacetContainer");
|
|
41
|
+
_exports.getHeaderFacetContainerID = getHeaderFacetContainerID;
|
|
42
|
+
var getHeaderFacetFormID = createIDGenerator("HeaderFacet", "Form");
|
|
43
|
+
_exports.getHeaderFacetFormID = getHeaderFacetFormID;
|
|
44
|
+
var getCustomHeaderFacetID = createIDGenerator("HeaderFacetCustomContainer");
|
|
45
|
+
_exports.getCustomHeaderFacetID = getCustomHeaderFacetID;
|
|
46
|
+
var getEditableHeaderSectionID = createIDGenerator("EditableHeaderSection");
|
|
47
|
+
_exports.getEditableHeaderSectionID = getEditableHeaderSectionID;
|
|
48
|
+
var getSectionID = createIDGenerator("FacetSection");
|
|
49
|
+
_exports.getSectionID = getSectionID;
|
|
50
|
+
var getCustomSectionID = createIDGenerator("CustomSection");
|
|
51
|
+
_exports.getCustomSectionID = getCustomSectionID;
|
|
52
|
+
var getSubSectionID = createIDGenerator("FacetSubSection");
|
|
53
|
+
_exports.getSubSectionID = getSubSectionID;
|
|
54
|
+
var getCustomSubSectionID = createIDGenerator("CustomSubSection");
|
|
55
|
+
_exports.getCustomSubSectionID = getCustomSubSectionID;
|
|
56
|
+
var getSideContentID = createIDGenerator("SideContent");
|
|
57
|
+
_exports.getSideContentID = getSideContentID;
|
|
58
58
|
|
|
59
|
-
var
|
|
59
|
+
var getSideContentLayoutID = function (sSectionID) {
|
|
60
60
|
return generate(["fe", sSectionID, "SideContentLayout"]);
|
|
61
61
|
};
|
|
62
62
|
|
|
63
|
-
_exports.
|
|
64
|
-
var
|
|
65
|
-
_exports.
|
|
63
|
+
_exports.getSideContentLayoutID = getSideContentLayoutID;
|
|
64
|
+
var getFormID = createIDGenerator("Form");
|
|
65
|
+
_exports.getFormID = getFormID;
|
|
66
|
+
var getFormContainerID = createIDGenerator("FormContainer");
|
|
67
|
+
_exports.getFormContainerID = getFormContainerID;
|
|
66
68
|
|
|
67
|
-
var
|
|
69
|
+
var getFormStandardActionButtonID = function (sFormContainerId, sActionName) {
|
|
68
70
|
return generate(["fe", "FormContainer", sFormContainerId, "StandardAction", sActionName]);
|
|
69
71
|
};
|
|
70
72
|
|
|
71
|
-
_exports.
|
|
72
|
-
var
|
|
73
|
-
_exports.
|
|
74
|
-
var
|
|
75
|
-
_exports.
|
|
76
|
-
var
|
|
77
|
-
_exports.
|
|
78
|
-
var
|
|
79
|
-
_exports.
|
|
73
|
+
_exports.getFormStandardActionButtonID = getFormStandardActionButtonID;
|
|
74
|
+
var getTableID = createIDGenerator("table");
|
|
75
|
+
_exports.getTableID = getTableID;
|
|
76
|
+
var getCustomTabID = createIDGenerator("CustomTab");
|
|
77
|
+
_exports.getCustomTabID = getCustomTabID;
|
|
78
|
+
var getFilterBarID = createIDGenerator("FilterBar");
|
|
79
|
+
_exports.getFilterBarID = getFilterBarID;
|
|
80
|
+
var getIconTabBarID = createIDGenerator("TabMultipleMode");
|
|
81
|
+
_exports.getIconTabBarID = getIconTabBarID;
|
|
80
82
|
|
|
81
|
-
var
|
|
83
|
+
var getFilterVariantManagementID = function (sFilterID) {
|
|
82
84
|
return generate([sFilterID, "VariantManagement"]);
|
|
83
85
|
};
|
|
84
86
|
|
|
85
|
-
_exports.
|
|
86
|
-
var
|
|
87
|
-
_exports.
|
|
87
|
+
_exports.getFilterVariantManagementID = getFilterVariantManagementID;
|
|
88
|
+
var getChartID = createIDGenerator("Chart");
|
|
89
|
+
_exports.getChartID = getChartID;
|
|
88
90
|
|
|
89
|
-
var
|
|
91
|
+
var getCustomActionID = function (sActionID) {
|
|
90
92
|
return generate(["CustomAction", sActionID]);
|
|
91
93
|
};
|
|
92
94
|
|
|
93
|
-
_exports.
|
|
94
|
-
var
|
|
95
|
-
_exports.
|
|
95
|
+
_exports.getCustomActionID = getCustomActionID;
|
|
96
|
+
var getKPIID = createIDGenerator("KPI");
|
|
97
|
+
_exports.getKPIID = getKPIID;
|
|
96
98
|
return _exports;
|
|
97
99
|
}, false);
|
|
98
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCQVNFX0lEIiwiY3JlYXRlSURHZW5lcmF0b3IiLCJzRml4ZWRQYXJ0Iiwic0lEUGFydCIsImdlbmVyYXRlIiwiY29uY2F0IiwiZ2V0SGVhZGVyRmFjZXRJRCIsImdldEhlYWRlckZhY2V0Q29udGFpbmVySUQiLCJnZXRIZWFkZXJGYWNldEZvcm1JRCIsImdldEN1c3RvbUhlYWRlckZhY2V0SUQiLCJnZXRFZGl0YWJsZUhlYWRlclNlY3Rpb25JRCIsImdldFNlY3Rpb25JRCIsImdldEN1c3RvbVNlY3Rpb25JRCIsImdldFN1YlNlY3Rpb25JRCIsImdldEN1c3RvbVN1YlNlY3Rpb25JRCIsImdldFNpZGVDb250ZW50SUQiLCJnZXRTaWRlQ29udGVudExheW91dElEIiwic1NlY3Rpb25JRCIsImdldEZvcm1JRCIsImdldEZvcm1Db250YWluZXJJRCIsImdldEZvcm1TdGFuZGFyZEFjdGlvbkJ1dHRvbklEIiwic0Zvcm1Db250YWluZXJJZCIsInNBY3Rpb25OYW1lIiwiZ2V0VGFibGVJRCIsImdldEN1c3RvbVRhYklEIiwiZ2V0RmlsdGVyQmFySUQiLCJnZXRJY29uVGFiQmFySUQiLCJnZXRGaWx0ZXJWYXJpYW50TWFuYWdlbWVudElEIiwic0ZpbHRlcklEIiwiZ2V0Q2hhcnRJRCIsImdldEN1c3RvbUFjdGlvbklEIiwic0FjdGlvbklEIiwiZ2V0S1BJSUQiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIklELnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGF0YUZpZWxkQWJzdHJhY3RUeXBlcywgRmFjZXRUeXBlcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvVUlcIjtcbmltcG9ydCB7IGdlbmVyYXRlIH0gZnJvbSBcIi4uLy4uL2hlbHBlcnMvU3RhYmxlSWRIZWxwZXJcIjtcbnR5cGUgSURQYXJ0ID0gc3RyaW5nIHwgeyBGYWNldDogRmFjZXRUeXBlcyB9IHwgRGF0YUZpZWxkQWJzdHJhY3RUeXBlcztcbmNvbnN0IEJBU0VfSUQ6IElEUGFydFtdID0gW1wiZmVcIl07XG5cbi8qKlxuICogU2hvcnRjdXQgdG8gdGhlIHN0YWJsZUlkSGVscGVyIHByb3ZpZGluZyBhIFwiY3VycnlcIiBsaWtlIG1ldGhvZCB3aGVyZSB0aGUgbGFzdCBwYXJhbWV0ZXIgaXMgbWlzc2luZy5cbiAqXG4gKiBAcGFyYW0gc0ZpeGVkUGFydFxuICogQHJldHVybnMgQSBzaG9ydGN1dCBmdW5jdGlvbiB3aXRoIHRoZSBmaXhlZCBJRCBwYXJ0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVJREdlbmVyYXRvciguLi5zRml4ZWRQYXJ0OiBJRFBhcnRbXSkge1xuXHRyZXR1cm4gZnVuY3Rpb24gKC4uLnNJRFBhcnQ6IElEUGFydFtdKSB7XG5cdFx0cmV0dXJuIGdlbmVyYXRlKEJBU0VfSUQuY29uY2F0KC4uLnNGaXhlZFBhcnQsIC4uLnNJRFBhcnQpKTtcblx0fTtcbn1cblxuLyoqXG4gKiBUaG9zZSBhcmUgYWxsIGhlbHBlcnMgdG8gY2VudHJhbGl6ZSBJRCBnZW5lcmF0aW9uIGluIHRoZSBjb2RlIGZvciBkaWZmZXJlbnQgZWxlbWVudHNcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEhlYWRlckZhY2V0SUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIkhlYWRlckZhY2V0XCIpO1xuZXhwb3J0IGNvbnN0IGdldEhlYWRlckZhY2V0Q29udGFpbmVySUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIkhlYWRlckZhY2V0Q29udGFpbmVyXCIpO1xuZXhwb3J0IGNvbnN0IGdldEhlYWRlckZhY2V0Rm9ybUlEID0gY3JlYXRlSURHZW5lcmF0b3IoXCJIZWFkZXJGYWNldFwiLCBcIkZvcm1cIik7XG5leHBvcnQgY29uc3QgZ2V0Q3VzdG9tSGVhZGVyRmFjZXRJRCA9IGNyZWF0ZUlER2VuZXJhdG9yKFwiSGVhZGVyRmFjZXRDdXN0b21Db250YWluZXJcIik7XG5leHBvcnQgY29uc3QgZ2V0RWRpdGFibGVIZWFkZXJTZWN0aW9uSUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIkVkaXRhYmxlSGVhZGVyU2VjdGlvblwiKTtcbmV4cG9ydCBjb25zdCBnZXRTZWN0aW9uSUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIkZhY2V0U2VjdGlvblwiKTtcbmV4cG9ydCBjb25zdCBnZXRDdXN0b21TZWN0aW9uSUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIkN1c3RvbVNlY3Rpb25cIik7XG5leHBvcnQgY29uc3QgZ2V0U3ViU2VjdGlvbklEID0gY3JlYXRlSURHZW5lcmF0b3IoXCJGYWNldFN1YlNlY3Rpb25cIik7XG5leHBvcnQgY29uc3QgZ2V0Q3VzdG9tU3ViU2VjdGlvbklEID0gY3JlYXRlSURHZW5lcmF0b3IoXCJDdXN0b21TdWJTZWN0aW9uXCIpO1xuZXhwb3J0IGNvbnN0IGdldFNpZGVDb250ZW50SUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIlNpZGVDb250ZW50XCIpO1xuZXhwb3J0IGNvbnN0IGdldFNpZGVDb250ZW50TGF5b3V0SUQgPSBmdW5jdGlvbiAoc1NlY3Rpb25JRDogc3RyaW5nKSB7XG5cdHJldHVybiBnZW5lcmF0ZShbXCJmZVwiLCBzU2VjdGlvbklELCBcIlNpZGVDb250ZW50TGF5b3V0XCJdKTtcbn07XG5leHBvcnQgY29uc3QgZ2V0Rm9ybUlEID0gY3JlYXRlSURHZW5lcmF0b3IoXCJGb3JtXCIpO1xuZXhwb3J0IGNvbnN0IGdldEZvcm1Db250YWluZXJJRCA9IGNyZWF0ZUlER2VuZXJhdG9yKFwiRm9ybUNvbnRhaW5lclwiKTtcbmV4cG9ydCBjb25zdCBnZXRGb3JtU3RhbmRhcmRBY3Rpb25CdXR0b25JRCA9IGZ1bmN0aW9uIChzRm9ybUNvbnRhaW5lcklkOiBzdHJpbmcsIHNBY3Rpb25OYW1lOiBzdHJpbmcpIHtcblx0cmV0dXJuIGdlbmVyYXRlKFtcImZlXCIsIFwiRm9ybUNvbnRhaW5lclwiLCBzRm9ybUNvbnRhaW5lcklkLCBcIlN0YW5kYXJkQWN0aW9uXCIsIHNBY3Rpb25OYW1lXSk7XG59O1xuZXhwb3J0IGNvbnN0IGdldFRhYmxlSUQgPSBjcmVhdGVJREdlbmVyYXRvcihcInRhYmxlXCIpO1xuZXhwb3J0IGNvbnN0IGdldEN1c3RvbVRhYklEID0gY3JlYXRlSURHZW5lcmF0b3IoXCJDdXN0b21UYWJcIik7XG5leHBvcnQgY29uc3QgZ2V0RmlsdGVyQmFySUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIkZpbHRlckJhclwiKTtcbmV4cG9ydCBjb25zdCBnZXRJY29uVGFiQmFySUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIlRhYk11bHRpcGxlTW9kZVwiKTtcbmV4cG9ydCBjb25zdCBnZXRGaWx0ZXJWYXJpYW50TWFuYWdlbWVudElEID0gZnVuY3Rpb24gKHNGaWx0ZXJJRDogc3RyaW5nKSB7XG5cdHJldHVybiBnZW5lcmF0ZShbc0ZpbHRlcklELCBcIlZhcmlhbnRNYW5hZ2VtZW50XCJdKTtcbn07XG5leHBvcnQgY29uc3QgZ2V0Q2hhcnRJRCA9IGNyZWF0ZUlER2VuZXJhdG9yKFwiQ2hhcnRcIik7XG5leHBvcnQgY29uc3QgZ2V0Q3VzdG9tQWN0aW9uSUQgPSBmdW5jdGlvbiAoc0FjdGlvbklEOiBzdHJpbmcpIHtcblx0cmV0dXJuIGdlbmVyYXRlKFtcIkN1c3RvbUFjdGlvblwiLCBzQWN0aW9uSURdKTtcbn07XG5leHBvcnQgY29uc3QgZ2V0S1BJSUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIktQSVwiKTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7OztFQUdBLElBQU1BLE9BQWlCLEdBQUcsQ0FBQyxJQUFELENBQTFCO0VBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztFQUNPLFNBQVNDLGlCQUFULEdBQW9EO0lBQUEsa0NBQXRCQyxVQUFzQjtNQUF0QkEsVUFBc0I7SUFBQTs7SUFDMUQsT0FBTyxZQUFnQztNQUFBLG1DQUFuQkMsT0FBbUI7UUFBbkJBLE9BQW1CO01BQUE7O01BQ3RDLE9BQU9DLFFBQVEsQ0FBQ0osT0FBTyxDQUFDSyxNQUFSLE9BQUFMLE9BQU8sRUFBV0UsVUFBWCxRQUEwQkMsT0FBMUIsRUFBUixDQUFmO0lBQ0EsQ0FGRDtFQUdBO0VBRUQ7QUFDQTtBQUNBOzs7O0VBQ08sSUFBTUcsZ0JBQWdCLEdBQUdMLGlCQUFpQixDQUFDLGFBQUQsQ0FBMUM7O0VBQ0EsSUFBTU0seUJBQXlCLEdBQUdOLGlCQUFpQixDQUFDLHNCQUFELENBQW5EOztFQUNBLElBQU1PLG9CQUFvQixHQUFHUCxpQkFBaUIsQ0FBQyxhQUFELEVBQWdCLE1BQWhCLENBQTlDOztFQUNBLElBQU1RLHNCQUFzQixHQUFHUixpQkFBaUIsQ0FBQyw0QkFBRCxDQUFoRDs7RUFDQSxJQUFNUywwQkFBMEIsR0FBR1QsaUJBQWlCLENBQUMsdUJBQUQsQ0FBcEQ7O0VBQ0EsSUFBTVUsWUFBWSxHQUFHVixpQkFBaUIsQ0FBQyxjQUFELENBQXRDOztFQUNBLElBQU1XLGtCQUFrQixHQUFHWCxpQkFBaUIsQ0FBQyxlQUFELENBQTVDOztFQUNBLElBQU1ZLGVBQWUsR0FBR1osaUJBQWlCLENBQUMsaUJBQUQsQ0FBekM7O0VBQ0EsSUFBTWEscUJBQXFCLEdBQUdiLGlCQUFpQixDQUFDLGtCQUFELENBQS9DOztFQUNBLElBQU1jLGdCQUFnQixHQUFHZCxpQkFBaUIsQ0FBQyxhQUFELENBQTFDOzs7RUFDQSxJQUFNZSxzQkFBc0IsR0FBRyxVQUFVQyxVQUFWLEVBQThCO0lBQ25FLE9BQU9iLFFBQVEsQ0FBQyxDQUFDLElBQUQsRUFBT2EsVUFBUCxFQUFtQixtQkFBbkIsQ0FBRCxDQUFmO0VBQ0EsQ0FGTTs7O0VBR0EsSUFBTUMsU0FBUyxHQUFHakIsaUJBQWlCLENBQUMsTUFBRCxDQUFuQzs7RUFDQSxJQUFNa0Isa0JBQWtCLEdBQUdsQixpQkFBaUIsQ0FBQyxlQUFELENBQTVDOzs7RUFDQSxJQUFNbUIsNkJBQTZCLEdBQUcsVUFBVUMsZ0JBQVYsRUFBb0NDLFdBQXBDLEVBQXlEO0lBQ3JHLE9BQU9sQixRQUFRLENBQUMsQ0FBQyxJQUFELEVBQU8sZUFBUCxFQUF3QmlCLGdCQUF4QixFQUEwQyxnQkFBMUMsRUFBNERDLFdBQTVELENBQUQsQ0FBZjtFQUNBLENBRk07OztFQUdBLElBQU1DLFVBQVUsR0FBR3RCLGlCQUFpQixDQUFDLE9BQUQsQ0FBcEM7O0VBQ0EsSUFBTXVCLGNBQWMsR0FBR3ZCLGlCQUFpQixDQUFDLFdBQUQsQ0FBeEM7O0VBQ0EsSUFBTXdCLGNBQWMsR0FBR3hCLGlCQUFpQixDQUFDLFdBQUQsQ0FBeEM7O0VBQ0EsSUFBTXlCLGVBQWUsR0FBR3pCLGlCQUFpQixDQUFDLGlCQUFELENBQXpDOzs7RUFDQSxJQUFNMEIsNEJBQTRCLEdBQUcsVUFBVUMsU0FBVixFQUE2QjtJQUN4RSxPQUFPeEIsUUFBUSxDQUFDLENBQUN3QixTQUFELEVBQVksbUJBQVosQ0FBRCxDQUFmO0VBQ0EsQ0FGTTs7O0VBR0EsSUFBTUMsVUFBVSxHQUFHNUIsaUJBQWlCLENBQUMsT0FBRCxDQUFwQzs7O0VBQ0EsSUFBTTZCLGlCQUFpQixHQUFHLFVBQVVDLFNBQVYsRUFBNkI7SUFDN0QsT0FBTzNCLFFBQVEsQ0FBQyxDQUFDLGNBQUQsRUFBaUIyQixTQUFqQixDQUFELENBQWY7RUFDQSxDQUZNOzs7RUFHQSxJQUFNQyxRQUFRLEdBQUcvQixpQkFBaUIsQ0FBQyxLQUFELENBQWxDIn0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { DataFieldAbstractTypes, FacetTypes } from "@sap-ux/vocabularies-types/vocabularies/UI";
|
|
1
2
|
import { generate } from "../../helpers/StableIdHelper";
|
|
2
|
-
import { DataFieldAbstractTypes, FacetTypes } from "@sap-ux/vocabularies-types";
|
|
3
3
|
type IDPart = string | { Facet: FacetTypes } | DataFieldAbstractTypes;
|
|
4
4
|
const BASE_ID: IDPart[] = ["fe"];
|
|
5
5
|
|
|
@@ -7,10 +7,10 @@ const BASE_ID: IDPart[] = ["fe"];
|
|
|
7
7
|
* Shortcut to the stableIdHelper providing a "curry" like method where the last parameter is missing.
|
|
8
8
|
*
|
|
9
9
|
* @param sFixedPart
|
|
10
|
-
* @returns
|
|
10
|
+
* @returns A shortcut function with the fixed ID part
|
|
11
11
|
*/
|
|
12
|
-
export function
|
|
13
|
-
return function(...sIDPart: IDPart[]) {
|
|
12
|
+
export function createIDGenerator(...sFixedPart: IDPart[]) {
|
|
13
|
+
return function (...sIDPart: IDPart[]) {
|
|
14
14
|
return generate(BASE_ID.concat(...sFixedPart, ...sIDPart));
|
|
15
15
|
};
|
|
16
16
|
}
|
|
@@ -18,32 +18,33 @@ export function IDGenerator(...sFixedPart: IDPart[]) {
|
|
|
18
18
|
/**
|
|
19
19
|
* Those are all helpers to centralize ID generation in the code for different elements
|
|
20
20
|
*/
|
|
21
|
-
export const
|
|
22
|
-
export const
|
|
23
|
-
export const
|
|
24
|
-
export const
|
|
25
|
-
export const
|
|
26
|
-
export const
|
|
27
|
-
export const
|
|
28
|
-
export const
|
|
29
|
-
export const
|
|
30
|
-
export const
|
|
31
|
-
export const
|
|
21
|
+
export const getHeaderFacetID = createIDGenerator("HeaderFacet");
|
|
22
|
+
export const getHeaderFacetContainerID = createIDGenerator("HeaderFacetContainer");
|
|
23
|
+
export const getHeaderFacetFormID = createIDGenerator("HeaderFacet", "Form");
|
|
24
|
+
export const getCustomHeaderFacetID = createIDGenerator("HeaderFacetCustomContainer");
|
|
25
|
+
export const getEditableHeaderSectionID = createIDGenerator("EditableHeaderSection");
|
|
26
|
+
export const getSectionID = createIDGenerator("FacetSection");
|
|
27
|
+
export const getCustomSectionID = createIDGenerator("CustomSection");
|
|
28
|
+
export const getSubSectionID = createIDGenerator("FacetSubSection");
|
|
29
|
+
export const getCustomSubSectionID = createIDGenerator("CustomSubSection");
|
|
30
|
+
export const getSideContentID = createIDGenerator("SideContent");
|
|
31
|
+
export const getSideContentLayoutID = function (sSectionID: string) {
|
|
32
32
|
return generate(["fe", sSectionID, "SideContentLayout"]);
|
|
33
33
|
};
|
|
34
|
-
export const
|
|
35
|
-
export const
|
|
34
|
+
export const getFormID = createIDGenerator("Form");
|
|
35
|
+
export const getFormContainerID = createIDGenerator("FormContainer");
|
|
36
|
+
export const getFormStandardActionButtonID = function (sFormContainerId: string, sActionName: string) {
|
|
36
37
|
return generate(["fe", "FormContainer", sFormContainerId, "StandardAction", sActionName]);
|
|
37
38
|
};
|
|
38
|
-
export const
|
|
39
|
-
export const
|
|
40
|
-
export const
|
|
41
|
-
export const
|
|
42
|
-
export const
|
|
39
|
+
export const getTableID = createIDGenerator("table");
|
|
40
|
+
export const getCustomTabID = createIDGenerator("CustomTab");
|
|
41
|
+
export const getFilterBarID = createIDGenerator("FilterBar");
|
|
42
|
+
export const getIconTabBarID = createIDGenerator("TabMultipleMode");
|
|
43
|
+
export const getFilterVariantManagementID = function (sFilterID: string) {
|
|
43
44
|
return generate([sFilterID, "VariantManagement"]);
|
|
44
45
|
};
|
|
45
|
-
export const
|
|
46
|
-
export const
|
|
46
|
+
export const getChartID = createIDGenerator("Chart");
|
|
47
|
+
export const getCustomActionID = function (sActionID: string) {
|
|
47
48
|
return generate(["CustomAction", sActionID]);
|
|
48
49
|
};
|
|
49
|
-
export const
|
|
50
|
+
export const getKPIID = createIDGenerator("KPI");
|
|
@@ -64,4 +64,4 @@ sap.ui.define([], function () {
|
|
|
64
64
|
_exports.IssueType = IssueType;
|
|
65
65
|
return _exports;
|
|
66
66
|
}, false);
|
|
67
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJc3N1ZVNldmVyaXR5IiwiSXNzdWVDYXRlZ29yeVR5cGUiLCJGYWNldHMiLCJNaXNzaW5nSUQiLCJVblN1cHBvcnRlZExldmVsIiwiQW5ub3RhdGlvbkNvbHVtbnMiLCJJbnZhbGlkS2V5IiwiQW5ub3RhdGlvbnMiLCJJZ25vcmVkQW5ub3RhdGlvbiIsIklzc3VlQ2F0ZWdvcnkiLCJJc3N1ZVR5cGUiLCJNSVNTSU5HX0xJTkVJVEVNIiwiTUlTU0lOR19TRUxFQ1RJT05GSUVMRCIsIk1BTEZPUk1FRF9EQVRBRklFTERfRk9SX0lCTiIsIlJFUVVJUkVTQ09OVEVYVCIsIklOTElORSIsIkRFVEVSTUlOSU5HIiwiTUFMRk9STUVEX1ZJU1VBTEZJTFRFUlMiLCJWQUxVRUxJU1QiLCJQUkVTRU5UQVRJT05WQVJJQU5UIiwiQ0hBUlQiLCJWQUxVRUxJU1RDT05GSUciLCJGVUxMU0NSRUVOTU9ERV9OT1RfT05fTElTVFJFUE9SVCIsIktQSV9JU1NVRVMiLCJLUElfTk9UX0ZPVU5EIiwiS1BJX0RFVEFJTF9OT1RfRk9VTkQiLCJOT19BTkFMWVRJQ1MiLCJNQUlOX1BST1BFUlRZX05PVF9BR0dSRUdBVEFCTEUiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIklzc3VlTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBJc3N1ZVNldmVyaXR5IHtcblx0SGlnaCxcblx0TG93LFxuXHRNZWRpdW1cbn1cblxuZXhwb3J0IGNvbnN0IElzc3VlQ2F0ZWdvcnlUeXBlID0ge1xuXHRGYWNldHM6IHtcblx0XHRNaXNzaW5nSUQ6IFwiTWlzc2luZ0lEXCIsXG5cdFx0VW5TdXBwb3J0ZWRMZXZlbDogXCJVbnN1cHBvcnRlZExldmVsXCJcblx0fSxcblx0QW5ub3RhdGlvbkNvbHVtbnM6IHtcblx0XHRJbnZhbGlkS2V5OiBcIkludmFsaWRLZXlcIlxuXHR9LFxuXHRBbm5vdGF0aW9uczoge1xuXHRcdElnbm9yZWRBbm5vdGF0aW9uOiBcIklnbm9yZWRBbm5vdGF0aW9uXCJcblx0fVxufTtcblxuZXhwb3J0IGVudW0gSXNzdWVDYXRlZ29yeSB7XG5cdEFubm90YXRpb24gPSBcIkFubm90YXRpb25cIixcblx0VGVtcGxhdGUgPSBcIlRlbXBsYXRlXCIsXG5cdE1hbmlmZXN0ID0gXCJNYW5pZmVzdFwiLFxuXHRGYWNldHMgPSBcIkZhY2V0c1wiXG59XG5leHBvcnQgY29uc3QgSXNzdWVUeXBlID0ge1xuXHRNSVNTSU5HX0xJTkVJVEVNOiBcIldlIGNvdWxkbid0IGZpbmQgYSBsaW5lIGl0ZW0gYW5ub3RhdGlvbiBmb3IgdGhlIGN1cnJlbnQgZW50aXR5U2V0LCB5b3Ugc2hvdWxkIGNvbnNpZGVyIGFkZGluZyBvbmUuXCIsXG5cdE1JU1NJTkdfU0VMRUNUSU9ORklFTEQ6IFwiRGVmaW5lZCBTZWxlY3Rpb24gRmllbGQgaXMgbm90IGZvdW5kXCIsXG5cdE1BTEZPUk1FRF9EQVRBRklFTERfRk9SX0lCTjoge1xuXHRcdFJFUVVJUkVTQ09OVEVYVDogXCJEYXRhRmllbGRGb3JJbnRlbnRCYXNlZE5hdmlnYXRpb24gY2Fubm90IHVzZSByZXF1aXJlcyBjb250ZXh0IGluIGZvcm0vaGVhZGVyLlwiLFxuXHRcdElOTElORTogXCJEYXRhRmllbGRGb3JJbnRlbnRCYXNlZE5hdmlnYXRpb24gY2Fubm90IHVzZSBJbmxpbmUgaW4gZm9ybS9oZWFkZXIuXCIsXG5cdFx0REVURVJNSU5JTkc6IFwiRGF0YUZpZWxkRm9ySW50ZW50QmFzZWROYXZpZ2F0aW9uIGNhbm5vdCB1c2UgRGV0ZXJtaW5pbmcgaW4gZm9ybS9oZWFkZXIuXCJcblx0fSxcblx0TUFMRk9STUVEX1ZJU1VBTEZJTFRFUlM6IHtcblx0XHRWQUxVRUxJU1Q6IFwiVmFsdWVMaXN0IFBhdGggbWVudGlvbmVkIGluIHRoZSBtYW5pZmVzdCBpcyBub3QgZm91bmRcIixcblx0XHRQUkVTRU5UQVRJT05WQVJJQU5UOiBcIlByZXNlbnRhdGlvbiBWYXJpYW50IEFubm90YXRpb24gaXMgbWlzc2luZyBmb3IgdGhlIFZpc3VhbEZpbHRlcnNcIixcblx0XHRDSEFSVDogXCJDaGFydCBBbm5vdGF0aW9uIGlzIG1pc3NpbmcgZnJvbSB0aGUgUFYgY29uZmlndXJlZCBmb3IgdGhlIFZpc3VhbEZpbHRlcnNcIixcblx0XHRWQUxVRUxJU1RDT05GSUc6IFwiVmFsdWVMaXN0IGlzIG5vdCBiZWVuIGNvbmZpZ3VyZWQgaW5zaWRlIHRoZSBWaXN1YWwgRmlsdGVyIFNldHRpbmdzXCJcblx0fSxcblx0RlVMTFNDUkVFTk1PREVfTk9UX09OX0xJU1RSRVBPUlQ6IFwiZW5hYmxlRnVsbFNjcmVlbk1vZGUgaXMgbm90IHN1cHBvcnRlZCBvbiBsaXN0IHJlcG9ydCBwYWdlcy5cIixcblx0S1BJX0lTU1VFUzoge1xuXHRcdEtQSV9OT1RfRk9VTkQ6IFwiQ291bGRuJ3QgZmluZCBLUEkgb3IgU1BWIHdpdGggcXVhbGlmaWVyIFwiLFxuXHRcdEtQSV9ERVRBSUxfTk9UX0ZPVU5EOiBcIkNhbid0IGZpbmQgcHJvcGVyIGRhdGFwb2ludCBvciBjaGFydCBkZWZpbml0aW9uIGZvciBLUEkgXCIsXG5cdFx0Tk9fQU5BTFlUSUNTOiBcIlRoZSBmb2xsb3dpbmcgZW50aXR5U2V0IHVzZWQgaW4gYSBLUEkgZGVmaW5pdGlvbiBkb2Vzbid0IHN1cHBvcnQgJGFwcGx5IHF1ZXJpZXM6XCIsXG5cdFx0TUFJTl9QUk9QRVJUWV9OT1RfQUdHUkVHQVRBQkxFOiBcIk1haW4gcHJvcGVydHkgdXNlZCBpbiBLUEkgY2Fubm90IGJlIGFnZ3JlZ2F0ZWQgXCJcblx0fVxufTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7O01BQVlBLGE7O2FBQUFBLGE7SUFBQUEsYSxDQUFBQSxhO0lBQUFBLGEsQ0FBQUEsYTtJQUFBQSxhLENBQUFBLGE7S0FBQUEsYSxLQUFBQSxhOzs7RUFNTCxJQUFNQyxpQkFBaUIsR0FBRztJQUNoQ0MsTUFBTSxFQUFFO01BQ1BDLFNBQVMsRUFBRSxXQURKO01BRVBDLGdCQUFnQixFQUFFO0lBRlgsQ0FEd0I7SUFLaENDLGlCQUFpQixFQUFFO01BQ2xCQyxVQUFVLEVBQUU7SUFETSxDQUxhO0lBUWhDQyxXQUFXLEVBQUU7TUFDWkMsaUJBQWlCLEVBQUU7SUFEUDtFQVJtQixDQUExQjs7TUFhS0MsYTs7YUFBQUEsYTtJQUFBQSxhO0lBQUFBLGE7SUFBQUEsYTtJQUFBQSxhO0tBQUFBLGEsS0FBQUEsYTs7O0VBTUwsSUFBTUMsU0FBUyxHQUFHO0lBQ3hCQyxnQkFBZ0IsRUFBRSxvR0FETTtJQUV4QkMsc0JBQXNCLEVBQUUsc0NBRkE7SUFHeEJDLDJCQUEyQixFQUFFO01BQzVCQyxlQUFlLEVBQUUsK0VBRFc7TUFFNUJDLE1BQU0sRUFBRSxxRUFGb0I7TUFHNUJDLFdBQVcsRUFBRTtJQUhlLENBSEw7SUFReEJDLHVCQUF1QixFQUFFO01BQ3hCQyxTQUFTLEVBQUUsdURBRGE7TUFFeEJDLG1CQUFtQixFQUFFLGtFQUZHO01BR3hCQyxLQUFLLEVBQUUsMEVBSGlCO01BSXhCQyxlQUFlLEVBQUU7SUFKTyxDQVJEO0lBY3hCQyxnQ0FBZ0MsRUFBRSw2REFkVjtJQWV4QkMsVUFBVSxFQUFFO01BQ1hDLGFBQWEsRUFBRSwwQ0FESjtNQUVYQyxvQkFBb0IsRUFBRSwwREFGWDtNQUdYQyxZQUFZLEVBQUUsa0ZBSEg7TUFJWEMsOEJBQThCLEVBQUU7SUFKckI7RUFmWSxDQUFsQiJ9
|