@sapui5/sap.fe.core 1.99.0 → 1.100.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 +4 -2
- package/src/sap/fe/core/.library +1 -1
- package/src/sap/fe/core/AnnotationHelper.js +1 -69
- package/src/sap/fe/core/AnnotationHelper.ts +0 -70
- package/src/sap/fe/core/AppComponent.js +388 -399
- package/src/sap/fe/core/AppComponent.ts +403 -0
- package/src/sap/fe/core/AppStateHandler.js +127 -158
- package/src/sap/fe/core/BaseController.js +82 -58
- package/src/sap/fe/core/BaseController.ts +68 -0
- package/src/sap/fe/core/CommonUtils.js +111 -20
- package/src/sap/fe/core/CommonUtils.ts +131 -32
- package/src/sap/fe/core/ExtensionAPI.js +278 -274
- package/src/sap/fe/core/ExtensionAPI.ts +250 -0
- package/src/sap/fe/core/PageController.js +157 -29
- package/src/sap/fe/core/PageController.ts +60 -32
- package/src/sap/fe/core/RouterProxy.js +694 -756
- package/src/sap/fe/core/RouterProxy.ts +11 -9
- package/src/sap/fe/core/Synchronization.js +21 -31
- package/src/sap/fe/core/TemplateComponent.js +1 -1
- package/src/sap/fe/core/TemplateComponent.ts +10 -3
- package/src/sap/fe/core/TemplateModel.js +20 -38
- package/src/sap/fe/core/TemplateModel.ts +1 -1
- package/src/sap/fe/core/TransactionHelper.js +1354 -1370
- package/src/sap/fe/core/TransactionHelper.ts +33 -22
- package/src/sap/fe/core/actions/collaboration/ActivitySync.js +392 -0
- package/src/sap/fe/core/actions/collaboration/ActivitySync.ts +355 -0
- package/src/sap/fe/core/actions/collaboration/CollaborationCommon.js +136 -0
- package/src/sap/fe/core/actions/collaboration/CollaborationCommon.ts +119 -0
- package/src/sap/fe/core/actions/collaboration/Manage.js +262 -0
- package/src/sap/fe/core/actions/collaboration/Manage.ts +244 -0
- package/src/sap/fe/core/actions/collaboration/ManageDialog.fragment.xml +103 -0
- package/src/sap/fe/core/actions/collaboration/UserDetails.fragment.xml +13 -0
- package/src/sap/fe/core/actions/draft.js +30 -68
- package/src/sap/fe/core/actions/draft.ts +44 -71
- package/src/sap/fe/core/actions/messageHandling.js +55 -36
- package/src/sap/fe/core/actions/messageHandling.ts +66 -46
- package/src/sap/fe/core/actions/operations.js +34 -15
- package/src/sap/fe/core/actions/operations.ts +48 -18
- package/src/sap/fe/core/actions/sticky.js +17 -4
- package/src/sap/fe/core/actions/sticky.ts +21 -4
- package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +69 -66
- package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.ts +65 -0
- package/src/sap/fe/core/controllerextensions/EditFlow.js +1593 -1669
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +1672 -0
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +79 -54
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +61 -0
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +718 -779
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +783 -0
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +796 -816
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +803 -0
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +1004 -1005
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +978 -0
- package/src/sap/fe/core/controllerextensions/KPIManagement.js +487 -521
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +2 -2
- package/src/sap/fe/core/controllerextensions/MassEdit.js +141 -169
- package/src/sap/fe/core/controllerextensions/MassEdit.ts +156 -0
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +233 -244
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +225 -0
- package/src/sap/fe/core/controllerextensions/PageReady.js +301 -336
- package/src/sap/fe/core/controllerextensions/PageReady.ts +12 -10
- package/src/sap/fe/core/controllerextensions/Paginator.js +188 -175
- package/src/sap/fe/core/controllerextensions/Paginator.ts +163 -0
- package/src/sap/fe/core/controllerextensions/Placeholder.js +157 -149
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +151 -0
- package/src/sap/fe/core/controllerextensions/Routing.js +144 -125
- package/src/sap/fe/core/controllerextensions/Routing.ts +132 -0
- package/src/sap/fe/core/controllerextensions/RoutingListener.js +7 -6
- package/src/sap/fe/core/controllerextensions/RoutingListener.ts +3 -0
- package/src/sap/fe/core/controllerextensions/Share.js +230 -268
- package/src/sap/fe/core/controllerextensions/Share.ts +231 -0
- package/src/sap/fe/core/controllerextensions/SideEffects.js +592 -633
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +8 -7
- package/src/sap/fe/core/controllerextensions/ViewState.js +788 -806
- package/src/sap/fe/core/controllerextensions/ViewState.ts +805 -0
- package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -2
- package/src/sap/fe/core/controls/ActionPartial.fragment.xml +2 -2
- package/src/sap/fe/core/controls/CommandExecution.js +67 -66
- package/src/sap/fe/core/controls/CommandExecution.ts +72 -0
- package/src/sap/fe/core/controls/ConditionalWrapper.js +90 -75
- package/src/sap/fe/core/controls/ConditionalWrapper.ts +83 -0
- package/src/sap/fe/core/controls/CustomQuickViewPage.js +130 -125
- package/src/sap/fe/core/controls/CustomQuickViewPage.ts +126 -0
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +103 -112
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +101 -0
- package/src/sap/fe/core/controls/FieldWrapper.js +122 -135
- package/src/sap/fe/core/controls/FieldWrapper.ts +115 -0
- package/src/sap/fe/core/controls/FilterBar.js +162 -159
- package/src/sap/fe/core/controls/FilterBar.ts +143 -0
- package/src/sap/fe/core/controls/FormElementWrapper.js +45 -39
- package/src/sap/fe/core/controls/FormElementWrapper.ts +40 -0
- package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +37 -42
- package/src/sap/fe/core/controls/MultiValueParameterDelegate.ts +31 -0
- package/src/sap/fe/core/controls/filterbar/FilterContainer.js +126 -116
- package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +98 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js +241 -255
- package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +245 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +150 -141
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +125 -0
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +335 -322
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +337 -0
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +74 -74
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +70 -0
- package/src/sap/fe/core/converters/ConverterContext.js +348 -379
- package/src/sap/fe/core/converters/ConverterContext.ts +19 -16
- package/src/sap/fe/core/converters/ManifestSettings.js +12 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +12 -1
- package/src/sap/fe/core/converters/ManifestWrapper.js +354 -378
- package/src/sap/fe/core/converters/ManifestWrapper.ts +10 -0
- package/src/sap/fe/core/converters/MetaModelConverter.js +6 -4
- package/src/sap/fe/core/converters/MetaModelConverter.ts +5 -2
- package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
- package/src/sap/fe/core/converters/TemplateConverter.ts +2 -1
- package/src/sap/fe/core/converters/annotations/DataField.js +26 -12
- package/src/sap/fe/core/converters/annotations/DataField.ts +37 -13
- package/src/sap/fe/core/converters/controls/Common/Form.js +2 -2
- package/src/sap/fe/core/converters/controls/Common/Form.ts +4 -2
- package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +3 -2
- package/src/sap/fe/core/converters/controls/Common/Table.js +130 -23
- package/src/sap/fe/core/converters/controls/Common/Table.ts +134 -29
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +118 -53
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +156 -93
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +161 -207
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +148 -206
- package/src/sap/fe/core/converters/helpers/Aggregation.js +115 -133
- package/src/sap/fe/core/converters/helpers/BindingHelper.js +20 -6
- package/src/sap/fe/core/converters/helpers/BindingHelper.ts +16 -4
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +12 -1
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +11 -0
- package/src/sap/fe/core/converters/helpers/Key.js +42 -57
- package/src/sap/fe/core/converters/helpers/Key.ts +1 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +25 -4
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +20 -3
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +10 -4
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +15 -4
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +7 -5
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +5 -1
- package/src/sap/fe/core/designtime/AppComponent.designtime.js +92 -98
- package/src/sap/fe/core/designtime/AppComponent.designtime.ts +91 -0
- package/src/sap/fe/core/formatters/CollaborationFormatter.js +104 -0
- package/src/sap/fe/core/formatters/CollaborationFormatter.ts +60 -0
- package/src/sap/fe/core/formatters/TableFormatter.js +53 -2
- package/src/sap/fe/core/formatters/TableFormatter.ts +51 -0
- package/src/sap/fe/core/fpm/Component.js +50 -54
- package/src/sap/fe/core/fpm/Component.ts +48 -0
- package/src/sap/fe/core/helpers/AppStartupHelper.js +323 -309
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +363 -337
- package/src/sap/fe/core/helpers/BindingExpression.js +7 -7
- package/src/sap/fe/core/helpers/BindingExpression.ts +7 -7
- package/src/sap/fe/core/helpers/ClassSupport.js +186 -62
- package/src/sap/fe/core/helpers/ClassSupport.ts +168 -52
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +5 -4
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -5
- package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
- package/src/sap/fe/core/helpers/FPMHelper.ts +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper.js +601 -684
- package/src/sap/fe/core/helpers/MassEditHelper.ts +699 -0
- package/src/sap/fe/core/helpers/ModelHelper.js +25 -1
- package/src/sap/fe/core/helpers/ModelHelper.ts +23 -0
- package/src/sap/fe/core/helpers/SemanticDateOperators.js +5 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.ts +4 -0
- package/src/sap/fe/core/library.js +426 -451
- package/src/sap/fe/core/library.support.js +22 -33
- package/src/sap/fe/core/library.support.ts +23 -0
- package/src/sap/fe/core/library.ts +420 -0
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +5 -3
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +4 -1
- package/src/sap/fe/core/messagebundle.properties +22 -5
- package/src/sap/fe/core/messagebundle_ar.properties +27 -7
- package/src/sap/fe/core/messagebundle_bg.properties +27 -7
- package/src/sap/fe/core/messagebundle_ca.properties +27 -7
- package/src/sap/fe/core/messagebundle_cs.properties +27 -7
- package/src/sap/fe/core/messagebundle_cy.properties +27 -7
- package/src/sap/fe/core/messagebundle_da.properties +27 -7
- package/src/sap/fe/core/messagebundle_de.properties +27 -7
- package/src/sap/fe/core/messagebundle_el.properties +27 -7
- package/src/sap/fe/core/messagebundle_en.properties +27 -7
- package/src/sap/fe/core/messagebundle_en_GB.properties +27 -7
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +27 -7
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +27 -7
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +27 -7
- package/src/sap/fe/core/messagebundle_es.properties +27 -7
- package/src/sap/fe/core/messagebundle_es_MX.properties +27 -7
- package/src/sap/fe/core/messagebundle_et.properties +27 -7
- package/src/sap/fe/core/messagebundle_fi.properties +28 -8
- package/src/sap/fe/core/messagebundle_fr.properties +28 -8
- package/src/sap/fe/core/messagebundle_fr_CA.properties +29 -9
- package/src/sap/fe/core/messagebundle_hi.properties +27 -7
- package/src/sap/fe/core/messagebundle_hr.properties +27 -7
- package/src/sap/fe/core/messagebundle_hu.properties +27 -7
- package/src/sap/fe/core/messagebundle_id.properties +27 -7
- package/src/sap/fe/core/messagebundle_it.properties +27 -7
- package/src/sap/fe/core/messagebundle_iw.properties +27 -7
- package/src/sap/fe/core/messagebundle_ja.properties +26 -6
- package/src/sap/fe/core/messagebundle_kk.properties +27 -7
- package/src/sap/fe/core/messagebundle_ko.properties +27 -7
- package/src/sap/fe/core/messagebundle_lt.properties +27 -7
- package/src/sap/fe/core/messagebundle_lv.properties +28 -8
- package/src/sap/fe/core/messagebundle_ms.properties +27 -7
- package/src/sap/fe/core/messagebundle_nl.properties +27 -7
- package/src/sap/fe/core/messagebundle_no.properties +27 -7
- package/src/sap/fe/core/messagebundle_pl.properties +27 -7
- package/src/sap/fe/core/messagebundle_pt.properties +28 -8
- package/src/sap/fe/core/messagebundle_pt_PT.properties +27 -7
- package/src/sap/fe/core/messagebundle_ro.properties +27 -7
- package/src/sap/fe/core/messagebundle_ru.properties +27 -7
- package/src/sap/fe/core/messagebundle_sh.properties +27 -7
- package/src/sap/fe/core/messagebundle_sk.properties +27 -7
- package/src/sap/fe/core/messagebundle_sl.properties +27 -7
- package/src/sap/fe/core/messagebundle_sv.properties +27 -7
- package/src/sap/fe/core/messagebundle_th.properties +26 -6
- package/src/sap/fe/core/messagebundle_tr.properties +30 -10
- package/src/sap/fe/core/messagebundle_uk.properties +27 -7
- package/src/sap/fe/core/messagebundle_vi.properties +27 -7
- package/src/sap/fe/core/messagebundle_zh_CN.properties +27 -7
- package/src/sap/fe/core/messagebundle_zh_TW.properties +27 -7
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +45 -71
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +154 -192
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +4 -4
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +66 -92
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +1 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.js +284 -339
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +10 -13
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js +67 -102
- package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +5 -2
- package/src/sap/fe/core/services/RoutingServiceFactory.js +754 -814
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +13 -13
- package/src/sap/fe/core/services/ShellServicesFactory.js +649 -736
- package/src/sap/fe/core/services/ShellServicesFactory.ts +7 -4
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +567 -592
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +22 -3
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +354 -386
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +21 -14
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +1 -1
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +1 -1
- package/src/sap/fe/core/support/CommonHelper.js +1 -1
- package/src/sap/fe/core/support/CommonHelper.ts +1 -1
- package/src/sap/fe/core/support/Diagnostics.js +36 -48
- package/src/sap/fe/core/templating/DataModelPathHelper.js +93 -85
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +104 -95
- package/src/sap/fe/core/templating/FilterHelper.js +25 -32
- package/src/sap/fe/core/templating/FilterHelper.ts +36 -35
- package/src/sap/fe/core/templating/PropertyHelper.js +2 -2
- package/src/sap/fe/core/templating/PropertyHelper.ts +1 -1
- package/src/sap/fe/core/templating/UIFormatters.js +32 -26
- package/src/sap/fe/core/templating/UIFormatters.ts +37 -24
|
@@ -15,7 +15,8 @@ import {
|
|
|
15
15
|
PropertyPath,
|
|
16
16
|
SelectionVariantType,
|
|
17
17
|
SelectOptionType,
|
|
18
|
-
UIAnnotationTypes
|
|
18
|
+
UIAnnotationTypes,
|
|
19
|
+
FieldGroupType
|
|
19
20
|
} from "@sap-ux/vocabularies-types";
|
|
20
21
|
import {
|
|
21
22
|
ActionType,
|
|
@@ -23,6 +24,7 @@ import {
|
|
|
23
24
|
CreationMode,
|
|
24
25
|
FormatOptionsType,
|
|
25
26
|
HorizontalAlign,
|
|
27
|
+
Importance,
|
|
26
28
|
ManifestTableColumn,
|
|
27
29
|
NavigationSettingsConfiguration,
|
|
28
30
|
NavigationTargetConfiguration,
|
|
@@ -101,10 +103,10 @@ import { AggregationHelper } from "../../helpers/Aggregation";
|
|
|
101
103
|
import { DisplayMode, EDM_TYPE_MAPPING, getDisplayMode } from "sap/fe/core/templating/DisplayModeFormatter";
|
|
102
104
|
import { getMessageTypeFromCriticalityType } from "./Criticality";
|
|
103
105
|
import { FilterFunctions } from "@sap-ux/vocabularies-types/dist/generated/Capabilities";
|
|
106
|
+
import { SemanticKey } from "@sap-ux/vocabularies-types/types/generated/Common";
|
|
104
107
|
import { getNonSortablePropertiesRestrictions } from "sap/fe/core/templating/EntitySetHelper";
|
|
105
108
|
import {
|
|
106
109
|
generateStandardActionsContext,
|
|
107
|
-
isExternalCreateConfigured,
|
|
108
110
|
StandardActionConfigType,
|
|
109
111
|
getDeleteVisibility,
|
|
110
112
|
getStandardActionCreate,
|
|
@@ -116,7 +118,8 @@ import {
|
|
|
116
118
|
getCreateVisibility,
|
|
117
119
|
isInDisplayMode,
|
|
118
120
|
getMassEditVisibility,
|
|
119
|
-
getRestrictions
|
|
121
|
+
getRestrictions,
|
|
122
|
+
getCreationRow
|
|
120
123
|
} from "./table/StandardActions";
|
|
121
124
|
|
|
122
125
|
export type TableAnnotationConfiguration = {
|
|
@@ -147,7 +150,7 @@ export type TableAnnotationConfiguration = {
|
|
|
147
150
|
aggregateConditions?: string;
|
|
148
151
|
|
|
149
152
|
/** Create new entries */
|
|
150
|
-
create:
|
|
153
|
+
create: CreateBehavior | CreateBehaviorExternal;
|
|
151
154
|
title: string;
|
|
152
155
|
searchable: boolean;
|
|
153
156
|
};
|
|
@@ -155,9 +158,9 @@ export type TableAnnotationConfiguration = {
|
|
|
155
158
|
/**
|
|
156
159
|
* New entries are created within the app (default case)
|
|
157
160
|
*/
|
|
158
|
-
type
|
|
161
|
+
type CreateBehavior = {
|
|
159
162
|
mode: CreationMode;
|
|
160
|
-
append:
|
|
163
|
+
append: boolean;
|
|
161
164
|
newAction?: string;
|
|
162
165
|
navigateToTarget?: string;
|
|
163
166
|
};
|
|
@@ -165,7 +168,7 @@ type CreateBehaviour = {
|
|
|
165
168
|
/**
|
|
166
169
|
* New entries are created by navigating to some target
|
|
167
170
|
*/
|
|
168
|
-
type
|
|
171
|
+
type CreateBehaviorExternal = {
|
|
169
172
|
mode: "External";
|
|
170
173
|
outbound: string;
|
|
171
174
|
outboundDetail: NavigationTargetConfiguration["outboundDetail"];
|
|
@@ -235,6 +238,7 @@ export type BaseTableColumn = ConfigurableObject & {
|
|
|
235
238
|
sortable: boolean;
|
|
236
239
|
horizontalAlign?: HorizontalAlign;
|
|
237
240
|
formatOptions: FormatOptionsType;
|
|
241
|
+
importance: string;
|
|
238
242
|
};
|
|
239
243
|
|
|
240
244
|
export type CustomTableColumn = BaseTableColumn & {
|
|
@@ -267,6 +271,8 @@ export type AnnotationTableColumn = BaseTableColumn & {
|
|
|
267
271
|
delimiter?: boolean;
|
|
268
272
|
trueValue?: boolean;
|
|
269
273
|
falseValue?: boolean;
|
|
274
|
+
unit?: string;
|
|
275
|
+
unitProperty?: string;
|
|
270
276
|
};
|
|
271
277
|
isDataPointFakeTargetProperty?: boolean;
|
|
272
278
|
textArrangement?: {
|
|
@@ -388,6 +394,7 @@ export function getTableColumns(
|
|
|
388
394
|
|
|
389
395
|
return insertCustomElements(annotationColumns, manifestColumns, {
|
|
390
396
|
width: "overwrite",
|
|
397
|
+
importance: "overwrite",
|
|
391
398
|
isNavigable: "overwrite",
|
|
392
399
|
availability: "overwrite",
|
|
393
400
|
settings: "overwrite",
|
|
@@ -719,7 +726,7 @@ function getCurrentEntitySetUpdatablePath(converterContext: ConverterContext): s
|
|
|
719
726
|
const restrictions = getRestrictions(converterContext);
|
|
720
727
|
const entitySet = converterContext.getEntitySet();
|
|
721
728
|
const updatable = restrictions.isUpdatable;
|
|
722
|
-
const isOnlyDynamicOnCurrentEntity: any = updatable.
|
|
729
|
+
const isOnlyDynamicOnCurrentEntity: any = !isConstant(updatable.expression) && updatable.navigationExpression._type === "Unresolvable";
|
|
723
730
|
const updatablePropertyPath = (entitySet?.annotations.Capabilities?.UpdateRestrictions?.Updatable as any)?.path;
|
|
724
731
|
|
|
725
732
|
return isOnlyDynamicOnCurrentEntity ? (updatablePropertyPath as string) : "";
|
|
@@ -966,7 +973,7 @@ export function getSelectionMode(
|
|
|
966
973
|
);
|
|
967
974
|
let isParentDeletable, parentEntitySetDeletable;
|
|
968
975
|
if (converterContext.getTemplateType() === TemplateType.ObjectPage) {
|
|
969
|
-
isParentDeletable = isPathDeletable(converterContext.getDataModelObjectPath()
|
|
976
|
+
isParentDeletable = isPathDeletable(converterContext.getDataModelObjectPath());
|
|
970
977
|
parentEntitySetDeletable = isParentDeletable ? compileBinding(isParentDeletable, true) : isParentDeletable;
|
|
971
978
|
}
|
|
972
979
|
|
|
@@ -1218,7 +1225,7 @@ function _getCreationBehaviour(
|
|
|
1218
1225
|
const navigation = navigationSettings?.create || navigationSettings?.detail;
|
|
1219
1226
|
|
|
1220
1227
|
// cross-app
|
|
1221
|
-
if (
|
|
1228
|
+
if (navigation?.outbound && navigation.outboundDetail && navigationSettings?.create) {
|
|
1222
1229
|
return {
|
|
1223
1230
|
mode: "External",
|
|
1224
1231
|
outbound: navigation.outbound as string,
|
|
@@ -1378,6 +1385,13 @@ export const getColumnsFromEntityType = function(
|
|
|
1378
1385
|
wrap: relatedPropertiesInfo.exportSettingsWrapping
|
|
1379
1386
|
};
|
|
1380
1387
|
|
|
1388
|
+
if (relatedPropertiesInfo.exportUnitName) {
|
|
1389
|
+
columnInfo.exportSettings.unitProperty = relatedPropertiesInfo.exportUnitName;
|
|
1390
|
+
columnInfo.exportSettings.type = "Currency"; // Force to a currency because there's a unitProperty (otherwise the value isn't properly formatted when exported)
|
|
1391
|
+
} else if (relatedPropertiesInfo.exportUnitString) {
|
|
1392
|
+
columnInfo.exportSettings.unit = relatedPropertiesInfo.exportUnitString;
|
|
1393
|
+
}
|
|
1394
|
+
|
|
1381
1395
|
// Collect information of related columns to be created.
|
|
1382
1396
|
relatedPropertyNames.forEach(name => {
|
|
1383
1397
|
columnsToBeCreated[name] = relatedPropertiesInfo.properties[name];
|
|
@@ -1404,8 +1418,8 @@ export const getColumnsFromEntityType = function(
|
|
|
1404
1418
|
* @param {string} fullPropertyPath The full path to the target property
|
|
1405
1419
|
* @param {string} relativePath The relative path to the target property based on the context
|
|
1406
1420
|
* @param {boolean} useDataFieldPrefix Should be prefixed with "DataField::", else it will be prefixed with "Property::"
|
|
1407
|
-
* @param {boolean} availableForAdaptation Decides whether column should be available for adaptation
|
|
1408
|
-
* @param {string[]} nonSortableColumns The array of all non
|
|
1421
|
+
* @param {boolean} availableForAdaptation Decides whether the column should be available for adaptation
|
|
1422
|
+
* @param {string[]} nonSortableColumns The array of all non-sortable column names
|
|
1409
1423
|
* @param {AggregationHelper} aggregationHelper The aggregationHelper for the entity
|
|
1410
1424
|
* @param {ConverterContext} converterContext The converter context
|
|
1411
1425
|
* @returns {AnnotationTableColumn} The annotation column definition
|
|
@@ -1438,7 +1452,7 @@ const getColumnDefinitionFromProperty = function(
|
|
|
1438
1452
|
oConstraints: propertyTypeConfig.constraints
|
|
1439
1453
|
}
|
|
1440
1454
|
: undefined;
|
|
1441
|
-
const exportSettings = isDataPointFakeProperty
|
|
1455
|
+
const exportSettings: any = isDataPointFakeProperty
|
|
1442
1456
|
? {
|
|
1443
1457
|
template: getTargetValueOnDataPoint(property)
|
|
1444
1458
|
}
|
|
@@ -1451,6 +1465,17 @@ const getColumnDefinitionFromProperty = function(
|
|
|
1451
1465
|
falseValue: property.type === "Edm.Boolean" ? "No" : undefined
|
|
1452
1466
|
};
|
|
1453
1467
|
|
|
1468
|
+
if (!isDataPointFakeProperty) {
|
|
1469
|
+
const oUnitProperty = getAssociatedCurrencyProperty(property) || getAssociatedUnitProperty(property);
|
|
1470
|
+
const sUnitText = property?.annotations?.Measures?.ISOCurrency || property?.annotations?.Measures?.Unit;
|
|
1471
|
+
if (oUnitProperty) {
|
|
1472
|
+
exportSettings.unitProperty = oUnitProperty.name;
|
|
1473
|
+
exportSettings.type = "Currency"; // Force to a currency because there's a unitProperty (otherwise the value isn't properly formatted when exported)
|
|
1474
|
+
} else if (sUnitText) {
|
|
1475
|
+
exportSettings.unit = `${sUnitText}`;
|
|
1476
|
+
}
|
|
1477
|
+
}
|
|
1478
|
+
|
|
1454
1479
|
const oColumn: any = {
|
|
1455
1480
|
key: key,
|
|
1456
1481
|
isGroupable: !isDataPointFakeProperty && !isHidden ? aggregationHelper.isPropertyGroupable(property) : false,
|
|
@@ -1497,7 +1522,6 @@ const _isValidColumn = function(dataField: DataFieldAbstractTypes) {
|
|
|
1497
1522
|
return !!dataField.Inline;
|
|
1498
1523
|
case UIAnnotationTypes.DataFieldWithAction:
|
|
1499
1524
|
case UIAnnotationTypes.DataFieldWithIntentBasedNavigation:
|
|
1500
|
-
return false;
|
|
1501
1525
|
case UIAnnotationTypes.DataField:
|
|
1502
1526
|
case UIAnnotationTypes.DataFieldWithUrl:
|
|
1503
1527
|
case UIAnnotationTypes.DataFieldForAnnotation:
|
|
@@ -1562,7 +1586,7 @@ export const _getVisibleExpression = function(
|
|
|
1562
1586
|
or(not(isAnalyticalGroupHeaderExpanded), isAnalyticalLeaf)
|
|
1563
1587
|
]
|
|
1564
1588
|
);
|
|
1565
|
-
return returnExpression ? (expression as BindingExpression<string>) : compileBinding(expression);
|
|
1589
|
+
return returnExpression ? ((expression as any) as BindingExpression<string>) : compileBinding(expression);
|
|
1566
1590
|
};
|
|
1567
1591
|
|
|
1568
1592
|
/**
|
|
@@ -1587,7 +1611,7 @@ const _getFieldGroupHiddenExpressions = function(
|
|
|
1587
1611
|
);
|
|
1588
1612
|
});
|
|
1589
1613
|
return compileBinding(
|
|
1590
|
-
ifElse(or(...(aFieldGroupHiddenExpressions as ExpressionOrPrimitive<boolean>[])), constant(true), constant(false))
|
|
1614
|
+
ifElse(or(...((aFieldGroupHiddenExpressions as any) as ExpressionOrPrimitive<boolean>[])), constant(true), constant(false))
|
|
1591
1615
|
);
|
|
1592
1616
|
} else {
|
|
1593
1617
|
return undefined;
|
|
@@ -1653,7 +1677,12 @@ const _getTooltip = function(source: DataFieldAbstractTypes | Property): string
|
|
|
1653
1677
|
return undefined;
|
|
1654
1678
|
}
|
|
1655
1679
|
};
|
|
1656
|
-
|
|
1680
|
+
export function getRowStatusVisibility(): Expression<boolean> {
|
|
1681
|
+
return formatResult(
|
|
1682
|
+
[bindingExpression(`semanticKeyHasDraftIndicator`, "internal"), bindingExpression(`filteredMessages`, "internal")],
|
|
1683
|
+
tableFormatters.getErrorStatusTextVisibilityFormatter
|
|
1684
|
+
);
|
|
1685
|
+
}
|
|
1657
1686
|
/**
|
|
1658
1687
|
* Creates a PropertyInfo for each identified property consumed by a LineItem.
|
|
1659
1688
|
*
|
|
@@ -1790,6 +1819,8 @@ const _getRelativePath = function(dataField: DataFieldAbstractTypes): string {
|
|
|
1790
1819
|
case UIAnnotationTypes.DataField:
|
|
1791
1820
|
case UIAnnotationTypes.DataFieldWithNavigationPath:
|
|
1792
1821
|
case UIAnnotationTypes.DataFieldWithUrl:
|
|
1822
|
+
case UIAnnotationTypes.DataFieldWithIntentBasedNavigation:
|
|
1823
|
+
case UIAnnotationTypes.DataFieldWithAction:
|
|
1793
1824
|
relativePath = (dataField as DataField)?.Value?.path;
|
|
1794
1825
|
break;
|
|
1795
1826
|
|
|
@@ -1888,13 +1919,72 @@ function getDefaultDraftIndicatorForColumn(name: string, semanticKeys: any[]) {
|
|
|
1888
1919
|
if (bSemanticKeyFound) {
|
|
1889
1920
|
return {
|
|
1890
1921
|
hasDraftIndicator: true,
|
|
1891
|
-
semantickeys: aSemanticKeyValues
|
|
1922
|
+
semantickeys: aSemanticKeyValues,
|
|
1923
|
+
objectStatusTextVisibility: compileBinding(getRowStatusVisibility())
|
|
1892
1924
|
};
|
|
1893
1925
|
} else {
|
|
1894
1926
|
return {};
|
|
1895
1927
|
}
|
|
1896
1928
|
}
|
|
1897
1929
|
|
|
1930
|
+
/**
|
|
1931
|
+
* Returns the importance value for an annotation column.
|
|
1932
|
+
* If it is not set explicitly via annotations, the default annotation importance is returned.
|
|
1933
|
+
*
|
|
1934
|
+
* @param lineItem
|
|
1935
|
+
* @param semanticKeys
|
|
1936
|
+
* @returns {Importance} The importance value
|
|
1937
|
+
*/
|
|
1938
|
+
function _getAnnotationImportance(lineItem: DataFieldAbstractTypes, semanticKeys: SemanticKey): Importance {
|
|
1939
|
+
switch (lineItem.annotations?.UI?.Importance) {
|
|
1940
|
+
case "UI.ImportanceType/High":
|
|
1941
|
+
return Importance.High;
|
|
1942
|
+
case "UI.ImportanceType/Medium":
|
|
1943
|
+
return Importance.Medium;
|
|
1944
|
+
case "UI.ImportanceType/Low":
|
|
1945
|
+
return Importance.Low;
|
|
1946
|
+
default:
|
|
1947
|
+
return _getDefaultAnnotationImportance(lineItem, semanticKeys);
|
|
1948
|
+
}
|
|
1949
|
+
}
|
|
1950
|
+
|
|
1951
|
+
/**
|
|
1952
|
+
* Returns the default importance value for an annotation column as inferred by semantic key configurations.
|
|
1953
|
+
*
|
|
1954
|
+
* @param lineItem
|
|
1955
|
+
* @param semanticKeys
|
|
1956
|
+
* @returns {Importance} The importance value
|
|
1957
|
+
*/
|
|
1958
|
+
function _getDefaultAnnotationImportance(lineItem: DataFieldAbstractTypes, semanticKeys: SemanticKey): Importance {
|
|
1959
|
+
//Check if semanticKeys are defined at the EntitySet level
|
|
1960
|
+
if (!semanticKeys || semanticKeys.length === 0) {
|
|
1961
|
+
return Importance.None;
|
|
1962
|
+
}
|
|
1963
|
+
|
|
1964
|
+
if (lineItem.$Type === UIAnnotationTypes.DataFieldForAnnotation) {
|
|
1965
|
+
const targetDataField = (lineItem as DataFieldForAnnotation).Target?.$target;
|
|
1966
|
+
|
|
1967
|
+
//If a FieldGroup contains a semanticKey, importance set to High
|
|
1968
|
+
if (targetDataField.$Type === UIAnnotationTypes.FieldGroupType) {
|
|
1969
|
+
return ((targetDataField as unknown) as FieldGroupType).Data.some((dataField: DataFieldAbstractTypes) => {
|
|
1970
|
+
return (
|
|
1971
|
+
dataField.$Type !== UIAnnotationTypes.DataFieldForAnnotation &&
|
|
1972
|
+
((dataField as unknown) as DataFieldTypes).Value &&
|
|
1973
|
+
((dataField as unknown) as DataFieldTypes).Value.path &&
|
|
1974
|
+
semanticKeys.find(semanticKey => semanticKey.value === ((dataField as unknown) as DataFieldTypes).Value.path)
|
|
1975
|
+
);
|
|
1976
|
+
})
|
|
1977
|
+
? Importance.High
|
|
1978
|
+
: Importance.None;
|
|
1979
|
+
}
|
|
1980
|
+
}
|
|
1981
|
+
|
|
1982
|
+
//If current field is a semanticKey, importance set to High
|
|
1983
|
+
return semanticKeys.find(semanticKey => semanticKey.value === (lineItem as DataFieldTypes).Value?.path)
|
|
1984
|
+
? Importance.High
|
|
1985
|
+
: Importance.None;
|
|
1986
|
+
}
|
|
1987
|
+
|
|
1898
1988
|
/**
|
|
1899
1989
|
* Returns line items from metadata annotations.
|
|
1900
1990
|
*
|
|
@@ -1914,7 +2004,7 @@ const getColumnsFromAnnotations = function(
|
|
|
1914
2004
|
nonSortableColumns: string[] = getNonSortablePropertiesRestrictions(converterContext.getEntitySet()),
|
|
1915
2005
|
tableManifestSettings: TableManifestConfiguration = converterContext.getManifestControlConfiguration(visualizationPath),
|
|
1916
2006
|
tableType: TableType = tableManifestSettings?.tableSettings?.type || "ResponsiveTable";
|
|
1917
|
-
const semanticKeys = converterContext.getAnnotationsByTerm("Common", "com.sap.vocabularies.Common.v1.SemanticKey", [
|
|
2007
|
+
const semanticKeys: SemanticKey = converterContext.getAnnotationsByTerm("Common", "com.sap.vocabularies.Common.v1.SemanticKey", [
|
|
1918
2008
|
converterContext.getEntityType()
|
|
1919
2009
|
])[0];
|
|
1920
2010
|
if (lineItemAnnotation) {
|
|
@@ -1952,7 +2042,7 @@ const getColumnsFromAnnotations = function(
|
|
|
1952
2042
|
) {
|
|
1953
2043
|
fieldGroupHiddenExpressions = _getFieldGroupHiddenExpressions(lineItem, formatOptions);
|
|
1954
2044
|
}
|
|
1955
|
-
const exportSettings = {
|
|
2045
|
+
const exportSettings: any = {
|
|
1956
2046
|
template: relatedPropertiesInfo.exportSettingsTemplate,
|
|
1957
2047
|
wrap: relatedPropertiesInfo.exportSettingsWrapping,
|
|
1958
2048
|
type: dataType ? _getExportDataType(dataType, relatedPropertyNames.length > 1) : undefined,
|
|
@@ -1961,6 +2051,13 @@ const getColumnsFromAnnotations = function(
|
|
|
1961
2051
|
trueValue: dataType === "Edm.Boolean" ? "Yes" : undefined,
|
|
1962
2052
|
falseValue: dataType === "Edm.Boolean" ? "No" : undefined
|
|
1963
2053
|
};
|
|
2054
|
+
|
|
2055
|
+
if (relatedPropertiesInfo.exportUnitName) {
|
|
2056
|
+
exportSettings.unitProperty = relatedPropertiesInfo.exportUnitName;
|
|
2057
|
+
exportSettings.type = "Currency"; // Force to a currency because there's a unitProperty (otherwise the value isn't properly formatted when exported)
|
|
2058
|
+
} else if (relatedPropertiesInfo.exportUnitString) {
|
|
2059
|
+
exportSettings.unit = relatedPropertiesInfo.exportUnitString;
|
|
2060
|
+
}
|
|
1964
2061
|
const propertyTypeConfig = dataType && getTypeConfig(lineItem, dataType);
|
|
1965
2062
|
const oTypeConfig = propertyTypeConfig
|
|
1966
2063
|
? {
|
|
@@ -1977,7 +2074,7 @@ const getColumnsFromAnnotations = function(
|
|
|
1977
2074
|
// In case of text arrangement annotation with display mode as text only, exclude text property from the width calculation
|
|
1978
2075
|
visualSettings = {
|
|
1979
2076
|
widthCalculation: {
|
|
1980
|
-
excludeProperties: "Property::" + relatedPropertiesInfo.visualSettingsToBeExcluded
|
|
2077
|
+
excludeProperties: ["Property::" + relatedPropertiesInfo.visualSettingsToBeExcluded]
|
|
1981
2078
|
}
|
|
1982
2079
|
};
|
|
1983
2080
|
} else if (!dataType || !oTypeConfig) {
|
|
@@ -2015,6 +2112,7 @@ const getColumnsFromAnnotations = function(
|
|
|
2015
2112
|
additionalPropertyInfos: additionalPropertyNames.length > 0 ? additionalPropertyNames : undefined,
|
|
2016
2113
|
exportSettings: exportSettings,
|
|
2017
2114
|
width: lineItem.annotations?.HTML5?.CssDefaults?.width || widthOverride || undefined,
|
|
2115
|
+
importance: _getAnnotationImportance(lineItem, semanticKeys),
|
|
2018
2116
|
isNavigable: true,
|
|
2019
2117
|
formatOptions: formatOptions,
|
|
2020
2118
|
exportContactProperty: relatedPropertiesInfo.exportSettingsContactProperty,
|
|
@@ -2158,7 +2256,7 @@ const getColumnsFromManifest = function(
|
|
|
2158
2256
|
converterContext,
|
|
2159
2257
|
entityType
|
|
2160
2258
|
);
|
|
2161
|
-
if (!manifestColumn?.template && !isAnnotationColumn) {
|
|
2259
|
+
if (!manifestColumn?.template && manifestColumn?.type !== "Slot" && !isAnnotationColumn) {
|
|
2162
2260
|
const Message = "The annotation column '" + key + "' referenced in the manifest is not found";
|
|
2163
2261
|
converterContext
|
|
2164
2262
|
.getDiagnostics()
|
|
@@ -2176,6 +2274,7 @@ const getColumnsFromManifest = function(
|
|
|
2176
2274
|
name: "CustomColumn::" + key,
|
|
2177
2275
|
header: manifestColumn.header,
|
|
2178
2276
|
width: manifestColumn.width || undefined,
|
|
2277
|
+
importance: _getManifestOrDefaultValue(manifestColumn?.importance, Importance.None, isAnnotationColumn),
|
|
2179
2278
|
horizontalAlign: _getManifestOrDefaultValue(manifestColumn?.horizontalAlign, HorizontalAlign.Begin, isAnnotationColumn),
|
|
2180
2279
|
type: manifestColumn.type === "Slot" ? ColumnType.Slot : ColumnType.Default,
|
|
2181
2280
|
availability: _getManifestOrDefaultValue(manifestColumn?.availability, AvailabilityType.Default, isAnnotationColumn),
|
|
@@ -2188,10 +2287,14 @@ const getColumnsFromManifest = function(
|
|
|
2188
2287
|
settings: manifestColumn.settings,
|
|
2189
2288
|
sortable: false,
|
|
2190
2289
|
propertyInfos: propertyInfos,
|
|
2191
|
-
formatOptions:
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2290
|
+
formatOptions: _getManifestOrDefaultValue(
|
|
2291
|
+
manifestColumn.formatOptions,
|
|
2292
|
+
{
|
|
2293
|
+
...getDefaultFormatOptionsForTable(),
|
|
2294
|
+
...manifestColumn.formatOptions
|
|
2295
|
+
},
|
|
2296
|
+
isAnnotationColumn
|
|
2297
|
+
),
|
|
2195
2298
|
exportSettings: {
|
|
2196
2299
|
template: propertyInfos ? _appendCustomTemplate(propertyInfos) : undefined,
|
|
2197
2300
|
fieldLabel: propertyInfos ? manifestColumn.header : undefined,
|
|
@@ -2407,9 +2510,10 @@ export function getTableAnnotationConfiguration(
|
|
|
2407
2510
|
const targetCapabilities = getCapabilityRestriction(converterContext);
|
|
2408
2511
|
const navigationTargetPath = getNavigationTargetPath(converterContext, navigationPropertyPath);
|
|
2409
2512
|
const navigationSettings = pageManifestSettings.getNavigationConfiguration(navigationTargetPath);
|
|
2513
|
+
const creationBehaviour = _getCreationBehaviour(lineItemAnnotation, tableManifestConfiguration, converterContext, navigationSettings);
|
|
2410
2514
|
const standardActionsContext = generateStandardActionsContext(
|
|
2411
2515
|
converterContext,
|
|
2412
|
-
|
|
2516
|
+
creationBehaviour.mode as CreationMode,
|
|
2413
2517
|
tableManifestConfiguration,
|
|
2414
2518
|
viewConfiguration
|
|
2415
2519
|
);
|
|
@@ -2437,14 +2541,14 @@ export function getTableAnnotationConfiguration(
|
|
|
2437
2541
|
threshold = presentationVariantAnnotation.MaxItems.valueOf() as number;
|
|
2438
2542
|
}
|
|
2439
2543
|
|
|
2440
|
-
const creationBehaviour = _getCreationBehaviour(lineItemAnnotation, tableManifestConfiguration, converterContext, navigationSettings);
|
|
2441
2544
|
const variantManagement: VariantManagementType = pageManifestSettings.getVariantManagement();
|
|
2442
2545
|
const isSearchable = isPathSearchable(converterContext.getDataModelObjectPath());
|
|
2443
2546
|
const standardActions = {
|
|
2444
2547
|
create: getStandardActionCreate(converterContext, standardActionsContext),
|
|
2445
2548
|
"delete": getStandardActionDelete(converterContext, standardActionsContext),
|
|
2446
2549
|
paste: getStandardActionPaste(converterContext, standardActionsContext, isInsertUpdateTemplated),
|
|
2447
|
-
massEdit: getStandardActionMassEdit(converterContext, standardActionsContext)
|
|
2550
|
+
massEdit: getStandardActionMassEdit(converterContext, standardActionsContext),
|
|
2551
|
+
creationRow: getCreationRow(converterContext, standardActionsContext)
|
|
2448
2552
|
};
|
|
2449
2553
|
|
|
2450
2554
|
return {
|
|
@@ -2615,6 +2719,7 @@ function _getTableType(
|
|
|
2615
2719
|
}
|
|
2616
2720
|
return tableType;
|
|
2617
2721
|
}
|
|
2722
|
+
|
|
2618
2723
|
function _getFilters(
|
|
2619
2724
|
tableSettings: TableManifestSettingsConfiguration,
|
|
2620
2725
|
quickFilterPaths: { annotationPath: string }[],
|