@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
|
@@ -34,8 +34,8 @@ sap.ui.define([], function () {
|
|
|
34
34
|
* Reads all SortRestrictions of the main entity and the (first level) navigation restrictions.
|
|
35
35
|
* This does not work for more than one level of navigation.
|
|
36
36
|
*
|
|
37
|
-
* @param
|
|
38
|
-
* @returns
|
|
37
|
+
* @param entitySet Entity set to be analyzed
|
|
38
|
+
* @returns Array containing the property names of all non-sortable properties
|
|
39
39
|
*/
|
|
40
40
|
|
|
41
41
|
|
|
@@ -69,10 +69,10 @@ sap.ui.define([], function () {
|
|
|
69
69
|
var _entitySet$entityType, _entitySet$entityType2;
|
|
70
70
|
|
|
71
71
|
// find correct navigation property
|
|
72
|
-
var navigationProperty = entitySet === null || entitySet === void 0 ? void 0 : (_entitySet$entityType = entitySet.entityType) === null || _entitySet$entityType === void 0 ? void 0 : (_entitySet$entityType2 = _entitySet$entityType.navigationProperties) === null || _entitySet$entityType2 === void 0 ? void 0 : _entitySet$entityType2.filter(function (
|
|
72
|
+
var navigationProperty = entitySet === null || entitySet === void 0 ? void 0 : (_entitySet$entityType = entitySet.entityType) === null || _entitySet$entityType === void 0 ? void 0 : (_entitySet$entityType2 = _entitySet$entityType.navigationProperties) === null || _entitySet$entityType2 === void 0 ? void 0 : _entitySet$entityType2.filter(function (navProperty) {
|
|
73
73
|
var _navigationRestrictio2;
|
|
74
74
|
|
|
75
|
-
return
|
|
75
|
+
return navProperty.name == (navigationRestriction === null || navigationRestriction === void 0 ? void 0 : (_navigationRestrictio2 = navigationRestriction.NavigationProperty) === null || _navigationRestrictio2 === void 0 ? void 0 : _navigationRestrictio2.value);
|
|
76
76
|
});
|
|
77
77
|
|
|
78
78
|
if (navigationProperty[0]) {
|
|
@@ -80,7 +80,7 @@ sap.ui.define([], function () {
|
|
|
80
80
|
|
|
81
81
|
// add all properties of the navigation property to the nonSortableProperties
|
|
82
82
|
(_nonSortablePropertie2 = nonSortableProperties).push.apply(_nonSortablePropertie2, _toConsumableArray((_navigationProperty$ = navigationProperty[0].targetType) === null || _navigationProperty$ === void 0 ? void 0 : _navigationProperty$.entityProperties.map(function (property) {
|
|
83
|
-
return navigationProperty[0].name
|
|
83
|
+
return "".concat(navigationProperty[0].name, "/").concat(property.name);
|
|
84
84
|
})));
|
|
85
85
|
}
|
|
86
86
|
} else {
|
|
@@ -89,7 +89,7 @@ sap.ui.define([], function () {
|
|
|
89
89
|
var nonSortableNavigationProperties = navigationRestriction === null || navigationRestriction === void 0 ? void 0 : (_navigationRestrictio3 = navigationRestriction.SortRestrictions) === null || _navigationRestrictio3 === void 0 ? void 0 : (_navigationRestrictio4 = _navigationRestrictio3.NonSortableProperties) === null || _navigationRestrictio4 === void 0 ? void 0 : _navigationRestrictio4.map(function (property) {
|
|
90
90
|
var _navigationRestrictio5;
|
|
91
91
|
|
|
92
|
-
return (navigationRestriction === null || navigationRestriction === void 0 ? void 0 : (_navigationRestrictio5 = navigationRestriction.NavigationProperty) === null || _navigationRestrictio5 === void 0 ? void 0 : _navigationRestrictio5.value
|
|
92
|
+
return "".concat(navigationRestriction === null || navigationRestriction === void 0 ? void 0 : (_navigationRestrictio5 = navigationRestriction.NavigationProperty) === null || _navigationRestrictio5 === void 0 ? void 0 : _navigationRestrictio5.value, "/").concat(property.value);
|
|
93
93
|
});
|
|
94
94
|
|
|
95
95
|
if (nonSortableNavigationProperties) {
|
|
@@ -105,4 +105,4 @@ sap.ui.define([], function () {
|
|
|
105
105
|
_exports.getNonSortablePropertiesRestrictions = getNonSortablePropertiesRestrictions;
|
|
106
106
|
return _exports;
|
|
107
107
|
}, false);
|
|
108
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc0VudGl0eVNldCIsImRhdGFPYmplY3QiLCJoYXNPd25Qcm9wZXJ0eSIsIl90eXBlIiwiZ2V0RmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyIsImVudGl0eVNldCIsImFubm90YXRpb25zIiwiQ2FwYWJpbGl0aWVzIiwiRmlsdGVyUmVzdHJpY3Rpb25zIiwiRmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyIsImdldE5vblNvcnRhYmxlUHJvcGVydGllc1Jlc3RyaWN0aW9ucyIsIm5vblNvcnRhYmxlUHJvcGVydGllcyIsIlNvcnRSZXN0cmljdGlvbnMiLCJTb3J0YWJsZSIsInB1c2giLCJlbnRpdHlUeXBlIiwiZW50aXR5UHJvcGVydGllcyIsIm1hcCIsInByb3BlcnR5IiwibmFtZSIsIk5vblNvcnRhYmxlUHJvcGVydGllcyIsInZhbHVlIiwiTmF2aWdhdGlvblJlc3RyaWN0aW9ucyIsIlJlc3RyaWN0ZWRQcm9wZXJ0aWVzIiwiZm9yRWFjaCIsIm5hdmlnYXRpb25SZXN0cmljdGlvbiIsIm5hdmlnYXRpb25Qcm9wZXJ0eSIsIm5hdmlnYXRpb25Qcm9wZXJ0aWVzIiwiZmlsdGVyIiwibmF2UHJvcGVydHkiLCJOYXZpZ2F0aW9uUHJvcGVydHkiLCJ0YXJnZXRUeXBlIiwibm9uU29ydGFibGVOYXZpZ2F0aW9uUHJvcGVydGllcyJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRW50aXR5U2V0SGVscGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW50aXR5U2V0LCBOYXZpZ2F0aW9uUHJvcGVydHlQYXRoIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBpc0VudGl0eVNldCA9IGZ1bmN0aW9uIChkYXRhT2JqZWN0OiBhbnkpOiBkYXRhT2JqZWN0IGlzIEVudGl0eVNldCB7XG5cdHJldHVybiBkYXRhT2JqZWN0ICYmIGRhdGFPYmplY3QuaGFzT3duUHJvcGVydHkoXCJfdHlwZVwiKSAmJiBkYXRhT2JqZWN0Ll90eXBlID09PSBcIkVudGl0eVNldFwiO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvbnMgPSBmdW5jdGlvbiAoZW50aXR5U2V0OiBFbnRpdHlTZXQpIHtcblx0cmV0dXJuIGVudGl0eVNldC5hbm5vdGF0aW9ucz8uQ2FwYWJpbGl0aWVzPy5GaWx0ZXJSZXN0cmljdGlvbnM/LkZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvbnMgfHwgW107XG59O1xuXG4vKipcbiAqIFJlYWRzIGFsbCBTb3J0UmVzdHJpY3Rpb25zIG9mIHRoZSBtYWluIGVudGl0eSBhbmQgdGhlIChmaXJzdCBsZXZlbCkgbmF2aWdhdGlvbiByZXN0cmljdGlvbnMuXG4gKiBUaGlzIGRvZXMgbm90IHdvcmsgZm9yIG1vcmUgdGhhbiBvbmUgbGV2ZWwgb2YgbmF2aWdhdGlvbi5cbiAqXG4gKiBAcGFyYW0gZW50aXR5U2V0IEVudGl0eSBzZXQgdG8gYmUgYW5hbHl6ZWRcbiAqIEByZXR1cm5zIEFycmF5IGNvbnRhaW5pbmcgdGhlIHByb3BlcnR5IG5hbWVzIG9mIGFsbCBub24tc29ydGFibGUgcHJvcGVydGllc1xuICovXG5leHBvcnQgY29uc3QgZ2V0Tm9uU29ydGFibGVQcm9wZXJ0aWVzUmVzdHJpY3Rpb25zID0gZnVuY3Rpb24gKGVudGl0eVNldDogRW50aXR5U2V0IHwgdW5kZWZpbmVkKTogc3RyaW5nW10ge1xuXHRsZXQgbm9uU29ydGFibGVQcm9wZXJ0aWVzID0gW107XG5cdC8vIENoZWNrIGFubm90YXRpb25zIGZvciBtYWluIGVudGl0eVxuXHRpZiAoZW50aXR5U2V0Py5hbm5vdGF0aW9ucz8uQ2FwYWJpbGl0aWVzPy5Tb3J0UmVzdHJpY3Rpb25zPy5Tb3J0YWJsZSA9PT0gZmFsc2UpIHtcblx0XHQvLyBhZGQgYWxsIHByb3BlcnRpZXMgb2YgdGhlIGVudGl0eSB0byB0aGUgbm9uU29ydGFibGVQcm9wZXJ0aWVzXG5cdFx0bm9uU29ydGFibGVQcm9wZXJ0aWVzLnB1c2goLi4uZW50aXR5U2V0LmVudGl0eVR5cGUuZW50aXR5UHJvcGVydGllcy5tYXAoKHByb3BlcnR5KSA9PiBwcm9wZXJ0eS5uYW1lKSk7XG5cdH0gZWxzZSB7XG5cdFx0bm9uU29ydGFibGVQcm9wZXJ0aWVzID1cblx0XHRcdGVudGl0eVNldD8uYW5ub3RhdGlvbnM/LkNhcGFiaWxpdGllcz8uU29ydFJlc3RyaWN0aW9ucz8uTm9uU29ydGFibGVQcm9wZXJ0aWVzPy5tYXAoKHByb3BlcnR5KSA9PiBwcm9wZXJ0eS52YWx1ZSkgfHwgW107XG5cdH1cblx0Ly8gQ2hlY2sgZm9yIGV2ZXJ5IG5hdmlnYXRpb25SZXN0cmljdGlvbiBpZiBpdCBoYXMgc29ydFJlc3RyaWN0aW9uc1xuXHRlbnRpdHlTZXQ/LmFubm90YXRpb25zPy5DYXBhYmlsaXRpZXM/Lk5hdmlnYXRpb25SZXN0cmljdGlvbnM/LlJlc3RyaWN0ZWRQcm9wZXJ0aWVzPy5mb3JFYWNoKChuYXZpZ2F0aW9uUmVzdHJpY3Rpb24pID0+IHtcblx0XHRpZiAobmF2aWdhdGlvblJlc3RyaWN0aW9uPy5Tb3J0UmVzdHJpY3Rpb25zPy5Tb3J0YWJsZSA9PT0gZmFsc2UpIHtcblx0XHRcdC8vIGZpbmQgY29ycmVjdCBuYXZpZ2F0aW9uIHByb3BlcnR5XG5cdFx0XHRjb25zdCBuYXZpZ2F0aW9uUHJvcGVydHkgPSBlbnRpdHlTZXQ/LmVudGl0eVR5cGU/Lm5hdmlnYXRpb25Qcm9wZXJ0aWVzPy5maWx0ZXIoXG5cdFx0XHRcdChuYXZQcm9wZXJ0eSkgPT4gbmF2UHJvcGVydHkubmFtZSA9PSAobmF2aWdhdGlvblJlc3RyaWN0aW9uPy5OYXZpZ2F0aW9uUHJvcGVydHkgYXMgTmF2aWdhdGlvblByb3BlcnR5UGF0aCk/LnZhbHVlXG5cdFx0XHQpO1xuXHRcdFx0aWYgKG5hdmlnYXRpb25Qcm9wZXJ0eVswXSkge1xuXHRcdFx0XHQvLyBhZGQgYWxsIHByb3BlcnRpZXMgb2YgdGhlIG5hdmlnYXRpb24gcHJvcGVydHkgdG8gdGhlIG5vblNvcnRhYmxlUHJvcGVydGllc1xuXHRcdFx0XHRub25Tb3J0YWJsZVByb3BlcnRpZXMucHVzaChcblx0XHRcdFx0XHQuLi5uYXZpZ2F0aW9uUHJvcGVydHlbMF0udGFyZ2V0VHlwZT8uZW50aXR5UHJvcGVydGllcy5tYXAoXG5cdFx0XHRcdFx0XHQocHJvcGVydHkpID0+IGAke25hdmlnYXRpb25Qcm9wZXJ0eVswXS5uYW1lfS8ke3Byb3BlcnR5Lm5hbWV9YFxuXHRcdFx0XHRcdClcblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0Y29uc3Qgbm9uU29ydGFibGVOYXZpZ2F0aW9uUHJvcGVydGllcyA9IG5hdmlnYXRpb25SZXN0cmljdGlvbj8uU29ydFJlc3RyaWN0aW9ucz8uTm9uU29ydGFibGVQcm9wZXJ0aWVzPy5tYXAoXG5cdFx0XHRcdChwcm9wZXJ0eSkgPT4gYCR7KG5hdmlnYXRpb25SZXN0cmljdGlvbj8uTmF2aWdhdGlvblByb3BlcnR5IGFzIE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGgpPy52YWx1ZX0vJHtwcm9wZXJ0eS52YWx1ZX1gXG5cdFx0XHQpO1xuXHRcdFx0aWYgKG5vblNvcnRhYmxlTmF2aWdhdGlvblByb3BlcnRpZXMpIHtcblx0XHRcdFx0bm9uU29ydGFibGVQcm9wZXJ0aWVzLnB1c2goLi4ubm9uU29ydGFibGVOYXZpZ2F0aW9uUHJvcGVydGllcyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9KTtcblx0cmV0dXJuIG5vblNvcnRhYmxlUHJvcGVydGllcztcbn07XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUVPLElBQU1BLFdBQVcsR0FBRyxVQUFVQyxVQUFWLEVBQW9EO0lBQzlFLE9BQU9BLFVBQVUsSUFBSUEsVUFBVSxDQUFDQyxjQUFYLENBQTBCLE9BQTFCLENBQWQsSUFBb0RELFVBQVUsQ0FBQ0UsS0FBWCxLQUFxQixXQUFoRjtFQUNBLENBRk07Ozs7RUFJQSxJQUFNQywrQkFBK0IsR0FBRyxVQUFVQyxTQUFW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
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { EntitySet } from "@sap-ux/
|
|
2
|
-
import { NavigationPropertyPath } from "@sap-ux/vocabularies-types";
|
|
1
|
+
import type { EntitySet, NavigationPropertyPath } from "@sap-ux/vocabularies-types";
|
|
3
2
|
|
|
4
3
|
export const isEntitySet = function (dataObject: any): dataObject is EntitySet {
|
|
5
4
|
return dataObject && dataObject.hasOwnProperty("_type") && dataObject._type === "EntitySet";
|
|
@@ -13,8 +12,8 @@ export const getFilterExpressionRestrictions = function (entitySet: EntitySet) {
|
|
|
13
12
|
* Reads all SortRestrictions of the main entity and the (first level) navigation restrictions.
|
|
14
13
|
* This does not work for more than one level of navigation.
|
|
15
14
|
*
|
|
16
|
-
* @param
|
|
17
|
-
* @returns
|
|
15
|
+
* @param entitySet Entity set to be analyzed
|
|
16
|
+
* @returns Array containing the property names of all non-sortable properties
|
|
18
17
|
*/
|
|
19
18
|
export const getNonSortablePropertiesRestrictions = function (entitySet: EntitySet | undefined): string[] {
|
|
20
19
|
let nonSortableProperties = [];
|
|
@@ -31,20 +30,19 @@ export const getNonSortablePropertiesRestrictions = function (entitySet: EntityS
|
|
|
31
30
|
if (navigationRestriction?.SortRestrictions?.Sortable === false) {
|
|
32
31
|
// find correct navigation property
|
|
33
32
|
const navigationProperty = entitySet?.entityType?.navigationProperties?.filter(
|
|
34
|
-
(
|
|
35
|
-
navigationProperty.name == (navigationRestriction?.NavigationProperty as NavigationPropertyPath)?.value
|
|
33
|
+
(navProperty) => navProperty.name == (navigationRestriction?.NavigationProperty as NavigationPropertyPath)?.value
|
|
36
34
|
);
|
|
37
35
|
if (navigationProperty[0]) {
|
|
38
36
|
// add all properties of the navigation property to the nonSortableProperties
|
|
39
37
|
nonSortableProperties.push(
|
|
40
38
|
...navigationProperty[0].targetType?.entityProperties.map(
|
|
41
|
-
(property) => navigationProperty[0].name
|
|
39
|
+
(property) => `${navigationProperty[0].name}/${property.name}`
|
|
42
40
|
)
|
|
43
41
|
);
|
|
44
42
|
}
|
|
45
43
|
} else {
|
|
46
44
|
const nonSortableNavigationProperties = navigationRestriction?.SortRestrictions?.NonSortableProperties?.map(
|
|
47
|
-
(property) => (navigationRestriction?.NavigationProperty as NavigationPropertyPath)?.value
|
|
45
|
+
(property) => `${(navigationRestriction?.NavigationProperty as NavigationPropertyPath)?.value}/${property.value}`
|
|
48
46
|
);
|
|
49
47
|
if (nonSortableNavigationProperties) {
|
|
50
48
|
nonSortableProperties.push(...nonSortableNavigationProperties);
|
|
@@ -2,49 +2,37 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/fe/core/helpers/
|
|
5
|
+
sap.ui.define(["sap/fe/core/helpers/BindingToolkit"], function (BindingToolkit) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
var _exports = {};
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var equal =
|
|
9
|
+
var or = BindingToolkit.or;
|
|
10
|
+
var getExpressionFromAnnotation = BindingToolkit.getExpressionFromAnnotation;
|
|
11
|
+
var equal = BindingToolkit.equal;
|
|
12
|
+
var constant = BindingToolkit.constant;
|
|
12
13
|
|
|
13
|
-
/**
|
|
14
|
-
* Create the binding expression to check if the property is non editable or not.
|
|
15
|
-
*
|
|
16
|
-
* @param {object} oTarget The target property or DataField
|
|
17
|
-
* @returns {ExpressionOrPrimitive<boolean>} The binding expression resolving to a Boolean being true if it's non editable
|
|
18
|
-
*/
|
|
19
|
-
var isNonEditableExpression = function (oTarget) {
|
|
20
|
-
return or(isReadOnlyExpression(oTarget), isDisabledExpression(oTarget));
|
|
21
|
-
};
|
|
22
14
|
/**
|
|
23
15
|
* Create the binding expression to check if the property is read only or not.
|
|
24
16
|
*
|
|
25
|
-
* @param
|
|
26
|
-
* @returns
|
|
17
|
+
* @param oTarget The target property or DataField
|
|
18
|
+
* @returns The binding expression resolving to a Boolean being true if it's read only
|
|
27
19
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
_exports.isNonEditableExpression = isNonEditableExpression;
|
|
31
|
-
|
|
32
20
|
var isReadOnlyExpression = function (oTarget) {
|
|
33
21
|
var _oTarget$annotations, _oTarget$annotations$, _oTarget$annotations$2;
|
|
34
22
|
|
|
35
23
|
var oFieldControlValue = oTarget === null || oTarget === void 0 ? void 0 : (_oTarget$annotations = oTarget.annotations) === null || _oTarget$annotations === void 0 ? void 0 : (_oTarget$annotations$ = _oTarget$annotations.Common) === null || _oTarget$annotations$ === void 0 ? void 0 : (_oTarget$annotations$2 = _oTarget$annotations$.FieldControl) === null || _oTarget$annotations$2 === void 0 ? void 0 : _oTarget$annotations$2.valueOf();
|
|
36
24
|
|
|
37
|
-
if (typeof oFieldControlValue === "object") {
|
|
38
|
-
return
|
|
25
|
+
if (typeof oFieldControlValue === "object" && !!oFieldControlValue) {
|
|
26
|
+
return or(equal(getExpressionFromAnnotation(oFieldControlValue), 1), equal(getExpressionFromAnnotation(oFieldControlValue), "1"));
|
|
39
27
|
}
|
|
40
28
|
|
|
41
|
-
return oFieldControlValue === "Common.FieldControlType/ReadOnly";
|
|
29
|
+
return constant(oFieldControlValue === "Common.FieldControlType/ReadOnly");
|
|
42
30
|
};
|
|
43
31
|
/**
|
|
44
32
|
* Create the binding expression to check if the property is disabled or not.
|
|
45
33
|
*
|
|
46
|
-
* @param
|
|
47
|
-
* @returns
|
|
34
|
+
* @param oTarget The target property or DataField
|
|
35
|
+
* @returns The binding expression resolving to a Boolean being true if it's disabled
|
|
48
36
|
*/
|
|
49
37
|
|
|
50
38
|
|
|
@@ -55,35 +43,48 @@ sap.ui.define(["sap/fe/core/helpers/BindingExpression"], function (BindingExpres
|
|
|
55
43
|
|
|
56
44
|
var oFieldControlValue = oTarget === null || oTarget === void 0 ? void 0 : (_oTarget$annotations2 = oTarget.annotations) === null || _oTarget$annotations2 === void 0 ? void 0 : (_oTarget$annotations3 = _oTarget$annotations2.Common) === null || _oTarget$annotations3 === void 0 ? void 0 : (_oTarget$annotations4 = _oTarget$annotations3.FieldControl) === null || _oTarget$annotations4 === void 0 ? void 0 : _oTarget$annotations4.valueOf();
|
|
57
45
|
|
|
58
|
-
if (typeof oFieldControlValue === "object") {
|
|
59
|
-
return
|
|
46
|
+
if (typeof oFieldControlValue === "object" && !!oFieldControlValue) {
|
|
47
|
+
return or(equal(getExpressionFromAnnotation(oFieldControlValue), 0), equal(getExpressionFromAnnotation(oFieldControlValue), "0"));
|
|
60
48
|
}
|
|
61
49
|
|
|
62
|
-
return oFieldControlValue === "Common.FieldControlType/Inapplicable";
|
|
50
|
+
return constant(oFieldControlValue === "Common.FieldControlType/Inapplicable");
|
|
63
51
|
};
|
|
64
52
|
/**
|
|
65
|
-
* Create the binding expression to check if the property is
|
|
53
|
+
* Create the binding expression to check if the property is non editable or not.
|
|
66
54
|
*
|
|
67
|
-
* @param
|
|
68
|
-
* @returns
|
|
55
|
+
* @param oTarget The target property or DataField
|
|
56
|
+
* @returns The binding expression resolving to a Boolean being true if it's non editable
|
|
69
57
|
*/
|
|
70
58
|
|
|
71
59
|
|
|
72
60
|
_exports.isDisabledExpression = isDisabledExpression;
|
|
73
61
|
|
|
62
|
+
var isNonEditableExpression = function (oTarget) {
|
|
63
|
+
return or(isReadOnlyExpression(oTarget), isDisabledExpression(oTarget));
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Create the binding expression to check if the property is read only or not.
|
|
67
|
+
*
|
|
68
|
+
* @param oTarget The target property or DataField
|
|
69
|
+
* @returns The binding expression resolving to a Boolean being true if it's read only
|
|
70
|
+
*/
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
_exports.isNonEditableExpression = isNonEditableExpression;
|
|
74
|
+
|
|
74
75
|
var isRequiredExpression = function (oTarget) {
|
|
75
76
|
var _oTarget$annotations5, _oTarget$annotations6, _oTarget$annotations7;
|
|
76
77
|
|
|
77
78
|
var oFieldControlValue = oTarget === null || oTarget === void 0 ? void 0 : (_oTarget$annotations5 = oTarget.annotations) === null || _oTarget$annotations5 === void 0 ? void 0 : (_oTarget$annotations6 = _oTarget$annotations5.Common) === null || _oTarget$annotations6 === void 0 ? void 0 : (_oTarget$annotations7 = _oTarget$annotations6.FieldControl) === null || _oTarget$annotations7 === void 0 ? void 0 : _oTarget$annotations7.valueOf();
|
|
78
79
|
|
|
79
|
-
if (typeof oFieldControlValue === "object") {
|
|
80
|
-
return
|
|
80
|
+
if (typeof oFieldControlValue === "object" && !!oFieldControlValue) {
|
|
81
|
+
return or(equal(getExpressionFromAnnotation(oFieldControlValue), 7), equal(getExpressionFromAnnotation(oFieldControlValue), "7"));
|
|
81
82
|
}
|
|
82
83
|
|
|
83
|
-
return oFieldControlValue === "Common.FieldControlType/Mandatory";
|
|
84
|
+
return constant(oFieldControlValue === "Common.FieldControlType/Mandatory");
|
|
84
85
|
};
|
|
85
86
|
|
|
86
87
|
_exports.isRequiredExpression = isRequiredExpression;
|
|
87
88
|
return _exports;
|
|
88
89
|
}, false);
|
|
89
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc1JlYWRPbmx5RXhwcmVzc2lvbiIsIm9UYXJnZXQiLCJvRmllbGRDb250cm9sVmFsdWUiLCJhbm5vdGF0aW9ucyIsIkNvbW1vbiIsIkZpZWxkQ29udHJvbCIsInZhbHVlT2YiLCJvciIsImVxdWFsIiwiZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uIiwiY29uc3RhbnQiLCJpc0Rpc2FibGVkRXhwcmVzc2lvbiIsImlzTm9uRWRpdGFibGVFeHByZXNzaW9uIiwiaXNSZXF1aXJlZEV4cHJlc3Npb24iXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkZpZWxkQ29udHJvbEhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgeyBjb25zdGFudCwgZXF1YWwsIGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbiwgb3IgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nVG9vbGtpdFwiO1xuXG4vKipcbiAqIENyZWF0ZSB0aGUgYmluZGluZyBleHByZXNzaW9uIHRvIGNoZWNrIGlmIHRoZSBwcm9wZXJ0eSBpcyByZWFkIG9ubHkgb3Igbm90LlxuICpcbiAqIEBwYXJhbSBvVGFyZ2V0IFRoZSB0YXJnZXQgcHJvcGVydHkgb3IgRGF0YUZpZWxkXG4gKiBAcmV0dXJucyBUaGUgYmluZGluZyBleHByZXNzaW9uIHJlc29sdmluZyB0byBhIEJvb2xlYW4gYmVpbmcgdHJ1ZSBpZiBpdCdzIHJlYWQgb25seVxuICovXG5leHBvcnQgY29uc3QgaXNSZWFkT25seUV4cHJlc3Npb24gPSBmdW5jdGlvbiAob1RhcmdldDogYW55KTogQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPGJvb2xlYW4+IHtcblx0Y29uc3Qgb0ZpZWxkQ29udHJvbFZhbHVlID0gb1RhcmdldD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uRmllbGRDb250cm9sPy52YWx1ZU9mKCk7XG5cdGlmICh0eXBlb2Ygb0ZpZWxkQ29udHJvbFZhbHVlID09PSBcIm9iamVjdFwiICYmICEhb0ZpZWxkQ29udHJvbFZhbHVlKSB7XG5cdFx0cmV0dXJuIG9yKGVxdWFsKGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbihvRmllbGRDb250cm9sVmFsdWUpLCAxKSwgZXF1YWwoZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uKG9GaWVsZENvbnRyb2xWYWx1ZSksIFwiMVwiKSk7XG5cdH1cblx0cmV0dXJuIGNvbnN0YW50KG9GaWVsZENvbnRyb2xWYWx1ZSA9PT0gXCJDb21tb24uRmllbGRDb250cm9sVHlwZS9SZWFkT25seVwiKTtcbn07XG5cbi8qKlxuICogQ3JlYXRlIHRoZSBiaW5kaW5nIGV4cHJlc3Npb24gdG8gY2hlY2sgaWYgdGhlIHByb3BlcnR5IGlzIGRpc2FibGVkIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0gb1RhcmdldCBUaGUgdGFyZ2V0IHByb3BlcnR5IG9yIERhdGFGaWVsZFxuICogQHJldHVybnMgVGhlIGJpbmRpbmcgZXhwcmVzc2lvbiByZXNvbHZpbmcgdG8gYSBCb29sZWFuIGJlaW5nIHRydWUgaWYgaXQncyBkaXNhYmxlZFxuICovXG5leHBvcnQgY29uc3QgaXNEaXNhYmxlZEV4cHJlc3Npb24gPSBmdW5jdGlvbiAob1RhcmdldDogYW55KTogQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPGJvb2xlYW4+IHtcblx0Y29uc3Qgb0ZpZWxkQ29udHJvbFZhbHVlID0gb1RhcmdldD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uRmllbGRDb250cm9sPy52YWx1ZU9mKCk7XG5cdGlmICh0eXBlb2Ygb0ZpZWxkQ29udHJvbFZhbHVlID09PSBcIm9iamVjdFwiICYmICEhb0ZpZWxkQ29udHJvbFZhbHVlKSB7XG5cdFx0cmV0dXJuIG9yKGVxdWFsKGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbihvRmllbGRDb250cm9sVmFsdWUpLCAwKSwgZXF1YWwoZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uKG9GaWVsZENvbnRyb2xWYWx1ZSksIFwiMFwiKSk7XG5cdH1cblx0cmV0dXJuIGNvbnN0YW50KG9GaWVsZENvbnRyb2xWYWx1ZSA9PT0gXCJDb21tb24uRmllbGRDb250cm9sVHlwZS9JbmFwcGxpY2FibGVcIik7XG59O1xuXG4vKipcbiAqIENyZWF0ZSB0aGUgYmluZGluZyBleHByZXNzaW9uIHRvIGNoZWNrIGlmIHRoZSBwcm9wZXJ0eSBpcyBub24gZWRpdGFibGUgb3Igbm90LlxuICpcbiAqIEBwYXJhbSBvVGFyZ2V0IFRoZSB0YXJnZXQgcHJvcGVydHkgb3IgRGF0YUZpZWxkXG4gKiBAcmV0dXJucyBUaGUgYmluZGluZyBleHByZXNzaW9uIHJlc29sdmluZyB0byBhIEJvb2xlYW4gYmVpbmcgdHJ1ZSBpZiBpdCdzIG5vbiBlZGl0YWJsZVxuICovXG5leHBvcnQgY29uc3QgaXNOb25FZGl0YWJsZUV4cHJlc3Npb24gPSBmdW5jdGlvbiAob1RhcmdldDogYW55KTogQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPGJvb2xlYW4+IHtcblx0cmV0dXJuIG9yKGlzUmVhZE9ubHlFeHByZXNzaW9uKG9UYXJnZXQpLCBpc0Rpc2FibGVkRXhwcmVzc2lvbihvVGFyZ2V0KSk7XG59O1xuXG4vKipcbiAqIENyZWF0ZSB0aGUgYmluZGluZyBleHByZXNzaW9uIHRvIGNoZWNrIGlmIHRoZSBwcm9wZXJ0eSBpcyByZWFkIG9ubHkgb3Igbm90LlxuICpcbiAqIEBwYXJhbSBvVGFyZ2V0IFRoZSB0YXJnZXQgcHJvcGVydHkgb3IgRGF0YUZpZWxkXG4gKiBAcmV0dXJucyBUaGUgYmluZGluZyBleHByZXNzaW9uIHJlc29sdmluZyB0byBhIEJvb2xlYW4gYmVpbmcgdHJ1ZSBpZiBpdCdzIHJlYWQgb25seVxuICovXG5leHBvcnQgY29uc3QgaXNSZXF1aXJlZEV4cHJlc3Npb24gPSBmdW5jdGlvbiAob1RhcmdldDogYW55KTogQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPGJvb2xlYW4+IHtcblx0Y29uc3Qgb0ZpZWxkQ29udHJvbFZhbHVlID0gb1RhcmdldD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uRmllbGRDb250cm9sPy52YWx1ZU9mKCk7XG5cdGlmICh0eXBlb2Ygb0ZpZWxkQ29udHJvbFZhbHVlID09PSBcIm9iamVjdFwiICYmICEhb0ZpZWxkQ29udHJvbFZhbHVlKSB7XG5cdFx0cmV0dXJuIG9yKGVxdWFsKGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbihvRmllbGRDb250cm9sVmFsdWUpLCA3KSwgZXF1YWwoZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uKG9GaWVsZENvbnRyb2xWYWx1ZSksIFwiN1wiKSk7XG5cdH1cblx0cmV0dXJuIGNvbnN0YW50KG9GaWVsZENvbnRyb2xWYWx1ZSA9PT0gXCJDb21tb24uRmllbGRDb250cm9sVHlwZS9NYW5kYXRvcnlcIik7XG59O1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7O0VBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ08sSUFBTUEsb0JBQW9CLEdBQUcsVUFBVUMsT0FBVixFQUEyRDtJQUFBOztJQUM5RixJQUFNQyxrQkFBa0IsR0FBR0QsT0FBSCxhQUFHQSxPQUFILCtDQUFHQSxPQUFPLENBQUVFLFdBQVosa0ZBQUcscUJBQXNCQyxNQUF6QixvRkFBRyxzQkFBOEJDLFlBQWpDLDJEQUFHLHVCQUE0Q0MsT0FBNUMsRUFBM0I7O0lBQ0EsSUFBSSxPQUFPSixrQkFBUCxLQUE4QixRQUE5QixJQUEwQyxDQUFDLENBQUNBLGtCQUFoRCxFQUFvRTtNQUNuRSxPQUFPSyxFQUFFLENBQUNDLEtBQUssQ0FBQ0MsMkJBQTJCLENBQUNQLGtCQUFELENBQTVCLEVBQWtELENBQWxELENBQU4sRUFBNERNLEtBQUssQ0FBQ0MsMkJBQTJCLENBQUNQLGtCQUFELENBQTVCLEVBQWtELEdBQWxELENBQWpFLENBQVQ7SUFDQTs7SUFDRCxPQUFPUSxRQUFRLENBQUNSLGtCQUFrQixLQUFLLGtDQUF4QixDQUFmO0VBQ0EsQ0FOTTtFQVFQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7RUFDTyxJQUFNUyxvQkFBb0IsR0FBRyxVQUFVVixPQUFWLEVBQTJEO0lBQUE7O0lBQzlGLElBQU1DLGtCQUFrQixHQUFHRCxPQUFILGFBQUdBLE9BQUgsZ0RBQUdBLE9BQU8sQ0FBRUUsV0FBWixtRkFBRyxzQkFBc0JDLE1BQXpCLG1GQUFHLHNCQUE4QkMsWUFBakMsMERBQUcsc0JBQTRDQyxPQUE1QyxFQUEzQjs7SUFDQSxJQUFJLE9BQU9KLGtCQUFQLEtBQThCLFFBQTlCLElBQTBDLENBQUMsQ0FBQ0Esa0JBQWhELEVBQW9FO01BQ25FLE9BQU9LLEVBQUUsQ0FBQ0MsS0FBSyxDQUFDQywyQkFBMkIsQ0FBQ1Asa0JBQUQsQ0FBNUIsRUFBa0QsQ0FBbEQsQ0FBTixFQUE0RE0sS0FBSyxDQUFDQywyQkFBMkIsQ0FBQ1Asa0JBQUQsQ0FBNUIsRUFBa0QsR0FBbEQsQ0FBakUsQ0FBVDtJQUNBOztJQUNELE9BQU9RLFFBQVEsQ0FBQ1Isa0JBQWtCLEtBQUssc0NBQXhCLENBQWY7RUFDQSxDQU5NO0VBUVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztFQUNPLElBQU1VLHVCQUF1QixHQUFHLFVBQVVYLE9BQVYsRUFBMkQ7SUFDakcsT0FBT00sRUFBRSxDQUFDUCxvQkFBb0IsQ0FBQ0MsT0FBRCxDQUFyQixFQUFnQ1Usb0JBQW9CLENBQUNWLE9BQUQsQ0FBcEQsQ0FBVDtFQUNBLENBRk07RUFJUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0VBQ08sSUFBTVksb0JBQW9CLEdBQUcsVUFBVVosT0FBVixFQUEyRDtJQUFBOztJQUM5RixJQUFNQyxrQkFBa0IsR0FBR0QsT0FBSCxhQUFHQSxPQUFILGdEQUFHQSxPQUFPLENBQUVFLFdBQVosbUZBQUcsc0JBQXNCQyxNQUF6QixtRkFBRyxzQkFBOEJDLFlBQWpDLDBEQUFHLHNCQUE0Q0MsT0FBNUMsRUFBM0I7O0lBQ0EsSUFBSSxPQUFPSixrQkFBUCxLQUE4QixRQUE5QixJQUEwQyxDQUFDLENBQUNBLGtCQUFoRCxFQUFvRTtNQUNuRSxPQUFPSyxFQUFFLENBQUNDLEtBQUssQ0FBQ0MsMkJBQTJCLENBQUNQLGtCQUFELENBQTVCLEVBQWtELENBQWxELENBQU4sRUFBNERNLEtBQUssQ0FBQ0MsMkJBQTJCLENBQUNQLGtCQUFELENBQTVCLEVBQWtELEdBQWxELENBQWpFLENBQVQ7SUFDQTs7SUFDRCxPQUFPUSxRQUFRLENBQUNSLGtCQUFrQixLQUFLLG1DQUF4QixDQUFmO0VBQ0EsQ0FOTSJ9
|
|
@@ -1,71 +1,54 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { BindingToolkitExpression } from "sap/fe/core/helpers/BindingToolkit";
|
|
2
|
+
import { constant, equal, getExpressionFromAnnotation, or } from "sap/fe/core/helpers/BindingToolkit";
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
|
-
* Create the binding expression to check if the property is
|
|
5
|
+
* Create the binding expression to check if the property is read only or not.
|
|
5
6
|
*
|
|
6
|
-
* @param
|
|
7
|
-
* @returns
|
|
7
|
+
* @param oTarget The target property or DataField
|
|
8
|
+
* @returns The binding expression resolving to a Boolean being true if it's read only
|
|
8
9
|
*/
|
|
9
|
-
export const
|
|
10
|
-
|
|
10
|
+
export const isReadOnlyExpression = function (oTarget: any): BindingToolkitExpression<boolean> {
|
|
11
|
+
const oFieldControlValue = oTarget?.annotations?.Common?.FieldControl?.valueOf();
|
|
12
|
+
if (typeof oFieldControlValue === "object" && !!oFieldControlValue) {
|
|
13
|
+
return or(equal(getExpressionFromAnnotation(oFieldControlValue), 1), equal(getExpressionFromAnnotation(oFieldControlValue), "1"));
|
|
14
|
+
}
|
|
15
|
+
return constant(oFieldControlValue === "Common.FieldControlType/ReadOnly");
|
|
11
16
|
};
|
|
12
17
|
|
|
13
18
|
/**
|
|
14
|
-
* Create the binding expression to check if the property is
|
|
19
|
+
* Create the binding expression to check if the property is disabled or not.
|
|
15
20
|
*
|
|
16
|
-
* @param
|
|
17
|
-
* @returns
|
|
21
|
+
* @param oTarget The target property or DataField
|
|
22
|
+
* @returns The binding expression resolving to a Boolean being true if it's disabled
|
|
18
23
|
*/
|
|
19
|
-
export const
|
|
24
|
+
export const isDisabledExpression = function (oTarget: any): BindingToolkitExpression<boolean> {
|
|
20
25
|
const oFieldControlValue = oTarget?.annotations?.Common?.FieldControl?.valueOf();
|
|
21
|
-
if (typeof oFieldControlValue === "object") {
|
|
22
|
-
return (
|
|
23
|
-
!!oFieldControlValue &&
|
|
24
|
-
or(
|
|
25
|
-
equal(annotationExpression(oFieldControlValue) as ExpressionOrPrimitive<number>, 1),
|
|
26
|
-
equal(annotationExpression(oFieldControlValue) as ExpressionOrPrimitive<string>, "1")
|
|
27
|
-
)
|
|
28
|
-
);
|
|
26
|
+
if (typeof oFieldControlValue === "object" && !!oFieldControlValue) {
|
|
27
|
+
return or(equal(getExpressionFromAnnotation(oFieldControlValue), 0), equal(getExpressionFromAnnotation(oFieldControlValue), "0"));
|
|
29
28
|
}
|
|
30
|
-
return oFieldControlValue === "Common.FieldControlType/
|
|
29
|
+
return constant(oFieldControlValue === "Common.FieldControlType/Inapplicable");
|
|
31
30
|
};
|
|
32
31
|
|
|
33
32
|
/**
|
|
34
|
-
* Create the binding expression to check if the property is
|
|
33
|
+
* Create the binding expression to check if the property is non editable or not.
|
|
35
34
|
*
|
|
36
|
-
* @param
|
|
37
|
-
* @returns
|
|
35
|
+
* @param oTarget The target property or DataField
|
|
36
|
+
* @returns The binding expression resolving to a Boolean being true if it's non editable
|
|
38
37
|
*/
|
|
39
|
-
export const
|
|
40
|
-
|
|
41
|
-
if (typeof oFieldControlValue === "object") {
|
|
42
|
-
return (
|
|
43
|
-
!!oFieldControlValue &&
|
|
44
|
-
or(
|
|
45
|
-
equal(annotationExpression(oFieldControlValue) as ExpressionOrPrimitive<number>, 0),
|
|
46
|
-
equal(annotationExpression(oFieldControlValue) as ExpressionOrPrimitive<string>, "0")
|
|
47
|
-
)
|
|
48
|
-
);
|
|
49
|
-
}
|
|
50
|
-
return oFieldControlValue === "Common.FieldControlType/Inapplicable";
|
|
38
|
+
export const isNonEditableExpression = function (oTarget: any): BindingToolkitExpression<boolean> {
|
|
39
|
+
return or(isReadOnlyExpression(oTarget), isDisabledExpression(oTarget));
|
|
51
40
|
};
|
|
52
41
|
|
|
53
42
|
/**
|
|
54
43
|
* Create the binding expression to check if the property is read only or not.
|
|
55
44
|
*
|
|
56
|
-
* @param
|
|
57
|
-
* @returns
|
|
45
|
+
* @param oTarget The target property or DataField
|
|
46
|
+
* @returns The binding expression resolving to a Boolean being true if it's read only
|
|
58
47
|
*/
|
|
59
|
-
export const isRequiredExpression = function(oTarget: any):
|
|
48
|
+
export const isRequiredExpression = function (oTarget: any): BindingToolkitExpression<boolean> {
|
|
60
49
|
const oFieldControlValue = oTarget?.annotations?.Common?.FieldControl?.valueOf();
|
|
61
|
-
if (typeof oFieldControlValue === "object") {
|
|
62
|
-
return (
|
|
63
|
-
!!oFieldControlValue &&
|
|
64
|
-
or(
|
|
65
|
-
equal(annotationExpression(oFieldControlValue) as ExpressionOrPrimitive<number>, 7),
|
|
66
|
-
equal(annotationExpression(oFieldControlValue) as ExpressionOrPrimitive<string>, "7")
|
|
67
|
-
)
|
|
68
|
-
);
|
|
50
|
+
if (typeof oFieldControlValue === "object" && !!oFieldControlValue) {
|
|
51
|
+
return or(equal(getExpressionFromAnnotation(oFieldControlValue), 7), equal(getExpressionFromAnnotation(oFieldControlValue), "7"));
|
|
69
52
|
}
|
|
70
|
-
return oFieldControlValue === "Common.FieldControlType/Mandatory";
|
|
53
|
+
return constant(oFieldControlValue === "Common.FieldControlType/Mandatory");
|
|
71
54
|
};
|