@sapui5/sap.fe.core 1.141.2 → 1.142.1
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 +4 -1
- package/src/sap/fe/core/ActionRuntime.js +48 -23
- package/src/sap/fe/core/ActionRuntime.ts +61 -35
- package/src/sap/fe/core/AppComponent.js +76 -6
- package/src/sap/fe/core/AppComponent.ts +94 -8
- package/src/sap/fe/core/AppStateHandler.js +9 -8
- package/src/sap/fe/core/AppStateHandler.ts +13 -9
- package/src/sap/fe/core/BaseController.js +8 -5
- package/src/sap/fe/core/BaseController.ts +6 -1
- package/src/sap/fe/core/CommonUtils.js +4 -123
- package/src/sap/fe/core/CommonUtils.ts +3 -172
- package/src/sap/fe/core/ExtensionAPI.js +3 -10
- package/src/sap/fe/core/ExtensionAPI.ts +2 -14
- package/src/sap/fe/core/PageController.js +64 -43
- package/src/sap/fe/core/PageController.ts +62 -47
- package/src/sap/fe/core/TemplateComponent.js +20 -1
- package/src/sap/fe/core/TemplateComponent.ts +24 -2
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +37 -24
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +47 -31
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockSupport.js +1 -1
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockSupport.ts +4 -0
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor.js +4 -1
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor.ts +3 -0
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase.js +4 -1
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase.ts +4 -0
- package/src/sap/fe/core/controllerextensions/BaseControllerExtension.js +7 -5
- package/src/sap/fe/core/controllerextensions/BaseControllerExtension.ts +22 -2
- package/src/sap/fe/core/controllerextensions/CollaborativeDraft.js +82 -39
- package/src/sap/fe/core/controllerextensions/CollaborativeDraft.ts +91 -54
- package/src/sap/fe/core/controllerextensions/EditFlow.js +25 -3
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +27 -3
- package/src/sap/fe/core/controllerextensions/InlineEditFlow.js +9 -7
- package/src/sap/fe/core/controllerextensions/InlineEditFlow.ts +17 -5
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +37 -18
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +49 -17
- package/src/sap/fe/core/controllerextensions/KPIManagement.js +30 -15
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +32 -14
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +9 -10
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +8 -9
- package/src/sap/fe/core/controllerextensions/Paginator.js +2 -2
- package/src/sap/fe/core/controllerextensions/Paginator.ts +1 -1
- package/src/sap/fe/core/controllerextensions/Placeholder.js +10 -2
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +5 -1
- package/src/sap/fe/core/controllerextensions/Recommendations.js +3 -3
- package/src/sap/fe/core/controllerextensions/Recommendations.ts +2 -2
- package/src/sap/fe/core/controllerextensions/Routing.js +9 -5
- package/src/sap/fe/core/controllerextensions/Routing.ts +7 -7
- package/src/sap/fe/core/controllerextensions/Share.js +5 -5
- package/src/sap/fe/core/controllerextensions/Share.ts +4 -4
- package/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +17 -2
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +2 -2
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js +3 -3
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.tsx +3 -2
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +33 -11
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +45 -14
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +37 -3
- package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +41 -8
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +10 -4
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +6 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/ODataOperation.js +7 -7
- package/src/sap/fe/core/controllerextensions/editFlow/operations/ODataOperation.ts +6 -5
- package/src/sap/fe/core/controllerextensions/editFlow/operations/ODataStrictHandling.js +2 -2
- package/src/sap/fe/core/controllerextensions/editFlow/operations/ODataStrictHandling.ts +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/OperationParameters.js +2 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/OperationParameters.ts +1 -0
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +10 -6
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +6 -5
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +11 -9
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +22 -9
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.js +9 -4
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.tsx +10 -4
- package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.js +31 -2
- package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.tsx +34 -1
- package/src/sap/fe/core/converters/ManifestSettings.js +7 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +37 -0
- package/src/sap/fe/core/converters/ManifestWrapper.js +29 -9
- package/src/sap/fe/core/converters/ManifestWrapper.ts +29 -11
- package/src/sap/fe/core/converters/annotations/DataField.js +46 -19
- package/src/sap/fe/core/converters/annotations/DataField.ts +93 -19
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +88 -35
- package/src/sap/fe/core/converters/controls/Common/Action.js +57 -20
- package/src/sap/fe/core/converters/controls/Common/Action.ts +71 -21
- package/src/sap/fe/core/converters/controls/Common/Chart.js +13 -3
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +20 -4
- package/src/sap/fe/core/converters/controls/Common/Form.js +18 -3
- package/src/sap/fe/core/converters/controls/Common/Form.ts +23 -1
- package/src/sap/fe/core/converters/controls/Common/Table.js +89 -57
- package/src/sap/fe/core/converters/controls/Common/Table.ts +110 -56
- package/src/sap/fe/core/converters/controls/Common/filter/FilterRestrictions.js +243 -0
- package/src/sap/fe/core/converters/controls/Common/filter/FilterRestrictions.ts +309 -0
- package/src/sap/fe/core/converters/controls/Common/table/Columns.js +142 -58
- package/src/sap/fe/core/converters/controls/Common/table/Columns.ts +172 -78
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +12 -18
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +13 -27
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +7 -16
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +6 -17
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +16 -5
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +16 -5
- package/src/sap/fe/core/converters/helpers/Aggregation.js +12 -2
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +11 -1
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.js +27 -3
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +28 -1
- package/src/sap/fe/core/converters/helpers/ID.js +3 -1
- package/src/sap/fe/core/converters/helpers/ID.ts +1 -0
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +5 -2
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +7 -1
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +11 -3
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +12 -4
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +19 -8
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +18 -7
- package/src/sap/fe/core/designtime/AnnotationBasedChanges.js +8 -3
- package/src/sap/fe/core/designtime/AnnotationBasedChanges.ts +7 -2
- package/src/sap/fe/core/formatters/FPMFormatter.js +2 -2
- package/src/sap/fe/core/formatters/FPMFormatter.ts +1 -1
- package/src/sap/fe/core/fpm/Component.js +8 -1
- package/src/sap/fe/core/fpm/Component.ts +8 -0
- package/src/sap/fe/core/fpm/manifest.json +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper.js +79 -25
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +91 -32
- package/src/sap/fe/core/helpers/ManifestHelper.js +6 -3
- package/src/sap/fe/core/helpers/ManifestHelper.ts +3 -0
- package/src/sap/fe/core/helpers/MetaModelFunction.js +12 -3
- package/src/sap/fe/core/helpers/MetaModelFunction.ts +11 -3
- package/src/sap/fe/core/helpers/ModelHelper.js +48 -9
- package/src/sap/fe/core/helpers/ModelHelper.ts +55 -10
- package/src/sap/fe/core/helpers/TypeGuards.js +12 -2
- package/src/sap/fe/core/helpers/TypeGuards.ts +10 -1
- package/src/sap/fe/core/helpers/WebSocket.js +6 -7
- package/src/sap/fe/core/helpers/WebSocket.ts +10 -6
- package/src/sap/fe/core/library.js +30 -3
- package/src/sap/fe/core/library.ts +28 -1
- package/src/sap/fe/core/messagebundle.properties +8 -1
- package/src/sap/fe/core/messagebundle_ar.properties +7 -0
- package/src/sap/fe/core/messagebundle_bg.properties +10 -3
- package/src/sap/fe/core/messagebundle_ca.properties +7 -0
- package/src/sap/fe/core/messagebundle_cnr.properties +7 -0
- package/src/sap/fe/core/messagebundle_cs.properties +7 -0
- package/src/sap/fe/core/messagebundle_cy.properties +8 -1
- package/src/sap/fe/core/messagebundle_da.properties +7 -0
- package/src/sap/fe/core/messagebundle_de.properties +7 -0
- package/src/sap/fe/core/messagebundle_el.properties +7 -0
- package/src/sap/fe/core/messagebundle_en.properties +8 -1
- package/src/sap/fe/core/messagebundle_en_GB.properties +7 -0
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +5 -0
- package/src/sap/fe/core/messagebundle_es.properties +8 -1
- package/src/sap/fe/core/messagebundle_es_MX.properties +7 -0
- package/src/sap/fe/core/messagebundle_et.properties +7 -0
- package/src/sap/fe/core/messagebundle_fi.properties +7 -0
- package/src/sap/fe/core/messagebundle_fr.properties +16 -9
- package/src/sap/fe/core/messagebundle_fr_CA.properties +7 -0
- package/src/sap/fe/core/messagebundle_hi.properties +8 -1
- package/src/sap/fe/core/messagebundle_hr.properties +7 -0
- package/src/sap/fe/core/messagebundle_hu.properties +7 -0
- package/src/sap/fe/core/messagebundle_id.properties +7 -0
- package/src/sap/fe/core/messagebundle_it.properties +7 -0
- package/src/sap/fe/core/messagebundle_iw.properties +7 -0
- package/src/sap/fe/core/messagebundle_ja.properties +8 -1
- package/src/sap/fe/core/messagebundle_kk.properties +7 -0
- package/src/sap/fe/core/messagebundle_ko.properties +7 -0
- package/src/sap/fe/core/messagebundle_lt.properties +7 -0
- package/src/sap/fe/core/messagebundle_lv.properties +7 -0
- package/src/sap/fe/core/messagebundle_mk.properties +7 -0
- package/src/sap/fe/core/messagebundle_ms.properties +7 -0
- package/src/sap/fe/core/messagebundle_nl.properties +7 -0
- package/src/sap/fe/core/messagebundle_no.properties +7 -0
- package/src/sap/fe/core/messagebundle_pl.properties +7 -0
- package/src/sap/fe/core/messagebundle_pt.properties +7 -0
- package/src/sap/fe/core/messagebundle_pt_PT.properties +7 -0
- package/src/sap/fe/core/messagebundle_ro.properties +7 -0
- package/src/sap/fe/core/messagebundle_ru.properties +7 -0
- package/src/sap/fe/core/messagebundle_sh.properties +7 -0
- package/src/sap/fe/core/messagebundle_sk.properties +7 -0
- package/src/sap/fe/core/messagebundle_sl.properties +7 -0
- package/src/sap/fe/core/messagebundle_sr.properties +7 -0
- package/src/sap/fe/core/messagebundle_sv.properties +7 -0
- package/src/sap/fe/core/messagebundle_th.properties +7 -0
- package/src/sap/fe/core/messagebundle_tr.properties +7 -0
- package/src/sap/fe/core/messagebundle_uk.properties +7 -0
- package/src/sap/fe/core/messagebundle_vi.properties +7 -0
- package/src/sap/fe/core/messagebundle_zh_CN.properties +8 -1
- package/src/sap/fe/core/messagebundle_zh_TW.properties +7 -0
- package/src/sap/fe/core/rootView/Fcl.controller.js +21 -7
- package/src/sap/fe/core/rootView/Fcl.controller.ts +28 -6
- package/src/sap/fe/core/rootView/RootViewBaseController.js +96 -88
- package/src/sap/fe/core/rootView/RootViewBaseController.ts +106 -96
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +14 -10
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +15 -10
- package/src/sap/fe/core/services/RoutingServiceFactory.js +16 -7
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +23 -10
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +9 -7
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +13 -8
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +62 -6
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +74 -11
- package/src/sap/fe/core/services/collaborativeDraftServiceFactory.js +33 -15
- package/src/sap/fe/core/services/collaborativeDraftServiceFactory.ts +31 -11
- package/src/sap/fe/core/templating/DisplayModeFormatter.js +4 -5
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +4 -6
- package/src/sap/fe/core/templating/UIFormatters.js +17 -2
- package/src/sap/fe/core/templating/UIFormatters.ts +25 -1
- package/src/sap/fe/core/types/sap.fe.core-auto-ext.d.js +10 -0
- package/src/sap/fe/core/types/sap.fe.core-auto-ext.d.ts +369 -0
- package/src/sap/fe/core/types/sap.fe.core-manual-ext.d.js +9 -0
- package/src/sap/fe/core/types/sap.fe.core-manual-ext.d.ts +49 -0
- package/ui5.yaml +2 -0
|
@@ -2,6 +2,7 @@ import type { AnnotationTerm, Decimal, PathAnnotationExpression, PrimitiveType,
|
|
|
2
2
|
import type { Contact } from "@sap-ux/vocabularies-types/vocabularies/Communication";
|
|
3
3
|
import { CommunicationAnnotationTypes } from "@sap-ux/vocabularies-types/vocabularies/Communication";
|
|
4
4
|
import type {
|
|
5
|
+
ConnectedFields,
|
|
5
6
|
DataField,
|
|
6
7
|
DataFieldAbstractTypes,
|
|
7
8
|
DataFieldForAction,
|
|
@@ -41,7 +42,7 @@ import {
|
|
|
41
42
|
import { enhanceDataModelPath, getContextRelativeTargetObjectPath, type DataModelObjectPath } from "../../templating/DataModelPathHelper";
|
|
42
43
|
import type { DisplayMode } from "../../templating/UIFormatters";
|
|
43
44
|
import type ConverterContext from "../ConverterContext";
|
|
44
|
-
import { isReferencePropertyStaticallyHidden } from "../helpers/DataFieldHelper";
|
|
45
|
+
import { getConnectedFieldsData, getConnectedFieldsSeparator, isReferencePropertyStaticallyHidden } from "../helpers/DataFieldHelper";
|
|
45
46
|
|
|
46
47
|
export type ComplexPropertyInfo = {
|
|
47
48
|
properties: Record<string, { annotationProperty: Property; displayModeOfPropertyUsedAsDescription?: DisplayMode }>;
|
|
@@ -124,6 +125,16 @@ export function hasFieldGroupTarget(dataFieldForAnnotation: DataFieldForAnnotati
|
|
|
124
125
|
return isAnnotationOfType<FieldGroup>(dataFieldTarget, UIAnnotationTypes.FieldGroupType);
|
|
125
126
|
}
|
|
126
127
|
|
|
128
|
+
/**
|
|
129
|
+
* Determines if the dataFieldForAnnotation points to a connectedFields annotation.
|
|
130
|
+
* @param dataFieldForAnnotation The dataFieldForAnnotation being processed
|
|
131
|
+
* @returns True if the dataFieldForAnnotation points to a connectedFields annotation.
|
|
132
|
+
*/
|
|
133
|
+
export function hasConnectedFieldsTarget(dataFieldForAnnotation: DataFieldForAnnotation | ReferenceFacet): boolean {
|
|
134
|
+
const dataFieldTarget = dataFieldForAnnotation.Target.$target;
|
|
135
|
+
return isAnnotationOfType<ConnectedFields>(dataFieldTarget, UIAnnotationTypes.ConnectedFieldsType);
|
|
136
|
+
}
|
|
137
|
+
|
|
127
138
|
/**
|
|
128
139
|
* Determines if the dataFieldForAnnotation is a field group.
|
|
129
140
|
* @param dataFieldForAnnotation The dataFieldForAnnotation being processed
|
|
@@ -374,8 +385,10 @@ export function collectRelatedProperties(
|
|
|
374
385
|
exportSettings: {}
|
|
375
386
|
},
|
|
376
387
|
addUnitInTemplate = false,
|
|
377
|
-
isAnnotatedAsHidden = false
|
|
388
|
+
isAnnotatedAsHidden = false,
|
|
389
|
+
connectedFieldsSeparator: string | undefined = undefined
|
|
378
390
|
): ComplexPropertyInfo {
|
|
391
|
+
const isPartOfaConnectedFields = !!connectedFieldsSeparator;
|
|
379
392
|
if (path && property) {
|
|
380
393
|
let valueIndex: number;
|
|
381
394
|
/* EXTERNALID */
|
|
@@ -385,7 +398,12 @@ export function collectRelatedProperties(
|
|
|
385
398
|
if (isAnnotatedAsHidden) {
|
|
386
399
|
// Collect underlying property
|
|
387
400
|
valueIndex = _setRelatedPropertiesAndGetIndex(relatedProperties, path, property);
|
|
388
|
-
_appendTemplate(
|
|
401
|
+
_appendTemplate(
|
|
402
|
+
relatedProperties,
|
|
403
|
+
isPartOfaConnectedFields && relatedProperties.exportSettings?.template
|
|
404
|
+
? `${connectedFieldsSeparator}{${valueIndex}}`
|
|
405
|
+
: `{${valueIndex}}`
|
|
406
|
+
);
|
|
389
407
|
return relatedProperties;
|
|
390
408
|
}
|
|
391
409
|
const navigationPathPrefix = _getNavigationPathPrefix(path);
|
|
@@ -406,8 +424,11 @@ export function collectRelatedProperties(
|
|
|
406
424
|
|
|
407
425
|
if (relatedProperties.exportSettings?.template) {
|
|
408
426
|
// FieldGroup use-case. Need to add each Field in new line.
|
|
409
|
-
|
|
410
|
-
relatedProperties
|
|
427
|
+
// ConnectedFields use-case. Need to add the separator between the Fields that stay on the same line.
|
|
428
|
+
_appendTemplate(relatedProperties, isPartOfaConnectedFields ? connectedFieldsSeparator : "\n");
|
|
429
|
+
if (!connectedFieldsSeparator) {
|
|
430
|
+
relatedProperties.exportSettings.wrap = true;
|
|
431
|
+
}
|
|
411
432
|
}
|
|
412
433
|
|
|
413
434
|
// The text arrangement will be considered only if the text property is groupable
|
|
@@ -420,7 +441,7 @@ export function collectRelatedProperties(
|
|
|
420
441
|
const pathForText = externalIdPath ? externalIdPath : path;
|
|
421
442
|
const propertyForText = externalIdProperty ? externalIdProperty : property;
|
|
422
443
|
// Check for Text Arrangement.
|
|
423
|
-
const displayMode = getDisplayMode(propertyForText, propertyDataModelObjectPath);
|
|
444
|
+
const displayMode = getDisplayMode(propertyForText, propertyDataModelObjectPath.targetEntityType);
|
|
424
445
|
let descriptionIndex: number;
|
|
425
446
|
switch (displayMode) {
|
|
426
447
|
case "Description":
|
|
@@ -430,7 +451,12 @@ export function collectRelatedProperties(
|
|
|
430
451
|
textProperty,
|
|
431
452
|
"Description"
|
|
432
453
|
);
|
|
433
|
-
_appendTemplate(
|
|
454
|
+
_appendTemplate(
|
|
455
|
+
relatedProperties,
|
|
456
|
+
isPartOfaConnectedFields && relatedProperties.exportSettings?.template
|
|
457
|
+
? `${connectedFieldsSeparator}{${descriptionIndex}}`
|
|
458
|
+
: `{${descriptionIndex}}`
|
|
459
|
+
);
|
|
434
460
|
break;
|
|
435
461
|
|
|
436
462
|
case "ValueDescription":
|
|
@@ -441,7 +467,12 @@ export function collectRelatedProperties(
|
|
|
441
467
|
textProperty,
|
|
442
468
|
"ValueDescription"
|
|
443
469
|
);
|
|
444
|
-
_appendTemplate(
|
|
470
|
+
_appendTemplate(
|
|
471
|
+
relatedProperties,
|
|
472
|
+
isPartOfaConnectedFields && relatedProperties.exportSettings?.template
|
|
473
|
+
? `${connectedFieldsSeparator}{${valueIndex}} ({${descriptionIndex}})`
|
|
474
|
+
: `{${valueIndex}} ({${descriptionIndex}})`
|
|
475
|
+
);
|
|
445
476
|
break;
|
|
446
477
|
|
|
447
478
|
case "DescriptionValue":
|
|
@@ -452,17 +483,32 @@ export function collectRelatedProperties(
|
|
|
452
483
|
textProperty,
|
|
453
484
|
"DescriptionValue"
|
|
454
485
|
);
|
|
455
|
-
_appendTemplate(
|
|
486
|
+
_appendTemplate(
|
|
487
|
+
relatedProperties,
|
|
488
|
+
isPartOfaConnectedFields && relatedProperties.exportSettings?.template
|
|
489
|
+
? `${connectedFieldsSeparator}{${descriptionIndex}} ({${valueIndex}})`
|
|
490
|
+
: `{${descriptionIndex}} ({${valueIndex}})`
|
|
491
|
+
);
|
|
456
492
|
break;
|
|
457
493
|
default:
|
|
458
494
|
valueIndex = _setRelatedPropertiesAndGetIndex(relatedProperties, pathForText, propertyForText);
|
|
459
|
-
_appendTemplate(
|
|
495
|
+
_appendTemplate(
|
|
496
|
+
relatedProperties,
|
|
497
|
+
isPartOfaConnectedFields && relatedProperties.exportSettings?.template
|
|
498
|
+
? `${connectedFieldsSeparator}{${valueIndex}}`
|
|
499
|
+
: `{${valueIndex}}`
|
|
500
|
+
);
|
|
460
501
|
break;
|
|
461
502
|
}
|
|
462
503
|
} else {
|
|
463
504
|
// Collect underlying property
|
|
464
505
|
valueIndex = _setRelatedPropertiesAndGetIndex(relatedProperties, path, property);
|
|
465
|
-
_appendTemplate(
|
|
506
|
+
_appendTemplate(
|
|
507
|
+
relatedProperties,
|
|
508
|
+
isPartOfaConnectedFields && relatedProperties.exportSettings?.template
|
|
509
|
+
? `${connectedFieldsSeparator}{${valueIndex}}`
|
|
510
|
+
: `{${valueIndex}}`
|
|
511
|
+
);
|
|
466
512
|
}
|
|
467
513
|
} else {
|
|
468
514
|
// Check for field containing Currency Or Unit Properties or Timezone
|
|
@@ -481,6 +527,7 @@ export function collectRelatedProperties(
|
|
|
481
527
|
addUnitInTemplate,
|
|
482
528
|
propertyDataModelObjectPath,
|
|
483
529
|
currencyOrUoMProperty,
|
|
530
|
+
isPartOfaConnectedFields,
|
|
484
531
|
currencyProperty
|
|
485
532
|
);
|
|
486
533
|
} else if (timezoneProperty && timezoneAnnotation?.$target) {
|
|
@@ -498,12 +545,17 @@ export function collectRelatedProperties(
|
|
|
498
545
|
navigationPathPrefix ? navigationPathPrefix + contactPropertyPath : contactPropertyPath,
|
|
499
546
|
contactProperty
|
|
500
547
|
);
|
|
501
|
-
_appendTemplate(
|
|
548
|
+
_appendTemplate(
|
|
549
|
+
relatedProperties,
|
|
550
|
+
isPartOfaConnectedFields && relatedProperties.exportSettings?.template
|
|
551
|
+
? `${connectedFieldsSeparator}{${valueIndex}}`
|
|
552
|
+
: `{${valueIndex}}`
|
|
553
|
+
);
|
|
502
554
|
} else if (!ignoreSelf) {
|
|
503
555
|
// Collect underlying property
|
|
504
556
|
valueIndex = _setRelatedPropertiesAndGetIndex(relatedProperties, path, property);
|
|
505
557
|
_appendTemplate(relatedProperties, `{${valueIndex}}`);
|
|
506
|
-
if (currencyOrUnitAnnotation) {
|
|
558
|
+
if (!isPartOfaConnectedFields && currencyOrUnitAnnotation) {
|
|
507
559
|
relatedProperties.exportSettings.unit = `${currencyOrUnitAnnotation}`; // Hard-coded currency/unit
|
|
508
560
|
if (property?.annotations?.Measures?.ISOCurrency) {
|
|
509
561
|
relatedProperties.exportSettings.isCurrency = true;
|
|
@@ -523,7 +575,12 @@ export function collectRelatedProperties(
|
|
|
523
575
|
// Collect underlying property if not collected already.
|
|
524
576
|
// This is to ensure that additionalProperties are made available only to complex property infos.
|
|
525
577
|
valueIndex = _setRelatedPropertiesAndGetIndex(relatedProperties, path, property);
|
|
526
|
-
_appendTemplate(
|
|
578
|
+
_appendTemplate(
|
|
579
|
+
relatedProperties,
|
|
580
|
+
isPartOfaConnectedFields && relatedProperties.exportSettings?.template
|
|
581
|
+
? `${connectedFieldsSeparator}{${valueIndex}}`
|
|
582
|
+
: `{${valueIndex}}`
|
|
583
|
+
);
|
|
527
584
|
}
|
|
528
585
|
}
|
|
529
586
|
return relatedProperties;
|
|
@@ -629,6 +686,7 @@ function collectCurrencyOrUnitProperties(
|
|
|
629
686
|
addUnitInTemplate: boolean,
|
|
630
687
|
propertyDataModelObjectPath: DataModelObjectPath<Property>,
|
|
631
688
|
currencyOrUoMProperty: Property,
|
|
689
|
+
isPartOfaConnectedFields: boolean,
|
|
632
690
|
currencyProperty?: Property
|
|
633
691
|
): void {
|
|
634
692
|
const property = propertyDataModelObjectPath.targetObject;
|
|
@@ -646,10 +704,12 @@ function collectCurrencyOrUnitProperties(
|
|
|
646
704
|
} else {
|
|
647
705
|
relatedProperties.exportSettings.unitProperty = unitOrCurrencyRelativePath;
|
|
648
706
|
}
|
|
649
|
-
if (currencyProperty) {
|
|
707
|
+
if (currencyProperty && !isPartOfaConnectedFields) {
|
|
650
708
|
relatedProperties.exportSettings.isCurrency = true;
|
|
651
709
|
}
|
|
652
|
-
|
|
710
|
+
if (!isPartOfaConnectedFields) {
|
|
711
|
+
relatedProperties.exportSettings.scale = property.scale;
|
|
712
|
+
}
|
|
653
713
|
}
|
|
654
714
|
}
|
|
655
715
|
|
|
@@ -672,7 +732,8 @@ export function collectRelatedPropertiesRecursively(
|
|
|
672
732
|
additionalProperties: {},
|
|
673
733
|
exportSettings: {}
|
|
674
734
|
},
|
|
675
|
-
isEmbedded = false
|
|
735
|
+
isEmbedded = false,
|
|
736
|
+
connectedFieldsSeparator: string | undefined = undefined
|
|
676
737
|
): ComplexPropertyInfo {
|
|
677
738
|
let isStaticallyHidden = false;
|
|
678
739
|
switch (dataField?.$Type) {
|
|
@@ -692,7 +753,8 @@ export function collectRelatedPropertiesRecursively(
|
|
|
692
753
|
tableType,
|
|
693
754
|
relatedProperties,
|
|
694
755
|
isEmbedded,
|
|
695
|
-
isStaticallyHidden
|
|
756
|
+
isStaticallyHidden,
|
|
757
|
+
connectedFieldsSeparator
|
|
696
758
|
);
|
|
697
759
|
const navigationPathPrefix = _getNavigationPathPrefix(property.path);
|
|
698
760
|
relatedProperties = _collectAdditionalPropertiesForAnalyticalTable(
|
|
@@ -721,7 +783,19 @@ export function collectRelatedPropertiesRecursively(
|
|
|
721
783
|
);
|
|
722
784
|
});
|
|
723
785
|
break;
|
|
724
|
-
|
|
786
|
+
case UIAnnotationTypes.ConnectedFieldsType:
|
|
787
|
+
connectedFieldsSeparator = getConnectedFieldsSeparator(dataField.Target.$target);
|
|
788
|
+
getConnectedFieldsData(dataField.Target.$target).forEach((innerDataField: DataFieldAbstractTypes) => {
|
|
789
|
+
relatedProperties = collectRelatedPropertiesRecursively(
|
|
790
|
+
innerDataField,
|
|
791
|
+
converterContext,
|
|
792
|
+
tableType,
|
|
793
|
+
relatedProperties,
|
|
794
|
+
true,
|
|
795
|
+
connectedFieldsSeparator
|
|
796
|
+
);
|
|
797
|
+
});
|
|
798
|
+
break;
|
|
725
799
|
case UIAnnotationTypes.DataPointType:
|
|
726
800
|
isStaticallyHidden = isReferencePropertyStaticallyHidden(dataField);
|
|
727
801
|
relatedProperties = collectRelatedProperties(
|