@sapui5/sap.fe.core 1.112.0 → 1.114.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/fe/core/.library +1 -1
- package/src/sap/fe/core/ActionRuntime-dbg.js +70 -6
- package/src/sap/fe/core/ActionRuntime.js +1 -1
- package/src/sap/fe/core/ActionRuntime.js.map +1 -1
- package/src/sap/fe/core/ActionRuntime.ts +118 -3
- package/src/sap/fe/core/AppComponent-dbg.js +16 -6
- package/src/sap/fe/core/AppComponent.js +1 -1
- package/src/sap/fe/core/AppComponent.js.map +1 -1
- package/src/sap/fe/core/AppComponent.ts +21 -7
- package/src/sap/fe/core/AppStateHandler-dbg.js +11 -10
- package/src/sap/fe/core/AppStateHandler.js +1 -1
- package/src/sap/fe/core/AppStateHandler.js.map +1 -1
- package/src/sap/fe/core/AppStateHandler.ts +14 -11
- package/src/sap/fe/core/CommonUtils-dbg.js +102 -175
- package/src/sap/fe/core/CommonUtils.js +1 -1
- package/src/sap/fe/core/CommonUtils.js.map +1 -1
- package/src/sap/fe/core/CommonUtils.ts +114 -211
- package/src/sap/fe/core/ExtensionAPI-dbg.js +3 -1
- package/src/sap/fe/core/ExtensionAPI.js.map +1 -1
- package/src/sap/fe/core/ExtensionAPI.ts +2 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase-dbg.js +2 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +1 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport-dbg.js +2 -2
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.ts +13 -18
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor-dbg.js +32 -24
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js +4 -4
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.ts +41 -29
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock-dbg.js +2 -2
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js +1 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.ts +1 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment-dbg.js +2 -2
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js +1 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.ts +3 -1
- package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +124 -57
- package/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
- package/src/sap/fe/core/controllerextensions/EditFlow.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +146 -73
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +35 -74
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +35 -78
- package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +217 -127
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
- package/src/sap/fe/core/controllerextensions/InternalRouting.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +227 -129
- package/src/sap/fe/core/controllerextensions/PageReady-dbg.js +3 -5
- package/src/sap/fe/core/controllerextensions/PageReady.js +1 -1
- package/src/sap/fe/core/controllerextensions/PageReady.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/PageReady.ts +2 -4
- package/src/sap/fe/core/controllerextensions/Share-dbg.js +3 -2
- package/src/sap/fe/core/controllerextensions/Share.js +1 -1
- package/src/sap/fe/core/controllerextensions/Share.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/Share.ts +2 -1
- package/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +19 -14
- package/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
- package/src/sap/fe/core/controllerextensions/SideEffects.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +22 -14
- package/src/sap/fe/core/controllerextensions/ViewState-dbg.js +41 -24
- package/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
- package/src/sap/fe/core/controllerextensions/ViewState.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/ViewState.ts +64 -31
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync-dbg.js +8 -8
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +7 -9
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon-dbg.js +7 -45
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +5 -48
- package/src/sap/fe/core/controllerextensions/collaboration/Manage-dbg.js +4 -4
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +2 -2
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +3 -3
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialogTemplating-dbg.js +52 -0
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialogTemplating.js +6 -0
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialogTemplating.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialogTemplating.ts +46 -0
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog-dbg.js +103 -0
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js +6 -0
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.tsx +124 -0
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +106 -205
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +121 -216
- package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +31 -4
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +38 -3
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup-dbg.js +13 -10
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +7 -20
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal-dbg.js +9 -4
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.ts +12 -3
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade-dbg.js +10 -6
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +20 -11
- package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +1 -8
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +0 -9
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +19 -15
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +1 -1
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +19 -22
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy-dbg.js +67 -1
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +1 -1
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +68 -0
- package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -0
- package/src/sap/fe/core/controls/CommandExecution-dbg.js +4 -9
- package/src/sap/fe/core/controls/CommandExecution.js +1 -1
- package/src/sap/fe/core/controls/CommandExecution.js.map +1 -1
- package/src/sap/fe/core/controls/CommandExecution.ts +0 -8
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block-dbg.js +335 -0
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js +6 -0
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js.map +1 -0
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.tsx +336 -0
- package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +1 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +3 -28
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js +1 -1
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js.map +1 -1
- package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +8 -29
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +30 -1
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +1 -1
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js.map +1 -1
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +38 -0
- package/src/sap/fe/core/converters/ConverterContext-dbg.js +3 -5
- package/src/sap/fe/core/converters/ConverterContext.js +1 -1
- package/src/sap/fe/core/converters/ConverterContext.js.map +1 -1
- package/src/sap/fe/core/converters/ConverterContext.ts +2 -5
- package/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +7 -6
- package/src/sap/fe/core/converters/ManifestWrapper-dbg.js +5 -3
- package/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
- package/src/sap/fe/core/converters/ManifestWrapper.js.map +1 -1
- package/src/sap/fe/core/converters/ManifestWrapper.ts +7 -1
- package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +49 -28
- package/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
- package/src/sap/fe/core/converters/MetaModelConverter.js.map +1 -1
- package/src/sap/fe/core/converters/MetaModelConverter.ts +62 -30
- package/src/sap/fe/core/converters/TemplateConverter-dbg.js +2 -3
- package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
- package/src/sap/fe/core/converters/TemplateConverter.js.map +1 -1
- package/src/sap/fe/core/converters/TemplateConverter.ts +1 -6
- package/src/sap/fe/core/converters/annotations/DataField-dbg.js +22 -7
- package/src/sap/fe/core/converters/annotations/DataField.js +1 -1
- package/src/sap/fe/core/converters/annotations/DataField.js.map +1 -1
- package/src/sap/fe/core/converters/annotations/DataField.ts +20 -7
- package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +701 -681
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
- package/src/sap/fe/core/converters/common/AnnotationConverter.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action-dbg.js +6 -12
- package/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action.ts +9 -14
- package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +32 -20
- package/src/sap/fe/core/converters/controls/Common/Chart.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Chart.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +30 -18
- package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +4 -5
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +6 -37
- package/src/sap/fe/core/converters/controls/Common/Form-dbg.js +7 -6
- package/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Form.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Form.ts +5 -11
- package/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +5 -5
- package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/KPI.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +3 -4
- package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +135 -85
- package/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Table.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Table.ts +189 -119
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +56 -22
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +67 -31
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +137 -49
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +166 -43
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +33 -14
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +31 -12
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +27 -18
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +36 -23
- package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +37 -15
- package/src/sap/fe/core/converters/helpers/Aggregation.js +1 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +36 -20
- package/src/sap/fe/core/converters/helpers/BindingHelper-dbg.js +8 -6
- package/src/sap/fe/core/converters/helpers/BindingHelper.js +1 -1
- package/src/sap/fe/core/converters/helpers/BindingHelper.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/BindingHelper.ts +8 -6
- package/src/sap/fe/core/converters/helpers/InsightsHelpers-dbg.js +39 -0
- package/src/sap/fe/core/converters/helpers/InsightsHelpers.js +6 -0
- package/src/sap/fe/core/converters/helpers/InsightsHelpers.js.map +1 -0
- package/src/sap/fe/core/converters/helpers/InsightsHelpers.ts +45 -0
- package/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +3 -2
- package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
- package/src/sap/fe/core/converters/helpers/IssueManager.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/IssueManager.ts +2 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +17 -16
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +1 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js.map +1 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +11 -11
- package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +20 -17
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
- package/src/sap/fe/core/converters/templates/ListReportConverter.js.map +1 -1
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +25 -56
- package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +13 -13
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +1 -1
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js.map +1 -1
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +18 -13
- package/src/sap/fe/core/formatters/CollaborationFormatter-dbg.js +17 -33
- package/src/sap/fe/core/formatters/CollaborationFormatter.js +1 -1
- package/src/sap/fe/core/formatters/CollaborationFormatter.js.map +1 -1
- package/src/sap/fe/core/formatters/CollaborationFormatter.ts +27 -22
- package/src/sap/fe/core/formatters/TableFormatter-dbg.js +2 -6
- package/src/sap/fe/core/formatters/TableFormatter.js +1 -1
- package/src/sap/fe/core/formatters/TableFormatter.js.map +1 -1
- package/src/sap/fe/core/formatters/TableFormatter.ts +1 -5
- package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +13 -5
- package/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter.js.map +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter.ts +19 -9
- package/src/sap/fe/core/fpm/manifest.json +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +2 -1
- package/src/sap/fe/core/helpers/BindingToolkit.js +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit.ts +1 -1
- package/src/sap/fe/core/helpers/DeleteHelper-dbg.js +58 -35
- package/src/sap/fe/core/helpers/DeleteHelper.js +1 -1
- package/src/sap/fe/core/helpers/DeleteHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/DeleteHelper.ts +76 -54
- package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +8 -4
- package/src/sap/fe/core/helpers/MassEditHelper.js +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper.ts +7 -5
- package/src/sap/fe/core/helpers/MessageStrip-dbg.js +6 -5
- package/src/sap/fe/core/helpers/MessageStrip.js +1 -1
- package/src/sap/fe/core/helpers/MessageStrip.js.map +1 -1
- package/src/sap/fe/core/helpers/MessageStrip.ts +4 -4
- package/src/sap/fe/core/helpers/MetaModelFunction-dbg.js +167 -4
- package/src/sap/fe/core/helpers/MetaModelFunction.js +1 -1
- package/src/sap/fe/core/helpers/MetaModelFunction.js.map +1 -1
- package/src/sap/fe/core/helpers/MetaModelFunction.ts +205 -3
- package/src/sap/fe/core/helpers/ModelHelper-dbg.js +37 -73
- package/src/sap/fe/core/helpers/ModelHelper.js +1 -1
- package/src/sap/fe/core/helpers/ModelHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/ModelHelper.ts +41 -68
- package/src/sap/fe/core/helpers/RecommendationHelper-dbg.js +71 -0
- package/src/sap/fe/core/helpers/RecommendationHelper.js +6 -0
- package/src/sap/fe/core/helpers/RecommendationHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/RecommendationHelper.ts +94 -0
- package/src/sap/fe/core/helpers/ResourceModelHelper-dbg.js +19 -3
- package/src/sap/fe/core/helpers/ResourceModelHelper.js +1 -1
- package/src/sap/fe/core/helpers/ResourceModelHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/ResourceModelHelper.ts +21 -0
- package/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +40 -6
- package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.js.map +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.ts +39 -5
- package/src/sap/fe/core/helpers/SizeHelper-dbg.js +53 -0
- package/src/sap/fe/core/helpers/SizeHelper.js +6 -0
- package/src/sap/fe/core/helpers/SizeHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/SizeHelper.ts +51 -0
- package/src/sap/fe/core/helpers/StableIdHelper-dbg.js +52 -26
- package/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
- package/src/sap/fe/core/helpers/StableIdHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/StableIdHelper.ts +49 -25
- package/src/sap/fe/core/helpers/TypeGuards-dbg.js +147 -1
- package/src/sap/fe/core/helpers/TypeGuards.js +1 -1
- package/src/sap/fe/core/helpers/TypeGuards.js.map +1 -1
- package/src/sap/fe/core/helpers/TypeGuards.ts +151 -1
- package/src/sap/fe/core/jsx-runtime/jsx-control-dbg.js +25 -2
- package/src/sap/fe/core/jsx-runtime/jsx-control.js +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx-control.js.map +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx-control.ts +24 -0
- package/src/sap/fe/core/jsx-runtime/jsx-dbg.js +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx.ts +1 -0
- package/src/sap/fe/core/library-dbg.js +1 -1
- package/src/sap/fe/core/library-preload.js +123 -95
- package/src/sap/fe/core/library-preload.js.map +1 -1
- package/src/sap/fe/core/library.js +1 -1
- package/src/sap/fe/core/manifest.json +1 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +67 -15
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js.map +1 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +66 -14
- package/src/sap/fe/core/messagebundle.properties +6 -6
- package/src/sap/fe/core/messagebundle_ar.properties +5 -6
- package/src/sap/fe/core/messagebundle_bg.properties +11 -12
- package/src/sap/fe/core/messagebundle_ca.properties +3 -4
- package/src/sap/fe/core/messagebundle_cs.properties +3 -4
- package/src/sap/fe/core/messagebundle_cy.properties +3 -4
- package/src/sap/fe/core/messagebundle_da.properties +3 -4
- package/src/sap/fe/core/messagebundle_de.properties +11 -12
- package/src/sap/fe/core/messagebundle_el.properties +5 -6
- package/src/sap/fe/core/messagebundle_en.properties +3 -4
- package/src/sap/fe/core/messagebundle_en_GB.properties +4 -5
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +3 -4
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +3 -4
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +3 -2
- package/src/sap/fe/core/messagebundle_es.properties +3 -4
- package/src/sap/fe/core/messagebundle_es_MX.properties +3 -4
- package/src/sap/fe/core/messagebundle_et.properties +3 -4
- package/src/sap/fe/core/messagebundle_fi.properties +3 -4
- package/src/sap/fe/core/messagebundle_fr.properties +3 -4
- package/src/sap/fe/core/messagebundle_fr_CA.properties +11 -12
- package/src/sap/fe/core/messagebundle_hi.properties +11 -12
- package/src/sap/fe/core/messagebundle_hr.properties +3 -4
- package/src/sap/fe/core/messagebundle_hu.properties +3 -4
- package/src/sap/fe/core/messagebundle_id.properties +11 -12
- package/src/sap/fe/core/messagebundle_it.properties +3 -4
- package/src/sap/fe/core/messagebundle_iw.properties +3 -4
- package/src/sap/fe/core/messagebundle_ja.properties +4 -5
- package/src/sap/fe/core/messagebundle_kk.properties +3 -4
- package/src/sap/fe/core/messagebundle_ko.properties +11 -12
- package/src/sap/fe/core/messagebundle_lt.properties +3 -4
- package/src/sap/fe/core/messagebundle_lv.properties +11 -12
- package/src/sap/fe/core/messagebundle_ms.properties +3 -4
- package/src/sap/fe/core/messagebundle_nl.properties +3 -4
- package/src/sap/fe/core/messagebundle_no.properties +3 -4
- package/src/sap/fe/core/messagebundle_pl.properties +11 -12
- package/src/sap/fe/core/messagebundle_pt.properties +3 -4
- package/src/sap/fe/core/messagebundle_pt_PT.properties +3 -4
- package/src/sap/fe/core/messagebundle_ro.properties +14 -15
- package/src/sap/fe/core/messagebundle_ru.properties +11 -12
- package/src/sap/fe/core/messagebundle_sh.properties +3 -4
- package/src/sap/fe/core/messagebundle_sk.properties +3 -4
- package/src/sap/fe/core/messagebundle_sl.properties +3 -4
- package/src/sap/fe/core/messagebundle_sv.properties +11 -12
- package/src/sap/fe/core/messagebundle_th.properties +3 -4
- package/src/sap/fe/core/messagebundle_tr.properties +3 -4
- package/src/sap/fe/core/messagebundle_uk.properties +3 -4
- package/src/sap/fe/core/messagebundle_vi.properties +3 -4
- package/src/sap/fe/core/messagebundle_zh_CN.properties +11 -12
- package/src/sap/fe/core/messagebundle_zh_TW.properties +11 -12
- package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +22 -8
- package/src/sap/fe/core/rootView/RootViewBaseController.js +1 -1
- package/src/sap/fe/core/rootView/RootViewBaseController.js.map +1 -1
- package/src/sap/fe/core/rootView/RootViewBaseController.ts +17 -7
- package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +36 -3
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +37 -1
- package/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +13 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.js +1 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +13 -0
- package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +7 -1
- package/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
- package/src/sap/fe/core/services/RoutingServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +20 -2
- package/src/sap/fe/core/services/ShellServicesFactory-dbg.js +7 -1
- package/src/sap/fe/core/services/ShellServicesFactory.js +1 -1
- package/src/sap/fe/core/services/ShellServicesFactory.js.map +1 -1
- package/src/sap/fe/core/services/ShellServicesFactory.ts +10 -0
- package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +10 -7
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +12 -13
- package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +9 -3
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +11 -15
- package/src/sap/fe/core/templating/CommonFormatters-dbg.js +4 -3
- package/src/sap/fe/core/templating/CommonFormatters.js +1 -1
- package/src/sap/fe/core/templating/CommonFormatters.js.map +1 -1
- package/src/sap/fe/core/templating/CommonFormatters.ts +2 -2
- package/src/sap/fe/core/templating/CriticalityFormatters-dbg.js +1 -1
- package/src/sap/fe/core/templating/CriticalityFormatters.ts +2 -2
- package/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +19 -18
- package/src/sap/fe/core/templating/DataModelPathHelper.js +1 -1
- package/src/sap/fe/core/templating/DataModelPathHelper.js.map +1 -1
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +24 -18
- package/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +5 -5
- package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.js.map +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -2
- package/src/sap/fe/core/templating/EntitySetHelper-dbg.js +19 -28
- package/src/sap/fe/core/templating/EntitySetHelper.js +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper.js.map +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper.ts +14 -24
- package/src/sap/fe/core/templating/EntityTypeHelper-dbg.js +48 -0
- package/src/sap/fe/core/templating/EntityTypeHelper.js +6 -0
- package/src/sap/fe/core/templating/EntityTypeHelper.js.map +1 -0
- package/src/sap/fe/core/templating/EntityTypeHelper.ts +37 -0
- package/src/sap/fe/core/templating/FilterHelper-dbg.js +12 -1
- package/src/sap/fe/core/templating/FilterHelper.js +1 -1
- package/src/sap/fe/core/templating/FilterHelper.js.map +1 -1
- package/src/sap/fe/core/templating/FilterHelper.ts +12 -0
- package/src/sap/fe/core/templating/FilterTemplating-dbg.js +7 -8
- package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
- package/src/sap/fe/core/templating/FilterTemplating.js.map +1 -1
- package/src/sap/fe/core/templating/FilterTemplating.ts +5 -8
- package/src/sap/fe/core/templating/PropertyFormatters-dbg.js +1 -6
- package/src/sap/fe/core/templating/PropertyFormatters.js +1 -1
- package/src/sap/fe/core/templating/PropertyFormatters.js.map +1 -1
- package/src/sap/fe/core/templating/PropertyFormatters.ts +0 -5
- package/src/sap/fe/core/templating/PropertyHelper-dbg.js +13 -46
- package/src/sap/fe/core/templating/PropertyHelper.js +1 -1
- package/src/sap/fe/core/templating/PropertyHelper.js.map +1 -1
- package/src/sap/fe/core/templating/PropertyHelper.ts +14 -43
- package/src/sap/fe/core/templating/UIFormatters-dbg.js +32 -26
- package/src/sap/fe/core/templating/UIFormatters.js +1 -1
- package/src/sap/fe/core/templating/UIFormatters.js.map +1 -1
- package/src/sap/fe/core/templating/UIFormatters.ts +45 -34
- package/src/sap/fe/core/controls/ActionPartial.fragment.xml +0 -91
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +0 -59
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +0 -171
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +0 -6
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js.map +0 -1
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +0 -184
|
@@ -5,11 +5,9 @@ import type {
|
|
|
5
5
|
PathAnnotationExpression,
|
|
6
6
|
Property,
|
|
7
7
|
PropertyAnnotationValue,
|
|
8
|
-
PropertyPath
|
|
9
|
-
TypeDefinition
|
|
8
|
+
PropertyPath
|
|
10
9
|
} from "@sap-ux/vocabularies-types";
|
|
11
10
|
import type { FilterFunctions } from "@sap-ux/vocabularies-types/vocabularies/Capabilities";
|
|
12
|
-
import type { EntitySetAnnotations_Capabilities } from "@sap-ux/vocabularies-types/vocabularies/Capabilities_Edm";
|
|
13
11
|
import type { SemanticKey } from "@sap-ux/vocabularies-types/vocabularies/Common";
|
|
14
12
|
import { CommonAnnotationTerms } from "@sap-ux/vocabularies-types/vocabularies/Common";
|
|
15
13
|
import type { EntitySetAnnotations_Common } from "@sap-ux/vocabularies-types/vocabularies/Common_Edm";
|
|
@@ -76,7 +74,14 @@ import {
|
|
|
76
74
|
} from "sap/fe/core/helpers/BindingToolkit";
|
|
77
75
|
import ModelHelper from "sap/fe/core/helpers/ModelHelper";
|
|
78
76
|
import { generate, replaceSpecialChars } from "sap/fe/core/helpers/StableIdHelper";
|
|
79
|
-
import
|
|
77
|
+
import * as TypeGuards from "sap/fe/core/helpers/TypeGuards";
|
|
78
|
+
import {
|
|
79
|
+
isAnnotationOfType,
|
|
80
|
+
isNavigationProperty,
|
|
81
|
+
isPathAnnotationExpression,
|
|
82
|
+
isProperty,
|
|
83
|
+
isTypeDefinition
|
|
84
|
+
} from "sap/fe/core/helpers/TypeGuards";
|
|
80
85
|
import type { DataModelObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
|
|
81
86
|
import {
|
|
82
87
|
enhanceDataModelPath,
|
|
@@ -91,9 +96,9 @@ import {
|
|
|
91
96
|
getAssociatedCurrencyProperty,
|
|
92
97
|
getAssociatedTimezoneProperty,
|
|
93
98
|
getAssociatedUnitProperty,
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
99
|
+
hasCurrency,
|
|
100
|
+
hasUnit,
|
|
101
|
+
isImageURL
|
|
97
102
|
} from "sap/fe/core/templating/PropertyHelper";
|
|
98
103
|
import { isMultiValueField } from "sap/fe/core/templating/UIFormatters";
|
|
99
104
|
import type { DefaultTypeForEdmType } from "sap/fe/core/type/EDM";
|
|
@@ -130,7 +135,6 @@ import { getMessageTypeFromCriticalityType } from "./Criticality";
|
|
|
130
135
|
import type { StandardActionConfigType } from "./table/StandardActions";
|
|
131
136
|
import {
|
|
132
137
|
generateStandardActionsContext,
|
|
133
|
-
getCreateVisibility,
|
|
134
138
|
getCreationRow,
|
|
135
139
|
getDeleteVisibility,
|
|
136
140
|
getInsertUpdateActionsTemplating,
|
|
@@ -138,6 +142,7 @@ import {
|
|
|
138
142
|
getRestrictions,
|
|
139
143
|
getStandardActionCreate,
|
|
140
144
|
getStandardActionDelete,
|
|
145
|
+
getStandardActionInsights,
|
|
141
146
|
getStandardActionMassEdit,
|
|
142
147
|
getStandardActionPaste,
|
|
143
148
|
isDraftOrStickySupported,
|
|
@@ -209,12 +214,9 @@ export type TableCapabilityRestriction = {
|
|
|
209
214
|
};
|
|
210
215
|
|
|
211
216
|
export type TableFiltersConfiguration = {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
annotationPath: string;
|
|
216
|
-
}
|
|
217
|
-
];
|
|
217
|
+
paths: {
|
|
218
|
+
annotationPath: string;
|
|
219
|
+
}[];
|
|
218
220
|
showCounts?: boolean;
|
|
219
221
|
};
|
|
220
222
|
|
|
@@ -230,10 +232,11 @@ export type TableControlConfiguration = {
|
|
|
230
232
|
customValidationFunction: string | undefined;
|
|
231
233
|
useCondensedTableLayout: boolean;
|
|
232
234
|
enableExport: boolean;
|
|
235
|
+
frozenColumnCount?: number;
|
|
233
236
|
headerVisible: boolean;
|
|
234
237
|
filters?: Record<string, TableFiltersConfiguration>;
|
|
235
238
|
type: TableType;
|
|
236
|
-
rowCountMode?:
|
|
239
|
+
rowCountMode?: TableRowCountMode;
|
|
237
240
|
rowCount?: number;
|
|
238
241
|
selectAll?: boolean;
|
|
239
242
|
selectionLimit: number;
|
|
@@ -248,10 +251,11 @@ export type TableControlConfiguration = {
|
|
|
248
251
|
dataStateIndicatorFilter: string | undefined;
|
|
249
252
|
isCompactType?: boolean;
|
|
250
253
|
hierarchyQualifier?: string;
|
|
254
|
+
enableAddCardToInsights?: boolean | undefined;
|
|
251
255
|
};
|
|
252
256
|
|
|
253
257
|
export type TableType = "GridTable" | "ResponsiveTable" | "AnalyticalTable" | "TreeTable";
|
|
254
|
-
export type
|
|
258
|
+
export type TableRowCountMode = "Auto" | "Fixed";
|
|
255
259
|
|
|
256
260
|
enum ColumnType {
|
|
257
261
|
Default = "Default", // Default Type (Custom Column)
|
|
@@ -278,6 +282,8 @@ export type BaseTableColumn = ConfigurableObject & {
|
|
|
278
282
|
availability?: AvailabilityType;
|
|
279
283
|
isNavigable?: boolean;
|
|
280
284
|
caseSensitive: boolean;
|
|
285
|
+
isInsightsSupported?: boolean;
|
|
286
|
+
label?: string;
|
|
281
287
|
};
|
|
282
288
|
|
|
283
289
|
// Properties on Custom Columns and Slot Columns
|
|
@@ -379,6 +385,7 @@ export type AnnotationTableColumn = AnnotationTableColumnForOverride & {
|
|
|
379
385
|
exportDataPointTargetValue?: string;
|
|
380
386
|
aggregatable?: boolean;
|
|
381
387
|
extension?: ExtensionForAnalytics;
|
|
388
|
+
isInsightsSupported?: boolean;
|
|
382
389
|
};
|
|
383
390
|
|
|
384
391
|
export type ExtensionForAnalytics = {
|
|
@@ -436,6 +443,7 @@ export type TableVisualization = {
|
|
|
436
443
|
headerInfoTypeName: PropertyAnnotationValue<String> | undefined;
|
|
437
444
|
enable$select: boolean;
|
|
438
445
|
enable$$getKeepAliveContext: boolean;
|
|
446
|
+
isInsightsEnabled?: boolean;
|
|
439
447
|
};
|
|
440
448
|
|
|
441
449
|
type SorterType = {
|
|
@@ -494,15 +502,17 @@ export function getTableActions(
|
|
|
494
502
|
* @param visualizationPath
|
|
495
503
|
* @param converterContext
|
|
496
504
|
* @param navigationSettings
|
|
505
|
+
* @param isInsightsEnabled
|
|
497
506
|
* @returns Returns all table columns that should be available, regardless of templating or personalization or their origin
|
|
498
507
|
*/
|
|
499
508
|
export function getTableColumns(
|
|
500
509
|
lineItemAnnotation: LineItem,
|
|
501
510
|
visualizationPath: string,
|
|
502
511
|
converterContext: ConverterContext,
|
|
503
|
-
navigationSettings?: NavigationSettingsConfiguration
|
|
512
|
+
navigationSettings?: NavigationSettingsConfiguration,
|
|
513
|
+
isInsightsEnabled?: boolean
|
|
504
514
|
): TableColumn[] {
|
|
505
|
-
const annotationColumns = getColumnsFromAnnotations(lineItemAnnotation, visualizationPath, converterContext);
|
|
515
|
+
const annotationColumns = getColumnsFromAnnotations(lineItemAnnotation, visualizationPath, converterContext, isInsightsEnabled);
|
|
506
516
|
const manifestColumns = getColumnsFromManifest(
|
|
507
517
|
converterContext.getManifestControlConfiguration(visualizationPath).columns,
|
|
508
518
|
annotationColumns,
|
|
@@ -657,7 +667,7 @@ export function updateTableVisualizationForType(
|
|
|
657
667
|
const aggregationHelper = new AggregationHelper(entityType, converterContext);
|
|
658
668
|
const allowedTransformations = aggregationHelper.getAllowedTransformations();
|
|
659
669
|
tableVisualization.enableBasicSearch = allowedTransformations ? allowedTransformations.includes("search") : true;
|
|
660
|
-
tableVisualization.enable$$getKeepAliveContext =
|
|
670
|
+
tableVisualization.enable$$getKeepAliveContext = true;
|
|
661
671
|
}
|
|
662
672
|
}
|
|
663
673
|
|
|
@@ -727,7 +737,7 @@ export function updateLinkedProperties(entityType: EntityType, tableColumns: Tab
|
|
|
727
737
|
|
|
728
738
|
const displayMode = getDisplayMode(oProperty),
|
|
729
739
|
textAnnotation = oProperty.annotations.Common?.Text;
|
|
730
|
-
if (
|
|
740
|
+
if (isPathAnnotationExpression(textAnnotation) && displayMode !== "Value") {
|
|
731
741
|
const oTextColumn = findColumnByPath(textAnnotation.path);
|
|
732
742
|
if (oTextColumn && oTextColumn.name !== oTableColumn.name) {
|
|
733
743
|
oTableColumn.textArrangement = {
|
|
@@ -762,7 +772,8 @@ export function createTableVisualization(
|
|
|
762
772
|
converterContext: ConverterContext,
|
|
763
773
|
presentationVariantAnnotation?: PresentationVariantType,
|
|
764
774
|
isCondensedTableLayoutCompliant?: boolean,
|
|
765
|
-
viewConfiguration?: ViewPathConfiguration
|
|
775
|
+
viewConfiguration?: ViewPathConfiguration,
|
|
776
|
+
isInsightsEnabled?: boolean
|
|
766
777
|
): TableVisualization {
|
|
767
778
|
const tableManifestConfig = getTableManifestConfiguration(
|
|
768
779
|
lineItemAnnotation,
|
|
@@ -773,7 +784,7 @@ export function createTableVisualization(
|
|
|
773
784
|
const { navigationPropertyPath } = splitPath(visualizationPath);
|
|
774
785
|
const navigationTargetPath = getNavigationTargetPath(converterContext, navigationPropertyPath);
|
|
775
786
|
const navigationSettings = converterContext.getManifestWrapper().getNavigationConfiguration(navigationTargetPath);
|
|
776
|
-
const columns = getTableColumns(lineItemAnnotation, visualizationPath, converterContext, navigationSettings);
|
|
787
|
+
const columns = getTableColumns(lineItemAnnotation, visualizationPath, converterContext, navigationSettings, isInsightsEnabled);
|
|
777
788
|
const operationAvailableMap = getOperationAvailableMap(lineItemAnnotation, converterContext);
|
|
778
789
|
const semanticKeysAndHeaderInfoTitle = getSemanticKeysAndTitleInfo(converterContext);
|
|
779
790
|
const tableActions = getTableActions(lineItemAnnotation, visualizationPath, converterContext, navigationSettings);
|
|
@@ -787,7 +798,8 @@ export function createTableVisualization(
|
|
|
787
798
|
tableManifestConfig,
|
|
788
799
|
columns,
|
|
789
800
|
presentationVariantAnnotation,
|
|
790
|
-
viewConfiguration
|
|
801
|
+
viewConfiguration,
|
|
802
|
+
isInsightsEnabled
|
|
791
803
|
),
|
|
792
804
|
control: tableManifestConfig,
|
|
793
805
|
actions: removeDuplicateActions(tableActions.actions),
|
|
@@ -862,7 +874,7 @@ function getCurrentEntitySetUpdatablePath(converterContext: ConverterContext): s
|
|
|
862
874
|
const updatable = restrictions.isUpdatable;
|
|
863
875
|
const isOnlyDynamicOnCurrentEntity = !isConstant(updatable.expression) && updatable.navigationExpression._type === "Unresolvable";
|
|
864
876
|
const updatableExpression = entitySet?.annotations.Capabilities?.UpdateRestrictions?.Updatable;
|
|
865
|
-
const updatablePropertyPath =
|
|
877
|
+
const updatablePropertyPath = isPathAnnotationExpression(updatableExpression) && updatableExpression.path;
|
|
866
878
|
|
|
867
879
|
return isOnlyDynamicOnCurrentEntity ? (updatablePropertyPath as string) : "";
|
|
868
880
|
}
|
|
@@ -962,7 +974,7 @@ function getBindingExpFromContext(
|
|
|
962
974
|
sExpression = (source as CustomAction)?.visible;
|
|
963
975
|
}
|
|
964
976
|
let sPath: string;
|
|
965
|
-
if (
|
|
977
|
+
if (isPathAnnotationExpression(sExpression)) {
|
|
966
978
|
sPath = sExpression.path;
|
|
967
979
|
} else {
|
|
968
980
|
sPath = sExpression as string;
|
|
@@ -976,7 +988,7 @@ function getBindingExpFromContext(
|
|
|
976
988
|
const aSplitPath = sPath.split("/");
|
|
977
989
|
const sNavigationPath = aSplitPath[0];
|
|
978
990
|
if (
|
|
979
|
-
contextDataModelObjectPath?.targetObject
|
|
991
|
+
isNavigationProperty(contextDataModelObjectPath?.targetObject) &&
|
|
980
992
|
contextDataModelObjectPath.targetObject.partner === sNavigationPath
|
|
981
993
|
) {
|
|
982
994
|
return pathInModel(aSplitPath.slice(1).join("/"));
|
|
@@ -1334,11 +1346,24 @@ function getTableAnnotationActions(lineItemAnnotation: LineItem, visualizationPa
|
|
|
1334
1346
|
) {
|
|
1335
1347
|
switch (dataField.$Type) {
|
|
1336
1348
|
case UIAnnotationTypes.DataFieldForAction:
|
|
1337
|
-
//
|
|
1338
|
-
//
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1349
|
+
// There are three cases when a table action has an OperationAvailable that leads to an enablement expression
|
|
1350
|
+
// and is not dependent upon the table entries.
|
|
1351
|
+
// 1. An action with an overload, that is executed against a parent entity.
|
|
1352
|
+
// 2. An unbound action
|
|
1353
|
+
// 3. A static action (that is, bound to a collection)
|
|
1354
|
+
let useEnabledExpression = false;
|
|
1355
|
+
if (dataField.ActionTarget?.annotations?.Core?.OperationAvailable !== undefined) {
|
|
1356
|
+
if (!dataField.ActionTarget?.isBound) {
|
|
1357
|
+
// Unbound action. Is recognised, but getExpressionFromAnnotation checks for isBound = true, so not generated.
|
|
1358
|
+
useEnabledExpression = true;
|
|
1359
|
+
} else if (dataField.ActionTarget?.isBound && dataField.ActionTarget?.sourceType !== sEntityType) {
|
|
1360
|
+
// Overload action
|
|
1361
|
+
useEnabledExpression = true;
|
|
1362
|
+
} else if (dataField.ActionTarget?.parameters[0].isCollection) {
|
|
1363
|
+
// Static action
|
|
1364
|
+
useEnabledExpression = true;
|
|
1365
|
+
}
|
|
1366
|
+
}
|
|
1342
1367
|
|
|
1343
1368
|
const tableAction: BaseAction = {
|
|
1344
1369
|
type: ActionType.DataFieldForAction,
|
|
@@ -1514,28 +1539,26 @@ const _getRowConfigurationProperty = function (
|
|
|
1514
1539
|
const targetEntityType = converterContext.getEntityType();
|
|
1515
1540
|
if (navigationSettings && lineItemAnnotation) {
|
|
1516
1541
|
navigationTarget = navigationSettings.display?.target || navigationSettings.detail?.outbound;
|
|
1542
|
+
const targetEntitySet = converterContext.getEntitySet();
|
|
1543
|
+
criticalityProperty = getHighlightRowBinding(
|
|
1544
|
+
lineItemAnnotation.annotations?.UI?.Criticality,
|
|
1545
|
+
!!ModelHelper.getDraftRoot(targetEntitySet) || !!ModelHelper.getDraftNode(targetEntitySet),
|
|
1546
|
+
targetEntityType
|
|
1547
|
+
);
|
|
1517
1548
|
if (navigationTarget) {
|
|
1518
1549
|
pressProperty =
|
|
1519
1550
|
".handlers.onChevronPressNavigateOutBound( $controller ,'" + navigationTarget + "', ${$parameters>bindingContext})";
|
|
1520
|
-
}
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
targetPath +
|
|
1532
|
-
"', editable : " +
|
|
1533
|
-
(ModelHelper.getDraftRoot(targetEntitySet) || ModelHelper.getDraftNode(targetEntitySet)
|
|
1534
|
-
? "!${$parameters>bindingContext}.getProperty('IsActiveEntity')"
|
|
1535
|
-
: "undefined") +
|
|
1536
|
-
(tableType === "AnalyticalTable" || tableType === "TreeTable" ? ", bRecreateContext: true" : "") +
|
|
1537
|
-
"})"; //Need to access to DraftRoot and DraftNode !!!!!!!
|
|
1538
|
-
}
|
|
1551
|
+
}
|
|
1552
|
+
if (!navigationTarget && navigationSettings.detail?.route) {
|
|
1553
|
+
pressProperty =
|
|
1554
|
+
"API.onTableRowPress($event, $controller, ${$parameters>bindingContext}, { callExtension: true, targetPath: '" +
|
|
1555
|
+
targetPath +
|
|
1556
|
+
"', editable : " +
|
|
1557
|
+
(ModelHelper.getDraftRoot(targetEntitySet) || ModelHelper.getDraftNode(targetEntitySet)
|
|
1558
|
+
? "!${$parameters>bindingContext}.getProperty('IsActiveEntity')"
|
|
1559
|
+
: "undefined") +
|
|
1560
|
+
(tableType === "AnalyticalTable" || tableType === "TreeTable" ? ", bRecreateContext: true" : "") +
|
|
1561
|
+
"})"; //Need to access to DraftRoot and DraftNode !!!!!!!
|
|
1539
1562
|
}
|
|
1540
1563
|
}
|
|
1541
1564
|
const rowNavigatedExpression: BindingToolkitExpression<boolean> = formatResult(
|
|
@@ -1610,15 +1633,6 @@ export const getColumnsFromEntityType = function (
|
|
|
1610
1633
|
textOnlyColumnsFromTextAnnotation
|
|
1611
1634
|
);
|
|
1612
1635
|
|
|
1613
|
-
const semanticKeys = converterContext.getAnnotationsByTerm("Common", CommonAnnotationTerms.SemanticKey, [
|
|
1614
|
-
converterContext.getEntityType()
|
|
1615
|
-
])[0];
|
|
1616
|
-
const oColumnDraftIndicator = getDefaultDraftIndicatorForColumn(columnInfo.name, semanticKeys, false, null);
|
|
1617
|
-
if (Object.keys(oColumnDraftIndicator).length > 0) {
|
|
1618
|
-
columnInfo.formatOptions = {
|
|
1619
|
-
...oColumnDraftIndicator
|
|
1620
|
-
};
|
|
1621
|
-
}
|
|
1622
1636
|
if (relatedPropertyNames.length > 0) {
|
|
1623
1637
|
columnInfo.propertyInfos = relatedPropertyNames;
|
|
1624
1638
|
columnInfo.exportSettings = {
|
|
@@ -2053,19 +2067,21 @@ const _createRelatedColumns = function (
|
|
|
2053
2067
|
if (relatedColumn === undefined) {
|
|
2054
2068
|
// Case 1: Key contains DataField prefix to ensure all property columns have the same key format.
|
|
2055
2069
|
// New created property column is set to hidden.
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2070
|
+
const column = getColumnDefinitionFromProperty(
|
|
2071
|
+
property,
|
|
2072
|
+
annotationPath,
|
|
2073
|
+
name,
|
|
2074
|
+
true,
|
|
2075
|
+
false,
|
|
2076
|
+
nonSortableColumns,
|
|
2077
|
+
aggregationHelper,
|
|
2078
|
+
converterContext,
|
|
2079
|
+
textOnlyColumnsFromTextAnnotation
|
|
2080
|
+
);
|
|
2081
|
+
column.isPartOfLineItem = existingColumns.some(
|
|
2082
|
+
(existingColumn) => existingColumn.propertyInfos?.includes(name) && existingColumn.isPartOfLineItem
|
|
2068
2083
|
);
|
|
2084
|
+
relatedColumns.push(column);
|
|
2069
2085
|
} else if (relatedColumn.annotationPath !== annotationPath || relatedColumn.propertyInfos) {
|
|
2070
2086
|
// Case 2: The existing column points to a LineItem (or)
|
|
2071
2087
|
// Case 3: This is a self reference from an existing column
|
|
@@ -2122,7 +2138,7 @@ const _createRelatedColumns = function (
|
|
|
2122
2138
|
*/
|
|
2123
2139
|
const _getAnnotationColumnName = function (dataField: DataFieldAbstractTypes) {
|
|
2124
2140
|
// This is needed as we have flexibility changes already that we have to check against
|
|
2125
|
-
if (isDataFieldTypes(dataField)) {
|
|
2141
|
+
if (isDataFieldTypes(dataField) && dataField.Value?.path) {
|
|
2126
2142
|
return dataField.Value?.path;
|
|
2127
2143
|
} else if (dataField.$Type === UIAnnotationTypes.DataFieldForAnnotation && (dataField.Target?.$target as DataPoint)?.Value?.path) {
|
|
2128
2144
|
// This is for removing duplicate properties. For example, 'Progress' Property is removed if it is already defined as a DataPoint
|
|
@@ -2245,7 +2261,7 @@ const _sliceAtSlash = function (path: string, isLastSlash: boolean, isLastPart:
|
|
|
2245
2261
|
* @returns True if the DataField corresponds to a multi-value field.
|
|
2246
2262
|
*/
|
|
2247
2263
|
const _isColumnMultiValued = function (dataField: DataFieldAbstractTypes, converterContext: ConverterContext): boolean {
|
|
2248
|
-
if (isDataFieldTypes(dataField) &&
|
|
2264
|
+
if (isDataFieldTypes(dataField) && isPathAnnotationExpression(dataField.Value)) {
|
|
2249
2265
|
const propertyObjectPath = enhanceDataModelPath(converterContext.getDataModelObjectPath(), dataField.Value.path);
|
|
2250
2266
|
return isMultiValueField(propertyObjectPath);
|
|
2251
2267
|
} else {
|
|
@@ -2283,11 +2299,14 @@ export const isFilteringCaseSensitive = function (converterContext: ConverterCon
|
|
|
2283
2299
|
};
|
|
2284
2300
|
|
|
2285
2301
|
function _getFilterFunctions(ConverterContext: ConverterContext): FilterFunctions | undefined {
|
|
2286
|
-
|
|
2287
|
-
|
|
2302
|
+
const entitySet = ConverterContext.getEntitySet();
|
|
2303
|
+
if (TypeGuards.isEntitySet(entitySet)) {
|
|
2304
|
+
return (
|
|
2305
|
+
entitySet.annotations.Capabilities?.FilterFunctions ??
|
|
2306
|
+
ConverterContext.getEntityContainer().annotations.Capabilities?.FilterFunctions
|
|
2307
|
+
);
|
|
2288
2308
|
}
|
|
2289
|
-
|
|
2290
|
-
return capabilities?.FilterFunctions || ConverterContext.getEntityContainer()?.annotations?.Capabilities?.FilterFunctions;
|
|
2309
|
+
return undefined;
|
|
2291
2310
|
}
|
|
2292
2311
|
|
|
2293
2312
|
/**
|
|
@@ -2338,7 +2357,15 @@ function _findProperties(semanticKeyValues: string[], fieldGroupProperties: stri
|
|
|
2338
2357
|
};
|
|
2339
2358
|
}
|
|
2340
2359
|
|
|
2360
|
+
/**
|
|
2361
|
+
* Find the first property in the fieldGroup that is part of the semantic keys.
|
|
2362
|
+
*
|
|
2363
|
+
* @param dataFieldGroup
|
|
2364
|
+
* @param semanticKeyValues
|
|
2365
|
+
* @returns An object containing a flag true if a property is found and a propertyPath.
|
|
2366
|
+
*/
|
|
2341
2367
|
function _findSemanticKeyValuesInFieldGroup(dataFieldGroup: DataFieldAbstractTypes | null, semanticKeyValues: string[]) {
|
|
2368
|
+
// this info is used in FieldlHelper#isDraftIndicatorVisibleInFieldGroup to show a draft indicator at the end of a field group
|
|
2342
2369
|
const aProperties: string[] = [];
|
|
2343
2370
|
let _propertiesFound: { semanticKeyHasPropertyInFieldGroup: boolean; fieldGroupPropertyPath?: string } = {
|
|
2344
2371
|
semanticKeyHasPropertyInFieldGroup: false,
|
|
@@ -2379,33 +2406,31 @@ function getDefaultDraftIndicatorForColumn(
|
|
|
2379
2406
|
semanticKeys: SemanticKey,
|
|
2380
2407
|
isFieldGroupColumn: boolean,
|
|
2381
2408
|
dataFieldGroup: DataFieldAbstractTypes | null
|
|
2382
|
-
) {
|
|
2409
|
+
): Partial<{
|
|
2410
|
+
fieldGroupDraftIndicatorPropertyPath: string;
|
|
2411
|
+
fieldGroupName: string;
|
|
2412
|
+
showErrorObjectStatus: CompiledBindingToolkitExpression;
|
|
2413
|
+
hasDraftIndicator: boolean;
|
|
2414
|
+
}> {
|
|
2383
2415
|
if (!semanticKeys) {
|
|
2384
2416
|
return {};
|
|
2385
2417
|
}
|
|
2386
2418
|
const semanticKey = _findSemanticKeyValues(semanticKeys, name);
|
|
2387
2419
|
const semanticKeyInFieldGroup = _findSemanticKeyValuesInFieldGroup(dataFieldGroup, semanticKey.values);
|
|
2388
|
-
if (
|
|
2389
|
-
const formatOptionsObj: FormatOptionsType = {
|
|
2390
|
-
hasDraftIndicator: true,
|
|
2391
|
-
semantickeys: semanticKey.values,
|
|
2392
|
-
objectStatusTextVisibility: compileExpression(getRowStatusVisibility(name, false))
|
|
2393
|
-
};
|
|
2394
|
-
if (isFieldGroupColumn && semanticKeyInFieldGroup.semanticKeyHasPropertyInFieldGroup) {
|
|
2395
|
-
formatOptionsObj.objectStatusTextVisibility = compileExpression(getRowStatusVisibility(name, true));
|
|
2396
|
-
formatOptionsObj.fieldGroupDraftIndicatorPropertyPath = semanticKeyInFieldGroup.propertyPath;
|
|
2397
|
-
}
|
|
2398
|
-
return formatOptionsObj;
|
|
2399
|
-
} else if (!semanticKeyInFieldGroup.semanticKeyHasPropertyInFieldGroup) {
|
|
2400
|
-
return {};
|
|
2401
|
-
} else {
|
|
2420
|
+
if (semanticKeyInFieldGroup.semanticKeyHasPropertyInFieldGroup) {
|
|
2402
2421
|
// Semantic Key has a property in a FieldGroup
|
|
2403
2422
|
return {
|
|
2423
|
+
//TODO we should rather store hasSemanticKeyInFieldGroup
|
|
2404
2424
|
fieldGroupDraftIndicatorPropertyPath: semanticKeyInFieldGroup.propertyPath,
|
|
2405
|
-
fieldGroupName: name
|
|
2406
|
-
|
|
2425
|
+
fieldGroupName: name
|
|
2426
|
+
};
|
|
2427
|
+
} else if (semanticKey.semanticKeyFound) {
|
|
2428
|
+
return {
|
|
2429
|
+
hasDraftIndicator: true,
|
|
2430
|
+
showErrorObjectStatus: compileExpression(getRowStatusVisibility(name, false))
|
|
2407
2431
|
};
|
|
2408
2432
|
}
|
|
2433
|
+
return {};
|
|
2409
2434
|
}
|
|
2410
2435
|
|
|
2411
2436
|
function _getImpNumber(dataField: DataFieldTypes): number {
|
|
@@ -2506,18 +2531,49 @@ export function getImportance(dataField: DataFieldAbstractTypes | undefined, sem
|
|
|
2506
2531
|
: _getDataFieldImportance(dataField as unknown as DataFieldTypes);
|
|
2507
2532
|
}
|
|
2508
2533
|
|
|
2534
|
+
/**
|
|
2535
|
+
* Checks if displaying of the column is supported for an insights card.
|
|
2536
|
+
*
|
|
2537
|
+
* @param dataField
|
|
2538
|
+
* @param sLabel
|
|
2539
|
+
* @param converterContext
|
|
2540
|
+
* @param isMultiValue
|
|
2541
|
+
* @returns True if displaying of the column is supported for an insights card.
|
|
2542
|
+
*/
|
|
2543
|
+
const checkIfColumnIsSupportedForInsights = function (
|
|
2544
|
+
dataField: DataFieldAbstractTypes,
|
|
2545
|
+
sLabel: string | undefined,
|
|
2546
|
+
converterContext: ConverterContext,
|
|
2547
|
+
isMultiValue: boolean
|
|
2548
|
+
) {
|
|
2549
|
+
const annotationPath = converterContext.getEntitySetBasedAnnotationPath(dataField.fullyQualifiedName);
|
|
2550
|
+
|
|
2551
|
+
if (sLabel && sLabel !== "" && annotationPath.indexOf("@com.sap.vocabularies.UI.v1.LineItem") !== -1 && isDataFieldTypes(dataField)) {
|
|
2552
|
+
// include only those columns that are annotated as part of the table (skip entity props)
|
|
2553
|
+
|
|
2554
|
+
const isMeasureBasedColumn = hasUnit(dataField.Value.$target) || hasCurrency(dataField.Value.$target);
|
|
2555
|
+
const isImageColumn = dataField.Value?.$target ? isImageURL(dataField.Value.$target) : false;
|
|
2556
|
+
|
|
2557
|
+
return !isMultiValue && !isImageColumn && !isMeasureBasedColumn;
|
|
2558
|
+
}
|
|
2559
|
+
|
|
2560
|
+
return false;
|
|
2561
|
+
};
|
|
2562
|
+
|
|
2509
2563
|
/**
|
|
2510
2564
|
* Returns line items from metadata annotations.
|
|
2511
2565
|
*
|
|
2512
2566
|
* @param lineItemAnnotation Collection of data fields with their annotations
|
|
2513
2567
|
* @param visualizationPath The visualization path
|
|
2514
2568
|
* @param converterContext The converter context
|
|
2569
|
+
* @param isInsightsEnabled
|
|
2515
2570
|
* @returns The columns from the annotations
|
|
2516
2571
|
*/
|
|
2517
2572
|
const getColumnsFromAnnotations = function (
|
|
2518
2573
|
lineItemAnnotation: LineItem,
|
|
2519
2574
|
visualizationPath: string,
|
|
2520
|
-
converterContext: ConverterContext
|
|
2575
|
+
converterContext: ConverterContext,
|
|
2576
|
+
isInsightsEnabled?: boolean
|
|
2521
2577
|
): AnnotationTableColumn[] {
|
|
2522
2578
|
const entityType = converterContext.getAnnotationEntityType(lineItemAnnotation),
|
|
2523
2579
|
annotationColumns: AnnotationTableColumn[] = [],
|
|
@@ -2535,6 +2591,7 @@ const getColumnsFromAnnotations = function (
|
|
|
2535
2591
|
);
|
|
2536
2592
|
|
|
2537
2593
|
lineItemAnnotation.forEach((lineItem) => {
|
|
2594
|
+
// TODO: variable name should be datafield and not lineItem
|
|
2538
2595
|
if (!_isValidColumn(lineItem)) {
|
|
2539
2596
|
return;
|
|
2540
2597
|
}
|
|
@@ -2544,16 +2601,15 @@ const getColumnsFromAnnotations = function (
|
|
|
2544
2601
|
? getSemanticObjectPath(converterContext, lineItem)
|
|
2545
2602
|
: undefined;
|
|
2546
2603
|
const relativePath = _getRelativePath(lineItem);
|
|
2547
|
-
|
|
2548
2604
|
// Determine properties which are consumed by this LineItem.
|
|
2549
2605
|
const relatedPropertiesInfo: ComplexPropertyInfo = collectRelatedPropertiesRecursively(lineItem, converterContext, tableType);
|
|
2550
2606
|
const relatedPropertyNames: string[] = Object.keys(relatedPropertiesInfo.properties);
|
|
2551
2607
|
const additionalPropertyNames: string[] = Object.keys(relatedPropertiesInfo.additionalProperties);
|
|
2552
|
-
const groupPath: string = _sliceAtSlash(relativePath, true, false);
|
|
2608
|
+
const groupPath: string | undefined = relativePath ? _sliceAtSlash(relativePath, true, false) : undefined;
|
|
2553
2609
|
const isGroup: boolean = groupPath != relativePath;
|
|
2554
2610
|
const sLabel: string | undefined = getLabel(lineItem, isGroup);
|
|
2555
2611
|
const name = _getAnnotationColumnName(lineItem);
|
|
2556
|
-
const isFieldGroupColumn: boolean = groupPath.indexOf(`@${UIAnnotationTerms.FieldGroup}`) > -1;
|
|
2612
|
+
const isFieldGroupColumn: boolean = groupPath ? groupPath.indexOf(`@${UIAnnotationTerms.FieldGroup}`) > -1 : false;
|
|
2557
2613
|
const showDataFieldsLabel: boolean = isFieldGroupColumn
|
|
2558
2614
|
? _getShowDataFieldsLabel(name, visualizationPath, converterContext)
|
|
2559
2615
|
: false;
|
|
@@ -2611,6 +2667,8 @@ const getColumnsFromAnnotations = function (
|
|
|
2611
2667
|
}
|
|
2612
2668
|
const isMultiValue = _isColumnMultiValued(lineItem, tableConverterContext);
|
|
2613
2669
|
const sortable = !isMultiValue && _isColumnSortable(lineItem, relativePath, nonSortableColumns);
|
|
2670
|
+
const tableManifestConfig = converterContext.getManifestControlConfiguration(visualizationPath);
|
|
2671
|
+
const enableAddCardToInsights = tableManifestConfig.tableSettings?.enableAddCardToInsights ?? true;
|
|
2614
2672
|
const column: AnnotationTableColumn = {
|
|
2615
2673
|
key: KeyHelper.generateKeyFromDataField(lineItem),
|
|
2616
2674
|
type: ColumnType.Annotation,
|
|
@@ -2638,6 +2696,10 @@ const getColumnsFromAnnotations = function (
|
|
|
2638
2696
|
timezoneText: exportSettings?.timezone,
|
|
2639
2697
|
isPartOfLineItem: true
|
|
2640
2698
|
};
|
|
2699
|
+
column.isInsightsSupported =
|
|
2700
|
+
enableAddCardToInsights === true &&
|
|
2701
|
+
isInsightsEnabled === true &&
|
|
2702
|
+
checkIfColumnIsSupportedForInsights(lineItem, sLabel, converterContext, isMultiValue);
|
|
2641
2703
|
const sTooltip = _getTooltip(lineItem);
|
|
2642
2704
|
if (sTooltip) {
|
|
2643
2705
|
column.tooltip = sTooltip;
|
|
@@ -3132,7 +3194,8 @@ export function getTableAnnotationConfiguration(
|
|
|
3132
3194
|
tableManifestConfiguration: TableControlConfiguration,
|
|
3133
3195
|
columns: TableColumn[],
|
|
3134
3196
|
presentationVariantAnnotation?: PresentationVariantType,
|
|
3135
|
-
viewConfiguration?: ViewPathConfiguration
|
|
3197
|
+
viewConfiguration?: ViewPathConfiguration,
|
|
3198
|
+
isInsightsEnabled?: boolean
|
|
3136
3199
|
): TableAnnotationConfiguration {
|
|
3137
3200
|
// Need to get the target
|
|
3138
3201
|
const { navigationPropertyPath } = splitPath(visualizationPath);
|
|
@@ -3157,17 +3220,13 @@ export function getTableAnnotationConfiguration(
|
|
|
3157
3220
|
converterContext,
|
|
3158
3221
|
creationBehaviour.mode as CreationMode,
|
|
3159
3222
|
tableManifestConfiguration,
|
|
3160
|
-
viewConfiguration
|
|
3223
|
+
viewConfiguration,
|
|
3224
|
+
isInsightsEnabled
|
|
3161
3225
|
);
|
|
3162
3226
|
|
|
3163
3227
|
const deleteButtonVisibilityExpression = getDeleteVisibility(converterContext, standardActionsContext);
|
|
3164
|
-
const createButtonVisibilityExpression = getCreateVisibility(converterContext, standardActionsContext);
|
|
3165
3228
|
const massEditButtonVisibilityExpression = getMassEditVisibility(converterContext, standardActionsContext);
|
|
3166
|
-
const isInsertUpdateTemplated = getInsertUpdateActionsTemplating(
|
|
3167
|
-
standardActionsContext,
|
|
3168
|
-
isDraftOrStickySupported(converterContext),
|
|
3169
|
-
compileExpression(createButtonVisibilityExpression) === "false"
|
|
3170
|
-
);
|
|
3229
|
+
const isInsertUpdateTemplated = getInsertUpdateActionsTemplating(standardActionsContext, isDraftOrStickySupported(converterContext));
|
|
3171
3230
|
|
|
3172
3231
|
const selectionMode = getSelectionMode(
|
|
3173
3232
|
lineItemAnnotation,
|
|
@@ -3190,6 +3249,7 @@ export function getTableAnnotationConfiguration(
|
|
|
3190
3249
|
delete: getStandardActionDelete(converterContext, standardActionsContext),
|
|
3191
3250
|
paste: getStandardActionPaste(converterContext, standardActionsContext, isInsertUpdateTemplated),
|
|
3192
3251
|
massEdit: getStandardActionMassEdit(converterContext, standardActionsContext),
|
|
3252
|
+
insights: getStandardActionInsights(converterContext, standardActionsContext, visualizationPath),
|
|
3193
3253
|
creationRow: getCreationRow(converterContext, standardActionsContext)
|
|
3194
3254
|
};
|
|
3195
3255
|
|
|
@@ -3360,12 +3420,12 @@ function _getTableType(
|
|
|
3360
3420
|
return tableType;
|
|
3361
3421
|
}
|
|
3362
3422
|
|
|
3363
|
-
function
|
|
3423
|
+
function _getTableMode(
|
|
3364
3424
|
tableType: TableType,
|
|
3365
3425
|
tableSettings: TableManifestSettingsConfiguration,
|
|
3366
3426
|
isTemplateListReport: boolean
|
|
3367
|
-
): { rowCountMode?:
|
|
3368
|
-
if (tableType
|
|
3427
|
+
): { rowCountMode?: TableRowCountMode; rowCount?: number } {
|
|
3428
|
+
if (tableType !== "ResponsiveTable") {
|
|
3369
3429
|
if (isTemplateListReport) {
|
|
3370
3430
|
return {
|
|
3371
3431
|
rowCountMode: "Auto",
|
|
@@ -3400,15 +3460,13 @@ function _getFilters(
|
|
|
3400
3460
|
tableSettings: TableManifestSettingsConfiguration,
|
|
3401
3461
|
quickFilterPaths: { annotationPath: string }[],
|
|
3402
3462
|
quickSelectionVariant: unknown,
|
|
3403
|
-
path: { annotationPath: string }
|
|
3404
|
-
converterContext: ConverterContext
|
|
3463
|
+
path: { annotationPath: string }
|
|
3405
3464
|
) {
|
|
3406
3465
|
if (quickSelectionVariant) {
|
|
3407
3466
|
quickFilterPaths.push({ annotationPath: path.annotationPath });
|
|
3408
3467
|
}
|
|
3409
3468
|
return {
|
|
3410
3469
|
quickFilters: {
|
|
3411
|
-
enabled: converterContext.getTemplateType() !== TemplateType.ListReport,
|
|
3412
3470
|
showCounts: tableSettings?.quickVariantSelection?.showCounts,
|
|
3413
3471
|
paths: quickFilterPaths
|
|
3414
3472
|
}
|
|
@@ -3425,6 +3483,10 @@ function _getEnableExport(
|
|
|
3425
3483
|
: converterContext.getTemplateType() !== "ObjectPage" || enablePaste;
|
|
3426
3484
|
}
|
|
3427
3485
|
|
|
3486
|
+
function _getFrozenColumnCount(tableSettings: TableManifestSettingsConfiguration): number | undefined {
|
|
3487
|
+
return tableSettings.frozenColumnCount;
|
|
3488
|
+
}
|
|
3489
|
+
|
|
3428
3490
|
function _getFilterConfiguration(
|
|
3429
3491
|
tableSettings: TableManifestSettingsConfiguration,
|
|
3430
3492
|
lineItemAnnotation: LineItem | undefined,
|
|
@@ -3439,7 +3501,7 @@ function _getFilterConfiguration(
|
|
|
3439
3501
|
let filters;
|
|
3440
3502
|
tableSettings?.quickVariantSelection?.paths?.forEach((path: { annotationPath: string }) => {
|
|
3441
3503
|
quickSelectionVariant = targetEntityType.resolvePath(path.annotationPath);
|
|
3442
|
-
filters = _getFilters(tableSettings, quickFilterPaths, quickSelectionVariant, path
|
|
3504
|
+
filters = _getFilters(tableSettings, quickFilterPaths, quickSelectionVariant, path);
|
|
3443
3505
|
});
|
|
3444
3506
|
|
|
3445
3507
|
let hideTableTitle = false;
|
|
@@ -3482,7 +3544,7 @@ export function getTableManifestConfiguration(
|
|
|
3482
3544
|
const entityType = converterContext.getEntityType();
|
|
3483
3545
|
const aggregationHelper = new AggregationHelper(entityType, converterContext);
|
|
3484
3546
|
const tableType: TableType = _getTableType(tableSettings, aggregationHelper, converterContext);
|
|
3485
|
-
const
|
|
3547
|
+
const tableRowMode = _getTableMode(tableType, tableSettings, templateType === TemplateType.ListReport);
|
|
3486
3548
|
const condensedTableLayout = _getCondensedTableLayout(tableType, tableSettings);
|
|
3487
3549
|
const oConfiguration = {
|
|
3488
3550
|
// If no createAtEnd is specified it will be false for Inline create and true otherwise
|
|
@@ -3497,8 +3559,10 @@ export function getTableManifestConfiguration(
|
|
|
3497
3559
|
disableAddRowButtonForEmptyData: !customValidationFunction ? !!tableSettings.creationMode?.disableAddRowButtonForEmptyData : false,
|
|
3498
3560
|
enableAutoColumnWidth: enableAutoColumnWidth,
|
|
3499
3561
|
enableExport: _getEnableExport(tableSettings, converterContext, enablePaste),
|
|
3562
|
+
frozenColumnCount: _getFrozenColumnCount(tableSettings),
|
|
3500
3563
|
enableFullScreen: _getFullScreenBasedOnDevice(tableSettings, converterContext, _manifestWrapper.isPhone()),
|
|
3501
3564
|
enableMassEdit: tableSettings?.enableMassEdit,
|
|
3565
|
+
enableAddCardToInsights: tableSettings?.enableAddCardToInsights,
|
|
3502
3566
|
enablePaste: enablePaste,
|
|
3503
3567
|
headerVisible: true,
|
|
3504
3568
|
multiSelectMode: _getMultiSelectMode(tableSettings, tableType, converterContext),
|
|
@@ -3511,7 +3575,7 @@ export function getTableManifestConfiguration(
|
|
|
3511
3575
|
isCompactType: _manifestWrapper.isCompactType()
|
|
3512
3576
|
};
|
|
3513
3577
|
|
|
3514
|
-
const tableConfiguration: TableControlConfiguration = { ...oConfiguration, ...
|
|
3578
|
+
const tableConfiguration: TableControlConfiguration = { ...oConfiguration, ...tableRowMode, ...oFilterConfiguration };
|
|
3515
3579
|
|
|
3516
3580
|
if (tableType === "TreeTable") {
|
|
3517
3581
|
tableConfiguration.hierarchyQualifier = tableSettings.hierarchyQualifier;
|
|
@@ -3521,16 +3585,22 @@ export function getTableManifestConfiguration(
|
|
|
3521
3585
|
}
|
|
3522
3586
|
|
|
3523
3587
|
export function getTypeConfig(oProperty: Property | DataFieldAbstractTypes, dataType: string | undefined): PropertyTypeConfig {
|
|
3524
|
-
let oTargetMapping
|
|
3525
|
-
if (
|
|
3526
|
-
oTargetMapping =
|
|
3588
|
+
let oTargetMapping;
|
|
3589
|
+
if (isProperty(oProperty)) {
|
|
3590
|
+
oTargetMapping = isTypeDefinition(oProperty.targetType)
|
|
3591
|
+
? EDM_TYPE_MAPPING[oProperty.targetType.underlyingType]
|
|
3592
|
+
: EDM_TYPE_MAPPING[oProperty.type];
|
|
3593
|
+
}
|
|
3594
|
+
if (oTargetMapping === undefined && dataType !== undefined) {
|
|
3595
|
+
oTargetMapping = EDM_TYPE_MAPPING[dataType];
|
|
3527
3596
|
}
|
|
3597
|
+
|
|
3528
3598
|
const propertyTypeConfig: PropertyTypeConfig = {
|
|
3529
3599
|
type: oTargetMapping?.type,
|
|
3530
3600
|
constraints: {},
|
|
3531
3601
|
formatOptions: {}
|
|
3532
3602
|
};
|
|
3533
|
-
if (isProperty(oProperty)) {
|
|
3603
|
+
if (isProperty(oProperty) && oTargetMapping !== undefined) {
|
|
3534
3604
|
propertyTypeConfig.constraints = {
|
|
3535
3605
|
scale: oTargetMapping.constraints?.$Scale ? oProperty.scale : undefined,
|
|
3536
3606
|
precision: oTargetMapping.constraints?.$Precision ? oProperty.precision : undefined,
|