@sapui5/sap.fe.core 1.93.3 → 1.97.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +6 -6
- package/src/sap/fe/core/.library +1 -1
- package/src/sap/fe/core/AppComponent.js +8 -40
- package/src/sap/fe/core/BusyLocker.js +12 -0
- package/src/sap/fe/core/CommonUtils.js +224 -48
- package/src/sap/fe/core/ExtensionAPI.js +1 -1
- package/src/sap/fe/core/PageController.js +13 -2
- package/src/sap/fe/core/RouterProxy.js +52 -64
- package/src/sap/fe/core/TemplateComponent.js +8 -2
- package/src/sap/fe/core/TransactionHelper.js +210 -180
- package/src/sap/fe/core/actions/draft.js +13 -1
- package/src/sap/fe/core/actions/messageHandling.js +80 -4
- package/src/sap/fe/core/actions/operations.js +207 -68
- package/src/sap/fe/core/controllerextensions/EditFlow.js +82 -55
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +13 -6
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +132 -23
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +203 -214
- package/src/sap/fe/core/controllerextensions/KPIManagement.js +834 -170
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +890 -189
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +222 -102
- package/src/sap/fe/core/controllerextensions/PageReady.js +48 -33
- package/src/sap/fe/core/controllerextensions/PageReady.ts +49 -14
- package/src/sap/fe/core/controllerextensions/Paginator.js +150 -0
- package/src/sap/fe/core/controllerextensions/Placeholder.js +133 -270
- package/src/sap/fe/core/controllerextensions/Share.js +12 -9
- package/src/sap/fe/core/controllerextensions/SideEffects.js +5 -6
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +13 -12
- package/src/sap/fe/core/controllerextensions/ViewState.js +202 -8
- package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +39 -34
- package/src/sap/fe/core/controls/ActionParameterDialogValueHelp.fragment.xml +35 -0
- package/src/sap/fe/core/controls/ActionPartial.fragment.xml +1 -1
- package/src/sap/fe/core/controls/CustomQuickViewPage.js +109 -108
- package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +45 -0
- package/src/sap/fe/core/controls/filterbar/FilterContainer.js +15 -4
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js +250 -94
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +129 -135
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +325 -0
- package/src/sap/fe/core/controls/filterbar.d.js +8 -0
- package/src/sap/fe/core/controls/filterbar.d.ts +0 -0
- package/src/sap/fe/core/converters/ConverterContext.js +19 -5
- package/src/sap/fe/core/converters/ConverterContext.ts +13 -3
- package/src/sap/fe/core/converters/ManifestSettings.js +2 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +13 -3
- package/src/sap/fe/core/converters/ManifestWrapper.js +9 -9
- package/src/sap/fe/core/converters/MetaModelConverter.js +867 -871
- package/src/sap/fe/core/converters/MetaModelConverter.ts +772 -827
- package/src/sap/fe/core/converters/TemplateConverter.js +4 -4
- package/src/sap/fe/core/converters/annotations/DataField.js +57 -7
- package/src/sap/fe/core/converters/annotations/DataField.ts +52 -2
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +146 -85
- package/src/sap/fe/core/converters/controls/Common/Action.js +61 -56
- package/src/sap/fe/core/converters/controls/Common/Action.ts +54 -39
- package/src/sap/fe/core/converters/controls/Common/Chart.js +101 -9
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +100 -5
- package/src/sap/fe/core/converters/controls/Common/Criticality.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +15 -16
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +16 -30
- package/src/sap/fe/core/converters/controls/Common/Form.js +77 -29
- package/src/sap/fe/core/converters/controls/Common/Form.ts +79 -21
- package/src/sap/fe/core/converters/controls/Common/KPI.js +287 -109
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +314 -139
- package/src/sap/fe/core/converters/controls/Common/Table.js +521 -166
- package/src/sap/fe/core/converters/controls/Common/Table.ts +519 -115
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +487 -0
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +541 -0
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +364 -0
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +338 -0
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +74 -0
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +50 -0
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +11 -11
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +47 -35
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +45 -29
- package/src/sap/fe/core/converters/helpers/Aggregation.js +31 -32
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +26 -27
- package/src/sap/fe/core/converters/helpers/BindingHelper.js +27 -2
- package/src/sap/fe/core/converters/helpers/BindingHelper.ts +22 -2
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +1 -1
- package/src/sap/fe/core/converters/helpers/ID.js +9 -3
- package/src/sap/fe/core/converters/helpers/ID.ts +6 -3
- package/src/sap/fe/core/converters/helpers/IssueManager.js +5 -4
- package/src/sap/fe/core/converters/helpers/IssueManager.ts +4 -3
- package/src/sap/fe/core/converters/helpers/Key.js +3 -3
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +11 -6
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +9 -5
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +18 -5
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +14 -14
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +91 -20
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +77 -5
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +87 -714
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +85 -812
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +106 -17
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +121 -16
- package/src/sap/fe/core/designtime/AppComponent.designtime.js +2 -1
- package/src/sap/fe/core/formatters/CriticalityFormatter.js +1 -1
- package/src/sap/fe/core/formatters/FPMFormatter.js +1 -1
- package/src/sap/fe/core/formatters/FPMFormatter.ts +8 -3
- package/src/sap/fe/core/formatters/KPIFormatter.js +1 -1
- package/src/sap/fe/core/formatters/TableFormatter.js +27 -4
- package/src/sap/fe/core/formatters/TableFormatter.ts +20 -3
- package/src/sap/fe/core/formatters/TableFormatterTypes.js +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
- package/src/sap/fe/core/fpm/Component.js +1 -1
- package/src/sap/fe/core/helpers/AnnotationEnum.js +3 -3
- package/src/sap/fe/core/helpers/BindingExpression.js +6 -6
- package/src/sap/fe/core/helpers/ClassSupport.js +4 -4
- package/src/sap/fe/core/helpers/ExcelFormatHelper.js +0 -2
- package/src/sap/fe/core/helpers/KeepAliveHelper.js +211 -0
- package/src/sap/fe/core/helpers/KeepAliveHelper.ts +202 -0
- package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +32 -0
- package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.ts +36 -0
- package/src/sap/fe/core/helpers/ModelHelper.js +78 -0
- package/src/sap/fe/core/helpers/PasteHelper.js +6 -0
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js +2 -2
- package/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
- package/src/sap/fe/core/helpers/StableIdHelper.ts +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx.js +2 -2
- package/src/sap/fe/core/jsx-runtime/jsxs.js +1 -1
- package/src/sap/fe/core/library.js +1 -1
- package/src/sap/fe/core/messagebundle.properties +45 -2
- package/src/sap/fe/core/messagebundle_ar.properties +53 -1
- package/src/sap/fe/core/messagebundle_bg.properties +52 -0
- package/src/sap/fe/core/messagebundle_ca.properties +54 -2
- package/src/sap/fe/core/messagebundle_cs.properties +52 -0
- package/src/sap/fe/core/messagebundle_cy.properties +52 -0
- package/src/sap/fe/core/messagebundle_da.properties +53 -1
- package/src/sap/fe/core/messagebundle_de.properties +55 -3
- package/src/sap/fe/core/messagebundle_el.properties +53 -1
- package/src/sap/fe/core/messagebundle_en.properties +52 -0
- package/src/sap/fe/core/messagebundle_en_GB.properties +53 -1
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +49 -1
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +53 -1
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +53 -1
- package/src/sap/fe/core/messagebundle_es.properties +60 -8
- package/src/sap/fe/core/messagebundle_es_MX.properties +55 -3
- package/src/sap/fe/core/messagebundle_et.properties +52 -0
- package/src/sap/fe/core/messagebundle_fi.properties +52 -0
- package/src/sap/fe/core/messagebundle_fr.properties +61 -9
- package/src/sap/fe/core/messagebundle_fr_CA.properties +52 -0
- package/src/sap/fe/core/messagebundle_hi.properties +53 -1
- package/src/sap/fe/core/messagebundle_hr.properties +53 -1
- package/src/sap/fe/core/messagebundle_hu.properties +52 -0
- package/src/sap/fe/core/messagebundle_id.properties +54 -2
- package/src/sap/fe/core/messagebundle_it.properties +53 -1
- package/src/sap/fe/core/messagebundle_iw.properties +54 -2
- package/src/sap/fe/core/messagebundle_ja.properties +62 -10
- package/src/sap/fe/core/messagebundle_kk.properties +53 -1
- package/src/sap/fe/core/messagebundle_ko.properties +53 -1
- package/src/sap/fe/core/messagebundle_lt.properties +53 -1
- package/src/sap/fe/core/messagebundle_lv.properties +53 -1
- package/src/sap/fe/core/messagebundle_ms.properties +53 -1
- package/src/sap/fe/core/messagebundle_nl.properties +57 -5
- package/src/sap/fe/core/messagebundle_no.properties +54 -2
- package/src/sap/fe/core/messagebundle_pl.properties +53 -1
- package/src/sap/fe/core/messagebundle_pt.properties +54 -2
- package/src/sap/fe/core/messagebundle_pt_PT.properties +53 -1
- package/src/sap/fe/core/messagebundle_ro.properties +53 -1
- package/src/sap/fe/core/messagebundle_ru.properties +53 -1
- package/src/sap/fe/core/messagebundle_sh.properties +53 -1
- package/src/sap/fe/core/messagebundle_sk.properties +52 -0
- package/src/sap/fe/core/messagebundle_sl.properties +53 -1
- package/src/sap/fe/core/messagebundle_sv.properties +53 -1
- package/src/sap/fe/core/messagebundle_th.properties +52 -0
- package/src/sap/fe/core/messagebundle_tr.properties +52 -0
- package/src/sap/fe/core/messagebundle_uk.properties +52 -0
- package/src/sap/fe/core/messagebundle_vi.properties +53 -1
- package/src/sap/fe/core/messagebundle_zh_CN.properties +53 -1
- package/src/sap/fe/core/messagebundle_zh_TW.properties +53 -1
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +5 -5
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +5 -5
- package/src/sap/fe/core/services/RoutingServiceFactory.js +154 -78
- package/src/sap/fe/core/services/ShellServicesFactory.js +9 -9
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +11 -12
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +12 -2
- package/src/sap/fe/core/support/AnnotationIssue.support.js +2 -4
- package/src/sap/fe/core/support/CollectionFacetMissingID.support.js +2 -4
- package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +2 -4
- package/src/sap/fe/core/support/CommonHelper.js +2 -4
- package/src/sap/fe/core/support/Diagnostics.js +1 -1
- package/src/sap/fe/core/templating/CriticalityFormatters.js +4 -4
- package/src/sap/fe/core/templating/DataFieldFormatters.js +1 -1
- package/src/sap/fe/core/templating/DataModelPathHelper.js +54 -6
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +54 -4
- package/src/sap/fe/core/templating/EntitySetHelper.js +86 -3
- package/src/sap/fe/core/templating/EntitySetHelper.ts +44 -0
- package/src/sap/fe/core/templating/FieldControlHelper.js +1 -1
- package/src/sap/fe/core/templating/FilterHelper.js +23 -5
- package/src/sap/fe/core/templating/FilterHelper.ts +15 -1
- package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
- package/src/sap/fe/core/templating/PropertyFormatters.js +1 -1
- package/src/sap/fe/core/templating/PropertyHelper.js +8 -8
- package/src/sap/fe/core/templating/UIFormatters.js +72 -4
- package/src/sap/fe/core/templating/UIFormatters.ts +98 -3
- package/src/sap/fe/core/type/Email.js +1 -1
|
@@ -6,19 +6,21 @@ import {
|
|
|
6
6
|
FacetTypes,
|
|
7
7
|
FieldGroup,
|
|
8
8
|
Identification,
|
|
9
|
+
PartOfPreview,
|
|
9
10
|
ReferenceFacetTypes,
|
|
10
11
|
UIAnnotationTerms,
|
|
11
12
|
UIAnnotationTypes
|
|
12
13
|
} from "@sap-ux/vocabularies-types";
|
|
13
14
|
import { BindingExpression } from "sap/fe/core/helpers/BindingExpression";
|
|
14
15
|
import { ConfigurableObject, CustomElement, insertCustomElements, Placement } from "../../helpers/ConfigurableObject";
|
|
15
|
-
import { FormID } from "../../helpers/ID";
|
|
16
|
+
import { FormID, FormStandardActionButtonID } from "../../helpers/ID";
|
|
16
17
|
import { KeyHelper } from "../../helpers/Key";
|
|
17
|
-
import {
|
|
18
|
+
import { ActionType, FormatOptionsType, FormManifestConfiguration } from "../../ManifestSettings";
|
|
18
19
|
import { getSemanticObjectPath } from "sap/fe/core/converters/annotations/DataField";
|
|
19
20
|
import { getTargetEntitySetPath, getTargetObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
|
|
20
21
|
import { generate } from "../../../helpers/StableIdHelper";
|
|
21
22
|
import ConverterContext from "../../ConverterContext";
|
|
23
|
+
import { BaseAction, ConverterAction } from "sap/fe/core/converters/controls/Common/Action";
|
|
22
24
|
|
|
23
25
|
export type FormDefinition = {
|
|
24
26
|
id: string;
|
|
@@ -32,6 +34,7 @@ export enum FormElementType {
|
|
|
32
34
|
}
|
|
33
35
|
|
|
34
36
|
export type BaseFormElement = ConfigurableObject & {
|
|
37
|
+
id?: string;
|
|
35
38
|
type: FormElementType;
|
|
36
39
|
label?: string;
|
|
37
40
|
visible?: BindingExpression<boolean>;
|
|
@@ -43,6 +46,7 @@ export type AnnotationFormElement = BaseFormElement & {
|
|
|
43
46
|
annotationPath?: string;
|
|
44
47
|
isValueMultilineText?: boolean;
|
|
45
48
|
semanticObjectPath?: string;
|
|
49
|
+
isPartOfPreview?: boolean;
|
|
46
50
|
};
|
|
47
51
|
|
|
48
52
|
export type CustomFormElement = CustomElement<
|
|
@@ -59,6 +63,7 @@ type FormContainer = {
|
|
|
59
63
|
formElements: FormElement[];
|
|
60
64
|
annotationPath: string;
|
|
61
65
|
entitySet?: string;
|
|
66
|
+
actions?: ConverterAction[] | BaseAction[];
|
|
62
67
|
};
|
|
63
68
|
|
|
64
69
|
/**
|
|
@@ -68,11 +73,17 @@ type FormContainer = {
|
|
|
68
73
|
*/
|
|
69
74
|
function getDefaultFormatOptionsForForm(): FormatOptionsType {
|
|
70
75
|
return {
|
|
71
|
-
textLinesDisplay: 0,
|
|
72
76
|
textLinesEdit: 4
|
|
73
77
|
};
|
|
74
78
|
}
|
|
75
79
|
|
|
80
|
+
function isFieldPartOfPreview(field: DataFieldAbstractTypes, formPartOfPreview: PartOfPreview | undefined): boolean {
|
|
81
|
+
// Both each form and field can have the PartOfPreview annotation. Only if the form is not hidden (not partOfPreview) we allow toggling on field level
|
|
82
|
+
return (
|
|
83
|
+
formPartOfPreview === false || field.annotations?.UI?.PartOfPreview === undefined || field.annotations?.UI?.PartOfPreview === true
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
|
|
76
87
|
function getFormElementsFromAnnotations(facetDefinition: ReferenceFacetTypes, converterContext: ConverterContext): AnnotationFormElement[] {
|
|
77
88
|
const formElements: AnnotationFormElement[] = [];
|
|
78
89
|
const resolvedTarget = converterContext.getEntityTypeAnnotation(facetDefinition.Target.value);
|
|
@@ -81,7 +92,7 @@ function getFormElementsFromAnnotations(facetDefinition: ReferenceFacetTypes, co
|
|
|
81
92
|
| AnnotationTerm<FieldGroup>;
|
|
82
93
|
converterContext = resolvedTarget.converterContext;
|
|
83
94
|
|
|
84
|
-
function getDataFieldsFromAnnotations(field: DataFieldAbstractTypes) {
|
|
95
|
+
function getDataFieldsFromAnnotations(field: DataFieldAbstractTypes, formPartOfPreview: PartOfPreview | undefined) {
|
|
85
96
|
const semanticObjectAnnotationPath = getSemanticObjectPath(converterContext, field);
|
|
86
97
|
if (
|
|
87
98
|
field.$Type !== UIAnnotationTypes.DataFieldForAction &&
|
|
@@ -93,17 +104,22 @@ function getFormElementsFromAnnotations(facetDefinition: ReferenceFacetTypes, co
|
|
|
93
104
|
type: FormElementType.Annotation,
|
|
94
105
|
annotationPath: converterContext.getEntitySetBasedAnnotationPath(field.fullyQualifiedName) + "/",
|
|
95
106
|
semanticObjectPath: semanticObjectAnnotationPath,
|
|
96
|
-
formatOptions: getDefaultFormatOptionsForForm()
|
|
107
|
+
formatOptions: getDefaultFormatOptionsForForm(),
|
|
108
|
+
isPartOfPreview: isFieldPartOfPreview(field, formPartOfPreview)
|
|
97
109
|
});
|
|
98
110
|
}
|
|
99
111
|
}
|
|
100
112
|
|
|
101
113
|
switch (formAnnotation?.term) {
|
|
102
114
|
case UIAnnotationTerms.FieldGroup:
|
|
103
|
-
(formAnnotation as AnnotationTerm<FieldGroup>).Data.forEach(
|
|
115
|
+
(formAnnotation as AnnotationTerm<FieldGroup>).Data.forEach(field =>
|
|
116
|
+
getDataFieldsFromAnnotations(field, facetDefinition.annotations?.UI?.PartOfPreview)
|
|
117
|
+
);
|
|
104
118
|
break;
|
|
105
119
|
case UIAnnotationTerms.Identification:
|
|
106
|
-
(formAnnotation as AnnotationTerm<Identification>).forEach(
|
|
120
|
+
(formAnnotation as AnnotationTerm<Identification>).forEach(field =>
|
|
121
|
+
getDataFieldsFromAnnotations(field, facetDefinition.annotations?.UI?.PartOfPreview)
|
|
122
|
+
);
|
|
107
123
|
break;
|
|
108
124
|
case UIAnnotationTerms.DataPoint:
|
|
109
125
|
formElements.push({
|
|
@@ -138,6 +154,7 @@ export function getFormElementsFromManifest(
|
|
|
138
154
|
Object.keys(manifestFormContainer?.fields).forEach(fieldId => {
|
|
139
155
|
formElements[fieldId] = {
|
|
140
156
|
key: fieldId,
|
|
157
|
+
id: "CustomFormElement::" + fieldId,
|
|
141
158
|
type: FormElementType.Default,
|
|
142
159
|
template: manifestFormContainer.fields[fieldId].template,
|
|
143
160
|
label: manifestFormContainer.fields[fieldId].label,
|
|
@@ -154,8 +171,14 @@ export function getFormElementsFromManifest(
|
|
|
154
171
|
return formElements;
|
|
155
172
|
}
|
|
156
173
|
|
|
157
|
-
export function getFormContainer(
|
|
174
|
+
export function getFormContainer(
|
|
175
|
+
facetDefinition: ReferenceFacetTypes,
|
|
176
|
+
converterContext: ConverterContext,
|
|
177
|
+
actions: BaseAction[] | ConverterAction[] | undefined
|
|
178
|
+
): FormContainer {
|
|
158
179
|
//TODO form container id
|
|
180
|
+
const sFormContainerId = generate([{ Facet: facetDefinition }]);
|
|
181
|
+
const sAnnotationPath = "/" + facetDefinition.fullyQualifiedName;
|
|
159
182
|
const resolvedTarget = converterContext.getEntityTypeAnnotation(facetDefinition.Target.value);
|
|
160
183
|
let sEntitySetPath!: string;
|
|
161
184
|
// resolvedTarget doesn't have a entitySet in case Containments and Paramterized services.
|
|
@@ -167,19 +190,50 @@ export function getFormContainer(facetDefinition: ReferenceFacetTypes, converter
|
|
|
167
190
|
} else if (resolvedTarget.converterContext.getDataModelObjectPath().targetObject?.containsTarget === true) {
|
|
168
191
|
sEntitySetPath = getTargetObjectPath(resolvedTarget.converterContext.getDataModelObjectPath(), false);
|
|
169
192
|
}
|
|
193
|
+
const aFormElements = insertCustomElements(
|
|
194
|
+
getFormElementsFromAnnotations(facetDefinition, converterContext),
|
|
195
|
+
getFormElementsFromManifest(facetDefinition, converterContext),
|
|
196
|
+
{ formatOptions: "overwrite" }
|
|
197
|
+
);
|
|
198
|
+
|
|
199
|
+
actions = actions !== undefined ? actions.filter(action => action.facetName == facetDefinition.fullyQualifiedName) : [];
|
|
200
|
+
if (actions.length === 0) {
|
|
201
|
+
actions = undefined;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
const oActionShowDetails: BaseAction = {
|
|
205
|
+
id: FormStandardActionButtonID(sFormContainerId, "ShowHideDetails"),
|
|
206
|
+
key: "StandardAction::ShowHideDetails",
|
|
207
|
+
text: "{sap.fe.i18n>T_COMMON_OBJECT_PAGE_SHOW_FORM_CONTAINER_DETAILS}",
|
|
208
|
+
type: ActionType.ShowFormDetails,
|
|
209
|
+
press: "FormContainerRuntime.toggleDetails"
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
if (
|
|
213
|
+
facetDefinition.annotations?.UI?.PartOfPreview !== false &&
|
|
214
|
+
aFormElements.some(oFormElement => oFormElement.isPartOfPreview === false)
|
|
215
|
+
) {
|
|
216
|
+
if (actions !== undefined) {
|
|
217
|
+
actions.push(oActionShowDetails);
|
|
218
|
+
} else {
|
|
219
|
+
actions = [oActionShowDetails];
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
170
223
|
return {
|
|
171
|
-
id:
|
|
172
|
-
formElements:
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
),
|
|
177
|
-
annotationPath: "/" + facetDefinition.fullyQualifiedName,
|
|
178
|
-
entitySet: sEntitySetPath
|
|
224
|
+
id: sFormContainerId,
|
|
225
|
+
formElements: aFormElements,
|
|
226
|
+
annotationPath: sAnnotationPath,
|
|
227
|
+
entitySet: sEntitySetPath,
|
|
228
|
+
actions: actions
|
|
179
229
|
};
|
|
180
230
|
}
|
|
181
231
|
|
|
182
|
-
function getFormContainersForCollection(
|
|
232
|
+
function getFormContainersForCollection(
|
|
233
|
+
facetDefinition: CollectionFacetTypes,
|
|
234
|
+
converterContext: ConverterContext,
|
|
235
|
+
actions: BaseAction[] | ConverterAction[]
|
|
236
|
+
): FormContainer[] {
|
|
183
237
|
const formContainers: FormContainer[] = [];
|
|
184
238
|
//TODO coll facet inside coll facet?
|
|
185
239
|
facetDefinition.Facets?.forEach(facet => {
|
|
@@ -187,7 +241,7 @@ function getFormContainersForCollection(facetDefinition: CollectionFacetTypes, c
|
|
|
187
241
|
if (facet.$Type === UIAnnotationTypes.CollectionFacet) {
|
|
188
242
|
return;
|
|
189
243
|
}
|
|
190
|
-
formContainers.push(getFormContainer(facet as ReferenceFacetTypes, converterContext));
|
|
244
|
+
formContainers.push(getFormContainer(facet as ReferenceFacetTypes, converterContext, actions));
|
|
191
245
|
});
|
|
192
246
|
return formContainers;
|
|
193
247
|
}
|
|
@@ -196,7 +250,11 @@ export function isReferenceFacet(facetDefinition: FacetTypes): facetDefinition i
|
|
|
196
250
|
return facetDefinition.$Type === UIAnnotationTypes.ReferenceFacet;
|
|
197
251
|
}
|
|
198
252
|
|
|
199
|
-
export function createFormDefinition(
|
|
253
|
+
export function createFormDefinition(
|
|
254
|
+
facetDefinition: FacetTypes,
|
|
255
|
+
converterContext: ConverterContext,
|
|
256
|
+
actions: BaseAction[] | ConverterAction[]
|
|
257
|
+
): FormDefinition {
|
|
200
258
|
switch (facetDefinition.$Type) {
|
|
201
259
|
case UIAnnotationTypes.CollectionFacet:
|
|
202
260
|
// Keep only valid children
|
|
@@ -206,7 +264,7 @@ export function createFormDefinition(facetDefinition: FacetTypes, converterConte
|
|
|
206
264
|
hasFacetsNotPartOfPreview: facetDefinition.Facets.some(
|
|
207
265
|
childFacet => childFacet.annotations?.UI?.PartOfPreview?.valueOf() === false
|
|
208
266
|
),
|
|
209
|
-
formContainers: getFormContainersForCollection(facetDefinition, converterContext)
|
|
267
|
+
formContainers: getFormContainersForCollection(facetDefinition, converterContext, actions)
|
|
210
268
|
};
|
|
211
269
|
return formCollectionDefinition;
|
|
212
270
|
case UIAnnotationTypes.ReferenceFacet:
|
|
@@ -214,7 +272,7 @@ export function createFormDefinition(facetDefinition: FacetTypes, converterConte
|
|
|
214
272
|
id: FormID({ Facet: facetDefinition }),
|
|
215
273
|
useFormContainerLabels: false,
|
|
216
274
|
hasFacetsNotPartOfPreview: facetDefinition.annotations?.UI?.PartOfPreview?.valueOf() === false,
|
|
217
|
-
formContainers: [getFormContainer(facetDefinition, converterContext)]
|
|
275
|
+
formContainers: [getFormContainer(facetDefinition, converterContext, actions)]
|
|
218
276
|
};
|
|
219
277
|
return formDefinition;
|
|
220
278
|
default:
|