@sap/open.fe 1.94.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/LICENSE.txt +23 -0
- package/README.md +10 -0
- package/package.json +21 -0
- package/packages/sap.fe.common/src/sap/fe/common/.library +36 -0
- package/packages/sap.fe.common/src/sap/fe/common/.theming +6 -0
- package/packages/sap.fe.common/src/sap/fe/common/MessageButton-dbg.js +1378 -0
- package/packages/sap.fe.common/src/sap/fe/common/MessageButton.js +6 -0
- package/packages/sap.fe.common/src/sap/fe/common/MessageFilter-dbg.js +36 -0
- package/packages/sap.fe.common/src/sap/fe/common/MessageFilter.js +6 -0
- package/packages/sap.fe.common/src/sap/fe/common/MessagePopover-dbg.js +56 -0
- package/packages/sap.fe.common/src/sap/fe/common/MessagePopover.js +6 -0
- package/packages/sap.fe.common/src/sap/fe/common/library-dbg.js +41 -0
- package/packages/sap.fe.common/src/sap/fe/common/library-h2-preload.js +18 -0
- package/packages/sap.fe.common/src/sap/fe/common/library-h2-preload.js.map +9 -0
- package/packages/sap.fe.common/src/sap/fe/common/library-preload.js +68 -0
- package/packages/sap.fe.common/src/sap/fe/common/library-preload.js.map +9 -0
- package/packages/sap.fe.common/src/sap/fe/common/library.js +6 -0
- package/packages/sap.fe.common/src/sap/fe/common/manifest.json +40 -0
- package/packages/sap.fe.common/src/sap/fe/common/resources.json +186 -0
- package/packages/sap.fe.common/test/sap/fe/common/designtime/api.json +1 -0
- package/packages/sap.fe.common/test/sap/fe/common/designtime/apiref/api.json +1 -0
- package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.jsmeta.json +1 -0
- package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.jstemplates.json +1 -0
- package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.xmlmeta.json +1 -0
- package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.xmltemplates.json +1 -0
- package/packages/sap.fe.common/test/sap/fe/common/relnotes/changes-1.91.json +23 -0
- package/packages/sap.fe.common/test/sap/fe/common/relnotes/changes-1.94.json +23 -0
- package/packages/sap.fe.core/src/sap/fe/core/.library +60 -0
- package/packages/sap.fe.core/src/sap/fe/core/.supportrc +4 -0
- package/packages/sap.fe.core/src/sap/fe/core/.theming +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper-dbg.js +409 -0
- package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/AppComponent-dbg.js +433 -0
- package/packages/sap.fe.core/src/sap/fe/core/AppComponent.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler-dbg.js +184 -0
- package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/BaseController-dbg.js +65 -0
- package/packages/sap.fe.core/src/sap/fe/core/BaseController.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/BusyLocker-dbg.js +112 -0
- package/packages/sap.fe.core/src/sap/fe/core/BusyLocker.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils-dbg.js +2246 -0
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/ExtensionAPI-dbg.js +269 -0
- package/packages/sap.fe.core/src/sap/fe/core/ExtensionAPI.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/PageController-dbg.js +120 -0
- package/packages/sap.fe.core/src/sap/fe/core/PageController.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy-dbg.js +822 -0
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/Synchronization-dbg.js +38 -0
- package/packages/sap.fe.core/src/sap/fe/core/Synchronization.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent-dbg.js +152 -0
- package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/TemplateModel-dbg.js +57 -0
- package/packages/sap.fe.core/src/sap/fe/core/TemplateModel.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper-dbg.js +1584 -0
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/draft-dbg.js +584 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/draft.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling-dbg.js +439 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/nonDraft-dbg.js +23 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/nonDraft.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/operations-dbg.js +1174 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/operations.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/sticky-dbg.js +121 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/sticky.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata-dbg.js +75 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +1667 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/IntentBasedNavigation-dbg.js +57 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +501 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +707 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +989 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +417 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement.ts +399 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +116 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady-dbg.js +403 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady.ts +350 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Paginator-dbg.js +135 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Paginator.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +287 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Placeholder.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing-dbg.js +109 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/RoutingListener-dbg.js +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/RoutingListener.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Share-dbg.js +258 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Share.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +711 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects.ts +692 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState-dbg.js +615 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +76 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/ActionPartial.fragment.xml +91 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/CommandExecution-dbg.js +71 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/CommandExecution.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/ConditionalWrapper-dbg.js +82 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/ConditionalWrapper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +127 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +12 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +122 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper-dbg.js +150 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/FilterBar-dbg.js +162 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/FilterBar.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/FormElementWrapper-dbg.js +47 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/FormElementWrapper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +61 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/FilterContainer-dbg.js +122 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/FilterContainer.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +209 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilter.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilterContainer-dbg.js +148 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +319 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext-dbg.js +500 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext.ts +460 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings-dbg.js +90 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.ts +431 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper-dbg.js +404 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper.ts +322 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter-dbg.js +1294 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.ts +1172 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/TemplateConverter-dbg.js +100 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/TemplateConverter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/TemplateConverter.ts +126 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField-dbg.js +335 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.ts +306 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +1692 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action-dbg.js +349 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.ts +353 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +206 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Chart.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Chart.ts +202 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Criticality-dbg.js +50 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Criticality.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Criticality.ts +33 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +276 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/DataVisualization.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +296 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form-dbg.js +222 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.ts +241 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +181 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI.ts +220 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table-dbg.js +2100 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.ts +2446 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +499 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +545 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +335 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +316 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet-dbg.js +495 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +502 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +674 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +711 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +204 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation.ts +176 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/BindingHelper-dbg.js +96 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/BindingHelper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/BindingHelper.ts +76 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ConfigurableObject-dbg.js +217 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ConfigurableObject.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +211 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID-dbg.js +90 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID.ts +45 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +61 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager.ts +41 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Key-dbg.js +86 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Key.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Key.ts +49 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/SelectionVariantHelper-dbg.js +93 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +92 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/FormMenuActions-dbg.js +164 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/FormMenuActions.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +160 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +427 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +414 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +552 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.ts +601 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +320 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ObjectPageConverter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +314 -0
- package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent-dbg.designtime.js +93 -0
- package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent.designtime.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js +8 -0
- package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js.map +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/CriticalityFormatter-dbg.js +77 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/CriticalityFormatter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/CriticalityFormatter.ts +58 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/FPMFormatter-dbg.js +51 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/FPMFormatter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/FPMFormatter.ts +41 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/KPIFormatter-dbg.js +103 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/KPIFormatter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/KPIFormatter.ts +88 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter-dbg.js +100 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.ts +80 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatterTypes-dbg.js +23 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatterTypes.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatterTypes.ts +7 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter-dbg.js +162 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter.ts +130 -0
- package/packages/sap.fe.core/src/sap/fe/core/fpm/Component-dbg.js +58 -0
- package/packages/sap.fe.core/src/sap/fe/core/fpm/Component.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/fpm/manifest.json +64 -0
- package/packages/sap.fe.core/src/sap/fe/core/fpm/resources.json +18 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/AnnotationEnum-dbg.js +49 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/AnnotationEnum.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/AnnotationEnum.ts +18 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression-dbg.js +1667 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression.ts +1765 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ClassSupport-dbg.js +314 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ClassSupport.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ClassSupport.ts +232 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/DynamicAnnotationPathHelper-dbg.js +62 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/EditState-dbg.js +92 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/EditState.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ExcelFormatHelper-dbg.js +53 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ExcelFormatHelper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/FPMHelper-dbg.js +64 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/FPMHelper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper-dbg.js +150 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/PasteHelper-dbg.js +130 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/PasteHelper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +327 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticDateOperators.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticKeyHelper-dbg.js +78 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticKeyHelper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/StableIdHelper-dbg.js +267 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/StableIdHelper.js +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/StableIdHelper.ts +228 -0
- package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsx-dbg.js +75 -0
- package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsx.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsx.ts +83 -0
- package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsxs-dbg.js +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsxs.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsxs.ts +3 -0
- package/packages/sap.fe.core/src/sap/fe/core/library-dbg.js +429 -0
- package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js +123 -0
- package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js.map +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.js +1201 -0
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.js.map +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.support.js +148 -0
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.support.js.map +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/library.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/library.support.js +32 -0
- package/packages/sap.fe.core/src/sap/fe/core/manifest.json +121 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle.properties +417 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ar.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_bg.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ca.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cs.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cy.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_da.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_de.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_el.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_GB.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_sappsd.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saprigi.properties +275 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saptrc.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es_MX.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_et.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fi.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr_CA.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hi.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hr.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hu.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_id.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_it.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_iw.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ja.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_kk.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ko.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lt.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lv.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ms.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_nl.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_no.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pl.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt_PT.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ro.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ru.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sh.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sk.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sl.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sv.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_th.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_tr.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_uk.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_vi.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_CN.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_TW.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/resources.json +4087 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +106 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +58 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/CacheHandlerServiceFactory-dbg.js +205 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/CacheHandlerServiceFactory.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +128 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory.ts +71 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +303 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/NavigationServiceFactory.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/ResourceModelServiceFactory-dbg.js +84 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/ResourceModelServiceFactory.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +1099 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory-dbg.js +819 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory.ts +720 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +731 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory.ts +668 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +471 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/view/TemplatingErrorPage-dbg.controller.js +12 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/view/TemplatingErrorPage.view.xml +8 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/AnnotationIssue.support.js +38 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/AnnotationIssue.support.ts +20 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/CollectionFacetMissingID.support.js +38 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/CollectionFacetMissingID.support.ts +18 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +38 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.ts +18 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/CommonHelper-dbg.js +71 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/CommonHelper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/CommonHelper.ts +67 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/Diagnostics-dbg.js +73 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/Diagnostics.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/Diagnostics.ts +66 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/CriticalityFormatters-dbg.js +156 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/CriticalityFormatters.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/CriticalityFormatters.ts +226 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/DataFieldFormatters-dbg.js +77 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/DataFieldFormatters.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/DataFieldFormatters.ts +54 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +444 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper.ts +428 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper-dbg.js +33 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper.ts +13 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/FieldControlHelper-dbg.js +89 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/FieldControlHelper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/FieldControlHelper.ts +53 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper-dbg.js +331 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper.ts +310 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterTemplating-dbg.js +66 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterTemplating.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterTemplating.ts +39 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyFormatters-dbg.js +126 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyFormatters.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyFormatters.ts +86 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper-dbg.js +303 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper.ts +209 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters-dbg.js +525 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters.ts +489 -0
- package/packages/sap.fe.core/src/sap/fe/core/type/Email-dbg.js +20 -0
- package/packages/sap.fe.core/src/sap/fe/core/type/Email.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/type/Email.ts +18 -0
- package/packages/sap.fe.core/test/sap/fe/core/designtime/api.json +1 -0
- package/packages/sap.fe.core/test/sap/fe/core/designtime/apiref/api.json +1 -0
- package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.jsmeta.json +1 -0
- package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.jstemplates.json +1 -0
- package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.xmlmeta.json +1 -0
- package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.xmltemplates.json +1 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/Component.js +56 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controller/App.controller.js +252 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controller/BaseController.js +46 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controller/ControllerExtensions.controller.js +380 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controller/CustomElements.controller.js +380 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controller/MacrosPage.controller.js +382 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controller/Overview.controller.js +99 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controller/Topic.controller.js +71 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controls/FileEditor.js +401 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/css/FileEditor.css +8 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/css/codesample.css +172 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/css/markdown-styles.css +3 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/css/style.css +48 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/css/topic.css +176 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/index.html +62 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/manifest.json +132 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/ControllerExtensionNavigationModel.js +174 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/CustomElementNavigationModel.js +327 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/ExploreSettingsModel.js +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/MacroNavigationModel.js +709 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/OverviewNavigationModel.js +15 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/scripts/boot.js +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/service-worker.js +100 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/.gitignore.tmpl +0 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/.npmrc.tmpl +0 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/README.md +43 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/package.json +31 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/ui5-local.yaml +25 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/ui5.yaml +25 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/webapp/Component.js +9 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/webapp/i18n/i18n.properties +9 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/webapp/index.html +28 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/webapp/manifest.json +165 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/Component.js +31 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/localService/Incidents.json +56 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/localService/service.cds +32 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/manifest.json +109 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/myViewTest.controller.js +6 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/myViewTest.view.xml +30 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FclNavigationButtons.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/buildingBlockOverview.html +24 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/buildingBlockOverview.md +23 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/ChartDefault.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/ChartDefault.view.xml +21 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/localService/ChildEntity.json +686 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/localService/CreditLimitDetails.json +154 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/localService/RootEntity.json +252 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/localService/service.cds +122 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/manifest.json +69 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/ChartQualifier.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/ChartQualifier.view.xml +20 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/localService/ChildEntity.json +686 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/localService/CreditLimitDetails.json +154 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/localService/RootEntity.json +252 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/localService/service.cds +122 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/manifest.json +69 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/ChartSelectionMode.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/ChartSelectionMode.view.xml +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/localService/ChildEntity.json +686 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/localService/CreditLimitDetails.json +154 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/localService/RootEntity.json +277 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/localService/service.cds +122 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/manifest.json +69 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chartDefault.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chartQualifier.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chartSelectionMode.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/Component.js +34 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/FieldDisplay.view.xml +64 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/localService/ChildEntity.json +14 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/localService/FieldDisplay.cds +94 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/localService/RootEntity.json +23 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/manifest.json +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/Component.js +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/FieldEdit.controller.js +10 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/FieldEdit.view.xml +101 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/localService/ChildEntity.json +14 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/localService/FieldControlValueHelpEntity.json +14 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/localService/FieldEdit.cds +77 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/localService/RootEntity.json +14 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/localService/localAnnotations.xml +38 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/manifest.json +75 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/Component.js +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/FieldEvents.controller.js +23 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/FieldEvents.view.xml +20 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/localService/Entities.json +6 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/localService/service.cds +6 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/manifest.json +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/Component.js +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/FieldFormatOptions.controller.js +10 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/FieldFormatOptions.view.xml +132 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/Currencies.json +29 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/Currencies_texts.json +38 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/FieldFormatOptions.cds +58 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/Languages.json +17 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/Languages_texts.json +38 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/RootEntity.json +13 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/UnitOfMeasure.json +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/manifest.json +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/Component.js +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/FieldNavProp.controller.js +10 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/FieldNavProp.view.xml +114 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/localService/FieldNavProp.cds +161 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/localService/NavProp1.json +25 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/localService/NavProp2.json +7 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/localService/RootEntity.json +14 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/localService/ValueHelpEntity.json +14 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/manifest.json +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/fieldDisplay.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/fieldEdit.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/fieldEvents.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/fieldFormatOptions.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/fieldNavProp.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/FilterBarDefault.controller.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/FilterBarDefault.view.xml +58 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/ChildEntity.json +686 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/CreditLimitDetails.json +154 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/RootEntity.json +102 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/service.cds +96 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/manifest.json +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBarDefault.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementCustomField/Component.js +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementCustomField/FormElementCustomField.view.xml +49 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementCustomField/localService/FormElementCustomField.cds +19 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementCustomField/localService/RootEntity.json +13 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementCustomField/manifest.json +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementLabel/Component.js +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementLabel/FormElementLabel.view.xml +32 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementLabel/localService/FormElementLabel.cds +19 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementLabel/localService/RootEntity.json +13 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementLabel/manifest.json +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElementCustomField.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElementLabel.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/i18n/i18n.properties +19 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microChartDefault.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microChartDynamicSize.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microChartHideOnNoData.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microChartShowOnlyChart.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/MicroChartDefault.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/MicroChartDefault.view.xml +83 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/localService/ChildEntity.json +686 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/localService/CreditLimitDetails.json +154 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/localService/RootEntity.json +34 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/localService/service.cds +308 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/manifest.json +69 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/MicroChartDynamicSize.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/MicroChartDynamicSize.view.xml +93 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/localService/ChildEntity.json +686 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/localService/CreditLimitDetails.json +154 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/localService/RootEntity.json +34 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/localService/service.cds +308 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/manifest.json +69 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/MicroChartHideOnNoData.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/MicroChartHideOnNoData.view.xml +91 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/localService/ChildEntity.json +686 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/localService/CreditLimitDetails.json +154 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/localService/RootEntity.json +34 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/localService/service.cds +308 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/manifest.json +69 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/MicroChartShowOnlyChart.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/MicroChartShowOnlyChart.view.xml +93 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/localService/ChildEntity.json +686 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/localService/CreditLimitDetails.json +154 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/localService/RootEntity.json +34 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/localService/service.cds +308 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/manifest.json +69 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginator/paginatorDefault/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginator/paginatorDefault/PaginatorDefault.controller.js +27 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginator/paginatorDefault/PaginatorDefault.view.xml +45 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginator/paginatorDefault/localService/RootEntity.json +102 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginator/paginatorDefault/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginator/paginatorDefault/localService/service.cds +90 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginator/paginatorDefault/manifest.json +79 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginatorDefault.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/share/Component.js +34 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/share/Share.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/share/Share.view.xml +23 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/share/localService/RootEntity.json +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/share/localService/Share.cds +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/share/manifest.json +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/shareDefault.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Component.js +40 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.controller.js +32 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.view.xml +32 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/localService/RootEntity.json +82 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/localService/service.cds +82 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/manifest.json +78 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/TableDefault.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/TableDefault.view.xml +10 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/localService/RootEntity.json +102 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/localService/service.cds +90 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/manifest.json +79 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/TableEdit.controller.js +19 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/TableEdit.view.xml +31 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/localService/RootEntity.json +78 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/localService/ValueHelpCurrencyEntity.json +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/localService/service.cds +119 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/manifest.json +82 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/tableCustoms.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/tableDefault.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/tableEdit.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/OPExtend.controller.js +41 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/localService/RootEntity.json +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/localService/service.cds +52 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/manifest.json +76 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/controllerExtensionsOverview.html +24 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/controllerExtensionsOverview.md +18 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/intentBasedNavigation/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/intentBasedNavigation/IntentBasedNavigation.controller.js +21 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/intentBasedNavigation/IntentBasedNavigation.view.xml +23 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/intentBasedNavigation/localService/RootEntity.json +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/intentBasedNavigation/localService/service.cds +40 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/intentBasedNavigation/manifest.json +76 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/intentBasedNavigation.html +70 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/routingExtensibility/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/routingExtensibility/extendLR.controller.js +63 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/routingExtensibility/extendOP.controller.js +13 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/routingExtensibility/localService/RootEntity.json +18 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/routingExtensibility/localService/service.cds +64 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/routingExtensibility/manifest.json +103 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/routingExtensibility.html +70 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/share/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/share/Share.controller.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/share/Share.view.xml +21 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/share/ShareExtend.js +15 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/share/localService/RootEntity.json +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/share/localService/service.cds +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/share/manifest.json +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/shareExtensibility.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/CustomSection.fragment.xml +15 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/OPExtend.controller.js +57 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/localService/RootEntity.json +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/localService/service.cds +40 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/manifest.json +86 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState.html +70 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customAction/customActionContent/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customAction/customActionContent/CustomAction.js +41 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customAction/customActionContent/extendOP.controller.js +9 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customAction/customActionContent/localService/ChildEntity.json +22 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customAction/customActionContent/localService/RootEntity.json +10 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customAction/customActionContent/localService/service.cds +73 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customAction/customActionContent/manifest.json +133 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customActionContent.html +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumn.js +25 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnAdaptation.fragment.xml +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnButton.fragment.xml +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/localService/ChildEntity.json +26 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/localService/RootEntity.json +9 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/localService/service.cds +55 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/manifest.json +98 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumnContent.html +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customElementsOverview.html +24 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customElementsOverview.md +21 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilter/customFilterContent/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilter/customFilterContent/CustomFilter.js +28 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilter/customFilterContent/CustomRatingFilter.fragment.xml +8 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilter/customFilterContent/CustomRatingFilterOperator.fragment.xml +17 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilter/customFilterContent/localService/RootEntity.json +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilter/customFilterContent/localService/service.cds +75 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilter/customFilterContent/manifest.json +87 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilterContent.html +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetColumnChart.fragment.xml +19 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetDataPoint.fragment.xml +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetMicroChartAndFormElement.fragment.xml +42 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/localService/RootEntity.json +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/localService/service.cds +54 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/manifest.json +127 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacetContent.html +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/CustomDetailPage.controller.js +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/CustomDetailPage.view.xml +64 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/CustomPage.controller.js +10 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/CustomPage.view.xml +39 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/localService/ChildEntity.json +23 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/localService/RootEntity.json +41 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/localService/ValueHelpCurrencyEntity.json +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/localService/resources/275081.jpg +0 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/localService/resources/275472.jpg +0 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/localService/service.cds +144 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/manifest.json +119 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPageContent.html +70 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSection.fragment.xml +13 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSectionFormElementAndTable.fragment.xml +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSectionNavigation.fragment.xml +44 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSectionNavigation.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/extendOP.controller.js +13 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/localService/ChildEntity.json +82 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/localService/RootEntity.json +9 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/localService/ValueHelpCurrencyEntity.json +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/localService/service.cds +177 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/manifest.json +129 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSectionContent.html +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/CustomButton.js +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/CustomViewWithButton.fragment.xml +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/CustomViewWithTable.fragment.xml +46 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/LRExtend.controller.js +31 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/localService/RootEntity.json +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/localService/service.cds +70 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/manifest.json +100 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLRContent.html +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/i18n/i18n.properties +61 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/overview/introduction.html +24 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/overview/introduction.md +6 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/util/FileUtils.js +124 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/view/App.view.xml +60 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/view/ControllerExtensions.view.xml +97 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/view/CustomElements.view.xml +97 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/view/MacrosPage.view.xml +97 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/view/Overview.view.xml +13 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression-AnnotationExpression.spec.js +140 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression-AnnotationExpression.spec.ts +142 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression.spec.js +504 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression.spec.ts +751 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/TemplateConverter.spec.js +74 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/TemplateConverter.spec.ts +75 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/__snapshots__/BindingExpression-AnnotationExpression.spec.ts.snap +7 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/__snapshots__/TemplateConverter.spec.ts.snap +17450 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/KPIManagement.spec.js +582 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/KPIManagement.spec.ts +515 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.js +636 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.ts +547 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.js +60 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.ts +57 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/HeaderFacet.spec.js +436 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/HeaderFacet.spec.ts +469 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/KPITag.spec.js +346 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/KPITag.spec.ts +357 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.js +255 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.ts +254 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.js +67 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.ts +43 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ObjectPageConverter.spec.js +577 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ObjectPageConverter.spec.ts +593 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.js +1206 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.ts +1361 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/Table.spec.ts.snap +21 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/AnalyticalService.cds +16 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/BindingExpression-AnnotationExpression.xml +248 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/ConverterContext.cds +34 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/HeaderFacets.cds +199 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/KPI.cds +320 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/KPINone.cds +78 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/ListReportConverter.cds +164 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/MetaModelConverter.cds +43 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/MetaModelConverterBoundAction.cds +31 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/ObjectPageConverter.cds +161 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/PropertyHelper.cds +14 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/SideEffects.cds +285 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/Table.cds +98 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableGetSelectionMode.cds +242 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableNewActionNoOperationAvailable.cds +22 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableNewActionOperationAvailableFalse.cds +25 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableNewActionOperationAvailableTrue.cds +24 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/salesOrderMetadata.xml +4824 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/ValueFormatters.spec.js +54 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/ValueFormatters.spec.ts +70 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.js +607 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.ts +540 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/PropertyHelper.spec.js +62 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/PropertyHelper.spec.ts +45 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/type/Email.spec.js +34 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/type/Email.spec.ts +21 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/TemplatingExpressions.qunit.js +1328 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/generalTests.js +18 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/generalTests.json +233 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/index.js +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/common/testHelper.js +81 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/common/utility.js +28 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/helpers/ExcelFormatHelper.qunit.js +19 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/helpers/SemanticDateOperators.qunit.js +253 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/helpers/SemanticKeyHelper.qunit.js +211 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/helpers/StableIdHelper.qunit.js +301 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/services/CacheHandlerTest.qunit.js +924 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/test/iteloMetadata.js +2752 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/test/musicDraftMetadata.js +2301 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/test/simpleMetadata.js +1186 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/test/techServiceMetadata.js +3993 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/testsuite.qunit.html +14 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/testsuite.qunit.js +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.91.json +96 -0
- package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.94.json +40 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/.library +54 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/.theming +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Chart.fragment.xml +171 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Chart.metadata-dbg.js +200 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Chart.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate-dbg.js +530 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper-dbg.js +1256 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Contact-dbg.designtime.js +93 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Contact.designtime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Contact.fragment.xml +38 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Contact.metadata-dbg.js +91 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Contact.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/ContactHelper-dbg.js +96 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/ContactHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/DelegateUtil-dbg.js +286 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/DelegateUtil.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/DraftIndicator.fragment.xml +37 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/DraftIndicator.metadata-dbg.js +91 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/DraftIndicator.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/DraftIndicatorRuntime-dbg.js +138 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/DraftIndicatorRuntime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Field.fragment.xml +37 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Field.metadata-dbg.js +144 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Field.metadata.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Field.metadata.ts +136 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI-dbg.js +234 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.ts +177 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldValueHelpDelegate-dbg.js +55 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldValueHelpDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar-dbg.designtime.js +83 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.designtime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.fragment.xml +109 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.metadata-dbg.js +243 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI-dbg.js +130 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.ts +62 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate-dbg.js +568 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarHelper-dbg.js +48 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterField-dbg.designtime.js +339 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterField.designtime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterField.fragment.xml +57 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterField.metadata-dbg.js +130 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterField.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FlexibleColumnLayoutActions.fragment.xml +24 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FlexibleColumnLayoutActions.metadata-dbg.js +68 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FlexibleColumnLayoutActions.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Form-dbg.designtime.js +188 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.designtime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.fragment.xml +94 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata-dbg.js +209 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer-dbg.designtime.js +42 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.designtime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.fragment.xml +196 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.metadata-dbg.js +132 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormElement.fragment.xml +25 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormElement.metadata-dbg.js +123 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormElement.metadata.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormElement.metadata.ts +113 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormWrapper.fragment.xml +26 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/KPITag.fragment.xml +33 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/KPITag.metadata-dbg.js +103 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/KPITag.metadata.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/KPITag.metadata.ts +106 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI-dbg.js +197 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI.ts +120 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroMetadata-dbg.js +92 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroMetadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroRuntime-dbg.js +33 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroRuntime.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroRuntime.ts +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroTemplating-dbg.js +22 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroTemplating.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroTemplating.ts +9 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MicroChart-dbg.designtime.js +361 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MicroChart.designtime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MicroChart.fragment.xml +36 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MicroChart.metadata-dbg.js +149 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MicroChart.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/ODataMetaModelUtil-dbg.js +600 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/ODataMetaModelUtil.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Paginator.fragment.xml +32 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Paginator.metadata-dbg.js +61 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Paginator.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil-dbg.js +615 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm-dbg.designtime.js +215 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm.designtime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm.fragment.xml +66 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm.metadata-dbg.js +84 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/ResourceModel-dbg.js +56 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/ResourceModel.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Share.fragment.xml +21 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Share.metadata-dbg.js +90 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Share.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/SizeHelper-dbg.js +41 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/SizeHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.fragment.xml +236 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata-dbg.js +489 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI-dbg.js +469 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.ts +487 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/TraceInfo-dbg.js +462 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/TraceInfo.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/ValueHelp.metadata-dbg.js +135 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/ValueHelp.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/VisualFilter.fragment.xml +87 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/VisualFilter.metadata-dbg.js +217 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/VisualFilter.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper-dbg.js +468 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartRuntime-dbg.js +118 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartRuntime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartUtils-dbg.js +221 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartUtils.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/designtime/library-preload.designtime.js +17 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/designtime/library-preload.designtime.js.map +9 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/DraftPopOverAdminData.fragment.xml +53 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper-dbg.js +1670 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime-dbg.js +400 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating-dbg.js +538 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.ts +541 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkContactContent.fragment.xml +95 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate-dbg.js +1136 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkForContact.fragment.xml +26 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkForDataField.fragment.xml +95 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkForEntity.fragment.xml +76 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkWithFacets.fragment.xml +40 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/CustomFilter.fragment.xml +38 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/DraftEditState-dbg.js +179 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/DraftEditState.fragment.xml +36 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/DraftEditState.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldHelper-dbg.js +149 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldTemplating-dbg.js +23 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldTemplating.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldTemplating.ts +11 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils-dbg.js +363 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/MultiValue-dbg.js +53 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/MultiValue.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Range-dbg.js +38 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Range.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Value-dbg.js +219 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Value.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/flexibility/FormDelegate-dbg.js +152 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/flexibility/FormDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/flexibility/ValueHelpWrapper.fragment.xml +3 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/form/AddressSection.fragment.xml +35 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/form/DataFieldCollection.fragment.xml +44 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/form/FormElement.fragment.xml +42 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/form/FormHelper-dbg.js +118 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/form/FormHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomFormElement.fragment.xml +10 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomFragment.fragment.xml +13 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomFragment.metadata-dbg.js +73 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomFragment.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomHeaderFieldElement.fragment.xml +17 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomSection.fragment.xml +13 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomSection.metadata-dbg.js +82 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomSection.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/fpm-dbg.js +15 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/fpm.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.fragment.xml +33 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata-dbg.js +167 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata.ts +179 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.fragment.xml +123 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.metadata-dbg.js +162 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field-dbg.designtime.js +811 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.designtime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.fragment.xml +20 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata-dbg.js +534 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/collectionField/MultiValueFieldDelegate-dbg.js +76 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/collectionField/MultiValueFieldDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/ConnectedDataField.fragment.xml +39 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldContent.fragment.xml +94 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldStructure.fragment.xml +55 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/AmountWithCurrency.fragment.xml +41 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Avatar.fragment.xml +57 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Button.fragment.xml +56 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Contact.fragment.xml +38 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/DataPoint.fragment.xml +45 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ExpandableText.fragment.xml +18 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/File.fragment.xml +31 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LabelSemanticKey.fragment.xml +65 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Link.fragment.xml +30 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWithQuickViewForm.fragment.xml +45 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWrapper.fragment.xml +56 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ObjectIdentifier.fragment.xml +37 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ObjectStatus.fragment.xml +16 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/SemanticKeyWithDraftIndicator.fragment.xml +35 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Text.fragment.xml +33 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/CheckBox.fragment.xml +28 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/DatePicker.fragment.xml +32 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/DateTimePicker.fragment.xml +33 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/File.fragment.xml +55 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/Input.fragment.xml +33 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/InputWithUnit.fragment.xml +77 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/InputWithValueHelp.fragment.xml +73 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/RatingIndicator.fragment.xml +23 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/TextArea.fragment.xml +34 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/TimePicker.fragment.xml +33 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/form/FormTemplating-dbg.js +65 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/form/FormTemplating.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/form/FormTemplating.ts +40 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating-dbg.js +244 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +229 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate-dbg.js +215 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelp-dbg.designtime.js +466 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelp.designtime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelp.fragment.xml +23 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpContent.fragment.xml +62 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpTemplating-dbg.js +155 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpTemplating.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpTemplating.ts +133 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +57 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListFilterBar.fragment.xml +20 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper-dbg.js +1286 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListTable.fragment.xml +67 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListTableColumnHeader.fragment.xml +25 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/library-dbg.js +144 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js +190 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js.map +9 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js +696 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js.map +9 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/library.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/macroLibrary-dbg.js +126 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/macroLibrary.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/manifest.json +115 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditDialog.fragment.xml +106 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditHandler-dbg.js +708 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditHandler.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime-dbg.js +115 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle.properties +215 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ar.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_bg.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ca.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cs.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cy.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_da.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_de.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_el.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_GB.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_sappsd.properties +129 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +129 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saptrc.properties +129 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es_MX.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_et.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fi.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr_CA.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hi.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hr.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hu.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_id.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_it.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_iw.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ja.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_kk.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ko.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lt.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lv.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ms.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_nl.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_no.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pl.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt_PT.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ro.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ru.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sh.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sk.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sl.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sv.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_th.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_tr.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_uk.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_vi.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_CN.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_TW.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/MicroChartContainer-dbg.js +620 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/MicroChartContainer.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/MicroChartHelper-dbg.js +491 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/MicroChartHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/AreaMicroChart.fragment.xml +180 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/BulletMicroChart.fragment.xml +111 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/ColumnMicroChart.fragment.xml +99 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/ComparisonMicroChart.fragment.xml +64 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/HarveyBallMicroChart.fragment.xml +64 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/LineMicroChart.fragment.xml +67 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/MicroChartContent.fragment.xml +41 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/MicroChartTitle.fragment.xml +52 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/RadialMicroChart.fragment.xml +58 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/StackedBarMicroChart.fragment.xml +54 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/resources.json +4885 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/share/ShareSheet.fragment.xml +26 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Actions.fragment.xml +215 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/BasicSearch-dbg.js +73 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/BasicSearch.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Column.fragment.xml +27 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/ColumnContent.fragment.xml +133 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/ColumnProperty.fragment.xml +43 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Columns.fragment.xml +37 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/CreationRow.fragment.xml +33 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/CustomColumn.fragment.xml +16 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/QuickFilterContainer-dbg.js +298 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/QuickFilterContainer.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableFullScreenUtil-dbg.js +194 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableFullScreenUtil.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper-dbg.js +1399 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableRuntime-dbg.js +231 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableRuntime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils-dbg.js +468 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/ValueHelp.fragment.xml +34 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/ALPTableDelegate-dbg.js +32 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/ALPTableDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/ALPTableDelegateBaseMixin-dbg.js +100 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/ALPTableDelegateBaseMixin.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/AnalyticalALPTableDelegate-dbg.js +36 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/AnalyticalALPTableDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/AnalyticalTableDelegate-dbg.js +147 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/AnalyticalTableDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate-dbg.js +818 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar-dbg.designtime.js +83 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.designtime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.fragment.xml +115 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.metadata-dbg.js +204 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/InteractiveChartHelper-dbg.js +476 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/InteractiveChartHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/VisualFilterRuntime-dbg.js +286 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/VisualFilterRuntime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/fragments/InteractiveBarChart.fragment.xml +70 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/fragments/InteractiveDonutChart.fragment.xml +69 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/fragments/InteractiveLineChart.fragment.xml +70 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/api.json +1001 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/apiref/api.json +1 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.jsmeta.json +1 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.jstemplates.json +1 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.xmlmeta.json +1 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.xmltemplates.json +1 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CollectionField.spec.js +64 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CollectionField.spec.ts +67 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.js +326 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.ts +349 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.js +127 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.ts +127 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithSemanticKey.spec.js +184 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithSemanticKey.spec.ts +263 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithValueHelp.spec.js +63 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithValueHelp.spec.ts +72 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterField.spec.js +32 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterField.spec.ts +28 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MacroComponent.spec.js +39 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MacroComponent.spec.ts +26 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MicroChart.spec.js +53 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MicroChart.spec.ts +54 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/PhantomUtil.spec.js +142 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/PhantomUtil.spec.ts +178 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/QuickViewForm.spec.js +401 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/QuickViewForm.spec.ts +662 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.js +571 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.ts +778 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableAPI.spec.js +712 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableAPI.spec.ts +800 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ValueHelpMacro.spec.js +192 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ValueHelpMacro.spec.ts +194 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FilterField.spec.ts.snap +37 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/MacroComponent.spec.ts.snap +7 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/PhantomUtil.spec.ts.snap +184 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/QuickViewForm.spec.ts.snap +820 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/ValueHelpMacro.spec.ts.snap +279 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/addTemplatingTest.md +51 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/AdminDataPopOver.cds +8 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/CollectionField.cds +48 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldMacroDataFieldTypes.cds +295 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldMacroWithSemanticKey.cds +62 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldMacroWithValueHelp.cds +131 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FilterFieldMacro.cds +124 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/MicroChart.cds +47 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/PhantomUtil.cds +20 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/QuickViewForm.cds +248 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/Table.cds +113 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/ValueHelpMacro.cds +163 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/simpleFieldMacro.cds +129 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.cds +115 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.js +180 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.ts +215 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/__snapshots__/FieldTemplating.spec.ts.snap +160 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/fragments/MyTestFragment.xml +15 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/fragments/MyTestFragmentRepeat.xml +27 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/tsx/TestTSX.spec.tsx +49 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/tsx/__snapshots__/TestTSX.spec.tsx.snap +33 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/common/testHelper.js +24 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/index.json +154 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/AnalyticalTableDelegate.qunit.js +158 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ChartDelegate.qunit.js +275 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ChartHelper.qunit.js +601 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ChartHelperTemplate.qunit.js +67 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/CommonHelper.qunit.js +1607 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelper.qunit.js +2478 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelperTemplate.qunit.js +383 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FilterBarDelegate.qunit.js +89 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FilterBarHelper.qunit.js +223 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FilterFieldHelper.qunit.js +712 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormContainerTemplating.qunit.js +245 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormElementTemplating.qunit.js +83 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormHelper.qunit.js +209 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormTemplating.qunit.js +577 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormTemplatingTs.qunit.js +271 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/InteractiveChartHelper.qunit.js +1227 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MacroMetadata.qunit.js +123 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MicroChartContainer.qunit.js +1637 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MicroChartHelper.qunit.js +619 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MicroChartHelperForTemplate.qunit.js +360 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/PhantomUtil.qunit.js +307 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/QuickViewLinkDelegate.qunit.js +81 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableDelegate.qunit.js +734 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelper.qunit.js +2630 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelperTemplate.qunit.js +201 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableRuntime.qunit.js +861 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ValueHelpTemplating.qunit.js +176 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ValueListHelper.qunit.js +1133 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/chartMetadata/metadata.xml +461 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/flexibility/FormDelegate.qunit.js +408 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/fragments/FilterFieldMacro.fragment.xml +9 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/fragments/FilterFieldMacroMissingID.fragment.xml +9 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/fragments/TableMacro.fragment.xml +22 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/metadata/simpleMetadata.js +1415 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/teststarter.qunit.html +13 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/testsuite.qunit.html +14 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/testsuite.qunit.js +41 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.91.json +76 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.94.json +29 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/.library +36 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/.theming +6 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/NavError-dbg.js +49 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/NavError.js +6 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/NavigationHandler-dbg.js +2215 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/NavigationHandler.js +6 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/PresentationVariant-dbg.js +347 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/PresentationVariant.js +6 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/SelectionVariant-dbg.js +774 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/SelectionVariant.js +6 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-dbg.js +170 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-h2-preload.js +19 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-h2-preload.js.map +9 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js +129 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js.map +9 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library.js +6 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/manifest.json +44 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/resources.json +215 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/api.json +1 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/apiref/api.json +1 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.jsmeta.json +1 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.jstemplates.json +1 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.xmlmeta.json +1 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.xmltemplates.json +1 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/index.json +17 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/navigation/CrossAppNavigationServiceMock.js +110 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/navigation/NavigationHandlerTest.qunit.js +8625 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/navigation/PresentationVariantTest.qunit.js +179 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/navigation/SelectionVariantTest.qunit.js +1366 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/teststarter.qunit.html +13 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/testsuite.qunit.html +14 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/testsuite.qunit.js +41 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.library +35 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.theming +5 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/controller/Placeholder-dbg.controller.js +60 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/controller/Placeholder.controller.js +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-dbg.js +41 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-h2-preload.js +20 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-h2-preload.js.map +9 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js +21 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js.map +9 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library.js +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/manifest.json +49 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/resources.json +725 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/.theming +5 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/Placeholder.less +504 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/css_variables.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/css_variables.less +4 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/css_variables.source.less +1439 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/library-RTL.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/library-parameters.json +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/library.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/library.less +511 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/library.source.less +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/library_skeleton-RTL.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/library_skeleton.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/resources.json +70 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/.theming +27 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/css_variables.css +4 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/css_variables.less +1497 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/css_variables.source.less +1487 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/library-RTL.css +4 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/library-parameters.json +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/library.css +4 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/library.less +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/library.source.less +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/library_skeleton-RTL.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/library_skeleton.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/resources.json +64 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/.theming +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/css_variables.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/css_variables.less +1463 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/css_variables.source.less +1453 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/library-RTL.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/library-parameters.json +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/library.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/library.less +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/library.source.less +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/library_skeleton-RTL.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/library_skeleton.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/resources.json +64 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/.theming +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/css_variables.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/css_variables.less +1463 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/css_variables.source.less +1453 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/library-RTL.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/library-parameters.json +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/library.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/library.less +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/library.source.less +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/library_skeleton-RTL.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/library_skeleton.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/resources.json +64 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/.theming +26 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/css_variables.css +4 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/css_variables.less +1497 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/css_variables.source.less +1487 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/library-RTL.css +4 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/library-parameters.json +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/library.css +4 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/library.less +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/library.source.less +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/library_skeleton-RTL.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/library_skeleton.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/resources.json +64 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/.theming +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/css_variables.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/css_variables.less +1468 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/css_variables.source.less +1458 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/library-RTL.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/library-parameters.json +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/library.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/library.less +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/library.source.less +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/library_skeleton-RTL.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/library_skeleton.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/resources.json +64 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/.theming +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/css_variables.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/css_variables.less +1468 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/css_variables.source.less +1458 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/library-RTL.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/library-parameters.json +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/library.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/library.less +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/library.source.less +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/library_skeleton-RTL.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/library_skeleton.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/resources.json +64 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/.theming +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/css_variables.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/css_variables.less +1464 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/css_variables.source.less +1454 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/library-RTL.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/library-parameters.json +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/library.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/library.less +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/library.source.less +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/library_skeleton-RTL.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/library_skeleton.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/resources.json +64 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/.theming +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/css_variables.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/css_variables.less +1464 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/css_variables.source.less +1454 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/library-RTL.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/library-parameters.json +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/library.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/library.less +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/library.source.less +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/library_skeleton-RTL.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/library_skeleton.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/resources.json +64 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderALP.fragment.html +10 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderALP.view.xml +11 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderLR.fragment.html +8 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderLR.view.xml +11 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderOP.fragment.html +8 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderOP.view.xml +11 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderOVP.fragment.html +8 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderOVP.view.xml +11 -0
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/api.json +1 -0
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/apiref/api.json +1 -0
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/codeassistance/Library.jsmeta.json +1 -0
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/codeassistance/Library.jstemplates.json +1 -0
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/codeassistance/Library.xmlmeta.json +1 -0
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/codeassistance/Library.xmltemplates.json +1 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/.library +74 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/.theming +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/Component-dbg.js +15 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/Component.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate-dbg.js +37 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/manifest.json +27 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/resources.json +27 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent-dbg.js +121 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/Component-dbg.js +42 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/Component.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ExtensionAPI-dbg.js +95 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ExtensionAPI.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReport.view.xml +199 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +954 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController.controller.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/manifest.json +28 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation-dbg.js +52 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/Share-dbg.js +124 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/Share.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState-dbg.js +264 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/resources.json +79 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/view/fragments/CollectionVisualization.fragment.xml +32 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/view/fragments/CustomView.fragment.xml +10 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.xml +49 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper-dbg.js +457 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component-dbg.js +139 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ExtensionAPI-dbg.js +130 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +184 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +1460 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox-dbg.js +90 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableVBox-dbg.js +27 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableVBox.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock-dbg.js +57 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/FlexBox-dbg.designtime.js +19 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/StashableHBox-dbg.designtime.js +51 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/StashableVBox-dbg.designtime.js +38 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility-dbg.js +19 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility-dbg.js +15 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/manifest.json +122 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation-dbg.js +55 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/InternalRouting-dbg.js +20 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/MessageHandler-dbg.js +20 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Routing-dbg.js +21 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Routing.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Share-dbg.js +303 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Share.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState-dbg.js +45 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/resources.json +282 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating-dbg.js +117 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.js +5 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.ts +124 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +183 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/EditableHeaderFacet.fragment.xml +160 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +117 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/FormActionButtons.fragment.xml +79 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/FormActions.fragment.xml +24 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderContent.fragment.xml +54 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPoint.fragment.xml +26 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPointTitle.fragment.xml +69 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacet.fragment.xml +90 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacetCustomContainer.fragment.xml +41 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderImage.fragment.xml +24 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderAddress.fragment.xml +20 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +72 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/RelatedApps.fragment.xml +22 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +71 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +175 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionCustomSection.fragment.xml +18 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +18 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +18 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionPresentationVisualization.fragment.xml +17 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SideContentCustomContainer.fragment.xml +19 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/TitleAndSubtitle.fragment.xml +24 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl-dbg.controller.js +816 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer-dbg.controller.js +176 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController-dbg.js +441 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/overrides/EditFlow-dbg.js +18 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/overrides/EditFlow.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/Fcl.view.xml +15 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/NavContainer.view.xml +9 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/PlaceholderLR.view.xml +617 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/PlaceholderOP.view.xml +588 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/Chart.fragment.xml +20 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/OverflowToolbarButtonHover-dbg.js +26 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/OverflowToolbarButtonHover.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/Paginator-dbg.js +174 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/Paginator.control.xml +24 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/Paginator.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/Table.fragment.xml +23 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/designtime/library-preload.designtime.js +10 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/designtime/library-preload.designtime.js.map +9 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/library-dbg.js +72 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js +77 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js.map +9 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js +154 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js.map +9 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/library.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/manifest.json +136 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle.properties +210 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ar.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_bg.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ca.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_cs.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_cy.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_da.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_de.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_el.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_GB.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_es.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_es_MX.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_et.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fi.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fr.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fr_CA.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_hi.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_hr.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_hu.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_id.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_it.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_iw.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ja.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_kk.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ko.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_lt.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_lv.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ms.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_nl.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_no.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_pl.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_pt.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_pt_PT.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ro.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ru.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sh.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sk.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sl.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sv.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_th.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_tr.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_uk.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_vi.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_zh_CN.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_zh_TW.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/resources.json +2103 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/Component.js +9 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/WEB-INF/web.xml +120 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/annotations/annotations.xml +43 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/i18n/i18n.properties +13 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/manifest.json +176 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/test/manifestCreateDialogWithFCL.json +87 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/test/testFLP.html +71 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/test/testFLPService.html +82 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/flpSandbox.html +24 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/flpSandbox.js +225 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/mockServer.js +780 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/mockServerHelper.js +195 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/api.json +1 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/apiref/api.json +1 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.jsmeta.json +1 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.jstemplates.json +1 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.xmlmeta.json +1 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.xmltemplates.json +1 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/qunit/common/testHelper.js +80 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/qunit/common/utility.js +28 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/qunit/testsuite.qunit.html +14 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/qunit/testsuite.qunit.js +33 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.91.json +134 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.94.json +34 -0
- package/packages/sap.fe.test/src/sap/fe/test/.library +30 -0
- package/packages/sap.fe.test/src/sap/fe/test/.theming +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/BaseActions-dbg.js +107 -0
- package/packages/sap.fe.test/src/sap/fe/test/BaseActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/BaseArrangements-dbg.js +199 -0
- package/packages/sap.fe.test/src/sap/fe/test/BaseArrangements.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/BaseAssertions-dbg.js +56 -0
- package/packages/sap.fe.test/src/sap/fe/test/BaseAssertions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/ConfirmDialog-dbg.js +72 -0
- package/packages/sap.fe.test/src/sap/fe/test/ConfirmDialog.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/FCLView-dbg.js +86 -0
- package/packages/sap.fe.test/src/sap/fe/test/FCLView.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/Flexibility-dbg.js +743 -0
- package/packages/sap.fe.test/src/sap/fe/test/Flexibility.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/FlexibleColumnLayout-dbg.js +149 -0
- package/packages/sap.fe.test/src/sap/fe/test/FlexibleColumnLayout.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper-dbg.js +284 -0
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.js +5 -0
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.ts +242 -0
- package/packages/sap.fe.test/src/sap/fe/test/JourneyRunner-dbg.js +314 -0
- package/packages/sap.fe.test/src/sap/fe/test/JourneyRunner.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/ListReport-dbg.js +525 -0
- package/packages/sap.fe.test/src/sap/fe/test/ListReport.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/LocationUtil-dbg.js +54 -0
- package/packages/sap.fe.test/src/sap/fe/test/LocationUtil.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/ObjectPage-dbg.js +857 -0
- package/packages/sap.fe.test/src/sap/fe/test/ObjectPage.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/Shell-dbg.js +226 -0
- package/packages/sap.fe.test/src/sap/fe/test/Shell.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/Stubs-dbg.js +97 -0
- package/packages/sap.fe.test/src/sap/fe/test/Stubs.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/TemplatePage-dbg.js +447 -0
- package/packages/sap.fe.test/src/sap/fe/test/TemplatePage.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/TemplatingTestUtils-dbg.js +243 -0
- package/packages/sap.fe.test/src/sap/fe/test/TemplatingTestUtils.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/Utils-dbg.js +301 -0
- package/packages/sap.fe.test/src/sap/fe/test/Utils.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/APIHelper-dbg.js +117 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/APIHelper.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI-dbg.js +285 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/ChartActions-dbg.js +131 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/ChartActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/ChartAssertions-dbg.js +114 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/ChartAssertions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI-dbg.js +93 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogActions-dbg.js +101 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAssertions-dbg.js +123 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAssertions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogCreateActions-dbg.js +44 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogCreateActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogCreateAssertions-dbg.js +55 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogCreateAssertions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogMessageActions-dbg.js +59 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogMessageActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogMessageAssertions-dbg.js +87 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogMessageAssertions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogType-dbg.js +76 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogType.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogValueHelpActions-dbg.js +317 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogValueHelpActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogValueHelpAssertions-dbg.js +263 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogValueHelpAssertions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/EditState-dbg.js +67 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/EditState.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarAPI-dbg.js +197 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarAPI.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarActions-dbg.js +310 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarAssertions-dbg.js +413 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarAssertions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FooterAPI-dbg.js +37 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FooterAPI.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FooterActionsBase-dbg.js +47 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FooterActionsBase.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FooterActionsOP-dbg.js +83 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FooterActionsOP.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FooterAssertionsBase-dbg.js +66 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FooterAssertionsBase.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FooterAssertionsOP-dbg.js +98 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FooterAssertionsOP.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FormAPI-dbg.js +82 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FormAPI.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FormActions-dbg.js +180 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FormActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FormAssertions-dbg.js +182 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FormAssertions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderAPI-dbg.js +152 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderAPI.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderActions-dbg.js +232 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderActionsLR-dbg.js +94 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderActionsLR.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderAssertions-dbg.js +495 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderAssertions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderAssertionsLR-dbg.js +110 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderAssertionsLR.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderLR-dbg.js +74 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderLR.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/TableAPI-dbg.js +452 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/TableAPI.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/TableActions-dbg.js +958 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/TableActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/TableAssertions-dbg.js +697 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/TableAssertions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/DialogBuilder-dbg.js +118 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/DialogBuilder.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/FEBuilder-dbg.js +428 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/FEBuilder.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/KPIBuilder-dbg.js +56 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/KPIBuilder.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MacroFieldBuilder-dbg.js +174 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MacroFieldBuilder.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcFieldBuilder-dbg.js +254 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcFieldBuilder.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcFilterBarBuilder-dbg.js +112 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcFilterBarBuilder.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcFilterFieldBuilder-dbg.js +54 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcFilterFieldBuilder.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcTableBuilder-dbg.js +1069 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcTableBuilder.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/OverflowToolbarBuilder-dbg.js +89 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/OverflowToolbarBuilder.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/VMBuilder-dbg.js +268 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/VMBuilder.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/internal/FEArrangements-dbg.js +66 -0
- package/packages/sap.fe.test/src/sap/fe/test/internal/FEArrangements.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/internal/FEJourneyRunner-dbg.js +55 -0
- package/packages/sap.fe.test/src/sap/fe/test/internal/FEJourneyRunner.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/library-dbg.js +37 -0
- package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js +78 -0
- package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js.map +9 -0
- package/packages/sap.fe.test/src/sap/fe/test/library-preload.js +587 -0
- package/packages/sap.fe.test/src/sap/fe/test/library-preload.js.map +9 -0
- package/packages/sap.fe.test/src/sap/fe/test/library.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/manifest.json +39 -0
- package/packages/sap.fe.test/src/sap/fe/test/massEdit-dbg.js +99 -0
- package/packages/sap.fe.test/src/sap/fe/test/massEdit.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/resources.json +1972 -0
- package/packages/sap.fe.test/test/sap/fe/test/designtime/api.json +1 -0
- package/packages/sap.fe.test/test/sap/fe/test/designtime/apiref/api.json +1 -0
- package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.jsmeta.json +1 -0
- package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.jstemplates.json +1 -0
- package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.xmlmeta.json +1 -0
- package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.xmltemplates.json +1 -0
- package/packages/sap.fe.test/test/sap/fe/test/mockserver/MockServer.js +134870 -0
- package/src/LICENSE.txt +23 -0
- package/ui5.yaml +66 -0
|
@@ -0,0 +1,2446 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CriticalityType,
|
|
3
|
+
DataField,
|
|
4
|
+
DataFieldAbstractTypes,
|
|
5
|
+
DataFieldForAction,
|
|
6
|
+
DataFieldForAnnotation,
|
|
7
|
+
DataFieldForIntentBasedNavigation,
|
|
8
|
+
DataFieldTypes,
|
|
9
|
+
DataPoint,
|
|
10
|
+
EnumValue,
|
|
11
|
+
LineItem,
|
|
12
|
+
PathAnnotationExpression,
|
|
13
|
+
PresentationVariantTypeTypes,
|
|
14
|
+
PropertyAnnotationValue,
|
|
15
|
+
PropertyPath,
|
|
16
|
+
SelectionVariantType,
|
|
17
|
+
SelectOptionType,
|
|
18
|
+
UIAnnotationTypes
|
|
19
|
+
} from "@sap-ux/vocabularies-types";
|
|
20
|
+
import {
|
|
21
|
+
ActionType,
|
|
22
|
+
AvailabilityType,
|
|
23
|
+
CreationMode,
|
|
24
|
+
FormatOptionsType,
|
|
25
|
+
HorizontalAlign,
|
|
26
|
+
ManifestTableColumn,
|
|
27
|
+
NavigationSettingsConfiguration,
|
|
28
|
+
NavigationTargetConfiguration,
|
|
29
|
+
SelectionMode,
|
|
30
|
+
TableColumnSettings,
|
|
31
|
+
TableManifestConfiguration,
|
|
32
|
+
TemplateType,
|
|
33
|
+
VariantManagementType,
|
|
34
|
+
ViewPathConfiguration,
|
|
35
|
+
VisualizationType
|
|
36
|
+
} from "../../ManifestSettings";
|
|
37
|
+
import { EntityType, Property } from "@sap-ux/annotation-converter";
|
|
38
|
+
import { TableID } from "../../helpers/ID";
|
|
39
|
+
import {
|
|
40
|
+
AnnotationAction,
|
|
41
|
+
BaseAction,
|
|
42
|
+
CustomAction,
|
|
43
|
+
getActionsFromManifest,
|
|
44
|
+
isActionNavigable,
|
|
45
|
+
removeDuplicateActions
|
|
46
|
+
} from "sap/fe/core/converters/controls/Common/Action";
|
|
47
|
+
import { ConfigurableObject, CustomElement, insertCustomElements, Placement } from "sap/fe/core/converters/helpers/ConfigurableObject";
|
|
48
|
+
import {
|
|
49
|
+
collectRelatedProperties,
|
|
50
|
+
collectRelatedPropertiesRecursively,
|
|
51
|
+
ComplexPropertyInfo,
|
|
52
|
+
getSemanticObjectPath,
|
|
53
|
+
isDataFieldAlwaysHidden,
|
|
54
|
+
isDataFieldForActionAbstract,
|
|
55
|
+
isDataFieldTypes
|
|
56
|
+
} from "sap/fe/core/converters/annotations/DataField";
|
|
57
|
+
import {
|
|
58
|
+
and,
|
|
59
|
+
annotationExpression,
|
|
60
|
+
BindingExpression,
|
|
61
|
+
bindingExpression,
|
|
62
|
+
BindingExpressionExpression,
|
|
63
|
+
compileBinding,
|
|
64
|
+
constant,
|
|
65
|
+
equal,
|
|
66
|
+
Expression,
|
|
67
|
+
ExpressionOrPrimitive,
|
|
68
|
+
formatResult,
|
|
69
|
+
ifElse,
|
|
70
|
+
isBinding,
|
|
71
|
+
isConstant,
|
|
72
|
+
not,
|
|
73
|
+
or,
|
|
74
|
+
resolveBindingString
|
|
75
|
+
} from "sap/fe/core/helpers/BindingExpression";
|
|
76
|
+
import { Draft, bindingContextPathVisitor, singletonPathVisitor, UI } from "sap/fe/core/converters/helpers/BindingHelper";
|
|
77
|
+
import { KeyHelper } from "sap/fe/core/converters/helpers/Key";
|
|
78
|
+
import tableFormatters from "sap/fe/core/formatters/TableFormatter";
|
|
79
|
+
import { MessageType } from "sap/fe/core/formatters/TableFormatterTypes";
|
|
80
|
+
import {
|
|
81
|
+
DataModelObjectPath,
|
|
82
|
+
getTargetObjectPath,
|
|
83
|
+
isPathDeletable,
|
|
84
|
+
isPathSearchable,
|
|
85
|
+
isPathInsertable,
|
|
86
|
+
isPathUpdatable
|
|
87
|
+
} from "sap/fe/core/templating/DataModelPathHelper";
|
|
88
|
+
import { replaceSpecialChars } from "sap/fe/core/helpers/StableIdHelper";
|
|
89
|
+
import { IssueCategory, IssueSeverity, IssueType } from "sap/fe/core/converters/helpers/IssueManager";
|
|
90
|
+
import * as Edm from "@sap-ux/vocabularies-types/dist/Edm";
|
|
91
|
+
|
|
92
|
+
import ManifestWrapper from "../../ManifestWrapper";
|
|
93
|
+
import ConverterContext from "../../ConverterContext";
|
|
94
|
+
import {
|
|
95
|
+
isProperty,
|
|
96
|
+
getAssociatedUnitProperty,
|
|
97
|
+
getAssociatedCurrencyProperty,
|
|
98
|
+
isPathExpression,
|
|
99
|
+
getTargetValueOnDataPoint
|
|
100
|
+
} from "sap/fe/core/templating/PropertyHelper";
|
|
101
|
+
|
|
102
|
+
import { AggregationHelper } from "../../helpers/Aggregation";
|
|
103
|
+
import { DisplayMode, getDisplayMode } from "sap/fe/core/templating/UIFormatters";
|
|
104
|
+
import { getMessageTypeFromCriticalityType } from "./Criticality";
|
|
105
|
+
|
|
106
|
+
export type TableAnnotationConfiguration = {
|
|
107
|
+
autoBindOnInit: boolean;
|
|
108
|
+
collection: string;
|
|
109
|
+
variantManagement: VariantManagementType;
|
|
110
|
+
filterId?: string;
|
|
111
|
+
id: string;
|
|
112
|
+
navigationPath: string;
|
|
113
|
+
p13nMode?: string;
|
|
114
|
+
row?: {
|
|
115
|
+
action?: string;
|
|
116
|
+
press?: string;
|
|
117
|
+
rowHighlighting: BindingExpression<MessageType>;
|
|
118
|
+
rowNavigated: BindingExpression<boolean>;
|
|
119
|
+
};
|
|
120
|
+
selectionMode: string | undefined;
|
|
121
|
+
show?: {
|
|
122
|
+
create?: string | boolean;
|
|
123
|
+
delete?: string | boolean;
|
|
124
|
+
paste?: BindingExpression<boolean>;
|
|
125
|
+
massEdit?: { visible: boolean | string; enabled: boolean | string };
|
|
126
|
+
};
|
|
127
|
+
displayMode?: boolean;
|
|
128
|
+
threshold: number;
|
|
129
|
+
entityName: string;
|
|
130
|
+
sortConditions?: string;
|
|
131
|
+
groupConditions?: string;
|
|
132
|
+
aggregateConditions?: string;
|
|
133
|
+
|
|
134
|
+
/** Create new entries */
|
|
135
|
+
create: CreateBehaviour | CreateBehaviourExternal;
|
|
136
|
+
parentEntityDeleteEnabled?: BindingExpression<boolean>;
|
|
137
|
+
title: string;
|
|
138
|
+
searchable: boolean;
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* New entries are created within the app (default case)
|
|
143
|
+
*/
|
|
144
|
+
type CreateBehaviour = {
|
|
145
|
+
mode: CreationMode;
|
|
146
|
+
append: Boolean;
|
|
147
|
+
newAction?: string;
|
|
148
|
+
navigateToTarget?: string;
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* New entries are created by navigating to some target
|
|
153
|
+
*/
|
|
154
|
+
type CreateBehaviourExternal = {
|
|
155
|
+
mode: "External";
|
|
156
|
+
outbound: string;
|
|
157
|
+
outboundDetail: NavigationTargetConfiguration["outboundDetail"];
|
|
158
|
+
navigationSettings: NavigationSettingsConfiguration;
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
export type TableCapabilityRestriction = {
|
|
162
|
+
isDeletable: boolean;
|
|
163
|
+
isUpdatable: boolean;
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
export type TableFiltersConfiguration = {
|
|
167
|
+
enabled?: string | boolean;
|
|
168
|
+
paths: [
|
|
169
|
+
{
|
|
170
|
+
annotationPath: string;
|
|
171
|
+
}
|
|
172
|
+
];
|
|
173
|
+
showCounts?: boolean;
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
export type SelectionVariantConfiguration = {
|
|
177
|
+
propertyNames: string[];
|
|
178
|
+
text?: string;
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
export type TableControlConfiguration = {
|
|
182
|
+
createAtEnd: boolean;
|
|
183
|
+
creationMode: CreationMode;
|
|
184
|
+
disableAddRowButtonForEmptyData: boolean;
|
|
185
|
+
customValidationFunction: string | undefined;
|
|
186
|
+
useCondensedTableLayout: boolean;
|
|
187
|
+
enableExport: boolean;
|
|
188
|
+
headerVisible: boolean;
|
|
189
|
+
filters?: Record<string, TableFiltersConfiguration>;
|
|
190
|
+
type: TableType;
|
|
191
|
+
selectAll?: boolean;
|
|
192
|
+
selectionLimit: number;
|
|
193
|
+
multiSelectMode: string | undefined;
|
|
194
|
+
enablePaste: boolean;
|
|
195
|
+
enableFullScreen: boolean;
|
|
196
|
+
showRowCount: boolean;
|
|
197
|
+
enableMassEdit: boolean | undefined;
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
export type TableType = "GridTable" | "ResponsiveTable" | "AnalyticalTable";
|
|
201
|
+
|
|
202
|
+
enum ColumnType {
|
|
203
|
+
Default = "Default", // Default Type
|
|
204
|
+
Annotation = "Annotation",
|
|
205
|
+
Slot = "Slot"
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
export type BaseTableColumn = ConfigurableObject & {
|
|
209
|
+
id: string;
|
|
210
|
+
width?: string;
|
|
211
|
+
name: string;
|
|
212
|
+
availability?: AvailabilityType;
|
|
213
|
+
type: ColumnType; //Origin of the source where we are getting the templated information from,
|
|
214
|
+
isNavigable?: boolean;
|
|
215
|
+
settings?: TableColumnSettings;
|
|
216
|
+
semanticObjectPath?: string;
|
|
217
|
+
propertyInfos?: string[];
|
|
218
|
+
sortable: boolean;
|
|
219
|
+
horizontalAlign?: HorizontalAlign;
|
|
220
|
+
formatOptions: FormatOptionsType;
|
|
221
|
+
};
|
|
222
|
+
|
|
223
|
+
export type CustomTableColumn = BaseTableColumn & {
|
|
224
|
+
header?: string;
|
|
225
|
+
template: string;
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
export type AnnotationTableColumn = BaseTableColumn & {
|
|
229
|
+
annotationPath: string;
|
|
230
|
+
relativePath: string;
|
|
231
|
+
label?: string;
|
|
232
|
+
groupLabel?: string;
|
|
233
|
+
group?: string;
|
|
234
|
+
isGroupable?: boolean;
|
|
235
|
+
isKey?: boolean;
|
|
236
|
+
unit?: string;
|
|
237
|
+
exportSettings?: {
|
|
238
|
+
template?: string;
|
|
239
|
+
label?: string;
|
|
240
|
+
fieldLabel?: string;
|
|
241
|
+
wrap?: boolean;
|
|
242
|
+
};
|
|
243
|
+
isDataPointFakeTargetProperty?: boolean;
|
|
244
|
+
textArrangement?: {
|
|
245
|
+
textProperty: string;
|
|
246
|
+
mode: DisplayMode;
|
|
247
|
+
};
|
|
248
|
+
exportContactProperty?: string;
|
|
249
|
+
additionalPropertyInfos?: string[];
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
export type TableColumn = CustomTableColumn | AnnotationTableColumn;
|
|
253
|
+
|
|
254
|
+
export type CustomColumn = CustomElement<TableColumn>;
|
|
255
|
+
|
|
256
|
+
export type AggregateData = {
|
|
257
|
+
defaultAggregate: {
|
|
258
|
+
contextDefiningProperties?: string[];
|
|
259
|
+
};
|
|
260
|
+
relativePath: string;
|
|
261
|
+
};
|
|
262
|
+
|
|
263
|
+
export type TableVisualization = {
|
|
264
|
+
type: VisualizationType.Table;
|
|
265
|
+
annotation: TableAnnotationConfiguration;
|
|
266
|
+
control: TableControlConfiguration;
|
|
267
|
+
columns: TableColumn[];
|
|
268
|
+
actions: BaseAction[];
|
|
269
|
+
aggregates?: Record<string, AggregateData>;
|
|
270
|
+
enableAnalytics?: boolean;
|
|
271
|
+
enableDataStateFilter: boolean;
|
|
272
|
+
operationAvailableMap: string;
|
|
273
|
+
operationAvailableProperties: string;
|
|
274
|
+
};
|
|
275
|
+
|
|
276
|
+
type SorterType = {
|
|
277
|
+
name: string;
|
|
278
|
+
descending: boolean;
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* Returns an array of all annotation-based and manifest-based table actions.
|
|
283
|
+
*
|
|
284
|
+
* @param {LineItem} lineItemAnnotation
|
|
285
|
+
* @param {string} visualizationPath
|
|
286
|
+
* @param {ConverterContext} converterContext
|
|
287
|
+
* @param {NavigationSettingsConfiguration} navigationSettings
|
|
288
|
+
* @returns {BaseAction} The complete table actions
|
|
289
|
+
*/
|
|
290
|
+
export function getTableActions(
|
|
291
|
+
lineItemAnnotation: LineItem,
|
|
292
|
+
visualizationPath: string,
|
|
293
|
+
converterContext: ConverterContext,
|
|
294
|
+
navigationSettings?: NavigationSettingsConfiguration
|
|
295
|
+
): BaseAction[] {
|
|
296
|
+
const aTableActions = getTableAnnotationActions(lineItemAnnotation, visualizationPath, converterContext);
|
|
297
|
+
const aAnnotationActions = aTableActions.tableActions;
|
|
298
|
+
const aHiddenActions = aTableActions.hiddenTableActions;
|
|
299
|
+
return insertCustomElements(
|
|
300
|
+
aAnnotationActions,
|
|
301
|
+
getActionsFromManifest(
|
|
302
|
+
converterContext.getManifestControlConfiguration(visualizationPath).actions,
|
|
303
|
+
converterContext,
|
|
304
|
+
aAnnotationActions,
|
|
305
|
+
navigationSettings,
|
|
306
|
+
true,
|
|
307
|
+
aHiddenActions
|
|
308
|
+
),
|
|
309
|
+
{
|
|
310
|
+
isNavigable: "overwrite",
|
|
311
|
+
enableOnSelect: "overwrite",
|
|
312
|
+
enableAutoScroll: "overwrite",
|
|
313
|
+
enabled: "overwrite",
|
|
314
|
+
defaultValuesExtensionFunction: "overwrite"
|
|
315
|
+
}
|
|
316
|
+
);
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Returns an array of all columns, annotation-based as well as manifest based.
|
|
321
|
+
* They are sorted and some properties can be overwritten via the manifest (check out the keys that can be overwritten).
|
|
322
|
+
*
|
|
323
|
+
* @param {LineItem} lineItemAnnotation Collection of data fields for representation in a table or list
|
|
324
|
+
* @param {string} visualizationPath
|
|
325
|
+
* @param {ConverterContext} converterContext
|
|
326
|
+
* @param {NavigationSettingsConfiguration} navigationSettings
|
|
327
|
+
* @returns {TableColumn[]} Returns all table columns that should be available, regardless of templating or personalization or their origin
|
|
328
|
+
*/
|
|
329
|
+
export function getTableColumns(
|
|
330
|
+
lineItemAnnotation: LineItem,
|
|
331
|
+
visualizationPath: string,
|
|
332
|
+
converterContext: ConverterContext,
|
|
333
|
+
navigationSettings?: NavigationSettingsConfiguration
|
|
334
|
+
): TableColumn[] {
|
|
335
|
+
const annotationColumns = getColumnsFromAnnotations(lineItemAnnotation, visualizationPath, converterContext);
|
|
336
|
+
const manifestColumns = getColumnsFromManifest(
|
|
337
|
+
converterContext.getManifestControlConfiguration(visualizationPath).columns,
|
|
338
|
+
annotationColumns as AnnotationTableColumn[],
|
|
339
|
+
converterContext,
|
|
340
|
+
converterContext.getAnnotationEntityType(lineItemAnnotation),
|
|
341
|
+
navigationSettings
|
|
342
|
+
);
|
|
343
|
+
|
|
344
|
+
return insertCustomElements(annotationColumns, manifestColumns, {
|
|
345
|
+
width: "overwrite",
|
|
346
|
+
isNavigable: "overwrite",
|
|
347
|
+
availability: "overwrite",
|
|
348
|
+
settings: "overwrite",
|
|
349
|
+
horizontalAlign: "overwrite",
|
|
350
|
+
formatOptions: "overwrite"
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
/**
|
|
355
|
+
* Retrieve the custom aggregation definitions from the entityType.
|
|
356
|
+
*
|
|
357
|
+
* @param entityType The target entity type.
|
|
358
|
+
* @param tableColumns The array of columns for the entity type.
|
|
359
|
+
* @param converterContext The converter context.
|
|
360
|
+
* @returns The aggregate definitions from the entityType, or undefined if the entity doesn't support analytical queries.
|
|
361
|
+
*/
|
|
362
|
+
export const getAggregateDefinitionsFromEntityType = function(
|
|
363
|
+
entityType: EntityType,
|
|
364
|
+
tableColumns: TableColumn[],
|
|
365
|
+
converterContext: ConverterContext
|
|
366
|
+
): Record<string, AggregateData> | undefined {
|
|
367
|
+
const aggregationHelper = new AggregationHelper(entityType, converterContext);
|
|
368
|
+
|
|
369
|
+
function findColumnFromPath(path: string): TableColumn | undefined {
|
|
370
|
+
return tableColumns.find(column => {
|
|
371
|
+
const annotationColumn = column as AnnotationTableColumn;
|
|
372
|
+
return annotationColumn.propertyInfos === undefined && annotationColumn.relativePath === path;
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
if (!aggregationHelper.isAnalyticsSupported()) {
|
|
377
|
+
return undefined;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
// Keep a set of all currency/unit properties, as we don't want to consider them as aggregates
|
|
381
|
+
// They are aggregates for technical reasons (to manage multi-units situations) but it doesn't make sense from a user standpoint
|
|
382
|
+
const mCurrencyOrUnitProperties = new Set();
|
|
383
|
+
tableColumns.forEach(oColumn => {
|
|
384
|
+
const oTableColumn = oColumn as AnnotationTableColumn;
|
|
385
|
+
if (oTableColumn.unit) {
|
|
386
|
+
mCurrencyOrUnitProperties.add(oTableColumn.unit);
|
|
387
|
+
}
|
|
388
|
+
});
|
|
389
|
+
|
|
390
|
+
const mRawDefinitions = aggregationHelper.getCustomAggregateDefinitions();
|
|
391
|
+
const mResult: Record<string, AggregateData> = {};
|
|
392
|
+
|
|
393
|
+
tableColumns.forEach(oColumn => {
|
|
394
|
+
const oTableColumn = oColumn as AnnotationTableColumn;
|
|
395
|
+
if (oTableColumn.propertyInfos === undefined && oTableColumn.relativePath) {
|
|
396
|
+
const aRawContextDefiningProperties = mRawDefinitions[oTableColumn.relativePath];
|
|
397
|
+
|
|
398
|
+
// Ignore aggregates corresponding to currencies or units of measure and dummy created property for datapoint target Value
|
|
399
|
+
if (
|
|
400
|
+
aRawContextDefiningProperties &&
|
|
401
|
+
!mCurrencyOrUnitProperties.has(oTableColumn.name) &&
|
|
402
|
+
!oTableColumn.isDataPointFakeTargetProperty
|
|
403
|
+
) {
|
|
404
|
+
mResult[oTableColumn.name] = {
|
|
405
|
+
defaultAggregate: {},
|
|
406
|
+
relativePath: oTableColumn.relativePath
|
|
407
|
+
};
|
|
408
|
+
const aContextDefiningProperties: string[] = [];
|
|
409
|
+
aRawContextDefiningProperties.forEach(contextDefiningPropertyName => {
|
|
410
|
+
const oColumn = findColumnFromPath(contextDefiningPropertyName);
|
|
411
|
+
if (oColumn) {
|
|
412
|
+
aContextDefiningProperties.push(oColumn.name);
|
|
413
|
+
}
|
|
414
|
+
});
|
|
415
|
+
|
|
416
|
+
if (aContextDefiningProperties.length) {
|
|
417
|
+
mResult[oTableColumn.name].defaultAggregate.contextDefiningProperties = aContextDefiningProperties;
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
});
|
|
422
|
+
|
|
423
|
+
return mResult;
|
|
424
|
+
};
|
|
425
|
+
|
|
426
|
+
/**
|
|
427
|
+
* Updates a table visualization for analytical use cases.
|
|
428
|
+
*
|
|
429
|
+
* @param tableVisualization The visualization to be updated
|
|
430
|
+
* @param entityType The entity type displayed in the table
|
|
431
|
+
* @param converterContext The converter context
|
|
432
|
+
* @param presentationVariantAnnotation The presentationVariant annotation (if any)
|
|
433
|
+
*/
|
|
434
|
+
function updateTableVisualizationForAnalytics(
|
|
435
|
+
tableVisualization: TableVisualization,
|
|
436
|
+
entityType: EntityType,
|
|
437
|
+
converterContext: ConverterContext,
|
|
438
|
+
presentationVariantAnnotation?: PresentationVariantTypeTypes
|
|
439
|
+
) {
|
|
440
|
+
if (tableVisualization.control.type === "AnalyticalTable") {
|
|
441
|
+
const aggregatesDefinitions = getAggregateDefinitionsFromEntityType(entityType, tableVisualization.columns, converterContext);
|
|
442
|
+
|
|
443
|
+
if (aggregatesDefinitions) {
|
|
444
|
+
tableVisualization.enableAnalytics = true;
|
|
445
|
+
tableVisualization.aggregates = aggregatesDefinitions;
|
|
446
|
+
|
|
447
|
+
// Add group and sort conditions from the presentation variant
|
|
448
|
+
tableVisualization.annotation.groupConditions = getGroupConditions(presentationVariantAnnotation, tableVisualization.columns);
|
|
449
|
+
tableVisualization.annotation.aggregateConditions = getAggregateConditions(
|
|
450
|
+
presentationVariantAnnotation,
|
|
451
|
+
tableVisualization.columns
|
|
452
|
+
);
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
tableVisualization.control.type = "GridTable"; // AnalyticalTable isn't a real type for the MDC:Table, so we always switch back to Grid
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
/**
|
|
460
|
+
* Get the navigation target path from manifest settings.
|
|
461
|
+
*
|
|
462
|
+
* @param converterContext The converter context
|
|
463
|
+
* @param navigationPropertyPath The navigation path to check in the manifest settings
|
|
464
|
+
* @returns Navigation path from manifest settings
|
|
465
|
+
*/
|
|
466
|
+
function getNavigationTargetPath(converterContext: ConverterContext, navigationPropertyPath: string) {
|
|
467
|
+
const manifestWrapper = converterContext.getManifestWrapper();
|
|
468
|
+
if (navigationPropertyPath && manifestWrapper.getNavigationConfiguration(navigationPropertyPath)) {
|
|
469
|
+
const navConfig = manifestWrapper.getNavigationConfiguration(navigationPropertyPath);
|
|
470
|
+
if (Object.keys(navConfig).length > 0) {
|
|
471
|
+
return navigationPropertyPath;
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
const dataModelPath = converterContext.getDataModelObjectPath();
|
|
476
|
+
const contextPath = converterContext.getContextPath();
|
|
477
|
+
const navConfigForContextPath = manifestWrapper.getNavigationConfiguration(contextPath);
|
|
478
|
+
if (navConfigForContextPath && Object.keys(navConfigForContextPath).length > 0) {
|
|
479
|
+
return contextPath;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
return dataModelPath.targetEntitySet ? dataModelPath.targetEntitySet.name : dataModelPath.startingEntitySet.name;
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
/**
|
|
486
|
+
* Sets the 'unit' and 'textArrangement' properties in columns when necessary.
|
|
487
|
+
*
|
|
488
|
+
* @param entityType The entity type displayed in the table
|
|
489
|
+
* @param tableColumns The columns to be updated
|
|
490
|
+
*/
|
|
491
|
+
export function updateLinkedProperties(entityType: EntityType, tableColumns: TableColumn[]) {
|
|
492
|
+
function findColumnByPath(path: string): TableColumn | undefined {
|
|
493
|
+
return tableColumns.find(column => {
|
|
494
|
+
const annotationColumn = column as AnnotationTableColumn;
|
|
495
|
+
return annotationColumn.propertyInfos === undefined && annotationColumn.relativePath === path;
|
|
496
|
+
});
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
tableColumns.forEach(oColumn => {
|
|
500
|
+
const oTableColumn = oColumn as AnnotationTableColumn;
|
|
501
|
+
if (oTableColumn.propertyInfos === undefined && oTableColumn.relativePath) {
|
|
502
|
+
const oProperty = entityType.entityProperties.find(oProp => oProp.name === oTableColumn.relativePath);
|
|
503
|
+
if (oProperty) {
|
|
504
|
+
const sUnit = getAssociatedCurrencyProperty(oProperty)?.name || getAssociatedUnitProperty(oProperty)?.name;
|
|
505
|
+
if (sUnit) {
|
|
506
|
+
const oUnitColumn = findColumnByPath(sUnit);
|
|
507
|
+
|
|
508
|
+
oTableColumn.unit = oUnitColumn?.name;
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
const displayMode = getDisplayMode(oProperty),
|
|
512
|
+
textAnnotation = oProperty.annotations.Common?.Text;
|
|
513
|
+
if (isPathExpression(textAnnotation) && displayMode !== "Value") {
|
|
514
|
+
const oTextColumn = findColumnByPath(textAnnotation.path);
|
|
515
|
+
if (oTextColumn && oTextColumn.name !== oTableColumn.name) {
|
|
516
|
+
oTableColumn.textArrangement = {
|
|
517
|
+
textProperty: oTextColumn.name,
|
|
518
|
+
mode: displayMode
|
|
519
|
+
};
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
});
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
export function createTableVisualization(
|
|
528
|
+
lineItemAnnotation: LineItem,
|
|
529
|
+
visualizationPath: string,
|
|
530
|
+
converterContext: ConverterContext,
|
|
531
|
+
presentationVariantAnnotation?: PresentationVariantTypeTypes,
|
|
532
|
+
isCondensedTableLayoutCompliant?: boolean,
|
|
533
|
+
viewConfiguration?: ViewPathConfiguration
|
|
534
|
+
): TableVisualization {
|
|
535
|
+
const tableManifestConfig = getTableManifestConfiguration(
|
|
536
|
+
lineItemAnnotation,
|
|
537
|
+
visualizationPath,
|
|
538
|
+
converterContext,
|
|
539
|
+
isCondensedTableLayoutCompliant
|
|
540
|
+
);
|
|
541
|
+
const { navigationPropertyPath } = splitPath(visualizationPath);
|
|
542
|
+
const navigationTargetPath = getNavigationTargetPath(converterContext, navigationPropertyPath);
|
|
543
|
+
const navigationSettings = converterContext.getManifestWrapper().getNavigationConfiguration(navigationTargetPath);
|
|
544
|
+
const columns = getTableColumns(lineItemAnnotation, visualizationPath, converterContext, navigationSettings);
|
|
545
|
+
const operationAvailableMap = getOperationAvailableMap(lineItemAnnotation, converterContext);
|
|
546
|
+
|
|
547
|
+
const oVisualization: TableVisualization = {
|
|
548
|
+
type: VisualizationType.Table,
|
|
549
|
+
annotation: getTableAnnotationConfiguration(
|
|
550
|
+
lineItemAnnotation,
|
|
551
|
+
visualizationPath,
|
|
552
|
+
converterContext,
|
|
553
|
+
tableManifestConfig,
|
|
554
|
+
columns,
|
|
555
|
+
presentationVariantAnnotation,
|
|
556
|
+
viewConfiguration
|
|
557
|
+
),
|
|
558
|
+
control: tableManifestConfig,
|
|
559
|
+
actions: removeDuplicateActions(getTableActions(lineItemAnnotation, visualizationPath, converterContext, navigationSettings)),
|
|
560
|
+
columns: columns,
|
|
561
|
+
enableDataStateFilter: converterContext.getTemplateType() === "ObjectPage",
|
|
562
|
+
operationAvailableMap: JSON.stringify(operationAvailableMap),
|
|
563
|
+
operationAvailableProperties: getOperationAvailableProperties(operationAvailableMap, converterContext)
|
|
564
|
+
};
|
|
565
|
+
|
|
566
|
+
updateLinkedProperties(converterContext.getAnnotationEntityType(lineItemAnnotation), columns);
|
|
567
|
+
updateTableVisualizationForAnalytics(
|
|
568
|
+
oVisualization,
|
|
569
|
+
converterContext.getAnnotationEntityType(lineItemAnnotation),
|
|
570
|
+
converterContext,
|
|
571
|
+
presentationVariantAnnotation
|
|
572
|
+
);
|
|
573
|
+
|
|
574
|
+
return oVisualization;
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
export function createDefaultTableVisualization(converterContext: ConverterContext): TableVisualization {
|
|
578
|
+
const tableManifestConfig = getTableManifestConfiguration(undefined, "", converterContext, false);
|
|
579
|
+
const columns = getColumnsFromEntityType({}, converterContext.getEntityType(), [], [], converterContext, tableManifestConfig.type);
|
|
580
|
+
const operationAvailableMap = getOperationAvailableMap(undefined, converterContext);
|
|
581
|
+
const oVisualization: TableVisualization = {
|
|
582
|
+
type: VisualizationType.Table,
|
|
583
|
+
annotation: getTableAnnotationConfiguration(undefined, "", converterContext, tableManifestConfig, columns),
|
|
584
|
+
control: tableManifestConfig,
|
|
585
|
+
actions: [],
|
|
586
|
+
columns: columns,
|
|
587
|
+
enableDataStateFilter: converterContext.getTemplateType() === "ObjectPage",
|
|
588
|
+
operationAvailableMap: JSON.stringify(operationAvailableMap),
|
|
589
|
+
operationAvailableProperties: getOperationAvailableProperties(operationAvailableMap, converterContext)
|
|
590
|
+
};
|
|
591
|
+
|
|
592
|
+
updateLinkedProperties(converterContext.getEntityType(), columns);
|
|
593
|
+
updateTableVisualizationForAnalytics(oVisualization, converterContext.getEntityType(), converterContext);
|
|
594
|
+
|
|
595
|
+
return oVisualization;
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
/**
|
|
599
|
+
* Gets the map of Core.OperationAvailable property paths for all DataFieldForActions.
|
|
600
|
+
*
|
|
601
|
+
* @param lineItemAnnotation The instance of the line item
|
|
602
|
+
* @param converterContext The instance of the converter context
|
|
603
|
+
* @returns {Record<string, any>} The record containing all action names and their corresponding Core.OperationAvailable property paths
|
|
604
|
+
*/
|
|
605
|
+
function getOperationAvailableMap(lineItemAnnotation: LineItem | undefined, converterContext: ConverterContext): Record<string, any> {
|
|
606
|
+
const operationAvailableMap: Record<string, any> = {};
|
|
607
|
+
const addToMap = function(key: string, value: any) {
|
|
608
|
+
if (key) {
|
|
609
|
+
operationAvailableMap[key] = value;
|
|
610
|
+
}
|
|
611
|
+
};
|
|
612
|
+
|
|
613
|
+
if (lineItemAnnotation) {
|
|
614
|
+
lineItemAnnotation.forEach(dataField => {
|
|
615
|
+
if (dataField.$Type === UIAnnotationTypes.DataFieldForAction) {
|
|
616
|
+
const actionName = dataField.Action as string;
|
|
617
|
+
if (actionName?.indexOf("/") < 0 && !dataField.Determining) {
|
|
618
|
+
const actionTarget = dataField.ActionTarget;
|
|
619
|
+
if (actionTarget?.annotations?.Core?.OperationAvailable === null) {
|
|
620
|
+
// Annotation explicitly configured with null (action advertisement related)
|
|
621
|
+
addToMap(actionName, null);
|
|
622
|
+
} else if (actionTarget?.parameters?.length) {
|
|
623
|
+
const bindingParameterFullName = actionTarget.parameters[0].fullyQualifiedName,
|
|
624
|
+
targetExpression = annotationExpression(
|
|
625
|
+
actionTarget?.annotations?.Core?.OperationAvailable,
|
|
626
|
+
[],
|
|
627
|
+
undefined,
|
|
628
|
+
(path: string) => bindingContextPathVisitor(path, converterContext, bindingParameterFullName)
|
|
629
|
+
) as BindingExpressionExpression<string>;
|
|
630
|
+
|
|
631
|
+
if (targetExpression?.path) {
|
|
632
|
+
addToMap(actionName, targetExpression.path);
|
|
633
|
+
} else if (actionTarget?.annotations?.Core?.OperationAvailable !== undefined) {
|
|
634
|
+
addToMap(actionName, targetExpression);
|
|
635
|
+
}
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
});
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
return operationAvailableMap;
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
/**
|
|
646
|
+
* Method to retrieve all property paths assigned to the Core.OperationAvailable annotation.
|
|
647
|
+
*
|
|
648
|
+
* @param {Record<string, any>} operationAvailableMap The record consisting of actions and their Core.OperationAvailable property paths
|
|
649
|
+
* @param {ConverterContext} converterContext The instance of the converter context
|
|
650
|
+
* @returns {string} The CSV string of all property paths associated with the Core.OperationAvailable annotation
|
|
651
|
+
*/
|
|
652
|
+
function getOperationAvailableProperties(operationAvailableMap: Record<string, any>, converterContext: ConverterContext): string {
|
|
653
|
+
const properties = new Set();
|
|
654
|
+
|
|
655
|
+
for (const actionName in operationAvailableMap) {
|
|
656
|
+
const propertyName = operationAvailableMap[actionName];
|
|
657
|
+
if (propertyName === null) {
|
|
658
|
+
// Annotation configured with explicit 'null' (action advertisement relevant)
|
|
659
|
+
properties.add(actionName);
|
|
660
|
+
} else if (typeof propertyName === "string") {
|
|
661
|
+
// Add property paths and not Constant values.
|
|
662
|
+
properties.add(propertyName);
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
if (properties.size) {
|
|
667
|
+
// Some actions have an operation available based on property --> we need to load the HeaderInfo.Title property
|
|
668
|
+
// so that the dialog on partial actions is displayed properly (BCP 2180271425)
|
|
669
|
+
const entityType = converterContext.getEntityType();
|
|
670
|
+
const titleProperty = (entityType.annotations?.UI?.HeaderInfo?.Title as DataFieldTypes)?.Value?.path;
|
|
671
|
+
if (titleProperty) {
|
|
672
|
+
properties.add(titleProperty);
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
return Array.from(properties).join(",");
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
/**
|
|
680
|
+
* Iterates over the DataFieldForAction and DataFieldForIntentBasedNavigation of a line item and
|
|
681
|
+
* returns all the UI.Hidden annotation expressions.
|
|
682
|
+
*
|
|
683
|
+
* @param lineItemAnnotation Collection of data fields used for representation in a table or list
|
|
684
|
+
* @param currentEntityType Current entity type
|
|
685
|
+
* @param contextDataModelObjectPath Object path of the data model
|
|
686
|
+
* @param isEntitySet
|
|
687
|
+
* @returns All the `UI.Hidden` path expressions found in the relevant actions
|
|
688
|
+
*/
|
|
689
|
+
function getUIHiddenExpForActionsRequiringContext(
|
|
690
|
+
lineItemAnnotation: LineItem,
|
|
691
|
+
currentEntityType: EntityType,
|
|
692
|
+
contextDataModelObjectPath: DataModelObjectPath,
|
|
693
|
+
isEntitySet: boolean
|
|
694
|
+
): Expression<boolean>[] {
|
|
695
|
+
const aUiHiddenPathExpressions: Expression<boolean>[] = [];
|
|
696
|
+
lineItemAnnotation.forEach(dataField => {
|
|
697
|
+
// Check if the lineItem context is the same as that of the action:
|
|
698
|
+
if (
|
|
699
|
+
(dataField.$Type === UIAnnotationTypes.DataFieldForAction &&
|
|
700
|
+
dataField?.ActionTarget?.isBound &&
|
|
701
|
+
currentEntityType === dataField?.ActionTarget.sourceEntityType) ||
|
|
702
|
+
(dataField.$Type === UIAnnotationTypes.DataFieldForIntentBasedNavigation &&
|
|
703
|
+
dataField.RequiresContext &&
|
|
704
|
+
dataField?.Inline?.valueOf() !== true)
|
|
705
|
+
) {
|
|
706
|
+
if (typeof dataField.annotations?.UI?.Hidden?.valueOf() === "object") {
|
|
707
|
+
aUiHiddenPathExpressions.push(
|
|
708
|
+
equal(
|
|
709
|
+
getBindingExpFromContext(
|
|
710
|
+
dataField as DataFieldForAction | DataFieldForIntentBasedNavigation,
|
|
711
|
+
contextDataModelObjectPath,
|
|
712
|
+
isEntitySet
|
|
713
|
+
),
|
|
714
|
+
false
|
|
715
|
+
)
|
|
716
|
+
);
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
});
|
|
720
|
+
return aUiHiddenPathExpressions;
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
/**
|
|
724
|
+
* This method is used to change the context currently referenced by this binding by removing the last navigation property.
|
|
725
|
+
*
|
|
726
|
+
* It is used (specifically in this case), to transform a binding made for a NavProp context /MainObject/NavProp1/NavProp2,
|
|
727
|
+
* into a binding on the previous context /MainObject/NavProp1.
|
|
728
|
+
*
|
|
729
|
+
* @param source DataFieldForAction | DataFieldForIntentBasedNavigation | CustomAction
|
|
730
|
+
* @param contextDataModelObjectPath DataModelObjectPath
|
|
731
|
+
* @param isEntitySet
|
|
732
|
+
* @returns The binding expression
|
|
733
|
+
*/
|
|
734
|
+
function getBindingExpFromContext(
|
|
735
|
+
source: DataFieldForAction | DataFieldForIntentBasedNavigation | CustomAction,
|
|
736
|
+
contextDataModelObjectPath: DataModelObjectPath,
|
|
737
|
+
isEntitySet: boolean
|
|
738
|
+
): Expression<any> {
|
|
739
|
+
let sExpression: any | undefined;
|
|
740
|
+
if (
|
|
741
|
+
(source as DataFieldForAction)?.$Type === UIAnnotationTypes.DataFieldForAction ||
|
|
742
|
+
(source as DataFieldForIntentBasedNavigation)?.$Type === UIAnnotationTypes.DataFieldForIntentBasedNavigation
|
|
743
|
+
) {
|
|
744
|
+
sExpression = (source as DataFieldForAction | DataFieldForIntentBasedNavigation)?.annotations?.UI?.Hidden;
|
|
745
|
+
} else {
|
|
746
|
+
sExpression = (source as CustomAction)?.visible;
|
|
747
|
+
}
|
|
748
|
+
let sPath: string;
|
|
749
|
+
if (sExpression?.path) {
|
|
750
|
+
sPath = sExpression.path;
|
|
751
|
+
} else {
|
|
752
|
+
sPath = sExpression;
|
|
753
|
+
}
|
|
754
|
+
if (sPath) {
|
|
755
|
+
if ((source as CustomAction)?.visible) {
|
|
756
|
+
sPath = sPath.substring(1, sPath.length - 1);
|
|
757
|
+
}
|
|
758
|
+
if (sPath.indexOf("/") > 0) {
|
|
759
|
+
//check if the navigation property is correct:
|
|
760
|
+
const aSplitPath = sPath.split("/");
|
|
761
|
+
const sNavigationPath = aSplitPath[0];
|
|
762
|
+
if (
|
|
763
|
+
contextDataModelObjectPath?.targetObject?._type === "NavigationProperty" &&
|
|
764
|
+
contextDataModelObjectPath.targetObject.partner === sNavigationPath
|
|
765
|
+
) {
|
|
766
|
+
return bindingExpression(aSplitPath.slice(1).join("/"));
|
|
767
|
+
} else {
|
|
768
|
+
return constant(true);
|
|
769
|
+
}
|
|
770
|
+
// In case there is no navigation property, if it's an entitySet, the expression binding has to be returned:
|
|
771
|
+
} else if (isEntitySet) {
|
|
772
|
+
return bindingExpression(sPath);
|
|
773
|
+
// otherwise the expression binding cannot be taken into account for the selection mode evaluation:
|
|
774
|
+
} else {
|
|
775
|
+
return constant(true);
|
|
776
|
+
}
|
|
777
|
+
}
|
|
778
|
+
return constant(true);
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
/**
|
|
782
|
+
* Loop through the DataFieldForAction and DataFieldForIntentBasedNavigation of a line item and check
|
|
783
|
+
* if at least one of them is always visible in the table toolbar (and requires a context).
|
|
784
|
+
*
|
|
785
|
+
* @param lineItemAnnotation Collection of data fields for representation in a table or list
|
|
786
|
+
* @param currentEntityType Current Entity Type
|
|
787
|
+
* @returns {boolean} `true` if there is at least 1 action that meets the criteria
|
|
788
|
+
*/
|
|
789
|
+
function hasBoundActionsAlwaysVisibleInToolBar(lineItemAnnotation: LineItem, currentEntityType: EntityType): boolean {
|
|
790
|
+
return lineItemAnnotation.some(dataField => {
|
|
791
|
+
if (
|
|
792
|
+
(dataField.$Type === UIAnnotationTypes.DataFieldForAction ||
|
|
793
|
+
dataField.$Type === UIAnnotationTypes.DataFieldForIntentBasedNavigation) &&
|
|
794
|
+
dataField?.Inline?.valueOf() !== true &&
|
|
795
|
+
(dataField.annotations?.UI?.Hidden?.valueOf() === false || dataField.annotations?.UI?.Hidden?.valueOf() === undefined)
|
|
796
|
+
) {
|
|
797
|
+
if (dataField.$Type === UIAnnotationTypes.DataFieldForAction) {
|
|
798
|
+
// Check if the lineItem context is the same as that of the action:
|
|
799
|
+
return dataField?.ActionTarget?.isBound && currentEntityType === dataField?.ActionTarget.sourceEntityType;
|
|
800
|
+
} else if (dataField.$Type === UIAnnotationTypes.DataFieldForIntentBasedNavigation) {
|
|
801
|
+
return dataField.RequiresContext;
|
|
802
|
+
}
|
|
803
|
+
}
|
|
804
|
+
return false;
|
|
805
|
+
});
|
|
806
|
+
}
|
|
807
|
+
|
|
808
|
+
function hasCustomActionsAlwaysVisibleInToolBar(manifestActions: Record<string, CustomAction>): boolean {
|
|
809
|
+
return Object.keys(manifestActions).some(actionKey => {
|
|
810
|
+
const action = manifestActions[actionKey];
|
|
811
|
+
if (action.requiresSelection && action.visible?.toString() === "true") {
|
|
812
|
+
return true;
|
|
813
|
+
}
|
|
814
|
+
return false;
|
|
815
|
+
});
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
/**
|
|
819
|
+
* Iterates over the custom actions (with key requiresSelection) declared in the manifest for the current line item and returns all the
|
|
820
|
+
* visible key values as an expression.
|
|
821
|
+
*
|
|
822
|
+
* @param manifestActions The actions defined in the manifest
|
|
823
|
+
* @returns Array<Expression<boolean>> All the visible path expressions of the actions that meet the criteria
|
|
824
|
+
*/
|
|
825
|
+
function getVisibleExpForCustomActionsRequiringContext(manifestActions: Record<string, CustomAction>): Expression<boolean>[] {
|
|
826
|
+
const aVisiblePathExpressions: Expression<boolean>[] = [];
|
|
827
|
+
if (manifestActions) {
|
|
828
|
+
Object.keys(manifestActions).forEach(actionKey => {
|
|
829
|
+
const action = manifestActions[actionKey];
|
|
830
|
+
if (action.requiresSelection === true && action.visible !== undefined) {
|
|
831
|
+
if (typeof action.visible === "string") {
|
|
832
|
+
/*The final aim would be to check if the path expression depends on the parent context
|
|
833
|
+
and considers only those expressions for the expression evaluation,
|
|
834
|
+
but currently not possible from the manifest as the visible key is bound on the parent entity.
|
|
835
|
+
Tricky to differentiate the path as it's done for the Hidden annotation.
|
|
836
|
+
For the time being we consider all the paths of the manifest*/
|
|
837
|
+
|
|
838
|
+
aVisiblePathExpressions.push(resolveBindingString(action?.visible?.valueOf()));
|
|
839
|
+
}
|
|
840
|
+
}
|
|
841
|
+
});
|
|
842
|
+
}
|
|
843
|
+
return aVisiblePathExpressions;
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
/**
|
|
847
|
+
* Evaluate if the path is statically deletable or updatable.
|
|
848
|
+
*
|
|
849
|
+
* @param converterContext
|
|
850
|
+
* @returns {TableCapabilityRestriction} The table capabilities
|
|
851
|
+
*/
|
|
852
|
+
export function getCapabilityRestriction(converterContext: ConverterContext): TableCapabilityRestriction {
|
|
853
|
+
const isDeletable = isPathDeletable(converterContext.getDataModelObjectPath());
|
|
854
|
+
const isUpdatable = isPathUpdatable(converterContext.getDataModelObjectPath());
|
|
855
|
+
return {
|
|
856
|
+
isDeletable: !(isConstant(isDeletable) && isDeletable.value === false),
|
|
857
|
+
isUpdatable: !(isConstant(isUpdatable) && isUpdatable.value === false)
|
|
858
|
+
};
|
|
859
|
+
}
|
|
860
|
+
|
|
861
|
+
export function getSelectionMode(
|
|
862
|
+
lineItemAnnotation: LineItem | undefined,
|
|
863
|
+
visualizationPath: string,
|
|
864
|
+
converterContext: ConverterContext,
|
|
865
|
+
isEntitySet: boolean,
|
|
866
|
+
targetCapabilities: TableCapabilityRestriction
|
|
867
|
+
): string | undefined {
|
|
868
|
+
if (!lineItemAnnotation) {
|
|
869
|
+
return SelectionMode.None;
|
|
870
|
+
}
|
|
871
|
+
const tableManifestSettings = converterContext.getManifestControlConfiguration(visualizationPath);
|
|
872
|
+
let selectionMode = tableManifestSettings.tableSettings?.selectionMode;
|
|
873
|
+
let aHiddenBindingExpressions: Expression<boolean>[] = [],
|
|
874
|
+
aVisibleBindingExpressions: Expression<boolean>[] = [];
|
|
875
|
+
const manifestActions = getActionsFromManifest(
|
|
876
|
+
converterContext.getManifestControlConfiguration(visualizationPath).actions,
|
|
877
|
+
converterContext,
|
|
878
|
+
[],
|
|
879
|
+
undefined,
|
|
880
|
+
false
|
|
881
|
+
);
|
|
882
|
+
let isParentDeletable, parentEntitySetDeletable;
|
|
883
|
+
if (converterContext.getTemplateType() === TemplateType.ObjectPage) {
|
|
884
|
+
isParentDeletable = isPathDeletable(converterContext.getDataModelObjectPath(), undefined);
|
|
885
|
+
parentEntitySetDeletable = isParentDeletable ? compileBinding(isParentDeletable, true) : isParentDeletable;
|
|
886
|
+
}
|
|
887
|
+
if (selectionMode && selectionMode === SelectionMode.None) {
|
|
888
|
+
if (!isEntitySet) {
|
|
889
|
+
if (targetCapabilities.isDeletable || parentEntitySetDeletable !== "false") {
|
|
890
|
+
selectionMode = SelectionMode.Multi;
|
|
891
|
+
return compileBinding(
|
|
892
|
+
ifElse(equal(bindingExpression("/editMode", "ui"), "Editable"), constant(selectionMode), constant("None"))
|
|
893
|
+
);
|
|
894
|
+
} else {
|
|
895
|
+
selectionMode = SelectionMode.None;
|
|
896
|
+
}
|
|
897
|
+
} else if (isEntitySet) {
|
|
898
|
+
if (targetCapabilities.isDeletable) {
|
|
899
|
+
selectionMode = SelectionMode.Multi;
|
|
900
|
+
return selectionMode;
|
|
901
|
+
} else {
|
|
902
|
+
selectionMode = SelectionMode.None;
|
|
903
|
+
}
|
|
904
|
+
}
|
|
905
|
+
} else if (!selectionMode || selectionMode === SelectionMode.Auto) {
|
|
906
|
+
selectionMode = SelectionMode.Multi;
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
if (
|
|
910
|
+
hasBoundActionsAlwaysVisibleInToolBar(lineItemAnnotation, converterContext.getEntityType()) ||
|
|
911
|
+
hasCustomActionsAlwaysVisibleInToolBar(manifestActions)
|
|
912
|
+
) {
|
|
913
|
+
return selectionMode;
|
|
914
|
+
}
|
|
915
|
+
aHiddenBindingExpressions = getUIHiddenExpForActionsRequiringContext(
|
|
916
|
+
lineItemAnnotation,
|
|
917
|
+
converterContext.getEntityType(),
|
|
918
|
+
converterContext.getDataModelObjectPath(),
|
|
919
|
+
isEntitySet
|
|
920
|
+
);
|
|
921
|
+
aVisibleBindingExpressions = getVisibleExpForCustomActionsRequiringContext(manifestActions);
|
|
922
|
+
|
|
923
|
+
// No action requiring a context:
|
|
924
|
+
if (aHiddenBindingExpressions.length === 0 && aVisibleBindingExpressions.length === 0) {
|
|
925
|
+
if (!isEntitySet) {
|
|
926
|
+
if (targetCapabilities.isDeletable || parentEntitySetDeletable !== "false") {
|
|
927
|
+
return compileBinding(
|
|
928
|
+
ifElse(equal(bindingExpression("/editMode", "ui"), "Editable"), constant(selectionMode), constant(SelectionMode.None))
|
|
929
|
+
);
|
|
930
|
+
} else {
|
|
931
|
+
return SelectionMode.None;
|
|
932
|
+
}
|
|
933
|
+
// EntitySet deletable:
|
|
934
|
+
} else if (targetCapabilities.isDeletable) {
|
|
935
|
+
return selectionMode;
|
|
936
|
+
// EntitySet not deletable:
|
|
937
|
+
} else {
|
|
938
|
+
return SelectionMode.None;
|
|
939
|
+
}
|
|
940
|
+
// There are actions requiring a context:
|
|
941
|
+
} else if (!isEntitySet) {
|
|
942
|
+
if (targetCapabilities.isDeletable || parentEntitySetDeletable !== "false") {
|
|
943
|
+
return compileBinding(
|
|
944
|
+
ifElse(
|
|
945
|
+
equal(bindingExpression("/editMode", "ui"), "Editable"),
|
|
946
|
+
constant(selectionMode),
|
|
947
|
+
ifElse(
|
|
948
|
+
or(...aHiddenBindingExpressions.concat(aVisibleBindingExpressions)),
|
|
949
|
+
constant(selectionMode),
|
|
950
|
+
constant(SelectionMode.None)
|
|
951
|
+
)
|
|
952
|
+
)
|
|
953
|
+
);
|
|
954
|
+
} else {
|
|
955
|
+
return compileBinding(
|
|
956
|
+
ifElse(
|
|
957
|
+
or(...aHiddenBindingExpressions.concat(aVisibleBindingExpressions)),
|
|
958
|
+
constant(selectionMode),
|
|
959
|
+
constant(SelectionMode.None)
|
|
960
|
+
)
|
|
961
|
+
);
|
|
962
|
+
}
|
|
963
|
+
//EntitySet deletable:
|
|
964
|
+
} else if (targetCapabilities.isDeletable) {
|
|
965
|
+
return SelectionMode.Multi;
|
|
966
|
+
//EntitySet not deletable:
|
|
967
|
+
} else {
|
|
968
|
+
return compileBinding(
|
|
969
|
+
ifElse(
|
|
970
|
+
or(...aHiddenBindingExpressions.concat(aVisibleBindingExpressions)),
|
|
971
|
+
constant(selectionMode),
|
|
972
|
+
constant(SelectionMode.None)
|
|
973
|
+
)
|
|
974
|
+
);
|
|
975
|
+
}
|
|
976
|
+
}
|
|
977
|
+
|
|
978
|
+
/**
|
|
979
|
+
* Method to retrieve all table actions from annotations.
|
|
980
|
+
*
|
|
981
|
+
* @param lineItemAnnotation
|
|
982
|
+
* @param visualizationPath
|
|
983
|
+
* @param converterContext
|
|
984
|
+
* @returns {Record<BaseAction, BaseAction>} The table annotation actions
|
|
985
|
+
*/
|
|
986
|
+
function getTableAnnotationActions(lineItemAnnotation: LineItem, visualizationPath: string, converterContext: ConverterContext) {
|
|
987
|
+
const tableActions: BaseAction[] = [];
|
|
988
|
+
const hiddenTableActions: BaseAction[] = [];
|
|
989
|
+
if (lineItemAnnotation) {
|
|
990
|
+
lineItemAnnotation.forEach((dataField: DataFieldAbstractTypes) => {
|
|
991
|
+
let tableAction: AnnotationAction | undefined;
|
|
992
|
+
if (
|
|
993
|
+
isDataFieldForActionAbstract(dataField) &&
|
|
994
|
+
!(dataField.annotations?.UI?.Hidden?.valueOf() === true) &&
|
|
995
|
+
!dataField.Inline &&
|
|
996
|
+
!dataField.Determining
|
|
997
|
+
) {
|
|
998
|
+
const key = KeyHelper.generateKeyFromDataField(dataField);
|
|
999
|
+
switch (dataField.$Type) {
|
|
1000
|
+
case "com.sap.vocabularies.UI.v1.DataFieldForAction":
|
|
1001
|
+
tableAction = {
|
|
1002
|
+
type: ActionType.DataFieldForAction,
|
|
1003
|
+
annotationPath: converterContext.getEntitySetBasedAnnotationPath(dataField.fullyQualifiedName),
|
|
1004
|
+
key: key,
|
|
1005
|
+
visible: compileBinding(
|
|
1006
|
+
not(
|
|
1007
|
+
equal(
|
|
1008
|
+
annotationExpression(
|
|
1009
|
+
dataField.annotations?.UI?.Hidden,
|
|
1010
|
+
[],
|
|
1011
|
+
undefined,
|
|
1012
|
+
converterContext.getRelativeModelPathFunction()
|
|
1013
|
+
),
|
|
1014
|
+
true
|
|
1015
|
+
)
|
|
1016
|
+
)
|
|
1017
|
+
),
|
|
1018
|
+
isNavigable: true
|
|
1019
|
+
};
|
|
1020
|
+
break;
|
|
1021
|
+
|
|
1022
|
+
case "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation":
|
|
1023
|
+
tableAction = {
|
|
1024
|
+
type: ActionType.DataFieldForIntentBasedNavigation,
|
|
1025
|
+
annotationPath: converterContext.getEntitySetBasedAnnotationPath(dataField.fullyQualifiedName),
|
|
1026
|
+
key: key,
|
|
1027
|
+
visible: compileBinding(
|
|
1028
|
+
not(
|
|
1029
|
+
equal(
|
|
1030
|
+
annotationExpression(
|
|
1031
|
+
dataField.annotations?.UI?.Hidden,
|
|
1032
|
+
[],
|
|
1033
|
+
undefined,
|
|
1034
|
+
converterContext.getRelativeModelPathFunction()
|
|
1035
|
+
),
|
|
1036
|
+
true
|
|
1037
|
+
)
|
|
1038
|
+
)
|
|
1039
|
+
)
|
|
1040
|
+
};
|
|
1041
|
+
break;
|
|
1042
|
+
default:
|
|
1043
|
+
break;
|
|
1044
|
+
}
|
|
1045
|
+
} else if (dataField.annotations?.UI?.Hidden?.valueOf() === true) {
|
|
1046
|
+
hiddenTableActions.push({
|
|
1047
|
+
type: ActionType.Default,
|
|
1048
|
+
key: KeyHelper.generateKeyFromDataField(dataField)
|
|
1049
|
+
});
|
|
1050
|
+
}
|
|
1051
|
+
if (tableAction) {
|
|
1052
|
+
tableActions.push(tableAction);
|
|
1053
|
+
}
|
|
1054
|
+
});
|
|
1055
|
+
}
|
|
1056
|
+
return {
|
|
1057
|
+
tableActions: tableActions,
|
|
1058
|
+
hiddenTableActions: hiddenTableActions
|
|
1059
|
+
};
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
function getHighlightRowBinding(
|
|
1063
|
+
criticalityAnnotation: PathAnnotationExpression<CriticalityType> | EnumValue<CriticalityType> | undefined,
|
|
1064
|
+
isDraftRoot: boolean,
|
|
1065
|
+
targetEntityType?: EntityType
|
|
1066
|
+
): Expression<MessageType> {
|
|
1067
|
+
let defaultHighlightRowDefinition: MessageType | Expression<MessageType> = MessageType.None;
|
|
1068
|
+
if (criticalityAnnotation) {
|
|
1069
|
+
if (typeof criticalityAnnotation === "object") {
|
|
1070
|
+
defaultHighlightRowDefinition = annotationExpression(criticalityAnnotation) as Expression<MessageType>;
|
|
1071
|
+
} else {
|
|
1072
|
+
// Enum Value so we get the corresponding static part
|
|
1073
|
+
defaultHighlightRowDefinition = getMessageTypeFromCriticalityType(criticalityAnnotation);
|
|
1074
|
+
}
|
|
1075
|
+
}
|
|
1076
|
+
return ifElse(
|
|
1077
|
+
isDraftRoot && Draft.IsNewObject,
|
|
1078
|
+
MessageType.Information as MessageType,
|
|
1079
|
+
formatResult(
|
|
1080
|
+
[defaultHighlightRowDefinition, bindingExpression(`filteredMessages`, "internal")],
|
|
1081
|
+
tableFormatters.rowHighlighting,
|
|
1082
|
+
targetEntityType
|
|
1083
|
+
)
|
|
1084
|
+
);
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1087
|
+
function _getCreationBehaviour(
|
|
1088
|
+
lineItemAnnotation: LineItem | undefined,
|
|
1089
|
+
tableManifestConfiguration: TableControlConfiguration,
|
|
1090
|
+
converterContext: ConverterContext,
|
|
1091
|
+
navigationSettings: NavigationSettingsConfiguration
|
|
1092
|
+
): TableAnnotationConfiguration["create"] {
|
|
1093
|
+
const navigation = navigationSettings?.create || navigationSettings?.detail;
|
|
1094
|
+
|
|
1095
|
+
// cross-app
|
|
1096
|
+
if (navigation?.outbound && navigation.outboundDetail && navigationSettings?.create) {
|
|
1097
|
+
return {
|
|
1098
|
+
mode: "External",
|
|
1099
|
+
outbound: navigation.outbound,
|
|
1100
|
+
outboundDetail: navigation.outboundDetail,
|
|
1101
|
+
navigationSettings: navigationSettings
|
|
1102
|
+
};
|
|
1103
|
+
}
|
|
1104
|
+
|
|
1105
|
+
let newAction;
|
|
1106
|
+
if (lineItemAnnotation) {
|
|
1107
|
+
// in-app
|
|
1108
|
+
const targetAnnotations = converterContext.getEntitySet()?.annotations;
|
|
1109
|
+
newAction = targetAnnotations?.Common?.DraftRoot?.NewAction || targetAnnotations?.Session?.StickySessionSupported?.NewAction; // TODO: Is there really no 'NewAction' on DraftNode? targetAnnotations?.Common?.DraftNode?.NewAction
|
|
1110
|
+
|
|
1111
|
+
if (tableManifestConfiguration.creationMode === CreationMode.CreationRow && newAction) {
|
|
1112
|
+
// A combination of 'CreationRow' and 'NewAction' does not make sense
|
|
1113
|
+
// TODO: Or does it?
|
|
1114
|
+
throw Error(`Creation mode '${CreationMode.CreationRow}' can not be used with a custom 'new' action (${newAction})`);
|
|
1115
|
+
}
|
|
1116
|
+
if (navigation?.route) {
|
|
1117
|
+
// route specified
|
|
1118
|
+
return {
|
|
1119
|
+
mode: tableManifestConfiguration.creationMode,
|
|
1120
|
+
append: tableManifestConfiguration.createAtEnd,
|
|
1121
|
+
newAction: newAction?.toString(),
|
|
1122
|
+
navigateToTarget: tableManifestConfiguration.creationMode === CreationMode.NewPage ? navigation.route : undefined // navigate only in NewPage mode
|
|
1123
|
+
};
|
|
1124
|
+
}
|
|
1125
|
+
}
|
|
1126
|
+
|
|
1127
|
+
// no navigation or no route specified - fallback to inline create if original creation mode was 'NewPage'
|
|
1128
|
+
if (tableManifestConfiguration.creationMode === CreationMode.NewPage) {
|
|
1129
|
+
tableManifestConfiguration.creationMode = CreationMode.Inline;
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1132
|
+
return {
|
|
1133
|
+
mode: tableManifestConfiguration.creationMode,
|
|
1134
|
+
append: tableManifestConfiguration.createAtEnd,
|
|
1135
|
+
newAction: newAction?.toString()
|
|
1136
|
+
};
|
|
1137
|
+
}
|
|
1138
|
+
|
|
1139
|
+
const _getRowConfigurationProperty = function(
|
|
1140
|
+
lineItemAnnotation: LineItem | undefined,
|
|
1141
|
+
visualizationPath: string,
|
|
1142
|
+
converterContext: ConverterContext,
|
|
1143
|
+
navigationSettings: NavigationSettingsConfiguration,
|
|
1144
|
+
targetPath: string
|
|
1145
|
+
) {
|
|
1146
|
+
let pressProperty, navigationTarget;
|
|
1147
|
+
let criticalityProperty: ExpressionOrPrimitive<MessageType> = MessageType.None;
|
|
1148
|
+
const targetEntityType = converterContext.getEntityType();
|
|
1149
|
+
if (navigationSettings && lineItemAnnotation) {
|
|
1150
|
+
navigationTarget = navigationSettings.display?.target || navigationSettings.detail?.outbound;
|
|
1151
|
+
if (navigationTarget) {
|
|
1152
|
+
pressProperty =
|
|
1153
|
+
".handlers.onChevronPressNavigateOutBound( $controller ,'" + navigationTarget + "', ${$parameters>bindingContext})";
|
|
1154
|
+
} else if (targetEntityType) {
|
|
1155
|
+
const targetEntitySet = converterContext.getEntitySet();
|
|
1156
|
+
navigationTarget = navigationSettings.detail?.route;
|
|
1157
|
+
if (navigationTarget) {
|
|
1158
|
+
criticalityProperty = getHighlightRowBinding(
|
|
1159
|
+
lineItemAnnotation.annotations?.UI?.Criticality,
|
|
1160
|
+
!!targetEntitySet?.annotations?.Common?.DraftRoot || !!targetEntitySet?.annotations?.Common?.DraftNode,
|
|
1161
|
+
targetEntityType
|
|
1162
|
+
);
|
|
1163
|
+
pressProperty =
|
|
1164
|
+
"API.onTableRowPress($event, $controller, ${$parameters>bindingContext}, { callExtension: true, targetPath: '" +
|
|
1165
|
+
targetPath +
|
|
1166
|
+
"', editable : " +
|
|
1167
|
+
(targetEntitySet?.annotations?.Common?.DraftRoot || targetEntitySet?.annotations?.Common?.DraftNode
|
|
1168
|
+
? "!${$parameters>bindingContext}.getProperty('IsActiveEntity')"
|
|
1169
|
+
: "undefined") +
|
|
1170
|
+
"})"; //Need to access to DraftRoot and DraftNode !!!!!!!
|
|
1171
|
+
} else {
|
|
1172
|
+
criticalityProperty = getHighlightRowBinding(lineItemAnnotation.annotations?.UI?.Criticality, false, targetEntityType);
|
|
1173
|
+
}
|
|
1174
|
+
}
|
|
1175
|
+
}
|
|
1176
|
+
const rowNavigatedExpression: Expression<boolean> = formatResult(
|
|
1177
|
+
[bindingExpression("/deepestPath", "internal")],
|
|
1178
|
+
tableFormatters.navigatedRow,
|
|
1179
|
+
targetEntityType
|
|
1180
|
+
);
|
|
1181
|
+
return {
|
|
1182
|
+
press: pressProperty,
|
|
1183
|
+
action: pressProperty ? "Navigation" : undefined,
|
|
1184
|
+
rowHighlighting: compileBinding(criticalityProperty),
|
|
1185
|
+
rowNavigated: compileBinding(rowNavigatedExpression)
|
|
1186
|
+
};
|
|
1187
|
+
};
|
|
1188
|
+
|
|
1189
|
+
/**
|
|
1190
|
+
* Retrieve the columns from the entityType.
|
|
1191
|
+
*
|
|
1192
|
+
* @param columnsToBeCreated The columns to be created.
|
|
1193
|
+
* @param entityType The target entity type.
|
|
1194
|
+
* @param annotationColumns The array of columns created based on LineItem annotations.
|
|
1195
|
+
* @param nonSortableColumns The array of all non sortable column names.
|
|
1196
|
+
* @param converterContext The converter context.
|
|
1197
|
+
* @param tableType The table type.
|
|
1198
|
+
* @returns {AnnotationTableColumn[]} The column from the entityType
|
|
1199
|
+
*/
|
|
1200
|
+
export const getColumnsFromEntityType = function(
|
|
1201
|
+
columnsToBeCreated: Record<string, Property>,
|
|
1202
|
+
entityType: EntityType,
|
|
1203
|
+
annotationColumns: AnnotationTableColumn[] = [],
|
|
1204
|
+
nonSortableColumns: string[],
|
|
1205
|
+
converterContext: ConverterContext,
|
|
1206
|
+
tableType: TableType
|
|
1207
|
+
): AnnotationTableColumn[] {
|
|
1208
|
+
const tableColumns: AnnotationTableColumn[] = [];
|
|
1209
|
+
// Catch already existing columns - which were added before by LineItem Annotations
|
|
1210
|
+
const aggregationHelper = new AggregationHelper(entityType, converterContext);
|
|
1211
|
+
|
|
1212
|
+
entityType.entityProperties.forEach((property: Property) => {
|
|
1213
|
+
// Catch already existing columns - which were added before by LineItem Annotations
|
|
1214
|
+
const exists = annotationColumns.some(column => {
|
|
1215
|
+
return column.name === property.name;
|
|
1216
|
+
});
|
|
1217
|
+
|
|
1218
|
+
// if target type exists, it is a complex property and should be ignored
|
|
1219
|
+
if (!property.targetType && !exists) {
|
|
1220
|
+
const relatedPropertiesInfo: ComplexPropertyInfo = collectRelatedProperties(
|
|
1221
|
+
property.name,
|
|
1222
|
+
property,
|
|
1223
|
+
converterContext,
|
|
1224
|
+
true,
|
|
1225
|
+
tableType
|
|
1226
|
+
);
|
|
1227
|
+
const relatedPropertyNames: string[] = Object.keys(relatedPropertiesInfo.properties);
|
|
1228
|
+
const additionalPropertyNames: string[] = Object.keys(relatedPropertiesInfo.additionalProperties);
|
|
1229
|
+
const columnInfo = getColumnDefinitionFromProperty(
|
|
1230
|
+
property,
|
|
1231
|
+
converterContext.getEntitySetBasedAnnotationPath(property.fullyQualifiedName),
|
|
1232
|
+
property.name,
|
|
1233
|
+
true,
|
|
1234
|
+
true,
|
|
1235
|
+
nonSortableColumns,
|
|
1236
|
+
aggregationHelper,
|
|
1237
|
+
converterContext
|
|
1238
|
+
);
|
|
1239
|
+
if (relatedPropertyNames.length > 0) {
|
|
1240
|
+
columnInfo.propertyInfos = relatedPropertyNames;
|
|
1241
|
+
columnInfo.exportSettings = {
|
|
1242
|
+
...columnInfo.exportSettings,
|
|
1243
|
+
template: relatedPropertiesInfo.exportSettingsTemplate,
|
|
1244
|
+
wrap: relatedPropertiesInfo.exportSettingsWrapping
|
|
1245
|
+
};
|
|
1246
|
+
|
|
1247
|
+
// Collect information of related columns to be created.
|
|
1248
|
+
relatedPropertyNames.forEach(name => {
|
|
1249
|
+
columnsToBeCreated[name] = relatedPropertiesInfo.properties[name];
|
|
1250
|
+
});
|
|
1251
|
+
}
|
|
1252
|
+
|
|
1253
|
+
if (additionalPropertyNames.length > 0) {
|
|
1254
|
+
columnInfo.additionalPropertyInfos = additionalPropertyNames;
|
|
1255
|
+
// Create columns for additional properties identified for ALP use case.
|
|
1256
|
+
additionalPropertyNames.forEach(name => {
|
|
1257
|
+
// Intentional overwrite as we require only one new PropertyInfo for a related Property.
|
|
1258
|
+
columnsToBeCreated[name] = relatedPropertiesInfo.additionalProperties[name];
|
|
1259
|
+
});
|
|
1260
|
+
}
|
|
1261
|
+
tableColumns.push(columnInfo);
|
|
1262
|
+
}
|
|
1263
|
+
});
|
|
1264
|
+
return tableColumns;
|
|
1265
|
+
};
|
|
1266
|
+
|
|
1267
|
+
/**
|
|
1268
|
+
* Create a column definition from a property.
|
|
1269
|
+
* @param {Property} property Entity type property for which the column is created
|
|
1270
|
+
* @param {string} fullPropertyPath The full path to the target property
|
|
1271
|
+
* @param {string} relativePath The relative path to the target property based on the context
|
|
1272
|
+
* @param {boolean} useDataFieldPrefix Should be prefixed with "DataField::", else it will be prefixed with "Property::"
|
|
1273
|
+
* @param {boolean} availableForAdaptation Decides whether column should be available for adaptation
|
|
1274
|
+
* @param {string[]} nonSortableColumns The array of all non sortable column names
|
|
1275
|
+
* @param {AggregationHelper} aggregationHelper The aggregationHelper for the entity
|
|
1276
|
+
* @param {ConverterContext} converterContext The converter context
|
|
1277
|
+
* @returns {AnnotationTableColumn} The annotation column definition
|
|
1278
|
+
*/
|
|
1279
|
+
const getColumnDefinitionFromProperty = function(
|
|
1280
|
+
property: Property,
|
|
1281
|
+
fullPropertyPath: string,
|
|
1282
|
+
relativePath: string,
|
|
1283
|
+
useDataFieldPrefix: boolean,
|
|
1284
|
+
availableForAdaptation: boolean,
|
|
1285
|
+
nonSortableColumns: string[],
|
|
1286
|
+
aggregationHelper: AggregationHelper,
|
|
1287
|
+
converterContext: ConverterContext
|
|
1288
|
+
): AnnotationTableColumn {
|
|
1289
|
+
const name = useDataFieldPrefix ? relativePath : "Property::" + relativePath;
|
|
1290
|
+
const key = (useDataFieldPrefix ? "DataField::" : "Property::") + replaceSpecialChars(relativePath);
|
|
1291
|
+
const semanticObjectAnnotationPath = getSemanticObjectPath(converterContext, property);
|
|
1292
|
+
const isHidden = property.annotations?.UI?.Hidden?.valueOf() === true;
|
|
1293
|
+
const groupPath: string | undefined = property.name ? _sliceAtSlash(property.name, true, false) : undefined;
|
|
1294
|
+
const isGroup: boolean = groupPath != property.name;
|
|
1295
|
+
const isDataPointFakeProperty: boolean = name.indexOf("@com.sap.vocabularies.UI.v1.DataPoint") > -1;
|
|
1296
|
+
const exportSettings = isDataPointFakeProperty
|
|
1297
|
+
? {
|
|
1298
|
+
template: getTargetValueOnDataPoint(property)
|
|
1299
|
+
}
|
|
1300
|
+
: undefined;
|
|
1301
|
+
return {
|
|
1302
|
+
key: key,
|
|
1303
|
+
isGroupable: !isDataPointFakeProperty && !isHidden ? aggregationHelper.isPropertyGroupable(property) : false,
|
|
1304
|
+
type: ColumnType.Annotation,
|
|
1305
|
+
label: _getLabel(property, isGroup),
|
|
1306
|
+
groupLabel: isGroup ? _getLabel(property) : null,
|
|
1307
|
+
group: isGroup ? groupPath : null,
|
|
1308
|
+
annotationPath: fullPropertyPath,
|
|
1309
|
+
semanticObjectPath: semanticObjectAnnotationPath,
|
|
1310
|
+
// A fake property was created for the TargetValue used on DataPoints, this property should be hidden and non sortable
|
|
1311
|
+
availability:
|
|
1312
|
+
!availableForAdaptation || isHidden || isDataPointFakeProperty ? AvailabilityType.Hidden : AvailabilityType.Adaptation,
|
|
1313
|
+
name: name,
|
|
1314
|
+
relativePath: isDataPointFakeProperty
|
|
1315
|
+
? (property as any).annotations?.UI?.DataFieldDefault?.Target?.$target?.Value?.path || (property as any).Value.path
|
|
1316
|
+
: relativePath,
|
|
1317
|
+
sortable: !isHidden && nonSortableColumns.indexOf(relativePath) === -1 && !isDataPointFakeProperty,
|
|
1318
|
+
isKey: property.isKey,
|
|
1319
|
+
isDataPointFakeTargetProperty: isDataPointFakeProperty,
|
|
1320
|
+
exportSettings: exportSettings
|
|
1321
|
+
} as AnnotationTableColumn;
|
|
1322
|
+
};
|
|
1323
|
+
|
|
1324
|
+
/**
|
|
1325
|
+
* Returns boolean true for valid columns, false for invalid columns.
|
|
1326
|
+
*
|
|
1327
|
+
* @param {DataFieldAbstractTypes} dataField Different DataField types defined in the annotations
|
|
1328
|
+
* @returns {boolean} True for valid columns, false for invalid columns
|
|
1329
|
+
* @private
|
|
1330
|
+
*/
|
|
1331
|
+
const _isValidColumn = function(dataField: DataFieldAbstractTypes) {
|
|
1332
|
+
switch (dataField.$Type) {
|
|
1333
|
+
case UIAnnotationTypes.DataFieldForAction:
|
|
1334
|
+
case UIAnnotationTypes.DataFieldForIntentBasedNavigation:
|
|
1335
|
+
return !!dataField.Inline;
|
|
1336
|
+
case UIAnnotationTypes.DataFieldWithAction:
|
|
1337
|
+
case UIAnnotationTypes.DataFieldWithIntentBasedNavigation:
|
|
1338
|
+
return false;
|
|
1339
|
+
case UIAnnotationTypes.DataField:
|
|
1340
|
+
case UIAnnotationTypes.DataFieldWithUrl:
|
|
1341
|
+
case UIAnnotationTypes.DataFieldForAnnotation:
|
|
1342
|
+
case UIAnnotationTypes.DataFieldWithNavigationPath:
|
|
1343
|
+
return true;
|
|
1344
|
+
default:
|
|
1345
|
+
// Todo: Replace with proper Log statement once available
|
|
1346
|
+
// throw new Error("Unhandled DataField Abstract type: " + dataField.$Type);
|
|
1347
|
+
}
|
|
1348
|
+
};
|
|
1349
|
+
|
|
1350
|
+
/**
|
|
1351
|
+
* Returns label for property and dataField.
|
|
1352
|
+
* @param {DataFieldAbstractTypes | Property} property Entity type property or DataField defined in the annotations
|
|
1353
|
+
* @param isGroup
|
|
1354
|
+
* @returns {string} Label of the property or DataField
|
|
1355
|
+
* @private
|
|
1356
|
+
*/
|
|
1357
|
+
const _getLabel = function(property: DataFieldAbstractTypes | Property, isGroup: boolean = false): string | undefined {
|
|
1358
|
+
if (!property) {
|
|
1359
|
+
return undefined;
|
|
1360
|
+
}
|
|
1361
|
+
if (isProperty(property)) {
|
|
1362
|
+
const dataFieldDefault = property.annotations?.UI?.DataFieldDefault;
|
|
1363
|
+
if (dataFieldDefault && !dataFieldDefault.qualifier && dataFieldDefault.Label?.valueOf()) {
|
|
1364
|
+
return compileBinding(annotationExpression(dataFieldDefault.Label?.valueOf()));
|
|
1365
|
+
}
|
|
1366
|
+
return compileBinding(annotationExpression(property.annotations.Common?.Label?.valueOf() || property.name));
|
|
1367
|
+
} else if (isDataFieldTypes(property)) {
|
|
1368
|
+
if (!!isGroup && property.$Type === UIAnnotationTypes.DataFieldWithIntentBasedNavigation) {
|
|
1369
|
+
return compileBinding(annotationExpression(property.Label?.valueOf()));
|
|
1370
|
+
}
|
|
1371
|
+
return compileBinding(
|
|
1372
|
+
annotationExpression(
|
|
1373
|
+
property.Label?.valueOf() || property.Value?.$target?.annotations?.Common?.Label?.valueOf() || property.Value?.$target?.name
|
|
1374
|
+
)
|
|
1375
|
+
);
|
|
1376
|
+
} else if (property.$Type === UIAnnotationTypes.DataFieldForAnnotation) {
|
|
1377
|
+
return compileBinding(
|
|
1378
|
+
annotationExpression(
|
|
1379
|
+
property.Label?.valueOf() || (property.Target?.$target as DataPoint)?.Value?.$target?.annotations?.Common?.Label?.valueOf()
|
|
1380
|
+
)
|
|
1381
|
+
);
|
|
1382
|
+
} else {
|
|
1383
|
+
return compileBinding(annotationExpression(property.Label?.valueOf()));
|
|
1384
|
+
}
|
|
1385
|
+
};
|
|
1386
|
+
|
|
1387
|
+
/**
|
|
1388
|
+
* Creates a PropertyInfo for each identified property consumed by a LineItem.
|
|
1389
|
+
*
|
|
1390
|
+
* @param {Record<string, Property>} columnsToBeCreated Identified properties.
|
|
1391
|
+
* @param existingColumns The list of columns created for LineItems and Properties of entityType.
|
|
1392
|
+
* @param nonSortableColumns The array of column names which cannot be sorted.
|
|
1393
|
+
* @param converterContext The converter context.
|
|
1394
|
+
* @param entityType The entity type for the LineItem
|
|
1395
|
+
* @returns {AnnotationTableColumn[]} The array of columns created.
|
|
1396
|
+
*/
|
|
1397
|
+
const _createRelatedColumns = function(
|
|
1398
|
+
columnsToBeCreated: Record<string, Property>,
|
|
1399
|
+
existingColumns: AnnotationTableColumn[],
|
|
1400
|
+
nonSortableColumns: string[],
|
|
1401
|
+
converterContext: ConverterContext,
|
|
1402
|
+
entityType: EntityType
|
|
1403
|
+
): AnnotationTableColumn[] {
|
|
1404
|
+
const relatedColumns: AnnotationTableColumn[] = [];
|
|
1405
|
+
const relatedPropertyNameMap: Record<string, string> = {};
|
|
1406
|
+
const aggregationHelper = new AggregationHelper(entityType, converterContext);
|
|
1407
|
+
|
|
1408
|
+
Object.keys(columnsToBeCreated).forEach(name => {
|
|
1409
|
+
const property = columnsToBeCreated[name],
|
|
1410
|
+
annotationPath = converterContext.getAbsoluteAnnotationPath(name),
|
|
1411
|
+
// Check whether the related column already exists.
|
|
1412
|
+
relatedColumn = existingColumns.find(column => column.name === name);
|
|
1413
|
+
if (relatedColumn === undefined) {
|
|
1414
|
+
// Case 1: Key contains DataField prefix to ensure all property columns have the same key format.
|
|
1415
|
+
// New created property column is set to hidden.
|
|
1416
|
+
relatedColumns.push(
|
|
1417
|
+
getColumnDefinitionFromProperty(
|
|
1418
|
+
property,
|
|
1419
|
+
annotationPath,
|
|
1420
|
+
name,
|
|
1421
|
+
true,
|
|
1422
|
+
false,
|
|
1423
|
+
nonSortableColumns,
|
|
1424
|
+
aggregationHelper,
|
|
1425
|
+
converterContext
|
|
1426
|
+
)
|
|
1427
|
+
);
|
|
1428
|
+
} else if (
|
|
1429
|
+
relatedColumn.annotationPath !== annotationPath ||
|
|
1430
|
+
(relatedColumn.propertyInfos && relatedColumn.propertyInfos.indexOf(name) !== -1)
|
|
1431
|
+
) {
|
|
1432
|
+
// Case 2: The existing column points to a LineItem (or)
|
|
1433
|
+
// Case 3: This is a self reference from an existing column and
|
|
1434
|
+
// both cases require a dummy PropertyInfo for setting correct export settings.
|
|
1435
|
+
|
|
1436
|
+
const newName = "Property::" + name;
|
|
1437
|
+
|
|
1438
|
+
// Checking whether the related property column has already been created in a previous iteration.
|
|
1439
|
+
if (!existingColumns.some(column => column.name === newName)) {
|
|
1440
|
+
// Create a new property column with 'Property::' prefix,
|
|
1441
|
+
// Set it to hidden as it is only consumed by Complex property infos.
|
|
1442
|
+
relatedColumns.push(
|
|
1443
|
+
getColumnDefinitionFromProperty(
|
|
1444
|
+
property,
|
|
1445
|
+
annotationPath,
|
|
1446
|
+
name,
|
|
1447
|
+
false,
|
|
1448
|
+
false,
|
|
1449
|
+
nonSortableColumns,
|
|
1450
|
+
aggregationHelper,
|
|
1451
|
+
converterContext
|
|
1452
|
+
)
|
|
1453
|
+
);
|
|
1454
|
+
relatedPropertyNameMap[name] = newName;
|
|
1455
|
+
}
|
|
1456
|
+
}
|
|
1457
|
+
});
|
|
1458
|
+
|
|
1459
|
+
// The property 'name' has been prefixed with 'Property::' for uniqueness.
|
|
1460
|
+
// Update the same in other propertyInfos[] references which point to this property.
|
|
1461
|
+
existingColumns.forEach(column => {
|
|
1462
|
+
column.propertyInfos = column.propertyInfos?.map(propertyInfo => relatedPropertyNameMap[propertyInfo] ?? propertyInfo);
|
|
1463
|
+
column.additionalPropertyInfos = column.additionalPropertyInfos?.map(
|
|
1464
|
+
propertyInfo => relatedPropertyNameMap[propertyInfo] ?? propertyInfo
|
|
1465
|
+
);
|
|
1466
|
+
});
|
|
1467
|
+
|
|
1468
|
+
return relatedColumns;
|
|
1469
|
+
};
|
|
1470
|
+
|
|
1471
|
+
/**
|
|
1472
|
+
* Getting the Column Name
|
|
1473
|
+
* If it points to a DataField with one property or DataPoint with one property, it will use the property name
|
|
1474
|
+
* here to be consistent with the existing flex changes.
|
|
1475
|
+
*
|
|
1476
|
+
* @param {DataFieldAbstractTypes} dataField Different DataField types defined in the annotations
|
|
1477
|
+
* @returns {string} The name of annotation columns
|
|
1478
|
+
* @private
|
|
1479
|
+
*/
|
|
1480
|
+
const _getAnnotationColumnName = function(dataField: DataFieldAbstractTypes) {
|
|
1481
|
+
// This is needed as we have flexibility changes already that we have to check against
|
|
1482
|
+
if (isDataFieldTypes(dataField)) {
|
|
1483
|
+
return dataField.Value?.path;
|
|
1484
|
+
} else if (dataField.$Type === UIAnnotationTypes.DataFieldForAnnotation && (dataField.Target?.$target as DataPoint)?.Value?.path) {
|
|
1485
|
+
// This is for removing duplicate properties. For example, 'Progress' Property is removed if it is already defined as a DataPoint
|
|
1486
|
+
return (dataField.Target?.$target as DataPoint)?.Value.path;
|
|
1487
|
+
} else {
|
|
1488
|
+
return KeyHelper.generateKeyFromDataField(dataField);
|
|
1489
|
+
}
|
|
1490
|
+
};
|
|
1491
|
+
|
|
1492
|
+
/**
|
|
1493
|
+
* Determines the relative path of the property with respect to the root entity.
|
|
1494
|
+
* @param dataField The `DataField` being processed.
|
|
1495
|
+
* @returns {string} The relative path
|
|
1496
|
+
*/
|
|
1497
|
+
const _getRelativePath = function(dataField: DataFieldAbstractTypes): string {
|
|
1498
|
+
let relativePath: string = "";
|
|
1499
|
+
|
|
1500
|
+
switch (dataField.$Type) {
|
|
1501
|
+
case UIAnnotationTypes.DataField:
|
|
1502
|
+
case UIAnnotationTypes.DataFieldWithNavigationPath:
|
|
1503
|
+
case UIAnnotationTypes.DataFieldWithUrl:
|
|
1504
|
+
relativePath = (dataField as DataField)?.Value?.path;
|
|
1505
|
+
break;
|
|
1506
|
+
|
|
1507
|
+
case UIAnnotationTypes.DataFieldForAnnotation:
|
|
1508
|
+
relativePath = (dataField as DataFieldForAnnotation)?.Target?.value;
|
|
1509
|
+
break;
|
|
1510
|
+
|
|
1511
|
+
case UIAnnotationTypes.DataFieldForAction:
|
|
1512
|
+
case UIAnnotationTypes.DataFieldForIntentBasedNavigation:
|
|
1513
|
+
relativePath = KeyHelper.generateKeyFromDataField(dataField);
|
|
1514
|
+
break;
|
|
1515
|
+
}
|
|
1516
|
+
|
|
1517
|
+
return relativePath;
|
|
1518
|
+
};
|
|
1519
|
+
|
|
1520
|
+
const _sliceAtSlash = function(path: string, isLastSlash: boolean, isLastPart: boolean) {
|
|
1521
|
+
const iSlashIndex = isLastSlash ? path.lastIndexOf("/") : path.indexOf("/");
|
|
1522
|
+
|
|
1523
|
+
if (iSlashIndex === -1) {
|
|
1524
|
+
return path;
|
|
1525
|
+
}
|
|
1526
|
+
return isLastPart ? path.substring(iSlashIndex + 1, path.length) : path.substring(0, iSlashIndex);
|
|
1527
|
+
};
|
|
1528
|
+
|
|
1529
|
+
/**
|
|
1530
|
+
* Determine whether a column is sortable.
|
|
1531
|
+
*
|
|
1532
|
+
* @param dataField The data field being processed
|
|
1533
|
+
* @param propertyPath The property path
|
|
1534
|
+
* @param nonSortableColumns Collection of non-sortable column names as per annotation
|
|
1535
|
+
* @returns {boolean} True if the column is sortable
|
|
1536
|
+
*/
|
|
1537
|
+
const _isColumnSortable = function(dataField: DataFieldAbstractTypes, propertyPath: string, nonSortableColumns: string[]): boolean {
|
|
1538
|
+
let isSortable: boolean = false;
|
|
1539
|
+
if (nonSortableColumns.indexOf(propertyPath) === -1) {
|
|
1540
|
+
// Column is not marked as non-sortable via annotation
|
|
1541
|
+
switch (dataField.$Type) {
|
|
1542
|
+
case UIAnnotationTypes.DataField:
|
|
1543
|
+
case UIAnnotationTypes.DataFieldWithUrl:
|
|
1544
|
+
isSortable = true;
|
|
1545
|
+
break;
|
|
1546
|
+
|
|
1547
|
+
case UIAnnotationTypes.DataFieldForIntentBasedNavigation:
|
|
1548
|
+
case UIAnnotationTypes.DataFieldForAction:
|
|
1549
|
+
// Action columns are not sortable
|
|
1550
|
+
isSortable = false;
|
|
1551
|
+
break;
|
|
1552
|
+
}
|
|
1553
|
+
}
|
|
1554
|
+
return isSortable;
|
|
1555
|
+
};
|
|
1556
|
+
|
|
1557
|
+
/**
|
|
1558
|
+
* Returns default format options for text fields in a table.
|
|
1559
|
+
*
|
|
1560
|
+
* @returns {FormatOptionsType} Collection of format options with default values
|
|
1561
|
+
*/
|
|
1562
|
+
function getDefaultFormatOptionsForTable(): FormatOptionsType {
|
|
1563
|
+
return {
|
|
1564
|
+
textLinesEdit: 4
|
|
1565
|
+
};
|
|
1566
|
+
}
|
|
1567
|
+
|
|
1568
|
+
/**
|
|
1569
|
+
* Returns line items from metadata annotations.
|
|
1570
|
+
*
|
|
1571
|
+
* @param {LineItem} lineItemAnnotation Collection of data fields with their annotations
|
|
1572
|
+
* @param {string} visualizationPath The visualization path
|
|
1573
|
+
* @param {ConverterContext} converterContext The converter context
|
|
1574
|
+
* @returns {TableColumn[]} The columns from the annotations
|
|
1575
|
+
*/
|
|
1576
|
+
const getColumnsFromAnnotations = function(
|
|
1577
|
+
lineItemAnnotation: LineItem,
|
|
1578
|
+
visualizationPath: string,
|
|
1579
|
+
converterContext: ConverterContext
|
|
1580
|
+
): TableColumn[] {
|
|
1581
|
+
const entityType = converterContext.getAnnotationEntityType(lineItemAnnotation),
|
|
1582
|
+
annotationColumns: AnnotationTableColumn[] = [],
|
|
1583
|
+
columnsToBeCreated: Record<string, Property> = {},
|
|
1584
|
+
nonSortableColumns: string[] =
|
|
1585
|
+
(converterContext.getEntitySet()?.annotations?.Capabilities?.SortRestrictions
|
|
1586
|
+
?.NonSortableProperties as Edm.PropertyPath[])?.map((property: PropertyPath) => property.value) ?? [],
|
|
1587
|
+
tableManifestSettings: TableManifestConfiguration = converterContext.getManifestControlConfiguration(visualizationPath),
|
|
1588
|
+
tableType: TableType = tableManifestSettings?.tableSettings?.type || "ResponsiveTable";
|
|
1589
|
+
|
|
1590
|
+
if (lineItemAnnotation) {
|
|
1591
|
+
// Get columns from the LineItem Annotation
|
|
1592
|
+
lineItemAnnotation.forEach(lineItem => {
|
|
1593
|
+
if (!_isValidColumn(lineItem)) {
|
|
1594
|
+
return;
|
|
1595
|
+
}
|
|
1596
|
+
const semanticObjectAnnotationPath =
|
|
1597
|
+
isDataFieldTypes(lineItem) && lineItem.Value?.$target?.fullyQualifiedName
|
|
1598
|
+
? getSemanticObjectPath(converterContext, lineItem)
|
|
1599
|
+
: undefined;
|
|
1600
|
+
const relativePath = _getRelativePath(lineItem);
|
|
1601
|
+
// Determine properties which are consumed by this LineItem.
|
|
1602
|
+
const relatedPropertiesInfo: ComplexPropertyInfo = collectRelatedPropertiesRecursively(lineItem, converterContext, tableType);
|
|
1603
|
+
const relatedPropertyNames: string[] = Object.keys(relatedPropertiesInfo.properties);
|
|
1604
|
+
const additionalPropertyNames: string[] = Object.keys(relatedPropertiesInfo.additionalProperties);
|
|
1605
|
+
const groupPath: string = _sliceAtSlash(relativePath, true, false);
|
|
1606
|
+
const isGroup: boolean = groupPath != relativePath;
|
|
1607
|
+
const sLabel: string | undefined = _getLabel(lineItem, isGroup);
|
|
1608
|
+
const name = _getAnnotationColumnName(lineItem);
|
|
1609
|
+
annotationColumns.push({
|
|
1610
|
+
key: KeyHelper.generateKeyFromDataField(lineItem),
|
|
1611
|
+
type: ColumnType.Annotation,
|
|
1612
|
+
label: sLabel,
|
|
1613
|
+
groupLabel: isGroup ? _getLabel(lineItem) : null,
|
|
1614
|
+
group: isGroup ? groupPath : null,
|
|
1615
|
+
annotationPath: converterContext.getEntitySetBasedAnnotationPath(lineItem.fullyQualifiedName),
|
|
1616
|
+
semanticObjectPath: semanticObjectAnnotationPath,
|
|
1617
|
+
availability: isDataFieldAlwaysHidden(lineItem) ? AvailabilityType.Hidden : AvailabilityType.Default,
|
|
1618
|
+
name: name,
|
|
1619
|
+
relativePath: relativePath,
|
|
1620
|
+
sortable: _isColumnSortable(lineItem, relativePath, nonSortableColumns),
|
|
1621
|
+
propertyInfos: relatedPropertyNames.length > 0 ? relatedPropertyNames : undefined,
|
|
1622
|
+
additionalPropertyInfos: additionalPropertyNames.length > 0 ? additionalPropertyNames : undefined,
|
|
1623
|
+
exportSettings: {
|
|
1624
|
+
template: relatedPropertiesInfo.exportSettingsTemplate,
|
|
1625
|
+
wrap: relatedPropertiesInfo.exportSettingsWrapping
|
|
1626
|
+
},
|
|
1627
|
+
width: lineItem.annotations?.HTML5?.CssDefaults?.width || undefined,
|
|
1628
|
+
isNavigable: true,
|
|
1629
|
+
formatOptions: getDefaultFormatOptionsForTable(),
|
|
1630
|
+
exportContactProperty: relatedPropertiesInfo.exportSettingsContactProperty
|
|
1631
|
+
} as AnnotationTableColumn);
|
|
1632
|
+
|
|
1633
|
+
// Collect information of related columns to be created.
|
|
1634
|
+
relatedPropertyNames.forEach(name => {
|
|
1635
|
+
columnsToBeCreated[name] = relatedPropertiesInfo.properties[name];
|
|
1636
|
+
});
|
|
1637
|
+
|
|
1638
|
+
// Create columns for additional properties identified for ALP use case.
|
|
1639
|
+
additionalPropertyNames.forEach(name => {
|
|
1640
|
+
// Intentional overwrite as we require only one new PropertyInfo for a related Property.
|
|
1641
|
+
columnsToBeCreated[name] = relatedPropertiesInfo.additionalProperties[name];
|
|
1642
|
+
});
|
|
1643
|
+
});
|
|
1644
|
+
}
|
|
1645
|
+
|
|
1646
|
+
// Get columns from the Properties of EntityType
|
|
1647
|
+
let tableColumns = getColumnsFromEntityType(
|
|
1648
|
+
columnsToBeCreated,
|
|
1649
|
+
entityType,
|
|
1650
|
+
annotationColumns,
|
|
1651
|
+
nonSortableColumns,
|
|
1652
|
+
converterContext,
|
|
1653
|
+
tableType
|
|
1654
|
+
);
|
|
1655
|
+
tableColumns = tableColumns.concat(annotationColumns);
|
|
1656
|
+
|
|
1657
|
+
// Create a propertyInfo for each related property.
|
|
1658
|
+
const relatedColumns = _createRelatedColumns(columnsToBeCreated, tableColumns, nonSortableColumns, converterContext, entityType);
|
|
1659
|
+
tableColumns = tableColumns.concat(relatedColumns);
|
|
1660
|
+
|
|
1661
|
+
return tableColumns;
|
|
1662
|
+
};
|
|
1663
|
+
|
|
1664
|
+
/**
|
|
1665
|
+
* Gets the property names from the manifest and checks against existing properties already added by annotations.
|
|
1666
|
+
* If a not yet stored property is found it adds it for sorting and filtering only to the annotationColumns.
|
|
1667
|
+
* @param {string[] | undefined} properties
|
|
1668
|
+
* @param {AnnotationTableColumn[]} annotationColumns
|
|
1669
|
+
* @param {ConverterContext} converterContext
|
|
1670
|
+
* @param entityType
|
|
1671
|
+
* @returns {string[]} The columns from the annotations
|
|
1672
|
+
*/
|
|
1673
|
+
const _getPropertyNames = function(
|
|
1674
|
+
properties: string[] | undefined,
|
|
1675
|
+
annotationColumns: AnnotationTableColumn[],
|
|
1676
|
+
converterContext: ConverterContext,
|
|
1677
|
+
entityType: EntityType
|
|
1678
|
+
): string[] | undefined {
|
|
1679
|
+
let matchedProperties: string[] | undefined;
|
|
1680
|
+
if (properties) {
|
|
1681
|
+
matchedProperties = properties.map(function(propertyPath) {
|
|
1682
|
+
const annotationColumn = annotationColumns.find(function(annotationColumn) {
|
|
1683
|
+
return annotationColumn.relativePath === propertyPath && annotationColumn.propertyInfos === undefined;
|
|
1684
|
+
});
|
|
1685
|
+
if (annotationColumn) {
|
|
1686
|
+
return annotationColumn.name;
|
|
1687
|
+
} else {
|
|
1688
|
+
const relatedColumns = _createRelatedColumns(
|
|
1689
|
+
{ [propertyPath]: entityType.resolvePath(propertyPath) },
|
|
1690
|
+
annotationColumns,
|
|
1691
|
+
[],
|
|
1692
|
+
converterContext,
|
|
1693
|
+
entityType
|
|
1694
|
+
);
|
|
1695
|
+
annotationColumns.push(relatedColumns[0]);
|
|
1696
|
+
return relatedColumns[0].name;
|
|
1697
|
+
}
|
|
1698
|
+
});
|
|
1699
|
+
}
|
|
1700
|
+
|
|
1701
|
+
return matchedProperties;
|
|
1702
|
+
};
|
|
1703
|
+
|
|
1704
|
+
const _appendCustomTemplate = function(properties: string[]): string {
|
|
1705
|
+
return properties
|
|
1706
|
+
.map(property => {
|
|
1707
|
+
return `{${properties.indexOf(property)}}`;
|
|
1708
|
+
})
|
|
1709
|
+
.join(`${"\n"}`);
|
|
1710
|
+
};
|
|
1711
|
+
|
|
1712
|
+
/**
|
|
1713
|
+
* Retrieves the table column property value based on certain conditions.
|
|
1714
|
+
*
|
|
1715
|
+
* Manifest defined property value for custom / annotation columns
|
|
1716
|
+
* Default property value for custom column if not overwritten in manifest.
|
|
1717
|
+
*
|
|
1718
|
+
* @param {any} property The column property defined in the manifest
|
|
1719
|
+
* @param {any} defaultValue The default value of the property
|
|
1720
|
+
* @param {boolean} isAnnotationColumn Whether the column, defined in manifest, corresponds to an existing annotation column.
|
|
1721
|
+
* @returns {any} Determined property value for the column
|
|
1722
|
+
*/
|
|
1723
|
+
const _getManifestOrDefaultValue = function(property: any, defaultValue: any, isAnnotationColumn: boolean): any {
|
|
1724
|
+
if (property === undefined) {
|
|
1725
|
+
// If annotation column has no property defined in manifest,
|
|
1726
|
+
// do not overwrite it with manifest column's default value.
|
|
1727
|
+
return isAnnotationColumn ? undefined : defaultValue;
|
|
1728
|
+
}
|
|
1729
|
+
// Return what is defined in manifest.
|
|
1730
|
+
return property;
|
|
1731
|
+
};
|
|
1732
|
+
|
|
1733
|
+
/**
|
|
1734
|
+
* Returns table column definitions from manifest.
|
|
1735
|
+
* @param columns
|
|
1736
|
+
* @param annotationColumns
|
|
1737
|
+
* @param converterContext
|
|
1738
|
+
* @param entityType
|
|
1739
|
+
* @param navigationSettings
|
|
1740
|
+
* @returns {Record<string, CustomColumn>} The columns from the manifest
|
|
1741
|
+
*/
|
|
1742
|
+
const getColumnsFromManifest = function(
|
|
1743
|
+
columns: Record<string, ManifestTableColumn>,
|
|
1744
|
+
annotationColumns: AnnotationTableColumn[],
|
|
1745
|
+
converterContext: ConverterContext,
|
|
1746
|
+
entityType: EntityType,
|
|
1747
|
+
navigationSettings?: NavigationSettingsConfiguration
|
|
1748
|
+
): Record<string, CustomColumn> {
|
|
1749
|
+
const internalColumns: Record<string, CustomColumn> = {};
|
|
1750
|
+
|
|
1751
|
+
for (const key in columns) {
|
|
1752
|
+
const manifestColumn = columns[key];
|
|
1753
|
+
// To identify the annotation column property overwrite via manifest use-case.
|
|
1754
|
+
const isAnnotationColumn = annotationColumns.some(column => column.key === key);
|
|
1755
|
+
KeyHelper.validateKey(key);
|
|
1756
|
+
const propertyInfos: string[] | undefined = _getPropertyNames(
|
|
1757
|
+
manifestColumn.properties,
|
|
1758
|
+
annotationColumns,
|
|
1759
|
+
converterContext,
|
|
1760
|
+
entityType
|
|
1761
|
+
);
|
|
1762
|
+
|
|
1763
|
+
internalColumns[key] = {
|
|
1764
|
+
key: key,
|
|
1765
|
+
id: "CustomColumn::" + key,
|
|
1766
|
+
name: "CustomColumn::" + key,
|
|
1767
|
+
header: manifestColumn.header,
|
|
1768
|
+
width: manifestColumn.width || undefined,
|
|
1769
|
+
horizontalAlign: _getManifestOrDefaultValue(manifestColumn?.horizontalAlign, HorizontalAlign.Begin, isAnnotationColumn),
|
|
1770
|
+
type: manifestColumn.type === "Slot" ? ColumnType.Slot : ColumnType.Default,
|
|
1771
|
+
availability: _getManifestOrDefaultValue(manifestColumn?.availability, AvailabilityType.Default, isAnnotationColumn),
|
|
1772
|
+
template: manifestColumn.template || "undefined",
|
|
1773
|
+
position: {
|
|
1774
|
+
anchor: manifestColumn.position?.anchor,
|
|
1775
|
+
placement: manifestColumn.position === undefined ? Placement.After : manifestColumn.position.placement
|
|
1776
|
+
},
|
|
1777
|
+
isNavigable: isAnnotationColumn ? undefined : isActionNavigable(manifestColumn, navigationSettings, true),
|
|
1778
|
+
settings: manifestColumn.settings,
|
|
1779
|
+
sortable: false,
|
|
1780
|
+
propertyInfos: propertyInfos,
|
|
1781
|
+
formatOptions: {
|
|
1782
|
+
...getDefaultFormatOptionsForTable(),
|
|
1783
|
+
...manifestColumn.formatOptions
|
|
1784
|
+
},
|
|
1785
|
+
exportSettings: {
|
|
1786
|
+
template: propertyInfos ? _appendCustomTemplate(propertyInfos) : undefined,
|
|
1787
|
+
fieldLabel: propertyInfos ? manifestColumn.header : undefined,
|
|
1788
|
+
wrap: propertyInfos && propertyInfos.length > 1 ? true : false
|
|
1789
|
+
}
|
|
1790
|
+
};
|
|
1791
|
+
}
|
|
1792
|
+
return internalColumns;
|
|
1793
|
+
};
|
|
1794
|
+
|
|
1795
|
+
export function getP13nMode(
|
|
1796
|
+
visualizationPath: string,
|
|
1797
|
+
converterContext: ConverterContext,
|
|
1798
|
+
tableManifestConfiguration: TableControlConfiguration
|
|
1799
|
+
): string | undefined {
|
|
1800
|
+
const manifestWrapper: ManifestWrapper = converterContext.getManifestWrapper();
|
|
1801
|
+
const tableManifestSettings: TableManifestConfiguration = converterContext.getManifestControlConfiguration(visualizationPath);
|
|
1802
|
+
const variantManagement: VariantManagementType = manifestWrapper.getVariantManagement();
|
|
1803
|
+
const aPersonalization: string[] = [];
|
|
1804
|
+
const bAnalyticalTable = tableManifestConfiguration.type === "AnalyticalTable";
|
|
1805
|
+
if (tableManifestSettings?.tableSettings?.personalization !== undefined) {
|
|
1806
|
+
// Personalization configured in manifest.
|
|
1807
|
+
const personalization: any = tableManifestSettings.tableSettings.personalization;
|
|
1808
|
+
if (personalization === true) {
|
|
1809
|
+
// Table personalization fully enabled.
|
|
1810
|
+
return bAnalyticalTable ? "Sort,Column,Filter,Group,Aggregate" : "Sort,Column,Filter";
|
|
1811
|
+
} else if (typeof personalization === "object") {
|
|
1812
|
+
// Specific personalization options enabled in manifest. Use them as is.
|
|
1813
|
+
if (personalization.sort) {
|
|
1814
|
+
aPersonalization.push("Sort");
|
|
1815
|
+
}
|
|
1816
|
+
if (personalization.column) {
|
|
1817
|
+
aPersonalization.push("Column");
|
|
1818
|
+
}
|
|
1819
|
+
if (personalization.filter) {
|
|
1820
|
+
aPersonalization.push("Filter");
|
|
1821
|
+
}
|
|
1822
|
+
if (personalization.group && bAnalyticalTable) {
|
|
1823
|
+
aPersonalization.push("Group");
|
|
1824
|
+
}
|
|
1825
|
+
if (personalization.aggregate && bAnalyticalTable) {
|
|
1826
|
+
aPersonalization.push("Aggregate");
|
|
1827
|
+
}
|
|
1828
|
+
return aPersonalization.length > 0 ? aPersonalization.join(",") : undefined;
|
|
1829
|
+
}
|
|
1830
|
+
} else {
|
|
1831
|
+
// No personalization configured in manifest.
|
|
1832
|
+
aPersonalization.push("Sort");
|
|
1833
|
+
aPersonalization.push("Column");
|
|
1834
|
+
if (variantManagement === VariantManagementType.Control) {
|
|
1835
|
+
// Feature parity with V2.
|
|
1836
|
+
// Enable table filtering by default only in case of Control level variant management.
|
|
1837
|
+
aPersonalization.push("Filter");
|
|
1838
|
+
}
|
|
1839
|
+
if (bAnalyticalTable) {
|
|
1840
|
+
aPersonalization.push("Group");
|
|
1841
|
+
aPersonalization.push("Aggregate");
|
|
1842
|
+
}
|
|
1843
|
+
return aPersonalization.join(",");
|
|
1844
|
+
}
|
|
1845
|
+
return undefined;
|
|
1846
|
+
}
|
|
1847
|
+
|
|
1848
|
+
/**
|
|
1849
|
+
* Function to determine the visibility of the Delete button.
|
|
1850
|
+
*
|
|
1851
|
+
* @param converterContext The instance of the converter context
|
|
1852
|
+
* @param navigationPath Path to the navigation entity
|
|
1853
|
+
* @param isTargetDeletable Flag which determines whether a target is deletable
|
|
1854
|
+
* @param viewConfiguration The instance of the configuration for the view path
|
|
1855
|
+
* @returns {BindingExpression<boolean>} The binding expression for the Delete button
|
|
1856
|
+
*/
|
|
1857
|
+
export function getDeleteVisible(
|
|
1858
|
+
converterContext: ConverterContext,
|
|
1859
|
+
navigationPath: string,
|
|
1860
|
+
isTargetDeletable: boolean,
|
|
1861
|
+
viewConfiguration?: ViewPathConfiguration
|
|
1862
|
+
): BindingExpression<boolean> {
|
|
1863
|
+
const currentEntitySet = converterContext.getEntitySet();
|
|
1864
|
+
const dataModelObjectPath = converterContext.getDataModelObjectPath();
|
|
1865
|
+
const visitedNavigationPaths = dataModelObjectPath.navigationProperties.map(navProp => navProp.name);
|
|
1866
|
+
const isDeleteHiddenExpression = currentEntitySet
|
|
1867
|
+
? annotationExpression(
|
|
1868
|
+
(currentEntitySet?.annotations.UI?.DeleteHidden as PropertyAnnotationValue<boolean>) || false,
|
|
1869
|
+
visitedNavigationPaths,
|
|
1870
|
+
undefined,
|
|
1871
|
+
(path: string) => singletonPathVisitor(path, converterContext, visitedNavigationPaths)
|
|
1872
|
+
)
|
|
1873
|
+
: constant(false);
|
|
1874
|
+
const isDeleteHidden: any = compileBinding(isDeleteHiddenExpression);
|
|
1875
|
+
let isParentDeletable, parentEntitySetDeletable;
|
|
1876
|
+
if (converterContext.getTemplateType() === TemplateType.ObjectPage) {
|
|
1877
|
+
isParentDeletable = isPathDeletable(converterContext.getDataModelObjectPath(), navigationPath);
|
|
1878
|
+
parentEntitySetDeletable = isParentDeletable ? compileBinding(isParentDeletable) : isParentDeletable;
|
|
1879
|
+
}
|
|
1880
|
+
//do not show case the delete button if parentEntitySetDeletable is false
|
|
1881
|
+
if (parentEntitySetDeletable === "false") {
|
|
1882
|
+
return false;
|
|
1883
|
+
} else if (parentEntitySetDeletable && isDeleteHidden !== "true") {
|
|
1884
|
+
//Delete Hidden in case of true and path based
|
|
1885
|
+
if (isDeleteHidden && isDeleteHidden !== "false") {
|
|
1886
|
+
return "{= !$" + isDeleteHidden + " && ${ui>/editMode} === 'Editable'}";
|
|
1887
|
+
} else {
|
|
1888
|
+
return "{= ${ui>/editMode} === 'Editable'}";
|
|
1889
|
+
}
|
|
1890
|
+
} else if (
|
|
1891
|
+
isDeleteHidden === "true" ||
|
|
1892
|
+
!isTargetDeletable ||
|
|
1893
|
+
(viewConfiguration && converterContext.getManifestWrapper().hasMultipleVisualizations(viewConfiguration)) ||
|
|
1894
|
+
converterContext.getTemplateType() === TemplateType.AnalyticalListPage
|
|
1895
|
+
) {
|
|
1896
|
+
return false;
|
|
1897
|
+
} else if (converterContext.getTemplateType() !== TemplateType.ListReport) {
|
|
1898
|
+
if (isDeleteHidden && isDeleteHidden === "false") {
|
|
1899
|
+
return "{= !$" + isDeleteHidden + " && ${ui>/editMode} === 'Editable'}";
|
|
1900
|
+
} else {
|
|
1901
|
+
return "{= ${ui>/editMode} === 'Editable'}";
|
|
1902
|
+
}
|
|
1903
|
+
} else if (isBinding(isDeleteHiddenExpression)) {
|
|
1904
|
+
// UI.DeleteHidden annotation points to a path
|
|
1905
|
+
return compileBinding(not(isDeleteHiddenExpression));
|
|
1906
|
+
} else {
|
|
1907
|
+
return true;
|
|
1908
|
+
}
|
|
1909
|
+
}
|
|
1910
|
+
|
|
1911
|
+
/**
|
|
1912
|
+
* Returns the enablement for the 'Mass Edit' button
|
|
1913
|
+
*
|
|
1914
|
+
* @param converterContext The converterContext
|
|
1915
|
+
* @param bMassEditVisible The visibility of the 'Mass Edit' button
|
|
1916
|
+
* @returns {*} Expression or Boolean value for the enablement of the 'Mass Edit' button
|
|
1917
|
+
*/
|
|
1918
|
+
|
|
1919
|
+
export function getEnablementMassEdit(
|
|
1920
|
+
converterContext: ConverterContext,
|
|
1921
|
+
bMassEditVisible: string | boolean | undefined
|
|
1922
|
+
): string | boolean {
|
|
1923
|
+
if (bMassEditVisible) {
|
|
1924
|
+
const isParentUpdatable: any = isPathUpdatable(converterContext.getDataModelObjectPath(), undefined, true);
|
|
1925
|
+
//when updatable is path based and pointing to current entity set property, that case is handled in table helper and runtime
|
|
1926
|
+
if (isParentUpdatable?.currentEntityRestriction) {
|
|
1927
|
+
return false;
|
|
1928
|
+
}
|
|
1929
|
+
const oExpression: any = compileBinding(isParentUpdatable);
|
|
1930
|
+
return isParentUpdatable
|
|
1931
|
+
? "{= %{internal>numberOfSelectedContexts} >= 2 && " + compileBinding(isParentUpdatable, oExpression) + "}"
|
|
1932
|
+
: false;
|
|
1933
|
+
}
|
|
1934
|
+
return false;
|
|
1935
|
+
}
|
|
1936
|
+
|
|
1937
|
+
/**
|
|
1938
|
+
* Returns the visibility for the 'Mass Edit' button
|
|
1939
|
+
*
|
|
1940
|
+
* @param converterContext The converterContext
|
|
1941
|
+
* @param tableManifestConfiguration The manifest configuration for the table
|
|
1942
|
+
* @param targetCapabilities The target capability restrictions for the table
|
|
1943
|
+
* @param selectionMode The selection mode for the table
|
|
1944
|
+
* @returns {*} Expression or Boolean value for the visibility of the 'Mass Edit' button
|
|
1945
|
+
*/
|
|
1946
|
+
|
|
1947
|
+
export function getVisibilityMassEdit(
|
|
1948
|
+
converterContext: ConverterContext,
|
|
1949
|
+
tableManifestConfiguration: TableControlConfiguration,
|
|
1950
|
+
targetCapabilities: TableCapabilityRestriction,
|
|
1951
|
+
selectionMode: string | undefined
|
|
1952
|
+
): boolean | string | undefined {
|
|
1953
|
+
const entitySet = converterContext.getEntitySet(),
|
|
1954
|
+
bUpdateHidden: any = entitySet && entitySet?.annotations.UI?.UpdateHidden?.valueOf(),
|
|
1955
|
+
bMassEditEnabled: boolean = tableManifestConfiguration?.enableMassEdit || false,
|
|
1956
|
+
iSelectionLimit: number = tableManifestConfiguration?.selectionLimit;
|
|
1957
|
+
let bMassEditVisible: boolean = true;
|
|
1958
|
+
if ((selectionMode && selectionMode === "Single") || (iSelectionLimit && iSelectionLimit < 2)) {
|
|
1959
|
+
bMassEditVisible = false;
|
|
1960
|
+
} else if (selectionMode && (selectionMode === "Auto" || selectionMode === "None")) {
|
|
1961
|
+
bMassEditVisible = true;
|
|
1962
|
+
}
|
|
1963
|
+
if (targetCapabilities?.isUpdatable !== false && bMassEditVisible && bMassEditEnabled) {
|
|
1964
|
+
if (bUpdateHidden && typeof bUpdateHidden === "boolean") {
|
|
1965
|
+
return !bUpdateHidden && converterContext.getTemplateType() === TemplateType.ObjectPage ? compileBinding(UI.IsEditable) : false;
|
|
1966
|
+
} else if (bUpdateHidden && bUpdateHidden?.path) {
|
|
1967
|
+
return converterContext.getTemplateType() === TemplateType.ObjectPage
|
|
1968
|
+
? compileBinding(and(equal(UI.IsEditable, true), equal(annotationExpression(bUpdateHidden), false)))
|
|
1969
|
+
: false;
|
|
1970
|
+
}
|
|
1971
|
+
return converterContext.getTemplateType() === TemplateType.ObjectPage ? compileBinding(UI.IsEditable) : false;
|
|
1972
|
+
}
|
|
1973
|
+
return false;
|
|
1974
|
+
}
|
|
1975
|
+
|
|
1976
|
+
/**
|
|
1977
|
+
* Function to determine the visibility of the Create button.
|
|
1978
|
+
*
|
|
1979
|
+
* @param converterContext The instance of the converter context
|
|
1980
|
+
* @param creationMode The mode used for creation
|
|
1981
|
+
* @param isInsertable Annotation expression of InsertRestrictions.Insertable
|
|
1982
|
+
* @param viewConfiguration The instance of the configuration for the view path
|
|
1983
|
+
* @returns {Expression<boolean>} Expression or Boolean value of the 'UI.CreateHidden' annotation
|
|
1984
|
+
*/
|
|
1985
|
+
export function getCreateVisible(
|
|
1986
|
+
converterContext: ConverterContext,
|
|
1987
|
+
creationMode: CreationMode | "External",
|
|
1988
|
+
isInsertable: Expression<boolean>,
|
|
1989
|
+
viewConfiguration?: ViewPathConfiguration
|
|
1990
|
+
): Expression<boolean> {
|
|
1991
|
+
const currentEntitySet = converterContext.getEntitySet();
|
|
1992
|
+
const dataModelObjectPath = converterContext.getDataModelObjectPath();
|
|
1993
|
+
const visitedNavigationPaths = dataModelObjectPath.navigationProperties.map(navProp => navProp.name);
|
|
1994
|
+
const isCreateHidden: Expression<boolean> = currentEntitySet
|
|
1995
|
+
? annotationExpression(
|
|
1996
|
+
(currentEntitySet?.annotations.UI?.CreateHidden as PropertyAnnotationValue<boolean>) || false,
|
|
1997
|
+
visitedNavigationPaths,
|
|
1998
|
+
undefined,
|
|
1999
|
+
(path: string) => singletonPathVisitor(path, converterContext, visitedNavigationPaths)
|
|
2000
|
+
)
|
|
2001
|
+
: constant(false);
|
|
2002
|
+
|
|
2003
|
+
// if there is a custom new action the create button will be bound against this new action (instead of a POST action).
|
|
2004
|
+
// The visibility of the create button then depends on the new action's OperationAvailable annotation (instead of the insertRestrictions):
|
|
2005
|
+
// OperationAvailable = true or undefined -> create is visible
|
|
2006
|
+
// OperationAvailable = false -> create is not visible
|
|
2007
|
+
const newActionName: BindingExpression<string> = currentEntitySet?.annotations.Common?.DraftRoot?.NewAction?.toString();
|
|
2008
|
+
const showCreateForNewAction = newActionName
|
|
2009
|
+
? annotationExpression(
|
|
2010
|
+
converterContext?.getEntityType().actions[newActionName].annotations?.Core?.OperationAvailable?.valueOf(),
|
|
2011
|
+
[],
|
|
2012
|
+
true,
|
|
2013
|
+
(path: string) => singletonPathVisitor(path, converterContext, [])
|
|
2014
|
+
)
|
|
2015
|
+
: undefined;
|
|
2016
|
+
|
|
2017
|
+
// - If it's statically not insertable -> create is not visible
|
|
2018
|
+
// - If create is statically hidden -> create is not visible
|
|
2019
|
+
// - If it's an ALP template -> create is not visible
|
|
2020
|
+
// -
|
|
2021
|
+
// - Otherwise
|
|
2022
|
+
// - If the create mode is external -> create is visible
|
|
2023
|
+
// - If we're on the list report ->
|
|
2024
|
+
// - If UI.CreateHidden points to a property path -> provide a negated binding to this path
|
|
2025
|
+
// - Otherwise, create is visible
|
|
2026
|
+
// - Otherwise
|
|
2027
|
+
// - This depends on the value of the the UI.IsEditable
|
|
2028
|
+
return ifElse(
|
|
2029
|
+
or(
|
|
2030
|
+
or(
|
|
2031
|
+
equal(showCreateForNewAction, false),
|
|
2032
|
+
and(isConstant(isInsertable), equal(isInsertable, false), equal(showCreateForNewAction, undefined))
|
|
2033
|
+
),
|
|
2034
|
+
isConstant(isCreateHidden) && equal(isCreateHidden, true),
|
|
2035
|
+
or(
|
|
2036
|
+
viewConfiguration ? converterContext.getManifestWrapper().hasMultipleVisualizations(viewConfiguration) : false,
|
|
2037
|
+
converterContext.getTemplateType() === TemplateType.AnalyticalListPage
|
|
2038
|
+
)
|
|
2039
|
+
),
|
|
2040
|
+
false,
|
|
2041
|
+
ifElse(
|
|
2042
|
+
creationMode === "External",
|
|
2043
|
+
true,
|
|
2044
|
+
ifElse(
|
|
2045
|
+
converterContext.getTemplateType() === TemplateType.ListReport,
|
|
2046
|
+
ifElse(isBinding(isCreateHidden), not(isCreateHidden), true),
|
|
2047
|
+
and(not(isCreateHidden), UI.IsEditable)
|
|
2048
|
+
)
|
|
2049
|
+
)
|
|
2050
|
+
);
|
|
2051
|
+
}
|
|
2052
|
+
|
|
2053
|
+
/**
|
|
2054
|
+
* Returns the visibility for the Paste button.
|
|
2055
|
+
*
|
|
2056
|
+
* @param converterContext The instance of the converter context
|
|
2057
|
+
* @param creationBehaviour The chosen behavior of creation
|
|
2058
|
+
* @param isInsertable The expression which denotes insert restrictions
|
|
2059
|
+
* @param pasteEnabledInManifest The flag which denotes the paste enablement status via manifest
|
|
2060
|
+
* @param viewConfiguration The instance of the configuration for the view path
|
|
2061
|
+
* @returns {Expression<boolean>} Expression or Boolean value of the UI.CreateHidden annotation
|
|
2062
|
+
*/
|
|
2063
|
+
export function getPasteEnabled(
|
|
2064
|
+
converterContext: ConverterContext,
|
|
2065
|
+
creationBehaviour: TableAnnotationConfiguration["create"],
|
|
2066
|
+
isInsertable: Expression<boolean>,
|
|
2067
|
+
pasteEnabledInManifest: boolean,
|
|
2068
|
+
viewConfiguration?: ViewPathConfiguration
|
|
2069
|
+
): Expression<boolean> {
|
|
2070
|
+
// If create is not visible -> it's not enabled
|
|
2071
|
+
// If create is visible ->
|
|
2072
|
+
// If it's in the ListReport -> not enabled
|
|
2073
|
+
// If it's insertable -> enabled
|
|
2074
|
+
return ifElse(
|
|
2075
|
+
pasteEnabledInManifest && equal(getCreateVisible(converterContext, creationBehaviour.mode, isInsertable, viewConfiguration), true),
|
|
2076
|
+
converterContext.getTemplateType() === TemplateType.ObjectPage && isInsertable,
|
|
2077
|
+
false
|
|
2078
|
+
);
|
|
2079
|
+
}
|
|
2080
|
+
|
|
2081
|
+
/**
|
|
2082
|
+
* Returns a JSON string containing Presentation Variant sort conditions.
|
|
2083
|
+
*
|
|
2084
|
+
* @param {PresentationVariantTypeTypes | undefined} presentationVariantAnnotation Presentation variant annotation
|
|
2085
|
+
* @param columns Converter processed table columns
|
|
2086
|
+
* @returns {string | undefined} Sort conditions for a Presentation variant.
|
|
2087
|
+
*/
|
|
2088
|
+
function getSortConditions(
|
|
2089
|
+
presentationVariantAnnotation: PresentationVariantTypeTypes | undefined,
|
|
2090
|
+
columns: TableColumn[]
|
|
2091
|
+
): string | undefined {
|
|
2092
|
+
let sortConditions: string | undefined;
|
|
2093
|
+
if (presentationVariantAnnotation?.SortOrder) {
|
|
2094
|
+
const sorters: SorterType[] = [];
|
|
2095
|
+
const conditions = {
|
|
2096
|
+
sorters: sorters
|
|
2097
|
+
};
|
|
2098
|
+
presentationVariantAnnotation.SortOrder.forEach(condition => {
|
|
2099
|
+
const propertyName = (condition.Property as PropertyPath)?.$target?.name;
|
|
2100
|
+
const sortColumn = columns.find(column => column.name === propertyName) as AnnotationTableColumn;
|
|
2101
|
+
sortColumn?.propertyInfos?.forEach(relatedPropertyName => {
|
|
2102
|
+
// Complex PropertyInfo. Add each related property for sorting.
|
|
2103
|
+
conditions.sorters.push({
|
|
2104
|
+
name: relatedPropertyName,
|
|
2105
|
+
descending: !!condition.Descending
|
|
2106
|
+
});
|
|
2107
|
+
});
|
|
2108
|
+
|
|
2109
|
+
if (!sortColumn?.propertyInfos?.length) {
|
|
2110
|
+
// Not a complex PropertyInfo. Consider the property itself for sorting.
|
|
2111
|
+
conditions.sorters.push({
|
|
2112
|
+
name: propertyName,
|
|
2113
|
+
descending: !!condition.Descending
|
|
2114
|
+
});
|
|
2115
|
+
}
|
|
2116
|
+
});
|
|
2117
|
+
sortConditions = conditions.sorters.length ? JSON.stringify(conditions) : undefined;
|
|
2118
|
+
}
|
|
2119
|
+
return sortConditions;
|
|
2120
|
+
}
|
|
2121
|
+
|
|
2122
|
+
/**
|
|
2123
|
+
* Converts an array of propertyPath to an array of propertyInfo names.
|
|
2124
|
+
*
|
|
2125
|
+
* @param paths the array to be converted
|
|
2126
|
+
* @param columns the array of propertyInfos
|
|
2127
|
+
* @returns an array of propertyInfo names
|
|
2128
|
+
*/
|
|
2129
|
+
|
|
2130
|
+
function convertPropertyPathsToInfoNames(paths: PropertyPath[], columns: TableColumn[]): string[] {
|
|
2131
|
+
const infoNames: string[] = [];
|
|
2132
|
+
paths.forEach(currentPath => {
|
|
2133
|
+
if (currentPath?.$target?.name) {
|
|
2134
|
+
const propertyInfo = columns.find(column => {
|
|
2135
|
+
const annotationColumn = column as AnnotationTableColumn;
|
|
2136
|
+
return !annotationColumn.propertyInfos && annotationColumn.relativePath === currentPath?.$target?.name;
|
|
2137
|
+
});
|
|
2138
|
+
if (propertyInfo) {
|
|
2139
|
+
infoNames.push(propertyInfo.name);
|
|
2140
|
+
}
|
|
2141
|
+
}
|
|
2142
|
+
});
|
|
2143
|
+
|
|
2144
|
+
return infoNames;
|
|
2145
|
+
}
|
|
2146
|
+
|
|
2147
|
+
/**
|
|
2148
|
+
* Returns a JSON string containing Presentation Variant group conditions.
|
|
2149
|
+
*
|
|
2150
|
+
* @param {PresentationVariantTypeTypes | undefined} presentationVariantAnnotation Presentation variant annotation
|
|
2151
|
+
* @param columns Converter processed table columns
|
|
2152
|
+
* @returns {string | undefined} Group conditions for a Presentation variant.
|
|
2153
|
+
*/
|
|
2154
|
+
function getGroupConditions(
|
|
2155
|
+
presentationVariantAnnotation: PresentationVariantTypeTypes | undefined,
|
|
2156
|
+
columns: TableColumn[]
|
|
2157
|
+
): string | undefined {
|
|
2158
|
+
let groupConditions: string | undefined;
|
|
2159
|
+
if (presentationVariantAnnotation?.GroupBy) {
|
|
2160
|
+
const aGroupBy = presentationVariantAnnotation.GroupBy as PropertyPath[];
|
|
2161
|
+
const aGroupLevels = convertPropertyPathsToInfoNames(aGroupBy, columns).map(infoName => {
|
|
2162
|
+
return { name: infoName };
|
|
2163
|
+
});
|
|
2164
|
+
|
|
2165
|
+
groupConditions = aGroupLevels.length ? JSON.stringify({ groupLevels: aGroupLevels }) : undefined;
|
|
2166
|
+
}
|
|
2167
|
+
return groupConditions;
|
|
2168
|
+
}
|
|
2169
|
+
|
|
2170
|
+
/**
|
|
2171
|
+
* Returns a JSON string containing Presentation Variant aggregate conditions.
|
|
2172
|
+
*
|
|
2173
|
+
* @param {PresentationVariantTypeTypes | undefined} presentationVariantAnnotation Presentation variant annotation
|
|
2174
|
+
* @param columns Converter processed table columns
|
|
2175
|
+
* @returns {string | undefined} Group conditions for a Presentation variant.
|
|
2176
|
+
*/
|
|
2177
|
+
function getAggregateConditions(
|
|
2178
|
+
presentationVariantAnnotation: PresentationVariantTypeTypes | undefined,
|
|
2179
|
+
columns: TableColumn[]
|
|
2180
|
+
): string | undefined {
|
|
2181
|
+
let aggregateConditions: string | undefined;
|
|
2182
|
+
if (presentationVariantAnnotation?.Total) {
|
|
2183
|
+
const aTotals = presentationVariantAnnotation.Total as PropertyPath[];
|
|
2184
|
+
const aggregates: Record<string, object> = {};
|
|
2185
|
+
convertPropertyPathsToInfoNames(aTotals, columns).forEach(infoName => {
|
|
2186
|
+
aggregates[infoName] = {};
|
|
2187
|
+
});
|
|
2188
|
+
|
|
2189
|
+
aggregateConditions = JSON.stringify(aggregates);
|
|
2190
|
+
}
|
|
2191
|
+
|
|
2192
|
+
return aggregateConditions;
|
|
2193
|
+
}
|
|
2194
|
+
|
|
2195
|
+
export function getTableAnnotationConfiguration(
|
|
2196
|
+
lineItemAnnotation: LineItem | undefined,
|
|
2197
|
+
visualizationPath: string,
|
|
2198
|
+
converterContext: ConverterContext,
|
|
2199
|
+
tableManifestConfiguration: TableControlConfiguration,
|
|
2200
|
+
columns: TableColumn[],
|
|
2201
|
+
presentationVariantAnnotation?: PresentationVariantTypeTypes,
|
|
2202
|
+
viewConfiguration?: ViewPathConfiguration
|
|
2203
|
+
): TableAnnotationConfiguration {
|
|
2204
|
+
// Need to get the target
|
|
2205
|
+
const { navigationPropertyPath } = splitPath(visualizationPath);
|
|
2206
|
+
const title: any = converterContext.getDataModelObjectPath().targetEntityType.annotations?.UI?.HeaderInfo?.TypeNamePlural;
|
|
2207
|
+
const entitySet = converterContext.getDataModelObjectPath().targetEntitySet;
|
|
2208
|
+
const pageManifestSettings: ManifestWrapper = converterContext.getManifestWrapper();
|
|
2209
|
+
const hasAbsolutePath = navigationPropertyPath.length === 0,
|
|
2210
|
+
p13nMode: string | undefined = getP13nMode(visualizationPath, converterContext, tableManifestConfiguration),
|
|
2211
|
+
id = navigationPropertyPath ? TableID(visualizationPath) : TableID(converterContext.getContextPath(), "LineItem");
|
|
2212
|
+
const targetCapabilities = getCapabilityRestriction(converterContext);
|
|
2213
|
+
const selectionMode = getSelectionMode(lineItemAnnotation, visualizationPath, converterContext, hasAbsolutePath, targetCapabilities);
|
|
2214
|
+
let threshold = navigationPropertyPath ? 10 : 30;
|
|
2215
|
+
if (presentationVariantAnnotation?.MaxItems) {
|
|
2216
|
+
threshold = presentationVariantAnnotation.MaxItems.valueOf() as number;
|
|
2217
|
+
}
|
|
2218
|
+
const navigationTargetPath = getNavigationTargetPath(converterContext, navigationPropertyPath);
|
|
2219
|
+
const navigationSettings = pageManifestSettings.getNavigationConfiguration(navigationTargetPath);
|
|
2220
|
+
const creationBehaviour = _getCreationBehaviour(lineItemAnnotation, tableManifestConfiguration, converterContext, navigationSettings);
|
|
2221
|
+
let isParentDeletable: any, parentEntitySetDeletable;
|
|
2222
|
+
if (converterContext.getTemplateType() === TemplateType.ObjectPage) {
|
|
2223
|
+
isParentDeletable = isPathDeletable(converterContext.getDataModelObjectPath(), undefined, true);
|
|
2224
|
+
if (isParentDeletable?.currentEntityRestriction) {
|
|
2225
|
+
parentEntitySetDeletable = undefined;
|
|
2226
|
+
} else {
|
|
2227
|
+
parentEntitySetDeletable = isParentDeletable ? compileBinding(isParentDeletable, true) : isParentDeletable;
|
|
2228
|
+
}
|
|
2229
|
+
}
|
|
2230
|
+
const dataModelObjectPath = converterContext.getDataModelObjectPath();
|
|
2231
|
+
const isInsertable: Expression<boolean> = isPathInsertable(dataModelObjectPath);
|
|
2232
|
+
const variantManagement: VariantManagementType = pageManifestSettings.getVariantManagement();
|
|
2233
|
+
const bMassEditVisible: any = getVisibilityMassEdit(converterContext, tableManifestConfiguration, targetCapabilities, selectionMode);
|
|
2234
|
+
const isSearchable = isPathSearchable(converterContext.getDataModelObjectPath());
|
|
2235
|
+
|
|
2236
|
+
return {
|
|
2237
|
+
id: id,
|
|
2238
|
+
entityName: entitySet ? entitySet.name : "",
|
|
2239
|
+
collection: getTargetObjectPath(converterContext.getDataModelObjectPath()),
|
|
2240
|
+
navigationPath: navigationPropertyPath,
|
|
2241
|
+
row: _getRowConfigurationProperty(
|
|
2242
|
+
lineItemAnnotation,
|
|
2243
|
+
visualizationPath,
|
|
2244
|
+
converterContext,
|
|
2245
|
+
navigationSettings,
|
|
2246
|
+
navigationTargetPath
|
|
2247
|
+
),
|
|
2248
|
+
p13nMode: p13nMode,
|
|
2249
|
+
show: {
|
|
2250
|
+
"delete": getDeleteVisible(converterContext, navigationPropertyPath, targetCapabilities.isDeletable, viewConfiguration),
|
|
2251
|
+
create: compileBinding(getCreateVisible(converterContext, creationBehaviour?.mode, isInsertable)),
|
|
2252
|
+
paste: compileBinding(
|
|
2253
|
+
getPasteEnabled(
|
|
2254
|
+
converterContext,
|
|
2255
|
+
creationBehaviour,
|
|
2256
|
+
isInsertable,
|
|
2257
|
+
tableManifestConfiguration.enablePaste,
|
|
2258
|
+
viewConfiguration
|
|
2259
|
+
)
|
|
2260
|
+
),
|
|
2261
|
+
massEdit: {
|
|
2262
|
+
visible: bMassEditVisible,
|
|
2263
|
+
enabled: getEnablementMassEdit(converterContext, bMassEditVisible)
|
|
2264
|
+
}
|
|
2265
|
+
},
|
|
2266
|
+
displayMode: isInDisplayMode(converterContext, viewConfiguration),
|
|
2267
|
+
create: creationBehaviour,
|
|
2268
|
+
selectionMode: selectionMode,
|
|
2269
|
+
autoBindOnInit:
|
|
2270
|
+
converterContext.getTemplateType() !== TemplateType.ListReport &&
|
|
2271
|
+
converterContext.getTemplateType() !== TemplateType.AnalyticalListPage &&
|
|
2272
|
+
!(viewConfiguration && converterContext.getManifestWrapper().hasMultipleVisualizations(viewConfiguration)),
|
|
2273
|
+
variantManagement: variantManagement === "Control" && !p13nMode ? VariantManagementType.None : variantManagement,
|
|
2274
|
+
threshold: threshold,
|
|
2275
|
+
sortConditions: getSortConditions(presentationVariantAnnotation, columns),
|
|
2276
|
+
parentEntityDeleteEnabled: parentEntitySetDeletable,
|
|
2277
|
+
title: title,
|
|
2278
|
+
searchable: tableManifestConfiguration.type !== "AnalyticalTable" && !(isConstant(isSearchable) && isSearchable.value === false)
|
|
2279
|
+
};
|
|
2280
|
+
}
|
|
2281
|
+
|
|
2282
|
+
function isInDisplayMode(converterContext: ConverterContext, viewConfiguration?: ViewPathConfiguration): boolean {
|
|
2283
|
+
const templateType = converterContext.getTemplateType();
|
|
2284
|
+
if (
|
|
2285
|
+
templateType === TemplateType.ListReport ||
|
|
2286
|
+
templateType === TemplateType.AnalyticalListPage ||
|
|
2287
|
+
(viewConfiguration && converterContext.getManifestWrapper().hasMultipleVisualizations(viewConfiguration))
|
|
2288
|
+
) {
|
|
2289
|
+
return true;
|
|
2290
|
+
}
|
|
2291
|
+
// updatable will be handled at the property level
|
|
2292
|
+
return false;
|
|
2293
|
+
}
|
|
2294
|
+
|
|
2295
|
+
/**
|
|
2296
|
+
* Split the visualization path into the navigation property path and annotation.
|
|
2297
|
+
*
|
|
2298
|
+
* @param visualizationPath
|
|
2299
|
+
* @returns {object}
|
|
2300
|
+
*/
|
|
2301
|
+
function splitPath(visualizationPath: string) {
|
|
2302
|
+
let [navigationPropertyPath, annotationPath] = visualizationPath.split("@");
|
|
2303
|
+
|
|
2304
|
+
if (navigationPropertyPath.lastIndexOf("/") === navigationPropertyPath.length - 1) {
|
|
2305
|
+
// Drop trailing slash
|
|
2306
|
+
navigationPropertyPath = navigationPropertyPath.substr(0, navigationPropertyPath.length - 1);
|
|
2307
|
+
}
|
|
2308
|
+
return { navigationPropertyPath, annotationPath };
|
|
2309
|
+
}
|
|
2310
|
+
|
|
2311
|
+
export function getSelectionVariantConfiguration(
|
|
2312
|
+
selectionVariantPath: string,
|
|
2313
|
+
converterContext: ConverterContext
|
|
2314
|
+
): SelectionVariantConfiguration | undefined {
|
|
2315
|
+
const resolvedTarget = converterContext.getEntityTypeAnnotation(selectionVariantPath);
|
|
2316
|
+
const selection: SelectionVariantType = resolvedTarget.annotation as SelectionVariantType;
|
|
2317
|
+
|
|
2318
|
+
if (selection) {
|
|
2319
|
+
const propertyNames: string[] = [];
|
|
2320
|
+
selection.SelectOptions?.forEach((selectOption: SelectOptionType) => {
|
|
2321
|
+
const propertyName: any = selectOption.PropertyName;
|
|
2322
|
+
const PropertyPath: string = propertyName.value;
|
|
2323
|
+
if (propertyNames.indexOf(PropertyPath) === -1) {
|
|
2324
|
+
propertyNames.push(PropertyPath);
|
|
2325
|
+
}
|
|
2326
|
+
});
|
|
2327
|
+
return {
|
|
2328
|
+
text: selection?.Text?.toString(),
|
|
2329
|
+
propertyNames: propertyNames
|
|
2330
|
+
};
|
|
2331
|
+
}
|
|
2332
|
+
return undefined;
|
|
2333
|
+
}
|
|
2334
|
+
|
|
2335
|
+
export function getTableManifestConfiguration(
|
|
2336
|
+
lineItemAnnotation: LineItem | undefined,
|
|
2337
|
+
visualizationPath: string,
|
|
2338
|
+
converterContext: ConverterContext,
|
|
2339
|
+
checkCondensedLayout: boolean = false
|
|
2340
|
+
): TableControlConfiguration {
|
|
2341
|
+
const tableManifestSettings: TableManifestConfiguration = converterContext.getManifestControlConfiguration(visualizationPath);
|
|
2342
|
+
const tableSettings = (tableManifestSettings && tableManifestSettings.tableSettings) || {};
|
|
2343
|
+
let quickSelectionVariant: any;
|
|
2344
|
+
const quickFilterPaths: { annotationPath: string }[] = [];
|
|
2345
|
+
let enableExport = true;
|
|
2346
|
+
let creationMode = CreationMode.NewPage;
|
|
2347
|
+
let filters;
|
|
2348
|
+
let createAtEnd = true;
|
|
2349
|
+
let disableAddRowButtonForEmptyData = false;
|
|
2350
|
+
let customValidationFunction;
|
|
2351
|
+
let condensedTableLayout = false;
|
|
2352
|
+
let hideTableTitle = false;
|
|
2353
|
+
let tableType: TableType = "ResponsiveTable";
|
|
2354
|
+
let enableFullScreen = false;
|
|
2355
|
+
let selectionLimit = 200;
|
|
2356
|
+
let multiSelectMode;
|
|
2357
|
+
let enablePaste = converterContext.getTemplateType() === "ObjectPage";
|
|
2358
|
+
const isCondensedTableLayoutCompliant = checkCondensedLayout && converterContext.getManifestWrapper().isCondensedLayoutCompliant();
|
|
2359
|
+
const entityType = converterContext.getEntityType();
|
|
2360
|
+
const aggregationHelper = new AggregationHelper(entityType, converterContext);
|
|
2361
|
+
if (lineItemAnnotation) {
|
|
2362
|
+
const targetEntityType = converterContext.getAnnotationEntityType(lineItemAnnotation);
|
|
2363
|
+
tableSettings?.quickVariantSelection?.paths?.forEach((path: { annotationPath: string }) => {
|
|
2364
|
+
quickSelectionVariant = targetEntityType.resolvePath("@" + path.annotationPath);
|
|
2365
|
+
// quickSelectionVariant = converterContext.getEntityTypeAnnotation(path.annotationPath);
|
|
2366
|
+
if (quickSelectionVariant) {
|
|
2367
|
+
quickFilterPaths.push({ annotationPath: path.annotationPath });
|
|
2368
|
+
}
|
|
2369
|
+
filters = {
|
|
2370
|
+
quickFilters: {
|
|
2371
|
+
enabled:
|
|
2372
|
+
converterContext.getTemplateType() === TemplateType.ListReport
|
|
2373
|
+
? "{= ${pageInternal>hasPendingFilters} !== true}"
|
|
2374
|
+
: true,
|
|
2375
|
+
showCounts: tableSettings?.quickVariantSelection?.showCounts,
|
|
2376
|
+
paths: quickFilterPaths
|
|
2377
|
+
}
|
|
2378
|
+
};
|
|
2379
|
+
});
|
|
2380
|
+
creationMode = tableSettings.creationMode?.name || creationMode;
|
|
2381
|
+
createAtEnd = tableSettings.creationMode?.createAtEnd !== undefined ? tableSettings.creationMode?.createAtEnd : true;
|
|
2382
|
+
customValidationFunction = tableSettings.creationMode?.customValidationFunction;
|
|
2383
|
+
// if a custom validation function is provided, disableAddRowButtonForEmptyData should not be considered, i.e. set to false
|
|
2384
|
+
disableAddRowButtonForEmptyData = !customValidationFunction ? !!tableSettings.creationMode?.disableAddRowButtonForEmptyData : false;
|
|
2385
|
+
condensedTableLayout = tableSettings.condensedTableLayout !== undefined ? tableSettings.condensedTableLayout : false;
|
|
2386
|
+
hideTableTitle = !!tableSettings.quickVariantSelection?.hideTableTitle;
|
|
2387
|
+
tableType = tableSettings?.type || "ResponsiveTable";
|
|
2388
|
+
if (converterContext.getTemplateType() !== "ObjectPage") {
|
|
2389
|
+
if (tableSettings?.type === "AnalyticalTable" && !aggregationHelper.isAnalyticsSupported()) {
|
|
2390
|
+
tableType = "GridTable";
|
|
2391
|
+
}
|
|
2392
|
+
if (!tableSettings?.type) {
|
|
2393
|
+
if (converterContext.getManifestWrapper().isDesktop() && aggregationHelper.isAnalyticsSupported()) {
|
|
2394
|
+
tableType = "AnalyticalTable";
|
|
2395
|
+
} else {
|
|
2396
|
+
tableType = "ResponsiveTable";
|
|
2397
|
+
}
|
|
2398
|
+
}
|
|
2399
|
+
}
|
|
2400
|
+
enableFullScreen = tableSettings.enableFullScreen || false;
|
|
2401
|
+
if (enableFullScreen === true && converterContext.getTemplateType() === TemplateType.ListReport) {
|
|
2402
|
+
enableFullScreen = false;
|
|
2403
|
+
converterContext
|
|
2404
|
+
.getDiagnostics()
|
|
2405
|
+
.addIssue(IssueCategory.Manifest, IssueSeverity.Low, IssueType.FULLSCREENMODE_NOT_ON_LISTREPORT);
|
|
2406
|
+
}
|
|
2407
|
+
selectionLimit = tableSettings.selectAll === true || tableSettings.selectionLimit === 0 ? 0 : tableSettings.selectionLimit || 200;
|
|
2408
|
+
if (tableType === "ResponsiveTable") {
|
|
2409
|
+
if (
|
|
2410
|
+
converterContext.getTemplateType() === TemplateType.ListReport ||
|
|
2411
|
+
converterContext.getTemplateType() === TemplateType.AnalyticalListPage
|
|
2412
|
+
) {
|
|
2413
|
+
multiSelectMode = !!tableSettings.selectAll ? "Default" : "ClearAll";
|
|
2414
|
+
}
|
|
2415
|
+
if (converterContext.getTemplateType() === TemplateType.ObjectPage) {
|
|
2416
|
+
if (converterContext.getManifestWrapper().useIconTabBar()) {
|
|
2417
|
+
multiSelectMode = !!tableSettings.selectAll ? "Default" : "ClearAll";
|
|
2418
|
+
} else {
|
|
2419
|
+
multiSelectMode = tableSettings.selectAll === false ? "ClearAll" : "Default";
|
|
2420
|
+
}
|
|
2421
|
+
}
|
|
2422
|
+
}
|
|
2423
|
+
enablePaste = converterContext.getTemplateType() === "ObjectPage" && tableSettings.enablePaste !== false;
|
|
2424
|
+
enableExport =
|
|
2425
|
+
tableSettings.enableExport !== undefined
|
|
2426
|
+
? tableSettings.enableExport
|
|
2427
|
+
: converterContext.getTemplateType() !== "ObjectPage" || enablePaste;
|
|
2428
|
+
}
|
|
2429
|
+
return {
|
|
2430
|
+
filters: filters,
|
|
2431
|
+
type: tableType,
|
|
2432
|
+
enableFullScreen: enableFullScreen,
|
|
2433
|
+
headerVisible: !(quickSelectionVariant && hideTableTitle),
|
|
2434
|
+
enableExport: enableExport,
|
|
2435
|
+
creationMode: creationMode,
|
|
2436
|
+
createAtEnd: createAtEnd,
|
|
2437
|
+
disableAddRowButtonForEmptyData: disableAddRowButtonForEmptyData,
|
|
2438
|
+
customValidationFunction: customValidationFunction,
|
|
2439
|
+
useCondensedTableLayout: condensedTableLayout && isCondensedTableLayoutCompliant,
|
|
2440
|
+
selectionLimit: selectionLimit,
|
|
2441
|
+
multiSelectMode: multiSelectMode,
|
|
2442
|
+
enablePaste: enablePaste,
|
|
2443
|
+
showRowCount: !tableSettings?.quickVariantSelection?.showCounts,
|
|
2444
|
+
enableMassEdit: tableSettings?.enableMassEdit
|
|
2445
|
+
};
|
|
2446
|
+
}
|